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 483a094..5c52377 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,7 +704,8 @@ 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); - + } + if (!"0".equals(workorder.getString("unqualified_qty"))) { JSONObject regionIn = TaskUtils.buildRegionInFromWorkorder(workorder, RegionInType.FPRK); WQLObject.getWQLObject("st_ivt_regionio").insert(regionIn); } 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 a0af50d..a831fe5 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 @@ -438,10 +438,13 @@ 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); + } + if (!"0".equals(workorder.getString("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)) { workorder.put("qualified_qty", 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 e211f46..765dd83 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 @@ -84,11 +84,8 @@ ) ENDOPTION OPTION 输入.region_code <> "" - device.region_code = 'HL' + device.region_code = 输入.region_code ENDOPTION - OPTION 输入.region_code = "" - device.region_code IN ('YZ', 'FJ') - ENDOPTION ENDSELECT ENDPAGEQUERY ENDIF @@ -177,7 +174,8 @@ material.b, material.h, material.w, - device.region_code + device.region_code, + workorder.vehicle_type 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/task/call/empty/FJCallEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/FJCallEmptyTask.java index e4925dd..0761c00 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/FJCallEmptyTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/FJCallEmptyTask.java @@ -49,7 +49,7 @@ public class FJCallEmptyTask extends AbstractAcsTask { null, point.getString("point_code"), null, - null, + work_order.getString("material_id"), work_order.getString("vehicle_type"), null, TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1, @@ -82,24 +82,18 @@ public class FJCallEmptyTask extends AbstractAcsTask { for (int i = 0; i < tasks.size(); i++) { JSONObject task = tasks.getJSONObject(i); - JSONObject point = WQL + JSONObject bthc_point = WQL .getWO("CALL_EMPTY_TASK") - .addParam("flag", "4") + .addParam("flag", "6") .addParam("vehicle_type", task.getString("vehicle_type")) + .addParam("material_id", task.getString("material_id")) .process() .uniqueResult(0); - - if (ObjectUtil.isNotEmpty(point)) { - JSONArray request_param = new JSONArray(); - request_param.add(point.getString("point_code")); - JSONObject result = wmsToAcsService.getTray(request_param); - if (!"200".equals(result.getString("status"))) { - continue; - } - + if (ObjectUtil.isNotEmpty(bthc_point)) { task.put("task_status", TaskStatus.START_AND_END.value()); - task.put("point_code1", point.getString("device_code")); - task.put("vehicle_code", TaskUtils.formatVehicleCode(point.getString("vehicle_code"))); + task.put("point_code1", bthc_point.getString("device_code")); + task.put("vehicle_code", TaskUtils.formatVehicleCode(bthc_point.getString("vehicle_code"))); + task.put("group_id", bthc_point.getLongValue("vd_id")); task.put("remark", ""); TaskUtils.addAutoUpdateColum(task); task_table.update(task); @@ -108,7 +102,38 @@ public class FJCallEmptyTask extends AbstractAcsTask { update_point.put("lock_type", LockType.TASK_LOCKED.value()); update_point.put("task_code", task.getString("task_code")); TaskUtils.addAutoUpdateColum(update_point); - point_table.update(update_point, "point_code = '" + point.getString("device_code") + "'"); + point_table.update(update_point, "point_code = '" + bthc_point.getString("device_code") + "'"); + } else { + + JSONObject point = WQL + .getWO("CALL_EMPTY_TASK") + .addParam("flag", "4") + .addParam("vehicle_type", task.getString("vehicle_type")) + .process() + .uniqueResult(0); + + if (ObjectUtil.isNotEmpty(point)) { + JSONArray request_param = new JSONArray(); + request_param.add(point.getString("point_code")); + JSONObject result = wmsToAcsService.getTray(request_param); + if (!"200".equals(result.getString("status"))) { + continue; + } + + task.put("task_status", TaskStatus.START_AND_END.value()); + task.put("point_code1", point.getString("device_code")); + task.put("vehicle_code", TaskUtils.formatVehicleCode(point.getString("vehicle_code"))); + task.put("material_id", ""); + task.put("remark", ""); + TaskUtils.addAutoUpdateColum(task); + task_table.update(task); + + JSONObject update_point = new JSONObject(); + update_point.put("lock_type", LockType.TASK_LOCKED.value()); + update_point.put("task_code", task.getString("task_code")); + TaskUtils.addAutoUpdateColum(update_point); + point_table.update(update_point, "point_code = '" + point.getString("device_code") + "'"); + } } } } @@ -177,14 +202,14 @@ public class FJCallEmptyTask 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); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/wql/CALL_EMPTY_TASK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/wql/CALL_EMPTY_TASK.wql index 3c08a04..6cf2f52 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/wql/CALL_EMPTY_TASK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/wql/CALL_EMPTY_TASK.wql @@ -16,6 +16,7 @@ 输入.flag TYPEAS s_string 输入.point_code TYPEAS s_string 输入.vehicle_type TYPEAS s_string + 输入.material_id TYPEAS f_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -135,3 +136,25 @@ ENDSELECT ENDQUERY ENDIF + + IF 输入.flag = "6" + QUERY + SELECT + point.*, + vd.vd_id + FROM + sch_base_point point + LEFT JOIN st_ivt_vehicle_detail vd ON point.vehicle_type = vd.vehicle_type + AND point.vehicle_code = vd.vehicle_code + AND vd.is_delete = '0' + WHERE + point.is_used = '1' + AND point.lock_type = '1' + AND point.region_code = 'BTHC' + AND point.point_type = '1' + AND point.point_status = '1' + AND point.vehicle_type = 输入.vehicle_type + AND vd.material_id = 输入.material_id + ENDSELECT + ENDQUERY + ENDIF 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 d362577..24b7c71 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 @@ -59,53 +59,39 @@ public class FJCallMaterialTask extends AbstractAcsTask { form.getString("create_id"), form.getString("create_name") ); - WQLObject.getWQLObject("sch_base_task").insert(task); - point.put("lock_type", LockType.TASK_LOCKED.value()); - point.put("task_code", task.getString("task_code")); - TaskUtils.addFormUpdateColum(point, form); - WQLObject.getWQLObject("sch_base_point").update(point); - - return task.getString("task_code"); - } - - - @Override - public void findStartPoint() { - WQLObject task_table = WQLObject.getWQLObject("sch_base_task"); - JSONArray tasks = task_table - .query("is_delete = '0' AND task_status = '" + TaskStatus.SURE_END.value() + "' AND handle_class = '" + FJCallMaterialTask.class.getName() + "'", "priority DESC, create_time ASC") - .getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(tasks)) { + JSONObject point1 = WQL + .getWO("CALL_MATERIAL_TASK") + .addParam("flag", "3") + .addParam("material_id", task.getString("material_id")) + .process() + .uniqueResult(0); + + if (ObjectUtil.isNotEmpty(point1)) { + point.put("lock_type", LockType.TASK_LOCKED.value()); + point.put("task_code", task.getString("task_code")); + TaskUtils.addFormUpdateColum(point, form); WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); - - for (int i = 0; i < tasks.size(); i++) { - JSONObject task = tasks.getJSONObject(i); - - JSONObject point = WQL - .getWO("CALL_MATERIAL_TASK") - .addParam("flag", "3") - .addParam("material_id", task.getString("material_id")) - .process() - .uniqueResult(0); - - if (ObjectUtil.isNotEmpty(point)) { - 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); - - JSONObject point_update = new JSONObject(); - point_update.put("lock_type", LockType.TASK_LOCKED.value()); - point_update.put("task_code", task.getString("task_code")); - TaskUtils.addAutoUpdateColum(point_update); - point_table.update(point_update, "point_id = " + point.getLongValue("point_id")); - } - } + point_table.update(point); + + task.put("task_status", TaskStatus.START_AND_END.value()); + task.put("point_code1", point1.getString("point_code")); + task.put("vehicle_code", TaskUtils.formatVehicleCode(point1.getString("vehicle_code"))); + task.put("material_id", point1.getString("material_id")); + task.put("group_id", point1.getString("vd_id")); + task.put("remark", ""); + + JSONObject point_update = new JSONObject(); + point_update.put("lock_type", LockType.TASK_LOCKED.value()); + point_update.put("task_code", task.getString("task_code")); + TaskUtils.addFormUpdateColum(point_update, form); + point_table.update(point_update, "point_id = " + point1.getLongValue("point_id")); + + WQLObject.getWQLObject("sch_base_task").insert(task); + + return task.getString("task_code"); + } else { + throw new BadRequestException("[" + point.get("point_code") + "] 的叫料任务未找到起点!"); } } 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 f26ec21..4991a44 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 @@ -57,52 +57,38 @@ public class SZCallMaterialTask extends AbstractAcsTask { form.getString("create_id"), form.getString("create_name") ); - WQLObject.getWQLObject("sch_base_task").insert(task); - point.put("lock_type", LockType.TASK_LOCKED.value()); - point.put("task_code", task.getString("task_code")); - TaskUtils.addFormUpdateColum(point, form); - WQLObject.getWQLObject("sch_base_point").update(point); + JSONObject point1 = WQL + .getWO("CALL_MATERIAL_TASK") + .addParam("flag", "1") + .process() + .uniqueResult(0); - return task.getString("task_code"); - } - - - @Override - public void findStartPoint() { - WQLObject task_table = WQLObject.getWQLObject("sch_base_task"); - JSONArray tasks = task_table - .query("is_delete = '0' AND task_status = '" + TaskStatus.SURE_END.value() + "' AND handle_class = '" + SZCallMaterialTask.class.getName() + "'", "priority DESC, create_time ASC") - .getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(tasks)) { + if (ObjectUtil.isNotEmpty(point1)) { WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); - - for (int i = 0; i < tasks.size(); i++) { - JSONObject task = tasks.getJSONObject(i); - - JSONObject point = WQL - .getWO("CALL_MATERIAL_TASK") - .addParam("flag", "1") - .process() - .uniqueResult(0); - - if (ObjectUtil.isNotEmpty(point)) { - task.put("task_status", TaskStatus.START_AND_END.value()); - 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); - - JSONObject point_update = new JSONObject(); - point_update.put("lock_type", LockType.TASK_LOCKED.value()); - point_update.put("task_code", task.getString("task_code")); - TaskUtils.addAutoUpdateColum(point_update); - point_table.update(point_update, "point_id = " + point.getLongValue("point_id")); - } - } + point.put("lock_type", LockType.TASK_LOCKED.value()); + point.put("task_code", task.getString("task_code")); + TaskUtils.addFormUpdateColum(point, form); + WQLObject.getWQLObject("sch_base_point").update(point); + + task.put("task_status", TaskStatus.START_AND_END.value()); + task.put("point_code1", point1.getString("point_code")); + task.put("material_id", point1.getString("material_id")); + task.put("vehicle_code", TaskUtils.formatVehicleCode(point1.getString("vehicle_code"))); + task.put("group_id", point1.getString("vd_id")); + task.put("remark", ""); + + JSONObject point_update = new JSONObject(); + point_update.put("lock_type", LockType.TASK_LOCKED.value()); + point_update.put("task_code", task.getString("task_code")); + TaskUtils.addFormUpdateColum(point_update, form); + point_table.update(point_update, "point_id = " + point1.getLongValue("point_id")); + + WQLObject.getWQLObject("sch_base_task").insert(task); + + return task.getString("task_code"); + } else { + throw new BadRequestException("[" + point.get("point_code") + "] 的叫料任务未找到起点!"); } } @@ -172,14 +158,14 @@ public class SZCallMaterialTask 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); 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 1044eb1..a65f47e 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 @@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.core.engine.object.WO; import org.nl.wms.basedata.eum.TrueOrFalse; import org.nl.wms.basedata.eum.VehicleType; import org.nl.wms.sch.manage.*; @@ -82,12 +83,19 @@ public class YZCallMaterialTask extends AbstractAcsTask { for (int i = 0; i < tasks.size(); i++) { JSONObject task = tasks.getJSONObject(i); - JSONObject point = WQL + WO wo = WQL .getWO("CALL_MATERIAL_TASK") .addParam("flag", "4") - .addParam("material_id", task.getString("material_id")) - .process() - .uniqueResult(0); + .addParam("material_id", task.getString("material_id")); + + JSONObject point2 = point_table.query("point_code = '" + task.getString("point_code2") + "'").uniqueResult(0); + if ("2".equals(point2.getString("point_type"))) { + wo.addParam("is_new", TrueOrFalse.TRUE.value()); + } else if ("3".equals(point2.getString("point_type"))) { + wo.addParam("is_new", TrueOrFalse.FALSE.value()); + } + + JSONObject point = wo.process().uniqueResult(0); if (ObjectUtil.isNotEmpty(point)) { task.put("task_status", TaskStatus.START_AND_END.value()); 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 ace9edb..806c5c5 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 @@ -15,6 +15,7 @@ ################################################# 输入.flag TYPEAS s_string 输入.material_id TYPEAS f_string + 输入.is_new TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -118,6 +119,7 @@ AND point.vehicle_code = vd.vehicle_code AND vd.is_delete = '0' LEFT JOIN md_me_materialbase mb1 ON vd.material_id = mb1.material_id + LEFT JOIN pdm_bd_workorder workorder ON vd.workorder_id = workorder.workorder_id WHERE point.is_used = '1' AND point.lock_type = '1' @@ -127,6 +129,9 @@ AND point.vehicle_type = '1' AND mb1.material_id = 输入.material_id AND vd.stand_status IN ('3', '4') + OPTION 输入.is_new <> "" + workorder.is_new = 输入.is_new + ENDOPTION ORDER BY vd.create_time ASC ENDSELECT 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 0963b86..5a68f5c 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("table_fk_id", material_task.getLongValue("task_id")); + empty_task.put("task_group_id", material_task.getLongValue("task_id")); WQLObject.getWQLObject("sch_base_task").insert(empty_task); } @@ -163,7 +163,7 @@ public class FJSendMaterialTask extends AbstractAcsTask { JSONObject update_point = new JSONObject(); update_point.put("lock_type", LockType.TASK_LOCKED.value()); - update_point.put("task_code", material_task.getString("task_code")); + update_point.put("task_code", empty_task.getString("task_code")); TaskUtils.addAutoUpdateColum(update_point); task_table.update(material_task); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql index cd44e57..0fb145e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql @@ -53,6 +53,8 @@ AND region_code = 'BCPHJ' AND point_type = '1' AND point_status = '0' + ORDER BY + point_code ASC ENDSELECT ENDQUERY ENDIF 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 a199137..0593c7a 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 @@ -182,7 +182,7 @@ public class TaskUtils { 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("iinvexchrate", String.format("%.5f", detail.getDoubleValue("material_weight") / 1000)); regionIn.put("cBatch", cMocode); return regionIn; } @@ -192,16 +192,16 @@ public class TaskUtils { 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("dDate", DateUtil.now()); 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"); + int qty = workorder.getIntValue("unqualified_qty"); regionIn.put("iNum", qty); - double material_weight = detail.getDoubleValue("material_weight") / 1000; - regionIn.put("iinvexchrate", String.format("%.3f", material_weight)); + double material_weight = detail.getDoubleValue("material_weight"); + regionIn.put("iinvexchrate", String.format("%.5f", material_weight / 1000)); regionIn.put("iQuantity", String.format("%.3f", qty * material_weight / 1000)); regionIn.put("cBatch", cMocode); return regionIn; @@ -212,14 +212,14 @@ public class TaskUtils { 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("dDate", DateUtil.now()); 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("iinvexchrate", String.format("%.5f", 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 index 2512755..4c01b71 100644 --- 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 @@ -65,7 +65,7 @@ pdm_bd_workorder workorder LEFT JOIN md_me_materialbase material ON workorder.material_id = material.material_id WHERE - workorder.vd_id = 输入.workorder_id + workorder.workorder_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 64298aa..57ba4ad 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls differ diff --git a/lms/nladmin-system/src/test/java/org/nl/test/TempTest.java b/lms/nladmin-system/src/test/java/org/nl/test/TempTest.java index 57a8f66..3a786d1 100644 --- a/lms/nladmin-system/src/test/java/org/nl/test/TempTest.java +++ b/lms/nladmin-system/src/test/java/org/nl/test/TempTest.java @@ -10,6 +10,8 @@ import org.junit.runner.RunWith; import org.nl.modules.common.utils.SecurityUtils; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.sch.manage.RegionInType; +import org.nl.wms.sch.task.util.TaskUtils; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @@ -26,58 +28,6 @@ public class TempTest { @Test public void test01() { - JSONArray erp_materials = WQL.getWO("QMD_ME_MATERIAL").setDbname("dataSource1").addParam("flag", "2").process().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(erp_materials)) { - WQLObject material_table = WQLObject.getWQLObject("md_me_materialbase"); - List material_codes = material_table.query().getResultJSONArray(0).stream().map(o -> ((JSONObject) o).getString("material_code")).collect(Collectors.toList()); - WQLObject dict_detail_table = WQLObject.getWQLObject("sys_dict_detail"); - - Long user_id = 1L; - String nick_name = "管理员"; - String now = DateUtil.now(); - - erp_materials.forEach(o -> { - JSONObject erp_material = (JSONObject) o; - String material_code = erp_material.getString("cinvcode").substring(1); - if (!material_codes.contains(material_code)) { - JSONObject material = new JSONObject(); - long id = IdUtil.getSnowflake(1L, 1L).nextId(); - material.put("material_id", id); - material.put("material_code", material_code); - material.put("material_name", erp_material.getString("cinvname")); - material.put("weight", String.format("%.2f", erp_material.getDoubleValue("changerate") * 1000)); - String qty = String.format("%.0f", erp_material.getDoubleValue("qty") * 1000); - material.put("qty", qty); - material.put("surplus_qty", qty); - String aux_qty = String.format("%.0f", erp_material.getDoubleValue("auxqty")); - material.put("aux_qty", aux_qty); - material.put("surplus_aux_qty", aux_qty); - material.put("order_code", erp_material.getString("free1")); - - String furnace_code = material_code.substring(0, 2); - JSONObject furnace_name = dict_detail_table.query("name = 'furnace' AND value = '" + furnace_code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(furnace_name)) { - material.put("furnace", furnace_name.getString("label")); - } else { - material.put("furnace", furnace_code); - } - String material_brick_code = material_code.substring(2, 5); - JSONObject material_brick_type = dict_detail_table.query("name = 'material_brick_type' AND value = '" + material_brick_code + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(material_brick_type)) { - material.put("material_brick_type", material_brick_type.getString("label")); - } else { - material.put("material_brick_type", material_brick_code); - } - material.put("product_grade", erp_material.getString("free3")); - material.put("brick_type", erp_material.getString("free4")); - - material.put("create_id", user_id); - material.put("create_name", nick_name); - material.put("create_time", now); - - material_table.insert(material); - } - }); - } + System.out.println(8.94 / 1000); } } diff --git a/lms/nladmin-ui/src/views/wms/basedata/material/index.vue b/lms/nladmin-ui/src/views/wms/basedata/material/index.vue index 86e2824..3b105e6 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/material/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/material/index.vue @@ -18,6 +18,22 @@ @keyup.enter.native="crud.toQuery" /> + + + + + + diff --git a/lms/nladmin-ui/src/views/wms/pdm/workerorder/fj/index.vue b/lms/nladmin-ui/src/views/wms/pdm/workerorder/fj/index.vue new file mode 100644 index 0000000..2aa3f1a --- /dev/null +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/fj/index.vue @@ -0,0 +1,543 @@ + + + + + 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 e475458..d0eec10 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 @@ -179,7 +179,7 @@ > - + @@ -192,12 +192,13 @@ + - + 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 b7f7c84..88867c6 100644 --- a/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue +++ b/lms/nladmin-ui/src/views/wms/pdm/workerorder/index.vue @@ -136,30 +136,6 @@ - - - - - - - - - @@ -208,8 +184,8 @@ @@ -240,6 +216,7 @@ +