From 70b86bb70e6941127888979dbde37dda3b1db0b6 Mon Sep 17 00:00:00 2001 From: cp <513960435@qq.com> Date: 星期二, 19 十一月 2024 09:14:43 +0800 Subject: [PATCH] 完善下架功能 --- zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java | 2 zy-asrs-wms/src/main/webapp/static/js/mat/mat.js | 28 +++++- zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java | 92 ++++++++++++++++++++-- zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java | 3 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java | 42 ++++++++-- zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java | 5 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java | 65 +++------------- 7 files changed, 158 insertions(+), 79 deletions(-) diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java index b27d87f..a08aee8 100644 --- a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java +++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java @@ -36,7 +36,7 @@ // private Double price; // // //sku -// private String sku; + private String sku; // // //浜у湴 // private String origin; diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java index 9dd70e8..4872ed1 100644 --- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java +++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java @@ -376,7 +376,7 @@ .eq(LocDetl::getHostId, hostId) .eq(LocDetl::getZpallet, combMat.getZpallet()) .eq(LocDetl::getMatnr, combMat.getMatnr()) - .eq(LocDetl::getBatch, combMat.getBatch()) +// .eq(LocDetl::getBatch, combMat.getBatch()) ); if (Cools.isEmpty(locDetl)){ return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁"); @@ -397,7 +397,7 @@ continue; } if (orderDetl.getAnfme() < orderDetl.getWorkQty()+combMat.getAnfme()){ - throw new CoolException("涓嬫灦鏁伴噺鍑洪敊"); + combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty()); } // 淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺 if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) { @@ -851,4 +851,5 @@ return R.ok(); } + } diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java index 82ab630..526be1b 100644 --- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java +++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java @@ -432,6 +432,9 @@ .eq(LocMast::getHostId, hostId)); // 鑾峰彇璺緞 int ioType = taskDto.isAll() ? 101 : 103; + if(ioType==101){ + staNo=102; + } // 鑾峰彇璺緞 StaDesc staDesc = staDescService.getOne(new LambdaQueryWrapper<StaDesc>().eq(StaDesc::getTypeNo, ioType).eq(StaDesc::getStnNo, staNo).eq(StaDesc::getHostId, hostId)); // 鐢熸垚宸ヤ綔鍙� diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java index 32772ee..45fd7af 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java @@ -48,13 +48,10 @@ @RequestMapping(value = "/locDetl/forlocNo/auth/v1") @ManagerAuth - public R forlocNoV1(@RequestParam String locNo,@RequestParam String matnr) { + public R forlocNoV1(@RequestParam String locNo) { LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>() .eq(LocDetl::getLocNo, locNo) .eq(LocDetl::getHostId, getHostId()); - if (!Cools.isEmpty(matnr)) { - locDetlLambdaQueryWrapper.eq(LocDetl::getMatnr, matnr); - } List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper); if (Cools.isEmpty(detls)){ return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁"); @@ -299,56 +296,20 @@ @RequestMapping(value = "/stock/out/list/auth") @ManagerAuth - public R stockOutList(@RequestParam(defaultValue = "1") Integer curr, - @RequestParam(defaultValue = "10") Integer limit, - @RequestParam(required = false)String orderByField, - @RequestParam(required = false)String orderByType, - @RequestParam(required = false) String condition, - @RequestParam(required = false) String timeRange, - @RequestParam Map<String, Object> param) { - QueryWrapper<LocDetl> wrapper = new QueryWrapper<>(); - - if (!Cools.isEmpty(param.get("decrees"))) { - ArrayList<String> mats = new ArrayList<>(); - List<Mat> decrees = matService.list(new LambdaQueryWrapper<Mat>().like(Mat::getDecrees, param.get("decrees"))); - if (decrees.isEmpty()) { - mats.add("-1"); - }else { - for (Mat mat : decrees) { - mats.add(mat.getMatnr()); - } + public R stockOutList(@RequestParam(defaultValue = "1")Integer curr, + @RequestParam(defaultValue = "10")Integer limit, + @RequestParam Map<String, Object> param){ + if (!Cools.isEmpty(param.get("modi_time"))){ + String val = String.valueOf(param.get("modi_time")); + if (val.contains(RANGE_TIME_LINK)) { + String[] dates = val.split(RANGE_TIME_LINK); + param.put("startTime", DateUtils.convert(dates[0])); + param.put("endTime", DateUtils.convert(dates[1])); + param.remove("modi_time"); } - wrapper.in("matnr", mats); - param.remove("decrees"); } - - convert(param,wrapper); - wrapper.eq("host_id", getHostId()); -// if (!Cools.isEmpty(condition)) { -// wrapper.like(LocDetl::getLocNo, condition); -// } - if (!Cools.isEmpty(timeRange)) { - String[] range = timeRange.split(RANGE_TIME_LINK); - wrapper.ge("appe_time", DateUtils.convert(range[0])); - wrapper.le("appe_time", DateUtils.convert(range[1])); - } - if (!Cools.isEmpty(param.get("locNo"))) { - wrapper.like("loc_no", param.get("locNo")); - } - - if (!Cools.isEmpty(param.get("zpallet"))) { - wrapper.like("zpallet", param.get("zpallet")); - } - - if (!Cools.isEmpty(orderByField)){ - wrapper.orderBy(true, "asc".equals(orderByType), humpToLine(orderByField)); - } - - param.remove("locNo"); - param.remove("owner"); - param.remove("matnr"); - allLike(LocDetl.class, param.keySet(), wrapper, condition); - return R.ok(locDetlService.page(new Page<>(curr, limit), wrapper)); + param.put("hostId", getHostId()); + return R.ok(locDetlService.getStockOut(curr, limit, param)); } @RequestMapping(value = "/locDetl/statis/export") diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java index ac291c0..ea3fdf0 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java @@ -251,18 +251,44 @@ } List<Mat> mats=matService.list(); for (Mat mat:mats - ) { + ) { List<LocDetl>locDetls=locDetlService.list(new LambdaQueryWrapper<LocDetl>() .eq(LocDetl::getMatnr,mat.getMatnr())); for (LocDetl locDetl:locDetls - ) { + ) { locDetl.setMaktx(mat.getMaktx()); - locDetl.setSpecs(mat.getSpecs()); - locDetl.setModel(mat.getModel()); - locDetl.setSku(mat.getSku()); - locDetl.setItemNum(mat.getImgNum());//鍥惧彿 - locDetl.setWeight(Double.parseDouble(mat.getWeight())); - locDetl.setLength(Double.parseDouble(mat.getLength())); + + if(!Cools.isEmpty(mat.getSpecs())){ + locDetl.setSpecs(mat.getSpecs()); + }else{ + locDetl.setSpecs(""); + } + if(!Cools.isEmpty(mat.getModel())){ + locDetl.setModel(mat.getModel()); + }else { + locDetl.setModel(""); + } + if(!Cools.isEmpty(mat.getSku())){ + locDetl.setSku(mat.getSku()); + }else { + locDetl.setSku(""); + } + //鍥惧彿 + if(!Cools.isEmpty(mat.getImgNum())){ + locDetl.setItemNum(mat.getImgNum()); + }else { + locDetl.setItemNum(""); + } +// if(!Cools.isEmpty(mat.getWeight())){ +// locDetl.setWeight(Double.parseDouble(mat.getWeight())); +// }else { +// locDetl.setWeight(0.0); +// } +// if(!Cools.isEmpty(mat.getLength())){ +// locDetl.setLength(Double.parseDouble(mat.getLength())); +// }else { +// locDetl.setLength(0.0); +// } locDetlService.updateById(locDetl); } } diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java index a84fb60..0f9375b 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java @@ -22,10 +22,7 @@ import com.zy.asrs.framework.exception.CoolException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.*; import java.util.stream.Collectors; @@ -69,6 +66,7 @@ /** * 骞冲韩涓婃灦 + * * @param locNo * @param barcode * @return @@ -81,6 +79,7 @@ /** * 骞冲韩涓嬫灦 + * * @param combParam * @return */ @@ -128,8 +127,8 @@ .eq(OrderDetl::getMatnr, matnr) .like(OrderDetl::getOrderNo, orderNo) .orderByDesc(OrderDetl::getCreateTime)); - for (OrderDetl orderDetl:list - ) { + for (OrderDetl orderDetl : list + ) { double count = orderDetl.getAnfme() - orderDetl.getWorkQty(); PickMatParam matParam = new PickMatParam(); matParam.setMatnr(orderDetl.getMatnr()); @@ -165,18 +164,19 @@ @RequestMapping("/pda/WarehouseOutPickMerge/v1") @ManagerAuth public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) { - return mobileService.WarehouseOutPickMergeV1(param, getHostId(),getUserId()); + return mobileService.WarehouseOutPickMergeV1(param, getHostId(), getUserId()); } /** * 澶氭骞舵澘 + * * @param param * @return */ @RequestMapping("/pda/WarehouseOutMergeBoardMany/v1") @ManagerAuth public R WarehouseOutMergeBoardManyV1(@RequestBody WarehouseOutMergeBoardManyParam param) { - return mobileService.WarehouseOutMergeBoardMany(param, getHostId(),getUserId()); + return mobileService.WarehouseOutMergeBoardMany(param, getHostId(), getUserId()); } @RequestMapping("/menu/pda/auth") @@ -534,7 +534,7 @@ @RequestMapping("/outBound/order/list") @ManagerAuth(memo = "鑾峰彇鍑哄簱璁㈠崟") - public R outBound(@RequestParam(required = false) String matnr,@RequestParam(required = false) String orderNo){ + public R outBound(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) { List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakout, 1)); ArrayList<Long> typeList = new ArrayList<>(); for (DocType docType : docTypes) { @@ -776,4 +776,78 @@ return R.ok().add(wrkMastArrayList); } + @PostMapping("/pda/OutLocNo") + @ManagerAuth(memo = "鑾峰緱骞冲簱鍑哄簱鐨勫搴斿簱浣嶅彿") + @Transactional + public R OutLocNo(@RequestParam Long orderId) { + List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>() + .eq(OrderDetl::getOrderId, orderId) + .eq(OrderDetl::getHostId, getHostId()) + ); + if (Cools.isEmpty(orderDetls)) { + return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�"); + } + List<String> list = new ArrayList<>(); + for (OrderDetl o : orderDetls + ) { + if (o.getAnfme() <= o.getWorkQty()) { + continue; + } else { + //鏌ョ湅搴撲綅鏄庣粏涓湁鐨勭墿鏂� + List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>() + .eq(LocDetl::getMatnr, o.getMatnr()).eq(LocDetl::getHostId, getHostId()) + ); + if (Cools.isEmpty(locDetls)) { + continue; + } else { + for (LocDetl l : locDetls + ) { + String s = l.getLocNo().substring(1, 2); + if (Integer.valueOf(s) > 4) { + list.add(l.getLocNo()); + } + } + + } + } + } + List<String> myList = list.stream().distinct().collect(Collectors.toList()); + return R.ok(myList); + } + + @PostMapping("/pda/OrderDetlContrastLocDetl") + @ManagerAuth(memo = "鑾峰緱璁㈠崟鏄庣粏瀵瑰簲鐨勫簱瀛樻槑缁�") + @Transactional + public R OrderDetlContrastLocDetl(@RequestParam Long orderId, @RequestParam String locNo) { + List<LocDetl> locDetlList = new ArrayList<LocDetl>(); + List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>() + .eq(OrderDetl::getOrderId, orderId) + .eq(OrderDetl::getHostId, getHostId()) + ); + if (Cools.isEmpty(orderDetls)) { + return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�"); + } + List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>() + .eq(LocDetl::getLocNo, locNo)); + if (Cools.isEmpty(locDetls)) { + return R.error("搴撲綅涓虹┖"); + } + for (OrderDetl o : orderDetls + ) { + for (LocDetl l : locDetls + ) { + if (o.getMatnr().equals(l.getMatnr())) { + if (o.getAnfme() - o.getWorkQty() >= l.getAnfme()) { + + } else { + l.setAnfme(o.getAnfme() - o.getWorkQty()); + } + locDetlList.add(l); + break; + } + } + } + return R.ok(locDetlList); + } + } diff --git a/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js b/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js index b4cd9eb..f40461f 100644 --- a/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js +++ b/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js @@ -16,8 +16,8 @@ layui.config({ base: baseUrl + "/static/layui/lay/modules/" }).extend({ - dropdown: 'dropdown/dropdown', -}).use(['table','laydate', 'form', 'treeTable', 'admin', 'xmSelect', 'dropdown', 'element'], function(){ + dropdown: 'dropdown/dropdown',notice: 'notice/notice', +}).use(['table','laydate', 'form', 'treeTable','notice', 'admin', 'xmSelect', 'dropdown', 'element'], function(){ var table = layui.table; var $ = layui.jquery; var layer = layui.layer; @@ -26,7 +26,7 @@ admin = layui.admin; var treeTable = layui.treeTable; var xmSelect = layui.xmSelect; - + var notice = layui.notice; // 鍟嗗搧鍒嗙被鏁版嵁 var insTb = treeTable.render({ elem: '#tag', @@ -367,11 +367,25 @@ // 鍚屾搴瓨 form.on('submit(synchronous)', function (data) { layer.confirm('纭鍚屾搴瓨锛�', function(){ - http.get(baseUrl+"/hand/control/wrkMast", {workNo: data.wrkNo, type:1}, function (res) { - $(".layui-laypage-btn")[0].click(); - layer.msg(data.wrkNo + res.msg); + notice.msg('姝e湪鍚屾搴瓨......', {icon: 4}); + $.ajax({ + url: baseUrl+"/mat/synchronous", + headers: {'token': localStorage.getItem('token')}, + method: 'GET', + success: function (res) { + notice.destroy(); + // layer.close(loadIndex); + if (res.code === 200){ + layer.close(dIndex); + layer.msg(res.msg, {icon: 1}); + $(".layui-laypage-btn")[0].click(); + } else if (res.code === 403){ + top.location.href = baseUrl+"/"; + }else { + layer.msg(res.msg, {icon: 2}); + } + } }) - layer.closeAll(); }); }); -- Gitblit v1.9.1