客户信息

This commit is contained in:
1073413548 2024-09-11 11:11:00 +08:00
parent 43ac428a50
commit b681753d5c
10 changed files with 51 additions and 20 deletions

View File

@ -70,7 +70,7 @@ spring:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: @profiles.active@
active: prod
# 文件上传
servlet:
multipart:

View File

@ -80,4 +80,9 @@ public interface CacheNames {
* 首页查询(回款统计与合同)
*/
String HOME_B = "home_queryB#60s";
/**
* 首页查询(成交金额)
*/
String HOME_C = "home_queryC#60s";
}

View File

@ -1,12 +1,15 @@
package com.pusong.business.domain.vo.home;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pusong.business.domain.vo.PsCustomPriceVo;
import lombok.Data;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Comparator;
import java.util.Date;
import java.util.Map;
import java.util.List;
import java.util.stream.Collectors;
@Data
public class ChannelAmountVo {
@ -28,21 +31,38 @@ public class ChannelAmountVo {
/**
* 各渠道成交金额
*/
private Map<String,DataAmountVo> channelMap;
private List<DataAmountVo> channelList;
public void cellPer(){
//计算总金额
this.all = this.all == null? BigDecimal.ZERO: this.all;
for (String str : channelMap.keySet()){
all = all.add(channelMap.get(str).getMoney());
for (DataAmountVo str : channelList){
all = all.add(str.getMoney());
}
int num = 0;
BigDecimal payMoney = BigDecimal.ZERO;
BigDecimal unpayMoney = BigDecimal.ZERO;
//计算占比
if(0 == this.all.compareTo(BigDecimal.ZERO)) {
channelMap.forEach((k, v)->{v.setPer("0%");});
channelList.forEach((v)->{v.setPer("0%");});
}else {
channelMap.forEach((k, v)->{v.setPer(v.getMoney().multiply(new BigDecimal("100.0")).divide(this.all,2, RoundingMode.HALF_UP).toPlainString()+"%");});
for (DataAmountVo str : channelList){
num = num + Integer.parseInt(str.getNum().replace("",""));
payMoney = payMoney.add(str.getPayMoney());
unpayMoney = unpayMoney.add(str.getUnPayMoney());
str.setPer(str.getMoney().multiply(new BigDecimal("100.0")).divide(this.all,2, RoundingMode.HALF_UP).toPlainString()+"%");
}
}
DataAmountVo dataAmountVo = new DataAmountVo();
dataAmountVo.setType("总计");
dataAmountVo.setPer("100%");
dataAmountVo.setNum(num+"");
dataAmountVo.setPayMoney(payMoney);
dataAmountVo.setUnPayMoney(unpayMoney);
dataAmountVo.setMoney(all);
channelList = channelList.stream().sorted(Comparator.comparing(DataAmountVo::getMoney).reversed()).collect(Collectors.toList());
channelList.add(dataAmountVo);
}
}

View File

@ -6,6 +6,10 @@ import java.math.BigDecimal;
@Data
public class DataAmountVo {
/**
* 类型
*/
private String type;
/**
* 占比
*/

View File

@ -48,10 +48,10 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
PsContractInfoVo info = psContractInfoService.queryContractByCode(psApproverRecord.getContractCode());
//修改回款记录状态
PsContractPay update = new PsContractPay();
if(StringUtils.isNotBlank(psApproverRecord.getUpdateData())){
PsContractPayBo upda = JSON.parseObject(psApproverRecord.getUpdateData(), PsContractPayBo.class);
MapstructUtils.convert(upda,update);
}
// if(StringUtils.isNotBlank(psApproverRecord.getUpdateData())){
// PsContractPayBo upda = JSON.parseObject(psApproverRecord.getUpdateData(), PsContractPayBo.class);
// MapstructUtils.convert(upda,update);
// }
update.setId(Long.valueOf(psApproverRecord.getBusinessId()));
update.setPayStatus(PayStatusEnum.SUCCESS.getCode());
payService.updateById(update);

View File

@ -230,7 +230,7 @@ public class HomeServiceImpl implements HomeService {
//把支付信息根据渠道分组方便下面使用
Map<String, List<ChannelPayInfo>> map = list.stream().collect(Collectors.groupingBy(ChannelPayInfo::getChannel, Collectors.toList()));
//各渠道的支付信息
Map<String,DataAmountVo> channelMap = new HashMap<>();
List<DataAmountVo> channelList = new ArrayList<>();
//便利渠道装填各个渠道信息
for (String item : configList){
DataAmountVo data = new DataAmountVo();
@ -248,9 +248,10 @@ public class HomeServiceImpl implements HomeService {
data.setMoney(money);
data.setPayMoney(paymoney);
data.setUnPayMoney(unpaymoney);
channelMap.put(item,data);
data.setType(item);
channelList.add(data);
}
res.setChannelMap(channelMap);
res.setChannelList(channelList);
//计算总金额和占比
res.cellPer();
return res;

View File

@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
/**
@ -107,7 +108,7 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
baseMapper.insert(pay);
//发起审批
ApproverService service = container.getService(ApproverTypeEnum.PAY.getCode());
service.apply(pay.getId()+"",pay.getContractCode(),payBo.getPayDesc(), pay.getPayMode());
service.apply(pay.getId()+"",pay.getContractCode(),payBo.getPayDesc(), pay.getMoney().setScale(2, RoundingMode.HALF_UP).toPlainString());
}
/**
* 添加退款记录

View File

@ -69,8 +69,8 @@ public class SysUserController extends BaseController {
* 获取登陆人下的用户列表
*/
@GetMapping("/userlist")
public R<List<SysUserVo>> userlist(Long postId) {
return R.ok(userService.selectUserList(postId));
public R<List<SysUserVo>> userlist(Long deptId) {
return R.ok(userService.selectUserList(deptId));
}
/**

View File

@ -17,7 +17,7 @@ public interface ISysUserService {
TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery);
List<SysUserVo> selectUserList(Long postId);
List<SysUserVo> selectUserList(Long deptId);
/**
* 根据条件分页查询用户列表
*

View File

@ -75,11 +75,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
* @return
*/
@Override
public List<SysUserVo> selectUserList(Long postId) {
public List<SysUserVo> selectUserList(Long deptId) {
//根据岗位id查询改为根据部门id查询
SysUserBo bo = new SysUserBo();
// bo.setPostIdQuery(postId);
bo.setDeptId(1808380345979961346l);
bo.setDeptId(deptId);
return baseMapper.selectUserList( this.buildQueryWrapper(bo));
}