This commit is contained in:
1073413548 2024-09-03 11:51:45 +08:00
parent 557960235c
commit 4e6c93631f
7 changed files with 43 additions and 14 deletions

View File

@ -1,6 +1,7 @@
package com.pusong.common.translation.core.impl; package com.pusong.common.translation.core.impl;
import com.pusong.common.core.service.DeptService; 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.annotation.TranslationType;
import com.pusong.common.translation.constant.TransConstant; import com.pusong.common.translation.constant.TransConstant;
import com.pusong.common.translation.core.TranslationInterface; import com.pusong.common.translation.core.TranslationInterface;
@ -15,14 +16,14 @@ import lombok.AllArgsConstructor;
@TranslationType(type = TransConstant.POST_ID_TO_NAME) @TranslationType(type = TransConstant.POST_ID_TO_NAME)
public class PostNameTranslationImpl implements TranslationInterface<String> { public class PostNameTranslationImpl implements TranslationInterface<String> {
private final DeptService deptService; private final PostService postService;
@Override @Override
public String translation(Object key, String other) { public String translation(Object key, String other) {
if (key instanceof String ids) { if (key instanceof String ids) {
return deptService.selectDeptNameByIds(ids); return postService.selectPostNameByIds(ids);
} else if (key instanceof Long id) { } else if (key instanceof Long id) {
return deptService.selectDeptNameByIds(id.toString()); return postService.selectPostNameByIds(id.toString());
} }
return null; return null;
} }

View File

@ -69,8 +69,8 @@ public class CalSalaryBatch {
LocalDate now = this.now == null ? LocalDate.now(): this.now; LocalDate now = this.now == null ? LocalDate.now(): this.now;
LocalDate lastDayOfLastMonth = now.with(TemporalAdjusters.firstDayOfMonth());//这个月第一天0分0秒 LocalDate lastDayOfLastMonth = now.with(TemporalAdjusters.firstDayOfMonth());//这个月第一天0分0秒
LocalDate firstDayOfLastMonth = lastDayOfLastMonth.minusMonths(1);//上个月第一天0分0秒 LocalDate firstDayOfLastMonth = lastDayOfLastMonth.minusMonths(1);//上个月第一天0分0秒
//删除该月历史数据
DateUtils.toDate(firstDayOfLastMonth); psSalaryMapper.delete(Wrappers.<PsSalary>lambdaQuery().eq(PsSalary::getSalaryMonth,DateUtils.toString(firstDayOfLastMonth,"yyyy-MM")));
log.info("查询所有员工"); log.info("查询所有员工");
List<SysUser> list = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery().select(SysUser::getUserId).eq(SysUser::getStatus, 0)); List<SysUser> list = sysUserMapper.selectList(Wrappers.<SysUser>lambdaQuery().select(SysUser::getUserId).eq(SysUser::getStatus, 0));
log.info("查询所有员工{}", list.size()); log.info("查询所有员工{}", list.size());
@ -144,23 +144,29 @@ public class CalSalaryBatch {
psSalary.setContractMoney(finishMoney.add(unFinishMoney)); psSalary.setContractMoney(finishMoney.add(unFinishMoney));
psSalary.setFinistContractMoney(finishMoney); psSalary.setFinistContractMoney(finishMoney);
psSalary.setUnfinistContractMoney(unFinishMoney); psSalary.setUnfinistContractMoney(unFinishMoney);
List<String> finCode = new ArrayList<>();
List<String> unfinCode = new ArrayList<>();
if(CollectionUtils.isNotEmpty(finistMap.get(userId))){ 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))){ 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.setUnfinishContractCode(finistMap.get(userId).stream().map(PsContractInfo::getContractCode).collect(Collectors.joining(",")));
} }
psSalary.setFinishContractCode(String.join(",",finCode));
psSalary.setUnfinishContractCode(String.join(",",unfinCode));
psSalaryMapper.insert(psSalary); psSalaryMapper.insert(psSalary);
List<PsSalaryContract> lis = new ArrayList<>(); List<PsSalaryContract> lis = new ArrayList<>();
if(CollectionUtils.isNotEmpty(finistMap.get(userId))) { if(CollectionUtils.isNotEmpty(finCode)) {
List<PsSalaryContract> fin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper<PsContractInfo>().in("info.contract_code", finistMap.get(userId))); List<PsSalaryContract> fin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper<PsContractInfo>().in("info.contract_code", finCode));
if(CollectionUtils.isNotEmpty(fin)) { if(CollectionUtils.isNotEmpty(fin)) {
fin.forEach(item->{item.setStatus("1");item.setSalaryId(psSalary.getId());}); fin.forEach(item->{item.setStatus("1");item.setSalaryId(psSalary.getId());});
lis.addAll(fin); lis.addAll(fin);
} }
} }
if(CollectionUtils.isNotEmpty(unfinistMap.get(userId))) { if(CollectionUtils.isNotEmpty(unfinCode)) {
List<PsSalaryContract> unfin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper<PsContractInfo>().in("info.contract_code", unfinistMap.get(userId))); List<PsSalaryContract> unfin = psContractInfoMapper.querySalaryListByCodes(new QueryWrapper<PsContractInfo>().in("info.contract_code", unfinCode));
if(CollectionUtils.isNotEmpty(unfin)) { if(CollectionUtils.isNotEmpty(unfin)) {
unfin.forEach(item->{item.setStatus("2");item.setSalaryId(psSalary.getId());}); unfin.forEach(item->{item.setStatus("2");item.setSalaryId(psSalary.getId());});
lis.addAll(unfin); lis.addAll(unfin);

View File

@ -32,6 +32,11 @@ public class PsSalaryConfig extends TenantEntity {
* 岗位id * 岗位id
*/ */
private Long postId; private Long postId;
/**
* 岗位id集合仅仅查询时返回字段不参与其他操作
*/
@TableField(exist = false)
private String postIds;
/** /**
* 服务项目编码 * 服务项目编码

View File

@ -41,9 +41,9 @@ public class PsSalaryConfigVo implements Serializable {
private String postIds; 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; private String serviceProject;
/** /**

View File

@ -85,6 +85,9 @@ public class PsSalaryContractVo implements Serializable {
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private Date serviceStartDate; private Date serviceStartDate;
/**
* 状态 1已完成2未完成
*/
private String status;
} }

View File

@ -1,11 +1,14 @@
package com.pusong.business.service.approver.impl; package com.pusong.business.service.approver.impl;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.pusong.business.domain.PsApproverRecord; import com.pusong.business.domain.PsApproverRecord;
import com.pusong.business.domain.PsContractInfo;
import com.pusong.business.domain.PsTaskAppoint; import com.pusong.business.domain.PsTaskAppoint;
import com.pusong.business.domain.PsTaskMain; import com.pusong.business.domain.PsTaskMain;
import com.pusong.business.domain.vo.PsContractInfoVo; import com.pusong.business.domain.vo.PsContractInfoVo;
import com.pusong.business.enums.ApproverTypeEnum; import com.pusong.business.enums.ApproverTypeEnum;
import com.pusong.business.enums.ContractStatusEnum;
import com.pusong.business.enums.TaskStatusEnum; import com.pusong.business.enums.TaskStatusEnum;
import com.pusong.business.enums.TaskTypeEnum; import com.pusong.business.enums.TaskTypeEnum;
import com.pusong.business.mapper.PsTaskAppointMapper; import com.pusong.business.mapper.PsTaskAppointMapper;
@ -31,7 +34,7 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl {
private final IPsContractInfoService contractInfoService; private final IPsContractInfoService contractInfoService;
/** /**
* 1 审批成功 合同作废成功合同状态显示为已作废 * 1 审批成功
* @param psApproverRecord 神瀑类 * @param psApproverRecord 神瀑类
*/ */
@Override @Override
@ -46,6 +49,12 @@ public class FreeApproverServiceImpl extends ApproverAbstractServiceImpl {
psTaskMain.setBusinessType(psApproverRecord.getUpdateData().split("@@")[0]); psTaskMain.setBusinessType(psApproverRecord.getUpdateData().split("@@")[0]);
psTaskMain.setBusinessProject(psApproverRecord.getUpdateData().split("@@")[1]); psTaskMain.setBusinessProject(psApproverRecord.getUpdateData().split("@@")[1]);
taskMainMapper.insert(psTaskMain); 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);
}
} }

View File

@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 提成配置Service业务层处理 * 提成配置Service业务层处理
@ -53,6 +54,10 @@ public class PsSalaryConfigServiceImpl implements IPsSalaryConfigService {
QueryWrapper<PsSalaryConfig> lqw = buildQueryWrapper(bo); QueryWrapper<PsSalaryConfig> lqw = buildQueryWrapper(bo);
Page<PsSalaryConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<PsSalaryConfigVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
if (CollectionUtils.isEmpty(result.getRecords())) {return TableDataInfo.build(result);} if (CollectionUtils.isEmpty(result.getRecords())) {return TableDataInfo.build(result);}
result.getRecords().forEach(item->{
List<String> pro = List.of(item.getServiceProject().split(","));
item.setServiceProject(String.join(",",pro.stream().map(str->str.split("_")[0]).collect(Collectors.toSet())));
});
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
private QueryWrapper<PsSalaryConfig> buildQueryWrapper(PsSalaryConfigBo bo) { private QueryWrapper<PsSalaryConfig> buildQueryWrapper(PsSalaryConfigBo bo) {