From 443631aaeb3d4ccaaf1e3379c6850f6ad3df9241 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 14 八月 2025 11:22:12 +0800
Subject: [PATCH] 新增结算中和已结算无法修改数据

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 1 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
index 765e21a..e505d7f 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/EstimatedReceivableServiceImpl.java
@@ -1,9 +1,17 @@
 package com.ruoyi.cwgl.service.impl;
 
+import java.util.Date;
 import java.util.List;
 
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.cwgl.domain.EstimatedReceivableBill;
+import com.ruoyi.cwgl.mapper.EstimatedReceivableLogMapper;
+import com.ruoyi.cwgl.service.IEstimatedReceivableLogService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.stereotype.Service;
 import org.springframework.scheduling.annotation.Async;
@@ -33,7 +41,8 @@
     protected final Logger logger = LoggerFactory.getLogger(getClass());
     @Resource
     private EstimatedReceivableMapper estimatedReceivableMapper;
-
+    @Autowired
+    private IEstimatedReceivableLogService logService;
 
     /**
      * 鏌ヨ棰勪及搴旀敹绠$悊
@@ -128,7 +137,14 @@
     @Override
     public int updateEstimatedReceivable(EstimatedReceivable estimatedReceivable)
     {
+        Integer id = estimatedReceivable.getId();
+        EstimatedReceivable estimatedReceivable1 = estimatedReceivableMapper.selectEstimatedReceivableById(id);
+        if (estimatedReceivable1.getRelatedBillStatus().equals(2)||estimatedReceivable1.getRelatedBillStatus().equals(3)){
+            throw new ServiceException("缁撶畻涓垨宸茬粨绠楁棤娉曚慨鏀�");
+        }
         estimatedReceivable.setUpdateTime(DateUtils.getNowDate());
+        String username = SecurityUtils.getUsername();
+        logService.insertEstimatedReceivableLog("淇敼搴旀敹",estimatedReceivable.getId(),username);
         return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
     }
 
@@ -179,4 +195,65 @@
     {
         return estimatedReceivableMapper.deleteEstimatedReceivableById(id);
     }
+
+    @Override
+    public int confirm(Integer id) {
+        EstimatedReceivable estimatedReceivable = estimatedReceivableMapper.selectEstimatedReceivableById(id);
+        if (estimatedReceivable==null){
+            throw new ServiceException("鏁版嵁涓嶅瓨鍦�");
+        }
+        if (estimatedReceivable.getIsConfirmed().equals(2)) {
+            throw new ServiceException("璇ユ暟鎹凡浣滃簾");
+
+        }
+        if (estimatedReceivable.getIsConfirmed().equals(1)) {
+            throw new ServiceException("鏃犻渶閲嶅纭");
+
+        }
+        String username = SecurityUtils.getUsername();
+
+        logService.insertEstimatedReceivableLog("纭搴旀敹",id,username);
+        estimatedReceivable.setIsConfirmed(1);
+        estimatedReceivable.setConfirmBy(username);
+        estimatedReceivable.setConfirmTime(new Date());
+        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
+    }
+
+    @Override
+    public int cancel(Integer id) {
+        EstimatedReceivable estimatedReceivable = estimatedReceivableMapper.selectEstimatedReceivableById(id);
+        if (estimatedReceivable==null){
+            throw new ServiceException("鏁版嵁涓嶅瓨鍦�");
+        }
+        if (estimatedReceivable.getIsConfirmed().equals(2)) {
+            throw new ServiceException("璇ユ暟鎹凡浣滃簾");
+
+        }
+        if (estimatedReceivable.getIsConfirmed().equals(0)) {
+            throw new ServiceException("鏃犻渶閲嶅鍙栨秷");
+
+        }
+        String username = SecurityUtils.getUsername();
+
+        logService.insertEstimatedReceivableLog("鍙栨秷搴旀敹",id,username);
+        estimatedReceivable.setIsConfirmed(0);
+        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
+    }
+
+    @Override
+    public int invalid(Integer id) {
+        EstimatedReceivable estimatedReceivable = estimatedReceivableMapper.selectEstimatedReceivableById(id);
+        if (estimatedReceivable==null){
+            throw new ServiceException("鏁版嵁涓嶅瓨鍦�");
+        }
+        if (estimatedReceivable.getIsConfirmed().equals(2)) {
+            throw new ServiceException("鏃犻渶閲嶅浣滃簾");
+
+        }
+        String username = SecurityUtils.getUsername();
+
+        logService.insertEstimatedReceivableLog("浣滃簾搴旀敹",id,username);
+        estimatedReceivable.setIsConfirmed(2);
+        return estimatedReceivableMapper.updateEstimatedReceivable(estimatedReceivable);
+    }
 }

--
Gitblit v1.8.0