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);
|
taskTab.update(jsonTask2);
|
||||||
|
|
||||||
// 更新工单数据
|
// 更新工单数据
|
||||||
String tableFk = taskObj.getString("table_fk"); // 工单号
|
String material_info_id = taskObj.getString("material_info_id"); // 工单号
|
||||||
JSONObject object = workorderTab.query("workorder_id = '" + tableFk + "'").uniqueResult(0);
|
JSONObject object = workorderTab.query("workorder_id = '" + material_info_id + "'").uniqueResult(0);
|
||||||
object.put("real_qty", object.getInteger("real_qty") + 1);
|
object.put("real_qty", object.getInteger("real_qty") + 1);
|
||||||
workorderTab.update(object);
|
workorderTab.update(object);
|
||||||
|
|
||||||
@@ -404,7 +404,7 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask {
|
|||||||
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
||||||
.vehicle_qty(1)
|
.vehicle_qty(1)
|
||||||
.task_group_id(IdUtil.getLongId())
|
.task_group_id(IdUtil.getLongId())
|
||||||
.table_fk(workOrderObj.getString("workorder_id"))
|
.material_info_id(workOrderObj.getString("workorder_id"))
|
||||||
.handle_class(THIS_CLASS)
|
.handle_class(THIS_CLASS)
|
||||||
.create_time(DateUtil.now())
|
.create_time(DateUtil.now())
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import io.swagger.models.auth.In;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
@@ -33,6 +34,9 @@ import java.util.Map;
|
|||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
/**
|
||||||
|
* todo:每次拿多少个没有弄好
|
||||||
|
*/
|
||||||
public class YqxCallEmpVehicleTask extends AbstractAcsTask {
|
public class YqxCallEmpVehicleTask extends AbstractAcsTask {
|
||||||
private final String THIS_CLASS = YqxCallEmpVehicleTask.class.getName();
|
private final String THIS_CLASS = YqxCallEmpVehicleTask.class.getName();
|
||||||
|
|
||||||
@@ -195,9 +199,9 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 更新工单数据
|
// 更新工单数据
|
||||||
String tableFk = taskObj.getString("table_fk"); // 工单号
|
String material_info_id = taskObj.getString("material_info_id"); // 工单号
|
||||||
JSONObject object = workorderTab.query("workorder_id = '" + tableFk + "'").uniqueResult(0);
|
JSONObject object = workorderTab.query("workorder_id = '" + material_info_id + "'").uniqueResult(0);
|
||||||
object.put("real_qty", object.getInteger("real_qty") + 1);
|
object.put("real_qty", object.getInteger("real_qty") + taskObj.getInteger("vehicle_qty"));
|
||||||
workorderTab.update(object);
|
workorderTab.update(object);
|
||||||
|
|
||||||
jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode());
|
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);
|
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 (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();
|
JSONObject row = new JSONObject();
|
||||||
row.put("row", workOrderObj);
|
row.put("row", workOrderObj);
|
||||||
workordeService.finish(row);
|
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("该工单所需托盘已经足够");
|
throw new BadRequestException("该工单所需托盘已经足够");
|
||||||
}
|
}
|
||||||
|
if (realQty + need > planQty) {
|
||||||
|
need = planQty - realQty;
|
||||||
|
}
|
||||||
SchTaskDto dto = SchTaskDto.builder().task_id(org.nl.wms.util.IdUtil.getLongId())
|
SchTaskDto dto = SchTaskDto.builder().task_id(org.nl.wms.util.IdUtil.getLongId())
|
||||||
.task_code(CodeUtil.getNewCode("TASK_CODE"))
|
.task_code(CodeUtil.getNewCode("TASK_CODE"))
|
||||||
.task_type("")
|
.task_type("")
|
||||||
@@ -435,8 +437,8 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask {
|
|||||||
.priority("8")
|
.priority("8")
|
||||||
.vehicle_code(form.getString("vehicle_code"))
|
.vehicle_code(form.getString("vehicle_code"))
|
||||||
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
||||||
.vehicle_qty(1)
|
.vehicle_qty(need)
|
||||||
.table_fk(workOrderObj.getString("workorder_id"))
|
.material_info_id(workOrderObj.getString("workorder_id"))
|
||||||
.task_group_id(org.nl.wms.util.IdUtil.getLongId())
|
.task_group_id(org.nl.wms.util.IdUtil.getLongId())
|
||||||
.handle_class(THIS_CLASS)
|
.handle_class(THIS_CLASS)
|
||||||
.create_time(DateUtil.now())
|
.create_time(DateUtil.now())
|
||||||
|
|||||||
@@ -297,7 +297,7 @@ public class YqxCallMaterialTask extends AbstractAcsTask {
|
|||||||
.priority("8")
|
.priority("8")
|
||||||
.task_status(TaskStatusEnum.SURE_END.getCode())
|
.task_status(TaskStatusEnum.SURE_END.getCode())
|
||||||
.point_code2(point_code2)
|
.point_code2(point_code2)
|
||||||
.material_info_id(workOrderObj.getLong("workorder_id"))
|
.material_info_id(workOrderObj.getString("workorder_id"))
|
||||||
.material_id(Long.valueOf(material_id))
|
.material_id(Long.valueOf(material_id))
|
||||||
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
||||||
.handle_class(THIS_CLASS)
|
.handle_class(THIS_CLASS)
|
||||||
|
|||||||
@@ -372,7 +372,7 @@ public class GjxSendMaterialTask extends AbstractAcsTask {
|
|||||||
.acs_task_type("2")//2楼AGV普通任务
|
.acs_task_type("2")//2楼AGV普通任务
|
||||||
.vehicle_code(vehicle_code)
|
.vehicle_code(vehicle_code)
|
||||||
.material_qty(qty)
|
.material_qty(qty)
|
||||||
.material_info_id(workOrderObj.getLong("workorder_id"))
|
.material_info_id(workOrderObj.getString("workorder_id"))
|
||||||
.material_id(workOrderObj.getLong("material_id"))
|
.material_id(workOrderObj.getLong("material_id"))
|
||||||
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
||||||
.handle_class(THIS_CLASS)
|
.handle_class(THIS_CLASS)
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ public class HkxSendMaterialTask extends AbstractAcsTask {
|
|||||||
.task_status(TaskStatusEnum.SURE_START.getCode())
|
.task_status(TaskStatusEnum.SURE_START.getCode())
|
||||||
.point_code1(point_code1)
|
.point_code1(point_code1)
|
||||||
.vehicle_code(vehicle_code)
|
.vehicle_code(vehicle_code)
|
||||||
.material_info_id(workOrderObj.getLong("workorder_id"))
|
.material_info_id(workOrderObj.getString("workorder_id"))
|
||||||
.material_id(workOrderObj.getLong("material_id"))
|
.material_id(workOrderObj.getLong("material_id"))
|
||||||
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
||||||
.handle_class(THIS_CLASS)
|
.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.WQL;
|
||||||
import org.nl.modules.wql.core.bean.WQLObject;
|
import org.nl.modules.wql.core.bean.WQLObject;
|
||||||
import org.nl.modules.wql.util.SpringContextHolder;
|
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.SchTaskDto;
|
||||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
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.RegionTypeEnum;
|
||||||
import org.nl.wms.sch.tasks.utils.PointUpdateUtil;
|
import org.nl.wms.sch.tasks.utils.PointUpdateUtil;
|
||||||
import org.nl.wms.util.IdUtil;
|
import org.nl.wms.util.IdUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@@ -38,11 +40,13 @@ import java.util.List;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class YqxSendMaterialTask extends AbstractAcsTask {
|
public class YqxSendMaterialTask extends AbstractAcsTask {
|
||||||
private final String THIS_CLASS = YqxSendMaterialTask.class.getName();
|
private final String THIS_CLASS = YqxSendMaterialTask.class.getName();
|
||||||
|
@Autowired
|
||||||
|
private WorkordeService workordeService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
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");
|
param.put("point_status", "3");
|
||||||
pointTab.update(param, "point_code = '" + point_code2 + "'");
|
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);
|
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 (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");
|
String vehicleType = workOrderObj.getString("vehicle_type");
|
||||||
if (ObjectUtil.isEmpty(vehicleType)) throw new BadRequestException("载具类型不能为空");
|
if (ObjectUtil.isEmpty(vehicleType)) throw new BadRequestException("载具类型不能为空");
|
||||||
@@ -186,7 +203,7 @@ public class YqxSendMaterialTask extends AbstractAcsTask {
|
|||||||
.priority("8")
|
.priority("8")
|
||||||
.task_status(TaskStatusEnum.SURE_START.getCode())
|
.task_status(TaskStatusEnum.SURE_START.getCode())
|
||||||
.point_code1(startPointCode)
|
.point_code1(startPointCode)
|
||||||
.material_info_id(workOrderObj.getLong("workorder_id"))
|
.material_info_id(workOrderObj.getString("workorder_id"))
|
||||||
.material_id(workOrderObj.getLong("material_id"))
|
.material_id(workOrderObj.getLong("material_id"))
|
||||||
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
.vehicle_type(workOrderObj.getString("vehicle_type"))
|
||||||
.handle_class(THIS_CLASS)
|
.handle_class(THIS_CLASS)
|
||||||
|
|||||||
Reference in New Issue
Block a user