Merge branch 'release/个税版本2.14.3.2406.01' into release/个税版本
This commit is contained in:
commit
eca321ee4c
|
|
@ -1,5 +1,5 @@
|
||||||
log=false
|
log=false
|
||||||
defaultCloseNonStandard149=true
|
defaultCloseNonStandard149=true
|
||||||
AESEncryptScrect=990EB004A1C862721C1513AE90038C9E
|
AESEncryptScrect=990EB004A1C862721C1513AE90038C9E
|
||||||
version=2.14.2.2405.02
|
version=2.14.3.2406.01
|
||||||
openFormulaForcedEditing=false
|
openFormulaForcedEditing=false
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD COLUMN lock_status int(0) NULL ;
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0)
|
||||||
|
/
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD COLUMN lock_status int NULL ;
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD lock_status int NULL
|
||||||
|
GO
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
ALTER TABLE hrsa_salary_acct_emp ADD lock_status NUMBER(11, 0);
|
||||||
|
/
|
||||||
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
|
select id from hrsa_tax_agent_emp
|
||||||
|
where tax_agent_id =扣缴义务人id and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =扣缴义务人id and delete_type = 0)
|
||||||
|
|
||||||
|
|
||||||
update hrsa_tax_agent_emp set delete_type = 3
|
update hrsa_tax_agent_emp set delete_type = 3
|
||||||
where id in(
|
where tax_agent_id=扣缴义务人id and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =扣缴义务人id and delete_type = 0)
|
||||||
|
|
||||||
select id from hrsa_tax_agent_emp
|
|
||||||
where tax_agent_id =27 and delete_type = 0 and employee_id not in (select employee_id from hrsa_salary_archive where tax_agent_id =27 and delete_type = 0)
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
@ -17,5 +17,5 @@ left join hrmresource e on e.id= result.employee_id
|
||||||
left join hrsa_salary_item c on c.id=i.salary_item_id
|
left join hrsa_salary_item c on c.id=i.salary_item_id
|
||||||
left join hrsa_tax_agent t on a.tax_agent_id=t.id
|
left join hrsa_tax_agent t on a.tax_agent_id=t.id
|
||||||
where a.delete_type=0 and i.delete_type=0 and t.delete_type=0 and c.delete_type=0
|
where a.delete_type=0 and i.delete_type=0 and t.delete_type=0 and c.delete_type=0
|
||||||
and a.employee_id=$main.ygid$ and t.name='$main.dzqgskjywr$'
|
and a.employee_id=人员id and t.name=扣缴义务人名称
|
||||||
and effective_time <= now() and c.name='基本工资' order by effective_time desc
|
and effective_time <= now() and c.name='基本工资' order by effective_time desc
|
||||||
|
|
@ -53,4 +53,9 @@ public class AttendQuoteDataBaseDTO {
|
||||||
* 工号
|
* 工号
|
||||||
*/
|
*/
|
||||||
private String jobNum;
|
private String jobNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 证件号码
|
||||||
|
*/
|
||||||
|
private String idNo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ public class SalaryBillBO {
|
||||||
try {
|
try {
|
||||||
Method method = salaryFormulaEmployeeDTO.getClass().getMethod(getter);
|
Method method = salaryFormulaEmployeeDTO.getClass().getMethod(getter);
|
||||||
Object invoke = method.invoke(salaryFormulaEmployeeDTO);
|
Object invoke = method.invoke(salaryFormulaEmployeeDTO);
|
||||||
e.setSalaryItemValue((String) invoke);
|
e.setSalaryItemValue(Util.null2String(invoke));
|
||||||
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
|
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ex) {
|
||||||
log.error("no such method", e);
|
log.error("no such method", e);
|
||||||
}
|
}
|
||||||
|
|
@ -386,7 +386,6 @@ public class SalaryBillBO {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
log.info("发送短信内容, {}", content);
|
|
||||||
if (e.get("mobile") != null) {
|
if (e.get("mobile") != null) {
|
||||||
MessageUtil.sendSMS(e.get("mobile").toString(), content);
|
MessageUtil.sendSMS(e.get("mobile").toString(), content);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -181,9 +181,9 @@ public class SalaryAcctResultBO {
|
||||||
List<WeaTableColumnGroup> childrenColumns = Lists.newArrayList();
|
List<WeaTableColumnGroup> childrenColumns = Lists.newArrayList();
|
||||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemGroupDTO.getItems()) {
|
for (SalarySobItemDTO salarySobItemDTO : salarySobItemGroupDTO.getItems()) {
|
||||||
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
||||||
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||||
} else {
|
} else {
|
||||||
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
childrenColumns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WeaTableColumnGroup weaTableColumnWapper = new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemGroupDTO.getName(), 0), salarySobItemGroupDTO.getName(), String.valueOf(salarySobItemGroupDTO.getId()), childrenColumns);
|
WeaTableColumnGroup weaTableColumnWapper = new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemGroupDTO.getName(), 0), salarySobItemGroupDTO.getName(), String.valueOf(salarySobItemGroupDTO.getId()), childrenColumns);
|
||||||
|
|
@ -192,18 +192,18 @@ public class SalaryAcctResultBO {
|
||||||
// 没有分类的薪资项目
|
// 没有分类的薪资项目
|
||||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getItems()) {
|
for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getItems()) {
|
||||||
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
||||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||||
} else {
|
} else {
|
||||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), salarySobItemDTO.getWidth()), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
// 回算的薪资项目
|
// 回算的薪资项目
|
||||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getBackCalcItems()) {
|
for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getBackCalcItems()) {
|
||||||
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
if (lockSalaryItemIds.contains(salarySobItemDTO.getSalaryItemId())) {
|
||||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.LOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||||
} else {
|
} else {
|
||||||
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getValue(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
columns.add(new WeaTableColumnGroup(SalaryPageUtil.selfAdaption(salarySobItemDTO.getName(), 0), salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId(), LockStatusEnum.UNLOCK.getDefaultLabel(), salarySobItemDTO.getPattern(), salarySobItemDTO.getDataType()));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -288,6 +288,8 @@ public class SalaryAcctResultBO {
|
||||||
}
|
}
|
||||||
// 主键id
|
// 主键id
|
||||||
map.put("id", e.getId());
|
map.put("id", e.getId());
|
||||||
|
//锁定状态
|
||||||
|
map.put("lockStatus", LockStatusEnum.getByValue(e.getLockStatus()).getDefaultLabel());
|
||||||
//人员id
|
//人员id
|
||||||
map.put("employeeId", e.getEmployeeId());
|
map.put("employeeId", e.getEmployeeId());
|
||||||
// 个税扣缴义务人
|
// 个税扣缴义务人
|
||||||
|
|
@ -552,7 +554,7 @@ public class SalaryAcctResultBO {
|
||||||
// .canEdit(Objects.equals(Optional.ofNullable(salaryItemPO).map(SalaryItemPO::getUseInEmployeeSalary).orElse(0), 0))
|
// .canEdit(Objects.equals(Optional.ofNullable(salaryItemPO).map(SalaryItemPO::getUseInEmployeeSalary).orElse(0), 0))
|
||||||
.canEdit(true)
|
.canEdit(true)
|
||||||
.pattern(salarySobItemPO.getPattern())
|
.pattern(salarySobItemPO.getPattern())
|
||||||
.lockStatus(lockItems.contains(salarySobItemPO.getSalaryItemId()) ? LockStatusEnum.LOCK.getValue() : LockStatusEnum.UNLOCK.getValue())
|
.lockStatus(lockItems.contains(salarySobItemPO.getSalaryItemId()) ? LockStatusEnum.LOCK.getDefaultLabel() : LockStatusEnum.UNLOCK.getDefaultLabel())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,19 +21,19 @@ import java.util.Set;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class SalaryAcctResultUpdateLockStatusParam {
|
public class SalaryAcctResultUpdateLockStatusParam {
|
||||||
|
|
||||||
//锁定状态
|
//锁定状态
|
||||||
private LockStatusEnum lockStatus;
|
private LockStatusEnum lockStatus;
|
||||||
|
|
||||||
//薪资项目的Id")
|
|
||||||
private Long salaryItemId;
|
|
||||||
|
|
||||||
//薪资核算人员的id")
|
//薪资核算记录的id
|
||||||
// private Set<String> idStrSet;
|
private Long salaryAcctRecordId;
|
||||||
|
|
||||||
|
//薪资项目的Id
|
||||||
|
private Long salaryItemId;
|
||||||
|
|
||||||
//薪资项目的IdList
|
//薪资项目的IdList
|
||||||
private Set<Long> salaryItemIds;
|
private Set<Long> salaryItemIds;
|
||||||
|
|
||||||
//薪资核算记录的id")
|
//薪资核算人员的id
|
||||||
private Long salaryAcctRecordId;
|
private Set<Long> acctEmpIds;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.engine.salary.entity.salaryacct.po;
|
package com.engine.salary.entity.salaryacct.po;
|
||||||
|
|
||||||
import com.engine.salary.annotation.SalaryFormulaVar;
|
|
||||||
import com.engine.hrmelog.annotation.ElogTransform;
|
import com.engine.hrmelog.annotation.ElogTransform;
|
||||||
|
import com.engine.salary.annotation.SalaryFormulaVar;
|
||||||
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
|
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
|
|
@ -119,6 +119,11 @@ public class SalaryAcctEmployeePO {
|
||||||
@ElogTransform(name = "更新时间")
|
@ElogTransform(name = "更新时间")
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
|
|
||||||
|
|
||||||
|
@ElogTransform(name = "锁定状态")
|
||||||
|
private Integer lockStatus;
|
||||||
|
|
||||||
|
|
||||||
//--------条件----------
|
//--------条件----------
|
||||||
//主键id集合
|
//主键id集合
|
||||||
private Collection<Long> ids;
|
private Collection<Long> ids;
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@ public class SalaryArchiveBO {
|
||||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName"));
|
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "部门"), "departmentName"));
|
||||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "工号"), "workcode"));
|
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86185, "工号"), "workcode"));
|
||||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
|
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
|
||||||
|
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86186, "证件号码"), "idNo"));
|
||||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus"));
|
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus"));
|
||||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "起始发薪日期"), "payStartDate"));
|
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "起始发薪日期"), "payStartDate"));
|
||||||
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "最后发薪日期"), "payEndDate"));
|
columns.add(new WeaTableColumn("100px", SalaryI18nUtil.getI18nLabel(86187, "最后发薪日期"), "payEndDate"));
|
||||||
|
|
|
||||||
|
|
@ -349,6 +349,7 @@ public class SalaryArchiveExcelBO extends Service {
|
||||||
String deparmentName = Optional.ofNullable(map.get(departmentI18n)).orElse("").toString();
|
String deparmentName = Optional.ofNullable(map.get(departmentI18n)).orElse("").toString();
|
||||||
String mobileName = Optional.ofNullable(map.get("手机号")).orElse("").toString();
|
String mobileName = Optional.ofNullable(map.get("手机号")).orElse("").toString();
|
||||||
String workcode = Optional.ofNullable(map.get("工号")).orElse("").toString();
|
String workcode = Optional.ofNullable(map.get("工号")).orElse("").toString();
|
||||||
|
String idNo = Optional.ofNullable(map.get("证件号码")).orElse("").toString();
|
||||||
|
|
||||||
String validType = importHandleParam.getEmpValidType();
|
String validType = importHandleParam.getEmpValidType();
|
||||||
List<DataCollectionEmployee> emps = new ArrayList<>();
|
List<DataCollectionEmployee> emps = new ArrayList<>();
|
||||||
|
|
@ -369,6 +370,10 @@ public class SalaryArchiveExcelBO extends Service {
|
||||||
emps = importHandleParam.getEmployees().stream().filter(e -> (StringUtils.isBlank(workcode) || Objects.equals(e.getWorkcode(), workcode)))
|
emps = importHandleParam.getEmployees().stream().filter(e -> (StringUtils.isBlank(workcode) || Objects.equals(e.getWorkcode(), workcode)))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
else if ("2".equals(validType)) {
|
||||||
|
emps = importHandleParam.getEmployees().stream().filter(e -> (StringUtils.isBlank(idNo) || Objects.equals(e.getIdNo(), idNo)))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Long> employeeSameIds = new ArrayList<>();
|
List<Long> employeeSameIds = new ArrayList<>();
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,12 @@ public class SalaryArchiveListDTO {
|
||||||
@TableTitle(title = "工号", dataIndex = "workcode", key = "workcode")
|
@TableTitle(title = "工号", dataIndex = "workcode", key = "workcode")
|
||||||
private String workcode;
|
private String workcode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 证件号码
|
||||||
|
*/
|
||||||
|
@TableTitle(title = "证件号码", dataIndex = "idNo", key = "idNo")
|
||||||
|
private String idNo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工状态
|
* 员工状态
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -54,10 +54,16 @@ public class SalarySobRangeImportListDTO {
|
||||||
@ExcelProperty(index = 3)
|
@ExcelProperty(index = 3)
|
||||||
private String jobNum;
|
private String jobNum;
|
||||||
|
|
||||||
|
//证件号码
|
||||||
|
@SalaryTableColumn(text = "证件号码", width = "10%", column = "idNo")
|
||||||
|
@TableTitle(title = "证件号码", dataIndex = "idNo", key = "idNo")
|
||||||
|
@ExcelProperty(index = 4)
|
||||||
|
private String idNo;
|
||||||
|
|
||||||
//人员状态
|
//人员状态
|
||||||
@SalaryTableColumn(text = "员工状态", width = "10%", column = "employeeStatus")
|
@SalaryTableColumn(text = "员工状态", width = "10%", column = "employeeStatus")
|
||||||
@TableTitle(title = "员工状态", dataIndex = "employeeStatus", key = "employeeStatus")
|
@TableTitle(title = "员工状态", dataIndex = "employeeStatus", key = "employeeStatus")
|
||||||
@ExcelProperty(index = 4)
|
@ExcelProperty(index = 5)
|
||||||
private String employeeStatus;
|
private String employeeStatus;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,8 @@ public class InsuranceArchivesEmployeePO {
|
||||||
|
|
||||||
private String telephone;
|
private String telephone;
|
||||||
|
|
||||||
|
private String idNo;
|
||||||
|
|
||||||
@I18n
|
@I18n
|
||||||
private String departmentName;
|
private String departmentName;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.engine.salary.entity.siexport.po;
|
||||||
|
|
||||||
import com.engine.salary.annotation.I18n;
|
import com.engine.salary.annotation.I18n;
|
||||||
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author weaver_cl
|
* @Author weaver_cl
|
||||||
|
|
@ -9,6 +10,7 @@ import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
||||||
* @Date 2022/3/7
|
* @Date 2022/3/7
|
||||||
* @Version V1.0
|
* @Version V1.0
|
||||||
**/
|
**/
|
||||||
|
@Data
|
||||||
public class AccountExportPO extends InsuranceAccountDetailPO {
|
public class AccountExportPO extends InsuranceAccountDetailPO {
|
||||||
|
|
||||||
@I18n
|
@I18n
|
||||||
|
|
@ -16,58 +18,12 @@ public class AccountExportPO extends InsuranceAccountDetailPO {
|
||||||
|
|
||||||
private String telephone;
|
private String telephone;
|
||||||
|
|
||||||
|
private String idNo;
|
||||||
|
|
||||||
@I18n
|
@I18n
|
||||||
private String departmentName;
|
private String departmentName;
|
||||||
|
|
||||||
private Integer userStatus;
|
private Integer userStatus;
|
||||||
|
|
||||||
private String workcode;
|
private String workcode;
|
||||||
|
|
||||||
public void setWorkcode(String workcode) {
|
|
||||||
this.workcode = workcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getWorkcode() {
|
|
||||||
return workcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getUserName() {
|
|
||||||
return userName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUserName(String userName) {
|
|
||||||
this.userName = userName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTelephone() {
|
|
||||||
return telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTelephone(String telephone) {
|
|
||||||
this.telephone = telephone;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDepartmentName() {
|
|
||||||
return departmentName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDepartmentName(String departmentName) {
|
|
||||||
this.departmentName = departmentName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getUserStatus() {
|
|
||||||
return userStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUserStatus(Integer userStatus) {
|
|
||||||
this.userStatus = userStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
// public UserStatusEnum getUserStatus() {
|
|
||||||
// return userStatus;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// public void setUserStatus(UserStatusEnum userStatus) {
|
|
||||||
// this.userStatus = userStatus;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -62,10 +62,16 @@ public class TaxAgentManageRangeEmployeeListDTO {
|
||||||
@ExcelProperty(index = 3)
|
@ExcelProperty(index = 3)
|
||||||
private String jobNum;
|
private String jobNum;
|
||||||
|
|
||||||
|
//
|
||||||
|
@SalaryTableColumn(text = "证件号码", width = "10%", column = "idNo")
|
||||||
|
@TableTitle(title = "证件号码", dataIndex = "idNo", key = "idNo")
|
||||||
|
@ExcelProperty(index = 4)
|
||||||
|
private String idNo;
|
||||||
|
|
||||||
//人员状态
|
//人员状态
|
||||||
@SalaryTableColumn(text = "员工状态", width = "10%", column = "employeeStatus")
|
@SalaryTableColumn(text = "员工状态", width = "10%", column = "employeeStatus")
|
||||||
@TableTitle(title = "员工状态", dataIndex = "employeeStatus", key = "employeeStatus")
|
@TableTitle(title = "员工状态", dataIndex = "employeeStatus", key = "employeeStatus")
|
||||||
@ExcelProperty(index = 4)
|
@ExcelProperty(index = 5)
|
||||||
private String employeeStatus;
|
private String employeeStatus;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ public enum FilterEnum implements BaseEnum<String> {
|
||||||
return StringUtils::isEmpty;
|
return StringUtils::isEmpty;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ISNOTEMPTY("ISNOTEMPTY", "包含", 1) {
|
ISNOTEMPTY("ISNOTEMPTY", "不为空", 1) {
|
||||||
@Override
|
@Override
|
||||||
public Predicate<String> filter(List<String> params) {
|
public Predicate<String> filter(List<String> params) {
|
||||||
return StringUtils::isNotEmpty;
|
return StringUtils::isNotEmpty;
|
||||||
|
|
|
||||||
|
|
@ -3,25 +3,25 @@ package com.engine.salary.enums.salaryaccounting;
|
||||||
import com.engine.salary.enums.BaseEnum;
|
import com.engine.salary.enums.BaseEnum;
|
||||||
|
|
||||||
|
|
||||||
public enum LockStatusEnum implements BaseEnum<String> {
|
public enum LockStatusEnum implements BaseEnum<Integer> {
|
||||||
DEFAULT("DEFAULT", "默认", 0),
|
LOCK(1, "LOCK", 0),
|
||||||
LOCK("LOCK", "锁定", 0),
|
UNLOCK(0, "UNLOCK", 0);
|
||||||
UNLOCK("UNLOCK", "未锁定", 0);
|
|
||||||
|
|
||||||
private String value;
|
private Integer value;
|
||||||
|
|
||||||
private String defaultLabel;
|
private String defaultLabel;
|
||||||
|
|
||||||
private int labelId;
|
private int labelId;
|
||||||
|
|
||||||
LockStatusEnum(String value, String defaultLabel, int labelId) {
|
|
||||||
|
LockStatusEnum(Integer value, String defaultLabel, int labelId) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
this.defaultLabel = defaultLabel;
|
this.defaultLabel = defaultLabel;
|
||||||
this.labelId = labelId;
|
this.labelId = labelId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getValue() {
|
public Integer getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -34,4 +34,13 @@ public enum LockStatusEnum implements BaseEnum<String> {
|
||||||
public String getDefaultLabel() {
|
public String getDefaultLabel() {
|
||||||
return defaultLabel;
|
return defaultLabel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static LockStatusEnum getByValue(Integer value) {
|
||||||
|
for (LockStatusEnum lockStatusEnum : LockStatusEnum.values()) {
|
||||||
|
if (lockStatusEnum.getValue().equals(value)) {
|
||||||
|
return lockStatusEnum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return UNLOCK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
e.MOBILE AS telephone,
|
e.MOBILE AS telephone,
|
||||||
d.departmentname AS departmentName,
|
d.departmentname AS departmentName,
|
||||||
e.STATUS AS userStatus,
|
e.STATUS AS userStatus,
|
||||||
|
e.certificatenum as idNo,
|
||||||
e.workcode AS workcode
|
e.workcode AS workcode
|
||||||
FROM (
|
FROM (
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|
@ -32,6 +33,7 @@
|
||||||
e.MOBILE AS telephone,
|
e.MOBILE AS telephone,
|
||||||
d.departmentname AS departmentName,
|
d.departmentname AS departmentName,
|
||||||
e.STATUS AS userStatus,
|
e.STATUS AS userStatus,
|
||||||
|
e.certificatenum as idNo,
|
||||||
e.workcode AS workcode
|
e.workcode AS workcode
|
||||||
FROM (
|
FROM (
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|
@ -57,6 +59,7 @@
|
||||||
e.MOBILE AS telephone,
|
e.MOBILE AS telephone,
|
||||||
d.departmentname AS departmentName,
|
d.departmentname AS departmentName,
|
||||||
e.STATUS AS userStatus,
|
e.STATUS AS userStatus,
|
||||||
|
e.certificatenum as idNo,
|
||||||
e.workcode AS workcode
|
e.workcode AS workcode
|
||||||
FROM (
|
FROM (
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|
@ -121,6 +124,7 @@
|
||||||
e.MOBILE AS telephone,
|
e.MOBILE AS telephone,
|
||||||
d.departmentname AS departmentName,
|
d.departmentname AS departmentName,
|
||||||
e.STATUS AS userStatus,
|
e.STATUS AS userStatus,
|
||||||
|
e.certificatenum as idNo,
|
||||||
e.workcode AS workcode
|
e.workcode AS workcode
|
||||||
FROM (
|
FROM (
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|
@ -147,6 +151,7 @@
|
||||||
e.MOBILE AS telephone,
|
e.MOBILE AS telephone,
|
||||||
d.departmentname AS departmentName,
|
d.departmentname AS departmentName,
|
||||||
e.STATUS AS userStatus,
|
e.STATUS AS userStatus,
|
||||||
|
e.certificatenum as idNo,
|
||||||
e.workcode AS workcode
|
e.workcode AS workcode
|
||||||
FROM (
|
FROM (
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|
@ -173,6 +178,7 @@
|
||||||
e.MOBILE AS telephone,
|
e.MOBILE AS telephone,
|
||||||
d.departmentname AS departmentName,
|
d.departmentname AS departmentName,
|
||||||
e.STATUS AS userStatus,
|
e.STATUS AS userStatus,
|
||||||
|
e.certificatenum as idNo,
|
||||||
e.workcode AS workcode
|
e.workcode AS workcode
|
||||||
FROM (
|
FROM (
|
||||||
SELECT *
|
SELECT *
|
||||||
|
|
|
||||||
|
|
@ -94,11 +94,13 @@
|
||||||
, t.employee_type
|
, t.employee_type
|
||||||
, e.mobile
|
, e.mobile
|
||||||
, e.workcode
|
, e.workcode
|
||||||
|
, e.certificatenum as idNo
|
||||||
, e.lastname as username
|
, e.lastname as username
|
||||||
, e.status AS employeeStatus
|
, e.status AS employeeStatus
|
||||||
, e.companystartdate as companystartdate
|
, e.companystartdate as companystartdate
|
||||||
, e.enddate as dismissdate
|
, e.enddate as dismissdate
|
||||||
, e.status AS employeeStatus
|
, e.status AS employeeStatus
|
||||||
|
,e.certificatenum as idNo
|
||||||
, d.departmentname AS departmentName
|
, d.departmentname AS departmentName
|
||||||
, c.subcompanyname AS subcompanyName
|
, c.subcompanyname AS subcompanyName
|
||||||
</sql>
|
</sql>
|
||||||
|
|
|
||||||
|
|
@ -163,7 +163,8 @@
|
||||||
e.lastname as username,
|
e.lastname as username,
|
||||||
d.departmentname AS departmentName,
|
d.departmentname AS departmentName,
|
||||||
e.mobile,
|
e.mobile,
|
||||||
e.workcode as job_num
|
e.workcode as job_num,
|
||||||
|
e.certificatenum as idNo
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="paramSql">
|
<sql id="paramSql">
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
e.status,
|
e.status,
|
||||||
e.mobile,
|
e.mobile,
|
||||||
e.workcode,
|
e.workcode,
|
||||||
|
e.certificatenum as idNo,
|
||||||
'false' as extEmp
|
'false' as extEmp
|
||||||
from hrmresource e
|
from hrmresource e
|
||||||
left join hrmdepartment d on e.departmentid = d.id
|
left join hrmdepartment d on e.departmentid = d.id
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 薪资核算人员
|
* 薪资核算人员
|
||||||
|
|
@ -16,7 +17,7 @@ import java.util.List;
|
||||||
* @author qiantao
|
* @author qiantao
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
**/
|
**/
|
||||||
public interface SalaryAcctEmployeeMapper {
|
public interface SalaryAcctEmployeeMapper {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量插入
|
* 批量插入
|
||||||
|
|
@ -117,4 +118,8 @@ public interface SalaryAcctEmployeeMapper {
|
||||||
* @return 返回记录,没有返回null
|
* @return 返回记录,没有返回null
|
||||||
*/
|
*/
|
||||||
SalaryAcctEmployeePO getById(Long id);
|
SalaryAcctEmployeePO getById(Long id);
|
||||||
|
|
||||||
|
void lockByAcctEmpIds(@Param("lockStatus") Integer lockStatus, @Param("acctEmpIds") Set<Long> acctEmpIds);
|
||||||
|
|
||||||
|
void lockByRecordId(@Param("lockStatus") Integer lockStatus, @Param("recordId") Long recordId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
<result column="delete_type" property="deleteType"/>
|
<result column="delete_type" property="deleteType"/>
|
||||||
<result column="tenant_key" property="tenantKey"/>
|
<result column="tenant_key" property="tenantKey"/>
|
||||||
<result column="employee_type" property="employeeType"/>
|
<result column="employee_type" property="employeeType"/>
|
||||||
|
<result column="lock_status" property="lockStatus"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="SalaryAccEmployeeCountMap"
|
<resultMap id="SalaryAccEmployeeCountMap"
|
||||||
|
|
@ -38,7 +39,8 @@
|
||||||
t.update_time,
|
t.update_time,
|
||||||
t.delete_type,
|
t.delete_type,
|
||||||
t.tenant_key,
|
t.tenant_key,
|
||||||
t.employee_type
|
t.employee_type,
|
||||||
|
t.lock_status
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="emp1Column">
|
<sql id="emp1Column">
|
||||||
|
|
@ -52,7 +54,7 @@
|
||||||
<insert id="batchInsert">
|
<insert id="batchInsert">
|
||||||
INSERT INTO hrsa_salary_acct_emp(
|
INSERT INTO hrsa_salary_acct_emp(
|
||||||
salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
|
salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
|
||||||
creator, create_time, update_time, delete_type, tenant_key,employee_type)
|
creator, create_time, update_time, delete_type, tenant_key,employee_type,lock_status)
|
||||||
VALUES
|
VALUES
|
||||||
<foreach collection="collection" item="emp" separator=",">
|
<foreach collection="collection" item="emp" separator=",">
|
||||||
(
|
(
|
||||||
|
|
@ -66,14 +68,15 @@
|
||||||
#{emp.updateTime},
|
#{emp.updateTime},
|
||||||
#{emp.deleteType},
|
#{emp.deleteType},
|
||||||
#{emp.tenantKey},
|
#{emp.tenantKey},
|
||||||
#{emp.employeeType}
|
#{emp.employeeType},
|
||||||
|
#{emp.lockStatus}
|
||||||
)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="batchInsert" databaseId="oracle">
|
<insert id="batchInsert" databaseId="oracle">
|
||||||
INSERT INTO hrsa_salary_acct_emp(
|
INSERT INTO hrsa_salary_acct_emp(
|
||||||
salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
|
salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
|
||||||
creator, create_time, update_time, delete_type, tenant_key,employee_type)
|
creator, create_time, update_time, delete_type, tenant_key,employee_type,lock_status)
|
||||||
|
|
||||||
<foreach collection="collection" item="emp" separator="union all">
|
<foreach collection="collection" item="emp" separator="union all">
|
||||||
select
|
select
|
||||||
|
|
@ -87,7 +90,8 @@
|
||||||
#{emp.updateTime,jdbcType=DATE},
|
#{emp.updateTime,jdbcType=DATE},
|
||||||
#{emp.deleteType,jdbcType=INTEGER},
|
#{emp.deleteType,jdbcType=INTEGER},
|
||||||
#{emp.tenantKey,jdbcType=VARCHAR},
|
#{emp.tenantKey,jdbcType=VARCHAR},
|
||||||
#{emp.employeeType,jdbcType=INTEGER}
|
#{emp.employeeType,jdbcType=INTEGER},
|
||||||
|
#{emp.lockStatus,jdbcType=INTEGER}
|
||||||
from dual
|
from dual
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
@ -95,7 +99,7 @@
|
||||||
<foreach collection="collection" item="emp" separator=";">
|
<foreach collection="collection" item="emp" separator=";">
|
||||||
INSERT INTO hrsa_salary_acct_emp(
|
INSERT INTO hrsa_salary_acct_emp(
|
||||||
salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
|
salary_acct_record_id, salary_sob_id, employee_id, tax_agent_id, salary_month,
|
||||||
creator, create_time, update_time, delete_type, tenant_key,employee_type)
|
creator, create_time, update_time, delete_type, tenant_key,employee_type,lock_status)
|
||||||
VALUES
|
VALUES
|
||||||
(
|
(
|
||||||
#{emp.salaryAcctRecordId},
|
#{emp.salaryAcctRecordId},
|
||||||
|
|
@ -108,7 +112,8 @@
|
||||||
#{emp.updateTime},
|
#{emp.updateTime},
|
||||||
#{emp.deleteType},
|
#{emp.deleteType},
|
||||||
#{emp.tenantKey},
|
#{emp.tenantKey},
|
||||||
#{emp.employeeType}
|
#{emp.employeeType},
|
||||||
|
#{emp.lockStatus}
|
||||||
)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
@ -1145,6 +1150,7 @@
|
||||||
<result column="update_time" property="updateTime"/>
|
<result column="update_time" property="updateTime"/>
|
||||||
<result column="delete_type" property="deleteType"/>
|
<result column="delete_type" property="deleteType"/>
|
||||||
<result column="tenant_key" property="tenantKey"/>
|
<result column="tenant_key" property="tenantKey"/>
|
||||||
|
<result column="lock_status" property="lockStatus"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 表字段 -->
|
<!-- 表字段 -->
|
||||||
|
|
@ -1163,6 +1169,7 @@
|
||||||
, t.delete_type
|
, t.delete_type
|
||||||
, t.tenant_key
|
, t.tenant_key
|
||||||
, t.employee_type
|
, t.employee_type
|
||||||
|
, t.lock_status
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1259,4 +1266,22 @@
|
||||||
FROM hrsa_salary_acct_emp t
|
FROM hrsa_salary_acct_emp t
|
||||||
WHERE id = #{id} AND delete_type = 0
|
WHERE id = #{id} AND delete_type = 0
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<update id="lockByAcctEmpIds">
|
||||||
|
UPDATE hrsa_salary_acct_emp
|
||||||
|
SET lock_status = #{lockStatus}
|
||||||
|
WHERE delete_type = 0
|
||||||
|
AND id IN
|
||||||
|
<foreach collection="acctEmpIds" open="(" item="acctEmpId" separator="," close=")">
|
||||||
|
#{acctEmpId}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="lockByRecordId">
|
||||||
|
UPDATE hrsa_salary_acct_emp
|
||||||
|
SET lock_status = #{lockStatus}
|
||||||
|
WHERE delete_type = 0
|
||||||
|
AND salary_acct_record_id =#{recordId}
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -116,6 +116,14 @@ public interface InsuranceAccountDetailMapper {
|
||||||
*/
|
*/
|
||||||
List<InsuranceAccountDetailPO> querySupplementListByBillMonth(@Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization);
|
List<InsuranceAccountDetailPO> querySupplementListByBillMonth(@Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询补差数据
|
||||||
|
* @param billMonth 账单月份
|
||||||
|
* @param paymentOrganization 个税扣缴义务人
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InsuranceAccountDetailPO> queryBalanceListByBillMonth(@Param("billMonth") String billMonth, @Param("paymentOrganization") Long paymentOrganization);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询正常缴纳数据
|
* 查询正常缴纳数据
|
||||||
* @param billMonth 账单月份
|
* @param billMonth 账单月份
|
||||||
|
|
|
||||||
|
|
@ -497,6 +497,7 @@
|
||||||
<select id="queryNormalList" resultMap="BaseResultMap">
|
<select id="queryNormalList" resultMap="BaseResultMap">
|
||||||
SELECT
|
SELECT
|
||||||
t.id,t.employee_id,t.social_per_json,t.social_com_json,
|
t.id,t.employee_id,t.social_per_json,t.social_com_json,
|
||||||
|
t.social_scheme_id,t.fund_scheme_id,t.other_scheme_id,
|
||||||
t.fund_per_json,t.fund_com_json,t.other_per_json,
|
t.fund_per_json,t.fund_com_json,t.other_per_json,
|
||||||
t.other_com_json,t.social_per_sum,t.social_com_sum,
|
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.fund_per_sum,t.fund_com_sum,t.other_per_sum,
|
||||||
|
|
@ -541,6 +542,17 @@
|
||||||
AND t.payment_organization = #{paymentOrganization}
|
AND t.payment_organization = #{paymentOrganization}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="queryBalanceListByBillMonth" resultMap="BaseResultMap">
|
||||||
|
SELECT
|
||||||
|
t.id,t.employee_id,t.supplementary_month,t.supplementary_projects
|
||||||
|
FROM
|
||||||
|
hrsa_bill_detail t
|
||||||
|
WHERE t.delete_type = 0
|
||||||
|
AND t.payment_status = 4
|
||||||
|
AND t.bill_month = #{billMonth}
|
||||||
|
AND t.payment_organization = #{paymentOrganization}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="queryNormalListByBillMonth" resultMap="BaseResultMap">
|
<select id="queryNormalListByBillMonth" resultMap="BaseResultMap">
|
||||||
SELECT
|
SELECT
|
||||||
t.id,t.employee_id
|
t.id,t.employee_id
|
||||||
|
|
|
||||||
|
|
@ -355,7 +355,7 @@
|
||||||
|
|
||||||
<select id="queryEmployeeList" resultType="com.engine.salary.entity.siarchives.po.InsuranceArchivesEmployeePO">
|
<select id="queryEmployeeList" resultType="com.engine.salary.entity.siarchives.po.InsuranceArchivesEmployeePO">
|
||||||
SELECT base.id AS baseInfoId, e.ID AS employeeId, e.lastname AS userName, e.departmentid AS departmentId, e.workcode AS jobNum, e.MOBILE AS telephone,
|
SELECT base.id AS baseInfoId, e.ID AS employeeId, e.lastname AS userName, e.departmentid AS departmentId, e.workcode AS jobNum, e.MOBILE AS telephone,
|
||||||
d.departmentname AS departmentName, e.jobtitle AS position, e.STATUS AS userStatus,e.companystartdate AS hiredate,
|
d.departmentname AS departmentName, e.jobtitle AS position, e.STATUS AS userStatus,e.companystartdate AS hiredate,e.certificatenum as idNo,
|
||||||
e.enddate as dimissionDate,
|
e.enddate as dimissionDate,
|
||||||
social.siSchemeId,
|
social.siSchemeId,
|
||||||
base.payment_organization AS paymentOrganization,
|
base.payment_organization AS paymentOrganization,
|
||||||
|
|
|
||||||
|
|
@ -746,7 +746,7 @@ public class SalaryStatisticsPushServiceImpl extends Service implements SalarySt
|
||||||
// 报表分享时间校验
|
// 报表分享时间校验
|
||||||
String formatLocalDateTime = SalaryDateUtil.getFormatLocalDate(LocalDateTime.now());
|
String formatLocalDateTime = SalaryDateUtil.getFormatLocalDate(LocalDateTime.now());
|
||||||
List<SalaryStatisticsPushPO> result = pushList.stream().filter(pushPO -> {
|
List<SalaryStatisticsPushPO> result = pushList.stream().filter(pushPO -> {
|
||||||
if (pushPO.getStartTime().compareTo(formatLocalDateTime) > 0 || (StringUtils.isNotEmpty(pushPO.getEndTime()) && pushPO.getEndTime().compareTo(formatLocalDateTime) < 0)) {
|
if ((StringUtils.isNotBlank(pushPO.getStartTime()) && pushPO.getStartTime().compareTo(formatLocalDateTime) > 0) || (StringUtils.isNotEmpty(pushPO.getEndTime()) && pushPO.getEndTime().compareTo(formatLocalDateTime) < 0)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -258,4 +258,10 @@ public interface SalaryAcctEmployeeService {
|
||||||
*/
|
*/
|
||||||
List<SalaryAcctEmployeePO> listByTaxAgentAndSalaryMonth(List<Long> taxAgentIds, Set<Date> salaryMonths);
|
List<SalaryAcctEmployeePO> listByTaxAgentAndSalaryMonth(List<Long> taxAgentIds, Set<Date> salaryMonths);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 锁定人员
|
||||||
|
* @param updateParam
|
||||||
|
*/
|
||||||
|
void lockEmp(SalaryAcctResultUpdateLockStatusParam updateParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,7 @@ public interface SalaryAcctResultService {
|
||||||
List<SalaryAcctResultPO> listBySalaryAcctRecordIdsAndTaxAgentIds(Collection<Long> salaryAcctRecordIds, Collection<Long> taxAgentIds);
|
List<SalaryAcctResultPO> listBySalaryAcctRecordIdsAndTaxAgentIds(Collection<Long> salaryAcctRecordIds, Collection<Long> taxAgentIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新锁定状态
|
* 锁定项目
|
||||||
*
|
*
|
||||||
* @param updateParam
|
* @param updateParam
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -86,9 +86,10 @@ public interface SalaryEmployeeService {
|
||||||
* @param deparmentName 部门
|
* @param deparmentName 部门
|
||||||
* @param mobile 手机号
|
* @param mobile 手机号
|
||||||
* @param workcode 工号
|
* @param workcode 工号
|
||||||
|
* @param idNo 身份证号
|
||||||
* @param uid 人员id
|
* @param uid 人员id
|
||||||
*/
|
*/
|
||||||
List<DataCollectionEmployee> matchImportEmployee(String confValue, List<DataCollectionEmployee> employeeList, String userName, String deparmentName, String mobile, String workcode, Long uid);
|
List<DataCollectionEmployee> matchImportEmployee(String confValue, List<DataCollectionEmployee> employeeList, String userName, String deparmentName, String mobile, String workcode, String idNo, Long uid);
|
||||||
|
|
||||||
String empValidType();
|
String empValidType();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,7 @@ public abstract class AbstractTaxAgentTaxReturnCheckService extends Service impl
|
||||||
String reqJson = JsonUtil.toJsonString(requestParam);
|
String reqJson = JsonUtil.toJsonString(requestParam);
|
||||||
Map<String, String> params = new HashMap<>(1);
|
Map<String, String> params = new HashMap<>(1);
|
||||||
Map<String, String> header = SingnatureData.initHeader(params, apiConfig.getAppKey(), apiConfig.getAppSecret());
|
Map<String, String> header = SingnatureData.initHeader(params, apiConfig.getAppKey(), apiConfig.getAppSecret());
|
||||||
|
log.info("getCompanyRegisterInfo params = {}", reqJson);
|
||||||
String res = HttpUtil.doPost(url, header, reqJson, HttpUtil.JSON_TYPE);
|
String res = HttpUtil.doPost(url, header, reqJson, HttpUtil.JSON_TYPE);
|
||||||
log.info("getCompanyRegisterInfo === res : {}", res);
|
log.info("getCompanyRegisterInfo === res : {}", res);
|
||||||
return JsonUtil.parseBean(res, CompanyRegisterInfoResponse.class);
|
return JsonUtil.parseBean(res, CompanyRegisterInfoResponse.class);
|
||||||
|
|
@ -190,6 +191,7 @@ public abstract class AbstractTaxAgentTaxReturnCheckService extends Service impl
|
||||||
String reqJson = JsonUtil.toJsonString(requestParam);
|
String reqJson = JsonUtil.toJsonString(requestParam);
|
||||||
Map<String, String> params = new HashMap<>(1);
|
Map<String, String> params = new HashMap<>(1);
|
||||||
Map<String, String> header = SingnatureData.initHeader(params, apiConfig.getAppKey(), apiConfig.getAppSecret());
|
Map<String, String> header = SingnatureData.initHeader(params, apiConfig.getAppKey(), apiConfig.getAppSecret());
|
||||||
|
log.info("checkPassword === res : {}", reqJson);
|
||||||
String res = HttpUtil.doPost(url, header, reqJson, HttpUtil.JSON_TYPE);
|
String res = HttpUtil.doPost(url, header, reqJson, HttpUtil.JSON_TYPE);
|
||||||
log.info("checkPassword === res : {}", res);
|
log.info("checkPassword === res : {}", res);
|
||||||
return JsonUtil.parseObject(res, CheckPasswordResponse.class);
|
return JsonUtil.parseObject(res, CheckPasswordResponse.class);
|
||||||
|
|
|
||||||
|
|
@ -296,9 +296,10 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
|
||||||
String deparmentName = dto.getDepartmentName();
|
String deparmentName = dto.getDepartmentName();
|
||||||
String mobile = dto.getMobile();
|
String mobile = dto.getMobile();
|
||||||
String workcode = dto.getJobNum();
|
String workcode = dto.getJobNum();
|
||||||
|
String idNo = dto.getIdNo();
|
||||||
|
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, idNo, null);
|
||||||
|
|
||||||
if (StringUtils.isBlank(userName) && "0".equals(confValue)) {
|
if (StringUtils.isBlank(userName) && "0".equals(confValue)) {
|
||||||
//姓名 不能为空
|
//姓名 不能为空
|
||||||
|
|
@ -1750,6 +1751,7 @@ public class AddUpDeductionServiceImpl extends Service implements AddUpDeduction
|
||||||
Map<String, String> params = new HashMap<>(1);
|
Map<String, String> params = new HashMap<>(1);
|
||||||
params.put("requestId", requestPO.getOuterRequestId());
|
params.put("requestId", requestPO.getOuterRequestId());
|
||||||
Map<String, String> header = SingnatureData.initHeader(Collections.emptyMap(), apiConfig.getAppKey(), apiConfig.getAppSecret());
|
Map<String, String> header = SingnatureData.initHeader(Collections.emptyMap(), apiConfig.getAppKey(), apiConfig.getAppSecret());
|
||||||
|
log.info("GET_QUERY_SPECIAL_AMOUNT_FEEDBACK params = {}", params);
|
||||||
String res = HttpUtil.getRequest(url, header, params);
|
String res = HttpUtil.getRequest(url, header, params);
|
||||||
log.info("GET_QUERY_SPECIAL_AMOUNT_FEEDBACK res = {}", res);
|
log.info("GET_QUERY_SPECIAL_AMOUNT_FEEDBACK res = {}", res);
|
||||||
return JsonUtil.parseObject(res, QuerySpecialAmountFeedbackResponse.class);
|
return JsonUtil.parseObject(res, QuerySpecialAmountFeedbackResponse.class);
|
||||||
|
|
|
||||||
|
|
@ -618,9 +618,10 @@ public class AddUpSituationServiceImpl extends Service implements AddUpSituation
|
||||||
String deparmentName = dto.getDepartmentName();
|
String deparmentName = dto.getDepartmentName();
|
||||||
String mobile = dto.getMobile();
|
String mobile = dto.getMobile();
|
||||||
String workcode = dto.getJobNum();
|
String workcode = dto.getJobNum();
|
||||||
|
String idNo = dto.getIdNo();
|
||||||
|
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, idNo,null);
|
||||||
|
|
||||||
//当人员信息导入筛选的全局配置为"0"时,姓名才是必填项
|
//当人员信息导入筛选的全局配置为"0"时,姓名才是必填项
|
||||||
if (StringUtils.isBlank(userName) && "0".equals(confValue)) {
|
if (StringUtils.isBlank(userName) && "0".equals(confValue)) {
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ import com.engine.salary.entity.salarysob.po.SalarySobRangePO;
|
||||||
import com.engine.salary.enums.OperateTypeEnum;
|
import com.engine.salary.enums.OperateTypeEnum;
|
||||||
import com.engine.salary.enums.UserStatusEnum;
|
import com.engine.salary.enums.UserStatusEnum;
|
||||||
import com.engine.salary.enums.datacollection.AttendQuoteSourceTypeEnum;
|
import com.engine.salary.enums.datacollection.AttendQuoteSourceTypeEnum;
|
||||||
|
import com.engine.salary.enums.datacollection.UseEmployeeTypeEnum;
|
||||||
import com.engine.salary.exception.SalaryRunTimeException;
|
import com.engine.salary.exception.SalaryRunTimeException;
|
||||||
import com.engine.salary.mapper.datacollection.AttendQuoteDataMapper;
|
import com.engine.salary.mapper.datacollection.AttendQuoteDataMapper;
|
||||||
import com.engine.salary.mapper.salarysob.SalarySobMapper;
|
import com.engine.salary.mapper.salarysob.SalarySobMapper;
|
||||||
|
|
@ -177,6 +178,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
|
||||||
map.put("departmentName", m.getDepartmentName());
|
map.put("departmentName", m.getDepartmentName());
|
||||||
map.put("mobile", m.getMobile());
|
map.put("mobile", m.getMobile());
|
||||||
map.put("jobNum", m.getJobNum());
|
map.put("jobNum", m.getJobNum());
|
||||||
|
map.put("idNo", m.getIdNo());
|
||||||
// 考勤数据
|
// 考勤数据
|
||||||
attendQuoteDataValues.stream().filter(a -> a.getAttendQuoteDataId().equals(m.getId())).collect(Collectors.toList()).forEach(e -> {
|
attendQuoteDataValues.stream().filter(a -> a.getAttendQuoteDataId().equals(m.getId())).collect(Collectors.toList()).forEach(e -> {
|
||||||
map.put(e.getAttendQuoteFieldId() + "_attendQuoteData", e.getDataValue());
|
map.put(e.getAttendQuoteFieldId() + "_attendQuoteData", e.getDataValue());
|
||||||
|
|
@ -551,6 +553,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
|
||||||
header.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
header.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
||||||
header.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
header.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||||
header.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
header.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||||
|
header.add(SalaryI18nUtil.getI18nLabel(86317, "证件号码"));
|
||||||
// 动态列
|
// 动态列
|
||||||
for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
for (AttendQuoteFieldPO attendQuoteField : attendQuoteFields) {
|
||||||
header.add(attendQuoteField.getFieldName());
|
header.add(attendQuoteField.getFieldName());
|
||||||
|
|
@ -630,7 +633,7 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
|
||||||
String confValue = (salarySysConfPO != null && salarySysConfPO.getConfValue() != null && !"".equals(salarySysConfPO.getConfValue())) ? salarySysConfPO.getConfValue() : "0";
|
String confValue = (salarySysConfPO != null && salarySysConfPO.getConfValue() != null && !"".equals(salarySysConfPO.getConfValue())) ? salarySysConfPO.getConfValue() : "0";
|
||||||
|
|
||||||
// 获取租户下所有的人员
|
// 获取租户下所有的人员
|
||||||
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listEmployee();
|
List<DataCollectionEmployee> employees = getSalaryEmployeeService(user).listAll(UseEmployeeTypeEnum.ALL);
|
||||||
// 获取已设置的可同步的考勤字段
|
// 获取已设置的可同步的考勤字段
|
||||||
List<AttendQuoteFieldPO> attendQuoteFields = getAttendQuoteSetFields(AttendQuoteSourceTypeEnum.IMPORT);
|
List<AttendQuoteFieldPO> attendQuoteFields = getAttendQuoteSetFields(AttendQuoteSourceTypeEnum.IMPORT);
|
||||||
// 生成获取考勤引用
|
// 生成获取考勤引用
|
||||||
|
|
@ -702,10 +705,11 @@ public class AttendQuoteDataServiceImpl extends Service implements AttendQuoteDa
|
||||||
String deparmentName = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86185, "部门"))).orElse("").toString();
|
String deparmentName = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86185, "部门"))).orElse("").toString();
|
||||||
String mobile = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86186, "手机号"))).orElse("").toString();
|
String mobile = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86186, "手机号"))).orElse("").toString();
|
||||||
String workcode = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86317, "工号"))).orElse("").toString();
|
String workcode = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86317, "工号"))).orElse("").toString();
|
||||||
|
String idNo = Optional.ofNullable(map.get(SalaryI18nUtil.getI18nLabel(86317, "证件号码"))).orElse("").toString();
|
||||||
List<Long> employeeSameIds = new ArrayList<>();
|
List<Long> employeeSameIds = new ArrayList<>();
|
||||||
|
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user).matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, idNo, null);
|
||||||
//含在职和离职,选在职数据
|
//含在职和离职,选在职数据
|
||||||
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
||||||
employeeSameIds = emps.stream()
|
employeeSameIds = emps.stream()
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,7 @@ public class ColumnBuildServiceImpl extends Service implements ColumnBuildServic
|
||||||
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86186, "手机号"), "mobile"));
|
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86186, "手机号"), "mobile"));
|
||||||
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 1933, "工号"), "workcode"));
|
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 1933, "工号"), "workcode"));
|
||||||
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86187, "员工状态"), "employeeStatus"));
|
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86187, "员工状态"), "employeeStatus"));
|
||||||
|
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 86187, "证件号码"), "idNo"));
|
||||||
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 100377, "数据来源"), "sourceFrom"));
|
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 100377, "数据来源"), "sourceFrom"));
|
||||||
if (paymentStatus.equals(PaymentStatusEnum.REPAIR.getValue())) {
|
if (paymentStatus.equals(PaymentStatusEnum.REPAIR.getValue())) {
|
||||||
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 100379, "补缴月份"), "supplementaryMonth"));
|
list.add(new WeaTableColumn("150px",SalaryI18nUtil.getI18nLabel( 100379, "补缴月份"), "supplementaryMonth"));
|
||||||
|
|
|
||||||
|
|
@ -251,10 +251,11 @@ public class OtherDeductionServiceImpl extends Service implements OtherDeduction
|
||||||
String deparmentName = dto.getDepartmentName();
|
String deparmentName = dto.getDepartmentName();
|
||||||
String mobile = dto.getMobile();
|
String mobile = dto.getMobile();
|
||||||
String workcode = dto.getJobNum();
|
String workcode = dto.getJobNum();
|
||||||
|
String idNo = dto.getIdNo();
|
||||||
List<Long> employeeSameIds = new ArrayList<>();
|
List<Long> employeeSameIds = new ArrayList<>();
|
||||||
|
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user).matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, idNo,null);
|
||||||
//含在职和离职,选在职数据
|
//含在职和离职,选在职数据
|
||||||
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
||||||
employeeSameIds = emps.stream()
|
employeeSameIds = emps.stream()
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import com.engine.salary.util.db.MapperProxyFactory;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import weaver.general.Util;
|
||||||
import weaver.hrm.User;
|
import weaver.hrm.User;
|
||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
|
@ -104,6 +105,7 @@ public class RecordsBuildServiceImpl extends Service implements RecordsBuildServ
|
||||||
record.put("employeeStatus", simpleEmployee.getStatus() != null ? UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(simpleEmployee.getStatus())) : "");
|
record.put("employeeStatus", simpleEmployee.getStatus() != null ? UserStatusEnum.getDefaultLabelByValue(Integer.parseInt(simpleEmployee.getStatus())) : "");
|
||||||
ResourceFromEnum from = SalaryEnumUtil.enumMatchByValue(item.getResourceFrom(), ResourceFromEnum.values(), ResourceFromEnum.class);
|
ResourceFromEnum from = SalaryEnumUtil.enumMatchByValue(item.getResourceFrom(), ResourceFromEnum.values(), ResourceFromEnum.class);
|
||||||
record.put("workcode", StringUtils.isBlank(simpleEmployee.getWorkcode()) ? "" : simpleEmployee.getWorkcode());
|
record.put("workcode", StringUtils.isBlank(simpleEmployee.getWorkcode()) ? "" : simpleEmployee.getWorkcode());
|
||||||
|
record.put("idNo", Util.null2String(simpleEmployee.getIdNo()));
|
||||||
record.put("sourceFrom", SalaryI18nUtil.getI18nLabel(from.getLabelId(), from.getDefaultLabel()));
|
record.put("sourceFrom", SalaryI18nUtil.getI18nLabel(from.getLabelId(), from.getDefaultLabel()));
|
||||||
record.put("socialPayOrg", paymentMap.get(item.getSocialPayOrg()) == null ? "" : paymentMap.get(item.getSocialPayOrg()).getName());
|
record.put("socialPayOrg", paymentMap.get(item.getSocialPayOrg()) == null ? "" : paymentMap.get(item.getSocialPayOrg()).getName());
|
||||||
record.put("socialAccount", item.getSocialAccount());
|
record.put("socialAccount", item.getSocialAccount());
|
||||||
|
|
|
||||||
|
|
@ -1592,10 +1592,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
"部门",
|
"部门",
|
||||||
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
||||||
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
||||||
|
SalaryI18nUtil.getI18nLabel(86317, "证件号码"),
|
||||||
SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"),
|
SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"),
|
||||||
"账单月份");
|
"账单月份");
|
||||||
// List<String> dataIndexList = Lists.newArrayList("username", "departmentName", "mobile", "workcode", "taxAgentName", "billMonth");
|
// List<String> dataIndexList = Lists.newArrayList("username", "departmentName", "mobile", "workcode", "taxAgentName", "billMonth");
|
||||||
List<String> dataIndexList = Lists.newArrayList("userName", "department", "mobile", "workcode", "socialPayOrg", "billMonth");
|
List<String> dataIndexList = Lists.newArrayList("userName", "department", "mobile", "workcode","idNo", "socialPayOrg", "billMonth");
|
||||||
// 查询福利核算项目
|
// 查询福利核算项目
|
||||||
List<String> welfareNames = (List<String>) param.getWelfareNames();
|
List<String> welfareNames = (List<String>) param.getWelfareNames();
|
||||||
headerList.addAll(welfareNames);
|
headerList.addAll(welfareNames);
|
||||||
|
|
@ -1758,6 +1759,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
String deparmentName = (String) map.getOrDefault("部门", "");
|
String deparmentName = (String) map.getOrDefault("部门", "");
|
||||||
String mobile = (String) map.getOrDefault("手机号", "");
|
String mobile = (String) map.getOrDefault("手机号", "");
|
||||||
String workcode = (String) map.getOrDefault("工号", "");
|
String workcode = (String) map.getOrDefault("工号", "");
|
||||||
|
String idNo = (String) map.getOrDefault("证件号码", "");
|
||||||
|
|
||||||
|
|
||||||
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
||||||
|
|
@ -1770,7 +1772,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,salaryEmployees, dataValue, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,salaryEmployees, dataValue, deparmentName, mobile, workcode,idNo, null);
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
||||||
isError = true;
|
isError = true;
|
||||||
|
|
@ -1985,10 +1987,11 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
"部门",
|
"部门",
|
||||||
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
||||||
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
||||||
|
SalaryI18nUtil.getI18nLabel(86317, "证件号码"),
|
||||||
SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"),
|
SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"),
|
||||||
"账单月份",
|
"账单月份",
|
||||||
"补缴月份");
|
"补缴月份");
|
||||||
List<String> dataIndexList = Lists.newArrayList("username", "departmentName", "mobile", "workcode", "taxAgentName", "billMonth", "supplementaryMonth");
|
List<String> dataIndexList = Lists.newArrayList("username", "departmentName", "mobile", "workcode","idNo", "taxAgentName", "billMonth", "supplementaryMonth");
|
||||||
// 查询福利核算项目
|
// 查询福利核算项目
|
||||||
List<String> welfareNames = (List<String>) param.getWelfareNames();
|
List<String> welfareNames = (List<String>) param.getWelfareNames();
|
||||||
headerList.addAll(welfareNames);
|
headerList.addAll(welfareNames);
|
||||||
|
|
@ -2043,6 +2046,41 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
resultMap.put("departmentName", employee.getDepartmentName());
|
resultMap.put("departmentName", employee.getDepartmentName());
|
||||||
resultMap.put("mobile", employee.getMobile());
|
resultMap.put("mobile", employee.getMobile());
|
||||||
resultMap.put("workcode", employee.getWorkcode());
|
resultMap.put("workcode", employee.getWorkcode());
|
||||||
|
resultMap.put("idNo", employee.getIdNo());
|
||||||
|
resultMap.put("taxAgentName", taxAgentPO.getName());
|
||||||
|
resultMap.put("billMonth", billMonth);
|
||||||
|
resultMap.put("supplementaryMonth", po.getSupplementaryMonth());
|
||||||
|
|
||||||
|
resultList.add(resultMap);
|
||||||
|
}
|
||||||
|
return resultList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取福利台账中的补差数据
|
||||||
|
* @param billMonth 账单月份
|
||||||
|
* @param paymentOrganization 个税扣缴义务人id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private List<Map<String, Object>> getBalanceDataByBillMonth(String billMonth, Long paymentOrganization) {
|
||||||
|
|
||||||
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
||||||
|
|
||||||
|
DataCollectionEmployee employee = new DataCollectionEmployee();
|
||||||
|
|
||||||
|
TaxAgentPO taxAgentPO = taxAgentBiz.getById(paymentOrganization);
|
||||||
|
|
||||||
|
List<InsuranceAccountDetailPO> balanceDataList = getInsuranceAccountDetailMapper().queryBalanceListByBillMonth(billMonth, paymentOrganization);
|
||||||
|
|
||||||
|
|
||||||
|
for(InsuranceAccountDetailPO po : balanceDataList) {
|
||||||
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
|
employee = getSalaryEmployeeService(user).getEmployeeById(po.getEmployeeId());
|
||||||
|
resultMap.put("username", employee.getUsername());
|
||||||
|
resultMap.put("departmentName", employee.getDepartmentName());
|
||||||
|
resultMap.put("mobile", employee.getMobile());
|
||||||
|
resultMap.put("workcode", employee.getWorkcode());
|
||||||
|
resultMap.put("idNo", employee.getIdNo());
|
||||||
resultMap.put("taxAgentName", taxAgentPO.getName());
|
resultMap.put("taxAgentName", taxAgentPO.getName());
|
||||||
resultMap.put("billMonth", billMonth);
|
resultMap.put("billMonth", billMonth);
|
||||||
resultMap.put("supplementaryMonth", po.getSupplementaryMonth());
|
resultMap.put("supplementaryMonth", po.getSupplementaryMonth());
|
||||||
|
|
@ -3036,6 +3074,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
String deparmentName = (String) map.getOrDefault("部门", "");
|
String deparmentName = (String) map.getOrDefault("部门", "");
|
||||||
String mobile = (String) map.getOrDefault("手机号", "");
|
String mobile = (String) map.getOrDefault("手机号", "");
|
||||||
String workcode = (String) map.getOrDefault("工号", "");
|
String workcode = (String) map.getOrDefault("工号", "");
|
||||||
|
String idNo = (String) map.getOrDefault("证件号码", "");
|
||||||
|
|
||||||
|
|
||||||
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
||||||
|
|
@ -3048,7 +3087,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,salaryEmployees, dataValue, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,salaryEmployees, dataValue, deparmentName, mobile, workcode, idNo,null);
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
||||||
isError = true;
|
isError = true;
|
||||||
|
|
@ -3463,6 +3502,16 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
Map<String, Object> resultMap = new HashMap<>();
|
Map<String, Object> resultMap = new HashMap<>();
|
||||||
// resultMap.put("data", dataMap);
|
// resultMap.put("data", dataMap);
|
||||||
// resultMap.put("items", addGroups);
|
// resultMap.put("items", addGroups);
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = new ArrayList<>();
|
||||||
|
List<Long> schemeIdList = new ArrayList<>();
|
||||||
|
schemeIdList.add(insuranceAccountDetailPO.getSocialSchemeId());
|
||||||
|
schemeIdList.add(insuranceAccountDetailPO.getFundSchemeId());
|
||||||
|
schemeIdList.add(insuranceAccountDetailPO.getOtherSchemeId());
|
||||||
|
schemeIdList = schemeIdList.stream().filter(schemeId -> schemeId != null).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isNotEmpty(schemeIdList)) {
|
||||||
|
insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(schemeIdList);
|
||||||
|
}
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
|
|
||||||
List<Map<String, String>> perList = new ArrayList<>();
|
List<Map<String, String>> perList = new ArrayList<>();
|
||||||
List<Map<String, String>> comList = new ArrayList<>();
|
List<Map<String, String>> comList = new ArrayList<>();
|
||||||
|
|
@ -3482,6 +3531,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
map.put("insuranceName", item.getLabel());
|
map.put("insuranceName", item.getLabel());
|
||||||
map.put("insuranceId", insuranceId);
|
map.put("insuranceId", insuranceId);
|
||||||
map.put("insuranceValue", dataMap.get(domkey[0]));
|
map.put("insuranceValue", dataMap.get(domkey[0]));
|
||||||
|
map.put("validNum", schemeValidNumMap.getOrDefault(insuranceId + "-2", 2).toString());
|
||||||
if (map.get("insuranceValue") != null && !"".equals(map.get("insuranceValue"))) {
|
if (map.get("insuranceValue") != null && !"".equals(map.get("insuranceValue"))) {
|
||||||
|
|
||||||
perList.add(map);
|
perList.add(map);
|
||||||
|
|
@ -3495,6 +3545,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
map.put("insuranceName", item.getLabel());
|
map.put("insuranceName", item.getLabel());
|
||||||
map.put("insuranceId", insuranceId);
|
map.put("insuranceId", insuranceId);
|
||||||
map.put("insuranceValue", dataMap.get(domkey[0]));
|
map.put("insuranceValue", dataMap.get(domkey[0]));
|
||||||
|
map.put("validNum", schemeValidNumMap.getOrDefault(insuranceId + "-1", 2).toString());
|
||||||
if (map.get("insuranceValue") != null && !"".equals(map.get("insuranceValue"))) {
|
if (map.get("insuranceValue") != null && !"".equals(map.get("insuranceValue"))) {
|
||||||
|
|
||||||
comList.add(map);
|
comList.add(map);
|
||||||
|
|
@ -3523,10 +3574,15 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
}
|
}
|
||||||
//对比可进行缴纳福利项与上面的已有福利项生成map
|
//对比可进行缴纳福利项与上面的已有福利项生成map
|
||||||
for (Map<String, String> balancePayItem : balancePaymentGroup) {
|
for (Map<String, String> balancePayItem : balancePaymentGroup) {
|
||||||
|
Map<String, Object> target = (Map<String, Object>)targetMap.get(balancePayItem.get("insuranceId") + "-" + balancePayItem.get("paymentScope"));
|
||||||
if (targetMap.get(balancePayItem.get("insuranceId") + "-" + balancePayItem.get("paymentScope")) == null) {
|
if (targetMap.get(balancePayItem.get("insuranceId") + "-" + balancePayItem.get("paymentScope")) == null) {
|
||||||
balancePayItem.put("insuranceValue", "");
|
balancePayItem.put("insuranceValue", "");
|
||||||
|
balancePayItem.put("validNum", balancePayItem.get("validNum"));
|
||||||
resultList.add(balancePayItem);
|
resultList.add(balancePayItem);
|
||||||
|
} else {
|
||||||
|
target.put("validNum", balancePayItem.get("validNum"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3759,28 +3815,26 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
"部门",
|
"部门",
|
||||||
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
||||||
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
SalaryI18nUtil.getI18nLabel(86317, "工号"),
|
||||||
|
SalaryI18nUtil.getI18nLabel(86317, "证件号码"),
|
||||||
SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人")
|
SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人")
|
||||||
);
|
);
|
||||||
List<String> dataIndexList = Lists.newArrayList("username", "departmentName", "mobile", "workcode", "taxAgentName");
|
List<String> dataIndexList = Lists.newArrayList("username", "departmentName", "mobile", "workcode","idNo", "taxAgentName");
|
||||||
// 查询福利核算项目
|
// 查询福利核算项目
|
||||||
List<String> welfareNames = (List<String>) param.getWelfareNames();
|
List<String> welfareNames = (List<String>) param.getWelfareNames();
|
||||||
headerList.addAll(welfareNames);
|
headerList.addAll(welfareNames);
|
||||||
|
|
||||||
// //查询当前已有的补缴数据
|
|
||||||
// List<Map<String, Object>> resultMapList = getSupplyDataByBillMonth(param.getBillMonth(), param.getPaymentOrganization());
|
|
||||||
// // excel导出的数据
|
|
||||||
// List<List<Object>> rows = Lists.newArrayListWithExpectedSize(resultMapList.size());
|
|
||||||
// rows.add(headerList);
|
|
||||||
// for (Map<String, Object> map : resultMapList) {
|
|
||||||
// List<Object> row = Lists.newArrayListWithExpectedSize(headerList.size());
|
|
||||||
// for (String dataIndex : dataIndexList) {
|
|
||||||
// row.add(map.getOrDefault(dataIndex, StringUtils.EMPTY));
|
|
||||||
// }
|
|
||||||
// rows.add(row);
|
|
||||||
// }
|
|
||||||
|
|
||||||
List<List<Object>> rows = new ArrayList<>();
|
List<List<Object>> rows = new ArrayList<>();
|
||||||
|
//查询当前已有的补差数据
|
||||||
|
List<Map<String, Object>> resultMapList = getBalanceDataByBillMonth(param.getBillMonth(), param.getPaymentOrganization());
|
||||||
|
// excel导出的数据
|
||||||
rows.add(headerList);
|
rows.add(headerList);
|
||||||
|
for (Map<String, Object> map : resultMapList) {
|
||||||
|
List<Object> row = Lists.newArrayListWithExpectedSize(headerList.size());
|
||||||
|
for (String dataIndex : dataIndexList) {
|
||||||
|
row.add(map.getOrDefault(dataIndex, StringUtils.EMPTY));
|
||||||
|
}
|
||||||
|
rows.add(row);
|
||||||
|
}
|
||||||
|
|
||||||
String sheetName = "福利核算-补差导入模板";
|
String sheetName = "福利核算-补差导入模板";
|
||||||
return ExcelUtil.genWorkbookV2(rows, sheetName);
|
return ExcelUtil.genWorkbookV2(rows, sheetName);
|
||||||
|
|
@ -3898,6 +3952,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
String departmentName = (String) map.getOrDefault("部门", "");
|
String departmentName = (String) map.getOrDefault("部门", "");
|
||||||
String mobile = (String) map.getOrDefault("手机号", "");
|
String mobile = (String) map.getOrDefault("手机号", "");
|
||||||
String workcode = (String) map.getOrDefault("工号", "");
|
String workcode = (String) map.getOrDefault("工号", "");
|
||||||
|
String idNo = (String) map.getOrDefault("证件号码", "");
|
||||||
|
|
||||||
|
|
||||||
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
||||||
|
|
@ -3910,7 +3965,7 @@ public class SIAccountServiceImpl extends Service implements SIAccountService {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,salaryEmployees, name, departmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue,salaryEmployees, name, departmentName, mobile, workcode,idNo, null);
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
||||||
isError = true;
|
isError = true;
|
||||||
|
|
|
||||||
|
|
@ -770,9 +770,7 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
|
||||||
if (insuranceArchivesEmployeePOS == null) {
|
if (insuranceArchivesEmployeePOS == null) {
|
||||||
insuranceArchivesEmployeePOS = new ArrayList<>();
|
insuranceArchivesEmployeePOS = new ArrayList<>();
|
||||||
}
|
}
|
||||||
// List<Map<String, Object>> records = siArchivesBiz.buildTableData(insuranceArchivesEmployeePOS);
|
|
||||||
List<Map<String, Object>> records = buildTableData(insuranceArchivesEmployeePOS);
|
List<Map<String, Object>> records = buildTableData(insuranceArchivesEmployeePOS);
|
||||||
// List<WeaTableColumn> columns = siArchivesBiz.buildWeaTableColumns(insuranceArchivesEmployeePOS, user.getUID());
|
|
||||||
List<WeaTableColumn> columns = buildWeaTableColumns(insuranceArchivesEmployeePOS);
|
List<WeaTableColumn> columns = buildWeaTableColumns(insuranceArchivesEmployeePOS);
|
||||||
|
|
||||||
//工作簿list
|
//工作簿list
|
||||||
|
|
@ -1699,6 +1697,7 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
|
||||||
map.put("subcompanyName", item.getSubcompanyName());
|
map.put("subcompanyName", item.getSubcompanyName());
|
||||||
map.put("departmentId", item.getDepartmentId());
|
map.put("departmentId", item.getDepartmentId());
|
||||||
map.put("jobNum", item.getJobNum());
|
map.put("jobNum", item.getJobNum());
|
||||||
|
map.put("idNo", item.getIdNo());
|
||||||
map.put("companystartdate", item.getCompanystartdate());
|
map.put("companystartdate", item.getCompanystartdate());
|
||||||
map.put("dismissdate", item.getDimissionDate());
|
map.put("dismissdate", item.getDimissionDate());
|
||||||
map.put("mobile", item.getTelephone());
|
map.put("mobile", item.getTelephone());
|
||||||
|
|
@ -1926,10 +1925,8 @@ public class SIArchivesServiceImpl extends Service implements SIArchivesService
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "手机号"), "mobile"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "手机号"), "mobile"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "员工状态"), "status"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "员工状态"), "status"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "工号"), "jobNum"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "工号"), "jobNum"));
|
||||||
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "证件号码"), "idNo"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "入职日期"), "companystartdate"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "入职日期"), "companystartdate"));
|
||||||
// list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "合同到期日期"), "dismissdate"));
|
|
||||||
|
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "社保方案名称"), "socialName"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "社保方案名称"), "socialName"));
|
||||||
titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k)));
|
titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k)));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "社保账号"), "socialAccount"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(0, "社保账号"), "socialAccount"));
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,11 @@ import com.alibaba.fastjson.JSON;
|
||||||
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
||||||
import com.engine.common.util.ServiceUtil;
|
import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.core.impl.Service;
|
import com.engine.core.impl.Service;
|
||||||
|
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||||
import com.engine.salary.config.SalaryElogConfig;
|
import com.engine.salary.config.SalaryElogConfig;
|
||||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
|
||||||
import com.engine.salary.encrypt.EncryptUtil;
|
import com.engine.salary.encrypt.EncryptUtil;
|
||||||
import com.engine.salary.entity.siaccount.param.BalanceAccountBaseParam;
|
import com.engine.salary.entity.siaccount.param.BalanceAccountBaseParam;
|
||||||
import com.engine.salary.entity.siaccount.param.EditAccountDetailParam;
|
|
||||||
import com.engine.salary.entity.siaccount.param.InspectAccountParam;
|
import com.engine.salary.entity.siaccount.param.InspectAccountParam;
|
||||||
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
|
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
|
||||||
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
||||||
|
|
@ -24,7 +23,6 @@ import com.engine.salary.enums.siaccount.ResourceFromEnum;
|
||||||
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
||||||
import com.engine.salary.enums.sicategory.IsPaymentEnum;
|
import com.engine.salary.enums.sicategory.IsPaymentEnum;
|
||||||
import com.engine.salary.enums.sicategory.PaymentScopeEnum;
|
import com.engine.salary.enums.sicategory.PaymentScopeEnum;
|
||||||
import com.engine.salary.enums.sicategory.WelfareTypeEnum;
|
|
||||||
import com.engine.salary.exception.SalaryRunTimeException;
|
import com.engine.salary.exception.SalaryRunTimeException;
|
||||||
import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper;
|
import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper;
|
||||||
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
|
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
|
||||||
|
|
@ -39,17 +37,15 @@ import com.engine.salary.service.SIAccountService;
|
||||||
import com.engine.salary.service.SIBalanceService;
|
import com.engine.salary.service.SIBalanceService;
|
||||||
import com.engine.salary.util.SalaryEntityUtil;
|
import com.engine.salary.util.SalaryEntityUtil;
|
||||||
import com.engine.salary.util.SalaryI18nUtil;
|
import com.engine.salary.util.SalaryI18nUtil;
|
||||||
|
import com.engine.salary.util.db.IdGenerator;
|
||||||
import com.engine.salary.util.db.MapperProxyFactory;
|
import com.engine.salary.util.db.MapperProxyFactory;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.engine.salary.util.db.IdGenerator;
|
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import weaver.hrm.User;
|
import weaver.hrm.User;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -175,6 +171,8 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
socialMap.forEach((k, v) -> {
|
socialMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -187,6 +185,7 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -198,6 +197,7 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -207,6 +207,8 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(fundSchemePO.getFundSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(fundSchemePO.getFundSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
fundMap.forEach((k, v) -> {
|
fundMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -219,6 +221,7 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -230,6 +233,7 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -239,6 +243,9 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(otherSchemePO.getOtherSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(otherSchemePO.getOtherSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
|
|
||||||
otherMap.forEach((k, v) -> {
|
otherMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -251,6 +258,7 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -262,6 +270,7 @@ public class SIBalanceServiceImpl extends Service implements SIBalanceService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -289,6 +289,7 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
||||||
record.put("supplementaryMonth", item.getSupplementaryMonth());
|
record.put("supplementaryMonth", item.getSupplementaryMonth());
|
||||||
record.put("mobile", item.getTelephone());
|
record.put("mobile", item.getTelephone());
|
||||||
record.put("workcode", item.getWorkcode());
|
record.put("workcode", item.getWorkcode());
|
||||||
|
record.put("idNo", item.getIdNo());
|
||||||
record.put("employeeStatus", item.getUserStatus() == null ? "" : getDefaultLabelByValue(item.getUserStatus()));
|
record.put("employeeStatus", item.getUserStatus() == null ? "" : getDefaultLabelByValue(item.getUserStatus()));
|
||||||
ResourceFromEnum from = SalaryEnumUtil.enumMatchByValue(item.getResourceFrom(), ResourceFromEnum.values(), ResourceFromEnum.class);
|
ResourceFromEnum from = SalaryEnumUtil.enumMatchByValue(item.getResourceFrom(), ResourceFromEnum.values(), ResourceFromEnum.class);
|
||||||
record.put("sourceFrom", SalaryI18nUtil.getI18nLabel(from.getLabelId(), from.getDefaultLabel()));
|
record.put("sourceFrom", SalaryI18nUtil.getI18nLabel(from.getLabelId(), from.getDefaultLabel()));
|
||||||
|
|
@ -671,6 +672,7 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86317, "工号"), "workcode"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86317, "工号"), "workcode"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "employeeStatus"));
|
||||||
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86187, "证件号码"), "idNo"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(100377, "数据来源"), "sourceFrom"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(100377, "数据来源"), "sourceFrom"));
|
||||||
if (paymentStatus.equals(PaymentStatusEnum.REPAIR.getValue())) {
|
if (paymentStatus.equals(PaymentStatusEnum.REPAIR.getValue())) {
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(100379, "补缴月份"), "supplementaryMonth"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(100379, "补缴月份"), "supplementaryMonth"));
|
||||||
|
|
|
||||||
|
|
@ -178,8 +178,7 @@ public class SIImportServiceImpl extends Service implements SIImportService {
|
||||||
// 4.注释
|
// 4.注释
|
||||||
List<ExcelComment> excelComments = Lists.newArrayList();
|
List<ExcelComment> excelComments = Lists.newArrayList();
|
||||||
excelComments.add(new ExcelComment(0, 0, 1, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
excelComments.add(new ExcelComment(0, 0, 1, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
||||||
excelComments.add(new ExcelComment(6, 0, 7, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
excelComments.add(new ExcelComment(8, 0, 9, 2, SalaryI18nUtil.getI18nLabel(100344, "社保,公积金,其他福利方案名称不可同时为空")));
|
||||||
excelComments.add(new ExcelComment(7, 0, 8, 2, SalaryI18nUtil.getI18nLabel(100344, "社保,公积金,其他福利方案名称不可同时为空")));
|
|
||||||
|
|
||||||
|
|
||||||
//工作簿数据
|
//工作簿数据
|
||||||
|
|
@ -203,6 +202,7 @@ public class SIImportServiceImpl extends Service implements SIImportService {
|
||||||
result.add(SalaryI18nUtil.getI18nLabel( 86186, "手机号"));
|
result.add(SalaryI18nUtil.getI18nLabel( 86186, "手机号"));
|
||||||
result.add(SalaryI18nUtil.getI18nLabel( 86187, "员工状态"));
|
result.add(SalaryI18nUtil.getI18nLabel( 86187, "员工状态"));
|
||||||
result.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
result.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||||
|
result.add(SalaryI18nUtil.getI18nLabel(86317, "证件号码"));
|
||||||
result.add(SalaryI18nUtil.getI18nLabel( 91323, "社保方案名称"));
|
result.add(SalaryI18nUtil.getI18nLabel( 91323, "社保方案名称"));
|
||||||
// result.add(SalaryI18nUtil.getI18nLabel( 91325, "社保缴纳组织"));
|
// result.add(SalaryI18nUtil.getI18nLabel( 91325, "社保缴纳组织"));
|
||||||
//社保福利基数
|
//社保福利基数
|
||||||
|
|
|
||||||
|
|
@ -28,10 +28,7 @@ import com.engine.salary.util.SalaryI18nUtil;
|
||||||
import com.engine.salary.util.db.MapperProxyFactory;
|
import com.engine.salary.util.db.MapperProxyFactory;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -230,6 +227,8 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
socialMap.forEach((k, v) -> {
|
socialMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -241,6 +240,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -251,6 +251,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -260,6 +261,8 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(fundSchemePO.getFundSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(fundSchemePO.getFundSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(fundSchemePO.getFundSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
fundMap.forEach((k, v) -> {
|
fundMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -271,6 +274,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -281,6 +285,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -290,6 +295,8 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(otherSchemePO.getOtherSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(otherSchemePO.getOtherSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(otherSchemePO.getOtherSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
otherMap.forEach((k, v) -> {
|
otherMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -301,6 +308,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -311,6 +319,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -322,6 +331,8 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> socialMap = JSON.parseObject(socialSchemePO.getSocialPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
socialMap.forEach((k, v) -> {
|
socialMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -333,6 +344,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -343,6 +355,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -358,6 +371,8 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
socialMap.forEach((k, v) -> {
|
socialMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -369,6 +384,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -379,6 +395,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -394,6 +411,8 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
socialMap.forEach((k, v) -> {
|
socialMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -405,6 +424,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -415,6 +435,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -430,6 +451,8 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(socialSchemePO.getSocialSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(socialSchemePO.getSocialSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
socialMap.forEach((k, v) -> {
|
socialMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -441,6 +464,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -451,6 +475,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -462,6 +487,9 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> fundMap = JSON.parseObject(fundSchemePO.getFundPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(fundSchemePO.getFundSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(fundSchemePO.getFundSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(fundSchemePO.getFundSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
|
|
||||||
fundMap.forEach((k, v) -> {
|
fundMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -473,6 +501,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -483,6 +512,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
@ -494,6 +524,9 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
Map<String, String> otherMap = JSON.parseObject(otherSchemePO.getOtherPaymentBaseString(), new HashMap<String, String>().getClass());
|
||||||
//查询该福利方案下开启缴纳的福利项
|
//查询该福利方案下开启缴纳的福利项
|
||||||
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(otherSchemePO.getOtherSchemeId());
|
List<String> insuranceIdAndScopeList = payInsuranceIdAndScopeList(otherSchemePO.getOtherSchemeId());
|
||||||
|
List<InsuranceSchemeDetailPO> insuranceSchemeDetailPOS = getInsuranceSchemeDetailMapper().listBySchemeIds(Collections.singletonList(otherSchemePO.getOtherSchemeId()));
|
||||||
|
Map<String, Integer> schemeValidNumMap = SalaryEntityUtil.convert2Map(insuranceSchemeDetailPOS, po -> po.getInsuranceId() + "-" + po.getPaymentScope(), InsuranceSchemeDetailPO::getValidNum);
|
||||||
|
|
||||||
otherMap.forEach((k, v) -> {
|
otherMap.forEach((k, v) -> {
|
||||||
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
String welfareTypeName = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "社保" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "公积金" : "企业年金及其它福利" );
|
||||||
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
String welfareTypeSign = welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 1 ? "social" : (welfareTypeMap.get(Long.valueOf(k)) != null && welfareTypeMap.get(Long.valueOf(k)) == 2 ? "fund" : "other" );
|
||||||
|
|
@ -505,6 +538,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
comMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
comMap.put("paymentScope", "公司");
|
comMap.put("paymentScope", "公司");
|
||||||
comMap.put("paymentScopeSign", "com");
|
comMap.put("paymentScopeSign", "com");
|
||||||
|
comMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_COMPANY.getValue(), 2).toString());
|
||||||
resultList.add(comMap);
|
resultList.add(comMap);
|
||||||
}
|
}
|
||||||
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
if (insuranceIdAndScopeList.contains(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue())) {
|
||||||
|
|
@ -515,6 +549,7 @@ public class SIRepairServiceImpl extends Service implements SIRepairService {
|
||||||
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
perMap.put("insuranceName", categoryNameMap.get(Long.valueOf(k)));
|
||||||
perMap.put("paymentScope", "个人");
|
perMap.put("paymentScope", "个人");
|
||||||
perMap.put("paymentScopeSign", "per");
|
perMap.put("paymentScopeSign", "per");
|
||||||
|
perMap.put("validNum",schemeValidNumMap.getOrDefault(k + "-" + PaymentScopeEnum.SCOPE_PERSON.getValue(), 2).toString());
|
||||||
resultList.add(perMap);
|
resultList.add(perMap);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -420,6 +420,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
||||||
map.put("departmentName", item.getDepartmentName());
|
map.put("departmentName", item.getDepartmentName());
|
||||||
map.put("departmentId", item.getDepartmentId());
|
map.put("departmentId", item.getDepartmentId());
|
||||||
map.put("jobNum", item.getJobNum());
|
map.put("jobNum", item.getJobNum());
|
||||||
|
map.put("idNo", item.getIdNo());
|
||||||
map.put("paymentOrganizationName", longTaxAgentPOMap.get(item.getPaymentOrganization()) != null ? longTaxAgentPOMap.get(item.getPaymentOrganization()).getName() : "");
|
map.put("paymentOrganizationName", longTaxAgentPOMap.get(item.getPaymentOrganization()) != null ? longTaxAgentPOMap.get(item.getPaymentOrganization()).getName() : "");
|
||||||
map.put("mobile", item.getTelephone());
|
map.put("mobile", item.getTelephone());
|
||||||
map.put("status", item.getUserStatus() == null ? "" : UserStatusEnum.getDefaultLabelByValue(item.getUserStatus()));
|
map.put("status", item.getUserStatus() == null ? "" : UserStatusEnum.getDefaultLabelByValue(item.getUserStatus()));
|
||||||
|
|
@ -700,6 +701,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86186, "手机号"), "mobile"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "status"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(86187, "员工状态"), "status"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(1933, "工号"), "jobNum"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(1933, "工号"), "jobNum"));
|
||||||
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(1933, "证件号码"), "idNo"));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91323, "社保方案名称"), "socialName"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91323, "社保方案名称"), "socialName"));
|
||||||
titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k)));
|
titleMap.get(WelfareTypeEnum.SOCIAL_SECURITY.getValue()).forEach((k, v) -> list.add(new WeaTableColumn("150px", v, k)));
|
||||||
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91324, "社保账号"), "socialAccount"));
|
list.add(new WeaTableColumn("150px", SalaryI18nUtil.getI18nLabel(91324, "社保账号"), "socialAccount"));
|
||||||
|
|
@ -1093,6 +1095,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
||||||
Map<String, Object> mobileMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
Map<String, Object> mobileMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||||
Map<String, Object> userStatusMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86187, "员工状态"));
|
Map<String, Object> userStatusMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86187, "员工状态"));
|
||||||
Map<String, Object> workcodeMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
Map<String, Object> workcodeMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||||
|
Map<String, Object> idNoMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86317, "证件号码"));
|
||||||
Map<String, Object> employeeIdMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86187, "员工id"));
|
Map<String, Object> employeeIdMap = findElement(singleAccount, SalaryI18nUtil.getI18nLabel(86187, "员工id"));
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1101,6 +1104,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
||||||
String mobile = (String) mobileMap.get(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
String mobile = (String) mobileMap.get(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||||
String userStatus = (String) userStatusMap.get(SalaryI18nUtil.getI18nLabel(86187, "员工状态"));
|
String userStatus = (String) userStatusMap.get(SalaryI18nUtil.getI18nLabel(86187, "员工状态"));
|
||||||
String workcode = (String) workcodeMap.get(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
String workcode = (String) workcodeMap.get(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||||
|
String idNo = (String) idNoMap.get(SalaryI18nUtil.getI18nLabel(86317, "证件号码"));
|
||||||
String toAddEmployeeId;
|
String toAddEmployeeId;
|
||||||
if (employeeIdMap.isEmpty()) {
|
if (employeeIdMap.isEmpty()) {
|
||||||
toAddEmployeeId = null;
|
toAddEmployeeId = null;
|
||||||
|
|
@ -1126,7 +1130,7 @@ public class SISchemeServiceImpl extends Service implements SISchemeService {
|
||||||
isError = true;
|
isError = true;
|
||||||
}
|
}
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
employees = getSalaryEmployeeService(user).matchImportEmployee(confValue,employeeByIds, userName, deparmentName, mobile, workcode, null);
|
employees = getSalaryEmployeeService(user).matchImportEmployee(confValue,employeeByIds, userName, deparmentName, mobile, workcode,idNo, null);
|
||||||
} else {
|
} else {
|
||||||
employees = employeeByIds.stream().filter(f -> f.getEmployeeId().equals(addEmployeeId)).collect(Collectors.toList());
|
employees = employeeByIds.stream().filter(f -> f.getEmployeeId().equals(addEmployeeId)).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ import com.engine.salary.util.SalaryEntityUtil;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.collections4.ListUtils;
|
|
||||||
import org.apache.commons.collections4.MapUtils;
|
import org.apache.commons.collections4.MapUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.math.NumberUtils;
|
import org.apache.commons.lang3.math.NumberUtils;
|
||||||
|
|
@ -167,7 +166,6 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
||||||
}
|
}
|
||||||
//核算锁定的值
|
//核算锁定的值
|
||||||
Map<String, SalaryAcctResultPO> salaryAcctLockResultPOS = MapUtils.emptyIfNull(salaryAcctCalculateBO.getSalaryAcctLockResultPOS());
|
Map<String, SalaryAcctResultPO> salaryAcctLockResultPOS = MapUtils.emptyIfNull(salaryAcctCalculateBO.getSalaryAcctLockResultPOS());
|
||||||
List<Long> lockSalaryItemIds = ListUtils.emptyIfNull(salaryAcctCalculateBO.getLockSalaryItemIds());
|
|
||||||
sw.stop();
|
sw.stop();
|
||||||
// 9、查询相同税款所属期内涉及合并计税的其他薪资核算结果
|
// 9、查询相同税款所属期内涉及合并计税的其他薪资核算结果
|
||||||
sw.start("查询相同税款所属期内涉及合并计税的其他薪资核算结果");
|
sw.start("查询相同税款所属期内涉及合并计税的其他薪资核算结果");
|
||||||
|
|
@ -257,7 +255,7 @@ public class SalaryAcctCalculateServiceImpl extends Service implements SalaryAcc
|
||||||
// 处理小数点
|
// 处理小数点
|
||||||
resultValue = SalaryAcctFormulaBO.roundResultValue(resultValue, salaryItemPO, salarySobBackItems, salarySobBackItemMap, salaryItemIdKeySalarySobItemPOMap);
|
resultValue = SalaryAcctFormulaBO.roundResultValue(resultValue, salaryItemPO, salarySobBackItems, salarySobBackItemMap, salaryItemIdKeySalarySobItemPOMap);
|
||||||
//是否锁定
|
//是否锁定
|
||||||
if (lockSalaryItemIds.contains(salaryItemId) && salaryAcctLockResultPOS.get(salaryItemId + "_" + salaryAcctEmployeePOId) != null) {
|
if (salaryAcctLockResultPOS.get(salaryItemId + "_" + salaryAcctEmployeePOId) != null) {
|
||||||
resultValue = salaryAcctLockResultPOS.get(salaryItemId + "_" + salaryAcctEmployeePOId).getResultValue();
|
resultValue = salaryAcctLockResultPOS.get(salaryItemId + "_" + salaryAcctEmployeePOId).getResultValue();
|
||||||
}
|
}
|
||||||
// 将已经计算过的薪资项目的值转换成公式变量的值添加到集合中
|
// 将已经计算过的薪资项目的值转换成公式变量的值添加到集合中
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO;
|
||||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||||
import com.engine.salary.enums.OperateTypeEnum;
|
import com.engine.salary.enums.OperateTypeEnum;
|
||||||
|
import com.engine.salary.enums.salaryaccounting.LockStatusEnum;
|
||||||
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
||||||
import com.engine.salary.exception.SalaryRunTimeException;
|
import com.engine.salary.exception.SalaryRunTimeException;
|
||||||
import com.engine.salary.mapper.salaryacct.SalaryAcctEmployeeMapper;
|
import com.engine.salary.mapper.salaryacct.SalaryAcctEmployeeMapper;
|
||||||
|
|
@ -228,7 +229,7 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
||||||
BeanUtils.copyProperties(queryParam, salaryAcctEmployeeQueryParam);
|
BeanUtils.copyProperties(queryParam, salaryAcctEmployeeQueryParam);
|
||||||
// 查询薪资核算人员(分页)
|
// 查询薪资核算人员(分页)
|
||||||
// 如果需要筛选是否合并计税
|
// 如果需要筛选是否合并计税
|
||||||
if (StringUtils.isNotEmpty(queryParam.getConsolidatedTaxation())) {
|
if (StringUtils.isNotEmpty(queryParam.getConsolidatedTaxation()) && queryParam.getConsolidatedTaxation().equals("1")) {
|
||||||
return listPageByParam4ConsolidatedTax(salaryAcctEmployeeQueryParam);
|
return listPageByParam4ConsolidatedTax(salaryAcctEmployeeQueryParam);
|
||||||
} else {
|
} else {
|
||||||
return listPageByParam(salaryAcctEmployeeQueryParam);
|
return listPageByParam(salaryAcctEmployeeQueryParam);
|
||||||
|
|
@ -702,19 +703,19 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
||||||
// }
|
// }
|
||||||
// list = list.stream().filter(po -> employeeIdsByPostionFilter.contains(po.getEmployeeId())).collect(Collectors.toList());
|
// list = list.stream().filter(po -> employeeIdsByPostionFilter.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||||
// }
|
// }
|
||||||
// 人事状态过滤
|
// 人事状态过滤
|
||||||
if (CollectionUtils.isNotEmpty(param.getStatus())) {
|
if (CollectionUtils.isNotEmpty(param.getStatus())) {
|
||||||
Set<Long> employeeIdsByStatus = new HashSet<>();
|
Set<Long> employeeIdsByStatus = new HashSet<>();
|
||||||
employeeList.forEach(simpleEmployee -> {
|
employeeList.forEach(simpleEmployee -> {
|
||||||
if (simpleEmployee.getStatus() != null && param.getStatus().contains(simpleEmployee.getStatus())) {
|
if (simpleEmployee.getStatus() != null && param.getStatus().contains(simpleEmployee.getStatus())) {
|
||||||
employeeIdsByStatus.add(simpleEmployee.getEmployeeId());
|
employeeIdsByStatus.add(simpleEmployee.getEmployeeId());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (CollectionUtils.isEmpty(employeeIdsByStatus)) {
|
if (CollectionUtils.isEmpty(employeeIdsByStatus)) {
|
||||||
return Lists.newArrayList();
|
return Lists.newArrayList();
|
||||||
}
|
}
|
||||||
list = list.stream().filter(po -> employeeIdsByStatus.contains(po.getEmployeeId())).collect(Collectors.toList());
|
list = list.stream().filter(po -> employeeIdsByStatus.contains(po.getEmployeeId())).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
// 入职日期
|
// 入职日期
|
||||||
if (CollectionUtils.isNotEmpty(param.getHiredate())) {
|
if (CollectionUtils.isNotEmpty(param.getHiredate())) {
|
||||||
Set<Long> employeeIdsByHiredate = new HashSet<>();
|
Set<Long> employeeIdsByHiredate = new HashSet<>();
|
||||||
|
|
@ -759,4 +760,32 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
|
||||||
return getSalaryAcctEmployeeMapper().listSome(SalaryAcctEmployeePO.builder().taxAgentIds(taxAgentIds).salaryMonths(salaryMonths).build());
|
return getSalaryAcctEmployeeMapper().listSome(SalaryAcctEmployeePO.builder().taxAgentIds(taxAgentIds).salaryMonths(salaryMonths).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void lockEmp(SalaryAcctResultUpdateLockStatusParam updateParam) {
|
||||||
|
// 查询薪资核算记录
|
||||||
|
SalaryAcctRecordPO salaryAcctRecord = getSalaryAcctRecordService(user).getById(updateParam.getSalaryAcctRecordId());
|
||||||
|
if (CollectionUtils.isEmpty(salaryAcctRecord.getLockSalaryItemIds())) {
|
||||||
|
salaryAcctRecord.setLockSalaryItemIds(new ArrayList<>());
|
||||||
|
}
|
||||||
|
List<SalaryAcctEmployeePO> salaryAcctEmployees = listBySalaryAcctRecordId(updateParam.getSalaryAcctRecordId());
|
||||||
|
if (CollectionUtils.isEmpty(salaryAcctEmployees)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
LockStatusEnum lockStatus = updateParam.getLockStatus();
|
||||||
|
if (lockStatus == null) {
|
||||||
|
throw new SalaryRunTimeException("锁定状态异常!");
|
||||||
|
}
|
||||||
|
|
||||||
|
Set<Long> acctEmpIds = updateParam.getAcctEmpIds();
|
||||||
|
if (CollUtil.isNotEmpty(acctEmpIds)) {
|
||||||
|
//锁定指定人员
|
||||||
|
getSalaryAcctEmployeeMapper().lockByAcctEmpIds(lockStatus.getValue(), acctEmpIds);
|
||||||
|
} else {
|
||||||
|
//锁定全部
|
||||||
|
getSalaryAcctEmployeeMapper().lockByRecordId(lockStatus.getValue(), updateParam.getSalaryAcctRecordId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -727,6 +727,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
||||||
headerRangeList.add("username");
|
headerRangeList.add("username");
|
||||||
headerRangeList.add("mobile");
|
headerRangeList.add("mobile");
|
||||||
headerRangeList.add("workcode");
|
headerRangeList.add("workcode");
|
||||||
|
headerRangeList.add("idNo");
|
||||||
headerRangeList.add("taxAgentName");
|
headerRangeList.add("taxAgentName");
|
||||||
headerRangeList.add("departmentName");
|
headerRangeList.add("departmentName");
|
||||||
// 查询列表的表头
|
// 查询列表的表头
|
||||||
|
|
@ -1125,6 +1126,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
||||||
String deparmentName = (String) map.getOrDefault("部门", "");
|
String deparmentName = (String) map.getOrDefault("部门", "");
|
||||||
String mobile = (String) map.getOrDefault("手机号", "");
|
String mobile = (String) map.getOrDefault("手机号", "");
|
||||||
String workcode = (String) map.getOrDefault("工号", "");
|
String workcode = (String) map.getOrDefault("工号", "");
|
||||||
|
String idNo = (String) map.getOrDefault("证件号码", "");
|
||||||
|
|
||||||
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
if (StringUtils.equals(SalaryI18nUtil.getI18nLabel(85429, "姓名"), dataKey.toString())) {
|
||||||
usernameIndex = j;
|
usernameIndex = j;
|
||||||
|
|
@ -1136,7 +1138,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
||||||
//salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(102838, "姓名不能为空"), i, i, j, j);
|
//salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(102838, "姓名不能为空"), i, i, j, j);
|
||||||
} else {
|
} else {
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, salaryEmployees, dataValue, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, salaryEmployees, dataValue, deparmentName, mobile, workcode,idNo, null);
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
||||||
isError = true;
|
isError = true;
|
||||||
|
|
@ -1380,12 +1382,6 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
||||||
loggerContext.setOldValueList(list4log);
|
loggerContext.setOldValueList(list4log);
|
||||||
SalaryElogConfig.salaryAcctRecordLoggerTemplate.write(loggerContext);
|
SalaryElogConfig.salaryAcctRecordLoggerTemplate.write(loggerContext);
|
||||||
|
|
||||||
// 存储薪资核算结果数据来源日志
|
|
||||||
new Thread() {
|
|
||||||
public void run() {
|
|
||||||
handleSalaryAcctResultLog(salaryAcctResults);
|
|
||||||
}
|
|
||||||
}.start();
|
|
||||||
//报表
|
//报表
|
||||||
getSalaryAcctReportService(user).batchSave(salaryAcctReports);
|
getSalaryAcctReportService(user).batchSave(salaryAcctReports);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.engine.salary.service.impl;
|
package com.engine.salary.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.engine.common.util.ServiceUtil;
|
import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.core.impl.Service;
|
import com.engine.core.impl.Service;
|
||||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
import com.engine.hrmelog.entity.dto.LoggerContext;
|
||||||
|
|
@ -561,7 +562,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
||||||
}
|
}
|
||||||
Map<String, SalaryAcctResultListColumnDTO> resultMap = Maps.newHashMap();
|
Map<String, SalaryAcctResultListColumnDTO> resultMap = Maps.newHashMap();
|
||||||
// 查询薪资核算使用的薪资账套下的薪资项目
|
// 查询薪资核算使用的薪资账套下的薪资项目
|
||||||
SalarySobItemAggregateDTO salarySobItemAggregateDTO = getSalarySobItemService(user).getAggregateByRecordId(salaryAcctRecordId,true);
|
SalarySobItemAggregateDTO salarySobItemAggregateDTO = getSalarySobItemService(user).getAggregateByRecordId(salaryAcctRecordId, true);
|
||||||
for (SalarySobItemIncomeCategoryDTO incomeCategoryDTO : salarySobItemAggregateDTO.getIncomeCategories()) {
|
for (SalarySobItemIncomeCategoryDTO incomeCategoryDTO : salarySobItemAggregateDTO.getIncomeCategories()) {
|
||||||
for (SalarySobItemGroupDTO salarySobItemGroupDTO : incomeCategoryDTO.getItemGroups()) {
|
for (SalarySobItemGroupDTO salarySobItemGroupDTO : incomeCategoryDTO.getItemGroups()) {
|
||||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemGroupDTO.getItems()) {
|
for (SalarySobItemDTO salarySobItemDTO : salarySobItemGroupDTO.getItems()) {
|
||||||
|
|
@ -647,7 +648,6 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
||||||
|
|
||||||
// 存储薪资核算结果数据来源日志
|
// 存储薪资核算结果数据来源日志
|
||||||
salaryAcctResultPOS = getSalaryAcctRecordService(user).listBySalaryAcctEmpId(saveParam.getSalaryAcctEmpId());
|
salaryAcctResultPOS = getSalaryAcctRecordService(user).listBySalaryAcctEmpId(saveParam.getSalaryAcctEmpId());
|
||||||
saveSalaryAcctResultLog(salaryAcctResultPOSOld, salaryAcctResultPOS);
|
|
||||||
|
|
||||||
// 查询操作日志的targetName
|
// 查询操作日志的targetName
|
||||||
String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(salaryAcctEmployeePO.getSalaryAcctRecordId());
|
String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(salaryAcctEmployeePO.getSalaryAcctRecordId());
|
||||||
|
|
@ -724,7 +724,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void calculate(SalaryAcctCalculateParam calculateParam, DataCollectionEmployee simpleEmployee) {
|
public void calculate(SalaryAcctCalculateParam calculateParam, DataCollectionEmployee simpleEmployee) {
|
||||||
StopWatch stopWatch = new StopWatch("总核算耗时,id:"+calculateParam.getSalaryAcctRecordId());
|
StopWatch stopWatch = new StopWatch("总核算耗时,id:" + calculateParam.getSalaryAcctRecordId());
|
||||||
try {
|
try {
|
||||||
stopWatch.start("数据准备");
|
stopWatch.start("数据准备");
|
||||||
// 1、查询薪资核算记录
|
// 1、查询薪资核算记录
|
||||||
|
|
@ -766,15 +766,6 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
||||||
// 7、查询考勤引用的所有字段
|
// 7、查询考勤引用的所有字段
|
||||||
List<AttendQuoteFieldListDTO> attendQuoteFieldListDTOS = getAttendQuoteFieldService(user).listAll();
|
List<AttendQuoteFieldListDTO> attendQuoteFieldListDTOS = getAttendQuoteFieldService(user).listAll();
|
||||||
|
|
||||||
//核算锁定值
|
|
||||||
List<Long> lockSalaryItemIds = salaryAcctRecordPO.getLockSalaryItemIds();
|
|
||||||
Map<String, SalaryAcctResultPO> acctResults = new HashMap<>();
|
|
||||||
if (CollectionUtils.isNotEmpty(lockSalaryItemIds)) {
|
|
||||||
List<SalaryAcctResultPO> acctResultPOS = listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singleton(calculateParam.getSalaryAcctRecordId()), lockSalaryItemIds);
|
|
||||||
// List<SalaryAcctResultPO> acctResultPOS = listBySalaryAcctRecordIds(Collections.singleton(calculateParam.getSalaryAcctRecordId()));
|
|
||||||
acctResults = Optional.ofNullable(acctResultPOS).orElse(new ArrayList<>()).stream().filter(po -> lockSalaryItemIds.contains(po.getSalaryItemId())).collect(Collectors.toMap(po -> po.getSalaryItemId() + "_" + po.getSalaryAcctEmpId(), a -> a, (a, b) -> a));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 8、查询公式详情
|
// 8、查询公式详情
|
||||||
Set<Long> formulaIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getFormulaId);
|
Set<Long> formulaIds = SalaryEntityUtil.properties(salarySobItemPOS, SalarySobItemPO::getFormulaId);
|
||||||
formulaIds.addAll(SalaryEntityUtil.properties(salaryItemPOS, SalaryItemPO::getFormulaId));
|
formulaIds.addAll(SalaryEntityUtil.properties(salaryItemPOS, SalaryItemPO::getFormulaId));
|
||||||
|
|
@ -799,6 +790,20 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
||||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(103378, "薪资核算人员不能为空"));
|
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(103378, "薪资核算人员不能为空"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//核算锁定值
|
||||||
|
List<Long> lockSalaryItemIds = salaryAcctRecordPO.getLockSalaryItemIds();
|
||||||
|
Map<String, SalaryAcctResultPO> acctResults = new HashMap<>();
|
||||||
|
if (CollUtil.isNotEmpty(lockSalaryItemIds)) {
|
||||||
|
List<SalaryAcctResultPO> acctResultPOS = listBySalaryAcctRecordIdsAndSalaryItemIds(Collections.singleton(calculateParam.getSalaryAcctRecordId()), lockSalaryItemIds);
|
||||||
|
acctResults = Optional.ofNullable(acctResultPOS).orElse(new ArrayList<>()).stream().filter(po -> lockSalaryItemIds.contains(po.getSalaryItemId())).collect(Collectors.toMap(po -> po.getSalaryItemId() + "_" + po.getSalaryAcctEmpId(), a -> a, (a, b) -> a));
|
||||||
|
}
|
||||||
|
List<Long> lockEmpIds = salaryAcctEmployeePOS.stream().filter(po -> LockStatusEnum.LOCK.getValue().equals(po.getLockStatus())).map(SalaryAcctEmployeePO::getId).collect(Collectors.toList());
|
||||||
|
if(CollUtil.isNotEmpty(lockEmpIds)){
|
||||||
|
List<SalaryAcctResultPO> acctResultPOS = listBySalaryAcctEmployeeIds(lockEmpIds);
|
||||||
|
Map<String, SalaryAcctResultPO> acctResultMaps = Optional.ofNullable(acctResultPOS).orElse(new ArrayList<>()).stream().collect(Collectors.toMap(po -> po.getSalaryItemId() + "_" + po.getSalaryAcctEmpId(), a -> a, (a, b) -> a));
|
||||||
|
acctResults.putAll(acctResultMaps);
|
||||||
|
}
|
||||||
|
|
||||||
stopWatch.stop();
|
stopWatch.stop();
|
||||||
stopWatch.start("核算耗时");
|
stopWatch.start("核算耗时");
|
||||||
|
|
||||||
|
|
@ -874,16 +879,7 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
|
||||||
|
|
||||||
stopWatch.stop();
|
stopWatch.stop();
|
||||||
log.info(stopWatch.prettyPrint());
|
log.info(stopWatch.prettyPrint());
|
||||||
// 存储薪资核算数据来源日志
|
|
||||||
new Thread() {
|
|
||||||
public void run() {
|
|
||||||
List<Long> exceptItemIds = new ArrayList<>();
|
|
||||||
List<Long> salaryAcctEmployeeIds = salaryAcctEmployeePOS.stream().map(SalaryAcctEmployeePO::getId).collect(Collectors.toList());
|
|
||||||
exceptItemIds.addAll(lockSalaryItemIds);
|
|
||||||
exceptItemIds.addAll(salaryItemPOS.stream().filter(PO -> Objects.equals(PO.getValueType(), NumberUtils.INTEGER_ONE) && Objects.equals(PO.getUseInEmployeeSalary(), 0)).map(SalaryItemPO::getId).collect(Collectors.toList()));
|
|
||||||
getSalaryAcctResultLogService(user).deleteBySalaryAcctEmpIdExceptItemIds(salaryAcctEmployeeIds, exceptItemIds);
|
|
||||||
}
|
|
||||||
}.start();
|
|
||||||
// 记录日志
|
// 记录日志
|
||||||
// 查询操作日志的targetName
|
// 查询操作日志的targetName
|
||||||
String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(calculateParam.getSalaryAcctRecordId());
|
String targetName = getSalaryAcctRecordService(user).getLogTargetNameById(calculateParam.getSalaryAcctRecordId());
|
||||||
|
|
|
||||||
|
|
@ -277,6 +277,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
||||||
header.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
header.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
||||||
header.add(SalaryI18nUtil.getI18nLabel(1933, "工号"));
|
header.add(SalaryI18nUtil.getI18nLabel(1933, "工号"));
|
||||||
header.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
header.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||||
|
header.add(SalaryI18nUtil.getI18nLabel(86186, "证件号码"));
|
||||||
header.add(SalaryI18nUtil.getI18nLabel(15890, "员工状态"));
|
header.add(SalaryI18nUtil.getI18nLabel(15890, "员工状态"));
|
||||||
// if (enableHr) {
|
// if (enableHr) {
|
||||||
// header.add(SalaryI18nUtil.getI18nLabel(106277, "身份证号码"));
|
// header.add(SalaryI18nUtil.getI18nLabel(106277, "身份证号码"));
|
||||||
|
|
@ -335,6 +336,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
||||||
row.add(Optional.ofNullable(e.get("departmentName")).orElse("").toString());
|
row.add(Optional.ofNullable(e.get("departmentName")).orElse("").toString());
|
||||||
row.add(Optional.ofNullable(e.get("workcode")).orElse("").toString());
|
row.add(Optional.ofNullable(e.get("workcode")).orElse("").toString());
|
||||||
row.add(e.get("mobile") == null ? "" : e.get("mobile").toString());
|
row.add(e.get("mobile") == null ? "" : e.get("mobile").toString());
|
||||||
|
row.add(Util.null2String(e.get("idNo")));
|
||||||
row.add(Util.null2String(e.get("employeeStatus")));
|
row.add(Util.null2String(e.get("employeeStatus")));
|
||||||
// if (enableHr) {
|
// if (enableHr) {
|
||||||
// row.add(Optional.ofNullable(e.get("idNo")).orElse("").toString());
|
// row.add(Optional.ofNullable(e.get("idNo")).orElse("").toString());
|
||||||
|
|
@ -380,16 +382,16 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch
|
||||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, requireI18n + ',' + SalaryI18nUtil.getI18nLabel(127641, "多个账套之间用,分隔"), 0, 0, 3, 3);
|
// SalaryArchiveExcelBO.createExcelComment(excelComments, requireI18n + ',' + SalaryI18nUtil.getI18nLabel(127641, "多个账套之间用,分隔"), 0, 0, 3, 3);
|
||||||
// int i = enableHr ? 10 : 9;
|
// int i = enableHr ? 10 : 9;
|
||||||
if (isPendingList) {
|
if (isPendingList) {
|
||||||
excelComments.add(new ExcelComment(6, 0, 8, 2, SalaryI18nUtil.getI18nLabel(100458, "格式样例为'2022-01-01'、'2022/1/1'")));
|
excelComments.add(new ExcelComment(7, 0, 9, 2, SalaryI18nUtil.getI18nLabel(100458, "格式样例为'2022-01-01'、'2022/1/1'")));
|
||||||
// excelComments.add(new ExcelComment(5, 0, 8, 2, SalaryI18nUtil.getI18nLabel(100458, "格式样例为'2022-01-01'、'2022/1/1'")));
|
// excelComments.add(new ExcelComment(5, 0, 8, 2, SalaryI18nUtil.getI18nLabel(100458, "格式样例为'2022-01-01'、'2022/1/1'")));
|
||||||
} else if (isFixedList) {
|
} else if (isFixedList) {
|
||||||
if (isInit) {
|
if (isInit) {
|
||||||
excelComments.add(new ExcelComment(6, 0, 8, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,格式样例为'2022-01-01'、'2022/1/1'")));
|
|
||||||
excelComments.add(new ExcelComment(7, 0, 9, 2, SalaryI18nUtil.getI18nLabel(100458, "格式样例为'2022-01-01'、'2022/1/1'")));
|
|
||||||
excelComments.add(new ExcelComment(8, 0, 10, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,格式样例为'2022-01-01'、'2022/1/1'")));
|
|
||||||
} else if (isSalaryItemAdjust) {
|
|
||||||
excelComments.add(new ExcelComment(6, 0, 8, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,可填写如:入职,转正,调薪,晋升,降职,调岗,调岗调薪,离职,其他,初始化")));
|
|
||||||
excelComments.add(new ExcelComment(7, 0, 9, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,格式样例为'2022-01-01'、'2022/1/1'")));
|
excelComments.add(new ExcelComment(7, 0, 9, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,格式样例为'2022-01-01'、'2022/1/1'")));
|
||||||
|
excelComments.add(new ExcelComment(8, 0, 10, 2, SalaryI18nUtil.getI18nLabel(100458, "格式样例为'2022-01-01'、'2022/1/1'")));
|
||||||
|
excelComments.add(new ExcelComment(9, 0, 11, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,格式样例为'2022-01-01'、'2022/1/1'")));
|
||||||
|
} else if (isSalaryItemAdjust) {
|
||||||
|
excelComments.add(new ExcelComment(7, 0, 9, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,可填写如:入职,转正,调薪,晋升,降职,调岗,调岗调薪,离职,其他,初始化")));
|
||||||
|
excelComments.add(new ExcelComment(8, 0, 10, 2, SalaryI18nUtil.getI18nLabel(100458, "必填,格式样例为'2022-01-01'、'2022/1/1'")));
|
||||||
}
|
}
|
||||||
} else if (isSuspendList) {
|
} else if (isSuspendList) {
|
||||||
// SalaryArchiveExcelBO.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(109736, "格式样例为'2022-01-01'、'2022/1/1'"), 0, 0, i + 1, i + 1);
|
// SalaryArchiveExcelBO.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(109736, "格式样例为'2022-01-01'、'2022/1/1'"), 0, 0, i + 1, i + 1);
|
||||||
|
|
|
||||||
|
|
@ -496,6 +496,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
||||||
map.put("departmentName", e.getDepartmentName());
|
map.put("departmentName", e.getDepartmentName());
|
||||||
map.put("mobile", e.getMobile());
|
map.put("mobile", e.getMobile());
|
||||||
map.put("workcode", e.getWorkcode());
|
map.put("workcode", e.getWorkcode());
|
||||||
|
map.put("idNo", e.getIdNo());
|
||||||
map.put("employeeStatus", e.getEmployeeStatus());
|
map.put("employeeStatus", e.getEmployeeStatus());
|
||||||
map.put("payStartDate", SalaryDateUtil.getFormatLocalDate(e.getPayStartDate()));
|
map.put("payStartDate", SalaryDateUtil.getFormatLocalDate(e.getPayStartDate()));
|
||||||
map.put("payEndDate", SalaryDateUtil.getFormatLocalDate(e.getPayEndDate()));
|
map.put("payEndDate", SalaryDateUtil.getFormatLocalDate(e.getPayEndDate()));
|
||||||
|
|
@ -524,6 +525,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
||||||
SalaryI18nUtil.getI18nLabel(86185, "部门"),
|
SalaryI18nUtil.getI18nLabel(86185, "部门"),
|
||||||
SalaryI18nUtil.getI18nLabel(86176, "工号"),
|
SalaryI18nUtil.getI18nLabel(86176, "工号"),
|
||||||
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
SalaryI18nUtil.getI18nLabel(86186, "手机号"),
|
||||||
|
SalaryI18nUtil.getI18nLabel(86186, "证件号码"),
|
||||||
SalaryI18nUtil.getI18nLabel(15890, "员工状态"),
|
SalaryI18nUtil.getI18nLabel(15890, "员工状态"),
|
||||||
SalaryI18nUtil.getI18nLabel(91075, "起始发薪日期"),
|
SalaryI18nUtil.getI18nLabel(91075, "起始发薪日期"),
|
||||||
SalaryI18nUtil.getI18nLabel(91075, "最后发薪日期")};
|
SalaryI18nUtil.getI18nLabel(91075, "最后发薪日期")};
|
||||||
|
|
@ -579,6 +581,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
|
||||||
row.add(Util.null2String(e.get("departmentName")));
|
row.add(Util.null2String(e.get("departmentName")));
|
||||||
row.add(Util.null2String(e.get("workcode")));
|
row.add(Util.null2String(e.get("workcode")));
|
||||||
row.add(Util.null2String(e.get("mobile")));
|
row.add(Util.null2String(e.get("mobile")));
|
||||||
|
row.add(Util.null2String(e.get("idNo")));
|
||||||
row.add(Util.null2String(e.get("employeeStatus")));
|
row.add(Util.null2String(e.get("employeeStatus")));
|
||||||
row.add(Util.null2String(e.get("payStartDate")));
|
row.add(Util.null2String(e.get("payStartDate")));
|
||||||
row.add(Util.null2String(e.get("payEndDate")));
|
row.add(Util.null2String(e.get("payEndDate")));
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DataCollectionEmployee> matchImportEmployee(String confValue, List<DataCollectionEmployee> employeeList, String userName, String deparmentName, String mobile, String workcode, Long uid) {
|
public List<DataCollectionEmployee> matchImportEmployee(String confValue, List<DataCollectionEmployee> employeeList, String userName, String deparmentName, String mobile, String workcode, String idNo, Long uid) {
|
||||||
if (uid != null) {
|
if (uid != null) {
|
||||||
return employeeList.stream()
|
return employeeList.stream()
|
||||||
.filter(e -> Objects.equals(e.getEmployeeId(), uid))
|
.filter(e -> Objects.equals(e.getEmployeeId(), uid))
|
||||||
|
|
@ -244,6 +244,9 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
|
||||||
} else if ("1".equals(confValue)) {
|
} else if ("1".equals(confValue)) {
|
||||||
employees = employeeList.stream().filter(e -> (StringUtils.isBlank(workcode) || Objects.equals(e.getWorkcode(), workcode)))
|
employees = employeeList.stream().filter(e -> (StringUtils.isBlank(workcode) || Objects.equals(e.getWorkcode(), workcode)))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
} else if ("2".equals(confValue)) {
|
||||||
|
employees = employeeList.stream().filter(e -> (StringUtils.isBlank(idNo) || Objects.equals(e.getIdNo(), idNo)))
|
||||||
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
return SalaryI18nUtil.i18nList(employees);
|
return SalaryI18nUtil.i18nList(employees);
|
||||||
|
|
@ -272,7 +275,7 @@ public class SalaryEmployeeServiceImpl extends Service implements SalaryEmployee
|
||||||
if (CollectionUtils.isEmpty(virtualDepartmentIds)) {
|
if (CollectionUtils.isEmpty(virtualDepartmentIds)) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
return SalaryI18nUtil.i18nList(getEmployMapper().getVirtualDeptInfoList(virtualDepartmentIds));
|
return SalaryI18nUtil.i18nList(getEmployMapper().getVirtualDeptInfoList(virtualDepartmentIds));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -945,6 +945,7 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
||||||
.telephone(StringUtils.isEmpty(simpleEmployee.getTelephone()) ? "" : simpleEmployee.getTelephone())
|
.telephone(StringUtils.isEmpty(simpleEmployee.getTelephone()) ? "" : simpleEmployee.getTelephone())
|
||||||
.username(StringUtils.isEmpty(simpleEmployee.getUsername()) ? "" : simpleEmployee.getUsername())
|
.username(StringUtils.isEmpty(simpleEmployee.getUsername()) ? "" : simpleEmployee.getUsername())
|
||||||
.workcode(StringUtils.isEmpty(simpleEmployee.getWorkcode()) ? "" : simpleEmployee.getWorkcode())
|
.workcode(StringUtils.isEmpty(simpleEmployee.getWorkcode()) ? "" : simpleEmployee.getWorkcode())
|
||||||
|
.idNo(Util.null2String(simpleEmployee.getIdNo()))
|
||||||
.taxAgentName(taxAgentName)
|
.taxAgentName(taxAgentName)
|
||||||
.build();
|
.build();
|
||||||
List<SalaryTemplateSalaryItemListDTO> items = employeeInformation.getItems();
|
List<SalaryTemplateSalaryItemListDTO> items = employeeInformation.getItems();
|
||||||
|
|
|
||||||
|
|
@ -249,13 +249,14 @@ public class SalarySobRangeServiceImpl extends Service implements SalarySobRange
|
||||||
String confValue = (salarySysConfPO != null && salarySysConfPO.getConfValue() != null && !"".equals(salarySysConfPO.getConfValue())) ? salarySysConfPO.getConfValue() : "0";
|
String confValue = (salarySysConfPO != null && salarySysConfPO.getConfValue() != null && !"".equals(salarySysConfPO.getConfValue())) ? salarySysConfPO.getConfValue() : "0";
|
||||||
// 注释
|
// 注释
|
||||||
List<ExcelComment> excelComments = Lists.newArrayList();
|
List<ExcelComment> excelComments = Lists.newArrayList();
|
||||||
if (confValue.equals("1")) {
|
if (confValue.equals("0")) {
|
||||||
// 人员校验规则为工号
|
|
||||||
excelComments.add(new ExcelComment(3, 0, 4, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
|
||||||
} else {
|
|
||||||
excelComments.add(new ExcelComment(0, 0, 1, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
excelComments.add(new ExcelComment(0, 0, 1, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
||||||
|
} else if(confValue.equals("1")){
|
||||||
|
excelComments.add(new ExcelComment(3, 0, 4, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
||||||
|
} else if(confValue.equals("2")){
|
||||||
|
excelComments.add(new ExcelComment(4, 0, 5, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
||||||
}
|
}
|
||||||
excelComments.add(new ExcelComment(4, 0, 6, 3, SalaryI18nUtil.getI18nLabel(100344, "若不填,默认全部员工状态。指定员工状态格式:试用、正式、临时、试用延期")));
|
excelComments.add(new ExcelComment(5, 0, 7, 3, SalaryI18nUtil.getI18nLabel(100344, "若不填,默认全部员工状态。指定员工状态格式:试用、正式、临时、试用延期")));
|
||||||
|
|
||||||
|
|
||||||
//获取excel
|
//获取excel
|
||||||
|
|
@ -325,12 +326,13 @@ public class SalarySobRangeServiceImpl extends Service implements SalarySobRange
|
||||||
String deparmentName = dto.getDepartmentName();
|
String deparmentName = dto.getDepartmentName();
|
||||||
String mobile = dto.getMobile();
|
String mobile = dto.getMobile();
|
||||||
String workcode = dto.getJobNum();
|
String workcode = dto.getJobNum();
|
||||||
|
String idNo = dto.getIdNo();
|
||||||
String employeeStatusStr = dto.getEmployeeStatus();
|
String employeeStatusStr = dto.getEmployeeStatus();
|
||||||
List<Long> employeeSameIds = new ArrayList<>();
|
List<Long> employeeSameIds = new ArrayList<>();
|
||||||
|
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user)
|
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user)
|
||||||
.matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, null);
|
.matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, idNo,null);
|
||||||
//含在职和离职,选在职数据
|
//含在职和离职,选在职数据
|
||||||
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
||||||
employeeSameIds = emps.stream()
|
employeeSameIds = emps.stream()
|
||||||
|
|
@ -477,7 +479,7 @@ public class SalarySobRangeServiceImpl extends Service implements SalarySobRange
|
||||||
InputStream fileInputStream = null;
|
InputStream fileInputStream = null;
|
||||||
try {
|
try {
|
||||||
fileInputStream = ImageFileManager.getInputStreamById(Integer.parseInt(imageId));
|
fileInputStream = ImageFileManager.getInputStreamById(Integer.parseInt(imageId));
|
||||||
List<SalarySobRangeImportListDTO> salarySobRangeImportList = ExcelParseHelper.parse2Map(fileInputStream, SalarySobRangeImportListDTO.class, 0, 1, 5, "TaxAgentEmployee.xlsx");
|
List<SalarySobRangeImportListDTO> salarySobRangeImportList = ExcelParseHelper.parse2Map(fileInputStream, SalarySobRangeImportListDTO.class, 0, 1, 6, "TaxAgentEmployee.xlsx");
|
||||||
apidatas.put("preview", salarySobRangeImportList);
|
apidatas.put("preview", salarySobRangeImportList);
|
||||||
} finally {
|
} finally {
|
||||||
IOUtils.closeQuietly(fileInputStream);
|
IOUtils.closeQuietly(fileInputStream);
|
||||||
|
|
@ -499,6 +501,7 @@ public class SalarySobRangeServiceImpl extends Service implements SalarySobRange
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
headers.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
headers.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
headers.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||||
|
headers.add(SalaryI18nUtil.getI18nLabel(86317, "证件号码"));
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel(86318, "员工状态"));
|
headers.add(SalaryI18nUtil.getI18nLabel(86318, "员工状态"));
|
||||||
List<List<Object>> rowList = new ArrayList<>();
|
List<List<Object>> rowList = new ArrayList<>();
|
||||||
rowList.add(headers);
|
rowList.add(headers);
|
||||||
|
|
|
||||||
|
|
@ -242,11 +242,12 @@ public class SpecialAddDeductionServiceImpl extends Service implements SpecialAd
|
||||||
String deparmentName = dto.getDepartmentName();
|
String deparmentName = dto.getDepartmentName();
|
||||||
String mobile = dto.getMobile();
|
String mobile = dto.getMobile();
|
||||||
String workcode = dto.getJobNum();
|
String workcode = dto.getJobNum();
|
||||||
|
String idNo = dto.getIdNo();
|
||||||
List<Long> employeeSameIds = new ArrayList<>();
|
List<Long> employeeSameIds = new ArrayList<>();
|
||||||
|
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user)
|
List<DataCollectionEmployee> emps = getSalaryEmployeeService(user)
|
||||||
.matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, null);
|
.matchImportEmployee(confValue, employees, userName, deparmentName, mobile, workcode, idNo,null);
|
||||||
//含在职和离职,选在职数据
|
//含在职和离职,选在职数据
|
||||||
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
if (CollectionUtils.isNotEmpty(emps) && emps.size() > 1) {
|
||||||
employeeSameIds = emps.stream()
|
employeeSameIds = emps.stream()
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ public class TaxAgentExcelServiceImpl extends Service implements TaxAgentExcelSe
|
||||||
// 注释
|
// 注释
|
||||||
List<ExcelComment> excelComments = Lists.newArrayList();
|
List<ExcelComment> excelComments = Lists.newArrayList();
|
||||||
excelComments.add(new ExcelComment(0, 0, 1, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
excelComments.add(new ExcelComment(0, 0, 1, 2, SalaryI18nUtil.getI18nLabel(100344, "必填")));
|
||||||
excelComments.add(new ExcelComment(4, 0, 6, 3, SalaryI18nUtil.getI18nLabel(100344, "若不填,默认全部员工状态。指定员工状态格式:试用、正式、临时、试用延期")));
|
excelComments.add(new ExcelComment(5, 0, 7, 3, SalaryI18nUtil.getI18nLabel(100344, "若不填,默认全部员工状态。指定员工状态格式:试用、正式、临时、试用延期")));
|
||||||
//获取excel
|
//获取excel
|
||||||
return ExcelUtil.genWorkbookV2(rowList, "个税扣缴义务人人员范围", excelComments);
|
return ExcelUtil.genWorkbookV2(rowList, "个税扣缴义务人人员范围", excelComments);
|
||||||
}
|
}
|
||||||
|
|
@ -62,7 +62,7 @@ public class TaxAgentExcelServiceImpl extends Service implements TaxAgentExcelSe
|
||||||
InputStream fileInputStream = null;
|
InputStream fileInputStream = null;
|
||||||
try {
|
try {
|
||||||
fileInputStream = ImageFileManager.getInputStreamById(Integer.parseInt(imageId));
|
fileInputStream = ImageFileManager.getInputStreamById(Integer.parseInt(imageId));
|
||||||
List<TaxAgentManageRangeEmployeeListDTO> taxAgentManageRangeEmployees = ExcelParseHelper.parse2Map(fileInputStream, TaxAgentManageRangeEmployeeListDTO.class, 0, 1, 5, "TaxAgentEmployee.xlsx");
|
List<TaxAgentManageRangeEmployeeListDTO> taxAgentManageRangeEmployees = ExcelParseHelper.parse2Map(fileInputStream, TaxAgentManageRangeEmployeeListDTO.class, 0, 1, 6, "TaxAgentEmployee.xlsx");
|
||||||
apidatas.put("preview", taxAgentManageRangeEmployees);
|
apidatas.put("preview", taxAgentManageRangeEmployees);
|
||||||
} finally {
|
} finally {
|
||||||
IOUtils.closeQuietly(fileInputStream);
|
IOUtils.closeQuietly(fileInputStream);
|
||||||
|
|
@ -86,6 +86,7 @@ public class TaxAgentExcelServiceImpl extends Service implements TaxAgentExcelSe
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel( 86185, "部门"));
|
headers.add(SalaryI18nUtil.getI18nLabel( 86185, "部门"));
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
headers.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
headers.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||||
|
headers.add(SalaryI18nUtil.getI18nLabel(86317, "证件号码"));
|
||||||
headers.add(SalaryI18nUtil.getI18nLabel(86318, "员工状态"));
|
headers.add(SalaryI18nUtil.getI18nLabel(86318, "员工状态"));
|
||||||
List<List<Object>> rowList = new ArrayList<>();
|
List<List<Object>> rowList = new ArrayList<>();
|
||||||
rowList.add(headers);
|
rowList.add(headers);
|
||||||
|
|
|
||||||
|
|
@ -826,7 +826,7 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM
|
||||||
InputStream fileInputStream = null;
|
InputStream fileInputStream = null;
|
||||||
try {
|
try {
|
||||||
fileInputStream = ImageFileManager.getInputStreamById(Integer.parseInt(imageId));
|
fileInputStream = ImageFileManager.getInputStreamById(Integer.parseInt(imageId));
|
||||||
List<TaxAgentManageRangeEmployeeListDTO> rangeEmployees = ExcelParseHelper.parse2Map(fileInputStream, TaxAgentManageRangeEmployeeListDTO.class, 0, 1, 5, "TaxAgentEmployee.xlsx");
|
List<TaxAgentManageRangeEmployeeListDTO> rangeEmployees = ExcelParseHelper.parse2Map(fileInputStream, TaxAgentManageRangeEmployeeListDTO.class, 0, 1, 6, "TaxAgentEmployee.xlsx");
|
||||||
|
|
||||||
int total = rangeEmployees.size();
|
int total = rangeEmployees.size();
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
@ -867,12 +867,14 @@ public class TaxAgentManageRangeServiceImpl extends Service implements TaxAgentM
|
||||||
String deparmentName = dto.getDepartmentName();
|
String deparmentName = dto.getDepartmentName();
|
||||||
String mobile = dto.getMobile();
|
String mobile = dto.getMobile();
|
||||||
String workcode = dto.getJobNum();
|
String workcode = dto.getJobNum();
|
||||||
|
String idNo = dto.getIdNo();
|
||||||
|
|
||||||
String employeeStatusStr = dto.getEmployeeStatus();
|
String employeeStatusStr = dto.getEmployeeStatus();
|
||||||
List<Long> employeeSameIds = new ArrayList<>();
|
List<Long> employeeSameIds = new ArrayList<>();
|
||||||
|
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> emps = getSalaryEmployeeService()
|
List<DataCollectionEmployee> emps = getSalaryEmployeeService()
|
||||||
.matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode, null);
|
.matchImportEmployee(confValue,employees, userName, deparmentName, mobile, workcode,idNo, null);
|
||||||
if (CollectionUtils.isNotEmpty(emps)) {
|
if (CollectionUtils.isNotEmpty(emps)) {
|
||||||
employeeSameIds = emps.stream()
|
employeeSameIds = emps.stream()
|
||||||
.map(DataCollectionEmployee::getEmployeeId)
|
.map(DataCollectionEmployee::getEmployeeId)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import com.engine.core.impl.Service;
|
||||||
import com.engine.salary.config.SalaryElogConfig;
|
import com.engine.salary.config.SalaryElogConfig;
|
||||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||||
import com.engine.hrmelog.entity.dto.LoggerContext;
|
|
||||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.AbnormalEmployeeListDTO;
|
import com.engine.salary.entity.taxdeclaration.dto.AbnormalEmployeeListDTO;
|
||||||
import com.engine.salary.entity.taxdeclaration.dto.FailEmployeeListDTO;
|
import com.engine.salary.entity.taxdeclaration.dto.FailEmployeeListDTO;
|
||||||
|
|
@ -221,6 +220,7 @@ public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclar
|
||||||
heads.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
heads.add(SalaryI18nUtil.getI18nLabel(86185, "部门"));
|
||||||
heads.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
heads.add(SalaryI18nUtil.getI18nLabel(86186, "手机号"));
|
||||||
heads.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
heads.add(SalaryI18nUtil.getI18nLabel(86317, "工号"));
|
||||||
|
heads.add(SalaryI18nUtil.getI18nLabel(86317, "证件号码"));
|
||||||
heads.addAll(SalaryEntityUtil.properties(taxReportColumnPOS, TaxReportColumnPO::getReportColumnName, Collectors.toList()));
|
heads.addAll(SalaryEntityUtil.properties(taxReportColumnPOS, TaxReportColumnPO::getReportColumnName, Collectors.toList()));
|
||||||
|
|
||||||
List<List<Object>> rowList = new ArrayList<>();
|
List<List<Object>> rowList = new ArrayList<>();
|
||||||
|
|
@ -336,6 +336,7 @@ public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclar
|
||||||
String deparmentName = (String) map.getOrDefault("部门", "");
|
String deparmentName = (String) map.getOrDefault("部门", "");
|
||||||
String mobile = (String) map.getOrDefault("手机号", "");
|
String mobile = (String) map.getOrDefault("手机号", "");
|
||||||
String workcode = (String) map.getOrDefault("工号", "");
|
String workcode = (String) map.getOrDefault("工号", "");
|
||||||
|
String idNo = (String) map.getOrDefault("证件号码", "");
|
||||||
|
|
||||||
if (StringUtils.isEmpty(username) && "0".equals(confValue)) {
|
if (StringUtils.isEmpty(username) && "0".equals(confValue)) {
|
||||||
isError = true;
|
isError = true;
|
||||||
|
|
@ -344,7 +345,7 @@ public class TaxDeclarationExcelServiceImpl extends Service implements TaxDeclar
|
||||||
excelComments.add(errorMessageMap);
|
excelComments.add(errorMessageMap);
|
||||||
} else {
|
} else {
|
||||||
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
//筛选导入人员信息可以在人力资源池中匹配到的人员信息
|
||||||
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, salaryEmployees, username, deparmentName, mobile, workcode, null);
|
List<DataCollectionEmployee> employeeSameIds = getSalaryEmployeeService(user).matchImportEmployee(confValue, salaryEmployees, username, deparmentName, mobile, workcode, idNo,null);
|
||||||
|
|
||||||
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
if (CollectionUtils.isEmpty(employeeSameIds)) {
|
||||||
isError = true;
|
isError = true;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,8 @@ public enum MatchEmployeeModeEnum implements BaseEnum<String> {
|
||||||
|
|
||||||
//"0"代表按照姓名+部门+手机号为条件的人员匹配方式,"1"代表按照工号为条件的人员匹配方式
|
//"0"代表按照姓名+部门+手机号为条件的人员匹配方式,"1"代表按照工号为条件的人员匹配方式
|
||||||
NAMEDEPMOBILEMATCH("0", "姓名-部门-手机号", 1),
|
NAMEDEPMOBILEMATCH("0", "姓名-部门-手机号", 1),
|
||||||
WORKCODEMATCH("1", "工号", 1);
|
WORKCODEMATCH("1", "工号", 1),
|
||||||
|
IDNO("2", "证件号码", 1);
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -467,7 +467,7 @@ public class SalaryAcctController {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//更新薪资核算结果的锁定状态
|
//更新薪资项目锁定状态
|
||||||
@POST
|
@POST
|
||||||
@Path("/acctresult/updateLockStatus")
|
@Path("/acctresult/updateLockStatus")
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
|
@ -476,6 +476,14 @@ public class SalaryAcctController {
|
||||||
return new ResponseResult<SalaryAcctResultUpdateLockStatusParam, String>(user).run(getSalaryAcctResultWrapper(user)::updateLockStatusByParam, param);
|
return new ResponseResult<SalaryAcctResultUpdateLockStatusParam, String>(user).run(getSalaryAcctResultWrapper(user)::updateLockStatusByParam, param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("/acctresult/lockEmp")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public String lock(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultUpdateLockStatusParam param) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
return new ResponseResult<SalaryAcctResultUpdateLockStatusParam, String>(user).run(getSalaryAcctEmployeeWrapper(user)::lockEmp, param);
|
||||||
|
}
|
||||||
|
|
||||||
//批量更新
|
//批量更新
|
||||||
@POST
|
@POST
|
||||||
@Path("/acctresult/batchUpdate")
|
@Path("/acctresult/batchUpdate")
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import com.engine.salary.util.page.PageInfo;
|
||||||
import com.engine.salary.wrapper.*;
|
import com.engine.salary.wrapper.*;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
import io.swagger.v3.oas.annotations.parameters.RequestBody;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
|
@ -45,6 +46,7 @@ import java.util.Objects;
|
||||||
* @author qiantao
|
* @author qiantao
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
**/
|
**/
|
||||||
|
@Slf4j
|
||||||
public class SalarySobController {
|
public class SalarySobController {
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -283,6 +285,7 @@ public class SalarySobController {
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
log.error("人员范围导入失败",e);
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,7 @@ public class AttendQuoteDataWrapper extends Service {
|
||||||
columns.add(Column.builder().title("部门").dataIndex("departmentName").key("departmentName").display(Boolean.TRUE).build());
|
columns.add(Column.builder().title("部门").dataIndex("departmentName").key("departmentName").display(Boolean.TRUE).build());
|
||||||
columns.add(Column.builder().title("手机号").dataIndex("mobile").key("mobile").display(Boolean.TRUE).build());
|
columns.add(Column.builder().title("手机号").dataIndex("mobile").key("mobile").display(Boolean.TRUE).build());
|
||||||
columns.add(Column.builder().title("工号").dataIndex("jobNum").key("jobNum").display(Boolean.TRUE).build());
|
columns.add(Column.builder().title("工号").dataIndex("jobNum").key("jobNum").display(Boolean.TRUE).build());
|
||||||
|
columns.add(Column.builder().title("证件号码").dataIndex("idNo").key("idNo").display(Boolean.TRUE).build());
|
||||||
if (CollectionUtils.isNotEmpty(listMaps)) {
|
if (CollectionUtils.isNotEmpty(listMaps)) {
|
||||||
attendQuoteFields.stream()
|
attendQuoteFields.stream()
|
||||||
.filter(attendQuoteField->effectiveColumns.contains(Util.null2String(attendQuoteField.getId())))
|
.filter(attendQuoteField->effectiveColumns.contains(Util.null2String(attendQuoteField.getId())))
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,7 @@ import com.engine.core.impl.Service;
|
||||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
|
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
|
||||||
import com.engine.salary.entity.salaryacct.dto.SalaryAccEmployeeListDTO;
|
import com.engine.salary.entity.salaryacct.dto.SalaryAccEmployeeListDTO;
|
||||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctEmployeeAddParam;
|
import com.engine.salary.entity.salaryacct.param.*;
|
||||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctEmployeeDeleteParam;
|
|
||||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctEmployeeQueryParam;
|
|
||||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctEmployeeSaveParam;
|
|
||||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||||
import com.engine.salary.exception.SalaryRunTimeException;
|
import com.engine.salary.exception.SalaryRunTimeException;
|
||||||
|
|
@ -195,4 +192,7 @@ public class SalaryAcctEmployeeWrapper extends Service {
|
||||||
getSalaryAcctEmployeeService(user).refresh(salaryAcctRecordId);
|
getSalaryAcctEmployeeService(user).refresh(salaryAcctRecordId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void lockEmp(SalaryAcctResultUpdateLockStatusParam salaryAcctResultUpdateLockStatusParam) {
|
||||||
|
getSalaryAcctEmployeeService(user).lockEmp(salaryAcctResultUpdateLockStatusParam);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue