Merge branch 'release/3.0.2.2504.01' into custom/福建罗德数字科技有限公司
This commit is contained in:
commit
bb5168c917
|
|
@ -1,3 +1,5 @@
|
|||
|
||||
## 薪资档案生成不了
|
||||
select id from hrsa_tax_agent_emp
|
||||
where tax_agent_id =扣缴义务人id
|
||||
and delete_type = 0
|
||||
|
|
@ -7,4 +9,13 @@ where tax_agent_id =扣缴义务人id and delete_type = 0)
|
|||
|
||||
|
||||
update hrsa_tax_agent_emp set delete_type = 3 where delete_type = 0
|
||||
where tax_agent_id=扣缴义务人id and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =扣缴义务人id and delete_type = 0)
|
||||
where tax_agent_id=扣缴义务人id and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =扣缴义务人id and delete_type = 0)
|
||||
|
||||
|
||||
|
||||
## 考勤引用
|
||||
drop sequence HRSA_ATTEND_QUOTE_ID
|
||||
/
|
||||
|
||||
drop trigger HRSA_ATTEND_QUOTE_TRI
|
||||
/
|
||||
|
|
@ -723,6 +723,7 @@ public class TaxDeclarationBO {
|
|||
private static String findStringValue(String fieldCode, Map<Long, List<SalaryAcctResultPO>> resultMap, Map<String, Long> salaryItemMap) {
|
||||
return resultMap.getOrDefault(salaryItemMap.getOrDefault(fieldCode, 0L), Collections.emptyList()).stream()
|
||||
.map(SalaryAcctResultPO::getResultValue)
|
||||
.filter(Objects::nonNull)
|
||||
.findFirst().orElse("");
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
|||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam;
|
||||
import com.engine.salary.entity.setting.param.PageListSettingQueryParam;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.auth.AuthFilterTypeEnum;
|
||||
|
|
@ -31,6 +30,8 @@ import com.engine.salary.service.*;
|
|||
import com.engine.salary.service.auth.AuthService;
|
||||
import com.engine.salary.service.auth.AuthServiceImpl;
|
||||
import com.engine.salary.service.impl.*;
|
||||
import com.engine.salary.sys.service.SalarySysConfService;
|
||||
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
||||
import com.engine.salary.util.SalaryAssert;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
|
|
@ -49,6 +50,8 @@ import weaver.hrm.User;
|
|||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.engine.salary.sys.constant.SalarySysConstant.REPORT_ORGANIZATIN_TYPE;
|
||||
|
||||
/**
|
||||
* 薪酬统计员工明细
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -103,6 +106,11 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
return ServiceUtil.getService(SettingServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySysConfService getSalarySysConfService(User user) {
|
||||
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private final boolean isRealOrg = "1".equals(getSalarySysConfService(user).getValueByCode(REPORT_ORGANIZATIN_TYPE));
|
||||
@Override
|
||||
public PageInfo<SalaryStatisticsEmployeeListDTO> listPage(SalaryStatisticsEmployeeQueryParam queryParam) {
|
||||
List<SalaryStatisticsEmployeeListDTO> list = Collections.emptyList();
|
||||
|
|
@ -262,14 +270,22 @@ public class SalaryStatisticsEmployeeServiceImpl extends Service implements Sala
|
|||
map.put("salarySob", SalarySobMap.get(se.getSalarySobId()));
|
||||
map.put("acctTimes", salaryAcctRecordMap.get(se.getSalaryAcctRecordId()));
|
||||
map.put("userName", Util.null2String(emp.getUsername()));
|
||||
map.put("subCompany", Util.null2String(emp.getSubcompanyName()));
|
||||
map.put("department", Util.null2String(emp.getDepartmentName()));
|
||||
map.put("jobTitle", Util.null2String(emp.getJobtitleName()));
|
||||
map.put("status", Util.null2String(NumberUtil.isNumber(emp.getStatus()) ? SalaryEmployeeStatusEnum.parseByValue(Integer.valueOf(emp.getStatus())).getDefaultLabel() : null));
|
||||
map.put("workCode", Util.null2String(emp.getWorkcode()));
|
||||
map.put("idNo", Util.null2String(emp.getIdNo()));
|
||||
map.put("companystartdate", Util.null2String(emp.getCompanystartdate()));
|
||||
|
||||
if(isRealOrg){
|
||||
map.put("subCompany", Util.null2String(emp.getSubcompanyName()));
|
||||
map.put("department", Util.null2String(emp.getDepartmentName()));
|
||||
map.put("jobTitle", Util.null2String(emp.getJobtitleName()));
|
||||
map.put("status", Util.null2String(NumberUtil.isNumber(emp.getStatus()) ? SalaryEmployeeStatusEnum.parseByValue(Integer.valueOf(emp.getStatus())).getDefaultLabel() : null));
|
||||
}else {
|
||||
map.put("subCompany", Util.null2String(se.getSubcompanyName()));
|
||||
map.put("department", Util.null2String(se.getDepartmentName()));
|
||||
map.put("jobTitle", Util.null2String(se.getJobtitleName()));
|
||||
map.put("status", Util.null2String(NumberUtil.isNumber(se.getStatus()) ? SalaryEmployeeStatusEnum.parseByValue(Integer.valueOf(se.getStatus())).getDefaultLabel() : null));
|
||||
}
|
||||
|
||||
// IncomeCategoryEnum incomeCategoryEnum = IncomeCategoryEnum.parseByValue(Integer.parseInt(se.getIncomeCategory()));
|
||||
// map.put("incomeCategory", Objects.isNull(incomeCategoryEnum) ? "" : SalaryI18nUtil.getI18nLabel(incomeCategoryEnum.getLabelId(), incomeCategoryEnum.getDefaultLabel()));
|
||||
list.add(map);
|
||||
|
|
|
|||
|
|
@ -525,7 +525,7 @@ public class SalaryStatisticsReportServiceImpl extends Service implements Salary
|
|||
throw new SalaryRunTimeException("该维度值中无数据!");
|
||||
}
|
||||
// 同一个人放在一起
|
||||
listByDimensionValue = listByDimensionValue.stream().sorted(Comparator.comparing(SalaryAcctEmployeePO::getEmployeeId)).collect(Collectors.toList());
|
||||
listByDimensionValue = listByDimensionValue.stream().sorted((a,b)-> b.getSalaryMonth().compareTo(a.getSalaryMonth())).collect(Collectors.toList());
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeePOList = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), listByDimensionValue);
|
||||
|
||||
// 获取此分页的核算人员
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.salary.service.auth;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||
|
|
@ -63,6 +64,12 @@ public class AuthRoleServiceImpl extends Service implements AuthRoleService {
|
|||
public PageInfo<AuthRoleDTO> roleList(AuthRoleListQueryParam param) {
|
||||
|
||||
List<AuthRolePO> authRolePOS = getAuthRoleMapper().list(param);
|
||||
|
||||
String name = param.getName();
|
||||
if(StrUtil.isNotBlank(name)){
|
||||
authRolePOS = authRolePOS.stream().filter(po -> po.getName().contains(name)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
int total = authRolePOS.size();
|
||||
|
||||
List<AuthRoleDTO> list = SalaryPageUtil.subList(param.getCurrent(), param.getPageSize(), authRolePOS)
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ public class RecordsBuildServiceImpl extends Service implements RecordsBuildServ
|
|||
Map<Long, DataCollectionEmployee> collect = employeeByIds.stream().collect(Collectors.toMap(DataCollectionEmployee::getEmployeeId, Function.identity()));
|
||||
list.forEach(item -> {
|
||||
Map<String, Object> record = new HashMap<>();
|
||||
DataCollectionEmployee simpleEmployee = collect.get(item.getEmployeeId());
|
||||
DataCollectionEmployee simpleEmployee = collect.get(item.getEmployeeId()) ==null?new DataCollectionEmployee():collect.get(item.getEmployeeId());
|
||||
record.put("id", item.getId());
|
||||
record.put("employeeId", item.getEmployeeId());
|
||||
record.put("billMonth", item.getBillMonth());
|
||||
|
|
|
|||
|
|
@ -485,8 +485,10 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
|||
socialMap = socialMap.entrySet().stream().filter(e -> "9002".equals(e.getKey()))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
Map<String, String> socialComMap = JSON.parseObject(socialSchemePO.getSocialPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
socialComMap = socialComMap.entrySet().stream().filter(e -> "9002".equals(e.getKey()))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
if(socialComMap !=null){
|
||||
socialComMap = socialComMap.entrySet().stream().filter(e -> "9002".equals(e.getKey()))
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
}
|
||||
List<String> socialIds = new ArrayList<>();
|
||||
socialIds.addAll(socialMap == null ? Collections.emptyList() : socialMap.keySet());
|
||||
socialIds.addAll(socialComMap == null ? Collections.emptyList() : socialComMap.keySet());
|
||||
|
|
|
|||
|
|
@ -2473,6 +2473,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
* @param employeeId
|
||||
*/
|
||||
public String update(InsuranceSchemeReqParam updateParam, long employeeId) {
|
||||
log.info("福利方案更新参数:{}", updateParam);
|
||||
//查询是否存在福利方案
|
||||
InsuranceSchemePO insuranceSchemePO = getById(updateParam.getInsuranceScheme().getId());
|
||||
if (Objects.isNull(insuranceSchemePO)) {
|
||||
|
|
@ -2506,6 +2507,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
//更新福利方案主表
|
||||
InsuranceSchemePO insuranceSchemePO1 = InsuranceSchemeBO.buildInsuranceSchemePO(insuranceSchemePO, updateParam.getInsuranceScheme());
|
||||
getInsuranceSchemeMapper().update(insuranceSchemePO1);
|
||||
log.info("福利方案更新主表:{}", insuranceSchemePO1);
|
||||
//记录主表操作日志
|
||||
loggerContext.setNewValues(insuranceSchemePO1);
|
||||
SalaryElogConfig.siSchemeLoggerTemplate.write(loggerContext);
|
||||
|
|
@ -2529,6 +2531,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
//更新福利方案明细表 先删后插
|
||||
getInsuranceSchemeDetailMapper().batchDeleteByPrimaryIds(Collections.singleton(updateParam.getInsuranceScheme().getId()));
|
||||
//更新明细表
|
||||
log.info("福利方案更新明细表:{}", insuranceSchemeDetailPOS);
|
||||
encryptUtil.encryptList(insuranceSchemeDetailPOS, InsuranceSchemeDetailPO.class);
|
||||
insuranceSchemeDetailPOS.forEach(getInsuranceSchemeDetailMapper()::insert);
|
||||
|
||||
|
|
|
|||
|
|
@ -485,7 +485,7 @@ public class SalaryBillController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String batGrant(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySendBatParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalarySendBatParam, Map<String, Object>>(user).run(getSalarySendWrapper(user)::batGrant, queryParam);
|
||||
return new ResponseResult<SalarySendBatParam, String>(user).run(getSalarySendWrapper(user)::batGrant, queryParam);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -499,7 +499,7 @@ public class SalaryBillController {
|
|||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String batWithdraw(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalarySendBatParam queryParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalarySendBatParam, Map<String, Object>>(user).run(getSalarySendWrapper(user)::batWithdraw, queryParam);
|
||||
return new ResponseResult<SalarySendBatParam, String>(user).run(getSalarySendWrapper(user)::batWithdraw, queryParam);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -117,9 +117,9 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
|
||||
list.forEach(dto -> {
|
||||
// 回算过,但是查看的是普通工资单(不能查看详情);回算过,但是查看的是回算工资单(可以发);记录没回算过(可以发)
|
||||
if(Objects.equals(dto.getSalaryAcctRecordType(), NumberUtils.INTEGER_ONE) && Objects.equals(dto.getSalaryAcctType(),NumberUtils.INTEGER_ZERO)){
|
||||
if (Objects.equals(dto.getSalaryAcctRecordType(), NumberUtils.INTEGER_ONE) && Objects.equals(dto.getSalaryAcctType(), NumberUtils.INTEGER_ZERO)) {
|
||||
dto.setCanSeeDetail(false);
|
||||
}else{
|
||||
} else {
|
||||
dto.setCanSeeDetail(true);
|
||||
}
|
||||
});
|
||||
|
|
@ -142,7 +142,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
e.setTemplate(NumberUtils.INTEGER_ONE.equals(e.getSalaryAcctType()) ? salaryTemplatePO.getReplenishName() : salaryTemplatePO.getName());
|
||||
e.setTemplateId(salaryTemplatePO.getId());
|
||||
if ((salaryTemplatePO.getAckFeedbackStatus() != null && salaryTemplatePO.getAckFeedbackStatus() == 1) ||
|
||||
(salaryTemplatePO.getFeedbackStatus() != null && salaryTemplatePO.getFeedbackStatus() == 1) ) {
|
||||
(salaryTemplatePO.getFeedbackStatus() != null && salaryTemplatePO.getFeedbackStatus() == 1)) {
|
||||
e.setAckFeedbackStatus(1);
|
||||
} else {
|
||||
e.setAckFeedbackStatus(0);
|
||||
|
|
@ -688,6 +688,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
|
||||
/**
|
||||
* 发送短信验证码
|
||||
*
|
||||
* @param param 短信验证码发送参数
|
||||
*/
|
||||
public void sendMobileCode(SMSCodeSendParam param) {
|
||||
|
|
@ -696,6 +697,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
|
||||
/**
|
||||
* 校验短信验证码
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
|
|
@ -706,7 +708,7 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
public PayrollCheckTypeEnum payrollCheckType() {
|
||||
SalarySysConfPO conf = getSalarySysConfService(user).getOneByCode(SalarySysConstant.SALARY_PAYROLL_CHECK_TYPE);
|
||||
|
||||
if(conf == null){
|
||||
if (conf == null) {
|
||||
return PayrollCheckTypeEnum.PWD;
|
||||
}
|
||||
|
||||
|
|
@ -714,14 +716,14 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
}
|
||||
|
||||
public void confirmSalaryBill(Long salaryInfoId) {
|
||||
if(ObjectUtil.isNull(salaryInfoId)){
|
||||
if (ObjectUtil.isNull(salaryInfoId)) {
|
||||
throw new SalaryRunTimeException("工资单id不能为空!");
|
||||
}
|
||||
getSalaryBillService(user).confirmSalaryBill(salaryInfoId);
|
||||
}
|
||||
|
||||
public void feedBackSalaryBill(Long salaryInfoId) {
|
||||
if(ObjectUtil.isNull(salaryInfoId)){
|
||||
if (ObjectUtil.isNull(salaryInfoId)) {
|
||||
throw new SalaryRunTimeException("工资单id不能为空!");
|
||||
}
|
||||
getSalaryBillService(user).feedBackSalaryBill(salaryInfoId);
|
||||
|
|
@ -740,26 +742,48 @@ public class SalarySendWrapper extends Service implements SalarySendWrapperProxy
|
|||
}
|
||||
|
||||
|
||||
public void batGrant(SalarySendBatParam param) {
|
||||
public String batGrant(SalarySendBatParam param) {
|
||||
List<Long> salarySendIds = param.getSalarySendIds();
|
||||
|
||||
int successCount = 0;
|
||||
int failCount = 0;
|
||||
String failMsg = "";
|
||||
for (int i = 0; i < salarySendIds.size(); i++) {
|
||||
Long sendId = salarySendIds.get(i);
|
||||
SalarySendGrantParam grantParam = SalarySendGrantParam.builder()
|
||||
.salarySendId(sendId)
|
||||
.build();
|
||||
grant(grantParam);
|
||||
try {
|
||||
Long sendId = salarySendIds.get(i);
|
||||
SalarySendGrantParam grantParam = SalarySendGrantParam.builder()
|
||||
.salarySendId(sendId)
|
||||
.build();
|
||||
grant(grantParam);
|
||||
successCount++;
|
||||
} catch (Exception e) {
|
||||
failCount++;
|
||||
failMsg = failMsg + "第" + (i + 1) + "个发放失败!失败原因:" + e.getMessage() + "\n";
|
||||
}
|
||||
}
|
||||
|
||||
return String.format("成功:" + successCount + "个,失败:" + failCount + "个%s", failCount == 0 ? "" : ",失败原因:" + failMsg);
|
||||
}
|
||||
public void batWithdraw(SalarySendBatParam param) {
|
||||
|
||||
public String batWithdraw(SalarySendBatParam param) {
|
||||
List<Long> salarySendIds = param.getSalarySendIds();
|
||||
|
||||
int successCount = 0;
|
||||
int failCount = 0;
|
||||
String failMsg = "";
|
||||
for (int i = 0; i < salarySendIds.size(); i++) {
|
||||
Long sendId = salarySendIds.get(i);
|
||||
SalarySendWithdrawParam grantParam = SalarySendWithdrawParam.builder()
|
||||
.salarySendId(sendId)
|
||||
.build();
|
||||
withdraw(grantParam);
|
||||
try {
|
||||
Long sendId = salarySendIds.get(i);
|
||||
SalarySendWithdrawParam grantParam = SalarySendWithdrawParam.builder()
|
||||
.salarySendId(sendId)
|
||||
.build();
|
||||
withdraw(grantParam);
|
||||
} catch (Exception e) {
|
||||
failCount++;
|
||||
failMsg = failMsg + "第" + (i + 1) + "个撤回失败!失败原因:" + e.getMessage() + "\n";
|
||||
}
|
||||
|
||||
}
|
||||
return String.format("成功:" + successCount + "个,失败:" + failCount + "个%s", failCount == 0 ? "" : ",失败原因:" + failMsg);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue