diff --git a/resource/sqlupgrade/DM/sql202404010103.sql b/resource/sqlupgrade/DM/sql202404010103.sql new file mode 100644 index 000000000..6030ba991 --- /dev/null +++ b/resource/sqlupgrade/DM/sql202404010103.sql @@ -0,0 +1,13 @@ +CREATE TABLE hrsa_acct_result_template ( + id NUMBER(38,0) primary key , + template_name varchar(255), + salary_sob_id NUMBER(38,0) , + salary_item_ids varchar(4000), + creator NUMBER(38,0), + update_time DATE default sysdate, + create_time DATE default sysdate, + delete_type NUMBER, + tenant_key varchar(20) +); +/ + diff --git a/resource/sqlupgrade/GS/sql202404010103.sql b/resource/sqlupgrade/GS/sql202404010103.sql new file mode 100644 index 000000000..6030ba991 --- /dev/null +++ b/resource/sqlupgrade/GS/sql202404010103.sql @@ -0,0 +1,13 @@ +CREATE TABLE hrsa_acct_result_template ( + id NUMBER(38,0) primary key , + template_name varchar(255), + salary_sob_id NUMBER(38,0) , + salary_item_ids varchar(4000), + creator NUMBER(38,0), + update_time DATE default sysdate, + create_time DATE default sysdate, + delete_type NUMBER, + tenant_key varchar(20) +); +/ + diff --git a/resource/sqlupgrade/JC/sql202404010103.sql b/resource/sqlupgrade/JC/sql202404010103.sql new file mode 100644 index 000000000..6030ba991 --- /dev/null +++ b/resource/sqlupgrade/JC/sql202404010103.sql @@ -0,0 +1,13 @@ +CREATE TABLE hrsa_acct_result_template ( + id NUMBER(38,0) primary key , + template_name varchar(255), + salary_sob_id NUMBER(38,0) , + salary_item_ids varchar(4000), + creator NUMBER(38,0), + update_time DATE default sysdate, + create_time DATE default sysdate, + delete_type NUMBER, + tenant_key varchar(20) +); +/ + diff --git a/resource/sqlupgrade/Mysql/sql202404010103.sql b/resource/sqlupgrade/Mysql/sql202404010103.sql new file mode 100644 index 000000000..2bb4ed340 --- /dev/null +++ b/resource/sqlupgrade/Mysql/sql202404010103.sql @@ -0,0 +1,12 @@ +CREATE table hrsa_acct_result_template ( + id bigint NOT NULL, + template_name varchar(255) NULL DEFAULT NULL, + salary_sob_id bigint NULL DEFAULT NULL , + salary_item_ids varchar(4000) NULL DEFAULT NULL , + creator bigint NULL DEFAULT NULL, + update_time datetime NULL DEFAULT NULL, + create_time datetime NULL DEFAULT NULL, + delete_type int NULL DEFAULT NULL, + tenant_key varchar(20) NULL DEFAULT NULL, + PRIMARY KEY (id) +); diff --git a/resource/sqlupgrade/Oracle/sql202404010103.sql b/resource/sqlupgrade/Oracle/sql202404010103.sql new file mode 100644 index 000000000..80b3656c2 --- /dev/null +++ b/resource/sqlupgrade/Oracle/sql202404010103.sql @@ -0,0 +1,12 @@ +CREATE TABLE hrsa_acct_result_template ( + id NUMBER(38,0) primary key , + template_name varchar(255), + salary_sob_id NUMBER(38,0) , + salary_item_ids varchar(4000), + creator NUMBER(38,0), + update_time DATE default sysdate, + create_time DATE default sysdate, + delete_type NUMBER, + tenant_key varchar(20) +) +/ \ No newline at end of file diff --git a/resource/sqlupgrade/PG/sql202404010103.sql b/resource/sqlupgrade/PG/sql202404010103.sql new file mode 100644 index 000000000..6b95f27f5 --- /dev/null +++ b/resource/sqlupgrade/PG/sql202404010103.sql @@ -0,0 +1,11 @@ +CREATE table hrsa_acct_result_template ( + id bigint primary key, + template_name varchar(255), + salary_sob_id bigint , + salary_item_ids varchar(4000) , + creator bigint, + update_time timestamp default now(), + create_time timestamp default now(), + delete_type int default 0, + tenant_key varchar(10) +); \ No newline at end of file diff --git a/resource/sqlupgrade/SQLServer/sql202404010103.sql b/resource/sqlupgrade/SQLServer/sql202404010103.sql new file mode 100644 index 000000000..df419ecad --- /dev/null +++ b/resource/sqlupgrade/SQLServer/sql202404010103.sql @@ -0,0 +1,13 @@ +CREATE TABLE hrsa_acct_result_template ( + id bigint NOT NULL, + template_name varchar(255) NULL DEFAULT NULL, + salary_sob_id bigint NULL DEFAULT NULL , + salary_item_ids varchar(4000) NULL DEFAULT NULL , + creator bigint NULL DEFAULT NULL, + update_time datetime NULL DEFAULT NULL, + create_time datetime NULL DEFAULT NULL, + delete_type int NULL DEFAULT NULL, + tenant_key varchar(20) NULL DEFAULT NULL, + PRIMARY KEY (id) +) +GO \ No newline at end of file diff --git a/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctResultTemplateDTO.java b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctResultTemplateDTO.java new file mode 100644 index 000000000..6d5c0dcb3 --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/dto/SalaryAcctResultTemplateDTO.java @@ -0,0 +1,44 @@ +package com.engine.salary.entity.salaryacct.dto; + +import com.engine.salary.annotation.TableTitle; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @ClassName SalaryAcctResultTemplatePO + * @author Harryxzy + * @date 2024/3/26 15:08 + * @description 薪资核算导出模板 + */ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Data +public class SalaryAcctResultTemplateDTO { + /** + * 主键id + */ + private Long id; + + /** + * 模板名称 + */ + @TableTitle(title ="模板名称",key = "templateName",dataIndex = "templateName") + private String templateName; + + /** + * 薪资账套id + */ + private Long salarySobId; + + /** + * 薪资项目id + */ + private String salaryItemIds; + + @TableTitle(title ="创建时间",key = "createTime",dataIndex = "createTime") + private String createTime; + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultTemplateSaveParam.java b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultTemplateSaveParam.java new file mode 100644 index 000000000..f251eb92d --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/param/SalaryAcctResultTemplateSaveParam.java @@ -0,0 +1,48 @@ +package com.engine.salary.entity.salaryacct.param; + +import com.engine.salary.common.BaseQueryParam; +import com.engine.salary.util.valid.DataCheck; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @ClassName SalaryAcctResultTemplatePO + * @author Harryxzy + * @date 2024/3/26 15:08 + * @description 薪资核算导出模板 + */ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Data +public class SalaryAcctResultTemplateSaveParam extends BaseQueryParam { + /** + * 主键id + */ + private Long id; + + private List ids; + + /** + * 薪资账套id + */ + private Long salarySobId; + + private Long salaryAcctRecordId; + + /** + * 薪资项目id + */ + private List salaryItemIds; + + /** + * 模板名称 + */ + @DataCheck(require = true, message= "模板名称不能为空") + private String templateName; + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/salaryacct/po/SalaryAcctResultTemplatePO.java b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctResultTemplatePO.java new file mode 100644 index 000000000..a8d493a01 --- /dev/null +++ b/src/com/engine/salary/entity/salaryacct/po/SalaryAcctResultTemplatePO.java @@ -0,0 +1,54 @@ +package com.engine.salary.entity.salaryacct.po; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Collection; +import java.util.Date; + +/** + * @ClassName SalaryAcctResultTemplatePO + * @author Harryxzy + * @date 2024/3/26 15:08 + * @description 薪资核算导出模板 + */ +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Data +public class SalaryAcctResultTemplatePO { + /** + * 主键id + */ + private Long id; + + /** + * 模板名称 + */ + private String templateName; + + /** + * 薪资账套id + */ + private Long salarySobId; + + /** + * 薪资项目id + */ + private String salaryItemIds; + + private Long creator; + + private Date updateTime; + + private Date createTime; + + private Integer deleteType; + + private String tenantKey; + + //主键id集合 + private Collection ids; +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctResultTemplateMapper.java b/src/com/engine/salary/mapper/salaryacct/SalaryAcctResultTemplateMapper.java new file mode 100644 index 000000000..19bd121f8 --- /dev/null +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctResultTemplateMapper.java @@ -0,0 +1,66 @@ +package com.engine.salary.mapper.salaryacct; + +import com.engine.salary.entity.salaryacct.po.SalaryAcctResultTemplatePO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface SalaryAcctResultTemplateMapper { + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + /** + * 条件查询 + * + * @return 返回集合,没有返回空List + */ + List listSome(SalaryAcctResultTemplatePO salaryAcctResultTemplate); + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + SalaryAcctResultTemplatePO getById(Long id); + + /** + * 新增,忽略null字段 + * + * @param salaryAcctResultTemplate 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(SalaryAcctResultTemplatePO salaryAcctResultTemplate); + + /** + * 修改,修改所有字段 + * + * @param salaryAcctResultTemplate 修改的记录 + * @return 返回影响行数 + */ + int update(SalaryAcctResultTemplatePO salaryAcctResultTemplate); + + /** + * 修改,忽略null字段 + * + * @param salaryAcctResultTemplate 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(SalaryAcctResultTemplatePO salaryAcctResultTemplate); + + /** + * 删除记录 + * + * @param id 待删除的记录 + * @return 返回影响行数 + */ + int deleteById(Long id); + + int deleteByIds(@Param("ids") List ids); +} \ No newline at end of file diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctResultTemplateMapper.xml b/src/com/engine/salary/mapper/salaryacct/SalaryAcctResultTemplateMapper.xml new file mode 100644 index 000000000..55c41dc1c --- /dev/null +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctResultTemplateMapper.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + t.create_time + , t.creator + , t.delete_type + , t.id + , t.salary_item_ids + , t.salary_sob_id + , t.template_name + , t.tenant_key + , t.update_time + + + + + + + + + + + + + + + INSERT INTO hrsa_acct_result_template + + + + create_time, + + + creator, + + + delete_type, + + + id, + + + salary_item_ids, + + + salary_sob_id, + + + template_name, + + + tenant_key, + + + update_time, + + + + + #{createTime}, + + + #{creator}, + + + #{deleteType}, + + + #{id}, + + + #{salaryItemIds}, + + + #{salarySobId}, + + + #{templateName}, + + + #{tenantKey}, + + + #{updateTime}, + + + + + + + UPDATE hrsa_acct_result_template + + create_time=#{createTime}, + creator=#{creator}, + delete_type=#{deleteType}, + salary_item_ids=#{salaryItemIds}, + salary_sob_id=#{salarySobId}, + template_name=#{templateName}, + tenant_key=#{tenantKey}, + update_time=#{updateTime}, + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_acct_result_template + + + create_time=#{createTime}, + + + creator=#{creator}, + + + delete_type=#{deleteType}, + + + salary_item_ids=#{salaryItemIds}, + + + salary_sob_id=#{salarySobId}, + + + template_name=#{templateName}, + + + tenant_key=#{tenantKey}, + + + update_time=#{updateTime}, + + + WHERE id = #{id} AND delete_type = 0 + + + + + + UPDATE hrsa_acct_result_template + SET delete_type=1 + WHERE id = #{id} AND delete_type = 0 + + + UPDATE hrsa_acct_result_template + SET delete_type=1 + WHERE delete_type = 0 + + AND id IN + + #{id} + + + + + + \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryAcctExcelService.java b/src/com/engine/salary/service/SalaryAcctExcelService.java index c2b0124a4..41f41defe 100644 --- a/src/com/engine/salary/service/SalaryAcctExcelService.java +++ b/src/com/engine/salary/service/SalaryAcctExcelService.java @@ -140,6 +140,30 @@ public interface SalaryAcctExcelService { pltxEmployeeDTO pltxGetJbgz(PltxInitEmployeeParam param); + /** + * 保存导出模板 + * @param saveParam + */ + void saveExportTemplate(SalaryAcctResultTemplateSaveParam saveParam); + + /** + * 删除导出模板 + * @param templateIds + */ + void deleteExportTemplate(List templateIds); + + /** + * 获取导出模板详细信息 + * @param templateId + */ + Map getExportTemplateForm(Long templateId); + + /** + * 根据账套id获取导出模板列表 + * @param param + */ + Map exportTemplateList(SalaryAcctResultTemplateSaveParam param); + // // /** // * 薪资核算结果校验异常导出 diff --git a/src/com/engine/salary/service/SalaryAcctResultTemplateService.java b/src/com/engine/salary/service/SalaryAcctResultTemplateService.java new file mode 100644 index 000000000..7696cb4bf --- /dev/null +++ b/src/com/engine/salary/service/SalaryAcctResultTemplateService.java @@ -0,0 +1,79 @@ +package com.engine.salary.service; + +import com.engine.salary.entity.salaryacct.po.SalaryAcctResultTemplatePO; + +import java.util.List; + +/** + * @author Harryxzy + * @ClassName SalaryAcctResultTemplateService + * @date 2024/03/26 15:28 + * @description + */ +public interface SalaryAcctResultTemplateService { + + /** + * 查询所有记录 + * + * @return 返回集合,没有返回空List + */ + List listAll(); + + + + /** + * 根据主键查询 + * + * @param id 主键 + * @return 返回记录,没有返回null + */ + SalaryAcctResultTemplatePO getById(Long id); + + /** + * 新增,忽略null字段 + * + * @param salaryAcctResultTemplate 新增的记录 + * @return 返回影响行数 + */ + int insertIgnoreNull(SalaryAcctResultTemplatePO salaryAcctResultTemplate); + + /** + * 修改,修改所有字段 + * + * @param salaryAcctResultTemplate 修改的记录 + * @return 返回影响行数 + */ + int update(SalaryAcctResultTemplatePO salaryAcctResultTemplate); + + /** + * 修改,忽略null字段 + * + * @param salaryAcctResultTemplate 修改的记录 + * @return 返回影响行数 + */ + int updateIgnoreNull(SalaryAcctResultTemplatePO salaryAcctResultTemplate); + + /** + * 删除记录 + * + * @param id 待删除的记录 + * @return 返回影响行数 + */ + int deleteById(Long id); + + + /** + * 删除记录 + * + * @param ids 待删除的记录 + * @return 返回影响行数 + */ + int deleteByIds(List ids); + + /** + * 根据账套id获取 + * @param salarySobId + * @return + */ + List listBySalarySobId(Long salarySobId); +} diff --git a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java index dcc9152f3..caba725b1 100644 --- a/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryAcctExcelServiceImpl.java @@ -4,11 +4,11 @@ import com.api.formmode.mybatis.util.SqlProxyHandle; import com.cloudstore.dev.api.util.Util_DataCache; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; +import com.engine.hrmelog.entity.dto.LoggerContext; import com.engine.salary.component.WeaTableColumnGroup; import com.engine.salary.config.SalaryElogConfig; import com.engine.salary.constant.SalaryDefaultTenantConstant; import com.engine.salary.constant.SalaryItemConstant; -import com.engine.hrmelog.entity.dto.LoggerContext; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.report.po.SalaryAcctResultReportPO; import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO; @@ -16,6 +16,7 @@ import com.engine.salary.entity.salaryacct.bo.SalaryAcctResultBO; import com.engine.salary.entity.salaryacct.bo.SalaryAcctResultLogBO; import com.engine.salary.entity.salaryacct.dto.SalaryAccEmployeeListDTO; import com.engine.salary.entity.salaryacct.dto.SalaryAcctImportFieldDTO; +import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultTemplateDTO; import com.engine.salary.entity.salaryacct.dto.SalaryComparisonResultListDTO; import com.engine.salary.entity.salaryacct.dto.pltxEmployeeDTO; import com.engine.salary.entity.salaryacct.param.*; @@ -51,6 +52,8 @@ import com.engine.salary.util.db.IdGenerator; import com.engine.salary.util.excel.ExcelParseHelper; import com.engine.salary.util.excel.ExcelSupport; import com.engine.salary.util.excel.ExcelUtilPlus; +import com.engine.salary.util.page.PageInfo; +import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.ValidUtil; import com.engine.salary.wrapper.SalarySobItemWrapper; import com.google.common.collect.Lists; @@ -60,7 +63,7 @@ import com.wbi.util.Util; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; - +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.apache.poi.ss.usermodel.Sheet; @@ -161,6 +164,10 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user); } + private SalaryAcctResultTemplateService getSalaryAcctResultTemplateService(User user) { + return ServiceUtil.getService(SalaryAcctResultTemplateServiceImpl.class, user); + } + @Override public XSSFWorkbook exportSalaryAcctEmployee(SalaryAcctEmployeeQueryParam queryParam) { ValidUtil.doValidator(queryParam); @@ -1507,6 +1514,90 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc } + /** + * 保存导出模板 + * @param saveParam + */ + @Override + public void saveExportTemplate(SalaryAcctResultTemplateSaveParam saveParam) { + ValidUtil.doValidator(saveParam); + Long salaryAcctRecordId = saveParam.getSalaryAcctRecordId(); + SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(salaryAcctRecordId); + if (salaryAcctRecordPO == null) { + throw new SalaryRunTimeException("薪资核算记录不存在"); + } + saveParam.setSalarySobId(salaryAcctRecordPO.getSalarySobId()); + List templateBySobId = getSalaryAcctResultTemplateService(user).listBySalarySobId(saveParam.getSalarySobId()); + if (saveParam.getId() != null) { + Optional saveNameOptional = templateBySobId.stream().filter(po -> po.getTemplateName().equals(saveParam.getTemplateName()) && !po.getId().equals(saveParam.getId())).findFirst(); + if (saveNameOptional.isPresent()) { + throw new SalaryRunTimeException("该账套中已经存在同名模板,请重新设置后保存"); + } + // 更新 + SalaryAcctResultTemplatePO salaryAcctResultTemplatePO = getSalaryAcctResultTemplateService(user).getById(saveParam.getId()); + if (salaryAcctResultTemplatePO == null) { + throw new SalaryRunTimeException("模板不存在,或已被删除"); + } + salaryAcctResultTemplatePO.setSalaryItemIds(StringUtils.join(saveParam.getSalaryItemIds(), ",")); + salaryAcctResultTemplatePO.setTemplateName(saveParam.getTemplateName()); + salaryAcctResultTemplatePO.setUpdateTime(new Date()); + getSalaryAcctResultTemplateService(user).update(salaryAcctResultTemplatePO); + } else { + Optional saveNameOptional = templateBySobId.stream().filter(po -> po.getTemplateName().equals(saveParam.getTemplateName())).findFirst(); + if (saveNameOptional.isPresent()) { + throw new SalaryRunTimeException("该账套中已经存在同名模板,请重新设置后保存"); + } + // 新建 + Date now = new Date(); + getSalaryAcctResultTemplateService(user).insertIgnoreNull(SalaryAcctResultTemplatePO.builder() + .id(IdGenerator.generate()) + .salarySobId(saveParam.getSalarySobId()) + .salaryItemIds(StringUtils.join(saveParam.getSalaryItemIds(), ",")) + .templateName(saveParam.getTemplateName()) + .creator(Long.valueOf(user.getUID())) + .createTime(now) + .updateTime(now) + .deleteType(0) + .build()); + } + + } + + @Override + public void deleteExportTemplate(List templateIds) { + getSalaryAcctResultTemplateService(user).deleteByIds(templateIds); + } + + @Override + public Map getExportTemplateForm(Long templateId) { + SalaryAcctResultTemplatePO salaryAcctResultTemplatePO = getSalaryAcctResultTemplateService(user).getById(templateId); + if (salaryAcctResultTemplatePO == null) { + throw new SalaryRunTimeException("模板不存在或已被删除"); + } + Map resultMap = new HashMap<>(); + resultMap.put("checkItems", StringUtils.split(salaryAcctResultTemplatePO.getSalaryItemIds(), ",")); + return resultMap; + } + + @Override + public Map exportTemplateList(SalaryAcctResultTemplateSaveParam param) { + SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(param.getSalaryAcctRecordId()); + if (salaryAcctRecordPO == null){ + throw new SalaryRunTimeException("薪资核算记录为空"); + } + List salaryAcctResultTemplatePOS = getSalaryAcctResultTemplateService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId()); + if (StringUtils.isNotBlank(param.getTemplateName())) { + salaryAcctResultTemplatePOS = salaryAcctResultTemplatePOS.stream().filter(po -> po.getTemplateName().contains(param.getTemplateName())).collect(Collectors.toList()); + } + List resultList = new ArrayList<>(); + salaryAcctResultTemplatePOS.stream().forEach(po -> resultList.add(SalaryAcctResultTemplateDTO.builder().id(po.getId()).templateName(po.getTemplateName()).createTime(SalaryDateUtil.getFormatLocalDateTime(po.getCreateTime())).build())); + PageInfo pageInfo = SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), resultList, SalaryAcctResultTemplateDTO.class); + + Map resultMap = new HashMap<>(); + resultMap.put("pageInfo", pageInfo); + + return resultMap; + } // @Override // public Map exportCheckResult( // SalaryCheckResultExportParam exportParam, diff --git a/src/com/engine/salary/service/impl/SalaryAcctResultTemplateServiceImpl.java b/src/com/engine/salary/service/impl/SalaryAcctResultTemplateServiceImpl.java new file mode 100644 index 000000000..c79f314f8 --- /dev/null +++ b/src/com/engine/salary/service/impl/SalaryAcctResultTemplateServiceImpl.java @@ -0,0 +1,72 @@ +package com.engine.salary.service.impl; + +import com.engine.core.impl.Service; +import com.engine.salary.entity.salaryacct.po.SalaryAcctResultTemplatePO; +import com.engine.salary.mapper.salaryacct.SalaryAcctResultTemplateMapper; +import com.engine.salary.service.SalaryAcctResultTemplateService; +import com.engine.salary.util.db.MapperProxyFactory; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.Collections; +import java.util.List; + +/** + * @author Harryxzy + * @ClassName SalaryAcctResultTemplateServiceImpl + * @date 2024/03/26 15:30 + * @description + */ +public class SalaryAcctResultTemplateServiceImpl extends Service implements SalaryAcctResultTemplateService { + + private SalaryAcctResultTemplateMapper getSalaryAcctResultTemplateMapper() { + return MapperProxyFactory.getProxy(SalaryAcctResultTemplateMapper.class); + } + @Override + public List listAll() { + return getSalaryAcctResultTemplateMapper().listAll(); + } + + @Override + public SalaryAcctResultTemplatePO getById(Long id) { + return getSalaryAcctResultTemplateMapper().getById(id); + } + + @Override + public int insertIgnoreNull(SalaryAcctResultTemplatePO salaryAcctResultTemplate) { + return getSalaryAcctResultTemplateMapper().insertIgnoreNull(salaryAcctResultTemplate); + } + + @Override + public int update(SalaryAcctResultTemplatePO salaryAcctResultTemplate) { + return getSalaryAcctResultTemplateMapper().update(salaryAcctResultTemplate); + } + + @Override + public int updateIgnoreNull(SalaryAcctResultTemplatePO salaryAcctResultTemplate) { + return getSalaryAcctResultTemplateMapper().updateIgnoreNull(salaryAcctResultTemplate); + } + + @Override + public int deleteById(Long id) { + if (id == null) { + return 0; + } + return getSalaryAcctResultTemplateMapper().deleteById(id); + } + + @Override + public int deleteByIds(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return 0; + } + return getSalaryAcctResultTemplateMapper().deleteByIds(ids); + } + + @Override + public List listBySalarySobId(Long salarySobId) { + if (salarySobId == null) { + return Collections.emptyList(); + } + return getSalaryAcctResultTemplateMapper().listSome(SalaryAcctResultTemplatePO.builder().salarySobId(salarySobId).build()); + } +} diff --git a/src/com/engine/salary/web/SalaryAcctController.java b/src/com/engine/salary/web/SalaryAcctController.java index 6140d06d4..8effed3ee 100644 --- a/src/com/engine/salary/web/SalaryAcctController.java +++ b/src/com/engine/salary/web/SalaryAcctController.java @@ -591,6 +591,43 @@ public class SalaryAcctController { return new ResponseResult, String>(user).run(getSalaryAcctExcelService(user)::cacheExportField, param.getSalaryItems()); } + // 保存导出模板 + @POST + @Path("/acctresult/saveExportTemplate") + @Produces(MediaType.APPLICATION_JSON) + public String saveExportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultTemplateSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getSalaryAcctExcelService(user)::saveExportTemplate, param); + } + + // 删除导出模板 + @POST + @Path("/acctresult/deleteExportTemplate") + @Produces(MediaType.APPLICATION_JSON) + public String deleteExportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultTemplateSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult, String>(user).run(getSalaryAcctExcelService(user)::deleteExportTemplate, param.getIds()); + } + + // 获取导出模板详细信息 + @POST + @Path("/acctresult/getExportTemplateForm") + @Produces(MediaType.APPLICATION_JSON) + public String getExportTemplateForm(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultTemplateSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getSalaryAcctExcelService(user)::getExportTemplateForm, param.getId()); + } + + // 获取导出模列表 + @POST + @Path("/acctresult/exportTemplateList") + @Produces(MediaType.APPLICATION_JSON) + public String exportTemplateList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultTemplateSaveParam param) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getSalaryAcctExcelService(user)::exportTemplateList, param); + } + + //导出导入模板 @GET @Path("/acctresult/importtemplate/export")