*
lsh
2 天以前 6cde4cd8c02521646e858699cd49be936648e8f8
*
3个文件已修改
1个文件已添加
277 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/BasCrnpController.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/BasCrnpParam.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/CrnProtocol.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/deviceOperate/crnOperate.html 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/BasCrnpController.java
@@ -11,8 +11,16 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.BasCrnp;
import com.zy.asrs.entity.param.BasCrnpParam;
import com.zy.asrs.service.BasCrnpService;
import com.zy.common.web.BaseController;
import com.zy.core.CrnThread;
import com.zy.core.cache.CrnErrCache;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.properties.SlaveProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -23,6 +31,9 @@
    @Autowired
    private BasCrnpService basCrnpService;
    @Autowired
    private SlaveProperties slaveProperties;
    @RequestMapping(value = "/basCrnp/{id}/auth")
    @ManagerAuth
@@ -84,6 +95,96 @@
        return R.ok();
    }
    @RequestMapping(value = "/basCrnp/update/demo/auth")
    @ManagerAuth(memo = "堆垛机修改Demo")
    public R updateDemo(BasCrnpParam basCrnpParam){
        if (Cools.isEmpty(basCrnpParam) || null==basCrnpParam.getCrnNo()){
            return R.error("请选择堆垛机再操作").add("请选择堆垛机再操作");
        }
        BasCrnp basCrnp = basCrnpService.selectById(basCrnpParam.getCrnNo());
        if (basCrnp == null) {
            return R.error("堆垛机尚未在数据库进行维护!").add("堆垛机尚未在数据库进行维护");
        }
        if (basCrnpParam.getHpMk().equals("Y")){
            // 获取堆垛机信息
            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
            if (crnThread == null) {
                return R.error();
            }
            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
            if (crnProtocol == null) {
                return R.error();
            }
            if (Cools.isEmpty(basCrnpParam.getLocMastDemoCount()) || basCrnpParam.getLocMastDemoCount()<1){
                return R.error("请输入测试库位数量").add("请输入测试库位数量");
            }
            if (Cools.isEmpty(basCrnpParam.getLocMastDemo())){
                return R.error("请输入测试库位列表").add("请输入测试库位列表");
            } else {
                String[] split = basCrnpParam.getLocMastDemo().split(";");
                if (split.length!=basCrnpParam.getLocMastDemoCount()){
                    return R.error("输入测试库位列表数量不匹配").add("输入测试库位列表数量不匹配");
                }
                basCrnpParam.setLocMastDemo(String.join(";", split));
            }
            if (Cools.isEmpty(basCrnpParam.getStaOutDemo())){
                return R.error("请输入测试出库站").add("请输入测试出库站");
            } else {
                CrnSlave crn = new CrnSlave();
                for (CrnSlave crnSlave : slaveProperties.getCrn()) {
                    if (crnSlave.getId().equals(crnProtocol.getCrnNo())){
                        crn = new CrnSlave(crnSlave);
                        break;
                    }
                }
                if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
                    return R.error("堆垛机巷道号异常").add("堆垛机巷道号异常");
                }
                if (!crn.getId().equals(crnProtocol.getLaneNo())) {
                    for (CrnSlave crnOther : slaveProperties.getCrn()) {
                        if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
                            crn.updateCrnInStn(crnOther);
                        }
                    }
                }
                boolean sign = false;
                for (CrnSlave.CrnStn crnStnInt : crn.getCrnInStn()){
                    if (crnStnInt.getStaNo().equals(basCrnpParam.getStaIntDemo())) {
                        sign = true;
                        break;
                    }
                }
                if (!sign){
                    return R.error("入库站不在堆垛机巷道").add("入库站不在堆垛机巷道");
                }
                sign = false;
                for (CrnSlave.CrnStn crnStnOut : crn.getCrnOutStn()){
                    if (crnStnOut.getStaNo().equals(basCrnpParam.getStaOutDemo())) {
                        sign = true;
                        break;
                    }
                }
                if (!sign){
                    return R.error("出库站不在堆垛机巷道").add("出库站不在堆垛机巷道");
                }
            }
            crnProtocol.setLocMastDemoCount(basCrnpParam.getLocMastDemoCount());
            crnProtocol.setLocMastDemoList(basCrnpParam.getLocMastDemoList());
            crnProtocol.setStaOutDemo(basCrnpParam.getStaOutDemo());
            crnProtocol.setStaIntDemo(basCrnpParam.getStaIntDemo());
        }
        basCrnp.setHpMk(basCrnpParam.getHpMk());
        basCrnp.setModiUser(getUserId());
        basCrnp.setModiTime(new Date());
        basCrnpService.updateById(basCrnp);
        return R.ok();
    }
    @RequestMapping(value = "/basCrnp/delete/auth")
    @ManagerAuth(memo = "堆垛机删除")
    public R delete(@RequestParam String param){
src/main/java/com/zy/asrs/entity/param/BasCrnpParam.java
New file
@@ -0,0 +1,102 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
@Data
public class BasCrnpParam implements Serializable {
    /**
     * 编号
     */
    private Integer crnNo;
    /**
     * 可入
     */
    private String inEnable;
    /**
     * 可出
     */
    private String outEnable;
    /**
     * 状态
     */
    private Integer crnSts;
    /**
     * 工作号
     */
    private Integer wrkNo;
    /**
     * 异常码
     */
    private Long crnErr;
    /**
     * 源库位
     */
    private String frmLocno;
    /**
     * 源站
     */
    private Integer frmSta;
    /**
     * 目标站
     */
    private Integer toSta;
    /**
     * 目标库位
     */
    private String toLocno;
    /**
     * 创建者
     */
    private Long appeUser;
    /**
     * 创建时间
     */
    private Date appeTime;
    /**
     * 修改人员
     */
    private Long modiUser;
    /**
     * 修改时间
     */
    private Date modiTime;
    private String hpMk;
    private String retrieveMk;
    private String ctlHp;
    private String ctlRest;
    private String empIn;
    private Integer tankQty;
    private Integer tankQty1;
    private Integer locMastDemoCount;//测试库位数量
    private String locMastDemo;//测试库位数量
    private ArrayList<String> locMastDemoList;//测试库位列表
    private Integer staOutDemo;//测试库位出库站
    private Integer staIntDemo;//测试库位入库站
}
src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -202,7 +202,7 @@
    public String errCrn;
    public String locMastDemoCount;//测试库位数量
    public Integer locMastDemoCount;//测试库位数量
    public ArrayList<String> locMastDemoList;//测试库位列表
    public Integer staOutDemo;//测试库位出库站
    public Integer staIntDemo;//测试库位入库站
src/main/webapp/views/deviceOperate/crnOperate.html
@@ -70,6 +70,20 @@
                                <el-input v-model="formParam.lev" placeholder="层"></el-input>
                            </el-form-item>
                        </el-form>
                        <el-form :model="formParam" label-position="top" :inline="true" class="demo-form-inline">
                            <el-form-item label="测试库位数量">
                                <el-input v-model="formParam.locMastDemoCount" placeholder="测试库位数量"></el-input>
                            </el-form-item>
                            <el-form-item label="测试库位">
                                <el-input v-model="formParam.locMastDemo" placeholder="测试库位 分隔符;"></el-input>
                            </el-form-item>
                            <el-form-item label="目标站/目标库位">
                                <el-input v-model="formParam.staOutDemo" placeholder="堆垛机放货站点"></el-input>
                            </el-form-item>
                            <el-form-item label="目标站/目标库位">
                                <el-input v-model="formParam.staIntDemo" placeholder="堆垛机取货站点"></el-input>
                            </el-form-item>
                        </el-form>
                        <el-form label-position="top" :inline="true" class="demo-form-inline">
                            <el-form-item label="">
                                <el-checkbox @change="updateEnableInOut('in')" v-model="enableIn">可入</el-checkbox>
@@ -78,7 +92,7 @@
                                <el-checkbox @change="updateEnableInOut('out')" v-model="enableOut">可出</el-checkbox>
                            </el-form-item>
                            <el-form-item label="">
                                <el-checkbox @change="updateEnableInOut('demo')" v-model="hpMkDemo">演示</el-checkbox>
                                <el-checkbox @change="updateDemo('demo')" v-model="hpMkDemo">演示</el-checkbox>
                            </el-form-item>
                        </el-form>
                        <div>
@@ -201,6 +215,10 @@
                    sourceBay: 0,
                    sourceLev: 1,
                    staNo: null,
                    locMastDemoCount: 3,
                    locMastDemo: null,
                    staOutDemo: null,
                    staIntDemo: null,
                    row: 1,
                    bay: 0,
                    lev: 1
@@ -288,11 +306,6 @@
                            inEnable: this.enableIn ? "Y" : "N",
                            crnNo: this.formParam.crnNo
                        }
                    } else if (type == "demo") {
                        param = {
                            hpMk: this.hpMkDemo ? "Y" : "N",
                            crnNo: this.formParam.crnNo
                        }
                    } else {
                        param = {
                            outEnable: this.enableOut ? "Y" : "N",
@@ -321,6 +334,53 @@
                            }
                        }
                    });
                },
                updateDemo(type) {
                    let that = this
                    let param = {}
                    that.$confirm('将启动演示模式,是否继续','提示',{
                        confirmButtonText: '确定',
                        cancelButtonText: '取消',
                        type: 'warning'
                    }).then(()=>{
                        if (type == "demo") {
                            param = {
                                hpMk: this.hpMkDemo ? "Y" : "N",
                                staOutDemo: this.formParam.staOutDemo,
                                staIntDemo: this.formParam.staIntDemo,
                                locMastDemo: this.formParam.locMastDemo,
                                locMastDemoCount: this.formParam.locMastDemoCount,
                                crnNo: this.formParam.crnNo
                            }
                        } else {
                            param = {
                                crnNo: this.formParam.crnNo
                            }
                        }
                        $.ajax({
                            url: baseUrl + "/basCrnp/update/demo/auth",
                            headers: {
                                'token': localStorage.getItem('token')
                            },
                            data: param,
                            method: 'POST',
                            success: function (res) {
                                if (res.code == 200) {
                                    that.$message({
                                        message: res.msg,
                                        type: 'success'
                                    });
                                } else {
                                    that.$message({
                                        message: res.msg,
                                        type: 'error'
                                    });
                                }
                            }
                        });
                    })
                }
            }
        })