diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java index baf9cb4fb..911db000e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java @@ -83,4 +83,13 @@ public interface IBstIvtCutpointivtService extends IService { * @return */ List getAreaNotTaskPointByLocationAreaAndStatus(String location); + + /** + * 获取一半的点位 + * @param type 点位类型:1套轴对接位,2分切缓存位,3分切对接位 + * @param pointStatus 点位状态:1空位、2有气涨轴、3有子卷 + * @param location 区域:0上1下 + * @return / + */ + List getAllHalfPlacePoints(String type, String pointStatus, String location); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java index f1c122218..934c1b105 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java @@ -16,4 +16,6 @@ public interface BstIvtCutpointivtMapper extends BaseMapper { List getPointByTypeAndShaftSize(String type, String size, String generation); List getAreaNotTaskPointByLocationAreaAndStatus(String location); + + List getAllHalfPlacePoints(String type, String pointStatus, String location); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml index 0dd7c4c97..3a4c9555e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml @@ -63,4 +63,34 @@ OR t.point_code1 = bic.truss_point_code2 oR t.point_code2 = bic.truss_point_code2) ) + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java index b774b79c8..63634fda2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java @@ -118,4 +118,9 @@ public class BstIvtCutpointivtServiceImpl extends ServiceImpl getAreaNotTaskPointByLocationAreaAndStatus(String location) { return bstIvtCutpointivtMapper.getAreaNotTaskPointByLocationAreaAndStatus(location); } + + @Override + public List getAllHalfPlacePoints(String type, String pointStatus, String location) { + return bstIvtCutpointivtMapper.getAllHalfPlacePoints(type, pointStatus, location); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java index 6caabfa53..b62a1608c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java @@ -63,4 +63,11 @@ public interface IPdmBiSlittingproductionplanService extends IService getByQzzNos(List qzzNo, String status); + + /** + * 获取需要的分切计划 + * @param qzzs / + * @return / + */ + List getAllHalfPlan(List qzzs); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java index 3d00a379c..c3ada8353 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java @@ -13,4 +13,6 @@ import java.util.List; public interface PdmBiSlittingproductionplanMapper extends BaseMapper { List getAllCutPlan(); + + List getAllHalfPlan(List qzzs); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml index 38b92bc50..296520e16 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml @@ -88,4 +88,63 @@ p.split_group, p.up_or_down + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java index a54cb40de..8f05ce315 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java @@ -99,6 +99,10 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl getAllHalfPlan(List qzzs) { + return pdmBiSlittingproductionplanMapper.getAllHalfPlan(qzzs); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index a888d254c..0ac5ecd10 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -1,6 +1,5 @@ package org.nl.b_lms.sch.tasks.slitter.auto; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -23,7 +22,6 @@ import org.nl.b_lms.sch.tasks.slitter.constant.SlitterEnum; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil; import org.nl.common.enums.NoticeTypeEnum; -import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.system.service.notice.ISysNoticeService; @@ -32,7 +30,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; -import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -98,9 +95,25 @@ public class AutoCallAirShaftTask { "1", location, "0"); // 如果满了就只做拔轴 if (emptyShaftPoint.size() == 0) { - // 如果不需要套轴,就只做拔轴 - makePullShaft(empty, specification); - return; + // 校验是否存在半个位置,且有分切计划 + // 获取只有一个位置的点位 + List halfPlacePoint = bcutpointivtService.getAllHalfPlacePoints("1", + "1", location); + List qzzs = halfPlacePoint.stream() + .map(p -> ObjectUtil.isNotEmpty(p.getQzz_no1()) ? p.getQzz_no1() : p.getQzz_no2()) + .collect(Collectors.toList()); + if (qzzs.size() == 0) { + // 如果不需要套轴,就只做拔轴 + makePullShaft(empty, specification); + return; + } + // 从寻查找分切计划,并放在plans, 没有考虑区域问题 + plans = slittingproductionplanService.getAllHalfPlan(qzzs); + if (plans.size() == 0) { + // 如果不需要套轴,就只做拔轴 + makePullShaft(empty, specification); + return; + } } // 获取一个分切计划的Dto。如果是6寸,可以直接使用、如果是3寸,需要判断当前位置是否满足 SlitterPlanDistinctDto planDto = plans.stream()