From d809ecd16cbb23f5aad86a6844f51ffea0455fe8 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 06 九月 2024 16:53:55 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java |  171 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 139 insertions(+), 32 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 ff634d8..a76a23c 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
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.example.erp.entity.mm.*;
+import com.example.erp.entity.pp.FlowCard;
 import com.example.erp.entity.pp.OptimizeUse;
 import com.example.erp.entity.sd.Delivery;
 import com.example.erp.entity.sd.DeliveryDetail;
@@ -73,6 +74,7 @@
                 }
                 //鍒犻櫎鏉愭枡鍑哄簱鏄庣粏鐨勬暟鎹�
                 materialInventoryMapper.deleteMaterialOutboundDetail(materialOutboundId);
+                materialInventoryMapper.updateMaterialOutbound(materialOutbound, materialOutboundId);
                 oddNumber = materialOutboundId;
             } else {
                 //鑾峰彇鍗曞彿
@@ -108,8 +110,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("saveMaterialOutbound");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -120,28 +122,41 @@
 
     public Boolean saveMaterialInventory(Map<String,Object> object) {
         boolean saveState = true;
-        Double singlePieceArea = 0.0;
-        Double totalArea = 0.0;
-        Long materialCode = 0L;
-        if (object.get("singlePieceArea") != null) {
-            singlePieceArea = Double.valueOf(object.get("singlePieceArea").toString());
-        }
-        if (object.get("totalArea") != null) {
-            totalArea = Double.valueOf(object.get("totalArea").toString());
-        }
-        if (object.get("materialCode") != null) {
-            materialCode = Long.valueOf(object.get("materialCode").toString());
-        }
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+            Double singlePieceArea = 0.0;
+            Double totalArea = 0.0;
+            Long materialCode = 0L;
+            if (object.get("singlePieceArea") != null) {
+                singlePieceArea = Double.valueOf(object.get("singlePieceArea").toString());
+            }
+            if (object.get("totalArea") != null) {
+                totalArea = Double.valueOf(object.get("totalArea").toString());
+            }
+            if (object.get("materialCode") != null) {
+                materialCode = Long.valueOf(object.get("materialCode").toString());
+            }
 
-        MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
+            MaterialInventory materialInventory = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), MaterialInventory.class);
 
-        //鏌ヨ鐗╂枡鏄惁瀛樺湪
-        Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
+            //鏌ヨ鐗╂枡鏄惁瀛樺湪
+            Integer MaterialInventoryCount = materialInventoryMapper.getMaterialInventoryCount(materialCode,materialInventory.getDateOfManufacture());
 
-        if(MaterialInventoryCount>0){
-            materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
-        }else {
-            materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+            if(MaterialInventoryCount>0){
+                materialInventoryMapper.updateMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+            }else {
+                materialInventoryMapper.insertMaterialInventory(materialCode,singlePieceArea,totalArea,materialInventory);
+            }
+        } 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;
 
@@ -238,8 +253,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("deleteMaterialOutbound");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -338,8 +353,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("updateMaterialOutboundToExamine");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -354,11 +369,12 @@
         boolean saveState = true;
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
-        String returningId = "";
-        String oddNumber;
-        if (object.get("returningId") != null) {
-            returningId = object.get("returningId").toString();
-        }
+        try {
+            String returningId = "";
+            String oddNumber;
+            if (object.get("returningId") != null) {
+                returningId = object.get("returningId").toString();
+            }
             ReturningWarehouse returningWarehouse = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), ReturningWarehouse.class);
             List<ReturningWarehouseDetail> returningWarehouseDetailList = JSONArray.parseArray(JSONObject.toJSONString(object.get("returningWarehouseDetail")), ReturningWarehouseDetail.class);
             //鏌ヨ鍑哄簱鍗曟槸鍚﹀瓨鍦�
@@ -440,7 +456,16 @@
 
             }
 
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("saveReturningWarehouse");
+            sysErrorService.insert(sysError);
+            saveState = false;
 
+        }
         return saveState;
 
     }
@@ -499,8 +524,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("updateReturningWarehouseToExamine");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -534,6 +559,88 @@
         return map;
     }
 
+    public Map<String, Object> getSelectSurplusMaterialsDate(Integer pageNum, Integer pageSize, List<String> selectDate, SurplusMaterials surplusMaterials) {
+        Integer offset = (pageNum - 1) * pageSize;
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", materialInventoryMapper.getSelectSurplusMaterialsDate(offset, pageSize,startDate, endDate, surplusMaterials));
+        map.put("total", materialInventoryMapper.getSelectSurplusMaterialsDatePageTotal(offset, pageSize,startDate, endDate, surplusMaterials));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
+        return map;
+    }
+
+    public Boolean addSelectSurplusMaterialsDate(Map<String,Object> object) {
+        boolean saveState = true;
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+
+            String creator = "";
+            if (object.get("creator") != null) {
+                creator = object.get("creator").toString();
+            }
+            String type = "";
+            if (object.get("type") != null) {
+                type = object.get("type").toString();
+            }
+            int state = 0;
+            if (object.get("state") != null) {
+                state = Integer.parseInt(object.get("state").toString());
+            }
+
+
+            if(state==1){
+                SurplusMaterials surplusMaterials = JSONObject.parseObject(JSONObject.toJSONString(object.get("surplusMaterials")), SurplusMaterials.class);
+                if(surplusMaterials!=null){
+                    SurplusMaterials surplusMaterials1=materialInventoryMapper.selectSurplusMaterialsCount(surplusMaterials);
+                    if(surplusMaterials1!=null){
+                        System.out.println(surplusMaterials1);
+                        materialInventoryMapper.updateSurplusMaterialsIntQuantity(surplusMaterials1);
+                        materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials1,creator,type);
+                    }else{
+                        materialInventoryMapper.insertSurplusMaterials(surplusMaterials);
+                        materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials,creator,type);
+                    }
+                }
+            } else if (state==2) {
+                List<SurplusMaterials> surplusMaterialsList = JSONArray.parseArray(JSONObject.toJSONString(object.get("surplusMaterials")), SurplusMaterials.class);
+                if(!surplusMaterialsList.isEmpty()){
+                    for(SurplusMaterials surplusMaterials:surplusMaterialsList){
+                        materialInventoryMapper.updateSurplusMaterialsOutQuantity(surplusMaterials);
+                        materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials,creator,type);
+                    }
+
+                }
+            }
+
+
+
+        return saveState;
+
+
+
+    }
+
+    public Map<String, Object> printCreateOutbound(String materialOutboundId) {
+        Map<String, Object> map = new HashMap<>();
+        map.put("createOutbound", materialInventoryMapper.getPrintCreateOutbound(materialOutboundId));
+        map.put("createOutboundDetail", materialInventoryMapper.getPrintCreateOutboundDetail(materialOutboundId));
+        return map;
+    }
+
+
+
 
 
     public String orderNumberSetting(String type) {

--
Gitblit v1.8.0