客户信息

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 basename: i18n/messages
profiles: profiles:
active: @profiles.active@ active: prod
# 文件上传 # 文件上传
servlet: servlet:
multipart: multipart:

View File

@ -80,4 +80,9 @@ public interface CacheNames {
* 首页查询(回款统计与合同) * 首页查询(回款统计与合同)
*/ */
String HOME_B = "home_queryB#60s"; 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; package com.pusong.business.domain.vo.home;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.pusong.business.domain.vo.PsCustomPriceVo;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.List;
import java.util.stream.Collectors;
@Data @Data
public class ChannelAmountVo { public class ChannelAmountVo {
@ -28,21 +31,38 @@ public class ChannelAmountVo {
/** /**
* 各渠道成交金额 * 各渠道成交金额
*/ */
private Map<String,DataAmountVo> channelMap; private List<DataAmountVo> channelList;
public void cellPer(){ public void cellPer(){
//计算总金额 //计算总金额
this.all = this.all == null? BigDecimal.ZERO: this.all; this.all = this.all == null? BigDecimal.ZERO: this.all;
for (String str : channelMap.keySet()){ for (DataAmountVo str : channelList){
all = all.add(channelMap.get(str).getMoney()); all = all.add(str.getMoney());
} }
int num = 0;
BigDecimal payMoney = BigDecimal.ZERO;
BigDecimal unpayMoney = BigDecimal.ZERO;
//计算占比 //计算占比
if(0 == this.all.compareTo(BigDecimal.ZERO)) { if(0 == this.all.compareTo(BigDecimal.ZERO)) {
channelMap.forEach((k, v)->{v.setPer("0%");}); channelList.forEach((v)->{v.setPer("0%");});
}else { }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 @Data
public class DataAmountVo { public class DataAmountVo {
/**
* 类型
*/
private String type;
/** /**
* 占比 * 占比
*/ */

View File

@ -48,10 +48,10 @@ public class PayContractApproverServiceImpl extends ApproverAbstractServiceImpl
PsContractInfoVo info = psContractInfoService.queryContractByCode(psApproverRecord.getContractCode()); PsContractInfoVo info = psContractInfoService.queryContractByCode(psApproverRecord.getContractCode());
//修改回款记录状态 //修改回款记录状态
PsContractPay update = new PsContractPay(); PsContractPay update = new PsContractPay();
if(StringUtils.isNotBlank(psApproverRecord.getUpdateData())){ // if(StringUtils.isNotBlank(psApproverRecord.getUpdateData())){
PsContractPayBo upda = JSON.parseObject(psApproverRecord.getUpdateData(), PsContractPayBo.class); // PsContractPayBo upda = JSON.parseObject(psApproverRecord.getUpdateData(), PsContractPayBo.class);
MapstructUtils.convert(upda,update); // MapstructUtils.convert(upda,update);
} // }
update.setId(Long.valueOf(psApproverRecord.getBusinessId())); update.setId(Long.valueOf(psApproverRecord.getBusinessId()));
update.setPayStatus(PayStatusEnum.SUCCESS.getCode()); update.setPayStatus(PayStatusEnum.SUCCESS.getCode());
payService.updateById(update); 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, 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){ for (String item : configList){
DataAmountVo data = new DataAmountVo(); DataAmountVo data = new DataAmountVo();
@ -248,9 +248,10 @@ public class HomeServiceImpl implements HomeService {
data.setMoney(money); data.setMoney(money);
data.setPayMoney(paymoney); data.setPayMoney(paymoney);
data.setUnPayMoney(unpaymoney); data.setUnPayMoney(unpaymoney);
channelMap.put(item,data); data.setType(item);
channelList.add(data);
} }
res.setChannelMap(channelMap); res.setChannelList(channelList);
//计算总金额和占比 //计算总金额和占比
res.cellPer(); res.cellPer();
return res; return res;

View File

@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*; import java.util.*;
/** /**
@ -107,7 +108,7 @@ public class PsContractPayServiceImpl implements IPsContractPayService {
baseMapper.insert(pay); baseMapper.insert(pay);
//发起审批 //发起审批
ApproverService service = container.getService(ApproverTypeEnum.PAY.getCode()); 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") @GetMapping("/userlist")
public R<List<SysUserVo>> userlist(Long postId) { public R<List<SysUserVo>> userlist(Long deptId) {
return R.ok(userService.selectUserList(postId)); return R.ok(userService.selectUserList(deptId));
} }
/** /**

View File

@ -17,7 +17,7 @@ public interface ISysUserService {
TableDataInfo<SysUserVo> selectPageUserList(SysUserBo user, PageQuery pageQuery); 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 * @return
*/ */
@Override @Override
public List<SysUserVo> selectUserList(Long postId) { public List<SysUserVo> selectUserList(Long deptId) {
//根据岗位id查询改为根据部门id查询 //根据岗位id查询改为根据部门id查询
SysUserBo bo = new SysUserBo(); SysUserBo bo = new SysUserBo();
// bo.setPostIdQuery(postId); // bo.setPostIdQuery(postId);
bo.setDeptId(1808380345979961346l); bo.setDeptId(deptId);
return baseMapper.selectUserList( this.buildQueryWrapper(bo)); return baseMapper.selectUserList( this.buildQueryWrapper(bo));
} }