推送记录状态变更;

推送明细状态变更;
This commit is contained in:
钱涛 2025-04-02 14:59:32 +08:00
parent 0777f99870
commit ba650b9fe6
8 changed files with 86 additions and 27 deletions

View File

@ -50,7 +50,7 @@ public class PushRecordDTO {
/**
* 数据库表名
*/
@TableTitle(title = "记录", dataIndex = "name", key = "name")
@TableTitle(title = "数据表", dataIndex = "name", key = "tableName")
private String tableName;
@ -59,7 +59,8 @@ public class PushRecordDTO {
*
* @see PushRecordStatusEnum
*/
@TableTitle(title = "推送状态", dataIndex = "status", key = "status")
@TableTitle(title = "推送状态", dataIndex = "statusName", key = "statusName")
private String statusName;
private Integer status;
/**

View File

@ -33,18 +33,22 @@ public class PushRecordDetailDTO {
*/
private Long acctEmpId;
@TableTitle(title = "人员", dataIndex = "username",key = "username")
private String username;
/**
* 执行状态
* @see com.engine.salary.enums.push.PushRecordDetailStatusEnum
*/
@TableTitle(title = "执行状态", dataIndex = "status",key = "status")
@TableTitle(title = "执行状态", dataIndex = "statusName",key = "statusName")
private String statusName;
private Integer status;
/**
* 失败原因
*/
@TableTitle(title = "失败原因", dataIndex = "fail_reason",key = "status")
private String fail_reason;
private String failReason;
/**
* 执行sql

View File

@ -45,7 +45,7 @@ public class PushRecordDetailPO {
* 失败原因
*/
@ElogTransform(name = "失败原因")
private String fail_reason;
private String failReason;
/**
* 执行sql

View File

@ -52,7 +52,7 @@ public enum PushRecordDetailStatusEnum implements BaseEnum<Integer> {
return salaryDataSourceEnum;
}
}
return null;
return PREPARE;
}
public static String getDefaultLabelByValue(Integer value) {

View File

@ -55,7 +55,7 @@ public enum PushRecordStatusEnum implements BaseEnum<Integer> {
return salaryDataSourceEnum;
}
}
return null;
return DATA_PREPARE;
}
public static String getDefaultLabelByValue(Integer value) {

View File

@ -1,5 +1,6 @@
package com.engine.salary.mapper.push;
import com.engine.salary.entity.push.dto.PushRecordDetailDTO;
import com.engine.salary.entity.push.po.PushRecordDetailPO;
import org.apache.ibatis.annotations.Param;
@ -22,6 +23,8 @@ public interface PushRecordDetailMapper {
*/
List<PushRecordDetailPO> listSome(PushRecordDetailPO pushRecordDetail);
List<PushRecordDetailDTO> listDTO(PushRecordDetailDTO dto);
/**
* 根据主键查询

View File

@ -12,6 +12,7 @@
<result column="status" property="status"/>
<result column="tenant_key" property="tenantKey"/>
<result column="update_time" property="updateTime"/>
<result column="fail_reason" property="failReason"/>
</resultMap>
<!-- 表字段 -->
@ -28,6 +29,7 @@
, t.status
, t.tenant_key
, t.update_time
, t.fail_reason
</sql>
<!-- 查询全部 -->
@ -88,6 +90,53 @@
#{id}
</foreach>
</if>
ORDER BY id DESC
</select>
<select id="listDTO" resultType="com.engine.salary.entity.push.dto.PushRecordDetailDTO" parameterType="com.engine.salary.entity.push.dto.PushRecordDetailDTO">
SELECT
t.acct_emp_id
, t.create_time
, t.creator
, t.delete_type
, t.execute
, t.id
, t.record_id
, t.status
, t.tenant_key
, t.update_time
, t.fail_reason
, e.LASTNAME as username
FROM hrsa_push_record_detail t
left join hrsa_salary_acct_emp emp
on t.acct_emp_id=emp.id
left join hrsa_salary_sob sob
on emp.salary_sob_id = sob.id
left join hrmresource e
on emp.employee_id=e.id
WHERE t.delete_type = 0
and emp.delete_type = 0
and sob.delete_type = 0
<if test="acctEmpId != null">
AND t.acct_emp_id = #{acctEmpId}
</if>
<if test="id != null">
AND t.id = #{id}
</if>
<if test="recordId != null">
AND t.record_id = #{recordId}
</if>
<if test="status != null">
AND t.status = #{status}
</if>
ORDER BY id DESC
</select>
@ -127,6 +176,9 @@
<if test="updateTime != null">
update_time,
</if>
<if test="failReason != null">
fail_reason,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="acctEmpId != null">
@ -159,6 +211,9 @@
<if test="updateTime != null">
#{updateTime},
</if>
<if test="failReason != null">
#{failReason},
</if>
</trim>
</insert>
@ -175,6 +230,7 @@
status=#{status},
tenant_key=#{tenantKey},
update_time=#{updateTime},
fail_reason=#{failReason},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
@ -211,6 +267,9 @@
<if test="updateTime != null">
update_time=#{updateTime},
</if>
<if test="failReason != null">
fail_reason=#{failReason},
</if>
</set>
WHERE id = #{id} AND delete_type = 0
</update>

View File

@ -436,9 +436,10 @@ public class PushServiceImpl extends Service implements PushService {
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.SUCCESS.getValue());
} catch (Exception e) {
pushRecordDetailPO.setFail_reason(e.getMessage());
pushRecordDetailPO.setFailReason(e.getMessage());
pushRecordDetailPO.setStatus(PushRecordDetailStatusEnum.FAIL.getValue());
}
getPushRecordDetailMapper().updateIgnoreNull(pushRecordDetailPO);
});
pushRecordPO.setEndTime(new Date());
@ -460,7 +461,6 @@ public class PushServiceImpl extends Service implements PushService {
}
@Override
public void removeRecords(List<Long> recordIds) {
recordIds.forEach(recordId -> {
@ -487,6 +487,7 @@ public class PushServiceImpl extends Service implements PushService {
.acctRecordId(po.getAcctRecordId())
.type(po.getType())
.status(po.getStatus())
.statusName(PushRecordStatusEnum.parseByValue(po.getStatus()).getDefaultLabel())
.startTime(po.getStartTime())
.endTime(po.getEndTime())
.build())
@ -501,22 +502,13 @@ public class PushServiceImpl extends Service implements PushService {
public PageInfo<PushRecordDetailDTO> recordDetailList(RecordDetailListQueryParam param) {
ValidUtil.doValidator(param);
List<PushRecordDetailPO> pushRecordDetailPOS = getPushRecordDetailMapper().listSome(PushRecordDetailPO.builder().recordId(param.getRecordId()).build());
List<PushRecordDetailDTO> listDTOS = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), pushRecordDetailPOS)
.stream()
.map(po -> PushRecordDetailDTO.builder()
.id(po.getId())
.recordId(po.getRecordId())
.acctEmpId(po.getAcctEmpId())
.status(po.getStatus())
.fail_reason(po.getFail_reason())
.execute(po.getExecute())
.createTime(po.getCreateTime())
.creator(po.getCreator())
.build())
.collect(Collectors.toList());
PageInfo<PushRecordDetailDTO> pageInfo = SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), listDTOS, PushRecordDetailDTO.class);
pageInfo.setTotal(pushRecordDetailPOS.size());
List<PushRecordDetailDTO> list = getPushRecordDetailMapper().listDTO(PushRecordDetailDTO.builder().recordId(param.getRecordId()).build());
List<PushRecordDetailDTO> listDTOS = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), list);
listDTOS.forEach(dto -> dto.setStatusName(PushRecordDetailStatusEnum.parseByValue(dto.getStatus()).getDefaultLabel()));
PageInfo<PushRecordDetailDTO> pageInfo = SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), PushRecordDetailDTO.class);
pageInfo.setList(listDTOS);
pageInfo.setTotal(list.size());
return pageInfo;
}
}