新增条件判断

master
wjt 1 year ago
parent 18778b40d7
commit 6d63f05133

@ -87,8 +87,7 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
reportFlowList.add(reportFlowVO); reportFlowList.add(reportFlowVO);
} }
map.put("data", reportFlowList); map.put("data", reportFlowList);
} } else {
else {
List<DistributeReportUserEntity> distributeReportUserList = distributeReportUserMapper.selectList(null); List<DistributeReportUserEntity> distributeReportUserList = distributeReportUserMapper.selectList(null);
for (DistributeReportUserEntity distributeReportUserEntity : distributeReportUserList) { for (DistributeReportUserEntity distributeReportUserEntity : distributeReportUserList) {
ReportFlowVO reportFlowVO = new ReportFlowVO(); ReportFlowVO reportFlowVO = new ReportFlowVO();
@ -118,15 +117,14 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
int yesterdayDistributeNum = 0; int yesterdayDistributeNum = 0;
if (type == 1) { if (type == 1) {
List<DistributeReportUserEntity> distributeReportUserList = distributeReportUserMapper List<DistributeReportUserEntity> distributeReportUserList = distributeReportUserMapper
.selectList(wrapperUser); .selectList(wrapperUser);
if (CollUtil.isNotEmpty(distributeReportUserList)) { if (CollUtil.isNotEmpty(distributeReportUserList)) {
for (DistributeReportUserEntity distributeReportUserEntity : distributeReportUserList) { for (DistributeReportUserEntity distributeReportUserEntity : distributeReportUserList) {
yesterdayImportNum += distributeReportUserEntity.getTodayNum(); yesterdayImportNum += distributeReportUserEntity.getTodayNum();
yesterdayDistributeNum += distributeReportUserEntity.getDistributeNum(); yesterdayDistributeNum += distributeReportUserEntity.getDistributeNum();
} }
} }
} } else {
else {
if (userId == null) { if (userId == null) {
throw new BadRequestException("参数异常"); throw new BadRequestException("参数异常");
} }
@ -155,15 +153,20 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
if (CollUtil.isEmpty(allRecordInTodayList)) { if (CollUtil.isEmpty(allRecordInTodayList)) {
return; return;
} }
//今日总量
int sum = allRecordInTodayList.stream().mapToInt(ClueRecordEntity::getSuccessNum).sum();
if (sum < 1) {
return;
}
// 提取所有用户 // 提取所有用户
Set<Long> collect = allRecordInTodayList.stream() Set<Long> collect = allRecordInTodayList.stream()
.map(ClueRecordEntity::getCreateBy) .map(ClueRecordEntity::getCreateBy)
.collect(Collectors.toSet()); .collect(Collectors.toSet());
Map<Long, String> userNameList = getUserName(collect); Map<Long, String> userNameList = getUserName(collect);
// 1.按公司分组 // 1.按公司分组
Map<Long, List<ClueRecordEntity>> recordByUserMap = allRecordInTodayList.stream() Map<Long, List<ClueRecordEntity>> recordByUserMap = allRecordInTodayList.stream()
.collect(Collectors.groupingBy(ClueRecordEntity::getCreateBy)); .collect(Collectors.groupingBy(ClueRecordEntity::getCreateBy));
if (ObjectUtil.isEmpty(recordByUserMap)) { if (ObjectUtil.isEmpty(recordByUserMap)) {
return; return;
} }
@ -171,8 +174,9 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
// 之前的总量 // 之前的总量
Long historyTotal = distributeReportUserMapper.selectCount( Long historyTotal = distributeReportUserMapper.selectCount(
new LambdaQueryWrapper<DistributeReportUserEntity>().select(DistributeReportUserEntity::getTotalNum)); new LambdaQueryWrapper<DistributeReportUserEntity>().select(DistributeReportUserEntity::getTotalNum));
int sum = allRecordInTodayList.stream().mapToInt(ClueRecordEntity::getSuccessNum).sum();
int totalAll = historyTotal.intValue() + sum; int totalAll = historyTotal.intValue() + sum;
// 记录之前得统计id // 记录之前得统计id
List<Long> ids = new ArrayList<>(); List<Long> ids = new ArrayList<>();
for (Map.Entry<Long, List<ClueRecordEntity>> entry : recordByUserMap.entrySet()) { for (Map.Entry<Long, List<ClueRecordEntity>> entry : recordByUserMap.entrySet()) {
@ -182,8 +186,8 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
int sumByUser = clueRecordByUserList.stream().mapToInt(ClueRecordEntity::getSuccessNum).sum(); int sumByUser = clueRecordByUserList.stream().mapToInt(ClueRecordEntity::getSuccessNum).sum();
// 上次对象 // 上次对象
DistributeReportUserEntity distributeReportUserByYesterday = distributeReportUserMapper DistributeReportUserEntity distributeReportUserByYesterday = distributeReportUserMapper
.selectOne(new LambdaQueryWrapper<DistributeReportUserEntity>() .selectOne(new LambdaQueryWrapper<DistributeReportUserEntity>()
.eq(DistributeReportUserEntity::getUserId, userId)); .eq(DistributeReportUserEntity::getUserId, userId));
int yesterdayNum = 0; int yesterdayNum = 0;
int yesterdayTotalNum = 0; int yesterdayTotalNum = 0;
if (distributeReportUserByYesterday != null) { if (distributeReportUserByYesterday != null) {
@ -195,17 +199,16 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
} }
yesterdayTotalNum = distributeReportUserByYesterday.getTotalNum(); yesterdayTotalNum = distributeReportUserByYesterday.getTotalNum();
ids.add(distributeReportUserByYesterday.getId()); ids.add(distributeReportUserByYesterday.getId());
} } else {
else {
distributeReportUserByYesterday = new DistributeReportUserEntity(); distributeReportUserByYesterday = new DistributeReportUserEntity();
} }
// 总数 // 总数
int totalNum = yesterdayTotalNum + sumByUser; int totalNum = yesterdayTotalNum + sumByUser;
// 分发数 // 分发数
int distributeNum = clueRecordByUserList.stream() int distributeNum = clueRecordByUserList.stream()
.filter(c -> c.getAllocationStatus() == 1) .filter(c -> c.getAllocationStatus() == 1)
.mapToInt(ClueRecordEntity::getSuccessNum) .mapToInt(ClueRecordEntity::getSuccessNum)
.sum(); .sum();
double ratio; double ratio;
ratio = NumberUtil.div(totalNum, totalAll); ratio = NumberUtil.div(totalNum, totalAll);
double ratioDay = 0.0; double ratioDay = 0.0;
@ -227,13 +230,13 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
} }
private void dealByChannel(List<ClueRecordEntity> clueRecordByUserList, Long userId, Integer totalNumByUser, private void dealByChannel(List<ClueRecordEntity> clueRecordByUserList, Long userId, Integer totalNumByUser,
String userName) { String userName) {
List<DistributeReportChannelEntity> list = new ArrayList<>(); List<DistributeReportChannelEntity> list = new ArrayList<>();
List<DistributeReportEntity> distributeReportEntityList = new ArrayList<>(); List<DistributeReportEntity> distributeReportEntityList = new ArrayList<>();
// .按渠道分组 // .按渠道分组
Map<String, List<ClueRecordEntity>> recordByChannelMap = clueRecordByUserList.stream() Map<String, List<ClueRecordEntity>> recordByChannelMap = clueRecordByUserList.stream()
.filter(c -> StrUtil.isNotBlank(c.getChannelIdentifying())) .filter(c -> StrUtil.isNotBlank(c.getChannelIdentifying()))
.collect(Collectors.groupingBy(ClueRecordEntity::getChannelIdentifying)); .collect(Collectors.groupingBy(ClueRecordEntity::getChannelIdentifying));
if (ObjectUtil.isEmpty(recordByChannelMap)) { if (ObjectUtil.isEmpty(recordByChannelMap)) {
return; return;
} }
@ -244,9 +247,9 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
int sumByUser = clueRecordByChannel.stream().mapToInt(ClueRecordEntity::getSuccessNum).sum(); int sumByUser = clueRecordByChannel.stream().mapToInt(ClueRecordEntity::getSuccessNum).sum();
// 查询昨日信息 // 查询昨日信息
DistributeReportChannelEntity distributeReportUserByYesterday = distributeReportChannelMapper DistributeReportChannelEntity distributeReportUserByYesterday = distributeReportChannelMapper
.selectOne(new LambdaQueryWrapper<DistributeReportChannelEntity>() .selectOne(new LambdaQueryWrapper<DistributeReportChannelEntity>()
.eq(DistributeReportChannelEntity::getUserId, userId) .eq(DistributeReportChannelEntity::getUserId, userId)
.eq(DistributeReportChannelEntity::getChannel, channel)); .eq(DistributeReportChannelEntity::getChannel, channel));
int yesterdayNum = 0; int yesterdayNum = 0;
int yesterdayTotalNum = 0; int yesterdayTotalNum = 0;
if (distributeReportUserByYesterday != null) { if (distributeReportUserByYesterday != null) {
@ -256,15 +259,14 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
} }
yesterdayTotalNum = distributeReportUserByYesterday.getTotalNum(); yesterdayTotalNum = distributeReportUserByYesterday.getTotalNum();
ids.add(distributeReportUserByYesterday.getId()); ids.add(distributeReportUserByYesterday.getId());
} } else {
else {
distributeReportUserByYesterday = new DistributeReportChannelEntity(); distributeReportUserByYesterday = new DistributeReportChannelEntity();
} }
int totalNum = yesterdayTotalNum + sumByUser; int totalNum = yesterdayTotalNum + sumByUser;
int distributeNum = clueRecordByChannel.stream() int distributeNum = clueRecordByChannel.stream()
.filter(c -> c.getAllocationStatus() == 1) .filter(c -> c.getAllocationStatus() == 1)
.mapToInt(ClueRecordEntity::getSuccessNum) .mapToInt(ClueRecordEntity::getSuccessNum)
.sum(); .sum();
double ratio = NumberUtil.div(totalNum, totalNumByUser.intValue()); double ratio = NumberUtil.div(totalNum, totalNumByUser.intValue());
double ratioDay = 0.0; double ratioDay = 0.0;
if (yesterdayNum > 0) { if (yesterdayNum > 0) {
@ -287,7 +289,7 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
} }
private List<ReportFlowVO> getReportFlowList(List<DistributeReportEntity> distributeReportEntityList, private List<ReportFlowVO> getReportFlowList(List<DistributeReportEntity> distributeReportEntityList,
Date beginTime, Date endTime) { Date beginTime, Date endTime) {
Map<String, DistributeReportEntity> callMap = new HashMap<>(8); Map<String, DistributeReportEntity> callMap = new HashMap<>(8);
for (DistributeReportEntity reportDeduct : distributeReportEntityList) { for (DistributeReportEntity reportDeduct : distributeReportEntityList) {
callMap.put(reportDeduct.getCreateTime().toString(), reportDeduct); callMap.put(reportDeduct.getCreateTime().toString(), reportDeduct);
@ -302,8 +304,7 @@ public class DistributeReportServiceImpl extends ExtendServiceImpl<DistributeRep
reportFlowVO.setRatioDay(reportDeduct.getRatioDay()); reportFlowVO.setRatioDay(reportDeduct.getRatioDay());
reportFlowVO.setRatio(reportDeduct.getRatio()); reportFlowVO.setRatio(reportDeduct.getRatio());
reportFlowVO.setTotalNum(reportDeduct.getTodayNum()); reportFlowVO.setTotalNum(reportDeduct.getTodayNum());
} } else {
else {
reportFlowVO.setRatioDay(0.0); reportFlowVO.setRatioDay(0.0);
reportFlowVO.setRatio(0.0); reportFlowVO.setRatio(0.0);
reportFlowVO.setTotalNum(0); reportFlowVO.setTotalNum(0);

@ -76,7 +76,7 @@ public class StoreServiceImpl extends ExtendServiceImpl<StoreMapper, StoreEntity
county = vo.getCounty(); county = vo.getCounty();
detail = vo.getDetail(); detail = vo.getDetail();
vo.setAddress(province + city + county + detail); vo.setAddress(province + city + county + detail);
vo.setTradeTime(vo.getTradeStartTime() + "-" + vo.getTradeEndTime()); vo.setTradeTime(vo.getTradeStartTime() + " - " + vo.getTradeEndTime());
if (vo.getUserId() != null) { if (vo.getUserId() != null) {
vo.setUserName(userInfo.get(vo.getUserId())); vo.setUserName(userInfo.get(vo.getUserId()));
} }
@ -100,12 +100,6 @@ public class StoreServiceImpl extends ExtendServiceImpl<StoreMapper, StoreEntity
return Convert.toList(StoreVO.class, storeEntities); return Convert.toList(StoreVO.class, storeEntities);
} }
public static void main(String[] args) {
String tradeStartTime = "01:02:03";
String s = StrUtil.subBefore(tradeStartTime, ":", true);
System.out.println(s);
}
@Override @Override
public void addStore(StoreEntity storeEntity) { public void addStore(StoreEntity storeEntity) {
//同一个公司门店名不能重复 //同一个公司门店名不能重复

Loading…
Cancel
Save