添加LquidTankTaskTimeoutProcessor。

develop-QA
Tom Li 1 month ago
parent e3a9cba3fb
commit b8a856a2fa
  1. 30
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskGenerateProcessor.java
  2. 13
      blade-ops/blade-job/src/main/java/org/springblade/job/processor/quality/LquidTankTaskTimeoutProcessor.java
  3. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/feign/ILquidTankTaskClient.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  5. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/feign/LiquidTankTaskClient.java
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTank.java
  7. 41
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/LiquidTankTaskService.java

@ -0,0 +1,30 @@
package org.springblade.job.processor.quality;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.quality.feign.ILquidTankTaskClient;
import org.springblade.desk.quality.pojo.entity.LiquidTankTask;
import org.springframework.stereotype.Component;
import tech.powerjob.worker.core.processor.ProcessResult;
import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
import tech.powerjob.worker.log.OmsLogger;
import java.util.List;
@Slf4j
@Component
public class LquidTankTaskGenerateProcessor implements BasicProcessor {
@Resource
private ILquidTankTaskClient lquidTankTaskClient;
@Override
public ProcessResult process(TaskContext context) throws Exception {
OmsLogger omsLogger = context.getOmsLogger();
omsLogger.info("LquidTankTaskGenerateProcessor start");
List<LiquidTankTask> list = lquidTankTaskClient.generate();
omsLogger.info("LquidTankTaskGenerateProcessor end");
return new ProcessResult(true);
}
}

@ -3,15 +3,18 @@ package org.springblade.job.processor.quality;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.quality.feign.ILquidTankTaskClient; import org.springblade.desk.quality.feign.ILquidTankTaskClient;
import org.springblade.desk.quality.pojo.entity.LiquidTankTask;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import tech.powerjob.worker.core.processor.ProcessResult; import tech.powerjob.worker.core.processor.ProcessResult;
import tech.powerjob.worker.core.processor.TaskContext; import tech.powerjob.worker.core.processor.TaskContext;
import tech.powerjob.worker.core.processor.sdk.BasicProcessor; import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
import tech.powerjob.worker.log.OmsLogger; import tech.powerjob.worker.log.OmsLogger;
import java.util.List;
@Slf4j @Slf4j
@Component @Component
public class LquidTankTaskProcessor implements BasicProcessor { public class LquidTankTaskTimeoutProcessor implements BasicProcessor {
@Resource @Resource
private ILquidTankTaskClient lquidTankTaskClient; private ILquidTankTaskClient lquidTankTaskClient;
@ -19,9 +22,9 @@ public class LquidTankTaskProcessor implements BasicProcessor {
@Override @Override
public ProcessResult process(TaskContext context) throws Exception { public ProcessResult process(TaskContext context) throws Exception {
OmsLogger omsLogger = context.getOmsLogger(); OmsLogger omsLogger = context.getOmsLogger();
omsLogger.info("InspectionTaskGenJob start"); omsLogger.info("LquidTankTaskTimeoutProcessor start");
lquidTankTaskClient.generate(); List<LiquidTankTask> list = lquidTankTaskClient.timeout();
omsLogger.info("InspectionTaskGenJob end"); omsLogger.info("LquidTankTaskGenerateProcessor end");
return null; return new ProcessResult(true);
} }
} }

@ -16,6 +16,11 @@ public interface ILquidTankTaskClient {
String GENERATE = API_PREFIX + "/generate"; String GENERATE = API_PREFIX + "/generate";
String TIMEOUT = API_PREFIX + "/timeout";
@GetMapping(GENERATE) @GetMapping(GENERATE)
public List<LiquidTankTask> generate(); public List<LiquidTankTask> generate();
@GetMapping(TIMEOUT)
public List<LiquidTankTask> timeout();
} }

@ -146,7 +146,7 @@ public class InspectionTaskController extends BladeController {
} }
/** /**
* todo:调用时机待定 * todo:调用时机待定talk to 李涛
* 工序开始新增[检验任务] * 工序开始新增[检验任务]
*/ */
@PostMapping("/start") @PostMapping("/start")

