24282 hace 2 años
padre
commit
c5fe9360c0

+ 13 - 23
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockCheckrecordServiceImpl.java

@@ -98,26 +98,22 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
         List<String> rfidList = map.remove(stockHouseId);
 
         ArrayList<String> copyRfidList = new ArrayList<>(rfidList);
-        List<String> excludeRfidCodeList = new ArrayList<>();
 
-        if (rfidList.size() > 0) {
-            List<Map<String, Object>> list = stockDetailService.listMaps(Wrappers.<StockDetail>query()
-                    .ge("ExpiredDt", date)
-                    .select("RfidCode rfidCode")
-            );
-
-            excludeRfidCodeList = list.stream().map(item -> Convert.toStr(item.get("rfidCode"))).collect(Collectors.toList());
+        // 默认在库rfid
+        List<Map<String, Object>> inHouseList = stockDetailService.listMaps(Wrappers.<StockDetail>query()
+                .select("RfidCode rfidCode"));
 
-            for (Map<String, Object> map : list) {
-                rfidList.remove(Convert.toStr(map.get("rfidCode")));
+        for (Map<String, Object> map : inHouseList) {
+            String rfidCode = Convert.toStr(map.get("rfidCode"));
+            if (!rfidList.contains(rfidCode)) {
+                rfidList.add(rfidCode);
             }
         }
 
-        log.error("\r\n盘点结束:\r\n扫描仓库:{}\r\n扫描到的rfid:{},\r\n排除的rfid:{},\r\n排除之后的rfid:{}",
-                stockHouseId.equals("c185883dba22478cb593d33f6b66cc53") ? "一楼仓库" : "四楼仓库",
+        log.error("\r\n盘点结束:\r\n扫描仓库:{}\r\n扫描到的rfid:{},\r\n添加默认在库后的rfid:{}",
+                (stockHouseId.equals("c185883dba22478cb593d33f6b66cc53") ? "一楼仓库" : "四楼仓库") + stockHouseId,
                 JSONObject.toJSONString(copyRfidList),
-                JSONObject.toJSONString(excludeRfidCodeList),
-                rfidList
+                JSONObject.toJSONString(rfidList)
         );
 
         // 添加盘点记录
@@ -143,7 +139,6 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
                         "sum(Quantity) quantity" // 库存数量
                 )
                 .eq("StockHouseId", stockHouseId) // 对应仓库id
-                .lt("ExpiredDt", date) // 排除确认在库的标签
                 .eq("IsDelete", "0") // 未删除
                 .groupBy("MaterialCode") // 物料编码分组
         );
@@ -187,12 +182,7 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
             // 获取此物料库存信息,并删除map中的物料信息
             Map<String, Object> stock = stockMap.remove(materialCode);
 
-            // 无库存信息
-            if (stock == null) {
-                // 添加异常,扫描出rfid,但库存没有
-//                list.add(createStockCheckrecorddetail(
-//                        date, recordId, stockHouseId, materialCode, BigDecimal.ZERO, quantity, 0, count));
-            } else {
+            if (stock != null) {
                 // 库存卷数
                 int stockCount = Convert.toInt(stock.get("count"), 0);
                 // 库存数量
@@ -200,8 +190,8 @@ public class StockCheckrecordServiceImpl extends ServiceImpl<StockCheckrecordMap
 
                 // 库存卷数大于扫描卷数
                 if (stockCount > count) {
-                    list.add(createStockCheckrecorddetail(
-                            date, recordId, stockHouseId, materialCode, stockQuantity, quantity, stockCount, count));
+                    StockCheckrecorddetail stockCheckrecorddetail = createStockCheckrecorddetail(date, recordId, stockHouseId, materialCode, stockQuantity, quantity, stockCount, count);
+                    list.add(stockCheckrecorddetail);
                 }
 
             }