From 1117418aaaba5a8bce27bac222ac21fe68cff960 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 21 五月 2025 10:03:23 +0800
Subject: [PATCH] 消息提醒加两个字段

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java |   84 ++++++++++++++++++++++++++++++++---------
 1 files changed, 65 insertions(+), 19 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
index 83eaf1d..e37c5f2 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/WarehouseServiceImpl.java
@@ -1,5 +1,7 @@
 package com.yuanchu.mom.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.dto.HistoryDto;
@@ -20,6 +22,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
 * @author Administrator
@@ -43,7 +46,11 @@
 
     private InsSampleMapper insSampleMapper;
 
+    private InsOrderStateMapper insOrderStateMapper;
+
     private InsProductMapper insProductMapper;
+
+    private InsOrderMapper insOrderMapper;
 
     @Override
     public int addWarehouse(String name) {
@@ -98,27 +105,62 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int upShelf(WarehouseShelf warehouseShelf) {
-        warehouseCellMapper.update(null, Wrappers.<WarehouseCell>lambdaUpdate()
-                .eq(WarehouseCell::getShelfId, warehouseShelf.getWarehouseId())
-                .gt(WarehouseCell::getRow, warehouseShelf.getRow())
-                .gt(WarehouseCell::getCol, warehouseShelf.getCol())
-                .set(WarehouseCell::getState, 0));
+        WarehouseShelf shelf = warehouseShelfMapper.selectById(warehouseShelf.getId());
+        if (shelf.getCol()>=warehouseShelf.getCol() && shelf.getRow() >= warehouseShelf.getRow()) {
+            //濡傛灉缁存姢鐨勬暟鎹皬浜庡師鏈夌殑琛屽垪鏁板彲浠ヨ繘琛屼慨鏀�
+            warehouseCellMapper.update(null, Wrappers.<WarehouseCell>lambdaUpdate()
+                    .eq(WarehouseCell::getShelfId, warehouseShelf.getId())
+                    .and(true, wrapper -> wrapper.gt(WarehouseCell::getRow, warehouseShelf.getRow())
+                            .or()
+                            .gt(WarehouseCell::getCol, warehouseShelf.getCol()))
+                    .set(WarehouseCell::getState, 0));
+        }else {
+            //濡傛灉缁存姢鐨勬暟鎹ぇ浜庡師鏈夌殑琛屽垪鏁伴渶瑕佽繘琛岄澶栨坊鍔�
+            List<WarehouseCell> cells = new ArrayList<>();
+            for (int i = 1; i < warehouseShelf.getRow() + 1; i++) {
+                for (int a = 1; a < warehouseShelf.getCol() + 1; a++) {
+                    WarehouseCell cell = new WarehouseCell();
+                    cell.setRow(i);
+                    cell.setCol(a);
+                    cell.setState(1);
+                    cell.setShelfId(warehouseShelf.getId());
+                    WarehouseCell warehouseCell = warehouseCellMapper.selectOne(Wrappers.<WarehouseCell>lambdaQuery()
+                            .eq(WarehouseCell::getShelfId, warehouseShelf.getId())
+                            .eq(WarehouseCell::getRow, i)
+                            .eq(WarehouseCell::getCol, a));
+                    if (ObjectUtils.isNotEmpty(warehouseCell)){
+                        cell.setId(warehouseCell.getId());
+                    }
+                    cells.add(cell);
+                }
+            }
+            warehouseCellService.saveOrUpdateBatch(cells);
+        }
         warehouseShelfMapper.updateById(warehouseShelf);
         return 0;
     }
 
     @Override
-    public List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId) {
-        return warehouseCellMapper.getWarehouse(shelfId);
+    public List<WarehouseCellAndSampleDto> getWarehouse(Integer shelfId,String sampleCode) {
+        return warehouseCellMapper.getWarehouse(shelfId,sampleCode);
     }
 
     @Override
-    public int inWarehouse(String trees, String sampleCode) {
+    public int inWarehouse(String trees, String sampleCode,String entrustCode) {
         String[] tree = trees.split("-");
         if(tree.length < 4){
             throw new ErrorException("搴撲綅閫夋嫨閿欒");
         }
-        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId,InsSample::getCellId));
+        List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery()
+                .ne(InsOrder::getState,3)//鎺掗櫎鎾ら攢鐨勮鍗�
+                .eq(InsOrder::getEntrustCode, entrustCode));
+        if(insOrders.size()!=1){
+            throw new ErrorException("璁㈠崟缂栧彿杈撳叆鏈夎,鎴栬�呰璁㈠崟缂栧彿宸茬粡鎾ら攢");
+        }
+        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
+                .eq(InsSample::getSampleCode, sampleCode)
+                .eq(InsSample::getInsOrderId,insOrders.get(0).getId())
+                .select(InsSample::getId,InsSample::getCellId));
         if(samples.size()!=1){
             throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
         }
@@ -139,8 +181,16 @@
     }
 
     @Override
-    public int outWarehouse(String sampleCode) {
-        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId,InsSample::getCellId));
+    public int outWarehouse(String sampleCode, boolean a,String entrustCode) {
+        List<InsOrder> insOrders = insOrderMapper.selectList(Wrappers.<InsOrder>lambdaQuery()
+                .ne(InsOrder::getState,3)//鎺掗櫎鎾ら攢鐨勮鍗�
+                .eq(InsOrder::getEntrustCode, entrustCode));
+        if(insOrders.size()!=1){
+            throw new ErrorException("璁㈠崟缂栧彿杈撳叆鏈夎,鎴栬�呰璁㈠崟缂栧彿宸茬粡鎾ら攢");
+        }
+        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery()
+                .eq(InsSample::getSampleCode, sampleCode)
+                .eq(InsSample::getInsOrderId,insOrders.get(0).getId()));
         if(samples.size()!=1){
             throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
         }
@@ -153,6 +203,10 @@
         history.setCellId(samples.get(0).getCellId());
         history.setWarehouseCode(warehouseHistoryMapper.selectOne(Wrappers.<WarehouseHistory>lambdaQuery().eq(WarehouseHistory::getInsSampleId, samples.get(0).getId()).select(WarehouseHistory::getWarehouseCode).orderByDesc(WarehouseHistory::getId).last("limit 1")).getWarehouseCode());
         insSampleMapper.update(null, Wrappers.<InsSample>lambdaUpdate().eq(InsSample::getId, samples.get(0).getId()).set(InsSample::getCellId, null));
+        //璇ヨ鍗曢棴鐜�
+        InsOrder insOrder = insOrders.get(0);
+        insOrder.setState(4);
+        insOrderMapper.updateById(insOrder);
         return warehouseHistoryMapper.insert(history);
     }
 
@@ -175,14 +229,6 @@
         return map;
     }
 
-    @Override
-    public int searchSampleId(String sampleCode) {
-        List<InsSample> samples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode).select(InsSample::getId));
-        if(samples.size()!=1){
-            throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
-        }
-        return samples.get(0).getId();
-    }
 }
 
 

--
Gitblit v1.9.3