Junjie
2023-11-30 f8c14df2d6ceb57d1e8a389b62d6996d90a073fd
#盘点逻辑修改
3个文件已修改
60 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1287,6 +1287,28 @@
                return false;//站点不可入
            }
            Integer barcodeId = Utils.getBarcodeIdByStaNo(wrkMast.getSourceStaNo());
            if (barcodeId == null) {
                News.info("{}任务,{}源站,找不到可用条码器ID", wrkMast.getWrkNo(), sourceBasDevp.getDevNo());
                return false;//站点不可入
            }
            BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
            if (barcodeThread == null) {
                News.info("{}任务,{}源站,条码器{}线程为空", wrkMast.getWrkNo(), sourceBasDevp.getDevNo(), barcodeId);
                return false;//站点不可入
            }
            String barcode = barcodeThread.getBarcode();
            if(!Cools.isEmpty(barcode)) {
                if(!("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode))) {
                    //存在条码值,判断是否和当前工作档一致
                    if (!barcode.equals(wrkMast.getBarcode())) {
                        News.info("{}任务,条码器{}值{}与工作档条码值不一致,系统跳过执行", wrkMast.getWrkNo(), sourceBasDevp.getDevNo(), barcodeId, barcode);
                        return false;//站点不可入
                    }
                }
            }
            //判断提升机整个三楼是否都处于入库模式
            Integer outInModel1 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 1);
            Integer outInModel2 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 5);
src/main/java/com/zy/asrs/utils/Utils.java
@@ -9,35 +9,22 @@
import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.common.model.NavigateNode;
import com.zy.common.model.enums.NavigationMapType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.NavigateMapData;
import com.zy.common.utils.NavigatePositionConvert;
import com.zy.common.utils.NavigateUtils;
import com.zy.common.utils.ShuttleDispatchUtils;
import com.zy.core.DevpThread;
import com.zy.core.Slave;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.ShuttleRunDirection;
import com.zy.core.enums.ShuttleTaskModeType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.ShuttleSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.ShuttleAssignCommand;
import com.zy.core.model.command.ShuttleCommand;
import com.zy.core.model.protocol.NyShuttleProtocol;
import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.NyShuttleThread;
import com.zy.core.thread.ShuttleThread;
import java.text.DecimalFormat;
import java.util.*;
@@ -683,4 +670,19 @@
        throw new RuntimeException("库位解析异常");
    }
    /**
     * 通过入库站点号获取条码器ID
     */
    public static Integer getBarcodeIdByStaNo(int staNo) {
        SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
        for (DevpSlave devpSlave : slaveProperties.getDevp()) {
            for (DevpSlave.Sta sta : devpSlave.getInSta()) {
                if (sta.getStaNo().equals(staNo)) {
                    return sta.getBarcode();
                }
            }
        }
        return null;
    }
}
src/main/resources/application.yml
@@ -243,25 +243,25 @@
    pickInSta[7]:
      staNo: 325
      backSta: 341
      barcode: ${wcs-slave.barcode[6].id}
      barcode: ${wcs-slave.barcode[7].id}
      led: ${wcs-slave.led[7].id}
      liftNo: ${wcs-slave.lift[0].id}
    pickInSta[8]:
      staNo: 331
      backSta: 341
      barcode: ${wcs-slave.barcode[6].id}
      barcode: ${wcs-slave.barcode[7].id}
      led: ${wcs-slave.led[8].id}
      liftNo: ${wcs-slave.lift[0].id}
    pickInSta[9]:
      staNo: 333
      backSta: 341
      barcode: ${wcs-slave.barcode[6].id}
      barcode: ${wcs-slave.barcode[7].id}
      led: ${wcs-slave.led[9].id}
      liftNo: ${wcs-slave.lift[0].id}
    pickInSta[10]:
      staNo: 339
      backSta: 341
      barcode: ${wcs-slave.barcode[6].id}
      barcode: ${wcs-slave.barcode[7].id}
      led: ${wcs-slave.led[10].id}
      liftNo: ${wcs-slave.lift[0].id}
#    # 货架入库站点