自动化立体仓库 - WMS系统
#
luxiaotao1123
2021-01-02 c411387fa86ad7fd247a768c259b8f21caa70a8c
#
7个文件已修改
52 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/LocMastMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/LocMastService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/LocTypeDto.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocMastMapper.xml 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -13,7 +13,7 @@
@Repository
public interface LocMastMapper extends BaseMapper<LocMast> {
    LocMast queryFreeLocMast(@Param("row") Integer row);
    LocMast queryFreeLocMast(@Param("row") Integer row, @Param("locType1") Short locType1);
    @Select("select loc_no from asr_loc_mast where 1=1 and loc_sts = 'O' and crn_no = #{crnNo}")
    List<String> queryGroupEmptyStock(Integer crnNo);
src/main/java/com/zy/asrs/service/LocMastService.java
@@ -10,7 +10,7 @@
    /**
     * 检索可用库位
     */
    LocMast queryFreeLocMast(Integer row);
    LocMast queryFreeLocMast(Integer row, Short locType1);
    /**
     * 获取同组货架的空库位
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -18,8 +18,8 @@
    private RowLastnoService rowLastnoService;
    @Override
    public LocMast queryFreeLocMast(Integer row) {
        return this.baseMapper.queryFreeLocMast(row);
    public LocMast queryFreeLocMast(Integer row, Short locType1) {
        return this.baseMapper.queryFreeLocMast(row, locType1);
    }
    @Override
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,6 +14,7 @@
import com.zy.asrs.service.*;
import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.LocDetlDto;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.OutLocDto;
import com.zy.common.model.StartupDto;
import com.zy.common.model.enums.WorkNoType;
@@ -70,8 +71,9 @@
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
        // 检索库位
        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
        List<String> matNos = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatNo).distinct().collect(Collectors.toList());
        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos);
        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos, locTypeDto);
        // 生成工作号
        int workNo = dto.getWorkNo();
        // 生成工作档
@@ -253,7 +255,8 @@
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null);
        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
        StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null, locTypeDto);
        int workNo = dto.getWorkNo();
        // 生成工作档
        WrkMast wrkMast = new WrkMast();
src/main/java/com/zy/common/model/LocTypeDto.java
@@ -1,7 +1,7 @@
package com.zy.common.model;
import com.core.exception.CoolException;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.asrs.entity.BasDevp;
import lombok.Data;
/**
@@ -19,34 +19,15 @@
    // 轻重类型{0:未知,1:轻库位,2:重库位}
    private Short locType3;
    public LocTypeDto() {
    }
    public LocTypeDto(StaProtocol staProtocol) {
        if (staProtocol.isHigh() == staProtocol.isLow()) {
    public LocTypeDto(BasDevp basDevp) {
        if (basDevp.getLocType1() == null || basDevp.getLocType1() == 0) {
            throw new CoolException("plc高低检测异常");
        }
        if (staProtocol.isLow()) {
        if (basDevp.getLocType1() == 1) {
            this.locType1 = 1; // 低库位
        } else {
            this.locType1 = 2; // 高库位
        }
    }
    /**
     * 库位类型解析
     */
    public static LocTypeDto process(StaProtocol staProtocol) {
        LocTypeDto dto = new LocTypeDto();
        if (staProtocol.isHigh() == staProtocol.isLow()) {
            throw new CoolException("plc高低检测异常");
        }
        if (staProtocol.isLow()) {
            dto.setLocType1((short) 1); // 低库位
        } else {
            dto.setLocType1((short) 2); // 高库位
        }
        return dto;
    }
}
src/main/java/com/zy/common/service/CommonService.java
@@ -7,6 +7,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.Shelves;
import com.zy.common.model.StartupDto;
import com.zy.common.properties.SlaveProperties;
src/main/resources/mapper/LocMastMapper.xml
@@ -39,6 +39,13 @@
    </resultMap>
    <select id="queryFreeLocMast" resultMap="BaseResultMap">
        select top 1 * from asr_loc_mast where row1=#{row} and loc_sts='O' order by loc_sts desc ,lev1 asc,bay1 asc
        select top 1 *
        from asr_loc_mast
        where row1=#{row}
        and loc_sts='O'
        <if test="locType1 != null">
            and loc_type1 = #{locType1}
        </if>
        order by loc_sts desc ,lev1 asc,bay1 asc
    </select>
</mapper>