From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 03 九月 2024 16:52:49 +0800
Subject: [PATCH] 代码提交 bug解决

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesInfoServiceImpl.java |   30 ++++++++++++++++++++++--------
 1 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesInfoServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesInfoServiceImpl.java
index 8fcf25b..95ef577 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesInfoServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesInfoServiceImpl.java
@@ -127,9 +127,8 @@
                 res.setType(1);
             }
             this.save(res);
-            return inventoriesSupplies.getId().toString();
         }
-        return null;
+        return inventoriesSupplies.getId().toString();
     }
 
     @Override
@@ -153,14 +152,29 @@
             wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
             ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
             if (managementGoodsMaterials!=null){
-                long l = page.getZkNum() - page.getSuppliesNum();
-                if (l>0){
+                SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(managementGoodsMaterials.getGoodsMaterialsId());
+                if (slGoodsMaterials.getIsConsume() == 1){
+                    // 非消耗品
+                    long l = page.getZkNum() - page.getSuppliesNum();
+                    if (l>0){
+                        managementGoodsMaterials.setRepertoryZhai(page.getSuppliesNum());
+                        Integer repertoryYishi = managementGoodsMaterials.getRepertoryYishi();
+                        if (repertoryYishi!=null&& repertoryYishi!=0){
+                            managementGoodsMaterials.setRepertoryYishi(repertoryYishi+(Integer.valueOf(String.valueOf(l))));
+                        }else{
+                            managementGoodsMaterials.setRepertoryYishi(Integer.valueOf(String.valueOf(l)));
+                        }
+                    }else if (l<0){
+                        // 盘点数量大于在库数量 清零遗失数量
+                        managementGoodsMaterials.setRepertoryZhai(page.getSuppliesNum());
+                        managementGoodsMaterials.setRepertoryYishi(0);
+                    }
+                    managementGoodsMaterials.setCheckNum(Integer.valueOf(String.valueOf(page.getSuppliesNum())));
+                    managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
+                }else{
+                    // 消耗品不计算遗失 更新在库数量即可
                     managementGoodsMaterials.setRepertoryZhai(page.getSuppliesNum());
-                }else if (l<0){
-                    managementGoodsMaterials.setRepertoryYishi(Integer.valueOf(String.valueOf(l)));
                 }
-                managementGoodsMaterials.setCheckNum(Integer.valueOf(String.valueOf(page.getSuppliesNum())));
-                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
             }
         }
 

--
Gitblit v1.7.1