From 177188e74cbb15581132578b7b2857957b667a94 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 21 十月 2025 16:24:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/MobileController.java | 218 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 215 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 daf2809..f6b706f 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -13,17 +13,23 @@
import com.zy.asrs.entity.result.MobileAdjustResult;
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
+import com.zy.asrs.utils.MathUtils;
import com.zy.asrs.utils.OrderInAndOutUtil;
import com.zy.common.model.WrkDto;
import com.zy.common.utils.Synchro;
import com.zy.common.web.BaseController;
import com.zy.nc.entity.NccJcQilibcBarcodeflowWms;
+import com.zy.nc.entity.NccQilibcTmprintWms;
+import com.zy.nc.entity.NccSaleXclGgsybWms;
import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService;
+import com.zy.nc.service.NccQilibcTmprintWmsService;
+import com.zy.nc.service.NccSaleXclGgsybWmsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.util.*;
/**
@@ -58,16 +64,27 @@
private ManLocDetlMapper manLocDetlMapper;
@Autowired
private WrkDetlLogService wrkDetlLogService;
+ @Autowired
+ private WrkMastLogService wrkMastLogService;
+ @Autowired
+ private StoreTypeService storeTypeService;
@Autowired
private MatService matService;
@Autowired
private NccJcQilibcBarcodeflowWmsService nccJcQilibcBarcodeflowWmsService;
@Autowired
+ private NccQilibcTmprintWmsService nccQilibcTmprintWmsService;
+ @Autowired
+ private NccSaleXclGgsybWmsService nccSaleXclGgsybWmsService;
+ @Autowired
private OrderPakinService orderPakinService;
@Resource
private StaDescService staDescService;
+
+ @Autowired
+ private OrderDetlPakinService orderDetlPakinService;
@RequestMapping("/pda/WarehouseOut/v1")
@ManagerAuth(memo = "骞舵澘閫斾腑鎷f枡-鍙傝�冨康鍒�")
@@ -209,15 +226,15 @@
Synchro.Copy(orderDetl, combMat);
combMat.setMatnr(orderDetl.getMatnr());
combMat.setBatch(orderDetl.getBatch());
- combMat.setAnfme(orderDetl.getAnfme() - orderDetl.getWorkQty());
+ combMat.setAnfme(MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getWorkQty()));
combMat.setMaktx(orderDetl.getMaktx());
combMat.setSpecs(orderDetl.getSpecs());
- combMat.setEnableQty(orderDetl.getAnfme() - orderDetl.getWorkQty());
+ combMat.setEnableQty(MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getWorkQty()));
combMats.add(combMat);
}
combParam.setCombMats(combMats);
}
- combParam.setOrderNo(order.getOrderNo());
+ //combParam.setOrderNo(order.getOrderNo());
combParams.add(combParam);
}
}
@@ -240,15 +257,189 @@
Mat mat = matService.selectByMatnr(nccJcQilibcBarcodeflowWms.getWlbm());
MatParam matParam = new MatParam();
Synchro.Copy(mat, matParam);
+ OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>().eq("order_no", nccJcQilibcBarcodeflowWms.getZkdh()).eq("matnr", mat.getMatnr()).eq("batch", nccJcQilibcBarcodeflowWms.getVbatchcode()));
+ if (orderDetlPakin == null) {
+ throw new CoolException("鏈壘鍒版鍗曞彿");
+ }
+ matParam.setStandby1(orderDetlPakin.getStandby1());
matParam.setOrderNo(nccJcQilibcBarcodeflowWms.getZkdh());
matParam.setBatch(nccJcQilibcBarcodeflowWms.getVbatchcode());
matParam.setAnfme(nccJcQilibcBarcodeflowWms.getAsnnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getAsnnum().doubleValue());
+ matParam.setWeight(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue());
+ matParam.setAnfme2(nccJcQilibcBarcodeflowWms.getNastnum() == null ? 0.0D : nccJcQilibcBarcodeflowWms.getNastnum().doubleValue());
+ matParam.setTiaoma(nccJcQilibcBarcodeflowWms.getVbarcode());
+ matParam.setCstateid(nccJcQilibcBarcodeflowWms.getCstateid());
return R.ok().add(matParam);
+
+ }
+
+ @RequestMapping(value = "/mat/auth")
+ @ManagerAuth
+ public R pdaSearchV3(@RequestParam String matnr) {
+ EntityWrapper<NccQilibcTmprintWms> wrapper = new EntityWrapper<>();
+ wrapper.eq("BARCODE", matnr).orderBy("PRINTTIME", false);
+ NccQilibcTmprintWms nccQilibcTmprintWms = nccQilibcTmprintWmsService.selectOne(wrapper);
+ if (null == nccQilibcTmprintWms) {
+ return R.error("鏈壘鍒版鏉$爜");
+ }
+ Mat mat = matService.selectByMatnr(nccQilibcTmprintWms.getWlbm());
+ MatParam matParam = new MatParam();
+ Synchro.Copy(mat, matParam);
+ matParam.setBatch(nccQilibcTmprintWms.getVbatchcode());
+// matParam.setAnfme(nccQilibcTmprintWms.getAsnnum() == null ? 0.0D : nccQilibcTmprintWms.getAsnnum().doubleValue());
+// matParam.setAnfme2(nccQilibcTmprintWms.getNastnum() == null ? 0.0D : nccQilibcTmprintWms.getNastnum().doubleValue());
+ matParam.setAnfme(0.0D);
+ matParam.setAnfme2(0.0D);
+ matParam.setTiaoma(nccQilibcTmprintWms.getBarcode());
+ matParam.setStandby1(nccQilibcTmprintWms.getCkbm());
+ matParam.setCstateid(nccQilibcTmprintWms.getCstateid());
+ return R.ok().add(matParam);
+ }
+
+ @RequestMapping(value = "/mat/back")
+ @ManagerAuth
+ public R pdaSearchBack(@RequestParam String barcode) {
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+ .eq("barcode", barcode)
+ .in("io_type", 101, 103, 107, 53, 57)
+ .orderBy("appe_time", false)
+ );
+
+ String matnr = null;
+ String batch = null;
+ String cstateid = null;
+ String standby1 = null;
+ String orderNo = null;
+
+ if(wrkMast != null) {
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>()
+ .eq("wrk_no", wrkMast.getWrkNo())
+ .eq("zpallet", barcode)
+ .orderBy("io_time", false)
+ );
+ if (wrkDetls.isEmpty()) {
+ return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰曟槑缁�");
+ }
+
+ WrkDetl wrkDetl = wrkDetls.get(0);
+ matnr = wrkDetl.getMatnr();
+ batch = wrkDetl.getBatch();
+ cstateid = wrkDetl.getCstateid();
+ standby1 = wrkDetl.getStandby1();
+ orderNo = wrkDetl.getOrderNo();
+ }
+
+ if(matnr == null) {
+ WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>()
+ .eq("barcode", barcode)
+ .in("io_type", 101, 103, 107)
+ .orderBy("appe_time", false)
+ );
+
+ if(null == wrkMastLog) {
+ return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰�");
+ }
+
+ List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>()
+ .eq("wrk_no", wrkMastLog.getWrkNo())
+ .eq("zpallet", barcode)
+ .orderBy("io_time", false)
+ );
+ if (wrkDetlLogs.isEmpty()) {
+ return R.error("鏈壘鍒版鎵樼洏鐮佸嚭搴撹褰曟槑缁�");
+ }
+
+ WrkDetlLog wrkDetlLog = wrkDetlLogs.get(0);
+
+ matnr = wrkDetlLog.getMatnr();
+ batch = wrkDetlLog.getBatch();
+ cstateid = wrkDetlLog.getCstateid();
+ standby1 = wrkDetlLog.getStandby1();
+ orderNo = wrkDetlLog.getOrderNo();
+ }
+
+ HashMap<String, Object> map = new HashMap<>();
+ Mat mat = matService.selectByMatnr(matnr);
+ if (mat == null) {
+ return R.error("鏈壘鍒扮墿鏂欐槑缁�");
+ }
+ MatParam matParam = new MatParam();
+ Synchro.Copy(mat, matParam);
+ matParam.setBatch(batch);
+ matParam.setAnfme(0.0D);
+ matParam.setAnfme2(0.0D);
+ matParam.setTiaoma(batch);
+ matParam.setCstateid(cstateid);
+ matParam.setStandby1(standby1);
+
+ String[] split = orderNo.split("-");
+ map.put("orderNo", split[0]);
+ map.put("matData", matParam);
+ return R.ok().add(map);
+ }
+
+ @RequestMapping("/comb/cancel")
+ @ManagerAuth(memo = "鍙栨秷缁勬墭")
+ public R combCancel(@RequestBody CombCancelParam param) {
+ mobileService.combCancel(param, getUserId());
+ return R.ok("鍙栨秷缁勬墭鎴愬姛");
}
@RequestMapping("/comb/auth")
@ManagerAuth(memo = "缁勬墭")
public R comb(@RequestBody CombParam combParam) {
+ mobileService.comb(combParam, getUserId());
+ return R.ok("缁勬墭鎴愬姛");
+ }
+
+ @RequestMapping("/comb2/auth")
+ @ManagerAuth(memo = "閲囪喘缁勬墭")
+ public R comb2(@RequestBody CombParam combParam) {
+ CombParam.CombMat combMat = combParam.getCombMats().get(0);
+
+ ArrayList<String> ckbmList = new ArrayList<>();
+ List<StoreType> storeTypes = storeTypeService.selectList(new EntityWrapper<StoreType>()
+ .like("store_name", "绔嬩綋搴�"));
+ for (StoreType storeType : storeTypes) {
+ ckbmList.add(storeType.getStoreId());
+ }
+
+// NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>()
+// .eq("WLBM", combMat.getMatnr())
+// .eq("VBATCHCODE", combMat.getBatch())
+// .in("CKBM", ckbmList)
+// );
+// if(null == nccSaleXclGgsybWms) {
+// return R.error("鏈煡鍒癊RP搴撳瓨");
+// }
+//
+// //ERP搴撳瓨鏁伴噺
+// BigDecimal zsl = nccSaleXclGgsybWms.getZsl();
+//
+// //鑾峰彇绔嬪簱鏁伴噺
+// List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+// .eq("matnr", combMat.getMatnr())
+// .eq("batch", combMat.getBatch())
+// );
+// BigDecimal stockNum = new BigDecimal(0);
+// for (LocDetl locDetl : locDetls) {
+// stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme()));
+// }
+//
+// //鍔犱笂缁勬墭鏁伴噺
+// for (CombParam.CombMat mat : combParam.getCombMats()) {
+// stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme()));
+// }
+//
+// if(stockNum.doubleValue() > zsl.doubleValue()) {
+// return R.error("缁勬墭鏁伴噺瓒呰繃ERP搴撳瓨");
+// }
+//
+// List<CombParam.CombMat> combMats = combParam.getCombMats();
+// for (CombParam.CombMat mat : combMats) {
+// mat.setStandby1(nccSaleXclGgsybWms.getCkbm());
+// }
+
mobileService.comb(combParam, getUserId());
return R.ok("缁勬墭鎴愬姛");
}
@@ -541,4 +732,25 @@
return R.ok("鍑哄簱鎴愬姛");
}
+ @RequestMapping("/checkOut/submit/auth")
+ @ManagerAuth(memo = "鐩樼偣涓婃姤ERP")
+ public R checkOutSubmit(@RequestParam("orderId") Integer orderId) {
+ mobileService.checkOutSubmit(orderId, getUserId());
+ return R.ok("涓婃姤ERP鎴愬姛");
+ }
+
+ @RequestMapping("/pallet/toOutSta")
+ @ManagerAuth(memo = "鎵樼洏鍘诲嚭搴撳彛")
+ public R toOutSta(@RequestBody PalletToOutStaParam param) {
+ mobileService.toOutSta(param, getUserId());
+ return R.ok();
+ }
+
+ @RequestMapping("/pallet/toAllOut")
+ @ManagerAuth(memo = "鎷f枡杞叏鏉�")
+ public R toAllOut(@RequestBody PalletToAllOutParam param) {
+ mobileService.toAllOut(param, getUserId());
+ return R.ok();
+ }
+
}
--
Gitblit v1.9.1