diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java index dd8e7fa..69a5009 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/rest/AcsToWmsController.java @@ -122,11 +122,7 @@ public class AcsToWmsController { @ApiOperation("入窑口反向组盘") @SaIgnore public ResponseEntity reverseGroup(@RequestBody JSONObject whereJson) { - acsToWmsService.reverseGroup(whereJson); - JSONObject result = new JSONObject(); - result.put("status", HttpStatus.OK.value()); - result.put("message", "发送任务成功"); - return new ResponseEntity<>(result, HttpStatus.OK); + return new ResponseEntity<>(acsToWmsService.reverseGroup(whereJson), HttpStatus.OK); } @SaIgnore diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index ac9cea8..bb1afd4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -100,7 +100,7 @@ public interface AcsToWmsService { * 入窑口反向组盘 * @param whereJson */ - void reverseGroup(JSONObject whereJson); + JSONObject reverseGroup(JSONObject whereJson); /** * 根据设备编码获取托盘信息 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 09e4eb8..24ae90f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -207,263 +207,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override @Transactional(rollbackFor = Exception.class) public JSONObject apply(JSONObject param) { - String point_code = param.getString("device_code"); - if (StrUtil.isBlank(point_code)) { - throw new BadRequestException("点位不能为空!"); - } - String type = param.getString("type"); - String task_code; - JSONObject point = param.getJSONObject("point"); - if (ObjectUtil.isEmpty(point)) { - point = WQLObject - .getWQLObject("sch_base_point") - .query("is_used = '1' AND point_code = '" + point_code + "'") - .uniqueResult(0); - if (ObjectUtil.isEmpty(point)) { - throw new BadRequestException("[" + point_code + "] 已删除或未启用!"); - } - } - TaskUtils.isLocked(point); - - Region region = Region.get(point.getString("region_code")); - - JSONObject method_param = new JSONObject(); - method_param.put("point", point); - method_param.put("create_mode", CreateMode.ACSSQ.value()); - String request_param = param.getString("request_param"); - if (StrUtil.isBlank(request_param)) { - request_param = param.toJSONString(); - } - method_param.put("request_param", request_param); - method_param.put("create_id", ACSSystem.id); - method_param.put("create_name", ACSSystem.nick_name); - switch (type) { - case "1": - // 送料 - switch (region) { - case HL: - JSONObject workorder = TaskUtils.hasWorkOrder(point); - method_param.put("workorder", workorder); - String vehicle_code = TaskUtils.formatVehicleCode(param.getString("vehicle_code")); - if ("0000".equals(vehicle_code)) { - throw new BadRequestException("载具编码不能为空!"); - } - method_param.put("vehicle_code", vehicle_code); - String weight = param.getString("weight"); - if (StrUtil.isBlank(weight)) { - throw new BadRequestException("重量不能为空!"); - } - - WQLObject vd_table = WQLObject.getWQLObject("st_ivt_vehicle_detail"); - JSONObject vd_update = new JSONObject(); - vd_update.put("is_delete", "1"); - vd_update.put("update_optid", ACSSystem.id); - vd_update.put("update_optname", ACSSystem.nick_name); - String now = DateUtil.now(); - vd_update.put("update_time", now); - vd_table.update(vd_update, "vehicle_type = '1' AND vehicle_code = '" + vehicle_code + "' AND is_delete = '0'"); - - String device_code = workorder.getString("device_code"); - JSONObject result = wmsToAcsService.getDeviceStatus( - new JSONArray() {{ - add(new JSONObject() {{ - put("device_code", device_code); - }}); - }}); - if (!"200".equals(result.getString("status"))) { - throw new BadRequestException("[" + device_code + "] ACS未返回设备信息!"); - } - JSONArray data = result.getJSONArray("data"); - if (ObjectUtil.isEmpty(data)) { - throw new BadRequestException("[" + device_code + "] ACS未返回设备信息!"); - } - String mix_num = data.getJSONObject(0).getString("mix_num"); - if (StrUtil.isBlank(mix_num)) { - throw new BadRequestException("未知碾次!"); - } - - JSONObject vd = new JSONObject(); - vd.put("vd_id", IdUtil.getSnowflake(1L, 1L).nextId()); - vd.put("vehicle_type", VehicleType.CUP.value()); - vd.put("vehicle_code", vehicle_code); - vd.put("material_id", workorder.getString("material_id")); - vd.put("weight", weight); - vd.put("workorder_id", workorder.getString("workorder_id")); - vd.put("point_code", point_code); - vd.put("create_id", ACSSystem.id); - vd.put("create_name", ACSSystem.nick_name); - vd.put("create_time", now); - vd.put("is_in_kiln", "0"); - vd.put("stand_status", StandStatus.STANDING.value()); - vd.put("mix_num", mix_num); - vd_table.insert(vd); - method_param.put("vd", vd); - - task_code = hlSendMaterialTask.createTask(method_param); - break; - case YZ: - method_param.put("workorder", param.getJSONObject("workorder")); - method_param.put("vd", param.getJSONObject("vd")); - task_code = yzSendMaterialTask.createTask(method_param); - break; - case SZ: - vehicle_code = TaskUtils.formatVehicleCode(param.getString("vehicle_code")); - if ("0000".equals(vehicle_code)) { - throw new BadRequestException("载具编码不能为空!"); - } - method_param.put("vehicle_code", vehicle_code); - vd_table = WQLObject.getWQLObject("st_ivt_vehicle_detail"); - vd = vd_table - .query("is_delete = '0' AND vehicle_type = '2' AND vehicle_code = '" + vehicle_code + "'") - .uniqueResult(0); - if (ObjectUtil.isEmpty(vd)) { - throw new BadRequestException("未找到 [" + vehicle_code + "] 的组盘信息!"); - } - vd.put("is_fire", "1"); - vd.put("is_in_kiln", "0"); - vd_table.update(vd); - method_param.put("vd", vd); - - task_code = szSendMaterialTask.createTask(method_param); - break; - case FJ: - method_param.put("workorder", param.getJSONObject("workorder")); - method_param.put("vd", param.getJSONObject("vd")); - task_code = fjSendMaterialTask.createTask(method_param); - break; - default: - throw new BadRequestException("[" + region.label() + "] 不能发起送料任务!"); - } - break; - case "2": - // 叫料 - switch (region) { - case YZ: - JSONObject workorder = TaskUtils.hasWorkOrder(point); - method_param.put("workorder", workorder); - task_code = yzCallMaterialTask.createTask(method_param); - break; - case SZ: - task_code = szCallMaterialTask.createTask(method_param); - break; - case FJ: - workorder = TaskUtils.hasWorkOrder(point); - method_param.put("workorder", workorder); - task_code = fjCallMaterialTask.createTask(method_param); - break; - default: - throw new BadRequestException("[" + region.label() + "] 不能发起叫料任务!"); - } - break; - case "3": - // 送空 - JSONObject workorder = WQLObject - .getWQLObject("pdm_bd_workorder") - .query("is_delete = '0' AND device_code = '" + point.getString("device_code") + "' AND order_status = '3'") - .uniqueResult(0); - method_param.put("workorder", workorder); - - switch (region) { - case YZ: - String vehicle_type = point.getString("vehicle_type"); - if (StrUtil.isBlank(vehicle_type)) { - throw new BadRequestException("点位 [" + point_code + "] 无载具类型!"); - } - String vehicle_code = TaskUtils.formatVehicleCode(point.getString("vehicle_code")); - if ("0000".equals(vehicle_code)) { - throw new BadRequestException("点位 [" + point_code + "] 无载具编码!"); - } - JSONObject vd_update = new JSONObject(); - vd_update.put("is_delete", TrueOrFalse.TRUE.value()); - TaskUtils.addACSUpdateColum(vd_update); - WQLObject - .getWQLObject("st_ivt_vehicle_detail") - .update(vd_update, "vehicle_type = " + vehicle_type + " AND vehicle_code = '" + vehicle_code + "'"); - - task_code = yzSendEmptyTask.createTask(method_param); - break; - case FJ: - vehicle_code = TaskUtils.formatVehicleCode(param.getString("vehicle_code")); - if ("0000".equals(vehicle_code)) { - vehicle_code = point.getString("vehicle_code"); - if (StrUtil.isBlank(vehicle_code) || "0000".equals(vehicle_code)) { - throw new BadRequestException("载具编码不能为空!"); - } - } - method_param.put("vehicle_code", vehicle_code); - vd_update = new JSONObject(); - vd_update.put("is_delete", TrueOrFalse.TRUE.value()); - TaskUtils.addACSUpdateColum(vd_update); - WQLObject - .getWQLObject("st_ivt_vehicle_detail") - .update(vd_update, "vehicle_type = '2' AND vehicle_code = '" + vehicle_code + "'"); - task_code = fjSendEmptyTask.createTask(method_param); - break; - default: - throw new BadRequestException("[" + region.label() + "] 不能发起送空任务!"); - } - break; - case "4": - // 叫空 - switch (region) { - case HL: - workorder = WQLObject - .getWQLObject("pdm_bd_workorder") - .query("is_delete = '0' AND device_code = '" + point.getString("device_code") + "' AND order_status = '3'") - .uniqueResult(0); - method_param.put("workorder", workorder); - task_code = hlCallEmptyTask.createTask(method_param); - break; - case YZ: - workorder = WQLObject - .getWQLObject("pdm_bd_workorder") - .query("is_delete = '0' AND device_code = '" + point.getString("device_code") + "' AND order_status = '3'") - .uniqueResult(0); - method_param.put("workorder", workorder); - task_code = yzCallEmptyTask.createTask(method_param); - break; - case GTK: - task_code = gtkCallEmptyTask.createTask(method_param); - break; - case FJ: - workorder = TaskUtils.hasWorkOrder(point); - method_param.put("workorder", workorder); - task_code = fjCallEmptyTask.createTask(method_param); - break; - default: - throw new BadRequestException("[" + region.label() + "] 不能发起叫空任务!"); - } - break; - case "5": - // 去包装 - switch (region) { - case FJ: - method_param.put("workorder", param.getJSONObject("workorder")); - method_param.put("vd", param.getJSONObject("vd")); - task_code = fjToPackageTask.createTask(method_param); - break; - case BTHC: - TaskUtils.isNotEmptyPoint(point); - JSONObject vd = WQLObject - .getWQLObject("st_ivt_vehicle_detail").query("is_delete = '0' vehicle_type = '" + point.getString("vehicle_type") + "' AND vehicle_code = '" + point.getString("vehicle_code") + "'") - .uniqueResult(0); - if (ObjectUtil.isEmpty(vd)) { - throw new BadRequestException("未找到 [" + point_code + "] 上的组盘信息!"); - } - method_param.put("vd", vd); - task_code = bthcToPackageTask.createTask(method_param); - break; - default: - throw new BadRequestException("[" + region.label() + "] 不能发起去包装任务!"); - } - break; - default: - throw new BadRequestException("未知任务类型!"); - } - JSONObject result = new JSONObject(); - result.put("message", "申请任务成功,任务编码 [" + task_code + "]"); - result.put("status", HttpStatus.OK.value()); - return result; + return null; } /** @@ -480,11 +224,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (StrUtil.isBlank(point_code)) { throw new BadRequestException("点位不能为空!"); } - String vehicle_code = jsonObject.getString("vehicle_code"); - vehicle_code = TaskUtils.formatVehicleCode(vehicle_code); - if ("0000".equals(vehicle_code)) { - throw new BadRequestException("载具编码不能为空!"); - } String qty = jsonObject.getString("qty"); if (StrUtil.isBlank(qty)) { throw new BadRequestException("数量不能为空!"); @@ -507,13 +246,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } TaskUtils.isLocked(point); + String vehicle_code = TaskUtils.formatVehicleCode(jsonObject.getString("vehicle_code")); JSONObject workorder = TaskUtils.hasWorkOrder(point); String vehicle_type = workorder.getString("vehicle_type"); WQLObject vd_table = WQLObject.getWQLObject("st_ivt_vehicle_detail"); - JSONObject vd_update = new JSONObject(); - vd_update.put("is_delete", TrueOrFalse.TRUE.value()); - TaskUtils.addACSUpdateColum(vd_update); - vd_table.update(vd_update, "is_delete = '0' AND vehicle_type = '" + vehicle_type + "' AND vehicle_code = '" + vehicle_code + "'"); + if (!"0000".equals(vehicle_code)) { + JSONObject vd_update = new JSONObject(); + vd_update.put("is_delete", TrueOrFalse.TRUE.value()); + TaskUtils.addACSUpdateColum(vd_update); + vd_table.update(vd_update, "is_delete = '0' AND vehicle_type = '" + vehicle_type + "' AND vehicle_code = '" + vehicle_code + "'"); + } JSONObject vd = new JSONObject(); vd.put("vd_id", IdUtil.getSnowflake(1, 1).nextId()); @@ -578,19 +320,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { vd.put("create_time", DateUtil.now()); vd.put("is_delete", TrueOrFalse.FALSE.value()); - vd.put("is_fire", TrueOrFalse.FALSE.value()); - String region_code = point.getString("region_code"); - if (Region.FJ.value().equals(region_code)) { - vd.put("is_fire", TrueOrFalse.TRUE.value()); - } - vd.put("is_in_kiln", is_full); - if (Region.FJ.value().equals(region_code)) { - vd.put("is_in_kiln", TrueOrFalse.FALSE.value()); - } - if (Region.FJ.value().equals(region_code)) { - vd.put("is_package", jsonObject.getString("is_package")); - } - vd_table.insert(vd); // 入库 @@ -777,25 +506,20 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { */ @Override @Transactional(rollbackFor = Exception.class) - public void reverseGroup(JSONObject whereJson) { - WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - WQLObject groupTab = WQLObject.getWQLObject("st_buss_vehiclegroup"); - WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); + public JSONObject reverseGroup(JSONObject whereJson) { String vehicle_code = whereJson.getString("vehicle_code"); - String task_id = whereJson.getString("task_id"); - // 通过任务号获取任务中的 - JSONObject taskObj = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); - String group_id = taskObj.getString("group_id"); + if (StrUtil.isBlank(vehicle_code)) { + throw new BadRequestException("条码不能为空!"); + } + String task_code = whereJson.getString("task_code"); + if (StrUtil.isBlank(task_code)) { + throw new BadRequestException("任务编码不能为空!"); + } - - JSONObject rywPoint = pointTab.query("point_code = 'RYW'").uniqueResult(0); - JSONObject group = groupTab.query("group_id = '" + group_id + "'").uniqueResult(0); - group.put("vehicle_code", vehicle_code); - group.put("create_time", DateUtil.now()); - groupTab.update(group); - // 清理点位 - rywPoint.put("point_status", PointEnum.POINT_STATUS_EMPTY_POSITION.getCode()); - pointTab.update(rywPoint); + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "组盘成功!"); + return result; } /** diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls index 0633b6f..22eadec 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls differ diff --git a/lms/nladmin-system/src/main/resources/config/application-dev.yml b/lms/nladmin-system/src/main/resources/config/application-dev.yml index 2bdb3ab..854568d 100644 --- a/lms/nladmin-system/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/src/main/resources/config/application-dev.yml @@ -6,7 +6,7 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lnsh_lms3}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lnsh_lms4}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useOldAliasMetadataBehavior=true username: ${DB_USER:root} password: ${DB_PWD:123456} # 初始连接数