opt: 剩下一根管芯,避免竞争
This commit is contained in:
@@ -155,6 +155,8 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
private TrussCallShaftManuallyTask trussCallShaftManuallyTask;
|
||||
@Autowired
|
||||
private StockAreaInOutTask stockAreaInOutTask;
|
||||
@Autowired
|
||||
private IBstIvtShafttubeivtService bstIvtShafttubeivtService;
|
||||
|
||||
@Override
|
||||
public JSONObject acsRequestShaftLoadTube(JSONObject param) {
|
||||
@@ -203,12 +205,42 @@ public class SlitterServiceImpl implements SlitterService {
|
||||
if ("1".equals(autoSendEmpty.getValue()) && gxQtyList.size() == 0) {
|
||||
con.put("is_bushing", SlitterConstant.TO_SHAFT_INFO_97);
|
||||
} else {
|
||||
// 管芯桁架对接位
|
||||
List<GxQtyDto> hasNeedPoint = gxQtyList.stream()
|
||||
.filter(gx -> "1".equals(gx.getPoint_type()) && gx.getQty() >= tubes.size())
|
||||
.collect(Collectors.toList());
|
||||
if (hasNeedPoint.size() > 0) {
|
||||
// 1、判断点位类型有没有=1,且数量大于等于所需数
|
||||
con.put("is_bushing", SlitterConstant.SLITTER_YES);
|
||||
// - 判断管芯类型与另一台机构的类型是否一样,如果剩下一根管芯且相同,则直送轴
|
||||
try {
|
||||
int sum = hasNeedPoint.stream()
|
||||
.filter(p -> ObjectUtil.isNotEmpty(p.getQty()))
|
||||
.mapToInt(GxQtyDto::getQty)
|
||||
.sum();
|
||||
if (sum == 1) {
|
||||
BstIvtShafttubeivt one = bstIvtShafttubeivtService.getOne(new LambdaQueryWrapper<BstIvtShafttubeivt>()
|
||||
.ne(BstIvtShafttubeivt::getPoint_code, point.getPoint_code())
|
||||
.eq(BstIvtShafttubeivt::getPoint_location, point.getPoint_location())
|
||||
.eq(BstIvtShafttubeivt::getPoint_type, point.getPoint_type())
|
||||
.eq(BstIvtShafttubeivt::getIs_used, "1"));
|
||||
if (ObjectUtil.isNotEmpty(one)) {
|
||||
List<String> tubes2 = Stream.of(one.getTube_code1(), one.getTube_code2())
|
||||
.filter(ObjectUtil::isNotEmpty)
|
||||
.collect(Collectors.toList());
|
||||
if ((ObjectUtil.isNotEmpty(one.getTube_code1()) && tubes2.contains(point.getTube_code1()))
|
||||
|| (ObjectUtil.isNotEmpty(one.getTube_code2()) && tubes2.contains(point.getTube_code2()))) {
|
||||
log.info("剩下一根管芯,避免竞争,只送空轴!");
|
||||
stepTipLogs.add("剩下一根管芯,避免竞争,只送空轴!");
|
||||
redisUtils.set("ERROR" + deviceCode, stepTipLogs);
|
||||
con.put("is_bushing", SlitterConstant.TO_SHAFT_INFO_97);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
stepTipLogs.add("判断管芯类型与另一台机构的类型是否一样出错,请检查!");
|
||||
redisUtils.set("ERROR" + deviceCode, stepTipLogs);
|
||||
}
|
||||
} else {
|
||||
// 2、判断点位有没有任务(010807->point3, 010808->point1)
|
||||
List<String> pointCodes = gxQtyList.stream()
|
||||
|
||||
Reference in New Issue
Block a user