fix
This commit is contained in:
@@ -99,7 +99,7 @@ public abstract class AbstractTask {
|
||||
SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper<SchBaseTaskconfig>()
|
||||
.eq(SchBaseTaskconfig::getConfig_code, config_code));
|
||||
taskDto.setPriority(taskConfig.getPriority());
|
||||
taskDto.setTask_type(taskConfig.getAcs_task_type());
|
||||
taskDto.setTask_type(taskConfig.getTask_type());
|
||||
taskDto.setRoute_plan_code(taskConfig.getRoute_plan_code());
|
||||
return taskDto;
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ public class BPSLTask extends AbstractTask {
|
||||
|
||||
//发起任务时先把点位占用,防止发起重复任务
|
||||
point.setIng_task_code(task.getTask_code());
|
||||
point.setVehicle_qty(point.getVehicle_qty() - 1);
|
||||
// point.setVehicle_qty(point.getVehicle_qty() - 1);
|
||||
point.setVehicle_type(materialType);
|
||||
pointService.update(point);
|
||||
|
||||
@@ -111,8 +111,15 @@ public class BPSLTask extends AbstractTask {
|
||||
* @return
|
||||
*/
|
||||
private SchBasePoint findNextPoint(JSONObject extGroupData) {
|
||||
String regionCode = "HCQ1";
|
||||
String regionCode = "";
|
||||
String materialType = extGroupData.getString("material_type");
|
||||
if("1".equals(materialType)){
|
||||
regionCode="HCQ4";
|
||||
}else if("2".equals(materialType)){
|
||||
regionCode="HCQ1";
|
||||
}else if ("3".equals(materialType)){
|
||||
regionCode="HCQ2";
|
||||
}
|
||||
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,"2");
|
||||
for(int i=schBasePointList.size()-1;i>=0;i--){
|
||||
SchBasePoint schBasePoint=schBasePointList.get(i);
|
||||
@@ -179,6 +186,7 @@ public class BPSLTask extends AbstractTask {
|
||||
}
|
||||
startPointObj.setVehicle_code(vehicle_code.toString());
|
||||
}
|
||||
startPointObj.setVehicle_qty(startPointObj.getVehicle_qty() - 1);
|
||||
startPointObj.setIng_task_code("");
|
||||
startPointObj.setUpdate_time(DateUtil.now());
|
||||
pointService.updateById(startPointObj);
|
||||
@@ -198,7 +206,7 @@ public class BPSLTask extends AbstractTask {
|
||||
// 起点解锁
|
||||
if (ObjectUtil.isNotEmpty(startPointObj)) {
|
||||
startPointObj.setIng_task_code("");
|
||||
startPointObj.setVehicle_qty(startPointObj.getVehicle_qty()+1);
|
||||
// startPointObj.setVehicle_qty(startPointObj.getVehicle_qty()+1);
|
||||
pointService.update(endPointObj);
|
||||
}
|
||||
taskObj.setRemark("任务取消");
|
||||
@@ -223,6 +231,7 @@ public class BPSLTask extends AbstractTask {
|
||||
JSONObject jsonObject = JSONObject.parseObject(schBaseTask.getExt_group_data());
|
||||
SchBasePoint point = this.findNextPoint(jsonObject);
|
||||
// 设置起点并修改创建成功状态
|
||||
schBaseTask.setPoint_code1(point.getPoint_code());
|
||||
List<String> vehicleCodeList = Arrays.stream(point.getVehicle_code().split(",")).collect(Collectors.toList());
|
||||
schBaseTask.setPoint_code1(point.getPoint_code()+"0"+vehicleCodeList.size());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,18 +80,17 @@ public class MJXLTask extends AbstractTask {
|
||||
task.setRemark("未找到所需点位!");
|
||||
taskService.update(task);
|
||||
// 消息通知
|
||||
log.info("满架下料未找到当前符合条件的点位materialType:{},",materialType);
|
||||
log.info("满架下料未找到当前符合条件的点位materialType:{},", materialType);
|
||||
continue;
|
||||
}
|
||||
// 设置终点并修改创建成功状态
|
||||
task.setPoint_code2(point.getPoint_code());
|
||||
task.setPoint_code2(point.getNext_wait_point());
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
task.setRemark("");
|
||||
taskService.update(task);
|
||||
|
||||
//发起任务时先把点位占用,防止发起重复任务
|
||||
point.setIng_task_code(task.getTask_code());
|
||||
point.setVehicle_qty(point.getVehicle_qty() + 1);
|
||||
point.setVehicle_type(materialType);
|
||||
pointService.update(point);
|
||||
|
||||
@@ -122,17 +121,17 @@ public class MJXLTask extends AbstractTask {
|
||||
//TBX2找B区
|
||||
regionCode = "GHS2";
|
||||
}
|
||||
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,"2");
|
||||
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode, "2");
|
||||
for (SchBasePoint schBasePoint : schBasePointList) {
|
||||
if (!schBasePoint.getPoint_code().endsWith("01") &&
|
||||
!schBasePoint.getPoint_code().endsWith("06")) {
|
||||
continue;
|
||||
}
|
||||
if ((ObjectUtil.isEmpty(schBasePoint.getVehicle_type())||
|
||||
if ((ObjectUtil.isEmpty(schBasePoint.getVehicle_type()) ||
|
||||
materialType.equals(schBasePoint.getVehicle_type()))
|
||||
&& "2".equals(schBasePoint.getPoint_status())
|
||||
&& schBasePoint.getVehicle_qty() < 3) {
|
||||
log.info("满架下料找到当前符合条件的点位{}",schBasePoint.getPoint_code());
|
||||
log.info("满架下料找到当前符合条件的点位{}", schBasePoint.getPoint_code());
|
||||
return schBasePoint;
|
||||
}
|
||||
}
|
||||
@@ -163,7 +162,7 @@ public class MJXLTask extends AbstractTask {
|
||||
.eq(PdmBdWorkorder::getWorkorder_code, extGroupData.getString("workorder_code")))
|
||||
: null;
|
||||
String startPoint = taskObj.getPoint_code1(); // 获取起点
|
||||
String endPoint = taskObj.getPoint_code2(); // 获取终点
|
||||
String endPoint = taskObj.getPoint_code2().substring(0,taskObj.getPoint_code2().length()-2); // 获取终点
|
||||
SchBasePoint startPointObj = pointService.getById(startPoint);
|
||||
SchBasePoint endPointObj = pointService.getById(endPoint);
|
||||
// 根据传来的类型去对任务进行操作
|
||||
@@ -179,6 +178,7 @@ public class MJXLTask extends AbstractTask {
|
||||
// 终点解锁
|
||||
endPointObj.setIng_task_code("");
|
||||
endPointObj.setVehicle_code(ObjectUtil.isEmpty(endPointObj.getVehicle_code()) ? vehicle_code + "," : endPointObj.getVehicle_code() + vehicle_code + ",");
|
||||
endPointObj.setVehicle_qty(endPointObj.getVehicle_qty() + 1);
|
||||
pointService.update(endPointObj);
|
||||
// 要把数据存到组盘表 -> 改造公共方法,返回id
|
||||
SchBaseVehiclematerialgroup groupEntity = new SchBaseVehiclematerialgroup();
|
||||
@@ -222,8 +222,7 @@ public class MJXLTask extends AbstractTask {
|
||||
if (ObjectUtil.isNotEmpty(endPointObj)) {
|
||||
endPointObj.setIng_task_code("");
|
||||
//任务取消把原先占用的位置释放
|
||||
endPointObj.setVehicle_qty(endPointObj.getVehicle_qty()-1);
|
||||
if(endPointObj.getVehicle_qty()<=0){
|
||||
if (endPointObj.getVehicle_qty() <= 0) {
|
||||
endPointObj.setVehicle_type(null);
|
||||
}
|
||||
pointService.update(endPointObj);
|
||||
@@ -245,7 +244,16 @@ public class MJXLTask extends AbstractTask {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void feedbackTaskState(JSONObject param,SchBaseTask schBaseTask, BaseResponse result) {
|
||||
//无需重算,返回当前点位即可
|
||||
protected void feedbackTaskState(JSONObject param, SchBaseTask schBaseTask, BaseResponse result) {
|
||||
//重新计算固化室放货点位
|
||||
try {
|
||||
JSONObject extGroupData = JSONObject.parseObject(schBaseTask.getExt_group_data());
|
||||
SchBasePoint startPoint = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getPoint_code, schBaseTask.getPoint_code1()));
|
||||
SchBasePoint point = findNextPoint(startPoint, extGroupData);
|
||||
schBaseTask.setPoint_code2(point.getPoint_code()+"0"+(point.getVehicle_qty()+1));
|
||||
} catch (Exception e) {
|
||||
log.error("error:{}", e, e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,12 +113,12 @@ public class TBXBKJTask extends AbstractTask {
|
||||
private SchBasePoint findNextPoint(SchBasePoint startPoint) {
|
||||
String regionCode = null;
|
||||
if ("TBX1".equals(startPoint.getRegion_code())) {
|
||||
//KGHJ1找A区
|
||||
regionCode = "KGHJ1";
|
||||
//TBX1找A区
|
||||
regionCode = "HCQ3";
|
||||
|
||||
} else if ("TBX2".equals(startPoint.getRegion_code())) {
|
||||
//KGHJ2找B区
|
||||
regionCode = "KGHJ2";
|
||||
//TBX2找B区
|
||||
regionCode = "KGHJ1";
|
||||
}
|
||||
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,null);
|
||||
for (SchBasePoint schBasePoint : schBasePointList) {
|
||||
|
||||
@@ -156,6 +156,7 @@ public class GHSQHTask extends AbstractTask {
|
||||
|
||||
/**
|
||||
* 1.根据当前固化室所处区域,判断到哪个区的缓存位
|
||||
* 正极板到HCQ4,负极板到HCQ1,边负极板到HCQ2
|
||||
* 2.从1010列到0101列倒叙判断当前列物料类型是否与起点一致且存在空位
|
||||
* 3.将当前点位设置为目标点
|
||||
* 4.如果没有符合条件的点位,跳过执行暂时等待
|
||||
@@ -163,12 +164,15 @@ public class GHSQHTask extends AbstractTask {
|
||||
private SchBasePoint findNextPoint(SchBasePoint startPoint) {
|
||||
String regionCode = null;
|
||||
String materialType = startPoint.getVehicle_type();
|
||||
if ("GHS1".equals(startPoint.getRegion_code())) {
|
||||
//HCQ1找A区
|
||||
regionCode = "HCQ1";
|
||||
if ("1".equals(startPoint.getVehicle_type())) {
|
||||
//正极板到缓存区4
|
||||
regionCode = "HCQ4";
|
||||
|
||||
} else if ("GHS2".equals(startPoint.getRegion_code())) {
|
||||
//GHS2找B区
|
||||
} else if ("2".equals(startPoint.getVehicle_type())) {
|
||||
//负极板到缓存区1
|
||||
regionCode = "HCQ1";
|
||||
} else if ("3".equals(startPoint.getVehicle_type())) {
|
||||
//边负极板到缓存区1
|
||||
regionCode = "HCQ2";
|
||||
}
|
||||
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,"2");
|
||||
@@ -306,6 +310,7 @@ public class GHSQHTask extends AbstractTask {
|
||||
if(ObjectUtil.isEmpty(nextPoint)){
|
||||
throw new Exception("当前起点"+schBaseTask.getPoint_code1()+"未找到合适的放货点位");
|
||||
}
|
||||
schBaseTask.setPoint_code2(nextPoint.getPoint_code());
|
||||
//上位记的是整一个缓存区三个点,整体搬运时反馈点位带01
|
||||
schBaseTask.setPoint_code2(nextPoint.getPoint_code()+"01");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user