fix: 油漆线物下及空上根据托盘数来进行校验
This commit is contained in:
@@ -65,7 +65,7 @@ public class SchTaskDto implements Serializable {
|
||||
/**
|
||||
* 物料详细信息,满料请求,取工单标识,组盘时候取组盘表
|
||||
*/
|
||||
private Long material_info_id;
|
||||
private String material_info_id;
|
||||
|
||||
/**
|
||||
* 物料标识
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user