From 93fa9f818f029624c31ec15270aadb8f73ce7e0e Mon Sep 17 00:00:00 2001 From: liuxy Date: Thu, 10 Aug 2023 10:45:47 +0800 Subject: [PATCH] =?UTF-8?q?rev=EF=BC=9A=E6=88=90=E5=93=81=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E5=88=86=E9=85=8D=E8=AE=BE=E7=BD=AE=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E9=9C=80=E6=94=B9=E4=B8=BA=20=E7=94=9F=E6=88=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=92=8C=E4=B8=8B=E5=8F=91=E4=BB=BB=E5=8A=A1=E4=B8=80?= =?UTF-8?q?=E8=B5=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/storage_manage/pda/PDAEnum.java | 4 +- .../impl/StIvtIostorinvCpOutServiceImpl.java | 59 ++++++++++++++++--- .../staging/kzStaging/index.vue | 8 +-- .../product/productOut/DivDialog.vue | 5 +- 4 files changed, 60 insertions(+), 16 deletions(-) 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