From 9c013c105b46ea0e8cbfbe6e7d32e7bddbdcc1c4 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 31 十月 2024 02:33:22 +0800
Subject: [PATCH] 优化工作单 代码
---
service-oa/src/main/java/com/java110/oa/cmd/work/FinishWorkTaskCmd.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 46 insertions(+), 9 deletions(-)
diff --git a/service-oa/src/main/java/com/java110/oa/cmd/work/FinishWorkTaskCmd.java b/service-oa/src/main/java/com/java110/oa/cmd/work/FinishWorkTaskCmd.java
index 8a6a94b..b429d96 100644
--- a/service-oa/src/main/java/com/java110/oa/cmd/work/FinishWorkTaskCmd.java
+++ b/service-oa/src/main/java/com/java110/oa/cmd/work/FinishWorkTaskCmd.java
@@ -12,15 +12,14 @@
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;
@@ -39,6 +38,9 @@
private IWorkTaskV1InnerServiceSMO workTaskV1InnerServiceSMOImpl;
@Autowired
+ private IWorkTaskItemV1InnerServiceSMO workTaskItemV1InnerServiceSMOImpl;
+
+ @Autowired
private IWorkEventV1InnerServiceSMO workEventV1InnerServiceSMOImpl;
@Autowired
@@ -54,6 +56,7 @@
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", "鏈寘鍚鏄�");
@@ -108,6 +111,7 @@
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);
}
@@ -124,20 +128,30 @@
String taskTimeout = "N";
//todo 宸ュ崟宸茬粡瓒呮椂
- if(endTime.before(DateUtil.getCurrentDate())){
+ 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);
+// 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();
@@ -174,14 +188,36 @@
workEventPo.setStaffName(workTaskDto.getStaffName());
workEventPo.setStoreId(workTaskDto.getStoreId());
workEventPo.setTaskId(workTaskDto.getTaskId());
+ workEventPo.setItemId(reqJson.getString("itemId"));
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());
@@ -232,6 +268,7 @@
workEventPo.setStaffName(workTaskDto.getStaffName());
workEventPo.setStoreId(workTaskDto.getStoreId());
workEventPo.setTaskId(workTaskDto.getTaskId());
+ workEventPo.setItemId("-1");
workEventV1InnerServiceSMOImpl.saveWorkEvent(workEventPo);
}
}
--
Gitblit v1.8.0