From ec669c1f510ceee6a818185d22c5d395f00cf81c Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Thu, 25 Jul 2024 17:51:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B8=E7=AE=97=E6=97=B6=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=BB=84=E7=BB=87=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salaryacct/bo/SalaryAcctFormulaBO.java | 73 ++++++++++----- .../salaryacct/bo/SalaryAcctResultBO.java | 6 +- .../dto/SalaryFormulaEmployeeDTO.java | 2 + .../salaryacct/SalaryAcctEmployeeMapper.xml | 90 ++++++++----------- 4 files changed, 95 insertions(+), 76 deletions(-) diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java index fecdd2999..32028e25a 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctFormulaBO.java @@ -1,6 +1,7 @@ package com.engine.salary.entity.salaryacct.bo; import com.engine.salary.entity.datacollection.DataCollectionEmployee; +import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO; import com.engine.salary.entity.salaryformula.dto.SalaryFormulaEmployeeDTO; import com.engine.salary.entity.salaryitem.po.SalaryItemPO; import com.engine.salary.entity.salarysob.po.SalarySobBackItemPO; @@ -71,7 +72,7 @@ public class SalaryAcctFormulaBO { * @param simpleEmployee * @return */ - public static Map convert2FormulaEmployee(DataCollectionEmployee simpleEmployee) { + public static Map convert2FormulaEmployee(DataCollectionEmployee simpleEmployee, SalaryAcctEmployeePO salaryAcctEmployeePO, boolean dynamicEmpInfo) { if (simpleEmployee == null) { return Collections.emptyMap(); } @@ -79,27 +80,55 @@ public class SalaryAcctFormulaBO { .map(sex -> StringUtils.equals(sex, "0") ? SalaryI18nUtil.getI18nLabel(102440, "男") : SalaryI18nUtil.getI18nLabel(102442, "女")) .orElse(StringUtils.EMPTY); - SalaryFormulaEmployeeDTO formulaEmployee = SalaryFormulaEmployeeDTO.builder() - .employeeId(simpleEmployee.getEmployeeId()) - .username(simpleEmployee.getUsername()) - .email(simpleEmployee.getEmail()) - .mobile(simpleEmployee.getMobile()) - .telephone(simpleEmployee.getTelephone()) - .sex(sexName) - .status(simpleEmployee.getStatus()) - .statusName(simpleEmployee.getStatusName()) - .departmentName(simpleEmployee.getDepartmentName()) - .departmentId(simpleEmployee.getDepartmentId()) - .subcompanyName(simpleEmployee.getSubcompanyName()) - .jobtitleName(simpleEmployee.getJobtitleName()) - .jobtitleId(simpleEmployee.getJobtitleId()) - .jobcall(simpleEmployee.getJobcall()) - .jobcallId(simpleEmployee.getJobcallId()) - .companystartdate(simpleEmployee.getCompanystartdate()) - .birthday(simpleEmployee.getBirthday()) - .workcode(simpleEmployee.getWorkcode()) - .idNo(simpleEmployee.getIdNo()) - .build(); + + SalaryFormulaEmployeeDTO formulaEmployee = null; + if (dynamicEmpInfo) { + formulaEmployee = SalaryFormulaEmployeeDTO.builder() + .employeeId(simpleEmployee.getEmployeeId()) + .username(simpleEmployee.getUsername()) + .email(simpleEmployee.getEmail()) + .mobile(simpleEmployee.getMobile()) + .telephone(simpleEmployee.getTelephone()) + .sex(sexName) + .status(simpleEmployee.getStatus()) + .statusName(simpleEmployee.getStatusName()) + .departmentName(simpleEmployee.getDepartmentName()) + .departmentId(simpleEmployee.getDepartmentId()) + .subcompanyName(simpleEmployee.getSubcompanyName()) + .subcompanyId(simpleEmployee.getSubcompanyid()) + .jobtitleName(simpleEmployee.getJobtitleName()) + .jobtitleId(simpleEmployee.getJobtitleId()) + .jobcall(simpleEmployee.getJobcall()) + .jobcallId(simpleEmployee.getJobcallId()) + .companystartdate(simpleEmployee.getCompanystartdate()) + .birthday(simpleEmployee.getBirthday()) + .workcode(simpleEmployee.getWorkcode()) + .idNo(simpleEmployee.getIdNo()) + .build(); + } else { + formulaEmployee = SalaryFormulaEmployeeDTO.builder() + .employeeId(simpleEmployee.getEmployeeId()) + .username(simpleEmployee.getUsername()) + .email(simpleEmployee.getEmail()) + .mobile(simpleEmployee.getMobile()) + .telephone(simpleEmployee.getTelephone()) + .sex(sexName) + .status(simpleEmployee.getStatus()) + .statusName(simpleEmployee.getStatusName()) + .departmentName(salaryAcctEmployeePO.getDepartmentName()) + .departmentId(salaryAcctEmployeePO.getDepartmentId()) + .subcompanyName(salaryAcctEmployeePO.getSubcompanyName()) + .subcompanyId(salaryAcctEmployeePO.getSubcompanyId()) + .jobtitleName(salaryAcctEmployeePO.getJobtitleName()) + .jobtitleId(salaryAcctEmployeePO.getJobtitleId()) + .jobcall(salaryAcctEmployeePO.getJobcall()) + .jobcallId(salaryAcctEmployeePO.getJobcallId()) + .companystartdate(simpleEmployee.getCompanystartdate()) + .birthday(simpleEmployee.getBirthday()) + .workcode(simpleEmployee.getWorkcode()) + .idNo(simpleEmployee.getIdNo()) + .build(); + } return JsonUtil.parseMap(JsonUtil.toJsonString(formulaEmployee), String.class); } } diff --git a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java index d5b619a81..268da68d4 100644 --- a/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java +++ b/src/com/engine/salary/entity/salaryacct/bo/SalaryAcctResultBO.java @@ -282,7 +282,7 @@ public class SalaryAcctResultBO { Map dataTypeMap = SalaryEntityUtil.convert2Map(salaryItems, salaryItemPO -> salaryItemPO.getId() + DATA_TYPE_SUFFIX, SalaryItemPO::getDataType); map.putAll(dataTypeMap); // 人员信息字段的值 - Map fieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(employeeMap.get(e.getEmployeeId())); + Map fieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(employeeMap.get(e.getEmployeeId()), e, true); for (SalarySobEmpFieldPO salarySobEmpField : salarySobEmpFields) { // 员工信息字段的字段类型 if (dynamicEmpInfo) { @@ -369,7 +369,7 @@ public class SalaryAcctResultBO { boolean different = false; Map map = Maps.newHashMap(); // 员工信息字段的值 - Map fieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(employeeMap.get(salaryAcctEmployee.getEmployeeId())); + Map fieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(employeeMap.get(salaryAcctEmployee.getEmployeeId()), salaryAcctEmployee, false); for (SalarySobEmpFieldPO salarySobEmpField : salarySobEmpFields) { // 员工信息字段的字段类型 if (dynamicEmpInfo) { @@ -475,7 +475,7 @@ public class SalaryAcctResultBO { List lockItems) { // 员工信息字段 - Map employeeFieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(simpleEmployee); + Map employeeFieldValueMap = SalaryAcctFormulaBO.convert2FormulaEmployee(simpleEmployee, salaryAcctEmployee, false); // 个税扣缴义务人 employeeFieldValueMap.put("taxAgentName", Optional.ofNullable(taxAgentPO).map(TaxAgentPO::getName).orElse(StringUtils.EMPTY)); Map employeeFieldNameMap = buildEmployeeFieldName(); diff --git a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java index 4c5856fb1..1e8fd59cc 100644 --- a/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java +++ b/src/com/engine/salary/entity/salaryformula/dto/SalaryFormulaEmployeeDTO.java @@ -41,6 +41,8 @@ public class SalaryFormulaEmployeeDTO { @SalaryFormulaVar(defaultLabel = "分部", labelId = 82465, dataType = "subcompanyBrowser") private String subcompanyName; + private Long subcompanyId; + //岗位 diff --git a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml index cc4a386da..d0a5e2311 100644 --- a/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml +++ b/src/com/engine/salary/mapper/salaryacct/SalaryAcctEmployeeMapper.xml @@ -1369,77 +1369,65 @@ UPDATE hrsa_salary_acct_emp - - salary_acct_record_id=#{salaryAcctRecordId}, + + salary_acct_record_id=#{salaryAcctEmployeePO.salaryAcctRecordId}, - - salary_sob_id=#{salarySobId}, + + salary_sob_id=#{salaryAcctEmployeePO.salarySobId}, - - employee_id=#{employeeId}, + + employee_id=#{salaryAcctEmployeePO.employeeId}, - - tax_agent_id=#{taxAgentId}, + + tax_agent_id=#{salaryAcctEmployeePO.taxAgentId}, - - salary_month=#{salaryMonth}, + + salary_month=#{salaryAcctEmployeePO.salaryMonth}, - - creator=#{creator}, + + create_time=#{salaryAcctEmployeePO.createTime}, - - create_time=#{createTime}, + + update_time=#{salaryAcctEmployeePO.updateTime}, - - update_time=#{updateTime}, + + tenant_key=#{salaryAcctEmployeePO.tenantKey}, - - delete_type=#{deleteType}, + + employee_type=#{salaryAcctEmployeePO.employeeType}, - - tenant_key=#{tenantKey}, + + lock_status=#{salaryAcctEmployeePO.lockStatus}, - - employee_type=#{employeeType}, + + subcompany_name=#{salaryAcctEmployeePO.subcompanyName}, - - income_category=#{incomeCategory}, + + subcompany_id=#{salaryAcctEmployeePO.subcompanyId}, - - lock_status=#{lockStatus}, + + department_name=#{salaryAcctEmployeePO.departmentName}, - - subcompany_name=#{subcompanyName}, + + department_id=#{salaryAcctEmployeePO.departmentId}, - - subcompany_id=#{subcompanyId}, + + jobtitle_name=#{salaryAcctEmployeePO.jobtitleName}, - - department_name=#{departmentName}, + + jobtitle_id=#{salaryAcctEmployeePO.jobtitleId}, - - department_id=#{departmentId}, + + jobcall=#{salaryAcctEmployeePO.jobcall}, - - jobtitle_name=#{jobtitleName}, + + jobcall_id=#{salaryAcctEmployeePO.jobcallId}, - - jobtitle_id=#{jobtitleId}, - - - jobcall=#{jobcall}, - - - jobcall_id=#{jobcallId}, - - - status=#{status}, - - - lock_time=#{lockTime}, + + status=#{salaryAcctEmployeePO.status}, - WHERE id = #{id} AND delete_type = 0 + WHERE id = #{salaryAcctEmployeePO.id} AND delete_type = 0