From 19db98e95b48d5a5f87d6ed25c7c2cbbeb94490e Mon Sep 17 00:00:00 2001 From: lyd <1419499670@qq.com> Date: Fri, 4 Nov 2022 14:29:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=82=B9=E4=BD=8D=E4=BB=A3=E7=A0=81=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lms/nladmin-system/pom.xml | 5 - .../org/nl/wms/sch/service/dto/PointDto.java | 48 +++++- .../sch/service/impl/PointServiceImpl.java | 35 +++- .../org/nl/wms/sch/wql/QSCH_BASE_POINT.wql | 4 +- .../views/wms/sch/point/MaterialDialog.vue | 155 +++++++++++++++++ .../views/wms/sch/point/WorkOrderDialog.vue | 158 ++++++++++++++++++ .../src/views/wms/sch/point/index.vue | 44 ++++- 7 files changed, 421 insertions(+), 28 deletions(-) create mode 100644 lms/nladmin-ui/src/views/wms/sch/point/MaterialDialog.vue create mode 100644 lms/nladmin-ui/src/views/wms/sch/point/WorkOrderDialog.vue diff --git a/lms/nladmin-system/pom.xml b/lms/nladmin-system/pom.xml index fd9308f..e824db2 100644 --- a/lms/nladmin-system/pom.xml +++ b/lms/nladmin-system/pom.xml @@ -246,11 +246,6 @@ UserAgentUtils 1.21 - - - org.springframework.boot - spring-boot-starter-data-redis - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java index 39319d2..a3e07eb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java @@ -49,9 +49,6 @@ public class PointDto implements Serializable { /** MES设备编码 */ private String mes_device_code; - /** 物料标识 */ - private Long material_id; - /** 允许的载具类型 */ private String can_vehicle_type; @@ -62,16 +59,16 @@ public class PointDto implements Serializable { private String vehicle_code; /** 载具数量 */ - private BigDecimal vehicle_qty; + private String vehicle_qty; /** 块 */ private BigDecimal block_num; /** 排 */ - private BigDecimal col_num; + private BigDecimal row_num; /** 列 */ - private BigDecimal row_num; + private BigDecimal col_num; /** 层 */ private BigDecimal layer_num; @@ -111,4 +108,43 @@ public class PointDto implements Serializable { /** 修改时间 */ private String update_time; + + /** 载具允许最大数量 */ + private BigDecimal vehicle_max_qty; + + /** 入库顺序 */ + private BigDecimal in_order_seq; + + /** 出库顺序 */ + private BigDecimal out_order_seq; + + /** 入空载具顺序 */ + private BigDecimal in_empty_seq; + + /** 出空载具顺序 */ + private BigDecimal out_empty_seq; + + /** 在执行的任务标识 */ + private Long task_id; + + /** 物料标识 */ + private String material_id; + + /** 批次 */ + private String pcsn; + + /** 库存数 */ + private BigDecimal ivt_qty; + + /** 计量单位标识 */ + private Long qty_unit_id; + + /** 入库时间 */ + private String instorage_time; + + /** 静置时间(分钟) */ + private BigDecimal standing_time; + + /** 是否关联库存表 */ + private String is_ref_ivt; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java index 0fe2b78..7ea2ffe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -153,13 +154,8 @@ public class PointServiceImpl implements PointService { throw new BadRequestException("被删除或无权限,操作失败!"); } - String pointStatus = dto.getPoint_status(); - if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals("1")) { - entity.setMaterial_id(null); - entity.setVehicle_type(null); - entity.setVehicle_code(null); - entity.setVehicle_qty(null); - } + WQLObject materialBaseTab = WQLObject.getWQLObject("MD_ME_MaterialBase"); + WQLObject pointTab = WQLObject.getWQLObject("SCH_BASE_Point"); Long currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); @@ -168,10 +164,31 @@ public class PointServiceImpl implements PointService { dto.setUpdate_time(now); dto.setUpdate_optid(currentUserId); dto.setUpdate_optname(nickName); + String pointStatus = dto.getPoint_status(); - WQLObject wo = WQLObject.getWQLObject("sch_base_point"); + if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals("1")) { // 空位 + dto.setMaterial_id(""); + dto.setVehicle_type(""); + dto.setVehicle_code(""); + dto.setVehicle_qty(""); + dto.setPcsn(""); + dto.setIvt_qty(BigDecimal.valueOf(0)); + dto.setInstorage_time(null); + dto.setStanding_time(BigDecimal.valueOf(0)); + } else if (pointStatus.equals("2")) { // 空载具 + dto.setMaterial_id(null); + dto.setInstorage_time(now); + dto.setStanding_time(BigDecimal.valueOf(0)); + } else { // 有料 + if (ObjectUtil.isEmpty(dto.getMaterial_id())) throw new BadRequestException("物料不能为空"); + if (ObjectUtil.isEmpty(dto.getIvt_qty())) throw new BadRequestException("库存数不能为空"); + JSONObject materialObj = materialBaseTab.query("material_id = '" + dto.getMaterial_id() + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(materialObj)) throw new BadRequestException("未找到该物料"); + dto.setStanding_time(materialObj.getBigDecimal("standing_time")); + dto.setInstorage_time(now); + } JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.update(json); + pointTab.update(json); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/QSCH_BASE_POINT.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/QSCH_BASE_POINT.wql index b079799..bdf9d1a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/QSCH_BASE_POINT.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/QSCH_BASE_POINT.wql @@ -49,11 +49,13 @@ PAGEQUERY SELECT point.*, - d3.label as lock_type_name + d3.label as lock_type_name, + ma.material_name FROM sch_base_point point LEFT JOIN SCH_BASE_Region region ON point.region_id = region.region_id LEFT JOIN sys_dict_detail d3 ON point.lock_type = d3.value and d3.name='d_lock_type' + LEFT JOIN md_me_materialbase ma ON ma.material_id = point.material_id WHERE point.is_delete = '0' OPTION 输入.region_id <> "" diff --git a/lms/nladmin-ui/src/views/wms/sch/point/MaterialDialog.vue b/lms/nladmin-ui/src/views/wms/sch/point/MaterialDialog.vue new file mode 100644 index 0000000..39e6a41 --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/sch/point/MaterialDialog.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/sch/point/WorkOrderDialog.vue b/lms/nladmin-ui/src/views/wms/sch/point/WorkOrderDialog.vue new file mode 100644 index 0000000..831111c --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/sch/point/WorkOrderDialog.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/lms/nladmin-ui/src/views/wms/sch/point/index.vue b/lms/nladmin-ui/src/views/wms/sch/point/index.vue index 12eca28..5dcdfd1 100644 --- a/lms/nladmin-ui/src/views/wms/sch/point/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/point/index.vue @@ -225,7 +225,7 @@ - + - + - + - + + + + + + + + + + + + + + + @@ -337,7 +351,8 @@ - + + @@ -351,6 +366,8 @@ import crudOperation from '@crud/CRUD.operation' import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import ViewDialog from '@/views/wms/sch/point/ViewDialog' +import MaterialDialog from '@/views/wms/sch/point/MaterialDialog' +import WorkOrderDialog from '@/views/wms/sch/point/WorkOrderDialog' const defaultForm = { point_id: null, @@ -374,7 +391,7 @@ const defaultForm = { export default { name: 'Point', dicts: ['vehicle_type', 'd_lock_type', 'SCH_TASK_TYPE_DTL', 'vehicle_type'], - components: { pagination, crudOperation, rrOperation, udOperation , ViewDialog}, + components: { WorkOrderDialog, MaterialDialog, pagination, crudOperation, rrOperation, udOperation , ViewDialog}, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ @@ -395,6 +412,9 @@ export default { data() { return { syncLoading: false, + materialDialog: false, + workOrderDialog: false, + choose: '物料', invtypelist: [], pointStatusList: [], pointStatusDialogList: [], @@ -513,8 +533,18 @@ export default { if (row) { this.$refs.viewDialog.setParentData(row) } + }, + getMaterial() { + if (this.choose == '物料') { + this.materialDialog = true + } else { + this.workOrderDialog = true + } + }, + tableChanged(row) { + this.form.material_name = row.material_name + this.form.material_id = row.material_id } - } }