| | |
| | | import com.java110.dto.workPool.WorkPoolDto; |
| | | import com.java110.dto.workPoolFile.WorkPoolFileDto; |
| | | import com.java110.dto.workTask.WorkTaskDto; |
| | | import com.java110.intf.oa.IWorkEventV1InnerServiceSMO; |
| | | import com.java110.intf.oa.IWorkPoolFileV1InnerServiceSMO; |
| | | import com.java110.intf.oa.IWorkPoolV1InnerServiceSMO; |
| | | import com.java110.intf.oa.IWorkTaskV1InnerServiceSMO; |
| | | import com.java110.dto.workTaskItem.WorkTaskItemDto; |
| | | import com.java110.intf.oa.*; |
| | | import com.java110.intf.user.IUserV1InnerServiceSMO; |
| | | import com.java110.po.workEvent.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.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.DateUtil; |
| | | import com.java110.utils.util.ListUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | import java.text.ParseException; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Java110Cmd(serviceCode = "work.finishWorkTask") |
| | |
| | | |
| | | @Autowired |
| | | private IWorkTaskV1InnerServiceSMO workTaskV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IWorkTaskItemV1InnerServiceSMO workTaskItemV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IWorkEventV1InnerServiceSMO workEventV1InnerServiceSMOImpl; |
| | |
| | | public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { |
| | | |
| | | Assert.hasKeyAndValue(reqJson, "taskId", "未包含任务"); |
| | | Assert.hasKeyAndValue(reqJson, "itemId", "未包含内容"); |
| | | Assert.hasKeyAndValue(reqJson, "auditCode", "未包含状态"); |
| | | Assert.hasKeyAndValue(reqJson, "auditMessage", "未包含说明"); |
| | | |
| | |
| | | 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")) { |
| | |
| | | workPoolFilePo.setTaskId(workTaskDtos.get(0).getTaskId()); |
| | | workPoolFilePo.setPathUrl(reqJson.getString("pathUrl")); |
| | | workPoolFilePo.setStoreId(workTaskDtos.get(0).getStoreId()); |
| | | workPoolFilePo.setItemId(reqJson.getString("itemId")); |
| | | |
| | | 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()); |
| | | |
| | | String taskTimeout = "N"; |
| | | //todo 工单已经超时 |
| | | if (endTime.before(DateUtil.getCurrentDate())) { |
| | | taskTimeout = "Y"; |
| | | } |
| | | |
| | | String orderState = WorkPoolDto.STATE_DOING; |
| | | |
| | | |
| | | //todo 完成任务 |
| | | |
| | | WorkTaskPo workTaskPo = new WorkTaskPo(); |
| | | workTaskPo.setState(WorkPoolDto.STATE_COMPLETE); |
| | | workTaskPo.setState(orderState); |
| | | workTaskPo.setTaskId(workTaskDto.getTaskId()); |
| | | workTaskPo.setStoreId(workTaskDto.getStoreId()); |
| | | // workTaskPo.setFinishTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); |
| | | // workTaskPo.setTaskTimeout(taskTimeout); |
| | | workTaskV1InnerServiceSMOImpl.updateWorkTask(workTaskPo); |
| | | |
| | | WorkTaskItemPo workTaskItemPo = new WorkTaskItemPo(); |
| | | workTaskItemPo.setItemId(reqJson.getString("itemId")); |
| | | workTaskItemPo.setState(WorkTaskDto.STATE_COMPLETE); |
| | | workTaskItemPo.setTaskId(workTaskDto.getTaskId()); |
| | | workTaskItemPo.setFinishTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); |
| | | |
| | | workTaskItemV1InnerServiceSMOImpl.updateWorkTaskItem(workTaskItemPo); |
| | | |
| | | //todo 查询 工作单 |
| | | WorkPoolDto workPoolDto = new WorkPoolDto(); |
| | |
| | | workEventDto.setTaskId(workTaskDto.getTaskId()); |
| | | workEventDto.setWorkId(workTaskDto.getWorkId()); |
| | | workEventDto.setOrderByDesc("desc"); |
| | | List<WorkEventDto> workEventDtos = workEventV1InnerServiceSMOImpl.queryWorkEvents(workEventDto); |
| | | if(!ListUtil.isNull(workEventDtos)){ |
| | | preStaffId = workEventDtos.get(0).getStaffId(); |
| | | preStaffName = workEventDtos.get(0).getStaffName(); |
| | | List<WorkEventDto> workEventDtos = workEventV1InnerServiceSMOImpl.queryWorkEvents(workEventDto); |
| | | if (!ListUtil.isNull(workEventDtos)) { |
| | | preStaffId = workEventDtos.get(0).getStaffId(); |
| | | preStaffName = workEventDtos.get(0).getStaffName(); |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | //todo 保存事件 |
| | | WorkEventPo workEventPo = new WorkEventPo(); |
| | |
| | | workEventPo.setStaffName(workTaskDto.getStaffName()); |
| | | workEventPo.setStoreId(workTaskDto.getStoreId()); |
| | | workEventPo.setTaskId(workTaskDto.getTaskId()); |
| | | workEventPo.setItemId(reqJson.getString("itemId")); |
| | | workEventPo.setContentId(orgWorkTaskItemDto.getContentId()); |
| | | |
| | | workEventV1InnerServiceSMOImpl.saveWorkEvent(workEventPo); |
| | | |
| | | // todo 查询 任务明细是否处理完成 |
| | | WorkTaskItemDto workTaskItemDto = new WorkTaskItemDto(); |
| | | workTaskItemDto.setTaskId(workTaskDto.getTaskId()); |
| | | workTaskItemDto.setCommunityId(workTaskDto.getCommunityId()); |
| | | workTaskItemDto.setState(WorkTaskDto.STATE_WAIT); |
| | | int count = workTaskItemV1InnerServiceSMOImpl.queryWorkTaskItemsCount(workTaskItemDto); |
| | | if (count > 0) { |
| | | WorkPoolPo workPoolPo = new WorkPoolPo(); |
| | | workPoolPo.setWorkId(workTaskDto.getWorkId()); |
| | | workPoolPo.setState(WorkPoolDto.STATE_DOING); |
| | | workPoolV1InnerServiceSMOImpl.updateWorkPool(workPoolPo); |
| | | return; |
| | | } |
| | | |
| | | workTaskPo = new WorkTaskPo(); |
| | | workTaskPo.setTaskId(workTaskDto.getTaskId()); |
| | | workTaskPo.setState(WorkTaskDto.STATE_COMPLETE); |
| | | workTaskPo.setFinishTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); |
| | | workTaskPo.setTaskTimeout(taskTimeout); |
| | | workTaskV1InnerServiceSMOImpl.updateWorkTask(workTaskPo); |
| | | |
| | | //todo 查询 工单任务 |
| | | |
| | | WorkTaskDto tmpWorkTaskDto = new WorkTaskDto(); |
| | | tmpWorkTaskDto.setWorkId(workTaskDto.getWorkId()); |
| | | tmpWorkTaskDto.setStoreId(workTaskDto.getStoreId()); |
| | | tmpWorkTaskDto.setState(WorkTaskDto.STATE_WAIT); |
| | | tmpWorkTaskDto.setStates(new String[]{WorkTaskDto.STATE_WAIT, WorkTaskDto.STATE_DOING}); |
| | | int waitCount = workTaskV1InnerServiceSMOImpl.queryWorkTasksCount(tmpWorkTaskDto); |
| | | WorkPoolPo workPoolPo = new WorkPoolPo(); |
| | | workPoolPo.setWorkId(workTaskDto.getWorkId()); |
| | |
| | | workEventPo.setStaffName(workTaskDto.getStaffName()); |
| | | workEventPo.setStoreId(workTaskDto.getStoreId()); |
| | | workEventPo.setTaskId(workTaskDto.getTaskId()); |
| | | workEventPo.setItemId("-1"); |
| | | workEventPo.setContentId("-1"); |
| | | workEventV1InnerServiceSMOImpl.saveWorkEvent(workEventPo); |
| | | } |
| | | } |