Merge branch 'feature/qt' into develop
This commit is contained in:
commit
e9e03880d9
|
|
@ -46,4 +46,15 @@ public class SalaryArchiveBiz {
|
|||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void batchInsert(List<SalaryArchivePO> salaryArchiveSaves) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveMapper mapper = sqlSession.getMapper(SalaryArchiveMapper.class);
|
||||
mapper.batchInsert(salaryArchiveSaves);
|
||||
sqlSession.commit();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,4 +106,15 @@ public class SalaryArchiveItemBiz {
|
|||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteBySalaryArchiveId(List<Long> salaryArchiveIds) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
||||
mapper.deleteBySalaryArchiveId(salaryArchiveIds);
|
||||
sqlSession.commit();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,8 +25,52 @@ public class SalaryArchiveTaxAgentBiz {
|
|||
try {
|
||||
SalaryArchiveTaxAgentMapper mapper = sqlSession.getMapper(SalaryArchiveTaxAgentMapper.class);
|
||||
mapper.deleteBySalaryArchiveId(salaryArchiveIds);
|
||||
sqlSession.commit();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
public List<SalaryArchiveTaxAgentPO> getEffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveTaxAgentMapper mapper = sqlSession.getMapper(SalaryArchiveTaxAgentMapper.class);
|
||||
return mapper.getEffectiveTaxAgentList(build);
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
public List<SalaryArchiveTaxAgentPO> getIneffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveTaxAgentMapper mapper = sqlSession.getMapper(SalaryArchiveTaxAgentMapper.class);
|
||||
return mapper.getIneffectiveTaxAgentList(build);
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteBatchIds(List<Long> ids) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveTaxAgentMapper mapper = sqlSession.getMapper(SalaryArchiveTaxAgentMapper.class);
|
||||
mapper.deleteBatchIds(ids);
|
||||
sqlSession.commit();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void batchInsert(List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgentSaves) {
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveTaxAgentMapper mapper = sqlSession.getMapper(SalaryArchiveTaxAgentMapper.class);
|
||||
mapper.batchInsert(salaryArchiveTaxAgentSaves);
|
||||
sqlSession.commit();
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ public class AddUpDeductionImportCmd extends AbstractCommonCommand<Map<String, O
|
|||
// }
|
||||
try {
|
||||
|
||||
List<AddUpDeductionDTO> addUpDeductions = ExcelParseHelper.parse(fileInputStream, AddUpDeductionDTO.class, 0, 1, 12, "addUpDeductionTemplate.xlsx");
|
||||
List<AddUpDeductionDTO> addUpDeductions = ExcelParseHelper.parse2Map(fileInputStream, AddUpDeductionDTO.class, 0, 1, 12, "addUpDeductionTemplate.xlsx");
|
||||
|
||||
int total = addUpDeductions.size();
|
||||
int index = 0;
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ public class AddUpDeductionPreviewCmd extends AbstractCommonCommand<Map<String,
|
|||
// e.printStackTrace();
|
||||
// }
|
||||
try {
|
||||
List<AddUpDeductionDTO> addUpDeductions = ExcelParseHelper.parse(fileInputStream, AddUpDeductionDTO.class, 0, 1, 12, "addUpDeductionTemplate.xlsx");
|
||||
List<AddUpDeductionDTO> addUpDeductions = ExcelParseHelper.parse2Map(fileInputStream, AddUpDeductionDTO.class, 0, 1, 12, "addUpDeductionTemplate.xlsx");
|
||||
apidatas.put("preview", addUpDeductions);
|
||||
} finally {
|
||||
IOUtils.closeQuietly(fileInputStream);
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ public class AddUpSituationImportCmd extends AbstractCommonCommand<Map<String, O
|
|||
// }
|
||||
try {
|
||||
|
||||
List<AddUpSituationDTO> excelDates = ExcelParseHelper.parse(fileInputStream, AddUpSituationDTO.class, 0, 1, 21, "template.xlsx");
|
||||
List<AddUpSituationDTO> excelDates = ExcelParseHelper.parse2Map(fileInputStream, AddUpSituationDTO.class, 0, 1, 21, "template.xlsx");
|
||||
|
||||
int total = excelDates.size();
|
||||
int index = 0;
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ public class AddUpSituationPreviewCmd extends AbstractCommonCommand<Map<String,
|
|||
// e.printStackTrace();
|
||||
// }
|
||||
try {
|
||||
List<AddUpSituationDTO> excelDates = ExcelParseHelper.parse(fileInputStream, AddUpSituationDTO.class, 0, 1, 21, "template.xlsx");
|
||||
List<AddUpSituationDTO> excelDates = ExcelParseHelper.parse2Map(fileInputStream, AddUpSituationDTO.class, 0, 1, 21, "template.xlsx");
|
||||
apidatas.put("preview", excelDates);
|
||||
} finally {
|
||||
IOUtils.closeQuietly(fileInputStream);
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ public class OtherDeductionImportCmd extends AbstractCommonCommand<Map<String, O
|
|||
// }
|
||||
try {
|
||||
|
||||
List<OtherDeductionListDTO> OtherDeductions = ExcelParseHelper.parse(fileInputStream, OtherDeductionListDTO.class, 0, 1, 11, "OtherDeductionTemplate.xlsx");
|
||||
List<OtherDeductionListDTO> OtherDeductions = ExcelParseHelper.parse2Map(fileInputStream, OtherDeductionListDTO.class, 0, 1, 11, "OtherDeductionTemplate.xlsx");
|
||||
|
||||
int total = OtherDeductions.size();
|
||||
int index = 0;
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ public class OtherDeductionPreviewCmd extends AbstractCommonCommand<Map<String,
|
|||
// e.printStackTrace();
|
||||
// }
|
||||
try {
|
||||
List<OtherDeductionListDTO> OtherDeductions = ExcelParseHelper.parse(fileInputStream, OtherDeductionListDTO.class, 0, 1, 11, "OtherDeductionTemplate.xlsx");
|
||||
List<OtherDeductionListDTO> OtherDeductions = ExcelParseHelper.parse2Map(fileInputStream, OtherDeductionListDTO.class, 0, 1, 11, "OtherDeductionTemplate.xlsx");
|
||||
apidatas.put("preview", OtherDeductions);
|
||||
} finally {
|
||||
IOUtils.closeQuietly(fileInputStream);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 薪资项目调整
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -23,9 +25,9 @@ public class SalaryArchiveItemFormDTO {
|
|||
//薪资档案id")
|
||||
private Long salaryArchiveId;
|
||||
|
||||
// //基本调整信息")
|
||||
// private WeaForm salaryArchiveItemForm;
|
||||
//
|
||||
// //薪资项目调整明细")
|
||||
// private EditableTable salaryArchiveItemDetail;
|
||||
//基本调整信息")
|
||||
private Map<String,Object> salaryArchiveItemForm;
|
||||
|
||||
//薪资项目调整明细")
|
||||
private Map<String,Object> salaryArchiveItemDetail;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
|
@ -100,7 +99,7 @@ public class SalaryItemAdjustRecordListDTO {
|
|||
// tableColumn = @TableColumn(width = "100")
|
||||
// )
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate effectiveTime;
|
||||
private Date effectiveTime;
|
||||
|
||||
//操作人")
|
||||
// @WeaFormat(
|
||||
|
|
|
|||
|
|
@ -53,6 +53,8 @@ public class SalaryArchiveTaxAgentPO {
|
|||
//调整原因")
|
||||
private String adjustReason;
|
||||
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 个税扣缴义务人的主键id
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.engine.salary.enums.salaryarchive;
|
||||
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Description: 薪资档案-薪资项目调整原因
|
||||
|
|
@ -53,4 +56,9 @@ public enum SalaryArchiveItemAdjustReasonEnum {
|
|||
}
|
||||
return "";
|
||||
}
|
||||
public static String getDefaultLabelByValue(String value) {
|
||||
Optional<SalaryArchiveItemAdjustReasonEnum> optionalAdjustReason = Arrays.stream(SalaryArchiveItemAdjustReasonEnum.values()).filter(r->r.getValue().equals(value)).findFirst();
|
||||
return optionalAdjustReason.isPresent()? SalaryI18nUtil.getI18nLabel(optionalAdjustReason.get().getLabelId(), optionalAdjustReason.get().getDefaultLabel()):"";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,9 @@ alter table hrsa_salary_sob_emp_field modify id bigint auto_increment;
|
|||
alter table hrsa_salary_sob_adjust_rule modify id bigint auto_increment;
|
||||
alter table hrsa_salary_sob_check_rule modify id bigint auto_increment;
|
||||
alter table hrsa_salary_archive_dimission modify id bigint auto_increment;
|
||||
|
||||
alter table hrsa_salary_archive modify id bigint auto_increment;
|
||||
alter table hrsa_salary_archive_tax_agent modify id bigint auto_increment;
|
||||
alter table hrsa_salary_archive_item modify id bigint auto_increment;
|
||||
|
||||
|
||||
--福利方案主键自增增加
|
||||
|
|
|
|||
|
|
@ -73,16 +73,6 @@ public interface SalaryArchiveItemMapper {
|
|||
*/
|
||||
void batchInsert(@Param("collection") List<SalaryArchiveItemPO> salaryArchiveItemSaves);
|
||||
|
||||
/**
|
||||
* 分页查询薪资项目调整记录列表
|
||||
* @param page
|
||||
* @param param
|
||||
* @param salaryItemIds
|
||||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
// IPage<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordList(Page<SalaryItemAdjustRecordListDTO> page, @Param("param") SalaryItemAdjustRecordQueryParam param, @Param("salaryItemIds") List<Long> salaryItemIds, @Param("tenantKey") String tenantKey);
|
||||
|
||||
/**
|
||||
* 查询薪资项目调整记录列表
|
||||
* @param param
|
||||
|
|
@ -98,7 +88,8 @@ public interface SalaryArchiveItemMapper {
|
|||
|
||||
List<SalaryArchiveItemPO> getEffectiveSalaryItems(@Param("param") SalaryArchiveItemQueryParam build);
|
||||
|
||||
void deleteBatchIds(@Param("param") List<Long> effectiveSalaryItemDels);
|
||||
void deleteBatchIds(@Param("effectiveSalaryItemDels") List<Long> effectiveSalaryItemDels);
|
||||
|
||||
|
||||
void deleteBySalaryArchiveId(@Param("salaryArchiveIds") List<Long> salaryArchiveIds);
|
||||
}
|
||||
|
|
@ -439,7 +439,7 @@
|
|||
LEFT JOIN hrsa_salary_item t2 ON t2.id = t1.salary_item_id
|
||||
WHERE
|
||||
t1. t1.delete_type = 0
|
||||
AND e.status != 'unavailable' AND e.tenant_key = #{tenantKey}
|
||||
AND e.status != '7'
|
||||
<if test="salaryItemIds != null and salaryItemIds.size()>0">
|
||||
AND t1.salary_item_id IN
|
||||
<foreach collection="salaryItemIds" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -486,7 +486,7 @@
|
|||
LEFT JOIN hrsa_salary_item t2 ON t2.id = t1.salary_item_id
|
||||
WHERE
|
||||
t1. t1.delete_type = 0
|
||||
AND e.status != 'unavailable' AND e.tenant_key = #{tenantKey}
|
||||
AND e.status != '7'
|
||||
<if test="salaryItemIds != null and salaryItemIds.size()>0">
|
||||
AND t1.salary_item_id IN
|
||||
<foreach collection="salaryItemIds" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -593,7 +593,7 @@
|
|||
LEFT JOIN hrsa_salary_item t2 ON t2.id = t1.salary_item_id
|
||||
WHERE
|
||||
t1. t1.delete_type = 0
|
||||
AND e.status != 'unavailable' AND e.tenant_key = #{tenantKey}
|
||||
AND e.status != '7'
|
||||
<if test="salaryItemIds != null and salaryItemIds.size()>0">
|
||||
AND t1.salary_item_id IN
|
||||
<foreach collection="salaryItemIds" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -896,7 +896,7 @@
|
|||
</if>
|
||||
<if test="param.salaryArchivesIds != null and param.salaryArchivesIds.size()>0">
|
||||
AND t.salary_archive_id IN
|
||||
<foreach collection="param.ids" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
<foreach collection="param.salaryArchivesIds" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{param.salaryArchiveId}
|
||||
</foreach>
|
||||
</if>
|
||||
|
|
@ -920,7 +920,7 @@
|
|||
</if>
|
||||
<if test="param.salaryItemIds != null and param.salaryItemIds.size()>0">
|
||||
AND t.salary_item_id IN
|
||||
<foreach collection="param.ids" open="(" item="salaryItemId" separator="," close=")">
|
||||
<foreach collection="param.salaryItemIds" open="(" item="salaryItemId" separator="," close=")">
|
||||
#{param.salaryItemId}
|
||||
</foreach>
|
||||
</if>
|
||||
|
|
@ -944,7 +944,7 @@
|
|||
</if>
|
||||
<if test="param.salaryItemIds != null and param.salaryItemIds.size()>0">
|
||||
AND t.salary_item_id IN
|
||||
<foreach collection="param.ids" open="(" item="salaryItemId" separator="," close=")">
|
||||
<foreach collection="param.salaryItemIds" open="(" item="salaryItemId" separator="," close=")">
|
||||
#{param.salaryItemId}
|
||||
</foreach>
|
||||
</if>
|
||||
|
|
@ -965,5 +965,16 @@
|
|||
</foreach>
|
||||
</update>
|
||||
|
||||
<update id="deleteBySalaryArchiveId">
|
||||
UPDATE hrsa_salary_archive_item
|
||||
SET delete_type = 1
|
||||
WHERE delete_type = 0
|
||||
AND salary_archive_id IN
|
||||
<foreach collection="salaryArchiveIds" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{salaryArchiveId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -2,7 +2,6 @@ package com.engine.salary.mapper.archive;
|
|||
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveEmployeePO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
|
|
@ -74,14 +73,6 @@ public interface SalaryArchiveMapper {
|
|||
*/
|
||||
List<SalaryArchiveListDTO> list(@Param("param") SalaryArchiveQueryParam param);
|
||||
|
||||
/**
|
||||
* 分页查询薪资档案列表
|
||||
* @param page
|
||||
* @param param
|
||||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
// IPage<SalaryArchiveListDTO> list(Page<SalaryArchiveListDTO> page, @Param("param") SalaryArchiveQueryParam param);
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -96,10 +87,5 @@ public interface SalaryArchiveMapper {
|
|||
*/
|
||||
void batchInsert(@Param("collection") List<SalaryArchivePO> salaryArchiveSaves);
|
||||
|
||||
/**
|
||||
* 员工信息列表
|
||||
* @return
|
||||
*/
|
||||
List<SalaryArchiveEmployeePO> listEmployee();
|
||||
|
||||
}
|
||||
|
|
@ -183,16 +183,18 @@
|
|||
</delete>
|
||||
|
||||
|
||||
|
||||
<sql id="salaryArchiveColumn">
|
||||
t1.id,
|
||||
t1
|
||||
.
|
||||
id
|
||||
,
|
||||
t1.employee_id,
|
||||
e.mobile,
|
||||
e.lastname as username,
|
||||
e.status AS employeeStatus,
|
||||
d.departmentname AS departmentName
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<sql id="paramSql">
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
|
|
@ -229,7 +231,7 @@
|
|||
</if>
|
||||
<!-- 入职日期 -->
|
||||
<if test="param.hiredate != null and param.hiredate.size() == 2">
|
||||
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
</if>
|
||||
</sql>
|
||||
<sql id="paramSql" databaseId="oracle">
|
||||
|
|
@ -245,9 +247,6 @@
|
|||
</if>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -267,7 +266,7 @@
|
|||
</if>
|
||||
|
||||
<if test="param.hiredate != null and param.hiredate.size() == 2">
|
||||
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
</if>
|
||||
</sql>
|
||||
<sql id="paramSql" databaseId="sqlserver">
|
||||
|
|
@ -283,9 +282,6 @@
|
|||
</if>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -305,7 +301,7 @@
|
|||
</if>
|
||||
|
||||
<if test="param.hiredate != null and param.hiredate.size() == 2">
|
||||
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
|
|
@ -317,7 +313,7 @@
|
|||
hrsa_salary_archive t1
|
||||
LEFT JOIN hrmresource e ON e.id = t1.employee_id
|
||||
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
|
||||
WHERE t1.delete_type = 0
|
||||
WHERE t1.delete_type = 0
|
||||
<include refid="paramSql"/>
|
||||
ORDER BY t1.id DESC
|
||||
</select>
|
||||
|
|
@ -329,13 +325,13 @@
|
|||
e.mobile,
|
||||
e.lastname as username,
|
||||
e.status AS employeeStatus,
|
||||
d.departmentname AS departmentName
|
||||
d.departmentname AS departmentName
|
||||
|
||||
FROM
|
||||
hrsa_salary_archive t1
|
||||
LEFT JOIN hrmresource e ON e.id = t1.employee_id
|
||||
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
|
||||
WHERE t1.delete_type = 0
|
||||
WHERE t1.delete_type = 0
|
||||
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND t1.id IN
|
||||
|
|
@ -343,15 +339,9 @@
|
|||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
<if test="param.username != null and param.username != ''">
|
||||
AND e.lastname like '%'||#{param.username}||'%'
|
||||
</if>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -371,12 +361,13 @@
|
|||
</if>
|
||||
|
||||
<if test="param.hiredate != null and param.hiredate.size() == 2">
|
||||
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
</if>
|
||||
|
||||
ORDER BY t1.id DESC
|
||||
</select>
|
||||
<select id="list" resultType="com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO" databaseId="sqlserver">
|
||||
<select id="list" resultType="com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO"
|
||||
databaseId="sqlserver">
|
||||
SELECT
|
||||
|
||||
t1.id,
|
||||
|
|
@ -384,13 +375,13 @@
|
|||
e.mobile,
|
||||
e.lastname as username,
|
||||
e.status AS employeeStatus,
|
||||
d.departmentname AS departmentName
|
||||
d.departmentname AS departmentName
|
||||
|
||||
FROM
|
||||
hrsa_salary_archive t1
|
||||
LEFT JOIN hrmresource e ON e.id = t1.employee_id
|
||||
LEFT JOIN hrmdepartment d ON d.id = e.departmentid
|
||||
WHERE t1.delete_type = 0
|
||||
WHERE t1.delete_type = 0
|
||||
|
||||
<if test="param.ids != null and param.ids.size()>0">
|
||||
AND t1.id IN
|
||||
|
|
@ -402,11 +393,6 @@
|
|||
<if test="param.username != null and param.username != ''">
|
||||
AND e.lastname like '%'+#{param.username}+'%'
|
||||
</if>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
|
|
@ -426,7 +412,7 @@
|
|||
</if>
|
||||
|
||||
<if test="param.hiredate != null and param.hiredate.size() == 2">
|
||||
AND (e.hiredate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
|
||||
</if>
|
||||
|
||||
ORDER BY t1.id DESC
|
||||
|
|
|
|||
|
|
@ -65,5 +65,17 @@ public interface SalaryArchiveTaxAgentMapper {
|
|||
|
||||
List<SalaryArchiveTaxAgentPO> listByParam(@Param("param") SalaryArchiveTaxAgentQueryParam build);
|
||||
|
||||
void deleteBySalaryArchiveId(List<Long> salaryArchiveIds);
|
||||
void deleteBySalaryArchiveId(@Param("collection")List<Long> salaryArchiveIds);
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> getEffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build);
|
||||
|
||||
List<SalaryArchiveTaxAgentPO> getIneffectiveTaxAgentList(SalaryArchiveTaxAgentQueryParam build);
|
||||
|
||||
void deleteBatchIds(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
* @param salaryArchiveTaxAgentSaves
|
||||
*/
|
||||
void batchInsert(@Param("collection") List<SalaryArchiveTaxAgentPO> salaryArchiveTaxAgentSaves);
|
||||
}
|
||||
|
|
@ -321,10 +321,120 @@
|
|||
SET delete_type = 1
|
||||
WHERE delete_type = 0
|
||||
AND salary_archive_id IN
|
||||
<foreach collection="salaryArchiveIds" open="(" item="salaryArchiveIds" separator="," close=")">
|
||||
#{salaryArchiveIds}
|
||||
<foreach collection="collection" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{salaryArchiveId}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="getEffectiveTaxAgentList" resultMap="BaseResultMap"
|
||||
parameterType="com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_salary_archive_tax_agent t
|
||||
WHERE delete_type = 0
|
||||
AND t.effective_time <= #{effectiveTime}
|
||||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
<select id="getIneffectiveTaxAgentList" resultMap="BaseResultMap"
|
||||
parameterType="com.engine.salary.entity.salaryarchive.po.SalaryArchiveTaxAgentPO">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hrsa_salary_archive_tax_agent t
|
||||
WHERE delete_type = 0
|
||||
AND t.effective_time >= #{effectiveTime}
|
||||
ORDER BY t.effective_time DESC
|
||||
</select>
|
||||
|
||||
<update id="deleteBatchIds">
|
||||
UPDATE hrsa_salary_archive_tax_agent
|
||||
SET delete_type = 1
|
||||
WHERE delete_type = 0
|
||||
AND id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
|
||||
<sql id="salaryArchiveTaxAgentColumn">
|
||||
salary_archive_id
|
||||
,
|
||||
employee_id,
|
||||
effective_time,
|
||||
adjust_reason,
|
||||
tax_agent_id,
|
||||
operator,
|
||||
operate_time,
|
||||
create_time,
|
||||
update_time,
|
||||
creator,
|
||||
tenant_key
|
||||
</sql>
|
||||
|
||||
|
||||
<insert id="batchInsert">
|
||||
INSERT INTO hrsa_salary_archive_tax_agent (
|
||||
<include refid="salaryArchiveTaxAgentColumn"/>
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="collection" item="item" separator=",">
|
||||
(
|
||||
#{item.salaryArchiveId},
|
||||
#{item.employeeId},
|
||||
#{item.effectiveTime},
|
||||
#{item.adjustReason},
|
||||
#{item.taxAgentId},
|
||||
#{item.operator},
|
||||
#{item.operateTime},
|
||||
#{item.createTime},
|
||||
#{item.updateTime},
|
||||
#{item.creator},
|
||||
#{item.tenantKey}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
<insert id="batchInsert" databaseId="oracle">
|
||||
INSERT INTO hrsa_salary_archive_tax_agent (
|
||||
<include refid="salaryArchiveTaxAgentColumn"/>
|
||||
)
|
||||
<foreach collection="collection" item="item" separator="union all">
|
||||
select
|
||||
#{item.salaryArchiveId},
|
||||
#{item.employeeId},
|
||||
#{item.effectiveTime},
|
||||
#{item.adjustReason},
|
||||
#{item.taxAgentId},
|
||||
#{item.operator},
|
||||
#{item.operateTime},
|
||||
#{item.createTime},
|
||||
#{item.updateTime},
|
||||
#{item.creator},
|
||||
#{item.tenantKey}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
<insert id="batchInsert" databaseId="sqlserver">
|
||||
INSERT INTO hrsa_salary_archive_tax_agent (
|
||||
<include refid="salaryArchiveTaxAgentColumn"/>
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="collection" item="item" separator=",">
|
||||
(
|
||||
#{item.salaryArchiveId},
|
||||
#{item.employeeId},
|
||||
#{item.effectiveTime},
|
||||
#{item.adjustReason},
|
||||
#{item.taxAgentId},
|
||||
#{item.operator},
|
||||
#{item.operateTime},
|
||||
#{item.createTime},
|
||||
#{item.updateTime},
|
||||
#{item.creator},
|
||||
#{item.tenantKey}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -4,6 +4,7 @@ import com.engine.salary.common.LocalDateRange;
|
|||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveDimissionSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveDimissionPO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
|
|
@ -75,20 +76,14 @@ public interface SalaryArchiveService {
|
|||
/**
|
||||
* 导出薪资档案列表
|
||||
*
|
||||
* @param map
|
||||
* @param username
|
||||
* @param eteamsId
|
||||
* @param queryParam
|
||||
* @throws Exception
|
||||
*/
|
||||
void exportList(Map<String, Object> map, String username, String eteamsId, SalaryArchiveQueryParam queryParam);
|
||||
XSSFWorkbook exportList(SalaryArchiveQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 下载导入模板
|
||||
*
|
||||
* @param map
|
||||
* @param username
|
||||
* @param eteamsId
|
||||
* @param salaryArchiveImportTypeEnum
|
||||
* @param queryParam
|
||||
* @return
|
||||
|
|
@ -97,7 +92,6 @@ public interface SalaryArchiveService {
|
|||
|
||||
/**
|
||||
* 获取离职时段设置
|
||||
*
|
||||
*/
|
||||
List<SalaryArchiveDimissionPO> dimissionSets();
|
||||
|
||||
|
|
@ -113,7 +107,7 @@ public interface SalaryArchiveService {
|
|||
* 根据日期范围与人员id获取薪资档案-薪资项目数据
|
||||
*
|
||||
* @param localDateRange
|
||||
* @param employeeIds 为空则返回所有人的
|
||||
* @param employeeIds 为空则返回所有人的
|
||||
* @return
|
||||
*/
|
||||
List<SalaryArchiveDataDTO> getSalaryArchiveData(LocalDateRange localDateRange, Collection<Long> employeeIds);
|
||||
|
|
@ -122,8 +116,14 @@ public interface SalaryArchiveService {
|
|||
* 根据日期范围与人员id获取薪资档案-个税扣缴义务人数据
|
||||
*
|
||||
* @param localDateRange
|
||||
* @param employeeIds 为空则返回所有人的
|
||||
* @param employeeIds 为空则返回所有人的
|
||||
* @return
|
||||
*/
|
||||
List<SalaryArchiveDataDTO> getSalaryArchiveTaxAgentData(LocalDateRange localDateRange, Collection<Long> employeeIds);
|
||||
|
||||
void importSalaryArchive(SalaryArchiveImportHandleParam param);
|
||||
|
||||
Map<String, Object> preview(SalaryArchiveImportHandleParam param);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -38,8 +38,8 @@ public class ExcelParseHelper {
|
|||
* @param standardCellNum 模板验证,该sheet应有多少列
|
||||
* @return
|
||||
*/
|
||||
public static <T> List<T> parse(MultipartFile file, Class<T> clazz, int sheetIndex, int rowIndex, int standardCellNum) {
|
||||
List<List<String>> result = parse(file, sheetIndex, rowIndex, standardCellNum);
|
||||
public static <T> List<T> parse2Map(MultipartFile file, Class<T> clazz, int sheetIndex, int rowIndex, int standardCellNum) {
|
||||
List<List<String>> result = parse2Map(file, sheetIndex, rowIndex, standardCellNum);
|
||||
List<T> list = new ArrayList<T>();
|
||||
for (List<String> rowDatas : result) {
|
||||
T t = setField(clazz, rowDatas);
|
||||
|
|
@ -59,8 +59,8 @@ public class ExcelParseHelper {
|
|||
* @param fileName 文件名
|
||||
* @return
|
||||
*/
|
||||
public static <T> List<T> parse(InputStream file, Class<T> clazz, int sheetIndex, int rowIndex, int standardCellNum, String fileName) {
|
||||
List<List<String>> result = parse(file, sheetIndex, rowIndex, standardCellNum, fileName);
|
||||
public static <T> List<T> parse2Map(InputStream file, Class<T> clazz, int sheetIndex, int rowIndex, int standardCellNum, String fileName) {
|
||||
List<List<String>> result = parse2Map(file, sheetIndex, rowIndex, standardCellNum, fileName);
|
||||
List<T> list = new ArrayList<T>();
|
||||
for (List<String> rowDatas : result) {
|
||||
T t = setField(clazz, rowDatas);
|
||||
|
|
@ -77,7 +77,7 @@ public class ExcelParseHelper {
|
|||
* @param rowIndex 从第几行开始解析,第一行为 0,依次类推
|
||||
* @return 二维数据集合
|
||||
*/
|
||||
private static List<List<String>> parse(MultipartFile file, int sheetIndex, int rowIndex, int standardCellNum) {
|
||||
private static List<List<String>> parse2Map(MultipartFile file, int sheetIndex, int rowIndex, int standardCellNum) {
|
||||
Sheet sheet = ExcelSupport.parseFile(file, sheetIndex);
|
||||
int rowCount = sheet.getPhysicalNumberOfRows(); // 总行数
|
||||
int cellCount = sheet.getRow(PARSE_EXCEL_ROW_VALID_CELL_INDEX).getPhysicalNumberOfCells(); // 总列数
|
||||
|
|
@ -103,7 +103,7 @@ public class ExcelParseHelper {
|
|||
* @param rowIndex 从第几行开始解析,第一行为 0,依次类推
|
||||
* @return 二维数据集合
|
||||
*/
|
||||
private static List<List<String>> parse(InputStream file, int sheetIndex, int rowIndex, int standardCellNum, String fileName) {
|
||||
private static List<List<String>> parse2Map(InputStream file, int sheetIndex, int rowIndex, int standardCellNum, String fileName) {
|
||||
Sheet sheet = ExcelSupport.parseFile(file, sheetIndex, fileName);
|
||||
int rowCount = sheet.getPhysicalNumberOfRows(); // 总行数
|
||||
int cellCount = sheet.getRow(PARSE_EXCEL_ROW_VALID_CELL_INDEX).getPhysicalNumberOfCells(); // 总列数
|
||||
|
|
@ -129,7 +129,7 @@ public class ExcelParseHelper {
|
|||
* @param rowIndex 从哪行开始解析
|
||||
* @return
|
||||
*/
|
||||
public static List<Map<String, Object>> parse(InputStream file, int sheetIndex, int rowIndex) {
|
||||
public static List<Map<String, Object>> parse2Map(InputStream file, int sheetIndex, int rowIndex) {
|
||||
Sheet sheet = ExcelSupport.parseFile(file, sheetIndex, EXCEL_TYPE_XLSX);
|
||||
int rowCount = sheet.getPhysicalNumberOfRows(); // 总行数
|
||||
int cellCount = sheet.getRow(PARSE_EXCEL_ROW_VALID_CELL_INDEX).getPhysicalNumberOfCells(); // 总列数
|
||||
|
|
@ -150,6 +150,51 @@ public class ExcelParseHelper {
|
|||
|
||||
|
||||
|
||||
/**
|
||||
* 将sheet数据转为map
|
||||
* @param rowIndex 从哪行开始解析
|
||||
* @return
|
||||
*/
|
||||
public static List<Map<String, Object>> parse2Map(Sheet sheet, int rowIndex) {
|
||||
int rowCount = sheet.getPhysicalNumberOfRows(); // 总行数
|
||||
int cellCount = sheet.getRow(PARSE_EXCEL_ROW_VALID_CELL_INDEX).getPhysicalNumberOfCells(); // 总列数
|
||||
|
||||
List<String> sheetHeader = ExcelSupport.getSheetHeader(sheet, PARSE_EXCEL_ROW_VALID_CELL_INDEX);
|
||||
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
for (; rowIndex < rowCount; rowIndex++) {
|
||||
Map<String, Object> cellResult = new HashMap<>();
|
||||
for (int j = 0; j < cellCount; j++) {
|
||||
String key = sheetHeader.get(j);
|
||||
cellResult.put(key, ExcelSupport.getCellValue(sheet, rowIndex, j));
|
||||
}
|
||||
result.add(cellResult);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将sheet数据转为List
|
||||
* @param rowIndex 从哪行开始解析
|
||||
* @return
|
||||
*/
|
||||
public static List<List<String>> parse2List(Sheet sheet, int rowIndex) {
|
||||
int rowCount = sheet.getPhysicalNumberOfRows(); // 总行数
|
||||
int cellCount = sheet.getRow(PARSE_EXCEL_ROW_VALID_CELL_INDEX).getPhysicalNumberOfCells(); // 总列数
|
||||
|
||||
List<List<String>> result = new ArrayList<List<String>>();
|
||||
for (; rowIndex < rowCount; rowIndex++) {
|
||||
List<String> cellResult = new ArrayList<String>();
|
||||
for (int j = 0; j < cellCount; j++) {
|
||||
cellResult.add(ExcelSupport.getCellValue(sheet, rowIndex, j));
|
||||
}
|
||||
result.add(cellResult);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 为对象的每一个属性赋值
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,9 +1,15 @@
|
|||
package com.engine.salary.web;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveDimissionSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveImportTypeEnum;
|
||||
import com.engine.salary.util.ResponseResult;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.wrapper.SalaryArchiveItemWrapper;
|
||||
import com.engine.salary.wrapper.SalaryArchiveWrapper;
|
||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
|
@ -41,29 +47,14 @@ public class SalaryArchiveController {
|
|||
private SalaryArchiveWrapper getSalaryArchiveWrapper(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveWrapper.class, user);
|
||||
}
|
||||
//
|
||||
// @Autowired
|
||||
// private SalaryArchiveWrapper salaryArchiveWrapper;
|
||||
// @Autowired
|
||||
// private SalaryArchiveItemWrapper salaryArchiveItemWrapper;
|
||||
|
||||
private SalaryArchiveItemWrapper getSalaryArchiveItemWrapper(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveItemWrapper.class, user);
|
||||
}
|
||||
// private SalaryArchiveTaxAgentWrapper salaryArchiveTaxAgentWrapper;
|
||||
|
||||
|
||||
// /******** 薪资档案主表 start ***********************************************************************************************/
|
||||
// /**
|
||||
// * 薪资档案列表的高级搜索
|
||||
// *
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/getSearchCondition")
|
||||
// @ApiOperation("薪资档案列表的高级搜索")
|
||||
// @WeaPermission
|
||||
// public WeaResult<WeaSearchCondition> getSearchCondition() {
|
||||
// return WeaResult.success(salaryArchiveWrapper.getSearchCondition(UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 薪资档案列表
|
||||
|
|
@ -76,22 +67,38 @@ public class SalaryArchiveController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveQueryParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryArchiveQueryParam, Map<String, Object>>().run(getSalaryArchiveWrapper(user)::list, queryParam);
|
||||
return new ResponseResult<SalaryArchiveQueryParam, PageInfo<Map<String, Object>>>().run(getSalaryArchiveWrapper(user)::list, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出薪资档案
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/exportList")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
SalaryArchiveQueryParam queryParam = buildParam(request);
|
||||
|
||||
// /**
|
||||
// * 导出薪资档案
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/exportList")
|
||||
// @ApiOperation("导出薪资档案")
|
||||
// @WeaPermission
|
||||
// public WeaResult<Map<String, Object>> exportList(@RequestBody SalaryArchiveQueryParam queryParam) throws Exception {
|
||||
// return WeaResult.success(salaryArchiveWrapper.exportList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
XSSFWorkbook workbook = getSalaryArchiveWrapper(user).exportList(queryParam);
|
||||
|
||||
String fileName = "薪资档案";
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
StreamingOutput output = outputStream -> {
|
||||
workbook.write(outputStream);
|
||||
outputStream.flush();
|
||||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取薪资档案详情表单
|
||||
|
|
@ -108,7 +115,7 @@ public class SalaryArchiveController {
|
|||
if (StringUtils.isNotBlank(salaryArchiveIdStr)) {
|
||||
salaryArchiveId = Long.valueOf(salaryArchiveIdStr);
|
||||
}
|
||||
return new ResponseResult<Long, Map<String, Object>>().run(getSalaryArchiveWrapper(user)::getFrom, salaryArchiveId);
|
||||
return new ResponseResult<Long, SalaryArchiveFormDTO>().run(getSalaryArchiveWrapper(user)::getFrom, salaryArchiveId);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -165,9 +172,12 @@ public class SalaryArchiveController {
|
|||
|
||||
XSSFWorkbook workbook = getSalaryArchiveWrapper(user).downloadTemplate(queryParam);
|
||||
|
||||
String fileName = null;
|
||||
SalaryArchiveImportTypeEnum importTypeEnum = SalaryArchiveImportTypeEnum.parseByValue(queryParam.getImportType());
|
||||
|
||||
String fileName = "薪资档案导入模板-" + importTypeEnum.getDefaultLabel();
|
||||
|
||||
try {
|
||||
fileName = URLEncoder.encode("累计情况.xlsx", "UTF-8");
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
@ -178,9 +188,7 @@ public class SalaryArchiveController {
|
|||
};
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
return Response.ok(output)
|
||||
.header("Content-disposition", "attachment;filename=" + fileName)
|
||||
.header("Cache-Control", "no-cache").build();
|
||||
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
@ -221,20 +229,28 @@ public class SalaryArchiveController {
|
|||
return param;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 获取导入参数
|
||||
// *
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/getImportParams")
|
||||
// @ApiOperation("获取导入参数")
|
||||
// @WeaPermission
|
||||
// public WeaResult<ExcelImportParam> getImportParams() {
|
||||
// return WeaResult.success(salaryArchiveWrapper.getImportParams());
|
||||
// }
|
||||
// /******** 薪资档案主表 end ***********************************************************************************************/
|
||||
//
|
||||
// /******** 薪资项目调整 start ***********************************************************************************************/
|
||||
|
||||
@POST
|
||||
@Path("/preview")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String preview(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveImportHandleParam importParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryArchiveImportHandleParam, Map<String, Object>>().run(getSalaryArchiveWrapper(user)::preview, importParam);
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/importSalaryArchive")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String importSalaryArchive(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveImportHandleParam importParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryArchiveImportHandleParam, Map<String, Object>>().run(getSalaryArchiveWrapper(user)::importSalaryArchive, importParam);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ******** 薪资档案主表 end ***********************************************************************************************/
|
||||
|
||||
// ******** 薪资项目调整 start ***********************************************************************************************/
|
||||
// /**
|
||||
// * 通过薪资档案id获取薪资项目调整表单
|
||||
// *
|
||||
|
|
@ -260,20 +276,25 @@ public class SalaryArchiveController {
|
|||
// public WeaResult<String> getSalaryItemAdjustBeforeValue(@RequestBody SalaryItemAdjustBeforeParam adjustBeforeParam) {
|
||||
// return WeaResult.success(salaryArchiveItemWrapper.getSalaryItemAdjustBeforeValue(adjustBeforeParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 通过薪资档案的薪资项目id获取薪资项目调整表单
|
||||
// *
|
||||
// * @param salaryArchiveItemId
|
||||
// * @return
|
||||
// */
|
||||
// @GetMapping("/getSalaryItemFormBySalaryArchiveItemId")
|
||||
// @ApiOperation("获取薪资项目调整表单")
|
||||
// @WeaPermission
|
||||
// public WeaResult<SalaryArchiveItemFormDTO> getSalaryItemFormBySalaryArchiveItemId(@RequestParam(value = "salaryArchiveItemId") Long salaryArchiveItemId) {
|
||||
// return WeaResult.success(salaryArchiveItemWrapper.getSalaryItemFormBySalaryArchiveItemId(salaryArchiveItemId, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
|
||||
// }
|
||||
//
|
||||
|
||||
/**
|
||||
* 通过薪资档案的薪资项目id获取薪资项目调整表单
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GET
|
||||
@Path("/getSalaryItemFormBySalaryArchiveItemId")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String getSalaryItemFormBySalaryArchiveItemId(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
String salaryArchiveItemIdStr = request.getParameter("salaryArchiveItemId");
|
||||
Long salaryArchiveItemId = null;
|
||||
if (StringUtils.isNotBlank(salaryArchiveItemIdStr)) {
|
||||
salaryArchiveItemId = Long.valueOf(salaryArchiveItemIdStr);
|
||||
}
|
||||
return new ResponseResult<Long, SalaryArchiveItemFormDTO>().run(getSalaryArchiveItemWrapper(user)::getSalaryItemFormBySalaryArchiveItemId,salaryArchiveItemId);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 保存薪资项目调整
|
||||
// *
|
||||
|
|
|
|||
|
|
@ -0,0 +1,286 @@
|
|||
package com.engine.salary.wrapper;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveItemFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveItemSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.enums.SalaryUserStatusEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.SalaryArchiveItemService;
|
||||
import com.engine.salary.service.impl.SalaryArchiveItemServiceImpl;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.springframework.stereotype.Component;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 薪资项目
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Component
|
||||
public class SalaryArchiveItemWrapper extends Service {
|
||||
|
||||
private SalaryArchiveItemService getSalaryArchiveItemService(User user) {
|
||||
return (SalaryArchiveItemService) ServiceUtil.getService(SalaryArchiveItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private ExecutorService taskExecutor;
|
||||
|
||||
|
||||
/**
|
||||
* 构建薪资项目基础信息表单
|
||||
*
|
||||
* @param effectiveTime
|
||||
* @param adjustReason
|
||||
* @param description
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> buildSalaryArchiveItemForm(Date effectiveTime, String adjustReason, String description) {
|
||||
|
||||
// 控件数据
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("effectiveTime", effectiveTime + "");
|
||||
data.put("adjustReason", adjustReason);
|
||||
data.put("description", description);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建薪资档案调整明细
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
private Map<String, Object> buildSalaryArchiveItemAdjustDetailTable(List<Map<String, Object>> tableData) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
// 表头
|
||||
List<String> headers = new ArrayList<>();
|
||||
headers.add(SalaryI18nUtil.getI18nLabel(84960, "薪资项目"));
|
||||
headers.add(SalaryI18nUtil.getI18nLabel(85433, "调整前"));
|
||||
headers.add(SalaryI18nUtil.getI18nLabel(85434, "调整后"));
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
List<Map<String, Object>> salaryItems = salaryItemList.stream().map(m -> {
|
||||
Map<String, Object> salaryItemMap = new LinkedHashMap<>();
|
||||
salaryItemMap.put("id", String.valueOf(m.getId()));
|
||||
salaryItemMap.put("content", m.getName());
|
||||
return salaryItemMap;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
map.put("headers", headers);
|
||||
map.put("list", tableData);
|
||||
map.put("salaryItemList", salaryItems);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取薪资项目调整前的值
|
||||
*
|
||||
* @param adjustBeforeParam
|
||||
* @return
|
||||
*/
|
||||
public String getSalaryItemAdjustBeforeValue(SalaryItemAdjustBeforeParam adjustBeforeParam) {
|
||||
return getSalaryArchiveItemService(user).getSalaryItemAdjustBeforeValue(adjustBeforeParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过薪资档案的薪资项目id获取薪资项目调整表单
|
||||
*
|
||||
* @param salaryArchiveItemId
|
||||
* @return
|
||||
*/
|
||||
public SalaryArchiveItemFormDTO getSalaryItemFormBySalaryArchiveItemId(Long salaryArchiveItemId) {
|
||||
if (salaryArchiveItemId == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100427, "薪资档案的薪资项目id不能为空"));
|
||||
}
|
||||
SalaryArchiveItemPO salaryArchiveItem = getSalaryArchiveItemService(user).getById(salaryArchiveItemId);
|
||||
if (salaryArchiveItem == null) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100428, "该薪资档案的薪资项目的调整记录不存在"));
|
||||
}
|
||||
Long salaryArchiveId = salaryArchiveItem.getSalaryArchiveId();
|
||||
Date effectiveTime;
|
||||
String adjustReason;
|
||||
String description;
|
||||
// 调整明细数据
|
||||
List<Map<String, Object>> tableData = Lists.newArrayList();
|
||||
// 获取调整前
|
||||
String archiveItemBeforeValue = getSalaryArchiveItemService(user).getSalaryItemAdjustBeforeValue(SalaryItemAdjustBeforeParam.builder()
|
||||
.salaryArchiveId(salaryArchiveItem.getSalaryArchiveId())
|
||||
.salaryArchiveItemId(salaryArchiveItem.getId())
|
||||
.salaryItemId(salaryArchiveItem.getSalaryItemId())
|
||||
.build());
|
||||
|
||||
effectiveTime = salaryArchiveItem.getEffectiveTime();
|
||||
adjustReason = salaryArchiveItem.getAdjustReason();
|
||||
description = salaryArchiveItem.getDescription();
|
||||
Map<String, Object> map = new HashMap<>(3);
|
||||
map.put("salaryItem", String.valueOf(salaryArchiveItem.getSalaryItemId()));
|
||||
map.put("salaryBefore", archiveItemBeforeValue);
|
||||
map.put("adjustAfter", salaryArchiveItem.getItemValue());
|
||||
tableData.add(map);
|
||||
|
||||
return SalaryArchiveItemFormDTO.builder()
|
||||
.salaryArchiveId(salaryArchiveId)
|
||||
.salaryArchiveItemForm(buildSalaryArchiveItemForm(effectiveTime, adjustReason, description))
|
||||
.salaryArchiveItemDetail(buildSalaryArchiveItemAdjustDetailTable(tableData))
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存薪资项目调整
|
||||
*
|
||||
* @param saveParam
|
||||
* @return
|
||||
*/
|
||||
public String saveSalaryItem(SalaryArchiveItemSaveParam saveParam) {
|
||||
return getSalaryArchiveItemService(user).saveSalaryItem(saveParam);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除薪资项目调整
|
||||
*
|
||||
* @param salaryArchiveItemId
|
||||
* @return
|
||||
*/
|
||||
public String deleteSalaryItem(Long salaryArchiveItemId) {
|
||||
return getSalaryArchiveItemService(user).deleteSalaryItem(salaryArchiveItemId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 薪资项目调整记录列表
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
public List<SalaryItemAdjustRecordListDTO> adjustRecordList(SalaryItemAdjustRecordQueryParam queryParam) {
|
||||
// 获取所有可被引用的薪资项目
|
||||
List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems();
|
||||
List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
|
||||
List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
List<SalaryItemAdjustRecordListDTO> list = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
//获取上次更改的记录
|
||||
list.forEach(m -> {
|
||||
if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
}
|
||||
Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||||
m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
|
||||
m.setEmployeeStatus(SalaryUserStatusEnum.getDefaultLabelByValue(m.getEmployeeStatus()));
|
||||
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
});
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 单个档案的薪资项目调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param employeeId
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// public WeaTable<SingleSalaryItemAdjustRecordListDTO> singleSalaryItemAdjustRecordList(SingleSalaryItemAdjustRecordQueryParam queryParam, Long employeeId, String tenantKey) {
|
||||
// if (queryParam.getSalaryArchiveId() == null) {
|
||||
// throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(100425, "薪资档案id不能为空"));
|
||||
// }
|
||||
// // 获取所有可被引用的薪资项目
|
||||
// List<SalaryItemPO> salaryItemList = getSalaryArchiveItemService(user).getCanAdjustSalaryItems(tenantKey);
|
||||
// List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
//
|
||||
// Page<SalaryItemAdjustRecordListDTO> page = new Page<>(queryParam.getCurrent(), queryParam.getPageSize(), true);
|
||||
// SalaryItemAdjustRecordQueryParam adjustRecordQueryParam = new SalaryItemAdjustRecordQueryParam();
|
||||
// BeanUtils.copyProperties(queryParam, adjustRecordQueryParam);
|
||||
// page = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(page, adjustRecordQueryParam, salaryItemIds, tenantKey);
|
||||
// Page<SingleSalaryItemAdjustRecordListDTO> listPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal(), page.isSearchCount());
|
||||
//
|
||||
// List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds, tenantKey);
|
||||
// List<SalaryItemAdjustRecordListDTO> list = page.getRecords();
|
||||
// List<SingleSalaryItemAdjustRecordListDTO> resultList = Lists.newArrayList();
|
||||
// list.forEach(m -> {
|
||||
// if (!org.springframework.util.CollectionUtils.isEmpty(listAll)) {
|
||||
// listAll.removeIf(a -> a.getId().equals(m.getId()));
|
||||
// }
|
||||
// Optional<SalaryItemAdjustRecordListDTO> optional = listAll.stream().filter(f -> f.getSalaryArchiveId().equals(m.getSalaryArchiveId()) && f.getSalaryItemId().equals(m.getSalaryItemId())).findFirst();
|
||||
// m.setAdjustBefore(optional.isPresent() ? optional.get().getAdjustAfter() : "");
|
||||
//
|
||||
// m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason(), employeeId, tenantKey));
|
||||
//
|
||||
// SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecordList = new SingleSalaryItemAdjustRecordListDTO();
|
||||
// BeanUtils.copyProperties(m, singleSalaryItemAdjustRecordList);
|
||||
// resultList.add(singleSalaryItemAdjustRecordList);
|
||||
// });
|
||||
// listPage.setRecords(resultList);
|
||||
//
|
||||
// WeaTable<SingleSalaryItemAdjustRecordListDTO> weaTable = FormatManager.<SingleSalaryItemAdjustRecordListDTO>getInstance()
|
||||
// .genTable(SingleSalaryItemAdjustRecordListDTO.class, listPage);
|
||||
// weaTable.setModule("hrmsalary");
|
||||
// List<Long> salaryItemPageIds = listPage.getRecords().stream().map(SingleSalaryItemAdjustRecordListDTO::getSalaryItemId).collect(Collectors.toList());
|
||||
// List<SalaryArchiveItemPO> effectiveSalaryItems = getSalaryArchiveItemService(user).getEffectiveSalaryItems(queryParam.getSalaryArchiveId(), salaryItemPageIds, tenantKey);
|
||||
// // 行记录按钮权限控制
|
||||
// for (int i = 0; i < listPage.getRecords().size(); i++) {
|
||||
// SingleSalaryItemAdjustRecordListDTO singleSalaryItemAdjustRecord = listPage.getRecords().get(i);
|
||||
// Optional<SalaryArchiveItemPO> optional = effectiveSalaryItems.stream().filter(f -> f.getSalaryItemId().equals(singleSalaryItemAdjustRecord.getSalaryItemId())).findFirst();
|
||||
// LocalDate effectiveDate = optional.map(SalaryArchiveItemPO::getEffectiveTime).orElse(null);
|
||||
// List<Permission> permissions = weaTable.getOperatesPermission().get(i);
|
||||
// for (int j = 0; j < permissions.size(); j++) {
|
||||
// Permission permission = permissions.get(j);
|
||||
// if (effectiveDate != null && singleSalaryItemAdjustRecord.getEffectiveTime().isBefore(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(true);
|
||||
// }
|
||||
// if (j > 0 && singleSalaryItemAdjustRecord.getEffectiveTime().equals(effectiveDate)) {
|
||||
// permission.setVisible(false);
|
||||
// permission.setDisabled(false);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// // 在外展示操作按钮
|
||||
// weaTable.getOperates().get(0).setOuter(Boolean.TRUE);
|
||||
// return weaTable;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 导出薪资项目调整记录列表
|
||||
// *
|
||||
// * @param queryParam
|
||||
// * @param employeeId
|
||||
// * @param tenantKey
|
||||
// * @return
|
||||
// */
|
||||
// public Map<String, Object> exportAdjustRecordList(SalaryItemAdjustRecordQueryParam queryParam, Long employeeId, String tenantKey) {
|
||||
// // 构建异步导出参数
|
||||
// Map<String, Object> map = salaryBatchService.buildeExportParam("exportSalaryArchiveItemAdjustRecord");
|
||||
//
|
||||
// String username = UserContext.getCurrentUser().getUsername();
|
||||
// String eteamsId = TenantRpcContext.getEteamsId();
|
||||
// taskExecutor.execute(() -> {
|
||||
// try {
|
||||
// DSTenantKeyThreadVar.tenantKey.set(tenantKey);
|
||||
//
|
||||
// getSalaryArchiveItemService(user).exportAdjustRecordList(map, username, eteamsId, queryParam, employeeId, tenantKey);
|
||||
// } finally {
|
||||
// DSTenantKeyThreadVar.tenantKey.remove();
|
||||
// }
|
||||
// });
|
||||
// return map;
|
||||
// }
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@ import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveBaseInfoFormDTO;
|
|||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveFormDTO;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveDimissionSaveParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveImportHandleParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SalaryArchiveQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveDimissionPO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
|
|
@ -21,6 +22,7 @@ import com.engine.salary.service.SalaryArchiveItemService;
|
|||
import com.engine.salary.service.SalaryArchiveService;
|
||||
import com.engine.salary.service.TaxAgentService;
|
||||
import com.engine.salary.service.impl.SalaryArchiveItemServiceImpl;
|
||||
import com.engine.salary.service.impl.SalaryArchiveServiceImpl;
|
||||
import com.engine.salary.service.impl.TaxAgentServiceImpl;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
|
@ -44,8 +46,7 @@ import java.util.stream.Collectors;
|
|||
public class SalaryArchiveWrapper extends Service {
|
||||
|
||||
private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
// return (SalaryArchiveService) ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
return null;
|
||||
return (SalaryArchiveService) ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryArchiveItemService getSalaryArchiveItemService(User user) {
|
||||
|
|
@ -229,17 +230,18 @@ public class SalaryArchiveWrapper extends Service {
|
|||
|
||||
return getSalaryArchiveService(user).downloadTemplate(SalaryArchiveImportTypeEnum.parseByValue(queryParam.getImportType()), queryParam);
|
||||
}
|
||||
//
|
||||
// /**
|
||||
// * 获取导入参数
|
||||
// *
|
||||
// * @return
|
||||
// */
|
||||
// public ExcelImportParam getImportParams() {
|
||||
// return salaryBatchService.buildImportParam("importSalaryArchive",
|
||||
// "importSalaryArchive",
|
||||
// SalaryI18nUtil.getI18nLabel(TenantContext.getCurrentTenantKey(), UserContext.getCurrentEmployeeId(), 85368, "薪资档案"),
|
||||
// null,
|
||||
// null);
|
||||
// }
|
||||
|
||||
public Map<String, Object> preview(SalaryArchiveImportHandleParam param) {
|
||||
return getSalaryArchiveService(user).preview(param);
|
||||
}
|
||||
|
||||
public void importSalaryArchive(SalaryArchiveImportHandleParam param) {
|
||||
getSalaryArchiveService(user).importSalaryArchive(param);
|
||||
}
|
||||
|
||||
public XSSFWorkbook exportList(SalaryArchiveQueryParam queryParam) {
|
||||
return getSalaryArchiveService(user).exportList(queryParam);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue