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] =?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