From 21a9bab4a910f78ed182c24543195698a63b1fe0 Mon Sep 17 00:00:00 2001 From: 18516761980 <tqsxp@163.com> Date: 星期四, 09 三月 2023 14:56:41 +0800 Subject: [PATCH] # --- src/main/webapp/views/wrkMast/wrkMast.html | 15 -- src/main/webapp/views/wrkMast/wrkMast_detail.html | 163 ++------------------------------ src/main/webapp/static/js/wrkMast/wrkMast.js | 22 ++++ src/main/webapp/static/js/common.js | 2 src/main/java/com/zy/asrs/controller/WrkMastController.java | 94 +++++++++++++++++- 5 files changed, 120 insertions(+), 176 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java index 3a6a9c5..1d4ff1f 100644 --- a/src/main/java/com/zy/asrs/controller/WrkMastController.java +++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java @@ -10,8 +10,10 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.core.exception.CoolException; +import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.WrkMast; -import com.zy.asrs.service.WrkMastService; +import com.zy.asrs.service.*; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -23,6 +25,8 @@ @Autowired private WrkMastService wrkMastService; + @Autowired + private LocMastService locMastService; @RequestMapping(value = "/wrkMast/{id}/auth") @ManagerAuth @@ -77,18 +81,94 @@ return R.ok(); } - @RequestMapping(value = "/wrkMast/update/auth") - @ManagerAuth(memo = "宸ヤ綔妗d慨鏀�") + @RequestMapping(value = "/wrkMast/update/auth") + @ManagerAuth(memo = "宸ヤ綔妗d慨鏀�") public R update(WrkMast wrkMast){ if (Cools.isEmpty(wrkMast) || null==wrkMast.getWrkNo()){ - return R.error(); + return R.error("宸ヤ綔鍙峰紓甯�"); + }else if (wrkMast.getWrkSts()==null){ + return R.error("淇敼鐘舵�佸紓甯�"); } - wrkMast.setModiUser(getUserId()); - wrkMast.setModiTime(new Date()); - wrkMastService.updateById(wrkMast); + WrkMast wrkMast1=null; + try{ + wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkMast.getWrkNo())); + if (Cools.isEmpty(wrkMast1) || null==wrkMast1.getWrkNo()){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鏌ヨ澶辫触"); + }else if (wrkMast1.getWrkSts()==null){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鐘舵�佸紓甯�"); + } + }catch (Exception e){ + return R.error("澶辫触!!!璇峰皾璇曞埛鏂伴〉闈€��"+"寮傚父鍘熷洜锛�"+e); + } + if (wrkMast1.getWrkSts()-wrkMast.getWrkSts()==0){ + return R.error("鎵�閫夌姸鎬佷笌姝ゅ伐浣滄。鐘舵�佷竴鑷达紝鏃犻渶淇敼"); + } + if (juBge(wrkMast.getWrkSts(), wrkMast1)){ + return R.error("淇敼鐘舵�佸け璐ワ紝璇疯鑼冩搷浣�"); + } + wrkMast1.setModiUser(getUserId()); + wrkMast1.setModiTime(new Date()); + wrkMast1.setWrkSts(wrkMast.getWrkSts()); + wrkMastService.updateById(wrkMast1); return R.ok(); } + public Boolean juBge(Long wrkSts1,WrkMast wrkMast1){ + if (wrkSts1>20){ + throw new CoolException("澶т簬20鐨勭姸鎬佷笉鑳借繘琛屼慨鏀癸紒锛侊紒"); + } + switch (wrkMast1.getIoType()){ + case 1: + case 10: + case 53: + case 54: + case 57: + if (wrkSts1>=1 && wrkSts1<=10){ + if (wrkSts1==10){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getLocNo())); + if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁"); + } + if (locMast.getLocSts().equals("S")||locMast.getLocSts().equals("Q")){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁"); + }else if (locMast.getLocSts().equals("F")){ + }else { + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�"); + } + } + return false; + } + return true; + case 101: + case 103: + case 104: + case 107: + case 110: + if (wrkSts1>=11 && wrkSts1<=18){ + if (wrkSts1==18){ + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getSourceLocNo())); + if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁"); + } + if (locMast.getLocSts().equals("R")||locMast.getLocSts().equals("P")){ + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁"); + }else if (locMast.getLocSts().equals("O")){ + }else { + throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�"); + } + } + return false; + } + return true; + case 11: + return false; + case 3: + case 6: + default: + return true; + } + } + @RequestMapping(value = "/wrkMast/delete/auth") @ManagerAuth(memo = "宸ヤ綔妗e垹闄�") public R delete(@RequestParam String param){ diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index 51c0828..ba27999 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -231,7 +231,7 @@ ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'} ,{field: 'manuDate', align: 'center',title: '鍗曟嵁鏃堕棿', hide: true} ,{field: 'weight', align: 'center',title: '閲嶉噺', hide: true} - ,{field: 'units', align: 'center',title: '鍖呮暟', hide: true} + ,{field: 'units', align: 'center',title: '鏀暟', hide: true} ,{field: 'origin', align: 'center',title: '鐗╂枡鐘舵��', hide: true} diff --git a/src/main/webapp/static/js/wrkMast/wrkMast.js b/src/main/webapp/static/js/wrkMast/wrkMast.js index 692909a..afce170 100644 --- a/src/main/webapp/static/js/wrkMast/wrkMast.js +++ b/src/main/webapp/static/js/wrkMast/wrkMast.js @@ -67,7 +67,7 @@ // return html; // }} - ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:250} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:290} ]], request: { pageName: 'curr', @@ -198,7 +198,7 @@ content: 'wrkMast_detail.html', success: function(layero, index){ layer.getChildFrame('#data-detail-submit-edit', index).hide(); - clearFormVal(layer.getChildFrame('#detail', index)); + clearFormVal(layer.getChildFrame('#detail', index)); layer.getChildFrame('##dealDownLine', index).hide();layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); } }); @@ -357,6 +357,24 @@ layer.closeAll(); }); break; + case 'priWrkMast': + layer.open({ + type: 2, + title: '缁存姢宸ヤ綔妗�', + maxmin: true, + area: ['500px', top.detailHeight], + shadeClose: false, + content: 'wrkMast_detail.html', + success: function(layero, index){ + layer.getChildFrame('#data-detail-submit-save', index).hide(); + setFormVal(layer.getChildFrame('#detail', index), data, false); + top.convertDisabled(layer.getChildFrame('#locNo', index), true); + layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"}); + layero.find('iframe')[0].contentWindow.layui.form.render('select'); + layero.find('iframe')[0].contentWindow.layui.form.render('checkbox'); + } + }); + break; } }); diff --git a/src/main/webapp/views/wrkMast/wrkMast.html b/src/main/webapp/views/wrkMast/wrkMast.html index 440449f..979b575 100644 --- a/src/main/webapp/views/wrkMast/wrkMast.html +++ b/src/main/webapp/views/wrkMast/wrkMast.html @@ -113,23 +113,12 @@ </div> <script type="text/html" id="operate"> - {{#if (d.preHave === 'Y' && d.wrkSts === 3) { }} - <a class="layui-btn layui-btn-primary layui-border-red layui-btn-xs btn-error" lay-event="preHave">鍏堝叆鍝�</a> - {{# } }} - {{#if (d.takeNone === 'Y' && d.wrkSts === 12) { }} - <a class="layui-btn layui-btn-danger layui-btn-xs btn-error" lay-event="takeNone">绌烘搷浣�</a> - {{# } }} <a class="layui-btn layui-btn-xs btn-detlShow" lay-event="detlShow">鏄庣粏</a> <a class="layui-btn layui-btn-danger layui-btn-xs btn-complete" lay-event="complete">瀹屾垚</a> <a class="layui-btn layui-btn-primary layui-btn-xs btn-cancel" lay-event="cancel">鍙栨秷</a> - {{#if (d.ioType === 103) { }} - <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="pick">鎷�</a> - {{# } }} - {{#if (d.ioType === 107) { }} - <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="pick">鐩�</a> - {{# } }} + <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="priWrkMast">缁存姢鐘舵��</a> {{#if (d.steNo) { }} - <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="removeSte">寮冭溅</a> + <a class="layui-btn layui-btn-warm layui-btn-xs btn-pick" lay-event="removeSte">寮冭溅</a> {{# } }} </script> diff --git a/src/main/webapp/views/wrkMast/wrkMast_detail.html b/src/main/webapp/views/wrkMast/wrkMast_detail.html index 79601ad..4f39f9e 100644 --- a/src/main/webapp/views/wrkMast/wrkMast_detail.html +++ b/src/main/webapp/views/wrkMast/wrkMast_detail.html @@ -1,5 +1,5 @@ <!DOCTYPE html> -<html lang="en"> +<html lang="en" xmlns="http://www.w3.org/1999/html"> <head> <meta charset="utf-8"> <title></title> @@ -14,18 +14,18 @@ <!-- 璇︽儏 --> <div id="data-detail" class="layer_self_wrap"> - <form id="detail" class="layui-form"> - <div class="layui-inline" style="width:31%;"> + <form id="detail" class="layui-form" style="height: 100%"> + <div class="layui-inline" > <label class="layui-form-label"><span class="not-null">*</span>宸� 浣� 鍙凤細</label> <div class="layui-input-inline"> - <input id="wrkNo" class="layui-input" type="text" onkeyup="check(this.id, 'wrkMast')"> + <input id="wrkNo" class="layui-input" disabled =鈥渄isabled鈥� onkeyup="check(this.id, 'wrkMast')"> </div> </div> - <div class="layui-inline" style="width:31%;"> + <div class="layui-inline"> <label class="layui-form-label">宸ヤ綔鐘舵�侊細</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="wrkSts" class="layui-input" type="text" style="display: none"> - <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> + <div class="layui-input-inline cool-auto-complete" style="height: 200px"> + <input id="wrkSts" class="layui-input" name="wrk_sts" type="text" placeholder="璇疯緭鍏�" autocomplete="off" style="display: none"> + <input id="wrkSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="宸ヤ綔鐘舵��" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="basWrkStatusQueryBywrkSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="basWrkStatusQueryBywrkStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> @@ -33,156 +33,13 @@ </div> </div> </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鍏ュ嚭搴撶被鍨嬶細</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="ioType" class="layui-input" type="text" style="display: none"> - <input id="ioType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="basWrkIotypeQueryByioType" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="basWrkIotypeQueryByioTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> + <div id="prompt"> + 娓╅Θ鎻愮ず锛氬ぇ浜�10鐨勫伐浣滅姸鎬佽鏌ョ湅 鍩虹鏁版嵁<span style="font-weight: 900;color: black">鈫�</span>宸ヤ綔鐘舵�� </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鍫� 鍨� 鏈猴細</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="crnNo" class="layui-input" type="text" style="display: none"> - <input id="crnNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="basCrnpQueryBycrnNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="basCrnpQueryBycrnNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">浼� 鍏� 绾э細</label> - <div class="layui-input-inline"> - <input id="ioPri" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鐩爣搴撲綅锛�</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="locNo" class="layui-input" type="text" style="display: none"> - <input id="locNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="locMastQueryBylocNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="locMastQueryBylocNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鐩� 鏍� 绔欙細</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="staNo" class="layui-input" type="text" style="display: none"> - <input id="staNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="basDevpQueryBystaNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="basDevpQueryBystaNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">婧愩��銆�绔欙細</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="sourceStaNo" class="layui-input" type="text" style="display: none"> - <input id="sourceStaNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="basDevpQueryBysourceStaNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="basDevpQueryBysourceStaNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">婧� 搴� 浣嶏細</label> - <div class="layui-input-inline cool-auto-complete"> - <input id="sourceLocNo" class="layui-input" type="text" style="display: none"> - <input id="sourceLocNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏�..." onfocus=this.blur()> - <div class="cool-auto-complete-window"> - <input class="cool-auto-complete-window-input" data-key="locMastQueryBysourceLocNo" onkeyup="autoLoad(this.getAttribute('data-key'))"> - <select class="cool-auto-complete-window-select" data-key="locMastQueryBysourceLocNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> - </select> - </div> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鎷c��銆�鏂欙細</label> - <div class="layui-input-inline"> - <input id="picking" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">閫�銆�銆�鍑猴細</label> - <div class="layui-input-inline"> - <input id="exitMk" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">绌恒��銆�鏉匡細</label> - <div class="layui-input-inline"> - <input id="emptyMk" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">宸ヤ綔鏃堕棿锛�</label> - <div class="layui-input-inline"> - <input id="ioTime$" class="layui-input" type="text" autocomplete="off"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label" style="font-size: x-small">鍫嗗灈鏈哄惎鍔ㄦ椂闂达細</label> - <div class="layui-input-inline"> - <input id="crnStrTime$" class="layui-input" type="text" autocomplete="off"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label" style="font-size: x-small">鍫嗗灈鏈哄仠姝㈡椂闂达細</label> - <div class="layui-input-inline"> - <input id="crnEndTime$" class="layui-input" type="text" autocomplete="off"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鎷f枡鏃堕棿锛�</label> - <div class="layui-input-inline"> - <input id="refIotime$" class="layui-input" type="text" autocomplete="off"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">澶囥��銆�娉細</label> - <div class="layui-input-inline"> - <input id="memo" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">鏉°��銆�鐮侊細</label> - <div class="layui-input-inline"> - <input id="barcode" class="layui-input" type="text"> - </div> - </div> - <div class="layui-inline" style="width:31%;"> - <label class="layui-form-label">婊°��銆�鏉匡細</label> - <div class="layui-input-inline"> - <input id="fullPlt" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> - </div> - </div> - - - <hr class="layui-bg-gray"> - <div id="data-detail-btn" class="layui-btn-container layui-form-item"> <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save">淇濆瓨</div> <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div> <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div> - </div> - - <div id="prompt"> - 娓╅Θ鎻愮ず锛氳浠旂粏濉啓鐩稿叧淇℃伅锛�<span class="extrude"><span class="not-null">*</span> 涓哄繀濉�夐」銆�</span> </div> </form> </div> -- Gitblit v1.9.1