cl
2026-04-20 48ebc3e1120c4d72ea490167b9705208edc79071
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -1019,7 +1019,8 @@
        if (Objects.isNull(task)) {
            log.error("任务不存在或已结束!任务编号:{},批次号:{}", taskNo, taskCode);
            throw new CoolException("任务不存在或已结束!!任务编号:" + taskNo + ",批次号:" + taskCode);
            // throw new CoolException("任务不存在或已结束!!任务编号:" + taskNo + ",批次号:" + taskCode);
            return R.parse("201-任务不存在或已结束!!任务编号:" + taskNo + ",批次号:" + taskCode);
        }
        // 验证批次号和任务号的关联关系
@@ -1596,20 +1597,21 @@
    @Transactional(rollbackFor = Exception.class)
    public R allocateLocation(String barcode, String staNo, Integer type, Boolean full, BigDecimal weight) {
        log.info("========== 开始申请入库任务,分配库位 ==========");
        log.info("料箱码:{},入库站点:{},入库类型:{},空板:{},重量:{}", barcode, staNo, type, full, weight);
        log.info("料箱码:{},入库站点:{},入库类型:{},满板信号:{},重量:{}", barcode, staNo, type, full, weight);
        BigDecimal weightScaled = null;
        if (weight != null) {
            weightScaled = weight.setScale(4, RoundingMode.HALF_UP);
        }
        // 统一走 createInTask:空板(full=true)仅不校验组托,仍校验站点、分配库位、建任务;非空板需组托
        // 统一走 createInTask:满板(full=true)走普通入库;空/false 走空板入库
        TaskInParam param = new TaskInParam();
        param.setBarcode(barcode);
        param.setSourceStaNo(staNo);
        param.setLocType1(type != null ? type : 1);
        param.setUser(1L);
        param.setIoType(Boolean.TRUE.equals(full) ? TaskType.TASK_TYPE_EMPITY_IN.type : TaskType.TASK_TYPE_IN.type);
//        param.setIoType(Boolean.TRUE.equals(full) ? TaskType.TASK_TYPE_EMPITY_IN.type : TaskType.TASK_TYPE_IN.type);
        param.setIoType(Boolean.TRUE.equals(full) ? TaskType.TASK_TYPE_IN.type : TaskType.TASK_TYPE_EMPITY_IN.type);
        param.setWeight(weightScaled);
        InTaskMsgDto msgDto = createInTask(param);