From a61b7ac7bc9eefec47a3f6aa89b7936c0f1a1bfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=B1=E6=B6=9B?= <15850646081@163.com> Date: Mon, 13 Mar 2023 16:04:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E9=83=A8=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/SalaryArchiveListDTO.java | 2 + .../param/SalaryArchiveQueryParam.java | 5 ++ .../mapper/archive/SalaryArchiveMapper.java | 9 ++ .../mapper/archive/SalaryArchiveMapper.xml | 89 +++++++++++++++++++ .../engine/salary/service/ExtEmpService.java | 1 + .../salary/service/SalaryArchiveService.java | 2 + .../service/impl/ExtEmpServiceImpl.java | 6 ++ .../impl/SalaryArchiveExcelServiceImpl.java | 2 +- .../impl/SalaryArchiveServiceImpl.java | 26 ++++-- .../engine/salary/web/ExtEmpController.java | 13 ++- .../salary/web/SalaryArchiveController.java | 16 ++++ .../engine/salary/wrapper/ExtEmpWrapper.java | 4 + .../salary/wrapper/SalaryArchiveWrapper.java | 2 - 13 files changed, 162 insertions(+), 15 deletions(-) diff --git a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java index 00e64d7d6..107b71b50 100644 --- a/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java +++ b/src/com/engine/salary/entity/salaryarchive/dto/SalaryArchiveListDTO.java @@ -36,6 +36,8 @@ public class SalaryArchiveListDTO { @TableTitle(title = "人员信息表的主键id", dataIndex = "employeeId", key = "employeeId") private Long employeeId; + private Integer employeeType; + /** * 姓名 */ diff --git a/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java b/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java index 80f8d6368..c298bd500 100644 --- a/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java +++ b/src/com/engine/salary/entity/salaryarchive/param/SalaryArchiveQueryParam.java @@ -80,4 +80,9 @@ public class SalaryArchiveQueryParam extends BaseQueryParam { //列表类型:PENDING:待定薪;FIXED:发薪;SUSPEND:待停薪;STOP:停薪" private SalaryArchiveListTypeEnum listType; + /** + * 是否是外部系统档案 + */ + private boolean extSalaryArchiveList; + } diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java index 1775995f3..a51718a6c 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.java @@ -51,6 +51,13 @@ public interface SalaryArchiveMapper { */ List list(@Param("param") SalaryArchiveQueryParam param); + /** + * 外部人员 + * @param queryParam + * @return + */ + List listExtSalaryArchive(@Param("param")SalaryArchiveQueryParam queryParam); + /** * 批量插入 @@ -122,4 +129,6 @@ public interface SalaryArchiveMapper { void deletePendingTodo(@Param("ids") Collection ids); void deleteSuspendTodo(@Param("ids") Collection ids); + + } \ No newline at end of file diff --git a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml index 36b599165..1257dfe61 100644 --- a/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml +++ b/src/com/engine/salary/mapper/archive/SalaryArchiveMapper.xml @@ -327,6 +327,95 @@ + + + INSERT INTO hrsa_salary_archive ( id, diff --git a/src/com/engine/salary/service/ExtEmpService.java b/src/com/engine/salary/service/ExtEmpService.java index 7e44f4ccb..8aedeeb8d 100644 --- a/src/com/engine/salary/service/ExtEmpService.java +++ b/src/com/engine/salary/service/ExtEmpService.java @@ -43,4 +43,5 @@ public interface ExtEmpService { Collection getEmployeeByIdsAll(List ids); Collection listAllForReport(); + ExtEmpPO getById(Long id); } \ No newline at end of file diff --git a/src/com/engine/salary/service/SalaryArchiveService.java b/src/com/engine/salary/service/SalaryArchiveService.java index 9ef63a791..ce97616b3 100644 --- a/src/com/engine/salary/service/SalaryArchiveService.java +++ b/src/com/engine/salary/service/SalaryArchiveService.java @@ -36,6 +36,8 @@ public interface SalaryArchiveService { */ SalaryArchivePO getById(Long salaryArchiveId); + List getSalaryArchiveList (SalaryArchiveQueryParam queryParam); + List listSome(SalaryArchivePO po); /** diff --git a/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java b/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java index 0bc669d71..4a3693f90 100644 --- a/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java +++ b/src/com/engine/salary/service/impl/ExtEmpServiceImpl.java @@ -56,6 +56,7 @@ public class ExtEmpServiceImpl extends Service implements ExtEmpService { BeanUtils.copyProperties(param, po); po.setId(IdGenerator.generate()); + po.setStatus("3"); po.setCreator((long) user.getUID()); po.setModifier((long) user.getUID()); Date now = new Date(); @@ -133,6 +134,11 @@ public class ExtEmpServiceImpl extends Service implements ExtEmpService { return getExternalEmployeeMapper().listAllForReport(); } + @Override + public ExtEmpPO getById(Long id) { + return getExternalEmployeeMapper().getById(id); + } + public DataCollectionEmployee cover(ExtEmpPO extPo) { if (extPo == null) { diff --git a/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java index f8f3a1edd..b0c89ffa9 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveExcelServiceImpl.java @@ -306,7 +306,7 @@ public class SalaryArchiveExcelServiceImpl extends Service implements SalaryArch rows.add(header); // 获取所有个税扣缴义务人 Collection taxAgentList = getTaxAgentService(user).listAll(); - Collection salaryArchives = getSalaryArchiveMapper().list(queryParam); + Collection salaryArchives = salaryArchiveService(user).getSalaryArchiveList(queryParam); // boolean isSearchIdNo = enableHr && StringUtils.isNotEmpty(queryParam.getIdNo()); // if (isSearchIdNo) { // Map idNoEmpMap = salaryEmployeeService diff --git a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java index f039017a0..143bc2817 100644 --- a/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java +++ b/src/com/engine/salary/service/impl/SalaryArchiveServiceImpl.java @@ -153,6 +153,14 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe return getSalaryArchiveMapper().listSome(po); } + @Override + public List getSalaryArchiveList(SalaryArchiveQueryParam queryParam) { + if (queryParam.isExtSalaryArchiveList()) { + return getSalaryArchiveMapper().listExtSalaryArchive(queryParam); + } + return getSalaryArchiveMapper().list(queryParam); + } + @Override public PageInfo listPage(SalaryArchiveQueryParam queryParam) { long currentEmployeeId = user.getUID(); @@ -161,7 +169,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe * 异步处理档案数据 */ String handleable = Util.null2String(Util_DataCache.getObjVal("salaryArchiveHandleable")); - if (StringUtils.isBlank(handleable) || OpenEnum.OPEN.getValue().equals(handleable)) { + if ((StringUtils.isBlank(handleable) || OpenEnum.OPEN.getValue().equals(handleable)) && !queryParam.isExtSalaryArchiveList()) { new Thread() { public void run() { Util_DataCache.setObjVal("salaryArchiveHandleable", "0"); @@ -182,7 +190,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe //排序配置 OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); queryParam.setOrderRule(orderRule); - List list = getSalaryArchiveMapper().list(queryParam); + List list = getSalaryArchiveList(queryParam); list = list.stream() //过滤档案状态 .filter(dto -> { @@ -231,12 +239,13 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe // 1.定薪员工非在职 if (CollectionUtils.isNotEmpty(personnelStatuss)) { - List noNormalList = getSalaryArchiveMapper().list(SalaryArchiveQueryParam.builder() + SalaryArchiveQueryParam queryParam = SalaryArchiveQueryParam.builder() // 离职 .personnelStatuss(personnelStatuss) // 定薪列表 .runStatusList(Collections.singletonList(SalaryArchiveStatusEnum.FIXED.getValue())) - .build()); + .build(); + List noNormalList = getSalaryArchiveList(queryParam); if (CollectionUtils.isNotEmpty(noNormalList)) { List idList = noNormalList.stream().map(SalaryArchiveListDTO::getId).collect(Collectors.toList()); List> partition = Lists.partition(idList, 999); @@ -328,12 +337,12 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe Set taxAgentIds = SalaryEntityUtil.properties(taxAgentPOS, TaxAgentPO::getId); //获取所有薪资档案 - List list = getSalaryArchiveMapper().list(queryParam); + List list = getSalaryArchiveList(queryParam); List finalAllArchive = list.stream().filter(dto -> employeeId.contains(dto.getEmployeeId()) && taxAgentIds.contains(dto.getTaxAgentId())).collect(Collectors.toList()); return finalAllArchive; } else { - return getSalaryArchiveMapper().list(queryParam); + return getSalaryArchiveList(queryParam); } } @@ -450,7 +459,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe String sheetName = SalaryI18nUtil.getI18nLabel(85368, "薪资档案"); // 获取所有可被引用的薪资项目 List salaryItems = salaryItemMapper.getCanAdjustSalaryItems(); - String[] header = {SalaryI18nUtil.getI18nLabel(85429, "姓名"), SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), SalaryI18nUtil.getI18nLabel(86185, "部门"), SalaryI18nUtil.getI18nLabel(86176, "工号"),SalaryI18nUtil.getI18nLabel(86186, "手机号"), SalaryI18nUtil.getI18nLabel(91075, "状态"), SalaryI18nUtil.getI18nLabel(91075, "起始发薪日期"), SalaryI18nUtil.getI18nLabel(91075, "最后发薪日期")}; + String[] header = {SalaryI18nUtil.getI18nLabel(85429, "姓名"), SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人"), SalaryI18nUtil.getI18nLabel(86185, "部门"), SalaryI18nUtil.getI18nLabel(86176, "工号"), SalaryI18nUtil.getI18nLabel(86186, "手机号"), SalaryI18nUtil.getI18nLabel(91075, "状态"), SalaryI18nUtil.getI18nLabel(91075, "起始发薪日期"), SalaryI18nUtil.getI18nLabel(91075, "最后发薪日期")}; // 2.表头 List headerList = new ArrayList<>(Arrays.asList(header)); for (SalaryItemPO salaryItem : salaryItems) { @@ -468,7 +477,7 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe OrderRuleVO orderRule = getSalarySysConfService(user).orderRule(); queryParam.setOrderRule(orderRule); - Collection salaryArchives = getSalaryArchiveMapper().list(queryParam); + Collection salaryArchives = getSalaryArchiveList(queryParam); //分权 Boolean needAuth = getTaxAgentService(user).isNeedAuth(employeeId); @@ -783,7 +792,6 @@ public class SalaryArchiveServiceImpl extends Service implements SalaryArchiveSe } - /** * 处理历史数据 * 下回发版可删除 diff --git a/src/com/engine/salary/web/ExtEmpController.java b/src/com/engine/salary/web/ExtEmpController.java index 24cd5fb17..9be31acf7 100644 --- a/src/com/engine/salary/web/ExtEmpController.java +++ b/src/com/engine/salary/web/ExtEmpController.java @@ -13,9 +13,7 @@ import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.Collection; @@ -66,5 +64,14 @@ public class ExtEmpController { return new ResponseResult, String>(user).run(getExtEmpWrapper(user)::delete, ids); } + @GET + @Path("/detail") + @Produces(MediaType.APPLICATION_JSON) + public String save(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult(user).run(getExtEmpWrapper(user)::detail, id); + } + + } diff --git a/src/com/engine/salary/web/SalaryArchiveController.java b/src/com/engine/salary/web/SalaryArchiveController.java index 28e773578..7dab8f6d0 100644 --- a/src/com/engine/salary/web/SalaryArchiveController.java +++ b/src/com/engine/salary/web/SalaryArchiveController.java @@ -223,6 +223,22 @@ public class SalaryArchiveController { return new ResponseResult>(user).run(getSalaryArchiveWrapper(user)::stopList, queryParam); } + /** + * 外部人员列表 + * @param request + * @param response + * @param queryParam + * @return + */ + @POST + @Path("/extList") + @Produces(MediaType.APPLICATION_JSON) + public String extList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryArchiveQueryParam queryParam) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getSalaryArchiveWrapper(user)::listPage, queryParam); + } + + /** * 取消停薪 diff --git a/src/com/engine/salary/wrapper/ExtEmpWrapper.java b/src/com/engine/salary/wrapper/ExtEmpWrapper.java index 70f63b78c..f78f0e2ec 100644 --- a/src/com/engine/salary/wrapper/ExtEmpWrapper.java +++ b/src/com/engine/salary/wrapper/ExtEmpWrapper.java @@ -42,4 +42,8 @@ public class ExtEmpWrapper extends Service { public void delete(Collection ids) { getExtEmpService(user).delete(ids); } + + public ExtEmpPO detail(Long id) { + return getExtEmpService(user).getById(id); + } } diff --git a/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java b/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java index f76e0b194..9994e12e7 100644 --- a/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryArchiveWrapper.java @@ -183,8 +183,6 @@ public class SalaryArchiveWrapper extends Service { * @return */ public Map listPage(SalaryArchiveQueryParam queryParam) { -// queryParam.setRunStatusList(Arrays.asList(SalaryArchiveStatusEnum.FIXED.getValue())); -// WeaTable weaTable = list(queryParam, SalaryArchiveListTypeEnum.PENDING); Map list = list(queryParam); return list; }