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/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..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("托盘不能为空!"); } @@ -72,33 +73,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 +102,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 +141,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 0c93ef2..fa80ce7 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"); @@ -260,8 +270,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; } @@ -291,6 +306,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; } @@ -314,19 +344,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"); @@ -355,15 +391,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(); @@ -381,7 +417,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..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); } @@ -233,7 +236,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 +263,11 @@ 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(); + if (StrUtil.equals(is_full, "1")) { + next_point_code = "BZX01"; + } + break; default: qty_unit_id = BussConstant.HN_IN_QTY_UNIT_ID; @@ -270,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"); - //创建入库单据 - //假如静置时间为0 或者为空,则取物料表上的静置时间 - if (StrUtil.isEmpty(stewing_time) || StrUtil.equals(stewing_time, "0")) { - 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 d61bf39..3793063 100644 Binary files a/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls and b/wms/hd/nladmin-system/src/main/java/org/nl/wms/wms.xls differ diff --git a/wms/hd/nladmin-system/src/main/resources/config/application-test.yml b/wms/hd/nladmin-system/src/main/resources/config/application-test.yml deleted file mode 100644 index 058f635..0000000 --- a/wms/hd/nladmin-system/src/main/resources/config/application-test.yml +++ /dev/null @@ -1,164 +0,0 @@ -server: - port: 8010 -#配置数据源 -spring: - profiles: - test - datasource: - druid: - db-type: com.alibaba.druid.pool.DruidDataSource - driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:llsh_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - username: ${DB_USER:root} - #password: ${DB_PWD:P@ssw0rd} - password: ${DB_PWD:Root.123456} - # 初始连接数 - initial-size: 5 - # 最小连接数 - min-idle: 15 - # 最大连接数 - max-active: 30 - # 是否自动回收超时连接 - remove-abandoned: true - # 超时时间(以秒数为单位) - remove-abandoned-timeout: 180 - # 获取连接超时时间 - max-wait: 3000 - # 连接有效性检测时间 - time-between-eviction-runs-millis: 60000 - # 连接在池中最小生存的时间 - min-evictable-idle-time-millis: 300000 - # 连接在池中最大生存的时间 - max-evictable-idle-time-millis: 900000 - # 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除 - test-while-idle: true - # 指明是否在从池中取出连接前进行检验,如果检验失败, 则从池中去除连接并尝试取出另一个 - test-on-borrow: true - # 是否在归还到池中前进行检验 - test-on-return: false - # 检测连接是否有效 - validation-query: select 1 - # 配置监控统计 - webStatFilter: - enabled: true - stat-view-servlet: - enabled: true - url-pattern: /druid/* - reset-enable: false - filter: - stat: - enabled: true - # 记录慢SQL - log-slow-sql: true - slow-sql-millis: 1000 - merge-sql: true - wall: - config: - multi-statement-alagvslow: true - data: - mongodb: - host: 127.0.0.1 - port: 27017 - database: logdb - redis: - #数据库索引 - database: ${REDIS_DB:8} - host: ${REDIS_HOST:47.111.78.178} - port: ${REDIS_PORT:6379} - password: ${REDIS_PWD:} - #连接超时时间 - timeout: 5000 -# 登录相关配置 -login: - # 登录缓存 - cache-enable: true - # 是否限制单用户登录 - single-login: false - # 验证码 - login-code: - # 验证码类型配置 查看 LoginProperties 类 - code-type: arithmetic - # 登录图形验证码有效时间/分钟 - expiration: 2 - # 验证码高度 - width: 111 - # 验证码宽度 - heigth: 36 - # 内容长度 - length: 2 - # 字体名称,为空则使用默认字体 - font-name: - # 字体大小 - font-size: 25 - -#jwt -jwt: - header: Authorization - # 令牌前缀 - token-start-with: Bearer - # 必须使用最少88位的Base64对该令牌进行编码 - base64-secret: ZmQ0ZGI5NjQ0MDQwY2I4MjMxY2Y3ZmI3MjdhN2ZmMjNhODViOTg1ZGE0NTBjMGM4NDA5NzYxMjdjOWMwYWRmZTBlZjlhNGY3ZTg4Y2U3YTE1ODVkZDU5Y2Y3OGYwZWE1NzUzNWQ2YjFjZDc0NGMxZWU2MmQ3MjY1NzJmNTE0MzI= - # 令牌过期时间 此处单位/毫秒 ,默认4小时,可在此网站生成 https://www.convertworld.com/zh-hans/time/milliseconds.html - token-validity-in-seconds: 14400000 - # 在线用户key - online-key: online-token- - # 验证码 - code-key: code-key- - # token 续期检查时间范围(默认30分钟,单位毫秒),在token即将过期的一段时间内用户操作了,则给用户的token续期 - detect: 1800000 - # 续期时间范围,默认1小时,单位毫秒 - renew: 3600000 - -#是否允许生成代码,生产环境设置为false -generator: - enabled: true - -#是否开启 swagger-ui -swagger: - enabled: true - -# IP 本地解析 -ip: - local-parsing: true - -# 文件存储路径 -file: - mac: - path: ~/file/ - avatar: ~/avatar/ - linux: - path: /home/eladmin/file/ - avatar: /home/eladmin/avatar/ - windows: - path: C:\eladmin\file\ - avatar: C:\eladmin\avatar\ - # 文件大小 /M - maxSize: 100 - avatarMaxSize: 5 - - - -jetcache: - defaultCacheType: LOCAL - statIntervalMinutes: 15 - areaInCacheName: false - hiddenPackages: com.yb - local: - default: - type: caffeine - limit: 100 - keyConvertor: fastjson - expireAfterWriteInMillis: 60000 - remote: - default: - type: redis.lettuce - keyConvertor: fastjson - valueEncoder: kryo - valueDecoder: kryo - poolConfig: - minIdle: 5 - maxIdle: 200 - maxTotal: 1000 - uri: - - redis://47.111.78.178:6379 - diff --git a/wms/hd/nladmin-system/src/main/resources/config/businessTpye.txt b/wms/hd/nladmin-system/src/main/resources/config/businessTpye.txt deleted file mode 100644 index b8b3ab4..0000000 --- a/wms/hd/nladmin-system/src/main/resources/config/businessTpye.txt +++ /dev/null @@ -1,9 +0,0 @@ -//项目协议类型说明 -0:标准协议,荣力营口,杰牌,金力永磁 -1:新锐 -2:贤益 -3:奇达 -4:广钞厂 -5:纽迪希亚 -6:太钢 -7:洁美 \ No newline at end of file diff --git a/wms/hd/nladmin-system/src/main/resources/log/AcsToErp.xml b/wms/hd/nladmin-system/src/main/resources/log/AcsToErp.xml deleted file mode 100644 index 8916def..0000000 --- a/wms/hd/nladmin-system/src/main/resources/log/AcsToErp.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - ${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 - - - - - - - - - - -