|
@@ -0,0 +1,322 @@
|
|
|
+package com.xt.jygl.gkyxtjyfx.hzttltj.ctl;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
+import javax.persistence.criteria.CriteriaQuery;
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
+import javax.persistence.criteria.Root;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.jpa.domain.Specification;
|
|
|
+import org.springframework.stereotype.Controller;
|
|
|
+import org.springframework.ui.Model;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+
|
|
|
+import cache.CacheSearchCondition;
|
|
|
+
|
|
|
+import com.xt.jygl.common.BaseWebCtl;
|
|
|
+import com.xt.jygl.gkyxtjyfx.hzttltj.entity.FlhwttlhjEntity;
|
|
|
+import com.xt.jygl.gkyxtjyfx.hzttltj.service.HwttlfxService;
|
|
|
+import com.xtframe.sec.common.QueryService;
|
|
|
+import com.xtframe.util.StringUtils;
|
|
|
+
|
|
|
+@Controller
|
|
|
+@RequestMapping(value = "/hwttlfx")
|
|
|
+public class HwttlfxCtl extends BaseWebCtl{
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private QueryService query;
|
|
|
+ @Autowired
|
|
|
+ private HwttlfxService hwttlfxService;
|
|
|
+
|
|
|
+ @RequestMapping(value="/main")
|
|
|
+ public String main(Model model,final HttpServletRequest request,String tjx,String zzbl,final String startDate,final String endDate){
|
|
|
+
|
|
|
+ Specification<FlhwttlhjEntity> spec = new Specification<FlhwttlhjEntity>() {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Predicate toPredicate(Root<FlhwttlhjEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
|
|
|
+ List<Predicate> list = new ArrayList<Predicate>();
|
|
|
+ if (StringUtils.isNotEmpty(startDate)&&StringUtils.isNotEmpty(endDate)) {
|
|
|
+ list.add(cb.between(root.get("tj_month").as(String.class), startDate,endDate));
|
|
|
+ }else if (isGET(request)){
|
|
|
+ Calendar currentDate = Calendar.getInstance();
|
|
|
+ list.add(cb.between(root.get("tj_month").as(String.class), currentDate.get(Calendar.YEAR)+"-01",
|
|
|
+ currentDate.get(Calendar.YEAR)+"-"+currentDate.get(Calendar.MONTH)));
|
|
|
+ }
|
|
|
+ return cb.and(list.toArray(new Predicate[] {}));
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ List<FlhwttlhjEntity> entityList = query.findAll(spec, FlhwttlhjEntity.class);
|
|
|
+ //吞吐量
|
|
|
+ List<String> ttl = new ArrayList<String>();
|
|
|
+ //时间区间
|
|
|
+ List<String> dateList = new ArrayList<String>();
|
|
|
+ //比率
|
|
|
+ List<String> bl = new ArrayList<String>();
|
|
|
+ String[] date;
|
|
|
+ int year,month;
|
|
|
+ //获取吞吐量
|
|
|
+ if(StringUtils.isEmpty(tjx) || tjx.equals("GK03010202000000000000000000")){
|
|
|
+ for(FlhwttlhjEntity e : entityList){
|
|
|
+ ttl.add(e.getGK03010202000000000000000000()+"");
|
|
|
+ }
|
|
|
+ //比率
|
|
|
+ //同比
|
|
|
+ if(StringUtils.isEmpty(zzbl)||"tb".equals(zzbl)){
|
|
|
+ for(FlhwttlhjEntity e : entityList){
|
|
|
+ date = e.gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0])-1;
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ if(temp == null || e.getGK03010202000000000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((e.getGK03010202000000000000000000()-temp.getGK03010202000000000000000000())/e.getGK03010202000000000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if("hb".equals(zzbl)){
|
|
|
+ for(int i = 0; i < entityList.size(); i++){
|
|
|
+ if(i == 0){
|
|
|
+ date = entityList.get(i).gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0]);
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = null;
|
|
|
+ if(month == 1){
|
|
|
+ year = year - 1;
|
|
|
+ month = 12;
|
|
|
+ }else{
|
|
|
+ month = month - 1;
|
|
|
+ if(month<10){
|
|
|
+ temp = hwttlfxService.findOne(year+"-0"+month);
|
|
|
+ }else{
|
|
|
+ temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(temp == null || entityList.get(i).getGK03010202000000000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000000000000000000()-temp.getGK03010202000000000000000000())/entityList.get(i).getGK03010202000000000000000000()*100));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(entityList.get(i).getGK03010202000000000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000000000000000000()-entityList.get(i-1).getGK03010202000000000000000000())/entityList.get(i).getGK03010202000000000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ for(int i = 0; i < entityList.size(); i++){
|
|
|
+ if(i == 0){
|
|
|
+ date = entityList.get(i).gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0]);
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = null;
|
|
|
+ if(month == 1){
|
|
|
+ year = year - 1;
|
|
|
+ month = 12;
|
|
|
+ }else{
|
|
|
+ month = month - 1;
|
|
|
+ if(month<10){
|
|
|
+ temp = hwttlfxService.findOne(year+"-0"+month);
|
|
|
+ }else{
|
|
|
+ temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(temp == null || entityList.get(i-1).getGK03010202000000000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000000000000000000()-temp.getGK03010202000000000000000000())/temp.getGK03010202000000000000000000()*100));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(entityList.get(i-1).getGK03010202000000000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000000000000000000()-entityList.get(i-1).getGK03010202000000000000000000())/entityList.get(i-1).getGK03010202000000000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if(tjx.equals("GK03010202000010000000000000")){
|
|
|
+ for(FlhwttlhjEntity e : entityList){
|
|
|
+ ttl.add(e.getGK03010202000010000000000000()+"");
|
|
|
+ }
|
|
|
+ //比率
|
|
|
+ if(StringUtils.isEmpty(zzbl)||zzbl.equals("tb")){
|
|
|
+ for(FlhwttlhjEntity e : entityList){
|
|
|
+ date = e.gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0])-1;
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ if(temp == null || e.getGK03010202000010000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((e.getGK03010202000010000000000000()-temp.getGK03010202000010000000000000())/e.getGK03010202000010000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if("hb".equals(zzbl)){
|
|
|
+ for(int i = 0; i < entityList.size(); i++){
|
|
|
+ if(i == 0){
|
|
|
+ date = entityList.get(i).gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0]);
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = null;
|
|
|
+ if(month == 1){
|
|
|
+ year = year - 1;
|
|
|
+ month = 12;
|
|
|
+ }else{
|
|
|
+ month = month - 1;
|
|
|
+ if(month<10){
|
|
|
+ temp = hwttlfxService.findOne(year+"-0"+month);
|
|
|
+ }else{
|
|
|
+ temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(temp == null || entityList.get(i).getGK03010202000010000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000010000000000000()-temp.getGK03010202000010000000000000())/entityList.get(i).getGK03010202000010000000000000()*100));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(entityList.get(i).getGK03010202000010000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000010000000000000()-entityList.get(i-1).getGK03010202000010000000000000())/entityList.get(i).getGK03010202000010000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ for(int i = 0; i < entityList.size(); i++){
|
|
|
+ if(i == 0){
|
|
|
+ date = entityList.get(i).gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0]);
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = null;
|
|
|
+ if(month == 1){
|
|
|
+ year = year - 1;
|
|
|
+ month = 12;
|
|
|
+ }else{
|
|
|
+ month = month - 1;
|
|
|
+ if(month<10){
|
|
|
+ temp = hwttlfxService.findOne(year+"-0"+month);
|
|
|
+ }else{
|
|
|
+ temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(temp == null){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000010000000000000()-temp.getGK03010202000010000000000000())/temp.getGK03010202000010000000000000()*100));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(entityList.get(i-1).getGK03010202000010000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000010000000000000()-entityList.get(i-1).getGK03010202000010000000000000())/entityList.get(i-1).getGK03010202000010000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if(tjx.equals("GK03010202000020000000000000")){
|
|
|
+ for(FlhwttlhjEntity e : entityList){
|
|
|
+ ttl.add(e.getGK03010202000020000000000000()+"");
|
|
|
+ }
|
|
|
+ //比率
|
|
|
+ if(StringUtils.isEmpty(zzbl)||zzbl.equals("tb")){
|
|
|
+ for(FlhwttlhjEntity e : entityList){
|
|
|
+ date = e.gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0])-1;
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ if(temp == null || e.getGK03010202000020000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((e.getGK03010202000020000000000000()-temp.getGK03010202000020000000000000())/e.getGK03010202000020000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if("hb".equals(zzbl)){
|
|
|
+ for(int i = 0; i < entityList.size(); i++){
|
|
|
+ if(i == 0){
|
|
|
+ date = entityList.get(i).gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0]);
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = null;
|
|
|
+ if(month == 1){
|
|
|
+ year = year - 1;
|
|
|
+ month = 12;
|
|
|
+ }else{
|
|
|
+ month = month - 1;
|
|
|
+ if(month<10){
|
|
|
+ temp = hwttlfxService.findOne(year+"-0"+month);
|
|
|
+ }else{
|
|
|
+ temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(temp == null || entityList.get(i).getGK03010202000020000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000020000000000000()-temp.getGK03010202000020000000000000())/entityList.get(i).getGK03010202000020000000000000()*100));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(entityList.get(i).getGK03010202000020000000000000()==0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000020000000000000()-entityList.get(i-1).getGK03010202000020000000000000())/entityList.get(i).getGK03010202000020000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ for(int i = 0; i < entityList.size(); i++){
|
|
|
+ if(i == 0){
|
|
|
+ date = entityList.get(i).gettj_month().split("-");
|
|
|
+ year = Integer.parseInt(date[0]);
|
|
|
+ month = Integer.parseInt(date[1]);
|
|
|
+ FlhwttlhjEntity temp = null;
|
|
|
+ if(month == 1){
|
|
|
+ year = year - 1;
|
|
|
+ month = 12;
|
|
|
+ }else{
|
|
|
+ month = month - 1;
|
|
|
+ if(month<10){
|
|
|
+ temp = hwttlfxService.findOne(year+"-0"+month);
|
|
|
+ }else{
|
|
|
+ temp = hwttlfxService.findOne(year+"-"+month);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(temp == null){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000020000000000000()-temp.getGK03010202000020000000000000())/temp.getGK03010202000020000000000000()*100));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(entityList.get(i-1).getGK03010202000020000000000000() == 0){
|
|
|
+ bl.add("0");
|
|
|
+ }else{
|
|
|
+ bl.add(""+(int)((entityList.get(i).getGK03010202000020000000000000()-entityList.get(i-1).getGK03010202000020000000000000())/entityList.get(i-1).getGK03010202000020000000000000()*100));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取时间区间
|
|
|
+ for(FlhwttlhjEntity e : entityList){
|
|
|
+ dateList.add("'"+e.gettj_month()+"'");
|
|
|
+ }
|
|
|
+ model.addAttribute("bl",bl);
|
|
|
+ model.addAttribute("ttl", ttl);
|
|
|
+ model.addAttribute("dateList", dateList);
|
|
|
+ model.addAttribute("startDate", startDate);
|
|
|
+ model.addAttribute("endDate", endDate);
|
|
|
+ model.addAttribute("zzbl", zzbl);
|
|
|
+ model.addAttribute("tjx", tjx);
|
|
|
+ return "gkyxtjyfx/gkhwttlfx/gkhwttlfx";
|
|
|
+ }
|
|
|
+
|
|
|
+}
|