自动化立体仓库 - WMS系统
lty
2 天以前 e5efee3f0b701eb448eb1a0b82a930e29a602c44
#自动下发分拣线单据
2个文件已修改
2个文件已添加
94 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/OrderToLine.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/OrderToLine.java
New file
@@ -0,0 +1,68 @@
package com.zy.asrs.entity.param;
import com.zy.common.model.MesPakoutParam;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class OrderToLine {
    /**
     * 单据编号
     */
    private String OrderNo;
    /**
     * 时间戳
     */
    private Long createTime;
    /**
     *   物料列表
     */
    private List<MatList> matList = new ArrayList<>();
    @Data
    public static class MatList {
        // Sku\客人型号\分拣属性1\不可为空\扫码可获取
        private String sku;
        // Po\客人PO\分拣属性2(可人工开关)\可以为空字符串,非NULL\扫码可获取
        private String po;
        //箱数
        private Float ctns;
        //条码值\非分拣属性(可人工开关)\不可为空\扫码可获取
        private String upc;
        //标识:\非分拣属性
        //1:执行分拣
        //0:不分拣,在线体循环
        private Integer sign;
        //货源\非分拣属性(不下发,数据在条码中,需上报)
        private String supplier;
        //绑定标记(标识相同必须去同一个分拣口)
        private Long binding_tags;
        public MatList() {
        }
        public MatList(String sku, String po) {
            this.sku = sku;
            this.po = po;
        }
        public MatList(String sku, String po, Float ctns, String upc, Integer sign, String supplier, Long binding_tags) {
            this.sku = sku;
            this.po = po;
            this.ctns = ctns;
            this.upc = upc;
            this.sign = sign;
            this.supplier = supplier;
            this.binding_tags = binding_tags;
        }
    }
}
src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -42,7 +42,7 @@
        Integer wrkRgv1 = wrkMastStaMapper.wrkCount1();
        Integer wrkRgv2 = wrkMastStaMapper.wrkCount2();
        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>();
        Wrapper<StaDesc> wrapper = new EntityWrapper<>();
        // ✅ 如果 wrkRgv1 < wrkRgv2,则多加一个条件
        if (wrkRgv1 < wrkRgv2) {
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -364,7 +364,7 @@
            wrkMast.setEmptyMk("N"); // 空板
            wrkMast.setLinkMis("N");
            wrkMast.setBarcode(locMast.getBarcode());
            if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null) {  //若有空库位且配置允许则绑定其备料库位号
            if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null && ioType != 107) {  //若有空库位且配置允许则绑定其备料库位号
                wrkMast.setLocNo(locMastRgv.getLocNo());
                wrkMast.setTakeNone("0");  //0rgv未取,1rgv已取货
            }
@@ -394,16 +394,13 @@
                }
            }
            //修改agv备料区状态
            if(locMastRgv.getLocSts().equals("O")){
            if(locMastRgv.getLocSts().equals("O") && ioType != 107){
                locMastRgv.setLocSts("S");
                locMastRgv.setModiUser(userId);
                locMastRgv.setModiTime(now);
                if (!locMastService.updateById(locMastRgv)) {
                    throw new CoolException("预约agv备料区库位状态失败,库位号:"+locMastRgv.getLocNo());
                }
            }else{
                throw new CoolException(locMastRgv.getLocNo() + "备料区不是空库位状态");
            }
            // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
            locMast = locMastService.selectById(dto.getLocNo());
src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
New file
@@ -0,0 +1,17 @@
package com.zy.asrs.task;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Slf4j
@Component
//订单下发至分拣线
public class OrderToSortLineScheduler {
//    @Scheduled(cron = "0/3 * * * * ? ")
    private void orderToSortLine() {
    }
}