|
@@ -280,14 +280,15 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
JSONObject totalCost = materialStareMapper.getBytedanceTotalCostDaily(Long.valueOf(DateUtils.getDateInteger(startTime)),
|
|
|
Long.valueOf(DateUtils.getDateInteger(endTime)),
|
|
|
operatorUserIds);
|
|
|
- resultMap.put("sectionCost",totalCost.getDoubleValue("totalCost"));
|
|
|
+ Double tCost = Check.isNull(totalCost.getDoubleValue("totalCost")) ? 0.0 : totalCost.getDoubleValue("totalCost");
|
|
|
+ resultMap.put("sectionCost",tCost);
|
|
|
// 人均账户数量 = 时间段内 账户总数量 / 人数
|
|
|
Double userAverageAccount = Double.valueOf(totalCost.getString("accountNum")) / operatorUserIds.size();
|
|
|
// 人均消耗 = 时间段内 总消耗 / 人数
|
|
|
- Double userAveragecost = Double.valueOf(totalCost.getString("totalCost")) / operatorUserIds.size();
|
|
|
+ Double userAveragecost = tCost / operatorUserIds.size();
|
|
|
DecimalFormat df = new DecimalFormat("#.000");
|
|
|
resultMap.put("userAverageAccount",new Double(Math.ceil(userAverageAccount)).intValue());
|
|
|
- resultMap.put("userAveragecost",df.format(userAveragecost));
|
|
|
+ resultMap.put("userAveragecost",userAveragecost == 0.0 ? 0 : df.format(userAveragecost));
|
|
|
resultMap.put("projectNum",projectNum);
|
|
|
}
|
|
|
|
|
@@ -1260,12 +1261,10 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
* @time: 2022/8/31 15:16
|
|
|
*/
|
|
|
@Override
|
|
|
- public Result getOperationGroupData(String userId,String startTime,String endTime,Integer pageNum,Integer pageSize) {
|
|
|
+ public Result getOperationGroupData(String userId,String mediaType,String startTime,String endTime,Integer pageNum,Integer pageSize) {
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("0.00%");
|
|
|
try {
|
|
|
|
|
|
- log.info("开始------------------{}",DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
|
|
|
-
|
|
|
long nowDate = Long.valueOf(DateUtils.getDateInteger(DateUtils.getDate("yyyy-MM-dd")));
|
|
|
|
|
|
long startDate = Long.valueOf(DateUtils.getDateInteger(startTime));
|
|
@@ -1279,9 +1278,14 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
//查询用户角色
|
|
|
String roleCode = materialStareMapper.getRoleCodeByUserId(userId);
|
|
|
|
|
|
-
|
|
|
- //所有运营经理
|
|
|
- List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("kuaishouOperationManager");
|
|
|
+ //所有运营经理 1-头条 2-快手
|
|
|
+ String roleCodeName = "";
|
|
|
+ if (mediaType.equals("1")){
|
|
|
+ roleCodeName = "touTiaoOperationManager";
|
|
|
+ }else {
|
|
|
+ roleCodeName = "kuaishouOperationManager";
|
|
|
+ }
|
|
|
+ List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser(roleCodeName);
|
|
|
List<String> allManagerList = allOperationManagerList.stream().map(KuaiShouOperateGroupVo:: getUserId).collect(Collectors.toList());
|
|
|
|
|
|
List<KuaiShouOperateGroupVo> operationManagerList = new ArrayList<>();
|
|
@@ -1303,10 +1307,9 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
}else {
|
|
|
Result.successMsg("运营组列表数据查询成功。",null);
|
|
|
}
|
|
|
- log.info("获取人员------------------{}",DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
|
|
|
- operationManagerList = ListPageUtil.page(operationManagerList, pageSize, pageNum);
|
|
|
|
|
|
- for (KuaiShouOperateGroupVo groupVo : operationManagerList) {
|
|
|
+ List<KuaiShouOperateGroupVo> operationList = ListPageUtil.page(operationManagerList, pageSize, pageNum);
|
|
|
+ for (KuaiShouOperateGroupVo groupVo : operationList) {
|
|
|
//下级员工
|
|
|
Set<String> operatorUserIds = getAffiliateId(groupVo.getUserId());
|
|
|
//有消耗的账户
|
|
@@ -1363,7 +1366,6 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
//花费环比
|
|
|
groupVo.setYearOnYearCost(yearOnYear);
|
|
|
|
|
|
-
|
|
|
//当天
|
|
|
int newUnitNumNow = 0;
|
|
|
if (startDate == nowDate || entDate == nowDate){
|
|
@@ -1377,16 +1379,12 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
//基建数量
|
|
|
groupVo.setUnitNum(Check.isNull(newEffect) ? 0 : newEffect.getInteger("newUnitNum")+newUnitNumNow);//组
|
|
|
}
|
|
|
- log.info("结束------------------{}",DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
|
|
|
-
|
|
|
- PageInfo<KuaiShouOperateGroupVo> pageInfo = new PageInfo<>(operationManagerList);
|
|
|
+ PageInfo<KuaiShouOperateGroupVo> pageInfo = new PageInfo<>(operationList);
|
|
|
pageInfo.setTotal(operationManagerList.size());
|
|
|
pageInfo.setPageSize(pageSize);
|
|
|
pageInfo.setPageNum(pageNum);
|
|
|
pageInfo.setIsLastPage(false);
|
|
|
pageInfo.setHasNextPage(true);
|
|
|
- log.info("返回------------------{}",DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
|
|
|
-
|
|
|
return Result.successMsg("运营组列表数据查询成功。",pageInfo);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
@@ -1395,7 +1393,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public Result exportOperationGroupData(String userId,String startTime,String endTime, HttpServletResponse response) {
|
|
|
+ public Result exportOperationGroupData(String userId,String mediaType,String startTime,String endTime, HttpServletResponse response) {
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("0.00%");
|
|
|
try {
|
|
|
long nowDate = Long.valueOf(DateUtils.getDateInteger(DateUtils.getDate("yyyy-MM-dd")));
|
|
@@ -1410,8 +1408,14 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
//查询用户角色
|
|
|
String roleCode = materialStareMapper.getRoleCodeByUserId(userId);
|
|
|
|
|
|
- //所有运营经理
|
|
|
- List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser("kuaishouOperationManager");
|
|
|
+ //所有运营经理 1-头条 2-快手
|
|
|
+ String roleCodeName = "";
|
|
|
+ if (mediaType.equals("1")){
|
|
|
+ roleCodeName = "touTiaoOperationManager";
|
|
|
+ }else {
|
|
|
+ roleCodeName = "kuaishouOperationManager";
|
|
|
+ }
|
|
|
+ List<KuaiShouOperateGroupVo> allOperationManagerList = materialStareMapper.getOperationManagerUser(roleCodeName);
|
|
|
List<String> allManagerList = allOperationManagerList.stream().map(KuaiShouOperateGroupVo:: getUserId).collect(Collectors.toList());
|
|
|
|
|
|
List<KuaiShouOperateGroupVo> operationManagerList = new ArrayList<>();
|
|
@@ -1435,7 +1439,6 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
}
|
|
|
|
|
|
for (KuaiShouOperateGroupVo groupVo : operationManagerList) {
|
|
|
-
|
|
|
//下级员工
|
|
|
Set<String> operatorUserIds = getAffiliateId(groupVo.getUserId());
|
|
|
//有消耗的账户
|
|
@@ -1447,26 +1450,31 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
|
|
|
//运营数量
|
|
|
int operationNum = Check.isNull(operatorUserIds) ? 0 : operatorUserIds.size();
|
|
|
-
|
|
|
groupVo.setOperationNum(operationNum);
|
|
|
+
|
|
|
//查询账户数据
|
|
|
List<KuaiShouOperateVo> listOperate= new ArrayList<>();
|
|
|
+
|
|
|
if (daysBetween <= 1){
|
|
|
//时报
|
|
|
listOperate= materialStareMapper.getKuaiShouOperateInfoHourly(startDate,entDate,operatorUserIds);
|
|
|
}else {
|
|
|
+
|
|
|
listOperate = materialStareMapper.getKuaiShouOperateInfo(startDate,entDate,operatorUserIds);
|
|
|
}
|
|
|
+
|
|
|
//总花费
|
|
|
Double totalCost = Check.isNull(listOperate) ? 0 : listOperate.stream().mapToDouble(KuaiShouOperateVo::getTotalCost).sum();
|
|
|
groupVo.setTotalCost(new BigDecimal(totalCost).setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
+
|
|
|
//日均消耗 总花费/天数
|
|
|
Double aveDay = daysBetween == 0 ? 0 : totalCost/daysBetween;
|
|
|
groupVo.setAverageDayCost(new BigDecimal(aveDay).setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
//人均消耗
|
|
|
Double avePeople = totalCost/operationNum;
|
|
|
- groupVo.setAveragePeopleCost(avePeople);
|
|
|
- //项目数量
|
|
|
+ groupVo.setAveragePeopleCost(new BigDecimal(avePeople).setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue());
|
|
|
+
|
|
|
+ //项目数量
|
|
|
Double projectNum = Check.isNull(listOperate) ? 0 : listOperate.stream().mapToDouble(KuaiShouOperateVo::getProjectNum).sum();
|
|
|
groupVo.setProjectNum(projectNum.longValue());
|
|
|
//账户数量
|
|
@@ -1485,6 +1493,7 @@ public class MaterialStareServiceImpl implements MaterialStareService {
|
|
|
}
|
|
|
//花费环比
|
|
|
groupVo.setYearOnYearCost(yearOnYear);
|
|
|
+
|
|
|
//当天
|
|
|
int newUnitNumNow = 0;
|
|
|
if (startDate == nowDate || entDate == nowDate){
|