From b7fa11ff11ea34ac0231fcdd41135b3def7129de Mon Sep 17 00:00:00 2001
From: jiazx0107 <jiazx0107@163.com>
Date: 星期日, 18 一月 2026 01:22:54 +0800
Subject: [PATCH] 调功工单功能
---
fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java | 64 +++++++++++++++++++++++++-------
1 files changed, 50 insertions(+), 14 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 1cedead..cd9dea8 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
@@ -11,6 +11,7 @@
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.domain.WorkOrderConf;
import com.fzzy.work.domain.WorkOrderProcess;
+import com.ruoyi.common.core.domain.entity.SysUser;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -85,7 +86,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();
}
@@ -130,7 +131,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();
}
@@ -184,6 +185,15 @@
return BaseResp.error("褰撳墠宸ュ崟宸插鐞嗭紝璇峰埛鏂伴〉闈㈤噸璇曪紒锛�");
}
+
+ //鍒ゆ柇鏄笉鏄寚瀹氬鐞嗕汉
+ SysUser user = ContextUtil.getLoginUser();
+ if (StringUtils.isNotEmpty(work.getAssigneeId())) {
+ if (!work.getAssigneeId().equals(user.getLoginName())) {
+ return BaseResp.error("褰撳墠宸ュ崟宸插垎閰嶅叾浠栦汉澶勭悊锛岃鍕垮鐞�");
+ }
+ }
+
String curNode = process.getNode();
//鑾峰彇澶勭悊浜�
if (!curNode.equals(work.getNode())) {
@@ -194,45 +204,71 @@
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());
+ process.setAssigneeName(user.getUserName());
+ process.setAssigneeId(user.getLoginName());
- WorkNode node = this.getNextNode(work.getNode(), conf);
+ WorkNode nextNode = this.getNextNode(work.getNode(), conf);
- log.info("宸ュ崟瀹℃壒锛歿}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), work.getNode(), node);
+ log.info("宸ュ崟瀹℃壒锛歿}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), work.getNode(), nextNode);
//閫氳繃鎿嶄綔
if ("pass".equals(action)) {
process.setAction("閫氳繃");
- process.setNode(node.getCode());
-
+ process.setNode(work.getNode());
//缁撴潫鍒ゆ柇锛屽鏋滄槸缁撴潫鑺傜偣锛屽垯缁撴潫宸ュ崟
- if (WorkNode.NODE_END.getCode().equals(process.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);
}
+
+ //澧炲姞瀹℃壒璁板綍
+ orderProcessService.addData(process, WorkNode.NODE_END.equals(nextNode));
+ return BaseResp.success();
}
//鎷掔粷鎿嶄綔
if ("refuse".equals(action)) {
process.setAction("鎷掔粷");
process.setNode(WorkNode.NODE_END.getCode());
+
work.setStatus(WorkStatus.STATUS_60.getCode());
orderService.complete(work);
+ //澧炲姞瀹℃壒璁板綍
+ orderProcessService.addData(process, true);
+
+ return BaseResp.success();
}
- //澧炲姞瀹℃壒璁板綍
- orderProcessService.addData(process);
+ //杞氦鎴栬�呮寚娲炬搷浣�
+ if ("transfer".equals(action)) {
- return BaseResp.success();
+ if (StringUtils.isEmpty(process.getAssigneeName())) {
+ return BaseResp.error("璇烽�夋嫨澶勭悊浜�");
+ }
+
+ process.setAction("杞氦/鎸囨淳");
+ process.setNode(work.getNode());
+ String info = user.getUserName() + "杞氦缁�" + process.getAssigneeName() + "澶勭悊锛屽鐞嗗缓璁細" + process.getRemark();
+ process.setRemark(info);
+ //鏇存柊澶勭悊浜�
+ work.setAssigneeId(process.getAssigneeId());
+ work.setAssigneeName(process.getAssigneeName());
+
+ orderService.updateData(work);
+
+ orderProcessService.addData(process, false);
+ return BaseResp.success();
+ }
+
+ return BaseResp.error("绯荤粺娌℃湁璇嗗埆鍒版搷浣滃姩浣滐紝鏈墽琛岀浉鍏虫祦绋嬪鎵�");
}
}
--
Gitblit v1.9.3