Merge branch 'feature/250601_考勤引用编辑' into custom/西部信托

This commit is contained in:
Harryxzy 2025-06-12 16:45:31 +08:00
commit cc8ea5946c
3 changed files with 74 additions and 0 deletions

View File

@ -1,5 +1,6 @@
package com.engine.salary.entity.datacollection.po;
import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -16,47 +17,68 @@ import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
//hrsa_attend_quote_data_value
@ElogTransform(name = "考勤引用数据")
public class AttendQuoteDataValuePO {
/**
* 主键
*/
@ElogTransform(name = "id")
private Long id;
/**
* 人员信息表的主键id
*/
@ElogTransform(name = "员工id")
private Long employeeId;
/**
* 考勤引用表的主键id
*/
@ElogTransform(name = "考勤引用表id")
private Long attendQuoteId;
/**
* 考勤引用数据表的主键id
*/
@ElogTransform(name = "考勤引用数据表id")
private Long attendQuoteDataId;
/**
* 考勤引用字段表的主键id
*/
@ElogTransform(name = "考勤引用字段表id")
private Long attendQuoteFieldId;
/**
* 数据值
*/
@ElogTransform(name = "数据值")
private String dataValue;
/**
* 创建时间
*/
@ElogTransform(name = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ElogTransform(name = "更新时间")
private Date updateTime;
/**
* 创建人
*/
@ElogTransform(name = "创建人")
private Long creator;
/**
* 是否已删除0未删除1已删除
*/
@ElogTransform(name = "是否已删除")
private Integer deleteType;
/**
* 租户ID
*/

View File

@ -400,6 +400,12 @@
<include refid="baseColumns"/>
FROM hrsa_attend_quote_data t
WHERE delete_type = 0
<if test="param.ids != null and param.ids.size()>0">
AND t.id IN
<foreach collection="param.ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.unAccountingIds != null and param.unAccountingIds.size()>0">
AND t.attend_quote_id IN
<foreach collection="param.unAccountingIds" open="(" item="id" separator="," close=")">

View File

@ -49,6 +49,7 @@ import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
import com.engine.salary.util.SalaryDateUtil;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.SalaryI18nUtil;
import com.engine.salary.util.SalaryLoggerUtil;
import com.engine.salary.util.db.IdGenerator;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.excel.ExcelParseHelper;
@ -921,6 +922,28 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
.collect(Collectors.toList());
dataValueBiz.insertData(values);
// 操作日志
String operateDesc = null;
try {
Long attendQuoteId = attendQuoteDataBaseDTO.getAttendQuoteId();
AttendQuotePO attendQuotePO = getAttendQuoteService(user).getById(attendQuoteId);
SalarySobPO salarySobPO = getSalarySobService(user).getById(attendQuotePO.getSalarySobId());
DataCollectionEmployee employee = getSalaryEmployeeService(user).getEmployeeById(attendQuoteDataBaseDTO.getEmployeeId());
operateDesc = SalaryDateUtil.getFormatYearMonth(attendQuotePO.getSalaryYearMonth()) + "_" +salarySobPO.getName() + "_" + employee.getUsername();
} catch (Exception e) {
operateDesc = attendQuoteDataBaseDTO.getAttendQuoteId() + "_" + attendQuoteDataBaseDTO.getEmployeeId();
}
LoggerContext<AttendQuoteDataValuePO> loggerContext = new LoggerContext<>();
loggerContext.setUser(user);
loggerContext.setTargetId(attendQuoteDataBaseDTO.getAttendQuoteId().toString());
loggerContext.setTargetName(operateDesc);
loggerContext.setOperateType(OperateTypeEnum.UPDATE.getValue());
loggerContext.setOperateTypeName(SalaryI18nUtil.getI18nLabel(0, "编辑考勤引用数据") + ": " + operateDesc);
loggerContext.setOperatedesc(SalaryI18nUtil.getI18nLabel(0, "编辑考勤引用数据") + ": " + operateDesc);
loggerContext.setNewValueList(Lists.newArrayList(values));
SalaryElogConfig.attendQuoteLoggerTemplate.write(loggerContext);
}
/**
@ -1077,6 +1100,28 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
}
// 删除数据
deleteByIds(param.getAttendQuoteDataIds());
// 记录日志
attendQuoteDataPOS.forEach(e -> {
Long attendQuoteId = e.getAttendQuoteId();
AttendQuotePO attendQuotePO = getAttendQuoteService(user).getById(attendQuoteId);
SalarySobPO salarySobPO = getSalarySobService(user).getById(attendQuotePO.getSalarySobId());
DataCollectionEmployee employee = getSalaryEmployeeService(user).getEmployeeById(e.getEmployeeId());
String opeDesc = "";
try {
opeDesc = SalaryDateUtil.getFormatYearMonth(attendQuotePO.getSalaryYearMonth()) + "_" + salarySobPO.getName() + "_" + employee.getUsername();
} catch (Exception ex) {
opeDesc = attendQuoteId + "_" + e.getEmployeeId();
}
SalaryLoggerUtil.recordDeleteSingleLog(SalaryElogConfig.attendQuoteLoggerTemplate,
e.getId(),
opeDesc,
SalaryI18nUtil.getI18nLabel(0, "删除考勤引用明细"),
opeDesc,
e,
user);
});
}
private void deleteByIds(List<Long> attendQuoteDataIds) {
@ -1086,6 +1131,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
List<List<Long>> partition = Lists.partition(attendQuoteDataIds, 500);
partition.forEach(part -> {
getAttendQuoteDataMapper().deleteByIds(part);
dataValueBiz.deleteByAttendQuoteIds(part);
});
}