From 17ceeef74ddae4d2c1ee54fa4336373a1ff9363d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Thu, 28 Nov 2024 15:30:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8E=A8=E9=80=81=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/push/po/PushRecordDetailPO.java | 6 ++ .../salary/entity/push/po/PushRecordPO.java | 14 +++++ .../push/PushRecordDetailStatusEnum.java | 8 +-- .../enums/push/PushRecordStatusEnum.java | 5 +- .../salary/mapper/push/PushRecordMapper.xml | 4 +- .../salary/service/impl/PushServiceImpl.java | 57 ++++++++++++------- 6 files changed, 64 insertions(+), 30 deletions(-) diff --git a/src/com/engine/salary/entity/push/po/PushRecordDetailPO.java b/src/com/engine/salary/entity/push/po/PushRecordDetailPO.java index 7b7b9b9a2..07afb3c17 100644 --- a/src/com/engine/salary/entity/push/po/PushRecordDetailPO.java +++ b/src/com/engine/salary/entity/push/po/PushRecordDetailPO.java @@ -40,6 +40,12 @@ public class PushRecordDetailPO { @ElogTransform(name = "执行状态") private Integer status; + /** + * 失败原因 + */ + @ElogTransform(name = "失败原因") + private String fail_reason; + /** * 执行sql */ diff --git a/src/com/engine/salary/entity/push/po/PushRecordPO.java b/src/com/engine/salary/entity/push/po/PushRecordPO.java index a994a14f6..db196919a 100644 --- a/src/com/engine/salary/entity/push/po/PushRecordPO.java +++ b/src/com/engine/salary/entity/push/po/PushRecordPO.java @@ -66,6 +66,20 @@ public class PushRecordPO { @ElogTransform(name = "推送状态") private Integer status; + /** + * 开始时间 + */ + @ElogTransform(name = "开始时间") + private Date startTime; + + /** + * + */ + @ElogTransform(name = "结束时间") + private Date endTime; + + + /** * 推送类型 */ diff --git a/src/com/engine/salary/enums/push/PushRecordDetailStatusEnum.java b/src/com/engine/salary/enums/push/PushRecordDetailStatusEnum.java index 7fbf6cfdf..b4e881541 100644 --- a/src/com/engine/salary/enums/push/PushRecordDetailStatusEnum.java +++ b/src/com/engine/salary/enums/push/PushRecordDetailStatusEnum.java @@ -14,11 +14,9 @@ import java.util.Objects; * @version 1.0 **/ public enum PushRecordDetailStatusEnum implements BaseEnum { - PREPARE(0, "准备中", 87625), - WAITING(1, "等待中", 87625), - PROGRESS(2, "执行中", 85393), - success(3, "执行成功", 85393), - FAIL(4, "执行失败", 85393); + PREPARE(0, "待执行", 87625), + SUCCESS(1, "执行成功", 85393), + FAIL(2, "执行失败", 85393); private int value; diff --git a/src/com/engine/salary/enums/push/PushRecordStatusEnum.java b/src/com/engine/salary/enums/push/PushRecordStatusEnum.java index 0a25b2b0a..95b4cb277 100644 --- a/src/com/engine/salary/enums/push/PushRecordStatusEnum.java +++ b/src/com/engine/salary/enums/push/PushRecordStatusEnum.java @@ -17,8 +17,9 @@ public enum PushRecordStatusEnum implements BaseEnum { PREPARE(0, "准备中", 87625), WAITING(1, "等待中", 87625), PROGRESS(2, "执行中", 85393), - SUCCESS(3, "执行成功", 85393), - FAIL(4, "执行失败", 85393); + COMPLETE(3, "执行完毕", 85393), + SUCCESS(4, "执行成功", 85393), + FAIL(5, "执行失败", 85393); private int value; diff --git a/src/com/engine/salary/mapper/push/PushRecordMapper.xml b/src/com/engine/salary/mapper/push/PushRecordMapper.xml index a93a05c9c..932cd68c2 100644 --- a/src/com/engine/salary/mapper/push/PushRecordMapper.xml +++ b/src/com/engine/salary/mapper/push/PushRecordMapper.xml @@ -294,12 +294,12 @@ - SELECT count(0) FROM hrsa_push_record t WHERE delete_type = 0 and batch_id #{batchId} - and status not in (4, 5) + and status 3 \ No newline at end of file diff --git a/src/com/engine/salary/service/impl/PushServiceImpl.java b/src/com/engine/salary/service/impl/PushServiceImpl.java index 491b2b785..1427d6cfe 100644 --- a/src/com/engine/salary/service/impl/PushServiceImpl.java +++ b/src/com/engine/salary/service/impl/PushServiceImpl.java @@ -538,32 +538,47 @@ public class PushServiceImpl extends Service implements PushService { pushRecordPOS.forEach(pushRecordPO -> { - pushRecordPO.setStatus(PushRecordStatusEnum.PROGRESS.getValue()); - getPushRecordMapper().updateIgnoreNull(pushRecordPO); + try { + pushRecordPO.setStartTime(new Date()); + pushRecordPO.setStatus(PushRecordStatusEnum.PROGRESS.getValue()); + getPushRecordMapper().updateIgnoreNull(pushRecordPO); + List pushRecordDetailPOS = getPushRecordDetailMapper().listSome(PushRecordDetailPO.builder().recordId(pushRecordPO.getId()).build()); + pushRecordDetailPOS.forEach(pushRecordDetailPO -> { + try { + String execute = pushRecordDetailPO.getExecute(); + RecordSet rs = new RecordSet(); + rs.execute(execute); + //建模需要权限重构 + Integer modeId = pushRecordPO.getModeId(); + if (modeId != null) { + String tableName = pushRecordPO.getTableName(); + rs.executeQuery("select max(id) from " + tableName); + int mainId = 0; + if (rs.next()) { + mainId = rs.getInt(1); + } + ModeRightInfo ModeRightInfo = new ModeRightInfo(); + ModeRightInfo.setNewRight(true); + ModeRightInfo.editModeDataShare(1, modeId, mainId); + } - List pushRecordDetailPOS = getPushRecordDetailMapper().listSome(PushRecordDetailPO.builder().recordId(pushRecordPO.getId()).build()); - pushRecordDetailPOS.forEach(pushRecordDetailPO -> { - String execute = pushRecordDetailPO.getExecute(); - RecordSet rs = new RecordSet(); - rs.execute(execute); - //建模需要权限重构 - Integer modeId = pushRecordPO.getModeId(); - if (modeId != null) { - String tableName = pushRecordPO.getTableName(); - rs.executeQuery("select max(id) from " + tableName); - int mainId = 0; - if (rs.next()) { - mainId = rs.getInt(1); + pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.SUCCESS.getValue()); + }catch (Exception e){ + pushRecordDetailPO.setFail_reason(e.getMessage()); + pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.FAIL.getValue()); } - ModeRightInfo ModeRightInfo = new ModeRightInfo(); - ModeRightInfo.setNewRight(true); - ModeRightInfo.editModeDataShare(1, modeId, mainId); - } - }); - pushRecordPO.setStatus(PushRecordStatusEnum.SUCCESS.getValue()); + }); + + + pushRecordPO.setEndTime(new Date()); + pushRecordPO.setStatus(PushRecordStatusEnum.SUCCESS.getValue()); + } catch (Exception e) { + pushRecordPO.setStatus(PushRecordStatusEnum.FAIL.getValue()); + } getPushRecordMapper().updateIgnoreNull(pushRecordPO); + }); }