From 6d5a963c9a6d52c430dbd0c4874491eee3656ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=B1=9F=E7=8E=AE?= Date: Sat, 20 May 2023 14:11:42 +0800 Subject: [PATCH] =?UTF-8?q?add=20erp=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/basedata/wql/QMD_ME_MATERIAL.wql | 2 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 3 + .../nl/wms/pdm/service/dto/WorkorderDto.java | 2 + .../service/impl/WorkorderServiceImpl.java | 10 ++ .../org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql | 3 +- .../org/nl/wms/sch/manage/RegionInType.java | 35 ++++++ .../org/nl/wms/sch/manage/RegionOutType.java | 31 +++++ .../call/material/FJCallMaterialTask.java | 5 + .../call/material/SZCallMaterialTask.java | 1 + .../call/material/YZCallMaterialTask.java | 1 + .../call/material/wql/CALL_MATERIAL_TASK.wql | 4 +- .../send/material/FJSendMaterialTask.java | 10 +- .../send/material/SZSendMaterialTask.java | 11 +- .../sch/task/to/pack/BTHCToPackageTask.java | 8 +- .../wms/sch/task/to/pack/FJToPackageTask.java | 8 +- .../org/nl/wms/sch/task/util/TaskUtils.java | 61 +++++++++- .../nl/wms/sch/task/util/wql/TASK_UTILS.wql | 71 +++++++++++ .../src/main/java/org/nl/wms/wms.xls | Bin 285184 -> 282112 bytes .../src/views/wms/basedata/material/index.vue | 14 ++- .../views/wms/pdm/workerorder/hl/index.vue | 16 ++- .../src/views/wms/pdm/workerorder/index.vue | 111 +++++++++++++++--- .../src/views/wms/pub/MaterDialog.vue | 5 +- 22 files changed, 376 insertions(+), 36 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionInType.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionOutType.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/wql/TASK_UTILS.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql index b0d7c87..ac1de57 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_MATERIAL.wql @@ -60,7 +60,7 @@ mb.material_type = 输入.material_type ENDOPTION OPTION 输入.order_code <> "" - mb.order_code LIKE '%' order_code '%' + mb.order_code LIKE '%' 输入.order_code '%' ENDOPTION OPTION 输入.product_grade <> "" mb.product_grade LIKE '%' 输入.product_grade '%' diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 2fd7d99..483a094 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -704,6 +704,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String unqualified_qty = jsonObject.getString("unqualified_qty"); if (StrUtil.isNotBlank(unqualified_qty) && !"0".equals(unqualified_qty)) { workorder.put("unqualified_qty", unqualified_qty); + + JSONObject regionIn = TaskUtils.buildRegionInFromWorkorder(workorder, RegionInType.FPRK); + WQLObject.getWQLObject("st_ivt_regionio").insert(regionIn); } String qualified_qty = jsonObject.getString("qualified_qty"); if (StrUtil.isNotBlank(qualified_qty) && !"0".equals(qualified_qty)) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java index ee0eaa1..54b1207 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/dto/WorkorderDto.java @@ -110,4 +110,6 @@ public class WorkorderDto implements Serializable { private String ext_code; private String region_code; + + private String plan_date; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java index d133acd..a0af50d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkorderServiceImpl.java @@ -23,6 +23,7 @@ import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.pdm.service.WorkordeService; import org.nl.wms.pdm.service.dto.WorkorderDto; import org.nl.wms.sch.manage.Region; +import org.nl.wms.sch.manage.RegionInType; import org.nl.wms.sch.manage.WorkOrderEnum; import org.nl.wms.sch.task.util.TaskUtils; import org.springframework.data.domain.Pageable; @@ -133,6 +134,7 @@ public class WorkorderServiceImpl implements WorkordeService { work_order.put("is_pri", dto.getIs_pri()); work_order.put("ext_code", dto.getExt_code()); work_order.put("is_delete", TrueOrFalse.FALSE.value()); + work_order.put("plan_date", dto.getPlan_date()); Long user_id = SecurityUtils.getCurrentUserId(); String nick_name = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); @@ -209,6 +211,11 @@ public class WorkorderServiceImpl implements WorkordeService { throw new BadRequestException("该设备已下发其它工单!"); } + if (Region.HL.value().equals(submit_obj.getString("region_code"))) { + String material_code = submit_obj.getString("material_code"); + submit_obj.put("material_code", material_code.substring(5, 11)); + } + JSONArray request = new JSONArray(); request.add(submit_obj); Map result; @@ -431,6 +438,9 @@ public class WorkorderServiceImpl implements WorkordeService { String unqualified_qty = row.getString("unqualified_qty"); if (StrUtil.isNotBlank(unqualified_qty) && !"0".equals(unqualified_qty)) { workorder.put("unqualified_qty", unqualified_qty); + + JSONObject regionIn = TaskUtils.buildRegionInFromWorkorder(workorder, RegionInType.FPRK); + WQLObject.getWQLObject("st_ivt_regionio").insert(regionIn); } String qualified_qty = row.getString("qualified_qty"); if (StrUtil.isNotBlank(qualified_qty) && !"0".equals(qualified_qty)) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql index 44d0927..e211f46 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/MPS_PRODUCEDURE001.wql @@ -176,7 +176,8 @@ material.a, material.b, material.h, - material.w + material.w, + device.region_code FROM pdm_bd_workorder workorder LEFT JOIN md_me_materialbase material ON workorder.material_id = material.material_id diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionInType.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionInType.java new file mode 100644 index 0000000..e3d1360 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionInType.java @@ -0,0 +1,35 @@ +package org.nl.wms.sch.manage; + +import lombok.RequiredArgsConstructor; + +import java.util.Arrays; +import java.util.stream.Collectors; + +/** + * 入库类型 + * + * @author zhangjiangwei + * @date 2023/05/19 09:53 + */ +@RequiredArgsConstructor +public enum RegionInType { + + WGRK("完工入库", "F"), + BCPRK("半成品入库", "W"), + FPRK("废品入库", "W"); + + private final String label; + private final String value; + + public String label() { + return this.label; + } + + public String value() { + return this.value; + } + + public static RegionInType get(String value) { + return Arrays.stream(RegionInType.values()).filter(r -> r.value.equals(value)).collect(Collectors.toList()).get(0); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionOutType.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionOutType.java new file mode 100644 index 0000000..b5a6d8e --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/RegionOutType.java @@ -0,0 +1,31 @@ +package org.nl.wms.sch.manage; + +import lombok.RequiredArgsConstructor; + +import java.util.Arrays; +import java.util.stream.Collectors; + +/** + * @author zhangjiangwei + * @date 2023/05/20 14:06 + */ +@RequiredArgsConstructor +public enum RegionOutType { + + BCPCK("半成品出库", "W"); + + private final String label; + private final String value; + + public String label() { + return this.label; + } + + public String value() { + return this.value; + } + + public static RegionOutType get(String value) { + return Arrays.stream(RegionOutType.values()).filter(r -> r.value.equals(value)).collect(Collectors.toList()).get(0); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java index e304ce8..d362577 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java @@ -93,6 +93,8 @@ public class FJCallMaterialTask extends AbstractAcsTask { task.put("task_status", TaskStatus.START_AND_END.value()); task.put("point_code1", point.getString("point_code")); task.put("vehicle_code", TaskUtils.formatVehicleCode(point.getString("vehicle_code"))); + task.put("material_id", point.getString("material_id")); + task.put("group_id", point.getString("vd_id")); task.put("remark", ""); TaskUtils.addAutoUpdateColum(task); task_table.update(task); @@ -225,6 +227,9 @@ public class FJCallMaterialTask extends AbstractAcsTask { } point_table.update(point2, "point_code = '" + point_code2 + "'"); } + + JSONObject regionOut = TaskUtils.buildRegionOut(task, RegionOutType.BCPCK); + WQLObject.getWQLObject("st_ivt_regionout").insert(regionOut); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java index f90783e..f26ec21 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/SZCallMaterialTask.java @@ -91,6 +91,7 @@ public class SZCallMaterialTask extends AbstractAcsTask { task.put("point_code1", point.getString("point_code")); task.put("material_id", point.getString("material_id")); task.put("vehicle_code", TaskUtils.formatVehicleCode(point.getString("vehicle_code"))); + task.put("group_id", point.getString("vd_id")); task.put("remark", ""); TaskUtils.addAutoUpdateColum(task); task_table.update(task); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java index 89688fc..1044eb1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java @@ -93,6 +93,7 @@ public class YZCallMaterialTask extends AbstractAcsTask { task.put("task_status", TaskStatus.START_AND_END.value()); task.put("point_code1", point.getString("point_code")); task.put("vehicle_code", TaskUtils.formatVehicleCode(point.getString("vehicle_code"))); + task.put("group_id", point.getString("vd_id")); task.put("material_id", point.getString("material_id")); task.put("remark", ""); TaskUtils.addAutoUpdateColum(task); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql index 91fba37..ace9edb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql @@ -84,6 +84,7 @@ QUERY SELECT point.*, + vd.material_id, vd.vd_id FROM sch_base_point point @@ -109,7 +110,8 @@ QUERY SELECT point.*, - mb1.material_id + mb1.material_id, + vd.vd_id FROM sch_base_point point LEFT JOIN st_ivt_vehicle_detail vd ON point.vehicle_type = vd.vehicle_type diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/FJSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/FJSendMaterialTask.java index 5acbba8..0963b86 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/FJSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/FJSendMaterialTask.java @@ -86,7 +86,7 @@ public class FJSendMaterialTask extends AbstractAcsTask { form.getString("create_id"), form.getString("create_name") ); - empty_task.put("task_group_id", material_task.getLongValue("task_id")); + empty_task.put("table_fk_id", material_task.getLongValue("task_id")); WQLObject.getWQLObject("sch_base_task").insert(empty_task); } @@ -309,6 +309,14 @@ public class FJSendMaterialTask extends AbstractAcsTask { } // todo 如果是送料任务需要发送唛头信息到包装机 + + if (TaskType.SEND_MATERIAL.value().equals(task.getString("task_type"))) { + JSONObject point2 = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code2 + "'").uniqueResult(0); + if (Region.FJ.value().equals(point2.getString("region_code")) && "5".equals(point2.getString("point_type"))) { + JSONObject regionIn = TaskUtils.buildRegionInFromTask(task, RegionInType.WGRK); + WQLObject.getWQLObject("st_ivt_regionio").insert(regionIn); + } + } } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/SZSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/SZSendMaterialTask.java index 18a9ea9..553f8eb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/SZSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/SZSendMaterialTask.java @@ -167,14 +167,14 @@ public class SZSendMaterialTask extends AbstractAcsTask { } - public void finishTask(JSONObject task, OperationType operation_type) { + public void finishTask(JSONObject task, OperationType operation_type) { int current_task_status = task.getIntValue("task_status"); if (current_task_status < Integer.parseInt(TaskStatus.FINISHED.value())) { if (operation_type == OperationType.MANUAL - && current_task_status < Integer.parseInt(TaskStatus.START_AND_END.value())) { + && current_task_status < Integer.parseInt(TaskStatus.START_AND_END.value())) { throw new BadRequestException("只能手动完成 [确认起点和终点] 之后的任务!"); } - + task.put("task_status", TaskStatus.FINISHED.value()); if (operation_type == OperationType.AUTO) { TaskUtils.addACSUpdateColum(task); @@ -218,8 +218,11 @@ public class SZSendMaterialTask extends AbstractAcsTask { } else if (operation_type == OperationType.MANUAL) { TaskUtils.addCurrentUpdateColum(point2); } - point_table.update(point2, "point_code = '" + point_code2 +"'"); + point_table.update(point2, "point_code = '" + point_code2 + "'"); } + + JSONObject regionIn = TaskUtils.buildRegionInFromTask(task, RegionInType.BCPRK); + WQLObject.getWQLObject("st_ivt_regionio").insert(regionIn); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/BTHCToPackageTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/BTHCToPackageTask.java index 2b0e811..db712e9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/BTHCToPackageTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/BTHCToPackageTask.java @@ -49,7 +49,7 @@ public class BTHCToPackageTask extends AbstractAcsTask { TaskStatus.SURE_START.value(), point.getString("point_code"), null, - pn.getLongValue("data_id"), + vd.getLongValue("vd_id"), vd.getString("material_id"), vd.getString("vehicle_type"), vd.getString("vehicle_code"), @@ -60,6 +60,7 @@ public class BTHCToPackageTask extends AbstractAcsTask { form.getString("create_id"), form.getString("create_name") ); + task.put("table_fk_id", pn.getLong("data_id")); WQLObject.getWQLObject("sch_base_task").insert(task); point.put("lock_type", LockType.TASK_LOCKED.value()); @@ -168,7 +169,7 @@ public class BTHCToPackageTask extends AbstractAcsTask { point_table.update(point2, "point_code = '" + point_code2 + "'"); } - WQLObject.getWQLObject("das_produce_number").delete("data_id = " + task.getLongValue("group_id")); + WQLObject.getWQLObject("das_produce_number").delete("data_id = " + task.getLongValue("table_fk_id")); } } @@ -223,6 +224,9 @@ public class BTHCToPackageTask extends AbstractAcsTask { } point_table.update(point2, "point_code = '" + point_code2 + "'"); } + + JSONObject regionIn = TaskUtils.buildRegionInFromTask(task, RegionInType.WGRK); + WQLObject.getWQLObject("st_ivt_regionio").insert(regionIn); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java index 96cf452..ac58a2f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java @@ -51,7 +51,7 @@ public class FJToPackageTask extends AbstractAcsTask { TaskStatus.SURE_START.value(), point.getString("point_code"), null, - pn.getLongValue("data_id"), + vd.getLongValue("vd_id"), vd.getString("material_id"), vd.getString("vehicle_type"), vd.getString("vehicle_code"), @@ -62,6 +62,7 @@ public class FJToPackageTask extends AbstractAcsTask { form.getString("create_id"), form.getString("create_name") ); + task.put("table_fk_id", pn.getLong("data_id")); WQLObject.getWQLObject("sch_base_task").insert(task); point.put("lock_type", LockType.TASK_LOCKED.value()); @@ -170,7 +171,7 @@ public class FJToPackageTask extends AbstractAcsTask { point_table.update(point2, "point_code = '" + point_code2 + "'"); } - WQLObject.getWQLObject("das_produce_number").delete("data_id = " + task.getLongValue("group_id")); + WQLObject.getWQLObject("das_produce_number").delete("data_id = " + task.getLongValue("table_fk_id")); } } @@ -225,6 +226,9 @@ public class FJToPackageTask extends AbstractAcsTask { } point_table.update(point2, "point_code = '" + point_code2 + "'"); } + + JSONObject regionIn = TaskUtils.buildRegionInFromTask(task, RegionInType.WGRK); + WQLObject.getWQLObject("st_ivt_regionio").insert(regionIn); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/TaskUtils.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/TaskUtils.java index c76a63f..a199137 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/TaskUtils.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/TaskUtils.java @@ -8,12 +8,10 @@ import com.alibaba.fastjson.JSONObject; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.common.PickType; -import org.nl.wms.sch.manage.ACSSystem; -import org.nl.wms.sch.manage.AutoCreate; -import org.nl.wms.sch.manage.LockType; -import org.nl.wms.sch.manage.PointStatus; +import org.nl.wms.sch.manage.*; /** * 辽宁晟华任务工具类 @@ -170,4 +168,59 @@ public class TaskUtils { pn.put("create_time", DateUtil.now()); return pn; } + + public static JSONObject buildRegionInFromTask(JSONObject task, RegionInType regionInType) { + JSONObject detail = WQL.getWO("TASK_UTILS").addParam("flag", "1").addParam("vd_id", task.getString("group_id")).process().uniqueResult(0); + JSONObject regionIn = new JSONObject(); + regionIn.put("id", IdUtil.getSnowflake(1L, 1L).nextId()); + regionIn.put("cCode", CodeUtil.getNewCode("IN_STORE_CODE")); + regionIn.put("dDate", DateUtil.today()); + regionIn.put("cVouchType", regionInType.label()); + String material_code = detail.getString("material_code"); + String cMocode = material_code.substring(11, 16); + regionIn.put("cMocode", cMocode); + regionIn.put("cInvCode", regionInType.value() + material_code); + regionIn.put("iQuantity", String.format("%.3f", detail.getDoubleValue("vd_weight") / 1000)); + regionIn.put("iNum", detail.getString("qty")); + regionIn.put("iinvexchrate", String.format("%.3f", detail.getDoubleValue("material_weight") / 1000)); + regionIn.put("cBatch", cMocode); + return regionIn; + } + + public static JSONObject buildRegionInFromWorkorder(JSONObject workorder, RegionInType regionInType) { + JSONObject detail = WQL.getWO("TASK_UTILS").addParam("flag", "2").addParam("workorder_id", workorder.getString("workorder_id")).process().uniqueResult(0); + JSONObject regionIn = new JSONObject(); + regionIn.put("id", IdUtil.getSnowflake(1L, 1L).nextId()); + regionIn.put("cCode", CodeUtil.getNewCode("IN_STORE_CODE")); + regionIn.put("dDate", DateUtil.today()); + regionIn.put("cVouchType", regionInType.label()); + String material_code = detail.getString("material_code"); + String cMocode = material_code.substring(11, 16); + regionIn.put("cMocode", cMocode); + regionIn.put("cInvCode", regionInType.value() + material_code); + int qty = detail.getIntValue("qty"); + regionIn.put("iNum", qty); + double material_weight = detail.getDoubleValue("material_weight") / 1000; + regionIn.put("iinvexchrate", String.format("%.3f", material_weight)); + regionIn.put("iQuantity", String.format("%.3f", qty * material_weight / 1000)); + regionIn.put("cBatch", cMocode); + return regionIn; + } + + public static JSONObject buildRegionOut(JSONObject task, RegionOutType regionOutType) { + JSONObject detail = WQL.getWO("TASK_UTILS").addParam("flag", "1").addParam("vd_id", task.getString("group_id")).process().uniqueResult(0); + JSONObject regionIn = new JSONObject(); + regionIn.put("id", IdUtil.getSnowflake(1L, 1L).nextId()); + regionIn.put("cCode", CodeUtil.getNewCode("IN_STORE_CODE")); + regionIn.put("dDate", DateUtil.today()); + String material_code = detail.getString("material_code"); + String cMocode = material_code.substring(11, 16); + regionIn.put("cMocode", cMocode); + regionIn.put("cInvCode", regionOutType.value() + material_code); + regionIn.put("iQuantity", String.format("%.3f", detail.getDoubleValue("vd_weight") / 1000)); + regionIn.put("iNum", detail.getString("qty")); + regionIn.put("iinvexchrate", String.format("%.3f", detail.getDoubleValue("material_weight") / 1000)); + regionIn.put("cBatch", cMocode); + return regionIn; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/wql/TASK_UTILS.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/wql/TASK_UTILS.wql new file mode 100644 index 0000000..2512755 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/util/wql/TASK_UTILS.wql @@ -0,0 +1,71 @@ +[交易说明] + 交易名: 任务工具类 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.vd_id TYPEAS f_string + 输入.workorder_id TYPEAS f_string + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + QUERY + SELECT + vd.qty, + vd.weight AS vd_weight, + material.weight AS material_weight, + material.material_code + FROM + st_ivt_vehicle_detail vd + LEFT JOIN md_me_materialbase material ON vd.material_id = material.material_id + WHERE + vd.vd_id = 输入.vd_id + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT + workorder.unqualified_qty AS qty, + material.material_code AS material_code, + material.weight AS material_weight + FROM + pdm_bd_workorder workorder + LEFT JOIN md_me_materialbase material ON workorder.material_id = material.material_id + WHERE + workorder.vd_id = 输入.workorder_id + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls index 63774b2f59d52cd79781a5d4124131ce7c91f8c0..64298aab2f7471fd35c8208f211067b4f1aa8c45 100644 GIT binary patch delta 69813 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 - + + + 同步 + + - + diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/hl/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/hl/index.vue index 3aa1789..e475458 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/hl/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/hl/index.vue @@ -133,6 +133,19 @@ + + + + + + + @@ -295,7 +308,8 @@ const defaultForm = { ext_code: null, qualified_qty: '0', unqualified_qty: '0', - region_code: null + region_code: null, + plan_date: null } export default { name: 'HLWorkorder', diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue index 72ada97..b7f7c84 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue @@ -129,14 +129,27 @@ - + - - + + + + + + + + + @@ -180,19 +206,35 @@ > - + - + - - + + @@ -208,15 +250,43 @@ {{ dict.label.true_or_false[scope.row.is_pri] }} - - + + - - + + - - - + + +