109 lines
4.5 KiB
Java
109 lines
4.5 KiB
Java
package com.engine.salary.service.impl;
|
|
|
|
|
|
import com.engine.common.util.ServiceUtil;
|
|
import com.engine.core.impl.Service;
|
|
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
|
import com.engine.salary.entity.salaryBill.dto.SalaryBillWatermarkDTO;
|
|
import com.engine.salary.entity.salaryBill.param.SalaryBaseSetSaveParam;
|
|
import com.engine.salary.entity.salaryBill.po.SalaryBillWatermarkPO;
|
|
import com.engine.salary.enums.salarybill.SalaryTemplateWatermarkTypeEnum;
|
|
import com.engine.salary.service.SalaryBillBaseSetService;
|
|
import com.engine.salary.service.SalaryBillWatermarkService;
|
|
import com.engine.salary.util.JsonUtil;
|
|
import dm.jdbc.util.IdGenerator;
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
import org.apache.commons.lang.math.NumberUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import weaver.hrm.User;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
|
|
/**
|
|
* @Description: 工资单水印
|
|
* @Author: wangxiangzhong
|
|
* @Date: 2023/5/16 11:10
|
|
*/
|
|
|
|
public class SalaryBillBaseSetServiceImpl extends Service implements SalaryBillBaseSetService {
|
|
|
|
private SalaryBillWatermarkService getSalaryBillWatermarkService(User user) {
|
|
return ServiceUtil.getService(SalaryBillWatermarkServiceImpl.class, user);
|
|
}
|
|
|
|
@Override
|
|
public SalaryBillWatermarkDTO getWatermarkSetting() {
|
|
List<SalaryBillWatermarkPO> list = getSalaryBillWatermarkService(user).listAll();
|
|
SalaryBillWatermarkPO watermarkPO = CollectionUtils.isNotEmpty(list) ? list.get(0) : null;
|
|
|
|
if (Objects.isNull(watermarkPO)) {
|
|
return null;
|
|
}
|
|
return SalaryBillWatermarkDTO.builder()
|
|
.watermarkStatus(NumberUtils.INTEGER_ONE.equals(watermarkPO.getWatermarkStatus()))
|
|
.watermarkType(watermarkPO.getWatermarkType())
|
|
.wmSetting(JsonUtil.parseMap(watermarkPO.getWatermarkSetting(), Object.class))
|
|
.build();
|
|
}
|
|
|
|
@Override
|
|
public String saveBaseSet(SalaryBaseSetSaveParam saveParam) {
|
|
// 检查参数
|
|
SalaryBaseSetSaveParam.checkParam(saveParam);
|
|
|
|
Date now = new Date();
|
|
// 工资单水印===========================================================
|
|
Integer watermarkStatus = NumberUtils.INTEGER_ONE;
|
|
String watermark = null;
|
|
String wmSetting = StringUtils.EMPTY;
|
|
// 如果开启了
|
|
if (saveParam.getWatermarkStatus()) {
|
|
if (SalaryTemplateWatermarkTypeEnum.CUSTOM.equals(saveParam.getWatermark())) {
|
|
wmSetting = JsonUtil.toJsonString(saveParam.getWmSetting());
|
|
}else{
|
|
// 系统默认水印 给一个默认的json
|
|
}
|
|
watermark = saveParam.getWatermark().getValue();
|
|
} else {
|
|
watermarkStatus = NumberUtils.INTEGER_ZERO;
|
|
}
|
|
|
|
// 将当前生效的水印信息都删除
|
|
getSalaryBillWatermarkService(user).deleteAll();
|
|
// 保存最新的水印信息
|
|
getSalaryBillWatermarkService(user).insertIgnoreNull(SalaryBillWatermarkPO.builder()
|
|
.id(IdGenerator.generate())
|
|
.watermarkStatus(watermarkStatus)
|
|
.watermarkType(watermark)
|
|
.watermarkSetting(wmSetting)
|
|
.createTime(now)
|
|
.updateTime(now)
|
|
.creator(Long.valueOf(user.getUID()))
|
|
.deleteType(NumberUtils.INTEGER_ZERO)
|
|
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
|
.build());
|
|
|
|
|
|
// // 工资单确认和反馈 ===========================================================
|
|
// new LambdaUpdateChainWrapper<>(salaryBillAckFeedbackMapper)
|
|
// .eq(SalaryBillAckFeedbackPO::getDeleteType, 0)
|
|
// .eq(SalaryBillAckFeedbackPO::getTenantKey, tenantKey)
|
|
// .set(SalaryBillAckFeedbackPO::getDeleteType, 3)
|
|
// .update();
|
|
// salaryBillAckFeedbackMapper.insert(SalaryBillAckFeedbackPO.builder()
|
|
// .id(IdGenerator.generate())
|
|
// .ackStatus(saveParam.getAckStatus() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)
|
|
// .feedbackStatus(saveParam.getFeedbackStatus() ? NumberUtils.INTEGER_ONE : NumberUtils.INTEGER_ZERO)
|
|
// .createTime(now)
|
|
// .updateTime(now)
|
|
// .creator(employeeId)
|
|
// .deleteType(NumberUtils.INTEGER_ZERO)
|
|
// .tenantKey(tenantKey)
|
|
// .build());
|
|
|
|
return StringUtils.EMPTY;
|
|
}
|
|
}
|