src/main/java/com/zy/asrs/controller/BasLocStsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/home/navigation.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/locMast/locMast.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/locMast/locMast_detail.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/BasLocStsController.java
New file @@ -0,0 +1,147 @@ package com.zy.asrs.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; import com.zy.asrs.entity.BasLocSts; import com.zy.asrs.service.BasLocStsService; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; @RestController public class BasLocStsController extends BaseController { @Autowired private BasLocStsService basLocStsService; @RequestMapping(value = "/basLocSts/{id}/auth") @ManagerAuth public R get(@PathVariable("id") String id) { return R.ok(basLocStsService.selectById(id)); } @RequestMapping(value = "/basLocSts/list/auth") @ManagerAuth public R list(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @RequestParam Map<String, Object> param){ excludeTrash(param); EntityWrapper<BasLocSts> wrapper = new EntityWrapper<>(); convert(param, wrapper); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} return R.ok(basLocStsService.selectPage(new Page<>(curr, limit), wrapper)); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ String val = String.valueOf(entry.getValue()); if (val.contains(RANGE_TIME_LINK)){ String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); } else { wrapper.like(entry.getKey(), val); } } } @RequestMapping(value = "/basLocSts/edit/auth") @ManagerAuth public R edit(BasLocSts basLocSts) { if (Cools.isEmpty(basLocSts)){ return R.error(); } if (null == basLocSts.getLocSts()){ basLocStsService.insert(basLocSts); } else { basLocStsService.updateById(basLocSts); } return R.ok(); } @RequestMapping(value = "/basLocSts/add/auth") @ManagerAuth(memo = "库位状态添加") public R add(BasLocSts basLocSts) { basLocSts.setModiUser(getUserId()); basLocSts.setModiTime(new Date()); basLocSts.setAppeUser(getUserId()); basLocSts.setAppeTime(new Date()); basLocStsService.insert(basLocSts); return R.ok(); } @RequestMapping(value = "/basLocSts/update/auth") @ManagerAuth(memo = "库位状态修改") public R update(BasLocSts basLocSts){ if (Cools.isEmpty(basLocSts) || null==basLocSts.getLocSts()){ return R.error(); } basLocSts.setModiUser(getUserId()); basLocSts.setModiTime(new Date()); basLocStsService.updateById(basLocSts); return R.ok(); } @RequestMapping(value = "/basLocSts/delete/auth") @ManagerAuth(memo = "库位状态删除") public R delete(@RequestParam String param){ List<BasLocSts> list = JSONArray.parseArray(param, BasLocSts.class); if (Cools.isEmpty(list)){ return R.error(); } for (BasLocSts entity : list){ basLocStsService.delete(new EntityWrapper<>(entity)); } return R.ok(); } @RequestMapping(value = "/basLocSts/export/auth") @ManagerAuth(memo = "库位状态导出") public R export(@RequestBody JSONObject param){ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); EntityWrapper<BasLocSts> wrapper = new EntityWrapper<>(); Map<String, Object> map = excludeTrash(param.getJSONObject("basLocSts")); convert(map, wrapper); List<BasLocSts> list = basLocStsService.selectList(wrapper); return R.ok(exportSupport(list, fields)); } @RequestMapping(value = "/basLocStsQuery/auth") @ManagerAuth public R query(String condition) { EntityWrapper<BasLocSts> wrapper = new EntityWrapper<>(); wrapper.like("loc_desc", condition); Page<BasLocSts> page = basLocStsService.selectPage(new Page<>(0, 32), wrapper); List<Map<String, Object>> result = new ArrayList<>(); for (BasLocSts basLocSts : page.getRecords()){ Map<String, Object> map = new HashMap<>(); map.put("id", basLocSts.getLocSts()); map.put("value", basLocSts.getLocDesc()); result.add(map); } return R.ok(result); } @RequestMapping(value = "/basLocSts/check/column/auth") @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper<BasLocSts> wrapper = new EntityWrapper<BasLocSts>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); if (null != basLocStsService.selectOne(wrapper)){ return R.parse(BaseRes.REPEAT).add(getComment(BasLocSts.class, String.valueOf(param.get("key")))); } return R.ok(); } } src/main/webapp/views/home/navigation.html
@@ -135,7 +135,7 @@ <script type="text/javascript" src="../../static/wms/layui/layui.js"></script> <script> layui.config({ base: baseUrl + "/static/layui/lay/modules/" base: baseUrl + "/static/wms/layui/lay/modules/" }).use(['layer', 'element', 'admin'], function () { var element = layui.element; var $ = layui.jquery; src/main/webapp/views/locMast/locMast.html
New file @@ -0,0 +1,197 @@ <!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/wms/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> <link rel="stylesheet" href="../../static/wms/css/common.css" media="all"> <style> #btn-init { display: none; } .layui-layer-page .layui-layer-content { position: relative; overflow: visible !important; } </style> </head> <body> <!-- 搜索栏 --> <div id="search-box" class="layui-form layui-card-header"> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="loc_no" placeholder="库位号" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline cool-auto-complete"> <input id="locSts" name="loc_sts" class="layui-input" type="text" style="display: none"> <input id="locSts$" 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="basLocStsQueryBylocSts" onkeyup="autoLoad2(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="basLocStsQueryBylocStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="crn_no" placeholder="堆垛机号" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="row1" placeholder="排" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="bay1" placeholder="列" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="lev1" placeholder="层" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <select class="layui-input" id="loc_type1" name="loc_type1" autocomplete="off"> <option value>选择桶类型</option> <option value="1">油桶</option> <option value="2">净桶</option> </select> </div> </div> <!-- 待添加 --> <div id="data-search-btn" class="layui-btn-container layui-form-item" style="display: inline-block"> <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">搜索</button> <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">重置</button> </div> </div> <!-- 表格 --> <div class="layui-form"> <table class="layui-hide" id="locMast" lay-filter="locMast"></table> </div> <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">删除</button> <!-- <button class="layui-btn layui-btn-primary" id="btn-init" lay-event="init">初始化</button>--> <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">导出</button> </div> </script> <script type="text/html" id="operate"> <!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">详情</a>--> <a class="layui-btn layui-btn-xs btn-edit" lay-event="edit">编辑</a> </script> <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/wms/js/locMast/locMast.js" charset="utf-8"></script> <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> <!-- 重置库位弹窗 --> <div id="resetLocDiv" style="margin: 20px 0 10px 30px; display: none"> <div class="layui-form layui-form-pane"> <!-- 排 --> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">起止排</label> <div class="layui-input-inline" style="width: 100px;"> <input type="text" name="startRow" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> <div class="layui-form-mid">-</div> <div class="layui-input-inline" style="width: 100px;"> <input type="text" name="endRow" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> </div> </div> <!-- 列 --> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">起止列</label> <div class="layui-input-inline" style="width: 100px;"> <input type="text" name="startBay" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> <div class="layui-form-mid">-</div> <div class="layui-input-inline" style="width: 100px;"> <input type="text" name="endBay" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> </div> </div> <!-- 层 --> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">起止层</label> <div class="layui-input-inline" style="width: 100px;"> <input type="text" name="startLev" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> <div class="layui-form-mid">-</div> <div class="layui-input-inline" style="width: 100px;"> <input type="text" name="endLev" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">堆垛机数量</label> <div class="layui-input-inline"> <input type="text" name="crnAmount" lay-verify="required|number" autocomplete="off" class="layui-input"> </div> </div> <!-- 库位类型 --> <div class="layui-form-item"> <label class="layui-form-label">桶类型</label> <div class="layui-input-inline"> <select name="locType1"> <option style="display: none"></option> <option value="0">未知</option> <option value="1">油桶</option> <option value="2">净桶</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">宽窄类型</label> <div class="layui-input-inline"> <select name="locType2"> <option style="display: none"></option> <option value="0">未知</option> <option value="1">窄库位</option> <option value="2">宽库位</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">轻重类型</label> <div class="layui-input-inline"> <select name="locType3"> <option style="display: none"></option> <option value="0">未知</option> <option value="1">轻库位</option> <option value="2">重库位</option> </select> </div> </div> <div id="prompt" style="text-indent: 10px;"> <span class="not-null">初始化库位后将删除库存明细,请谨慎操作!</span> </div> <!-- 按钮 --> <div style="text-align: center; margin-top: 20px"> <button class="layui-btn layui-btn-radius layui-btn-normal" id="initDo" lay-submit lay-filter="initDo">确定</button> </div> </div> </div> </body> </html> src/main/webapp/views/locMast/locMast_detail.html
New file @@ -0,0 +1,238 @@ <!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/wms/layui/css/layui.css" media="all"> <link rel="stylesheet" href="../../static/wms/css/cool.css" media="all"> <link rel="stylesheet" href="../../static/wms/css/common.css" media="all"> </head> <body> <!-- 详情 --> <div id="data-detail" class="layer_self_wrap"> <form id="detail" class="layui-form" style="text-align: center"> <!-- <div class="layui-inline" style="display: none"> <label class="layui-form-label"><span class="not-null">*</span>编 号:</label> <div class="layui-input-inline"> <input id="id" class="layui-input" type="text" placeholder="编号"> </div> </div> --> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label"><span class="not-null">*</span>库 位 号:</label> <div class="layui-input-inline"> <input id="locNo" class="layui-input" type="text" onkeyup="check(this.id, 'locMast')"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label"><span class="not-null">*</span>:</label> <div class="layui-input-inline"> <input id="locType" class="layui-input" type="text" > </div> </div> <div class="layui-inline" style="width:80%; display: none"> <label class="layui-form-label">库位类型:</label> <div class="layui-input-inline cool-auto-complete"> <input id="whsType" class="layui-input" type="text" style="display: none"> <input id="whsType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="basWhsQueryBywhsType" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="basWhsQueryBywhsTypeSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="pltType" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="ctnType" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label"><span class="not-null">*</span>库位状态:</label> <div class="layui-input-inline cool-auto-complete"> <input id="locSts" class="layui-input" type="text" style="display: none"> <input id="locSts$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="basLocStsQueryBylocSts" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="basLocStsQueryBylocStsSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="sheetNo" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label">堆垛机号:</label> <div class="layui-input-inline"> <input id="crnNo" class="layui-input" type="text" autocomplete="off" disabled="disabled"> </div> </div> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label">排:</label> <div class="layui-input-inline"> <input id="row1" class="layui-input" type="text" autocomplete="off" disabled="disabled"> </div> </div> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label">列:</label> <div class="layui-input-inline"> <input id="bay1" class="layui-input" type="text" autocomplete="off" disabled="disabled"> </div> </div> <div class="layui-inline" style="width:80%;"> <label class="layui-form-label">层:</label> <div class="layui-input-inline"> <input id="lev1" class="layui-input" type="text" autocomplete="off" disabled="disabled"> </div> </div> <div class="layui-inline" style="width:80%;display: none"> <label class="layui-form-label">满 板:</label> <div class="layui-input-inline" style="text-align: left"> <input id="fullPlt" class="layui-input" type="checkBox" lay-skin="primary" lay-filter='detailCheckbox'> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="outEnable" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <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%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="firstTime$" class="layui-input" type="text" autocomplete="off"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">修改人员:</label> <div class="layui-input-inline cool-auto-complete"> <input id="modiUser" class="layui-input" type="text" style="display: none"> <input id="modiUser$" 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="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">修改时间:</label> <div class="layui-input-inline"> <input id="modiTime$" class="layui-input" type="text" autocomplete="off"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">创 建 者:</label> <div class="layui-input-inline cool-auto-complete"> <input id="appeUser" class="layui-input" type="text" style="display: none"> <input id="appeUser$" 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="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))"> <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple"> </select> </div> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">添加时间:</label> <div class="layui-input-inline"> <input id="appeTime$" class="layui-input" type="text" autocomplete="off"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="errorTime$" class="layui-input" type="text" autocomplete="off"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="errorMemo" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="ctnKind" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="scWeight" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="invWh" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="mk" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <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%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="PdcType" class="layui-input" type="text"> </div> </div> <div class="layui-inline" style="width:31%;display: none"> <label class="layui-form-label">:</label> <div class="layui-input-inline"> <input id="ctnNo" class="layui-input" type="text"> </div> </div> <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" style="text-indent: 30px;"> <span class="not-null">温馨提示:修改为空库位时会清除库存明细</span> </div> </form> </div> </body> <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="../../static/wms/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/wms/js/common.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/wms/js/cool.js" charset="utf-8"></script> <script type="text/javascript" src="../../static/wms/js/locMast/locMast.js" charset="utf-8"></script> </html>