From 4f365007869668ee035dc44ca98263b85ced8d8a Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 25 二月 2025 21:18:05 +0800
Subject: [PATCH] 处理完成工单评分
---
service-oa/src/main/java/com/java110/oa/cmd/work/SaveWorkPoolCmd.java | 121 ++++++++++++++++++++++------------------
1 files changed, 66 insertions(+), 55 deletions(-)
diff --git a/service-oa/src/main/java/com/java110/oa/cmd/work/SaveWorkPoolCmd.java b/service-oa/src/main/java/com/java110/oa/cmd/work/SaveWorkPoolCmd.java
index e7a0168..cbcef6e 100644
--- a/service-oa/src/main/java/com/java110/oa/cmd/work/SaveWorkPoolCmd.java
+++ b/service-oa/src/main/java/com/java110/oa/cmd/work/SaveWorkPoolCmd.java
@@ -24,22 +24,21 @@
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
-import com.java110.dto.data.DatabusDataDto;
import com.java110.dto.user.UserDto;
-import com.java110.dto.workCopy.WorkCopyDto;
-import com.java110.dto.workCycle.WorkCycleDto;
-import com.java110.dto.workPool.WorkPoolDto;
-import com.java110.dto.workPoolFile.WorkPoolFileDto;
-import com.java110.dto.workTask.WorkTaskDto;
-import com.java110.intf.job.IDataBusInnerServiceSMO;
+import com.java110.dto.work.WorkCopyDto;
+import com.java110.dto.work.WorkCycleDto;
+import com.java110.dto.work.WorkPoolDto;
+import com.java110.dto.work.WorkPoolFileDto;
+import com.java110.dto.work.WorkTaskDto;
import com.java110.intf.oa.*;
import com.java110.intf.user.IUserV1InnerServiceSMO;
-import com.java110.po.workCopy.WorkCopyPo;
-import com.java110.po.workCycle.WorkCyclePo;
+import com.java110.po.workPool.WorkCopyPo;
+import com.java110.po.workPool.WorkCyclePo;
import com.java110.po.workPool.WorkPoolPo;
-import com.java110.po.workPoolContent.WorkPoolContentPo;
-import com.java110.po.workPoolFile.WorkPoolFilePo;
-import com.java110.po.workTask.WorkTaskPo;
+import com.java110.po.workPool.WorkPoolContentPo;
+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.*;
import com.java110.vo.ResultVo;
@@ -88,7 +87,8 @@
@Autowired
private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
-
+ @Autowired
+ private IWorkTaskItemV1InnerServiceSMO workTaskItemV1InnerServiceSMOImpl;
/**
* {"workName":"鍏充簬鎵洩浠诲姟","workTypes":[],"wtId":"102023122586210045",
@@ -104,22 +104,29 @@
*/
@Override
public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
- Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
- Assert.hasKeyAndValue(reqJson, "wtId", "璇锋眰鎶ユ枃涓湭鍖呭惈wtId");
- Assert.hasKeyAndValue(reqJson, "workName", "璇锋眰鎶ユ枃涓湭鍖呭惈workName");
- Assert.hasKeyAndValue(reqJson, "workCycle", "璇锋眰鎶ユ枃涓湭鍖呭惈workCycle");
- Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
- Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
+ Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈灏忓尯");
+ Assert.hasKeyAndValue(reqJson, "wtId", "璇锋眰鎶ユ枃涓湭鍖呭惈宸ヤ綔绫诲瀷");
+ Assert.hasKeyAndValue(reqJson, "workCycle", "璇锋眰鎶ユ枃涓湭鍖呭惈宸ュ崟鏍囪瘑");
+ Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈寮�濮嬫椂闂�");
+ Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈瀹屾垚鏃堕棿");
String storeId = CmdContextUtils.getStoreId(cmdDataFlowContext);
reqJson.put("storeId", storeId);
-
if (!reqJson.containsKey("staffs")) {
throw new CmdException("鏈寘鍚鐞嗕汉");
}
-
JSONArray staffs = reqJson.getJSONArray("staffs");
- if (staffs == null || staffs.isEmpty()) {
+ if (ListUtil.isNull(staffs)) {
throw new CmdException("鏈寘鍚鐞嗕汉");
+ }
+
+ if (!reqJson.containsKey("contents")) {
+ throw new CmdException("鏈寘鍚伐浣滃崟鍐呭");
+ }
+
+ JSONArray contents = reqJson.getJSONArray("contents");
+
+ if (ListUtil.isNull(contents)) {
+ throw new CmdException("鍐呭涓虹┖");
}
if (WorkPoolDto.WORK_CYCLE_ONE.equals(reqJson.getString("workCycle"))) {
@@ -127,37 +134,33 @@
}
Assert.hasKeyAndValue(reqJson, "period", "鍛ㄦ湡鎬у伐鍗曟湭鍖呭惈鍛ㄦ湡");
Assert.hasKeyAndValue(reqJson, "hours", "鍛ㄦ湡鎬у伐鍗曟湭鍖呭惈瀹屾垚灏忔椂");
-
if (WorkCycleDto.PERIOD_MONTH_DAY.equals(reqJson.getString("period"))) {
JSONArray months = reqJson.getJSONArray("months");
JSONArray days = reqJson.getJSONArray("days");
-
if (ListUtil.isNull(months) || ListUtil.isNull(days)) {
throw new CmdException("鏈寘鍚湀/澶�");
}
}
-
if (WorkCycleDto.PERIOD_MONTH_WORKDAY.equals(reqJson.getString("period"))) {
JSONArray workdays = reqJson.getJSONArray("workdays");
if (ListUtil.isNull(workdays)) {
throw new CmdException("鏈寘鍚寜鍛�");
}
}
-
-
}
@Override
@Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
-
String userId = CmdContextUtils.getUserId(cmdDataFlowContext);
UserDto userDto = new UserDto();
userDto.setUserId(userId);
List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
-
Assert.listOnlyOne(userDtos, "鐢ㄦ埛鏈櫥褰�");
-
+ String workName = reqJson.getString("workName");
+ if(StringUtil.isEmpty(workName)){
+ reqJson.put("workName",userDtos.get(0).getName()+"鍙戣捣鐨勫伐浣滃崟");
+ }
WorkPoolPo workPoolPo = BeanConvertUtil.covertBean(reqJson, WorkPoolPo.class);
workPoolPo.setWorkId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
workPoolPo.setCreateUserId(userDtos.get(0).getUserId());
@@ -165,26 +168,17 @@
workPoolPo.setCreateUserTel(userDtos.get(0).getTel());
workPoolPo.setState(WorkPoolDto.STATE_WAIT);
int flag = workPoolV1InnerServiceSMOImpl.saveWorkPool(workPoolPo);
-
if (flag < 1) {
throw new CmdException("淇濆瓨鏁版嵁澶辫触");
}
-
//todo 淇濆瓨 宸ヤ綔鍗曞唴瀹�
saveContent(workPoolPo, reqJson, userDtos.get(0));
-
//todo 淇濆瓨 鎶勯�佷汉
saveCopyStaff(workPoolPo, reqJson, userDtos.get(0));
-
//todo 淇濆瓨鍛ㄦ湡
saveWorkCycle(workPoolPo, reqJson, userDtos.get(0));
-
-
// todo 淇濆瓨 宸ュ崟浠诲姟
saveWorkTask(workPoolPo, reqJson, userDtos.get(0));
-
-
-
cmdDataFlowContext.setResponseEntity(ResultVo.success());
}
@@ -192,12 +186,12 @@
JSONArray staffs = reqJson.getJSONArray("staffs");
String startTime = reqJson.getString("startTime");
String endTime = reqJson.getString("endTime");
-
if (WorkPoolDto.WORK_CYCLE_CYCLE.equals(workPoolPo.getWorkCycle())) {
Date sTime = DateUtil.getDateFromStringA(startTime);
endTime = DateUtil.getAddHoursStringA(sTime, reqJson.getIntValue("hours"));
}
+ JSONArray contents = reqJson.getJSONArray("contents");
for (int staffIndex = 0; staffIndex < staffs.size(); staffIndex++) {
WorkTaskPo workTaskPo = new WorkTaskPo();
@@ -213,15 +207,27 @@
workTaskPo.setOrgStaffId(staffs.getJSONObject(staffIndex).getString("staffId"));
workTaskPo.setOrgStaffName(staffs.getJSONObject(staffIndex).getString("staffName"));
int flag = workTaskV1InnerServiceSMOImpl.saveWorkTask(workTaskPo);
-
if (flag < 1) {
throw new CmdException("淇濆瓨鏁版嵁澶辫触");
}
-
- if(StringUtil.isEmpty(reqJson.getString("pathUrl"))){
- continue;
+ JSONObject content = null;
+ for (int cIndex = 0; cIndex < contents.size(); cIndex++) {
+ content = contents.getJSONObject(cIndex);
+ WorkTaskItemPo workTaskItemPo = new WorkTaskItemPo();
+ workTaskItemPo.setDeductionMoney("0");
+ workTaskItemPo.setContentId(content.getString("contentId"));
+ workTaskItemPo.setStoreId(workPoolPo.getStoreId());
+ workTaskItemPo.setWorkId(workPoolPo.getWorkId());
+ workTaskItemPo.setItemId(GenerateCodeFactory.getGeneratorId("11"));
+ workTaskItemPo.setState(WorkTaskDto.STATE_WAIT);
+ workTaskItemPo.setCommunityId(workPoolPo.getCommunityId());
+ workTaskItemPo.setTaskId(workTaskPo.getTaskId());
+ workTaskItemV1InnerServiceSMOImpl.saveWorkTaskItem(workTaskItemPo);
}
+ if (StringUtil.isEmpty(reqJson.getString("pathUrl"))) {
+ continue;
+ }
WorkPoolFilePo workPoolFilePo = new WorkPoolFilePo();
workPoolFilePo.setCommunityId(workPoolPo.getCommunityId());
workPoolFilePo.setFileType(WorkPoolFileDto.FILE_TYPE_START);
@@ -230,12 +236,13 @@
workPoolFilePo.setTaskId(workTaskPo.getTaskId());
workPoolFilePo.setPathUrl(reqJson.getString("pathUrl"));
workPoolFilePo.setStoreId(workPoolPo.getStoreId());
+ workPoolFilePo.setItemId("-1");
+ workPoolFilePo.setContentId("-1");
workPoolFileV1InnerServiceSMOImpl.saveWorkPoolFile(workPoolFilePo);
}
}
private void saveWorkCycle(WorkPoolPo workPoolPo, JSONObject reqJson, UserDto userDto) {
-
JSONArray staffs = reqJson.getJSONArray("staffs");
for (int staffIndex = 0; staffIndex < staffs.size(); staffIndex++) {
WorkCyclePo workCyclePo = new WorkCyclePo();
@@ -277,7 +284,6 @@
throw new CmdException("淇濆瓨鏁版嵁澶辫触");
}
}
-
}
/**
@@ -288,11 +294,9 @@
* @param userDto
*/
private void saveCopyStaff(WorkPoolPo workPoolPo, JSONObject reqJson, UserDto userDto) {
-
if (!reqJson.containsKey("copyStaffs")) {
return;
}
-
JSONArray copyStaffs = reqJson.getJSONArray("copyStaffs");
if (ListUtil.isNull(copyStaffs)) {
return;
@@ -320,12 +324,19 @@
*/
private void saveContent(WorkPoolPo workPoolPo, JSONObject reqJson, UserDto userDto) {
- WorkPoolContentPo workPoolContentPo = new WorkPoolContentPo();
- workPoolContentPo.setContentId(GenerateCodeFactory.getGeneratorId("11"));
- workPoolContentPo.setContent(reqJson.getString("content"));
- workPoolContentPo.setWorkId(workPoolPo.getWorkId());
- workPoolContentPo.setCommunityId(reqJson.getString("communityId"));
- workPoolContentPo.setStoreId(reqJson.getString("storeId"));
- workPoolContentV1InnerServiceSMOImpl.saveWorkPoolContent(workPoolContentPo);
+ JSONArray contents = reqJson.getJSONArray("contents");
+ JSONObject content = null;
+ for (int cIndex = 0; cIndex < contents.size(); cIndex++) {
+ content = contents.getJSONObject(cIndex);
+ WorkPoolContentPo workPoolContentPo = new WorkPoolContentPo();
+ workPoolContentPo.setContentId(GenerateCodeFactory.getGeneratorId("11"));
+ workPoolContentPo.setContent(content.getString("content"));
+ workPoolContentPo.setWorkId(workPoolPo.getWorkId());
+ workPoolContentPo.setCommunityId(reqJson.getString("communityId"));
+ workPoolContentPo.setStoreId(reqJson.getString("storeId"));
+ workPoolContentPo.setSeqNum(cIndex + 1);
+ content.put("contentId", workPoolContentPo.getContentId());
+ workPoolContentV1InnerServiceSMOImpl.saveWorkPoolContent(workPoolContentPo);
+ }
}
}
--
Gitblit v1.8.0