src/main/java/com/zy/asrs/controller/LocMastController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/locMast/locMast.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/locMast/locMast.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -5,14 +5,16 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.zy.asrs.entity.LocMast; import com.zy.asrs.service.LocMastService; import com.zy.common.web.BaseController; 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.LocMast; import com.zy.asrs.entity.param.LocMastInitParam; import com.zy.asrs.service.LocMastService; import com.zy.common.model.Shelves; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -129,4 +131,44 @@ return R.ok(); } @RequestMapping(value = "/locMast/init/auth") @ManagerAuth(memo = "初始化库位") // @Transactional public R init(LocMastInitParam param) { List<LocMast> list = new ArrayList<>(); for (int r=param.getStartRow(); r<=param.getEndRow(); r++){ for (int b=param.getStartBay(); b<=param.getEndBay(); b++) { for (int l=param.getStartLev(); l<=param.getEndLev(); l++) { // 获取库位号 String locNo = String.format("%02d", r) + String.format("%03d", b) + String.format("%02d", l); // 获取堆垛机号 int crnNo = 0; Shelves shelves = new Shelves(param.getEndRow() - param.getStartRow() + 1, param.getCrnAmount()); for (List<Integer> node : shelves.nodes){ if (node.contains(r)) { crnNo = shelves.nodes.indexOf(node) + 1; } } LocMast locMast = new LocMast(); locMast.setLocNo(locNo); locMast.setLocType("O"); locMast.setRow1(r); // 排 locMast.setBay1(b); // 列 locMast.setLev1(l); // 层 locMast.setCrnNo(crnNo); // 堆垛机 if (null != param.getWhsType()) { locMast.setWhsType(Long.valueOf(param.getWhsType())); } locMast.setAppeUser(getUserId()); locMast.setAppeTime(new Date()); locMast.setModiUser(getUserId()); locMast.setModiTime(new Date()); list.add(locMast); } } } locMastService.delete(new EntityWrapper<>()); locMastService.insertBatch(list); return R.ok("初始化成功"); } } src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java
New file @@ -0,0 +1,119 @@ package com.zy.asrs.entity.param; import com.core.common.BaseRes; import com.core.exception.CoolException; /** * Created by vincent on 2020/6/13 */ public class LocMastInitParam { // 起始排 private Integer startRow; // 终止排 private Integer endRow; // 起始列 private Integer startBay; // 终止列 private Integer endBay; // 起始层 private Integer startLev; // 终止层 private Integer endLev; // 堆垛机数量 private Integer crnAmount; // 库位类型: 1:低库位 2:高库位 private Integer whsType; public Integer getStartRow() { if (null == startRow) { throw new CoolException(BaseRes.PARAM); } return startRow; } public void setStartRow(Integer startRow) { this.startRow = startRow; } public Integer getEndRow() { if (null == endRow) { throw new CoolException(BaseRes.PARAM); } return endRow; } public void setEndRow(Integer endRow) { this.endRow = endRow; } public Integer getStartBay() { if (null == startBay) { throw new CoolException(BaseRes.PARAM); } return startBay; } public void setStartBay(Integer startBay) { this.startBay = startBay; } public Integer getEndBay() { if (null == endBay) { throw new CoolException(BaseRes.PARAM); } return endBay; } public void setEndBay(Integer endBay) { this.endBay = endBay; } public Integer getStartLev() { if (null == startLev) { throw new CoolException(BaseRes.PARAM); } return startLev; } public void setStartLev(Integer startLev) { this.startLev = startLev; } public Integer getEndLev() { if (null == endLev) { throw new CoolException(BaseRes.PARAM); } return endLev; } public void setEndLev(Integer endLev) { this.endLev = endLev; } public Integer getCrnAmount() { if (crnAmount == null) { throw new CoolException(BaseRes.PARAM); } return crnAmount; } public void setCrnAmount(Integer crnAmount) { this.crnAmount = crnAmount; } public Integer getWhsType() { return whsType; } public void setWhsType(Integer whsType) { this.whsType = whsType; } } src/main/java/com/zy/common/service/CommonService.java
@@ -14,7 +14,7 @@ import java.util.List; /** * 双深式货架核心功能 * 货架核心功能 * Created by vincent on 2020/6/11 */ @Service src/main/webapp/static/js/locMast/locMast.js
@@ -202,35 +202,24 @@ }); break; case "init": layer.open({ type: 1, title: '初始化库位', maxmin: true, area: ["400px"], shadeClose: true, content: $("#resetLocDiv"), success: function (layero, index) { layer.prompt({title: '请输入口令,并重置库位', formType: 1, shadeClose: true}, function(pass, idx){ if (pass === "123456") { layer.open({ type: 1, title: '初始化库位', area: ["400px"], maxmin: true, shadeClose: true, content: $("#resetLocDiv"), success: function (layero, index) { } }) } else { layer.msg("口令错误"); } }) // layer.prompt({title: '请输入口令,并重置库位', formType: 1, shadeClose: true}, function(pass, idx){ // if (pass === "123456") { // layer.open({ // type: 1, // title: '初始化库位', // maxmin: true, // shadeClose: true, // content: $("#resetLocDiv"), // success: function (layero, index) { // // } // }) // } else { // layer.msg("口令错误"); // } // layer.close(idx); // doSwitch(0, pass); // 停止wcs系统 // }); layer.close(idx); }); break; } }); @@ -428,6 +417,27 @@ } }); // 初始化保存 form.on('submit(initDo)', function (data) { $.ajax({ url: baseUrl+"/locMast/init/auth", headers: {'token': localStorage.getItem('token')}, data: data.field, method: 'POST', async: false, success: function (res) { if (res.code === 200){ layer.msg(res.msg); layer.closeAll(); } else if (res.code === 403){ parent.location.href = "/"; }else { layer.msg(res.msg) } } }) }); // 数据保存动作 form.on('submit(save)', function () { if (banMsg != null){ src/main/webapp/views/locMast/locMast.html
@@ -88,18 +88,18 @@ <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> <!-- 重置库位弹窗 --> <div id="resetLocDiv" style="margin: 20px 0 20px 30px"> <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="number"> <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="number"> <input type="text" name="endRow" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> </div> </div> @@ -108,11 +108,11 @@ <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="number"> <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="number"> <input type="text" name="endBay" autocomplete="off" class="layui-input" lay-verify="required|number"> </div> </div> </div> @@ -121,20 +121,26 @@ <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="number"> <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="number"> <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> <label class="layui-form-label">类型(选填)</label> <div class="layui-input-inline"> <select name="locType"> <option selected="" style="color: #1E9FFF">请选择类型(选填)</option> <select name="whsType"> <option style="display: none"></option> <option value="1">低库位</option> <option value="2">高库位</option> </select>