From ad9c9ce4da2e549823b6d47b0219289a7dc7501f Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 17 十一月 2023 08:44:42 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java |   62 +++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
index 7e212d6..5932832 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -13,7 +13,9 @@
 import com.zy.asrs.service.AgvLocDetlService;
 import com.zy.asrs.service.AgvLocMastService;
 import com.zy.asrs.service.AgvWrkDetlService;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.model.LocDto;
+import com.zy.common.model.TaskDto;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -75,7 +77,8 @@
                 locDto.setContainerCode(agvLocDetl.getSuppCode());
                 //褰撳墠搴撲綅鎵�澶勬ゼ灞�
                 int floor = Integer.parseInt(agvLocDetl.getLocNo().split("@")[1]);
-                locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
+                //locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
+                locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByFloor(floor));
                 locDtoList.add(locDto);
 
                 issued -= anfme;
@@ -133,35 +136,23 @@
         return this.selectList(wrapper);
     }
 
-    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch) {
+    public boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode) {
+        EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
+        Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
+        wrapper.eq("loc_no", locNo);
         if (anfme <= 0) {
-            return this.delete(new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).eq("loc_no", locNo));
+            return this.baseMapper.deleteLocDetl(locNo,anfme,matnr,batch,csocode,isocode) > 0;
         } else {
-            AgvLocDetl agvLocDetl = this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", matnr));
+            AgvLocDetl agvLocDetl = this.selectOne(wrapper);
             agvLocDetl.setAnfme(anfme);
-            return this.update(agvLocDetl,new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", matnr));
-            //return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
+            return this.baseMapper.updateAnfme(locNo,anfme,matnr,batch,csocode,isocode) > 0;
         }
     }
 
-    private List<String> queryAgvStaNosByFloor(int floor){
-        List<String> agvStaNos = new ArrayList<>();
-        if(floor == 1){
-            agvStaNos.add("CS-101");
-            agvStaNos.add("CS-102");
-        }else if(floor ==3){
-            agvStaNos.add("CS-305");
-            agvStaNos.add("CS-306");
-            agvStaNos.add("CS-307");
-        }
-
-        return agvStaNos;
-    }
 
     private void wapperSetCondition(Wrapper wrapper,String column, String condition){
         if(Cools.isEmpty(condition)){
             wrapper.andNew().eq(column,"").or().isNull(column);
-            //wrapper.isNull(column);
         }else {
             wrapper.eq(column,condition);
         }
@@ -170,4 +161,35 @@
     public AgvLocDetl selectByLocNo(String locNo){
         return this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no",locNo));
     }
+
+    @Override
+    public List<AgvLocDetl> selectByTaskDto(TaskDto taskDto) {
+        List<AgvLocDetl> agvLocDetls = new ArrayList<>();
+
+        taskDto.getLocDtos().forEach(locDto -> {
+            AgvLocDetl agvLocDetl = this.selectByMatnrAndBatchAndCsocodeAndisoCode(locDto.getLocNo(),locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+            agvLocDetls.add(agvLocDetl);
+        });
+        return agvLocDetls;
+    }
+
+    @Override
+    public AgvLocDetl selectByMatnrAndBatchAndCsocodeAndisoCode(String locNo, String matnr, String batch, String csocode, String isocode) {
+        EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
+        wrapper.eq("loc_no",locNo);
+        Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
+        return this.selectOne(wrapper);
+    }
+
+    @Override
+    public Double selectSumAnfmeByLocNo(String locNo) {
+        return this.baseMapper.sumByLocNo(locNo);
+    }
+
+    @Override
+    public AgvLocDetl selectLocdetl(String locNo, String matnr, String batch, String csocode, String isocode) {
+        return this.baseMapper.selectLocdetl(locNo,matnr,batch,csocode,isocode);
+    }
+
+
 }

--
Gitblit v1.9.1