package cn.com.lzt.useractiviti.data.controller; import cn.com.lzt.arrangeduty.dto.ProjectDepartDto; import cn.com.lzt.common.util.PdfUtil; import cn.com.lzt.common.util.UserUtil; import cn.com.lzt.cost.activiti.costrequest.entity.TBActivitiCostRequestEntity; import cn.com.lzt.cost.activiti.costrequest.service.TBActivitiCostRequestServiceI; import cn.com.lzt.cost.activiti.payinneruser.entity.TBActivitiCostPayInnerUserDetailEntity; import cn.com.lzt.cost.activiti.payinneruser.service.TBActivitiCostPayInnerUserServiceI; import cn.com.lzt.cost.activiti.tmpcompany.service.TBActivitiCostPayTmpCompanyServiceI; import cn.com.lzt.cost.actualstatis.service.CostYearActualStatisServiceI; import cn.com.lzt.duties.entity.DutiesEntity; import cn.com.lzt.ordersfixasset.service.OrdersFixAssetServiceI; import cn.com.lzt.projectpostdetail.entity.ProjectPostDetailEntity; import cn.com.lzt.useractiviti.data.dao.UseractivitiDataDao; import cn.com.lzt.useractiviti.data.dto.ActivitiUserInfoDto; import cn.com.lzt.useractiviti.data.service.UseractivitiDataServiceI; import cn.com.lzt.useractiviti.data.util.ActivitiTools; import cn.com.lzt.userwage.dto.UserWageDto; import com.lowagie.text.Element; import com.xcgl.projecttask.entity.ProjecttaskEntity; import org.apache.commons.lang.StringUtils; import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.DataGrid; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.DateUtils; import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.web.system.pojo.base.TSUser; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @Controller @RequestMapping("/userActivitiDataController") public class UserActivitiDataController { @Autowired private UseractivitiDataDao useractivitiDataDao; @Autowired private SystemService systemService; @Autowired private TBActivitiCostRequestServiceI tBActivitiCostRequestService; @Autowired private UseractivitiDataServiceI useractivitiDataService; @Autowired private OrdersFixAssetServiceI ordersFixAssetService; @Autowired private CostYearActualStatisServiceI costYearActualStatisService; @Autowired private TBActivitiCostPayInnerUserServiceI tBActivitiCostPayInnerUserService; @Autowired private TBActivitiCostPayTmpCompanyServiceI tBActivitiCostPayTmpCompanyService; /** * 选择用户所有部门 ,包括兼容机构 * @return */ @RequestMapping(params = "depSelect") public String depSelect(){ return "cn/com/lzt/useractiviti/data/dep_select"; } @RequestMapping(params = "depSelectDatagrid") public void depSelectDatagrid(ProjectDepartDto projectDepartDto, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid){ TSUser user = ResourceUtil.getSessionUser(); List list = useractivitiDataDao.getUserAllDep(user.getId(),projectDepartDto); dataGrid.setResults(list); TagUtil.datagrid(response, dataGrid); } @RequestMapping(params = "depPostSelect") public String depPostSelect(){ return "cn/com/lzt/useractiviti/data/dep_post_select"; } @RequestMapping(params = "depPostSelectDatagrid") public void depSelectDatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid){ String departId = request.getParameter("departId"); CriteriaQuery cq = new CriteriaQuery(ProjectPostDetailEntity.class,dataGrid); cq.eq("pid",departId); cq.eq("deleteFlag",String.valueOf(Globals.Delete_Normal)); String ptjPostName =request.getParameter("ptjPostName"); if(StringUtils.isNotBlank(ptjPostName)){ cq.like("ptjPostName","%"+ptjPostName+"%"); } cq.add(); systemService.getDataGridReturn(cq,false); TagUtil.datagrid(response, dataGrid); } /** * 选择职务,基本职务,非树形结构 * @return */ @RequestMapping(params = "leafDutySelect") public String leafDutySelect(){ return "cn/com/lzt/useractiviti/data/leaf_duty_select"; } @RequestMapping(params = "leafDutySelectDatagrid") public void leafDutySelectDatagrid(DutiesEntity entity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid){ CriteriaQuery cq = new CriteriaQuery(DutiesEntity.class,dataGrid); cq.notEq("deleteFlag","1"); cq.notEq("status","1"); if(StringUtils.isNotBlank(entity.getDutiesName())){ cq.like("dutiesName","%"+entity.getDutiesName()+"%"); } cq.add(); systemService.getDataGridReturn(cq, false); List list = dataGrid.getResults(); List leafList = new ArrayList<>(); for(DutiesEntity duty:list){ //根据id判断是否有子节点 String sql = "select count(1) from t_bus_duties t where t.parent_dutiesid =? and delete_flag <> '1' and status <> '1'"; Object[] params = new Object[]{duty.getId()}; long count = this.systemService.getCountForJdbcParam(sql, params); if(count==0){ leafList.add(duty); } } dataGrid.setResults(leafList); dataGrid.setTotal(leafList.size()); TagUtil.datagrid(response, dataGrid); } @RequestMapping(params = "dutyType") @ResponseBody public String dutyType(@RequestParam("userId") String userId){ // UserUtil.getDutyTypeByUserId(); return null; } /** * 打印 */ @RequestMapping(params = "printPdf") public void printPdf(@RequestParam("procInstanceIds") String procInstanceIds ,@RequestParam("ids") String ids ,@RequestParam("procDefIds") String procDefIds ,HttpServletRequest request ,HttpServletResponse response ){ String[] procInstanceArray = StringUtils.split(procInstanceIds,","); List> list = new ArrayList<>(procInstanceArray.length); for(int i =0;i1){ PdfUtil.export(list,response,"审批打印"+ DateUtils.formatDate(new Date(),"yyyyMMddHHmmss")); } } /** * 审批流发起的执行流情况 * @return */ @RequestMapping(params = "activitiTaskResult") public String activitiTaskResult(){ return "cn/com/lzt/useractiviti/data/activiti_task_result"; } @RequestMapping(params = "activitiTaskResultDatagrid") public void activitiTaskResultDatagrid(ProjecttaskEntity projecttaskEntity, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid){ CriteriaQuery cq = new CriteriaQuery(ProjecttaskEntity.class, dataGrid); cq.eq("sourcetype","activititask"); cq.eq("sourceid",projecttaskEntity.getSourceid()); // org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, projecttaskEntity, request.getParameterMap()); cq.add(); this.systemService.getDataGridReturn(cq, false); TagUtil.datagrid(response, dataGrid); } //财务支付驳回 @RequestMapping(params = "rejectFinishedActiviti") @ResponseBody public AjaxJson rejectFinishedActiviti(@RequestParam("tableName") String tableName, @RequestParam("id") String id, HttpServletRequest request){ AjaxJson json = new AjaxJson(); String updateSql = "update "+tableName+" set bpm_status ='1' ,proc_inst_id=null,step_name='已驳回' where id =? "; String delSql = "delete from t_s_basebus where id=? "; try{ systemService.executeSql(updateSql,id); systemService.executeSql(delSql,id); if(StringUtils.equals(tableName, "t_b_activiti_cost_pay_inner_user")){ List list =systemService.findByProperty(TBActivitiCostPayInnerUserDetailEntity.class,"costPayInnerUserId",id); for(TBActivitiCostPayInnerUserDetailEntity entity :list){ entity.setBpmStatus(Globals.BPM_STATUS_Normal.toString()); systemService.updateEntitie(entity); } }else if(StringUtils.equals(tableName, "t_b_activiti_cost_pay_tmp_company")){ }else if(StringUtils.equals(tableName, "t_b_activiti_cost_request")){//申请单作废 TBActivitiCostRequestEntity entity = systemService.getEntity(TBActivitiCostRequestEntity.class,id ); Calendar c = Calendar.getInstance(); c.setTime(entity.getCreateDate()); String year = String.valueOf(c.get(Calendar.YEAR)); costYearActualStatisService.addStatisMoney(year,entity.getDepartId(),entity.getUserid(),entity.getCostType(),entity.getExpectMoney().negate(),BigDecimal.ZERO); } }catch (Exception e){ json.setSuccess(false); } return json; } @RequestMapping(params = "isHr") @ResponseBody public AjaxJson isHr(HttpServletRequest request){ AjaxJson json = new AjaxJson(); boolean isHr = UserUtil.isHr(ResourceUtil.getSessionUser().getId()); json.setObj(isHr); return json; } @RequestMapping(params = "userInfo",method = RequestMethod.POST) @ResponseBody public AjaxJson userInfo(HttpServletRequest request ,@RequestParam("userId") String userId ){ AjaxJson json = new AjaxJson(); ActivitiUserInfoDto dto = useractivitiDataService.getUserInfo(userId); List list = dto.getUserWageDtoList(); if(list!=null &&!list.isEmpty()){ dto.setLastMonthWage(list.get(0).getActualMoney()); dto.setUserWageDtoList(null); } json.setObj(dto); return json; } /** *获得岗位编制数 * @param request * @return */ @RequestMapping(params = "getPostNeedNum",method = RequestMethod.POST) @ResponseBody public AjaxJson getPostNeedNum(HttpServletRequest request ,@RequestParam("departId") String departId ,@RequestParam("postId") String postId ){ AjaxJson json = new AjaxJson(); Integer num = useractivitiDataService.getPostNeedNum(departId,postId); json.setObj(num); return json; } }