From bed74a0c68230ff5385eeb4c0726c83c84a01d9b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 17 九月 2025 08:53:05 +0800
Subject: [PATCH] 玻璃料架修改

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java |   93 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 78 insertions(+), 15 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 b5e2954..86fc231 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
@@ -199,13 +199,15 @@
 
             MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
 
-
+            if(materialInventory.getProducer()==null){
+                materialInventory.setProducer("");
+            }
             //鏌ヨ鐗╂枡鏄惁瀛樺湪
             List<MaterialInventory> MaterialInventoryCount;
             if (materialInventory.getDateOfManufacture()!=null){
-                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture(),materialInventory.getProducer());
             }else{
-                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialCode);
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialCode,materialInventory.getProducer());
             }
 
             if(MaterialInventoryCount.size()==1){
@@ -601,12 +603,15 @@
                     totalArea= Double.parseDouble(decimalFormat.format(singlePieceArea * returningWarehouseDetail.getReturnQuantity()));
 
 
+                    if(returningWarehouseDetail.getProducer()==null){
+                        returningWarehouseDetail.setProducer("");
+                    }
                     //鏌ヨ鐗╂枡鏄惁瀛樺湪
                     List<MaterialInventory> MaterialInventoryCount;
                     if (returningWarehouseDetail.getDateOfManufacture()!=null){
-                        MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(returningWarehouseDetail.getId(),returningWarehouseDetail.getDateOfManufacture());
+                        MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(returningWarehouseDetail.getId(),returningWarehouseDetail.getDateOfManufacture(),returningWarehouseDetail.getProducer());
                     }else{
-                        MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(returningWarehouseDetail.getId());
+                        MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(returningWarehouseDetail.getId(),returningWarehouseDetail.getProducer());
                     }
 
 
@@ -624,9 +629,9 @@
                     //鑾峰彇搴撳瓨缂栧彿娣诲姞鍒拌繑搴撴槑缁嗚〃
                     List<MaterialInventory> MaterialInventoryId;
                     if (returningWarehouseDetail.getDateOfManufacture()!=null){
-                        MaterialInventoryId = materialInventoryMapper.getMaterialInventoryCountId(returningWarehouseDetail.getId(),returningWarehouseDetail.getDateOfManufacture());
+                        MaterialInventoryId = materialInventoryMapper.getMaterialInventoryCountId(returningWarehouseDetail.getId(),returningWarehouseDetail.getDateOfManufacture(),returningWarehouseDetail.getProducer());
                     }else{
-                        MaterialInventoryId = materialInventoryMapper.getMaterialInventoryCountNullId(returningWarehouseDetail.getId());
+                        MaterialInventoryId = materialInventoryMapper.getMaterialInventoryCountNullId(returningWarehouseDetail.getId(),returningWarehouseDetail.getProducer());
                     }
                     materialInventoryMapper.updateReturningWarehouseDetail(oddNumber, returningWarehouseDetailMaximum + 1,MaterialInventoryId.get(0).getId());
 
@@ -1040,20 +1045,25 @@
             if (!materialLoglist.isEmpty()){
                 for (MaterialLog materialLog : materialLoglist) {
 
+                    if(materialLog.getProducer()==null){
+                        materialLog.setProducer("");
+                    }
                     //鏌ヨ鐗╂枡鏄惁瀛樺湪
                     List<MaterialInventory> MaterialInventoryList;
                     if (materialLog.getOperationOrderNumber()!=null){
-                        MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCount(materialLog.getMaterialCode(), LocalDate.parse(materialLog.getOperationOrderNumber()));
+                        MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCount(materialLog.getMaterialCode(), LocalDate.parse(materialLog.getOperationOrderNumber()),materialLog.getProducer());
                     }else{
-                        MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCountNull(materialLog.getMaterialCode());
+                        MaterialInventoryList = materialInventoryMapper.getMaterialInventoryCountNull(materialLog.getMaterialCode(),materialLog.getProducer());
                     }
 
                     if(MaterialInventoryList.size()==1){
                         if(MaterialInventoryList.get(0).getAvailableQuantity()>=materialLog.getQuantity()){
                             if (materialLog.getOperationOrderNumber()!=null){
-                                materialInventoryMapper.updateMaterialInventoryOut(materialLog.getMaterialCode(),materialLog.getQuantity(),materialLog.getOperationOrderNumber());
+                                materialInventoryMapper.updateMaterialInventoryOut(materialLog.getMaterialCode(),materialLog.getQuantity(),
+                                        materialLog.getOperationOrderNumber(),materialLog.getProducer());
                             }else{
-                                materialInventoryMapper.updateMaterialInventoryNullOut(materialLog.getMaterialCode(),materialLog.getQuantity());
+                                materialInventoryMapper.updateMaterialInventoryNullOut(materialLog.getMaterialCode(),materialLog.getQuantity(),
+                                        materialLog.getProducer());
                             }
                             materialInventoryMapper.deleteMaterialLogById(materialLog.getId());
                         }else{
@@ -1108,10 +1118,8 @@
         return map;
     }
 
-    public Map<String, Object> mesOriginalSelect() {
-        Map<String, Object> map = new HashMap<>();
-        map.put("originalList", materialInventoryMapper.getSelectMaterialInventoryMes());
-        return map;
+    public List<Map<String,Object>> mesOriginalSelect() {
+        return  materialInventoryMapper.getSelectMaterialInventoryMes();
     }
 
     public String saveToExamineMaterialOutbound(Map<String,Object> object) {
@@ -1244,4 +1252,59 @@
 
     }
 
+
+    public String updateMaterialInventory(Map<String,Object> object) {
+        String saveState = "true";
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+
+            long materialInventoryId = 0L;
+            if (object.get("materialInventoryId") != null) {
+                materialInventoryId = Long.parseLong(object.get("materialInventoryId").toString());
+            }
+            Log log = new Log();
+            log.setOperatorId(object.get("userId").toString());
+            log.setOperator(object.get("userName").toString());
+            log.setContent(object.toString());
+            log.setFunction("updateMaterialInventory鐗╂枡搴撳瓨淇敼");
+            MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
+
+            if(materialInventory.getProducer()==null){
+                materialInventory.setProducer("");
+            }
+            //鏌ヨ鐗╂枡鏄惁瀛樺湪
+            List<MaterialInventory> MaterialInventoryCount;
+            if (materialInventory.getDateOfManufacture()!=null){
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialInventory.getMaterialCode(),materialInventory.getDateOfManufacture(),materialInventory.getProducer());
+            }else{
+                MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCountNull(materialInventory.getMaterialCode(),materialInventory.getProducer());
+            }
+
+            if(MaterialInventoryCount.size()==1){
+                materialInventoryMapper.updateMaterialInventoryOne(MaterialInventoryCount.get(0).getId(),materialInventory);
+                List<Long> id=new ArrayList<>();
+                id.add(materialInventoryId);
+                materialInventoryMapper.deleteMaterialInventory(id);
+            }else{
+                materialInventoryMapper.updateMaterialInventoryAll(materialInventoryId,materialInventory);
+            }
+
+
+
+            logService.saveLog(log);
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("saveMaterialInventory");
+            sysErrorService.insert(sysError);
+            saveState = "false";
+
+        }
+        return saveState;
+
+    }
+
 }

--
Gitblit v1.8.0