diff --git a/resource/WEB-INF/prop/hrmSalary.properties b/resource/WEB-INF/prop/hrmSalary.properties index 713f3d934..4ca5b1e88 100644 --- a/resource/WEB-INF/prop/hrmSalary.properties +++ b/resource/WEB-INF/prop/hrmSalary.properties @@ -1,5 +1,5 @@ log=false defaultCloseNonStandard149=true AESEncryptScrect=990EB004A1C862721C1513AE90038C9E -version=2.11.2.2403.01 +version=2.12.1.2403.02 openFormulaForcedEditing=false \ No newline at end of file diff --git a/src/com/engine/salary/biz/EmployBiz.java b/src/com/engine/salary/biz/EmployBiz.java index 3599d68e0..ccfe89ef0 100644 --- a/src/com/engine/salary/biz/EmployBiz.java +++ b/src/com/engine/salary/biz/EmployBiz.java @@ -13,6 +13,7 @@ import weaver.conn.mybatis.MyBatisFactory; import weaver.general.BaseBean; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class EmployBiz extends BaseBean { @@ -115,6 +116,24 @@ public class EmployBiz extends BaseBean { } } + public List listByVirtualParams(List virtualQueryParams) { + if (CollectionUtils.isEmpty(virtualQueryParams)) { + return Collections.emptyList(); + } + SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); + try { + EmployMapper mapper = sqlSession.getMapper(EmployMapper.class); + List emps = new ArrayList<>(); + List> partition = Lists.partition(virtualQueryParams, 100); + partition.forEach(list->{ + emps.addAll(mapper.listByVirtualParams(list)); + }); + return emps; + } finally { + sqlSession.close(); + } + } + public DataCollectionEmployee getEmployeeById(Long employeeId) { SqlSession sqlSession = MyBatisFactory.sqlSessionFactory.openSession(); try { diff --git a/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java b/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java index e7b73d457..221739f26 100644 --- a/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java +++ b/src/com/engine/salary/entity/extemp/po/ExtEmpPO.java @@ -183,6 +183,8 @@ public class ExtEmpPO { private String tenantKey; private Collection ids; + private Collection subcompanyIds; + private Collection departmentIds; private String departmentOrgName; diff --git a/src/com/engine/salary/entity/hrm/DeptInfo.java b/src/com/engine/salary/entity/hrm/DeptInfo.java index 12f2f61f9..c9b6876ef 100644 --- a/src/com/engine/salary/entity/hrm/DeptInfo.java +++ b/src/com/engine/salary/entity/hrm/DeptInfo.java @@ -1,5 +1,6 @@ package com.engine.salary.entity.hrm; +import com.engine.salary.annotation.I18n; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -24,6 +25,7 @@ public class DeptInfo { /** * 名称 */ + @I18n private String name; /** diff --git a/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java index e330f2818..ae526ad40 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailListQueryParam.java @@ -45,7 +45,12 @@ public class SalarySendDetailListQueryParam extends BaseQueryParam { private Long taxAgent; // 部门id") - private Long department; + private List departmentIds; + private String departmentIdStr; + + // 分部id + private List subCompanyIds; + private String subCompanyIdStr; // 岗位id") private Long position; diff --git a/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailQueryParam.java index 5d375a48d..94fb68c32 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalarySendDetailQueryParam.java @@ -47,6 +47,9 @@ public class SalarySendDetailQueryParam extends BaseQueryParam { // 部门id") private List departmentIds; + // 分部id + private List subCompanyIds; + // 岗位id") private List positionIds; diff --git a/src/com/engine/salary/entity/salaryBill/param/SalarySendInfoQueryParam.java b/src/com/engine/salary/entity/salaryBill/param/SalarySendInfoQueryParam.java index 70e56384d..981524986 100644 --- a/src/com/engine/salary/entity/salaryBill/param/SalarySendInfoQueryParam.java +++ b/src/com/engine/salary/entity/salaryBill/param/SalarySendInfoQueryParam.java @@ -47,6 +47,9 @@ public class SalarySendInfoQueryParam extends BaseQueryParam { // 部门id") private List departmentIds; + // 分部id + private List subCompanyIds; + // 岗位id") private List positionIds; @@ -77,6 +80,10 @@ public class SalarySendInfoQueryParam extends BaseQueryParam { // @JsonIgnore private List sendStatuss; + private String departmentIdStr; + + private String subCompanyIdStr; + public static String checkParam(SalarySendInfoQueryParam saveParam) { if (saveParam.getSalarySendId() == null) { throw new SalaryRunTimeException("工资单发放Id必传"); diff --git a/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java b/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java index 2492513cd..b8e56f090 100644 --- a/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java +++ b/src/com/engine/salary/entity/siaccount/param/InsuranceAccountDetailParam.java @@ -42,4 +42,8 @@ public class InsuranceAccountDetailParam extends BaseQueryParam { private Long creator; private String workcode; + + private List departmentIds; + + private List subCompanyIds; } diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.java b/src/com/engine/salary/mapper/datacollection/EmployMapper.java index fb8856030..8a441c717 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.java +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.java @@ -51,6 +51,9 @@ public interface EmployMapper { */ List listByParams(@Param("params") Collection queryParams); + List listByVirtualParams(@Param("params") Collection queryParams); + + /** * 多表,详细信息 * @param employeeId @@ -78,6 +81,15 @@ public interface EmployMapper { */ List getDeptInfoList(@Param("departmentIds") List departmentIds); + + /** + * 虚拟部门(其他组织维度) + * @param virtualDepartmentIds + * @return + */ + List getVirtualDeptInfoList(@Param("virtualDepartmentIds") List virtualDepartmentIds); + + /** * 所以分部 * @param subDepartmentIds @@ -85,6 +97,13 @@ public interface EmployMapper { */ List getSubCompanyInfoList(@Param("subDepartmentIds") List subDepartmentIds); + /** + * 虚拟分部 + * @param virtualSubCompanyIds + * @return + */ + List getVirtualSubCompanyInfoList(@Param("virtualSubCompanyIds") List virtualSubCompanyIds); + List listHrmInfoByIdAndName(@Param("param") HrmQueryParam param); List listExtHrmInfoByIdAndName(@Param("param") HrmQueryParam param); @@ -111,6 +130,28 @@ public interface EmployMapper { */ List listByDismissDate(String dismissDate); + /** + * 根据虚拟部门获取人员信息 + * @param virtualDepartmentIds + * @return + */ + List listVirtualEmpByVirtualDepIds(@Param("virtualDepartmentIds") List virtualDepartmentIds); + + /** + * 根据虚拟分部获取人员信息 + * @param virtualSubCompanyIds + * @return + */ + List listVirtualEmpByVirtualSubCompanyIds(@Param("virtualSubCompanyIds") List virtualSubCompanyIds); + + /** + * 根据分部、部门获取查询 + * @param subCompanyIds + * @param departmentIds + * @return + */ + List listBySubCompanyOrDepartment(@Param("subCompanyIds") List subCompanyIds, @Param("departmentIds") List departmentIds); + /** * 根据用户名和工号模糊查询 * @param keyword diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml index 36a2a87be..3a7d3df68 100644 --- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml +++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml @@ -151,6 +151,54 @@ + + + + + + + + + + + +