From 542f800f8f48b42676522d25dfa4b364e0d028c6 Mon Sep 17 00:00:00 2001 From: mrzhssss <pro6@qq.com> Date: 星期一, 12 九月 2022 14:24:01 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/ManLocDetlController.java | 2 src/main/webapp/static/js/saas/locMove.js | 135 ++++++++++++++++++++++ src/main/java/com/zy/asrs/controller/NodeController.java | 14 ++ src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java | 18 +++ src/main/webapp/views/saas/locMove.html | 130 +++++++++++++++++++++ src/main/java/com/zy/asrs/service/NodeService.java | 2 6 files changed, 301 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ManLocDetlController.java b/src/main/java/com/zy/asrs/controller/ManLocDetlController.java index 5a699cb..f747394 100644 --- a/src/main/java/com/zy/asrs/controller/ManLocDetlController.java +++ b/src/main/java/com/zy/asrs/controller/ManLocDetlController.java @@ -67,4 +67,6 @@ // Page<ManLocDetl> page = manLocDetlService.getPage(manLocDetlPage); return R.ok(outPage); } + + } diff --git a/src/main/java/com/zy/asrs/controller/NodeController.java b/src/main/java/com/zy/asrs/controller/NodeController.java index 6a0c236..a7033ed 100644 --- a/src/main/java/com/zy/asrs/controller/NodeController.java +++ b/src/main/java/com/zy/asrs/controller/NodeController.java @@ -310,4 +310,18 @@ public R initPakout(@RequestBody List<InitPakoutParam> params) { return nodeService.initPakout(params, getUserId(), getHostId()); } + + @PostMapping(value = "/work/empty/stock") + public R getGroupEmptyStock(@RequestParam(required = false) String sourceLocNo) { + List<Node> allEmptys = nodeService.selectList(new EntityWrapper<Node>() + .eq("type","3")); + return R.ok().add(allEmptys); + } + @RequestMapping("/work/move/start") + @ManagerAuth(memo = "搴撲綅绉昏浆") + public R locMoveStart(@RequestParam String sourceLocNo, + @RequestParam String targetLocNo) { + nodeService.locMove(sourceLocNo, targetLocNo, getUserId()); + return R.ok("绉诲簱鍚姩鎴愬姛"); + } } diff --git a/src/main/java/com/zy/asrs/service/NodeService.java b/src/main/java/com/zy/asrs/service/NodeService.java index 29fd936..2de56d4 100644 --- a/src/main/java/com/zy/asrs/service/NodeService.java +++ b/src/main/java/com/zy/asrs/service/NodeService.java @@ -23,4 +23,6 @@ R stockPakin(PakinParam number, Long userId, Long hostId); R initPakout(List<InitPakoutParam> params, Long userId, Long hostId); + + void locMove(String sourceLocNo, String targetLocNo, Long userId); } diff --git a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java index 009310e..ee0c8e8 100644 --- a/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NodeServiceImpl.java @@ -144,4 +144,22 @@ } return R.ok("鍑哄簱鎴愬姛"); } + + @Transactional + @Override + public void locMove(String sourceLocNo, String targetLocNo, Long userId) { + List<ManLocDetl> targets = manLocDetlService.selectList(new EntityWrapper<ManLocDetl>() + .like("loc_no", sourceLocNo)); + for (ManLocDetl target : targets) { + Node uuid = nodeService.selectOne(new EntityWrapper<Node>() + .eq("uuid", targetLocNo)); + if (uuid == null || uuid.equals("")) { + throw new RuntimeException("鏃犳硶鏌ヨ鍒扮Щ搴撶殑鐩爣搴撲綅"); + } + manLocDetlService.deleteById(target); + target.setLocNo(uuid.getUuid()); + target.setNodeId(uuid.getId()); + manLocDetlService.insert(target); + } + } } diff --git a/src/main/webapp/static/js/saas/locMove.js b/src/main/webapp/static/js/saas/locMove.js new file mode 100644 index 0000000..fb558bf --- /dev/null +++ b/src/main/webapp/static/js/saas/locMove.js @@ -0,0 +1,135 @@ +var pageCurr = 0; +var tableIns; +function getCol() { + var cols = [ + {field: 'locNo', align: 'center',title: '搴撲綅鍙�', merge: true, style: 'font-weight: bold'} + ]; + cols.push.apply(cols, detlCols); + return cols; +} + +layui.config({ + base: baseUrl + "/static/layui/lay/modules/" +}).use(['table','laydate', 'form', 'tableMerge'], function() { + var table = layui.table; + var $ = layui.jquery; + var form = layui.form; + var tableMerge = layui.tableMerge; + + // 鏁版嵁娓叉煋 + tableIns = table.render({ + elem: '#locMatCode', + headers: {token: localStorage.getItem('token')}, + // url: baseUrl+'/locDetl/list/auth', + data:[], + page: true, + limit: 16, + limits: [16, 50, 100, 200, 500], + even: true, + cellMinWidth: 50, + cols: [getCol()], + request: { + pageName: 'curr', + pageSize: 'limit' + }, + parseData: function (res) { + return { + 'code': res.code, + 'msg': res.msg, + 'count': res.data.total, + 'data': res.data.records + } + }, + response: { + statusCode: 200 + }, + done: function(res, curr, count) { + tableMerge.render(this); + if (res.code === 403) { + top.location.href = baseUrl+"/"; + } + pageCurr=curr; + limit(); + clearSelect(); + } + }); + +}); + +// 鎼滅储搴撲綅鐗╂枡 +function getLoc(el) { + tableIns.reload({ + url: baseUrl+'/manLocDetl/list' + , where: {loc_no: el.value} + , done:function (res) { + limit(); + clearSelect(); + // 鑾峰彇鍚屼竴鍫嗗灈鏈虹殑绌哄簱浣� + http.post(baseUrl + "/work/empty/stock", {sourceLocNo: el.value}, function (res) { + if (res.data != null) { + var tpl = $("#emptyLocStock").html(); + var template = Handlebars.compile(tpl); + var html = template(res); + $('#targetLocNo').append(html); + layui.form.render('select'); + } + }); + } + }); +} + +// 绉诲簱鍚姩 +function locMove() { + var sourceLocNo = $("#sourceLocNo").val(); + var targetLocNo = $("#targetLocNo").val(); + if (sourceLocNo === null || sourceLocNo === ""){ + $("#sourceLocNo").css("border-color", "red"); + setTimeout(function () { + $("#sourceLocNo").css("border-color", "#b8b8b8"); + }, 1000); + layer.msg("璇疯緭鍏ユ簮搴撲綅"); + return; + } + if (targetLocNo === null || targetLocNo === "") { + $(".layui-select-title .layui-input").css("border-color", "red"); + setTimeout(function () { + $(".layui-select-title .layui-input").css("border-color", "#b8b8b8"); + }, 1000); + layer.msg("璇疯緭鍏ョ洰鏍囧簱浣�"); + return; + } + $.ajax({ + url: baseUrl + "/work/move/start", + headers: {'token': localStorage.getItem('token')}, + dataType: 'json', + data: { + sourceLocNo: sourceLocNo, + targetLocNo: targetLocNo + }, + method: 'POST', + success: function (res) { + if (res.code === 200) { + $("#sourceLocNo").val(""); + $("#targetLocNo").empty(); + layui.form.render('select'); + tableIns.reload({ + data: [], + url: '', + done:function (res) { + limit();clearSelect(); + } + }); + layer.msg(res.msg); + } else if (res.code === 403) { + top.location.href = baseUrl + "/"; + } else { + layer.msg(res.msg); + } + } + }) +} + +function clearSelect() { + $("#targetLocNo").empty(); + layui.form.render('select'); +} diff --git a/src/main/webapp/views/saas/locMove.html b/src/main/webapp/views/saas/locMove.html new file mode 100644 index 0000000..d28fbec --- /dev/null +++ b/src/main/webapp/views/saas/locMove.html @@ -0,0 +1,130 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title></title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> + <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all"> + <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all"> + <link rel="stylesheet" href="../../static/css/cool.css" media="all"> + <link rel="stylesheet" href="../../static/css/common.css" media="all"> + <style> + html { + height: 100%; + padding: 10px; + background-color: #f1f1f1; + box-sizing: border-box; + } + body { + background-color: #fff; + border-radius: 5px; + box-shadow: 0 0 3px rgba(0,0,0,.3); + padding-bottom: 20px; + } + .function-area { + padding: 50px 80px 50px 70px; + display: inline-block; + } + .cool-auto-complete-div { + height: 40px; + border-radius: 5px; + border: 1px solid #b8b8b8; + color: #888; + box-shadow: inset 0 1px 2px #ECECEC; + -moz-box-shadow: inset 0 1px 2px #ECECEC; + -webkit-box-shadow: inset 0 1px 2px #ECECEC; + } + + .function-btn { + margin-left: 15px; + background: #E27575; + border: none; + padding: 10px 25px 10px 25px; + color: #FFF; + box-shadow: 1px 1px 5px #B6B6B6; + border-radius: 3px; + text-shadow: 1px 1px 1px #9E3F3F; + cursor: pointer; + } + .function-btn:hover { + opacity: 0.8 + } + + .layui-layer-lan .layui-layer-btn a { + background: #4476A7; + border-color: #4476A7; + color: #fff; + } + .layui-layer-lan .layui-layer-btn .layui-layer-btn1 { + background: #fff; + color: #333; + border-color: #E9E7E7; + } + .layui-layer-lan .layui-layer-btn .layui-layer-btn1:hover { + background-color: #f7f7f7; + } + + #loc-move-btn { + /*display: none;*/ + } + </style> +</head> +<body> + +<div class="function-area layui-form"> + <!-- 婧愬簱浣� --> + <div class="layui-inline"> + <div class="layui-input-inline"> + <input id="sourceLocNo" class="layui-input" onkeyup="getLoc(this)" type="text" placeholder="婧愬簱浣�" autocomplete="off"> + </div> + </div> + <div class="layui-form-mid" style="float: none; display: inline-block; margin-left: 10px">-</div> + <div class="layui-input-inline"> + <select id="targetLocNo" name="modules" lay-verify="required" lay-search=""> + <option value="">鐩爣绌哄簱浣�</option> + </select> + </div> + <button id="loc-move-btn" class="function-btn" onclick="locMove()" style="background: #4476A7;text-shadow: inherit;height: 45px;font-size: 15px;margin-left: 20px">搴撲綅绉昏浆</button> +</div> + +<hr> + +<table class="layui-table" id="locMatCode" lay-filter="locMatCode"></table> + +<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> +<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> +<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> +<script type="text/javascript" src="../../static/js/saas/locMove.js" charset="utf-8"></script> + +<script type="text/template" id="emptyLocStock"> + <option value="">璇疯緭鍏ュ苟閫夋嫨</option> + {{#each data}} + <option value="{{this.uuid}}">{{this.uuid}}</option> + {{/each}} +</script> + +<div id="locMoveWindow" style="height: 100%;display: none"> + <div style="float: left;width: 35%;height: 100%"> + <div> + <span style="display: block">婧愬簱浣�</span> + <input type="text"> + </div> + </div> + <div style="float: left;width: 30%;height: 100%;position: relative;"> + <span style="position:absolute;top: 45%;left: 50%;color: #666;transform: translateX(-50%);;display: block">绉昏浆鑷�</span> + <hr style="position: absolute; top: 50%;width: 100%;border: none;height: 1px;background-color: #666"> + + </div> + <div style="float: right;width: 35%;height: 100%"> + <div> + <span style="display: block">鐩爣搴撲綅</span> + <input type="text"> + </div> + </div> +</div> +</body> +</html> -- Gitblit v1.9.1