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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label.vehicle_type[scope.row.vehicle_type] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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
}
-
}
}