From 2a542491b78e75cfa0a22b4c6eb6e6087bf2746e Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期六, 11 十一月 2023 13:28:10 +0800
Subject: [PATCH] bug修复
---
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 | 16 ++++-
src/main/resources/mapper/AgvLocDetlMapper.xml | 95 +++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 9 ++-
5 files changed, 121 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index fdeb592..7523098 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -37,4 +37,9 @@
@Select("SELECT SUM(anfme) FROM agv_loc_detl WHERE loc_no = #{locNo}")
Double sumByLocNo(@Param("locNo")String locNo);
+ 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 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 dc3a97a..22cda63 100644
--- a/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/AgvLocDetlService.java
@@ -33,8 +33,10 @@
public List<AgvLocDetl> selectByTaskDto(TaskDto taskDto);
- public AgvLocDetl selectByMatnrAndBatchAndCsocodeAndisoCode(String matnr, String batch, String csocode, String isocode);
+ public AgvLocDetl selectByMatnrAndBatchAndCsocodeAndisoCode(String locNo, String matnr, String batch, String csocode, String isocode);
public Double selectSumAnfmeByLocNo(String locNo);
+ public AgvLocDetl selectLocdetl(String locNo,String matnr,String batch,String csocode,String isocode);
+
}
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 6b13866..971d784 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java
@@ -140,12 +140,13 @@
Utils.confirmOnlyMat(wrapper,matnr,batch,csocode,isocode);
wrapper.eq("loc_no", locNo);
if (anfme <= 0) {
- return this.delete(wrapper);
+ return this.baseMapper.deleteLocDetl(locNo,anfme,matnr,batch,csocode,isocode) > 0;
} else {
AgvLocDetl agvLocDetl = this.selectOne(wrapper);
agvLocDetl.setAnfme(anfme);
- return this.update(agvLocDetl,wrapper);
+ //return this.update(agvLocDetl,wrapper);
//return baseMapper.updateAnfme(anfme, locNo, matnr, batch) > 0;
+ return this.baseMapper.updateAnfme(locNo,anfme,matnr,batch,csocode,isocode) > 0;
}
}
@@ -181,15 +182,17 @@
List<AgvLocDetl> agvLocDetls = new ArrayList<>();
taskDto.getLocDtos().forEach(locDto -> {
- AgvLocDetl agvLocDetl = this.selectByMatnrAndBatchAndCsocodeAndisoCode(locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+ AgvLocDetl agvLocDetl = this.selectByMatnrAndBatchAndCsocodeAndisoCode(locDto.getLocNo(),locDto.getMatnr(), locDto.getBatch(), locDto.getCsocode(), locDto.getIsoseq());
+ //AgvLocDetl agvLocDetl = this.selectLocdetl(locDto.getLocNo(),locDto.getMatnr(),locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq());
agvLocDetls.add(agvLocDetl);
});
return agvLocDetls;
}
@Override
- public AgvLocDetl selectByMatnrAndBatchAndCsocodeAndisoCode(String matnr, String batch, String csocode, String isocode) {
+ 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);
}
@@ -199,5 +202,10 @@
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);
+ }
+
}
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 5d02d6a..3bc500b 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -127,13 +127,14 @@
long wrkSts = 21L;
String sourceLocNo = taskDto.getLocNo();
String targetLocNo = taskDto.getAgvStaNo();
- String barcode = agvLocDetls.get(0).getSuppCode();
+ //String barcode = agvLocDetls.get(0).getSuppCode();
+ String containerCode = taskDto.getLocDtos().get(0).getContainerCode();
//鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱
int ioType = isPakOut(sourceLocNo,taskDto) ? 101 : 103;
//鐢熸垚宸ヤ綔妗�
- AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,barcode,now,userId,false);
+ AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,false);
//鐢熸垚宸ヤ綔妗f槑缁�
taskDto.getLocDtos().forEach(locDto -> {
//鏄庣粏妗f墍闇�鍙傛暟
@@ -193,7 +194,9 @@
//agvWrkDetlService.update(agvWrkDetl,new EntityWrapper<AgvWrkDetl>().eq("wrk_no",agvWrkDetl.getWrkNo()));
//淇敼搴撳瓨淇℃伅
agvWrkDetlList.forEach(agvWrkDetl -> {
- AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
+ AgvLocDetl agvLocDetl = agvLocDetlService.selectByMatnrAndBatchAndCsocodeAndisoCode(agvWrkMast.getLocNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode(), agvWrkDetl.getDeadTime());
+
+ //AgvLocDetl agvLocDetl = agvLocDetlService.selectLocdetl(agvWrkMast.getLocNo(),agvWrkDetl.getMatnr(),agvWrkDetl.getBatch(),agvWrkDetl.getThreeCode(),agvWrkDetl.getDeadTime());
double updateAnfme = agvLocDetl.getAnfme() - agvWrkDetl.getAnfme();
agvLocDetlService.updateAnfme(updateAnfme,agvLocDetl.getLocNo(),agvLocDetl.getMatnr(),agvLocDetl.getBatch(),agvLocDetl.getThreeCode(),agvLocDetl.getDeadTime());
});
diff --git a/src/main/resources/mapper/AgvLocDetlMapper.xml b/src/main/resources/mapper/AgvLocDetlMapper.xml
index b5ad69e..7fdc6f0 100644
--- a/src/main/resources/mapper/AgvLocDetlMapper.xml
+++ b/src/main/resources/mapper/AgvLocDetlMapper.xml
@@ -90,6 +90,100 @@
) t where t.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
</select>
+ <select id="selectLocdetl" resultType="com.zy.asrs.entity.AgvLocDetl">
+ select * from agv_loc_detl
+ 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>
+ </select>
+
+ <update id="updateAnfme">
+ 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>
+ </update>
+
+ <delete id = "deleteLocDetl">
+ delete from agv_loc_detl
+ 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>
+ </delete>
+
<select id="getStockStatisCount" parameterType="java.util.Map" resultType="java.lang.Integer">
select count(1) as count from
(
@@ -101,4 +195,5 @@
group by a.matnr
) b
</select>
+
</mapper>
--
Gitblit v1.9.1