From 8d6b17bfa56fd767c6f9de666eb0dd44c6b032cd Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 22 五月 2025 15:42:38 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialStoreService.java |   93 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 81 insertions(+), 12 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialStoreService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialStoreService.java
index eb878ef..9b10bb7 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialStoreService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialStoreService.java
@@ -2,15 +2,19 @@
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.example.erp.entity.mm.MaterialStore;
+import com.example.erp.entity.userInfo.Log;
 import com.example.erp.entity.userInfo.SysError;
 import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
+import com.example.erp.mapper.mm.MaterialInventoryMapper;
 import com.example.erp.mapper.mm.MaterialStoreMapper;
+import com.example.erp.service.userInfo.LogService;
 import com.example.erp.service.userInfo.SysErrorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.text.DecimalFormat;
 import java.util.*;
 
 @Service
@@ -20,15 +24,25 @@
     @Autowired
     MaterialStoreMapper materialStoreMapper;
     @Autowired
+    MaterialInventoryMapper materialInventoryMapper;
+    @Autowired
     BasicWarehouseTypeMapper basicWarehouseTypeMapper;
     @Autowired
     SysErrorService sysErrorService;
+    @Autowired
+    LogService logService;
 
-    public Boolean saveMaterialStore(Map<String,Object> object) {
-        boolean saveState = true;
+    public String saveMaterialStore(Map<String,Object> object) {
+        String saveState = "true";
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
             String id = "";
             String type = "";
             String json = "";
+            double width = 0.0;
+            double height = 0.0;
+            double singlePieceArea=0.0;
             if (object.get("id") != null) {
                 id = object.get("id").toString();
             }
@@ -38,12 +52,47 @@
             if (object.get("json") != null) {
                 json = object.get("json").toString();
             }
-            if(Long.parseLong(id)>0){
-                materialStoreMapper.updateMaterialStore(type,json, Long.valueOf(id));
-            }else{
-                materialStoreMapper.insertMaterialStore(type,json);
+            if (object.get("width") != null) {
+                width = Double.parseDouble(object.get("width").toString());
+            }
+            if (object.get("height") != null) {
+                height = Double.parseDouble(object.get("height").toString());
             }
 
+            Log log = new Log();
+            log.setOperatorId(object.get("userId").toString());
+            log.setOperator(object.get("userName").toString());
+            log.setContent(object.toString());
+
+            DecimalFormat decimalFormat = new DecimalFormat("#0.00");
+            singlePieceArea= Double.parseDouble(decimalFormat.format(width * height / 100000));
+            Integer jsonCount=materialStoreMapper.selectMaterialStoreJson(json);
+            if(jsonCount==0){
+                if(Long.parseLong(id)>0){
+                    materialStoreMapper.updateMaterialStore(type,json, Long.valueOf(id));
+                    if (Objects.equals(type, "鍘熺墖")){
+                        materialInventoryMapper.updateMaterialInventoryArea(Long.valueOf(id),singlePieceArea);
+                    }
+                    log.setFunction("saveMaterialStore淇敼");
+                }else{
+                    materialStoreMapper.insertMaterialStore(type,json);
+                    log.setFunction("saveMaterialStore鏂板");
+                }
+            }else{
+                saveState = "false1";
+            }
+            logService.saveLog(log);
+
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("saveMaterialStore");
+            sysErrorService.insert(sysError);
+            saveState = "false";
+
+        }
         return saveState;
 
     }
@@ -57,8 +106,16 @@
         return map;
     }
 
-    public Boolean deleteMaterialStore(Map<String,Object> object) {
-        boolean saveState = true;
+    public Map<String, Object> getSelectMaterialStores(MaterialStore materialStore) {
+
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", materialStoreMapper.getSelectMaterialStores(materialStore));
+        return map;
+    }
+
+    public String deleteMaterialStore(Map<String,Object> object) {
+        String saveState = "true";
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
         try {
@@ -67,8 +124,20 @@
                 id = object.get("id").toString();
             }
             if(id!=null){
-                materialStoreMapper.deleteMaterialStore(Long.valueOf(id));
+                Integer materialCount=materialStoreMapper.selectMaterialStore(Long.valueOf(id));
+                if(materialCount==0){
+                    materialStoreMapper.deleteMaterialStore(Long.valueOf(id));
+                }else{
+                    saveState="false1";
+                }
+
             }
+            Log log = new Log();
+            log.setOperatorId(object.get("userId").toString());
+            log.setOperator(object.get("userName").toString());
+            log.setContent(object.toString());
+            log.setFunction("deleteMaterialStore鍒犻櫎锛�"+id);
+            logService.saveLog(log);
 
 
 
@@ -76,10 +145,10 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("deleteMaterialStore");
             sysErrorService.insert(sysError);
-            saveState = false;
+            saveState = "false";
 
         }
         return saveState;

--
Gitblit v1.8.0