| | |
| | | package com.java110.oa.cmd.work; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.context.CmdContextUtils; |
| | |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.user.UserDto; |
| | | import com.java110.dto.workEvent.WorkEventDto; |
| | | import com.java110.dto.workPool.WorkPoolDto; |
| | | import com.java110.dto.workPoolFile.WorkPoolFileDto; |
| | | import com.java110.dto.workTask.WorkTaskDto; |
| | | import com.java110.dto.workTaskItem.WorkTaskItemDto; |
| | | import com.java110.dto.work.WorkEventDto; |
| | | import com.java110.dto.work.WorkPoolDto; |
| | | import com.java110.dto.work.WorkPoolFileDto; |
| | | import com.java110.dto.work.WorkTaskDto; |
| | | import com.java110.dto.work.WorkTaskItemDto; |
| | | import com.java110.intf.oa.*; |
| | | import com.java110.intf.user.IUserV1InnerServiceSMO; |
| | | import com.java110.po.workEvent.WorkEventPo; |
| | | import com.java110.po.workPool.WorkEventPo; |
| | | import com.java110.po.workPool.WorkPoolPo; |
| | | import com.java110.po.workPoolFile.WorkPoolFilePo; |
| | | import com.java110.po.workTask.WorkTaskPo; |
| | | import com.java110.po.workTaskItem.WorkTaskItemPo; |
| | | import com.java110.po.workPool.WorkPoolFilePo; |
| | | import com.java110.po.workPool.WorkTaskPo; |
| | | import com.java110.po.workPool.WorkTaskItemPo; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.DateUtil; |
| | |
| | | workTaskDto.setStoreId(storeId); |
| | | List<WorkTaskDto> workTaskDtos = workTaskV1InnerServiceSMOImpl.queryWorkTasks(workTaskDto); |
| | | |
| | | WorkTaskItemDto workTaskItemDto = new WorkTaskItemDto(); |
| | | workTaskItemDto.setItemId(reqJson.getString("itemId")); |
| | | workTaskItemDto.setCommunityId(workTaskDto.getCommunityId()); |
| | | List<WorkTaskItemDto> workTaskItemDtos = workTaskItemV1InnerServiceSMOImpl.queryWorkTaskItems(workTaskItemDto); |
| | | |
| | | if (ListUtil.isNull(workTaskItemDtos)) { |
| | | throw new CmdException("任务明细不存在"); |
| | | } |
| | | |
| | | //todo 转单 |
| | | if ("T".equals(reqJson.getString("auditCode"))) { |
| | | doTransfor(reqJson, workTaskDtos.get(0)); |
| | | } else if ("C".equals(reqJson.getString("auditCode"))) { |
| | | doFinish(reqJson, workTaskDtos.get(0)); |
| | | doFinish(reqJson, workTaskDtos.get(0), workTaskItemDtos.get(0)); |
| | | } |
| | | |
| | | if (!reqJson.containsKey("pathUrl")) { |
| | | |
| | | JSONArray pathUrls = reqJson.getJSONArray("pathUrls"); |
| | | if (ListUtil.isNull(pathUrls)) { |
| | | return; |
| | | } |
| | | |
| | | String pathUrl = reqJson.getString("pathUrl"); |
| | | if (StringUtil.isEmpty(pathUrl)) { |
| | | return; |
| | | } |
| | | for (int urlIndex = 0; urlIndex < pathUrls.size(); urlIndex++) { |
| | | WorkPoolFilePo workPoolFilePo = new WorkPoolFilePo(); |
| | | workPoolFilePo.setCommunityId(workTaskDtos.get(0).getCommunityId()); |
| | | workPoolFilePo.setFileType(WorkPoolFileDto.FILE_TYPE_END); |
| | | workPoolFilePo.setFileId(GenerateCodeFactory.getGeneratorId("11")); |
| | | workPoolFilePo.setWorkId(workTaskDtos.get(0).getWorkId()); |
| | | workPoolFilePo.setTaskId(workTaskDtos.get(0).getTaskId()); |
| | | workPoolFilePo.setPathUrl(pathUrls.getString(urlIndex)); |
| | | workPoolFilePo.setStoreId(workTaskDtos.get(0).getStoreId()); |
| | | workPoolFilePo.setItemId(reqJson.getString("itemId")); |
| | | |
| | | WorkPoolFilePo workPoolFilePo = new WorkPoolFilePo(); |
| | | workPoolFilePo.setCommunityId(workTaskDtos.get(0).getCommunityId()); |
| | | workPoolFilePo.setFileType(WorkPoolFileDto.FILE_TYPE_END); |
| | | workPoolFilePo.setFileId(GenerateCodeFactory.getGeneratorId("11")); |
| | | workPoolFilePo.setWorkId(workTaskDtos.get(0).getWorkId()); |
| | | workPoolFilePo.setTaskId(workTaskDtos.get(0).getTaskId()); |
| | | workPoolFilePo.setPathUrl(reqJson.getString("pathUrl")); |
| | | workPoolFilePo.setStoreId(workTaskDtos.get(0).getStoreId()); |
| | | workPoolFilePo.setItemId(reqJson.getString("itemId")); |
| | | workPoolFileV1InnerServiceSMOImpl.saveWorkPoolFile(workPoolFilePo); |
| | | workPoolFilePo.setContentId(workTaskItemDtos.get(0).getContentId()); |
| | | |
| | | workPoolFileV1InnerServiceSMOImpl.saveWorkPoolFile(workPoolFilePo); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | * @param reqJson |
| | | * @param workTaskDto |
| | | */ |
| | | private void doFinish(JSONObject reqJson, WorkTaskDto workTaskDto) { |
| | | private void doFinish(JSONObject reqJson, WorkTaskDto workTaskDto, WorkTaskItemDto orgWorkTaskItemDto) { |
| | | |
| | | Date endTime = DateUtil.getDateFromStringA(workTaskDto.getEndTime()); |
| | | |
| | |
| | | preStaffName = workEventDtos.get(0).getStaffName(); |
| | | |
| | | } |
| | | WorkTaskItemDto workTaskItemDto = new WorkTaskItemDto(); |
| | | workTaskItemDto.setItemId(reqJson.getString("itemId")); |
| | | workTaskItemDto.setCommunityId(workTaskDto.getCommunityId()); |
| | | List<WorkTaskItemDto> workTaskItemDtos = workTaskItemV1InnerServiceSMOImpl.queryWorkTaskItems(workTaskItemDto); |
| | | |
| | | |
| | | //todo 保存事件 |
| | | WorkEventPo workEventPo = new WorkEventPo(); |
| | |
| | | workEventPo.setStoreId(workTaskDto.getStoreId()); |
| | | workEventPo.setTaskId(workTaskDto.getTaskId()); |
| | | workEventPo.setItemId(reqJson.getString("itemId")); |
| | | workEventPo.setContentId("-1"); |
| | | if (!ListUtil.isNull(workTaskItemDtos)) { |
| | | workEventPo.setContentId(workTaskItemDtos.get(0).getContentId()); |
| | | } |
| | | workEventPo.setContentId(orgWorkTaskItemDto.getContentId()); |
| | | workEventPo.setEventType(WorkEventDto.EVENT_TYPE_COMPLETE); |
| | | |
| | | workEventV1InnerServiceSMOImpl.saveWorkEvent(workEventPo); |
| | | |
| | | // todo 查询 任务明细是否处理完成 |
| | | workTaskItemDto = new WorkTaskItemDto(); |
| | | WorkTaskItemDto workTaskItemDto = new WorkTaskItemDto(); |
| | | workTaskItemDto.setTaskId(workTaskDto.getTaskId()); |
| | | workTaskItemDto.setCommunityId(workTaskDto.getCommunityId()); |
| | | workTaskItemDto.setState(WorkTaskDto.STATE_WAIT); |
| | |
| | | workEventPo.setTaskId(workTaskDto.getTaskId()); |
| | | workEventPo.setItemId("-1"); |
| | | workEventPo.setContentId("-1"); |
| | | workEventPo.setEventType(WorkEventDto.EVENT_TYPE_TRANSFOR); |
| | | workEventV1InnerServiceSMOImpl.saveWorkEvent(workEventPo); |
| | | } |
| | | } |