cpT
2025-07-02 a77530a0e917f8d2dca1bae55a3730471c8e10a2
#改造
7个文件已修改
164 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/SiteController.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/DevpThread.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/protocol/StaProtocol.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/deviceOperate/devpOperate.html 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/SiteController.java
@@ -105,18 +105,21 @@
            StaProtocol staProtocol = station.get(devp.getDevNo());
            if (null == staProtocol) { continue; }
            vo.setWorkNo(staProtocol.getWorkNo());   //  工作号
            vo.setAutoing(staProtocol.isAutoing()?"Y":"N");     //  自动
            vo.setLoading(staProtocol.isLoading()?"Y":"N");     // 有物
            vo.setInEnable(staProtocol.isInEnable()?"Y":"N");   // 可入
            vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 可出
            vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 入库标记
            vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 空板信号
            vo.setAutoing(staProtocol.isAutoing()?"自动":"非自动");     //  自动
            vo.setLoading(staProtocol.isLoading()?"有物":"无物");     // 有物
            vo.setInEnable(staProtocol.isInEnable()?"可入":"不可入");   // 可入
            vo.setOutEnable(staProtocol.isOutEnable()?"可出":"不可出"); // 可出
            vo.setPakMk(staProtocol.isPakMk()? "未锁定":"已锁定");       // 入库标记
            vo.setEmptyMk(staProtocol.isEmptyMk()?"空板":"非空板");     // 空板信号
            vo.setStaNo(staProtocol.getStaNo());                // 目标站
//            vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "低" : "高");     //高低库位
            vo.setLocType1(devp.getDevNo()==102 ? "高" : "低");
            vo.setWeight(staProtocol.getGrossWt().toString());
            vo.setWeight(staProtocol.getGrossWt().toString()+"kg");
            vo.setBarcode(staProtocol.getBarcodeNow());
            vo.setErrorDev(staProtocol.getErrorDev$());
            vo.setPakMkRun(staProtocol.isPakMkRun()? "未锁定":"已锁定");     // 小车任务下发标记
            vo.setPakMkTask(staProtocol.isPakMkTask()? "未锁定":"已锁定");     // 小车任务下发标记
            vo.setPakMkWalk(staProtocol.isPakMkWalk()? "未锁定":"已锁定");     // 小车任务下发标记
        }
        return R.ok().add(list);
    }
