java110-bean/src/main/java/com/java110/dto/workPool/WorkPoolDto.java
@@ -57,6 +57,8 @@ private String pathUrl; private String taskId; public String getWorkCycle() { return workCycle; @@ -234,4 +236,12 @@ public void setPathUrl(String pathUrl) { this.pathUrl = pathUrl; } public String getTaskId() { return taskId; } public void setTaskId(String taskId) { this.taskId = taskId; } } java110-db/src/main/resources/mapper/oa/WorkPoolV1ServiceDaoImplMapper.xml
@@ -181,4 +181,108 @@ </select> <select id="queryTaskWorkPoolsCount" parameterType="Map" resultType="Map"> select count(1) count from work_pool t left join work_type wt on t.wt_id = wt.wt_id left join work_task wtk on t.work_id = wtk.work_id and wtk.status_cd = '0' left join t_dict td on wtk.state = td.status_cd and td.table_name = 'work_pool' and td.table_columns = 'state' where 1 =1 <if test="workCycle !=null and workCycle != ''"> and t.work_cycle= #{workCycle} </if> <if test="staffId !=null and staffId != ''"> and wtk.staff_id= #{staffId} </if> <if test="staffName !=null and staffName != ''"> and wtk.staff_name = #{staffName} </if> <if test="statusCd !=null and statusCd != ''"> and t.status_cd= #{statusCd} </if> <if test="storeId !=null and storeId != ''"> and t.store_id= #{storeId} </if> <if test="workName !=null and workName != ''"> and t.work_name= #{workName} </if> <if test="workId !=null and workId != ''"> and t.work_id= #{workId} </if> <if test="wtId !=null and wtId != ''"> and t.wt_id= #{wtId} </if> <if test="queryStartTime !=null and queryStartTime !=''"> and wtk.create_time >= #{queryStartTime} </if> <if test="queryEndTime !=null and queryEndTime !=''"> and wtk.create_time <= #{queryEndTime} </if> <if test="state !=null and state != ''"> and wtk.state= #{state} </if> <if test="communityId !=null and communityId != ''"> and t.community_id= #{communityId} </if> </select> <select id="queryTaskWorkPools" parameterType="Map" resultType="Map"> select t.work_cycle,t.work_cycle workCycle,t.create_user_id createUserId,t.create_user_name,t.create_user_name createUserName,t.status_cd,t.status_cd statusCd,t.store_id storeId,t.work_name workName,t.work_id workId,t.wt_id wtId,t.create_user_tel createUserTel,wtk.start_time startTime,wtk.end_time endTime,wtk.state,t.community_id communityId,t.create_time createTime, td.`name` stateName,wt.type_name typeName,wtk.staff_name curStaffName,t.task_id taskId from work_pool t left join work_type wt on t.wt_id = wt.wt_id left join work_task wtk on t.work_id = wtk.work_id and wtk.status_cd = '0' left join t_dict td on wtk.state = td.status_cd and td.table_name = 'work_pool' and td.table_columns = 'state' where 1 =1 <if test="workCycle !=null and workCycle != ''"> and t.work_cycle= #{workCycle} </if> <if test="staffId !=null and staffId != ''"> and wtk.staff_id= #{staffId} </if> <if test="staffName !=null and staffName != ''"> and wtk.staff_name = #{staffName} </if> <if test="statusCd !=null and statusCd != ''"> and t.status_cd= #{statusCd} </if> <if test="storeId !=null and storeId != ''"> and t.store_id= #{storeId} </if> <if test="workName !=null and workName != ''"> and t.work_name= #{workName} </if> <if test="workId !=null and workId != ''"> and t.work_id= #{workId} </if> <if test="wtId !=null and wtId != ''"> and t.wt_id= #{wtId} </if> <if test="queryStartTime !=null and queryStartTime !=''"> and wtk.create_time >= #{queryStartTime} </if> <if test="queryEndTime !=null and queryEndTime !=''"> and wtk.create_time <= #{queryEndTime} </if> <if test="state !=null and state != ''"> and wtk.state= #{state} </if> <if test="communityId !=null and communityId != ''"> and t.community_id= #{communityId} </if> order by wtk.create_time desc <if test="page != -1 and page != null "> limit #{page}, #{row} </if> </select> </mapper> java110-interface/src/main/java/com/java110/intf/oa/IWorkPoolV1InnerServiceSMO.java
@@ -65,4 +65,10 @@ */ @RequestMapping(value = "/queryWorkPoolsCount", method = RequestMethod.POST) int queryWorkPoolsCount(@RequestBody WorkPoolDto workPoolDto); @RequestMapping(value = "/queryTaskWorkPoolsCount", method = RequestMethod.POST) int queryTaskWorkPoolsCount(@RequestBody WorkPoolDto workPoolDto); @RequestMapping(value = "/queryTaskWorkPools", method = RequestMethod.POST) List<WorkPoolDto> queryTaskWorkPools(@RequestBody WorkPoolDto workPoolDto); } service-oa/src/main/java/com/java110/oa/cmd/work/QueryTaskWorkCmd.java
New file @@ -0,0 +1,116 @@ package com.java110.oa.cmd.work; import com.alibaba.fastjson.JSONObject; import com.java110.core.annotation.Java110Cmd; import com.java110.core.context.CmdContextUtils; import com.java110.core.context.ICmdDataFlowContext; import com.java110.core.event.cmd.Cmd; import com.java110.core.event.cmd.CmdEvent; import com.java110.dto.workCopy.WorkCopyDto; import com.java110.dto.workPool.WorkPoolDto; import com.java110.dto.workTask.WorkTaskDto; import com.java110.intf.oa.*; import com.java110.utils.exception.CmdException; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.ListUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import java.text.ParseException; import java.util.ArrayList; import java.util.List; @Java110Cmd(serviceCode = "work.queryTaskWork") public class QueryTaskWorkCmd extends Cmd { @Autowired private IWorkPoolV1InnerServiceSMO workPoolV1InnerServiceSMOImpl; @Autowired private IWorkTaskV1InnerServiceSMO workTaskV1InnerServiceSMOImpl; @Autowired private IWorkCopyV1InnerServiceSMO workCopyV1InnerServiceSMOImpl; @Autowired private IWorkPoolFileV1InnerServiceSMO workPoolFileV1InnerServiceSMOImpl; @Autowired private IWorkPoolContentV1InnerServiceSMO workPoolContentV1InnerServiceSMOImpl; @Override public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { super.validatePageInfo(reqJson); String storeId = CmdContextUtils.getStoreId(context); reqJson.put("storeId", storeId); } @Override public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { WorkPoolDto workPoolDto = BeanConvertUtil.covertBean(reqJson, WorkPoolDto.class); String userId = CmdContextUtils.getUserId(context); workPoolDto.setCreateUserId(userId); int count = workPoolV1InnerServiceSMOImpl.queryTaskWorkPoolsCount(workPoolDto); List<WorkPoolDto> workPoolDtos = null; if (count > 0) { workPoolDtos = workPoolV1InnerServiceSMOImpl.queryTaskWorkPools(workPoolDto); } else { workPoolDtos = new ArrayList<>(); } //todo 查询 处理人 和抄送人 queryCopy(workPoolDtos); ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, workPoolDtos); ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); context.setResponseEntity(responseEntity); } private void queryCopy(List<WorkPoolDto> workPoolDtos) { if (ListUtil.isNull(workPoolDtos)) { return; } List<String> workIds = new ArrayList<>(); for (WorkPoolDto workPoolDto : workPoolDtos) { workIds.add(workPoolDto.getWorkId()); } WorkCopyDto workCopyDto = new WorkCopyDto(); workCopyDto.setWorkIds(workIds.toArray(new String[workIds.size()])); List<WorkCopyDto> workCopyDtos = workCopyV1InnerServiceSMOImpl.queryWorkCopys(workCopyDto); String curCopyName = ""; for (WorkPoolDto workPoolDto : workPoolDtos) { curCopyName = ""; for (WorkCopyDto tmpWorkCopyDto : workCopyDtos) { if (!WorkTaskDto.STATE_DOING.equals(tmpWorkCopyDto.getState())) { continue; } if (!workPoolDto.getWorkId().equals(tmpWorkCopyDto.getWorkId())) { continue; } if (curCopyName.split(",").length > 2) { continue; } curCopyName += (tmpWorkCopyDto.getStaffName() + ","); } workPoolDto.setCurCopyName(curCopyName); } } } service-oa/src/main/java/com/java110/oa/dao/IWorkPoolV1ServiceDao.java
@@ -16,6 +16,7 @@ package com.java110.oa.dao; import com.java110.dto.workPool.WorkPoolDto; import com.java110.utils.exception.DAOException; @@ -70,4 +71,7 @@ */ int queryWorkPoolsCount(Map info); int queryTaskWorkPoolsCount(Map info); List<Map> queryTaskWorkPools(Map info); } service-oa/src/main/java/com/java110/oa/dao/impl/WorkPoolV1ServiceDaoImpl.java
@@ -108,5 +108,26 @@ return Integer.parseInt(infos.get(0).get("count").toString()); } @Override public int queryTaskWorkPoolsCount(Map info) { logger.debug("查询 queryTaskWorkPoolsCount 入参 info : {}",info); List<Map> infos = sqlSessionTemplate.selectList("workPoolV1ServiceDaoImpl.queryTaskWorkPoolsCount", info); if (infos.size() < 1) { return 0; } return Integer.parseInt(infos.get(0).get("count").toString()); } @Override public List<Map> queryTaskWorkPools(Map info) { logger.debug("查询 queryTaskWorkPools 入参 info : {}",info); List<Map> infos = sqlSessionTemplate.selectList("workPoolV1ServiceDaoImpl.queryTaskWorkPools",info); return infos; } } service-oa/src/main/java/com/java110/oa/smo/impl/WorkPoolV1InnerServiceSMOImpl.java
@@ -86,4 +86,26 @@ public int queryWorkPoolsCount(@RequestBody WorkPoolDto workPoolDto) { return workPoolV1ServiceDaoImpl.queryWorkPoolsCount(BeanConvertUtil.beanCovertMap(workPoolDto)); } @Override public int queryTaskWorkPoolsCount(@RequestBody WorkPoolDto workPoolDto) { return workPoolV1ServiceDaoImpl.queryTaskWorkPoolsCount(BeanConvertUtil.beanCovertMap(workPoolDto)); } @Override public List<WorkPoolDto> queryTaskWorkPools(@RequestBody WorkPoolDto workPoolDto) { //校验是否传了 分页信息 int page = workPoolDto.getPage(); if (page != PageDto.DEFAULT_PAGE) { workPoolDto.setPage((page - 1) * workPoolDto.getRow()); } List<WorkPoolDto> workPools = BeanConvertUtil.covertBeanList( workPoolV1ServiceDaoImpl.queryTaskWorkPools(BeanConvertUtil.beanCovertMap(workPoolDto)), WorkPoolDto.class); return workPools; } }