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

This commit is contained in:
zhangzq
2025-03-27 19:34:19 +08:00
3 changed files with 31 additions and 7 deletions

View File

@@ -160,6 +160,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
public List<PdmBiSlittingproductionplan> getByContainerNames(List<String> collect) {
LambdaQueryWrapper<PdmBiSlittingproductionplan> lam = new QueryWrapper<PdmBiSlittingproductionplan>().lambda();
lam.in(PdmBiSlittingproductionplan::getContainer_name, collect);
lam.eq(PdmBiSlittingproductionplan::getIs_delete,"0");
return pdmBiSlittingproductionplanMapper.selectList(lam);
}
@@ -207,6 +208,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
LambdaQueryWrapper<PdmBiSlittingproductionplan> lam = new QueryWrapper<PdmBiSlittingproductionplan>().lambda();
lam.eq(PdmBiSlittingproductionplan::getResource_name, deviceCode)
.like(PdmBiSlittingproductionplan::getContainer_name, "虚拟")
.lt(PdmBiSlittingproductionplan::getStatus, "03")
.eq(PdmBiSlittingproductionplan::getIs_delete, "0");
return this.list(lam);
}

View File

@@ -122,7 +122,7 @@ public class AutoSendAirShaftAgvTask {
SlitterTaskUtil.getNumberByResourceCode(demoPlan.getResource_name()),
area));
if (emptyPoint.size() == 0) {
log.warn("找不到对应的位置!");
log.warn("当前分切机找不到空闲的对接位置!");
continue;
}
// 创建任务

View File

@@ -1974,9 +1974,31 @@ public class SlitterServiceImpl implements SlitterService {
String downRightSizeV = param.getString("down_right_size_v");
// 获取设备的
List<PdmBiSlittingproductionplan> checkPlans = slittingproductionplanService.getXnPlanByDevice(deviceCode);
if (!doCheckCanCallAgain(checkPlans)) {
throw new BadRequestException("气胀轴正在准备或配送中、未使用,不允许二次呼叫套轴!");
//判断是否有未配送完成的虚拟分切计划
if (ObjectUtil.isNotEmpty(checkPlans)) {
PdmBiSlittingproductionplan now_checkPlan = checkPlans.get(0);
if("01".equals(now_checkPlan.getStatus())){
log.debug(deviceCode+"气胀轴正在准备,不允许二次呼叫套轴!");
throw new BadRequestException(deviceCode+"气胀轴正在准备,不允许二次呼叫套轴!");
}else if("02".equals(now_checkPlan.getStatus())){
log.debug(deviceCode+"气胀轴配送中,不允许二次呼叫套轴!");
throw new BadRequestException(deviceCode+"气胀轴配送中,不允许二次呼叫套轴!");
}
}
//判断分切暂存位是否有已配送的气胀轴或未下料完成的子卷
//根据机台号获取分切区域表
StIvtCutpointivt deviceCut = cutpointivtService.getPintByExtCode(deviceCode, false);
//获取机台对应的空闲对接位
List<BstIvtCutpointivt> emptyPoint = slitterMapper.getEmptyCutPointNotTask(deviceCut.getProduct_area(),
deviceCut.getSort_seq(),
SlitterTaskUtil.getPointLocationInCutDevice(
SlitterTaskUtil.getNumberByResourceCode(deviceCode),
deviceCut.getProduct_area()));
if (emptyPoint.size() == 0) {
log.debug(deviceCode+"对接缓存位不是空位或存在执行中的任务!");
throw new BadRequestException(deviceCode+"对接缓存位不是空位或存在执行中的任务!");
}
List<PdmBiSlittingproductionplan> plans = new ArrayList<>();
// 虚拟计划
for (int i = 0; i < 4; i++) {
@@ -2145,14 +2167,14 @@ public class SlitterServiceImpl implements SlitterService {
return res;
}
private boolean doCheckCanCallAgain(List<PdmBiSlittingproductionplan> checkPlans) {
private PdmBiSlittingproductionplan doCheckCanCallAgain(List<PdmBiSlittingproductionplan> checkPlans) {
// 如果is_paper_ok = 2那就不允许
for (PdmBiSlittingproductionplan checkPlan : checkPlans) {
if ("2".equals(checkPlan.getIs_paper_ok())) {
return false;
if ("2".equals(checkPlan.getStatus())) {
return checkPlan;
}
}
return true;
return null;
}
@Override