bug
This commit is contained in:
parent
3afd28afa5
commit
2fa8673bb7
@ -80,15 +80,16 @@ public class CalSalaryBatch {
|
|||||||
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());
|
||||||
|
|
||||||
log.info("查询本月所有已完成的合同");
|
log.info("查询符合条件的合同");
|
||||||
|
//当月新签+当月之前未完成合同数 = 全部合同 - 完成时间在当月之前的
|
||||||
List<PsContractInfo> contractInfos = psContractInfoMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery()
|
List<PsContractInfo> contractInfos = psContractInfoMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery()
|
||||||
.ne(PsContractInfo::getIsCancel, CommonStatusEnum.SUCCESS.getCode())
|
.ne(PsContractInfo::getIsCancel, CommonStatusEnum.SUCCESS.getCode())
|
||||||
.between(PsContractInfo::getFinishDate, firstDayOfLastMonth, lastDayOfLastMonth));
|
.and(wq->wq.lt(PsContractInfo::getFinishDate, firstDayOfLastMonth).or().isNull(PsContractInfo::getFinishDate)));
|
||||||
|
|
||||||
|
// List<PsContractInfo> contractInfos = psContractInfoMapper.selectList(Wrappers.<PsContractInfo>lambdaQuery()
|
||||||
|
// .ne(PsContractInfo::getIsCancel, CommonStatusEnum.SUCCESS.getCode())
|
||||||
|
// .between(PsContractInfo::getFinishDate, firstDayOfLastMonth, lastDayOfLastMonth));
|
||||||
log.info("查询本月所有的合同{}", contractInfos.size());
|
log.info("查询本月所有的合同{}", contractInfos.size());
|
||||||
if(CollectionUtils.isEmpty(contractInfos)){
|
|
||||||
log.info("本月无已完成合同");
|
|
||||||
contractInfos = new ArrayList<>();
|
|
||||||
}
|
|
||||||
List<PsContractInfo> finists = contractInfos.stream().filter(item -> StringUtils.equals(item.getContractStatus(), ContractStatusEnum.SUCCESS.getCode())).toList();
|
List<PsContractInfo> finists = contractInfos.stream().filter(item -> StringUtils.equals(item.getContractStatus(), ContractStatusEnum.SUCCESS.getCode())).toList();
|
||||||
List<PsContractInfo> unfinists = contractInfos.stream().filter(item -> !StringUtils.equals(item.getContractStatus(), ContractStatusEnum.SUCCESS.getCode())).toList();
|
List<PsContractInfo> unfinists = contractInfos.stream().filter(item -> !StringUtils.equals(item.getContractStatus(), ContractStatusEnum.SUCCESS.getCode())).toList();
|
||||||
log.info("本月已完成合同数量{},未完成数量{}", finists.size(),unfinists.size());
|
log.info("本月已完成合同数量{},未完成数量{}", finists.size(),unfinists.size());
|
||||||
@ -110,18 +111,22 @@ public class CalSalaryBatch {
|
|||||||
SysUserPost post = sysUserPostMapper.selectOne(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId, userId).last("limit 1"));
|
SysUserPost post = sysUserPostMapper.selectOne(new LambdaQueryWrapper<SysUserPost>().eq(SysUserPost::getUserId, userId).last("limit 1"));
|
||||||
if(post == null){continue;}
|
if(post == null){continue;}
|
||||||
log.info("查询员工岗位{}",post.getPostId());
|
log.info("查询员工岗位{}",post.getPostId());
|
||||||
//服务列表
|
//已完成合同的合同编码
|
||||||
List<String> codeList = new ArrayList<>(finistMap.get(userId) == null ? new ArrayList<>() : finistMap.get(userId).stream().map(PsContractInfo::getContractCode).toList());
|
List<String> codeList = new ArrayList<>(finistMap.get(userId) == null ? new ArrayList<>() : finistMap.get(userId).stream().map(PsContractInfo::getContractCode).toList());
|
||||||
|
//服务列表
|
||||||
List<PsContractBusinessVo> busin = businessService.selectBusinessList(codeList);
|
List<PsContractBusinessVo> busin = businessService.selectBusinessList(codeList);
|
||||||
//所有合同的退款列表
|
//所有合同的退款列表
|
||||||
codeList.addAll(unfinistMap.get(userId) == null ? new ArrayList<>() : unfinistMap.get(userId).stream().map(PsContractInfo::getContractCode).toList());
|
// codeList.addAll(unfinistMap.get(userId) == null ? new ArrayList<>() : unfinistMap.get(userId).stream().map(PsContractInfo::getContractCode).toList());
|
||||||
|
|
||||||
log.info("进行计算提成计算");
|
log.info("进行计算提成计算");
|
||||||
BigDecimal salary = calSalary(busin, configMap.get(post.getPostId()),costMap.get(post.getPostId()));
|
BigDecimal salary = calSalary(busin, configMap.get(post.getPostId()),costMap.get(post.getPostId()));
|
||||||
List<PsContractPay> payList = new ArrayList<>();
|
List<PsContractPay> payList = new ArrayList<>();
|
||||||
|
//查询已完成合同的退款列表
|
||||||
if(CollectionUtils.isNotEmpty(codeList)){
|
if(CollectionUtils.isNotEmpty(codeList)){
|
||||||
payList = payMapper.selectList(Wrappers.<PsContractPay>lambdaQuery().in(PsContractPay::getContractCode, codeList).
|
payList = payMapper.getRefundList(Wrappers.<PsContractPay>query()
|
||||||
eq(PsContractPay::getPayStatus, PayStatusEnum.SUCCESS.getCode()).eq(PsContractPay::getBusinessType,"2"));
|
.in("pay.contract_code", codeList).isNotNull("info.finish_date")
|
||||||
|
.apply("pay.pay_date>info.finish_date")
|
||||||
|
.eq("pay.business_type","2").eq("pay.pay_status",PayStatusEnum.SUCCESS.getCode()));
|
||||||
}
|
}
|
||||||
//salary- 退费金额*服务项目最高提成
|
//salary- 退费金额*服务项目最高提成
|
||||||
salary = salary.subtract(this.calReturnSalary(payList,configMap.get(post.getPostId())));
|
salary = salary.subtract(this.calReturnSalary(payList,configMap.get(post.getPostId())));
|
||||||
@ -149,15 +154,15 @@ 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> finCode = new ArrayList<>();
|
||||||
|
//未完成合同编码
|
||||||
List<String> unfinCode = new ArrayList<>();
|
List<String> unfinCode = new ArrayList<>();
|
||||||
if(CollectionUtils.isNotEmpty(finistMap.get(userId))){
|
if(CollectionUtils.isNotEmpty(finistMap.get(userId))){
|
||||||
finCode = finistMap.get(userId).stream().map(PsContractInfo::getContractCode).toList();
|
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();
|
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.setFinishContractCode(String.join(",",finCode));
|
||||||
// psSalary.setUnfinishContractCode(String.join(",",unfinCode));
|
// psSalary.setUnfinishContractCode(String.join(",",unfinCode));
|
||||||
|
@ -20,4 +20,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public interface PsContractPayMapper extends BaseMapperPlus<PsContractPay, PsContractPayVo> {
|
public interface PsContractPayMapper extends BaseMapperPlus<PsContractPay, PsContractPayVo> {
|
||||||
Page<PsRefundVo> queryRefundList(@Param("page") Page<PsContractPay> page, @Param(Constants.WRAPPER) Wrapper<PsContractPay> queryWrapper);
|
Page<PsRefundVo> queryRefundList(@Param("page") Page<PsContractPay> page, @Param(Constants.WRAPPER) Wrapper<PsContractPay> queryWrapper);
|
||||||
|
|
||||||
|
//查询所有合同完成之后的退款记录
|
||||||
|
List<PsContractPay> getRefundList( @Param(Constants.WRAPPER) Wrapper<PsContractPay> queryWrapper);
|
||||||
}
|
}
|
||||||
|
@ -549,7 +549,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
//回传
|
//回传
|
||||||
serviceScheduleVo.setRollBack(StringUtils.equals(CommonStatusEnum.Y.getCode(),contractInfo.getRollBackStatus())?customer.getCustomManager():null);
|
serviceScheduleVo.setRollBack(StringUtils.equals(CommonStatusEnum.SUCCESS.getCode(),contractInfo.getRollBackStatus())?customer.getCustomManager():null);
|
||||||
if(vo.getResidualMoney().compareTo(BigDecimal.ZERO) <=0 && CollectionUtils.isNotEmpty(payVoList)){
|
if(vo.getResidualMoney().compareTo(BigDecimal.ZERO) <=0 && CollectionUtils.isNotEmpty(payVoList)){
|
||||||
PsContractPayVo pay = payVoList.get(payVoList.size() - 1);
|
PsContractPayVo pay = payVoList.get(payVoList.size() - 1);
|
||||||
//最后一笔回款收款者
|
//最后一笔回款收款者
|
||||||
|
@ -16,4 +16,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
left join ps_custom_info cus on cus.id = info.custom_id
|
left join ps_custom_info cus on cus.id = info.custom_id
|
||||||
${ew.getCustomSqlSegment}
|
${ew.getCustomSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getRefundList" resultType="com.pusong.business.domain.PsContractPay">
|
||||||
|
select
|
||||||
|
pay.*
|
||||||
|
from
|
||||||
|
ps_contract_pay pay
|
||||||
|
left join ps_contract_info info on
|
||||||
|
pay.contract_code = info.contract_code
|
||||||
|
${ew.getCustomSqlSegment}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -23,6 +23,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
main.contract_code,
|
main.contract_code,
|
||||||
main.invoice,
|
main.invoice,
|
||||||
con.is_proxy con_is_proxy,
|
con.is_proxy con_is_proxy,
|
||||||
|
con.contract_amount con_contract_amount,
|
||||||
con.custom_scene con_custom_scene,
|
con.custom_scene con_custom_scene,
|
||||||
con.custom_manager con_custom_manager,
|
con.custom_manager con_custom_manager,
|
||||||
usr.nick_name con_custom_manager_name,
|
usr.nick_name con_custom_manager_name,
|
||||||
|
Loading…
Reference in New Issue
Block a user