Merge branch 'release/2.9.6.2310.01' into release/个税版本
This commit is contained in:
commit
e19f00c44d
|
|
@ -32,7 +32,7 @@ public class AddUpDeductionBiz extends BaseBean {
|
|||
AddUpDeductionMapper mapper = sqlSession.getMapper(AddUpDeductionMapper.class);
|
||||
List<AddUpDeductionDTO> list = mapper.list(param);
|
||||
list = encryptUtil.decryptList(list, AddUpDeductionDTO.class);
|
||||
return list;
|
||||
return list;
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
@ -48,8 +48,18 @@ public class AddUpDeductionBiz extends BaseBean {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
AddUpDeductionMapper mapper = sqlSession.getMapper(AddUpDeductionMapper.class);
|
||||
List<AddUpDeduction> addUpDeductions = mapper.listSome(param);
|
||||
return encryptUtil.decryptList(addUpDeductions, AddUpDeduction.class);
|
||||
if (CollectionUtils.isNotEmpty(param.getEmployeeIds())) {
|
||||
List<AddUpDeduction> addUpDeductions = new ArrayList<>();
|
||||
List<List<Long>> partition = Lists.partition(param.getEmployeeIds(), 500);
|
||||
partition.forEach(l -> {
|
||||
param.setEmployeeIds(l);
|
||||
addUpDeductions.addAll(mapper.listSome(param));
|
||||
});
|
||||
return encryptUtil.decryptList(addUpDeductions, AddUpDeduction.class);
|
||||
} else {
|
||||
List<AddUpDeduction> addUpDeductions = mapper.listSome(param);
|
||||
return encryptUtil.decryptList(addUpDeductions, AddUpDeduction.class);
|
||||
}
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,8 +46,18 @@ public class AddUpSituationBiz extends BaseBean {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
AddUpSituationMapper mapper = sqlSession.getMapper(AddUpSituationMapper.class);
|
||||
List<AddUpSituation> addUpSituations = mapper.listSome(param);
|
||||
if(CollectionUtils.isNotEmpty(param.getEmployeeIds())){
|
||||
List<AddUpSituation> addUpSituations = new ArrayList<>();
|
||||
List<List<Long>> partition = Lists.partition((List<Long>) param.getEmployeeIds(), 500);
|
||||
partition.forEach(l->{
|
||||
param.setEmployeeIds(l);
|
||||
addUpSituations.addAll(mapper.listSome(param));
|
||||
});
|
||||
return encryptUtil.decryptList(addUpSituations, AddUpSituation.class);
|
||||
}else {
|
||||
List<AddUpSituation> addUpSituations = mapper.listSome(param);
|
||||
return encryptUtil.decryptList(addUpSituations, AddUpSituation.class);
|
||||
}
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,8 +28,18 @@ public class OtherDeductionBiz extends BaseBean {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
OtherDeductionMapper mapper = sqlSession.getMapper(OtherDeductionMapper.class);
|
||||
List<OtherDeductionPO> otherDeductionPOS = mapper.listSome(param);
|
||||
return encryptUtil.decryptList(otherDeductionPOS, OtherDeductionPO.class);
|
||||
if (CollectionUtils.isNotEmpty(param.getEmployeeIds())) {
|
||||
List<List<Long>> partition = Lists.partition(param.getEmployeeIds(), 500);
|
||||
List<OtherDeductionPO> otherDeductionPOS = new ArrayList<>();
|
||||
partition.forEach(l -> {
|
||||
param.setEmployeeIds(l);
|
||||
otherDeductionPOS.addAll(mapper.listSome(param));
|
||||
});
|
||||
return encryptUtil.decryptList(otherDeductionPOS, OtherDeductionPO.class);
|
||||
}else {
|
||||
List<OtherDeductionPO> otherDeductionPOS = mapper.listSome(param);
|
||||
return encryptUtil.decryptList(otherDeductionPOS, OtherDeductionPO.class);
|
||||
}
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
@ -77,7 +87,7 @@ public class OtherDeductionBiz extends BaseBean {
|
|||
* @return
|
||||
*/
|
||||
public void batchSave(List<OtherDeductionPO> param) {
|
||||
if(CollectionUtils.isEmpty(param)){
|
||||
if (CollectionUtils.isEmpty(param)) {
|
||||
return;
|
||||
}
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
|
|
@ -99,7 +109,7 @@ public class OtherDeductionBiz extends BaseBean {
|
|||
* @return
|
||||
*/
|
||||
public void batchUpdate(List<OtherDeductionPO> param) {
|
||||
if(CollectionUtils.isEmpty(param)){
|
||||
if (CollectionUtils.isEmpty(param)) {
|
||||
return;
|
||||
}
|
||||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
|
|
@ -115,10 +125,6 @@ public class OtherDeductionBiz extends BaseBean {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 处理导入数据
|
||||
*
|
||||
|
|
@ -183,8 +189,8 @@ public class OtherDeductionBiz extends BaseBean {
|
|||
|
||||
|
||||
/**
|
||||
* @description 批量删除
|
||||
* @return void
|
||||
* @description 批量删除
|
||||
* @author Harryxzy
|
||||
* @date 2022/10/27 16:07
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -34,8 +34,18 @@ public class SalaryArchiveItemBiz {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemPOS = mapper.listByParam(build);
|
||||
return encryptUtil.decryptList(salaryArchiveItemPOS, SalaryArchiveItemPO.class);
|
||||
if (CollectionUtils.isNotEmpty(build.getEmployeeIds())) {
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemPOS = new ArrayList<>();
|
||||
List<List<Long>> partition = Lists.partition((List<Long>) build.getEmployeeIds(), 500);
|
||||
partition.forEach(l -> {
|
||||
build.setEmployeeIds(l);
|
||||
salaryArchiveItemPOS.addAll(mapper.listByParam(build));
|
||||
});
|
||||
return encryptUtil.decryptList(salaryArchiveItemPOS, SalaryArchiveItemPO.class);
|
||||
} else {
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemPOS = mapper.listByParam(build);
|
||||
return encryptUtil.decryptList(salaryArchiveItemPOS, SalaryArchiveItemPO.class);
|
||||
}
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
@ -140,7 +150,20 @@ public class SalaryArchiveItemBiz {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
||||
return encryptUtil.decryptList(mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds), SalaryItemAdjustRecordListDTO.class);
|
||||
List<Long> salaryArchiveIds = queryParam.getSalaryArchiveIds();
|
||||
if (CollectionUtils.isEmpty(salaryArchiveIds)) {
|
||||
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
return encryptUtil.decryptList(salaryItemAdjustRecordListDTOS, SalaryItemAdjustRecordListDTO.class);
|
||||
} else {
|
||||
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = new ArrayList<>();
|
||||
List<List<Long>> salaryArchiveIdsPartition = Lists.partition(salaryArchiveIds, 500);
|
||||
salaryArchiveIdsPartition.forEach(l -> {
|
||||
queryParam.setSalaryArchiveIds(l);
|
||||
salaryItemAdjustRecordListDTOS.addAll(mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds));
|
||||
});
|
||||
return encryptUtil.decryptList(salaryItemAdjustRecordListDTOS, SalaryItemAdjustRecordListDTO.class);
|
||||
}
|
||||
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
@ -161,12 +184,28 @@ public class SalaryArchiveItemBiz {
|
|||
SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession();
|
||||
try {
|
||||
SalaryArchiveItemMapper mapper = sqlSession.getMapper(SalaryArchiveItemMapper.class);
|
||||
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
||||
salaryItemAdjustRecordListDTOS,
|
||||
SalaryItemAdjustRecordListDTO.class);
|
||||
encryptUtil.decryptList(page.getList(), SalaryItemAdjustRecordListDTO.class);
|
||||
return page;
|
||||
|
||||
List<Long> salaryArchiveIds = queryParam.getSalaryArchiveIds();
|
||||
if (CollectionUtils.isEmpty(salaryArchiveIds)) {
|
||||
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
||||
salaryItemAdjustRecordListDTOS,
|
||||
SalaryItemAdjustRecordListDTO.class);
|
||||
encryptUtil.decryptList(page.getList(), SalaryItemAdjustRecordListDTO.class);
|
||||
return page;
|
||||
} else {
|
||||
List<SalaryItemAdjustRecordListDTO> salaryItemAdjustRecordListDTOS = new ArrayList<>();
|
||||
List<List<Long>> salaryArchiveIdsPartition = Lists.partition(salaryArchiveIds, 500);
|
||||
salaryArchiveIdsPartition.forEach(l -> {
|
||||
queryParam.setSalaryArchiveIds(l);
|
||||
salaryItemAdjustRecordListDTOS.addAll(mapper.salaryItemAdjustRecordList(queryParam, salaryItemIds));
|
||||
});
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> page = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(),
|
||||
salaryItemAdjustRecordListDTOS,
|
||||
SalaryItemAdjustRecordListDTO.class);
|
||||
encryptUtil.decryptList(page.getList(), SalaryItemAdjustRecordListDTO.class);
|
||||
return page;
|
||||
}
|
||||
} finally {
|
||||
sqlSession.close();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import lombok.NoArgsConstructor;
|
|||
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据采集-累计专项附加扣除表
|
||||
|
|
@ -113,7 +114,7 @@ public class AddUpDeduction {
|
|||
*/
|
||||
private String tenantKey;
|
||||
|
||||
Collection<Long> employeeIds;
|
||||
List<Long> employeeIds;
|
||||
|
||||
Collection<Long> taxAgentIds;
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ public class SalaryItemAdjustRecordQueryParam extends BaseQueryParam {
|
|||
|
||||
//薪资档案id
|
||||
private Long salaryArchiveId;
|
||||
private List<Long> salaryArchiveIds;
|
||||
|
||||
//关键字(姓名、部门、薪资项目名称)
|
||||
private String keyword;
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ public class SalaryArchivePO {
|
|||
|
||||
//---------条件-------
|
||||
private Collection<Long> ids;
|
||||
private Collection<Long> taxAgentIds;
|
||||
private Collection<Long> employeeIds;
|
||||
/**
|
||||
* 状态
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ public class SalaryFormulaEmployeeDTO {
|
|||
private String dissmissdate;
|
||||
|
||||
//状态
|
||||
@SalaryFormulaVar(defaultLabel = "状态", labelId = 98621, dataType = "string")
|
||||
@SalaryFormulaVar(defaultLabel = "状态编码", labelId = 98621, dataType = "string")
|
||||
private String status;
|
||||
|
||||
@SalaryFormulaVar(defaultLabel = "状态", labelId = 98622, dataType = "string")
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import lombok.NoArgsConstructor;
|
|||
import lombok.Setter;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Getter
|
||||
|
|
@ -21,7 +21,7 @@ public class InsuranceAcctDetailImportTemplateParam {
|
|||
* 薪资项目id(薪资项目包含了福利项)
|
||||
*/
|
||||
@DataCheck(require = true,message = "福利核算项目name不能为空")
|
||||
private Collection<String> welfareNames;
|
||||
private List<String> welfareNames;
|
||||
|
||||
private String billMonth;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,24 +8,36 @@ import java.math.BigDecimal;
|
|||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public enum FilterEnum implements BaseEnum<String> {
|
||||
public enum FilterEnum implements BaseEnum<String> {
|
||||
|
||||
BT("BT", "包含", 1) {
|
||||
@Override
|
||||
public Predicate<String> filter(List<String> params) {
|
||||
return a -> a.contentEquals(params.get(0));
|
||||
return a -> a.contains(params.get(0));
|
||||
}
|
||||
},
|
||||
EQ("EQ", "等于", 1) {
|
||||
@Override
|
||||
public Predicate<String> filter(List<String> params) {
|
||||
return a -> a.equals(params.get(0));
|
||||
return a -> {
|
||||
if (NumberUtils.isCreatable(a) && NumberUtils.isCreatable(params.get(0))) {
|
||||
return new BigDecimal(a).compareTo(new BigDecimal(params.get(0))) == 0;
|
||||
} else {
|
||||
return a.equals(params.get(0));
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
NE("NE", "不等于", 1) {
|
||||
@Override
|
||||
public Predicate<String> filter(List<String> params) {
|
||||
return a -> !a.equals(params.get(0));
|
||||
return a -> {
|
||||
if (NumberUtils.isCreatable(a) && NumberUtils.isCreatable(params.get(0))) {
|
||||
return new BigDecimal(a).compareTo(new BigDecimal(params.get(0))) != 0;
|
||||
} else {
|
||||
return !a.equals(params.get(0));
|
||||
}
|
||||
};
|
||||
}
|
||||
},
|
||||
GT("GT", "大于", 1) {
|
||||
|
|
|
|||
|
|
@ -563,11 +563,10 @@
|
|||
<if test="param.salaryArchiveId != null">
|
||||
AND t1.salary_archive_id = #{param.salaryArchiveId}
|
||||
</if>
|
||||
<!-- 部门 -->
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
<if test="param.salaryArchiveIds != null and param.salaryArchiveIds.size()>0">
|
||||
AND t1.salary_archive_id IN
|
||||
<foreach collection="param.salaryArchiveIds" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{salaryArchiveId}
|
||||
</foreach>
|
||||
</if>
|
||||
<!-- 调整原因 -->
|
||||
|
|
@ -637,7 +636,12 @@
|
|||
<if test="param.salaryArchiveId != null">
|
||||
AND t1.salary_archive_id = #{param.salaryArchiveId}
|
||||
</if>
|
||||
|
||||
<if test="param.salaryArchiveIds != null and param.salaryArchiveIds.size()>0">
|
||||
AND t1.salary_archive_id IN
|
||||
<foreach collection="param.salaryArchiveIds" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{salaryArchiveId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.adjustReason != null and param.adjustReason != ''">
|
||||
AND t1.adjust_reason = #{param.adjustReason}
|
||||
</if>
|
||||
|
|
@ -711,11 +715,10 @@
|
|||
AND t1.salary_archive_id = #{param.salaryArchiveId}
|
||||
</if>
|
||||
|
||||
|
||||
<if test="param.departmentIds != null and param.departmentIds.size()>0">
|
||||
AND d.id IN
|
||||
<foreach collection="param.departmentIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
<if test="param.salaryArchiveIds != null and param.salaryArchiveIds.size()>0">
|
||||
AND t1.salary_archive_id IN
|
||||
<foreach collection="param.salaryArchiveIds" open="(" item="salaryArchiveId" separator="," close=")">
|
||||
#{salaryArchiveId}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
|
|
@ -737,7 +740,6 @@
|
|||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
ORDER BY t1.effective_time DESC,t1.id DESC
|
||||
</select>
|
||||
|
||||
|
|
|
|||
|
|
@ -658,6 +658,12 @@
|
|||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.taxAgentIds != null and param.taxAgentIds.size()>0">
|
||||
AND t.tax_agent_id IN
|
||||
<foreach collection="param.taxAgentIds" open="(" item="taxAgentId" separator="," close=")">
|
||||
#{taxAgentId}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY t.id DESC
|
||||
</select>
|
||||
|
||||
|
|
|
|||
|
|
@ -99,6 +99,8 @@ public interface SalarySobService {
|
|||
*/
|
||||
Long save(SalarySobBasicSaveParam saveParam);
|
||||
|
||||
void saveDefaultEmployeeRange(SalarySobPO salarySobPO);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1441,7 +1441,11 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
// List<List<Long>> employeeIdPartition = Lists.partition(baseInfoEmployeeIds, 100);
|
||||
// employeeIdPartition.forEach(getInsuranceBaseInfoMapper()::batchDeleteByEmployeeIds);
|
||||
//查询目标人员的剩余的福利档案基础信息(社保、公积金、其他福利档案id)
|
||||
List<InsuranceArchivesBaseInfoPO> moreBaseInfoPOS = getInsuranceBaseInfoMapper().getInsuranceBaseInfoListByInsuranceDetail(baseInfoEmployeeIds);
|
||||
// List<InsuranceArchivesBaseInfoPO> moreBaseInfoPOS = getInsuranceBaseInfoMapper().getInsuranceBaseInfoListByInsuranceDetail(baseInfoEmployeeIds);
|
||||
List<InsuranceArchivesBaseInfoPO> moreBaseInfoPOS = new ArrayList<>();
|
||||
List<List<Long>> partitionInfo = Lists.partition((List<Long>) baseInfoEmployeeIds, 1000);
|
||||
partitionInfo.forEach(part -> moreBaseInfoPOS.addAll(
|
||||
getInsuranceBaseInfoMapper().getInsuranceBaseInfoListByInsuranceDetail(part)));
|
||||
List<InsuranceArchivesBaseInfoPO> newInsuranceArchivesBaseInfoList = new ArrayList<>();
|
||||
//设置社保、公积金、其他福利档案id
|
||||
for (InsuranceArchivesBaseInfoPO po : baseInfoPOS) {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.engine.salary.biz.SalaryArchiveBiz;
|
|||
import com.engine.salary.biz.SalaryArchiveItemBiz;
|
||||
import com.engine.salary.biz.SalaryItemBiz;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryarchive.dto.SalaryItemAdjustRecordListDTO;
|
||||
import com.engine.salary.entity.salaryarchive.param.*;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
|
|
@ -13,11 +14,14 @@ import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
|||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveFieldTypeEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveItemAdjustReasonEnum;
|
||||
import com.engine.salary.enums.salaryarchive.SalaryArchiveStatusEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.SalaryArchiveItemService;
|
||||
import com.engine.salary.service.SalaryArchiveService;
|
||||
import com.engine.salary.service.SalaryEmployeeService;
|
||||
import com.engine.salary.service.TaxAgentService;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
|
|
@ -62,6 +66,13 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
|
|||
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryArchiveService getSalaryArchiveService(User user) {
|
||||
return ServiceUtil.getService(SalaryArchiveServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryEmployeeService getSalaryEmployeeService(User user) {
|
||||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
}
|
||||
/**
|
||||
* 获取未生效 lt
|
||||
*
|
||||
|
|
@ -617,23 +628,60 @@ public class SalaryArchiveItemServiceImpl extends Service implements SalaryArchi
|
|||
List<SalaryItemPO> salaryItemList = getCanAdjustSalaryItems();
|
||||
List<Long> salaryItemIds = salaryItemList.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
// 获取记录
|
||||
List<SalaryItemAdjustRecordListDTO> list = salaryArchiveItemMapper.salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
long currentEmployeeId = user.getUID();
|
||||
//是否开启分权
|
||||
Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
|
||||
if (needAuth) {
|
||||
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId);
|
||||
List<Long> taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isEmpty(taxAgentIds)) {
|
||||
// return new PageInfo<SalaryItemAdjustRecordListDTO>();
|
||||
}
|
||||
|
||||
List<SalaryArchivePO> salaryArchives = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentIds(taxAgentIds).build());
|
||||
List<Long> salaryArchiveIds = SalaryEntityUtil.properties(salaryArchives, SalaryArchivePO::getId, Collectors.toList());
|
||||
queryParam.setSalaryArchiveIds(salaryArchiveIds);
|
||||
}
|
||||
|
||||
List<DataCollectionEmployee> employeeList = getSalaryEmployeeService(user).listAll(UseEmployeeTypeEnum.ALL);
|
||||
Map<Long, DataCollectionEmployee> employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId);
|
||||
|
||||
List<SalaryItemAdjustRecordListDTO> listResult = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
listResult = listResult.stream()
|
||||
.filter(r -> {
|
||||
DataCollectionEmployee employee = employeeMap.getOrDefault(r.getEmployeeId(), new DataCollectionEmployee());
|
||||
String username = queryParam.getUsername();
|
||||
List<Long> departmentIds = queryParam.getDepartmentIds();
|
||||
List<Long> positionIds = queryParam.getPositionIds();
|
||||
String userstatus = queryParam.getUserstatus();
|
||||
r.setUsername(employee.getUsername());
|
||||
r.setDepartmentName(employee.getDepartmentName());
|
||||
r.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())));
|
||||
r.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(r.getAdjustReason()));
|
||||
return (StringUtils.isBlank(username) || employee.getUsername().contains(username))
|
||||
&& (CollectionUtils.isEmpty(departmentIds) || departmentIds.contains(employee.getDepartmentId()))
|
||||
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
|
||||
&& (StringUtils.isBlank(userstatus) || Objects.equals(employee.getStatus(), userstatus))
|
||||
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
|
||||
;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
List<SalaryItemAdjustRecordListDTO> listAll = salaryArchiveItemMapper.salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
// 人员信息赋值
|
||||
list.forEach(m -> {
|
||||
listResult.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(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(m.getEmployeeStatus())));
|
||||
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
});
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
List<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(headerList);
|
||||
for (SalaryItemAdjustRecordListDTO dto : list) {
|
||||
for (SalaryItemAdjustRecordListDTO dto : listResult) {
|
||||
List<Object> row = new ArrayList<>();
|
||||
row.add(dto.getUsername());
|
||||
row.add(dto.getEmployeeStatus());
|
||||
|
|
|
|||
|
|
@ -420,7 +420,7 @@ public class SalarySobServiceImpl extends Service implements SalarySobService {
|
|||
* @author Harryxzy
|
||||
* @date 2022/10/9 15:30
|
||||
*/
|
||||
private void saveDefaultEmployeeRange(SalarySobPO salarySobPO) {
|
||||
public void saveDefaultEmployeeRange(SalarySobPO salarySobPO) {
|
||||
// 获取人员范围列表
|
||||
TaxAgentRangeQueryParam queryParam = TaxAgentRangeQueryParam.builder().taxAgentId(salarySobPO.getTaxAgentId()).build();
|
||||
queryParam.setCurrent(1);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,79 @@
|
|||
package com.engine.salary.timer;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.biz.SalarySobRangeBiz;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobRangePO;
|
||||
import com.engine.salary.service.SalarySobRangeService;
|
||||
import com.engine.salary.service.SalarySobService;
|
||||
import com.engine.salary.service.impl.SalarySobRangeServiceImpl;
|
||||
import com.engine.salary.service.impl.SalarySobServiceImpl;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.schedule.BaseCronJob;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 自动同步个税扣缴以为人人员范围至,账套人员范围
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
@Slf4j
|
||||
public class SyncTaxAgentEmp2SobEmpJob extends BaseCronJob {
|
||||
|
||||
private SalarySobService getSalarySobService(User user) {
|
||||
return ServiceUtil.getService(SalarySobServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySobRangeService getSalarySobRangeService(User user) {
|
||||
return ServiceUtil.getService(SalarySobRangeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private String salarySobIds;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void execute() {
|
||||
User user = new User();
|
||||
user.setUid(1);
|
||||
user.setLoginid("sysadmin");
|
||||
List<SalarySobPO> salarySobPOS;
|
||||
if (StringUtils.isNotEmpty(salarySobIds)) {
|
||||
// 只同步指定的账套
|
||||
List<Long> salarySobIdList = Arrays.asList(StringUtils.split(salarySobIds, ",")).stream().map(Long::valueOf).collect(Collectors.toList());
|
||||
salarySobPOS = getSalarySobService(user).listByIds(salarySobIdList);
|
||||
} else {
|
||||
salarySobPOS = getSalarySobService(user).listAll();
|
||||
}
|
||||
BaseBean baseBean = new BaseBean();
|
||||
SalarySobRangeBiz salarySobRangeBiz = new SalarySobRangeBiz();
|
||||
for (SalarySobPO po : salarySobPOS) {
|
||||
List<SalarySobRangePO> salarySobRangePOS = new ArrayList<>();
|
||||
try {
|
||||
baseBean.writeLog("开始同步人员范围至账套账套:{}",po.getId());
|
||||
// 保存前先删除
|
||||
salarySobRangePOS = salarySobRangeBiz.listSome(SalarySobRangePO.builder().salarySobId(po.getId()).build());
|
||||
getSalarySobRangeService(user).deleteBySalarySobIds(Collections.singletonList(po.getId()));
|
||||
getSalarySobService(user).saveDefaultEmployeeRange(po);
|
||||
} catch (Exception e) {
|
||||
baseBean.writeLog("同步人员范围至账套账套出错:" + e.getMessage());
|
||||
salarySobRangePOS.stream().forEach(p -> p.setId(IdGenerator.generate()));
|
||||
salarySobRangeBiz.batchInsert(salarySobRangePOS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -444,22 +444,61 @@ public class SIAccountController {
|
|||
return new ResponseResult<String,List<InsuranceAcctDetailImportFieldDTO>>(user).run(getSalaryFormulaWrapper(user)::welfareList);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 导出“福利核算导入”模板
|
||||
// */
|
||||
// @GET
|
||||
// @Path("/welfare/importtemplate/export")
|
||||
// @Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
// public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
// try {
|
||||
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
//
|
||||
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
|
||||
// param.setBillMonth(request.getParameter("billMonth"));
|
||||
// String welfareNames = request.getParameter("welfareNames");
|
||||
// if (StringUtils.isNotBlank(welfareNames)) {
|
||||
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
// }
|
||||
//
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// XSSFWorkbook workbook = getService(user).exportImportTemplate(param);
|
||||
// String time = LocalDate.now().toString();
|
||||
// String fileName = "福利核算导入模板" + time;
|
||||
// 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();
|
||||
// } catch (Exception e) {
|
||||
// log.error("福利核算导入模板导出异常", e);
|
||||
// throw e;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
/**
|
||||
* 导出“福利核算导入”模板
|
||||
*/
|
||||
@GET
|
||||
@POST
|
||||
@Path("/welfare/importtemplate/export")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
public Response exportImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) {
|
||||
try {
|
||||
InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
|
||||
param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
|
||||
param.setBillMonth(request.getParameter("billMonth"));
|
||||
String welfareNames = request.getParameter("welfareNames");
|
||||
if (StringUtils.isNotBlank(welfareNames)) {
|
||||
param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
//
|
||||
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
|
||||
// param.setBillMonth(request.getParameter("billMonth"));
|
||||
// String welfareNames = request.getParameter("welfareNames");
|
||||
// if (StringUtils.isNotBlank(welfareNames)) {
|
||||
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
// }
|
||||
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
XSSFWorkbook workbook = getService(user).exportImportTemplate(param);
|
||||
|
|
@ -505,28 +544,73 @@ public class SIAccountController {
|
|||
return new ResponseResult<InsuranceAcctImportParam, Map<String, Object>>(user).run(getService(user)::preview, insuranceAcctImportParam);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 导出“福利核算-补缴导入”模板
|
||||
// */
|
||||
// @GET
|
||||
// @Path("/welfare/supplyimporttemplate/export")
|
||||
// @Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
// public Response exportSupplyImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
// try {
|
||||
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
//
|
||||
// String welfareNames = request.getParameter("welfareNames");
|
||||
// String billMonth = request.getParameter("billMonth");
|
||||
// Long paymentOrganization = Long.valueOf(request.getParameter("paymentOrganization"));
|
||||
// if (StringUtils.isNotBlank(welfareNames)) {
|
||||
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
// }
|
||||
// if (StringUtils.isNotBlank(billMonth)) {
|
||||
// param.setBillMonth(billMonth);
|
||||
// }
|
||||
// if (paymentOrganization > 0) {
|
||||
// param.setPaymentOrganization(paymentOrganization);
|
||||
// }
|
||||
//
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// XSSFWorkbook workbook = getService(user).exportSupplyImportTemplate(param);
|
||||
// String time = LocalDate.now().toString();
|
||||
// String fileName = "福利核算-补缴导入模板" + time;
|
||||
// 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();
|
||||
// } catch (Exception e) {
|
||||
// log.error("福利核算-补缴导入模板导出异常", e);
|
||||
// throw e;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
/**
|
||||
* 导出“福利核算-补缴导入”模板
|
||||
*/
|
||||
@GET
|
||||
@POST
|
||||
@Path("/welfare/supplyimporttemplate/export")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportSupplyImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
public Response exportSupplyImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) {
|
||||
try {
|
||||
InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
|
||||
String welfareNames = request.getParameter("welfareNames");
|
||||
String billMonth = request.getParameter("billMonth");
|
||||
Long paymentOrganization = Long.valueOf(request.getParameter("paymentOrganization"));
|
||||
if (StringUtils.isNotBlank(welfareNames)) {
|
||||
param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
if (StringUtils.isNotBlank(billMonth)) {
|
||||
param.setBillMonth(billMonth);
|
||||
}
|
||||
if (paymentOrganization > 0) {
|
||||
param.setPaymentOrganization(paymentOrganization);
|
||||
}
|
||||
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
//
|
||||
// String welfareNames = request.getParameter("welfareNames");
|
||||
// String billMonth = request.getParameter("billMonth");
|
||||
// Long paymentOrganization = Long.valueOf(request.getParameter("paymentOrganization"));
|
||||
// if (StringUtils.isNotBlank(welfareNames)) {
|
||||
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
// }
|
||||
// if (StringUtils.isNotBlank(billMonth)) {
|
||||
// param.setBillMonth(billMonth);
|
||||
// }
|
||||
// if (paymentOrganization > 0) {
|
||||
// param.setPaymentOrganization(paymentOrganization);
|
||||
// }
|
||||
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
XSSFWorkbook workbook = getService(user).exportSupplyImportTemplate(param);
|
||||
|
|
@ -549,7 +633,6 @@ public class SIAccountController {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
// **********************************线下对比 start*********************************/
|
||||
/**
|
||||
* 导出“福利核算导入”模板
|
||||
|
|
@ -862,22 +945,61 @@ public class SIAccountController {
|
|||
return new ResponseResult<String,List<InsuranceAcctDetailImportFieldDTO>>(user).run(getSalaryFormulaWrapper(user)::balanceWelfareList);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 导出“福利核算-补差导入”模板
|
||||
// */
|
||||
// @GET
|
||||
// @Path("/welfare/balanceimporttemplate/export")
|
||||
// @Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
// public Response exportBalanceImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
// try {
|
||||
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
//
|
||||
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
|
||||
// param.setBillMonth(request.getParameter("billMonth"));
|
||||
// String welfareNames = request.getParameter("welfareNames");
|
||||
// if (StringUtils.isNotBlank(welfareNames)) {
|
||||
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
// }
|
||||
//
|
||||
// User user = HrmUserVarify.getUser(request, response);
|
||||
// XSSFWorkbook workbook = getService(user).exportBalanceImportTemplate(param);
|
||||
// String time = LocalDate.now().toString();
|
||||
// String fileName = "福利台账-补差导入模板" + time;
|
||||
// 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();
|
||||
// } catch (Exception e) {
|
||||
// log.error("福利台账-补差导入模板导出异常", e);
|
||||
// throw e;
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
/**
|
||||
* 导出“福利核算-补差导入”模板
|
||||
*/
|
||||
@GET
|
||||
@POST
|
||||
@Path("/welfare/balanceimporttemplate/export")
|
||||
@Produces(MediaType.APPLICATION_OCTET_STREAM)
|
||||
public Response exportBalanceImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
public Response exportBalanceImportTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody InsuranceAcctDetailImportTemplateParam param) {
|
||||
try {
|
||||
InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
|
||||
param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
|
||||
param.setBillMonth(request.getParameter("billMonth"));
|
||||
String welfareNames = request.getParameter("welfareNames");
|
||||
if (StringUtils.isNotBlank(welfareNames)) {
|
||||
param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
}
|
||||
// InsuranceAcctDetailImportTemplateParam param = new InsuranceAcctDetailImportTemplateParam();
|
||||
//
|
||||
// param.setPaymentOrganization(Long.valueOf(request.getParameter("paymentOrganization")));
|
||||
// param.setBillMonth(request.getParameter("billMonth"));
|
||||
// String welfareNames = request.getParameter("welfareNames");
|
||||
// if (StringUtils.isNotBlank(welfareNames)) {
|
||||
// param.setWelfareNames(Arrays.stream(welfareNames.split(",")).map(String::valueOf).collect(Collectors.toList()));
|
||||
// }
|
||||
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
XSSFWorkbook workbook = getService(user).exportBalanceImportTemplate(param);
|
||||
|
|
@ -900,7 +1022,6 @@ public class SIAccountController {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 将通过“福利台账-补差导入”模板导入的数据更新到hrsa_bill_detail表中
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -56,10 +56,6 @@ public class SIReportController {
|
|||
@Path("record/list")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String recordList(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||
// if (StringUtils.isEmpty(token)) {
|
||||
// return WeaResult.success(null, SalrayCheckSecondAuthConstant.CHECK_SECOND_FAIL_NO_TOKEN);
|
||||
// }
|
||||
// Long employeeId = UserContext.getCurrentEmployeeId();
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
SalaryItemAdjustRecordQueryParam salaryItemAdjustRecordQueryParam = new SalaryItemAdjustRecordQueryParam();
|
||||
salaryItemAdjustRecordQueryParam.setEmployeeId((long)user.getUID());
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustBeforeParam;
|
|||
import com.engine.salary.entity.salaryarchive.param.SalaryItemAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.param.SingleSalaryItemAdjustRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchiveItemPO;
|
||||
import com.engine.salary.entity.salaryarchive.po.SalaryArchivePO;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.enums.UserStatusEnum;
|
||||
|
|
@ -22,9 +23,12 @@ import com.engine.salary.service.impl.*;
|
|||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.engine.salary.wrapper.proxy.SalaryArchiveItemWrapperProxy;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import weaver.hrm.User;
|
||||
|
|
@ -229,8 +233,47 @@ public class SalaryArchiveItemWrapper extends Service implements SalaryArchiveIt
|
|||
Map<Long, DataCollectionEmployee> employeeMap = SalaryEntityUtil.convert2Map(employeeList, DataCollectionEmployee::getEmployeeId);
|
||||
|
||||
List<SalaryItemAdjustRecordListDTO> listAll = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(SalaryItemAdjustRecordQueryParam.builder().build(), salaryItemIds);
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> list = getSalaryArchiveItemService(user).salaryItemAdjustRecordListPage(queryParam, salaryItemIds);
|
||||
List<SalaryItemAdjustRecordListDTO> listResult = list.getList();
|
||||
long currentEmployeeId = user.getUID();
|
||||
//是否开启分权
|
||||
Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
|
||||
if (needAuth) {
|
||||
Collection<TaxAgentPO> taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId);
|
||||
List<Long> taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId, Collectors.toList());
|
||||
|
||||
if (CollectionUtils.isEmpty(taxAgentIds)) {
|
||||
return new PageInfo<SalaryItemAdjustRecordListDTO>();
|
||||
}
|
||||
|
||||
List<SalaryArchivePO> salaryArchives = getSalaryArchiveService(user).listSome(SalaryArchivePO.builder().taxAgentIds(taxAgentIds).build());
|
||||
List<Long> salaryArchiveIds = SalaryEntityUtil.properties(salaryArchives, SalaryArchivePO::getId, Collectors.toList());
|
||||
queryParam.setSalaryArchiveIds(salaryArchiveIds);
|
||||
}
|
||||
|
||||
List<SalaryItemAdjustRecordListDTO> listResult = getSalaryArchiveItemService(user).salaryItemAdjustRecordList(queryParam, salaryItemIds);
|
||||
listResult = listResult.stream()
|
||||
.filter(r -> {
|
||||
DataCollectionEmployee employee = employeeMap.getOrDefault(r.getEmployeeId(), new DataCollectionEmployee());
|
||||
String username = queryParam.getUsername();
|
||||
List<Long> departmentIds = queryParam.getDepartmentIds();
|
||||
List<Long> positionIds = queryParam.getPositionIds();
|
||||
String userstatus = queryParam.getUserstatus();
|
||||
r.setUsername(employee.getUsername());
|
||||
r.setDepartmentName(employee.getDepartmentName());
|
||||
r.setEmployeeStatus(StringUtils.isNotBlank(employee.getStatus())&& NumberUtils.isCreatable(employee.getStatus())?
|
||||
UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())):"");
|
||||
r.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(r.getAdjustReason()));
|
||||
return (StringUtils.isBlank(username) || employee.getUsername().contains(username))
|
||||
&& (CollectionUtils.isEmpty(departmentIds) || departmentIds.contains(employee.getDepartmentId()))
|
||||
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
|
||||
&& (StringUtils.isBlank(userstatus) || Objects.equals(employee.getStatus(), userstatus))
|
||||
&& (CollectionUtils.isEmpty(positionIds) || positionIds.contains(employee.getJobtitleId()))
|
||||
;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
PageInfo<SalaryItemAdjustRecordListDTO> pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), listResult, SalaryItemAdjustRecordListDTO.class);
|
||||
|
||||
listResult = pageInfo.getList();
|
||||
//获取上次更改的记录
|
||||
listResult.forEach(m -> {
|
||||
if (!CollectionUtils.isEmpty(listAll)) {
|
||||
|
|
@ -238,19 +281,14 @@ public class SalaryArchiveItemWrapper extends Service implements SalaryArchiveIt
|
|||
}
|
||||
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() : "");
|
||||
DataCollectionEmployee employee = employeeMap.getOrDefault(m.getEmployeeId(), new DataCollectionEmployee());
|
||||
m.setUsername(employee.getUsername());
|
||||
m.setDepartmentName(employee.getDepartmentName());
|
||||
m.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())));
|
||||
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
});
|
||||
|
||||
return list;
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 我的调薪记录
|
||||
*
|
||||
* @param queryParam
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -274,7 +312,8 @@ public class SalaryArchiveItemWrapper extends Service implements SalaryArchiveIt
|
|||
|
||||
m.setUsername(employee.getUsername());
|
||||
m.setDepartmentName(employee.getDepartmentName());
|
||||
m.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())));
|
||||
m.setEmployeeStatus(StringUtils.isNotBlank(employee.getStatus())&& NumberUtils.isCreatable(employee.getStatus())?
|
||||
UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(employee.getStatus())):"");
|
||||
m.setAdjustReason(SalaryArchiveItemAdjustReasonEnum.getDefaultLabelByValue(m.getAdjustReason()));
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue