From 5701eb6693c654d53f1bba460eb3a417d495b344 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 11 六月 2025 17:31:53 +0800
Subject: [PATCH] bug修复;下发任务给rcs携带货架码
---
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 94 insertions(+), 17 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 18cb689..a01cb80 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -1,6 +1,5 @@
package com.zy.asrs.service.impl;
-import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
@@ -8,7 +7,11 @@
import com.core.common.Cools;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.*;
+import com.zy.asrs.constant.AsrsConstants;
+import com.zy.asrs.entity.AgvLocDetl;
+import com.zy.asrs.entity.AgvLocMast;
+import com.zy.asrs.entity.AgvWrkDetl;
+import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.mapper.AgvLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
@@ -55,14 +58,18 @@
List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", taskCode));
long flowId = snowflakeIdWorker.nextId();
agvWrkDetls.stream().map(agvWrkDetl -> {
- AgvLocDetl agvLocDetl = new AgvLocDetl();
- log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
- BeanUtils.copyProperties(agvWrkDetl, agvLocDetl);
- agvLocDetl.setLocNo(locNo);
- log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl));
- this.insert(agvLocDetl);
- // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
- OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode());
+ AgvLocDetl agvLocDetl = this.selectOne(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo).eq("matnr", agvWrkDetl.getMatnr()).eq("three_code", agvWrkDetl.getThreeCode()));
+ if (agvLocDetl != null) {
+ this.updateAnfme(agvLocDetl.getAnfme() + agvWrkDetl.getAnfme(), agvLocDetl.getLocNo(), agvLocDetl.getMatnr(), agvLocDetl.getBatch(), agvLocDetl.getThreeCode(), agvLocDetl.getDeadTime());
+ } else {
+ agvLocDetl = new AgvLocDetl();
+ //log.info("agvWrkDetl: " + agvLocDetl.getBarcode());
+ BeanUtils.copyProperties(agvWrkDetl, agvLocDetl);
+ agvLocDetl.setLocNo(locNo);
+ //log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl));
+ this.insert(agvLocDetl);
+ // 娴佹按 -- 鏂板璁㈠崟鏄庣粏
+ //OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode());
// FlowLog flowLog = new FlowLog();
// flowLog.setFid(String.valueOf(flowId));
// flowLog.setSpare2(String.valueOf(taskCode));
@@ -88,6 +95,7 @@
// if (!flowLogService.insert(flowLog)) {
// throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
// }
+ }
return agvLocDetl;
}).collect(Collectors.toList());
@@ -97,17 +105,28 @@
//鏍规嵁鐗╂枡鍙峰拰鎵规鎵惧埌瀵瑰簲鐨勫簱瀛橈紝骞朵笖鎸夌収淇敼鏃堕棿鎺掑簭
Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr).orderBy("modi_time");
if (type != null) {
- wrapper.notLike("loc_no", "F1");
+ if (type.equals(AsrsConstants.ERCHANG)) {
+ wrapper.notLike("loc_no", "F3");
+ } else {
+ if (matnr.startsWith("401") || matnr.startsWith("402")) {
+ //wrapper.notLike("loc_no", "F3");
+ wrapper.notLike("loc_no", "F1");
+ } else {
+ wrapper.notLike("loc_no", "F1");
+ }
+ }
}
- wapperSetCondition(wrapper, "batch", batch);
+ //涓�鐩存湁PE甯︽壒娆″瓧娈靛鑷达紝鏃犳硶鍑哄簱锛屽氨娉ㄩ噴鎺�
+ //wapperSetCondition(wrapper, "batch", batch);
wapperSetCondition(wrapper, "three_code", csocode);
- wapperSetCondition(wrapper, "dead_time", isoseq);
+ //wapperSetCondition(wrapper, "dead_time", isoseq);
if ("JG".equals(orderNo.substring(0, 2))) {
wapperSetCondition(wrapper, "process_sts", "1");
}
List<AgvLocDetl> agvLocDetls = this.selectList(wrapper);
+
for (AgvLocDetl agvLocDetl : agvLocDetls) {
//鍒ゆ柇褰撳墠搴撲綅璐х墿鏄惁F鍦ㄥ簱
@@ -133,7 +152,39 @@
//褰撳墠搴撲綅鎵�澶勬ゼ灞�
int floor = Integer.parseInt(agvLocDetl.getLocNo().split("F")[1]);
//locDto.setAgvStaNos(queryAgvStaNosByFloor(floor));
- locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor));
+ //鍥涙湡
+ //locDto.setAgvStaNos(agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1(), floor));
+
+ List<String> strings = agvBasDevpService.selectCacheShelvesStationCodeByLocType(agvLocMast.getLocType1());
+ List<String> agvStaNos = new ArrayList<>();
+ if (agvLocDetl.getLocNo().contains("01F1")) {
+ for (String string : strings) {
+ if (string.contains("F1") || string.contains("F4")) {
+ agvStaNos.add(string);
+ }
+ }
+ } else if (agvLocDetl.getLocNo().contains("02F1")) {
+ for (String string : strings) {
+ if (string.contains("F1") || string.contains("F4")) {
+ agvStaNos.add(string);
+ }
+ }
+ } else if (agvLocDetl.getLocNo().contains("F2")) {
+ for (String string : strings) {
+ if (string.contains("F2") || string.contains("F4")) {
+ agvStaNos.add(string);
+ }
+ }
+ } else if (agvLocDetl.getLocNo().contains("F3")) {
+ for (String string : strings) {
+ if (string.contains("F3")) {
+ agvStaNos.add(string);
+ }
+ }
+ } else {
+ agvStaNos = strings;
+ }
+ locDto.setAgvStaNos(agvStaNos);
locDtoList.add(locDto);
issued -= anfme;
@@ -144,11 +195,16 @@
}
+
/*
鏇存柊搴撳瓨鏄庣粏
*/
- public void updateStock(String sourceLoc, String targetLoc) {
- this.baseMapper.updateStock(sourceLoc, targetLoc);
+ public void updateStock(String sourceLoc, String targetLoc,Long userId) {
+ if (Cools.isEmpty(userId)){
+ this.baseMapper.updateStock(sourceLoc, targetLoc);
+ }else {
+ this.baseMapper.updateStock2(sourceLoc, targetLoc, userId);
+ }
}
public Page<AgvLocDetl> getStockStatis(Page<AgvLocDetl> page) {
@@ -163,8 +219,19 @@
}
@Override
+ public Double getSumAnfme2(String matnr, String threeCode) {
+ return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode);
+ }
+
+
+ @Override
public AgvLocDetl selectItem(String locNo, String matnr, String batch, String csocode, String isoCode) {
return this.baseMapper.selectItemByOrderNo(locNo, matnr, batch, csocode, isoCode);
+ }
+
+ @Override
+ public List<AgvLocDetl> selectItem2(String locNo, String matnr, String batch, String csocode, String isoCode) {
+ return this.baseMapper.selectItemByOrderNo2(locNo, matnr, batch, csocode, isoCode);
}
@Override
@@ -178,8 +245,18 @@
}
@Override
+ public Double getSumAnfmeProcessed2(String matnr, String threeCode) {
+ return this.baseMapper.selectSumAnfmeByMatnrProcessed2(matnr, threeCode);
+ }
+
+ @Override
public Double getSumAnfmeDb(String matnr, String threeCode, Integer floor) {
- return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor);
+ return this.baseMapper.selectSumAnfmeByMatnr22(matnr, threeCode, floor);
+ }
+
+ @Override
+ public Double getSumAnfmeDb2(String matnr, String threeCode, Integer floor) {
+ return this.baseMapper.selectSumAnfmeByMatnr3(matnr, threeCode, floor);
}
@Override
--
Gitblit v1.9.1