From c0bc2548715c8506bc69c5b6625e0810264b9fb6 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期五, 17 十月 2025 15:24:25 +0800
Subject: [PATCH] 联调
---
src/main/java/com/zy/asrs/controller/MobileController.java | 281 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 239 insertions(+), 42 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 4a80660..b2ab2ba 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -2,27 +2,26 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.CombParam;
-import com.zy.asrs.entity.param.MobileAdjustParam;
-import com.zy.asrs.entity.param.OffSaleParam;
+import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.common.model.WrkDto;
+import com.zy.common.service.CommonService;
import com.zy.common.web.BaseController;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.*;
-import java.util.List;
/**
* 绉诲姩绔帴鍙f帶鍒跺櫒
@@ -30,7 +29,7 @@
*/
@RestController
@RequestMapping("mobile")
-public class MobileController extends BaseController {
+public class MobileController extends BaseController {
@Autowired
private MobileService mobileService;
@@ -54,23 +53,35 @@
private PackService packService;
@Autowired
private ManLocDetlMapper manLocDetlMapper;
+ @Autowired
+ private WrkDetlLogService wrkDetlLogService;
+ @Autowired
+ private MatService matService;
+ @Autowired
+ private MatBarcodeService matBarcodeService;
+ @Autowired
+ private CommonService commonService;
+ @Autowired
+ private WorkService workService;
+
+ private static Logger logger = LogManager.getLogger(MobileController.class);
// 鍟嗗搧涓婃灦
@RequestMapping("/mat/onSale/auth")
@ManagerAuth
- public R matOnSale(@RequestBody CombParam combParam){
+ public R matOnSale(@RequestBody CombParam combParam) {
mobileService.onSale(combParam);
return R.ok("涓婃灦鎴愬姛");
}
+
// 鍟嗗搧涓嬫灦
@RequestMapping("/mat/offSale/auth")
//@ManagerAuth
- public R matOffSale(@RequestBody OffSaleParam offSaleParam){
+ public R matOffSale(@RequestBody OffSaleParam offSaleParam) {
mobileService.offSale(offSaleParam);
return R.ok("涓嬫灦鎴愬姛");
}
-
// 缁勬墭 ----------------------------------------------------------------------------------------------------
@@ -101,18 +112,18 @@
// }
@RequestMapping("/order/search/orderNo/auth")
@ManagerAuth
- public R orderSearchByBarcode(@RequestParam String orderNo){
- if (Cools.isEmpty(orderNo)){
- orderNo=null;
+ public R orderSearchByBarcode(@RequestParam String orderNo) {
+ if (Cools.isEmpty(orderNo)) {
+ orderNo = null;
}
List<Order> orders = orderService.selectorderNoL(orderNo);
- if (Cools.isEmpty(orders)){
+ if (Cools.isEmpty(orders)) {
return R.ok();
}
LinkedList<CombParam> combParams = new LinkedList<>();
- if (!Cools.isEmpty(orders)){
- for (Order order:orders){
- CombParam combParam=new CombParam();
+ if (!Cools.isEmpty(orders)) {
+ for (Order order : orders) {
+ CombParam combParam = new CombParam();
if (order == null) {
continue;
}
@@ -126,17 +137,20 @@
List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
if (!Cools.isEmpty(orderDetls)) {
LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
- for (OrderDetl orderDetl:orderDetls){
+ for (OrderDetl orderDetl : orderDetls) {
CombParam.CombMat combMat = new CombParam.CombMat();
combMat.setMatnr(orderDetl.getMatnr());
combMat.setBatch(orderDetl.getBatch());
- combMat.setAnfme(orderDetl.getAnfme());
+ combMat.setAnfme(orderDetl.getAnfme() - orderDetl.getWorkQty());
combMat.setMaktx(orderDetl.getMaktx());
combMat.setSpecs(orderDetl.getSpecs());
+ combMat.setDetId(orderDetl.getDetId());
+ combMat.setDetlId(orderDetl.getId());
combMats.add(combMat);
}
combParam.setCombMats(combMats);
}
+ combParam.setBillNo(order.getOrderNo());
combParam.setOrderNo(order.getOrderNo());
combParams.add(combParam);
}
@@ -146,14 +160,37 @@
@RequestMapping("/comb/auth")
@ManagerAuth(memo = "缁勬墭")
- public R comb(@RequestBody CombParam combParam){
+ public R comb(@RequestBody CombParam combParam) {
+ logger.info("缁勬墭鍙傛暟锛歿}", combParam);
+ if (Cools.isEmpty(combParam.getOrderNo())) {
+ combParam.setOrderNo(combParam.getBillNo());
+ }
+ List<CombParam.CombMat> combMats = combParam.getCombMats();
+ combMats.forEach(elem -> {
+ if (Cools.isEmpty(elem.getBatch())) {
+ elem.setBatch(elem.getItemBatch());
+ }
+ });
mobileService.comb(combParam, getUserId());
return R.ok("缁勬墭鎴愬姛");
}
+ @RequestMapping("/pickIn/auth")
+// @ManagerAuth(memo="鐩樼偣鍏ュ簱")
+ public R pickIn(@RequestParam String barcode) {
+ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+ List<PickInParam> param = wrkDetlService.selectDetByBarcode(barcode);
+ for (PickInParam pickInParam : param) {
+ pickInParam.setStaNo(wrkMast.getStaNo());
+ pickInParam.setWorkNo(wrkMast.getWrkNo());
+ }
+ return R.ok().add(param);
+ }
+
+
@RequestMapping("/pack/get/auth")
@ManagerAuth
- public R packGet(@RequestParam String barcode){
+ public R packGet(@RequestParam String barcode) {
Pack pack = packService.selectByBarcode(barcode);
if (pack == null) {
return R.ok();
@@ -164,12 +201,12 @@
return R.ok("缁勬墭鎴愬姛");
}
- @RequestMapping("/pack/comb/auth")
- @ManagerAuth(memo = "涓嬬嚎缁勬墭")
- public R packComb(@RequestBody CombParam combParam){
- mobileService.packComb(combParam, getUserId());
- return R.ok("缁勬墭鎴愬姛");
- }
+// @RequestMapping("/pack/comb/auth")
+// @ManagerAuth(memo = "涓嬬嚎缁勬墭")
+// public R packComb(@RequestBody CombParam combParam) {
+// mobileService.packComb(combParam, getUserId());
+// return R.ok("缁勬墭鎴愬姛");
+// }
// 鍑哄簱 ---------------------------------------------------------------------------------------------------
@@ -177,22 +214,20 @@
@RequestMapping("/pakout/query/auth")
@ManagerAuth
@Deprecated
- public R pakoutQuery(@RequestParam(required = false) String barcode,
- @RequestParam(required = false) Integer staNo,
- @RequestParam(required = false) String matnr){
- if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) {
+ public R pakoutQuery(@RequestParam String barcode) {
+ if (Cools.isEmpty(barcode)) {
return R.ok();
}
if (!Cools.isEmpty(barcode)) {
List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", barcode));
return R.ok().add(wrkDetls);
}
- if (!Cools.isEmpty(matnr)) {
- if (!Cools.isEmpty(staNo)) {
- List<WrkDetl> wrkDetls = wrkDetlService.selectPakoutQuery(staNo, matnr);
- return R.ok().add(wrkDetls);
- }
- }
+// if (!Cools.isEmpty(matnr)) {
+// if (!Cools.isEmpty(staNo)) {
+// List<WrkDetl> wrkDetls = wrkDetlService.selectPakoutQuery(staNo, matnr);
+// return R.ok().add(wrkDetls);
+// }
+// }
return R.ok();
}
@@ -203,7 +238,7 @@
*/
@RequestMapping("/pakout/confirm/barcode/auth")
@ManagerAuth
- public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
+ public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode) {
if (Cools.isEmpty(barcode)) {
return R.ok();
}
@@ -217,10 +252,35 @@
return R.ok();
}
+ /**
+ * 鍑哄簱纭 - 鎵揣鐗� 骞垮痉瀹滅鐗�
+ * 1.鍏ㄦ澘 杩斿洖 101
+ * 2.鎷f枡 杩斿洖 103
+ */
+ @RequestMapping("/pakout/confirm/goods/auth") //寰呭畬鍠� 鍘熷洜锛堝鎴锋湭缁欏嚭璇︾粏淇℃伅锛�
+ @ManagerAuth
+ public R pakoutQueryByGoods(@RequestBody GDYKConfirmGoodsParam combParam) {
+ if (Cools.isEmpty(combParam)) {
+ return R.ok();
+ }
+// List<Order> orders = orderService.selectorderNoL(batch);
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no", combParam.getOrderNo()));
+ if (Cools.isEmpty(orderDetl)) {
+ return R.error("鏈煡鍒版暟鎹�");
+ }
+ if (!orderDetl.getQty$().equals("宸插畬鎴�")) {
+ return R.error("浠诲姟鏈畬鎴�");
+ }
+ //澶嶆牳鏁�
+ orderDetl.setSource(1);
+ orderDetlService.updateById(orderDetl);
+ return R.ok();
+ }
+
// 鏍规嵁搴撲綅鐮佸拰鍟嗗搧鐮佹悳绱㈠晢鍝�
@RequestMapping("/mat/find/auth")
public R find(@RequestParam(required = false) String locNo
- , @RequestParam(required = false) String matnr){
+ , @RequestParam(required = false) String matnr) {
//List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr);
ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr);
return R.ok(manLocDetl);
@@ -233,7 +293,7 @@
@RequestMapping("/pakout/confirm/pick/auth")
@ManagerAuth
public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
- , @RequestParam(required = false) String matnr){
+ , @RequestParam(required = false) String matnr) {
if (Cools.isEmpty(wrkNo)) {
return R.ok();
}
@@ -368,7 +428,7 @@
@RequestMapping("/adjust/auth")
@ManagerAuth(memo = "鐩樼偣")
- public R adjust(@RequestBody MobileAdjustParam combParam){
+ public R adjust(@RequestBody MobileAdjustParam combParam) {
mobileService.adjust(combParam, getUserId());
return R.ok("鐩樼偣鎴愬姛");
}
@@ -376,11 +436,148 @@
@PostMapping("/order/out/pakout/auth")
@ManagerAuth(memo = "璁㈠崟鍑哄簱")
public synchronized R pakoutByOrder(@RequestBody JSONObject param) {
- if(!param.containsKey("staNo") || !param.containsKey("orderNo")){
+ if (!param.containsKey("staNo") || !param.containsKey("orderNo")) {
return R.parse(BaseRes.PARAM);
}
- mobileService.pakoutByOrder(param,getUserId());
+ mobileService.pakoutByOrder(param, getUserId());
return R.ok("鍑哄簱鎴愬姛");
}
+
+ /**
+ * 鏍规嵁閫氱煡鍗曟煡璇㈡槑缁�
+ */
+ @RequestMapping("/bill/query1/auth")
+ @ManagerAuth(memo = "鏍规嵁閫氱煡鍗曟煡璇㈡槑缁�")
+ public R billQuery1(@RequestParam String billNo, @RequestParam String size) {
+ Order temp1 = orderService.selectOne(new EntityWrapper<Order>().eq("temp1", billNo));
+ if (temp1 == null) {
+ throw new CoolException("璇ヨ鍗曚笉瀛樺湪");
+ }
+ List<OrderDetl> waitMatins = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", temp1.getOrderNo()).last("and anfme > work_qty"));
+ if (waitMatins == null || waitMatins.isEmpty()) {
+ throw new CoolException("璇ヨ鍗曢」涓嶅瓨鍦�");
+ }
+ //濡傛灉閫氱煡鍗曞崟鍙蜂负绌猴紝鍒欐煡璇㈣皟鎷ㄥ崟鍙�
+// if (Cools.isEmpty(waitMatins) || waitMatins.size() <= 0) {
+// waitMatins = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("temp1", billNo).like("size", size).last("and anfme > work_qty"));
+// }
+
+ List<CombBillQueryVo> vos = new ArrayList<>();
+ if (!Cools.isEmpty(waitMatins)) {
+ for (OrderDetl waitMatin : waitMatins) {
+ CombBillQueryVo vo = new CombBillQueryVo();
+ vo.setDetlId(waitMatin.getId());
+ vo.setMatnr(waitMatin.getMatnr());
+ vo.setMatName(waitMatin.getMaktx());
+ vo.setQty(waitMatin.getAnfme() - waitMatin.getWorkQty());
+ vo.setCount(waitMatin.getAnfme() - waitMatin.getWorkQty());
+ vo.setBillNo(waitMatin.getOrderNo());
+ vo.setSeqNo(waitMatin.getINo());
+ vo.setUnit(waitMatin.getUnit());
+ vo.setSpecs(waitMatin.getSpecs());
+ vo.setSize(waitMatin.getModel());
+ vo.setColor(waitMatin.getColor());
+ vo.setItemBatch(waitMatin.getBatch());
+ vo.setLuHao(waitMatin.getLuHao());
+ vo.setOutOrderNo(waitMatin.getOutOrderNo());
+ vo.setSPgNO(waitMatin.getSPgNO());
+ vo.setProType(waitMatin.getProType());
+ vo.setPacking(waitMatin.getPacking());
+ //vo.setOveFlag(waitMatin.getOveFlag());
+ vos.add(vo);
+ }
+ }
+ return R.ok().add(vos);
+ }
+
+ @RequestMapping("/callBarcode")
+ @ManagerAuth(memo = "PDA鍛煎彨鎵樼洏鍑哄簱")
+ public R callBarcode(@RequestBody CombParam combParam) {
+ logger.info("PDA鍛煎彨鎵樼洏鍑哄簱");
+ if (combParam == null) {
+ return R.parse(BaseRes.PARAM);
+ }
+ combParam.getCombMats().forEach(combMat -> {
+ Mat mat = matService.selectByMatnr(combMat.getMatnr());
+ if (mat == null) {
+ throw new CoolException("鍟嗗搧妗f涓嶅瓨鍦�");
+ }
+ MatBarcode matBarcode = matBarcodeService.selectbyMatnr(combMat.getMatnr());
+ if (matBarcode == null) {
+ throw new CoolException("璇ョ墿鏂欐湭涓庢墭鐩樼粦瀹�");
+ }
+ LocMast locMast = locMastService.selectByBarcode(matBarcode.getZpallet());
+ if (locMast == null) {
+ throw new CoolException("鏈壘鍒颁笌璇ョ墿鏂欑粦瀹氱殑鎵樼洏");
+ }
+ int wrkNo = commonService.getWorkNo(0);
+ Date now = new Date();
+ //鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(wrkNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(11L);//宸ヤ綔鐘舵�侊細鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(101);//鍏ュ嚭搴撶姸鎬侊細骞舵澘鍑哄簱
+ wrkMast.setIoPri(13D);//浼樺厛绾�
+ wrkMast.setCrnNo(locMast.getCrnNo());
+// wrkMast.setSourceStaNo(dto.getSourceStaNo());//婧愮珯
+ wrkMast.setStaNo(101);// 鐩爣绔�
+ wrkMast.setSourceLocNo(locMast.getLocNo());// 婧愬簱浣�
+ wrkMast.setBarcode(matBarcode.getZpallet()); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+// wrkMast.setScWeight(weight);
+ wrkMast.setCtnType(0); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ if (locMast.getLocSts().equals("F")) {
+ locMast.setLocSts("R"); // R.鍑哄簱棰勭害
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(locMast.getLocNo() + "鐩爣搴撲綅鐘舵�佷笉涓篎");
+ }
+ });
+ return R.ok();
+ }
+
+
+ @RequestMapping("/combMeger/auth")
+ @ManagerAuth(memo = "骞舵澘")
+ public synchronized R adjustNewV2(@RequestBody MobileAdjustParam combParam) {
+ mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
+ return R.ok("骞舵澘鎴愬姛");
+ }
+
+ @RequestMapping("/empty/plate/out/start")
+ @ManagerAuth(memo = "绌烘澘鍑哄簱")
+ public R emptyPlateOutStart(EmptyPlateOutParam param) {
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("loc_type1", param.getType()).in("row1", 2, 3));
+ if (locMasts == null || locMasts.isEmpty()) {
+ locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("loc_type1", param.getType()).in("row1", 1, 4));
+ }
+ if (locMasts == null || locMasts.isEmpty()){
+ return R.error("鏃犵┖鏉垮簱浣�");
+ }
+ param.setOutSite(1103);
+ List<String> locNos = param.getLocNos();
+ if (locNos == null){
+ locNos = new ArrayList<>();
+ }
+ locNos.add(locMasts.get(0).getLocNo());
+ param.setLocNos(locNos);
+ workService.emptyPlateOut(param, getUserId());
+ return R.ok("鍑哄簱鍚姩鎴愬姛");
+ }
}
--
Gitblit v1.9.1