bug
This commit is contained in:
parent
77bc7793e9
commit
51d656dd76
@ -94,11 +94,12 @@ public class HomeController extends BaseController {
|
||||
/**
|
||||
* 首页大盘数据:人员成交数据饼图、列表
|
||||
* @param type
|
||||
* tabType -1全部 0销售 1财务
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getUserContractAndPayInfo")
|
||||
public R<UserAmountVo> getUserContractAndPayInfo(@RequestParam() Integer type, @RequestParam() Boolean isCaiwu){
|
||||
return R.ok(homeService.getUserContractAndPayInfo(type, isCaiwu));
|
||||
public R<UserAmountVo> getUserContractAndPayInfo(@RequestParam() Integer type, @RequestParam() int tabType){
|
||||
return R.ok(homeService.getUserContractAndPayInfo(type, tabType));
|
||||
}
|
||||
/**
|
||||
* 首页大盘数据:人员成交数据列表
|
||||
@ -114,12 +115,13 @@ public class HomeController extends BaseController {
|
||||
/**
|
||||
* 首页大盘数据:人员转介绍成交数据列表
|
||||
* @param type 1本月 2上月 3本季度 4本年 5所有
|
||||
* tabType -1全部 0销售 1财务
|
||||
* @return
|
||||
*/
|
||||
@SaCheckPermission("business:salary:list")
|
||||
@GetMapping("/getUserContractSourceAmounts")
|
||||
public R<UserAmountVo> getUserContractSourceAmounts(@RequestParam() Integer type, @RequestParam() Boolean isCaiwu){
|
||||
return R.ok(homeService.getUserContractSourceAmountsByDeptId(type, isCaiwu));//缺少已回款未回款金额
|
||||
public R<UserAmountVo> getUserContractSourceAmounts(@RequestParam() Integer type, @RequestParam() int tabType){
|
||||
return R.ok(homeService.getUserContractSourceAmountsByDeptId(type, tabType));//缺少已回款未回款金额
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,9 +16,9 @@ public interface HomeService {
|
||||
|
||||
ReturnMoneyInfoVo returnMoney(Integer type);
|
||||
RenewalInfoVo renewal(Integer type);
|
||||
UserAmountVo getUserContractSourceAmountsByDeptId(Integer type, boolean isCaiwu);
|
||||
UserAmountVo getUserContractSourceAmountsByDeptId(Integer type, int tabType);
|
||||
List<UserContractAmountVo> getUserContractAmountsByDeptId(Integer type, Long deptId);
|
||||
UserAmountVo getUserContractAndPayInfo(Integer type, boolean isCaiwu);
|
||||
UserAmountVo getUserContractAndPayInfo(Integer type, int tabType);
|
||||
/**
|
||||
* 首页大盘数据:各渠道成交
|
||||
* @param type
|
||||
|
@ -71,7 +71,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
.ne(PsContractInfo::getIsCancel, CommonStatusEnum.SUCCESS.getCode())
|
||||
.ne(PsContractInfo::getContractStatus, ContractStatusEnum.INIT.getCode())
|
||||
.ge(startDate != null,PsContractInfo::getApplyDate,startDate)
|
||||
.le(endDate != null,PsContractInfo::getApplyDate,endDate));
|
||||
.lt(endDate != null,PsContractInfo::getApplyDate,endDate));
|
||||
|
||||
Map<String, List<PsContractInfo>> map = list.stream().collect(Collectors.groupingBy(PsContractInfo::getIsDue, Collectors.toList()));
|
||||
//续期合同
|
||||
@ -105,7 +105,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
List<PsContractPay> payList = payMapper.selectList(Wrappers.<PsContractPay>query().select("business_type", "sum(money) money").lambda()
|
||||
.in(PsContractPay::getContractCode, renewCodes).eq(PsContractPay::getPayStatus, PayStatusEnum.SUCCESS.getCode())
|
||||
.ge(startDate != null, PsContractPay::getCreateTime, startDate)
|
||||
.le(endDate != null, PsContractPay::getCreateTime, endDate)
|
||||
.lt(endDate != null, PsContractPay::getCreateTime, endDate)
|
||||
.groupBy(PsContractPay::getBusinessType));
|
||||
BigDecimal payMoney = BigDecimal.ZERO;
|
||||
for (PsContractPay pay : payList) {
|
||||
@ -128,6 +128,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
switch (type){
|
||||
case 1://本月
|
||||
startDate = now.withDayOfMonth(1);
|
||||
endDate = now.plusMonths(1).withDayOfMonth(1);
|
||||
date = startDate.format(df);
|
||||
break;
|
||||
case 2: //上月
|
||||
@ -218,8 +219,13 @@ public class HomeServiceImpl implements HomeService {
|
||||
res.setSumMoney(sumMoney);
|
||||
res.setPayMoney(payMoney);
|
||||
res.setUnPayMoney(sumMoney.subtract(payMoney));
|
||||
if (sumMoney.doubleValue() == 0){
|
||||
res.setPayMoneyPer("100%");
|
||||
res.setUnPayMoneyPer("0%");
|
||||
}else{
|
||||
res.setPayMoneyPer(payMoney.multiply(new BigDecimal("100.0")).divide(sumMoney,2, RoundingMode.HALF_UP).toPlainString()+"%");
|
||||
res.setUnPayMoneyPer(res.getUnPayMoney().multiply(new BigDecimal("100.0")).divide(sumMoney,2, RoundingMode.HALF_UP).toPlainString()+"%");
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -233,9 +239,9 @@ public class HomeServiceImpl implements HomeService {
|
||||
QueryWrapper<PsContractBusiness> wrapper = new QueryWrapper<PsContractBusiness>()
|
||||
.select("company_id", "contract_code", "sum(business_amount) as business_amount")
|
||||
.eq("business_type", "2")
|
||||
.between("end_date", startDate, endDate)
|
||||
// .between("end_date", startDate, endDate)
|
||||
.ge(startDate != null,"end_date", startDate)
|
||||
.le(endDate != null,"end_date", endDate)
|
||||
.lt(endDate != null,"end_date", endDate)
|
||||
.groupBy("company_id")
|
||||
.groupBy("contract_code");
|
||||
//到期的合同
|
||||
@ -260,7 +266,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
|
||||
QueryWrapper<PsContractInfo> contractWrapper = new QueryWrapper<PsContractInfo>()
|
||||
.ge(startDate != null,"apply_date", startDate)
|
||||
.le(endDate != null,"apply_date", endDate)
|
||||
.lt(endDate != null,"apply_date", endDate)
|
||||
.eq("con.is_due", 1)
|
||||
.in("cc.company_id", companyIds)
|
||||
.notIn("cc.contract_code", contractCodeList);
|
||||
@ -293,7 +299,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
* @param isCaiwu
|
||||
* @return
|
||||
*/
|
||||
public UserAmountVo getUserContractSourceAmountsByDeptId(Integer type, boolean isCaiwu){
|
||||
public UserAmountVo getUserContractSourceAmountsByDeptId(Integer type, int tabType){
|
||||
Map<String, Object> mapParam = this.getDate(type);
|
||||
LocalDate startDate = (LocalDate)mapParam.get("startDate");
|
||||
LocalDate endDate = (LocalDate)mapParam.get("endDate");
|
||||
@ -307,8 +313,8 @@ public class HomeServiceImpl implements HomeService {
|
||||
queryParam.put("payStatus", PayStatusEnum.SUCCESS.getCode());
|
||||
|
||||
QueryWrapper<PsContractInfo> queryWrapper = new QueryWrapper<PsContractInfo>()
|
||||
.in(isCaiwu, "role.role_key", Arrays.asList(RoleEnum.caiwu, RoleEnum.cwzg))
|
||||
.in(!isCaiwu, "role.role_key", Arrays.asList(RoleEnum.xiaoshou, RoleEnum.xszg));
|
||||
.in(tabType == 1, "role.role_key", Arrays.asList(RoleEnum.caiwu.getCode(), RoleEnum.cwzg.getCode()))
|
||||
.in(tabType == 0, "role.role_key", Arrays.asList(RoleEnum.xiaoshou.getCode(), RoleEnum.xszg.getCode()));
|
||||
|
||||
List<UserContractAmountInfo> list = psContractInfoMapper.getUserContractSourceAmountsByDeptId(queryParam, queryWrapper);
|
||||
Map<Long,UserContractAmountVo> res = new HashMap<>();
|
||||
@ -480,7 +486,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
* @param type
|
||||
* @return
|
||||
*/
|
||||
public UserAmountVo getUserContractAndPayInfo(Integer type, boolean isCaiwu){
|
||||
public UserAmountVo getUserContractAndPayInfo(Integer type, int tabType){
|
||||
Map<String, Object> mapParam = this.getDate(type);
|
||||
LocalDate startDate = (LocalDate)mapParam.get("startDate");
|
||||
LocalDate endDate = (LocalDate)mapParam.get("endDate");
|
||||
@ -492,10 +498,10 @@ public class HomeServiceImpl implements HomeService {
|
||||
queryParam.put("contractStatus", ContractStatusEnum.INIT.getCode());
|
||||
queryParam.put("isCancel", CommonStatusEnum.SUCCESS.getCode());
|
||||
queryParam.put("payStatus", PayStatusEnum.SUCCESS.getCode());
|
||||
LocalDateTime localDateTime2= LocalDateTime.parse("2024-11-07T14:04:00");
|
||||
// LocalDateTime localDateTime2= LocalDateTime.parse("2024-11-07T14:04:00");
|
||||
QueryWrapper<PsContractInfo> queryWrapper = new QueryWrapper<PsContractInfo>()
|
||||
// .in(isCaiwu, "role.role_key", Arrays.asList(RoleEnum.caiwu, RoleEnum.cwzg))
|
||||
// .in(!isCaiwu, "role.role_key", Arrays.asList(RoleEnum.xiaoshou, RoleEnum.xszg) );
|
||||
.in(tabType == 1, "role.role_key", Arrays.asList(RoleEnum.caiwu.getCode(), RoleEnum.cwzg.getCode()))
|
||||
.in(tabType == 0, "role.role_key", Arrays.asList(RoleEnum.xiaoshou.getCode(), RoleEnum.xszg.getCode()) );
|
||||
;
|
||||
List<UserContractAmountInfo> list = psContractInfoMapper.getUserContractAndPayInfo(queryParam, queryWrapper);
|
||||
Map<Long, UserAmountInfoVo> resMap = new HashMap<>();
|
||||
@ -515,13 +521,16 @@ public class HomeServiceImpl implements HomeService {
|
||||
if(obj.getContractCode() != null && obj.getContractCode().length() > 0){
|
||||
vo.addContractNum();
|
||||
}
|
||||
if (obj.getPayedMoney() != null){
|
||||
vo.addPayedSumAmount(obj.getPayedMoney());
|
||||
|
||||
}
|
||||
|
||||
if(repeatContractCode.get(obj.getContractCode())==null){
|
||||
repeatContractCode.put(obj.getContractCode(), obj.getContractCode());
|
||||
if (obj.getContractAmount() != null) {
|
||||
vo.addSumAmount(obj.getContractAmount());
|
||||
}
|
||||
}
|
||||
|
||||
//托管合同金额累计
|
||||
if(obj.getBusinessType() != null && obj.getBusinessType().equals("4")){
|
||||
@ -529,19 +538,25 @@ public class HomeServiceImpl implements HomeService {
|
||||
} else {
|
||||
//软件开发合同金额累计
|
||||
if (obj.getBusinessType() != null && obj.getBusinessType().equals("9")) {
|
||||
if (obj.getContractAmount() != null) {
|
||||
vo.addSoftwareDevAmount(obj.getContractAmount());
|
||||
}
|
||||
} else {
|
||||
//其他合同金额累计
|
||||
if (obj.getIsDue() == null || obj.getIsDue().equals("0")) {
|
||||
if (obj.getContractAmount() != null){
|
||||
vo.addOtherAmount(obj.getContractAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//续签合同金额累计
|
||||
if(obj.getIsDue()!=null&&obj.getIsDue().equals("1")){
|
||||
if (obj.getContractAmount() != null) {
|
||||
vo.addXuFeiAmount(obj.getContractAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算未付款金额
|
||||
resMap.values().forEach(v->{
|
||||
@ -594,7 +609,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
QueryWrapper<PsContractInfo> wq = new QueryWrapper<PsContractInfo>()
|
||||
.ne("info.is_due", CommonStatusEnum.SUCCESS.getCode()).ne("info.contract_status", ContractStatusEnum.INIT.getCode())
|
||||
// .eq("pay.pay_status", PayStatusEnum.SUCCESS.getCode())
|
||||
.ge(startDate != null, "info.apply_date", startDate).le(endDate != null, "info.apply_date", endDate);
|
||||
.ge(startDate != null, "info.apply_date", startDate).lt(endDate != null, "info.apply_date", endDate);
|
||||
List<ChannelPayInfo> list;
|
||||
if(dateType == 1){//所有的数据权限
|
||||
list = psContractInfoMapper.byChannel(wq, startDate, endDate);
|
||||
@ -658,7 +673,7 @@ public class HomeServiceImpl implements HomeService {
|
||||
|
||||
LambdaQueryWrapper<PsTaskMain> wq = Wrappers.<PsTaskMain>lambdaQuery().ne(PsTaskMain::getTaskStatus, TaskStatusEnum.CANCEL.getCode())
|
||||
.ge(startDate != null,PsTaskMain::getCreateTime,startDate)
|
||||
.le(endDate != null,PsTaskMain::getCreateTime,endDate);
|
||||
.lt(endDate != null,PsTaskMain::getCreateTime,endDate);
|
||||
//任务的总数
|
||||
Long count = taskMainMapper.selectCount(wq);
|
||||
wq.eq(PsTaskMain::getTaskStatus, TaskStatusEnum.FINISH.getCode());
|
||||
@ -669,9 +684,14 @@ public class HomeServiceImpl implements HomeService {
|
||||
finishTaskVo.setDateStr(date);
|
||||
finishTaskVo.setFinishNum(finishCount);
|
||||
finishTaskVo.setCount(count);
|
||||
finishTaskVo.setUnfinishNum(count-finishCount);
|
||||
finishTaskVo.setUnfinishNum(count - finishCount);
|
||||
if (count == 0){
|
||||
finishTaskVo.setFinishPre("100");
|
||||
finishTaskVo.setUnfinishPre("0");
|
||||
}else{
|
||||
finishTaskVo.setFinishPre(new BigDecimal(finishCount).divide(new BigDecimal(count),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).toPlainString());
|
||||
finishTaskVo.setUnfinishPre(new BigDecimal(finishTaskVo.getUnfinishNum()).divide(new BigDecimal(count),4,RoundingMode.HALF_UP).multiply(new BigDecimal("100")).toPlainString());
|
||||
}
|
||||
return finishTaskVo;
|
||||
}
|
||||
|
||||
@ -693,13 +713,13 @@ public class HomeServiceImpl implements HomeService {
|
||||
//查范围内创建并且范围内完成的数据
|
||||
List<Map<String, Object>> allList = taskMainMapper.selectMaps(Wrappers.<PsTaskMain>query().select("round(AVG(TIMESTAMPDIFF(day, create_time, finish_date) )) avg")
|
||||
.eq("task_status", TaskStatusEnum.FINISH.getCode())
|
||||
.ge(startDate != null, "create_time", startDate).le(endDate != null, "create_time", endDate)
|
||||
.ge(startDate != null, "finish_date", startDate).le(endDate != null, "finish_date", endDate));
|
||||
.ge(startDate != null, "create_time", startDate).lt(endDate != null, "create_time", endDate)
|
||||
.ge(startDate != null, "finish_date", startDate).lt(endDate != null, "finish_date", endDate));
|
||||
|
||||
List<Map<String, Object>> appointList = taskAppointMapper.selectMaps(Wrappers.<PsTaskAppoint>query().select("appoint_type","round(AVG(TIMESTAMPDIFF(day, create_time, finish_date) )) avg")
|
||||
.eq("appoint_status", TaskStatusEnum.AppointStatusEnum.FINISH.getCode())
|
||||
.ge(startDate != null, "create_time", startDate).le(endDate != null, "create_time", endDate)
|
||||
.ge(startDate != null, "finish_date", startDate).le(endDate != null, "finish_date", endDate)
|
||||
.ge(startDate != null, "create_time", startDate).lt(endDate != null, "create_time", endDate)
|
||||
.ge(startDate != null, "finish_date", startDate).lt(endDate != null, "finish_date", endDate)
|
||||
.groupBy("appoint_type"));
|
||||
map.put("taskAvg", allList.isEmpty() || allList.get(0) == null ? 0 : allList.get(0).get("avg"));//任务平均天数
|
||||
map.put("inAvg", 0);//内勤
|
||||
|
@ -133,8 +133,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
FROM sys_user u
|
||||
LEFT JOIN ps_contract_info info on
|
||||
u.user_id = info.custom_manager
|
||||
inner join sys_user_role ur on ur.user_id = u.user_id
|
||||
inner join sys_role role on role.role_id = ur.role_id
|
||||
<if test="queryParam.startDate != null">
|
||||
and info.apply_date >= #{queryParam.startDate}
|
||||
</if>
|
||||
@ -144,11 +142,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
and info.contract_status != #{queryParam.contractStatus}
|
||||
and info.is_cancel != #{queryParam.isCancel}
|
||||
|
||||
inner join sys_user_role ur on ur.user_id = u.user_id
|
||||
inner join sys_role role on role.role_id = ur.role_id
|
||||
LEFT JOIN ps_contract_pay pay on
|
||||
info.contract_code=pay.contract_code
|
||||
and pay.pay_status=#{queryParam.payStatus}
|
||||
and pay.del_flag=0
|
||||
|
||||
${ew.getCustomSqlSegment}
|
||||
</select>
|
||||
|
||||
@ -166,7 +165,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
inner join sys_user_role ur on ur.user_id = u.user_id
|
||||
inner join sys_role role on role.role_id = ur.role_id
|
||||
LEFT JOIN ps_contract_info info on
|
||||
u.user_id=info.custom_manager
|
||||
u.user_id = info.custom_manager
|
||||
and info.contract_status != #{queryParam.contractStatus}
|
||||
and info.is_cancel != #{queryParam.isCancel}
|
||||
|
||||
|
@ -315,7 +315,7 @@ public class SysNoticeBo extends BaseEntity {
|
||||
noticeBo.setNoticeTitle("通知");
|
||||
noticeBo.setStatus("0");
|
||||
noticeBo.setNoticeContent("新增【"+ coustomName +"】的开票需求,请及时处理。");
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.caiwu.getCode()));
|
||||
noticeBo.setRecRole(Arrays.asList(RoleEnum.caiwu.getCode(), RoleEnum.cwzg.getCode()));
|
||||
noticeBo.setJumpType(0);
|
||||
return noticeBo;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user