From 607e62cd6ec91d53bac549299d986c23e5143d28 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期三, 31 五月 2023 15:06:47 +0800
Subject: [PATCH] 出入库优化-称重相关方法

---
 igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java |  149 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 92 insertions(+), 57 deletions(-)

diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
index 4df6212..3cc0bcb 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -11,6 +11,9 @@
 import com.ld.igds.inout.InoutConstant;
 import com.ld.igds.inout.dto.InoutData;
 import com.ld.igds.inout.dto.InoutParam;
+import com.ld.igds.inout.dto.InoutCheckData;
+import com.ld.igds.inout.dto.InoutCheckParam;
+import com.ld.igds.inout.mapper.InoutCheckMapper;
 import com.ld.igds.inout.mapper.InoutRecordMapper;
 import com.ld.igds.inout.service.InoutService;
 import com.ld.igds.io.constant.OrderRespEnum;
@@ -38,6 +41,8 @@
 
     @Resource
     private InoutRecordMapper inoutMapper;
+    @Resource
+    private InoutCheckMapper inoutCheckMapper;
     @Resource
     private RedisUtil redisUtil;
     @Resource
@@ -118,59 +123,44 @@
 
     @Override
     public String insertData(InoutData data) {
+        try {
+            data.setUpdateTime(new Date());
 
-        if (StringUtils.isEmpty(data.getCompanyId())) {
-            data.setCompanyId(ContextUtil.getCompanyId());
-        }
+            if (null == data.getDeptId()) {
+                data.setDeptId(ContextUtil.subDeptId(null));
+            }
 
-        // 鑾峰彇褰撳墠浠撳簱鐨勫疄闄呭簱瀛�
-        if (StringUtils.isNotEmpty(data.getDepotId())) {
-            if (null == data.getFoodYear() || null == data.getFoodType()) {
-                Depot depot = commonService.getCacheDepot(data.getCompanyId(), data.getDepotId());
-                if (null == data.getFoodYear()) {
-                    data.setFoodYear(depot.getFoodYear());
-                }
-                if (null == data.getFoodType()) {
-                    data.setFoodType(depot.getFoodType());
+            String id = this.createId(data.getRegisterTime(), data.getCompanyId());
+            if (StringUtils.isEmpty(data.getId())) {
+                if (InoutConstant.TYPE_IN.equals(data.getType())) {
+                    data.setId("R_" + id);
+                } else if (InoutConstant.TYPE_OUT.equals(data.getType())) {
+                    data.setId("C_" + id);
+                } else if (Constant.LOSS_OVER_OVER.equals(data.getType())) {
+                    data.setId("R_" + id);
+                } else if (Constant.LOSS_OVER_LOSS.equals(data.getType())) {
+                    data.setId("C_" + id);
+                } else {
+                    data.setId("M_" + id);
                 }
             }
-        }
-
-        if (null == data.getRegisterTime()) {
-            data.setRegisterTime(new Date());
-        }
-
-        String id = this.createId(data.getRegisterTime(), data.getCompanyId());
-
-        if (StringUtils.isEmpty(data.getId())) {
-            if (InoutConstant.TYPE_IN.equals(data.getType())) {
-                data.setId("R_" + id);
-            } else if (InoutConstant.TYPE_OUT.equals(data.getType())) {
-                data.setId("C_" + id);
-            } else if (Constant.LOSS_OVER_OVER.equals(data.getType())) {
-                data.setId("R_" + id);
-            } else if (Constant.LOSS_OVER_LOSS.equals(data.getType())) {
-                data.setId("C_" + id);
-            } else {
-                data.setId("M_" + id);
+            if (StringUtils.isEmpty(data.getCheckId())) {
+                data.setCheckId(id);
             }
-        }
-        if (StringUtils.isEmpty(data.getCheckId())) {
-            data.setCheckId(id);
-        }
-        if (null == data.getDeptId()) {
-            data.setDeptId(ContextUtil.subDeptId(null));
-        }
-        if (null == data.getUserName()) {
-            data.setUserName("");
-        }
 
-        inoutMapper.insertData(data);
+            if (null == data.getUserName()) {
+                data.setUserName("");
+            }
 
-        // 濡傛灉涓嶆槸鎵嬪姩琛ュ綍鐨勬暟鎹紝娣诲姞鍒扮紦瀛樹腑
-        if (!InoutConstant.RECORD_STATUS_ADD.equals(data.getRecordStatus())) {
+            inoutMapper.insertData(data);
+
             this.addInoutCache(data);
+
+        } catch (Exception e) {
+            log.error("------------鍑哄叆搴撴墽琛屼繚瀛樺嚭閿�---{}", e);
+            return "鍚庡彴寮傚父锛�" + e.getMessage();
         }
+
         return null;
     }
 
@@ -234,9 +224,9 @@
 
         List<InoutData> records = inoutMapper.pageRecordData(page, param);
         //鍒ゆ柇鍏ュ簱閲嶉噺鏄惁涓虹┖锛屼负绌哄垯璧嬪�肩粨绠楅噸閲�
-        if(records != null){
+        if (records != null) {
             for (InoutData record : records) {
-                if(record.getRecordWeight() == null || record.getRecordWeight() == 0.0){
+                if (record.getRecordWeight() == null || record.getRecordWeight() == 0.0) {
                     record.setRecordWeight(record.getSettleWeight());
                 }
             }
@@ -567,14 +557,14 @@
         // 鑾峰彇涓婁竴杞︾殑娴佹按鏁版嵁
         InoutData inoutData = this.getLastRecord(data.getCompanyId(), data.getDepotId());
 
-        // 璁剧疆娴佹按鐨勫簱瀛�
-        if (InoutConstant.TYPE_IN.equals(inoutData.getType())) {
-            data.setCurStorage(inoutData.getCurStorage()
-                    + inoutData.getSettleWeight());
-        } else if (InoutConstant.TYPE_OUT.equals(inoutData.getType())) {
-            data.setCurStorage(inoutData.getCurStorage()
-                    - inoutData.getSettleWeight());
-        }
+//        // 璁剧疆娴佹按鐨勫簱瀛�
+//        if (InoutConstant.TYPE_IN.equals(inoutData.getType())) {
+//            data.setCurStorage(inoutData.getCurStorage()
+//                    + inoutData.getSettleWeight());
+//        } else if (InoutConstant.TYPE_OUT.equals(inoutData.getType())) {
+//            data.setCurStorage(inoutData.getCurStorage()
+//                    - inoutData.getSettleWeight());
+//        }
 
         // 娣诲姞琛ュ崟鏁版嵁
         this.insertData(data);
@@ -677,6 +667,11 @@
         return result.getNumValue1();
     }
 
+    @Override
+    public int checkExist(InoutParam param) {
+        return inoutMapper.checkExist(param);
+    }
+
     /**
      * 鏈畬鎴愭祦绋嬪瓨鍏ョ紦瀛�
      *
@@ -684,9 +679,7 @@
      * @param data
      */
     private void setInoutCache(String deptId, InoutData data) {
-        String key = this.buildInoutKey(deptId,
-                InoutConstant.KEY_INOUT_LIST, data.getType(), data.getId());
-
+        String key = this.buildInoutKey(deptId, InoutConstant.KEY_INOUT_LIST, data.getType(), data.getId());
         redisUtil.set(key, data, InoutConstant.KEY_INOUT_LIST_TIME);
     }
 
@@ -760,4 +753,46 @@
     public String buildInoutKey(String deptId, String key, String type, String bizId) {
         return Constant.APP_NAME + ":" + deptId + ":" + key + ":" + type + ":" + bizId;
     }
+
+    @Override
+    public Page<InoutCheckData> pageSampleData(InoutCheckParam param) {
+
+        //璁剧疆璧峰鍜屾埅姝㈡椂闂�
+        if (null != param.getStart()) {
+            param.setStart(DateUtil.getCurZero(param.getStart()));
+        }
+        if (null != param.getEnd()) {
+            param.setEnd(DateUtil.getNextZero(param.getEnd()));
+        }
+
+        // 璁剧疆杞︾墝鍜屾楠屽崟鎹殑妯$硦鏌ヨ
+        if (StringUtils.isNotEmpty(param.getPlateNum())) {
+            param.setPlateNum("%" + param.getPlateNum() + "%");
+        }
+        if (StringUtils.isNotEmpty(param.getCheckId())) {
+            param.setCheckId("%" + param.getCheckId() + "%");
+        }
+
+        Page<InoutCheckData> page = new Page<>(param.getPage(), param.getLimit());
+        page.setSearchCount(true);
+
+        List<InoutCheckData> records = inoutCheckMapper.pageSampleData(page, param);
+        page.setRecords(records);
+
+        return page;
+    }
+
+    @Override
+    public String updateSampleData(InoutData data) {
+        if (StringUtils.isEmpty(data.getCompanyId())) {
+            data.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(data.getDeptId())) {
+            data.setCompanyId(ContextUtil.subDeptId(null));
+        }
+
+        int num = inoutCheckMapper.updateSampleData(data);
+        return null;
+    }
+
 }

--
Gitblit v1.9.3