From 7411561962ca6e45e32844d7a626a6e89b8292e5 Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期六, 17 一月 2026 16:59:56 +0800
Subject: [PATCH] 调整出入库通知单功能
---
fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java | 69 +++++++++++++++++++++++++++++-----
1 files changed, 59 insertions(+), 10 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
index 3f8da0a..9623e67 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java
@@ -5,13 +5,14 @@
import com.fzzy.igds.domain.InoutNoticeIn;
import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.utils.ContextUtil;
-import com.fzzy.work.data.OrderStatus;
+import com.fzzy.work.data.WorkStatus;
import com.fzzy.work.data.WorkBizType;
import com.fzzy.work.data.WorkNode;
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.domain.WorkOrderConf;
import com.fzzy.work.domain.WorkOrderProcess;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -50,6 +51,7 @@
* @return 鍝嶅簲缁撴灉
*/
public BaseResp startByNoticeIn(InoutNoticeIn data, WorkOrderConf conf) {
+
if (null == conf) conf = confService.getByDeptId(data.getDeptId(), WorkBizType.TYPE_10);
if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("娴佺▼鏈惎鐢�");
@@ -67,7 +69,7 @@
work.setUpdateTime(new Date());
work.setTitle("鍏ュ簱閫氱煡鍗曞鎵�");
work.setConfId(conf.getId());
- work.setStatus(OrderStatus.STATUS_30.getCode());
+ work.setStatus(WorkStatus.STATUS_30.getCode());
work.setReceiveTime(new Date());
String nextNode = this.getNextNode(WorkNode.NODE_START.getCode(), conf).getCode();
@@ -83,7 +85,7 @@
process.setAssigneeName(work.getCreateBy());
process.setAssigneeId(work.getCreateById());
process.setNode(WorkNode.NODE_START.getCode());
- orderProcessService.addData(process);
+ orderProcessService.addData(process,false);
return BaseResp.success();
}
@@ -95,7 +97,7 @@
* @return 鍝嶅簲缁撴灉
*/
public BaseResp startByNoticeOut(InoutNoticeOut data, WorkOrderConf conf) {
- if (null == conf) conf = confService.getByDeptId(data.getDeptId(), WorkBizType.TYPE_10);
+ if (null == conf) conf = confService.getByDeptId(data.getDeptId(), WorkBizType.TYPE_20);
if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("娴佺▼鏈惎鐢�");
@@ -112,7 +114,7 @@
work.setUpdateTime(new Date());
work.setTitle("鍑哄簱閫氱煡鍗曞鎵�");
work.setConfId(conf.getId());
- work.setStatus(OrderStatus.STATUS_30.getCode());
+ work.setStatus(WorkStatus.STATUS_30.getCode());
work.setReceiveTime(new Date());
String nextNode = this.getNextNode(WorkNode.NODE_START.getCode(), conf).getCode();
@@ -128,7 +130,7 @@
process.setAssigneeName(work.getCreateBy());
process.setAssigneeId(work.getCreateById());
process.setNode(WorkNode.NODE_START.getCode());
- orderProcessService.addData(process);
+ orderProcessService.addData(process,false);
return BaseResp.success();
}
@@ -165,24 +167,71 @@
* 鑾峰彇寰呭鐞嗗伐鍗�
* @return 澶勭悊缁撴灉
*/
- public BaseResp todoByProcess(WorkOrderProcess data) {
+ public BaseResp todoByProcess(WorkOrderProcess process) {
- log.info("-----宸ュ崟澶勭悊-----{}", data);
+ String action = process.getAction();
+ if (StringUtils.isEmpty(action)) {
+ return BaseResp.error("娌℃湁璇嗗埆鍒板鐞嗗姩浣滐紝璇烽噸鏂板皾璇�");
+ }
+
+ log.info("-----宸ュ崟澶勭悊-----{}", process);
//鑾峰彇宸ュ崟
- WorkOrder work = orderService.selectById(data.getOrderId());
+ WorkOrder work = orderService.selectById(process.getOrderId());
if (null == work) return BaseResp.error("褰撳墠宸ュ崟宸蹭笉瀛樺湪");
- String action = data.getAction();
+ if (work.getStatus().equals(WorkStatus.STATUS_50.getCode())
+ || work.getStatus().equals(WorkStatus.STATUS_60.getCode())) {
+ return BaseResp.error("褰撳墠宸ュ崟宸插鐞嗭紝璇峰埛鏂伴〉闈㈤噸璇曪紒锛�");
+ }
+
+ String curNode = process.getNode();
+ //鑾峰彇澶勭悊浜�
+ if (!curNode.equals(work.getNode())) {
+ return BaseResp.error("褰撳墠宸ュ崟宸茶澶勭悊锛岃鍒锋柊椤甸潰閲嶈瘯锛侊紒");
+ }
+
+ //鑾峰彇閰嶇疆淇℃伅
+ WorkOrderConf conf = confService.selectById(work.getConfId());
+ if (null == conf) return BaseResp.error("褰撳墠宸ュ崟鏈厤缃祦绋�");
+
+ //娣诲姞璁板綍
+ process.setId(ContextUtil.UUID());
+ process.setCreateTime(new Date());
+ process.setOrderId(work.getId());
+ process.setAssigneeName(ContextUtil.getLoginUserName());
+ process.setAssigneeId(ContextUtil.getLoginName());
+
+ WorkNode nextNode = this.getNextNode(work.getNode(), conf);
+
+ log.info("宸ュ崟瀹℃壒锛歿}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), work.getNode(), nextNode);
+
//閫氳繃鎿嶄綔
if ("pass".equals(action)) {
+ process.setAction("閫氳繃");
+ process.setNode(work.getNode());
+ //缁撴潫鍒ゆ柇锛屽鏋滄槸缁撴潫鑺傜偣锛屽垯缁撴潫宸ュ崟
+ if (WorkNode.NODE_END.getCode().equals(nextNode.getCode())) {
+ work.setStatus(WorkStatus.STATUS_50.getCode());
+ work.setAssigneeName(process.getAssigneeName());
+ work.setAssigneeId(process.getAssigneeId());
+ work.setNode(nextNode.getCode());
+ orderService.complete(work);
+ }
}
//鎷掔粷鎿嶄綔
if ("refuse".equals(action)) {
+ process.setAction("鎷掔粷");
+ process.setNode(WorkNode.NODE_END.getCode());
+ work.setStatus(WorkStatus.STATUS_60.getCode());
+ orderService.complete(work);
}
+ //澧炲姞瀹℃壒璁板綍
+ orderProcessService.addData(process,nextNode.equals(WorkNode.NODE_END));
+
return BaseResp.success();
}
}
--
Gitblit v1.9.3