From 824c29bc60bb0b33e8930319878fbf2e5d7562ca Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 04 十二月 2024 16:40:36 +0800 Subject: [PATCH] #盘点 --- src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java | 14 ++++ src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js | 29 ++++++++- src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 3 src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java | 12 ++++ src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 2 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 33 ++++++++++ src/main/java/com/zy/asrs/controller/MobileController.java | 15 +++++ src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html | 19 +++++- src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java | 18 +++++ src/main/java/com/zy/asrs/service/MobileService.java | 3 + 10 files changed, 138 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java index a8121cb..4fac744 100644 --- a/src/main/java/com/zy/asrs/controller/MobileController.java +++ b/src/main/java/com/zy/asrs/controller/MobileController.java @@ -544,6 +544,13 @@ return R.ok("鐩樼偣鎴愬姛"); } + @RequestMapping("/pda/adjust/auth") + @ManagerAuth(memo = "pda鐩樼偣") + public R pdaAdjust(@RequestBody pdaAdjustParam param){ + mobileService.pdaAdjust(param,getUserId()); + return R.ok("鐩樼偣鎴愬姛"); + } + @PostMapping("/order/out/pakout/auth") @ManagerAuth(memo = "璁㈠崟鍑哄簱") public synchronized R pakoutByOrder(@RequestBody JSONObject param) { @@ -554,6 +561,14 @@ return R.ok("鍑哄簱鎴愬姛"); } + @GetMapping("/checkOut/submit/auth") + @ManagerAuth(memo = "鐩樼偣涓婁紶") + public R CheckOutsubmitERP(@RequestParam String orderId){ + + return R.ok("鐩樼偣鎴愬姛"); + } + + @RequestMapping("/ddd/ddd") @ManagerAuth() public R ddd() { diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java index 5e79a0b..bff935b 100644 --- a/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java +++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrder.java @@ -81,5 +81,19 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } + public String getStatus$(){ + if (Cools.isEmpty(this.status)){ + return ""; + } + switch (this.status){ + case "1": + return "鏈彁浜�"; + case "2": + return "宸叉彁浜�"; + default: + return ""; + } + } + } diff --git a/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java index 9e3f267..2961436 100644 --- a/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java +++ b/src/main/java/com/zy/asrs/entity/InventoryCheckOrderDetl.java @@ -50,7 +50,7 @@ @ApiModelProperty(value= "") @TableField("check_anfme") - private String checkAnfme; + private Double checkAnfme; @ApiModelProperty(value= "") @TableField("io_time") @@ -102,5 +102,21 @@ } } + public String getProfit$(){ + if (Cools.isEmpty(this.status) && !this.status.equals("1")){ + return "鏈洏鐐�"; + } + if (Cools.isEmpty(this.anfme) || Cools.isEmpty(this.checkAnfme)){ + return ""; + } + if (this.anfme > this.checkAnfme){ + return "鐩樹簭"; + }else if (this.anfme < this.checkAnfme){ + return "鐩樼泩"; + }else { + return "骞�"; + } + } + } diff --git a/src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java new file mode 100644 index 0000000..e2d63ab --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/pdaAdjustParam.java @@ -0,0 +1,12 @@ +package com.zy.asrs.entity.param; + +import com.zy.asrs.entity.InventoryCheckOrderDetl; +import lombok.Data; + +import java.util.List; + +@Data +public class pdaAdjustParam { + private String barcode; + private List<InventoryCheckOrderDetl> param; +} diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java index b57d3e3..20ebd9e 100644 --- a/src/main/java/com/zy/asrs/service/MobileService.java +++ b/src/main/java/com/zy/asrs/service/MobileService.java @@ -8,6 +8,7 @@ import com.zy.asrs.entity.param.CombParam; import com.zy.asrs.entity.param.MobileAdjustParam; import com.zy.asrs.entity.param.OffSaleParam; +import com.zy.asrs.entity.param.pdaAdjustParam; import java.util.Date; import java.util.Map; @@ -53,4 +54,6 @@ Double curOutQty, Integer ioType, Long userId, Date now); void leftoversOut(Map<String, Object> map, Long userId); + + void pdaAdjust(pdaAdjustParam param, Long userId); } diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index b8f8d62..7c6f793 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -74,6 +74,8 @@ private ManLocDetlService manLocDetlService; @Autowired private ManLocDetlMapper manLocDetlMapper; + @Resource + private InventoryCheckOrderDetlService inventoryCheckOrderDetlService; @Resource private BasDevpMapper basDevpMapper; @@ -372,7 +374,8 @@ waitPakin.setAppeTime(now); waitPakin.setModiUser(userId); waitPakin.setModiTime(now); - waitPakin.setManu(detlDto.getMark()); + waitPakin.setManu(detlDto.getMark()); //鏍囪 + waitPakin.setOrigin(order.getItemName());//浠撳簱 if (!waitPakinService.insert(waitPakin)) { throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); } @@ -876,6 +879,34 @@ } @Override + public void pdaAdjust(pdaAdjustParam param, Long userId) { + if (Cools.isEmpty(param)){ + throw new CoolException("鐩樼偣鍒楄〃鍙傛暟涓虹┖"); + } + for (InventoryCheckOrderDetl orderDetl: param.getParam()){ + InventoryCheckOrderDetl inventoryCheckOrderDetl = inventoryCheckOrderDetlService.selectOne(new EntityWrapper<InventoryCheckOrderDetl>() + .eq("order_no", orderDetl.getOrderNo()) + .eq("matnr", orderDetl.getMatnr()) + .eq("batch", orderDetl.getBatch())); + if (Cools.isEmpty(inventoryCheckOrderDetl)){ + throw new CoolException("鏈煡璇㈠埌鐩樼偣淇℃伅"); + } + if (!inventoryCheckOrderDetl.getStatus().equals("1")){ + throw new CoolException("璇ヤ换鍔″凡鐩樼偣"); + } + inventoryCheckOrderDetl.setCheckAnfme(orderDetl.getCheckAnfme()); + inventoryCheckOrderDetl.setStatus("2"); + if (!inventoryCheckOrderDetlService.updateById(inventoryCheckOrderDetl)){ + throw new CoolException("淇濆瓨鐩樼偣淇℃伅澶辫触!"); + } + + } + + + + } + + @Override @Transactional public void stockOut(OrderDetl orderDetl, BasDevp staNo, LocDetl locDetl, Double curOutQty, Integer ioType, Long userId, Date now) { diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index aa738ba..30e4e23 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -376,7 +376,7 @@ inventoryCheckOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx()); inventoryCheckOrderDetl.setBatch(detlDto.getLocDetl().getBatch()); inventoryCheckOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo()); - inventoryCheckOrderDetl.setArea(wrkMast.getCrnNo$()); + inventoryCheckOrderDetl.setArea(detlDto.getLocDetl().getOrigin()); inventoryCheckOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme()); inventoryCheckOrderDetl.setIoTime(now); inventoryCheckOrderDetl.setStatus("1"); diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index a6b57af..435a15e 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -95,7 +95,8 @@ LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); if (null != locDetl) { - if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { + Double anfme = locDetl.getAnfme()+wrkDetl.getAnfme(); + if (!locDetlService.updateAnfme(anfme, wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { // exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); diff --git a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js index 74b1125..a4bfba5 100644 --- a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js +++ b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js @@ -30,8 +30,7 @@ where: {order_id: 9999999999}, cols: [[ {type: 'checkbox'} - ,{type: 'numbers', title: '#'} - ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160} + ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'} ,{field: 'locNo', align: 'center',title: '搴撲綅'} ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160} ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200} @@ -49,6 +48,7 @@ // ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'} // ,{field: 'count', align: 'center',title: '鏁伴噺'} // ,{field: 'weight', align: 'center',title: '閲嶉噺'} + ,{field: 'profit$', align: 'center',title: '鐩堜簭',templet: '#profitTpl'} ,{field: 'status$', align: 'center',title: '鐘舵��'} // ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳'} // ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'} @@ -169,7 +169,7 @@ /* 琛ㄦ牸2澶村伐鍏锋爮鐐瑰嚮浜嬩欢 */ table.on('toolbar(orderDetlTable)', function (obj) { - + // console.log(obj.config.where.order_id); var checkStatus = table.checkStatus(obj.config.id).data; if (obj.event === 'pakoutPreview') { // 娣诲姞 if (checkStatus.length === 0) { @@ -189,6 +189,29 @@ return d.id; }); doDelSensor({ids: ids}); + } else if (obj.event === 'submitERP') { // 鎻愪氦erp + $.ajax({ + url: baseUrl + "/mobile/checkOut/submit/auth", + headers: {'token': localStorage.getItem('token')}, + // contentType: 'application/json;charset=UTF-8', + data: { + orderId: obj.config.where.order_id + }, + method: 'GET', + success: function (res) { + notice.destroy(); + if (res.code === 200) { + layer.msg(res.msg, {icon: 1}); + insTb.reload({where: null}); + insTb2.reload({where: null, page: {curr: 1}}); + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg, {icon: 2}) + } + } + }); + } }); diff --git a/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html b/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html index 11105c5..ba16a75 100644 --- a/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html +++ b/src/main/webapp/views/inventoryCheckOrder/inventoryCheckOrder.html @@ -81,6 +81,7 @@ <button class="layui-btn icon-btn" lay-filter="originTbReset" lay-submit> <i class="layui-icon"></i>閲嶇疆 </button> + <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>娣诲姞</button> </div> </div> </form> @@ -92,7 +93,7 @@ <div class="layui-col-md9"> <div class="layui-card"> <div class="layui-card-body" style="padding: 10px;"> - <button id="showFormBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon"></i>娣诲姞</button> + <!-- <form class="layui-form toolbar">--> <!-- <div class="layui-form-item">--> <!--<!– <div class="layui-inline">–>--> @@ -147,8 +148,8 @@ <!-- </select>--> <!-- </div>--> <!-- </div>--> -<!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="pakoutPreview">鎵归噺鍑哄簱</button>--> - +<!-- <button class="layui-btn layui-btn-sm layui-btn-danger btn-pakoutPreview" id="btn-pakoutPreview" lay-event="submitERP"><i class="layui-icon"></i>鎻愪氦ERP</button>--> + <button id="submitERP" class="layui-btn icon-btn btn-add" lay-event="submitERP"><i class="layui-icon"></i>鎻愪氦ERP</button> </script> <!-- 琛屽伐鍏锋爮 --> @@ -210,6 +211,18 @@ <input type="checkbox" name="status" value="{{d.status}}" lay-skin="switch" lay-text="姝e父|绂佺敤" lay-filter="statusSwitch" {{ d.status === 1 ? 'checked' : '' }}> </script> +<script type="text/html" id="profitTpl"> + <span name="settle" + {{# if( d.profit$ === "鐩樹簭"){ }} + class="layui-badge layui-badge-red" + {{# }else if(d.profit$ === "鐩樼泩"){ }} + class="layui-badge layui-badge-green" + {{# }else if(d.profit$ === "骞�"){ }} + class="layui-badge layui-badge-gray" + {{# } }} + >{{d.profit$}}</span> +</script> + <!-- 琛ㄥ崟寮圭獥 --> <script type="text/html" id="editDialog"> <form id="detail" lay-filter="detail" class="layui-form admin-form"> -- Gitblit v1.9.1