From d39e2662aef08718332fefa04e78a4d2a0f77627 Mon Sep 17 00:00:00 2001 From: 18188916393 <2562295436@qq.com> Date: Tue, 6 Sep 2022 10:15:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/WorkProcedureEnum.java | 4 +- .../org/nl/wms/common/PointUpdateUtil.java | 7 +- .../org/nl/wms/common/StructFindUtil.java | 56 ++++++------ .../org/nl/wms/common/wql/QSTRUCT_RULE.wql | 6 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 84 +++++++++++++----- .../acs/service/impl/WmsToAcsServiceImpl.java | 2 +- .../org/nl/wms/ext/acs/wql/ACSTOMES_001.wql | 6 +- .../sch/manage/buss/CallEmptyVehicleTask.java | 20 ++++- .../wms/sch/manage/buss/SendMaterialTask.java | 7 +- .../src/main/java/org/nl/wms/wms.xls | Bin 399872 -> 374784 bytes 10 files changed, 126 insertions(+), 66 deletions(-) diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/WorkProcedureEnum.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/WorkProcedureEnum.java index 7c3e9d6..4be6cfe 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/WorkProcedureEnum.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/WorkProcedureEnum.java @@ -12,8 +12,8 @@ public enum WorkProcedureEnum { YZGX(2, "1514444247439380480", "02", "压制工序", ""), SZGX(3, "1514444321896665088", "03", "烧制工序", ""), FJGX(4, "1514444386174373888", "04", "分拣工序", ""), - DPGX(4, "1514444386174373888", "05", "叠盘工序", ""), - CPGX(4, "1514444386174373888", "06", "拆盘工序", ""); + DPGX(4, "1564863511488761856", "05", "叠盘工序", ""), + CPGX(4, "1565169481129529344", "06", "拆盘工序", ""); //顺序号 private int index; //工序标识 diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PointUpdateUtil.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PointUpdateUtil.java index 6a0e96d..f9bf8af 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PointUpdateUtil.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/PointUpdateUtil.java @@ -22,9 +22,14 @@ public class PointUpdateUtil { JSONObject pointjo = pointarr.getJSONObject(i); String point_status = "0" + pointjo.getString("move"); String device_code = pointjo.getString("device_code"); - pointjo.put("point_status", point_status); + int container_type = pointjo.getIntValue("container_type"); + String vehicle_type = ""; + if (container_type != 0) { + vehicle_type = "0" + (container_type + 2); + } JSONObject pointObj = pointTable.query("point_code ='" + device_code + "'").uniqueResult(0); pointObj.put("point_status", point_status); + pointObj.put("vehicle_type", vehicle_type); pointTable.update(pointObj); } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java index effc298..a236c8c 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java @@ -72,33 +72,21 @@ public class StructFindUtil { } public static JSONObject getEmptyVehicleInStruct(JSONObject jsonObject) { + String vehice_type = ""; String area_type = jsonObject.getString("area_type"); String vehicle_code = jsonObject.getString("vehicle_code"); String point_code = jsonObject.getString("point_code"); - if (StrUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("托盘不能为空!"); - } - if (StrUtil.equals(point_code, "KGTDDW05")) { - JSONArray pointarr = WQL - .getWO("ACSTOMES_001") - .addParam("area_type", AreaEnum.KGTCPQ.getCode()) - .addParam("flag", "2") - .process() - .getResultJSONArray(0); + if (StrUtil.equals(point_code, "KGTDTW01") || StrUtil.equals(point_code, "KGTDDW01")) { + JSONArray pointarr = WQL.getWO("ACSTOMES_001").addParam("area_type", AreaEnum.KGTCPQ.getCode()).addParam("flag", "2").process().getResultJSONArray(0); PointUpdateUtil.updatePoint(pointarr); + } else { + //根据托盘找托盘类型, + JSONObject vehicleObj = WQLObject.getWQLObject("md_pb_vehicle").query("vehicle_code='" + vehicle_code + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(vehicleObj)) { + throw new BadRequestException("未找到托盘号为'" + vehicle_code + "' 托盘信息!"); + } + vehice_type = vehicleObj.getString("vehicle_type"); } - //根据托盘找托盘类型, - JSONObject vehicleObj = WQLObject - .getWQLObject("md_pb_vehicle") - .query("vehicle_code='" + vehicle_code + "'") - .uniqueResult(0); - if (ObjectUtil.isEmpty(vehicleObj)) { - throw new BadRequestException("未找到托盘号为'" + vehicle_code + "' 托盘信息!"); - } - if (StrUtil.isEmpty(area_type)) { - throw new BadRequestException("区域不能为空!"); - } - String vehice_type = vehicleObj.getString("vehicle_type"); JSONObject result = WQL .getWO("QSTRUCT_RULE") .addParam("flag", "4") @@ -113,23 +101,29 @@ public class StructFindUtil { public static JSONObject getEmptyVehicleOutStruct(JSONObject jsonObject) { String area_type = jsonObject.getString("area_type"); String vehicle_type = jsonObject.getString("vehicle_type"); - String point_code = jsonObject.getString("point_code"); + String point_code = jsonObject.getString("point_code"); + //用于判断木托盘区域的托盘类型 + String point_vehicle_type = jsonObject.getString("point_vehicle_type"); //如果是堆叠位5 需要更新 设备状态 - if(StrUtil.equals(point_code,"KGTDDW05")){ - JSONArray pointarr = WQL - .getWO("ACSTOMES_001") + if (StrUtil.equals(point_code, "KGTDDW05")) { + JSONArray pointarr = WQL.getWO("ACSTOMES_001") .addParam("area_type", AreaEnum.KGTCPQ.getCode()) .addParam("flag", "2") .process() .getResultJSONArray(0); PointUpdateUtil.updatePoint(pointarr); } - + //如果是分拣区域 需要更新覆膜机点位的状态 + if (StrUtil.equals(area_type, AreaEnum.ZDCDX.getCode())) { + JSONArray pointarr = WQL.getWO("ACSTOMES_001") + .addParam("area_type", AreaEnum.RGCPQ.getCode()) + .addParam("flag", "2").process().getResultJSONArray(0); + PointUpdateUtil.updatePoint(pointarr); + } if (StrUtil.isEmpty(area_type)) { throw new BadRequestException("区域不能为空!"); } JSONObject result = new JSONObject(); - //如果是堆叠位5 需要更新 设备状态 if (StrUtil.equals(point_code, "KGTDDW05")) { result = WQL .getWO("QSTRUCT_RULE") @@ -146,10 +140,10 @@ public class StructFindUtil { .addParam("area_type", area_type) .addParam("vehicle_type", vehicle_type) .addParam("point_code", point_code) - .process() - .uniqueResult(0); - } + .addParam("point_vehicle_type", point_vehicle_type) + .process().uniqueResult(0); + } return result; } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql index 089633c..a03eced 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/wql/QSTRUCT_RULE.wql @@ -23,6 +23,7 @@ 输入.is_full TYPEAS s_string 输入.vehicle_type TYPEAS s_string 输入.point_code TYPEAS s_string + 输入.point_vehicle_type TYPEAS s_string [临时表] @@ -155,7 +156,7 @@ IF 输入.flag = "4" point.point_code as struct_code, point.point_name as struct_name FROM - sch_base_point point ON point.point_id = structattr.struct_id + sch_base_point point WHERE point.lock_type = '00' AND ( point.vehicle_code = '' OR point.vehicle_code IS NULL ) @@ -197,6 +198,9 @@ IF 输入.flag = "5" OPTION 输入.point_code <> "" point.point_code = 输入.point_code ENDOPTION + OPTION 输入.point_vehicle_type <> "" + point.vehicle_type = 输入.point_vehicle_type + ENDOPTION ENDSELECT ENDQUERY ENDIF diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 8d03c43..345df1a 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -61,14 +61,26 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { case "1": jsonObject.put("start_point_code", device_code); jsonObject.put("create_mode", "01"); - produceInfoByCode = this.getProduceInfoByCode(device_code); - //批次 物料,客户要从排产单里面去取 - jsonObject.put("pcsn", "pcsn"); - jsonObject.put("create_mode", "01"); - jsonObject.put("material_id", produceInfoByCode.getString("material_id")); - jsonObject.put("cust_id", produceInfoByCode.getString("cust_id")); - jsonObject.put("stewing_time", produceInfoByCode.getString("stewing_time")); - jsonObject.put("producetask_id", produceInfoByCode.getString("producetask_id")); + if (!StrUtil.equals(device_code, "CYBZW")) { + produceInfoByCode = this.getProduceInfoByCode(device_code); + jsonObject.put("material_id", produceInfoByCode.getString("material_id")); + produceInfoByCode = this.getProduceInfoByCode(device_code); + //批次 物料,客户要从排产单里面去取 + jsonObject.put("create_mode", "01"); + jsonObject.put("material_id", produceInfoByCode.getString("material_id")); + jsonObject.put("cust_id", produceInfoByCode.getString("cust_id")); + jsonObject.put("stewing_time", produceInfoByCode.getString("stewing_time")); + jsonObject.put("producetask_id", produceInfoByCode.getString("producetask_id")); + } else { + String vehicle_code = (String) jsonObject.get("vehicle_code"); + JSONObject groupObj = WQLObject.getWQLObject("st_buss_vehiclegroup").query("vehicle_code='" + vehicle_code + "'", "create_time desc").uniqueResult(0); + jsonObject.put("create_mode", "01"); + jsonObject.put("material_id", groupObj.getString("material_uuid")); + jsonObject.put("cust_id", groupObj.getString("cust_id")); + jsonObject.put("stewing_time", "0"); + jsonObject.put("vehicle_code", vehicle_code); + jsonObject.put("producetask_id", groupObj.getString("producetask_id")); + } sendMaterialTask.createTask((JSONObject) JSON.toJSON(jsonObject)); break; case "2": @@ -78,9 +90,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { //批次 物料,客户要从排产单里面去取 jsonObject.put("pcsn", "pcsn"); - if (!StrUtil.equals(device_code,"RYW")){ + if (!StrUtil.equals(device_code, "CYBZW")) { produceInfoByCode = this.getProduceInfoByCode(device_code); - jsonObject.put("material_id", produceInfoByCode.getString("material_id")); + jsonObject.put("material_id", produceInfoByCode.getString("material_id")); } @@ -114,10 +126,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { StrUtil.equals(device_code, "YZJ07XL02") || StrUtil.equals(device_code, "YZJ08XL01") || StrUtil.equals(device_code, "YZJ08XL02") || - StrUtil.equals(device_code, "FJJXS01MD1") || - StrUtil.equals(device_code, "FJJXS01MD2") || - StrUtil.equals(device_code, "FJJXS02MD1") || - StrUtil.equals(device_code, "FJJXS02MD2") + StrUtil.equals(device_code, "FJMDJXSDJW01") || + StrUtil.equals(device_code, "FJMDJXSDJW02") ) { produceInfoByCode = this.getProduceInfoByCode(device_code); String material_id = produceInfoByCode.getString("material_id"); @@ -163,7 +173,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { JSONObject produceInfoByCode = new JSONObject(); String device_code = (String) jsonObject.get("device_code"); String vehicle_code = (String) jsonObject.get("vehicle_code"); - String qty = String.valueOf(jsonObject.get("qty")) ; + String qty = String.valueOf(jsonObject.get("qty")); produceInfoByCode = this.getProduceInfoByCode(device_code); String material_id = (String) produceInfoByCode.get("material_id"); String cust_id = (String) produceInfoByCode.get("cust_id"); @@ -257,8 +267,13 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } String producetask_id = vehicleObj.getString("producetask_id"); JSONObject taskObj = WQLObject.getWQLObject("PDM_MG_produceTask").query("producetask_id='" + producetask_id + "'").uniqueResult(0); + //1代表去出窑,2 是优先包装 + String is_package = "1"; + if (StrUtil.equals(taskObj.getString("is_package"), "1")) { + is_package = "2"; + } JSONObject returnjo = new JSONObject(); - returnjo.put("is_package", taskObj.getString("is_package")); + returnjo.put("is_package", is_package); return returnjo; } @@ -288,6 +303,21 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { vehicle_table.insert(json); JSONObject returnjo = new JSONObject(); returnjo.put("vehicle_code", vehicle_code); + returnjo.put("status", HttpStatus.OK.value()); + //将起点终点确定不下发的任务查出来,将木托盘点位解锁,起点改为扫描点,is_auto_issue 改为1, + String device_code = (String) jsonObject.get("device_code"); + WQLObject task_Table = WQLObject.getWQLObject("SCH_BASE_Task"); + JSONObject taskObj = task_Table.query("task_status='04' and is_auto_issue='0'", "create_time desc").uniqueResult(0); + String start_point_code = taskObj.getString("start_point_code"); + WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); + JSONObject startObj = pointTable.query("point_code ='" + start_point_code + "'").uniqueResult(0); + startObj.put("lock_type", "00"); + pointTable.update(startObj); + taskObj.put("start_point_code", device_code); + taskObj.put("is_auto_issue", "1"); + taskObj.put("vehicle_code", vehicle_code); + task_Table.update(taskObj); + // return returnjo; } @@ -311,19 +341,25 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override @Transactional(rollbackFor = Exception.class) public Map getVehicleInfoBycode(Map jsonObject) { - String vehicle_code = (String) jsonObject.get("vehicle_code"); + String device_code = (String) jsonObject.get("device_code"); + JSONObject pointObj = WQLObject.getWQLObject("sch_base_point").query("point_code='" + device_code + "'").uniqueResult(0); + String vehicle_code = pointObj.getString("vehicle_code"); if (StrUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("托盘编码不能为空!"); + throw new BadRequestException("点位编码为'" + device_code + "'未找到托盘信息!"); } JSONObject vehicleObj = WQLObject.getWQLObject("st_buss_vehiclegroup").query("vehicle_code='" + vehicle_code + "' AND is_delete='0'").uniqueResult(0); if (ObjectUtil.isEmpty(vehicleObj)) { throw new BadRequestException("未找到托盘号为'" + vehicle_code + "'的托盘信息!"); } - return vehicleObj; + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "反馈成功!"); + result.put("data", vehicleObj); + return result; } @Override - public Map sureProduceTask(Map jsonObject) { + public Map sureProduceTask(Map jsonObject) { String producetask_code = (String) jsonObject.get("producetask_code"); String device_code = (String) jsonObject.get("device_code"); String material_code = (String) jsonObject.get("material_code"); @@ -352,15 +388,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { throw new BadRequestException("物料编码不能为空!"); } - if (!StrUtil.equals(materialObj.getString("material_id"), taskObj.getString("material_id"))) { - throw new BadRequestException("物料标识不一样!"); + if (!StrUtil.equals(materialObj.getString("material_id"), taskObj.getString("material_id"))) { + throw new BadRequestException("物料标识不一样!"); } taskObj.put("producetask_status", "04"); } if (StrUtil.equals("2", type)) { taskObj.put("producetask_status", "05"); - taskObj.put("real_qty",qty); + taskObj.put("real_qty", qty); } taskTable.update(taskObj); JSONObject result = new JSONObject(); @@ -378,7 +414,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { for (int i = 0; i < array.size(); i++) { JSONObject row = array.getJSONObject(i); String task_id = row.getString("ext_task_uuid"); - row.put("task_id",task_id); + row.put("task_id", task_id); TaskDto taskDto = taskService.findById(task_id); String processing_class = taskDto.getHandle_class(); //1:执行中,2:完成 ,3:acs取消 diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 89cc9cc..74ef986 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -36,7 +36,7 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { @Override public Map action(JSONArray arr) { - String api = "api/wms/updateDeviceGoods"; + String api = "api/wms/action"; return AcsUtil.notifyAcs(api, arr); } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql index db95d7a..a350e9a 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/wql/ACSTOMES_001.wql @@ -15,9 +15,10 @@ ################################################# 输入.flag TYPEAS s_string 输入.workprocedure_id TYPEAS s_string - 输入.material_id TYPEAS s_string + 输入.material_id TYPEAS s_string 输入.area_type TYPEAS s_string 输入.point_code TYPEAS s_string + 输入.device_point_type TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -80,6 +81,9 @@ OPTION 输入.point_code <> "" point.point_code = 输入.point_code ENDOPTION + OPTION 输入.device_point_type <> "" + point.device_point_type = 输入.device_point_type + ENDOPTION ENDSELECT ENDQUERY ENDIF \ No newline at end of file diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java index fe9593b..adfefd6 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallEmptyVehicleTask.java @@ -11,7 +11,9 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.utils.SecurityUtils; import org.nl.utils.SpringContextHolder; import org.nl.wms.WorkProcedureEnum; +import org.nl.wms.common.PointUpdateUtil; import org.nl.wms.common.StructFindUtil; +import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.AreaEnum; import org.nl.wms.sch.manage.TaskStatusEnum; @@ -230,6 +232,11 @@ public class CallEmptyVehicleTask extends AbstractAcsTask { vehicle_type = WQLObject.getWQLObject("PDM_MG_produceTask").query("device_id='" + device_id + "' and producetask_status='04'").uniqueResult(0).getString("vehicle_type"); start_area = AreaEnum.RGCPQ.getCode(); is_auto_issue = "0"; + //更新设备点位。 + JSONArray pointarr = WQL.getWO("ACSTOMES_001").addParam("area_type", AreaEnum.RGCPQ.getCode()) + .addParam("flag", "2").addParam("device_point_type","01") + .process().getResultJSONArray(0); + PointUpdateUtil.updatePoint(pointarr); break; //叠盘工序 case DPGX: @@ -243,13 +250,23 @@ public class CallEmptyVehicleTask extends AbstractAcsTask { start_area = AreaEnum.KLHJ.getCode(); } JSONObject param = new JSONObject(); - param.put("vehicle_type", vehicle_type); + param.put("point_vehicle_type", vehicle_type); param.put("area_type", start_area); param.put("point_code", start_point_code); JSONObject outStructObj = StructFindUtil.getEmptyVehicleOutStruct(param); if (ObjectUtil.isEmpty(outStructObj)) { throw new BadRequestException("未找到合适的空托盘点位"); } + //如果是覆膜机区域,写给acs点位 + if (StrUtil.equals(AreaEnum.RGCPQ.getCode(), start_area)) { + JSONArray arr = new JSONArray(); + JSONObject jo = new JSONObject(); + jo.put("device_code", outStructObj.getString("struct_code")); + jo.put("to_command", "1"); + arr.add(jo); + WmsToAcsServiceImpl wmsToAcsService = new WmsToAcsServiceImpl(); + wmsToAcsService.action(arr); + } vehicle_code = outStructObj.getString("vehicle_code"); start_point_code = outStructObj.getString("struct_code"); @@ -309,7 +326,6 @@ public class CallEmptyVehicleTask extends AbstractAcsTask { taskObj.put("create_time", DateUtil.now()); taskObj.put("is_delete", "0"); taskTable.insert(taskObj); - return task_id; } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java index 9bbf446..bea5ac1 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java @@ -233,7 +233,7 @@ public class SendMaterialTask extends AbstractAcsTask { .process().uniqueResult(0); String workprocedure_id = workInfo.getString("workprocedure_id"); WorkProcedureEnum workProcedureEnum = WorkProcedureEnum.get(workprocedure_id); - String vehilce_type=""; + String vehilce_type = ""; switch (workProcedureEnum) { //混黏工序 @@ -260,6 +260,7 @@ public class SendMaterialTask extends AbstractAcsTask { qty_unit_id = BussConstant.HN_IN_QTY_UNIT_ID; bill_type = BillTypeEnum.FJRK.getCode(); endArea_type = AreaEnum.BZZC.getCode(); + vehicle_code = startPoint.getVehicle_code(); break; default: qty_unit_id = BussConstant.HN_IN_QTY_UNIT_ID; @@ -276,8 +277,8 @@ public class SendMaterialTask extends AbstractAcsTask { } next_point_code = inStructObj.getString("struct_code"); //创建入库单据 - //假如静置时间为0 或者为空,则取物料表上的静置时间 - if (StrUtil.isEmpty(stewing_time) || StrUtil.equals(stewing_time, "0")) { + //假如静置时间为空,则取物料表上的静置时间 + if (StrUtil.isEmpty(stewing_time)) { stewing_time = WQLObject .getWQLObject("md_me_material") .query("material_id ='" + material_id + "'") diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls index 5b7382a3b9a08a6ee21b8da4768b726b5eb1a2aa..4b1a61117a7ded61dd6c5fbe6d0fe97d969ef506 100644 GIT binary patch delta 68562 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%0D8TX|wQ5x37qcobkYtin^R5R)R<$)(vZ;U4L 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 O#IDCc1A0Z-uKxoE(h`&a From ff82bf945a61c85207e640e5c57ed48d4b9a88fb Mon Sep 17 00:00:00 2001 From: 18188916393 <2562295436@qq.com> Date: Tue, 6 Sep 2022 11:08:27 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/wms/.~lock.wms.xls# | 1 - .../org/nl/wms/common/StructFindUtil.java | 1 + .../wms/sch/manage/buss/SendMaterialTask.java | 187 +++++++++--------- .../src/main/java/org/nl/wms/wms.xls | Bin 374784 -> 375296 bytes .../resources/config/application-test.yml | 164 --------------- .../main/resources/config/businessTpye.txt | 9 - .../src/main/resources/log/AcsToErp.xml | 32 --- .../src/main/resources/log/AcsToWms.xml | 32 --- .../src/main/resources/log/AgvServiceImpl.xml | 32 --- .../src/main/resources/log/AgvackServlet.xml | 32 --- .../src/main/resources/log/AutoCreateInst.xml | 31 --- .../log/NDCSocketConnectionAutoRun.xml | 32 --- .../main/resources/log/QueryAgvTaskStatus.xml | 32 --- .../resources/log/QueryXZAgvTaskStatus.xml | 32 --- .../src/main/resources/log/WmsToAcs.xml | 32 --- 15 files changed, 100 insertions(+), 549 deletions(-) delete mode 100644 wms/hd/nladmin-system/src/main/java/org/nl/wms/.~lock.wms.xls# delete mode 100644 wms/hd/nladmin-system/src/main/resources/config/application-test.yml delete mode 100644 wms/hd/nladmin-system/src/main/resources/config/businessTpye.txt delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/AcsToErp.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/AcsToWms.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/AgvServiceImpl.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/AgvackServlet.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/AutoCreateInst.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml delete mode 100644 wms/hd/nladmin-system/src/main/resources/log/WmsToAcs.xml diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/.~lock.wms.xls# b/wms/hd/nladmin-system/src/main/java/org/nl/wms/.~lock.wms.xls# deleted file mode 100644 index 57d870a..0000000 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/.~lock.wms.xls# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-BT6HP4E/zhang,DESKTOP-BT6HP4E,29.08.2022 16:51,file:///C:/Users/zhang/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java index a236c8c..4580b2e 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/common/StructFindUtil.java @@ -15,6 +15,7 @@ public class StructFindUtil { String material_id = jsonObject.getString("material_id"); String area_type = jsonObject.getString("area_type"); String vehicle_code = jsonObject.getString("vehicle_code"); + String point_code = jsonObject.getString("point_code"); if (StrUtil.isEmpty(vehicle_code)) { throw new BadRequestException("托盘不能为空!"); } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java index bea5ac1..ee5c712 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/SendMaterialTask.java @@ -63,57 +63,60 @@ public class SendMaterialTask extends AbstractAcsTask { jsonTask.put("taskfinish_mode", taskObj.getString("taskfinish_mode")); jsonTask.put("update_time", DateUtil.now()); jsonTask.put("remark", "任务执行完成"); - ///审核单据 增加库存 改变出入库表的状态 - WQLObject mstTab = WQLObject.getWQLObject("ST_IVT_workProcedureIOS"); - JSONObject mstObj = mstTab.query("task_id='" + task_id + "' and is_delete='0'").uniqueResult(0); - //审核 加库存可和用数量 - StoreIvtServiceImpl ivtService = new StoreIvtServiceImpl(); - mstObj.put("bill_status", "50"); - mstObj.put("confirm_optid", SecurityUtils.getCurrentUserId()); - mstObj.put("confirm_optname", SecurityUtils.getNickName()); - mstObj.put("confirm_time", DateUtil.now()); - mstTab.update(mstObj); + String next_point_code = jsonTask.getString("next_point_code"); + if (!StrUtil.equals(next_point_code, "BZX01")) { + /// 如果终点不是包装线,审核单据 增加库存 改变出入库表的状态 + WQLObject mstTab = WQLObject.getWQLObject("ST_IVT_workProcedureIOS"); + JSONObject mstObj = mstTab.query("task_id='" + task_id + "' and is_delete='0'").uniqueResult(0); + //审核 加库存可和用数量 + StoreIvtServiceImpl ivtService = new StoreIvtServiceImpl(); + mstObj.put("bill_status", "50"); + mstObj.put("confirm_optid", SecurityUtils.getCurrentUserId()); + mstObj.put("confirm_optname", SecurityUtils.getNickName()); + mstObj.put("confirm_time", DateUtil.now()); + mstTab.update(mstObj); - String iostorinv_id = mstObj.getString("iostorinv_id"); - String next_point_code = mstObj.getString("end_point_code"); - String start_point_code = mstObj.getString("start_point_code"); - JSONObject param = new JSONObject(); - param.put("material_id", mstObj.getString("material_id")); - param.put("bill_id", iostorinv_id); - param.put("qty_unit_id", mstObj.getString("qty_unit_id")); - param.put("pcsn", mstObj.getString("pcsn")); - param.put("change_qty", mstObj.getString("qty")); - param.put("vehicle_code", mstObj.getString("vehicle_code")); - param.put("workprocedure_id", mstObj.getString("workprocedure_id")); - param.put("is_full", mstObj.getString("is_full")); - param.put("stewing_time", mstObj.getString("stewing_time")); - param.put("producetask_id", mstObj.getString("producetask_id")); + String iostorinv_id = mstObj.getString("iostorinv_id"); + String start_point_code = mstObj.getString("start_point_code"); + JSONObject param = new JSONObject(); + param.put("material_id", mstObj.getString("material_id")); + param.put("bill_id", iostorinv_id); + param.put("qty_unit_id", mstObj.getString("qty_unit_id")); + param.put("pcsn", mstObj.getString("pcsn")); + param.put("change_qty", mstObj.getString("qty")); + param.put("vehicle_code", mstObj.getString("vehicle_code")); + param.put("workprocedure_id", mstObj.getString("workprocedure_id")); + param.put("is_full", mstObj.getString("is_full")); + param.put("stewing_time", mstObj.getString("stewing_time")); + param.put("producetask_id", mstObj.getString("producetask_id")); - PointServiceImpl pointService = SpringContextHolder.getBean(PointServiceImpl.class); - PointDto nextPointDto = pointService.findByCode(next_point_code); - if (ObjectUtil.isNull(nextPointDto)) { - throw new BadRequestException("未找到可用点位:" + next_point_code); - } - PointDto startPointDto = pointService.findByCode(start_point_code); - if (ObjectUtil.isNull(startPointDto)) { - throw new BadRequestException("未找到可用点位:" + start_point_code); + PointServiceImpl pointService = SpringContextHolder.getBean(PointServiceImpl.class); + PointDto nextPointDto = pointService.findByCode(next_point_code); + if (ObjectUtil.isNull(nextPointDto)) { + throw new BadRequestException("未找到可用点位:" + next_point_code); + } + PointDto startPointDto = pointService.findByCode(start_point_code); + if (ObjectUtil.isNull(startPointDto)) { + throw new BadRequestException("未找到可用点位:" + start_point_code); + } + param.put("struct_id", nextPointDto.getPoint_id()); + ivtService.addIvtFlow(param, IvtChangeTypeEnum.ADD_IVT_AND_CAN_USE); + //解锁仓位,托盘信息,回写到点位上去 + String vehicle_code = jsonTask.getString("vehicle_code"); + WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); + JSONObject endpointObj = pointTab.query("point_code='" + jsonTask.getString("next_point_code") + "'").uniqueResult(0); + endpointObj.put("lock_type", "00"); + endpointObj.put("point_status", "02"); + endpointObj.put("vehicle_code", vehicle_code); + pointTab.update(endpointObj); + + JSONObject startPointObj = pointTab.query("point_code='" + jsonTask.getString("start_point_code") + "'").uniqueResult(0); + startPointObj.put("lock_type", "00"); + startPointObj.put("point_status", "00"); + startPointObj.put("vehicle_code", ""); + pointTab.update(startPointObj); } - param.put("struct_id", nextPointDto.getPoint_id()); - ivtService.addIvtFlow(param, IvtChangeTypeEnum.ADD_IVT_AND_CAN_USE); - //解锁仓位,托盘信息,回写到点位上去 - String vehicle_code = jsonTask.getString("vehicle_code"); - WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - JSONObject endpointObj = pointTab.query("point_code='" + jsonTask.getString("next_point_code") + "'").uniqueResult(0); - endpointObj.put("lock_type", "00"); - endpointObj.put("point_status", "02"); - endpointObj.put("vehicle_code", vehicle_code); - pointTab.update(endpointObj); - JSONObject startPointObj = pointTab.query("point_code='" + jsonTask.getString("start_point_code") + "'").uniqueResult(0); - startPointObj.put("lock_type", "00"); - startPointObj.put("point_status", "00"); - startPointObj.put("vehicle_code", ""); - pointTab.update(startPointObj); taskTab.update(jsonTask); } @@ -261,6 +264,10 @@ public class SendMaterialTask extends AbstractAcsTask { bill_type = BillTypeEnum.FJRK.getCode(); endArea_type = AreaEnum.BZZC.getCode(); vehicle_code = startPoint.getVehicle_code(); + if (StrUtil.equals(is_full, "1")) { + next_point_code = "BZX01"; + } + break; default: qty_unit_id = BussConstant.HN_IN_QTY_UNIT_ID; @@ -271,48 +278,52 @@ public class SendMaterialTask extends AbstractAcsTask { param.put("area_type", endArea_type); param.put("vehicle_code", vehicle_code); param.put("vehilce_type", vehilce_type); - JSONObject inStructObj = StructFindUtil.getInStruct(param); - if (ObjectUtil.isEmpty(inStructObj)) { - throw new BadRequestException("未找到合适的入库仓位!"); + //如果是分拣送到包装线 则不生成入库单信息 + if (StrUtil.isEmpty(next_point_code)) { + JSONObject inStructObj = StructFindUtil.getInStruct(param); + if (ObjectUtil.isEmpty(inStructObj)) { + throw new BadRequestException("未找到合适的入库仓位!"); + } + next_point_code = inStructObj.getString("struct_code"); + //创建入库单据 + //假如静置时间为空,则取物料表上的静置时间 + if (StrUtil.isEmpty(stewing_time)) { + stewing_time = WQLObject + .getWQLObject("md_me_material") + .query("material_id ='" + material_id + "'") + .uniqueResult(0) + .getString("stewing_time"); + } + JSONObject iosObj = new JSONObject(); + iosObj.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); + iosObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE")); + iosObj.put("io_type", "0"); + iosObj.put("bill_type", bill_type); + iosObj.put("workprocedure_id", workprocedure_id); + iosObj.put("ivt_workprocedure_id", workprocedure_id); + iosObj.put("material_id", material_id); + iosObj.put("vehicle_code", vehicle_code); + iosObj.put("producetask_id", producetask_id); + iosObj.put("stewing_time", stewing_time); + iosObj.put("qty", qty); + iosObj.put("qty_unit_id", qty_unit_id); + //默认是分配状态 + iosObj.put("bill_status", "20"); + iosObj.put("start_point_code", start_point_code); + iosObj.put("end_point_code", next_point_code); + iosObj.put("start_area", startPoint.getArea_type()); + iosObj.put("end_area", endArea_type); + iosObj.put("cust_id", cust_id); + iosObj.put("create_mode", create_mode); + iosObj.put("task_id", task_id); + iosObj.put("pcsn", pcsn); + iosObj.put("create_id", SecurityUtils.getCurrentUserId()); + iosObj.put("create_name", SecurityUtils.getNickName()); + iosObj.put("create_time", DateUtil.now()); + iosObj.put("is_full", is_full); + WQLObject.getWQLObject("ST_IVT_workProcedureIOS").insert(iosObj); } - next_point_code = inStructObj.getString("struct_code"); - //创建入库单据 - //假如静置时间为空,则取物料表上的静置时间 - if (StrUtil.isEmpty(stewing_time)) { - stewing_time = WQLObject - .getWQLObject("md_me_material") - .query("material_id ='" + material_id + "'") - .uniqueResult(0) - .getString("stewing_time"); - } - JSONObject iosObj = new JSONObject(); - iosObj.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); - iosObj.put("bill_code", CodeUtil.getNewCode("IN_STORE_CODE")); - iosObj.put("io_type", "0"); - iosObj.put("bill_type", bill_type); - iosObj.put("workprocedure_id", workprocedure_id); - iosObj.put("ivt_workprocedure_id", workprocedure_id); - iosObj.put("material_id", material_id); - iosObj.put("vehicle_code", vehicle_code); - iosObj.put("producetask_id", producetask_id); - iosObj.put("stewing_time", stewing_time); - iosObj.put("qty", qty); - iosObj.put("qty_unit_id", qty_unit_id); - //默认是分配状态 - iosObj.put("bill_status", "20"); - iosObj.put("start_point_code", start_point_code); - iosObj.put("end_point_code", next_point_code); - iosObj.put("start_area", startPoint.getArea_type()); - iosObj.put("end_area", endArea_type); - iosObj.put("cust_id", cust_id); - iosObj.put("create_mode", create_mode); - iosObj.put("task_id", task_id); - iosObj.put("pcsn", pcsn); - iosObj.put("create_id", SecurityUtils.getCurrentUserId()); - iosObj.put("create_name", SecurityUtils.getNickName()); - iosObj.put("create_time", DateUtil.now()); - iosObj.put("is_full", is_full); - WQLObject.getWQLObject("ST_IVT_workProcedureIOS").insert(iosObj); + } String task_status = TaskStatusEnum.START_AND_POINT.getCode(); PointDto nextPoint = pointService.findByCode(next_point_code); diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls index 4b1a61117a7ded61dd6c5fbe6d0fe97d969ef506..37930638e57b24da71ee60f32d233168070519ac 100644 GIT binary patch delta 19180 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 - - - - - - - - ${LOG_HOME}/ACS请求ERP/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/AcsToWms.xml b/wms/hd/nladmin-system/src/main/resources/log/AcsToWms.xml deleted file mode 100644 index 6cbff56..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/AcsToWms.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${LOG_HOME}/ACS请求WMS/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/AgvServiceImpl.xml b/wms/hd/nladmin-system/src/main/resources/log/AgvServiceImpl.xml deleted file mode 100644 index aa005b1..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/AgvServiceImpl.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${LOG_HOME}/反馈AGV请求/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/AgvackServlet.xml b/wms/hd/nladmin-system/src/main/resources/log/AgvackServlet.xml deleted file mode 100644 index 288d587..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/AgvackServlet.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${LOG_HOME}/AGV请求离开/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/AutoCreateInst.xml b/wms/hd/nladmin-system/src/main/resources/log/AutoCreateInst.xml deleted file mode 100644 index fe653c6..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/AutoCreateInst.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - ${LOG_HOME}/自动创建指令/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml b/wms/hd/nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml deleted file mode 100644 index adb00cb..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/NDCSocketConnectionAutoRun.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${LOG_HOME}/DNC/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml b/wms/hd/nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml deleted file mode 100644 index 3d40818..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/QueryAgvTaskStatus.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${LOG_HOME}/查询AGV指令状态/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml b/wms/hd/nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml deleted file mode 100644 index 5efe75a..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/QueryXZAgvTaskStatus.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${LOG_HOME}/查询仙知AGV指令状态/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - - diff --git a/wms/hd/nladmin-system/src/main/resources/log/WmsToAcs.xml b/wms/hd/nladmin-system/src/main/resources/log/WmsToAcs.xml deleted file mode 100644 index 0efd084..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/WmsToAcs.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${LOG_HOME}/WMS下发ACS/%d{yyyy-MM-dd}.%i.log - - 15 - - 200MB - - 20GB - - - - %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n - - - - - - - - - - -