Merge remote-tracking branch 'origin/master_merge' into master_merge

This commit is contained in:
2025-12-16 13:43:59 +08:00
5 changed files with 98 additions and 8 deletions

View File

@@ -53,6 +53,13 @@ public class FeedingController {
return new ResponseEntity<>(feedingService.handleConfirm(whereJson), HttpStatus.OK); return new ResponseEntity<>(feedingService.handleConfirm(whereJson), HttpStatus.OK);
} }
@PostMapping("/moveContainer")
@Log("母卷转移")
public ResponseEntity<Object> moveContainer(@RequestBody JSONObject whereJson) {
return new ResponseEntity<>(feedingService.moveContainer(whereJson), HttpStatus.OK);
}
@PostMapping("/vehicleReturn") @PostMapping("/vehicleReturn")
@Log("空轴送回") @Log("空轴送回")

View File

@@ -37,6 +37,8 @@ public interface FeedingService {
*/ */
JSONObject handleConfirm(JSONObject whereJson); JSONObject handleConfirm(JSONObject whereJson);
JSONObject moveContainer(JSONObject whereJson);
/** /**
* 空轴送回 * 空轴送回
* *

View File

@@ -23,6 +23,7 @@ import org.nl.wms.pda.mps.eum.RegionTypeEnum;
import org.nl.wms.pda.mps.service.FeedingService; import org.nl.wms.pda.mps.service.FeedingService;
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;
import org.nl.wms.sch.tasks.CallEmpReelTask;
import org.nl.wms.sch.tasks.CoolCutTask; import org.nl.wms.sch.tasks.CoolCutTask;
import org.nl.wms.sch.tasks.OutHotTask; import org.nl.wms.sch.tasks.OutHotTask;
import org.nl.wms.st.inbill.service.CheckOutBillService; import org.nl.wms.st.inbill.service.CheckOutBillService;
@@ -305,7 +306,7 @@ public class FeedingServiceImpl implements FeedingService {
} }
//创建AGV任务 //创建AGV任务
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
if (StrUtil.equals("01", cut_jo.getString("empty_point_status"))) { if (StrUtil.equals("01", cut_jo.getString("empty_point_status")) || (StrUtil.isNotEmpty(cut_jo.getString("point_type")) && StrUtil.equals("1", cut_jo.getString("point_type")))) {
jo.put("point_code1", cool_jo.getString("full_point_code")); jo.put("point_code1", cool_jo.getString("full_point_code"));
jo.put("point_code2", cut_jo.getString("full_point_code")); jo.put("point_code2", cut_jo.getString("full_point_code"));
jo.put("material_code", cool_jo.getString("container_name")); jo.put("material_code", cool_jo.getString("container_name"));
@@ -544,6 +545,42 @@ public class FeedingServiceImpl implements FeedingService {
return result; return result;
} }
@Override
public JSONObject moveContainer(JSONObject form) {
String point_code = form.getString("point_code");
String container_name = form.getString("container_name");
JSONObject cool_jo = WQLObject.getWQLObject("st_ivt_coolpointivt").query("full_point_code = '" + point_code + "'").uniqueResult(0);
String reging_id = RegionTypeEnum.B1_HKZC.getId();
JSONObject cache_map = new JSONObject();
cache_map.put("flag", "4");
cache_map.put("reging_id", reging_id);
cache_map.put("point_location", cool_jo.getString("point_location"));
//只找入箱点位point_type : 4
cache_map.put("point_type", "4");
JSONObject point_code2_jo = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(cache_map).process().uniqueResult(0);
if (ObjectUtil.isEmpty(point_code2_jo)) {
// 找不到就找其他上下位置的
cache_map.put("point_location", cool_jo.getString("point_location").equals("0") ? "1" : "0");
point_code2_jo = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(cache_map).process().uniqueResult(0);
}
if (ObjectUtil.isEmpty(point_code2_jo)) {
throw new BadRequestException("未查询到可用的点位类型为入箱的烘箱对接位!");
}
// 起点和终点确定 生成任务
JSONObject param = new JSONObject();
param.put("point_code1",point_code);
param.put("point_code2", point_code2_jo.getString("point_code"));
param.put("task_type", "010107");
param.put("material_code", container_name);
param.put("product_area", cool_jo.getString("product_area"));
CallEmpReelTask callEmpReelTask = SpringContextHolder.getBean(CallEmpReelTask.class);
callEmpReelTask.createTask(param);
return null;
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public JSONObject vehicleReturn(JSONObject form) { public JSONObject vehicleReturn(JSONObject form) {

View File

@@ -244,7 +244,7 @@ public class RawFoilServiceImpl implements RawFoilService {
param.put("material_code", jsonRaw.getString("container_name")); param.put("material_code", jsonRaw.getString("container_name"));
param.put("product_area", jsonSb.getString("product_area")); param.put("product_area", jsonSb.getString("product_area"));
CallEmpReelTask callEmpReelTask = new CallEmpReelTask(); CallEmpReelTask callEmpReelTask = SpringContextHolder.getBean(CallEmpReelTask.class);
callEmpReelTask.createTask(param); callEmpReelTask.createTask(param);
} else { } else {
// 2.根据就近原则查对应空卷轴 // 2.根据就近原则查对应空卷轴

View File

@@ -181,11 +181,55 @@ public class CallEmpReelTask extends AbstractAcsTask {
this.createTask(nextTaskParam); this.createTask(nextTaskParam);
} }
} else { } else {
// 取空 if (jsonTask.getString("task_type").equals("010107")) {
JSONObject jsonCoolIvt = ivtTab.query("empty_point_code = '" + point_code1 + "'").uniqueResult(0); JSONObject jsonIvt = ivtTab.query("full_point_code ='" + point_code1 + "'").uniqueResult(0);
jsonCoolIvt.put("empty_point_status", "01"); if (ObjectUtil.isEmpty(jsonIvt)) {
jsonCoolIvt.put("empty_vehicle_code", ""); throw new BadRequestException("未找到可用点位:" + point_code1);
ivtTab.update(jsonCoolIvt); }
// 更新冷却库存状态
jsonIvt.put("full_point_status", "01");
jsonIvt.put("full_vehicle_code", "");
jsonIvt.put("container_name", "");
ivtTab.update(jsonIvt);
// 校验终点是否存在
JSONObject jsonIvt2 = point_tab.query("point_code ='" + point_code2 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonIvt2)) {
throw new BadRequestException("终点未找到可用点位:" + point_code2);
}
JSONObject cache_param = new JSONObject();
cache_param.put("flag", "4");
cache_param.put("point_location", jsonIvt.getString("point_location"));
cache_param.put("product_area", jsonIvt.getString("product_area"));
// 创建半条任务
JSONObject jo = new JSONObject();
jo.put("task_id", IdUtil.getLongId());
jo.put("task_code", IdUtil.getLongId());
jo.put("task_type", "010206");
jo.put("task_status", TaskStatusEnum.SURE_START.getCode());
jo.put("point_code1", point_code2);
jo.put("point_code2", "");
jo.put("material_code", jsonTask.getString("material_code"));
jo.put("product_area", jsonTask.getString("product_area"));
jo.put("handle_class", InHotTask.class.getName());
jo.put("remark", cache_param);
jo.put("type", "3");
jo.put("priority", "1");
jo.put("sort_seq", "1");
jo.put("create_time", DateUtil.now());
jo.put("acs_task_type", "6");
taskTab.insert(jo);
// 更新点位库存状态
jsonIvt2.put("point_status", "2");
jsonIvt2.put("material_code", jsonTask.getString("material_code"));
point_tab.update(jsonIvt2);
}else {
// 取空
JSONObject jsonCoolIvt = ivtTab.query("empty_point_code = '" + point_code1 + "'").uniqueResult(0);
jsonCoolIvt.put("empty_point_status", "01");
jsonCoolIvt.put("empty_vehicle_code", "");
ivtTab.update(jsonCoolIvt);
}
} }
} else { } else {
@@ -206,7 +250,7 @@ public class CallEmpReelTask extends AbstractAcsTask {
// 校验终点是否存在 // 校验终点是否存在
JSONObject jsonIvt2 = point_tab.query("point_code ='" + point_code4 + "'").uniqueResult(0); JSONObject jsonIvt2 = point_tab.query("point_code ='" + point_code4 + "'").uniqueResult(0);
if (ObjectUtil.isEmpty(jsonIvt2)) { if (ObjectUtil.isEmpty(jsonIvt2)) {
throw new BadRequestException("终点未找到可用点位:" + point_code2); throw new BadRequestException("终点未找到可用点位:" + point_code4);
} }
/*//创建桁架任务将子卷搬运到桁架下的半成品缓存位 /*//创建桁架任务将子卷搬运到桁架下的半成品缓存位