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 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; } }