From 74a25082f68c00a797a7eca8672cde8edb0dc95f Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 17 三月 2026 15:16:32 +0800
Subject: [PATCH] 修改,gis建模监管页,数据不一致问题
---
fzzy-igdss-core/src/main/java/com/fzzy/work/service/BizWorkService.java | 72 +++++++++++++++++++++++++++++++----
1 files changed, 63 insertions(+), 9 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 6cc150e..3b7df54 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
@@ -2,13 +2,14 @@
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.BaseResp;
+import com.fzzy.igds.data.PledgeReminders;
import com.fzzy.igds.domain.InoutNoticeIn;
import com.fzzy.igds.domain.InoutNoticeOut;
import com.fzzy.igds.domain.PledgeContract;
import com.fzzy.igds.utils.ContextUtil;
-import com.fzzy.work.data.WorkStatus;
import com.fzzy.work.data.WorkBizType;
import com.fzzy.work.data.WorkNode;
+import com.fzzy.work.data.WorkStatus;
import com.fzzy.work.domain.WorkOrder;
import com.fzzy.work.domain.WorkOrderConf;
import com.fzzy.work.domain.WorkOrderProcess;
@@ -18,7 +19,9 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.text.DecimalFormat;
import java.util.Date;
+import java.util.Map;
/**
* @Desc: 宸ュ崟涓氬姟鎺ュ彛
@@ -28,6 +31,7 @@
@Slf4j
@Service
public class BizWorkService {
+
@Resource
private WorkOrderConfService confService;
@Resource
@@ -38,8 +42,9 @@
/**
* 鑾峰彇娴佺▼閰嶇疆淇℃伅
+ *
* @param deptId 搴撳尯ID
- * @param type 涓氬姟绫诲瀷
+ * @param type 涓氬姟绫诲瀷
* @return 閰嶇疆淇℃伅
*/
public WorkOrderConf getConfByDeptId(String deptId, WorkBizType type) {
@@ -49,6 +54,7 @@
/**
*
* 鏍规嵁鍑哄叆搴撻�氱煡鍗曞惎鍔ㄥ鎵瑰伐鍗�
+ *
* @param data 鍑哄叆搴撳伐鍗曟暟鎹�
* @return 鍝嶅簲缁撴灉
*/
@@ -69,7 +75,7 @@
work.setDeptId(data.getDeptId());
work.setCompanyId(data.getCompanyId());
work.setUpdateTime(new Date());
- work.setTitle("鍏ュ簱閫氱煡鍗曞鎵�");
+ work.setTitle(data.getName() + "-瀹℃壒");
work.setConfId(conf.getId());
work.setStatus(WorkStatus.STATUS_30.getCode());
work.setReceiveTime(new Date());
@@ -95,6 +101,7 @@
/**
*
* 鏍规嵁鍑哄嚭搴撻�氱煡鍗曞惎鍔ㄥ鎵瑰伐鍗�
+ *
* @param data 鍑哄叆搴撳伐鍗曟暟鎹�
* @return 鍝嶅簲缁撴灉
*/
@@ -114,7 +121,7 @@
work.setDeptId(data.getDeptId());
work.setCompanyId(data.getCompanyId());
work.setUpdateTime(new Date());
- work.setTitle("鍑哄簱閫氱煡鍗曞鎵�");
+ work.setTitle(data.getName() + "-瀹℃壒");
work.setConfId(conf.getId());
work.setStatus(WorkStatus.STATUS_30.getCode());
work.setReceiveTime(new Date());
@@ -139,6 +146,7 @@
/**
* 鏍规嵁褰撳墠鑺傜偣鑾峰彇涓嬩竴涓妭鐐�
+ *
* @param curNode
* @param conf
* @return
@@ -168,16 +176,37 @@
/**
*
* 鏍规嵁鍑哄叆搴撻�氱煡鍗曞惎鍔ㄥ鎵瑰伐鍗�
+ *
* @param data 鍑哄叆搴撳伐鍗曟暟鎹�
* @return 鍝嶅簲缁撴灉
*/
- public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf) {
+ public BaseResp startByBackMoney(PledgeContract data, WorkOrderConf conf, Map<String,PledgeReminders> remindersMap) {
if (null == conf) conf = confService.getByDeptId(data.getPledgeDept(), WorkBizType.TYPE_10);
if (Constant.YN_N.equals(conf.getValTag())) return BaseResp.error("娴佺▼鏈惎鐢�");
+// Double sumMoneyNum = 0.0;
+ DecimalFormat df = new DecimalFormat("0.00");
+ double backMoney = data.getContractAmount() - data.getRepaidAmount();
//鍒涘缓宸ュ崟
+ StringBuilder description = new StringBuilder("鍚堝悓<" + data.getName() + ">璐锋浣欓锛�"+df.format(backMoney)+"鍏冿紝");
+ if (!remindersMap.isEmpty()){
+
+ for (PledgeReminders reminders : remindersMap.values()) {
+ description.append("褰撳墠<").append(reminders.getFoodVarietyName())
+ .append(">鍗曚环锛�").append(reminders.getFoodPrice()).append("鍏�/KG锛�")
+ .append("鍓╀綑<").append(reminders.getFoodVarietyName())
+ .append(">搴撳瓨锛�").append(df.format(reminders.getStorageReal())).append("KG锛�");
+// sumMoneyNum += reminders.getStorageReal() * reminders.getFoodPrice();
+ }
+ description.append("鎶煎搧浠峰�尖墹璐锋浣欓鐨�110%锛岃灏藉揩鎻愰啋浼佷笟杩樻锛�");
+
+ }else{
+ description.append("璐ㄦ娂浠撳簱<").append(data.getDepotNames()).append(">鎶煎搧浠峰�尖墹璐锋浣欓鐨�110%锛岃灏藉揩鎻愰啋浼佷笟杩樻锛�");
+
+ }
+
WorkOrder work = new WorkOrder();
work.setId(ContextUtil.generateOrderId("WARN"));
work.setBizType(WorkBizType.TYPE_50.getCode());
@@ -192,6 +221,10 @@
work.setConfId(conf.getId());
work.setStatus(WorkStatus.STATUS_30.getCode());
work.setReceiveTime(new Date());
+ work.setDescription(description.toString());
+ work.setCreateBy("绯荤粺鐢熸垚");
+ work.setCreateById("sys");
+ work.setUpdateBy("绯荤粺鐢熸垚");
String nextNode = this.getNextNode(WorkNode.NODE_START.getCode(), conf).getCode();
work.setNode(nextNode);
@@ -213,6 +246,7 @@
/**
* 鑾峰彇寰呭鐞嗗伐鍗�
+ *
* @return 澶勭悊缁撴灉
*/
public BaseResp todoByProcess(WorkOrderProcess process) {
@@ -232,7 +266,6 @@
return BaseResp.error("褰撳墠宸ュ崟宸插鐞嗭紝璇峰埛鏂伴〉闈㈤噸璇曪紒锛�");
}
-
//鍒ゆ柇鏄笉鏄寚瀹氬鐞嗕汉
SysUser user = ContextUtil.getLoginUser();
if (StringUtils.isNotEmpty(work.getAssigneeId())) {
@@ -251,7 +284,6 @@
WorkOrderConf conf = confService.selectById(work.getConfId());
if (null == conf) return BaseResp.error("褰撳墠宸ュ崟鏈厤缃祦绋�");
-
//娣诲姞璁板綍
process.setId(ContextUtil.UUID());
process.setCreateTime(new Date());
@@ -261,7 +293,7 @@
WorkNode nextNode = this.getNextNode(work.getNode(), conf);
- log.info("宸ュ崟瀹℃壒锛歿}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), work.getNode(), nextNode);
+ log.info("宸ュ崟瀹℃壒锛歿}锛屾墽琛屽姩浣滐細{}锛屽綋鍓嶈妭鐐癸細{}锛屼笅涓�鑺傜偣锛歿}", work.getTitle(), action, work.getNode(), nextNode);
//閫氳繃鎿嶄綔
if ("pass".equals(action)) {
@@ -274,6 +306,10 @@
work.setAssigneeId(process.getAssigneeId());
work.setNode(nextNode.getCode());
orderService.complete(work);
+ } else {
+ work.setNode(nextNode.getCode());
+ work.setStatus(WorkStatus.STATUS_30.getCode());
+ orderService.updateData(work);
}
//澧炲姞瀹℃壒璁板綍
@@ -284,11 +320,29 @@
//鎷掔粷鎿嶄綔
if ("refuse".equals(action)) {
process.setAction("鎷掔粷");
- process.setNode(WorkNode.NODE_END.getCode());
+ process.setNode(work.getNode());
work.setStatus(WorkStatus.STATUS_60.getCode());
orderService.complete(work);
+
+ //澧炲姞瀹℃壒璁板綍
+ orderProcessService.addData(process, true);
+
+ return BaseResp.success();
+ }
+
+ //寮傚父澶勭悊
+ if ("error".equals(action)) {
+ process.setAction("寮傚父澶勭悊");
+ process.setNode(work.getNode());
+ work.setStatus(WorkStatus.STATUS_50.getCode());
+
+// work.setAssigneeName(process.getAssigneeName());
+// work.setAssigneeId(process.getAssigneeId());
+
+ orderService.complete(work);
+
//澧炲姞瀹℃壒璁板綍
orderProcessService.addData(process, true);
--
Gitblit v1.9.3