From 07dad0e9ef89346439cfcfb5978b0f1cb8f1b512 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期二, 27 五月 2025 12:31:30 +0800 Subject: [PATCH] 新增PDA并板操作 --- src/main/java/com/zy/asrs/controller/MobileController.java | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 163 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 bc16861..c3ea41f 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -8,10 +8,7 @@ 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.GDYKConfirmGoodsParam; -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.*; @@ -23,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.*; /** @@ -472,5 +470,166 @@ return R.ok().add(vos); } + //------------------------------------------------------------------------------------------------------------------------------------------------骞舵澘鍔熻兘鏂板--------------------------------------------------------------------------------------------- + + /** + * 鏂板鎷f枡閫斾腑骞舵澘鍔熻兘 + */ + @RequestMapping("/barcode/list/pick") + @ManagerAuth(memo = "鎷f枡鍏ュ簱閫斾腑骞舵澘") + @Transactional + public R orderOutListOrderPick(@RequestBody String barcode) { + ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>(); + if (Cools.isEmpty(barcode) || barcode.isEmpty()) { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("wrk_sts", 14L) + .eq("io_type", 103)); + wrkMastArrayList.addAll(wrkMasts); + } else { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .like("barcode", barcode) + .eq("wrk_sts", 14L) + .eq("io_type", 103)); + wrkMastArrayList.addAll(wrkMasts); + } + + return R.ok().add(wrkMastArrayList); + } + @RequestMapping("/pick/mat/list") + @ManagerAuth(memo = "鑾峰彇骞舵澘鐗╂枡") + public R pickMats(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) { + List<DocType> docTypes = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1)); + ArrayList<Long> typeList = new ArrayList<>(); + for (DocType docType : docTypes) { + typeList.add(docType.getDocId()); + } + + EntityWrapper<Order> wrapper = new EntityWrapper<>(); + wrapper.eq("status", 1); + wrapper.in("doc_type", typeList); + List<Order> orders = orderService.selectList(wrapper); + + ArrayList<Long> orderIds = new ArrayList<>(); + for (Order order : orders) { + orderIds.add(order.getId()); + } + + //鎼滅储鏄庣粏 + EntityWrapper<OrderDetl> wrapper1 = new EntityWrapper<>(); + wrapper1.eq("status", 1); + wrapper1.in("order_id", orderIds); + wrapper1.orderBy("create_time", false); + if (!Cools.isEmpty(matnr)) { + wrapper1.like("matnr", matnr); + } + if (!Cools.isEmpty(orderNo)) { + wrapper1.like("order_no", orderNo); + } + List<OrderDetl> list = orderDetlService.selectList(wrapper1); + + ArrayList<PickMatParam> maps = new ArrayList<>(); + for (OrderDetl orderDetl : list) { + //鍓╀綑鍙敤鏁伴噺 + double count = orderDetl.getAnfme() - orderDetl.getWorkQty(); + if (count <= 0) { + continue; + } + + PickMatParam matParam = new PickMatParam(); + matParam.setMatnr(orderDetl.getMatnr()); + matParam.setMaktx(orderDetl.getMaktx()); + matParam.setBatch(orderDetl.getBatch()); + matParam.setOrderNo(orderDetl.getOrderNo()); + matParam.setOrderId(orderDetl.getOrderId()); + matParam.setCount(count); + matParam.setUseCount(count); + ////"outOrderNo", "luHao", "packing", "sPgNO", "proType","color"}; + matParam.setOutOrderNo(orderDetl.getOutOrderNo()); + matParam.setLuHao(orderDetl.getLuHao()); + matParam.setPacking(orderDetl.getPacking()); + matParam.setProType(orderDetl.getProType()); + matParam.setSPgNO(orderDetl.getSPgNO()); + matParam.setColor(orderDetl.getColor()); + maps.add(matParam); + } + return R.ok().add(maps); + } + + @RequestMapping(value = "/order/list/orderNo") + public R orderListorderNo(@RequestParam String orderNo) { + //鏁伴噺淇敼鎴愪负瀹屾垚鏁伴噺 + List<OrderDetl> orderDetl1 = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("orderNo", orderNo)); + List<OrderDetl> orderDetls= new ArrayList<OrderDetl>(); + for (OrderDetl o: orderDetl1) { + BigDecimal c1 = new BigDecimal(o.getEnableQty()).setScale(2,BigDecimal.ROUND_HALF_UP); + o.setAnfme(c1.doubleValue()); + if (o.getAnfme().equals(0.0)){ + continue; + } + orderDetls.add(o); + } + return R.ok(orderDetls); + } + + @RequestMapping(value = "/order/list/all") + @ManagerAuth + public R orderList() { + return R.ok(orderService.selectAllorderNo()); + } + + @RequestMapping(value = "/orderDetl/forOrderNo/mergePakin/v1") + @ManagerAuth + public R forOrderNoMergePakinV1(@RequestParam String orderNo) { + List<DocType> docTypes = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1)); + ArrayList<Long> docTypeIds = new ArrayList<>(); + for (DocType docType : docTypes) { + docTypeIds.add(docType.getDocId()); + } + + if (docTypeIds.isEmpty()) { + return R.error("鍗曟嵁绫诲瀷涓嶅瓨鍦�"); + } + + List<Order> orders = orderService.selectList(new EntityWrapper<Order>().in("doc_type", docTypeIds).in("settle", 0, 1, 2)); + if (orders.isEmpty()) { + return R.error("鏈煡璇㈠埌璁㈠崟"); + } + + ArrayList<Long> orderIds = new ArrayList<>(); + for (Order order : orders) { + orderIds.add(order.getId()); + } + + List<OrderDetl> orderDetlList = orderDetlService.selectList(new EntityWrapper<OrderDetl>() + .in("order_id", orderIds) + .like("order_no", orderNo) + ); + if (Cools.isEmpty(orderDetlList)){ + return R.error("鏈煡璇㈠埌姝よ鍗曟鐗╂枡鏁版嵁"); + } + + ArrayList<OrderDetl> orderDetls = new ArrayList<>(); + for(OrderDetl orderDetl:orderDetlList){ + double count = orderDetl.getAnfme() - orderDetl.getWorkQty(); + if (count <= 0D) { + continue; + } + orderDetl.setAnfme(count); + orderDetls.add(orderDetl); + } + return R.ok(orderDetls); + } + + /** + * 鎷f枡閫斾腑骞舵澘 + * + * @param param + * @return + */ + @RequestMapping("/pda/WarehouseOutPickMerge/v1") + @ManagerAuth + public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) { + return mobileService.WarehouseOutPickMergeV1(param,getUserId()); + } } -- Gitblit v1.9.1