@@ -236,6 +239,90 @@
        }
        return R.error("更新失败");
    }
    @PostMapping("/detl/pakMk")
    @ManagerAuth(memo = "修改站点数据")
    public R siteDetlPakMk(@RequestParam Integer devNo,
                            @RequestParam Integer workNo,
                            @RequestParam Integer staNo,
                            @RequestParam(required = false) String pakMk,
                            @RequestParam(required = false) Boolean inEnable,
                            @RequestParam(required = false) Boolean outEnable
    ) {
        BasDevp basDevp = basDevpService.selectById(devNo);
        if (basDevp == null) {
            return R.error("站点不存在");
        }
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            devpThread.setPakMk(devNo, true);
            return R.ok("更新成功");
        }
        return R.error("更新失败");
    }
    @PostMapping("/detl/pakMkRun")
    @ManagerAuth(memo = "修改站点数据")
    public R siteDetlPakMkRun(@RequestParam Integer devNo,
                           @RequestParam Integer workNo,
                           @RequestParam Integer staNo,
                           @RequestParam(required = false) String pakMk,
                           @RequestParam(required = false) Boolean inEnable,
                           @RequestParam(required = false) Boolean outEnable
    ) {
        BasDevp basDevp = basDevpService.selectById(devNo);
        if (basDevp == null) {
            return R.error("站点不存在");
        }
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            devpThread.setPakMkRun(devNo, true);
            return R.ok("更新成功");
        }
        return R.error("更新失败");
    }
    @PostMapping("/detl/pakMkTask")
    @ManagerAuth(memo = "修改站点数据")
    public R siteDetlPakMkTask(@RequestParam Integer devNo,
                           @RequestParam Integer workNo,
                           @RequestParam Integer staNo,
                           @RequestParam(required = false) String pakMk,
                           @RequestParam(required = false) Boolean inEnable,
                           @RequestParam(required = false) Boolean outEnable
    ) {
        BasDevp basDevp = basDevpService.selectById(devNo);
        if (basDevp == null) {
            return R.error("站点不存在");
        }
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            devpThread.setPakMkTask(devNo, true);
            return R.ok("更新成功");
        }
        return R.error("更新失败");
    }
    @PostMapping("/detl/pakMkWalk")
    @ManagerAuth(memo = "修改站点数据")
    public R siteDetlPakMkWalk(@RequestParam Integer devNo,
                           @RequestParam Integer workNo,
                           @RequestParam Integer staNo,
                           @RequestParam(required = false) String pakMk,
                           @RequestParam(required = false) Boolean inEnable,
                           @RequestParam(required = false) Boolean outEnable
    ) {
        BasDevp basDevp = basDevpService.selectById(devNo);
        if (basDevp == null) {
            return R.error("站点不存在");
        }
        for (DevpSlave devp : slaveProperties.getDevp()) {
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            devpThread.setPakMkWalk(devNo, true);
            return R.ok("更新成功");
        }
        return R.error("更新失败");
    }
    @PostMapping("/detl/out")
    @ManagerAuth(memo = "修改站点数据")
    public R siteDetlout(@RequestParam Integer devNo,
src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
@@ -41,4 +41,7 @@
    private String barcode = "-";
    private String errorDev = "-";
    private String car = "-";
    private String pakMkRun = "-";
    private String pakMkTask = "-";
    private String pakMkWalk = "-";
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1884,6 +1884,11 @@
            return null;
        }
        // 判断是否满足取货条件
        if (!staProtocol.isPakMkTask()) {
            devpThread.setErrorDev(staProtocol.getSiteId(), "任务已下发等待小车取");
            return null;
        }
        // 判断是否满足取货条件
        if (staProtocol.isAutoing()
//                && staProtocol.isLoading()
//                && staProtocol.isStaOk()
@@ -1892,7 +1897,6 @@
            if (taskWrk != null) {
                Integer stano = staProtocol.getStaNo();
                if (staProtocol.getSiteId() == 1004 || staProtocol.getSiteId()==1020){
                    // 判断是否满足取货条件
                    if (!staProtocol.isPakMkRun()) {
                        devpThread.setErrorDev(staProtocol.getSiteId(), "异常回退标记,需要回退");
                        return null;
@@ -1982,6 +1986,7 @@
                        staProtocol.setStaNo(staProtocol.getStaNo()+1);
                        devpThread.setPakMk(staProtocol.getSiteId(), false);
                        devpThread.setPakMkRun(staProtocol.getSiteId(), false);
                        devpThread.setPakMkTask(staProtocol.getSiteId(), false);
                        devpThread.setErrorDev(staProtocol.getSiteId(), errMsg);
                        MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
                        try{
@@ -2449,6 +2454,7 @@
        try {
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
            TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, rgvStn.getDevpPlcId());
            TaskProtocol issuedTake = new TaskProtocol();
            TaskProtocol issuedPut = new TaskProtocol();
@@ -2471,6 +2477,12 @@
                        return false;
                    }
                }
                try{
                    devpThread.setPakMkTask(rgvStn.getStaNo(), false);
                } catch (Exception e2){
                    RgvErrCache.updateRgvErr(rgvSlave.getId(),rgvStn.getStaNo()+"小车任务下发标记更新失败");
                }
                BasDevpPosition basDevpPositionSou = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStn.getStaNo()));
                BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert));
src/main/java/com/zy/core/DevpThread.java
@@ -10,6 +10,7 @@
    void setPakMk(Integer siteId, boolean pakMk);
    void setPakMkRun(Integer siteId, boolean pakMk);
    void setPakMkTask(Integer siteId, boolean pakMk);
    void setPakMkWalk(Integer siteId, boolean pakMkWalk);
    void setGrossWt(Integer siteId, Double grossWt);
    void setErrorDev(Integer siteId, String msgErr);
src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -53,6 +53,7 @@
    // 锁定标记
    private boolean pakMk = true;
    private boolean pakMkRun = true;
    private boolean pakMkTask = true;
    private boolean pakMkWalk = true;
    // 入库暂存数
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -325,6 +325,10 @@
                if (!staProtocol.isPakMkRun() && !staProtocol.isLoading()) {
                    staProtocol.setPakMkRun(true);
                }
                if (!staProtocol.isPakMkTask() && !staProtocol.isLoading()) {
                    staProtocol.setPakMkTask(true);
                }
            }
        }
        int[] staW = new int[]{1004,1014,1020};
