From 472a91988ffee6e468b654128a2d6d5565cd8e59 Mon Sep 17 00:00:00 2001 From: maxiangong <298222784@qq.com> Date: Mon, 18 May 2026 09:03:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E7=AE=97=E5=A4=A7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oem/OemStatementMjMesTaskProcessor.java | 34 +++++++++ .../desk/oem/feign/IOemStatementClient.java | 5 ++ .../desk/oem/feign/OemStatementClient.java | 5 ++ .../desk/oem/mapper/OemStatementMapper.java | 10 ++- .../desk/oem/mapper/OemStatementMapper.xml | 69 +++++++++++++++++++ .../oem/service/IOemStatementService.java | 6 ++ .../service/impl/OemStatementServiceImpl.java | 29 ++++++++ 7 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 blade-ops/blade-job/src/main/java/org/springblade/job/processor/oem/OemStatementMjMesTaskProcessor.java diff --git a/blade-ops/blade-job/src/main/java/org/springblade/job/processor/oem/OemStatementMjMesTaskProcessor.java b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/oem/OemStatementMjMesTaskProcessor.java new file mode 100644 index 000000000..7b3d2b8d7 --- /dev/null +++ b/blade-ops/blade-job/src/main/java/org/springblade/job/processor/oem/OemStatementMjMesTaskProcessor.java @@ -0,0 +1,34 @@ +package org.springblade.job.processor.oem; + +import jakarta.annotation.Resource; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springblade.desk.oem.feign.IOemStatementClient; +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; + +/** + * 旧MES外协结算单生成定时任务 + * + * @author BladeX + * @since 2026-05-08 + */ +@Component +@Data +@Slf4j +public class OemStatementMjMesTaskProcessor implements BasicProcessor { + + @Resource + private IOemStatementClient oemStatementClient; + + @Override + public ProcessResult process(TaskContext taskContext) throws Exception { + log.info("========== 开始旧MES外协结算单生成定时任务 =========="); + oemStatementClient.generateSettlementByMjMes(); + log.info("========== 结束旧MES外协结算单生成定时任务 =========="); + return new ProcessResult(true); + } + +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/feign/IOemStatementClient.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/feign/IOemStatementClient.java index 4d9601902..d155f3f42 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/feign/IOemStatementClient.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/oem/feign/IOemStatementClient.java @@ -12,7 +12,12 @@ public interface IOemStatementClient { String API_PREFIX = "/feign/client/oem-statement"; String GENERATE_SETTLEMENT = API_PREFIX + "/generate-settlement"; + String GENERATE_SETTLEMENT_MJMES = API_PREFIX + "/generate-settlement-mjmes"; + @GetMapping(GENERATE_SETTLEMENT) void generateSettlement(); + @GetMapping(GENERATE_SETTLEMENT_MJMES) + void generateSettlementByMjMes(); + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/feign/OemStatementClient.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/feign/OemStatementClient.java index dc6213a12..bc6e6f534 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/feign/OemStatementClient.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/feign/OemStatementClient.java @@ -16,4 +16,9 @@ public class OemStatementClient implements IOemStatementClient { public void generateSettlement() { oemStatementService.generateSettlement(); } + + @Override + public void generateSettlementByMjMes() { + oemStatementService.generateSettlementByMjMes(); + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java index 342cfb2c4..e08086709 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.java @@ -38,7 +38,7 @@ public interface OemStatementMapper extends BaseMapper { List exportOemStatement(@Param("ew") Wrapper queryWrapper); /** - * 获取未结算计划订单 + * 获取未结算订单 * * @param query * @return @@ -66,4 +66,12 @@ public interface OemStatementMapper extends BaseMapper { * @return List */ List selectOrderDataErrorStatements(); + + /** + * 获取未结算订单旧MES + * + * @param query + * @return + */ + List selectUnsettledByMjMes(StatementQuery query); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml index 533e90756..431670f6c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/mapper/OemStatementMapper.xml @@ -370,4 +370,73 @@ AND h.ROS_STATUS = 3 AND h.MEMO LIKE '%订单数据错误%' + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java index 263f4969a..f779f3e72 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/IOemStatementService.java @@ -135,4 +135,10 @@ public interface IOemStatementService extends BaseService { */ R settlementConfirm(SettlementConfirmRequestQuery request); + /** + * 生成旧MES结算数据 + * + * @return + */ + R generateSettlementByMjMes(); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java index 933c665cb..fff1e7311 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java @@ -2281,4 +2281,33 @@ public class OemStatementServiceImpl extends BaseServiceImpl saves = new ArrayList<>(); + // 查询未生成的结算数据 + List statementVOS = baseMapper.selectUnsettledByMjMes(new StatementQuery()); + if (CollectionUtils.isEmpty(statementVOS)) { + return R.fail("没有需要结算的记录"); + } + // 处理重复镀后入库 + statementVOS = duplicatePutStore(statementVOS, saves); + // 处理不结算数据 + statementVOS = noSettlement(statementVOS); + if (CollectionUtils.isEmpty(statementVOS)) { + return R.fail("没有需要结算的记录"); + } + for (StatementVO statementVO : statementVOS) { + OemStatementEntity entity = new OemStatementEntity(); + BeanUtils.copyProperties(statementVO, entity); + entity.setUpdateTime(new Date()); + entity.setIsDeleted(0); + entity.setRosStatus(StatementVO.ERR_SETTLEMENT); + entity.setMemo("未找到报价单"); + saves.add(entity); + } + // 记录结算数据 + return R.status(this.saveOrUpdateBatch(saves)); + } + }