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 | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 172 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index 0e0e7c6..c3ea41f 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -2,28 +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.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.*; import com.zy.common.model.WrkDto; 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.math.BigDecimal; import java.util.*; -import java.util.List; /** * 绉诲姩绔帴鍙f帶鍒跺櫒 @@ -58,6 +56,8 @@ @Autowired private WrkDetlLogService wrkDetlLogService; + + private static Logger logger = LogManager.getLogger(MobileController.class); // 鍟嗗搧涓婃灦 @RequestMapping("/mat/onSale/auth") @@ -150,6 +150,7 @@ @RequestMapping("/comb/auth") @ManagerAuth(memo = "缁勬墭") public R comb(@RequestBody CombParam combParam) { + logger.info("缁勬墭鍙傛暟锛歿}",combParam); if (Cools.isEmpty(combParam.getOrderNo())) { combParam.setOrderNo(combParam.getBillNo()); } @@ -427,7 +428,10 @@ 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("璇ヨ鍗曚笉瀛樺湪"); + temp1 = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", 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()) { @@ -466,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