Commit de1bb3bd by 吴学德

Merge remote-tracking branch 'origin/master'

parents b1d4debf aee4c073
package com.winsun.bean;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* 一人一码发展统计表entity
*
* @Author LiuRunYuan
* @CreateDate 2020/03/06
*/
public class YrymReport {
public static List<String> subNameList = new ArrayList<String>() {
{
add("天河");
add("白云");
add("番禺");
add("海珠");
add("荔湾");
add("黄埔");
add("增城");
add("花都");
add("东山");
add("从化");
add("本部");
}
};
private String subName; //县分
private Integer schoolNum = 0; //学校数
private Integer studentNum = 0; //学生数
private Integer newUserNumWeek = 0; //新增-新用户
private Integer newAloneNumWeek = 0; //新增-单宽带
private Integer newMixNumWeek = 0; //新增-融合宽带
private Integer oldUserNumWeek = 0; //存量-老用户办理
private Integer oldContinueNumWeek = 0; //存量-老用户续约
private Integer finishNewNumWeek = 0; //已竣工-新增
private Integer finishOldNumWeek = 0; //已竣工-存量
private Integer sumWeek = 0; //总计
private Integer newUserNumMonth = 0;
private Integer newAloneNumMonth = 0;
private Integer newMixNumMonth = 0;
private Integer oldUserNumMonth = 0;
private Integer oldContinueNumMonth = 0;
private Integer finishNewNumMonth = 0;
private Integer finishOldNumMonth = 0;
private Integer sumMonth = 0;
private Integer newUserNumAll = 0;
private Integer newAloneNumAll = 0;
private Integer newMixNumAll = 0;
private Integer oldUserNumAll = 0;
private Integer oldContinueNumAll = 0;
private Integer finishNewNumAll = 0;
private Integer finishOldNumAll = 0;
private Integer sumAll = 0;
public YrymReport() {
}
public void setDataBytype(Map<String, Object> map, String type) {
switch (type) {
case "week":
newUserNumWeek = Integer.valueOf(map.get("newUserNum").toString());
newAloneNumWeek = Integer.valueOf(map.get("newAloneNum").toString());
newMixNumWeek = Integer.valueOf(map.get("newMixNum").toString());
oldUserNumWeek = Integer.valueOf(map.get("oldUserNum").toString());
oldContinueNumWeek = Integer.valueOf(map.get("oldContinueNum").toString());
finishNewNumWeek = Integer.valueOf(map.get("finishNewNum").toString());
finishOldNumWeek = Integer.valueOf(map.get("finishOldNum").toString());
sumWeek = Integer.valueOf(map.get("sum").toString());
break;
case "month":
newUserNumMonth = Integer.valueOf(map.get("newUserNum").toString());
newAloneNumMonth = Integer.valueOf(map.get("newAloneNum").toString());
newMixNumMonth = Integer.valueOf(map.get("newMixNum").toString());
oldUserNumMonth = Integer.valueOf(map.get("oldUserNum").toString());
oldContinueNumMonth = Integer.valueOf(map.get("oldContinueNum").toString());
finishNewNumMonth = Integer.valueOf(map.get("finishNewNum").toString());
finishOldNumMonth = Integer.valueOf(map.get("finishOldNum").toString());
sumMonth = Integer.valueOf(map.get("sum").toString());
break;
case "all":
newUserNumAll = Integer.valueOf(map.get("newUserNum").toString());
newAloneNumAll = Integer.valueOf(map.get("newAloneNum").toString());
newMixNumAll = Integer.valueOf(map.get("newMixNum").toString());
oldUserNumAll = Integer.valueOf(map.get("oldUserNum").toString());
oldContinueNumAll = Integer.valueOf(map.get("oldContinueNum").toString());
finishNewNumAll = Integer.valueOf(map.get("finishNewNum").toString());
finishOldNumAll = Integer.valueOf(map.get("finishOldNum").toString());
sumAll = Integer.valueOf(map.get("sum").toString());
break;
}
}
public String getSubName() {
return subName;
}
public void setSubName(String subName) {
this.subName = subName;
}
public Integer getSchoolNum() {
return schoolNum;
}
public void setSchoolNum(Integer schoolNum) {
this.schoolNum = schoolNum;
}
public Integer getStudentNum() {
return studentNum;
}
public void setStudentNum(Integer studentNum) {
this.studentNum = studentNum;
}
public Integer getNewUserNumWeek() {
return newUserNumWeek;
}
public void setNewUserNumWeek(Integer newUserNumWeek) {
this.newUserNumWeek = newUserNumWeek;
}
public Integer getNewAloneNumWeek() {
return newAloneNumWeek;
}
public void setNewAloneNumWeek(Integer newAloneNumWeek) {
this.newAloneNumWeek = newAloneNumWeek;
}
public Integer getNewMixNumWeek() {
return newMixNumWeek;
}
public void setNewMixNumWeek(Integer newMixNumWeek) {
this.newMixNumWeek = newMixNumWeek;
}
public Integer getOldUserNumWeek() {
return oldUserNumWeek;
}
public void setOldUserNumWeek(Integer oldUserNumWeek) {
this.oldUserNumWeek = oldUserNumWeek;
}
public Integer getOldContinueNumWeek() {
return oldContinueNumWeek;
}
public void setOldContinueNumWeek(Integer oldContinueNumWeek) {
this.oldContinueNumWeek = oldContinueNumWeek;
}
public Integer getFinishNewNumWeek() {
return finishNewNumWeek;
}
public void setFinishNewNumWeek(Integer finishNewNumWeek) {
this.finishNewNumWeek = finishNewNumWeek;
}
public Integer getFinishOldNumWeek() {
return finishOldNumWeek;
}
public void setFinishOldNumWeek(Integer finishOldNumWeek) {
this.finishOldNumWeek = finishOldNumWeek;
}
public Integer getSumWeek() {
return sumWeek;
}
public void setSumWeek(Integer sumWeek) {
this.sumWeek = sumWeek;
}
public Integer getNewUserNumMonth() {
return newUserNumMonth;
}
public void setNewUserNumMonth(Integer newUserNumMonth) {
this.newUserNumMonth = newUserNumMonth;
}
public Integer getNewAloneNumMonth() {
return newAloneNumMonth;
}
public void setNewAloneNumMonth(Integer newAloneNumMonth) {
this.newAloneNumMonth = newAloneNumMonth;
}
public Integer getNewMixNumMonth() {
return newMixNumMonth;
}
public void setNewMixNumMonth(Integer newMixNumMonth) {
this.newMixNumMonth = newMixNumMonth;
}
public Integer getOldUserNumMonth() {
return oldUserNumMonth;
}
public void setOldUserNumMonth(Integer oldUserNumMonth) {
this.oldUserNumMonth = oldUserNumMonth;
}
public Integer getOldContinueNumMonth() {
return oldContinueNumMonth;
}
public void setOldContinueNumMonth(Integer oldContinueNumMonth) {
this.oldContinueNumMonth = oldContinueNumMonth;
}
public Integer getFinishNewNumMonth() {
return finishNewNumMonth;
}
public void setFinishNewNumMonth(Integer finishNewNumMonth) {
this.finishNewNumMonth = finishNewNumMonth;
}
public Integer getFinishOldNumMonth() {
return finishOldNumMonth;
}
public void setFinishOldNumMonth(Integer finishOldNumMonth) {
this.finishOldNumMonth = finishOldNumMonth;
}
public Integer getSumMonth() {
return sumMonth;
}
public void setSumMonth(Integer sumMonth) {
this.sumMonth = sumMonth;
}
public Integer getNewUserNumAll() {
return newUserNumAll;
}
public void setNewUserNumAll(Integer newUserNumAll) {
this.newUserNumAll = newUserNumAll;
}
public Integer getNewAloneNumAll() {
return newAloneNumAll;
}
public void setNewAloneNumAll(Integer newAloneNumAll) {
this.newAloneNumAll = newAloneNumAll;
}
public Integer getNewMixNumAll() {
return newMixNumAll;
}
public void setNewMixNumAll(Integer newMixNumAll) {
this.newMixNumAll = newMixNumAll;
}
public Integer getOldUserNumAll() {
return oldUserNumAll;
}
public void setOldUserNumAll(Integer oldUserNumAll) {
this.oldUserNumAll = oldUserNumAll;
}
public Integer getOldContinueNumAll() {
return oldContinueNumAll;
}
public void setOldContinueNumAll(Integer oldContinueNumAll) {
this.oldContinueNumAll = oldContinueNumAll;
}
public Integer getFinishNewNumAll() {
return finishNewNumAll;
}
public void setFinishNewNumAll(Integer finishNewNumAll) {
this.finishNewNumAll = finishNewNumAll;
}
public Integer getFinishOldNumAll() {
return finishOldNumAll;
}
public void setFinishOldNumAll(Integer finishOldNumAll) {
this.finishOldNumAll = finishOldNumAll;
}
public Integer getSumAll() {
return sumAll;
}
public void setSumAll(Integer sumAll) {
this.sumAll = sumAll;
}
}
...@@ -24,7 +24,9 @@ services: ...@@ -24,7 +24,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 128M memory: 400M
reservations:
memory: 100M
gateway: gateway:
image: gateway image: gateway
container_name: gateway container_name: gateway
...@@ -39,7 +41,9 @@ services: ...@@ -39,7 +41,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 256M memory: 500M
reservations:
memory: 100M
core: core:
image: core image: core
container_name: core container_name: core
...@@ -54,7 +58,9 @@ services: ...@@ -54,7 +58,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 512M memory: 800M
reservations:
memory: 100M
gdtelgztelschoolcentermanager: gdtelgztelschoolcentermanager:
image: gdtelgztelschoolcentermanager image: gdtelgztelschoolcentermanager
container_name: gdtelgztelschoolcentermanager container_name: gdtelgztelschoolcentermanager
...@@ -71,7 +77,9 @@ services: ...@@ -71,7 +77,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 256M memory: 500M
reservations:
memory: 100M
gdtelgztelschoolcentertask: gdtelgztelschoolcentertask:
image: gdtelgztelschoolcentertask image: gdtelgztelschoolcentertask
container_name: gdtelgztelschoolcentertask container_name: gdtelgztelschoolcentertask
...@@ -89,7 +97,9 @@ services: ...@@ -89,7 +97,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 256M memory: 500M
reservations:
memory: 100M
gdtelgztelschoolcenterapplynet: gdtelgztelschoolcenterapplynet:
image: gdtelgztelschoolcenterapplynet image: gdtelgztelschoolcenterapplynet
container_name: gdtelgztelschoolcenterapplynet container_name: gdtelgztelschoolcenterapplynet
...@@ -106,7 +116,9 @@ services: ...@@ -106,7 +116,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 256M memory: 500M
reservations:
memory: 100M
gdtelgztelschoolcenternewuser: gdtelgztelschoolcenternewuser:
image: gdtelgztelschoolcenternewuser image: gdtelgztelschoolcenternewuser
container_name: gdtelgztelschoolcenternewuser container_name: gdtelgztelschoolcenternewuser
...@@ -123,7 +135,9 @@ services: ...@@ -123,7 +135,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 256M memory: 500M
reservations:
memory: 100M
gdtelgztelschoolcenterolduser: gdtelgztelschoolcenterolduser:
image: gdtelgztelschoolcenterolduser image: gdtelgztelschoolcenterolduser
container_name: gdtelgztelschoolcenterolduser container_name: gdtelgztelschoolcenterolduser
...@@ -140,24 +154,9 @@ services: ...@@ -140,24 +154,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 256M memory: 500M
gdtelgztelschoolcenterrenewaluser: reservations:
image: gdtelgztelschoolcenterrenewaluser memory: 100M
container_name: gdtelgztelschoolcenterrenewaluser
build:
context: gdtel-gztel-school-center/renewaluser/
dockerfile: Dockerfile
ports:
- "11095:11095"
depends_on:
- rabbitmq
- eureka
- redis
- core
deploy:
resources:
limits:
memory: 256M
gdtelgztelschoolcenterui: gdtelgztelschoolcenterui:
image: gdtelgztelschoolcenterui image: gdtelgztelschoolcenterui
container_name: gdtelgztelschoolcenterui container_name: gdtelgztelschoolcenterui
...@@ -175,7 +174,9 @@ services: ...@@ -175,7 +174,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 128M memory: 200M
reservations:
memory: 100M
winsunoaui: winsunoaui:
image: winsunoaui image: winsunoaui
container_name: winsunoaui container_name: winsunoaui
...@@ -193,7 +194,9 @@ services: ...@@ -193,7 +194,9 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 128M memory: 200M
reservations:
memory: 100M
winsunoareport: winsunoareport:
image: winsunoareport image: winsunoareport
container_name: winsunoareport container_name: winsunoareport
...@@ -210,4 +213,6 @@ services: ...@@ -210,4 +213,6 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
memory: 256M memory: 500M
reservations:
memory: 100M
\ No newline at end of file
FROM openjdk:8-jre-alpine FROM openjdk:8-jre-alpine
LABEL maintainer="Liph <liph@gzwinsun.com>" app="applynet" LABEL maintainer="Liph <liph@gzwinsun.com>" app="gdtelgztelschoolcenterapplynet"
ENV JAR_NAME=applynet \ ENV JAR_NAME=applynet \
TZ=Asia/Shanghai TZ=Asia/Shanghai
COPY $JAR_NAME.jar $JAR_NAME.jar COPY $JAR_NAME.jar $JAR_NAME.jar
......
FROM openjdk:8-jre-alpine FROM openjdk:8-jre-alpine
LABEL maintainer="Liph <liph@gzwinsun.com>" app="manager" LABEL maintainer="Liph <liph@gzwinsun.com>" app="gdtelgztelschoolcentermanager"
ENV JAR_NAME=manager \ ENV JAR_NAME=manager \
TZ=Asia/Shanghai TZ=Asia/Shanghai
COPY $JAR_NAME.jar $JAR_NAME.jar COPY $JAR_NAME.jar $JAR_NAME.jar
......
FROM openjdk:8-jre-alpine FROM openjdk:8-jre-alpine
LABEL maintainer="Liph <liph@gzwinsun.com>" app="newuser" LABEL maintainer="Liph <liph@gzwinsun.com>" app="gdtelgztelschoolcenternewuser"
ENV JAR_NAME=newuser \ ENV JAR_NAME=newuser \
TZ=Asia/Shanghai TZ=Asia/Shanghai
COPY $JAR_NAME.jar $JAR_NAME.jar COPY $JAR_NAME.jar $JAR_NAME.jar
......
FROM openjdk:8-jre-alpine FROM openjdk:8-jre-alpine
LABEL maintainer="Liph <liph@gzwinsun.com>" app="olduser" LABEL maintainer="Liph <liph@gzwinsun.com>" app="gdtelgztelschoolcenterolduser"
ENV JAR_NAME=olduser \ ENV JAR_NAME=olduser \
TZ=Asia/Shanghai TZ=Asia/Shanghai
COPY $JAR_NAME.jar $JAR_NAME.jar COPY $JAR_NAME.jar $JAR_NAME.jar
......
FROM openjdk:8-jre-alpine
LABEL maintainer="Liph <liph@gzwinsun.com>" app="renewaluser"
ENV JAR_NAME=renewaluser \
TZ=Asia/Shanghai
COPY $JAR_NAME.jar $JAR_NAME.jar
EXPOSE 11095
CMD java -jar $JAR_NAME.jar --spring.profiles.active=prod
\ No newline at end of file
FROM openjdk:8-jre-alpine FROM openjdk:8-jre-alpine
LABEL maintainer="Liph <liph@gzwinsun.com>" app="task" LABEL maintainer="Liph <liph@gzwinsun.com>" app="gdtelgztelschoolcentertask"
ENV JAR_NAME=task \ ENV JAR_NAME=task \
TZ=Asia/Shanghai TZ=Asia/Shanghai
COPY $JAR_NAME.jar $JAR_NAME.jar COPY $JAR_NAME.jar $JAR_NAME.jar
......
...@@ -124,6 +124,13 @@ ...@@ -124,6 +124,13 @@
<artifactId>common</artifactId> <artifactId>common</artifactId>
<version>${service.version}</version> <version>${service.version}</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
...@@ -136,6 +143,19 @@ ...@@ -136,6 +143,19 @@
<fork>true</fork><!-- 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart --> <fork>true</fork><!-- 如果没有该项配置,肯呢个devtools不会起作用,即应用不会restart -->
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<!-- 此处为防止乱码对证书不做过滤 -->
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins> </plugins>
<resources> <resources>
<resource> <resource>
......
package com.winsun.controller; package com.winsun.controller;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -8,17 +12,22 @@ import java.util.Map; ...@@ -8,17 +12,22 @@ import java.util.Map;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.winsun.utils.MyBatisPlusUpdateUtils; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.winsun.bean.*;
import com.winsun.mapper.SchoolMapper;
import com.winsun.mapper.SysUserMapper;
import com.winsun.utils.YrymReportUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.enums.SqlLike; import com.baomidou.mybatisplus.enums.SqlLike;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
...@@ -29,8 +38,6 @@ import com.winsun.auth.core.base.controller.BaseController; ...@@ -29,8 +38,6 @@ import com.winsun.auth.core.base.controller.BaseController;
import com.winsun.auth.core.common.model.ResponseData; import com.winsun.auth.core.common.model.ResponseData;
import com.winsun.auth.core.shiro.ShiroUser; import com.winsun.auth.core.shiro.ShiroUser;
import com.winsun.auth.core.util.IOUtils; import com.winsun.auth.core.util.IOUtils;
import com.winsun.bean.Order;
import com.winsun.bean.OrderView;
import com.winsun.constant.OrderStatus; import com.winsun.constant.OrderStatus;
import com.winsun.mapper.OrderMapper; import com.winsun.mapper.OrderMapper;
...@@ -52,69 +59,50 @@ public class OrderController extends BaseController { ...@@ -52,69 +59,50 @@ public class OrderController extends BaseController {
OrderController.orderMapper = orderMapper; OrderController.orderMapper = orderMapper;
} }
/** @Autowired
* 查询订单历史状态 private SchoolMapper schoolMapper;
*/ @Autowired
@RequestMapping(value = "selectOrderHis", method = RequestMethod.POST) private SysUserMapper sysUserMapper;
public ResponseData<List<Map<String, Object>>> selectOrderHis(@RequestParam("orderId") String orderId) {
List<Map<String, Object>> list = orderMapper.selectOrderHis(orderId);
return ResponseData.success(list);
}
/** /**
* 修改为异常单 * @param createTimeStart 订单创建时间开始
*/ * @param createTimeEnd 订单创建时间结束
@RequestMapping(value = "abnormal", method = RequestMethod.POST)
public ResponseData<String> abnormal(@RequestParam("orderId") String orderId) {
Wrapper wrapper = new EntityWrapper<>();
wrapper.eq("id", orderId);
Map<String, Object> dataMapping = new HashMap<>();
dataMapping.put("order_status","异常单");
Integer integer = orderMapper.updateForSet(MyBatisPlusUpdateUtils.toUpdateSet(dataMapping), wrapper);
if(integer == 1){
return ResponseData.success("设为异常单成功!");
}
return ResponseData.error("设为异常单失败!");
}
/**
*
* @param createTimeStart 订单创建时间开始
* @param createTimeEnd 订单创建时间结束
* @param successTimeStart 订单完成时间开始 * @param successTimeStart 订单完成时间开始
* @param successTimeEnd 订单完成时间结束 * @param successTimeEnd 订单完成时间结束
* @param userType 客户类型 * @param userType 客户类型
* @param orderNumber 订单编号 * @param orderNumber 订单编号
* @param kapin 卡品 * @param kapin 卡品
* @param businessNumber 办理号码 * @param businessNumber 办理号码
* @param contactNumber 联系号码 * @param contactNumber 联系号码
* @param hehuorenSchool 合伙人学校 * @param hehuorenSchool 合伙人学校
* @param hehuorenName 合伙人姓名 * @param hehuorenName 合伙人姓名
* @param orderStatus 订单状态 * @param orderStatus 订单状态
* @param customerName 客户姓名 * @param customerName 客户姓名
* @param pageIndex
* @param pageSize * @param pageSize
* @return * @return
*/ */
@Permission(menuname = "查询订单信息", value = "list", method = RequestMethod.POST) @Permission(menuname = "查询订单信息", value = "list", method = RequestMethod.POST)
//@RequestMapping(value="list", method = RequestMethod.POST) //@RequestMapping(value="list", method = RequestMethod.POST)
public ResponseData<Page<Order>> listOrder(@RequestParam(name = "createTimeStart",required = false) String createTimeStart, public ResponseData<Page<Order>> listOrder(@RequestParam(name = "createTimeStart", required = false) String createTimeStart,
@RequestParam(name = "createTimeEnd",required = false) String createTimeEnd,@RequestParam(name = "successTimeStart",required = false) String successTimeStart, @RequestParam(name = "createTimeEnd", required = false) String createTimeEnd, @RequestParam(name = "successTimeStart", required = false) String successTimeStart,
@RequestParam(name = "successTimeEnd",required = false) String successTimeEnd,@RequestParam("userType") String userType, @RequestParam(name = "successTimeEnd", required = false) String successTimeEnd, @RequestParam("userType") String userType,
@RequestParam(name = "orderNumber",required = false) String orderNumber,@RequestParam(name = "kapin",required = false) String kapin, @RequestParam(name = "orderNumber", required = false) String orderNumber, @RequestParam(name = "kapin", required = false) String kapin,
@RequestParam(name = "businessNumber",required = false) String businessNumber,@RequestParam(name = "contactNumber",required = false) String contactNumber, @RequestParam(name = "businessNumber", required = false) String businessNumber, @RequestParam(name = "contactNumber", required = false) String contactNumber,
@RequestParam(name = "hehuorenSchool",required = false) String hehuorenSchool, @RequestParam(name = "hehuorenName",required = false) String hehuorenName, @RequestParam(name = "hehuorenSchool", required = false) String hehuorenSchool, @RequestParam(name = "hehuorenName", required = false) String hehuorenName,
@RequestParam(name = "orderStatus",required = false) String orderStatus, @RequestParam(name = "orderStatus", required = false) String orderStatus,
@RequestParam(name = "customerName",required = false) String customerName, @RequestParam(name = "pageNo", required = false) int pageNo, @RequestParam(name = "customerName", required = false) String customerName, @RequestParam(name = "pageNo", required = false) int pageNo,
@RequestParam(name = "pageSize", required = false) int pageSize) { @RequestParam(name = "pageSize", required = false) int pageSize) {
ShiroUser user = getShiroUser(); ShiroUser user = getShiroUser();
if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) { if (!user.getRoleNames().stream().anyMatch(roleName -> StringUtils.equalsAny(roleName, "超级管理员"))) {
return ResponseData.error("无数据权限"); return ResponseData.error("无数据权限");
} }
Wrapper<Order> wrapper = new EntityWrapper(); Wrapper<Order> wrapper = new EntityWrapper();
wrapper.ge(StringUtils.isNotBlank(createTimeStart),"create_time",createTimeStart); wrapper.ge(StringUtils.isNotBlank(createTimeStart), "create_time", createTimeStart);
wrapper.le(StringUtils.isNotBlank(createTimeEnd),"create_time",createTimeEnd); wrapper.le(StringUtils.isNotBlank(createTimeEnd), "create_time", createTimeEnd);
wrapper.ge(StringUtils.isNotBlank(successTimeStart),"success_time",successTimeStart); wrapper.ge(StringUtils.isNotBlank(successTimeStart), "success_time", successTimeStart);
wrapper.le(StringUtils.isNotBlank(successTimeEnd),"success_time",successTimeEnd); wrapper.le(StringUtils.isNotBlank(successTimeEnd), "success_time", successTimeEnd);
wrapper.eq(StringUtils.isNotBlank(userType), "user_type", userType); wrapper.eq(StringUtils.isNotBlank(userType), "user_type", userType);
wrapper.eq(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber); wrapper.eq(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber);
//wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin); //wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin);
...@@ -122,54 +110,51 @@ public class OrderController extends BaseController { ...@@ -122,54 +110,51 @@ public class OrderController extends BaseController {
wrapper.eq(StringUtils.isNotBlank(businessNumber), "business_number", businessNumber); wrapper.eq(StringUtils.isNotBlank(businessNumber), "business_number", businessNumber);
wrapper.eq(StringUtils.isNotBlank(contactNumber), "contact_number", contactNumber); wrapper.eq(StringUtils.isNotBlank(contactNumber), "contact_number", contactNumber);
wrapper.eq(StringUtils.isNotBlank(hehuorenSchool), "hehuoren_school", hehuorenSchool); wrapper.eq(StringUtils.isNotBlank(hehuorenSchool), "hehuoren_school", hehuorenSchool);
wrapper.like(StringUtils.isNotBlank(hehuorenName), "hehuoren_name", hehuorenName,SqlLike.DEFAULT); wrapper.like(StringUtils.isNotBlank(hehuorenName), "hehuoren_name", hehuorenName, SqlLike.DEFAULT);
if (StringUtils.isNotBlank(orderStatus)) { wrapper.eq(StringUtils.isNotBlank(orderStatus), "order_status", orderStatus);
wrapper.eq(StringUtils.isNotBlank(orderStatus), "order_status", OrderStatus.findById(orderStatus).getName());
}
Page<Order> page = new Page<>(pageNo, pageSize); Page<Order> page = new Page<>(pageNo, pageSize);
List<Order> aPackage = orderMapper.selectPage(page, wrapper); List<Order> aPackage = orderMapper.selectPage(page, wrapper);
page.setRecords(aPackage); page.setRecords(aPackage);
return ResponseData.success(page, "查询完毕!"); return ResponseData.success(page, "查询完毕!");
} }
@Permission(menuname = "导出订单", value = "download", method = RequestMethod.POST) @Permission(menuname = "导出订单", value = "download", method = RequestMethod.POST)
public void downloadOrderView(@RequestParam(name = "createTimeStart",required = false) String createTimeStart, public void downloadOrderView(@RequestParam(name = "createTimeStart", required = false) String createTimeStart,
@RequestParam(name = "createTimeEnd",required = false) String createTimeEnd,@RequestParam(name = "successTimeStart",required = false) String successTimeStart, @RequestParam(name = "createTimeEnd", required = false) String createTimeEnd, @RequestParam(name = "successTimeStart", required = false) String successTimeStart,
@RequestParam(name = "successTimeEnd",required = false) String successTimeEnd,@RequestParam("userType") String userType, @RequestParam(name = "successTimeEnd", required = false) String successTimeEnd, @RequestParam("userType") String userType,
@RequestParam(name = "orderNumber",required = false) String orderNumber,@RequestParam(name = "kapin",required = false) String kapin, @RequestParam(name = "orderNumber", required = false) String orderNumber, @RequestParam(name = "kapin", required = false) String kapin,
@RequestParam(name = "businessNumber",required = false) String businessNumber,@RequestParam(name = "contactNumber",required = false) String contactNumber, @RequestParam(name = "businessNumber", required = false) String businessNumber, @RequestParam(name = "contactNumber", required = false) String contactNumber,
@RequestParam(name = "hehuorenSchool",required = false) String hehuorenSchool, @RequestParam(name = "hehuorenName",required = false) String hehuorenName, @RequestParam(name = "hehuorenSchool", required = false) String hehuorenSchool, @RequestParam(name = "hehuorenName", required = false) String hehuorenName,
@RequestParam(name = "orderStatus",required = false) String orderStatus, @RequestParam(name = "orderStatus", required = false) String orderStatus,
@RequestParam(name = "customerName",required = false) String customerName) { @RequestParam(name = "customerName", required = false) String customerName) {
String dateFormat = "YYYY-MM-DD"; String dateFormat = "YYYY-MM-DD";
if (StringUtils.isNotBlank(createTimeStart) && StringUtils.isNotBlank(createTimeEnd)) { if (StringUtils.isNotBlank(createTimeStart) && StringUtils.isNotBlank(createTimeEnd)) {
createTimeStart = createTimeStart.substring(0, dateFormat.length()) + " 00:00:00"; createTimeStart = createTimeStart.substring(0, dateFormat.length()) + " 00:00:00";
createTimeEnd = createTimeEnd.substring(0, dateFormat.length()) + " 23:59:59"; createTimeEnd = createTimeEnd.substring(0, dateFormat.length()) + " 23:59:59";
} else { } else {
createTimeStart = null; createTimeStart = null;
createTimeEnd = null; createTimeEnd = null;
} }
String state=null; String state = null;
if(StringUtils.isNotBlank(orderStatus)){ if (StringUtils.isNotBlank(orderStatus)) {
state = OrderStatus.findById(orderStatus).getId(); state = OrderStatus.findById(orderStatus).getId();
} }
Wrapper<Order> wrapper = new EntityWrapper(); Wrapper<Order> wrapper = new EntityWrapper();
wrapper.ge(StringUtils.isNotBlank(createTimeStart),"create_time",createTimeStart); wrapper.ge(StringUtils.isNotBlank(createTimeStart), "create_time", createTimeStart);
wrapper.le(StringUtils.isNotBlank(createTimeEnd),"create_time",createTimeEnd); wrapper.le(StringUtils.isNotBlank(createTimeEnd), "create_time", createTimeEnd);
wrapper.ge(StringUtils.isNotBlank(successTimeStart),"success_time",successTimeStart); wrapper.ge(StringUtils.isNotBlank(successTimeStart), "success_time", successTimeStart);
wrapper.le(StringUtils.isNotBlank(successTimeEnd),"success_time",successTimeEnd); wrapper.le(StringUtils.isNotBlank(successTimeEnd), "success_time", successTimeEnd);
wrapper.eq(StringUtils.isNotBlank(userType), "user_type", userType); wrapper.eq(StringUtils.isNotBlank(userType), "user_type", userType);
wrapper.eq(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber); wrapper.eq(StringUtils.isNotBlank(orderNumber), "order_number", orderNumber);
wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin); wrapper.eq(StringUtils.isNotBlank(kapin), "kapin", kapin);
wrapper.eq(StringUtils.isNotBlank(businessNumber), "business_number", businessNumber); wrapper.eq(StringUtils.isNotBlank(businessNumber), "business_number", businessNumber);
wrapper.eq(StringUtils.isNotBlank(contactNumber), "contact_number", contactNumber); wrapper.eq(StringUtils.isNotBlank(contactNumber), "contact_number", contactNumber);
wrapper.eq(StringUtils.isNotBlank(hehuorenSchool), "hehuoren_school", hehuorenSchool); wrapper.eq(StringUtils.isNotBlank(hehuorenSchool), "hehuoren_school", hehuorenSchool);
wrapper.like(StringUtils.isNotBlank(hehuorenName), "hehuoren_name", hehuorenName,SqlLike.DEFAULT); wrapper.like(StringUtils.isNotBlank(hehuorenName), "hehuoren_name", hehuorenName, SqlLike.DEFAULT);
// wrapper.eq(StringUtils.isNotBlank(orderStatus), "status", orderStatus); wrapper.eq(StringUtils.isNotBlank(orderStatus), "status", orderStatus);
if (StringUtils.isNotBlank(orderStatus)) {
wrapper.eq(StringUtils.isNotBlank(orderStatus), "order_status", OrderStatus.findById(orderStatus).getName()); List<Map<String, Object>> Orders = orderMapper.downloadOrder(wrapper);
}
List<Map<String, Object>> orders = orderMapper.downloadOrder(wrapper);
List<String> tops = new ArrayList<>(); List<String> tops = new ArrayList<>();
tops.add("客户姓名"); tops.add("客户姓名");
tops.add("订单编号"); tops.add("订单编号");
...@@ -184,7 +169,7 @@ public class OrderController extends BaseController { ...@@ -184,7 +169,7 @@ public class OrderController extends BaseController {
tops.add("订单状态"); tops.add("订单状态");
tops.add("订单类型"); tops.add("订单类型");
tops.add("学生证审核状态"); tops.add("学生证审核状态");
List<String> columns = new ArrayList<>(); List<String> columns = new ArrayList<>();
columns.add("customer_name"); columns.add("customer_name");
columns.add("order_number"); columns.add("order_number");
...@@ -199,7 +184,7 @@ public class OrderController extends BaseController { ...@@ -199,7 +184,7 @@ public class OrderController extends BaseController {
columns.add("order_status"); columns.add("order_status");
columns.add("user_type"); columns.add("user_type");
columns.add("student_card_checkStatus"); columns.add("student_card_checkStatus");
ServletOutputStream os = null; ServletOutputStream os = null;
XSSFWorkbook workbook = new XSSFWorkbook(); XSSFWorkbook workbook = new XSSFWorkbook();
try { try {
...@@ -208,18 +193,15 @@ public class OrderController extends BaseController { ...@@ -208,18 +193,15 @@ public class OrderController extends BaseController {
//添加表头 //添加表头
final XSSFRow row = sheet.createRow(0); final XSSFRow row = sheet.createRow(0);
//设置列宽度 //设置列宽度
sheet.setColumnWidth(1, 5000); sheet.setColumnWidth(1, 6500);
sheet.setColumnWidth(2, 4000); sheet.setColumnWidth(2, 6500);
sheet.setColumnWidth(3, 4000); sheet.setColumnWidth(5, 7000);
sheet.setColumnWidth(4, 4000); sheet.setColumnWidth(8, 4000);
sheet.setColumnWidth(5, 3500); sheet.setColumnWidth(11, 6500);
sheet.setColumnWidth(6, 6000); sheet.setColumnWidth(14, 6500);
sheet.setColumnWidth(7, 4000); sheet.setColumnWidth(15, 7000);
sheet.setColumnWidth(8, 3000); sheet.setColumnWidth(17, 7500);
sheet.setColumnWidth(9, 3000); sheet.setColumnWidth(18, 600);
sheet.setColumnWidth(10, 3000);
sheet.setColumnWidth(11, 3000);
sheet.setColumnWidth(12, 4000);
//第一行字段名称 //第一行字段名称
tops.forEach(column -> { tops.forEach(column -> {
XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0)); XSSFCell cell = row.createCell(Math.max(row.getLastCellNum(), 0));
...@@ -227,7 +209,7 @@ public class OrderController extends BaseController { ...@@ -227,7 +209,7 @@ public class OrderController extends BaseController {
}); });
//数据 //数据
int rowIndex = row.getRowNum(); int rowIndex = row.getRowNum();
for (Map<String, Object> maps: orders) { for (Map<String, Object> maps : Orders) {
final XSSFRow rowdata = sheet.createRow(++rowIndex); final XSSFRow rowdata = sheet.createRow(++rowIndex);
for (String column : columns) { for (String column : columns) {
XSSFCell cell = rowdata.createCell(Math.max(rowdata.getLastCellNum(), 0)); XSSFCell cell = rowdata.createCell(Math.max(rowdata.getLastCellNum(), 0));
...@@ -250,4 +232,141 @@ public class OrderController extends BaseController { ...@@ -250,4 +232,141 @@ public class OrderController extends BaseController {
IOUtils.closeQuite(workbook, os); IOUtils.closeQuite(workbook, os);
} }
} }
@Permission(menuname = "一人一码统计数据", value = "getHhrOrderInfo", method = RequestMethod.POST)
public ResponseData<List<YrymReport>> getHhrOrderInfo(String startTime, String endTime) {
List<YrymReport> subNameList = getReportNum(startTime, endTime);
return ResponseData.success(subNameList, "查询完毕!");
}
@Permission(menuname = "导出一人一码统计报表", value = "outputHhrOrder", method = RequestMethod.POST)
public void downloadHhrOrder(HttpServletResponse response, String startTime, String endTime) throws IOException {
//获取数据
List<YrymReport> reportNum = getReportNum(startTime, endTime);
InputStream in = null;
ExcelWriter excelWriter = null;
ServletOutputStream outputStream = null;
try {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
//防止中文乱码
String fileName = URLEncoder.encode("一人一码统计报表", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
in = this.getClass().getResourceAsStream("/static/一人一码统计报表模板.xlsx");
outputStream = response.getOutputStream();
excelWriter = EasyExcel.write(outputStream).withTemplate(in).excelType(ExcelTypeEnum.XLSX).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
excelWriter.fill(reportNum, writeSheet);
Map<String, Object> map = new HashMap<String, Object>();
LocalDate nowTime = LocalDate.now();
map.put("month", nowTime.getMonthValue());
map.put("date", nowTime.getDayOfMonth());
excelWriter.fill(map, writeSheet);
} catch (Exception e) {
// 重置response
response.reset();
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
Map<String, String> map = new HashMap<String, String>();
map.put("status", "failure");
map.put("message", "下载文件失败" + e.getMessage());
response.getWriter().println(JSON.toJSONString(map));
} finally {
//关闭资源
if (excelWriter != null) {
excelWriter.finish();
}
if (outputStream != null) {
outputStream.flush();
}
if (in != null) {
in.close();
}
}
}
/**
* 根据县分名称获取一人一码发展统计表数据
*
* @param startTime 开始时间
* @param endTime 结束时间
* @return
*/
private List<YrymReport> getReportNum(String startTime, String endTime) {
List<YrymReport> resultList = new ArrayList<>();
List<String> subNameList = YrymReport.subNameList;
for (String tempSubName : subNameList) {
YrymReport tempYrym = new YrymReport();
tempYrym.setSubName(tempSubName);
resultList.add(tempYrym);
}
//学校数
Wrapper<School> schoolNumWrapper = new EntityWrapper<>();
schoolNumWrapper.setSqlSelect("sub_name AS subName,COUNT(1) AS schoolNum");
schoolNumWrapper.isNotNull("sub_name");
schoolNumWrapper.groupBy("sub_name");
List<Map<String, Object>> schoolNumList = schoolMapper.selectMaps(schoolNumWrapper);
//学生数
Wrapper<SysUser> studentNumWrapper = new EntityWrapper<>();
studentNumWrapper.setSqlSelect("substName AS subName,COUNT(1) AS studentNum");
studentNumWrapper.isNotNull("substName");
studentNumWrapper.groupBy("substName");
List<Map<String, Object>> studentNumList = sysUserMapper.selectMaps(studentNumWrapper);
//通用查询模板
Wrapper<Order> commonWrapper = new EntityWrapper();
String selectSql = "hehuoren_area AS subName," +
"COUNT( DISTINCT `id_card` AND CASE WHEN user_type = 0 THEN 1 END ) AS newUserNum," +
"COUNT( DISTINCT `id_card` AND CASE WHEN user_type = 5 THEN 1 END ) AS newAloneNum," +
"COUNT( DISTINCT `id_card` AND CASE WHEN user_type = 3 THEN 1 END ) AS newMixNum," +
"COUNT( DISTINCT `id_card`,`now_package`,`business_package`AND CASE WHEN user_type = 1 THEN 1 END ) AS oldUserNum," +
"COUNT( DISTINCT `id_card`,`now_package`,`business_package`AND CASE WHEN user_type = 2 THEN 1 END ) AS oldContinueNum," +
"COUNT( DISTINCT CASE WHEN user_type IN (0, 3, 5) AND order_status IN ('已发货', '已完成') THEN 1 END ) AS finishNewNum," +
"COUNT( CASE WHEN user_type IN (1,2) AND order_status IN ('已发货', '已完成') THEN 1 END ) AS finishOldNum," +
"COUNT( DISTINCT `id_card` AND CASE WHEN user_type = 0 THEN 1 END ) +" +
" COUNT( DISTINCT `id_card` AND CASE WHEN user_type = 5 THEN 1 END ) +" +
" COUNT( DISTINCT `id_card` AND CASE WHEN user_type = 3 THEN 1 END ) +" +
" COUNT( DISTINCT `id_card`,`now_package`,`business_package`AND CASE WHEN user_type = 1 THEN 1 END ) +" +
" COUNT( DISTINCT `id_card`,`now_package`,`business_package`AND CASE WHEN user_type = 2 THEN 1 END ) AS sum";
commonWrapper.setSqlSelect(selectSql);
commonWrapper.ne("order_status", "异常单");
commonWrapper.isNotNull("hehuoren_area");
commonWrapper.groupBy("hehuoren_area");
//周
Wrapper<Order> weekWrapper = commonWrapper.clone();
if (StringUtils.isNotBlank(endTime)) {
weekWrapper.addFilter("DATE(success_time) >= DATE_SUB(DATE('"+endTime+"'), INTERVAL 7 DAY)");
} else {
weekWrapper.addFilter("DATE(success_time) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)");
}
List<Map<String, Object>> weekNumList = orderMapper.selectMaps(weekWrapper);
//月
Wrapper<Order> monthWrapper = commonWrapper.clone();
if (StringUtils.isNotBlank(endTime)) {
monthWrapper.addFilter("DATE(success_time) >= DATE_SUB(DATE('"+endTime+"'), INTERVAL 30 DAY)");
} else {
monthWrapper.addFilter("DATE(success_time) >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)");
}
List<Map<String, Object>> monthNumList = orderMapper.selectMaps(monthWrapper);
//累计
Wrapper<Order> allWrapper = commonWrapper.clone();
if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) {
allWrapper.between("DATE(success_time)", startTime, endTime);
}
List<Map<String, Object>> allNumList = orderMapper.selectMaps(allWrapper);
YrymReportUtils.joinData(resultList, schoolNumList, 1, null);
YrymReportUtils.joinData(resultList, studentNumList, 2, null);
YrymReportUtils.joinData(resultList, weekNumList, 3, "week");
YrymReportUtils.joinData(resultList, monthNumList, 3, "month");
YrymReportUtils.joinData(resultList, allNumList, 3, "all");
YrymReportUtils.setAllSum(resultList);
return resultList;
}
} }
package com.winsun.utils;
import com.alibaba.excel.EasyExcel;
import com.winsun.bean.YrymReport;
import java.io.InputStream;
import java.util.*;
/**
* 一人一码发展统计表
*
* @Author LiuRunYuan
* @CreateDate 2020/03/07
*/
public class YrymReportUtils {
public Integer startRow = 0;
public Integer endRow = 0;
/**
* 获取统计表模板县分字段
*
* @return
*/
public LinkedList<String> getSubNameList(InputStream in) {
List<Object> list = EasyExcel.read(in).sheet(0).doReadSync();
LinkedList<String> subNameList = new LinkedList<>();
for (int i = 0; i < list.size(); i++) {
LinkedHashMap rowList = (LinkedHashMap) list.get(i);
if (rowList.size() >= 1) {
String rowStr = rowList.get(0).toString();
if ("业务类型".equals(rowStr)) {
startRow = i + 3;
}
if (startRow == 0) {
continue;
}
if ("合计".equals(rowStr)) {
endRow = i + 3;
break;
}
subNameList.add(rowStr);
}
}
subNameList.removeFirst();
return subNameList;
}
/**
* 填入合计值
*/
public static void setAllSum(List<YrymReport> list) {
YrymReport sum = new YrymReport();
sum.setSubName("合计");
for (YrymReport yrymReport : list) {
sum.setSchoolNum(sum.getSchoolNum() + yrymReport.getSchoolNum());
sum.setStudentNum(sum.getStudentNum() + yrymReport.getStudentNum());
sum.setNewUserNumWeek(sum.getNewUserNumWeek() + yrymReport.getNewUserNumWeek());
sum.setNewAloneNumWeek(sum.getNewAloneNumWeek() + yrymReport.getNewAloneNumWeek());
sum.setNewMixNumWeek(sum.getNewMixNumWeek() + yrymReport.getNewMixNumWeek());
sum.setOldUserNumWeek(sum.getOldUserNumWeek() + yrymReport.getOldUserNumWeek());
sum.setOldContinueNumWeek(sum.getOldContinueNumWeek() + yrymReport.getOldContinueNumWeek());
sum.setFinishNewNumWeek(sum.getFinishNewNumWeek() + yrymReport.getFinishNewNumWeek());
sum.setFinishOldNumWeek(sum.getFinishOldNumWeek() + yrymReport.getFinishOldNumWeek());
sum.setSumWeek(sum.getSumWeek() + yrymReport.getSumWeek());
sum.setNewUserNumMonth(sum.getNewUserNumMonth() + yrymReport.getNewUserNumMonth());
sum.setNewAloneNumMonth(sum.getNewAloneNumMonth() + yrymReport.getNewAloneNumMonth());
sum.setNewMixNumMonth(sum.getNewMixNumMonth() + yrymReport.getNewMixNumMonth());
sum.setOldUserNumMonth(sum.getOldUserNumMonth() + yrymReport.getOldUserNumMonth());
sum.setOldContinueNumMonth(sum.getOldContinueNumMonth() + yrymReport.getOldContinueNumMonth());
sum.setFinishNewNumMonth(sum.getFinishNewNumMonth() + yrymReport.getFinishNewNumMonth());
sum.setFinishOldNumMonth(sum.getFinishOldNumMonth() + yrymReport.getFinishOldNumMonth());
sum.setSumMonth(sum.getSumMonth() + yrymReport.getSumMonth());
sum.setNewUserNumAll(sum.getNewUserNumAll() + yrymReport.getNewUserNumAll());
sum.setNewAloneNumAll(sum.getNewAloneNumAll() + yrymReport.getNewAloneNumAll());
sum.setNewMixNumAll(sum.getNewMixNumAll() + yrymReport.getNewMixNumAll());
sum.setOldUserNumAll(sum.getOldUserNumAll() + yrymReport.getOldUserNumAll());
sum.setOldContinueNumAll(sum.getOldContinueNumAll() + yrymReport.getOldContinueNumAll());
sum.setFinishNewNumAll(sum.getFinishNewNumAll() + yrymReport.getFinishNewNumAll());
sum.setFinishOldNumAll(sum.getFinishOldNumAll() + yrymReport.getFinishOldNumAll());
sum.setSumAll(sum.getSumAll() + yrymReport.getSumAll());
}
list.add(sum);
}
/**
* 填充数据
*
* @param resultList 填充目标
* @param dataList 填充数据
* @param flag 1:填充学校数量 2:填充学生数量 3:填充统计数量
* @param type 统计数量时间 week:周 month:月 all:全部
*/
public static void joinData(List<YrymReport> resultList, List<Map<String, Object>> dataList, int flag, String type) {
for (YrymReport tempYrym : resultList) {
Iterator iterator = dataList.iterator();
while (iterator.hasNext()) {
Map<String, Object> tempMap = (Map<String, Object>) iterator.next();
if (tempYrym.getSubName().equals(tempMap.get("subName").toString())) {
if (flag == 1) {
tempYrym.setSchoolNum(Integer.valueOf(tempMap.get("schoolNum").toString()));
} else if (flag == 2) {
tempYrym.setStudentNum(Integer.valueOf(tempMap.get("studentNum").toString()));
} else {
tempYrym.setDataBytype(tempMap, type);
}
iterator.remove();
break;
}
}
}
}
}
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