数据推送
This commit is contained in:
parent
d4f45d5eb3
commit
f4c025e078
|
|
@ -1,3 +1,6 @@
|
|||
ALTER TABLE hrsa_push_setting_item ADD sorted_index NUMBER;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_push_record_detail ADD data_id NUMBER(38,0);
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
ALTER TABLE hrsa_push_setting_item ADD sorted_index NUMBER;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_push_record_detail ADD data_id NUMBER(38,0);
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
ALTER TABLE hrsa_push_setting_item ADD sorted_index NUMBER;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_push_record_detail ADD data_id NUMBER(38,0);
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1,3 @@
|
|||
ALTER TABLE hrsa_push_setting_item ADD COLUMN sorted_index int(0);
|
||||
ALTER TABLE hrsa_push_setting_item ADD COLUMN sorted_index int(0);
|
||||
|
||||
ALTER TABLE hrsa_push_record_detail ADD COLUMN data_id bigint(0);
|
||||
|
|
|
|||
|
|
@ -1,2 +1,5 @@
|
|||
ALTER TABLE hrsa_push_setting_item ADD sorted_index NUMBER;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_push_record_detail ADD data_id NUMBER(38,0);
|
||||
/
|
||||
|
|
@ -1 +1,3 @@
|
|||
alter table hrsa_push_setting_item add sorted_index int ;
|
||||
alter table hrsa_push_setting_item add sorted_index int ;
|
||||
|
||||
alter table hrsa_push_record_detail add data_id bigint ;
|
||||
|
|
@ -1,2 +1,5 @@
|
|||
alter table hrsa_push_setting_item add sorted_index int
|
||||
go
|
||||
|
||||
alter table hrsa_push_record_detail add data_id bigint
|
||||
go
|
||||
|
|
@ -1,3 +1,6 @@
|
|||
ALTER TABLE hrsa_push_setting_item ADD sorted_index NUMBER;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_push_record_detail ADD data_id NUMBER(38,0);
|
||||
/
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ public class PushRecordDTO {
|
|||
/**
|
||||
* 数据库表名
|
||||
*/
|
||||
@TableTitle(title = "数据表名", dataIndex = "name", key = "tableName")
|
||||
@TableTitle(title = "数据表名", dataIndex = "tableName", key = "tableName")
|
||||
private String tableName;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ public class PushRecordDetailPO {
|
|||
@ElogTransform(name = "核算人员id")
|
||||
private Long acctEmpId;
|
||||
|
||||
/**
|
||||
* 核算人员id
|
||||
*/
|
||||
private Long dataId;
|
||||
|
||||
/**
|
||||
* 执行状态
|
||||
* @see com.engine.salary.enums.push.PushRecordDetailStatusEnum
|
||||
|
|
|
|||
|
|
@ -17,7 +17,8 @@ public enum PushRecordDetailStatusEnum implements BaseEnum<Integer> {
|
|||
PREPARE(0, "待推送", 87625),
|
||||
SUCCESS(1, "推送成功", 85393),
|
||||
FAIL(2, "推送失败", 85393),
|
||||
WITHDRAW(3, "已撤回", 85393);
|
||||
WITHDRAW_SUCCESS(3, "已撤回", 85393),
|
||||
WITHDRAW_FAIL(4, "撤回失败", 85393);
|
||||
|
||||
private int value;
|
||||
|
||||
|
|
|
|||
|
|
@ -17,12 +17,11 @@ public enum PushRecordStatusEnum implements BaseEnum<Integer> {
|
|||
DATA_PREPARE(0, "准备中", 87625),
|
||||
DATA_FINISH(1, "准备完毕", 87625),
|
||||
RUN_PROGRESS(2, "推送中", 85393),
|
||||
RUN_COMPLETE(3, "推送完毕", 85393),
|
||||
RUN_SUCCESS(4, "推送成功", 85393),
|
||||
RUN_FAIL(5, "推送失败", 85393),
|
||||
WITHDRAW(6, "撤回中", 85393),
|
||||
WITHDRAW_SUCCESS(7, "撤回成功", 85393),
|
||||
WITHDRAW_FAIL(8, "撤回失败", 85393);
|
||||
RUN_SUCCESS(3, "推送成功", 85393),
|
||||
RUN_FAIL(4, "推送失败", 85393),
|
||||
WITHDRAW(5, "撤回中", 85393),
|
||||
WITHDRAW_SUCCESS(6, "已撤回", 85393),
|
||||
WITHDRAW_FAIL(7, "撤回失败", 85393);
|
||||
|
||||
private int value;
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<result column="tenant_key" property="tenantKey"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="fail_reason" property="failReason"/>
|
||||
<result column="data_id" property="dataId"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
|
|
@ -30,6 +31,7 @@
|
|||
, t.tenant_key
|
||||
, t.update_time
|
||||
, t.fail_reason
|
||||
, t.data_id
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
|
|
@ -106,6 +108,7 @@
|
|||
, t.tenant_key
|
||||
, t.update_time
|
||||
, t.fail_reason as failReason
|
||||
, t.data_id as dataId
|
||||
, e.LASTNAME as username
|
||||
FROM hrsa_push_record_detail t
|
||||
left join hrsa_salary_acct_emp emp
|
||||
|
|
@ -179,6 +182,9 @@
|
|||
<if test="failReason != null">
|
||||
fail_reason,
|
||||
</if>
|
||||
<if test="dataId != null">
|
||||
data_id,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="acctEmpId != null">
|
||||
|
|
@ -214,6 +220,9 @@
|
|||
<if test="failReason != null">
|
||||
#{failReason},
|
||||
</if>
|
||||
<if test="dataId != null">
|
||||
#{dataId},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
|
@ -231,6 +240,7 @@
|
|||
tenant_key=#{tenantKey},
|
||||
update_time=#{updateTime},
|
||||
fail_reason=#{failReason},
|
||||
data_id=#{dataId},
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
|
@ -270,6 +280,9 @@
|
|||
<if test="failReason != null">
|
||||
fail_reason=#{failReason},
|
||||
</if>
|
||||
<if test="dataId != null">
|
||||
data_id=#{dataId},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ public interface PushService {
|
|||
|
||||
void createPushRecord(Long salaryAcctRecordId);
|
||||
|
||||
void withdrawPushRecord(Long salaryAcctRecordId);
|
||||
|
||||
void push(Long id);
|
||||
|
||||
void withdraw(Long id);
|
||||
|
|
|
|||
|
|
@ -401,10 +401,16 @@ public class PushServiceImpl extends Service implements PushService {
|
|||
}
|
||||
|
||||
//开始
|
||||
startBatchPush(recordIds);
|
||||
recordIds.forEach(this::push);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void withdrawPushRecord(Long salaryAcctRecordId) {
|
||||
List<PushRecordPO> pushRecordPOS = getPushRecordMapper().listSome(PushRecordPO.builder().acctRecordId(salaryAcctRecordId).status(PushRecordStatusEnum.RUN_SUCCESS.getValue()).build());
|
||||
pushRecordPOS.stream().map(PushRecordPO::getId).forEach(this::withdraw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void push(Long id) {
|
||||
//待推送
|
||||
|
|
@ -421,22 +427,29 @@ public class PushServiceImpl extends Service implements PushService {
|
|||
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);
|
||||
}
|
||||
boolean success = rs.execute(execute);
|
||||
if (success) {
|
||||
//建模需要权限重构
|
||||
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);
|
||||
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.SUCCESS.getValue());
|
||||
//记录数据id
|
||||
pushRecordDetailPO.setDataId((long) mainId);
|
||||
}
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.SUCCESS.getValue());
|
||||
} else {
|
||||
pushRecordDetailPO.setFailReason("sql执行失败");
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.FAIL.getValue());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
pushRecordDetailPO.setFailReason(e.getMessage());
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.FAIL.getValue());
|
||||
|
|
@ -462,31 +475,25 @@ public class PushServiceImpl extends Service implements PushService {
|
|||
pushRecordPO.setStartTime(new Date());
|
||||
pushRecordPO.setStatus(PushRecordStatusEnum.WITHDRAW.getValue());
|
||||
getPushRecordMapper().updateIgnoreNull(pushRecordPO);
|
||||
|
||||
PushSettingPO pushSettingPO = getPushSettingMapper().getById(pushRecordPO.getSettingId());
|
||||
String tableName = pushSettingPO.getTableName();
|
||||
|
||||
List<PushRecordDetailPO> 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);
|
||||
String sql = String.format("delete from %s where id = %s", tableName, pushRecordDetailPO.getDataId());
|
||||
boolean execute = rs.execute(sql);
|
||||
if (execute) {
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.WITHDRAW_SUCCESS.getValue());
|
||||
} else {
|
||||
pushRecordDetailPO.setFailReason("sql执行失败");
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.WITHDRAW_FAIL.getValue());
|
||||
}
|
||||
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.SUCCESS.getValue());
|
||||
} catch (Exception e) {
|
||||
pushRecordDetailPO.setFailReason(e.getMessage());
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.FAIL.getValue());
|
||||
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.WITHDRAW_FAIL.getValue());
|
||||
}
|
||||
getPushRecordDetailMapper().updateIgnoreNull(pushRecordDetailPO);
|
||||
});
|
||||
|
|
@ -500,15 +507,6 @@ public class PushServiceImpl extends Service implements PushService {
|
|||
getPushRecordMapper().updateIgnoreNull(pushRecordPO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 启动推送
|
||||
*
|
||||
* @param recordIds
|
||||
*/
|
||||
private void startBatchPush(List<Long> recordIds) {
|
||||
recordIds.forEach(this::push);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void removeRecords(List<Long> recordIds) {
|
||||
|
|
|
|||
|
|
@ -543,7 +543,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
getSalaryStatisticsReportService(user).removeReportCache();
|
||||
|
||||
|
||||
//获取推送配置
|
||||
//开始推送数据
|
||||
getPushService(user).createPushRecord(salaryAcctRecordId);
|
||||
|
||||
|
||||
|
|
@ -570,6 +570,9 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
// 重新核算
|
||||
reCalcOrBackCalc(salaryAcctRecordPO, true);
|
||||
|
||||
//开始推送数据
|
||||
getPushService(user).withdrawPushRecord(salaryAcctRecordId);
|
||||
|
||||
|
||||
// // 查询税款所在年的该个税扣缴义务人所有薪资核算记录
|
||||
// // 获取账套所属个税扣缴义务人的核算记录
|
||||
|
|
|
|||
Loading…
Reference in New Issue