diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java index 313d52d..c0a45a9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/SchTaskDto.java @@ -65,7 +65,7 @@ public class SchTaskDto implements Serializable { /** * 物料详细信息,满料请求,取工单标识,组盘时候取组盘表 */ - private Long material_info_id; + private String material_info_id; /** * 物料标识 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java index a1f55e9..a7af1ab 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java @@ -173,8 +173,8 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask { taskTab.update(jsonTask2); // 更新工单数据 - String tableFk = taskObj.getString("table_fk"); // 工单号 - JSONObject object = workorderTab.query("workorder_id = '" + tableFk + "'").uniqueResult(0); + String material_info_id = taskObj.getString("material_info_id"); // 工单号 + JSONObject object = workorderTab.query("workorder_id = '" + material_info_id + "'").uniqueResult(0); object.put("real_qty", object.getInteger("real_qty") + 1); workorderTab.update(object); @@ -404,7 +404,7 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask { .vehicle_type(workOrderObj.getString("vehicle_type")) .vehicle_qty(1) .task_group_id(IdUtil.getLongId()) - .table_fk(workOrderObj.getString("workorder_id")) + .material_info_id(workOrderObj.getString("workorder_id")) .handle_class(THIS_CLASS) .create_time(DateUtil.now()) .build(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java index 931e281..a6d4fb0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import io.swagger.models.auth.In; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; @@ -33,6 +34,9 @@ import java.util.Map; @Service @RequiredArgsConstructor @Slf4j +/** + * todo:每次拿多少个没有弄好 + */ public class YqxCallEmpVehicleTask extends AbstractAcsTask { private final String THIS_CLASS = YqxCallEmpVehicleTask.class.getName(); @@ -195,9 +199,9 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask { } // 更新工单数据 - String tableFk = taskObj.getString("table_fk"); // 工单号 - JSONObject object = workorderTab.query("workorder_id = '" + tableFk + "'").uniqueResult(0); - object.put("real_qty", object.getInteger("real_qty") + 1); + String material_info_id = taskObj.getString("material_info_id"); // 工单号 + JSONObject object = workorderTab.query("workorder_id = '" + material_info_id + "'").uniqueResult(0); + object.put("real_qty", object.getInteger("real_qty") + taskObj.getInteger("vehicle_qty")); workorderTab.update(object); jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode()); @@ -410,21 +414,19 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask { JSONObject workOrderObj = workOrderTab.query("device_code = '" + device_code + "' and order_status = '3' and is_delete ='0'").uniqueResult(0); if (ObjectUtil.isEmpty(workOrderObj)) throw new BadRequestException("该设备当前未生产或者已删除"); // 超过数量也不需要呼叫 - if (workOrderObj.getInteger("real_qty") >= workOrderObj.getInteger("plan_qty")) { + Integer realQty = workOrderObj.getInteger("real_qty"); + Integer planQty = workOrderObj.getInteger("plan_qty"); + Integer need = 5; + if (realQty >= planQty) { // 当前位置工单完成,物上工单完成 JSONObject row = new JSONObject(); row.put("row", workOrderObj); workordeService.finish(row); -// // 物下工单 -// JSONObject workorderCode = workOrderTab.query("device_code = 'YQX01WX' and order_status = '3' and is_delete ='0' " + -// "and workorder_code = '" + workOrderObj.getString("workorder_code") + "'").uniqueResult(0); -// if (ObjectUtil.isNotEmpty(workorderCode)) { -// row.put("row", workorderCode); -// workordeService.finish(row); -// } throw new BadRequestException("该工单所需托盘已经足够"); } - + if (realQty + need > planQty) { + need = planQty - realQty; + } SchTaskDto dto = SchTaskDto.builder().task_id(org.nl.wms.util.IdUtil.getLongId()) .task_code(CodeUtil.getNewCode("TASK_CODE")) .task_type("") @@ -435,8 +437,8 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask { .priority("8") .vehicle_code(form.getString("vehicle_code")) .vehicle_type(workOrderObj.getString("vehicle_type")) - .vehicle_qty(1) - .table_fk(workOrderObj.getString("workorder_id")) + .vehicle_qty(need) + .material_info_id(workOrderObj.getString("workorder_id")) .task_group_id(org.nl.wms.util.IdUtil.getLongId()) .handle_class(THIS_CLASS) .create_time(DateUtil.now()) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YqxCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YqxCallMaterialTask.java index 47d9028..4a20105 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YqxCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callMaterial/YqxCallMaterialTask.java @@ -297,7 +297,7 @@ public class YqxCallMaterialTask extends AbstractAcsTask { .priority("8") .task_status(TaskStatusEnum.SURE_END.getCode()) .point_code2(point_code2) - .material_info_id(workOrderObj.getLong("workorder_id")) + .material_info_id(workOrderObj.getString("workorder_id")) .material_id(Long.valueOf(material_id)) .vehicle_type(workOrderObj.getString("vehicle_type")) .handle_class(THIS_CLASS) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/GjxSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/GjxSendMaterialTask.java index 0a8a478..70e5c14 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/GjxSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/GjxSendMaterialTask.java @@ -372,7 +372,7 @@ public class GjxSendMaterialTask extends AbstractAcsTask { .acs_task_type("2")//2楼AGV普通任务 .vehicle_code(vehicle_code) .material_qty(qty) - .material_info_id(workOrderObj.getLong("workorder_id")) + .material_info_id(workOrderObj.getString("workorder_id")) .material_id(workOrderObj.getLong("material_id")) .vehicle_type(workOrderObj.getString("vehicle_type")) .handle_class(THIS_CLASS) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HkxSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HkxSendMaterialTask.java index d945516..b608fb1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HkxSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/HkxSendMaterialTask.java @@ -237,7 +237,7 @@ public class HkxSendMaterialTask extends AbstractAcsTask { .task_status(TaskStatusEnum.SURE_START.getCode()) .point_code1(point_code1) .vehicle_code(vehicle_code) - .material_info_id(workOrderObj.getLong("workorder_id")) + .material_info_id(workOrderObj.getString("workorder_id")) .material_id(workOrderObj.getLong("material_id")) .vehicle_type(workOrderObj.getString("vehicle_type")) .handle_class(THIS_CLASS) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YqxSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YqxSendMaterialTask.java index b103e3f..6998d25 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YqxSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/sendMaterial/YqxSendMaterialTask.java @@ -14,6 +14,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.pdm.service.WorkordeService; import org.nl.wms.sch.SchTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; @@ -23,6 +24,7 @@ import org.nl.wms.sch.tasks.AcsTaskDto; import org.nl.wms.sch.tasks.RegionTypeEnum; import org.nl.wms.sch.tasks.utils.PointUpdateUtil; import org.nl.wms.util.IdUtil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,11 +40,13 @@ import java.util.List; @Slf4j public class YqxSendMaterialTask extends AbstractAcsTask { private final String THIS_CLASS = YqxSendMaterialTask.class.getName(); - + @Autowired + private WorkordeService workordeService; @Override @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { + WQLObject workorderTab = WQLObject.getWQLObject("pdm_bd_workorder"); /** *改变任务状态 **/ @@ -101,6 +105,11 @@ public class YqxSendMaterialTask extends AbstractAcsTask { } param.put("point_status", "3"); pointTab.update(param, "point_code = '" + point_code2 + "'"); + // 更新工单数据 + String workorder_id = taskObj.getString("material_info_id"); // 工单号 + JSONObject object = workorderTab.query("workorder_id = '" + workorder_id + "'").uniqueResult(0); + object.put("real_qty", object.getInteger("real_qty") + 1); + workorderTab.update(object); } } @@ -164,6 +173,14 @@ public class YqxSendMaterialTask extends AbstractAcsTask { JSONObject workOrderObj = workOrderTab.query("device_code = '" + device_code + "' and order_status = '3' and is_delete ='0'").uniqueResult(0); if (ObjectUtil.isEmpty(workOrderObj)) throw new BadRequestException("该设备当前未生产或者已删除"); + // 最后一个要把工单完成 + if (workOrderObj.getInteger("real_qty") == workOrderObj.getInteger("plan_qty")) { + // 当前位置工单完成,物上工单完成 + JSONObject row = new JSONObject(); + row.put("row", workOrderObj); + workordeService.finish(row); + } + String vehicleType = workOrderObj.getString("vehicle_type"); if (ObjectUtil.isEmpty(vehicleType)) throw new BadRequestException("载具类型不能为空"); @@ -186,7 +203,7 @@ public class YqxSendMaterialTask extends AbstractAcsTask { .priority("8") .task_status(TaskStatusEnum.SURE_START.getCode()) .point_code1(startPointCode) - .material_info_id(workOrderObj.getLong("workorder_id")) + .material_info_id(workOrderObj.getString("workorder_id")) .material_id(workOrderObj.getLong("material_id")) .vehicle_type(workOrderObj.getString("vehicle_type")) .handle_class(THIS_CLASS)