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/TechnicalSpecificationService.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/whyc/service/TechnicalSpecificationService.java b/src/main/java/com/whyc/service/TechnicalSpecificationService.java
index de60cdc..f248d27 100644
--- a/src/main/java/com/whyc/service/TechnicalSpecificationService.java
+++ b/src/main/java/com/whyc/service/TechnicalSpecificationService.java
@@ -166,6 +166,7 @@
         specification.setFileUrl(specificationHttpUrl+File.separator+file1Name);
         specification.setExcelUrl(specificationHttpUrl+File.separator+file2Name);
         specification.setCreateTime(date);
+        specification.setUploadUser(ActionUtil.getUser().getName());
         //閿佸畾-璐熻矗浜烘墠鑳借В閿�
         specification.setLockFlag(1);
         mapper.insert(specification);
@@ -173,7 +174,7 @@
         lockOtherByAppliedProduct(specification);
         //閿佸畾鏃ュ織
         TechnicalSpecificationLockLog lockLog = new TechnicalSpecificationLockLog();
-        lockLog.setUserName(ActionUtil.getUser().getName());
+        lockLog.setUserName("绯荤粺");
         lockLog.setTechnicalSpecificationId(specification.getId());
         lockLog.setReason("绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶");
         lockLog.setCreateTime(date);
@@ -183,6 +184,27 @@
     }
 
     private void lockOtherByAppliedProduct(TechnicalSpecification specification) {
+        //鍏堟煡璇�
+        QueryWrapper<TechnicalSpecification> query = Wrappers.query();
+        query.eq("apply_material_code",specification.getApplyMaterialCode());
+        query.eq("apply_custom_code", specification.getApplyCustomCode());
+        query.eq("lock_flag",0);
+        query.last(" limit 1");
+        TechnicalSpecification specificationToBeLocked = mapper.selectOne(query);
+        if(specificationToBeLocked !=null){ //瀛樺湪鐢熸晥鐨�,闇�瑕佽閿佸畾
+            specificationToBeLocked.setLockFlag(1);
+            mapper.updateById(specificationToBeLocked);
+            //閿佸畾鏃ュ織
+            TechnicalSpecificationLockLog lockLog = new TechnicalSpecificationLockLog();
+            lockLog.setUserName("绯荤粺");
+            lockLog.setTechnicalSpecificationId(specificationToBeLocked.getId());
+            lockLog.setReason("绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶,鏃х増鏈攣瀹�");
+            lockLog.setCreateTime(new Date());
+            lockLog.setStatus(0);
+            lockLogService.add(lockLog);
+        }
+
+
         UpdateWrapper<TechnicalSpecification> update = Wrappers.update();
         update.set("lock_flag",1);
         //update.set("lock_reason","绯荤粺榛樿閿佸畾,鏂扮増鏈妧鏈鍒欎功涓婁紶,鏃х増鏈攣瀹�");
@@ -275,9 +297,35 @@
             query.eq("lock_flag",lockFlag);
         }
         List<TechnicalSpecification> list=mapper.selectList(query);
+        //鏍囪瘑姣忔潯璁板綍閫傜敤鏈哄瀷鍙敤鐨勭増鏈殑璐熻矗浜烘槸涓嶆槸杩欐潯璁板綍鐨勮礋璐d汉
+        if(list!=null&&list.size()>0){
+            for (TechnicalSpecification t:list) {
+                TechnicalSpecification enableTe=getEnableVersion(t);
+                if(enableTe!=null){
+                   if(enableTe.getOwner().equals(t.getOwner())){
+                       t.setFlag(1);
+                   }else{
+                       t.setFlag(0);
+                   }
+                }else {
+                    t.setFlag(1);
+                }
+            }
+        }
         PageInfo pageInfo=new PageInfo(list);
         return new Response().setII(1,list!=null,pageInfo,"鏌ヨ鎶�鏈鏍间功");
     }
+    //鏌ヨ姣忔潯璁板綍閫傜敤鏈哄瀷鍙敤鐨勭増鏈�
+    public TechnicalSpecification getEnableVersion(TechnicalSpecification t){
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("apply_material_code",t.getApplyMaterialCode());
+        wrapper.eq("apply_model",t.getApplyModel());
+        wrapper.eq("apply_custom_code",t.getApplyCustomCode());
+        wrapper.last("limit 1");
+        TechnicalSpecification enableTe=mapper.selectOne(wrapper);
+        return enableTe;
+    }
+
    //鏌ヨ鎸囧畾鎶�鏈鏍间功鐨勬墍鏈夌増鏈�
     public Response getVersionByInfo(String applyMaterialCode, String applyModel, String applyCustomCode) {
         QueryWrapper<TechnicalSpecification> query = Wrappers.query();
@@ -291,6 +339,21 @@
             query.eq("apply_custom_code",applyCustomCode);
         }
         List<TechnicalSpecification> list=mapper.selectList(query);
+        //鏍囪瘑姣忔潯璁板綍閫傜敤鏈哄瀷鍙敤鐨勭増鏈殑璐熻矗浜烘槸涓嶆槸杩欐潯璁板綍鐨勮礋璐d汉
+        if(list!=null&&list.size()>0){
+            for (TechnicalSpecification t:list) {
+                TechnicalSpecification enableTe=getEnableVersion(t);
+                if(enableTe!=null){
+                    if(enableTe.getOwner().equals(t.getOwner())){
+                        t.setFlag(1);
+                    }else{
+                        t.setFlag(0);
+                    }
+                }else {
+                    t.setFlag(1);
+                }
+            }
+        }
         return new Response().setII(1,list!=null,list,"鏌ヨ鎸囧畾鎶�鏈鏍间功鐨勬墍鏈夌増鏈�");
     }
 }

--
Gitblit v1.9.1