From 98bcd061526cad604a83241cc94994e1e225982a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 10 二月 2025 09:21:03 +0800
Subject: [PATCH] 库存明细统计增加车间,树脂类型搜索框,默认统计库存状态为(已入库+部分出库+待出库),库存重量为0不显示记录

---
 src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
index 85be991..bd496c1 100644
--- a/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PlaServiceImpl.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
+import com.core.common.DateUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.Pla;
@@ -28,8 +29,8 @@
     @Autowired
     private PlaQtyService plaQtyService;
 
-    public Pla selectByBatchAndPackageNo(String batch, Integer packageNo) {
-        return this.selectOne(new EntityWrapper<Pla>().eq("batch",batch).eq("package_no",packageNo));
+    public Pla selectByBatchAndPackageNo(String batch, Integer packageNo, String brand) {
+        return this.selectOne(new EntityWrapper<Pla>().eq("batch",batch).eq("package_no",packageNo).eq("brand",brand).eq(false,"status","鍏ㄩ儴鍑哄簱"));
     }
 
     @Override
@@ -92,13 +93,15 @@
     }
 
     //閫�鍥�
+    @Transactional
     public void returned(List<PlaQty> plaQties, User user) {
         plaQties.forEach(plaQty -> {
             PlaQty plaQtyOut = plaQtyService.selectById(plaQty.getId());
-            if(Cools.isEmpty(plaQtyOut.getReturned())){
+            if(Cools.isEmpty(plaQtyOut.getReturned()) || plaQtyOut.getReturned() == 0){
                 plaQtyOut.setReturned(plaQty.getOrderWeight());
             }else {
-                plaQtyOut.setReturned(plaQty.getOrderWeight()+plaQtyOut.getReturned());
+                throw new CoolException("璇ュ寘鐗╂枡宸查��鍥�");
+                //plaQtyOut.setReturned(plaQty.getOrderWeight()+plaQtyOut.getReturned());
             }
             plaQtyService.updateById(plaQtyOut);
 
@@ -109,6 +112,7 @@
             plaQtyReturned.setLocNo(plaQtyOut.getLocNo());
             plaQtyReturned.setOrderNo(plaQtyOut.getOrderNo());
             plaQtyReturned.setPakoutTime(Utils.getDateStr(new Date()));
+            plaQtyReturned.setBrand(plaQty.getBrand());
             plaQtyReturned.setOrderWeight(plaQty.getOrderWeight());
             plaQtyReturned.setTransfer("閫�鍥炲叆搴�");
             plaQtyReturned.setHandlerBy(user.getUsername());
@@ -117,7 +121,7 @@
             plaQtyService.insert(plaQtyReturned);
 
             //鐩存帴鏇存柊pla鐨勫簱瀛�
-            Pla pla = this.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo());
+            Pla pla = this.selectByBatchAndPackageNo(plaQty.getBatch(), plaQty.getPackageNo(),plaQty.getBrand());
             //pla.setStatus(GlobleParameter.PLA_STATUS_0);
             pla.setModifyTime(new Date());
 
@@ -125,7 +129,8 @@
             pla.setStatus(GlobleParameter.PLA_STATUS_1);
             this.updateById(pla);
 
-            SaasUtils.insertLog(0,pla.getLocNo(),pla.getBrand(),plaQty.getOrderWeight(),user.getUsername(),null,pla.getBatch(),pla.getPackageNo());
+            SaasUtils.insertLog(0,pla.getLocNo(),pla.getBrand(),plaQty.getOrderWeight(),user.getUsername(),
+                    null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null);
 
         });
     }
@@ -152,12 +157,33 @@
     @Override
     public Page<Pla> getStockStatisAll(Page<Pla> page) {
 
-        if(Cools.isEmpty(page.getCondition().get("brand"))){
-            page.setRecords(baseMapper.getStockStatisAll());
-        }else {
-            page.setRecords(baseMapper.getStockStatisAllByBrand(page.getCondition().get("brand").toString()));
-        }
+        List<Pla> plaList;
+        Date stime = null;
+        Date etime = null;
+        Object create_time = page.getCondition().get("create_time");
+        Object brand = page.getCondition().get("brand");
+        Object status = page.getCondition().get("status");
+        String type = (String) page.getCondition().get("type");
+        String workshop = (String) page.getCondition().get("workshop");
 
+        String createTime = create_time == null ? null : create_time.toString();
+        if(!Cools.isEmpty(createTime)){
+            String[] dates = createTime.split(" - ");
+            stime = DateUtils.convert(dates[0]);
+            etime = DateUtils.convert(dates[1]);
+        }
+        plaList=baseMapper.getStockStatisAll(brand == null ? null:brand.toString(), status == null ? null:status.toString(),  stime,etime, type, workshop);
+
+        double weightSum = plaList.stream().mapToDouble(Pla::getWeight).sum();
+
+        // 鏈�鍚庝竴鏉¤褰曚粎渚涘悎璁¢噸閲忎俊鎭睍绀�
+        Pla pla = new Pla();
+        pla.setBrand("鍚堣");
+        pla.setMatnr("");
+        pla.setWeight(weightSum);
+        plaList.add(pla);
+
+        page.setRecords(plaList);
         page.setTotal(0);
         return page;
     }

--
Gitblit v1.9.1