From 4e6c93631f850fac3dd0f3d65920f1de7fd5393b Mon Sep 17 00:00:00 2001 From: 1073413548 <14628403+gjb0917@user.noreply.gitee.com> Date: Tue, 3 Sep 2024 11:51:45 +0800 Subject: [PATCH] 1 --- .../core/impl/PostNameTranslationImpl.java | 7 ++++--- .../pusong/business/batch/CalSalaryBatch.java | 20 ++++++++++++------- .../business/domain/PsSalaryConfig.java | 5 +++++ .../business/domain/vo/PsSalaryConfigVo.java | 4 ++-- .../domain/vo/PsSalaryContractVo.java | 5 ++++- .../impl/FreeApproverServiceImpl.java | 11 +++++++++- .../impl/PsSalaryConfigServiceImpl.java | 5 +++++ 7 files changed, 43 insertions(+), 14 deletions(-) diff --git a/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/core/impl/PostNameTranslationImpl.java b/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/core/impl/PostNameTranslationImpl.java index e6e4e94..34350aa 100644 --- a/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/core/impl/PostNameTranslationImpl.java +++ b/pusong-common/pusong-common-translation/src/main/java/com/pusong/common/translation/core/impl/PostNameTranslationImpl.java @@ -1,6 +1,7 @@ package com.pusong.common.translation.core.impl; import com.pusong.common.core.service.DeptService; +import com.pusong.common.core.service.PostService; import com.pusong.common.translation.annotation.TranslationType; import com.pusong.common.translation.constant.TransConstant; import com.pusong.common.translation.core.TranslationInterface; @@ -15,14 +16,14 @@ import lombok.AllArgsConstructor; @TranslationType(type = TransConstant.POST_ID_TO_NAME) public class PostNameTranslationImpl implements TranslationInterface { - private final DeptService deptService; + private final PostService postService; @Override public String translation(Object key, String other) { if (key instanceof String ids) { - return deptService.selectDeptNameByIds(ids); + return postService.selectPostNameByIds(ids); } else if (key instanceof Long id) { - return deptService.selectDeptNameByIds(id.toString()); + return postService.selectPostNameByIds(id.toString()); } return null; } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java index 76455bd..389db6f 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/batch/CalSalaryBatch.java @@ -69,8 +69,8 @@ public class CalSalaryBatch { LocalDate now = this.now == null ? LocalDate.now(): this.now; LocalDate lastDayOfLastMonth = now.with(TemporalAdjusters.firstDayOfMonth());//这个月第一天0分0秒 LocalDate firstDayOfLastMonth = lastDayOfLastMonth.minusMonths(1);//上个月第一天0分0秒 - - DateUtils.toDate(firstDayOfLastMonth); + //删除该月历史数据 + psSalaryMapper.delete(Wrappers.lambdaQuery().eq(PsSalary::getSalaryMonth,DateUtils.toString(firstDayOfLastMonth,"yyyy-MM"))); log.info("查询所有员工"); List list = sysUserMapper.selectList(Wrappers.lambdaQuery().select(SysUser::getUserId).eq(SysUser::getStatus, 0)); log.info("查询所有员工{}", list.size()); @@ -144,23 +144,29 @@ public class CalSalaryBatch { psSalary.setContractMoney(finishMoney.add(unFinishMoney)); psSalary.setFinistContractMoney(finishMoney); psSalary.setUnfinistContractMoney(unFinishMoney); + + List finCode = new ArrayList<>(); + List unfinCode = new ArrayList<>(); if(CollectionUtils.isNotEmpty(finistMap.get(userId))){ - psSalary.setFinishContractCode(finistMap.get(userId).stream().map(PsContractInfo::getContractCode).collect(Collectors.joining(","))); + finCode = finistMap.get(userId).stream().map(PsContractInfo::getContractCode).toList(); } if(CollectionUtils.isNotEmpty(unfinistMap.get(userId))){ + unfinCode = unfinistMap.get(userId).stream().map(PsContractInfo::getContractCode).toList(); psSalary.setUnfinishContractCode(finistMap.get(userId).stream().map(PsContractInfo::getContractCode).collect(Collectors.joining(","))); } + psSalary.setFinishContractCode(String.join(",",finCode)); + psSalary.setUnfinishContractCode(String.join(",",unfinCode)); psSalaryMapper.insert(psSalary); List lis = new ArrayList<>(); - if(CollectionUtils.isNotEmpty(finistMap.get(userId))) { - List fin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper().in("info.contract_code", finistMap.get(userId))); + if(CollectionUtils.isNotEmpty(finCode)) { + List fin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper().in("info.contract_code", finCode)); if(CollectionUtils.isNotEmpty(fin)) { fin.forEach(item->{item.setStatus("1");item.setSalaryId(psSalary.getId());}); lis.addAll(fin); } } - if(CollectionUtils.isNotEmpty(unfinistMap.get(userId))) { - List unfin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper().in("info.contract_code", unfinistMap.get(userId))); + if(CollectionUtils.isNotEmpty(unfinCode)) { + List unfin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper().in("info.contract_code", unfinCode)); if(CollectionUtils.isNotEmpty(unfin)) { unfin.forEach(item->{item.setStatus("2");item.setSalaryId(psSalary.getId());}); lis.addAll(unfin); diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsSalaryConfig.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsSalaryConfig.java index c2fff71..eaf7444 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsSalaryConfig.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/PsSalaryConfig.java @@ -32,6 +32,11 @@ public class PsSalaryConfig extends TenantEntity { * 岗位id */ private Long postId; + /** + * 岗位id集合(仅仅查询时返回字段,不参与其他操作) + */ + @TableField(exist = false) + private String postIds; /** * 服务项目编码 diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigVo.java index 784c0ab..bc14d9c 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigVo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryConfigVo.java @@ -41,9 +41,9 @@ public class PsSalaryConfigVo implements Serializable { private String postIds; /** - * 服务项目编码 + * 服务类型编码 */ - @Translation(type = TransConstant.DICT_TYPE_TO_LABEL,other = "service_project") + @Translation(type = TransConstant.DICT_TYPE_TO_LABEL,other = "contract_type") private String serviceProject; /** diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryContractVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryContractVo.java index 3cc4bbd..3305da2 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryContractVo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/PsSalaryContractVo.java @@ -85,6 +85,9 @@ public class PsSalaryContractVo implements Serializable { */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date serviceStartDate; - + /** + * 状态 1已完成2未完成 + */ + private String status; } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java index 827f145..6327b8c 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/FreeApproverServiceImpl.java @@ -1,11 +1,14 @@ package com.pusong.business.service.approver.impl; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.pusong.business.domain.PsApproverRecord; +import com.pusong.business.domain.PsContractInfo; import com.pusong.business.domain.PsTaskAppoint; import com.pusong.business.domain.PsTaskMain; import com.pusong.business.domain.vo.PsContractInfoVo; import com.pusong.business.enums.ApproverTypeEnum; +import com.pusong.business.enums.ContractStatusEnum; import com.pusong.business.enums.TaskStatusEnum; import com.pusong.business.enums.TaskTypeEnum; import com.pusong.business.mapper.PsTaskAppointMapper; @@ -31,7 +34,7 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl { private final IPsContractInfoService contractInfoService; /** - * 1 审批成功 合同作废成功,合同状态显示为【已作废】 + * 1 审批成功 * @param psApproverRecord 神瀑类 */ @Override @@ -46,6 +49,12 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl { psTaskMain.setBusinessType(psApproverRecord.getUpdateData().split("@@")[0]); psTaskMain.setBusinessProject(psApproverRecord.getUpdateData().split("@@")[1]); taskMainMapper.insert(psTaskMain); + if(StringUtils.equals(vo.getSrcContractCode(), ContractStatusEnum.SUCCESS.getCode())){ + PsContractInfo info = new PsContractInfo(); + info.setContractStatus(ContractStatusEnum.EXECUTION.getCode()); + info.setContractCode(vo.getContractCode()); + contractInfoService.updateByCode(info); + } } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryConfigServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryConfigServiceImpl.java index f69228d..8f077d7 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryConfigServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsSalaryConfigServiceImpl.java @@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; /** * 提成配置Service业务层处理 @@ -53,6 +54,10 @@ public class PsSalaryConfigServiceImpl implements IPsSalaryConfigService { QueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); if (CollectionUtils.isEmpty(result.getRecords())) {return TableDataInfo.build(result);} + result.getRecords().forEach(item->{ + List pro = List.of(item.getServiceProject().split(",")); + item.setServiceProject(String.join(",",pro.stream().map(str->str.split("_")[0]).collect(Collectors.toSet()))); + }); return TableDataInfo.build(result); } private QueryWrapper buildQueryWrapper(PsSalaryConfigBo bo) {