任务作废
This commit is contained in:
parent
c688020ccc
commit
346f57f37c
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.pusong.business.domain.PsContractInfo;
|
import com.pusong.business.domain.PsContractInfo;
|
||||||
import com.pusong.business.domain.PsSalaryConfig;
|
import com.pusong.business.domain.PsSalaryConfig;
|
||||||
|
import com.pusong.business.domain.vo.PsContractBusinessDetailVo;
|
||||||
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
import com.pusong.business.domain.vo.PsContractBusinessVo;
|
||||||
import com.pusong.business.enums.ContractStatusEnum;
|
import com.pusong.business.enums.ContractStatusEnum;
|
||||||
import com.pusong.business.mapper.PsContractInfoMapper;
|
import com.pusong.business.mapper.PsContractInfoMapper;
|
||||||
@ -72,9 +73,9 @@ public class CalSalaryBatch {
|
|||||||
log.info("本月无已完成合同");
|
log.info("本月无已完成合同");
|
||||||
contractInfos = new ArrayList<>();
|
contractInfos = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
//转换 客户经理有的合同编码
|
||||||
Map<Long, List<String>> map = contractInfos.stream().collect(Collectors.groupingBy(PsContractInfo::getCustomManager,
|
Map<Long, List<String>> map = contractInfos.stream().collect(Collectors.groupingBy(PsContractInfo::getCustomManager,
|
||||||
Collectors.mapping(PsContractInfo::getContractCode,Collectors.toList())));
|
Collectors.mapping(PsContractInfo::getContractCode,Collectors.toList())));
|
||||||
List<String> contractCodes = contractInfos.stream().map(PsContractInfo::getContractCode).toList();
|
|
||||||
|
|
||||||
//查询所有岗位配置信息
|
//查询所有岗位配置信息
|
||||||
List<PsSalaryConfig> configs = psSalaryConfigMapper.selectList();
|
List<PsSalaryConfig> configs = psSalaryConfigMapper.selectList();
|
||||||
@ -90,8 +91,10 @@ public class CalSalaryBatch {
|
|||||||
log.info("查询员工岗位{}",post.getPostId());
|
log.info("查询员工岗位{}",post.getPostId());
|
||||||
//服务列表
|
//服务列表
|
||||||
List<PsContractBusinessVo> busin = businessService.selectBusinessList(map.get(userId));
|
List<PsContractBusinessVo> busin = businessService.selectBusinessList(map.get(userId));
|
||||||
|
log.info("进行计算提成计算");
|
||||||
calSalary(busin,post.getPostId(),configMap.get(post));
|
BigDecimal salary = calSalary(busin, configMap.get(post.getPostId()));
|
||||||
|
log.info("进行计算提成计算{}",salary);
|
||||||
|
log.info("进行存表");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,15 +103,33 @@ public class CalSalaryBatch {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param businessVo 合同信息
|
* @param businessVo 服务项目
|
||||||
* @param postId
|
* @param configMap 配置map
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private BigDecimal calSalary(List<PsContractBusinessVo> businessVo,Long postId,Map<String, BigDecimal> map){
|
private BigDecimal calSalary(List<PsContractBusinessVo> businessVo,Map<String, BigDecimal> configMap){
|
||||||
BigDecimal salary = BigDecimal.ZERO;
|
BigDecimal salary = BigDecimal.ZERO;
|
||||||
businessVo.forEach(item->{
|
for(PsContractBusinessVo item : businessVo){
|
||||||
item.getBusinessAmount();
|
|
||||||
});
|
//如果详情没有填写金额的话按照详情中最低的提成比例进行计算(按照详情算)
|
||||||
|
if(item.getDetailVoList().get(0).getAmount() == null
|
||||||
|
|| BigDecimal.ZERO.compareTo(item.getDetailVoList().get(0).getAmount()) == 0){
|
||||||
|
BigDecimal rate = new BigDecimal("0.1");
|
||||||
|
for (PsContractBusinessDetailVo detail:item.getDetailVoList()){
|
||||||
|
BigDecimal rateConfig = configMap.get(detail.getBusinessProject()) == null?new BigDecimal("0.1"):configMap.get(detail.getBusinessProject());
|
||||||
|
rate = rate.compareTo(rateConfig)>0?rate:rateConfig;
|
||||||
|
}
|
||||||
|
//服务类型金额
|
||||||
|
BigDecimal amount = item.getBusinessAmount();
|
||||||
|
salary = salary.add(amount.multiply(rate));
|
||||||
|
}else{//(按照类型算)
|
||||||
|
for (PsContractBusinessDetailVo detail:item.getDetailVoList()){
|
||||||
|
BigDecimal rateConfig = configMap.get(detail.getBusinessProject()) == null?new BigDecimal("0.1"):configMap.get(detail.getBusinessProject());
|
||||||
|
salary = salary.add(detail.getAmount().multiply(rateConfig));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
return salary;
|
return salary;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,10 @@ public class PsTaskMainVo implements Serializable {
|
|||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
private Long id;
|
private Long id;
|
||||||
|
/**
|
||||||
|
* 主任务主键id
|
||||||
|
*/
|
||||||
|
private Long mainId;
|
||||||
/**
|
/**
|
||||||
* 合同编码
|
* 合同编码
|
||||||
*/
|
*/
|
||||||
|
@ -47,9 +47,9 @@ public class CancellaApproverServiceImpl extends ApproverAbstractServiceImpl {
|
|||||||
contractInfoService.updateByCode(psContractInfo);
|
contractInfoService.updateByCode(psContractInfo);
|
||||||
//主任务作废
|
//主任务作废
|
||||||
taskMainMapper.update(Wrappers.<PsTaskMain>lambdaUpdate()
|
taskMainMapper.update(Wrappers.<PsTaskMain>lambdaUpdate()
|
||||||
.set(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL)
|
.set(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode())
|
||||||
.eq(PsTaskMain::getContractCode, psApproverRecord.getContractCode())
|
.eq(PsTaskMain::getContractCode, psApproverRecord.getContractCode())
|
||||||
.ne(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL));
|
.ne(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode()));
|
||||||
//子任务作废
|
//子任务作废
|
||||||
taskAppointMapper.update(Wrappers.<PsTaskAppoint>lambdaUpdate()
|
taskAppointMapper.update(Wrappers.<PsTaskAppoint>lambdaUpdate()
|
||||||
.set(PsTaskAppoint::getAppointStatus, TaskStatusEnum.AppointStatusEnum.CANCEL.getCode())
|
.set(PsTaskAppoint::getAppointStatus, TaskStatusEnum.AppointStatusEnum.CANCEL.getCode())
|
||||||
|
@ -62,6 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
main.start_date,
|
main.start_date,
|
||||||
main.task_status,
|
main.task_status,
|
||||||
main.contract_code,
|
main.contract_code,
|
||||||
|
main.id main_id,
|
||||||
con.is_proxy con_is_proxy,
|
con.is_proxy con_is_proxy,
|
||||||
con.custom_scene con_custom_scene,
|
con.custom_scene con_custom_scene,
|
||||||
con.custom_manager con_custom_manager,
|
con.custom_manager con_custom_manager,
|
||||||
|
Loading…
Reference in New Issue
Block a user