From cf9a5039e6db9d1d5963e3fe1a37d00169ec2ef7 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 25 六月 2025 11:18:22 +0800
Subject: [PATCH] 验收报告修改

---
 src/main/java/com/whyc/service/ProductHistoryService.java |   79 ++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/whyc/service/ProductHistoryService.java b/src/main/java/com/whyc/service/ProductHistoryService.java
index 231c99d..34c60d0 100644
--- a/src/main/java/com/whyc/service/ProductHistoryService.java
+++ b/src/main/java/com/whyc/service/ProductHistoryService.java
@@ -14,6 +14,7 @@
 import com.whyc.pojo.ProductLockLog;
 import com.whyc.util.ActionUtil;
 import com.whyc.util.DateUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -115,9 +116,6 @@
     //鍘嗗彶鐗堟湰鍙敤鎬ц瀹�<浜у搧涓寘鍚挘閲戜欢锛�0120锛夊鏋滃寘鍚渶瑕佹妸褰撴垚浜у搧鐨勯挘閲戜欢閿佹帀
     @Transactional
     public Response setpHistoryEnable(String parentCode, String customCode, int version, int enabled, String reason, String versionTime) {
-        UpdateWrapper wrapper=new UpdateWrapper();
-        wrapper.eq("parent_code",parentCode);
-        wrapper.eq("custom_code",customCode);
         int flag=0;
         QueryWrapper qWrapper=new QueryWrapper();
         qWrapper.eq("parent_code",parentCode);
@@ -126,20 +124,30 @@
         Product product=productMapper.selectOne(qWrapper);
         if(enabled==1){//瑙i攣
             //鍏堝皢鎵�鏈夌殑閿佸畾
+            UpdateWrapper wrapper=new UpdateWrapper();
+            wrapper.eq("parent_code",parentCode);
+            wrapper.eq("custom_code",customCode);
             wrapper.set("enabled",0);
-            flag=mapper.update(null,wrapper);
-            //鍐嶅皢閫変腑鐨勮涓哄彲鐢�
-            wrapper.eq("id",product.getId());
-            wrapper.set("enabled",1);
-            flag=mapper.update(null,wrapper);
+            mapper.update(null,wrapper);
+            //鍐嶅皢閫変腑鐨勮涓哄彲鐢�(鏌ュ嚭瑕佷娇鐢ㄧ増鏈�)
+            QueryWrapper hisWrapper=new QueryWrapper();
+            hisWrapper.eq("parent_code",parentCode);
+            hisWrapper.eq("custom_code",customCode);
+            hisWrapper.eq("version",version);
+            ProductHistory his=mapper.selectOne(hisWrapper);
+            UpdateWrapper wrapper1=new UpdateWrapper();
+            wrapper1.eq("parent_code",parentCode);
+            wrapper1.eq("custom_code",customCode);
+            wrapper1.eq("id",his.getId());
+            wrapper1.set("enabled",1);
+            flag=mapper.update(null,wrapper1);
             if(flag>0){
                 //2.灏嗛�変腑鐨勭増鏈殑鍘嗗彶淇℃伅鏌ヨ鍑烘潵
-                qWrapper.eq("id",product.getId());
-                ProductHistory pHistory=mapper.selectOne(qWrapper);
+                /*qWrapper.eq("id",his.getId());
+                ProductHistory pHistory=mapper.selectOne(qWrapper);*/
                 //3:prodcut涓垹闄ゆ棫鐨勪骇鍝佷俊鎭�
                 UpdateWrapper deleteWrapper=new UpdateWrapper();
-                deleteWrapper.eq("parent_code",parentCode);
-                deleteWrapper.eq("custom_code",customCode);
+                deleteWrapper.eq("id",product.getId());
                 productMapper.delete(deleteWrapper);
                 //4.productBom涓垹闄ゆ棫鐨勪俊鎭�
                 if(product!=null){
@@ -147,14 +155,17 @@
                     bomWrapper.eq("product_id",product.getId());
                     productBomMapper.delete(bomWrapper);
                 }
-                if(pHistory!=null){
+                if(his!=null){
                     // 5.鍦╬roduct涓彃鍏ヨ瀹氬彲鐢ㄧ殑pHistory
-                    productMapper.insertPselectPH(pHistory.getId());
+                    productMapper.insertPselectPH(his.getId());
                     //6.鍦╬roductBom涓彃鍏HsitoryBom鏌ヨ鍑虹殑鏁版嵁
-                    productBomMapper.insertBomSelectBomH(pHistory.getId(),pHistory.getSubVersionMax());
+                    productBomMapper.insertBomSelectBomH(his.getId(),his.getSubVersionMax());
                 }
             }
         }else{
+            UpdateWrapper wrapper=new UpdateWrapper();
+            wrapper.eq("parent_code",parentCode);
+            wrapper.eq("custom_code",customCode);
             wrapper.eq("version",version);
             wrapper.set("enabled",0);
             flag=mapper.update(null,wrapper);
@@ -185,29 +196,6 @@
                     productMapper.update(null,wrapper_0120);
                 }
             }
-            /*if(flag>0){
-                //
-                QueryWrapper qWrapper=new QueryWrapper();
-                qWrapper.eq("parent_code",parentCode);
-                qWrapper.eq("custom_code",customCode);
-
-                //1.鏌ヨ褰撳墠product涓殑淇℃伅
-                Product product=productMapper.selectOne(qWrapper);
-
-                //2.prodcut涓垹闄ゆ棫鐨勪骇鍝佷俊鎭�
-                UpdateWrapper deleteWrapper=new UpdateWrapper();
-                deleteWrapper.eq("parent_code",parentCode);
-                deleteWrapper.eq("custom_code",customCode);
-                productMapper.delete(deleteWrapper);
-
-                //3.鍒犻櫎productBom
-                if(product!=null){
-                    UpdateWrapper bomWrapper=new UpdateWrapper();
-                    bomWrapper.eq("product_id",product.getId());
-                    productBomMapper.delete(bomWrapper);
-                }
-
-            }*/
 
         }
         //閿佸畾鍜岃В閿佽褰曟坊鍔�
@@ -251,4 +239,19 @@
         }
         return null;
     }
+
+    public boolean checkExists(String parentCode, String customCode) {
+        QueryWrapper<ProductHistory> query = Wrappers.query();
+        query.eq("parent_code",parentCode);
+        if(!StringUtils.isBlank(customCode)){ //鏍囧噯浜у搧
+            query.eq("custom_code",customCode);
+        }
+        query.last(" limit 1");
+        ProductHistory productHistory = mapper.selectOne(query);
+        return productHistory!=null;
+    }
+
+    public ProductHistory getById(Integer id) {
+        return mapper.selectById(id);
+    }
 }

--
Gitblit v1.9.1