zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-wms/src/main/webapp/static/js/mat/mat.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zy-asrs-wms/src/main/webapp/views/mat/mat.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/LocDetl.java
@@ -26,6 +26,7 @@ import java.io.Serializable; import java.util.Date; import java.util.List; @Data @TableName("wms_loc_detl") @@ -307,7 +308,15 @@ public Mat getMat$(){ MatService service = SpringUtils.getBean(MatService.class); Mat mat = service.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)); Mat mat = null; if (hostId!=null){ mat = service.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr).eq(Mat::getHostId,hostId)); }else { List<Mat> list = service.list(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, matnr)); if (!list.isEmpty()){ mat =list.get(0); } } if (!Cools.isEmpty(mat)){ return mat; } zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/CommonService.java
@@ -160,7 +160,7 @@ List<LocMast> locMasts = locMastService.queryFreeLocMast2(locTypeDto.getLocType1(), locRule.getRowBeg(), locRule.getRowEnd(), locRule.getBayBeg(), locRule.getBayEnd(), locRule.getLevBeg(), locRule.getLevEnd(), hostId,WHS_TYPE); for (LocMast locMast0 : locMasts) { //预留空库位 if (locMastService.checkEmptyCount(locMast0, 10, hostId)) { if (locMastService.checkEmptyCount(locMast0, 5, hostId)) { return locMast0; } } zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
@@ -6,10 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zy.asrs.common.utils.TreeUtils; import com.zy.asrs.common.wms.entity.*; import com.zy.asrs.common.wms.service.LocDetlService; import com.zy.asrs.common.wms.service.LocMastService; import com.zy.asrs.common.wms.service.MatService; import com.zy.asrs.common.wms.service.WrkMastService; import com.zy.asrs.common.wms.service.*; import com.zy.asrs.framework.annotations.ManagerAuth; import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.R; @@ -35,6 +32,8 @@ private LocMastService locMastService; @Autowired private WrkMastService wrkMastService; @Autowired private WrkDetlService wrkDetlService; @RequestMapping(value = "/mat/{id}/auth") @ManagerAuth @@ -295,4 +294,36 @@ } return R.ok(); } @PostMapping("/mat/sync") @ManagerAuth public R synchronous(@RequestBody Mat data) { // 检查是否有任务中使用了该物料 int wrkCount = wrkDetlService.count(new LambdaQueryWrapper<WrkDetl>() .eq(WrkDetl::getMatnr, data.getMatnr())); if (wrkCount > 0) { return R.error("该物料正在被任务使用,禁止同步"); } // 查询对应库存明细 List<LocDetl> locDetls = locDetlService.list( new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getMatnr, data.getMatnr()) ); for (LocDetl locDetl : locDetls) { locDetl.setMaktx(data.getMaktx()); locDetl.setSpecs(Cools.isEmpty(data.getSpecs()) ? "" : data.getSpecs()); locDetl.setModel(Cools.isEmpty(data.getModel()) ? "" : data.getModel()); locDetl.setSku(Cools.isEmpty(data.getSku()) ? "" : data.getSku()); locDetl.setItemNum(Cools.isEmpty(data.getImgNum()) ? "" : data.getImgNum()); // 若需要同步重量和长度,取消注释 // locDetl.setWeight(Cools.isEmpty(data.getWeight()) ? 0.0 : Double.parseDouble(data.getWeight())); // locDetl.setLength(Cools.isEmpty(data.getLength()) ? 0.0 : Double.parseDouble(data.getLength())); locDetlService.updateById(locDetl); } return R.ok(); } } zy-asrs-wms/src/main/webapp/static/js/mat/mat.js
@@ -234,6 +234,36 @@ case 'edit': showEditModel(data) break; case'sync': case 'sync': layer.confirm('确认同步库存?', function () { notice.msg('正在同步库存......', {icon: 4}); // 加载提示 $.ajax({ url: baseUrl + "/mat/sync", method: 'POST', contentType: 'application/json', // 正确的Content-Type位置 headers: { 'token': localStorage.getItem('token') }, data: JSON.stringify(data), success: function (res) { notice.destroy(); // 移除“正在同步”提示 if (res.code === 200) { layer.msg('同步成功 ✅', {icon: 1}); // ✅ 成功提示 $(".layui-laypage-btn")[0].click(); // 触发表格刷新 } else { layer.msg(res.msg || '同步失败 ❌', {icon: 2}); // ❌ 失败提示 } }, error: function (xhr) { notice.destroy(); layer.msg('请求失败:' + (xhr.responseText || '未知错误'), {icon: 2}); } }); }); break; } }); zy-asrs-wms/src/main/webapp/views/mat/mat.html
@@ -162,7 +162,9 @@ <script type="text/html" id="operate"> <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="edit">修改</a> <!-- <a class="layui-btn layui-btn-xs btn-edit layui-btn-primary" lay-event="sync">同步</a>--> <button class="layui-btn layui-btn-xs btn-print" lay-event="btnPrint">打印</button> <button class="layui-btn layui-btn-xs btn-sync" lay-event="sync">同步</button> </script> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> @@ -255,7 +257,7 @@ <div class="layui-form-item"> <label class="layui-form-label">机型</label> <div class="layui-input-block"> <input name="model" type="number" placeholder="请输入机型" class="layui-input"> <input name="model" placeholder="请输入机型" class="layui-input"> </div> </div>