From 84cfd49774d4aa0e475b319a70a411c4cc078694 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期四, 13 六月 2024 16:18:32 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OrderController.java | 5 ++
src/main/java/com/zy/asrs/service/AgvLocDetlService.java | 4 ++
src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java | 5 ++
src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 19 +++++++++
src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java | 8 +++-
src/main/resources/mapper/AgvLocDetlMapper.xml | 40 ++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 2
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 6 +-
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 1
src/main/java/com/zy/asrs/controller/OrderDetlController.java | 2
10 files changed, 85 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 438228d..4ff89c0 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -279,6 +279,9 @@
if (orderDetl.getProcessSts() == 1) {
flag = true;
}
+ if (param.getDocType() != 32) {
+ orderDetl.setProcessSts(3);
+ }
DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch());
if (DetlDto.has(list, dto)) {
OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getThreeCode(),orderDetl.getDeadTime());
@@ -746,6 +749,8 @@
proSts = 3;
}
}
+ } else {
+ proSts = 3;
}
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 28cb552..1906679 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -187,7 +187,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.getSumAnfmeProcessed(record.getMatnr(), record.getThreeCode());
record.setStock(sumAnfme == null ? 0 : sumAnfme);
}
diff --git a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
index 64e50e3..10b159e 100644
--- a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
@@ -42,7 +42,10 @@
//璐ф灦鐮�
private String suppCode;
- public LocDetlAdjust(String matnr, String batch, Double count, String orderNo,String threeCode, String deadTime, String suppCode) {
+ // 宸ュ簭
+ private Integer processSts;
+
+ public LocDetlAdjust(String matnr, String batch, Double count, String orderNo,String threeCode, String deadTime, String suppCode, Integer processSts) {
this.matnr = matnr;
this.batch = batch;
this.count = count;
@@ -50,6 +53,7 @@
this.threeCode = threeCode;
this.deadTime = deadTime;
this.suppCode = suppCode;
+ this.processSts = processSts;
}
}
@@ -68,7 +72,7 @@
}
}
if (!exit) {
- copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(),adjust.getOrderNo(), adjust.getThreeCode(), adjust.getDeadTime(),adjust.getSuppCode()));
+ copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount(),adjust.getOrderNo(), adjust.getThreeCode(), adjust.getDeadTime(),adjust.getSuppCode(),adjust.getProcessSts()));
}
}
list = copyList;
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index 26a6af2..5349c93 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -28,6 +28,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} AND a.process_sts = 1")
Double selectSumAnfmeByMatnrProcess(@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' and a.matnr = #{matnr} AND a.three_code = #{threeCode} AND a.process_sts != 1 AND b.lev1 != 2")
+ Double selectSumAnfmeByMatnrProcessed(@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} AND a.process_sts != 1")
Double selectSumAnfmeByMatnr2(@Param("matnr") String matnr,@Param("threeCode") String threeCode,@Param("floor") Integer floor);
@@ -52,6 +55,8 @@
int updateAnfme(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
+ int updateAnfmeProcess(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode, @Param("process")Integer process);
+
int deleteLocDetl(@Param("locNo")String locNo, @Param("anfme")Double anfme, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
AgvLocDetl selectLocdetl(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
diff --git a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
index ad725e0..b6debfe 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
@@ -24,6 +24,8 @@
Double getSumAnfmeProcess(String matnr, String threeCode);
+ Double getSumAnfmeProcessed(String matnr, String threeCode);
+
Double getSumAnfmeDb(String matnr, String threeCode, Integer floor);
Integer sum();
@@ -37,6 +39,8 @@
*/
boolean updateAnfme(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode);
+ boolean updateAnfmeProcess(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode,Integer process);
+
public AgvLocDetl selectByLocNo(String locNo);
public List<AgvLocDetl> selectByTaskDto(TaskDto taskDto);
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 08963bf..f0208a0 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -133,6 +133,11 @@
}
@Override
+ public Double getSumAnfmeProcessed(String matnr, String threeCode) {
+ return this.baseMapper.selectSumAnfmeByMatnrProcessed(matnr, threeCode);
+ }
+
+ @Override
public Double getSumAnfmeDb(String matnr, String threeCode,Integer floor) {
return this.baseMapper.selectSumAnfmeByMatnr2(matnr, threeCode, floor);
}
@@ -185,6 +190,20 @@
}
}
+ public boolean updateAnfmeProcess(Double anfme, String locNo, String matnr, String batch, String csocode, String isocode, Integer process) {
+ EntityWrapper<AgvLocDetl> wrapper = new EntityWrapper<>();
+ wrapper.eq("loc_no", locNo);
+ Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
+ if (anfme <= 0) {
+ return this.baseMapper.deleteLocDetl(locNo,anfme,matnr,batch,csocode,isocode) > 0;
+ } else {
+ AgvLocDetl agvLocDetl = this.selectOne(wrapper);
+ agvLocDetl.setAnfme(anfme);
+ agvLocDetl.setModiTime(new Date());
+ return this.baseMapper.updateAnfmeProcess(locNo,anfme,matnr,batch,csocode,isocode,process) > 0;
+ }
+ }
+
private void wapperSetCondition(Wrapper wrapper,String column, String condition){
if(Cools.isEmpty(condition)){
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 f31eea5..ce68d4b 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -425,7 +425,7 @@
throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
}
//妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
- AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,true);
+ AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,false);
if (Cools.isEmpty(locMast)) {
throw new CoolException("褰撳墠妤煎眰娌℃湁绌哄簱浣�");
}
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index b1196b0..c7ac287 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -565,10 +565,10 @@
LocDetlAdjustParam.LocDetlAdjust adjust = iterator1.next();
if (adjust.getCount() == 0) { continue; }
if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch()) && Cools.eq(locDetl.getSuppCode(),adjust.getSuppCode()) && Cools.eq(locDetl.getThreeCode(),adjust.getThreeCode()) && Cools.eq(locDetl.getDeadTime(),adjust.getDeadTime())) {
- if (!locDetl.getAnfme().equals(adjust.getCount())) {
+ if (!locDetl.getAnfme().equals(adjust.getCount()) || !locDetl.getProcessSts().equals(adjust.getProcessSts())) {
// todo 鐩樼偣璁板綍
// 淇敼搴撳瓨
- if (!agvLocDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
+ if (!agvLocDetlService.updateAnfmeProcess(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),adjust.getProcessSts())) {
throw new CoolException(locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佷慨鏀规暟閲忓け璐�");
}
// 淇濆瓨璋冩暣璁板綍
@@ -599,7 +599,7 @@
// 鍒犻櫎搴撳瓨
for (AgvLocDetl locDetl : locDetls) {
// todo 鐩樼偣璁板綍
- if (!agvLocDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
+ if (!agvLocDetlService.updateAnfmeProcess(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getThreeCode(),locDetl.getDeadTime(),locDetl.getProcessSts())) {
throw new CoolException("鍒犻櫎" + locDetl.getLocNo() + "搴撲綅锛�" + locDetl.getMatnr() + "鍟嗗搧锛�" + locDetl.getBatch() + "搴忓垪鐮佸簱瀛樻槑缁嗗け璐�");
}
// 淇濆瓨璋冩暣璁板綍
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index e3f57a5..ae86e2c 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -224,6 +224,7 @@
switch (agvWrkMast.getIoType()) {
case 108:
case 12:
+ case 57:
agvTaskCreateParam.setTaskTyp("F06");
break;
case 109:
diff --git a/src/main/resources/mapper/AgvLocDetlMapper.xml b/src/main/resources/mapper/AgvLocDetlMapper.xml
index 7fdc6f0..e89b589 100644
--- a/src/main/resources/mapper/AgvLocDetlMapper.xml
+++ b/src/main/resources/mapper/AgvLocDetlMapper.xml
@@ -153,6 +153,46 @@
</choose>
</update>
+ <update id="updateAnfmeProcess">
+ update agv_loc_detl
+ set anfme = #{anfme}
+ where 1=1
+ and loc_no = #{locNo}
+ and matnr = #{matnr}
+ <choose>
+ <when test="batch != null and batch != ''">
+ and batch = #{batch}
+ </when>
+ <otherwise>
+ and (batch IS NULL OR batch = '')
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="csocode != null and csocode != ''">
+ and three_code = #{csocode}
+ </when>
+ <otherwise>
+ and (three_code IS NULL OR three_code = '')
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="isocode != null and isocode != ''">
+ and dead_time = #{isocode}
+ </when>
+ <otherwise>
+ and (dead_time IS NULL OR dead_time = '')
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="process != null and process != ''">
+ and process_sts = #{process}
+ </when>
+ <otherwise>
+ and (process_sts IS NULL OR process_sts = '')
+ </otherwise>
+ </choose>
+ </update>
+
<delete id = "deleteLocDetl">
delete from agv_loc_detl
where 1=1
--
Gitblit v1.9.1