自动化立体仓库 - WMS系统
#
luxiaotao1123
2020-06-13 f517c3f941d7c7e40b8d6dadc02fea97fa440fd1
#
1个文件已添加
4个文件已修改
259 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/LocMastController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/locMast/locMast.js 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/locMast/locMast.html 26 ●●●●● 补丁 | 查看 | 原始文档 | 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>