| | |
| | | import com.java110.core.context.ICmdDataFlowContext; |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.intf.oa.IWorkPoolV1InnerServiceSMO; |
| | | import com.java110.dto.work.WorkCopyDto; |
| | | 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.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.java110.dto.workPool.WorkPoolDto; |
| | | import com.java110.dto.work.WorkPoolDto; |
| | | |
| | | import java.util.List; |
| | | import java.util.ArrayList; |
| | | |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.slf4j.Logger; |
| | |
| | | @Java110Cmd(serviceCode = "work.listWorkPool") |
| | | public class ListWorkPoolCmd extends Cmd { |
| | | |
| | | private static Logger logger = LoggerFactory.getLogger(ListWorkPoolCmd.class); |
| | | private static Logger logger = LoggerFactory.getLogger(ListWorkPoolCmd.class); |
| | | @Autowired |
| | | private IWorkPoolV1InnerServiceSMO workPoolV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IWorkPoolContentV1InnerServiceSMO workPoolContentV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IWorkPoolFileV1InnerServiceSMO workPoolFileV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IWorkTaskV1InnerServiceSMO workTaskV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IWorkCopyV1InnerServiceSMO workCopyV1InnerServiceSMOImpl; |
| | | |
| | | @Override |
| | | public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) { |
| | | super.validatePageInfo(reqJson); |
| | | super.validateProperty(cmdDataFlowContext); |
| | | String storeId = CmdContextUtils.getStoreId(cmdDataFlowContext); |
| | | reqJson.put("storeId",storeId); |
| | | reqJson.put("storeId", storeId); |
| | | } |
| | | |
| | | @Override |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException { |
| | | |
| | | WorkPoolDto workPoolDto = BeanConvertUtil.covertBean(reqJson, WorkPoolDto.class); |
| | | WorkPoolDto workPoolDto = BeanConvertUtil.covertBean(reqJson, WorkPoolDto.class); |
| | | |
| | | int count = workPoolV1InnerServiceSMOImpl.queryWorkPoolsCount(workPoolDto); |
| | | int count = workPoolV1InnerServiceSMOImpl.queryWorkPoolsCount(workPoolDto); |
| | | |
| | | List<WorkPoolDto> workPoolDtos = null; |
| | | List<WorkPoolDto> workPoolDtos = null; |
| | | |
| | | if (count > 0) { |
| | | workPoolDtos = workPoolV1InnerServiceSMOImpl.queryWorkPools(workPoolDto); |
| | | } else { |
| | | workPoolDtos = new ArrayList<>(); |
| | | } |
| | | if (count > 0) { |
| | | workPoolDtos = workPoolV1InnerServiceSMOImpl.queryWorkPools(workPoolDto); |
| | | } else { |
| | | workPoolDtos = new ArrayList<>(); |
| | | } |
| | | |
| | | ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, workPoolDtos); |
| | | queryContentAndFile(workPoolDtos); |
| | | |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | queryTaskAndCopy(workPoolDtos); |
| | | |
| | | cmdDataFlowContext.setResponseEntity(responseEntity); |
| | | 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); |
| | | |
| | | cmdDataFlowContext.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | /** |
| | | * 查询内容 |
| | | * |
| | | * @param workPoolDtos |
| | | */ |
| | | private void queryContentAndFile(List<WorkPoolDto> workPoolDtos) { |
| | | 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); |
| | | List<WorkPoolFileDto> workPoolFileDtos = workPoolFileV1InnerServiceSMOImpl.queryWorkPoolFiles(workPoolFileDto); |
| | | |
| | | if (ListUtil.isNull(workPoolFileDtos)) { |
| | | return; |
| | | } |
| | | |
| | | String imgUrl = MappingCache.getValue(MappingConstant.FILE_DOMAIN, "IMG_PATH"); |
| | | |
| | | workPoolDtos.get(0).setPathUrl(imgUrl + workPoolFileDtos.get(0).getPathUrl()); |
| | | } |
| | | |
| | | private void queryTaskAndCopy(List<WorkPoolDto> workPoolDtos) { |
| | | |
| | | if (ListUtil.isNull(workPoolDtos)) { |
| | | return; |
| | | } |
| | | List<String> workIds = new ArrayList<>(); |
| | | 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 = ""; |
| | | String staffName; |
| | | for (WorkPoolDto workPoolDto : workPoolDtos) { |
| | | curStaffName = ""; |
| | | staffName = ""; |
| | | for (WorkTaskDto tmpWorkTaskDto : workTaskDtos) { |
| | | if (!workPoolDto.getWorkId().equals(tmpWorkTaskDto.getWorkId())) { |
| | | continue; |
| | | } |
| | | staffName = tmpWorkTaskDto.getStaffName(); |
| | | if (!WorkTaskDto.STATE_WAIT.equals(tmpWorkTaskDto.getState())) { |
| | | continue; |
| | | } |
| | | |
| | | if (curStaffName.split(",").length > 2) { |
| | | continue; |
| | | } |
| | | |
| | | curStaffName += (tmpWorkTaskDto.getStaffName() + ","); |
| | | } |
| | | |
| | | workPoolDto.setCurStaffName(curStaffName); |
| | | workPoolDto.setStaffName(staffName); |
| | | } |
| | | |
| | | WorkCopyDto workCopyDto = new WorkCopyDto(); |
| | | workCopyDto.setWorkIds(workIds.toArray(new String[workIds.size()])); |
| | | List<WorkCopyDto> workCopyDtos = workCopyV1InnerServiceSMOImpl.queryWorkCopys(workCopyDto); |
| | | |
| | | String curCopyName = ""; |
| | | String copyName ; |
| | | for (WorkPoolDto workPoolDto : workPoolDtos) { |
| | | curCopyName = ""; |
| | | copyName= ""; |
| | | for (WorkCopyDto tmpWorkCopyDto : workCopyDtos) { |
| | | |
| | | |
| | | if (!workPoolDto.getWorkId().equals(tmpWorkCopyDto.getWorkId())) { |
| | | continue; |
| | | } |
| | | copyName = tmpWorkCopyDto.getStaffName(); |
| | | if (!WorkTaskDto.STATE_WAIT.equals(tmpWorkCopyDto.getState())) { |
| | | continue; |
| | | } |
| | | |
| | | if (curCopyName.split(",").length > 2) { |
| | | continue; |
| | | } |
| | | |
| | | curCopyName += (tmpWorkCopyDto.getStaffName() + ","); |
| | | } |
| | | |
| | | workPoolDto.setCurCopyName(curCopyName); |
| | | workPoolDto.setCopyName(copyName); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |