| | |
| | | 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.workPoolContent.WorkPoolContentDto; |
| | | import com.java110.dto.workPoolFile.WorkPoolFileDto; |
| | | import com.java110.dto.workTask.WorkTaskDto; |
| | | import com.java110.dto.work.WorkCopyDto; |
| | | import com.java110.dto.work.WorkPoolDto; |
| | | import com.java110.dto.work.WorkPoolContentDto; |
| | | import com.java110.dto.work.WorkPoolFileDto; |
| | | import com.java110.dto.work.WorkTaskDto; |
| | | import com.java110.intf.oa.*; |
| | | import com.java110.utils.cache.MappingCache; |
| | | import com.java110.utils.constant.MappingConstant; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.ListUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | |
| | | @Autowired |
| | | private IWorkPoolContentV1InnerServiceSMO workPoolContentV1InnerServiceSMOImpl; |
| | | |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { |
| | | super.validatePageInfo(reqJson); |
| | |
| | | @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); |
| | | if (reqJson.containsKey("staffName") && !StringUtil.isEmpty(reqJson.getString("staffName"))) { |
| | | workPoolDto.setStaffNameLike(reqJson.getString("staffName")); |
| | | } |
| | | //workPoolDto.setCreateUserId(userId); |
| | | |
| | | int count = workPoolV1InnerServiceSMOImpl.queryWorkPoolsCount(workPoolDto); |
| | | |
| | | List<WorkPoolDto> workPoolDtos = null; |
| | | |
| | | if (count > 0) { |
| | | workPoolDtos = workPoolV1InnerServiceSMOImpl.queryWorkPools(workPoolDto); |
| | | } else { |
| | | workPoolDtos = new ArrayList<>(); |
| | | } |
| | | |
| | | //todo 查询 处理人 和抄送人 |
| | | queryTaskAndCopy(workPoolDtos); |
| | | |
| | | //todo 查询内容 |
| | | queryContentAndFile(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); |
| | | } |
| | | |
| | |
| | | if (ListUtil.isNull(workPoolDtos)) { |
| | | return; |
| | | } |
| | | |
| | | if (workPoolDtos.size() != 1) { |
| | | return; |
| | | } |
| | | |
| | | WorkPoolContentDto workPoolContentDto = new WorkPoolContentDto(); |
| | | workPoolContentDto.setWorkId(workPoolDtos.get(0).getWorkId()); |
| | | |
| | | List<WorkPoolContentDto> workPoolContentDtos = workPoolContentV1InnerServiceSMOImpl.queryWorkPoolContents(workPoolContentDto); |
| | | |
| | | if (ListUtil.isNull(workPoolContentDtos)) { |
| | | return; |
| | | } |
| | | |
| | | workPoolDtos.get(0).setContent(workPoolContentDtos.get(0).getContent()); |
| | | workPoolDtos.get(0).setContents(workPoolContentDtos); |
| | | |
| | | WorkPoolFileDto workPoolFileDto = new WorkPoolFileDto(); |
| | | workPoolFileDto.setWorkId(workPoolDtos.get(0).getWorkId()); |
| | | workPoolFileDto.setFileType(WorkPoolFileDto.FILE_TYPE_START); |
| | |
| | | if (ListUtil.isNull(workPoolFileDtos)) { |
| | | return; |
| | | } |
| | | |
| | | workPoolDtos.get(0).setPathUrl(workPoolFileDtos.get(0).getPathUrl()); |
| | | |
| | | String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN, "IMG_PATH"); |
| | | |
| | | if (workPoolFileDtos.get(0).getPathUrl().startsWith("http")) { |
| | | workPoolDtos.get(0).setUrl(workPoolFileDtos.get(0).getPathUrl()); |
| | | return; |
| | | } |
| | | |
| | | workPoolDtos.get(0).setUrl(imgUrl + workPoolFileDtos.get(0).getPathUrl()); |
| | | |
| | | |
| | | } |
| | | |
| | | private void queryTaskAndCopy(List<WorkPoolDto> workPoolDtos) { |
| | | |
| | | if (ListUtil.isNull(workPoolDtos)) { |
| | | return; |
| | | } |
| | |
| | | for (WorkPoolDto workPoolDto : workPoolDtos) { |
| | | workIds.add(workPoolDto.getWorkId()); |
| | | } |
| | | |
| | | WorkTaskDto workTaskDto = new WorkTaskDto(); |
| | | workTaskDto.setWorkIds(workIds.toArray(new String[workIds.size()])); |
| | | List<WorkTaskDto> workTaskDtos = workTaskV1InnerServiceSMOImpl.queryWorkTasks(workTaskDto); |
| | | |
| | | String curStaffName = ""; |
| | | for (WorkPoolDto workPoolDto : workPoolDtos) { |
| | | curStaffName = ""; |
| | |
| | | if (!WorkTaskDto.STATE_WAIT.equals(tmpWorkTaskDto.getState())) { |
| | | continue; |
| | | } |
| | | |
| | | if (!workPoolDto.getWorkId().equals(tmpWorkTaskDto.getWorkId())) { |
| | | continue; |
| | | } |
| | | /*if (curStaffName.split(",").length > 2) { |
| | | |
| | | if (curStaffName.split(",").length > 2) { |
| | | continue; |
| | | }*/ |
| | | } |
| | | |
| | | curStaffName += (tmpWorkTaskDto.getStaffName() + ","); |
| | | } |
| | | workPoolDto.setCurStaffName(curStaffName.substring(0, curStaffName.length() - 1)); |
| | | |
| | | workPoolDto.setCurStaffName(curStaffName); |
| | | } |
| | | |
| | | 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_WAIT.equals(tmpWorkCopyDto.getState()) && !WorkTaskDto.STATE_DOING.equals(tmpWorkCopyDto.getState())) { |
| | | if (!WorkTaskDto.STATE_WAIT.equals(tmpWorkCopyDto.getState())) { |
| | | continue; |
| | | } |
| | | |
| | | if (!workPoolDto.getWorkId().equals(tmpWorkCopyDto.getWorkId())) { |
| | | continue; |
| | | } |
| | | /*if (curCopyName.split(",").length > 2) { |
| | | |
| | | if (curCopyName.split(",").length > 2) { |
| | | continue; |
| | | }*/ |
| | | } |
| | | |
| | | curCopyName += (tmpWorkCopyDto.getStaffName() + ","); |
| | | } |
| | | workPoolDto.setCurCopyName(curCopyName.substring(0, curCopyName.length() - 1)); |
| | | |
| | | workPoolDto.setCurCopyName(curCopyName); |
| | | } |
| | | |
| | | } |
| | | } |