From 64c256128e8cf5c65e409c4682cf3c32466748b2 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 25 七月 2023 14:22:12 +0800
Subject: [PATCH] agv 站点可视化管理功能

---
 src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java |   81 +++++++++++++++++++++++++++++++++-------
 1 files changed, 67 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
index c6f57ec..636dc93 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvBasDevpServiceImpl.java
@@ -1,16 +1,24 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
 import com.zy.asrs.entity.AgvBasDevp;
+import com.zy.asrs.entity.AgvWaitPakin;
+import com.zy.asrs.entity.AgvWrkMast;
 import com.zy.asrs.mapper.AgvBasDevpMapper;
 import com.zy.asrs.service.AgvBasDevpService;
+import com.zy.asrs.service.AgvWaitPakinService;
+import com.zy.asrs.service.AgvWrkDetlService;
+import com.zy.asrs.service.AgvWrkMastService;
+import com.zy.common.model.AgvBasDevpDto;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 @Transactional
@@ -18,6 +26,12 @@
 
     @Autowired
     AgvBasDevpMapper agvBasDevpMapper;
+    @Autowired
+    AgvWrkMastService agvWrkMastService;
+    @Autowired
+    AgvWrkDetlService agvWrkDetlService;
+    @Autowired
+    AgvWaitPakinService agvWaitPakinService;
 
     public void clearBasDevp(){
         agvBasDevpMapper.deleteAll();
@@ -50,18 +64,7 @@
         for(int row=rowIndex; row<=rowMax; row++){
             for(int bay=bayIndex; bay<=bayMax; bay++){
                 for(int lev=levIndex; lev<=levMax; lev++){
-//                    AgvBasDevp agvBasDevp = new AgvBasDevp();
-//                    String devNo = "CS-" + floor + "0" + row + "-00" + bay + "-0" + lev + "@" + floor;
-//                    String stationCode = "CS-" + floor + "0" + row;
-//                    agvBasDevp.setDevNo(devNo);
-//                    agvBasDevp.setStationCode(stationCode);
-//                    agvBasDevp.setLocSts("O");
-//                    agvBasDevp.setCacheShelves("Y");
-//                    agvBasDevp.setFloor(floor);
-//                    agvBasDevp.setModiTime(now);
-//                    agvBasDevp.setAppeTime(now);
                     agvBasDevpList.add(getAgvBasDevp(row,bay,lev,floor,"Y",now));
-
                 }
             }
         }
@@ -83,4 +86,54 @@
         return agvBasDevp;
     }
 
+    public void updateLocStsAndBarcodeByDevNo(String devNo, String locSts, String barcode){
+
+        AgvBasDevp agvBasDevp = this.selectById(devNo);
+        agvBasDevp.setLocSts(locSts);
+        agvBasDevp.setBarcode(barcode);
+        this.updateById(agvBasDevp);
+    }
+
+    public Map<String, Object> getAgvBasDevpDtoByStationCode(String stationCode) {
+
+        List<Map<String, Object>> body = new ArrayList<>();
+        for(int i=3; i>=1; i--){
+            List<AgvBasDevp> agvBasDevpList = this.selectList(new EntityWrapper<AgvBasDevp>()
+                    .eq("station_code", stationCode)
+                    .like("dev_no","0"+ i +"@"));
+
+            Map<String, Object> map = new HashMap<>();
+
+            List<AgvBasDevpDto> agvBasDevpDtoList = agvBasDevpList.stream().map(agvBasDevp -> {
+                AgvBasDevpDto agvBasDevpDto = new AgvBasDevpDto();
+                BeanUtils.copyProperties(agvBasDevp, agvBasDevpDto);
+
+                if (Cools.isEmpty(agvBasDevpDto.getBarcode())) {
+                    return agvBasDevpDto;
+                }
+
+                AgvWaitPakin agvWaitPakin = agvWaitPakinService.selectOne(new EntityWrapper<AgvWaitPakin>()
+                        .eq("zpallet", agvBasDevpDto.getBarcode()));
+
+                agvBasDevpDto.setAgvWaitPakin(agvWaitPakin);
+
+                AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>()
+                        .eq("barcode", agvBasDevpDto.getBarcode()));
+
+                agvBasDevpDto.setAgvWrkMast(agvWrkMast);
+
+                return agvBasDevpDto;
+
+            }).collect(Collectors.toList());
+
+            map.put("loc",agvBasDevpDtoList);
+            body.add(map);
+        }
+
+        Map<String, Object> result = new HashMap<>();
+        result.put("body", body);
+
+        return result;
+    }
+
 }

--
Gitblit v1.9.1