Merge branch 'release/2.9.10.2312.02' into release/个税版本
# Conflicts: # src/com/engine/salary/service/impl/SalaryAcctRecordServiceImpl.java
This commit is contained in:
commit
4846cfcf18
|
|
@ -0,0 +1,39 @@
|
|||
ALTER TABLE hrsa_social_archives ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_fund_archives ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_other_archives ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD payment_scope varchar2(10) NULL;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
alter table hrsa_salary_item add width int null;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
ALTER TABLE hrsa_social_archives ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_fund_archives ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_other_archives ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD payment_scope varchar2(10) NULL;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
alter table hrsa_salary_item add width int null;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
ALTER TABLE hrsa_social_archives ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_fund_archives ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_other_archives ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD payment_scope varchar2(10) NULL;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
alter table hrsa_salary_item add width int null;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
ALTER TABLE hrsa_social_archives ADD COLUMN social_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_fund_archives ADD COLUMN fund_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_other_archives ADD COLUMN other_payment_com_base_string text NULL;
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD COLUMN social_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_bill_detail ADD COLUMN fund_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_bill_detail ADD COLUMN other_payment_com_base_string text NULL;
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD COLUMN social_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD COLUMN fund_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD COLUMN other_payment_com_base_string text NULL;
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD COLUMN social_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD COLUMN fund_payment_com_base_string text NULL;
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD COLUMN other_payment_com_base_string text NULL;
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD COLUMN payment_scope varchar(10) NULL;
|
||||
|
|
@ -0,0 +1 @@
|
|||
alter table hrsa_salary_item add width int null;
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
ALTER TABLE hrsa_social_archives ADD social_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_fund_archives ADD fund_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_other_archives ADD other_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD social_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD fund_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD other_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD payment_scope varchar2(10) NULL
|
||||
/
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
alter table hrsa_salary_item add width int null
|
||||
/
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
ALTER TABLE hrsa_social_archives ADD COLUMN social_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_fund_archives ADD COLUMN fund_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_other_archives ADD COLUMN other_payment_com_base_string varchar(4000) NULL;
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD COLUMN social_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_bill_detail ADD COLUMN fund_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_bill_detail ADD COLUMN other_payment_com_base_string varchar(4000) NULL;
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD COLUMN social_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD COLUMN fund_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD COLUMN other_payment_com_base_string varchar(4000) NULL;
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD COLUMN social_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD COLUMN fund_payment_com_base_string varchar(4000) NULL;
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD COLUMN other_payment_com_base_string varchar(4000) NULL;
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD COLUMN payment_scope varchar(10) NULL;
|
||||
|
|
@ -0,0 +1 @@
|
|||
alter table hrsa_salary_item add width int null;
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
ALTER TABLE hrsa_social_archives ADD social_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_fund_archives ADD fund_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_other_archives ADD other_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD social_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_bill_detail ADD fund_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_bill_detail ADD other_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD social_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD fund_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD other_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD social_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD fund_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD other_payment_com_base_string varchar(4000) NULL
|
||||
GO
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD payment_scope varchar(10) NULL
|
||||
GO
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
alter table hrsa_salary_item add width int null
|
||||
GO
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
ALTER TABLE hrsa_social_archives ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_fund_archives ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_other_archives ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_bill_detail_temp ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD social_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD fund_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_excel_bill_detail ADD other_payment_com_base_string varchar2(4000) NULL;
|
||||
/
|
||||
|
||||
ALTER TABLE hrsa_insurance_base_history ADD payment_scope varchar2(10) NULL;
|
||||
/
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
alter table hrsa_salary_item add width int null;
|
||||
/
|
||||
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
package com.engine.salary.action;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
|
||||
import com.engine.salary.service.SalaryAcctRecordService;
|
||||
import com.engine.salary.service.impl.SalaryAcctRecordServiceImpl;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.general.BaseBean;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
|
|
@ -59,8 +61,19 @@ public class FileSalaryAcctRecordAction implements Action {
|
|||
}
|
||||
User user = new User();
|
||||
user.setUid(1);
|
||||
Long acctRecordId = Long.valueOf(salaryAcctRecordId);
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(acctRecordId);
|
||||
if (salaryAcctRecordPO == null) {
|
||||
requestInfo.getRequestManager().setMessage("薪资核算记录不存在,或已被删除");
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
if (salaryAcctRecordPO.getStatus() > 1) {
|
||||
BaseBean baseBean = new BaseBean();
|
||||
baseBean.writeLog("核算记录归档action, 该核算记录已经归档:" + salaryAcctRecordPO.getId());
|
||||
return SUCCESS;
|
||||
}
|
||||
try {
|
||||
getSalaryAcctRecordService(user).file(Long.valueOf(salaryAcctRecordId));
|
||||
getSalaryAcctRecordService(user).file(acctRecordId);
|
||||
} catch (Exception e) {
|
||||
requestInfo.getRequestManager().setMessage(e.getMessage());
|
||||
return FAILURE_AND_CONTINUE;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,118 @@
|
|||
package com.engine.salary.action;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.biz.SalarySendInfoBiz;
|
||||
import com.engine.salary.entity.salaryBill.param.SalarySendGrantParam;
|
||||
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.service.SalaryAcctRecordService;
|
||||
import com.engine.salary.service.SalaryBillService;
|
||||
import com.engine.salary.service.SalarySendService;
|
||||
import com.engine.salary.service.SalaryTemplateService;
|
||||
import com.engine.salary.service.impl.SalaryAcctRecordServiceImpl;
|
||||
import com.engine.salary.service.impl.SalaryBillServiceImpl;
|
||||
import com.engine.salary.service.impl.SalarySendServiceImpl;
|
||||
import com.engine.salary.service.impl.SalaryTemplateServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import weaver.general.Util;
|
||||
import weaver.hrm.User;
|
||||
import weaver.interfaces.workflow.action.Action;
|
||||
import weaver.soa.workflow.request.Property;
|
||||
import weaver.soa.workflow.request.RequestInfo;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @ClassName FileSalaryAcctRecordAction
|
||||
* @date 2023/12/13 9:17
|
||||
* @description 工资单发放action
|
||||
*/
|
||||
@Slf4j
|
||||
public class SendSalaryAction implements Action {
|
||||
|
||||
|
||||
private SalaryAcctRecordService getSalaryAcctRecordService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySendService getSalarySendService(User user) {
|
||||
return ServiceUtil.getService(SalarySendServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryTemplateService getSalaryTemplateService(User user) {
|
||||
return ServiceUtil.getService(SalaryTemplateServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySendInfoBiz salarySendInfoMapper = new SalarySendInfoBiz();
|
||||
|
||||
private SalaryBillService getSalaryBillService(User user) {
|
||||
return ServiceUtil.getService(SalaryBillServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 发放id(核算记录id,工资单id)流程字段名
|
||||
*/
|
||||
private String idFieldName;
|
||||
|
||||
/**
|
||||
* 根据什么id(核算记录id,工资单id)发工资单
|
||||
*/
|
||||
private String sendBy;
|
||||
|
||||
|
||||
@Override
|
||||
public String execute(RequestInfo requestInfo) {
|
||||
Property[] properties = requestInfo.getMainTableInfo().getProperty();
|
||||
Map<String, String> fieldMap = Arrays.stream(properties).collect(Collectors.toMap(Property::getName,
|
||||
property -> Util.null2String(property.getValue())));
|
||||
String idStr = fieldMap.get(idFieldName);
|
||||
if (StringUtils.isBlank(idStr)) {
|
||||
requestInfo.getRequestManager().setMessage("核算记录id或工资单id不能为空");
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
User user = new User();
|
||||
user.setUid(1);
|
||||
Long id = Long.valueOf(idStr);
|
||||
SalarySendPO salarySendPO;
|
||||
if(!org.h2.util.StringUtils.isNullOrEmpty(sendBy) && sendBy.equals("salaryAcctRecordId")) {
|
||||
// 根据核算记录id发
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(id);
|
||||
if (salaryAcctRecordPO == null) {
|
||||
requestInfo.getRequestManager().setMessage("薪资核算记录不存在,或已被删除");
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
if (salaryAcctRecordPO.getStatus() == 1) {
|
||||
requestInfo.getRequestManager().setMessage("核算记录还未归档,请先归档");
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
// 获取工资单id
|
||||
List<SalarySendPO> salarySendPOList = getSalarySendService(user).listSome(SalarySendPO.builder().salaryAccountingId(id).sendStatus(0).build());
|
||||
salarySendPO = salarySendPOList.get(0);
|
||||
} else if (!org.h2.util.StringUtils.isNullOrEmpty(sendBy) && sendBy.equals("salarySendId")) {
|
||||
// 根据工资单发
|
||||
salarySendPO = getSalarySendService(user).getById(id);
|
||||
} else {
|
||||
requestInfo.getRequestManager().setMessage("请先维护根据什么id发放工资单的sendBy参数");
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
|
||||
if (salarySendPO == null || salarySendPO.getId() == null) {
|
||||
requestInfo.getRequestManager().setMessage("工资单不存在或已被删除!");
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
try {
|
||||
// 全部发放
|
||||
getSalaryBillService(user).grant(SalarySendGrantParam.builder().salarySendId(salarySendPO.getId()).build());
|
||||
} catch (Exception e) {
|
||||
requestInfo.getRequestManager().setMessage(e.getMessage());
|
||||
return FAILURE_AND_CONTINUE;
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,6 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.cache.SalaryCacheKey;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.encrypt.AESEncryptUtil;
|
||||
import com.engine.salary.encrypt.EncryptUtil;
|
||||
import com.engine.salary.entity.progress.ProgressDTO;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO;
|
||||
|
|
@ -631,11 +630,13 @@ public class SIAccountBiz extends Service {
|
|||
}
|
||||
|
||||
public InsuranceAccountDetailPO accountOther(InsuranceAccountDetailPO insuranceAccountDetailPO, InsuranceArchivesAccountPO accountPO, String billMonth, String tenantKey) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (accountPO.getOther() != null) {
|
||||
InsuranceArchivesOtherSchemePO otherPO = accountPO.getOther();
|
||||
insuranceAccountDetailPO.setOtherPayOrg(otherPO.getPaymentOrganization());
|
||||
insuranceAccountDetailPO.setOtherSchemeId(otherPO.getOtherSchemeId());
|
||||
insuranceAccountDetailPO.setOtherPaymentBaseString(otherPO.getOtherPaymentBaseString());
|
||||
insuranceAccountDetailPO.setOtherPaymentComBaseString(otherPO.getOtherPaymentComBaseString());
|
||||
//判断是否在起始缴纳月和最后缴纳月之间
|
||||
Boolean inDataRange = SalaryDateUtil.monthInRange(insuranceAccountDetailPO.getBillMonth(), otherPO.getOtherStartTime(), otherPO.getOtherEndTime());
|
||||
if ((Objects.equals(NonPaymentEnum.YES.getValue(), otherPO.getNonPayment()) || otherPO.getNonPayment() == null) && otherPO.getOtherSchemeId() != null && inDataRange) {
|
||||
|
|
@ -719,7 +720,13 @@ public class SIAccountBiz extends Service {
|
|||
.collect(
|
||||
Collectors.toMap(InsuranceSchemeDetailPO::getInsuranceId, Function.identity()));
|
||||
//档案中包含的基数信息
|
||||
HashMap<String, String> archivesCom = JSON.parseObject(otherPO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
// HashMap<String, String> archivesCom = JSON.parseObject(otherPO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
HashMap<String, String> archivesCom = new HashMap<>();
|
||||
if (welBaseDiffSign) {
|
||||
archivesCom = JSON.parseObject(otherPO.getOtherPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
} else {
|
||||
archivesCom = JSON.parseObject(otherPO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
//需要核算其他的福利id 单位
|
||||
List<Long> needArchivesCom = new ArrayList<>();
|
||||
if (archivesCom != null) {
|
||||
|
|
@ -742,10 +749,11 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
List<BigDecimal> otherComList = new ArrayList<>();
|
||||
Map<String, String> otherComJsonMap = new HashMap<>();
|
||||
HashMap<String, String> finalArchivesCom = archivesCom;
|
||||
needArchivesCom.stream().forEach(e -> {
|
||||
InsuranceSchemeDetailPO po = otherCom.get(e);
|
||||
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(archivesCom) || StringUtils.isBlank(archivesCom.get(String.valueOf(e)))) ? "0" : archivesCom.get(String.valueOf(e)));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
|
||||
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
|
||||
Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
|
||||
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
|
||||
|
|
@ -787,6 +795,7 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
|
||||
public InsuranceAccountDetailPO accountFund(InsuranceAccountDetailPO insuranceAccountDetailPO, InsuranceArchivesAccountPO accountPO, String billMonth, String tenantKey) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (accountPO.getFund() != null) {
|
||||
InsuranceArchivesFundSchemePO fundPO = accountPO.getFund();
|
||||
insuranceAccountDetailPO.setFundPayOrg(fundPO.getPaymentOrganization());
|
||||
|
|
@ -794,6 +803,7 @@ public class SIAccountBiz extends Service {
|
|||
insuranceAccountDetailPO.setSupplementFundAccount(fundPO.getSupplementFundAccount());
|
||||
insuranceAccountDetailPO.setFundSchemeId(fundPO.getFundSchemeId());
|
||||
insuranceAccountDetailPO.setFundPaymentBaseString(fundPO.getFundPaymentBaseString());
|
||||
insuranceAccountDetailPO.setFundPaymentComBaseString(fundPO.getFundPaymentComBaseString());
|
||||
//判断是否在起始缴纳月和最后缴纳月之间
|
||||
Boolean inDataRange = SalaryDateUtil.monthInRange(insuranceAccountDetailPO.getBillMonth(), fundPO.getFundStartTime(), fundPO.getFundEndTime());
|
||||
if ((NonPaymentEnum.YES.getValue() == fundPO.getNonPayment() || fundPO.getNonPayment() == null) && fundPO.getFundSchemeId() != null && inDataRange) {
|
||||
|
|
@ -876,7 +886,13 @@ public class SIAccountBiz extends Service {
|
|||
.collect(
|
||||
Collectors.toMap(InsuranceSchemeDetailPO::getInsuranceId, Function.identity()));
|
||||
//档案中包含的基数信息
|
||||
HashMap<String, String> archivesCom = JSON.parseObject(fundPO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
// HashMap<String, String> archivesCom = JSON.parseObject(fundPO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
HashMap<String, String> archivesCom = new HashMap<>();
|
||||
if (welBaseDiffSign) {
|
||||
archivesCom = JSON.parseObject(fundPO.getFundPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
} else {
|
||||
archivesCom = JSON.parseObject(fundPO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
//需要核算公积金的福利id 单位
|
||||
List<Long> needArchivesCom = new ArrayList<>();
|
||||
if (archivesCom != null) {
|
||||
|
|
@ -899,10 +915,11 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
List<BigDecimal> fundComList = new ArrayList<>();
|
||||
Map<String, String> fundComJsonMap = new HashMap<>();
|
||||
HashMap<String, String> finalArchivesCom = archivesCom;
|
||||
needArchivesCom.stream().forEach(e -> {
|
||||
InsuranceSchemeDetailPO po = fundCom.get(e);
|
||||
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(archivesCom) || StringUtils.isBlank(archivesCom.get(String.valueOf(e)))) ? "0" : archivesCom.get(String.valueOf(e)));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
|
||||
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
|
||||
Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
|
||||
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
|
||||
|
|
@ -945,12 +962,14 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
|
||||
public InsuranceAccountDetailPO accountSocial(InsuranceAccountDetailPO insuranceAccountDetailPO, InsuranceArchivesAccountPO accountPO, String billMonth, String tenantKey) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (accountPO.getSocial() != null) {
|
||||
InsuranceArchivesSocialSchemePO socialPO = accountPO.getSocial();
|
||||
insuranceAccountDetailPO.setSocialPayOrg(socialPO.getPaymentOrganization());
|
||||
insuranceAccountDetailPO.setSocialAccount(socialPO.getSocialAccount());
|
||||
insuranceAccountDetailPO.setSocialSchemeId(socialPO.getSocialSchemeId());
|
||||
insuranceAccountDetailPO.setSocialPaymentBaseString(socialPO.getSocialPaymentBaseString());
|
||||
insuranceAccountDetailPO.setSocialPaymentComBaseString(socialPO.getSocialPaymentComBaseString());
|
||||
//判断是否在起始缴纳月和最后缴纳月之间
|
||||
Boolean inDataRange = SalaryDateUtil.monthInRange(insuranceAccountDetailPO.getBillMonth(), socialPO.getSocialStartTime(), socialPO.getSocialEndTime());
|
||||
if ((NonPaymentEnum.YES.getValue().equals(socialPO.getNonPayment()) || socialPO.getNonPayment() == null) && socialPO.getSocialSchemeId() != null && inDataRange) {
|
||||
|
|
@ -1036,7 +1055,13 @@ public class SIAccountBiz extends Service {
|
|||
.collect(
|
||||
Collectors.toMap(InsuranceSchemeDetailPO::getInsuranceId, Function.identity()));
|
||||
//档案中包含的基数信息
|
||||
HashMap<String, String> archivesCom = JSON.parseObject(socialPO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
// HashMap<String, String> archivesCom = JSON.parseObject(socialPO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
HashMap<String, String> archivesCom = new HashMap<>();
|
||||
if (welBaseDiffSign) {
|
||||
archivesCom = JSON.parseObject(socialPO.getSocialPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
} else {
|
||||
archivesCom = JSON.parseObject(socialPO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
//需要核算社保的福利id 单位
|
||||
List<Long> needArchivesCom = new ArrayList<>();
|
||||
if (archivesCom != null) {
|
||||
|
|
@ -1059,10 +1084,11 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
List<BigDecimal> socialCom = new ArrayList<>();
|
||||
Map<String, String> sociaComJsonMap = new HashMap<>();
|
||||
HashMap<String, String> finalArchivesCom = archivesCom;
|
||||
needArchivesCom.stream().forEach(e -> {
|
||||
InsuranceSchemeDetailPO po = schemeCom.get(e);
|
||||
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(archivesCom) || StringUtils.isBlank(archivesCom.get(String.valueOf(e)))) ? "0" : archivesCom.get(String.valueOf(e)));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
|
||||
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
|
||||
Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
|
||||
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
|
||||
|
|
@ -1510,7 +1536,6 @@ public class SIAccountBiz extends Service {
|
|||
} else {
|
||||
accountFund(insuranceAccountDetailPO, accountPO, baseParam.getSupplementaryMonth());
|
||||
}
|
||||
|
||||
}
|
||||
if (projects.contains(ProjectTypeEnum.OTHER.getValue())) {
|
||||
|
||||
|
|
@ -1532,11 +1557,13 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
|
||||
public InsuranceAccountDetailPO accountOther(InsuranceAccountDetailPO insuranceAccountDetailPO, InsuranceArchivesAccountPO accountPO, String billMonth) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (accountPO.getOther() != null) {
|
||||
InsuranceArchivesOtherSchemePO otherPO = accountPO.getOther();
|
||||
insuranceAccountDetailPO.setOtherPayOrg(otherPO.getPaymentOrganization());
|
||||
insuranceAccountDetailPO.setOtherSchemeId(otherPO.getOtherSchemeId());
|
||||
insuranceAccountDetailPO.setOtherPaymentBaseString(otherPO.getOtherPaymentBaseString());
|
||||
insuranceAccountDetailPO.setOtherPaymentComBaseString(otherPO.getOtherPaymentComBaseString());
|
||||
//判断是否在起始缴纳月和最后缴纳月之间
|
||||
Boolean inDataRange = SalaryDateUtil.monthInRange(billMonth, otherPO.getOtherStartTime(), otherPO.getOtherEndTime());
|
||||
if ((Objects.equals(NonPaymentEnum.YES.getValue(), otherPO.getNonPayment()) || otherPO.getNonPayment() == null) && otherPO.getOtherSchemeId() != null && inDataRange) {
|
||||
|
|
@ -1611,7 +1638,13 @@ public class SIAccountBiz extends Service {
|
|||
.collect(
|
||||
Collectors.toMap(InsuranceSchemeDetailPO::getInsuranceId, Function.identity()));
|
||||
//档案中包含的基数信息
|
||||
HashMap<String, String> archivesCom = JSON.parseObject(otherPO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
// HashMap<String, String> archivesCom = JSON.parseObject(otherPO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
HashMap<String, String> archivesCom = new HashMap<>();
|
||||
if (welBaseDiffSign) {
|
||||
archivesCom = JSON.parseObject(otherPO.getOtherPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
} else {
|
||||
archivesCom = JSON.parseObject(otherPO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
//需要核算其他的福利id 单位
|
||||
List<Long> needArchivesCom = new ArrayList<>();
|
||||
if (archivesCom != null) {
|
||||
|
|
@ -1626,10 +1659,11 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
List<BigDecimal> otherComList = new ArrayList<>();
|
||||
Map<String, String> otherComJsonMap = new HashMap<>();
|
||||
HashMap<String, String> finalArchivesCom = archivesCom;
|
||||
needArchivesCom.stream().forEach(e -> {
|
||||
InsuranceSchemeDetailPO po = otherCom.get(e);
|
||||
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(archivesCom) || StringUtils.isBlank(archivesCom.get(String.valueOf(e)))) ? "0" : archivesCom.get(String.valueOf(e)));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
|
||||
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
|
||||
Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
|
||||
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
|
||||
|
|
@ -1671,6 +1705,7 @@ public class SIAccountBiz extends Service {
|
|||
}
|
||||
|
||||
public InsuranceAccountDetailPO accountFund(InsuranceAccountDetailPO insuranceAccountDetailPO, InsuranceArchivesAccountPO accountPO, String billMonth) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (accountPO.getFund() != null) {
|
||||
InsuranceArchivesFundSchemePO fundPO = accountPO.getFund();
|
||||
insuranceAccountDetailPO.setFundPayOrg(fundPO.getPaymentOrganization());
|
||||
|
|
@ -1678,6 +1713,7 @@ public class SIAccountBiz extends Service {
|
|||
insuranceAccountDetailPO.setSupplementFundAccount(fundPO.getSupplementFundAccount());
|
||||
insuranceAccountDetailPO.setFundSchemeId(fundPO.getFundSchemeId());
|
||||
insuranceAccountDetailPO.setFundPaymentBaseString(fundPO.getFundPaymentBaseString());
|
||||
insuranceAccountDetailPO.setFundPaymentComBaseString(fundPO.getFundPaymentComBaseString());
|
||||
//判断是否在起始缴纳月和最后缴纳月之间
|
||||
Boolean inDataRange = SalaryDateUtil.monthInRange(billMonth, fundPO.getFundStartTime(), fundPO.getFundEndTime());
|
||||
if ((Objects.equals(NonPaymentEnum.YES.getValue(), fundPO.getNonPayment()) || fundPO.getNonPayment() == null) && fundPO.getFundSchemeId() != null && inDataRange) {
|
||||
|
|
@ -1751,7 +1787,13 @@ public class SIAccountBiz extends Service {
|
|||
.collect(
|
||||
Collectors.toMap(InsuranceSchemeDetailPO::getInsuranceId, Function.identity()));
|
||||
//档案中包含的基数信息
|
||||
HashMap<String, String> archivesCom = JSON.parseObject(fundPO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
// HashMap<String, String> archivesCom = JSON.parseObject(fundPO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
HashMap<String, String> archivesCom = new HashMap<>();
|
||||
if (welBaseDiffSign) {
|
||||
archivesCom = JSON.parseObject(fundPO.getFundPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
} else {
|
||||
archivesCom = JSON.parseObject(fundPO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
//需要核算公积金的福利id 单位
|
||||
List<Long> needArchivesCom = new ArrayList<>();
|
||||
if (archivesCom != null) {
|
||||
|
|
@ -1766,10 +1808,11 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
List<BigDecimal> fundComList = new ArrayList<>();
|
||||
Map<String, String> fundComJsonMap = new HashMap<>();
|
||||
HashMap<String, String> finalArchivesCom = archivesCom;
|
||||
needArchivesCom.stream().forEach(e -> {
|
||||
InsuranceSchemeDetailPO po = fundCom.get(e);
|
||||
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(archivesCom) || StringUtils.isBlank(archivesCom.get(String.valueOf(e)))) ? "0" : archivesCom.get(String.valueOf(e)));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
|
||||
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
|
||||
Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
|
||||
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
|
||||
|
|
@ -1812,12 +1855,14 @@ public class SIAccountBiz extends Service {
|
|||
}
|
||||
|
||||
public InsuranceAccountDetailPO accountSocial(InsuranceAccountDetailPO insuranceAccountDetailPO, InsuranceArchivesAccountPO accountPO, String billMonth) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (accountPO.getSocial() != null) {
|
||||
InsuranceArchivesSocialSchemePO socialPO = accountPO.getSocial();
|
||||
insuranceAccountDetailPO.setSocialPayOrg(socialPO.getPaymentOrganization());
|
||||
insuranceAccountDetailPO.setSocialAccount(socialPO.getSocialAccount());
|
||||
insuranceAccountDetailPO.setSocialSchemeId(socialPO.getSocialSchemeId());
|
||||
insuranceAccountDetailPO.setSocialPaymentBaseString(socialPO.getSocialPaymentBaseString());
|
||||
insuranceAccountDetailPO.setSocialPaymentComBaseString(socialPO.getSocialPaymentComBaseString());
|
||||
//判断是否在起始缴纳月和最后缴纳月之间
|
||||
Boolean inDataRange = SalaryDateUtil.monthInRange(billMonth, socialPO.getSocialStartTime(), socialPO.getSocialEndTime());
|
||||
if ((Objects.equals(NonPaymentEnum.YES.getValue(), socialPO.getNonPayment()) || socialPO.getNonPayment() == null) && socialPO.getSocialSchemeId() != null && inDataRange) {
|
||||
|
|
@ -1896,7 +1941,13 @@ public class SIAccountBiz extends Service {
|
|||
.collect(
|
||||
Collectors.toMap(InsuranceSchemeDetailPO::getInsuranceId, Function.identity()));
|
||||
//档案中包含的基数信息
|
||||
HashMap<String, String> archivesCom = JSON.parseObject(socialPO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
// HashMap<String, String> archivesCom = JSON.parseObject(socialPO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
HashMap<String, String> archivesCom = new HashMap<>();
|
||||
if (welBaseDiffSign) {
|
||||
archivesCom = JSON.parseObject(socialPO.getSocialPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
} else {
|
||||
archivesCom = JSON.parseObject(socialPO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
//需要核算社保的福利id 单位
|
||||
List<Long> needArchivesCom = new ArrayList<>();
|
||||
if (archivesCom != null) {
|
||||
|
|
@ -1911,10 +1962,11 @@ public class SIAccountBiz extends Service {
|
|||
|
||||
List<BigDecimal> socialCom = new ArrayList<>();
|
||||
Map<String, String> sociaComJsonMap = new HashMap<>();
|
||||
HashMap<String, String> finalArchivesCom = archivesCom;
|
||||
needArchivesCom.stream().forEach(e -> {
|
||||
InsuranceSchemeDetailPO po = schemeCom.get(e);
|
||||
BigDecimal paymentProportion = new BigDecimal(StringUtils.isBlank(po.getPaymentProportion()) ? "0" : po.getPaymentProportion()).divide(new BigDecimal("100"));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(archivesCom) || StringUtils.isBlank(archivesCom.get(String.valueOf(e)))) ? "0" : archivesCom.get(String.valueOf(e)));
|
||||
BigDecimal paymentNum = new BigDecimal((ObjectUtils.isEmpty(finalArchivesCom) || StringUtils.isBlank(finalArchivesCom.get(String.valueOf(e)))) ? "0" : finalArchivesCom.get(String.valueOf(e)));
|
||||
BigDecimal fixedCost = StringUtils.isBlank(po.getFixedCost()) ? new BigDecimal("0") : new BigDecimal(po.getFixedCost());
|
||||
Integer newScale = po.getValidNum() == null ? 0 : po.getValidNum();
|
||||
// BigDecimal result = SalaryEntityUtil.carryRule(newScale, po.getRententionRule(), paymentNum.multiply(paymentProportion).add(fixedCost));
|
||||
|
|
@ -1964,6 +2016,7 @@ public class SIAccountBiz extends Service {
|
|||
insuranceAccountDetailPO.setSocialAccount(socialPO.getSocialAccount());
|
||||
insuranceAccountDetailPO.setSocialSchemeId(socialPO.getSocialSchemeId());
|
||||
insuranceAccountDetailPO.setSocialPaymentBaseString(socialPO.getSocialPaymentBaseString());
|
||||
insuranceAccountDetailPO.setSocialPaymentComBaseString(socialPO.getSocialPaymentComBaseString());
|
||||
//判断是否在起始缴纳月和最后缴纳月之间
|
||||
Boolean inDataRange = SalaryDateUtil.monthInRange(billMonth, socialPO.getSocialStartTime(), socialPO.getSocialEndTime());
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -18,6 +18,11 @@ public class WeaTableColumnGroup extends WeaTableColumn {
|
|||
*/
|
||||
private Integer pattern;
|
||||
|
||||
/**
|
||||
* 字段类型
|
||||
*/
|
||||
private String dataType;
|
||||
|
||||
private List<WeaTableColumnGroup> children;
|
||||
|
||||
public WeaTableColumnGroup() {
|
||||
|
|
@ -40,6 +45,13 @@ public class WeaTableColumnGroup extends WeaTableColumn {
|
|||
this.pattern = pattern;
|
||||
}
|
||||
|
||||
public WeaTableColumnGroup(String width, String text, String column, String lockStatus, Integer pattern, String dataType) {
|
||||
super(width, text, column);
|
||||
this.lockStatus = lockStatus;
|
||||
this.pattern = pattern;
|
||||
this.dataType = dataType;
|
||||
}
|
||||
|
||||
|
||||
public WeaTableColumnGroup(String width, String text, String column, List<WeaTableColumnGroup> children) {
|
||||
super(width, text, column);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,6 @@ public class SalaryAcctResultReportBO {
|
|||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
public static List<SalaryAcctResultReportPO> convert2ReportPO(Collection<SalaryAcctResultTempPO> temps, Map<Long, DataCollectionEmployee> emps) {
|
||||
// Map<Long, DataCollectionEmployee> longDataCollectionEmployeeMap = SalaryEntityUtil.convert2Map(emps, DataCollectionEmployee::getEmployeeId);
|
||||
if (CollectionUtils.isEmpty(temps)) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.entity.salaryacct.bo;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.engine.salary.annotation.SalaryFormulaVar;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.constant.SalaryFormulaFieldConstant;
|
||||
|
|
@ -18,6 +19,7 @@ import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveTaxAgentDataDTO;
|
|||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobAdjustRulePO;
|
||||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalaryFormulaReferenceEnum;
|
||||
import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
|
||||
import com.engine.salary.enums.salarysob.SalarySobAdjustRuleTypeEnum;
|
||||
|
|
@ -562,6 +564,10 @@ public class CalculateFormulaVarBO {
|
|||
}
|
||||
// 填充到返回结果集中
|
||||
employeeMap.forEach((key, po) -> {
|
||||
// 获取po的状态
|
||||
if(po.getStatus() != null && NumberUtil.isNumber(po.getStatus())) {
|
||||
po.setStatusName(UserStatusEnum.getDefaultLabelByValue(new Integer(po.getStatus())));
|
||||
}
|
||||
List<FormulaVarValue> formulaVarValues = resultMap.computeIfAbsent(key, k -> Lists.newArrayList());
|
||||
Map<String, String> map = JsonUtil.parseMap(po, String.class);
|
||||
formulaVarValues.addAll(fieldNames.stream().map(fieldName -> {
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import com.engine.salary.util.page.SalaryPageUtil;
|
|||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
|
@ -170,7 +171,7 @@ public class SalaryAcctResultBO {
|
|||
List<WeaTableColumnGroup> columns = Lists.newArrayList();
|
||||
// 员工信息字段
|
||||
for (SalarySobEmpFieldDTO salarySobEmpFieldDTO : salarySobItemAggregateDTO.getEmpFields()) {
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobEmpFieldDTO.getFieldName()), salarySobEmpFieldDTO.getFieldName(), salarySobEmpFieldDTO.getFieldId()));
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobEmpFieldDTO.getFieldName(), 0), salarySobEmpFieldDTO.getFieldName(), salarySobEmpFieldDTO.getFieldId()));
|
||||
}
|
||||
// 薪资项目分组下的薪资项目
|
||||
for (SalarySobItemGroupDTO salarySobItemGroupDTO : salarySobItemAggregateDTO.getItemGroups()) {
|
||||
|
|
@ -180,29 +181,29 @@ public class SalaryAcctResultBO {
|
|||
List<WeaTableColumnGroup> childrenColumns = Lists.newArrayList();
|
||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemGroupDTO.getItems()) {
|
||||
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
||||
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern()));
|
||||
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||
} else {
|
||||
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern()));
|
||||
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||
}
|
||||
}
|
||||
WeaTableColumnGroup weaTableColumnWapper = new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemGroupDTO.getName()), salarySobItemGroupDTO.getName(), String.valueOf(salarySobItemGroupDTO.getId()), childrenColumns);
|
||||
WeaTableColumnGroup weaTableColumnWapper = new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemGroupDTO.getName(), 0), salarySobItemGroupDTO.getName(), String.valueOf(salarySobItemGroupDTO.getId()), childrenColumns);
|
||||
columns.add(weaTableColumnWapper);
|
||||
}
|
||||
// 没有分类的薪资项目
|
||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getItems()) {
|
||||
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern()));
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||
} else {
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern()));
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||
}
|
||||
|
||||
}
|
||||
// 回算的薪资项目
|
||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getBackCalcItems()) {
|
||||
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern()));
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||
} else {
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern()));
|
||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -417,7 +418,8 @@ public class SalaryAcctResultBO {
|
|||
List<SalarySobBackItemPO> salarySobBackItemPOS,
|
||||
List<SalaryItemPO> salaryBackItemPOS,
|
||||
Map<Long, String> salaryBackItemFormula,
|
||||
Map<String, SalaryAcctResultListColumnDTO> formulaContentMap) {
|
||||
Map<String, SalaryAcctResultListColumnDTO> formulaContentMap,
|
||||
List<Long> lockItems) {
|
||||
|
||||
// 员工信息字段
|
||||
Map<String, String> employeeFieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(simpleEmployee);
|
||||
|
|
@ -446,7 +448,7 @@ public class SalaryAcctResultBO {
|
|||
List<SalarySobItemPO> groupItems = salarySobItemPOMap.getOrDefault(groupPO.getId(), Collections.emptyList());
|
||||
if (CollectionUtils.isNotEmpty(groupItems)) {
|
||||
List<SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemDTO> items = groupItems.stream()
|
||||
.map(salarySobItemPO -> convert2SalaryAcctResultDetailItemDTO(salarySobItemPO, salaryItemMap.get(salarySobItemPO.getSalaryItemId()), resultValueMap, formulaContentMap))
|
||||
.map(salarySobItemPO -> convert2SalaryAcctResultDetailItemDTO(salarySobItemPO, salaryItemMap.get(salarySobItemPO.getSalaryItemId()), resultValueMap, formulaContentMap, lockItems))
|
||||
.collect(Collectors.toList());
|
||||
itemsByGroup.add(SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemByGroupDTO.builder()
|
||||
.salarySobItemGroupId(groupPO.getId())
|
||||
|
|
@ -459,7 +461,7 @@ public class SalaryAcctResultBO {
|
|||
List<SalarySobItemPO> noGroupItems = salarySobItemPOMap.getOrDefault(0L, Collections.emptyList());
|
||||
if (CollectionUtils.isNotEmpty(noGroupItems)) {
|
||||
List<SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemDTO> items = noGroupItems.stream()
|
||||
.map(salarySobItemPO -> convert2SalaryAcctResultDetailItemDTO(salarySobItemPO, salaryItemMap.get(salarySobItemPO.getSalaryItemId()), resultValueMap, formulaContentMap))
|
||||
.map(salarySobItemPO -> convert2SalaryAcctResultDetailItemDTO(salarySobItemPO, salaryItemMap.get(salarySobItemPO.getSalaryItemId()), resultValueMap, formulaContentMap, lockItems))
|
||||
.collect(Collectors.toList());
|
||||
itemsByGroup.add(SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemByGroupDTO.builder()
|
||||
.salarySobItemGroupId(0L)
|
||||
|
|
@ -529,7 +531,8 @@ public class SalaryAcctResultBO {
|
|||
private static SalaryAcctResultDetailDTO.SalaryAcctResultDetailItemDTO convert2SalaryAcctResultDetailItemDTO(SalarySobItemPO salarySobItemPO,
|
||||
SalaryItemPO salaryItemPO,
|
||||
Map<Long, String> resultValueMap,
|
||||
Map<String, SalaryAcctResultListColumnDTO> formulaContentMap) {
|
||||
Map<String, SalaryAcctResultListColumnDTO> formulaContentMap,
|
||||
List<Long> lockItems) {
|
||||
|
||||
SalaryValueTypeEnum salaryValueTypeEnum = SalaryValueTypeEnum.parseByValue(Optional.ofNullable(salarySobItemPO).map(SalarySobItemPO::getValueType).orElse(0));
|
||||
String itemFormulaContent;
|
||||
|
|
@ -549,6 +552,7 @@ public class SalaryAcctResultBO {
|
|||
// .canEdit(Objects.equals(Optional.ofNullable(salaryItemPO).map(SalaryItemPO::getUseInEmployeeSalary).orElse(0), 0))
|
||||
.canEdit(true)
|
||||
.pattern(salarySobItemPO.getPattern())
|
||||
.lockStatus(lockItems.contains(salarySobItemPO.getSalaryItemId()) ? LockStatusEnum.LOCK.getValue() : LockStatusEnum.UNLOCK.getValue())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
@ -615,6 +619,34 @@ public class SalaryAcctResultBO {
|
|||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
public static List<SalaryAcctResultPO> batchEditConvert2PO(Map<String, String> salaryAcctResultOldPOMap,
|
||||
List<SalaryAcctResultSaveParam.SalaryAcctResultDetailItemParam> items,
|
||||
SalaryAcctEmployeePO salaryAcctEmployee,
|
||||
Long employeeId) {
|
||||
if (CollectionUtils.isEmpty(items) || ObjectUtils.isEmpty(salaryAcctEmployee)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
Date now = new Date();
|
||||
return items.stream()
|
||||
.map(e -> SalaryAcctResultPO.builder()
|
||||
.salarySobId(salaryAcctEmployee.getSalarySobId())
|
||||
.salaryItemId(e.getSalaryItemId())
|
||||
.salaryAcctRecordId(salaryAcctEmployee.getSalaryAcctRecordId())
|
||||
.salaryAcctEmpId(salaryAcctEmployee.getId())
|
||||
.employeeId(salaryAcctEmployee.getEmployeeId())
|
||||
.taxAgentId(salaryAcctEmployee.getTaxAgentId())
|
||||
.resultValue(StringUtils.trim(e.getResultValue()))
|
||||
.originResultValue(salaryAcctResultOldPOMap.get(salaryAcctEmployee.getId() + "-" + e.getSalaryItemId()))
|
||||
.creator(employeeId)
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build())
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public static Map<String, String> buildEmployeeFieldName() {
|
||||
Field[] declaredFields = SalaryFormulaEmployeeDTO.class.getDeclaredFields();
|
||||
Map<String, String> employeeFieldNameMap = Maps.newHashMapWithExpectedSize(declaredFields.length);
|
||||
|
|
|
|||
|
|
@ -72,6 +72,9 @@ public class SalaryAcctResultDetailDTO {
|
|||
|
||||
// 保留小数位数
|
||||
private Integer pattern;
|
||||
|
||||
// 锁定状态
|
||||
private String lockStatus;
|
||||
}
|
||||
|
||||
@Data
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
package com.engine.salary.entity.salaryacct.param;
|
||||
|
||||
import com.engine.salary.util.valid.DataCheck;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName SalaryAcctResultBatchUpdateParam
|
||||
* @author Harryxzy
|
||||
* @date 2023/12/4 13:48
|
||||
* @description 批量更新参数
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class SalaryAcctResultBatchUpdateParam {
|
||||
|
||||
//薪资核算记录的id
|
||||
@DataCheck(require = true, message = "薪资核算记录ID不得为空")
|
||||
private Long salaryAcctRecordId;
|
||||
|
||||
//薪资项目的Id
|
||||
@DataCheck(require = true, message = "薪资项目id不得为空")
|
||||
private Long salaryItemId;
|
||||
|
||||
// 薪资核算人员id
|
||||
private List<Long> idList;
|
||||
|
||||
//薪资项目值
|
||||
private String value;
|
||||
|
||||
}
|
||||
|
|
@ -10,6 +10,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -88,4 +89,25 @@ public class SalaryArchiveQueryParam extends BaseQueryParam {
|
|||
*/
|
||||
private boolean extSalaryArchiveList;
|
||||
|
||||
|
||||
private String payStartDateStartDateStr;
|
||||
private String payStartDateEndDateStr;
|
||||
|
||||
// 起始发薪日期起
|
||||
private Date payStartDateStartDate;
|
||||
|
||||
// 起始发薪日期止
|
||||
private Date payStartDateEndDate;
|
||||
|
||||
// 最后发薪日期起
|
||||
private String payEndDateStartDateStr;
|
||||
// 最后发薪日期止
|
||||
private String payEndDateEndDateStr;
|
||||
|
||||
// 最后发薪日期起
|
||||
private Date payEndDateStartDate;
|
||||
|
||||
// 最后发薪日期止
|
||||
private Date payEndDateEndDate;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -117,6 +117,7 @@ public class SalaryItemBO {
|
|||
.description(salaryItemPO.getDescription())
|
||||
.canDelete(true)
|
||||
.canEdit(openFormulaForcedEditing ||Objects.equals(salaryItemPO.getCanEdit(), NumberUtils.INTEGER_ONE))
|
||||
.width(salaryItemPO.getWidth())
|
||||
.build();
|
||||
}
|
||||
).collect(Collectors.toList());
|
||||
|
|
@ -200,7 +201,8 @@ public class SalaryItemBO {
|
|||
.setCanEdit(salaryItemPO.getCanEdit())
|
||||
.setTaxAgentIds(salaryItemPO.getTaxAgentIds())
|
||||
.setSharedType(salaryItemPO.getSharedType())
|
||||
.setSortedIndex(salaryItemPO.getSortedIndex());
|
||||
.setSortedIndex(salaryItemPO.getSortedIndex())
|
||||
.setWidth(salaryItemPO.getWidth());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -280,6 +282,7 @@ public class SalaryItemBO {
|
|||
.sharedType(Optional.ofNullable(saveParam.getSharedType()).orElse(0))
|
||||
.taxAgentIds(saveParam.getTaxAgentIds())
|
||||
.sortedIndex(saveParam.getSortedIndex())
|
||||
.width(saveParam.getWidth())
|
||||
.build();
|
||||
// 开启了"薪资档案引用",取值方式固定为输入
|
||||
// if (Objects.equals(saveParam.getUseInEmployeeSalary(), NumberUtils.INTEGER_ONE)) {
|
||||
|
|
|
|||
|
|
@ -95,4 +95,7 @@ public class SalaryItemFormDTO {
|
|||
private String taxAgentIds;
|
||||
|
||||
private Integer sortedIndex;
|
||||
|
||||
// 宽度
|
||||
private Integer width;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,6 +105,9 @@ public class SalaryItemListDTO {
|
|||
@TableTitle(title = "显示顺序",dataIndex = "sortedIndex",key = "sortedIndex")
|
||||
private Integer sortedIndex;
|
||||
|
||||
// 宽度
|
||||
private Integer width;
|
||||
|
||||
@SalaryTableColumn(text = "操作", width = "20%", column = "operate")
|
||||
private String operate;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,4 +102,9 @@ public class SalaryItemSaveParam {
|
|||
* 排序
|
||||
*/
|
||||
private Integer sortedIndex;
|
||||
|
||||
/**
|
||||
* 宽度
|
||||
*/
|
||||
private Integer width;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -159,4 +159,9 @@ public class SalaryItemPO {
|
|||
* 排序
|
||||
*/
|
||||
private Integer sortedIndex;
|
||||
|
||||
/**
|
||||
* 宽度
|
||||
*/
|
||||
private Integer width;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ public class SalarySobItemAggregateBO {
|
|||
.sortedIndex(salarySobItemPO.getSortedIndex())
|
||||
.canEdit(openFormulaForcedEditing || Objects.equals(salaryItemPO.getCanEdit(), 1))
|
||||
.canDelete(openFormulaForcedEditing || salaryItemPO.getCanDelete() == null || Objects.equals(salaryItemPO.getCanDelete(), 1))
|
||||
.width(salaryItemPO.getWidth())
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,4 +109,7 @@ public class SalarySobItemDTO {
|
|||
* 保留小数位数
|
||||
*/
|
||||
private Integer pattern;
|
||||
|
||||
// 显示宽度
|
||||
private Integer width;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public class InsuranceComparisonResultBO {
|
|||
* 构建福利核算结果列表的表头(线下对比)
|
||||
*
|
||||
*/
|
||||
public static List<Column> buildTableColumns4ComparisonResult(Set<Long> insuranceBaseSet, Set<Long> insurancePerPaySet, Set<Long> insuranceComPaySet) {
|
||||
public static List<Column> buildTableColumns4ComparisonResult(Set<Long> insuranceBaseSet, Set<Long> insurancePerPaySet, Set<Long> insuranceComPaySet, boolean welBaseDiffSign) {
|
||||
|
||||
List<ICategoryPO> listAll = MapperProxyFactory.getProxy(ICategoryMapper.class).listAll();
|
||||
List<ICategoryPO> socialWelfareList = listAll.stream().filter(e -> e.getWelfareType() == 1 && e.getIsUse() == 1 && insuranceBaseSet.contains(e.getId())).collect(Collectors.toList());
|
||||
|
|
@ -67,21 +67,63 @@ public class InsuranceComparisonResultBO {
|
|||
columns.add(new Column("社保账号", "socialAccount", "socialAccount"));
|
||||
columns.add(new Column("社保方案名称", "socialSchemeName", "socialSchemeName"));
|
||||
//组装社保基数
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "socialBase", po.getId() + "socialBase"));
|
||||
if (welBaseDiffSign) {
|
||||
List<Column> socialComColumns = Lists.newArrayList();
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人")
|
||||
, po.getId() + "socialPerBase", po.getId() + "socialPerBase"));
|
||||
socialComColumns.add(new Column(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位")
|
||||
, po.getId() + "socialComBase", po.getId() + "socialComBase"));
|
||||
}
|
||||
columns.addAll(socialComColumns);
|
||||
} else {
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "socialBase", po.getId() + "socialBase"));
|
||||
}
|
||||
}
|
||||
// for (ICategoryPO po : socialWelfareList) {
|
||||
// columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "socialBase", po.getId() + "socialBase"));
|
||||
// }
|
||||
columns.add(new Column("公积金账号", "fundAccount", "fundAccount"));
|
||||
columns.add(new Column("公积金方案名称", "fundSchemeName", "fundSchemeName"));
|
||||
//组装公积金基数
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "fundBase", po.getId() + "fundBase"));
|
||||
if (welBaseDiffSign) {
|
||||
List<Column> fundComColumns = Lists.newArrayList();
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人")
|
||||
, po.getId() + "fundPerBase", po.getId() + "fundPerBase"));
|
||||
fundComColumns.add(new Column(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位")
|
||||
, po.getId() + "fundComBase", po.getId() + "fundComBase"));
|
||||
}
|
||||
columns.addAll(fundComColumns);
|
||||
} else {
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "fundBase", po.getId() + "fundBase"));
|
||||
}
|
||||
}
|
||||
// for (ICategoryPO po : fundWelfareList) {
|
||||
// columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "fundBase", po.getId() + "fundBase"));
|
||||
// }
|
||||
columns.add(new Column("补充公积金账号", "supplementFundAccount", "supplementFundAccount"));
|
||||
columns.add(new Column("其他福利方案名称", "otherSchemeName", "otherSchemeName"));
|
||||
//组装其他福利基数
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "otherBase", po.getId() + "otherBase"));
|
||||
if (welBaseDiffSign) {
|
||||
List<Column> otherComColumns = Lists.newArrayList();
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人")
|
||||
, po.getId() + "otherPerBase", po.getId() + "otherPerBase"));
|
||||
otherComColumns.add(new Column(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位")
|
||||
, po.getId() + "otherComBase", po.getId() + "otherComBase"));
|
||||
}
|
||||
columns.addAll(otherComColumns);
|
||||
} else {
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "otherBase", po.getId() + "otherBase"));
|
||||
}
|
||||
}
|
||||
// for (ICategoryPO po : otherWelfareList) {
|
||||
// columns.add(new Column(po.getInsuranceName() + "申报基数", po.getId() + "otherBase", po.getId() + "otherBase"));
|
||||
// }
|
||||
|
||||
//社保个人(生育保险个人、工伤保险个人、失业保险个人、养老保险个人、医疗保险个人)
|
||||
for (ICategoryPO po : socialWelPerList) {
|
||||
|
|
@ -127,7 +169,8 @@ public class InsuranceComparisonResultBO {
|
|||
* 构建福利核算线下对比结果
|
||||
*
|
||||
*/
|
||||
public static List<Map<String, Object>> buildComparisonTableData(List<AccountExportPO> accountExportPOS, List<ExcelAccountExportPO> excelAccountExportPOS, Map<Long, String> schemeIdNameMap) {
|
||||
public static List<Map<String, Object>> buildComparisonTableData(List<AccountExportPO> accountExportPOS, List<ExcelAccountExportPO> excelAccountExportPOS
|
||||
, Map<Long, String> schemeIdNameMap, boolean welBaseDiffSign) {
|
||||
|
||||
Map<Long, List<ExcelAccountExportPO>> excelResultMap = SalaryEntityUtil.group2Map(excelAccountExportPOS, ExcelAccountExportPO::getEmployeeId);
|
||||
// Map<String, List<AccountExportPO>> acctResultMap = SalaryEntityUtil.group2Map(accountExportPOS, AccountExportPO::getWorkcode);
|
||||
|
|
@ -177,12 +220,28 @@ public class InsuranceComparisonResultBO {
|
|||
if (excelResultValueList != null && excelResultValueList.size() == 1) {
|
||||
excelAccountExportPO = excelResultValueList.get(0);
|
||||
}
|
||||
//社保基数,socialPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getSocialPaymentBaseString(), excelAccountExportPO.getSocialPaymentBaseString(), "Base", 1);
|
||||
//公积金基数,fundPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getFundPaymentBaseString(), excelAccountExportPO.getFundPaymentBaseString(), "Base", 2);
|
||||
//其他福利基数,otherPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getOtherPaymentBaseString(), excelAccountExportPO.getOtherPaymentBaseString(), "Base", 3);
|
||||
if (welBaseDiffSign) {
|
||||
//社保基数-个人,socialPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getSocialPaymentBaseString(), excelAccountExportPO.getSocialPaymentBaseString(), "PerBase", 1);
|
||||
//公积金基数-个人,fundPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getFundPaymentBaseString(), excelAccountExportPO.getFundPaymentBaseString(), "PerBase", 2);
|
||||
//其他福利基数-个人,otherPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getOtherPaymentBaseString(), excelAccountExportPO.getOtherPaymentBaseString(), "PerBase", 3);
|
||||
|
||||
//社保基数-公司,socialPaymentComBaseString
|
||||
welfareElementCompare(map, accountExportPO.getSocialPaymentComBaseString(), excelAccountExportPO.getSocialPaymentComBaseString(), "ComBase", 1);
|
||||
//公积金基数-公司,fundPaymentComBaseString
|
||||
welfareElementCompare(map, accountExportPO.getFundPaymentComBaseString(), excelAccountExportPO.getFundPaymentComBaseString(), "ComBase", 2);
|
||||
//其他福利基数-公司,otherPaymentComBaseString
|
||||
welfareElementCompare(map, accountExportPO.getOtherPaymentComBaseString(), excelAccountExportPO.getOtherPaymentComBaseString(), "ComBase", 3);
|
||||
} else {
|
||||
//社保基数,socialPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getSocialPaymentBaseString(), excelAccountExportPO.getSocialPaymentBaseString(), "Base", 1);
|
||||
//公积金基数,fundPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getFundPaymentBaseString(), excelAccountExportPO.getFundPaymentBaseString(), "Base", 2);
|
||||
//其他福利基数,otherPaymentBaseString
|
||||
welfareElementCompare(map, accountExportPO.getOtherPaymentBaseString(), excelAccountExportPO.getOtherPaymentBaseString(), "Base", 3);
|
||||
}
|
||||
//社保个人socialPerJson
|
||||
welfareElementCompare(map, accountExportPO.getSocialPerJson(), excelAccountExportPO.getSocialPerJson(), "Per", 1);
|
||||
//公积金个人fundPerJson
|
||||
|
|
|
|||
|
|
@ -25,5 +25,6 @@ public class ExcelInsuranceImportParam {
|
|||
/**
|
||||
* 账单月份
|
||||
*/
|
||||
private String billMonth;
|
||||
private String billMonth;
|
||||
private String paymentOrganization;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,6 +101,12 @@ public class ExcelInsuranceDetailPO {
|
|||
@Encrypt
|
||||
private String socialPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 社保缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String socialPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 公积金方案ID
|
||||
*/
|
||||
|
|
@ -112,6 +118,12 @@ public class ExcelInsuranceDetailPO {
|
|||
@Encrypt
|
||||
private String fundPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 公积金缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String fundPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 其他福利方案id
|
||||
*/
|
||||
|
|
@ -123,6 +135,12 @@ public class ExcelInsuranceDetailPO {
|
|||
@Encrypt
|
||||
private String otherPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 其他福利缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String otherPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 社保个人缴费明细
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -106,6 +106,12 @@ public class InsuranceAccountDetailPO {
|
|||
@Encrypt
|
||||
private String socialPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 社保缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String socialPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 公积金方案ID
|
||||
*/
|
||||
|
|
@ -117,6 +123,12 @@ public class InsuranceAccountDetailPO {
|
|||
@Encrypt
|
||||
private String fundPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 公积金缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String fundPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 其他福利方案id
|
||||
*/
|
||||
|
|
@ -128,6 +140,12 @@ public class InsuranceAccountDetailPO {
|
|||
@Encrypt
|
||||
private String otherPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 其他福利缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String otherPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 社保个人缴费明细
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -102,6 +102,11 @@ public class InsuranceAccountDetailTempPO {
|
|||
@Encrypt
|
||||
private String socialPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 社保缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String socialPaymentComBaseString;
|
||||
/**
|
||||
* 公积金方案ID
|
||||
*/
|
||||
|
|
@ -113,6 +118,12 @@ public class InsuranceAccountDetailTempPO {
|
|||
@Encrypt
|
||||
private String fundPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 公积金缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String fundPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 其他福利方案id
|
||||
*/
|
||||
|
|
@ -124,6 +135,13 @@ public class InsuranceAccountDetailTempPO {
|
|||
@Encrypt
|
||||
private String otherPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 其他福利缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String otherPaymentComBaseString;
|
||||
|
||||
|
||||
/**
|
||||
* 社保个人缴费明细
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ public class InsuranceArchivesBO {
|
|||
.socialStartTime(po.getSocialStartTime())
|
||||
.schemeAccount(po.getSocialAccount())
|
||||
.schemePaymentBaseString(po.getSocialPaymentBaseString())
|
||||
.schemePaymentComBaseString(po.getSocialPaymentComBaseString())
|
||||
.underTake(po.getUnderTake() == null ? null : String.valueOf(po.getUnderTake()))
|
||||
.build();
|
||||
}
|
||||
|
|
@ -52,6 +53,7 @@ public class InsuranceArchivesBO {
|
|||
.fundSchemeId(po.getFundSchemeId())
|
||||
.paymentOrganization(po.getPaymentOrganization())
|
||||
.fundPaymentBaseString(po.getFundPaymentBaseString())
|
||||
.fundPaymentComBaseString(po.getFundPaymentComBaseString())
|
||||
.fundStartTime(po.getFundStartTime())
|
||||
.supplementFundAccount(po.getSupplementFundAccount())
|
||||
.nonPayment(po.getNonPayment())
|
||||
|
|
@ -72,6 +74,7 @@ public class InsuranceArchivesBO {
|
|||
.otherName(po.getOtherSchemeId() == null ? null : String.valueOf(po.getOtherSchemeId()))
|
||||
.otherSchemeId(po.getOtherSchemeId())
|
||||
.otherPaymentBaseString(po.getOtherPaymentBaseString())
|
||||
.otherPaymentComBaseString(po.getOtherPaymentComBaseString())
|
||||
.otherStartTime(po.getOtherStartTime())
|
||||
.otherEndTime(po.getOtherEndTime())
|
||||
.paymentOrganization(po.getPaymentOrganization())
|
||||
|
|
|
|||
|
|
@ -70,12 +70,18 @@ public class InsuranceArchivesBaseHistoryDTO {
|
|||
|
||||
private String adjustAfterBaseJson;
|
||||
|
||||
private String adjustBeforeComBaseJson;
|
||||
|
||||
private String adjustAfterComBaseJson;
|
||||
|
||||
@TableTitle(title = "对象", dataIndex = "employeeName", key = "employeeName")
|
||||
private String employeeName;
|
||||
@TableTitle(title = "个税扣缴义务人", dataIndex = "paymentOrganizationName", key = "paymentOrganizationName")
|
||||
private String paymentOrganizationName;
|
||||
@TableTitle(title = "福利项名称", dataIndex = "welfareItemName", key = "welfareItemName")
|
||||
private String welfareItemName;
|
||||
@TableTitle(title = "缴费对象", dataIndex = "paymentScope", key = "paymentScope")
|
||||
private String paymentScope;
|
||||
@TableTitle(title = "调整前方案", dataIndex = "adjustBeforeSchemeName", key = "adjustBeforeSchemeName")
|
||||
private String adjustBeforeSchemeName;
|
||||
@TableTitle(title = "调整前基数", dataIndex = "adjustBeforeBaseValue", key = "adjustBeforeBaseValue")
|
||||
|
|
|
|||
|
|
@ -65,4 +65,6 @@ public class InsuranceArchivesFundSchemeDTO {
|
|||
|
||||
//缴纳基数
|
||||
private String fundPaymentBaseString;
|
||||
|
||||
private String fundPaymentComBaseString;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,5 +56,7 @@ public class InsuranceArchivesOtherSchemeDTO {
|
|||
|
||||
private String otherPaymentBaseString;
|
||||
|
||||
private String otherPaymentComBaseString;
|
||||
|
||||
//private WeaForm otherPaymentBase;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,4 +59,7 @@ public class InsuranceArchivesSocialSchemeDTO {
|
|||
//社保缴纳基数
|
||||
private String schemePaymentBaseString;
|
||||
|
||||
//社保缴纳基数——单位
|
||||
private String schemePaymentComBaseString;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,4 +23,6 @@ public class InsuranceArchivesSaveParam {
|
|||
private String baseForm;
|
||||
|
||||
private String paymentForm;
|
||||
|
||||
private String paymentComForm;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,4 +77,6 @@ public class InsuranceArchivesBaseHistoryPO {
|
|||
private Date createTime;
|
||||
|
||||
private Date updateTime;
|
||||
|
||||
private String paymentScope;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,6 +87,13 @@ public class InsuranceArchivesFundSchemePO {
|
|||
@Encrypt
|
||||
private String fundPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 公积金缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String fundPaymentComBaseString;
|
||||
|
||||
|
||||
/**
|
||||
* 租户key
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -77,6 +77,12 @@ public class InsuranceArchivesOtherSchemePO {
|
|||
@Encrypt
|
||||
private String otherPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 其他福利缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String otherPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 租户key
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -83,6 +83,12 @@ public class InsuranceArchivesSocialSchemePO {
|
|||
@Encrypt
|
||||
private String socialPaymentBaseString;
|
||||
|
||||
/**
|
||||
* 社保缴纳基数——单位
|
||||
*/
|
||||
@Encrypt
|
||||
private String socialPaymentComBaseString;
|
||||
|
||||
/**
|
||||
* 租户key
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -183,6 +183,18 @@
|
|||
#{runStatus}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.payStartDateStartDate != null and param.payStartDateStartDate != null">
|
||||
AND pay_start_date <![CDATA[ >= ]]> #{param.payStartDateStartDate}
|
||||
</if>
|
||||
<if test="param.payStartDateEndDate != null and param.payStartDateEndDate != null">
|
||||
AND pay_start_date <![CDATA[ <= ]]> #{param.payStartDateEndDate}
|
||||
</if>
|
||||
<if test="param.payEndDateStartDate != null and param.payEndDateStartDate != null">
|
||||
AND pay_end_date <![CDATA[ >= ]]> #{param.payEndDateStartDate}
|
||||
</if>
|
||||
<if test="param.payEndDateEndDate != null and param.payEndDateEndDate != null">
|
||||
AND pay_end_date <![CDATA[ <= ]]> #{param.payEndDateEndDate}
|
||||
</if>
|
||||
<!-- 排序 -->
|
||||
<if test="param.orderRule != null">
|
||||
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
|
||||
|
|
@ -264,6 +276,18 @@
|
|||
#{runStatus}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.payStartDateStartDate != null and param.payStartDateStartDate != null">
|
||||
AND pay_start_date <![CDATA[ >= ]]> #{param.payStartDateStartDate}
|
||||
</if>
|
||||
<if test="param.payStartDateEndDate != null and param.payStartDateEndDate != null">
|
||||
AND pay_start_date <![CDATA[ <= ]]> #{param.payStartDateEndDate}
|
||||
</if>
|
||||
<if test="param.payEndDateStartDate != null and param.payEndDateStartDate != null">
|
||||
AND pay_end_date <![CDATA[ >= ]]> #{param.payEndDateStartDate}
|
||||
</if>
|
||||
<if test="param.payEndDateEndDate != null and param.payEndDateEndDate != null">
|
||||
AND pay_end_date <![CDATA[ <= ]]> #{param.payEndDateEndDate}
|
||||
</if>
|
||||
<!-- 排序 -->
|
||||
<if test="param.orderRule != null">
|
||||
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
|
||||
|
|
@ -346,6 +370,18 @@
|
|||
#{runStatus}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="param.payStartDateStartDate != null and param.payStartDateStartDate != null">
|
||||
AND pay_start_date <![CDATA[ >= ]]> #{param.payStartDateStartDate}
|
||||
</if>
|
||||
<if test="param.payStartDateEndDate != null and param.payStartDateEndDate != null">
|
||||
AND pay_start_date <![CDATA[ <= ]]> #{param.payStartDateEndDate}
|
||||
</if>
|
||||
<if test="param.payEndDateStartDate != null and param.payEndDateStartDate != null">
|
||||
AND pay_end_date <![CDATA[ >= ]]> #{param.payEndDateStartDate}
|
||||
</if>
|
||||
<if test="param.payEndDateEndDate != null and param.payEndDateEndDate != null">
|
||||
AND pay_end_date <![CDATA[ <= ]]> #{param.payEndDateEndDate}
|
||||
</if>
|
||||
<!-- 排序 -->
|
||||
<if test="param.orderRule != null">
|
||||
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
|
||||
|
|
|
|||
|
|
@ -51,7 +51,8 @@
|
|||
t.shared_type,
|
||||
t.tax_agent_ids,
|
||||
t.sorted_index,
|
||||
t.hide_default
|
||||
t.hide_default,
|
||||
t.width
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
|
|
@ -217,6 +218,9 @@
|
|||
<if test="sortedIndex != null">
|
||||
sorted_index,
|
||||
</if>
|
||||
<if test="width != null">
|
||||
width,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
|
|
@ -288,6 +292,9 @@
|
|||
<if test="sortedIndex != null">
|
||||
#{sortedIndex},
|
||||
</if>
|
||||
<if test="width != null">
|
||||
#{width},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
|
@ -359,6 +366,9 @@
|
|||
<if test="taxAgentIds != null">
|
||||
tax_agent_ids=#{taxAgentIds},
|
||||
</if>
|
||||
<if test="width != null">
|
||||
width=#{width},
|
||||
</if>
|
||||
sorted_index=#{sortedIndex},
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
|
|
|
|||
|
|
@ -157,7 +157,8 @@
|
|||
(id,employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
VALUES
|
||||
<foreach collection="accounts" item="item" separator=",">
|
||||
(
|
||||
|
|
@ -204,7 +205,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.paymentOrganization}
|
||||
#{item.paymentOrganization},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -213,7 +217,8 @@
|
|||
(id,employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
<foreach collection="accounts" item="item" separator="union all">
|
||||
select
|
||||
#{item.id,jdbcType=DOUBLE},
|
||||
|
|
@ -259,7 +264,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey,jdbcType=VARCHAR},
|
||||
#{item.paymentOrganization,jdbcType=DOUBLE}
|
||||
#{item.paymentOrganization,jdbcType=DOUBLE},
|
||||
#{item.socialPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.fundPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.otherPaymentComBaseString,jdbcType=VARCHAR}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -269,7 +277,8 @@
|
|||
(id,employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
VALUES
|
||||
(
|
||||
#{item.id},
|
||||
|
|
@ -315,7 +324,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.paymentOrganization}
|
||||
#{item.paymentOrganization},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -18,10 +18,13 @@
|
|||
<result column="other_pay_org" property="otherPayOrg"/>
|
||||
<result column="social_scheme_id" property="socialSchemeId"/>
|
||||
<result column="social_payment_base_string" property="socialPaymentBaseString"/>
|
||||
<result column="social_payment_com_base_string" property="socialPaymentComBaseString"/>
|
||||
<result column="fund_scheme_id" property="fundSchemeId"/>
|
||||
<result column="fund_payment_base_string" property="fundPaymentBaseString"/>
|
||||
<result column="fund_payment_com_base_string" property="fundPaymentComBaseString"/>
|
||||
<result column="other_scheme_id" property="otherSchemeId"/>
|
||||
<result column="other_payment_base_string" property="otherPaymentBaseString"/>
|
||||
<result column="other_payment_com_base_string" property="otherPaymentComBaseString"/>
|
||||
<result column="social_per_json" property="socialPerJson"/>
|
||||
<result column="social_per_sum" property="socialPerSum"/>
|
||||
<result column="fund_per_json" property="fundPerJson"/>
|
||||
|
|
@ -69,10 +72,13 @@
|
|||
, t.other_pay_org
|
||||
, t.social_scheme_id
|
||||
, t.social_payment_base_string
|
||||
, t.social_payment_com_base_string
|
||||
, t.fund_scheme_id
|
||||
, t.fund_payment_base_string
|
||||
, t.fund_payment_com_base_string
|
||||
, t.other_scheme_id
|
||||
, t.other_payment_base_string
|
||||
, t.other_payment_com_base_string
|
||||
, t.social_per_json
|
||||
, t.social_per_sum
|
||||
, t.fund_per_json
|
||||
|
|
@ -117,10 +123,13 @@
|
|||
, t.other_pay_org
|
||||
, t.social_scheme_id
|
||||
, t.social_payment_base_string
|
||||
, t.social_payment_com_base_string
|
||||
, t.fund_scheme_id
|
||||
, t.fund_payment_base_string
|
||||
, t.fund_payment_com_base_string
|
||||
, t.other_scheme_id
|
||||
, t.other_payment_base_string
|
||||
, t.other_payment_com_base_string
|
||||
, t.social_per_json
|
||||
, t.social_per_sum
|
||||
, t.fund_per_json
|
||||
|
|
@ -420,7 +429,8 @@
|
|||
t.other_com_json,t.social_per_sum,t.social_com_sum,
|
||||
t.fund_per_sum,t.fund_com_sum,t.other_per_sum,
|
||||
t.other_com_sum,t.per_sum,t.com_sum,t.payment_organization,
|
||||
t.social_payment_base_string, t.fund_payment_base_string, t.other_payment_base_string
|
||||
t.social_payment_base_string, t.fund_payment_base_string, t.other_payment_base_string,
|
||||
t.social_payment_com_base_string, t.fund_payment_com_base_string, t.other_payment_com_base_string
|
||||
FROM
|
||||
hrsa_bill_detail t
|
||||
WHERE t.delete_type = 0
|
||||
|
|
@ -711,7 +721,8 @@
|
|||
(employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
VALUES
|
||||
<foreach collection="accounts" item="item" separator=",">
|
||||
(
|
||||
|
|
@ -757,7 +768,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.paymentOrganization}
|
||||
#{item.paymentOrganization},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -766,7 +780,8 @@
|
|||
(employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
<foreach collection="accounts" item="item" separator="union all">
|
||||
select
|
||||
#{item.employeeId,jdbcType=DOUBLE},
|
||||
|
|
@ -811,7 +826,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey,jdbcType=VARCHAR},
|
||||
#{item.paymentOrganization,jdbcType=DOUBLE}
|
||||
#{item.paymentOrganization,jdbcType=DOUBLE},
|
||||
#{item.socialPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.fundPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.otherPaymentComBaseString,jdbcType=VARCHAR}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -821,7 +839,8 @@
|
|||
(employee_id,bill_month,bill_status,payment_status,supplementary_month,supplementary_projects,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
VALUES
|
||||
(
|
||||
#{item.employeeId},
|
||||
|
|
@ -866,7 +885,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.paymentOrganization}
|
||||
#{item.paymentOrganization},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -18,10 +18,13 @@
|
|||
<result column="other_pay_org" property="otherPayOrg"/>
|
||||
<result column="social_scheme_id" property="socialSchemeId"/>
|
||||
<result column="social_payment_base_string" property="socialPaymentBaseString"/>
|
||||
<result column="social_payment_com_base_string" property="socialPaymentComBaseString"/>
|
||||
<result column="fund_scheme_id" property="fundSchemeId"/>
|
||||
<result column="fund_payment_base_string" property="fundPaymentBaseString"/>
|
||||
<result column="fund_payment_com_base_string" property="fundPaymentComBaseString"/>
|
||||
<result column="other_scheme_id" property="otherSchemeId"/>
|
||||
<result column="other_payment_base_string" property="otherPaymentBaseString"/>
|
||||
<result column="other_payment_com_base_string" property="otherPaymentComBaseString"/>
|
||||
<result column="social_per_json" property="socialPerJson"/>
|
||||
<result column="social_per_sum" property="socialPerSum"/>
|
||||
<result column="fund_per_json" property="fundPerJson"/>
|
||||
|
|
@ -68,10 +71,13 @@
|
|||
, t.other_pay_org
|
||||
, t.social_scheme_id
|
||||
, t.social_payment_base_string
|
||||
, t.social_payment_com_base_string
|
||||
, t.fund_scheme_id
|
||||
, t.fund_payment_base_string
|
||||
, t.fund_payment_com_base_string
|
||||
, t.other_scheme_id
|
||||
, t.other_payment_base_string
|
||||
, t.other_payment_com_base_string
|
||||
, t.social_per_json
|
||||
, t.social_per_sum
|
||||
, t.fund_per_json
|
||||
|
|
@ -130,7 +136,8 @@
|
|||
(employee_id,bill_month,bill_status,payment_status,supplementary_month,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
VALUES
|
||||
<foreach collection="accounts" item="item" separator=",">
|
||||
(
|
||||
|
|
@ -175,7 +182,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.paymentOrganization}
|
||||
#{item.paymentOrganization},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -184,7 +194,8 @@
|
|||
(employee_id,bill_month,bill_status,payment_status,supplementary_month,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
|
||||
<foreach collection="accounts" item="item" separator="union all">
|
||||
select
|
||||
|
|
@ -229,7 +240,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey,jdbcType=VARCHAR},
|
||||
#{item.paymentOrganization,jdbcType=DOUBLE}
|
||||
#{item.paymentOrganization,jdbcType=DOUBLE},
|
||||
#{item.socialPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.fundPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.otherPaymentComBaseString,jdbcType=VARCHAR}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -239,7 +253,8 @@
|
|||
(employee_id,bill_month,bill_status,payment_status,supplementary_month,resource_from,social_pay_org,social_account,social_scheme_id,social_payment_base_string,
|
||||
fund_pay_org,fund_account,supplement_fund_account,fund_scheme_id,fund_payment_base_string,other_pay_org,other_scheme_id,other_payment_base_string,social_per_json,
|
||||
social_per_sum,fund_per_json,fund_per_sum,other_per_json,other_per_sum,per_sum,social_com_json,social_com_sum,fund_com_json,fund_com_sum,other_com_json,other_com_sum,
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization)
|
||||
com_sum,social_sum,fund_sum,other_sum,total,creator,create_time,update_time,delete_type,tenant_key,payment_organization,
|
||||
social_payment_com_base_string,fund_payment_com_base_string,other_payment_com_base_string)
|
||||
VALUES
|
||||
(
|
||||
#{item.employeeId},
|
||||
|
|
@ -283,7 +298,10 @@
|
|||
#{item.updateTime},
|
||||
#{item.deleteType},
|
||||
#{item.tenantKey},
|
||||
#{item.paymentOrganization}
|
||||
#{item.paymentOrganization},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
<result column="payment_organization" property="paymentOrganization"/>
|
||||
<result column="under_take" property="underTake"/>
|
||||
<result column="fund_payment_base_string" property="fundPaymentBaseString"/>
|
||||
<result column="fund_payment_com_base_string" property="fundPaymentComBaseString"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="creator" property="creator"/>
|
||||
|
|
@ -35,6 +36,7 @@
|
|||
, t.payment_organization
|
||||
, t.under_take
|
||||
, t.fund_payment_base_string
|
||||
, t.fund_payment_com_base_string
|
||||
, t.create_time
|
||||
, t.update_time
|
||||
, t.creator
|
||||
|
|
@ -135,6 +137,7 @@
|
|||
fund_end_time,
|
||||
fund_start_time,
|
||||
fund_payment_base_string,
|
||||
fund_payment_com_base_string,
|
||||
supplement_fund_account,
|
||||
create_time,
|
||||
creator,
|
||||
|
|
@ -154,6 +157,7 @@
|
|||
#{item.fundEndTime},
|
||||
#{item.fundStartTime},
|
||||
#{item.fundPaymentBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.supplementFundAccount},
|
||||
#{item.createTime},
|
||||
#{item.creator},
|
||||
|
|
@ -175,6 +179,7 @@
|
|||
fund_end_time,
|
||||
fund_start_time,
|
||||
fund_payment_base_string,
|
||||
fund_payment_com_base_string,
|
||||
supplement_fund_account,
|
||||
create_time,
|
||||
creator,
|
||||
|
|
@ -193,6 +198,7 @@
|
|||
#{item.fundEndTime,jdbcType=VARCHAR},
|
||||
#{item.fundStartTime,jdbcType=VARCHAR},
|
||||
#{item.fundPaymentBaseString,jdbcType=VARCHAR},
|
||||
#{item.fundPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.supplementFundAccount,jdbcType=VARCHAR},
|
||||
#{item.createTime,jdbcType=DATE},
|
||||
#{item.creator,jdbcType=DOUBLE},
|
||||
|
|
@ -215,6 +221,7 @@
|
|||
fund_end_time,
|
||||
fund_start_time,
|
||||
fund_payment_base_string,
|
||||
fund_payment_com_base_string,
|
||||
supplement_fund_account,
|
||||
create_time,
|
||||
creator,
|
||||
|
|
@ -233,6 +240,7 @@
|
|||
#{item.fundEndTime},
|
||||
#{item.fundStartTime},
|
||||
#{item.fundPaymentBaseString},
|
||||
#{item.fundPaymentComBaseString},
|
||||
#{item.supplementFundAccount},
|
||||
#{item.createTime},
|
||||
#{item.creator},
|
||||
|
|
@ -311,6 +319,7 @@
|
|||
<set>
|
||||
welfare_type = #{welfareType},
|
||||
fund_payment_base_string = #{fundPaymentBaseString},
|
||||
fund_payment_com_base_string = #{fundPaymentComBaseString},
|
||||
fund_scheme_id = #{fundSchemeId},
|
||||
fund_end_time = #{fundEndTime},
|
||||
fund_start_time = #{fundStartTime},
|
||||
|
|
@ -353,6 +362,7 @@
|
|||
fund_end_time,
|
||||
fund_start_time,
|
||||
fund_payment_base_string,
|
||||
fund_payment_com_base_string,
|
||||
supplement_fund_account,
|
||||
create_time,
|
||||
creator,
|
||||
|
|
@ -371,6 +381,7 @@
|
|||
#{fundEndTime},
|
||||
#{fundStartTime},
|
||||
#{fundPaymentBaseString},
|
||||
#{fundPaymentComBaseString},
|
||||
#{supplementFundAccount},
|
||||
#{createTime},
|
||||
#{creator},
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
<result column="adjust_before_base_value" property="adjustBeforeBaseValue"/>
|
||||
<result column="adjust_after_base_value" property="adjustAfterBaseValue"/>
|
||||
<result column="adjust_welfare_item_id" property="adjustWelfareItemId"/>
|
||||
<result column="payment_scope" property="paymentScope"/>
|
||||
<result column="operator" property="operator"/>
|
||||
<result column="operate_time" property="operateTime"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
|
|
@ -33,6 +34,7 @@
|
|||
, t.adjust_before_base_value
|
||||
, t.adjust_after_base_value
|
||||
, t.adjust_welfare_item_id
|
||||
, t.payment_scope
|
||||
, t.operator
|
||||
, t.operate_time
|
||||
, t.create_time
|
||||
|
|
@ -48,7 +50,7 @@
|
|||
adjust_before_scheme_id,adjust_after_scheme_id,
|
||||
adjust_before_base_value,adjust_after_base_value,
|
||||
adjust_welfare_item_id,operator,operate_time,
|
||||
tenant_key,creator,delete_type,create_time,update_time)
|
||||
tenant_key,creator,delete_type,create_time,update_time,payment_scope)
|
||||
VALUES
|
||||
<foreach collection="infos" item="item" separator=",">
|
||||
(
|
||||
|
|
@ -67,7 +69,8 @@
|
|||
#{item.creator},
|
||||
#{item.deleteType},
|
||||
#{item.createTime},
|
||||
#{item.updateTime}
|
||||
#{item.updateTime},
|
||||
#{item.paymentScope}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -77,7 +80,7 @@
|
|||
adjust_before_scheme_id,adjust_after_scheme_id,
|
||||
adjust_before_base_value,adjust_after_base_value,
|
||||
adjust_welfare_item_id,operator,operate_time,
|
||||
tenant_key,creator,delete_type,create_time,update_time)
|
||||
tenant_key,creator,delete_type,create_time,update_time,payment_scope)
|
||||
<foreach collection="infos" item="item" separator="union all">
|
||||
select
|
||||
#{item.id,jdbcType=DOUBLE},
|
||||
|
|
@ -95,7 +98,8 @@
|
|||
#{item.creator,jdbcType=DOUBLE},
|
||||
#{item.deleteType},
|
||||
#{item.createTime},
|
||||
#{item.updateTime}
|
||||
#{item.updateTime},
|
||||
#{item.paymentScope}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -106,7 +110,7 @@
|
|||
adjust_before_scheme_id,adjust_after_scheme_id,
|
||||
adjust_before_base_value,adjust_after_base_value,
|
||||
adjust_welfare_item_id,operator,operate_time,
|
||||
tenant_key,creator,delete_type,create_time,update_time)
|
||||
tenant_key,creator,delete_type,create_time,update_time,payment_scope)
|
||||
VALUES
|
||||
(
|
||||
#{item.id},
|
||||
|
|
@ -124,7 +128,8 @@
|
|||
#{item.creator},
|
||||
#{item.deleteType},
|
||||
#{item.createTime},
|
||||
#{item.updateTime}
|
||||
#{item.updateTime},
|
||||
#{item.paymentScope}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -148,6 +153,7 @@
|
|||
, eo.lastname as operatorName
|
||||
, ee.lastname as employeeName
|
||||
, p.name as paymentOrganizationName
|
||||
, t.payment_scope
|
||||
FROM hrsa_insurance_base_history t
|
||||
LEFT JOIN hrmresource eo on eo.id = t.operator
|
||||
LEFT JOIN hrmresource ee on ee.id = t.employee_id
|
||||
|
|
@ -180,6 +186,7 @@
|
|||
, eo.lastname as operatorName
|
||||
, ee.lastname as employeeName
|
||||
, p.name as paymentOrganizationName
|
||||
, t.payment_scope
|
||||
FROM hrsa_insurance_base_history t
|
||||
LEFT JOIN hrmresource eo on eo.id = t.operator
|
||||
LEFT JOIN hrmresource ee on ee.id = t.employee_id
|
||||
|
|
@ -216,6 +223,7 @@
|
|||
, eo.lastname as operatorName
|
||||
, ee.username as employeeName
|
||||
, p.name as paymentOrganizationName
|
||||
, t.payment_scope
|
||||
FROM hrsa_insurance_base_history t
|
||||
LEFT JOIN hrmresource eo on eo.id = t.operator
|
||||
LEFT JOIN hrsa_external_employee ee on ee.id = t.employee_id
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
<result column="payment_organization" property="paymentOrganization"/>
|
||||
<result column="under_take" property="underTake"/>
|
||||
<result column="other_payment_base_string" property="otherPaymentBaseString"/>
|
||||
<result column="other_payment_com_base_string" property="otherPaymentComBaseString"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="creator" property="creator"/>
|
||||
|
|
@ -31,6 +32,7 @@
|
|||
, t.payment_organization
|
||||
, t.under_take
|
||||
, t.other_payment_base_string
|
||||
, t.other_payment_com_base_string
|
||||
, t.create_time
|
||||
, t.update_time
|
||||
, t.creator
|
||||
|
|
@ -129,7 +131,8 @@
|
|||
non_payment,
|
||||
creator,
|
||||
payment_organization,
|
||||
other_payment_base_string)
|
||||
other_payment_base_string,
|
||||
other_payment_com_base_string)
|
||||
VALUES
|
||||
<foreach collection="otherSchemePOS" item="item" separator=",">
|
||||
(
|
||||
|
|
@ -146,7 +149,8 @@
|
|||
#{item.nonPayment},
|
||||
#{item.creator},
|
||||
#{item.paymentOrganization},
|
||||
#{item.otherPaymentBaseString}
|
||||
#{item.otherPaymentBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -165,7 +169,8 @@
|
|||
non_payment,
|
||||
creator,
|
||||
payment_organization,
|
||||
other_payment_base_string)
|
||||
other_payment_base_string,
|
||||
other_payment_com_base_string)
|
||||
<foreach collection="otherSchemePOS" item="item" separator="union all">
|
||||
select
|
||||
#{item.otherSchemeId,jdbcType=DOUBLE},
|
||||
|
|
@ -181,7 +186,8 @@
|
|||
#{item.nonPayment,jdbcType=INTEGER},
|
||||
#{item.creator,jdbcType=DOUBLE},
|
||||
#{item.paymentOrganization,jdbcType=DOUBLE},
|
||||
#{item.otherPaymentBaseString,jdbcType=VARCHAR}
|
||||
#{item.otherPaymentBaseString,jdbcType=VARCHAR},
|
||||
#{item.otherPaymentComBaseString,jdbcType=VARCHAR}
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -201,7 +207,8 @@
|
|||
non_payment,
|
||||
creator,
|
||||
payment_organization,
|
||||
other_payment_base_string)
|
||||
other_payment_base_string,
|
||||
other_payment_com_base_string)
|
||||
VALUES
|
||||
(
|
||||
#{item.otherSchemeId},
|
||||
|
|
@ -217,7 +224,8 @@
|
|||
#{item.nonPayment},
|
||||
#{item.creator},
|
||||
#{item.paymentOrganization},
|
||||
#{item.otherPaymentBaseString}
|
||||
#{item.otherPaymentBaseString},
|
||||
#{item.otherPaymentComBaseString}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
|
@ -292,6 +300,7 @@
|
|||
<set>
|
||||
welfare_type = #{welfareType},
|
||||
other_payment_base_string = #{otherPaymentBaseString},
|
||||
other_payment_com_base_string = #{otherPaymentComBaseString},
|
||||
other_scheme_id = #{otherSchemeId},
|
||||
other_end_time = #{otherEndTime},
|
||||
other_start_time = #{otherStartTime},
|
||||
|
|
@ -340,7 +349,8 @@
|
|||
non_payment,
|
||||
creator,
|
||||
payment_organization,
|
||||
other_payment_base_string)
|
||||
other_payment_base_string,
|
||||
other_payment_com_base_string)
|
||||
VALUES
|
||||
(
|
||||
#{otherSchemeId},
|
||||
|
|
@ -356,7 +366,8 @@
|
|||
#{nonPayment},
|
||||
#{creator},
|
||||
#{paymentOrganization},
|
||||
#{otherPaymentBaseString}
|
||||
#{otherPaymentBaseString},
|
||||
#{otherPaymentComBaseString}
|
||||
)
|
||||
</insert>
|
||||
</mapper>
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
<result column="payment_organization" property="paymentOrganization"/>
|
||||
<result column="under_take" property="underTake"/>
|
||||
<result column="social_payment_base_string" property="socialPaymentBaseString"/>
|
||||
<result column="social_payment_com_base_string" property="socialPaymentComBaseString"/>
|
||||
<result column="create_time" property="createTime"/>
|
||||
<result column="update_time" property="updateTime"/>
|
||||
<result column="creator" property="creator"/>
|
||||
|
|
@ -33,6 +34,7 @@
|
|||
, t.payment_organization
|
||||
, t.under_take
|
||||
, t.social_payment_base_string
|
||||
, t.social_payment_com_base_string
|
||||
, t.create_time
|
||||
, t.update_time
|
||||
, t.creator
|
||||
|
|
@ -128,6 +130,7 @@
|
|||
welfare_type,
|
||||
delete_type,
|
||||
social_payment_base_string,
|
||||
social_payment_com_base_string,
|
||||
social_scheme_id,
|
||||
create_time,
|
||||
social_end_time,
|
||||
|
|
@ -146,6 +149,7 @@
|
|||
#{item.welfareType},
|
||||
#{item.deleteType},
|
||||
#{item.socialPaymentBaseString},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.socialSchemeId},
|
||||
#{item.createTime},
|
||||
#{item.socialEndTime},
|
||||
|
|
@ -166,6 +170,7 @@
|
|||
welfare_type,
|
||||
delete_type,
|
||||
social_payment_base_string,
|
||||
social_payment_com_base_string,
|
||||
social_scheme_id,
|
||||
create_time,
|
||||
social_end_time,
|
||||
|
|
@ -183,6 +188,7 @@
|
|||
#{item.welfareType,jdbcType=INTEGER},
|
||||
#{item.deleteType,jdbcType=INTEGER},
|
||||
#{item.socialPaymentBaseString,jdbcType=VARCHAR},
|
||||
#{item.socialPaymentComBaseString,jdbcType=VARCHAR},
|
||||
#{item.socialSchemeId,jdbcType=DOUBLE},
|
||||
#{item.createTime,jdbcType=DATE},
|
||||
#{item.socialEndTime,jdbcType=VARCHAR},
|
||||
|
|
@ -204,6 +210,7 @@
|
|||
welfare_type,
|
||||
delete_type,
|
||||
social_payment_base_string,
|
||||
social_payment_com_base_string,
|
||||
social_scheme_id,
|
||||
create_time,
|
||||
social_end_time,
|
||||
|
|
@ -221,6 +228,7 @@
|
|||
#{item.welfareType},
|
||||
#{item.deleteType},
|
||||
#{item.socialPaymentBaseString},
|
||||
#{item.socialPaymentComBaseString},
|
||||
#{item.socialSchemeId},
|
||||
#{item.createTime},
|
||||
#{item.socialEndTime},
|
||||
|
|
@ -955,6 +963,7 @@
|
|||
<set>
|
||||
welfare_type = #{welfareType},
|
||||
social_payment_base_string = #{socialPaymentBaseString},
|
||||
social_payment_com_base_string = #{socialPaymentComBaseString},
|
||||
social_scheme_id = #{socialSchemeId},
|
||||
social_end_time = #{socialEndTime},
|
||||
social_start_time = #{socialStartTime},
|
||||
|
|
@ -994,6 +1003,7 @@
|
|||
welfare_type,
|
||||
delete_type,
|
||||
social_payment_base_string,
|
||||
social_payment_com_base_string,
|
||||
social_scheme_id,
|
||||
create_time,
|
||||
social_end_time,
|
||||
|
|
@ -1011,6 +1021,7 @@
|
|||
#{welfareType},
|
||||
#{deleteType},
|
||||
#{socialPaymentBaseString},
|
||||
#{socialPaymentComBaseString},
|
||||
#{socialSchemeId},
|
||||
#{createTime},
|
||||
#{socialEndTime},
|
||||
|
|
|
|||
|
|
@ -4,10 +4,7 @@ import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
|||
import com.engine.salary.entity.salaryacct.dto.ConsolidatedTaxDetailDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultDetailDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultListColumnDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctCalculateParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctResultQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctResultSaveParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctResultUpdateLockStatusParam;
|
||||
import com.engine.salary.entity.salaryacct.param.*;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
|
||||
|
|
@ -207,4 +204,10 @@ public interface SalaryAcctResultService {
|
|||
* @return
|
||||
*/
|
||||
Boolean checkAuth(Long salaryAcctRecordId);
|
||||
|
||||
/**
|
||||
* 薪资核算结果批量更新
|
||||
* @param param
|
||||
*/
|
||||
void batchUpdate(SalaryAcctResultBatchUpdateParam param);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,4 +216,6 @@ public interface SalarySendService {
|
|||
void autoConfirmSalaryBill(List<Long> needAutoIds);
|
||||
|
||||
List<SalarySendPO> getByIds(List<Long> salarySendId);
|
||||
|
||||
List<SalarySendPO> listSome(SalarySendPO param);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.cloudstore.eccom.constant.WeaBoolAttr;
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.core.impl.Service;
|
||||
|
|
@ -31,6 +32,8 @@ import java.util.stream.Collectors;
|
|||
**/
|
||||
public class ColumnBuildServiceImpl extends Service implements ColumnBuildService {
|
||||
|
||||
private SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
|
||||
|
||||
private ICategoryMapper getICategoryMapper() {
|
||||
return MapperProxyFactory.getProxy(ICategoryMapper.class);
|
||||
}
|
||||
|
|
@ -122,58 +125,128 @@ public class ColumnBuildServiceImpl extends Service implements ColumnBuildServic
|
|||
}
|
||||
|
||||
private Map<Integer, Map<String, String>> buildPaymentTitle(List<InsuranceAccountDetailPO> pos, Map<String, String> categoryIdNameMap, Long employeeId, String tenantKey) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
Set<String> socailIds = new HashSet<>();
|
||||
Set<String> fundIds = new HashSet<>();
|
||||
Set<String> otherIds = new HashSet<>();
|
||||
|
||||
Set<String> socailComIds = new HashSet<>();
|
||||
Set<String> fundComIds = new HashSet<>();
|
||||
Set<String> otherComIds = new HashSet<>();
|
||||
|
||||
Map<Integer, Map<String, String>> result = new HashMap<>();
|
||||
|
||||
pos.stream().forEach(item -> {
|
||||
if (StringUtils.isNotBlank(item.getSocialPaymentBaseString())) {
|
||||
if (StringUtils.isNotBlank(item.getSocialPaymentBaseString()) || StringUtils.isNotBlank(item.getSocialPaymentComBaseString())) {
|
||||
Map<String, String> socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
if(socialJson!=null){
|
||||
socialJson.forEach((k, v) -> {
|
||||
socailIds.add(k);
|
||||
});
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> socialComJson = JSON.parseObject(item.getSocialPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (socialComJson != null) {
|
||||
socialComJson.forEach((k, v) -> socailComIds.add(k));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (StringUtils.isNotBlank(item.getFundPaymentBaseString())) {
|
||||
if (StringUtils.isNotBlank(item.getFundPaymentBaseString()) || StringUtils.isNotBlank(item.getFundPaymentComBaseString())) {
|
||||
Map<String, String> fundJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
if(fundJson!=null){
|
||||
fundJson.forEach((k, v) -> {
|
||||
fundIds.add(k);
|
||||
});
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> fundComJson = JSON.parseObject(item.getFundPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (fundComJson != null) {
|
||||
fundComJson.forEach((k, v) -> fundComIds.add(k));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (StringUtils.isNotBlank(item.getOtherPaymentBaseString())) {
|
||||
if (StringUtils.isNotBlank(item.getOtherPaymentBaseString()) || StringUtils.isNotBlank(item.getOtherPaymentComBaseString())) {
|
||||
Map<String, String> otherJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
if(otherJson!=null){
|
||||
otherJson.forEach((k, v) -> {
|
||||
otherIds.add(k);
|
||||
});
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> otherComJson = JSON.parseObject(item.getOtherPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (otherComJson != null) {
|
||||
otherComJson.forEach((k, v) -> otherComIds.add(k));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
Map<String, String> socialColumns = new HashMap<>();
|
||||
Map<String, String> fundColumns = new HashMap<>();
|
||||
Map<String, String> otherColumns = new HashMap<>();
|
||||
socailIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"), social + "socialBase");
|
||||
}
|
||||
});
|
||||
fundIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 100293, "申报基数"), social + "fundBase");
|
||||
}
|
||||
});
|
||||
otherIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 100293, "申报基数"), social + "otherBase");
|
||||
}
|
||||
});
|
||||
|
||||
Map<String, String> socialComColumns = new HashMap<>();
|
||||
Map<String, String> fundComColumns = new HashMap<>();
|
||||
Map<String, String> otherComColumns = new HashMap<>();
|
||||
|
||||
if (welBaseDiffSign) {
|
||||
socailIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人"), social + "socialPerBase");
|
||||
}
|
||||
});
|
||||
fundIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人"), social + "fundPerBase");
|
||||
}
|
||||
});
|
||||
otherIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人"), social + "otherPerBase");
|
||||
}
|
||||
});
|
||||
|
||||
socailComIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialComColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位"), social + "socialComBase");
|
||||
}
|
||||
});
|
||||
fundComIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundComColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位"), social + "fundComBase");
|
||||
}
|
||||
});
|
||||
otherComIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherComColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位"), social + "otherComBase");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
socailIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), social + "socialBase");
|
||||
}
|
||||
});
|
||||
fundIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数"), social + "fundBase");
|
||||
}
|
||||
});
|
||||
otherIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数"), social + "otherBase");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// map根据value排序
|
||||
LinkedHashMap<String, String> socialColumnsWithAscValue = socialColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByValue())
|
||||
|
|
@ -188,6 +261,24 @@ public class ColumnBuildServiceImpl extends Service implements ColumnBuildServic
|
|||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
|
||||
if (welBaseDiffSign) {
|
||||
LinkedHashMap<String, String> socialComMapWithAscKey = socialComColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
LinkedHashMap<String, String> fundComMapWithAscKey = fundComColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
LinkedHashMap<String, String> otherComMapWithAscKey = otherComColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
socialColumnsWithAscValue.putAll(socialComMapWithAscKey);
|
||||
fundColumnsWithAscValue.putAll(fundComMapWithAscKey);
|
||||
otherColumnsWithAscValue.putAll(otherComMapWithAscKey);
|
||||
}
|
||||
|
||||
result.put(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), socialColumnsWithAscValue);
|
||||
result.put(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), fundColumnsWithAscValue);
|
||||
result.put(WelfareTypeEnum.OTHER.getValue(), otherColumnsWithAscValue);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.biz.SIArchivesBiz;
|
||||
|
|
@ -15,6 +16,7 @@ import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
|||
import com.engine.salary.enums.UserStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.BillStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.ResourceFromEnum;
|
||||
import com.engine.salary.enums.sicategory.PaymentScopeEnum;
|
||||
import com.engine.salary.mapper.datacollection.EmployMapper;
|
||||
import com.engine.salary.mapper.sischeme.InsuranceSchemeMapper;
|
||||
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
|
||||
|
|
@ -60,8 +62,11 @@ public class RecordsBuildServiceImpl extends Service implements RecordsBuildServ
|
|||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> buildCommonRecords(List<InsuranceAccountDetailPO> list, Long employeeId) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
return result;
|
||||
|
|
@ -99,34 +104,130 @@ public class RecordsBuildServiceImpl extends Service implements RecordsBuildServ
|
|||
record.put("socialAccount", item.getSocialAccount());
|
||||
|
||||
record.put("socialSchemeName", getInsuranceSchemeMapper().querySchemeName(item.getSocialSchemeId()));
|
||||
if (StringUtils.isNotEmpty(item.getSocialPaymentBaseString())) {
|
||||
if (StringUtils.isNotEmpty(item.getSocialPaymentBaseString()) || StringUtils.isNotEmpty(item.getSocialPaymentComBaseString())) {
|
||||
Map<String, Object> socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
if(socialJson!=null){
|
||||
socialJson.forEach((k, v) -> {
|
||||
record.put(k + "socialBase", (String) v);
|
||||
// if(socialJson!=null){
|
||||
// socialJson.forEach((k, v) -> {
|
||||
// record.put(k + "socialBase", (String) v);
|
||||
// });
|
||||
// }
|
||||
if (welBaseDiffSign) {
|
||||
if (socialJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getSocialSchemeId(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
socialJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "socialPerBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> socialComJson = JSON.parseObject(item.getSocialPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (socialComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getSocialSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
socialComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "socialComBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (socialJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getSocialSchemeId());
|
||||
socialJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "socialBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
record.put("fundPayOrg", item.getFundPayOrg() == null ? "" : (paymentMap.getOrDefault(item.getFundPayOrg(),TaxAgentPO.builder().build())).getName());
|
||||
record.put("fundAccount", item.getFundAccount());
|
||||
record.put("fundSchemeName", getInsuranceSchemeMapper().querySchemeName(item.getFundSchemeId()));
|
||||
record.put("supplementFundAccount", item.getSupplementFundAccount());
|
||||
if (StringUtils.isNotEmpty(item.getFundPaymentBaseString())) {
|
||||
Map<String, Object> socialJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
if(socialJson!=null){
|
||||
socialJson.forEach((k, v) -> {
|
||||
record.put(k + "fundBase", (String) v);
|
||||
if (StringUtils.isNotEmpty(item.getFundPaymentBaseString()) || StringUtils.isNotEmpty(item.getFundPaymentComBaseString())) {
|
||||
Map<String, Object> fundJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
// if(fundJson!=null){
|
||||
// fundJson.forEach((k, v) -> {
|
||||
// record.put(k + "fundBase", (String) v);
|
||||
// });
|
||||
// }
|
||||
if (welBaseDiffSign) {
|
||||
if (fundJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getFundSchemeId(),PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
fundJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "fundPerBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> fundComJson = JSON.parseObject(item.getFundPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (fundComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getFundSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
fundComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "fundComBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (fundJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getFundSchemeId());
|
||||
fundJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "fundBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
record.put("otherPayOrg", item.getOtherPayOrg() == null ? "" : (paymentMap.getOrDefault(item.getOtherPayOrg(),TaxAgentPO.builder().build())).getName());
|
||||
record.put("otherSchemeName", getInsuranceSchemeMapper().querySchemeName(item.getOtherSchemeId()));
|
||||
if (StringUtils.isNotEmpty(item.getOtherPaymentBaseString())) {
|
||||
Map<String, Object> socialJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
if(socialJson!=null){
|
||||
socialJson.forEach((k, v) -> {
|
||||
record.put(k + "otherBase", (String) v);
|
||||
if (StringUtils.isNotEmpty(item.getOtherPaymentBaseString()) || StringUtils.isNotEmpty(item.getOtherPaymentComBaseString())) {
|
||||
Map<String, Object> otherJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
// if(otherJson!=null){
|
||||
// otherJson.forEach((k, v) -> {
|
||||
// record.put(k + "otherBase", (String) v);
|
||||
// });
|
||||
// }
|
||||
if (welBaseDiffSign) {
|
||||
if (otherJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getOtherSchemeId(),PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
otherJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "otherPerBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> otherComJson = JSON.parseObject(item.getOtherPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (otherComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getOtherSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
otherComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "otherComBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (otherJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getOtherSchemeId());
|
||||
otherJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "otherBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(item.getSocialPerJson())) {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.engine.salary.service.impl;
|
|||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.biz.SIArchivesBiz;
|
||||
import com.engine.salary.encrypt.EncryptUtil;
|
||||
import com.engine.salary.entity.siaccount.bo.InsuranceComparisonResultBO;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceComparisonResultListDTO;
|
||||
|
|
@ -24,6 +25,7 @@ import com.engine.salary.sys.service.SalarySysConfService;
|
|||
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.excel.ExcelUtilPlus;
|
||||
import com.engine.salary.util.page.Column;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
|
|
@ -45,6 +47,8 @@ import java.util.stream.Collectors;
|
|||
public class SIAComparisonResultServiceImpl extends Service implements SIAComparisonResultService {
|
||||
private EncryptUtil encryptUtil = new EncryptUtil();
|
||||
|
||||
private SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
|
||||
|
||||
private InsuranceExportMapper getInsuranceExportMapper() {
|
||||
return MapperProxyFactory.getProxy(InsuranceExportMapper.class);
|
||||
}
|
||||
|
|
@ -131,7 +135,7 @@ public class SIAComparisonResultServiceImpl extends Service implements SIACompar
|
|||
|
||||
String sheetName = "线下对比结果";
|
||||
|
||||
return ExcelUtil.genWorkbookV2(rows, sheetName);
|
||||
return ExcelUtilPlus.genWorkbookV2(rows, sheetName);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -140,6 +144,7 @@ public class SIAComparisonResultServiceImpl extends Service implements SIACompar
|
|||
*/
|
||||
private InsuranceComparisonResultListDTO listByParam(boolean needPage, InsuranceComparisonResultQueryParam queryParam) {
|
||||
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
//排序配置
|
||||
OrderRuleVO orderRule = getSalarySysConfService(user).orderRule();
|
||||
|
||||
|
|
@ -200,10 +205,10 @@ public class SIAComparisonResultServiceImpl extends Service implements SIACompar
|
|||
Set<Long> insurancePerPaySet = new HashSet<>(insurancePerPayIds);
|
||||
Set<Long> insuranceComPaySet = new HashSet<>(insuranceComPayIds);
|
||||
//3-构建福利核算对比结果列表表头
|
||||
List<Column> weaTableColumns = InsuranceComparisonResultBO.buildTableColumns4ComparisonResult(insuranceBaseSet, insurancePerPaySet, insuranceComPaySet);
|
||||
List<Column> weaTableColumns = InsuranceComparisonResultBO.buildTableColumns4ComparisonResult(insuranceBaseSet, insurancePerPaySet, insuranceComPaySet, welBaseDiffSign);
|
||||
//4-通过线上线下两份数据获得对比结果
|
||||
Map<Long, String> schemeIdNameMap = getSISchemeService(user).getSchemeIdNameMap();
|
||||
List<Map<String, Object>> resultMapList = InsuranceComparisonResultBO.buildComparisonTableData(accountExportPOS, excelAccountExportPOS, schemeIdNameMap);
|
||||
List<Map<String, Object>> resultMapList = InsuranceComparisonResultBO.buildComparisonTableData(accountExportPOS, excelAccountExportPOS, schemeIdNameMap, welBaseDiffSign);
|
||||
|
||||
// 系统值和线下值一致的人员
|
||||
if (queryParam.isOnlyDiffEmployee()) {
|
||||
|
|
@ -227,7 +232,7 @@ public class SIAComparisonResultServiceImpl extends Service implements SIACompar
|
|||
}
|
||||
|
||||
private Set<String> welfareInfo() {
|
||||
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
Set<String> info = new HashSet<>();
|
||||
|
||||
List<ICategoryPO> listAll = getICategoryMapper().listAll();
|
||||
|
|
@ -235,18 +240,37 @@ public class SIAComparisonResultServiceImpl extends Service implements SIACompar
|
|||
List<ICategoryPO> fundWelfareList = listAll.stream().filter(e -> e.getWelfareType() == 2).collect(Collectors.toList());
|
||||
List<ICategoryPO> otherWelfareList = listAll.stream().filter(e -> e.getWelfareType() == 3).collect(Collectors.toList());
|
||||
|
||||
//组装社保基数
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
info.add(po.getId() + "socialBase");
|
||||
}
|
||||
//组装公积金基数
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
info.add(po.getId() + "fundBase");
|
||||
}
|
||||
//组装其他福利基数
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
info.add(po.getId() + "otherBase");
|
||||
if (welBaseDiffSign) {
|
||||
//组装社保基数
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
info.add(po.getId() + "socialPerBase");
|
||||
info.add(po.getId() + "socialComBase");
|
||||
}
|
||||
//组装公积金基数
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
info.add(po.getId() + "fundPerBase");
|
||||
info.add(po.getId() + "fundComBase");
|
||||
}
|
||||
//组装其他福利基数
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
info.add(po.getId() + "otherPerBase");
|
||||
info.add(po.getId() + "otherComBase");
|
||||
}
|
||||
} else {
|
||||
//组装社保基数
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
info.add(po.getId() + "socialBase");
|
||||
}
|
||||
//组装公积金基数
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
info.add(po.getId() + "fundBase");
|
||||
}
|
||||
//组装其他福利基数
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
info.add(po.getId() + "otherBase");
|
||||
}
|
||||
}
|
||||
|
||||
//社保个人(生育保险个人、工伤保险个人、失业保险个人、养老保险个人、医疗保险个人)
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
info.add(po.getId() + "socialPer");
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ import com.engine.salary.util.db.MapperProxyFactory;
|
|||
import com.engine.salary.util.excel.ExcelParseHelper;
|
||||
import com.engine.salary.util.excel.ExcelSupport;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.excel.ExcelUtilPlus;
|
||||
import com.engine.salary.util.page.Column;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
|
|
@ -2221,7 +2222,79 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
*/
|
||||
@Override
|
||||
public XSSFWorkbook exportComparisonWelfareTemplate(InsuranceAccountDetailParam param) {
|
||||
Map<String, List<Object>> welColumnMap = createWelColumnMap(param);
|
||||
|
||||
List<Object> headerList = Lists.newArrayList(SalaryI18nUtil.getI18nLabel(85429, "姓名"),
|
||||
SalaryI18nUtil.getI18nLabel(86185, "部门"),
|
||||
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
||||
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
||||
SalaryI18nUtil.getI18nLabel(86187, "员工状态"),
|
||||
SalaryI18nUtil.getI18nLabel(100377, "数据来源"),
|
||||
SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91324, "社保账号"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91323, "社保方案名称"));
|
||||
//组装社保基数
|
||||
if (welColumnMap.get("socialBase") != null) {
|
||||
headerList.addAll(welColumnMap.get("socialBase"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91486, "公积金账号"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称"));
|
||||
//组装公积金基数
|
||||
if (welColumnMap.get("fundBase") != null) {
|
||||
headerList.addAll(welColumnMap.get("fundBase"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称"));
|
||||
//组装其他福利基数
|
||||
if (welColumnMap.get("otherBase") != null) {
|
||||
headerList.addAll(welColumnMap.get("otherBase"));
|
||||
}
|
||||
//社保个人(生育保险个人、工伤保险个人、失业保险个人、养老保险个人、医疗保险个人)
|
||||
if (welColumnMap.get("socialPer") != null) {
|
||||
headerList.addAll(welColumnMap.get("socialPer"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100388, "社保个人合计"));
|
||||
//住房公积金个人、补充住房公积金个人
|
||||
if (welColumnMap.get("fundPer") != null) {
|
||||
headerList.addAll(welColumnMap.get("fundPer"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100390, "公积金个人合计"));
|
||||
//其他个人(比如企业年金个人)
|
||||
if (welColumnMap.get("otherPer") != null) {
|
||||
headerList.addAll(welColumnMap.get("otherPer"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100392, "其他福利个人合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100393, "个人合计"));
|
||||
//社保单位(生育保险单位、工伤保险单位、失业保险单位、养老保险单位、医疗保险单位)
|
||||
if (welColumnMap.get("socialCom") != null) {
|
||||
headerList.addAll(welColumnMap.get("socialCom"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100394, "社保单位合计"));
|
||||
//住房公积金单位、补充住房公积金单位
|
||||
if (welColumnMap.get("fundCom") != null) {
|
||||
headerList.addAll(welColumnMap.get("fundCom"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100395, "公积金单位合计"));
|
||||
//其他单位(比如企业年金单位)
|
||||
if (welColumnMap.get("otherCom") != null) {
|
||||
headerList.addAll(welColumnMap.get("otherCom"));
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100396, "其他福利单位合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100397, "单位合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100398, "社保合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100399, "公积金合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100400, "其他福利合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(93278, "合计"));
|
||||
|
||||
List<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(headerList);
|
||||
String sheetName = "福利核算-线下对比导入模板";
|
||||
|
||||
return ExcelUtilPlus.genWorkbookV2(rows, sheetName);
|
||||
}
|
||||
|
||||
public Map<String, List<Object>> createWelColumnMap(InsuranceAccountDetailParam param) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
//查询线上福利核算记录
|
||||
InsuranceExportParam insuranceExportParam = new InsuranceExportParam();
|
||||
insuranceExportParam.setBillMonth(param.getBillMonth());
|
||||
|
|
@ -2265,77 +2338,238 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
List<ICategoryPO> fundWelComList = listAll.stream().filter(e -> e.getWelfareType() == 2 && e.getIsUse() == 1 && insuranceComPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
List<ICategoryPO> otherWelComList = listAll.stream().filter(e -> e.getWelfareType() == 3 && e.getIsUse() == 1 && insuranceComPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
|
||||
List<Object> headerList = Lists.newArrayList(SalaryI18nUtil.getI18nLabel(85429, "姓名"),
|
||||
SalaryI18nUtil.getI18nLabel(86185, "部门"),
|
||||
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
||||
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
||||
SalaryI18nUtil.getI18nLabel(86187, "员工状态"),
|
||||
SalaryI18nUtil.getI18nLabel(100377, "数据来源"),
|
||||
SalaryI18nUtil.getI18nLabel(91325, "个税扣缴义务人"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91324, "社保账号"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91323, "社保方案名称"));
|
||||
// "失业保险申报基数"
|
||||
// "生育保险申报基数"
|
||||
// "养老保险申报基数"
|
||||
// "医疗保险申报基数"
|
||||
// "工伤保险申报基数"
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
headerList.add(po.getInsuranceName() + "申报基数");
|
||||
//组装社保基数
|
||||
List<Object> socialBaseColumns = new ArrayList<>();
|
||||
List<Object> socialPerBaseColumns = new ArrayList<>();
|
||||
List<Object> socialComBaseColumns = Lists.newArrayList();
|
||||
if (welBaseDiffSign) {
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
socialPerBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
socialComBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
socialBaseColumns.addAll(socialPerBaseColumns);
|
||||
socialBaseColumns.addAll(socialComBaseColumns);
|
||||
} else {
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
socialBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
}
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91486, "公积金账号"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称"));
|
||||
|
||||
//组装公积金基数
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
headerList.add(po.getInsuranceName() + "申报基数");
|
||||
List<Object> fundBaseColumns = new ArrayList<>();
|
||||
List<Object> fundPerBaseColumns = Lists.newArrayList();
|
||||
List<Object> fundComBaseColumns = Lists.newArrayList();
|
||||
if (welBaseDiffSign) {
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
fundPerBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
fundComBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
fundBaseColumns.addAll(fundPerBaseColumns);
|
||||
fundBaseColumns.addAll(fundComBaseColumns);
|
||||
} else {
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
fundBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
}
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称"));
|
||||
|
||||
//组装其他福利基数
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
headerList.add(po.getInsuranceName() + "申报基数");
|
||||
List<Object> otherBaseColumns = new ArrayList<>();
|
||||
List<Object> otherPerBaseColumns = new ArrayList<>();
|
||||
List<Object> otherComBaseColumns = Lists.newArrayList();
|
||||
if (welBaseDiffSign) {
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
otherPerBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
otherComBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
otherBaseColumns.addAll(otherPerBaseColumns);
|
||||
otherBaseColumns.addAll(otherComBaseColumns);
|
||||
} else {
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
otherBaseColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
}
|
||||
}
|
||||
|
||||
//社保个人(生育保险个人、工伤保险个人、失业保险个人、养老保险个人、医疗保险个人)
|
||||
List<Object> socialPerColumns = new ArrayList<>();
|
||||
for (ICategoryPO po : socialWelPerList) {
|
||||
socialPerColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
}
|
||||
//住房公积金个人、补充住房公积金个人
|
||||
List<Object> fundPerColumns = new ArrayList<>();
|
||||
for (ICategoryPO po : fundWelPerList) {
|
||||
fundPerColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
}
|
||||
//其他个人(比如企业年金个人)
|
||||
List<Object> otherPerColumns = new ArrayList<>();
|
||||
for (ICategoryPO po : otherWelPerList) {
|
||||
otherPerColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
}
|
||||
//社保单位(生育保险单位、工伤保险单位、失业保险单位、养老保险单位、医疗保险单位)
|
||||
List<Object> socialComColumns = new ArrayList<>();
|
||||
for (ICategoryPO po : socialWelComList) {
|
||||
socialComColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
//住房公积金单位、补充住房公积金单位
|
||||
List<Object> fundComColumns = new ArrayList<>();
|
||||
for (ICategoryPO po : fundWelComList) {
|
||||
fundComColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
|
||||
//其他单位(比如企业年金单位)
|
||||
List<Object> otherComColumns = new ArrayList<>();
|
||||
for (ICategoryPO po : otherWelComList) {
|
||||
otherComColumns.add(po.getInsuranceName() + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
|
||||
Map<String, List<Object>> welColumnMap = new HashMap<>();
|
||||
welColumnMap.put("socialPerBase", socialPerBaseColumns);
|
||||
welColumnMap.put("fundPerBase", fundPerBaseColumns);
|
||||
welColumnMap.put("otherPerBase", otherPerBaseColumns);
|
||||
welColumnMap.put("socialComBase", socialComBaseColumns);
|
||||
welColumnMap.put("fundComBase", fundComBaseColumns);
|
||||
welColumnMap.put("otherComBase", otherComBaseColumns);
|
||||
welColumnMap.put("socialBase", socialBaseColumns);
|
||||
welColumnMap.put("fundBase", fundBaseColumns);
|
||||
welColumnMap.put("otherBase", otherBaseColumns);
|
||||
welColumnMap.put("socialPer", socialPerColumns);
|
||||
welColumnMap.put("fundPer", fundPerColumns);
|
||||
welColumnMap.put("otherPer", otherPerColumns);
|
||||
welColumnMap.put("socialCom", socialComColumns);
|
||||
welColumnMap.put("fundCom", fundComColumns);
|
||||
welColumnMap.put("otherCom", otherComColumns);
|
||||
return welColumnMap;
|
||||
}
|
||||
|
||||
public Map<String, String> welColumnNameCodeMap(InsuranceAccountDetailParam param) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
//查询线上福利核算记录
|
||||
InsuranceExportParam insuranceExportParam = new InsuranceExportParam();
|
||||
insuranceExportParam.setBillMonth(param.getBillMonth());
|
||||
insuranceExportParam.setPaymentOrganization(param.getPaymentOrganization());
|
||||
List<AccountExportPO> accountExportPOS = getInsuranceExportMapper().exportAccount(param.getPaymentStatus(), insuranceExportParam);
|
||||
|
||||
//整理线上核算记录相关的福利方案,并以此整理需要对比的福利项类别数据
|
||||
Set<Long> welfareSchemeIds = new HashSet<>();
|
||||
accountExportPOS.forEach(f -> {
|
||||
welfareSchemeIds.add(f.getSocialSchemeId());
|
||||
welfareSchemeIds.add(f.getFundSchemeId());
|
||||
welfareSchemeIds.add(f.getOtherSchemeId());
|
||||
});
|
||||
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPos = getInsuranceSchemeDetailMapper().listAll();
|
||||
List<Long> insuranceBaseIds = insuranceSchemeDetailPos.stream()
|
||||
.filter(f -> welfareSchemeIds.contains(f.getPrimaryId()) && f.getIsPayment() == 1)
|
||||
.map(InsuranceSchemeDetailPO::getInsuranceId)
|
||||
.collect(Collectors.toList());
|
||||
List<Long> insurancePerPayIds = insuranceSchemeDetailPos.stream()
|
||||
.filter(f -> welfareSchemeIds.contains(f.getPrimaryId()) && f.getIsPayment() == 1 && f.getPaymentScope() == 2)
|
||||
.map(InsuranceSchemeDetailPO::getInsuranceId)
|
||||
.collect(Collectors.toList());
|
||||
List<Long> insuranceComPayIds = insuranceSchemeDetailPos.stream()
|
||||
.filter(f -> welfareSchemeIds.contains(f.getPrimaryId()) && f.getIsPayment() == 1 && f.getPaymentScope() == 1)
|
||||
.map(InsuranceSchemeDetailPO::getInsuranceId)
|
||||
.collect(Collectors.toList());
|
||||
Set<Long> insuranceBaseSet = new HashSet<>(insuranceBaseIds);
|
||||
Set<Long> insurancePerPaySet = new HashSet<>(insurancePerPayIds);
|
||||
Set<Long> insuranceComPaySet = new HashSet<>(insuranceComPayIds);
|
||||
|
||||
List<ICategoryPO> listAll = getICategoryMapper().listAll();
|
||||
List<ICategoryPO> socialWelfareList = listAll.stream().filter(e -> e.getWelfareType() == 1 && e.getIsUse() == 1 && insuranceBaseSet.contains(e.getId())).collect(Collectors.toList());
|
||||
List<ICategoryPO> fundWelfareList = listAll.stream().filter(e -> e.getWelfareType() == 2 && e.getIsUse() == 1 && insuranceBaseSet.contains(e.getId())).collect(Collectors.toList());
|
||||
List<ICategoryPO> otherWelfareList = listAll.stream().filter(e -> e.getWelfareType() == 3 && e.getIsUse() == 1 && insuranceBaseSet.contains(e.getId())).collect(Collectors.toList());
|
||||
|
||||
List<ICategoryPO> socialWelPerList = listAll.stream().filter(e -> e.getWelfareType() == 1 && e.getIsUse() == 1 && insurancePerPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
List<ICategoryPO> fundWelPerList = listAll.stream().filter(e -> e.getWelfareType() == 2 && e.getIsUse() == 1 && insurancePerPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
List<ICategoryPO> otherWelPerList = listAll.stream().filter(e -> e.getWelfareType() == 3 && e.getIsUse() == 1 && insurancePerPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
|
||||
List<ICategoryPO> socialWelComList = listAll.stream().filter(e -> e.getWelfareType() == 1 && e.getIsUse() == 1 && insuranceComPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
List<ICategoryPO> fundWelComList = listAll.stream().filter(e -> e.getWelfareType() == 2 && e.getIsUse() == 1 && insuranceComPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
List<ICategoryPO> otherWelComList = listAll.stream().filter(e -> e.getWelfareType() == 3 && e.getIsUse() == 1 && insuranceComPaySet.contains(e.getId())).collect(Collectors.toList());
|
||||
|
||||
//组装社保基数
|
||||
Map<String, String> result = new HashMap<>();
|
||||
if (welBaseDiffSign) {
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数")
|
||||
+ SalaryI18nUtil.getI18nLabel(0,"个人"), po.getId() + "socialPerBase");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数")
|
||||
+ SalaryI18nUtil.getI18nLabel(0,"单位"), po.getId() + "socialComBase");
|
||||
}
|
||||
} else {
|
||||
for (ICategoryPO po : socialWelfareList) {
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数"), po.getId() + "socialBase");
|
||||
}
|
||||
}
|
||||
|
||||
//组装公积金基数
|
||||
if (welBaseDiffSign) {
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数")
|
||||
+ SalaryI18nUtil.getI18nLabel(0,"个人"), po.getId() + "fundPerBase");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数")
|
||||
+ SalaryI18nUtil.getI18nLabel(0,"单位"), po.getId() + "fundComBase");
|
||||
}
|
||||
} else {
|
||||
for (ICategoryPO po : fundWelfareList) {
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数"), po.getId() + "fundBase");
|
||||
}
|
||||
}
|
||||
|
||||
//组装其他福利基数
|
||||
if (welBaseDiffSign) {
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数")
|
||||
+ SalaryI18nUtil.getI18nLabel(0,"个人"), po.getId() + "otherPerBase");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数")
|
||||
+ SalaryI18nUtil.getI18nLabel(0,"单位"), po.getId() + "otherComBase");
|
||||
}
|
||||
} else {
|
||||
for (ICategoryPO po : otherWelfareList) {
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "申报基数"), po.getId() + "otherBase");
|
||||
}
|
||||
}
|
||||
|
||||
//社保个人(生育保险个人、工伤保险个人、失业保险个人、养老保险个人、医疗保险个人)
|
||||
for (ICategoryPO po : socialWelPerList) {
|
||||
headerList.add(po.getInsuranceName() + "个人");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "个人"), po.getId() + "socialPer");
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100388, "社保个人合计"));
|
||||
//住房公积金个人、补充住房公积金个人
|
||||
for (ICategoryPO po : fundWelPerList) {
|
||||
headerList.add(po.getInsuranceName() + "个人");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "个人"), po.getId() + "fundPer");
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100390, "公积金个人合计"));
|
||||
//其他个人(比如企业年金个人)
|
||||
for (ICategoryPO po : otherWelPerList) {
|
||||
headerList.add(po.getInsuranceName() + "个人");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "个人"), po.getId() + "otherPer");
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100392, "其他福利个人合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100393, "个人合计"));
|
||||
//社保单位(生育保险单位、工伤保险单位、失业保险单位、养老保险单位、医疗保险单位)
|
||||
for (ICategoryPO po : socialWelComList) {
|
||||
headerList.add(po.getInsuranceName() + "单位");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "单位"), po.getId() + "socialCom");
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100394, "社保单位合计"));
|
||||
//住房公积金单位、补充住房公积金单位
|
||||
for (ICategoryPO po : fundWelComList) {
|
||||
headerList.add(po.getInsuranceName() + "单位");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "单位"), po.getId() + "fundCom");
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100395, "公积金单位合计"));
|
||||
|
||||
//其他单位(比如企业年金单位)
|
||||
for (ICategoryPO po : otherWelComList) {
|
||||
headerList.add(po.getInsuranceName() + "单位");
|
||||
result.put(Util.formatMultiLang(po.getInsuranceName(), String.valueOf(user.getLanguage()))
|
||||
+ SalaryI18nUtil.getI18nLabel(0, "单位"), po.getId() + "otherCom");
|
||||
}
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100396, "其他福利单位合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100397, "单位合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100398, "社保合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100399, "公积金合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(100400, "其他福利合计"));
|
||||
headerList.add(SalaryI18nUtil.getI18nLabel(93278, "合计"));
|
||||
|
||||
List<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(headerList);
|
||||
String sheetName = "福利核算-线下对比导入模板";
|
||||
|
||||
return ExcelUtil.genWorkbookV2(rows, sheetName);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -2386,6 +2620,13 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
}
|
||||
|
||||
String billMonth = importParam.getBillMonth();
|
||||
|
||||
// Map<String, String> welColumnNameCodeMap = welColumnNameCodeMap(InsuranceAccountDetailParam.builder()
|
||||
// .billMonth(billMonth)
|
||||
// .paymentOrganization(importParam.getPaymentOrganization())
|
||||
// .paymentStatus(PaymentStatusEnum.COMMON.getValue())
|
||||
// .build());
|
||||
Map<String, String> welColumnNameCodeMap = new HashMap<>();
|
||||
//存储待更新的InsuranceAccountDetailPO数据
|
||||
List<ExcelInsuranceDetailPO> addCompareList = new ArrayList<>();
|
||||
//记录待删除hrsa_excel_bill_detail.id
|
||||
|
|
@ -2407,6 +2648,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
|
||||
if (taxAgentPoList.size() == 1) {
|
||||
paymentOrganization = taxAgentPoList.get(0).getId();
|
||||
welColumnNameCodeMap = welColumnNameCodeMap(InsuranceAccountDetailParam.builder()
|
||||
.billMonth(billMonth)
|
||||
.paymentOrganization(paymentOrganization.toString())
|
||||
.paymentStatus(PaymentStatusEnum.COMMON.getValue())
|
||||
.build());
|
||||
} else {
|
||||
isError = true;
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
|
|
@ -2480,7 +2726,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
idList.addAll(ids);
|
||||
}
|
||||
//拼装待更新数据
|
||||
addCompareList.add(handleExcelInsuranceDetail(billMonth, employeeId, paymentOrganization, map));
|
||||
addCompareList.add(handleExcelInsuranceDetail(billMonth, employeeId, paymentOrganization, map, welColumnNameCodeMap));
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -2519,7 +2765,8 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
* @param billMonth 对比的账单月份
|
||||
* @param baseMap excel导入的对比数据
|
||||
*/
|
||||
private ExcelInsuranceDetailPO handleExcelInsuranceDetail(String billMonth, Long employeeId, Long paymentOrganization, Map<String, Object> baseMap) {
|
||||
private ExcelInsuranceDetailPO handleExcelInsuranceDetail(String billMonth, Long employeeId, Long paymentOrganization, Map<String, Object> baseMap, Map<String, String> welColumnNameCodeMap) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
|
||||
ExcelInsuranceDetailPO excelInsuranceDetailPO = new ExcelInsuranceDetailPO();
|
||||
excelInsuranceDetailPO.setId(IdGenerator.generate());
|
||||
|
|
@ -2535,6 +2782,10 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
Map<String, String> fundPaymentBaseMap = new HashMap<>();
|
||||
Map<String, String> otherPaymentBaseMap = new HashMap<>();
|
||||
|
||||
Map<String, String> socialPaymentComBaseMap = new HashMap<>();
|
||||
Map<String, String> fundPaymentComBaseMap = new HashMap<>();
|
||||
Map<String, String> otherPaymentComBaseMap = new HashMap<>();
|
||||
|
||||
//筛选出福利核算项
|
||||
Map<String, Object> toDealMap =
|
||||
baseMap.entrySet().stream()
|
||||
|
|
@ -2548,73 +2799,157 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
|
||||
for(Map.Entry<String, Object> entry : toDealMap.entrySet()) {
|
||||
//判断元素是否属于福利类
|
||||
String keyName = entry.getKey();
|
||||
//获取元素名后缀,方便之后判断“个人”或“单位”或者“基数”
|
||||
String payScope = keyName.substring(keyName.length() - 2);
|
||||
//获取福利类型
|
||||
Integer welfareType;
|
||||
//根据元素名后缀,区分截取内容
|
||||
String targetWelfareName;
|
||||
if ("基数".equals(payScope)) {
|
||||
targetWelfareName = entry.getKey().substring(0, keyName.length() - 4);
|
||||
} else {
|
||||
targetWelfareName = entry.getKey().substring(0, keyName.length() - 2);
|
||||
}
|
||||
List<ICategoryPO> categoryPOList = siCategoryBiz.listByName(targetWelfareName);
|
||||
if (categoryPOList.size() == 1) {
|
||||
ICategoryPO iCategoryPO = categoryPOList.get(0);
|
||||
welfareType = iCategoryPO.getWelfareType();
|
||||
// //判断元素是否属于福利类
|
||||
// String keyName = entry.getKey();
|
||||
// //获取元素名后缀,方便之后判断“个人”或“单位”或者“基数”
|
||||
// String payScope = keyName.substring(keyName.length() - 2);
|
||||
// //获取福利类型
|
||||
// Integer welfareType;
|
||||
// //根据元素名后缀,区分截取内容
|
||||
// String targetWelfareName;
|
||||
// if ("基数".equals(payScope)) {
|
||||
// targetWelfareName = entry.getKey().substring(0, keyName.length() - 4);
|
||||
// } else {
|
||||
// targetWelfareName = entry.getKey().substring(0, keyName.length() - 2);
|
||||
// }
|
||||
// List<ICategoryPO> categoryPOList = siCategoryBiz.listByName(targetWelfareName);
|
||||
// if (categoryPOList.size() == 1) {
|
||||
// ICategoryPO iCategoryPO = categoryPOList.get(0);
|
||||
// welfareType = iCategoryPO.getWelfareType();
|
||||
//
|
||||
// switch (payScope) {
|
||||
// case "个人":
|
||||
// switch (welfareType) {
|
||||
// case 1:
|
||||
// socialPerMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// case 2:
|
||||
// fundPerMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// case 3:
|
||||
// otherPerMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// default:
|
||||
// throw new SalaryRunTimeException("福利类型不存在");
|
||||
// }
|
||||
// break;
|
||||
// case "单位":
|
||||
// switch (welfareType) {
|
||||
// case 1:
|
||||
// socialComMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// case 2:
|
||||
// fundComMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// case 3:
|
||||
// otherComMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// default:
|
||||
// throw new SalaryRunTimeException("福利类型不存在");
|
||||
// }
|
||||
// break;
|
||||
// case "基数":
|
||||
// switch (welfareType) {
|
||||
// case 1:
|
||||
// socialPaymentBaseMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// case 2:
|
||||
// fundPaymentBaseMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// case 3:
|
||||
// otherPaymentBaseMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
// break;
|
||||
// default:
|
||||
// throw new SalaryRunTimeException("福利类型不存在");
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
switch (payScope) {
|
||||
case "个人":
|
||||
switch (welfareType) {
|
||||
case 1:
|
||||
socialPerMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
case 2:
|
||||
fundPerMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
case 3:
|
||||
otherPerMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
default:
|
||||
throw new SalaryRunTimeException("福利类型不存在");
|
||||
}
|
||||
break;
|
||||
case "单位":
|
||||
switch (welfareType) {
|
||||
case 1:
|
||||
socialComMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
case 2:
|
||||
fundComMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
case 3:
|
||||
otherComMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
default:
|
||||
throw new SalaryRunTimeException("福利类型不存在");
|
||||
}
|
||||
break;
|
||||
case "基数":
|
||||
switch (welfareType) {
|
||||
case 1:
|
||||
socialPaymentBaseMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
case 2:
|
||||
fundPaymentBaseMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
case 3:
|
||||
otherPaymentBaseMap.put(iCategoryPO.getId().toString(), entry.getValue().toString());
|
||||
break;
|
||||
default:
|
||||
throw new SalaryRunTimeException("福利类型不存在");
|
||||
}
|
||||
break;
|
||||
if (welColumnNameCodeMap.get(entry.getKey()) != null) {
|
||||
String code = welColumnNameCodeMap.get(entry.getKey());
|
||||
if (welBaseDiffSign) {
|
||||
if (code.contains("socialPerBase")) {
|
||||
code = code.replace("socialPerBase", "");
|
||||
socialPaymentBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("socialComBase")) {
|
||||
code = code.replace("socialComBase", "");
|
||||
socialPaymentComBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("fundPerBase")) {
|
||||
code = code.replace("fundPerBase", "");
|
||||
fundPaymentBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("fundComBase")) {
|
||||
code = code.replace("fundComBase", "");
|
||||
fundPaymentComBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("otherPerBase")) {
|
||||
code = code.replace("otherPerBase", "");
|
||||
otherPaymentBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("otherComBase")) {
|
||||
code = code.replace("otherComBase", "");
|
||||
otherPaymentComBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if (code.contains("socialBase")) {
|
||||
code = code.replace("socialBase", "");
|
||||
socialPaymentBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("fundBase")) {
|
||||
code = code.replace("fundBase", "");
|
||||
fundPaymentBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("otherBase")) {
|
||||
code = code.replace("otherBase", "");
|
||||
otherPaymentBaseMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (code.contains("socialPer") && !code.contains("socialPerBase")) {
|
||||
code = code.replace("socialPer", "");
|
||||
socialPerMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("fundPer") && !code.contains("fundPerBase")) {
|
||||
code = code.replace("fundPer", "");
|
||||
fundPerMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("otherPer") && !code.contains("otherPerBase")) {
|
||||
code = code.replace("otherPer", "");
|
||||
otherPerMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
|
||||
if (code.contains("socialCom") && !code.contains("socialComBase")) {
|
||||
code = code.replace("socialCom", "");
|
||||
socialComMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("fundCom") && !code.contains("fundComBase")) {
|
||||
code = code.replace("fundCom", "");
|
||||
fundComMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
if (code.contains("otherCom") && !code.contains("otherComBase")) {
|
||||
code = code.replace("otherCom", "");
|
||||
otherComMap.put(code, entry.getValue().toString());
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//设置社保个人和公司缴纳明细
|
||||
|
|
@ -2631,6 +2966,10 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
|||
excelInsuranceDetailPO.setFundPaymentBaseString(JSON.toJSONString(fundPaymentBaseMap));
|
||||
excelInsuranceDetailPO.setOtherPaymentBaseString(JSON.toJSONString(otherPaymentBaseMap));
|
||||
|
||||
excelInsuranceDetailPO.setSocialPaymentComBaseString(JSON.toJSONString(socialPaymentComBaseMap));
|
||||
excelInsuranceDetailPO.setFundPaymentComBaseString(JSON.toJSONString(fundPaymentComBaseMap));
|
||||
excelInsuranceDetailPO.setOtherPaymentComBaseString(JSON.toJSONString(otherPaymentComBaseMap));
|
||||
|
||||
//组装新的insuranceAccountDetailPO对象数据
|
||||
excelInsuranceDetailPO.setEmployeeId(employeeId);
|
||||
excelInsuranceDetailPO.setBillMonth(billMonth);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
|
|||
import com.engine.salary.enums.siaccount.EmployeeStatusEnum;
|
||||
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
||||
import com.engine.salary.enums.sicategory.NonPaymentEnum;
|
||||
import com.engine.salary.enums.sicategory.PaymentScopeEnum;
|
||||
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
|
||||
import com.engine.salary.enums.taxagent.TaxAgentEmpChangeModuleEnum;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
|
|
@ -141,7 +142,7 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
|
|||
@Override
|
||||
public String insert(InsuranceArchivesSaveParam param) {
|
||||
SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
|
||||
siArchivesBiz.insert(param, (long) user.getUID());
|
||||
siArchivesBiz.insert(param, user);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
@ -1158,6 +1159,19 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
|
|||
public PageInfo<InsuranceArchivesBaseHistoryDTO> historyListByEmployeeIdAndOperator(SIArchiveBaseHistoryListParam param) {
|
||||
|
||||
List<InsuranceArchivesBaseHistoryDTO> adjustHistoryDTOS = siArchivesBiz.getBaseHistoryByEmployeeIdAndOperator(param.getOperator(), param.getEmployeeId());
|
||||
adjustHistoryDTOS.forEach(f -> {
|
||||
if (StringUtils.isNotBlank(f.getPaymentScope())) {
|
||||
if(f.getPaymentScope().equals(PaymentScopeEnum.SCOPE_PERSON.getValue().toString())) {
|
||||
f.setPaymentScope(SalaryI18nUtil.getI18nLabel(0, "个人"));
|
||||
} else if(f.getPaymentScope().equals(PaymentScopeEnum.SCOPE_COMPANY.getValue().toString())) {
|
||||
f.setPaymentScope(SalaryI18nUtil.getI18nLabel(0, "公司"));
|
||||
} else {
|
||||
f.setPaymentScope(SalaryI18nUtil.getI18nLabel(0, "个人") + "," + SalaryI18nUtil.getI18nLabel(0, "公司"));
|
||||
}
|
||||
} else {
|
||||
f.setPaymentScope(SalaryI18nUtil.getI18nLabel(0, "个人") + "," + SalaryI18nUtil.getI18nLabel(0, "公司"));
|
||||
}
|
||||
});
|
||||
|
||||
PageInfo<InsuranceArchivesBaseHistoryDTO> listPage = SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(),
|
||||
adjustHistoryDTOS , InsuranceArchivesBaseHistoryDTO.class);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.biz.SIAccountBiz;
|
||||
import com.engine.salary.biz.SIArchivesBiz;
|
||||
import com.engine.salary.encrypt.EncryptUtil;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO;
|
||||
import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
|
||||
|
|
@ -17,6 +19,7 @@ import com.engine.salary.enums.siaccount.BillStatusEnum;
|
|||
import com.engine.salary.enums.siaccount.PaymentStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.ResourceFromEnum;
|
||||
import com.engine.salary.enums.sicategory.DataTypeEnum;
|
||||
import com.engine.salary.enums.sicategory.PaymentScopeEnum;
|
||||
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
|
||||
import com.engine.salary.mapper.InsuranceExportMapper;
|
||||
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
|
||||
|
|
@ -37,6 +40,7 @@ import com.engine.salary.util.SalaryEnumUtil;
|
|||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.excel.ExcelUtilPlus;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
|
|
@ -66,6 +70,8 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
|
||||
private SIAccountBiz siAccountBiz = new SIAccountBiz();
|
||||
|
||||
private SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
|
||||
|
||||
private SISchemeService getSISchemeService(User user) {
|
||||
return ServiceUtil.getService(SISchemeServiceImpl.class, user);
|
||||
}
|
||||
|
|
@ -242,11 +248,12 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
}
|
||||
|
||||
excelSheetData.addAll(rows);
|
||||
return ExcelUtil.genWorkbookV2(excelSheetData, sheetName, total);
|
||||
return ExcelUtilPlus.genWorkbookV2(excelSheetData, sheetName, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> buildCommonRecords(List<AccountExportPO> list) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
|
||||
List<TaxAgentPO> paymentList = getTaxAgentMapper().listAll();
|
||||
|
|
@ -272,10 +279,42 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
record.put("socialSchemeName", schemeIdNameMap.get(item.getSocialSchemeId()));
|
||||
if (StringUtils.isNotEmpty(item.getSocialPaymentBaseString())) {
|
||||
Map<String, Object> socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
if (socialJson != null) {
|
||||
socialJson.forEach((k, v) -> {
|
||||
record.put(k + "socialBase", v);
|
||||
// if (socialJson != null) {
|
||||
// socialJson.forEach((k, v) -> {
|
||||
// record.put(k + "socialBase", v);
|
||||
// });
|
||||
// }
|
||||
if (welBaseDiffSign) {
|
||||
if (socialJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getSocialSchemeId(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
socialJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "socialPerBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> socialComJson = JSON.parseObject(item.getSocialPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (socialComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getSocialSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
socialComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "socialComBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (socialJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getSocialSchemeId());
|
||||
socialJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "socialBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -284,22 +323,86 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
record.put("fundSchemeName", schemeIdNameMap.get(item.getFundSchemeId()));
|
||||
record.put("supplementFundAccount", item.getSupplementFundAccount());
|
||||
if (StringUtils.isNotEmpty(item.getFundPaymentBaseString())) {
|
||||
Map<String, Object> socialJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
if (socialJson != null) {
|
||||
socialJson.forEach((k, v) -> {
|
||||
record.put(k + "fundBase", v);
|
||||
Map<String, Object> fundJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
// if (fundJson != null) {
|
||||
// fundJson.forEach((k, v) -> {
|
||||
// record.put(k + "fundBase", v);
|
||||
// });
|
||||
// }
|
||||
if (welBaseDiffSign) {
|
||||
if (fundJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getFundSchemeId(),PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
fundJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "fundPerBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> fundComJson = JSON.parseObject(item.getFundPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (fundComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getFundSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
fundComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "fundComBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (fundJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getFundSchemeId());
|
||||
fundJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "fundBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
record.put("otherPayOrg", paymentMap.get(item.getOtherPayOrg()) == null ? "" : paymentMap.get(item.getOtherPayOrg()).getName());
|
||||
record.put("otherSchemeName", schemeIdNameMap.get(item.getOtherSchemeId()));
|
||||
if (StringUtils.isNotEmpty(item.getOtherPaymentBaseString())) {
|
||||
Map<String, Object> socialJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
if (socialJson != null) {
|
||||
socialJson.forEach((k, v) -> {
|
||||
record.put(k + "otherBase", v);
|
||||
Map<String, Object> otherJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, Object>().getClass());
|
||||
// if (otherJson != null) {
|
||||
// otherJson.forEach((k, v) -> {
|
||||
// record.put(k + "otherBase", v);
|
||||
// });
|
||||
// }
|
||||
if (welBaseDiffSign) {
|
||||
if (otherJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getOtherSchemeId(),PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
otherJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "otherPerBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> otherComJson = JSON.parseObject(item.getOtherPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (otherComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getOtherSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
otherComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "otherComBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (otherJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(item.getOtherSchemeId());
|
||||
otherJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
record.put(k + "otherBase", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -628,58 +731,127 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
}
|
||||
|
||||
private Map<Integer, Map<String, String>> buildPaymentTitle(List<AccountExportPO> pos, Map<String, String> categoryIdNameMap) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
Set<String> socailIds = new HashSet<>();
|
||||
Set<String> fundIds = new HashSet<>();
|
||||
Set<String> otherIds = new HashSet<>();
|
||||
|
||||
Set<String> socailComIds = new HashSet<>();
|
||||
Set<String> fundComIds = new HashSet<>();
|
||||
Set<String> otherComIds = new HashSet<>();
|
||||
|
||||
Map<Integer, Map<String, String>> result = new HashMap<>();
|
||||
|
||||
pos.stream().forEach(item -> {
|
||||
if (StringUtils.isNotBlank(item.getSocialPaymentBaseString())) {
|
||||
if (StringUtils.isNotBlank(item.getSocialPaymentBaseString()) || StringUtils.isNotBlank(item.getSocialPaymentComBaseString())) {
|
||||
Map<String, String> socialJson = JSON.parseObject(item.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
if (socialJson != null) {
|
||||
socialJson.forEach((k, v) -> {
|
||||
socailIds.add(k);
|
||||
});
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> socialComJson = JSON.parseObject(item.getSocialPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (socialComJson != null) {
|
||||
socialComJson.forEach((k, v) -> socailComIds.add(k));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (StringUtils.isNotBlank(item.getFundPaymentBaseString())) {
|
||||
if (StringUtils.isNotBlank(item.getFundPaymentBaseString()) || StringUtils.isNotBlank(item.getFundPaymentComBaseString())) {
|
||||
Map<String, String> fundJson = JSON.parseObject(item.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
if (fundJson != null) {
|
||||
fundJson.forEach((k, v) -> {
|
||||
fundIds.add(k);
|
||||
});
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> fundComJson = JSON.parseObject(item.getFundPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (fundComJson != null) {
|
||||
fundComJson.forEach((k, v) -> fundComIds.add(k));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (StringUtils.isNotBlank(item.getOtherPaymentBaseString())) {
|
||||
if (StringUtils.isNotBlank(item.getOtherPaymentBaseString()) || StringUtils.isNotBlank(item.getOtherPaymentComBaseString())) {
|
||||
Map<String, String> otherJson = JSON.parseObject(item.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
if (otherJson != null) {
|
||||
otherJson.forEach((k, v) -> {
|
||||
otherIds.add(k);
|
||||
});
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> otherComJson = JSON.parseObject(item.getOtherPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (otherComJson != null) {
|
||||
otherComJson.forEach((k, v) -> otherComIds.add(k));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
Map<String, String> socialColumns = new HashMap<>();
|
||||
Map<String, String> fundColumns = new HashMap<>();
|
||||
Map<String, String> otherColumns = new HashMap<>();
|
||||
socailIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"), social + "socialBase");
|
||||
}
|
||||
});
|
||||
fundIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"), social + "fundBase");
|
||||
}
|
||||
});
|
||||
otherIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"), social + "otherBase");
|
||||
}
|
||||
});
|
||||
|
||||
Map<String, String> socialComColumns = new HashMap<>();
|
||||
Map<String, String> fundComColumns = new HashMap<>();
|
||||
Map<String, String> otherComColumns = new HashMap<>();
|
||||
|
||||
if (welBaseDiffSign) {
|
||||
socailIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人"), social + "socialPerBase");
|
||||
}
|
||||
});
|
||||
fundIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人"), social + "fundPerBase");
|
||||
}
|
||||
});
|
||||
otherIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人"), social + "otherPerBase");
|
||||
}
|
||||
});
|
||||
|
||||
socailComIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialComColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位"), social + "socialComBase");
|
||||
}
|
||||
});
|
||||
fundComIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundComColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位"), social + "fundComBase");
|
||||
}
|
||||
});
|
||||
otherComIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherComColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位"), social + "otherComBase");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
socailIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
socialColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel(0, "申报基数"), social + "socialBase");
|
||||
}
|
||||
});
|
||||
fundIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
fundColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数"), social + "fundBase");
|
||||
}
|
||||
});
|
||||
otherIds.stream().forEach(social -> {
|
||||
if (categoryIdNameMap.containsKey(social)) {
|
||||
otherColumns.put(categoryIdNameMap.get(social) + SalaryI18nUtil.getI18nLabel( 0, "申报基数"), social + "otherBase");
|
||||
}
|
||||
});
|
||||
}
|
||||
// map根据value排序
|
||||
LinkedHashMap<String, String> socialColumnsWithAscValue = socialColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByValue())
|
||||
|
|
@ -694,6 +866,24 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
|
||||
if (welBaseDiffSign) {
|
||||
LinkedHashMap<String, String> socialComMapWithAscKey = socialComColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
LinkedHashMap<String, String> fundComMapWithAscKey = fundComColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
LinkedHashMap<String, String> otherComMapWithAscKey = otherComColumns.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
socialColumnsWithAscValue.putAll(socialComMapWithAscKey);
|
||||
fundColumnsWithAscValue.putAll(fundComMapWithAscKey);
|
||||
otherColumnsWithAscValue.putAll(otherComMapWithAscKey);
|
||||
}
|
||||
|
||||
result.put(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), socialColumnsWithAscValue);
|
||||
result.put(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), fundColumnsWithAscValue);
|
||||
result.put(WelfareTypeEnum.OTHER.getValue(), otherColumnsWithAscValue);
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import com.engine.salary.util.SalaryI18nUtil;
|
|||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.excel.ExcelComment;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.excel.ExcelUtilPlus;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
|
|
@ -184,7 +185,7 @@ public class SIImportServiceImpl extends Service implements SIImportService {
|
|||
|
||||
|
||||
//工作簿数据
|
||||
return ExcelUtil.genWorkbookV2(excelSheetData, sheetName,excelComments);
|
||||
return ExcelUtilPlus.genWorkbookV2(excelSheetData, sheetName,excelComments);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -194,6 +195,7 @@ public class SIImportServiceImpl extends Service implements SIImportService {
|
|||
* @return
|
||||
*/
|
||||
public List<String> buildHeader() {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
List<String> result = new ArrayList<>();
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 85429, "姓名"));
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 86184, "个税扣缴义务人"));
|
||||
|
|
@ -206,7 +208,13 @@ public class SIImportServiceImpl extends Service implements SIImportService {
|
|||
// result.add(SalaryI18nUtil.getI18nLabel( 91325, "社保缴纳组织"));
|
||||
//社保福利基数
|
||||
Map<String, Long> socialMap = welfareNameIdMap( WelfareTypeEnum.SOCIAL_SECURITY);
|
||||
socialMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 100293, "申报基数")));
|
||||
if (welBaseDiffSign) {
|
||||
socialMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人")));
|
||||
socialMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位")));
|
||||
} else {
|
||||
socialMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数")));
|
||||
}
|
||||
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91324, "社保账号"));
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91319, "社保起始缴纳月"));
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91320, "社保最后缴纳月"));
|
||||
|
|
@ -215,7 +223,13 @@ public class SIImportServiceImpl extends Service implements SIImportService {
|
|||
result.add(SalaryI18nUtil.getI18nLabel( 91486, "公积金账号"));
|
||||
//公积金福利基数
|
||||
Map<String, Long> fundMap = welfareNameIdMap( WelfareTypeEnum.ACCUMULATION_FUND);
|
||||
fundMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 100293, "申报基数")));
|
||||
if (welBaseDiffSign) {
|
||||
fundMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人")));
|
||||
fundMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位")));
|
||||
} else {
|
||||
fundMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数")));
|
||||
}
|
||||
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91487, "补充公积金账号"));
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91483, "公积金起始缴纳月"));
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91484, "公积金最后缴纳月"));
|
||||
|
|
@ -223,7 +237,13 @@ public class SIImportServiceImpl extends Service implements SIImportService {
|
|||
// result.add(SalaryI18nUtil.getI18nLabel( 91497, "其他福利缴纳组织"));
|
||||
//其他福利基数
|
||||
Map<String, Long> otherMap = welfareNameIdMap( WelfareTypeEnum.OTHER);
|
||||
otherMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 100293, "申报基数")));
|
||||
if (welBaseDiffSign) {
|
||||
otherMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "个人")));
|
||||
otherMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数") + SalaryI18nUtil.getI18nLabel( 0, "单位")));
|
||||
} else {
|
||||
otherMap.forEach((k, v) -> result.add(k + SalaryI18nUtil.getI18nLabel( 0, "申报基数")));
|
||||
}
|
||||
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91490, "其他福利起始缴纳月"));
|
||||
result.add(SalaryI18nUtil.getI18nLabel( 91494, "其他福利最后缴纳月"));
|
||||
return result;
|
||||
|
|
|
|||
|
|
@ -197,6 +197,9 @@ public class SIRecessionServiceImpl extends Service implements SIRecessionServic
|
|||
// temp.setExternalFlag(insuranceAccountDetailPO.getExternalFlag());
|
||||
temp.setPaymentOrganization(insuranceAccountDetailPO.getPaymentOrganization());
|
||||
// temp.setPaymentAgency(insuranceAccountDetailPO.getPaymentAgency());
|
||||
temp.setSocialPaymentComBaseString(insuranceAccountDetailPO.getSocialPaymentComBaseString());
|
||||
temp.setFundPaymentComBaseString(insuranceAccountDetailPO.getFundPaymentComBaseString());
|
||||
temp.setOtherPaymentComBaseString(insuranceAccountDetailPO.getOtherPaymentComBaseString());
|
||||
}
|
||||
private void recessionSocial(RecessionParam param, InsuranceAccountDetailPO temp, InsuranceAccountDetailPO insuranceAccountDetailPO) {
|
||||
//退差社保个人缴费
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ import com.engine.salary.mapper.taxagent.TaxAgentMapper;
|
|||
import com.engine.salary.service.*;
|
||||
import com.engine.salary.sys.entity.po.SalarySysConfPO;
|
||||
import com.engine.salary.sys.entity.vo.OrderRuleVO;
|
||||
import com.engine.salary.sys.enums.OpenEnum;
|
||||
import com.engine.salary.sys.service.SalarySysConfService;
|
||||
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
||||
import com.engine.salary.util.*;
|
||||
|
|
@ -51,6 +52,7 @@ import com.engine.salary.util.db.MapperProxyFactory;
|
|||
import com.engine.salary.util.excel.ExcelParseHelper;
|
||||
import com.engine.salary.util.excel.ExcelSupport;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import com.engine.salary.util.excel.ExcelUtilPlus;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
|
|
@ -73,6 +75,7 @@ import java.util.*;
|
|||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.engine.salary.sys.constant.SalarySysConstant.WEL_BASE_AUTO_ADJUST;
|
||||
import static com.engine.salary.util.excel.ExcelSupport.EXCEL_TYPE_XLSX;
|
||||
|
||||
/**
|
||||
|
|
@ -261,6 +264,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
|
||||
@Override
|
||||
public List<Map<String, Object>> buildTableData(List<InsuranceArchivesEmployeePO> insuranceArchivesEmployeePOS) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
List<Map<String, Object>> records = new ArrayList<>();
|
||||
List<TaxAgentPO> taxAgentPOS = getTaxAgentMapper().listAll();
|
||||
Map<Long, TaxAgentPO> longTaxAgentPOMap = SalaryEntityUtil.convert2Map(taxAgentPOS, TaxAgentPO::getId);
|
||||
|
|
@ -286,9 +290,6 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
Map<String, InsuranceArchivesFundSchemePO> fundSchemePOMap = SalaryEntityUtil.convert2Map(fundList, k -> k.getPaymentOrganization() + "-" + k.getEmployeeId());
|
||||
Map<String, InsuranceArchivesOtherSchemePO> otherSchemePOMap = SalaryEntityUtil.convert2Map(otherList, k -> k.getPaymentOrganization() + "-" + k.getEmployeeId());
|
||||
|
||||
// Map<Long, InsuranceArchivesSocialSchemePO> socialSchemePOMap = socialList.stream().collect(Collectors.toMap(InsuranceArchivesSocialSchemePO::getEmployeeId, Function.identity()));
|
||||
// Map<Long, InsuranceArchivesFundSchemePO> fundSchemePOMap = fundList.stream().collect(Collectors.toMap(InsuranceArchivesFundSchemePO::getEmployeeId, Function.identity()));
|
||||
// Map<Long, InsuranceArchivesOtherSchemePO> otherSchemePOMap = otherList.stream().collect(Collectors.toMap(InsuranceArchivesOtherSchemePO::getEmployeeId, Function.identity()));
|
||||
insuranceArchivesEmployeePOS.forEach(item -> {
|
||||
InsuranceArchivesSocialSchemePO socialItem = socialSchemePOMap.get(item.getPaymentOrganization() + "-" + item.getEmployeeId());
|
||||
InsuranceArchivesFundSchemePO fundItem = fundSchemePOMap.get(item.getPaymentOrganization() + "-" + item.getEmployeeId());
|
||||
|
|
@ -307,15 +308,37 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
map.put("socialName", getSiSchemeService().querySchemeName(socialItem.getSocialSchemeId()));
|
||||
Map<String, Object> socialJson = JSON.parseObject(socialItem.getSocialPaymentBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (socialJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = payInsuranceIds(socialItem.getSocialSchemeId());
|
||||
socialJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k, v);
|
||||
}
|
||||
if (welBaseDiffSign) {
|
||||
if (socialJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(socialItem.getSocialSchemeId(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
socialJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k + "per", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> socialComJson = JSON.parseObject(socialItem.getSocialPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
// map.putAll(socialJson);
|
||||
if (socialComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(socialItem.getSocialSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
socialComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k + "com", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (socialJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = payInsuranceIds(socialItem.getSocialSchemeId());
|
||||
socialJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k, v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
map.put("socialAccount", socialItem.getSocialAccount());
|
||||
map.put("socialStartTime", socialItem.getSocialStartTime());
|
||||
|
|
@ -326,15 +349,37 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
map.put("fundAccount", fundItem.getFundAccount());
|
||||
Map<String, Object> fundJson = JSON.parseObject(fundItem.getFundPaymentBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (fundJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = payInsuranceIds(fundItem.getFundSchemeId());
|
||||
fundJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k, v);
|
||||
}
|
||||
if (welBaseDiffSign) {
|
||||
if (fundJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(fundItem.getFundSchemeId(),PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
fundJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k + "per", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> fundComJson = JSON.parseObject(fundItem.getFundPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
// map.putAll(fundJson);
|
||||
if (fundComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(fundItem.getFundSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
fundComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k + "com", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (fundJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = payInsuranceIds(fundItem.getFundSchemeId());
|
||||
fundJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k, v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
map.put("supplementFundAccount", fundItem.getSupplementFundAccount());
|
||||
map.put("fundStartTime", fundItem.getFundStartTime());
|
||||
|
|
@ -345,15 +390,37 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
map.put("otherName", getSiSchemeService().querySchemeName(otherItem.getOtherSchemeId()));
|
||||
Map<String, Object> otherJson = JSON.parseObject(otherItem.getOtherPaymentBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (otherJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = payInsuranceIds(otherItem.getOtherSchemeId());
|
||||
otherJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k, v);
|
||||
}
|
||||
if (welBaseDiffSign) {
|
||||
if (otherJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(otherItem.getOtherSchemeId(),PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
otherJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k + "per", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, Object> otherComJson = JSON.parseObject(otherItem.getOtherPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
// map.putAll(otherJson);
|
||||
if (otherComJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = siArchivesBiz.payInsuranceIds(otherItem.getOtherSchemeId(),PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
otherComJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k + "com", v);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
if (otherJson != null) {
|
||||
//查询该福利方案下开启缴纳的福利项
|
||||
List<Long> insuranceIdList = payInsuranceIds(otherItem.getOtherSchemeId());
|
||||
otherJson.forEach((k, v) -> {
|
||||
if (insuranceIdList.contains(Long.valueOf(k))) {
|
||||
map.put(k, v);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
map.put("otherStartTime", otherItem.getOtherStartTime());
|
||||
map.put("otherEndTime", otherItem.getOtherEndTime());
|
||||
|
|
@ -422,11 +489,11 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
}
|
||||
|
||||
//工作簿数据
|
||||
List<List<String>> rows = new LinkedList<>();
|
||||
List<String> collect = columns.stream().map(WeaTableColumn::getText).collect(Collectors.toList());
|
||||
List<List<Object>> rows = new LinkedList<>();
|
||||
List<Object> collect = columns.stream().map(WeaTableColumn::getText).collect(Collectors.toList());
|
||||
rows.add(collect);
|
||||
for (Map<String, Object> recordData : records) {
|
||||
List<String> row = new LinkedList<>();
|
||||
List<Object> row = new LinkedList<>();
|
||||
for (WeaTableColumn column : columns) {
|
||||
try {
|
||||
Object o = recordData.get(column.getColumn());
|
||||
|
|
@ -437,20 +504,8 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
}
|
||||
rows.add(row);
|
||||
}
|
||||
// return salaryBatchService.simpleExportExcel(ExportExcelInfo.builder()
|
||||
// .bizId(exportMap.get("biz"))
|
||||
// .flag(true)
|
||||
// .userId(employeeId)
|
||||
// .eteamsId(eteamsId)
|
||||
// .tenantKey(tenantKey)
|
||||
// .operator(operator)
|
||||
// .module(exportMap.get("module"))
|
||||
// .fileName(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 94629, "社保福利档案") + SalaryDateUtil.getFormatLocalDateTime(LocalDateTime.now()))
|
||||
// .handlerName("insuranceArchivesExportHandler")
|
||||
// .dataType(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 99915, "档案"))
|
||||
// .function(exportMap.get("function")).build(), sheetList);
|
||||
//获取excel
|
||||
return ExcelUtil.genWorkbook(rows, sheetName);
|
||||
return ExcelUtilPlus.genWorkbookV2(rows, sheetName);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -532,10 +587,17 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
|
||||
|
||||
public Map<Integer, Map<String, String>> buildColumnTitle(List<InsuranceArchivesEmployeePO> insuranceArchivesEmployeePOS, Long employeeId) {
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
|
||||
Map<Integer, Map<String, String>> result = new HashMap<>();
|
||||
Set<String> socialSet = new HashSet<>();
|
||||
Set<String> fundSet = new HashSet<>();
|
||||
Set<String> otherSet = new HashSet<>();
|
||||
|
||||
Set<String> socialComSet = new HashSet<>();
|
||||
Set<String> fundComSet = new HashSet<>();
|
||||
Set<String> otherComSet = new HashSet<>();
|
||||
|
||||
insuranceArchivesEmployeePOS.forEach(item -> {
|
||||
List<InsuranceArchivesSocialSchemePO> socialByEmployeeId = siArchivesBiz.getSocialByEmployeeIds(new ArrayList<Long>() {{
|
||||
add(item.getEmployeeId());
|
||||
|
|
@ -571,6 +633,14 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
if (socialJson != null) {
|
||||
socialJson.forEach((k, v) -> socialSet.add(k));
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> socialComJson = JSON.parseObject(socialItem.getSocialPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (socialComJson != null) {
|
||||
socialComJson.forEach((k, v) -> socialComSet.add(k));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (fundItem != null) {
|
||||
Map<String, Object> fundJson = JSON.parseObject(fundItem.getFundPaymentBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
|
|
@ -578,6 +648,14 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
if (fundJson != null) {
|
||||
fundJson.forEach((k, v) -> fundSet.add(k));
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> fundComJson = JSON.parseObject(fundItem.getFundPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (fundComJson != null) {
|
||||
fundComJson.forEach((k, v) -> fundComSet.add(k));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (otherItem != null) {
|
||||
Map<String, Object> otherJson = JSON.parseObject(otherItem.getOtherPaymentBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
|
|
@ -585,42 +663,92 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
if (otherJson != null) {
|
||||
otherJson.forEach((k, v) -> otherSet.add(k));
|
||||
}
|
||||
//如果需要区分个人和公司福利基数
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> otherComJson = JSON.parseObject(otherItem.getOtherPaymentComBaseString(), new TypeReference<Map<String, Object>>() {
|
||||
});
|
||||
if (otherComJson != null) {
|
||||
otherComJson.forEach((k, v) -> otherComSet.add(k));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
Map<String, String> socialMap = new HashMap<>();
|
||||
Map<String, String> socialComMap = new HashMap<>();
|
||||
Map<Long, ICategoryPO> socialCollect = new HashMap<>();
|
||||
Map<Long, ICategoryPO> customSocial = getICategoryMapper().listByWelfareType(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), null).stream().collect(Collectors.toMap(ICategoryPO::getId, Function.identity()));
|
||||
|
||||
Map<Long, ICategoryPO> sysSocial = getICategoryMapper().listByWelfareType(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), DataTypeEnum.SYSTEM.getValue()).stream().collect(Collectors.toMap(ICategoryPO::getId, Function.identity()));
|
||||
socialCollect.putAll(customSocial);
|
||||
socialCollect.putAll(sysSocial);
|
||||
socialSet.forEach(item -> {
|
||||
if (socialCollect.containsKey(Long.valueOf(item))) {
|
||||
socialMap.put(item, socialCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(100293, "申报基数"));
|
||||
}
|
||||
});
|
||||
if (welBaseDiffSign) {
|
||||
socialSet.forEach(item -> {
|
||||
if (socialCollect.containsKey(Long.valueOf(item))) {
|
||||
socialMap.put(item + "per", socialCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
}
|
||||
});
|
||||
socialComSet.forEach(item -> {
|
||||
if (socialCollect.containsKey(Long.valueOf(item))) {
|
||||
socialComMap.put(item + "com", socialCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
socialSet.forEach(item -> {
|
||||
if (socialCollect.containsKey(Long.valueOf(item))) {
|
||||
socialMap.put(item, socialCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, String> fundMap = new HashMap<>();
|
||||
Map<String, String> fundComMap = new HashMap<>();
|
||||
Map<Long, ICategoryPO> fundCollect = new HashMap<>();
|
||||
Map<Long, ICategoryPO> customFund = getICategoryMapper().listByWelfareType(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), null).stream().collect(Collectors.toMap(ICategoryPO::getId, Function.identity()));
|
||||
Map<Long, ICategoryPO> sysFund = getICategoryMapper().listByWelfareType(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), DataTypeEnum.SYSTEM.getValue()).stream().collect(Collectors.toMap(ICategoryPO::getId, Function.identity()));
|
||||
fundCollect.putAll(customFund);
|
||||
fundCollect.putAll(sysFund);
|
||||
fundSet.forEach(item -> {
|
||||
if (fundCollect.containsKey(Long.valueOf(item))) {
|
||||
fundMap.put(item, fundCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(100293, "申报基数"));
|
||||
}
|
||||
});
|
||||
if (welBaseDiffSign) {
|
||||
fundSet.forEach(item -> {
|
||||
if (fundCollect.containsKey(Long.valueOf(item))) {
|
||||
fundMap.put(item + "per", fundCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
}
|
||||
});
|
||||
fundComSet.forEach(item -> {
|
||||
if (fundCollect.containsKey(Long.valueOf(item))) {
|
||||
fundComMap.put(item + "com", fundCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
fundSet.forEach(item -> {
|
||||
if (fundCollect.containsKey(Long.valueOf(item))) {
|
||||
fundMap.put(item, fundCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
}
|
||||
});
|
||||
}
|
||||
Map<String, String> otherMap = new HashMap<>();
|
||||
Map<String, String> otherComMap = new HashMap<>();
|
||||
Map<Long, ICategoryPO> otherCollect = new HashMap<>();
|
||||
Map<Long, ICategoryPO> customOther = getICategoryMapper().listByWelfareType(WelfareTypeEnum.OTHER.getValue(), null).stream().collect(Collectors.toMap(ICategoryPO::getId, Function.identity()));
|
||||
Map<Long, ICategoryPO> sysOther = getICategoryMapper().listByWelfareType(WelfareTypeEnum.OTHER.getValue(), DataTypeEnum.SYSTEM.getValue()).stream().collect(Collectors.toMap(ICategoryPO::getId, Function.identity()));
|
||||
otherCollect.putAll(customOther);
|
||||
otherCollect.putAll(sysOther);
|
||||
otherSet.forEach(item -> {
|
||||
if (otherCollect.containsKey(Long.valueOf(item))) {
|
||||
otherMap.put(item, otherCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(100293, "申报基数"));
|
||||
}
|
||||
});
|
||||
if (welBaseDiffSign) {
|
||||
otherSet.forEach(item -> {
|
||||
if (otherCollect.containsKey(Long.valueOf(item))) {
|
||||
otherMap.put(item + "per", otherCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"个人"));
|
||||
}
|
||||
});
|
||||
otherComSet.forEach(item -> {
|
||||
if (otherCollect.containsKey(Long.valueOf(item))) {
|
||||
otherComMap.put(item + "com", otherCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0,"单位"));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
otherSet.forEach(item -> {
|
||||
if (otherCollect.containsKey(Long.valueOf(item))) {
|
||||
otherMap.put(item, otherCollect.get(Long.valueOf(item)).getInsuranceName() + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// map根据key排序
|
||||
LinkedHashMap<String, String> socialMapWithAscKey = socialMap.entrySet().stream()
|
||||
|
|
@ -635,6 +763,23 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
if (welBaseDiffSign) {
|
||||
LinkedHashMap<String, String> socialComMapWithAscKey = socialComMap.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
LinkedHashMap<String, String> fundComMapWithAscKey = fundComMap.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
LinkedHashMap<String, String> otherComMapWithAscKey = otherComMap.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue,
|
||||
LinkedHashMap::new));
|
||||
socialMapWithAscKey.putAll(socialComMapWithAscKey);
|
||||
fundMapWithAscKey.putAll(fundComMapWithAscKey);
|
||||
otherMapWithAscKey.putAll(otherComMapWithAscKey);
|
||||
}
|
||||
|
||||
result.put(WelfareTypeEnum.SOCIAL_SECURITY.getValue(), socialMapWithAscKey);
|
||||
result.put(WelfareTypeEnum.ACCUMULATION_FUND.getValue(), fundMapWithAscKey);
|
||||
|
|
@ -1084,41 +1229,78 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
insuranceArchivesOtherSchemePO = buildOtherPO(employeeId, welfareMap, singleAccount, schemeNameIdMap, paymentNameIdMap, creator);
|
||||
}
|
||||
/**************校验申报基数**************/
|
||||
for (Map.Entry<Long, String> entry : welfareMap.entrySet()) {
|
||||
String keyName = entry.getValue() + SalaryI18nUtil.getI18nLabel(100293, "申报基数");
|
||||
String numberVlue = findElement(singleAccount, keyName).get(keyName) == null ? "" : findElement(singleAccount, keyName).get(keyName).toString();
|
||||
if (!"".equals(numberVlue) && !NumberUtils.isParsable(numberVlue)) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowIndex + keyName + SalaryI18nUtil.getI18nLabel(100581, "请输入数字"));
|
||||
excelComments.add(errorMessageMap);
|
||||
isError = true;
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (welBaseDiffSign) {
|
||||
for (Map.Entry<Long, String> entry : welfareMap.entrySet()) {
|
||||
String keyPerName = entry.getValue() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "个人");
|
||||
String keyComName = entry.getValue() + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "单位");
|
||||
String numberPerValue = findElement(singleAccount, keyPerName).get(keyPerName) == null ? "" : findElement(singleAccount, keyPerName).get(keyPerName).toString();
|
||||
String numberComValue = findElement(singleAccount, keyComName).get(keyComName) == null ? "" : findElement(singleAccount, keyComName).get(keyComName).toString();
|
||||
|
||||
if (!"".equals(numberPerValue) && !NumberUtils.isParsable(numberPerValue)) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowIndex + keyPerName + SalaryI18nUtil.getI18nLabel(0, "请输入数字"));
|
||||
excelComments.add(errorMessageMap);
|
||||
isError = true;
|
||||
}
|
||||
if (!"".equals(numberComValue) && !NumberUtils.isParsable(numberComValue)) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowIndex + keyComName + SalaryI18nUtil.getI18nLabel(0, "请输入数字"));
|
||||
excelComments.add(errorMessageMap);
|
||||
isError = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (Map.Entry<Long, String> entry : welfareMap.entrySet()) {
|
||||
String keyName = entry.getValue() + SalaryI18nUtil.getI18nLabel(0, "申报基数");
|
||||
String numberValue = findElement(singleAccount, keyName).get(keyName) == null ? "" : findElement(singleAccount, keyName).get(keyName).toString();
|
||||
if (!"".equals(numberValue) && !NumberUtils.isParsable(numberValue)) {
|
||||
Map<String, String> errorMessageMap = Maps.newHashMap();
|
||||
errorMessageMap.put("message", rowIndex + keyName + SalaryI18nUtil.getI18nLabel(0, "请输入数字"));
|
||||
excelComments.add(errorMessageMap);
|
||||
isError = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//生成福利档案基础信息数据
|
||||
InsuranceArchivesBaseInfoPO insuranceArchivesBaseInfoPO = buildBaseInfoPO(employeeId, singleAccount, paymentNameIdMap, creator, runStatus, employees.get(0).isExtEmp());
|
||||
if (!isError) {
|
||||
|
||||
//判断是否福利档案导入时,不符合上下限的基数调整为上限/下限
|
||||
SalarySysConfPO welBaseAutoAdjust = getSalarySysConfService(user).getOneByCode(WEL_BASE_AUTO_ADJUST);
|
||||
boolean welBaseAutoAdjustSign = welBaseAutoAdjust != null && welBaseAutoAdjust.getConfValue().equals(OpenEnum.OPEN.getValue());
|
||||
|
||||
if (!isError && !welBaseAutoAdjustSign) {
|
||||
insuranceArchivesAccountPO.setSocial(insuranceArchivesSocialSchemePO);
|
||||
insuranceArchivesAccountPO.setFund(insuranceArchivesFundSchemePO);
|
||||
insuranceArchivesAccountPO.setOther(insuranceArchivesOtherSchemePO);
|
||||
insuranceArchivesAccountPO.setBaseInfo(insuranceArchivesBaseInfoPO);
|
||||
//校验福利基数是否符合上下限要求,
|
||||
Boolean socialCheckBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesSocialSchemePO.getSocialSchemeId(), insuranceArchivesSocialSchemePO.getSocialPaymentBaseString());
|
||||
Boolean socialCheckBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesSocialSchemePO.getSocialSchemeId(), insuranceArchivesSocialSchemePO.getSocialPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
|
||||
Boolean fundCheckBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesFundSchemePO.getFundSchemeId(), insuranceArchivesFundSchemePO.getFundPaymentBaseString());
|
||||
Boolean fundCheckBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesFundSchemePO.getFundSchemeId(), insuranceArchivesFundSchemePO.getFundPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
|
||||
Boolean otherCheckBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesOtherSchemePO.getOtherSchemeId(), insuranceArchivesOtherSchemePO.getOtherPaymentBaseString());
|
||||
Boolean otherCheckBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesOtherSchemePO.getOtherSchemeId(), insuranceArchivesOtherSchemePO.getOtherPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
|
||||
if (socialCheckBase && fundCheckBase && otherCheckBase) {
|
||||
Boolean socialCheckComBase = true;
|
||||
Boolean fundCheckComBase = true;
|
||||
Boolean otherCheckComBase = true;
|
||||
if (welBaseDiffSign) {
|
||||
socialCheckComBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesSocialSchemePO.getSocialSchemeId(), insuranceArchivesSocialSchemePO.getSocialPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
fundCheckComBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesFundSchemePO.getFundSchemeId(), insuranceArchivesFundSchemePO.getFundPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
otherCheckComBase = siArchivesBiz.checkWelBaseLimit(insuranceArchivesOtherSchemePO.getOtherSchemeId(), insuranceArchivesOtherSchemePO.getOtherPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
}
|
||||
if (socialCheckBase && fundCheckBase && otherCheckBase && socialCheckComBase && fundCheckComBase && otherCheckComBase) {
|
||||
insuranceArchivesAccountPOS.add(insuranceArchivesAccountPO);
|
||||
} else {
|
||||
String checkMessage = "该条数据中";
|
||||
if (!socialCheckBase) {
|
||||
if (!socialCheckBase || !socialCheckComBase) {
|
||||
checkMessage = checkMessage + "社保福利基数、";
|
||||
}
|
||||
if (!fundCheckBase) {
|
||||
if (!fundCheckBase || !fundCheckComBase) {
|
||||
checkMessage = checkMessage + "公积金福利基数、";
|
||||
}
|
||||
if (!otherCheckBase) {
|
||||
if (!otherCheckBase || !otherCheckComBase) {
|
||||
checkMessage = checkMessage + "其他福利基数、";
|
||||
}
|
||||
checkMessage = checkMessage.substring(0, checkMessage.length() - 1);
|
||||
|
|
@ -1129,6 +1311,32 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
isError = true;
|
||||
}
|
||||
|
||||
} else if (!isError) {
|
||||
//校验福利基数是否符合上下限要求,不符合上下限的基数调整为上限 /下限
|
||||
String newSocialPaymentBaseString = siArchivesBiz.checkAndBuildWelBaseWithLimit(insuranceArchivesSocialSchemePO.getSocialSchemeId(), insuranceArchivesSocialSchemePO.getSocialPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
String newFundPaymentBaseString = siArchivesBiz.checkAndBuildWelBaseWithLimit(insuranceArchivesFundSchemePO.getFundSchemeId(), insuranceArchivesFundSchemePO.getFundPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
String newOtherPaymentBaseString = siArchivesBiz.checkAndBuildWelBaseWithLimit(insuranceArchivesOtherSchemePO.getOtherSchemeId(), insuranceArchivesOtherSchemePO.getOtherPaymentBaseString(), PaymentScopeEnum.SCOPE_PERSON.getValue());
|
||||
|
||||
insuranceArchivesSocialSchemePO.setSocialPaymentBaseString(newSocialPaymentBaseString);
|
||||
insuranceArchivesFundSchemePO.setFundPaymentBaseString(newFundPaymentBaseString);
|
||||
insuranceArchivesOtherSchemePO.setOtherPaymentBaseString(newOtherPaymentBaseString);
|
||||
|
||||
if (welBaseDiffSign) {
|
||||
String newSocialPaymentComBaseString = siArchivesBiz.checkAndBuildWelBaseWithLimit(insuranceArchivesSocialSchemePO.getSocialSchemeId(), insuranceArchivesSocialSchemePO.getSocialPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
String newFundPaymentComBaseString = siArchivesBiz.checkAndBuildWelBaseWithLimit(insuranceArchivesFundSchemePO.getFundSchemeId(), insuranceArchivesFundSchemePO.getFundPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
String newOtherPaymentComBaseString = siArchivesBiz.checkAndBuildWelBaseWithLimit(insuranceArchivesOtherSchemePO.getOtherSchemeId(), insuranceArchivesOtherSchemePO.getOtherPaymentComBaseString(), PaymentScopeEnum.SCOPE_COMPANY.getValue());
|
||||
|
||||
insuranceArchivesSocialSchemePO.setSocialPaymentComBaseString(newSocialPaymentComBaseString);
|
||||
insuranceArchivesFundSchemePO.setFundPaymentComBaseString(newFundPaymentComBaseString);
|
||||
insuranceArchivesOtherSchemePO.setOtherPaymentComBaseString(newOtherPaymentComBaseString);
|
||||
}
|
||||
|
||||
insuranceArchivesAccountPO.setSocial(insuranceArchivesSocialSchemePO);
|
||||
insuranceArchivesAccountPO.setFund(insuranceArchivesFundSchemePO);
|
||||
insuranceArchivesAccountPO.setOther(insuranceArchivesOtherSchemePO);
|
||||
insuranceArchivesAccountPO.setBaseInfo(insuranceArchivesBaseInfoPO);
|
||||
|
||||
insuranceArchivesAccountPOS.add(insuranceArchivesAccountPO);
|
||||
}
|
||||
return isError;
|
||||
}
|
||||
|
|
@ -1162,12 +1370,14 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
String socialAccount = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91324, "社保账号")).get(SalaryI18nUtil.getI18nLabel(91324, "社保账号"));
|
||||
Long socialSchemeId = schemeNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91323, "社保方案名称")).get(SalaryI18nUtil.getI18nLabel(91323, "社保方案名称")));
|
||||
HashMap<String, String> oldSocialBaseMap = new HashMap<>();
|
||||
HashMap<String, String> oldSocialComBaseMap = new HashMap<>();
|
||||
if (oldSocialSchemeInfos.size() > 0) {
|
||||
oldSocialSchemePO = oldSocialSchemeInfos.get(0);
|
||||
encryptUtil.decrypt(oldSocialSchemePO, InsuranceArchivesSocialSchemePO.class);
|
||||
BeanUtils.copyProperties(oldSocialSchemePO, insuranceArchivesSocialSchemePO);
|
||||
//社保基数
|
||||
oldSocialBaseMap = JSON.parseObject(oldSocialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
oldSocialComBaseMap = JSON.parseObject(oldSocialSchemePO.getSocialPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
|
||||
insuranceArchivesSocialSchemePO.setId(IdGenerator.generate());
|
||||
|
|
@ -1202,21 +1412,48 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
insuranceArchivesSocialSchemePO.setUnderTake(UndertakerEnum.SCOPE_PERSON.getValue());
|
||||
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().queryListBySchemeId(insuranceArchivesSocialSchemePO.getSocialSchemeId());
|
||||
encryptUtil.decryptList(insuranceSchemeDetailPOS, InsuranceSchemeDetailPO.class);
|
||||
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (CollectionUtils.isNotEmpty(insuranceSchemeDetailPOS)) {
|
||||
List<Long> insuranceIds = insuranceSchemeDetailPOS.stream().map(InsuranceSchemeDetailPO::getInsuranceId).collect(Collectors.toList());
|
||||
HashMap<String, String> socialPaymentBase = new HashMap<>();
|
||||
HashMap<String, String> socialPaymentComBase = new HashMap<>();
|
||||
for (Long insuranceId : insuranceIds) {
|
||||
if (StringUtils.isBlank(welfareMap.get(insuranceId))) {
|
||||
continue;
|
||||
}
|
||||
if (findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数")) != null) {
|
||||
String itemValue = (String) findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数")).get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldSocialBaseMap != null && StringUtils.isNotBlank(oldSocialBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), oldSocialBaseMap.get(String.valueOf(insuranceId)));
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> itemPerMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "个人"));
|
||||
if (itemPerMap != null) {
|
||||
String itemValue = (String) itemPerMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "个人"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldSocialBaseMap != null && StringUtils.isNotBlank(oldSocialBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), oldSocialBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
Map<String, Object> itemComMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "单位"));
|
||||
if (itemComMap != null) {
|
||||
String itemValue = (String) itemComMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "单位"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
socialPaymentComBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldSocialComBaseMap != null && StringUtils.isNotBlank(oldSocialComBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
socialPaymentComBase.put(String.valueOf(insuranceId), oldSocialComBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
insuranceArchivesSocialSchemePO.setSocialPaymentComBaseString(JSON.toJSONString(socialPaymentComBase));
|
||||
} else {
|
||||
Map<String, Object> itemMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
if (itemMap != null) {
|
||||
String itemValue = (String) itemMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldSocialBaseMap != null && StringUtils.isNotBlank(oldSocialBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), oldSocialBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
insuranceArchivesSocialSchemePO.setSocialPaymentBaseString(JSON.toJSONString(socialPaymentBase));
|
||||
}
|
||||
|
|
@ -1243,12 +1480,14 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
String supplementFundAccount = (String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号")).get(SalaryI18nUtil.getI18nLabel(91487, "补充公积金账号"));
|
||||
Long fundSchemeId = schemeNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称")).get(SalaryI18nUtil.getI18nLabel(91485, "公积金方案名称")));
|
||||
HashMap<String, String> oldFundBaseMap = new HashMap<>();
|
||||
HashMap<String, String> oldFundComBaseMap = new HashMap<>();
|
||||
if (oldFundSchemeInfos.size() > 0) {
|
||||
oldFundSchemePO = oldFundSchemeInfos.get(0);
|
||||
encryptUtil.decrypt(oldFundSchemePO, InsuranceArchivesFundSchemePO.class);
|
||||
BeanUtils.copyProperties(oldFundSchemePO, insuranceArchivesFundSchemePO);
|
||||
//社保基数
|
||||
oldFundBaseMap = JSON.parseObject(oldFundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
oldFundComBaseMap = JSON.parseObject(oldFundSchemePO.getFundPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
|
||||
insuranceArchivesFundSchemePO.setId(IdGenerator.generate());
|
||||
|
|
@ -1286,24 +1525,49 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
|
||||
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().queryListBySchemeId(insuranceArchivesFundSchemePO.getFundSchemeId());
|
||||
encryptUtil.decryptList(insuranceSchemeDetailPOS, InsuranceSchemeDetailPO.class);
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (CollectionUtils.isNotEmpty(insuranceSchemeDetailPOS)) {
|
||||
List<Long> insuranceIds = insuranceSchemeDetailPOS.stream().map(InsuranceSchemeDetailPO::getInsuranceId).collect(Collectors.toList());
|
||||
HashMap<String, String> socialPaymentBase = new HashMap<>();
|
||||
HashMap<String, String> fundPaymentBase = new HashMap<>();
|
||||
HashMap<String, String> fundPaymentComBase = new HashMap<>();
|
||||
for (Long insuranceId : insuranceIds) {
|
||||
if (StringUtils.isBlank(welfareMap.get(insuranceId))) {
|
||||
continue;
|
||||
}
|
||||
if (findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数")) != null) {
|
||||
String itemValue = (String) findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数")).get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldFundBaseMap != null && StringUtils.isNotBlank(oldFundBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), oldFundBaseMap.get(String.valueOf(insuranceId)));
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> itemPerMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "个人"));
|
||||
if (itemPerMap != null) {
|
||||
String itemValue = (String) itemPerMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "个人"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
fundPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldFundBaseMap != null && StringUtils.isNotBlank(oldFundBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
fundPaymentBase.put(String.valueOf(insuranceId), oldFundBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
Map<String, Object> itemComMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "单位"));
|
||||
if (itemComMap != null) {
|
||||
String itemValue = (String) itemComMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "单位"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
fundPaymentComBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldFundComBaseMap != null && StringUtils.isNotBlank(oldFundComBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
fundPaymentComBase.put(String.valueOf(insuranceId), oldFundComBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
insuranceArchivesFundSchemePO.setFundPaymentComBaseString(JSON.toJSONString(fundPaymentComBase));
|
||||
} else {
|
||||
Map<String, Object> itemMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
if (itemMap != null) {
|
||||
String itemValue = (String) itemMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
fundPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldFundBaseMap != null && StringUtils.isNotBlank(oldFundBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
fundPaymentBase.put(String.valueOf(insuranceId), oldFundBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
insuranceArchivesFundSchemePO.setFundPaymentBaseString(JSON.toJSONString(socialPaymentBase));
|
||||
insuranceArchivesFundSchemePO.setFundPaymentBaseString(JSON.toJSONString(fundPaymentBase));
|
||||
}
|
||||
return insuranceArchivesFundSchemePO;
|
||||
}
|
||||
|
|
@ -1325,12 +1589,14 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
//设置其他福利方案、起始缴纳月、最后缴纳月
|
||||
Long otherSchemeId = schemeNameIdMap.get((String) findElement(singleAccount, SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称")).get(SalaryI18nUtil.getI18nLabel(91496, "其他福利方案名称")));
|
||||
HashMap<String, String> oldOtherBaseMap = new HashMap<>();
|
||||
HashMap<String, String> oldOtherComBaseMap = new HashMap<>();
|
||||
if (oldOtherSchemeInfos.size() > 0) {
|
||||
oldOtherSchemePO = oldOtherSchemeInfos.get(0);
|
||||
encryptUtil.decrypt(oldOtherSchemePO, InsuranceArchivesOtherSchemePO.class);
|
||||
BeanUtils.copyProperties(oldOtherSchemePO, insuranceArchivesOtherSchemePO);
|
||||
//社保基数
|
||||
oldOtherBaseMap = JSON.parseObject(oldOtherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||
oldOtherComBaseMap = JSON.parseObject(oldOtherSchemePO.getOtherPaymentComBaseString(), new HashMap<String, String>().getClass());
|
||||
}
|
||||
|
||||
insuranceArchivesOtherSchemePO.setId(IdGenerator.generate());
|
||||
|
|
@ -1361,24 +1627,49 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
|||
insuranceArchivesOtherSchemePO.setEmployeeId(employeeId);
|
||||
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().queryListBySchemeId(insuranceArchivesOtherSchemePO.getOtherSchemeId());
|
||||
encryptUtil.decryptList(insuranceSchemeDetailPOS, InsuranceSchemeDetailPO.class);
|
||||
boolean welBaseDiffSign = siArchivesBiz.isDiffWelBase();
|
||||
if (CollectionUtils.isNotEmpty(insuranceSchemeDetailPOS)) {
|
||||
List<Long> insuranceIds = insuranceSchemeDetailPOS.stream().map(InsuranceSchemeDetailPO::getInsuranceId).collect(Collectors.toList());
|
||||
HashMap<String, String> socialPaymentBase = new HashMap<>();
|
||||
HashMap<String, String> otherPaymentBase = new HashMap<>();
|
||||
HashMap<String, String> otherPaymentComBase = new HashMap<>();
|
||||
for (Long insuranceId : insuranceIds) {
|
||||
if (StringUtils.isBlank(welfareMap.get(insuranceId))) {
|
||||
continue;
|
||||
}
|
||||
if (findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数")) != null) {
|
||||
String itemValue = (String) findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数")).get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(100293, "申报基数"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldOtherBaseMap != null && StringUtils.isNotBlank(oldOtherBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
socialPaymentBase.put(String.valueOf(insuranceId), oldOtherBaseMap.get(String.valueOf(insuranceId)));
|
||||
if (welBaseDiffSign) {
|
||||
Map<String, Object> itemPerMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "个人"));
|
||||
if (itemPerMap != null) {
|
||||
String itemValue = (String) itemPerMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "个人"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
otherPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldOtherBaseMap != null && StringUtils.isNotBlank(oldOtherBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
otherPaymentBase.put(String.valueOf(insuranceId), oldOtherBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
Map<String, Object> itemComMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "单位"));
|
||||
if (itemComMap != null) {
|
||||
String itemValue = (String) itemComMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数") + SalaryI18nUtil.getI18nLabel(0, "单位"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
otherPaymentComBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldOtherComBaseMap != null && StringUtils.isNotBlank(oldOtherComBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
otherPaymentComBase.put(String.valueOf(insuranceId), oldOtherComBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
insuranceArchivesOtherSchemePO.setOtherPaymentComBaseString(JSON.toJSONString(otherPaymentComBase));
|
||||
} else {
|
||||
Map<String, Object> itemMap = findElement(singleAccount, welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
if (itemMap != null) {
|
||||
String itemValue = (String) itemMap.get(welfareMap.get(insuranceId) + SalaryI18nUtil.getI18nLabel(0, "申报基数"));
|
||||
if (StringUtils.isNotBlank(itemValue)) {
|
||||
otherPaymentBase.put(String.valueOf(insuranceId), itemValue);
|
||||
} else if (oldOtherBaseMap != null && StringUtils.isNotBlank(oldOtherBaseMap.get(String.valueOf(insuranceId)))) {
|
||||
otherPaymentBase.put(String.valueOf(insuranceId), oldOtherBaseMap.get(String.valueOf(insuranceId)));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
insuranceArchivesOtherSchemePO.setOtherPaymentBaseString(JSON.toJSONString(socialPaymentBase));
|
||||
insuranceArchivesOtherSchemePO.setOtherPaymentBaseString(JSON.toJSONString(otherPaymentBase));
|
||||
}
|
||||
return insuranceArchivesOtherSchemePO;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.common.YearMonthRange;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.report.po.SalaryAcctResultReportPO;
|
||||
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
|
||||
|
|
@ -14,6 +17,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctTaxAgentPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.entity.taxdeclaration.po.TaxDeclarationPO;
|
||||
|
|
@ -35,13 +39,16 @@ import com.engine.salary.util.db.MapperProxyFactory;
|
|||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.time.YearMonth;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -83,6 +90,10 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySobItemService getSalarySobItemService(User user) {
|
||||
return ServiceUtil.getService(SalarySobItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryAcctTaxAgentService getSalaryAcctTaxAgentService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctTaxAgentServiceImpl.class, user);
|
||||
}
|
||||
|
|
@ -112,6 +123,10 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
return ServiceUtil.getService(SalaryStatisticsReportServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryEmployeeService getSalaryEmployeeService(User user) {
|
||||
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalaryAcctRecordService getSalaryAcctRecordService(User user) {
|
||||
return ServiceUtil.getService(SalaryAcctRecordServiceImpl.class, user);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.engine.common.util.ServiceUtil;
|
|||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.cache.SalaryCacheKey;
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.encrypt.EncryptUtil;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.datacollection.dto.AttendQuoteFieldListDTO;
|
||||
|
|
@ -48,15 +49,18 @@ import com.engine.salary.util.SalaryI18nUtil;
|
|||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.util.page.SalaryPageUtil;
|
||||
import com.engine.salary.util.valid.ValidUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.weaver.util.threadPool.ThreadPoolUtil;
|
||||
import com.weaver.util.threadPool.constant.ModulePoolEnum;
|
||||
import com.weaver.util.threadPool.entity.LocalRunnable;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
|
@ -305,9 +309,10 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
TaxAgentPO taxAgent = getTaxAgentService(user).getById(salaryAcctEmployeePO.getTaxAgentId());
|
||||
// 查询公式
|
||||
Map<String, SalaryAcctResultListColumnDTO> formulaContentMap = getSalaryAcctResultService(user).getColumnBySalaryAcctRecordId(salaryAcctEmployeePO.getSalaryAcctRecordId());
|
||||
List<Long> lockItems = byId.getLockSalaryItemIds() == null ? Collections.emptyList() : byId.getLockSalaryItemIds();
|
||||
|
||||
// 转换成薪资核算结果详情dto
|
||||
return SalaryAcctResultBO.convert2DetailDTO(simpleEmployee, taxAgent, salaryAcctEmployeePO, salarySobEmpFieldPOS, salarySobItemGroupPOS, salarySobItemPOS, salaryItemPOS, salaryAcctResultPOS, salarySobBackItemPOList, salaryBackItemPOS, salaryBackItemFormula, formulaContentMap);
|
||||
return SalaryAcctResultBO.convert2DetailDTO(simpleEmployee, taxAgent, salaryAcctEmployeePO, salarySobEmpFieldPOS, salarySobItemGroupPOS, salarySobItemPOS, salaryItemPOS, salaryAcctResultPOS, salarySobBackItemPOList, salaryBackItemPOS, salaryBackItemFormula, formulaContentMap, lockItems);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -1137,4 +1142,107 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchUpdate(SalaryAcctResultBatchUpdateParam param) {
|
||||
ValidUtil.doValidator(param);
|
||||
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(param.getSalaryAcctRecordId());
|
||||
if (ObjectUtils.isEmpty(salaryAcctRecordPO)) {
|
||||
throw new SalaryRunTimeException("薪资核算记录不存在,或已被删除");
|
||||
}
|
||||
List<SalarySobItemPO> salarySobItemPOS = getSalarySobItemService(user).listBySalarySobId(salaryAcctRecordPO.getSalarySobId());
|
||||
// 薪资账套中包含的薪资项目
|
||||
List<Long> salarySobItemIds = salarySobItemPOS.stream().map(SalarySobItemPO::getSalaryItemId).collect(Collectors.toList());
|
||||
if (!salarySobItemIds.contains(param.getSalaryItemId())) {
|
||||
throw new SalaryRunTimeException("该账套不包含该薪资项目或已被删除,请先检查账套");
|
||||
}
|
||||
// 获取需要更新的核算人员信息
|
||||
List<SalaryAcctEmployeePO> salaryAcctEmployeePOList = new ArrayList<>();
|
||||
if (CollectionUtils.isEmpty(param.getIdList())) {
|
||||
// 没有选择核算人员,更新核算记录中所有人员
|
||||
salaryAcctEmployeePOList.addAll(getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(salaryAcctRecordPO.getId()));
|
||||
} else {
|
||||
salaryAcctEmployeePOList.addAll(getSalaryAcctEmployeeService(user).listByIds(param.getIdList()));
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(salaryAcctEmployeePOList)) {
|
||||
List<Long> salaryAcctEmployeeIdList = SalaryEntityUtil.properties(salaryAcctEmployeePOList, SalaryAcctEmployeePO::getId, Collectors.toList());
|
||||
// 查询薪资核算结果
|
||||
List<SalaryAcctResultPO> resultPOS = listByAcctEmployeeIdsAndSalaryItemIds(salaryAcctEmployeeIdList, Collections.singleton(param.getSalaryItemId()));
|
||||
Map<Long, SalaryAcctResultPO> salaryAcctResultPOMap = SalaryEntityUtil.convert2Map(resultPOS, SalaryAcctResultPO::getSalaryAcctEmpId);
|
||||
List<DataCollectionEmployee> dataCollectionEmployees = getSalaryEmployeeService(user).listAllForReport();
|
||||
Map<Long, DataCollectionEmployee> emps = SalaryEntityUtil.convert2Map(dataCollectionEmployees, DataCollectionEmployee::getEmployeeId);
|
||||
List<SalaryAcctResultPO> needUpdateList = new ArrayList<>();
|
||||
List<SalaryAcctResultPO> needInsertList = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
List<SalaryAcctResultReportPO> salaryAcctResultReportPOS = new ArrayList<>();
|
||||
salaryAcctEmployeePOList.forEach(salaryAcctEmployeePO -> {
|
||||
if (salaryAcctResultPOMap.containsKey(salaryAcctEmployeePO.getId())) {
|
||||
// 更新
|
||||
SalaryAcctResultPO po = salaryAcctResultPOMap.get(salaryAcctEmployeePO.getId());
|
||||
po.setResultValue(param.getValue());
|
||||
po.setUpdateTime(now);
|
||||
needUpdateList.add(po);
|
||||
} else {
|
||||
// 新增
|
||||
needInsertList.add(SalaryAcctResultPO.builder()
|
||||
.salarySobId(salaryAcctRecordPO.getSalarySobId())
|
||||
.salaryItemId(param.getSalaryItemId())
|
||||
.salaryAcctRecordId(param.getSalaryAcctRecordId())
|
||||
.salaryAcctEmpId(salaryAcctEmployeePO.getId())
|
||||
.employeeId(salaryAcctEmployeePO.getEmployeeId())
|
||||
.taxAgentId(salaryAcctEmployeePO.getTaxAgentId())
|
||||
.resultValue(param.getValue())
|
||||
.originResultValue("")
|
||||
.creator(Long.valueOf(user.getUID()))
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build());
|
||||
}
|
||||
|
||||
// 报表
|
||||
SalaryAcctResultReportPO po = SalaryAcctResultReportPO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.salarySobId(salaryAcctRecordPO.getSalarySobId())
|
||||
.salaryItemId(param.getSalaryItemId())
|
||||
.salaryAcctRecordId(param.getSalaryAcctRecordId())
|
||||
.salaryAcctEmpId(salaryAcctEmployeePO.getId().toString())
|
||||
.employeeId(salaryAcctEmployeePO.getEmployeeId().toString())
|
||||
.taxAgentId(salaryAcctEmployeePO.getTaxAgentId())
|
||||
.resultValue(param.getValue())
|
||||
.creator(Long.valueOf(user.getUID()))
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
DataCollectionEmployee dataCollectionEmployee = emps.get(salaryAcctEmployeePO.getEmployeeId());
|
||||
if (dataCollectionEmployee != null) {
|
||||
po.setDepartmentId(dataCollectionEmployee.getDepartmentId());
|
||||
po.setSubcompanyId(dataCollectionEmployee.getSubcompanyid());
|
||||
po.setCostcenterId(dataCollectionEmployee.getCostcenterId());
|
||||
po.setJobtitleId(dataCollectionEmployee.getJobtitleId());
|
||||
po.setLocationId(dataCollectionEmployee.getLocationId());
|
||||
}
|
||||
salaryAcctResultReportPOS.add(po);
|
||||
});
|
||||
|
||||
// 入库
|
||||
if (CollectionUtils.isNotEmpty(needUpdateList)) {
|
||||
// 数据加密
|
||||
encryptUtil.encryptList(needUpdateList, SalaryAcctResultPO.class);
|
||||
List<List<SalaryAcctResultPO>> partition = Lists.partition(needUpdateList, 100);
|
||||
partition.forEach(getSalaryAcctResultMapper()::batchUpdate);
|
||||
}
|
||||
batchSave(needInsertList);
|
||||
|
||||
// 报表入库前先删除
|
||||
getSalaryAcctReportService(user).deleteByAcctEmployeeIdsAndSalaryItemIds(param.getIdList(), Collections.singletonList(param.getSalaryItemId()) );
|
||||
getSalaryAcctReportService(user).batchSave(salaryAcctResultReportPOS);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -163,6 +163,19 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
if (queryParam.isExtSalaryArchiveList()) {
|
||||
return getSalaryArchiveMapper().listExtSalaryArchive(queryParam);
|
||||
}
|
||||
if (StringUtils.isNotBlank(queryParam.getPayStartDateStartDateStr())) {
|
||||
queryParam.setPayStartDateStartDate(SalaryDateUtil.stringToDate(queryParam.getPayStartDateStartDateStr()));
|
||||
}
|
||||
if (Objects.nonNull(queryParam.getPayStartDateEndDateStr())) {
|
||||
queryParam.setPayStartDateEndDate(SalaryDateUtil.stringToDate(queryParam.getPayStartDateEndDateStr()));
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(queryParam.getPayEndDateStartDateStr())) {
|
||||
queryParam.setPayEndDateStartDate(SalaryDateUtil.stringToDate(queryParam.getPayEndDateStartDateStr()));
|
||||
}
|
||||
if (Objects.nonNull(queryParam.getPayEndDateEndDateStr())) {
|
||||
queryParam.setPayEndDateEndDate(SalaryDateUtil.stringToDate(queryParam.getPayEndDateEndDateStr()));
|
||||
}
|
||||
return getSalaryArchiveMapper().list(queryParam);
|
||||
}
|
||||
|
||||
|
|
@ -320,11 +333,11 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
|
||||
@Override
|
||||
public void deleteSalaryArchive(Collection<Long> salaryArchiveIds) {
|
||||
if(CollectionUtils.isEmpty(salaryArchiveIds)){
|
||||
if (CollectionUtils.isEmpty(salaryArchiveIds)) {
|
||||
throw new SalaryRunTimeException("薪资档案参数为空!");
|
||||
}
|
||||
SalarySysConfPO canDelete = getSalarySysConfService(user).getOneByCode(SalarySysConstant.SALARY_ARCHIVE_DELETE);
|
||||
if(Objects.isNull(canDelete) || StringUtils.equals(canDelete.getConfValue(),"0") ){
|
||||
if (Objects.isNull(canDelete) || StringUtils.equals(canDelete.getConfValue(), "0")) {
|
||||
throw new SalaryRunTimeException("不允许删除薪资档案,请先开启删除档案规则配置!");
|
||||
}
|
||||
List<SalaryArchivePO> salaryArchiveList = getSalaryArchiveMapper().listSome(SalaryArchivePO.builder().ids(salaryArchiveIds).build());
|
||||
|
|
@ -333,17 +346,17 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
List<Long> canDeleteTaxAgentIds = getTaxAgentService(user).listAllTaxAgentsAsAdmin((long) user.getUID())
|
||||
.stream().map(TaxAgentPO::getId).collect(Collectors.toList());
|
||||
boolean err = salaryArchiveList.stream().anyMatch(po -> !canDeleteTaxAgentIds.contains(po.getTaxAgentId()));
|
||||
if(CollectionUtils.isEmpty(salaryArchiveList) || err){
|
||||
if (CollectionUtils.isEmpty(salaryArchiveList) || err) {
|
||||
throw new SalaryRunTimeException("薪资档案不存在,或没有权限删除该薪资档案!");
|
||||
}
|
||||
Optional<SalaryArchivePO> fixedList = salaryArchiveList.stream().filter(archive -> !StringUtils.equals(archive.getRunStatus(), SalaryArchiveStatusEnum.PENDING.getValue())
|
||||
&& !StringUtils.equals(archive.getRunStatus(), SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue())).findFirst();
|
||||
if(fixedList.isPresent()){
|
||||
if (fixedList.isPresent()) {
|
||||
throw new SalaryRunTimeException("发薪员工、待停薪员工、停薪_来自待停薪,无法删除薪资档案!");
|
||||
}
|
||||
List<Long> deleteIds = salaryArchiveList.stream().map(SalaryArchivePO::getId).collect(Collectors.toList());
|
||||
// 删除薪资档案及档案项目
|
||||
if(CollectionUtils.isNotEmpty(deleteIds)){
|
||||
if (CollectionUtils.isNotEmpty(deleteIds)) {
|
||||
getSalaryArchiveMapper().deleteByIds(deleteIds);
|
||||
getSalaryArchiveItemMapper().deleteBySalaryArchiveId(deleteIds);
|
||||
}
|
||||
|
|
@ -432,7 +445,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
List<Long> salaryItemIds = salaryItems.stream().map(SalaryItemPO::getId).collect(Collectors.toList());
|
||||
// 1.获取薪资档案所对应的当前生效的薪资项目数据
|
||||
List<SalaryArchiveItemPO> salaryArchiveItemList = Collections.emptyList();
|
||||
if(CollectionUtils.isNotEmpty(ids) && CollectionUtils.isNotEmpty(salaryItemIds) || !isPage){
|
||||
if (CollectionUtils.isNotEmpty(ids) && CollectionUtils.isNotEmpty(salaryItemIds) || !isPage) {
|
||||
salaryArchiveItemList = getCurrentEffectiveItemList(ids, salaryItemIds);
|
||||
}
|
||||
List<SalaryArchiveItemPO> finalSalaryArchiveItemList = salaryArchiveItemList;
|
||||
|
|
@ -461,7 +474,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
// 3.组装数据
|
||||
List<Map<String, Object>> listMaps = new ArrayList<>();
|
||||
salaryArchives.forEach(e -> {
|
||||
e.setEmployeeStatus(UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(e.getEmployeeStatus())));
|
||||
e.setEmployeeStatus(NumberUtils.isCreatable(e.getEmployeeStatus()) ? UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(e.getEmployeeStatus())) : "");
|
||||
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("id", e.getId());
|
||||
|
|
@ -757,11 +770,11 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
|||
// 获取核算人员规则
|
||||
List<String> statusList = Collections.emptyList();
|
||||
SalarySysConfPO employeeRule = getSalarySysConfService(user).getOneByCode(SalarySysConstant.SALARY_ACCT_EMPLOYEE_RULE);
|
||||
if(Objects.isNull(employeeRule) || StringUtils.equals(employeeRule.getConfValue(), SalaryAcctEmployeeRuleEnum.BYPAYENDTIME.getValue())){
|
||||
if (Objects.isNull(employeeRule) || StringUtils.equals(employeeRule.getConfValue(), SalaryAcctEmployeeRuleEnum.BYPAYENDTIME.getValue())) {
|
||||
// 默认包含停薪列表
|
||||
statusList = Arrays.asList(SalaryArchiveStatusEnum.FIXED.getValue(), SalaryArchiveStatusEnum.SUSPEND.getValue(),
|
||||
SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue() );
|
||||
}else{
|
||||
SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue());
|
||||
} else {
|
||||
// 仅包含发薪、待定薪
|
||||
statusList = Arrays.asList(SalaryArchiveStatusEnum.FIXED.getValue(), SalaryArchiveStatusEnum.SUSPEND.getValue());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -254,6 +254,7 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService
|
|||
newSalaryItemPO.setSharedType(saveParam.getSharedType());
|
||||
newSalaryItemPO.setTaxAgentIds(saveParam.getTaxAgentIds());
|
||||
newSalaryItemPO.setSortedIndex(saveParam.getSortedIndex());
|
||||
newSalaryItemPO.setWidth(saveParam.getWidth());
|
||||
salaryItemBiz.updateById(newSalaryItemPO);
|
||||
|
||||
//改名后更新公式
|
||||
|
|
@ -421,6 +422,9 @@ public class SalaryItemServiceImpl extends Service implements SalaryItemService
|
|||
List<SalarySobItemPO> salarySobItemList = getSalarySobItemService(user).listBySalaryItemIds(Collections.singleton(salaryItemId));
|
||||
Set<Long> salarySobIds = SalaryEntityUtil.properties(salarySobItemList, SalarySobItemPO::getSalarySobId);
|
||||
List<SalarySobPO> salarySobs = getSalarySobService(user).listByIds(salarySobIds);
|
||||
// 获取能够管理的义务人
|
||||
Set<Long> taxAgentIds = SalaryEntityUtil.properties(getTaxAgentService(user).listAllTaxAgentsAsAdmin(Long.valueOf(user.getUID())), TaxAgentPO::getId);
|
||||
salarySobs = salarySobs.stream().filter(sob -> taxAgentIds.contains(sob.getTaxAgentId())).collect(Collectors.toList());
|
||||
return salarySobs.stream().map(m -> {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("id", String.valueOf(m.getId()));
|
||||
|
|
|
|||
|
|
@ -1725,4 +1725,9 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
}
|
||||
return getSalarySendMapper().getByIds(salarySendId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SalarySendPO> listSome(SalarySendPO param) {
|
||||
return getSalarySendMapper().listSome(param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,9 @@ public class TaxAgentEmpServiceImpl extends Service implements TaxAgentEmpServic
|
|||
return;
|
||||
}
|
||||
List<Long> idList = taxAgentEmpList.stream().map(TaxAgentEmpPO::getId).collect(Collectors.toList());
|
||||
getTaxAgentEmpMapper().deleteByIds(idList);
|
||||
|
||||
List<List<Long>> partition = Lists.partition(idList, 500);
|
||||
partition.forEach(getTaxAgentEmpMapper()::deleteByIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -105,4 +105,14 @@ public class SalarySysConstant {
|
|||
* 核算固定列头数
|
||||
*/
|
||||
public static final String SALARY_ACCT_FIXED_COLUMNS = "salaryAcctFixedColumns";
|
||||
|
||||
/**
|
||||
* 应用设置是否福利档案基数区分个人和单位
|
||||
*/
|
||||
public static final String WEL_BASE_DIFF_BY_PER_AND_COM = "welBaseDiffByPerAndCom";
|
||||
|
||||
/**
|
||||
* 应用设置是否福利档案导入时,不符合上下限的基数调整为上限 /下限
|
||||
*/
|
||||
public static final String WEL_BASE_AUTO_ADJUST = "welBaseAutoAdjust";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -761,8 +761,10 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
|
|||
insuranceArchivesSocialSchemePos.forEach(po -> {
|
||||
if (OpenEnum.OFF.getValue().equals(isOpenEncrypt)) {
|
||||
po.setSocialPaymentBaseString(AESEncryptUtil.closeEncryptSetting(po.getSocialPaymentBaseString(), sysConfPo));
|
||||
po.setSocialPaymentComBaseString(AESEncryptUtil.closeEncryptSetting(po.getSocialPaymentComBaseString(), sysConfPo));
|
||||
} else {
|
||||
po.setSocialPaymentBaseString(AESEncryptUtil.encrypt(po.getSocialPaymentBaseString()));
|
||||
po.setSocialPaymentComBaseString(AESEncryptUtil.encrypt(po.getSocialPaymentComBaseString()));
|
||||
}
|
||||
});
|
||||
List<List<InsuranceArchivesSocialSchemePO>> partition = Lists.partition(insuranceArchivesSocialSchemePos, 50);
|
||||
|
|
@ -788,8 +790,10 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
|
|||
insuranceArchivesFundSchemePos.forEach(po -> {
|
||||
if (OpenEnum.OFF.getValue().equals(isOpenEncrypt)) {
|
||||
po.setFundPaymentBaseString(AESEncryptUtil.closeEncryptSetting(po.getFundPaymentBaseString(), sysConfPo));
|
||||
po.setFundPaymentComBaseString(AESEncryptUtil.closeEncryptSetting(po.getFundPaymentComBaseString(), sysConfPo));
|
||||
} else {
|
||||
po.setFundPaymentBaseString(AESEncryptUtil.encrypt(po.getFundPaymentBaseString()));
|
||||
po.setFundPaymentComBaseString(AESEncryptUtil.encrypt(po.getFundPaymentComBaseString()));
|
||||
}
|
||||
});
|
||||
List<List<InsuranceArchivesFundSchemePO>> partition = Lists.partition(insuranceArchivesFundSchemePos, 50);
|
||||
|
|
@ -815,8 +819,10 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
|
|||
insuranceArchivesOtherSchemePos.forEach(po -> {
|
||||
if (OpenEnum.OFF.getValue().equals(isOpenEncrypt)) {
|
||||
po.setOtherPaymentBaseString(AESEncryptUtil.closeEncryptSetting(po.getOtherPaymentBaseString(), sysConfPo));
|
||||
po.setOtherPaymentComBaseString(AESEncryptUtil.closeEncryptSetting(po.getOtherPaymentComBaseString(), sysConfPo));
|
||||
} else {
|
||||
po.setOtherPaymentBaseString(AESEncryptUtil.encrypt(po.getOtherPaymentBaseString()));
|
||||
po.setOtherPaymentComBaseString(AESEncryptUtil.encrypt(po.getOtherPaymentComBaseString()));
|
||||
}
|
||||
});
|
||||
List<List<InsuranceArchivesOtherSchemePO>> partition = Lists.partition(insuranceArchivesOtherSchemePos, 50);
|
||||
|
|
@ -875,6 +881,9 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
|
|||
po.setSocialPaymentBaseString(AESEncryptUtil.closeEncryptSetting(po.getSocialPaymentBaseString(), sysConfPo));
|
||||
po.setFundPaymentBaseString(AESEncryptUtil.closeEncryptSetting(po.getFundPaymentBaseString(), sysConfPo));
|
||||
po.setOtherPaymentBaseString(AESEncryptUtil.closeEncryptSetting(po.getOtherPaymentBaseString(), sysConfPo));
|
||||
po.setSocialPaymentComBaseString(AESEncryptUtil.closeEncryptSetting(po.getSocialPaymentComBaseString(), sysConfPo));
|
||||
po.setFundPaymentComBaseString(AESEncryptUtil.closeEncryptSetting(po.getFundPaymentComBaseString(), sysConfPo));
|
||||
po.setOtherPaymentComBaseString(AESEncryptUtil.closeEncryptSetting(po.getOtherPaymentComBaseString(), sysConfPo));
|
||||
po.setSocialPerJson(AESEncryptUtil.closeEncryptSetting(po.getSocialPerJson(), sysConfPo));
|
||||
po.setSocialPerSum(AESEncryptUtil.closeEncryptSetting(po.getSocialPerSum(), sysConfPo));
|
||||
po.setFundPerJson(AESEncryptUtil.closeEncryptSetting(po.getFundPerJson(), sysConfPo));
|
||||
|
|
@ -893,6 +902,9 @@ public class SalarySysConfServiceImpl extends Service implements SalarySysConfSe
|
|||
po.setSocialPaymentBaseString(AESEncryptUtil.encrypt(po.getSocialPaymentBaseString()));
|
||||
po.setFundPaymentBaseString(AESEncryptUtil.encrypt(po.getFundPaymentBaseString()));
|
||||
po.setOtherPaymentBaseString(AESEncryptUtil.encrypt(po.getOtherPaymentBaseString()));
|
||||
po.setSocialPaymentComBaseString(AESEncryptUtil.encrypt(po.getSocialPaymentComBaseString()));
|
||||
po.setFundPaymentComBaseString(AESEncryptUtil.encrypt(po.getFundPaymentComBaseString()));
|
||||
po.setOtherPaymentComBaseString(AESEncryptUtil.encrypt(po.getOtherPaymentComBaseString()));
|
||||
po.setSocialPerJson(AESEncryptUtil.encrypt(po.getSocialPerJson()));
|
||||
po.setSocialPerSum(AESEncryptUtil.encrypt(po.getSocialPerSum()));
|
||||
po.setFundPerJson(AESEncryptUtil.encrypt(po.getFundPerJson()));
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@ import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
|||
import com.github.pagehelper.PageHelper;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.font.FontRenderContext;
|
||||
import java.awt.geom.Rectangle2D;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
|
@ -93,16 +96,24 @@ public class SalaryPageUtil {
|
|||
endIndex > source.size() ? source.size() : endIndex);
|
||||
}
|
||||
|
||||
public static String selfAdaption(String chars) {
|
||||
int adaption = 0;
|
||||
|
||||
if (chars != null) {
|
||||
adaption = chars.length() * 12 + 55;
|
||||
static Font font = new Font("Arial", Font.PLAIN, 12); // 设置字体样式、大小等属性
|
||||
static FontRenderContext frc = new FontRenderContext(null, true, false);
|
||||
// GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
|
||||
|
||||
/**
|
||||
* 自适应文字长度
|
||||
* @param chars
|
||||
* @param width
|
||||
* @return
|
||||
*/
|
||||
public static String selfAdaption(String chars, Integer width) {
|
||||
if (width != null && width != 0) {
|
||||
return width + "";
|
||||
}
|
||||
if (adaption < 79) {
|
||||
adaption = 79;
|
||||
}
|
||||
return adaption + "";
|
||||
Rectangle2D bounds = font.getStringBounds(chars, frc);
|
||||
int pxLength = (int) Math.ceil(bounds.getWidth());
|
||||
return pxLength + 55 + "";
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.engine.salary.web;
|
|||
|
||||
import com.engine.common.util.ParamUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.common.SalaryContext;
|
||||
import com.engine.salary.entity.hrm.dto.HrmInfoDTO;
|
||||
import com.engine.salary.entity.hrm.param.HrmQueryParam;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceAccountTabDTO;
|
||||
|
|
@ -37,11 +38,9 @@ import javax.ws.rs.core.StreamingOutput;
|
|||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 福利核算控制器
|
||||
|
|
@ -50,6 +49,7 @@ import java.util.stream.Collectors;
|
|||
public class SIAccountController {
|
||||
|
||||
public SIAccountService getService(User user) {
|
||||
SalaryContext.get().setValue("user",user);
|
||||
return ServiceUtil.getService(SIAccountServiceImpl.class, user);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.engine.salary.web;
|
|||
|
||||
import com.engine.common.util.ParamUtil;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.salary.common.SalaryContext;
|
||||
import com.engine.salary.entity.siarchives.dto.InsuranceArchivesBaseHistoryDTO;
|
||||
import com.engine.salary.entity.siarchives.param.InsuranceArchivesListParam;
|
||||
import com.engine.salary.entity.siarchives.param.InsuranceArchivesSaveParam;
|
||||
|
|
@ -33,6 +34,7 @@ import java.util.Map;
|
|||
public class SIArchivesController {
|
||||
|
||||
private SIArchivesService getService(User user) {
|
||||
SalaryContext.get().setValue("user",user);
|
||||
return ServiceUtil.getService(SIArchivesServiceImpl.class,user);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -158,6 +158,7 @@ public class SalaryAcctController {
|
|||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<Long, String>(user).run(getSalaryAcctRecordWrapper(user)::backCalculate, param.getSalaryAcctRecordId());
|
||||
}
|
||||
|
||||
/* ********************************薪资核算记录相关 end*********************************/
|
||||
|
||||
|
||||
|
|
@ -448,6 +449,15 @@ public class SalaryAcctController {
|
|||
return new ResponseResult<SalaryAcctResultUpdateLockStatusParam, String>(user).run(getSalaryAcctResultWrapper(user)::updateLockStatusByParam, param);
|
||||
}
|
||||
|
||||
//批量更新
|
||||
@POST
|
||||
@Path("/acctresult/batchUpdate")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String batchUpdate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultBatchUpdateParam param) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryAcctResultBatchUpdateParam, String>(user).run(getSalaryAcctResultWrapper(user)::batchUpdate, param);
|
||||
}
|
||||
|
||||
//薪资核算
|
||||
@POST
|
||||
@Path("/acctresult/accounting")
|
||||
|
|
|
|||
|
|
@ -9,10 +9,7 @@ import com.engine.salary.entity.progress.ProgressDTO;
|
|||
import com.engine.salary.entity.salaryacct.dto.ConsolidatedTaxDetailDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultDetailDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctResultListColumnDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctCalculateParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctResultQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctResultSaveParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctResultUpdateLockStatusParam;
|
||||
import com.engine.salary.entity.salaryacct.param.*;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.exception.SalaryRunTimeException;
|
||||
import com.engine.salary.service.*;
|
||||
|
|
@ -260,6 +257,13 @@ public class SalaryAcctResultWrapper extends Service {
|
|||
return getSalaryAcctResultService(user).checkAuth(salaryAcctRecordId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 薪资核算结果批量更新
|
||||
* @param param
|
||||
*/
|
||||
public void batchUpdate(SalaryAcctResultBatchUpdateParam param) {
|
||||
getSalaryAcctResultService(user).batchUpdate(param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 薪资核算-校验
|
||||
|
|
|
|||
Loading…
Reference in New Issue