@ -19,5 +19,10 @@ public class LiquidTankTaskClient implements ILquidTankTaskClient {
public List<LiquidTankTask> generate() { public List<LiquidTankTask> generate() {
return service.generate(); return service.generate();
} }
@Override
public List<LiquidTankTask> timeout() {
return service.timeout();
}
} }

@ -122,7 +122,7 @@ public class LiquidTank extends BaseEntity {
* 化验人[用户]id * 化验人[用户]id
*/ */
@Schema(description = "化验人[用户]id") @Schema(description = "化验人[用户]id")
private BigDecimal testUserId; private Long testUserId;
/** /**
* 工艺主管[用户]id * 工艺主管[用户]id
*/ */

@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import org.flowable.task.service.delegate.TaskListener; import org.flowable.task.service.delegate.TaskListener;
import org.springblade.desk.quality.constant.ColBase; import org.springblade.desk.quality.constant.ColBase;
import org.springblade.desk.quality.constant.ColValue; import org.springblade.desk.quality.constant.ColValue;
import org.springblade.desk.quality.constant.LiquidTankTaskConst;
import org.springblade.desk.quality.mapper.gen.LiquidTankGenMapper; import org.springblade.desk.quality.mapper.gen.LiquidTankGenMapper;
import org.springblade.desk.quality.mapper.gen.LiquidTankTaskGenMapper; import org.springblade.desk.quality.mapper.gen.LiquidTankTaskGenMapper;
import org.springblade.desk.quality.pojo.entity.LiquidTank; import org.springblade.desk.quality.pojo.entity.LiquidTank;
@ -27,7 +28,14 @@ public class LiquidTankTaskService {
@Resource @Resource
private LiquidTankTaskGenMapper genMapper; private LiquidTankTaskGenMapper genMapper;
/**
* 定时运行:每天00:00
* 生成槽液任务
*
* @return
*/
public List<LiquidTankTask> generate() { public List<LiquidTankTask> generate() {
log.info("========generate========start");
// 如果是节假日,则跳过生成。 // 如果是节假日,则跳过生成。
if (false) { if (false) {
log.info("节假日,则跳过生成。"); log.info("节假日,则跳过生成。");
@ -41,6 +49,16 @@ public class LiquidTankTaskService {
// 遍历插入槽液任务。 // 遍历插入槽液任务。
List<LiquidTankTask> rList = new ArrayList<>(); List<LiquidTankTask> rList = new ArrayList<>();
for (LiquidTank tank : tankList) { for (LiquidTank tank : tankList) {
// 如果有未处理任务,则跳过不生成新任务。
Long count = genMapper.selectCount(
new QueryWrapper<LiquidTankTask>()
.eq("LIQUID_TANK_ID", tank.getId())
.eq(ColBase.STATUS, LiquidTankTaskConst.STATUS_HANDLED)
);
if (count >= 1) {
log.info("槽液{}存在未处理的槽液任务", tank.getId());
continue;
}
LiquidTankTask task = new LiquidTankTask(); LiquidTankTask task = new LiquidTankTask();
task.setLiquidTankId(tank.getId()); task.setLiquidTankId(tank.getId());
task.setName("name"); task.setName("name");
@ -53,6 +71,29 @@ public class LiquidTankTaskService {
genMapper.insert(task); genMapper.insert(task);
rList.add(task); rList.add(task);
} }
log.info("========generate========end");
return rList; return rList;
} }
/**
* 定时运行:每天09:30
* 槽液任务超时提醒
*
* @return
*/
public List<LiquidTankTask> timeout() {
log.info("========timeout========start");
// 查询出所有未处理的槽液任务
List<LiquidTankTask> list = genMapper.selectList(new QueryWrapper<LiquidTankTask>()
.eq(ColBase.STATUS, LiquidTankTaskConst.STATUS_HANDLED));
for (LiquidTankTask task : list) {
LiquidTank tank = liquidTankGenMapper.selectById(task.getLiquidTankId());
// todo:对监测员进行提醒。
// 按天运行,可以一直重复提醒。
String msg = "槽液 " + tank.getCode() + ",未及时检验!请及时处理。";
Long userId = tank.getTestUserId();
}
log.info("========timeout========end");
return list;
}
} }

Loading…
Cancel
Save