@@ -625,6 +629,18 @@
     * 设置入库标记
     */
    @Override
    public void setPakMkTask(Integer siteId, boolean pakMk) {
        StaProtocol staProtocol = station.get(siteId);
        if (null != staProtocol) {
            staProtocol.setPakMkTask(pakMk);
        }
    }
    /**
     * 设置入库标记
     */
    @Override
    public void setPakMkRun(Integer siteId, boolean pakMk) {
        StaProtocol staProtocol = station.get(siteId);
        if (null != staProtocol) {
src/main/webapp/views/deviceOperate/devpOperate.html
@@ -20,11 +20,17 @@
                </el-table-column>
                <el-table-column property="workNo" label="工作号">
                </el-table-column>
                <el-table-column property="locType1" label="高低库位">
                </el-table-column>
<!--                <el-table-column property="locType1" label="高低库位">-->
<!--                </el-table-column>-->
                <el-table-column property="pakMk" label="入库标记">
                </el-table-column>
                <el-table-column property="pakMkRun" label="退回标记">
                </el-table-column>
                <el-table-column property="pakMkTask" label="小车任务下发标记">
                </el-table-column>
                <el-table-column property="weight" label="称重">
                </el-table-column>
                <el-table-column property="barcode" label="条码">
                </el-table-column>
                <el-table-column property="errorDev" label="异常提示">
                </el-table-column>
@@ -45,9 +51,6 @@
                            <el-form-item label="目标站">
                                <el-input v-model="formParam.staNo" placeholder="目标站"></el-input>
                            </el-form-item>
                            <el-form-item label="入库标记">
                                <el-input v-model="formParam.pakMk" placeholder="入库标记"></el-input>
                            </el-form-item>
                        </el-form>
                        <el-form label-position="top" :inline="true" class="demo-form-inline">
                            <el-form-item label="">
@@ -59,7 +62,10 @@
                        </el-form>
                        <div>
                            <el-button @click="requestOperate('update')" type="primary">更新</el-button>
<!--                            <el-button @click="requestOperate('out')" type="warning">取货完成</el-button>-->
                            <el-button @click="requestOperate('pakMk')" type="warning">入库标记复位</el-button>
                            <el-button @click="requestOperate('pakMkRun')" type="warning">退库标记复位</el-button>
                            <el-button @click="requestOperate('pakMkTask')" type="warning">小车任务下发标记复位</el-button>
                            <el-button @click="requestOperate('pakMkWalk')" type="warning">WMS任务下发标记复位</el-button>
<!--                            <el-button @click="requestOperate('in')" type="warning">放货完成</el-button>-->
                        </div>
                    </div>
@@ -89,8 +95,6 @@
                                </el-descriptions-item>
                                <el-descriptions-item label="可出">{{ tableData[currentIndex].outEnable }}
                                </el-descriptions-item>
                                <el-descriptions-item label="入库标记">{{ tableData[currentIndex].pakMk }}
                                </el-descriptions-item>
                                <el-descriptions-item label="空板信号">{{ tableData[currentIndex].emptyMk }}
                                </el-descriptions-item>
                                <el-descriptions-item label="目标站">{{ tableData[currentIndex].staNo }}
@@ -101,6 +105,14 @@
                                </el-descriptions-item>
                                <el-descriptions-item label="条码">{{ tableData[currentIndex].barcode }}
                                </el-descriptions-item>
                                <el-descriptions-item label="入库标记">{{ tableData[currentIndex].pakMk }}
                                </el-descriptions-item>
                                <el-descriptions-item label="入库回退标记">{{ tableData[currentIndex].pakMkRun }}
                                </el-descriptions-item>
                                <el-descriptions-item label="入库小车任务下发标记">{{ tableData[currentIndex].pakMkTask }}
                                </el-descriptions-item>
                                <el-descriptions-item label="入库wms任务下发标记">{{ tableData[currentIndex].pakMkWalk }}
                                </el-descriptions-item>
                                <el-descriptions-item label="异常提示">{{ tableData[currentIndex].errorDev }}
                                </el-descriptions-item>
                            </el-descriptions>