From 93b80ffb7f7ffc02bc414271b8ebeac82be6bcb9 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期一, 11 十一月 2024 16:29:00 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java |   65 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 8 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
index a003617..41cb646 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
@@ -164,8 +164,8 @@
 
     }
 
-    public Boolean saveMaterialInventory(Map<String,Object> object) {
-        boolean saveState = true;
+    public String saveMaterialInventory(Map<String,Object> object) {
+        String saveState = "true";
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
         try {
@@ -188,15 +188,27 @@
 
             MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
 
-            //鏌ヨ鐗╂枡鏄惁瀛樺湪
-            Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
 
-            if(MaterialInventoryCount>0){
-                materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+            //鏌ヨ鐗╂枡鏄惁瀛樺湪
+            Integer MaterialInventoryCount=0;
+            if (materialInventory.getDateOfManufacture()!=null){
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
+            }else{
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialCode);
+            }
+
+            if(MaterialInventoryCount==1){
+                if (materialInventory.getDateOfManufacture()!=null){
+                    materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+                }else{
+                    materialInventoryMapper.updateMaterialInventoryNull(materialCode,singlePieceArea,totalArea,materialInventory);
+                }
                 log.setFunction("saveMaterialInventory淇敼");
-            }else {
+            }else if(MaterialInventoryCount==0) {
                 materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
                 log.setFunction("saveMaterialInventory鏂板");
+            }else {
+                return "false1";
             }
 
             String json="";
@@ -227,7 +239,7 @@
             sysError.setError(e+Arrays.toString(e.getStackTrace()));
             sysError.setFunc("saveMaterialInventory");
             sysErrorService.insert(sysError);
-            saveState = false;
+            saveState = "false";
 
         }
         return saveState;
@@ -317,6 +329,7 @@
             if(materialOutboundId!=null){
                 materialInventoryMapper.deleteMaterialOutboundDetail(materialOutboundId);
                 materialInventoryMapper.deleteMaterialOutbound(materialOutboundId);
+                materialInventoryMapper.deleteMaterialLog(materialOutboundId);
             }
             Log log = new Log();
             log.setContent(object.toString());
@@ -340,6 +353,42 @@
 
     }
 
+    public Boolean deleteReturnToStorage(Map<String,Object> object) {
+        boolean saveState = true;
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+            String returningId = "";
+            if (object.get("returningId") != null) {
+                returningId = object.get("returningId").toString();
+            }
+            if(returningId!=null){
+                materialInventoryMapper.deleteReturningWarehouseDetail(returningId);
+                materialInventoryMapper.deleteReturningWarehouse(returningId);
+                materialInventoryMapper.deleteMaterialLog(returningId);
+            }
+            Log log = new Log();
+            log.setContent(object.toString());
+            log.setOperatorId(object.get("userId").toString());
+            log.setOperator(object.get("userName").toString());
+            log.setFunction("deleteReturnToStorage:"+returningId);
+            logService.saveLog(log);
+
+
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("deleteMaterialOutbound");
+            sysErrorService.insert(sysError);
+            saveState = false;
+
+        }
+        return saveState;
+
+    }
+
     public Map<String, Object> getSelectMaterialOutboundDate(Integer pageNum, Integer pageSize, List<String> selectDate, MaterialOutbound materialOutbound) {
         Integer offset = (pageNum - 1) * pageSize;
         String endDate = LocalDate.now().toString();

--
Gitblit v1.8.0