From 24c2fd8ab62fa12ae96658664e7ffd478bef6e62 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期一, 13 五月 2024 19:16:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 4 +
src/main/java/com/zy/asrs/controller/OrderController.java | 2
src/main/java/com/zy/asrs/service/AgvLocDetlService.java | 2
src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java | 3 +
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 5 +
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 7 ++
src/main/java/com/zy/asrs/controller/AgvMobileController.java | 23 +++++--
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 41 ++++++++-----
src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 4
src/main/java/com/zy/asrs/controller/OrderDetlController.java | 31 ++++++++++
src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 6 +
11 files changed, 100 insertions(+), 28 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index f507486..f57a54b 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -14,6 +14,7 @@
import com.zy.asrs.entity.param.PickParam;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
+import io.swagger.models.auth.In;
import lombok.Synchronized;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -185,6 +186,7 @@
String orderNo = params.get("orderNo");
String threeCode = params.get("threeCode");
String matnr = params.get("matnr");
+ String floor = params.get("floor");
Wrapper<AgvLocDetl> wrapper = new EntityWrapper<AgvLocDetl>().eq("matnr", matnr);
@@ -193,17 +195,26 @@
wrapper = Cools.isEmpty(threeCode) ? wrapper.isNull("three_code") : wrapper.eq("three_code",threeCode);
if (threeCode.substring(0,2).equals(30)) {
- wrapper.isNull("specs").or().eq("specs","");
+ wrapper.isNull("specs").or().eq("specs","").eq("floor",1);
}
List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(wrapper);
-
+ List<AgvLocDetl> locDetls = new ArrayList<>();
for (AgvLocDetl agvLocDetl : agvLocDetls) {
- AgvLocMast locNo = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()));
- agvLocDetl.setLocSts(locNo.getLocSts());
- agvLocDetl.setLocSts$(locNo.getLocSts$());
+ AgvLocMast agvLocMast = new AgvLocMast();
+ if (Cools.isEmpty(floor)) {
+ agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).notLike("loc_no","F1"));
+ } else {
+ agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocDetl.getLocNo()).like("loc_no",floor));
+ }
+
+ if (Cools.isEmpty(agvLocMast)) continue;
+ agvLocDetl.setLocSts(agvLocMast.getLocSts());
+ agvLocDetl.setLocSts$(agvLocMast.getLocSts$());
+ locDetls.add(agvLocDetl);
}
- return R.ok(agvLocDetls);
+
+ return R.ok(locDetls);
}
/*
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 22f28e5..2808a62 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -210,7 +210,7 @@
wrapper.in("source",docIds);
Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
for (OrderDetl record : page.getRecords()) {
- Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
+ Double sumAnfme = agvLocDetlService.getSumAnfmeDb(record.getMatnr(), record.getThreeCode(),1);
record.setStock(sumAnfme == null ? 0 : sumAnfme);
}
return R.ok(page);
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 495bb62..4aa1c2a 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -127,6 +127,37 @@
return R.ok(page);
}
+ @RequestMapping(value = "/orderDetl/pakout/list/authV4")
+ @ManagerAuth
+ public R pakoutList4(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam Map<String, Object> param){
+ EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+ excludeTrash(param);
+ convertLike(param, wrapper);
+ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else {
+ wrapper.orderBy("create_time", false);
+ }
+ List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
+ List<Long> docIds = new ArrayList<>();
+ for (DocType pakin : pakins) {
+ if (pakin.getDocId() == 34) {
+ docIds.add(pakin.getDocId());
+ }
+ }
+
+ wrapper.in("source",docIds);
+ Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
+ for (OrderDetl record : page.getRecords()) {
+ Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
+ record.setStock(sumAnfme == null ? 0 : sumAnfme);
+ }
+
+ return R.ok(page);
+ }
+
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
String val = String.valueOf(entry.getValue());
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index acfd6af..ec0e68b 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -25,6 +25,9 @@
@Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where b.loc_sts = 'F' and a.matnr = #{matnr} AND a.three_code = #{threeCode}")
Double selectSumAnfmeByMatnr(@Param("matnr") String matnr,@Param("threeCode") String threeCode);
+ @Select("select sum(a.anfme) as sum from agv_loc_detl a left join agv_loc_mast b on a.loc_no = b.loc_no where (b.loc_sts = 'F' or b.loc_sts = 'R') and b.floor = #{floor} and a.matnr = #{matnr} AND a.three_code = #{threeCode}")
+ Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
+
@Select("SELECT SUM(anfme) FROM agv_loc_detl")
Integer sum();
diff --git a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
index b24bc79..c6b771d 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
@@ -22,6 +22,8 @@
Double getSumAnfme(String matnr, String threeCode);
+ Double getSumAnfmeDb(String matnr, String threeCode, Integer floor);
+
Integer sum();
List<AgvLocDetl> getStockStatisExcel();
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 ed9acce..6f91a5b 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -122,6 +122,11 @@
return this.baseMapper.selectSumAnfmeByMatnr(matnr, threeCode);
}
+ @Override
+ public Double getSumAnfmeDb(String matnr, String threeCode,Integer floor) {
+ return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor);
+ }
+
/*
鑾峰彇搴撳瓨鎬绘暟
*/
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index 66c5915..971beea 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -103,23 +103,32 @@
for (PickParam.Pick pick : pickParams.getPicks()) {
if (pick.getCount().equals(0D)) continue;
- AgvWrkDetl wrkDetl = new AgvWrkDetl();
- Mat mat = matService.selectByMatnr(pick.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(pick.getMatnr() + "鍟嗗搧涓嶅瓨鍦�");
+ AgvWrkDetl agvWrkDetl = agvWrkDetlService.selectOne(new EntityWrapper<AgvWrkDetl>().eq("matnr", pick.getMatnr()).eq("three_code", pick.getThreeCode()));
+ if (Cools.isEmpty(agvWrkDetl)) {
+ AgvWrkDetl wrkDetl = new AgvWrkDetl();
+ Mat mat = matService.selectByMatnr(pick.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(pick.getMatnr() + "鍟嗗搧涓嶅瓨鍦�");
+ }
+ wrkDetl.sync(mat);
+ wrkDetl.setWrkNo(pickParams.getWrkNo());
+ wrkDetl.setOrderNo(pick.getOrderNo());
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAnfme(pick.getCount()); // 鏁伴噺
+ wrkDetl.setSuppCode(pick.getSuppCode()); // 鎵樼洏鏉$爜
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiUser(userId);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setThreeCode(pick.getThreeCode());
+ agvWrkDetlService.insert(wrkDetl);
+ } else {
+ Double anfme = agvWrkDetl.getAnfme() + pick.getCount();
+ agvWrkDetl.setAnfme(anfme);
+ agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("matnr",agvWrkDetl.getMatnr()).eq("three_code",agvWrkDetl.getThreeCode()));
+
}
- wrkDetl.sync(mat);
- wrkDetl.setWrkNo(pickParams.getWrkNo());
- wrkDetl.setOrderNo(pick.getOrderNo());
- wrkDetl.setIoTime(now);
- wrkDetl.setAnfme(pick.getCount()); // 鏁伴噺
- wrkDetl.setSuppCode(pick.getSuppCode()); // 鎵樼洏鏉$爜
- wrkDetl.setAppeUser(userId);
- wrkDetl.setAppeTime(now);
- wrkDetl.setModiUser(userId);
- wrkDetl.setModiTime(now);
- wrkDetl.setThreeCode(pick.getThreeCode());
- agvWrkDetlService.insert(wrkDetl);
+
// 鏇存柊璁㈠崟
OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", pick.getOrderNo()).eq("matnr", pick.getMatnr()).eq("three_code",pick.getThreeCode()));
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 6a3bc03..a9789ce 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -52,7 +52,8 @@
.or().eq("io_type",57)
.or().eq("io_type",10)
.or().eq("io_type",11)
- .or().eq("io_type",108));
+ .or().eq("io_type",108)
+ .or().eq("io_type",109));
if(!Cools.isEmpty(agvWrkMastList)){
agvWrkMastList.stream().forEach(agvWrkMast -> {
agvWrkMastHandler.completedPutWayWrk(agvWrkMast);
@@ -106,6 +107,7 @@
.or().eq("io_type", 1)
.or().eq("io_type", 10)
.or().eq("io_type", 57)
+ .or().eq("io_type", 109)
.or().eq("io_type", 108)).getRecords();
if(!Cools.isEmpty(agvWrkMastList)){
diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
index 35835aa..8e08e43 100644
--- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java
@@ -45,14 +45,14 @@
// 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋�
List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(
new EntityWrapper<AgvLocMast>()
- .ne("floor", 3)
+ .ne("floor", 1)
.eq("loc_sts","D")
.eq("loc_type1",3));
if (agvLocMasts.isEmpty()) {
return;
}
for (AgvLocMast agvLocMast : agvLocMasts) {
- ReturnT<String> returnT = autoMoveHandler.start(agvLocMast);
+ ReturnT<String> returnT = autoMoveHandler.autoEmptyBack(agvLocMast);
}
}
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 82f159d..61c5ba2 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -69,7 +69,12 @@
agvWrkMastService.updateById(agvWrkMast);
// 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉�
String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F";
- agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),locSts,agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) {
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ } else {
+ agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue());
+ }
+
//鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
agvWrkMastLogService.save(agvWrkMast);
//鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
index c3db2df..256f695 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java
@@ -126,7 +126,7 @@
throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
}
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
- AgvLocMast LocMast = agvCommonService.getLocNo(3,agvLocMast.getLocType3());
+ AgvLocMast LocMast = agvCommonService.getLocNo(3,1);
//鐢熸垚宸ヤ綔妗�
AgvWrkMast mast = new AgvWrkMast();
//宸ヤ綔鐘舵��
@@ -152,6 +152,10 @@
if (!agvWrkMastService.insertByIncrease(mast)) {
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
+
+ //鏇存柊鐩爣搴撲綅鐘舵��
+ updateAgvLocMast(agvLocMast,"R");
+ updateAgvLocMast(LocMast,"S");
return SUCCESS;
}
}
--
Gitblit v1.9.1