pang.jiabao
2025-11-20 52ad49fed7108445edc8178a98cf4cca36fe0eb0
agv相关接口流程修改
7个文件已修改
56 ■■■■■ 已修改文件
src/main/java/com/zy/core/MainProcess.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/entity/WrkMast.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/mapper/BasDevpMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/mapper/WrkMastMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/service/impl/MainServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkMastMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/console.map.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java
@@ -70,6 +70,9 @@
                    // 其他  ===>> LED显示器复位,显示默认信息
                    mainService.ledReset();
                    // 出库完成,准备呼叫agv
                    mainService.forwardAGVInTasks();
                    mainService.outOfDevp(11);
                    // 堆垛机回原点
src/main/java/com/zy/entity/WrkMast.java
@@ -308,6 +308,13 @@
    @TableField("full_plt")
    private String fullPlt;
    /**
     * 呼叫agv 1.准备呼叫,2.已呼叫
     */
    @ApiModelProperty(value = "呼叫agv 1.准备呼叫,2.已呼叫")
    @TableField("call_agv")
    private Integer callAgv;
    public String getWrkSts$(){
        BasWrkStatusMapper mapper = SpringUtils.getBean(BasWrkStatusMapper.class);
        BasWrkStatus entity = mapper.selectById(this.wrkSts);
src/main/java/com/zy/mapper/BasDevpMapper.java
@@ -4,6 +4,7 @@
import com.zy.entity.BasDevp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -15,4 +16,7 @@
    List<Integer> getAvailableInSite(@Param("typeNo") Integer typeNo);
    List<Integer> getAvailableOutSite(@Param("typeNo") Integer typeNo);
    @Update("UPDATE asr_bas_devp SET in_qty = in_qty - 1 WHERE dev_no = #{site} AND in_qty > 0")
    void decrementInQty(@Param("site") int sourceStaNo);
}
src/main/java/com/zy/mapper/WrkMastMapper.java
@@ -118,4 +118,19 @@
     * @return 工作主档
     */
    WrkMast selectBy104();
    @Update({
            "<script>",
            "UPDATE asr_wrk_mast",
            "SET call_agv = 1",
            "WHERE wrk_no IN",
            "<foreach item='item' collection='workNos' open='(' separator=',' close=')'>",
            "#{item}",
            "</foreach>",
            "AND io_type IN (101,110,103,104,107)",
            "AND wrk_sts IN (14,15)",
            "AND call_agv = 0",
            "</script>"
    })
    void updateCallAgvBatch(@Param("workNos") List<Integer> workNos);
}
src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -88,6 +88,9 @@
    private BasRgvMapService basRgvMapService;
    @Resource
    private BasDevpMapper basDevpMapper;
    @Resource
    private BasDevpErrLogService basDevpErrLogService;
    @Value("${wms.url}")
@@ -614,6 +617,10 @@
                if (wrkMastMapper.updateById(wrkMast) == 0) {
                    News.error(""+mark+" - 1"+" - 17"+" - 修改工作档状态 2.设备上走 => 3.吊车入库中 失败!!,工作号={}", wrkMast.getWrkNo());
                }
                // 入库暂存数-1
                int sourceStaNo = wrkMast.getSourceStaNo();
                sourceStaNo = (sourceStaNo > 1024) ? sourceStaNo + 1 : sourceStaNo - 1;
                basDevpMapper.decrementInQty(sourceStaNo);
            }
        }
        News.infoNoLog(""+mark+" - 1"+" - 0"+" - 堆垛机入出库作业下发 : 入库执行完毕");
@@ -1421,6 +1428,22 @@
        }
    }
    public synchronized void forwardAGVInTasks() {
        List<Integer> workNos = new ArrayList<>();
        for (DevpSlave devp : slaveProperties.getDevp()) {
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            for (DevpSlave.Sta agvSta : devp.getOutSta()) {
                StaProtocol staProtocol = devpThread.getStation().get(agvSta.getStaNo());
                if (staProtocol != null && staProtocol.getWorkNo() != 0) {
                    workNos.add(staProtocol.getWorkNo());
                }
            }
        }
        if (!workNos.isEmpty()) {
            wrkMastMapper.updateCallAgvBatch(workNos);
        }
    }
    /**
     * 因双深库位阻塞,对浅库位进行移转(立即执行版)
     * tip:同步
src/main/resources/mapper/WrkMastMapper.xml
@@ -59,7 +59,7 @@
<!--        <result column="Pdc_type" property="PdcType" />-->
        <result column="ctn_no" property="ctnNo" />
        <result column="full_plt" property="fullPlt" />
        <result column="call_agv" property="callAgv" />
    </resultMap>
    <select id="selectByLocNo"  resultMap="BaseResultMap">
src/main/webapp/static/js/console.map.js
@@ -3,7 +3,7 @@
    "rackCount": 8,
    "crnCount": 2,
    "stbCount": 18,
    "hpPosition": 1,
    "hpPosition": 0,
    "minBayNo": 1,
    "floors": 1,
    "racks": [