fix:任务添加注解

This commit is contained in:
zhouz
2025-11-10 15:25:24 +08:00
parent 831f253412
commit 0f4ed2f174
16 changed files with 99 additions and 15 deletions

View File

@@ -1,6 +1,7 @@
package org.nl.b_lms.pdm.screen.contorller; package org.nl.b_lms.pdm.screen.contorller;
import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.annotation.SaIgnore;
import com.alibaba.fastjson.JSONArray;
import org.nl.b_lms.pdm.screen.store.InMemoryStore; import org.nl.b_lms.pdm.screen.store.InMemoryStore;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@@ -22,7 +23,7 @@ public class FaultController {
@GetMapping @GetMapping
@SaIgnore @SaIgnore
public List<SchBaseTask> getFaults(@RequestParam(required = false) Integer limit) { public JSONArray getFaults(@RequestParam(required = false) Integer limit) {
return store.findFaults(); return store.findFaults();
} }
} }

View File

@@ -1,5 +1,6 @@
package org.nl.b_lms.pdm.screen.see; package org.nl.b_lms.pdm.screen.see;
import com.alibaba.fastjson.JSONArray;
import org.nl.b_lms.pdm.screen.store.InMemoryStore; import org.nl.b_lms.pdm.screen.store.InMemoryStore;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@@ -41,7 +42,7 @@ public class SseBroadcaster {
} }
public void pushFaultsSnapshot() { public void pushFaultsSnapshot() {
List<SchBaseTask> snapshot = store.findFaults(); JSONArray snapshot = store.findFaults();
pushFaults(snapshot); pushFaults(snapshot);
} }
@@ -56,7 +57,7 @@ public class SseBroadcaster {
} }
} }
public void pushFaults(List<SchBaseTask> faults) { public void pushFaults(JSONArray faults) {
if (faultEmitters.isEmpty()) return; if (faultEmitters.isEmpty()) return;
for (SseEmitter emitter : faultEmitters) { for (SseEmitter emitter : faultEmitters) {
try { try {

View File

@@ -9,6 +9,8 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.support.TransactionSynchronization; import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager; import org.springframework.transaction.support.TransactionSynchronizationManager;
import java.util.concurrent.locks.ReentrantLock;
/** /**
* 注解驱动的 SSE 推送切面: * 注解驱动的 SSE 推送切面:
* - 方法或类标注 {@link PushSseSnapshot},在成功返回后推送最新快照; * - 方法或类标注 {@link PushSseSnapshot},在成功返回后推送最新快照;
@@ -20,6 +22,9 @@ import org.springframework.transaction.support.TransactionSynchronizationManager
public class TaskUpdateBroadcastAspect { public class TaskUpdateBroadcastAspect {
private final SseBroadcaster broadcaster; private final SseBroadcaster broadcaster;
// 非阻塞并发保护:同一时刻仅允许一次推送执行,其他并发调用直接跳过
private final ReentrantLock pushLock = new ReentrantLock();
public TaskUpdateBroadcastAspect(SseBroadcaster broadcaster) { public TaskUpdateBroadcastAspect(SseBroadcaster broadcaster) {
this.broadcaster = broadcaster; this.broadcaster = broadcaster;
} }
@@ -47,21 +52,29 @@ public class TaskUpdateBroadcastAspect {
// 任一写操作成功后,推送最新快照(替代定时器) // 任一写操作成功后,推送最新快照(替代定时器)
private void broadcastAfterCommitOrNow(PushSseSnapshot ann) { private void broadcastAfterCommitOrNow(PushSseSnapshot ann) {
Runnable doPush = () -> { Runnable doPushGuarded = () -> {
if (ann.tasks()) { // 非阻塞尝试获取锁:失败则直接跳过本次推送
broadcaster.pushTasksSnapshot(); if (!pushLock.tryLock()) {
return;
} }
if (ann.faults()) { try {
try { broadcaster.pushFaultsSnapshot(); } catch (Throwable ignored) {} if (ann.tasks()) {
broadcaster.pushTasksSnapshot();
}
if (ann.faults()) {
try { broadcaster.pushFaultsSnapshot(); } catch (Throwable ignored) {}
}
} finally {
pushLock.unlock();
} }
}; };
if (TransactionSynchronizationManager.isSynchronizationActive()) { if (TransactionSynchronizationManager.isSynchronizationActive()) {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override @Override
public void afterCommit() { doPush.run(); } public void afterCommit() { doPushGuarded.run(); }
}); });
} else { } else {
doPush.run(); doPushGuarded.run();
} }
} }
} }

View File

@@ -1,27 +1,73 @@
package org.nl.b_lms.pdm.screen.store; package org.nl.b_lms.pdm.screen.store;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.sch.task.service.IschBaseTaskService;
import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.modules.wql.util.SpringContextHolder;
import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
@Component @Component
@Slf4j
public class InMemoryStore { public class InMemoryStore {
@Autowired @Autowired
private IschBaseTaskService ischBaseTaskService; private IschBaseTaskService ischBaseTaskService;
public List<SchBaseTask> findTasks() { public List<SchBaseTask> findTasks() {
List<String> targetType = Arrays.asList(
"010702", "010703", "010704", "010706", "010710", "010712", "010714", "010715",
"010901", "010902", "010903", "010904", "010905", "010906", "010907", "010908",
"010909", "010910", "010911", "010912", "010913", "010914", "010915"
);
return ischBaseTaskService.list(new LambdaQueryWrapper<SchBaseTask>() return ischBaseTaskService.list(new LambdaQueryWrapper<SchBaseTask>()
.lt(SchBaseTask::getTask_status, "07")); .eq(SchBaseTask::getIs_delete, false)
.in(SchBaseTask::getTask_type, targetType)
.lt(SchBaseTask::getTask_status, "07")
.select(SchBaseTask::getTask_code,
SchBaseTask::getTask_type,
SchBaseTask::getCreate_name,
SchBaseTask::getPoint_code1,
SchBaseTask::getPoint_code2,
SchBaseTask::getPoint_code3,
SchBaseTask::getPoint_code4,
SchBaseTask::getVehicle_code,
SchBaseTask::getTask_status,
SchBaseTask::getCreate_time
));
} }
public List<SchBaseTask> findFaults() { public JSONArray findFaults() {
return ischBaseTaskService.list(new LambdaQueryWrapper<SchBaseTask>() JSONArray blk_rows = WQLObject.getWQLObject("em_bi_monitordevice").query("product_area = 'BLK' AND is_crux = '1' AND region_code IN ('RK','NBJ','DDJ')").getResultJSONArray(0);
.lt(SchBaseTask::getTask_status, "07")); List<String> blkList = new ArrayList<>();
for (int i = 0; i < blk_rows.size(); i++) {
JSONObject row = blk_rows.getJSONObject(i);
blkList.add(row.getString("device_code"));
}
WmsToAcsServiceImpl bean = SpringContextHolder.getBean(WmsToAcsServiceImpl.class);
JSONObject result2;
try {
result2 = bean.getDeviceErrorInfo(blkList, "BLK");
} catch (Exception e) {
result2 = new JSONObject();
log.info(e.getMessage());
}
// 调用acs接口获取设备
JSONArray blk_data = result2.getJSONArray("data");
return ObjectUtil.isEmpty(blk_data) ? blk_data : new JSONArray();
} }
} }

View File

@@ -1,6 +1,7 @@
package org.nl.b_lms.sch.tasks; package org.nl.b_lms.sch.tasks;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.common.utils.IdUtil; import org.nl.common.utils.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@@ -47,6 +48,7 @@ import static org.nl.wms.util.TaskUtil.getRoutePlanCode;
*/ */
@Service @Service
@Slf4j @Slf4j
@PushSseSnapshot
public class TwoOutBoxTask extends AbstractAcsTask { public class TwoOutBoxTask extends AbstractAcsTask {
/** /**

View File

@@ -13,6 +13,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -46,6 +47,7 @@ import java.util.stream.Collectors;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class DjqTask extends AbstractAcsTask { public class DjqTask extends AbstractAcsTask {
@Resource @Resource
private IschBaseTaskService taskService; private IschBaseTaskService taskService;

View File

@@ -45,6 +45,7 @@ import java.util.stream.Collectors;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class DjqToKzjhcwTask extends AbstractAcsTask { public class DjqToKzjhcwTask extends AbstractAcsTask {
@@ -106,7 +107,6 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@PushSseSnapshot(faults = false)
public void updateTaskStatus(JSONObject taskObj, String status) { public void updateTaskStatus(JSONObject taskObj, String status) {
String now = DateUtil.now(); String now = DateUtil.now();
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -40,6 +41,8 @@ import java.util.List;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class GzqTask extends AbstractAcsTask { public class GzqTask extends AbstractAcsTask {
private final String THIS_CLASS = GzqTask.class.getName(); private final String THIS_CLASS = GzqTask.class.getName();

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -40,6 +41,7 @@ import java.util.List;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class GzqToKzjhcwTask extends AbstractAcsTask { public class GzqToKzjhcwTask extends AbstractAcsTask {

View File

@@ -14,6 +14,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -50,6 +51,7 @@ import java.util.stream.Stream;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class MzhcwTask extends AbstractAcsTask { public class MzhcwTask extends AbstractAcsTask {
private final String THIS_CLASS = MzhcwTask.class.getName(); private final String THIS_CLASS = MzhcwTask.class.getName();

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -40,6 +41,7 @@ import java.util.List;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class SendDjqKzjTask extends AbstractAcsTask { public class SendDjqKzjTask extends AbstractAcsTask {
@Resource @Resource
private IschBaseTaskService taskService; private IschBaseTaskService taskService;

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -39,6 +40,7 @@ import java.util.List;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class SendGzqKzjTask extends AbstractAcsTask { public class SendGzqKzjTask extends AbstractAcsTask {
@Resource @Resource
private IschBaseTaskService taskService; private IschBaseTaskService taskService;

View File

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -39,6 +40,7 @@ import java.util.List;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class ShiftingTask extends AbstractAcsTask { public class ShiftingTask extends AbstractAcsTask {
private final String THIS_CLASS = ShiftingTask.class.getName(); private final String THIS_CLASS = ShiftingTask.class.getName();

View File

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.dao.SchBaseTask;
@@ -40,6 +41,7 @@ import java.util.List;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class SsxDjwTask extends AbstractAcsTask { public class SsxDjwTask extends AbstractAcsTask {
private final String THIS_CLASS = SsxDjwTask.class.getName(); private final String THIS_CLASS = SsxDjwTask.class.getName();

View File

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
@@ -51,6 +52,7 @@ import java.util.concurrent.TimeUnit;
*/ */
@Service() @Service()
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class ZxDjwTask extends AbstractAcsTask { public class ZxDjwTask extends AbstractAcsTask {

View File

@@ -13,6 +13,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
import org.nl.b_lms.pdm.screen.see.aop.PushSseSnapshot;
import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation;
import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService;
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
@@ -49,6 +50,7 @@ import java.util.List;
@Service() @Service()
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
@PushSseSnapshot(faults = false)
public class ZxqTask extends AbstractAcsTask { public class ZxqTask extends AbstractAcsTask {
@Resource @Resource