diff --git a/lms/nladmin-system/doc/套轴点位日志记录实时看板.html b/lms/nladmin-system/doc/套轴点位日志记录实时看板.html
index 80ff8e885..4b9f52d8b 100644
--- a/lms/nladmin-system/doc/套轴点位日志记录实时看板.html
+++ b/lms/nladmin-system/doc/套轴点位日志记录实时看板.html
@@ -141,6 +141,13 @@
.timeout-row-warning td {
color: #f8d7da !important;
}
+ .timeout-row-error {
+ background: #1dec12 !important;
+ color: #f8d7da;
+ }
+ .timeout-row-error td {
+ color: #0b0505 !important;
+ }
@@ -346,6 +353,15 @@
if (item.is_paper_ok === '2') {
tzText = '已套轴';
}
+ if (item.is_paper_ok === '3') {
+ tzText = '正在套轴';
+ }
+ if (item.is_paper_ok === '4') {
+ tzText = '已下发套轴';
+ }
+ if (item.is_paper_ok === '99') {
+ tzText = '套轴异常';
+ }
row.insertCell().textContent = tzText || 'N/A';
// 检查start_time是否超过2小时,并设置行样式
if (item.start_time) {
@@ -355,6 +371,9 @@
row.classList.add('timeout-row-warning'); // 应用于整行
}
}
+ if (item.is_paper_ok === '99') {
+ row.classList.add('timeout-row-error');
+ }
});
} else {
const row = tableBody.insertRow();
diff --git a/lms/nladmin-system/doc/套轴点位日志记录实时看板v2.html b/lms/nladmin-system/doc/套轴点位日志记录实时看板v2.html
new file mode 100644
index 000000000..63d52457b
--- /dev/null
+++ b/lms/nladmin-system/doc/套轴点位日志记录实时看板v2.html
@@ -0,0 +1,507 @@
+
+
+
+
+
+ 套轴点位日志记录实时看板
+
+
+
+ 套轴点位日志记录实时看板
+
+
+
+
+
套轴监控系统实时数据
+
+
+
+ | 设备 |
+ 子卷号 |
+ 轴位置 |
+ 气胀轴尺寸 |
+ 气胀轴代数 |
+ 气胀轴状态 |
+ 呼叫时间 |
+ 管芯规格 |
+ 套轴标记 |
+ 一键恢复 |
+
+
+
+
+
+
+
+
+
+
+
+
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 e6187a042..0d9a8a338 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
@@ -164,6 +164,7 @@ public class AutoCallAirShaftTask extends Prun {
.anyMatch(prefix -> p.getResource_name().startsWith(prefix)) &&
checkComputationPoint(p, empty) && checkHasTask(p))
.collect(Collectors.toList());
+ log.info("SQL查询后过滤区域、是否有套过轴的数据:{}", plans);
if (plans.size() == 0) {
stepErrorInfo.add("找不到需要套轴的信息,只做拔轴。");
// 如果不需要套轴,就只做拔轴
@@ -173,7 +174,7 @@ public class AutoCallAirShaftTask extends Prun {
// 过滤相比当前时间大于1小时
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime cutoffTime = LocalDateTime.now().minusHours(1);
- List filteredList = planAll.stream()
+ List filteredList = plans.stream()
.filter(p -> {
try {
LocalDateTime startTime = LocalDateTime.parse(p.getStart_time(), formatter);
@@ -183,7 +184,6 @@ public class AutoCallAirShaftTask extends Prun {
}
})
.collect(Collectors.toList());
- List filterCheckPlans = null;
if (filteredList.size() > 0) {
log.info("过滤时间之后的数据:{}", filteredList);
// 获取当前三个位置的所有管芯信息
@@ -193,18 +193,13 @@ public class AutoCallAirShaftTask extends Prun {
.map(MdPbPapervehicle::getMaterial_code)
.distinct()
.collect(Collectors.toList());
- // 获取所有dto中的分切计划信息
- List parents = filteredList.stream()
- .map(SlitterPlanDistinctDto::getParent_container_name)
- .distinct()
- .collect(Collectors.toList());
- List checkPlans = slittingproductionplanService.list(new LambdaQueryWrapper()
- .in(PdmBiSlittingproductionplan::getParent_container_name, parents)
- .eq(PdmBiSlittingproductionplan::getIs_delete, SlitterConstant.SLITTER_NO)
- .eq(PdmBiSlittingproductionplan::getIs_paper_ok, SlitterConstant.SLITTER_YES));
- filterCheckPlans = checkPlans.stream()
- .filter(p -> tubeCodes.contains("1".equals(p.getPaper_tube_or_FRP()) ? p.getPaper_tube_material() : p.getFRP_material()))
- .collect(Collectors.toList());
+ if (tubeCodes.size() > 0) {
+ // 获取所有dto中的分切计划信息
+ List filteredListT = getSlitterPlanByTubesDtos(filteredList, papers, tubeCodes);
+ if (CollectionUtil.isNotEmpty(filteredListT)) {
+ plans = filteredListT;
+ }
+ }
}
}
log.info("获取过滤后的分切计划数据:{}", JSON.toJSONString(plans));
@@ -291,10 +286,6 @@ public class AutoCallAirShaftTask extends Prun {
.eq(PdmBiSlittingproductionplan::getIs_delete, SlitterConstant.SLITTER_NO)
.eq(PdmBiSlittingproductionplan::getIs_paper_ok, SlitterConstant.SLITTER_YES));
}
- // 如果过滤出来的需要套轴的信息,则直接获取
- if (CollectionUtil.isNotEmpty(filterCheckPlans)) {
- needPlans = filterCheckPlans;
- }
log.info("通过dto获取的分切计划:{}", needPlans);
// 获取其中一条
PdmBiSlittingproductionplan needPlan = needPlans.get(0);
@@ -417,6 +408,42 @@ public class AutoCallAirShaftTask extends Prun {
stepStr += ",97";
}
+ public List getSlitterPlanByTubesDtos(List filteredList
+ , List papers
+ , List tubeCodes) {
+ List filteredListT;
+ filteredListT = filteredList.stream().filter(dto -> {
+ List checkPlans = slittingproductionplanService.list(new LambdaQueryWrapper()
+ .eq(PdmBiSlittingproductionplan::getResource_name, dto.getResource_name())
+ .eq(PdmBiSlittingproductionplan::getParent_container_name, dto.getParent_container_name())
+ .eq(PdmBiSlittingproductionplan::getUp_or_down, dto.getUp_or_down())
+ .eq(PdmBiSlittingproductionplan::getSplit_group, dto.getSplit_group())
+ .eq(PdmBiSlittingproductionplan::getIs_delete, SlitterConstant.SLITTER_NO)
+ .eq(PdmBiSlittingproductionplan::getIs_paper_ok, SlitterConstant.SLITTER_YES));
+ if (checkPlans.size() == 0) {
+ // 可能是改切,所以换成restruct_container_name来使用
+ checkPlans = slittingproductionplanService.list(new LambdaQueryWrapper()
+ .eq(PdmBiSlittingproductionplan::getResource_name, dto.getResource_name())
+ .eq(PdmBiSlittingproductionplan::getRestruct_container_name, dto.getParent_container_name())
+ .eq(PdmBiSlittingproductionplan::getUp_or_down, dto.getUp_or_down())
+ .eq(PdmBiSlittingproductionplan::getSplit_group, dto.getSplit_group())
+ .eq(PdmBiSlittingproductionplan::getIs_delete, SlitterConstant.SLITTER_NO)
+ .eq(PdmBiSlittingproductionplan::getIs_paper_ok, SlitterConstant.SLITTER_YES));
+ }
+ if (CollectionUtil.isEmpty(checkPlans)) {
+ return false;
+ }
+ List needTubes = checkPlans.stream().map(p -> {
+ if ("1".equals(p.getPaper_tube_or_FRP())) {
+ return p.getPaper_tube_material();
+ }
+ return p.getFRP_material();
+ }).distinct().collect(Collectors.toList());
+ return SlitterTaskUtil.containsAllTubes(tubeCodes, needTubes, papers);
+ }).collect(Collectors.toList());
+ return filteredListT;
+ }
+
/**
* 判断是不是有空位置
* @param planD
diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/controller/SlitterController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/controller/SlitterController.java
index e7dae7e2d..d2113a883 100644
--- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/controller/SlitterController.java
+++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/controller/SlitterController.java
@@ -52,4 +52,11 @@ public class SlitterController {
public ResponseEntity