From fa5d671a53597db853ac1ab2e99f12f0acda8315 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 27 六月 2025 10:54:13 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/MobileController.java | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 169 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 716d347..a9cdf6e 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -13,18 +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.model.enumUtils.OrderEnumVo; 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.*; /** @@ -59,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枡-鍙傝�冨康鍒�") @@ -207,16 +223,18 @@ LinkedList<CombParam.CombMat> combMats = new LinkedList<>(); for (OrderDetl orderDetl : orderDetls) { CombParam.CombMat combMat = new CombParam.CombMat(); + 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(MathUtils.subtract(orderDetl.getAnfme(), orderDetl.getWorkQty())); combMats.add(combMat); } combParam.setCombMats(combMats); } - combParam.setOrderNo(order.getOrderNo()); + //combParam.setOrderNo(order.getOrderNo()); combParams.add(combParam); } } @@ -239,14 +257,140 @@ 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(12D); + 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()); 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()); + return R.ok().add(matParam); + } + + @RequestMapping(value = "/mat/back") + @ManagerAuth + public R pdaSearchBack(@RequestParam String barcode) { + 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); + String batch = wrkDetlLog.getBatch(); + + HashMap<String, Object> map = new HashMap<>(); + Mat mat = matService.selectByMatnr(wrkDetlLog.getMatnr()); + 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); + + String[] split = wrkDetlLog.getOrderNo().split("-"); + map.put("orderNo", split[0]); + map.put("matData", matParam); + return R.ok().add(map); } @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("缁勬墭鎴愬姛"); } @@ -501,6 +645,27 @@ return R.ok(); } + @RequestMapping("/checkDetl/auth/v2") + @ManagerAuth + public R getCheckDetlV2(@RequestParam(required = false) String barcode) { + if (Cools.isEmpty(barcode)) { + return R.ok(); + } + WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); + if (wrkMast != null && (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 57)) { + List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); + if (!Cools.isEmpty(wrkDetls)) { + MobileAdjustResult result = new MobileAdjustResult(); + result.setBarcode(barcode); + result.setWrkNo(wrkMast.getWrkNo()); + result.setWrkDetls(wrkDetls); + return R.ok().add(result); + } + } + return R.ok(); + } + + @RequestMapping("/adjust/auth") @ManagerAuth(memo = "鐩樼偣") public R adjust(@RequestBody MobileAdjustParam combParam) { -- Gitblit v1.9.1