From 4fb06a58ed5df46f29af1e9fa65cfd40335263ad Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 18 一月 2025 17:06:18 +0800 Subject: [PATCH] # 6. 大屏添加作业类型 (全盘,还是分拣 IOType) 10.平库出库时,当前平库ID是写死在Sql里,需修改 11.平库出库没有判断是否预约出库,且生成拣货单时没有锁定库存,需确认是否考虑回库问题 26. 已拣过货的任务明细,可以再次拣货,拣货明细需添加一个拣货状态 47. 确认发货前,需判断是否已绑定至集货区 48. CTU出库后,库位103不再删除原有库位信息 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 169 insertions(+), 6 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java index cb1c1dc..9179179 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java @@ -1,19 +1,34 @@ package com.zy.asrs.wms.asrs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.common.domain.CodeRes; import com.zy.asrs.common.domain.enums.LoginSystemType; import com.zy.asrs.framework.annotations.ManagerAuth; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; +import com.zy.asrs.framework.exception.CoolException; +import com.zy.asrs.wms.asrs.entity.CacheSite; +import com.zy.asrs.wms.asrs.entity.Loc; import com.zy.asrs.wms.asrs.entity.Order; +import com.zy.asrs.wms.asrs.entity.WaitPakin; import com.zy.asrs.wms.asrs.entity.dto.OrderInfoDto; +import com.zy.asrs.wms.asrs.entity.dto.PickSheetDetlDto; +import com.zy.asrs.wms.asrs.entity.dto.ShippingOrderDetlDto; import com.zy.asrs.wms.asrs.entity.param.BatchMergeOrdersParam; +import com.zy.asrs.wms.asrs.entity.param.PageRequest; +import com.zy.asrs.wms.asrs.entity.param.PakinOnShelvesParams; import com.zy.asrs.wms.asrs.service.MobileService; import com.zy.asrs.wms.asrs.service.OrderService; +import com.zy.asrs.wms.asrs.service.WaitPakinService; +import com.zy.asrs.wms.common.domain.BaseParam; import com.zy.asrs.wms.system.controller.BaseController; +import com.zy.asrs.wms.system.entity.Host; import com.zy.asrs.wms.system.entity.User; import com.zy.asrs.wms.system.entity.UserLogin; +import com.zy.asrs.wms.system.service.HostService; import com.zy.asrs.wms.system.service.UserLoginService; import com.zy.asrs.wms.system.service.UserService; import io.jsonwebtoken.lang.Collections; @@ -21,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; +import sun.nio.ch.IOStatus; import java.util.*; @@ -30,7 +46,6 @@ @Value("${super.pwd}") private String superPwd; - @Autowired private UserService userService; @Autowired @@ -39,7 +54,18 @@ private OrderService orderService; @Autowired private MobileService mobileService; + @Autowired + private WaitPakinService waitPakinService; + /** + * 鑾峰彇鐢ㄦ埛鏈烘瀯 + * @return + */ + @GetMapping("/current/host") + public R getUserHost() { + List<Host> hosts = mobileService.getHosts(); + return R.ok(hosts); + } /** * 鍏ュ簱鍗曟嵁--鎵爜鑾峰彇璁㈠崟鏄庣粏鍒楄〃 @@ -48,21 +74,59 @@ */ @PostMapping("/mat/auth") public R getProductForBarcode(@RequestBody Map<String, String> barcode) { + if (Objects.isNull(barcode)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } if (StringUtil.isNullOrEmpty(barcode.get("barcode"))) { return R.error("鏉$爜涓嶈兘涓虹┖锛侊紒"); } Order order = orderService.selectByBarcode(barcode.get("barcode")); - if (!(order.getOrderType() == 1)) { - return R.error("闈炲叆搴撹鍗曪紝 涓嶅彲鎿嶄綔锛侊紒"); + if (Objects.isNull(order)) { + return R.error("璁㈠崟涓嶅瓨鍦紒"); } - if (order.getOrderSettle() > 2) { - return R.error("鍗曟嵁褰撳墠鐘舵�佷笉鍙仛鍏ュ簱鎿嶄綔锛侊紒"); - } + List<OrderInfoDto> orders = orderService.getDetlForOrderId(order.getId()); return R.ok(orders); + } + /** + * 骞冲簱涓婃灦 + * PDA鎵爜鍏ュ簱 + * 1. 缁戝畾搴撲綅鍙蜂笌鎷栫洏鐮� + * 2. 搴撲綅缃负鍦ㄥ簱鐘舵�� + * @return + */ + @PostMapping("/matnr/in/barcode") + public R pakinToStock(@RequestBody PakinOnShelvesParams shelvesParams) { + if (StringUtil.isNullOrEmpty(shelvesParams.getBarcode())) { + return R.error("鎷栫洏鐮佷笉鑳戒负绌猴紒锛�"); + } + if (StringUtil.isNullOrEmpty(shelvesParams.getLoc())) { + return R.error("搴撲綅涓嶈兘涓虹┖锛侊紒"); + } + //TODO 缁戝畾搴撲綅锛屾坊鍔犲簱浣嶆槑缁� + if (mobileService.pakinToStock(shelvesParams)) { + return R.ok("鍏ュ簱鎴愬姛锛侊紒"); + } else { + return R.error("鍏ュ簱澶辫触锛侊紒"); + } + + } + + /** + * 鑾峰彇鎷栫洏鐮佺粦瀹氬晢鍝� + * @return + */ + @GetMapping("/barcode/matnr/{code}") + public R getAllGoods(@PathVariable String code) { + if (StringUtil.isNullOrEmpty(code)) { + return R.error("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�"); + } + List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, code)); + + return R.ok(waitPakins); } @@ -130,4 +194,103 @@ return R.ok("缁勬墭澶辫触锛侊紒"); } } + + /** + * 鑾峰彇鎷h揣鏄庣粏 + * @return + */ + @GetMapping("/pick/detl/{code}") + public R pickDetlByPickNo(@PathVariable String code) { + if (StringUtil.isNullOrEmpty(code)) { + return R.error("鎷h揣鍗曟嵁缂栫爜涓嶈兘涓虹┖锛侊紒"); + } + PickSheetDetlDto pickSheetDetls = mobileService.outFlatSheet(code); + + return R.ok(pickSheetDetls); + } + + /** + * 鎷h揣鍗曠‘璁ゅ嚭搴� + * @param code + * @return + */ + @GetMapping("/pick/confirm/{code}") + public R confirmOutFlatSheet(@PathVariable String code) { + if (StringUtil.isNullOrEmpty(code)) { + return R.error("鎷h揣鍗曟嵁缂栫爜涓嶈兘涓虹┖锛侊紒"); + } + if (!mobileService.confirmFlatSheet(code)) { + return R.error("鍑哄簱澶辫触锛侊紒"); + } + return R.ok("鍑哄簱鎴愬姛锛侊紒"); + } + + + /** + * 鑾峰彇鎾浣� + * @return + */ + @GetMapping("/pick/seed/locs") + public R seedLocs() { + List<CacheSite> sites = mobileService.getSeedLocs(); + return R.ok(sites); + } + + /** + * 璁㈠崟缁戝畾绔欑偣 + * @param param + * @return + */ + @PostMapping("/pick/seed/bind") + public R bindLoc(@RequestBody Map<String, Object> param) { + if (Objects.isNull(param)) { + throw new CoolException("璇锋眰鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(param.get("barcode"))) { + throw new CoolException("鎾澧欏鍣ㄧ紪鐮佷笉鑳戒负绌�"); + } + if (Objects.isNull(param.get("orderNo"))) { + throw new CoolException("璁㈠崟缂栧彿涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(param.get("siteNo"))) { + throw new CoolException("鎾绔欑偣涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(param.get("type"))) { + throw new CoolException("鍙傛暟绫诲瀷涓嶈兘涓虹┖锛侊紒"); + } + boolean result = mobileService.bindOrderBySite(param); + if (result) { + return R.ok("缁戝畾鎴愬姛锛侊紒"); + } else { + return R.error("缁戝畾澶辫触锛侊紒"); + } + } + + + /** + * 鑾峰彇鍙戣揣璁㈠崟鏄庣粏 + * @return + */ + @PostMapping("/shipping/order/detl") + public R getOrderDetl(@RequestBody Map<String, Object> params) { + if (Objects.isNull(params)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return mobileService.selectShippingDetl(params); + } + + /** + * 纭鍙戣揣鍗曟槑缁� + * @return + */ + @PostMapping("/shipping/confirm") + public R confirmShipping(@RequestBody List<ShippingOrderDetlDto> params) { + if (params.isEmpty()) { + throw new CoolException("鍙戣揣鍗曟槑缁嗕笉鑳戒负绌猴紒锛�"); + } + return mobileService.confirmShippingDetl(params); + } + + + } -- Gitblit v1.9.1