diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/PDAEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/PDAEnum.java index 03aa0405..2a11bca4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/PDAEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/pda/PDAEnum.java @@ -12,7 +12,9 @@ import java.util.Map; @Getter public enum PDAEnum { //点位区域 - REGION_CODE(MapOf.of("半成品入库区域", "A1_BCPRK01", "半成品出库区域", "A1_BCPCK01","成品入库区域", "A1_CPRK01","半成品盘点区域", "A1_BCP_PP","海柔半成品出库区域","A3_BCPCK01")), + REGION_CODE(MapOf.of("半成品入库区域", "A1_BCPRK01", "半成品出库区域", "A1_BCPCK01","成品入库区域", + "A1_CPRK01","半成品盘点区域", "A1_BCP_PP","海柔半成品出库区域","A3_BCPCK01", + "发货区域","A1_FH01")), //库区编码 SECT_CODE(MapOf.of("半成品库区", "KQ005")), //库区id diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java index 789c15a9..4b8e0b6d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/storage_manage/productmanage/service/iostorInv/impl/StIvtIostorinvCpOutServiceImpl.java @@ -40,6 +40,7 @@ import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint; import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService; import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask; import org.nl.wms.storage_manage.IOSEnum; +import org.nl.wms.storage_manage.pda.PDAEnum; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpOutService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService; import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisdtlCpService; @@ -397,8 +398,10 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl().lambda() - .eq(SchBasePoint::getPoint_code, whereJson.getString("point_code")) - ); + + // 2.1 判断出库点是否为空,为空则分配一个出库点 + String point_code = whereJson.getString("point_code"); + + if (ObjectUtil.isNotEmpty(point_code)) { + pointDao = iSchBasePointService.getOne( + new QueryWrapper().lambda() + .eq(SchBasePoint::getPoint_code, point_code) + ); + } else { + // 分配一个出库点 + List pointList = iSchBasePointService.list( + new QueryWrapper().lambda() + .eq(SchBasePoint::getIs_delete, IOSEnum.IS_USED.code("否")) + .eq(SchBasePoint::getIs_used, IOSEnum.IS_USED.code("是")) + .eq(SchBasePoint::getRegion_code, PDAEnum.REGION_CODE.code("发货区域")) + .orderByAsc(SchBasePoint::getPoint_code) + + ); + + for (SchBasePoint dao : pointList) { + // 校验此点位是否有未完成的任务 + SchBaseTask taskDao = iSchBaseTaskService.getOne( + new QueryWrapper().lambda() + .eq(SchBaseTask::getPoint_code3, dao.getPoint_code()) + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_USED.code("否")) + .notIn(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode(), TaskStatusEnum.CANCEL.getCode()) + , false + ); + + if (ObjectUtil.isEmpty(taskDao)) { + pointDao = dao; + break; + } + + } + if (ObjectUtil.isEmpty(pointDao)) throw new BadRequestException("出库点位为空,请检查!"); + } + + // 2.2 生成任务 PointEvent event = PointEvent.builder() .type(AcsTaskEnum.TASK_STRUCT_CP_OUT) .acs_task_type("8") @@ -436,6 +474,11 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl) disDao::setTask_id) .build(); BussEventMulticaster.Publish(event); + + // 2.3 下发任务 + whereJson.put("task_id", disDao.getTask_id()); + sendTask(whereJson); + } // 3.更新分配表 iostorinvdisCpService.update( diff --git a/mes/qd/src/views/wms/staging_manage/staging/kzStaging/index.vue b/mes/qd/src/views/wms/staging_manage/staging/kzStaging/index.vue index 37ad92a7..dadaa5ac 100644 --- a/mes/qd/src/views/wms/staging_manage/staging/kzStaging/index.vue +++ b/mes/qd/src/views/wms/staging_manage/staging/kzStaging/index.vue @@ -279,10 +279,10 @@ export default { }) }, setMaterValue(row) { - this.materialForm.material_id = row.material_id - this.materialForm.material_code = row.material_code - this.materialForm.material_name = row.material_name - this.materialForm.material_spec = row.material_spec + this.$set(this.materialForm, 'material_id', row.material_id) + this.$set(this.materialForm, 'material_code', row.material_code) + this.$set(this.materialForm, 'material_name', row.material_name) + this.$set(this.materialForm, 'material_spec', row.material_spec) if (row.material_spec != null || row.material_spec != '') { this.materialForm.point_status = '2' } diff --git a/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue b/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue index a84c3e4a..e49e5c98 100644 --- a/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue +++ b/mes/qd/src/views/wms/storage_manage/product/productOut/DivDialog.vue @@ -448,11 +448,10 @@ export default { }) }, setPoint() { - if (this.form2.point_code === '') { + /* if (this.form2.point_code === '') { this.crud.notify('请选择站点!', CRUD.NOTIFICATION_TYPE.INFO) return false - } - + }*/ if (this.currentDis.iostorinvdis_id === undefined) { this.crud.notify('请选择分配明细!', CRUD.NOTIFICATION_TYPE.INFO) return false