From c8d056ee2fff0b90ed87b250be301f06e17b50c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Tue, 12 Jul 2022 17:28:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E9=85=AC=E7=89=88=E6=9C=AC=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/sys/SalarySysConfMapper.java | 65 +++++ .../salary/mapper/sys/SalarySysConfMapper.xml | 231 ++++++++++++++++++ .../impl/SalaryAcctRecordServiceImpl.java | 14 +- .../salary/sys/entity/po/SalarySysConfPO.java | 51 ++++ .../sys/service/impl/InitServiceImpl.java | 71 ++++++ 5 files changed, 421 insertions(+), 11 deletions(-) create mode 100644 src/com/engine/salary/mapper/sys/SalarySysConfMapper.java create mode 100644 src/com/engine/salary/mapper/sys/SalarySysConfMapper.xml create mode 100644 src/com/engine/salary/sys/entity/po/SalarySysConfPO.java create mode 100644 src/com/engine/salary/sys/service/impl/InitServiceImpl.java diff --git a/src/com/engine/salary/mapper/sys/SalarySysConfMapper.java b/src/com/engine/salary/mapper/sys/SalarySysConfMapper.java new file mode 100644 index 000000000..947e422f5 --- /dev/null +++ b/src/com/engine/salary/mapper/sys/SalarySysConfMapper.java @@ -0,0 +1,65 @@ +package com.engine.salary.mapper.sys; + +import com.engine.salary.sys.entity.po.SalarySysConfPO; + +import java.util.List; + +public interface SalarySysConfMapper { + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + /** + * 条件查询 + * + * @return 返回集合,没有返回空List + */ + List listSome(SalarySysConfPO SalarySysConfPO); + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + SalarySysConfPO getById(Long id); + + /** + * 新增,忽略null字段 + * + * @param SalarySysConfPO 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(SalarySysConfPO SalarySysConfPO); + + /** + * 修改,修改所有字段 + * + * @param SalarySysConfPO 修改的记录 + * @return 返回影响行数 + */ + int update(SalarySysConfPO SalarySysConfPO); + + /** + * 修改,忽略null字段 + * + * @param SalarySysConfPO 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(SalarySysConfPO SalarySysConfPO); + + /** + * 删除记录 + * + * @param salarySysConf 待删除的记录 + * @return 返回影响行数 + */ + int delete(SalarySysConfPO salarySysConf); + + SalarySysConfPO getOneByCode(String confKey); +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/sys/SalarySysConfMapper.xml b/src/com/engine/salary/mapper/sys/SalarySysConfMapper.xml new file mode 100644 index 000000000..b04d848a0 --- /dev/null +++ b/src/com/engine/salary/mapper/sys/SalarySysConfMapper.xml @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + t + . + id + , t.conf_key + , t.conf_value + , t.title + , t.module + , t.order_weight + , t.description + , t.delete_type + , t.create_time + , t.update_time + + + + + + + + + + + + + + + INSERT INTO hrsa_salary_sys_conf + + + + id, + + + conf_key, + + + conf_value, + + + title, + + + module, + + + order_weight, + + + description, + + + delete_type, + + + create_time, + + + update_time, + + + + + #{id}, + + + #{confKey}, + + + #{confValue}, + + + #{title}, + + + #{module}, + + + #{orderWeight}, + + + #{description}, + + + #{deleteType}, + + + #{createTime}, + + + #{updateTime}, + + + + + + + UPDATE hrsa_salary_sys_conf + + conf_key=#{confKey}, + conf_value=#{confValue}, + title=#{title}, + module=#{module}, + order_weight=#{orderWeight}, + description=#{description}, + delete_type=#{deleteType}, + create_time=#{createTime}, + update_time=#{updateTime}, + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_salary_sys_conf + + + conf_key=#{confKey}, + + + conf_value=#{confValue}, + + + title=#{title}, + + + module=#{module}, + + + order_weight=#{orderWeight}, + + + description=#{description}, + + + delete_type=#{deleteType}, + + + create_time=#{createTime}, + + + update_time=#{updateTime}, + + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_salary_sys_conf + SET delete_type=1 + WHERE id = #{id} + AND delete_type = 0 + + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java index 3ee8b0ada..2f8cd463e 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java @@ -74,11 +74,8 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe return ServiceUtil.getService(SalaryComparisonResultServiceImpl.class, user); } - // -// private LoggerTemplate salaryAcctRecordLoggerTemplate; -// private TaxDeclarationService getTaxDeclarationService(User user) { - return (TaxDeclarationService) ServiceUtil.getService(TaxDeclarationServiceImpl.class, user); + return ServiceUtil.getService(TaxDeclarationServiceImpl.class, user); } private TaxAgentService getTaxAgentService(User user) { @@ -275,7 +272,6 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe * 保存之前检查一下是否可以新建核算 * * @param saveParam - */ private void checkBeforeSave(SalaryAcctRecordSaveParam saveParam) { @@ -300,7 +296,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe // 如果某个月(薪资所属月)还未申报,不可以新建之后月份的薪资核算 SalaryAcctRecordPO notDeclaredSalaryAcctRecordPO = salaryAcctRecords.stream() .filter(e -> !Objects.equals(e.getStatus(), SalaryAcctRecordStatusEnum.DECLARED.getValue()) - && e.getSalaryMonth().before(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1))) ) + && e.getSalaryMonth().before(SalaryDateUtil.localDateToDate(saveParam.getSalaryMonth().atDay(1)))) .findAny() .orElse(null); if (Objects.nonNull(notDeclaredSalaryAcctRecordPO)) { @@ -428,10 +424,6 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe // 生成工资单 getSalarySendService(user).generateSalaryBill(salaryAcctRecordId); - //todo 薪酬核算完成,将数据存储到非加密表,删除人员信息,补充:分部、部门、岗位等其他字段,供数据中心引用 - - - // 记录日志 // String targetName = getLogTargetNameById(salaryAcctRecordId); // LoggerContext loggerContext = new LoggerContext<>(); @@ -553,7 +545,7 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe } Boolean openDevolution = getTaxAgentService(user).isOpenDevolution(); //开启分权 - if(openDevolution){ + if (openDevolution) { List salarySobPOS = getSalarySobService(user).listByAdmin(); Set salarySobIds = SalaryEntityUtil.properties(salarySobPOS, SalarySobPO::getId); return salaryAcctRecords.stream().filter(record -> salarySobIds.contains(record.getSalarySobId())).collect(Collectors.toList()); diff --git a/src/com/engine/salary/sys/entity/po/SalarySysConfPO.java b/src/com/engine/salary/sys/entity/po/SalarySysConfPO.java new file mode 100644 index 000000000..6403c646e --- /dev/null +++ b/src/com/engine/salary/sys/entity/po/SalarySysConfPO.java @@ -0,0 +1,51 @@ +package com.engine.salary.sys.entity.po; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SalarySysConfPO { + + private Long id; + /** + * 标识 + */ + private String confKey; + /** + * 值 + */ + private String confValue; + /** + * 标题 + */ + private String title; + /** + * 所属模块 + */ + private String module; + /** + * 排序权重 + */ + private Integer orderWeight; + /** + * 描述 + */ + private String description; + /** + * 是否已删除,0否,1是 + */ + private Integer deleteType; + + /** 创建时间 */ + private Date createTime; + /** 修改时间 */ + private Date updateTime; +} \ No newline at end of file diff --git a/src/com/engine/salary/sys/service/impl/InitServiceImpl.java b/src/com/engine/salary/sys/service/impl/InitServiceImpl.java new file mode 100644 index 000000000..f3c9d371a --- /dev/null +++ b/src/com/engine/salary/sys/service/impl/InitServiceImpl.java @@ -0,0 +1,71 @@ +package com.engine.salary.sys.service.impl; + +import com.api.formmode.mybatis.util.SqlProxyHandle; +import com.engine.salary.mapper.sys.SalarySysConfMapper; +import com.engine.salary.sys.entity.po.SalarySysConfPO; +import com.weaverboot.frame.ioc.anno.classAnno.WeaSysInitComponent; +import com.weaverboot.frame.ioc.anno.methodAnno.WeaSysInit; +import dm.jdbc.util.IdGenerator; +import org.apache.commons.lang3.StringUtils; +import weaver.general.BaseBean; + +import java.util.Date; + +@WeaSysInitComponent("initSalary") +public class InitServiceImpl { + + private SalarySysConfMapper getSalarySysConfMapper() { + return SqlProxyHandle.getProxy(SalarySysConfMapper.class); + } + + BaseBean baseBean = new BaseBean(); + + @WeaSysInit(order = 1, description = "升级版本") + public void init() { + String version = baseBean.getPropValue("hrmSalary", "version"); + Date date = new Date(); + + + //升级版本号 + //当前版本 + SalarySysConfPO currentVersion = getSalarySysConfMapper().getOneByCode("currentVersion"); + //前一个版本 + SalarySysConfPO previousVersion = getSalarySysConfMapper().getOneByCode("previousVersion"); + if (currentVersion == null) { + //初始化版本 + SalarySysConfPO current = SalarySysConfPO.builder() + .id(IdGenerator.generate()) + .confKey("currentVersion") + .confValue(version) + .title("当前版本") + .module("basic") + .createTime(date) + .updateTime(date) + .deleteType(0).build(); + getSalarySysConfMapper().insertIgnoreNull(current); + } else { + //版本不一样 + if (!StringUtils.equals(version, currentVersion.getConfValue())) { + //生成历史版本记录 + SalarySysConfPO previous = SalarySysConfPO.builder() + .id(IdGenerator.generate()) + .confKey("previousVersion") + .confValue(currentVersion.getConfValue()) + .title("上一个版本") + .module("basic") + .createTime(date) + .updateTime(date) + .deleteType(0) + .build(); + getSalarySysConfMapper().insertIgnoreNull(previous); + + //更新当前版本 + currentVersion.setConfValue(version); + currentVersion.setUpdateTime(date); + getSalarySysConfMapper().updateIgnoreNull(currentVersion); + } + } + + + } +}