This commit is contained in:
parent
f4ebcf987c
commit
5c936a0334
|
|
@ -6,7 +6,6 @@ import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
|||
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculateBO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctCalculatePriorityBO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctResultBO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctProgressDTO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
|
|
@ -26,6 +25,7 @@ import com.engine.salary.service.impl.*;
|
|||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.weaver.util.threadPool.ThreadPoolUtil;
|
||||
import com.weaver.util.threadPool.constant.ModulePoolEnum;
|
||||
|
|
@ -35,6 +35,7 @@ import org.apache.commons.collections4.CollectionUtils;
|
|||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import weaver.hrm.User;
|
||||
|
||||
|
|
@ -148,17 +149,26 @@ public class SalaryAcctManager extends Service {
|
|||
* 核算已归档后,需要重新核算某一项
|
||||
*/
|
||||
public void supplementAcctRecord(SalaryAcctSupplementParam param) {
|
||||
ValidUtil.doValidator(param);
|
||||
|
||||
List<Long> salaryItemIds = Arrays.stream(param.getSalaryItemStrIds().split(",")).map(Long::valueOf).collect(Collectors.toList());
|
||||
param.setSalaryItemIds(salaryItemIds);
|
||||
|
||||
if(CollectionUtils.isEmpty(salaryItemIds)){
|
||||
throw new SalaryRunTimeException("薪资项目为空!");
|
||||
}
|
||||
|
||||
calculate(param);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 薪资核算-核算
|
||||
* 补算
|
||||
*
|
||||
* @param calculateParam 薪资核算的参数
|
||||
*/
|
||||
public void calculate(SalaryAcctSupplementParam calculateParam) {
|
||||
log.info("开始核算V1{}", calculateParam);
|
||||
log.info("补算开始{}", calculateParam);
|
||||
|
||||
//当前登陆人员
|
||||
DataCollectionEmployee simpleEmployee = new DataCollectionEmployee();
|
||||
|
|
@ -245,12 +255,7 @@ public class SalaryAcctManager extends Service {
|
|||
// 10、根据id查询其他合并计税的薪资核算记录
|
||||
List<SalaryAcctRecordPO> otherSalaryAcctRecordPOS = getSalaryAcctRecordService(user).listById4OtherConsolidatedTax(salaryAcctRecordPO.getId());
|
||||
// 11、查询本次核算人员
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeePOS;
|
||||
if (CollectionUtils.isEmpty(calculateParam.getIds())) {
|
||||
salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(salaryAcctRecordPO.getId());
|
||||
} else {
|
||||
salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listByIds(calculateParam.getIds());
|
||||
}
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(salaryAcctRecordPO.getId());
|
||||
if (CollectionUtils.isEmpty(salaryAcctEmployeePOS)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(103378, "薪资核算人员不能为空"));
|
||||
}
|
||||
|
|
@ -314,10 +319,7 @@ public class SalaryAcctManager extends Service {
|
|||
|
||||
} catch (Exception e) {
|
||||
log.info("薪资核算出错:{}", e.getMessage(), e);
|
||||
// throw new SalaryRunTimeException(e);
|
||||
getSalaryAcctProgressService(user).fail("SalaryCacheKey.ACCT_PROGRESS" + calculateParam.getSalaryAcctRecordId(), SalaryI18nUtil.getI18nLabel(99642, "薪资核算出错") + ": " + e.getMessage());
|
||||
} finally {
|
||||
// 数据库字段加密用
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -331,15 +333,15 @@ public class SalaryAcctManager extends Service {
|
|||
// 查询薪资核算结果的临时存储
|
||||
List<SalaryAcctResultTempPO> salaryAcctResultTempPOS = getSalaryAcctResultTempService(user).listByCalculateKey(calculateKey);
|
||||
// 删除原来的薪资核算结果
|
||||
if (CollectionUtils.isNotEmpty(calculateParam.getIds())) {
|
||||
getSalaryAcctResultMapper().deleteBySalaryAcctEmpIds(calculateParam.getIds());
|
||||
} else {
|
||||
getSalaryAcctResultMapper().deleteBySalaryAcctRecordIds(Collections.singleton(calculateParam.getSalaryAcctRecordId()));
|
||||
getSalaryAcctReportService(user).deleteBySalaryAcctRecordId(calculateParam.getSalaryAcctRecordId());
|
||||
}
|
||||
List<Long> salaryItemIds = calculateParam.getSalaryItemIds();
|
||||
getSalaryAcctResultMapper().deleteBySalaryAcctRecordIdAndSalaryItemIds(calculateParam.getSalaryAcctRecordId(), salaryItemIds);
|
||||
// 保存薪资的薪资核算结果
|
||||
List<SalaryAcctResultPO> salaryAcctResultPOS = SalaryAcctResultBO.convert2ResultPO(salaryAcctResultTempPOS);
|
||||
// batchSave(salaryAcctResultPOS);
|
||||
List<SalaryAcctResultPO> salaryAcctResultPOS = salaryAcctResultTempPOS.stream().filter(salaryAcctResultTempPO -> salaryItemIds.contains(salaryAcctResultTempPO.getSalaryItemId())).map(e -> {
|
||||
SalaryAcctResultPO salaryAcctResult = new SalaryAcctResultPO();
|
||||
BeanUtils.copyProperties(e, salaryAcctResult);
|
||||
return salaryAcctResult;
|
||||
}).collect(Collectors.toList());
|
||||
getSalaryAcctResultService(user).batchSave(salaryAcctResultPOS);
|
||||
//保存核算报表数据
|
||||
// List<SalaryAcctResultReportPO> salaryAcctResultReportPOS = SalaryAcctResultReportBO.convert2ReportPO(salaryAcctResultTempPOS, calculateParam.getEmps());
|
||||
// getSalaryAcctReportService(user).batchSave(salaryAcctResultReportPOS);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 薪资补充核算的参数
|
||||
|
|
@ -22,13 +22,12 @@ import java.util.Collection;
|
|||
@AllArgsConstructor
|
||||
public class SalaryAcctSupplementParam {
|
||||
|
||||
//核算人员的id,不是employeeId而是salaryAcctEmpId
|
||||
private Collection<Long> ids;
|
||||
|
||||
@DataCheck(require = true,message = "参数错误,薪资核算记录ID不能为空")
|
||||
private Long salaryAcctRecordId;
|
||||
|
||||
@DataCheck(require = true,message = "参数错误,薪资项目ID不能为空")
|
||||
private String salaryItemIds;
|
||||
private String salaryItemStrIds;
|
||||
|
||||
private List<Long> salaryItemIds;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ public interface SalaryAcctResultMapper {
|
|||
void deleteBySalaryAcctEmpIds(@Param("salaryAcctEmpIds") Collection<Long> salaryAcctEmpIds);
|
||||
|
||||
/**
|
||||
* 根据薪资核算id、薪资项目id删除薪资核算结果
|
||||
* 根据薪资核算人员id、薪资项目id删除薪资核算结果
|
||||
*
|
||||
* @param salaryAcctEmpIds
|
||||
* @param salaryItemIds
|
||||
|
|
@ -104,6 +104,14 @@ public interface SalaryAcctResultMapper {
|
|||
void deleteByAcctEmpIdsAndSalaryItemIds(@Param("salaryAcctEmpIds") Collection<Long> salaryAcctEmpIds,
|
||||
@Param("salaryItemIds") Collection<Long> salaryItemIds);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param salaryAcctRecordId
|
||||
* @param salaryItemIds
|
||||
*/
|
||||
void deleteBySalaryAcctRecordIdAndSalaryItemIds(@Param("salaryAcctRecordId") Long salaryAcctRecordId,
|
||||
@Param("salaryItemIds") Collection<Long> salaryItemIds);
|
||||
|
||||
/**
|
||||
* 根据薪资核算id删除薪资核算结果
|
||||
*
|
||||
|
|
|
|||
|
|
@ -535,6 +535,16 @@
|
|||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBySalaryAcctRecordIdAndSalaryItemIds">
|
||||
DELETE FROM hrsa_salary_acct_result
|
||||
WHERE delete_type = 0
|
||||
AND salary_acct_record_id =#{salaryAcctRecordId}
|
||||
AND salary_item_id IN
|
||||
<foreach collection="salaryItemIds" open="(" item="salaryItemId" separator="," close=")">
|
||||
#{salaryItemId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteByIds">
|
||||
DELETE FROM hrsa_salary_acct_result
|
||||
WHERE delete_type = 0
|
||||
|
|
|
|||
Loading…
Reference in New Issue