From 15e0c74b59753e03488654412cb1ad39d5b4a22b Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期六, 02 十一月 2019 16:58:10 +0800 Subject: [PATCH] add .gitignore --- src/main/java/com/cloud/count/service/serviceImpl/CountServiceImpl.java | 61 ++++++++++++++++++++++++------ 1 files changed, 48 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/cloud/count/service/serviceImpl/CountServiceImpl.java b/src/main/java/com/cloud/count/service/serviceImpl/CountServiceImpl.java index 0280098..9369d93 100644 --- a/src/main/java/com/cloud/count/service/serviceImpl/CountServiceImpl.java +++ b/src/main/java/com/cloud/count/service/serviceImpl/CountServiceImpl.java @@ -4,6 +4,7 @@ import com.cloud.count.model.Config; import com.cloud.count.model.People; import com.cloud.count.service.CountService; +import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.ParseException; @@ -51,6 +52,10 @@ private static String[] time2={"00","05","10","15","20","25", "30","35","40","45","50","55"}; public static volatile int countType = 0; + + private static Map<Integer,Integer> dayAllMap = new HashMap<>(); + private static Map<Integer,Integer> dayOutMap = new HashMap<>(); + private static Map<Integer,Integer> dayInMap = new HashMap<>(); /** * 缁熻鍙傛暟鍒濆鍖栵紝鐢ㄤ簬缁熻璁惧閲嶅惎鎯呭喌(鍙戦�佺殑绗竴鏉℃姤鏂�) @@ -100,16 +105,20 @@ if (now>start-1 && now<start+11){//琛ㄧず浠庤缃殑鍒濆鍖栨椂闂村紑濮嬮噸鏂拌鏁� baseEnters = totalEnters; baseExits = totalExits; + + dayAllMap = new HashMap<>(); + dayInMap = new HashMap<>(); + dayOutMap = new HashMap<>(); } // 浠庡紑濮嬭绠楁椂闂村埌鐜板湪鐨勮繘鏍℃暟 //杩涙牎浜烘暟 = 褰撳墠鎶ユ枃totalEnters - 鍩哄噯杩涙牎浜烘暟 + 鏍℃鍊� - int inPeople = totalEnters - baseEnters + correctionPeople; + int inPeople = totalEnters - baseEnters + correctionPeople + initialPeople; int outPeople = totalExits - baseExits; // 鏍″唴鎬讳汉鏁� = 杩涙牎浜烘暟 - 鍑烘牎浜烘暟 + 鏍″唴鍒濆鍖栦汉鏁� + 璇樊鏁伴噺 - int allPeople = inPeople - outPeople + initialPeople; + int allPeople = inPeople - outPeople; // 鐜板湪绂诲紑濮嬬粺璁$殑鏃堕棿鐨勫皬鏃舵暟 7涓灏忔椂 鎸�7涓皬鏃剁畻 //int hour = (int)(Math.abs(now-set)+3599)/3600; @@ -119,10 +128,10 @@ // 寮�濮嬬粺璁℃椂闂� 鍒嗗紑 濡�06:40 String[] times = config.getCountStartTime().split(":"); // 鍒濆璁剧疆鏃堕棿鍒嗗紑 - String[] times2 = initialTime.split(":"); + String[] times2 = initialTime.split(":");//鍒濆鍖栨椂闂�06:00 // 璁剧疆鏃堕棿鍥捐〃鐨勯」 - int charat = Integer.parseInt(times[0]); - int mm =Integer.parseInt(times2[0])-charat; + int charat = Integer.parseInt(times[0]);//缁熻寮�濮嬫椂闂�06:00 + int mm =Integer.parseInt(times2[0])-charat;//鍒嗛挓鏄�00 // 璁剧疆鏃堕棿鍥捐〃鐨勯」锛屾瘮濡傚浘琛ㄧ殑寮�濮嬬粺璁℃椂闂翠负06:40锛屽垯time_set灏辨槸[06:40,07:40,08:40,09:40,10:40,11:40,12:40,] for(int i=0;i<minute;i++){ //time_set[i]=time[charat]+":"+times[1]; @@ -135,13 +144,38 @@ // 浣嗘槸鍙細缁熻7锛�30锛屽垯7锛�30缁熻鐨勬暟鎹粯璁や负鍒濆浜烘暟锛屽苟涓斾互鍚庣殑浠�7锛�30寮�濮嬬粺璁� long hourset = set; for(int i=0;i<minute;i++){ - if( (mm==i) && (countType==0) ){ + if( (mm == i) && (countType==0) ){ people[i]=initialPeople; set = hourset; //杩欒浠g爜寰堥噸瑕侊紝琛ㄧず閲嶆柊缁熻 }else { - //System.out.println("绗�"+i+"涓皬鏃剁殑鏁版嵁:"); +// System.out.println("绗�"+i+"涓皬鏃剁殑鏁版嵁:"); // people[i] = dao.countInPeople(set-60,hourset+3599)- dao.countOutPeople(set-60,hourset+3599)+initialPeople+correctionPeople; + //浣跨敤缂撳瓨dayAllMap people[i] = getDataValue(map,countType,set-60,hourset+1799,initialPeople,correctionPeople); +// if(countType == 1){ +// if(dayInMap.containsKey(i) && minute >1 && (i != minute-1)){ +// people[i] = dayInMap.get(i); +// }else{ +// people[i] = getDataValue(map,countType,set-60,hourset+1799,initialPeople,correctionPeople); +// dayInMap.put(i, people[i]); +// } +// } else if(countType == 0) { +// if(dayAllMap.containsKey(i) && minute >1 && (i != minute-1)){ +// people[i] = dayAllMap.get(i); +// }else{ +// people[i] = getDataValue(map,countType,set-60,hourset+1799,initialPeople,correctionPeople); +// dayAllMap.put(i, people[i]); +// } +// } else { +// if(dayOutMap.containsKey(i) && minute >1 && (i != minute-1)){ +// people[i] = dayOutMap.get(i); +// }else{ +// people[i] = getDataValue(map,countType,set-60,hourset+1799,initialPeople,correctionPeople); +// dayOutMap.put(i, people[i]); +// } +// } + + } hourset +=1800; } @@ -160,20 +194,21 @@ * @return */ private int getDataValue( Map<String, Object> map,int i,long start,long end,int initialPeople,int correctionPeople){ + String todayStr = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); switch (i){ case 1: map.put("countType","杩涙牎浜烘暟"); - Integer countInPeople = dao.countInPeople(start,end); - countInPeople=countInPeople==null||countInPeople<0?0:countInPeople; + Integer countInPeople = dao.countInPeople(start, end, todayStr); + countInPeople=countInPeople==null||countInPeople < 0? 0 : countInPeople; return countInPeople+correctionPeople; case -1: map.put("countType","鍑烘牎浜烘暟"); - Integer countOutPeople = dao.countOutPeople(start,end); - return countOutPeople==null||countOutPeople<0?0:countOutPeople; + Integer countOutPeople = dao.countOutPeople(start, end, todayStr); + return countOutPeople==null||countOutPeople < 0? 0 : countOutPeople; case 0: map.put("countType","鏍″唴浜烘暟"); - Integer in = dao.countInPeople(start,end); - Integer out = dao.countOutPeople(start,end); + Integer in = dao.countInPeople(start, end, todayStr); + Integer out = dao.countOutPeople(start, end, todayStr); in = in==null||in<0?0:in; out = out==null||out<0?0:out; return in-out+initialPeople+correctionPeople; -- Gitblit v1.8.0