Commit cc378cc0 by guojx

树跳转-目标跟进达成分析门店明细数据

parent 36a7c0f3
......@@ -17,6 +17,7 @@ import com.gic.haoban.manage.web.exception.TargetException;
import com.gic.haoban.manage.web.qo.target.QueryDataStatisticsCommonQO;
import com.gic.haoban.manage.web.utils.StoreAuthUtils;
import com.gic.haoban.manage.web.utils.target.StoreTargetConfigHttpUtils;
import com.gic.haoban.manage.web.vo.target.StoreTargetDisassemblyDetailVO;
import com.gic.haoban.manage.web.vo.target.StoreTargetReachDetailVO;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -124,8 +125,9 @@ public class StoreTargetConfigController {
//查询列表数据
jsonObject.put("pageSize", pageQo.getPageSize());
jsonObject.put("pageNum", pageQo.getPageNum());
jsonObject.put("orderByFields", orderByType == null ? 2 : orderByType);
jsonObject.put("orderByType", orderByFields == null ? 25 : orderByFields);
//滚动达成率(总销售额) 排序33
jsonObject.put("orderByFields", orderByType == null ? 1 : orderByType);
jsonObject.put("orderByType", orderByFields == null ? 33 : orderByFields);
queryStoreGroupType(jsonObject, 7);
Map<String, Object> res = StoreTargetConfigHttpUtils.http(jsonObject.toJSONString(),
......@@ -137,24 +139,58 @@ public class StoreTargetConfigController {
List<StoreTargetReachDetailVO> voList = JSONObject.parseArray(JSONObject.toJSONString(list), StoreTargetReachDetailVO.class);
if (pageQo.getPageNum() == 1) {
StoreTargetReachDetailVO vo = JSONObject.parseObject(totalData.toJSONString(), StoreTargetReachDetailVO.class);
vo.setName("合计");
vo.setId("-1");
vo.setStoreGroupName("合计");
vo.setStoreGroupId("-1");
vo.setStoreId("-1");
vo.setStoreName("合计");
list.add(0, totalData);
vo.setStoreCode("-1");
voList.add(0, vo);
}
for (StoreTargetReachDetailVO vo : voList) {
if (!"-1".equals(vo.getId())) {
if (StringUtils.isNotBlank(vo.getStoreGroupName())) {
vo.setName(vo.getStoreGroupName());
vo.setId(vo.getStoreGroupId());
} else {
vo.setName(vo.getStoreName());
vo.setId(vo.getStoreId());
}
}
resultPage.setResult(voList);
return RestResponse.successResult(page);
}
/**
* 树跳转-目标跟进达成分析门店明细数据
* @param qo
* @param pageQo
* @param orderByType 排序类型 1 正序asc 2倒序desc
* @param orderByFields 数字。具体看数据组的文档,备注里会有文档链接
* @return
*/
@RequestMapping(value = "get-target-analysis-store-detail-of-tree")
@ResponseBody
public RestResponse<Page<StoreTargetDisassemblyDetailVO>> getTargetAnalysisStoreDetailOfTree(QueryDataStatisticsCommonQO qo, PageQo pageQo,
Integer orderByType, Integer orderByFields) {
JSONObject jsonObject = getCommon(qo);
queryStoreGroupType(jsonObject, 8);
//不传月参数,返回12条月数据。否则返回一条合计
Map<String, Object> totalRes = StoreTargetConfigHttpUtils.http(jsonObject.toJSONString(),
qo.isYearQuery() ? "data_target_mgt_group_year_stat" : "data_target_mgt_group_month_stat");
if (!StoreTargetConfigHttpUtils.isSuccess(totalRes)) {
throw new TargetException(totalRes.get("errMsg").toString());
}
JSONObject totalData = StoreTargetConfigHttpUtils.getPageOne(totalRes);
//查询列表数据
jsonObject.put("pageSize", pageQo.getPageSize());
jsonObject.put("pageNum", pageQo.getPageNum());
//会员消费次数滚动达成率 排序11
jsonObject.put("orderByFields", orderByType == null ? 1 : orderByType);
jsonObject.put("orderByType", orderByFields == null ? 11 : orderByFields);
queryStoreGroupType(jsonObject, 7);
Map<String, Object> res = StoreTargetConfigHttpUtils.http(jsonObject.toJSONString(),
qo.isYearQuery() ? "data_target_mgt_mbr_pay_amt_dismbl_year" : "data_target_mgt_mbr_pay_amt_dismbl_month");
Page page = StoreTargetConfigHttpUtils.getPageData(res);
Page<StoreTargetDisassemblyDetailVO> resultPage = EntityUtil.changeEntityNew(Page.class, page);
List<JSONObject> list = StoreTargetConfigHttpUtils.getPageList(res);
List<StoreTargetDisassemblyDetailVO> voList = JSONObject.parseArray(JSONObject.toJSONString(list), StoreTargetDisassemblyDetailVO.class);
if (pageQo.getPageNum() == 1) {
StoreTargetDisassemblyDetailVO vo = JSONObject.parseObject(totalData.toJSONString(), StoreTargetDisassemblyDetailVO.class);
vo.setStoreId("-1");
vo.setStoreName("合计");
vo.setStoreCode("-1");
voList.add(0, vo);
}
resultPage.setResult(voList);
return RestResponse.successResult(page);
......
package com.gic.haoban.manage.web.vo.target;
import lombok.Data;
import java.io.Serializable;
/**
* @Author guojx
* @Date 2023/6/9 9:21
*/
@Data
public class StoreTargetDisassemblyDetailVO implements Serializable {
private String storeId;
private String storeName;
private String storeGroupId;
private String storeGroupName;
private String storeCode;
/**
* 会员消费次数实际值 排序7
*/
private Integer mbrCsmeCnt;
/**
* 会员消费次数去年同期值 排序8
*/
private Integer mbrCsmeCntSply;
/**
* 会员消费次数全年目标值 排序9
*/
private Integer mbrCsmeCntTarget;
/**
* 会员消费次数当前应达目标值 排序10
*/
private Integer mbrCsmeCntCurTarget;
/**
* 会员消费次数滚动达成率 排序11
*/
private Double mbrCsmeCntRollAch;
/**
* 会员消费次数累计达成率 排序12
*/
private Double mbrCsmeCntAccAch;
/**
* 存量会员消费总次数实际值 排序19
*/
private Integer stockMbrCsmeCnt;
/**
* 存量会员消费总次数去年同期值 排序20
*/
private Integer stockMbrCsmeCntSply;
/**
* 存量会员消费总次数全年目标值 排序21
*/
private Integer stockMbrCsmeCntTarget;
/**
* 存量会员消费总次数当前应达目标值 排序22
*/
private Integer stockMbrCsmeCntCurTarget;
/**
* 存量会员消费总次数滚动达成率 排序23
*/
private Double stockMbrCsmeCntRollAch;
/**
* 存量会员消费总次数累计达成率 排序24
*/
private Double stockMbrCsmeCntAccAch;
/**
* 新增会员消费总次数实际值 排序25
*/
private Integer newMbrCsmeCnt;
/**
* 新增会员消费总次数去年同期值 排序26
*/
private Integer newMbrCsmeCntSply;
/**
* 新增会员消费总次数全年目标值 排序27
*/
private Integer newMbrCsmeCntTarget;
/**
* 新增会员消费总次数当前应达目标值 排序28
*/
private Integer newMbrCsmeCntCurTarget;
/**
* 新增会员消费总次数滚动达成率 排序29
*/
private Double newMbrCsmeCntRollAch;
/**
* 新增会员消费总次数累计达成率 排序30
*/
private Double newMbrCsmeCntAccAch;
}
......@@ -10,10 +10,6 @@ import java.io.Serializable;
*/
@Data
public class StoreTargetReachDetailVO implements Serializable {
private String name;
private String id;
private String storeId;
private String storeName;
......@@ -22,6 +18,8 @@ public class StoreTargetReachDetailVO implements Serializable {
private String storeGroupName;
private String storeCode;
/**
* 总销售额(目标值) 排序1
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment