Browse Source

报表功能更新

master
xyiege 4 years ago
parent
commit
7c5d2a6549
  1. 11
      src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java
  2. 85
      src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java
  3. 1
      src/main/resources/mapper/szwh/GoodsMapper.xml
  4. 8
      src/main/resources/mapper/szwh/OrderMapper.xml

11
src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java

@ -90,4 +90,15 @@ public interface OrderMapper {
* @return
*/
int countAllOrder();
/**
* 统计平台在某时间内的订单总额服务费总额
* @param startdt
* @param enddt
* @param field
* @return
*/
BigDecimal sumOderDtZone(@Param("startdt") String startdt,
@Param("enddt") String enddt,
@Param("field") String field);
}

85
src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java

@ -1,5 +1,6 @@
package cn.chjyj.szwh.service.impl;
import cn.chjyj.szwh.dto.OrderGoodsDetailDTO;
import cn.chjyj.szwh.mapper.GoodsMapper;
import cn.chjyj.szwh.mapper.OrderGoodsDetailMapper;
import cn.chjyj.szwh.mapper.OrderMapper;
@ -128,11 +129,11 @@ public class IndexServiceImpl implements IndexService {
// 查找对应的用户
String uislicode = gvo.getUser_islicode();
JSONObject userjson =SzwhApiUtils.getApiUser(uislicode);
JSONArray ujsonArray = userjson.getJSONArray("data");
if(ujsonArray==null){
JSONObject udata = userjson.getJSONObject("data");
if(udata==null){
fmap.put("username",gvo.getUser_islicode());
}else {
fmap.put("username",ujsonArray.get(1));
fmap.put("username",udata.getString("name"));
}
fmap.put("count",gvo.getCcount());
entrustRanking.add(fmap);
@ -140,9 +141,81 @@ public class IndexServiceImpl implements IndexService {
result.put("entrust_ranking",entrustRanking);
//委托方销售排序
result.put("entrust_sale_ranking",goodsCount);
result.put("treeMap",goodsCount);
result.put("label",goodsCount);
String[] saleRankDtzone=new String[2];
if(saleRankingDate=="year"){
saleRankDtzone[0]=last5years;
}else{
saleRankDtzone[0]=lastyear;
}
saleRankDtzone[1]=nowtime;
List entrustSaleRankingList=new ArrayList();
List<OrderGoodsDetailDTO> ogddtolist = orderGoodsDetailMapper.orderGoodsDetailDTOList(saleRankDtzone[0],saleRankDtzone[1]);
// todo 非空?
for(OrderGoodsDetailDTO ogdt:ogddtolist){
Map esmap =new HashMap();
JSONObject userjson =SzwhApiUtils.getApiUser(ogdt.getEntrust_islicode());
JSONObject udata = userjson.getJSONObject("data");
if(udata==null){
esmap.put("username",ogdt.getEntrust_islicode());
}else {
esmap.put("username",udata.getString("name"));
}
esmap.put("total_money",ogdt.getTotalMoney());
entrustSaleRankingList.add(esmap);
}
result.put("entrust_sale_ranking",entrustSaleRankingList);
//统计图
List treeMapList = new ArrayList();
List labelList = new ArrayList(); //条形图标签名称
if("year".equals(leftDate)){ //年
// 重新初始化日历
Calendar ncal = Calendar.getInstance();
ncal.getTime();
// 日历中取到今年的年份
int year = ncal.get(Calendar.YEAR);
// 订单金额
String[] tarr = new String[5];
//标的价款总额
String[] bdarr=new String[5];
// 数组索引从0 开始
for (int i=4;i>=0;i--){
labelList.add((year-i)+"年");
tarr[i]=i+"";
bdarr[i]=i+"";
}
// 订单金额总数
List ftlist =new ArrayList();
ftlist.add(Arrays.asList(tarr));
Map tmp =new HashMap();
tmp.put("data",ftlist);
tmp.put("label","订单金额总额");
treeMapList.add(tmp);
//标的金额
List bdlist = new ArrayList();
bdlist.add(Arrays.asList(bdarr));
Map bdmap =new HashMap();
bdmap.put("data",bdlist);
bdmap.put("label","标的金额");
treeMapList.add(bdmap);
}
result.put("treeMap",treeMapList);
result.put("label",labelList);
return result;
}
/**
* 查询制定日期内的交易额 成交额 - 服务费 =订单额度
* @param startdt
* @param enddt
* @return
*/
private String[] getDateMomeny(String startdt,String enddt){
BigDecimal dealMoney = orderMapper.sumOderDtZone(startdt,enddt,"total_money");//成交额
BigDecimal platServiceFee=orderMapper.sumOderDtZone(startdt,enddt,"total_service_charge");//平台服务费
BigDecimal oderMoney=dealMoney.subtract(platServiceFee);
String[] dm = {dealMoney.toString(),oderMoney.toString()};
return dm;
}
}

1
src/main/resources/mapper/szwh/GoodsMapper.xml

@ -134,6 +134,7 @@
AND is_deleted=0
GROUP BY user_islicode
ORDER BY ccount DESC
LIMIT 10
</select>
<!--根据 goodsIsli 查询商品信息-->

8
src/main/resources/mapper/szwh/OrderMapper.xml

@ -97,6 +97,14 @@
where ${cmap.wherestr};
</select>
<!-- 统计平台在某时间内的订单总额 -->
<select id="sumOderDtZone" parameterType="java.lang.String" resultType="java.math.BigDecimal">
SELECT SUM(#{field})
FROM `order`
WHERE pay_status=2
AND (paymenttime BETWEEN CAST(#{startdt} AS DATE) AND CAST(#{enddt} AS DATE))
</select>
<!--新增用户-->
<insert id="addUser" parameterType="cn.chjyj.szwh.bean.Goods" useGeneratedKeys="true" keyColumn="uid">
insert into

Loading…
Cancel
Save