自定义工资项目展示名
This commit is contained in:
parent
07b36db9e1
commit
b95663ada8
|
|
@ -104,6 +104,8 @@ public class SalaryTemplateSaveParam {
|
|||
*/
|
||||
private String feedbackUrl;
|
||||
|
||||
List<SalaryBillItemNameSaveParam> salaryBillItemNameSetting;
|
||||
|
||||
public static void checkParam(SalaryTemplateSaveParam saveParam) {
|
||||
if (saveParam.getSalarySobId() == null) {
|
||||
throw new SalaryRunTimeException("薪资账套表的主键id必传;");
|
||||
|
|
|
|||
|
|
@ -86,4 +86,10 @@ public interface SalaryBillItemNameMapper {
|
|||
* @param salaryBillType
|
||||
*/
|
||||
void deleteByItemIdsAndTemplateId(@Param("salaryItemIds") List<Long> salaryItemIds, @Param("salaryTemplateId") Long salaryTemplateId, @Param("salaryBillType") Integer salaryBillType);
|
||||
|
||||
/**
|
||||
* 根据idList删除
|
||||
* @param longs
|
||||
*/
|
||||
void deleteByIds(@Param("collection") List<Long> longs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -321,5 +321,15 @@
|
|||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteByIds">
|
||||
UPDATE hrsa_salary_bill_item_name
|
||||
SET delete_type=1
|
||||
WHERE delete_type = 0
|
||||
AND id IN
|
||||
<foreach collection="collection" item="id" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -85,4 +85,9 @@ public interface SalaryBillItemNameService {
|
|||
*/
|
||||
void batchInsert(List<SalaryBillItemNamePO> needInsertList);
|
||||
|
||||
/**
|
||||
* 根据id批量删除
|
||||
* @param needDeleteIds
|
||||
*/
|
||||
void deleteByIds(List<Long> needDeleteIds);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,20 +140,31 @@ public class SalaryBillItemNameServiceImpl extends Service implements SalaryBill
|
|||
|
||||
@Override
|
||||
public void batchUpdate(List<SalaryBillItemNamePO> needUpdateList) {
|
||||
if(CollectionUtils.isEmpty(needUpdateList))
|
||||
if(CollectionUtils.isEmpty(needUpdateList)){
|
||||
return;
|
||||
}
|
||||
List<List<SalaryBillItemNamePO>> partition = Lists.partition(needUpdateList, 500);
|
||||
partition.forEach(getSalaryBillItemNameMapper()::batchUpdate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchInsert(List<SalaryBillItemNamePO> needInsertList) {
|
||||
if(CollectionUtils.isEmpty(needInsertList))
|
||||
if(CollectionUtils.isEmpty(needInsertList)){
|
||||
return;
|
||||
}
|
||||
List<List<SalaryBillItemNamePO>> partition = Lists.partition(needInsertList, 500);
|
||||
partition.forEach(getSalaryBillItemNameMapper()::batchInsert);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteByIds(List<Long> needDeleteIds) {
|
||||
if(CollectionUtils.isEmpty(needDeleteIds)){
|
||||
return;
|
||||
}
|
||||
List<List<Long>> partition = Lists.partition(needDeleteIds, 1000);
|
||||
partition.forEach(getSalaryBillItemNameMapper()::deleteByIds);
|
||||
}
|
||||
|
||||
public void batchDeleteByItemIdsAndTemplateId(List<Long> salaryItemIds, Long salaryTemplateId, Integer salaryBillType) {
|
||||
if(CollectionUtils.isEmpty(salaryItemIds) || Objects.isNull(salaryTemplateId) || Objects.isNull(salaryBillType))
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -7,11 +7,13 @@ import com.engine.salary.biz.SalarySobBiz;
|
|||
import com.engine.salary.biz.SalaryTemplateBiz;
|
||||
import com.engine.salary.entity.salaryBill.bo.SalaryTemplateBO;
|
||||
import com.engine.salary.entity.salaryBill.dto.SalaryTemplateListDTO;
|
||||
import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemListDTO;
|
||||
import com.engine.salary.entity.salaryBill.dto.SalaryTemplateSalaryItemSetListDTO;
|
||||
import com.engine.salary.entity.salaryBill.param.SalaryTemplateCopyParam;
|
||||
import com.engine.salary.entity.salaryBill.param.SalaryTemplateDefaultUseParam;
|
||||
import com.engine.salary.entity.salaryBill.param.SalaryTemplateQueryParam;
|
||||
import com.engine.salary.entity.salaryBill.param.SalaryTemplateSaveParam;
|
||||
import com.engine.salary.entity.salaryBill.po.SalaryBillItemNamePO;
|
||||
import com.engine.salary.entity.salaryBill.po.SalaryTemplatePO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemDTO;
|
||||
|
|
@ -59,6 +61,10 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate
|
|||
return ServiceUtil.getService(SalarySobItemHideServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryBillItemNameService getSalaryBillItemNameService(User user) {
|
||||
return ServiceUtil.getService(SalaryBillItemNameServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SalaryTemplatePO getById(Long id) {
|
||||
return mapper.getById(id);
|
||||
|
|
@ -138,6 +144,10 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate
|
|||
salaryTemplate.setSalaryItemZeroStatus(saveParam.getSalaryItemZeroStatus()?1:0);
|
||||
salaryTemplate.setAutoSendCycleType(saveParam.getAutoSendCycleType());
|
||||
mapper.insert(salaryTemplate);
|
||||
|
||||
// 存储工资单项目自定义名称信息
|
||||
saveParam.getSalaryBillItemNameSetting().stream().forEach(set -> set.setSalaryTemplateId(salaryTemplate.getId()));
|
||||
getSalaryBillItemNameService(user).saveItemShowName(saveParam.getSalaryBillItemNameSetting());
|
||||
// 记录日志
|
||||
// SalaryLoggerUtil.recordAddSingleLog(salaryTemplateLoggerTemplate,
|
||||
// salaryTemplate.getId(),
|
||||
|
|
@ -204,6 +214,24 @@ public class SalaryTemplateServiceImpl extends Service implements SalaryTemplate
|
|||
salaryTemplateNew.setSalaryItemSetting(saveParam.getSalaryItemSetting() != null ? JSONUtil.toJsonStr(saveParam.getSalaryItemSetting()) : "");
|
||||
salaryTemplateNew.setReplenishSalaryItemSetting(saveParam.getReplenishSalaryItemSetting() != null ? JSONUtil.toJsonStr(saveParam.getReplenishSalaryItemSetting()) : "");
|
||||
mapper.updateById(salaryTemplateNew);
|
||||
|
||||
// 保存自定义工资单项目名称信息
|
||||
getSalaryBillItemNameService(user).saveItemShowName(saveParam.getSalaryBillItemNameSetting());
|
||||
// 模板中没有的薪资项目需要同步删除显示名称表
|
||||
List<SalaryBillItemNamePO> billItemNameList = getSalaryBillItemNameService(user).ListByTemplateAndType(SalaryBillItemNamePO.builder().salaryTemplateId(saveParam.getId()).build());
|
||||
Map<Integer, List<SalaryBillItemNamePO>> billItemNameMap = SalaryEntityUtil.group2Map(billItemNameList, SalaryBillItemNamePO::getSalaryBillType);
|
||||
List<SalaryTemplateSalaryItemListDTO> saveItemList = saveParam.getSalaryItemSetting().stream().map(SalaryTemplateSalaryItemSetListDTO::getItems).flatMap(Collection::stream).collect(Collectors.toList());
|
||||
Set<String> saveItemIdList = SalaryEntityUtil.properties(saveItemList, SalaryTemplateSalaryItemListDTO::getSalaryItemId);
|
||||
// 正常工资单模板
|
||||
List<Long> needDeleteIds = billItemNameMap.getOrDefault(NumberUtils.INTEGER_ZERO, Collections.emptyList()).stream().filter(salaryBillItemNamepo -> !saveItemIdList.contains(salaryBillItemNamepo.getSalaryItemId().toString()))
|
||||
.map(SalaryBillItemNamePO::getId).collect(Collectors.toList());
|
||||
// 补发工资单模板
|
||||
List<SalaryTemplateSalaryItemListDTO> replenishItemList = saveParam.getReplenishSalaryItemSetting().stream().map(SalaryTemplateSalaryItemSetListDTO::getItems).flatMap(Collection::stream).collect(Collectors.toList());
|
||||
Set<String> saveReplenishItemIdList = SalaryEntityUtil.properties(replenishItemList, SalaryTemplateSalaryItemListDTO::getSalaryItemId);
|
||||
needDeleteIds.addAll(billItemNameMap.getOrDefault(NumberUtils.INTEGER_ONE, Collections.emptyList()).stream().filter(salaryBillItemNamepo -> !saveReplenishItemIdList.contains(salaryBillItemNamepo.getSalaryItemId().toString()))
|
||||
.map(SalaryBillItemNamePO::getId).collect(Collectors.toList()));
|
||||
getSalaryBillItemNameService(user).deleteByIds(needDeleteIds);
|
||||
|
||||
// 记录日志
|
||||
// SalaryLoggerUtil.recordUpdateSingleLog(salaryTemplateLoggerTemplate,
|
||||
// salaryTemplate.getId(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue