diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml
index d25988b3c..db8db13f9 100644
--- a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml
+++ b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml
@@ -152,6 +152,20 @@
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
+
+
+ AND e.status IN
+
+ #{id}
+
+
+
+
+ AND t1.run_status IN
+
+ #{id}
+
+
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
@@ -210,6 +224,20 @@
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
+
+
+ AND e.status IN
+
+ #{id}
+
+
+
+
+ AND t1.run_status IN
+
+ #{id}
+
+
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
@@ -269,6 +297,20 @@
AND (e.companystartdate BETWEEN #{param.hiredate[0]} AND #{param.hiredate[1]})
+
+
+ AND e.status IN
+
+ #{id}
+
+
+
+
+ AND t1.run_status IN
+
+ #{id}
+
+
ORDER BY ${param.orderRule.orderRule} ${param.orderRule.ascOrDesc}
diff --git a/src/com/engine/salary/service/SalaryArchiveService.java b/src/com/engine/salary/service/SalaryArchiveService.java
index 7cbade316..9b8a678a2 100644
--- a/src/com/engine/salary/service/SalaryArchiveService.java
+++ b/src/com/engine/salary/service/SalaryArchiveService.java
@@ -164,4 +164,11 @@ public interface SalaryArchiveService {
* @param stopSalaryParam
*/
void stopSalary(SalaryArchiveStopParam stopSalaryParam);
+
+ /**
+ * 获取各tab总人数
+ *
+ * @return
+ */
+ Map queryTabTotal();
}
diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
index 1693377b4..1428b6029 100644
--- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
+++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java
@@ -1827,4 +1827,62 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe
return map;
}
+
+ @Override
+ public Map queryTabTotal() {
+ long currentEmployeeId = user.getUID();
+
+ // tab页签数量
+ Map result = new HashMap<>();
+
+ Boolean needAuth = getTaxAgentService(user).isNeedAuth(currentEmployeeId);
+
+ //获取管理的人员范围
+ List taxAgentEmployeeDTOS = getTaxAgentService(user).listTaxAgentAndEmployeeTree(currentEmployeeId);
+ Map> taxAgentEmployeesMap = SalaryEntityUtil.convert2Map(taxAgentEmployeeDTOS, TaxAgentManageRangeEmployeeDTO::getTaxAgentId, TaxAgentManageRangeEmployeeDTO::getEmployeeList);
+ List list = null;
+ if (needAuth) {
+ // 获取作为管理员的所有个税扣缴义务人列表
+ Collection taxAgentPOS = getTaxAgentService(user).listAllTaxAgentsAsAdmin(currentEmployeeId);
+ Set taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId);
+
+ //获取所有薪资档案
+ List archiveListDTOS = getSalaryArchiveMapper().listAll();
+ list = archiveListDTOS.stream().filter(dto -> taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList());
+
+ Boolean adminEnable = getTaxAgentService(user).isAdminEnable(currentEmployeeId);
+ //不是管理员看不到数据,返回空
+ if (!adminEnable) {
+ list = new ArrayList<>();
+ }
+
+ } else {
+ list = getSalaryArchiveMapper().listAll();
+ }
+
+
+ long pendingTotal = 0L;
+ long fixedTotal = 0L;
+ long suspendTotal = 0L;
+ long stopTotal = 0L;
+
+ for (SalaryArchivePO sa : list) {
+ if (sa.getRunStatus().equals(SalaryArchiveStatusEnum.PENDING.getValue())) {
+ pendingTotal += 1;
+ } else if (sa.getRunStatus().equals(SalaryArchiveStatusEnum.FIXED.getValue()) || sa.getRunStatus().equals(SalaryArchiveStatusEnum.SUSPEND.getValue())) {
+ fixedTotal += 1;
+ if (sa.getRunStatus().equals(SalaryArchiveStatusEnum.SUSPEND.getValue())) {
+ suspendTotal += 1;
+ }
+ } else if (sa.getRunStatus().equals(SalaryArchiveStatusEnum.STOP_FROM_PENDING.getValue()) || sa.getRunStatus().equals(SalaryArchiveStatusEnum.STOP_FROM_SUSPEND.getValue())) {
+ stopTotal += 1;
+ }
+ }
+
+ result.put(SalaryArchiveListTypeEnum.PENDING.getValue(), pendingTotal);
+ result.put(SalaryArchiveListTypeEnum.FIXED.getValue(), fixedTotal);
+ result.put(SalaryArchiveListTypeEnum.SUSPEND.getValue(), suspendTotal);
+ result.put(SalaryArchiveListTypeEnum.STOP.getValue(), stopTotal);
+ return result;
+ }
}
diff --git a/src/com/engine/salary/web/SalaryArchiveController.java b/src/com/engine/salary/web/SalaryArchiveController.java
index ec7b3522e..dbfa40c35 100644
--- a/src/com/engine/salary/web/SalaryArchiveController.java
+++ b/src/com/engine/salary/web/SalaryArchiveController.java
@@ -60,6 +60,172 @@ public class SalaryArchiveController {
// /******** 薪资档案主表 start ***********************************************************************************************/
+
+ /**
+ * 获取各tab总人数
+ *
+ * @param request
+ * @param response
+ * @return
+ */
+ @GET
+ @Path("/queryTabTotal")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String queryTabTotal(@Context HttpServletRequest request, @Context HttpServletResponse response) {
+ User user = HrmUserVarify.getUser(request, response);
+ return new ResponseResult>(user).run(getSalaryArchiveWrapper(user)::queryTabTotal);
+ }
+
+
+
+
+// /**
+// * 待定薪列表
+// *
+// * @param queryParam
+// * @return
+// */
+// @PostMapping("/pendingList")
+// @ApiOperation("待定薪列表")
+// @WeaPermission
+// public WeaResult> pendingList(@RequestBody SalaryArchiveQueryParam queryParam) {
+// return WeaResult.success(salaryArchiveWrapper.pendingList(queryParam, UserContext.getCurrentEmployeeId(), TenantContext.getCurrentTenantKey()));
+// }
+//
+// /**
+// * 设为定薪员工
+// *
+// * @param ids
+// * @return
+// */
+// @PostMapping("/gotoFixed")
+// @ApiOperation("设为定薪员工")
+// @WeaPermission
+// public WeaResult