From 7d4d4849daf849f2676899a96ceabd8ade703a32 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 15 四月 2025 14:38:01 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 139 +++++++++++++++++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/controller/MobileController.java | 2
2 files changed, 138 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 88a979e..42d7241 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -218,7 +218,7 @@
return R.ok("榻愬鍏ュ簱鍛煎彨鎴愬姛");
}
- @RequestMapping("/kitting/call/all/auth")
+ @RequestMapping("/kitting/call/all/auth")//瀵� 鍓嶇鏀逛笉浜嗕竴鐐�
@ManagerAuth(memo = "榻愬鍏ュ簱鍛煎彨")
public R kittingCall(@RequestBody CombParam combParam){
List<CombParam.CombMat> combMats = combParam.getCombMats();
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 18548ae..2cefd0f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -671,14 +671,149 @@
@Override
@Transactional
public R kittingQuery(CombParam combParam, Long userId) {
- List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>());
- return R.ok().add(locDetlList);
+ List<Map<String, Object>> result = new ArrayList<>();
+ List<LocDetl> locDetlResultList = new ArrayList<>();
+ List<LocDetl> locDetlResultListHalf = new ArrayList<>();
+ List<CombParam.CombMat> combMats = combParam.getCombMats();
+ for (CombParam.CombMat combMat : combMats){
+ Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>()
+ .eq("matnr", combMat.getMatnr())
+ .eq("specs", combMat.getSpecs())
+ .eq("sku", combMat.getSku())
+ .eq("origin", "涓嶅湪搴�");
+ List<LocDetl> locDetlList = locDetlService.selectList(wrapper);
+ for (LocDetl locDetl : locDetlList){
+ LocDetlFusion locDetlFusion = getLocDetlFusion(combParam, locDetl.getLocNo());
+ if (locDetlFusion.sign != 0 && locDetlFusion.sign != 9999){
+ if (locDetlFusion.sign == combMats.size()){
+ locDetlResultList.add(locDetlFusion.locDetl);
+ } else {
+ locDetlResultListHalf.add(locDetlFusion.locDetl);
+ }
+ }
+ }
+ }
+ for (LocDetl locDetl : locDetlResultList){
+ Map<String, Object> map = new HashMap<>();
+ map.put("locNo", locDetl.getLocNo());
+ map.put("matnr", locDetl.getMatnr());
+ map.put("sku", locDetl.getSku());
+ map.put("anfme", locDetl.getAnfme());
+ map.put("memo", locDetl.getMemo());
+ result.add(map);
+ }
+ for (LocDetl locDetl : locDetlResultListHalf){
+ Map<String, Object> map = new HashMap<>();
+ map.put("locNo", locDetl.getLocNo());
+ map.put("matnr", locDetl.getMatnr());
+ map.put("sku", locDetl.getSku());
+ map.put("anfme", locDetl.getAnfme());
+ map.put("memo", locDetl.getMemo());
+ result.add(map);
+ }
+
+ return R.ok().add(result);
+ }
+
+ public class LocDetlFusion{
+ public Integer sign;
+ public LocDetl locDetl;
+
+ public LocDetlFusion(Integer sign, LocDetl locDetl) {
+ this.sign = sign;
+ this.locDetl = locDetl;
+ }
+ }
+
+ public LocDetlFusion getLocDetlFusion(CombParam combParam,String locNo){
+ LocDetl locDetl = new LocDetl();
+ locDetl.setLocNo(locNo);
+ locDetl.setAnfme(0D);
+ Integer sign = 0;
+ Map<Integer, LocDetl> map = new HashMap<>();
+ List<LocDetl> locDetls= new ArrayList<>();
+
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locNo));
+ if (locMast.getLocSts().equals("F")){
+ List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo));
+ for (CombParam.CombMat combMatNow : combParam.getCombMats()){
+ boolean flag = true;
+ while (flag){
+ flag = false;
+ for (LocDetl locDetlNow : locDetlList){
+ if (locDetlNow.getOrigin().equals("涓嶅湪搴�")){
+ if (combMatNow.getMatnr().equals(locDetlNow.getMatnr())){
+ if (combMatNow.getAnfme().equals(locDetlNow.getAnfme())){
+ LocDetl locDetlAdd = new LocDetl();
+
+ locDetlAdd.sync(locDetlNow);
+ locDetls.add(locDetlAdd);
+ locDetlList.remove(locDetlNow);
+
+ sign++;
+ combMatNow.setMemo("瀹屽叏鍖归厤");
+ break;
+ } else if (combMatNow.getAnfme()>locDetlNow.getAnfme()){
+ double anfme = combMatNow.getAnfme() - locDetlNow.getAnfme();
+ combMatNow.setAnfme(anfme);
+
+ LocDetl locDetlAdd = new LocDetl();
+ locDetlAdd.sync(locDetlNow);
+ locDetls.add(locDetlAdd);
+
+ locDetlList.remove(locDetlNow);
+ flag = true;
+ break;
+ } else if (combMatNow.getAnfme()<locDetlNow.getAnfme()){
+ double anfme = locDetlNow.getAnfme() - combMatNow.getAnfme();
+ locDetlNow.setAnfme(combMatNow.getAnfme());
+
+ LocDetl locDetlAdd = new LocDetl();
+ locDetlAdd.sync(locDetlNow);
+ locDetls.add(locDetlAdd);
+
+ locDetlNow.setAnfme(anfme);
+ sign++;
+ combMatNow.setMemo("瀹屽叏鍖归厤");
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ if (sign == combParam.getCombMats().size()){
+ if (locDetlList.size() == 0 ){
+ locDetl.setMemo("瀹屽叏鍖归厤");
+ } else {
+ locDetl.setMemo("婧㈠嚭鍖归厤");
+ }
+ } else if (locDetls.size() != 0 ){
+ locDetl.setMemo("鏈畬鍏ㄥ尮閰�");
+ sign = 99999999;
+ }
+ }
+ for (LocDetl locDetlNow : locDetls){
+ if (Cools.isEmpty(locDetl.getMatnr())){
+ locDetl.setMatnr(locDetlNow.getMatnr());
+ } else {
+ locDetl.setMatnr(locDetl.getMatnr() + "," + locDetlNow.getMatnr());
+ }
+ if (Cools.isEmpty(locDetl.getSku())){
+ locDetl.setSku(locDetlNow.getSku());
+ } else {
+ locDetl.setSku(locDetl.getSku() + "," + locDetlNow.getSku());
+ }
+ locDetl.setAnfme(locDetlNow.getAnfme() + locDetl.getAnfme());
+ }
+ return new LocDetlFusion(sign,locDetl);
}
@Override
@Transactional
public void kittingCall(String locNo, Long userId) {
+
}
@Override
--
Gitblit v1.9.1