From 1e874438b4baf12c2668d04a59b0bd5098ef7fd6 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期六, 13 十二月 2025 18:17:02 +0800
Subject: [PATCH] #pda
---
src/main/resources/mapper/WrkDetlMapper.xml | 4 +
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 1
src/main/java/com/zy/asrs/controller/OpenController.java | 19 ++++++
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 +
src/main/java/com/zy/asrs/entity/param/PdaPickListParam.java | 8 ++
src/main/java/com/zy/asrs/entity/param/PickWrkDetlListParam.java | 39 +++++++++++++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 41 +++++++++++++
src/main/java/com/zy/asrs/service/OpenService.java | 3
src/main/java/com/zy/asrs/service/WrkDetlService.java | 1
9 files changed, 118 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index e369e5e..1d4bec1 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -4,6 +4,8 @@
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
+import com.zy.asrs.entity.WaitPakin;
+import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.OpenService;
@@ -525,6 +527,23 @@
}
/**
+ * PDA妫�绱㈢洏鐐规暟閲�
+ */
+ @PostMapping("/pick/v1/getPickList")
+ @AppAuth(memo = "PDA妫�绱㈢洏鐐规暟閲�")
+ public synchronized R getPickList(@RequestHeader(required = false) String appkey,
+ @RequestBody PdaPickListParam param,
+ HttpServletRequest request) {
+ auth(appkey, param, request);
+
+ List<PickWrkDetlListParam> list = openService.getPickList(param);
+ if (!list.isEmpty()) {
+ return R.ok(list);
+ }
+ return R.error("搴撲綅涓嶅瓨鍦ㄦ垨鏃犳槑缁�");
+ }
+
+ /**
* PDA缁戝畾瑙g粦
*/
@PostMapping("/agv/bindCtnrAndBin/v1")
diff --git a/src/main/java/com/zy/asrs/entity/param/PdaPickListParam.java b/src/main/java/com/zy/asrs/entity/param/PdaPickListParam.java
new file mode 100644
index 0000000..230a724
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/PdaPickListParam.java
@@ -0,0 +1,8 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class PdaPickListParam {
+ String barcode;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/PickWrkDetlListParam.java b/src/main/java/com/zy/asrs/entity/param/PickWrkDetlListParam.java
new file mode 100644
index 0000000..c6b2546
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/PickWrkDetlListParam.java
@@ -0,0 +1,39 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class PickWrkDetlListParam {
+
+ // 鐗╂枡缂栧彿
+ private String matnr;
+
+ // 鐗╂枡鍚嶇О
+ private String maknx;
+
+ //鍗曟嵁缂栧彿
+ private String orderNo;
+ //閲囪喘鍗曞彿
+ private String boxType3;
+
+ //瀹㈡埛PO
+ private String standby1;
+
+ //鏉$爜UPC
+ private String standby2;
+
+ //瀹㈡埛sku
+ private String standby3;
+
+ // 瀹㈡埛淇℃伅
+ private String manu;
+
+ // 澶囨敞
+ private String memo;
+
+ // 鐗╂枡鏁伴噺
+ private Double count;
+
+ private Double total;
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index e10e894..496b208 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -21,6 +21,7 @@
List<WrkDetl> selectAndLogByOrderNo(String orderNo);
int updateInspect( @Param("wrkNo")Integer wrkNo, @Param("matnr")String matnr, @Param("batch")String batch);
+ List<WrkDetl> findByBarcode(String barcode);
List<WrkDetl> selectPakoutQuery(@Param("staNo")Integer staNo, @Param("matnr")String matnr);
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index a7429de..45df305 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service;
+import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
@@ -58,5 +59,5 @@
boolean agvApplicationPassedTheGrating(AgvGoTheArnParam param);
boolean agvBindAndBin(String taskNo);
boolean taskArmOrderResult(OrderArmEndParam param);
-
+ List<PickWrkDetlListParam> getPickList(PdaPickListParam param);
}
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index a40f47a..00850c6 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -16,6 +16,7 @@
boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch);
List<WrkDetl> selectAndLogByOrderNo(String orderNo);
+ List<WrkDetl> findByBarcode(String barcode);
boolean updateInspect(Integer wrkNo, String matnr, String batch);
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 0ae85bc..5ff9f70 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -75,7 +75,8 @@
private CommonService commonService;
@Autowired
private LocMastServiceImpl locMastService;
-
+ @Autowired
+ private WrkDetlService wrkDetlService;
@Override
@Transactional
public void pakinOrderCreate(OpenOrderPakinParam param) {
@@ -904,6 +905,44 @@
throw new CoolException("鏈兘缁戝畾");
}
}
+ @Override
+ @Transactional
+ public List<PickWrkDetlListParam> getPickList(PdaPickListParam param) {
+ List<WrkDetl> wrkDetls = wrkDetlService.findByBarcode(param.getBarcode());
+ List<PickWrkDetlListParam> result = new ArrayList<>();
+ wrkDetls.forEach(wrkDetl -> {
+ Double total;
+ EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+ LocDetl locDetl = locDetlService.selectOne(
+ wrapper.eq("zpallet", wrkDetl.getZpallet())
+ .eq("matnr", wrkDetl.getMatnr())
+ );
+ // 鍙嫞鎬婚噺锛氫紭鍏堝彇搴撳瓨琛紝鍚﹀垯鍙栦綔涓氭暟閲�
+ if (Cools.isEmpty(locDetl)) {
+ total = wrkDetl.getAnfme();
+ } else {
+ total = locDetl.getAnfme();
+ }
+ // ===== 缁勮杩斿洖瀵硅薄 =====
+ PickWrkDetlListParam dto = new PickWrkDetlListParam();
+ dto.setMatnr(wrkDetl.getMatnr());
+ dto.setMaknx(wrkDetl.getMaktx());
+ dto.setOrderNo(wrkDetl.getOrderNo());
+ dto.setBoxType3(wrkDetl.getBoxType3());
+ dto.setStandby1(wrkDetl.getStandby1());
+ dto.setStandby2(wrkDetl.getStandby2());
+ dto.setStandby3(wrkDetl.getStandby3());
+ dto.setManu(wrkDetl.getManu());
+ dto.setMemo(wrkDetl.getMemo());
+ // 褰撳墠鎷h揣鏁伴噺
+ dto.setCount(wrkDetl.getAnfme());
+ // 鍙嫞鎬绘暟閲�
+ dto.setTotal(total);
+ result.add(dto);
+ });
+
+ return result;
+ }
@Override
@Transactional
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 3eaaa7a..626156a 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -76,6 +76,11 @@
}
@Override
+ public List<WrkDetl> findByBarcode(String barcode) {
+ return this.baseMapper.findByBarcode(barcode);
+ }
+
+ @Override
public List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr) {
return this.baseMapper.selectPakoutQuery(staNo, matnr);
}
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 2d7e421..191eb20 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -76,7 +76,9 @@
and matnr = #{matnr}
<include refid="batchSeq"></include>
</delete>
-
+ <select id="findByBarcode" resultMap="BaseResultMap">
+ select * from asr_wrk_detl where 1=1 and zpallet = #{barcode} and wrk_no != 9996
+ </select>
<update id="updateAnfme">
update asr_wrk_detl
set anfme = #{anfme}
--
Gitblit v1.9.1