opt:优化穿拔轴定时器
This commit is contained in:
@@ -158,7 +158,6 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
//再次查询空的拔轴机构点位,查同区的拔轴设备
|
||||
List<BstIvtShafttubeivt> emptyPoints = bstIvtShafttubeivtService.getAllShaftPointsByConditions("2",
|
||||
cutpointivt.getProduct_area(), "0");
|
||||
if(emptyPoints.size() == 0){
|
||||
if(emptyPoints.size() == 0){
|
||||
log.warn("气涨轴[{}]排队中,暂时无空闲拔轴机构!", qzzNo);
|
||||
bcutpointivtService.update(new UpdateWrapper<BstIvtCutpointivt>()
|
||||
@@ -168,7 +167,6 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
//跳过当前子卷任务
|
||||
continue;
|
||||
}
|
||||
}
|
||||
List<String> collect = list.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("point_code1", qzz_point);
|
||||
@@ -217,7 +215,7 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
//没有可以接续的套轴计划,直接下发拔轴任务即可
|
||||
if (planDto == null) {
|
||||
if (ObjectUtil.isEmpty(planDto)) {
|
||||
log.warn("当前拔轴任务无可接续的套轴计划:{}", cutpointivt);
|
||||
if(!this.havaEmptyShaft(emptyPoints.get(0),plan,max_qzz_num)) {
|
||||
log.warn("气涨轴[{}]排队中,暂时无空闲气胀轴空位放空轴!", qzzNo);
|
||||
@@ -316,15 +314,14 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
String qzz_generation = planDto.getQzz_generation();
|
||||
String product_area = "";
|
||||
if (StrUtil.equals(qzz_generation, "4")){
|
||||
product_area = "A";
|
||||
product_area = "A1";
|
||||
}else if (StrUtil.equals(qzz_generation, "5")){
|
||||
product_area = "B";
|
||||
product_area = "B1";
|
||||
}
|
||||
|
||||
//再次查询空的拔轴机构点位,优先查同区的拔轴设备
|
||||
List<BstIvtShafttubeivt> emptyPoints = bstIvtShafttubeivtService.getAllShaftPointsByConditions("2",
|
||||
product_area, "0");
|
||||
if(emptyPoints.size() == 0){
|
||||
if(emptyPoints.size() == 0){
|
||||
log.warn("分切计划{}排队中,暂时无空闲拔轴机构!", planDto.getWorkorder_id());
|
||||
slittingproductionplanService.update(new UpdateWrapper<PdmBiSlittingproductionplan>()
|
||||
@@ -334,7 +331,6 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
//跳过当前计划
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//判断是否有对应尺寸的气胀轴,无跳过
|
||||
if(!this.havaEnoughShaft(planDto, emptyPoints.get(0))){
|
||||
log.warn("分切计划{}排队中,暂时相应规格{}寸{}代的气胀轴!", planDto.getWorkorder_id(),planDto.getQzz_size(),planDto.getQzz_generation());
|
||||
@@ -474,7 +470,11 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
String product_area = empty.getProduct_area();
|
||||
//获取气胀轴缓存架最大缓存数量
|
||||
Integer max_num = Integer.valueOf(max_qzz_num.getValue());
|
||||
|
||||
// 根据尺寸和代数和车间区域,查询气涨轴暂存架是否有空位
|
||||
List<BstIvtShafttubeivt> qzzCache = bstIvtShafttubeivtService.getNotTaskShaftCacheEmpty2(qzzSize,qzzGeneration,product_area);
|
||||
if (qzzCache.size() > 0) {
|
||||
return true;
|
||||
}else{
|
||||
// 查询拔轴设备旁边缓存架点位是否存在
|
||||
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getByQzzSize(qzzSize ,empty.getPoint_code(), product_area);
|
||||
if (shafttubeivts.size() == 0) {
|
||||
@@ -504,26 +504,9 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
//若缓存架数量已经满了
|
||||
if (data2.getInteger("qty") >= max_num) {
|
||||
log.warn("气胀轴库【" + shafttubeivt.getPoint_code() + "】没有气胀轴空位。");
|
||||
// 根据尺寸和代数和车间区域,查询气涨轴暂存架是否有空位
|
||||
List<BstIvtShafttubeivt> qzzCache = bstIvtShafttubeivtService.getNotTaskShaftCacheEmpty2(qzzSize,qzzGeneration,product_area);
|
||||
if (qzzCache.size() <= 0) {
|
||||
log.warn("气胀轴暂存架没空位,无法分配拔轴任务");
|
||||
return false;
|
||||
}
|
||||
// 预扣除暂存架库存
|
||||
BstIvtShafttubeivt waitUsedPoint = qzzCache.get(0);
|
||||
waitUsedPoint.setPlan("1");
|
||||
waitUsedPoint.setUpdate_time(DateUtil.now());
|
||||
bstIvtShafttubeivtService.updateById(waitUsedPoint);
|
||||
log.info("暂存架空位被预分配 - {}", waitUsedPoint);
|
||||
}else{
|
||||
// 预扣除缓存架库存
|
||||
shafttubeivt.setPlan("1");
|
||||
shafttubeivt.setUpdate_time(DateUtil.now());
|
||||
bstIvtShafttubeivtService.updateById(shafttubeivt);
|
||||
log.info("缓存架空位被预分配 - {}", shafttubeivt);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -794,35 +777,13 @@ public class AutoCallAirShaftTask extends Prun {
|
||||
if (cuts.size() > 0) {
|
||||
return true;
|
||||
}
|
||||
// 判断穿拔轴机是否存在正在套轴的,存在也不继续。
|
||||
List<BstIvtShafttubeivt> shafts = bstIvtShafttubeivtService.getOtherCBJData(empty.getPoint_code(), empty.getPoint_location());
|
||||
if (shafts.size() > 0) {
|
||||
BstIvtShafttubeivt shafttubeivt = shafts.get(0);
|
||||
String containerCode = ObjectUtil.isNotEmpty(shafttubeivt.getContainer_name1())
|
||||
? shafttubeivt.getContainer_name1() : shafttubeivt.getContainer_name2();
|
||||
// 获取这个子卷号的分切计划
|
||||
PdmBiSlittingproductionplan byContainerName = slittingproductionplanService.getByContainerName(containerCode);
|
||||
if (ObjectUtil.isNotEmpty(byContainerName)) {
|
||||
String parent = "1".equals(byContainerName.getOrder_type())
|
||||
? byContainerName.getParent_container_name()
|
||||
: byContainerName.getRestruct_container_name();
|
||||
if (byContainerName.getResource_name().equals(dto.getResource_name())) {
|
||||
// 如果是同设备同母卷、同组,证明是一根轴上的,故允许套轴
|
||||
if (parent.equals(dto.getParent_container_name())
|
||||
&& byContainerName.getSplit_group().equals(dto.getSplit_group())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 校验是否在拔轴暂存位、分切对接位有相同设备的分切计划信息。
|
||||
// 有就返回false, 没有就返回true
|
||||
List<BstIvtCutpointivt> cuts2 = bcutpointivtService.getReallyQzzSameDevice(dto.getResource_name());
|
||||
if (cuts2.size() == 0) {
|
||||
return true;
|
||||
}
|
||||
List<String> stringList = cuts2.stream().map(BstIvtCutpointivt::getPoint_code).collect(Collectors.toList());
|
||||
//List<String> stringList = cuts2.stream().map(BstIvtCutpointivt::getPoint_code).collect(Collectors.toList());
|
||||
}
|
||||
log.info("检查有同母卷不允许套轴:{}", dto);
|
||||
// 有就返回true
|
||||
|
||||
Reference in New Issue
Block a user