| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169 |
- package platform.modules.government.service;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import platform.common.Constant;
- import platform.common.util.DateUtil;
- import platform.common.util.StringUtils;
- import platform.modules.company.dao.StockLandDao;
- import platform.modules.company.dto.StockLandStatistic;
- import platform.modules.government.entity.Street;
- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- /**
- * 用地统计service
- */
- @Service
- @Transactional
- public class LandStatisticsService {
- @Autowired
- private StockLandDao stockLandDao;
- @Autowired
- private StreetService streetService;
- /**
- * @Author: huZhiHao
- * @Description: 获取待审核 审核中 已审核 统计
- * @Date: 2020/1/13
- * @Params:
- * @Return:
- **/
- public Object getApproveStatusStatistic(String streetId) {
- List<StockLandStatistic> stockLandList = stockLandDao.findListByStreetId(streetId, null);
- //创建待处理,处理中,已处理
- List<Map> pending = new ArrayList<>(), processing = new ArrayList<>(), processed = new ArrayList<>();
- //创建待处理具体
- Integer pendingCompany = 0, pendingStreet = 0;
- //创建处理中具体
- Integer processingLocalAudit = 0, processingDistribute = 0, processingEasyProcess = 0, processingComplianceAudit = 0, processingUnitedAudit = 0, processingGovernmentAudit = 0, processingHGXSCTG = 0;
- //创建已处理具体
- Integer processedPassed = 0, processedReject = 0, processedNotPass = 0;
- for (StockLandStatistic stockLand : stockLandList) {
- //待审核
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.LOCAL_AUDIT)
- && Objects.equals(stockLand.getApproval_round(), "1")
- && Objects.equals(stockLand.getApply_user_type(), Constant.UserType.STREET + "")) {
- //处于属地初审 轮次为1 申请人类型为街道
- pendingStreet++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.LOCAL_AUDIT)
- && Objects.equals(stockLand.getApproval_round(), "1")
- && Objects.equals(stockLand.getApply_user_type(), Constant.UserType.COMPANY + "")) {
- //处于属地初审 轮次为1 申请人类型为企业
- pendingCompany++;
- }
- //审核中
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.LOCAL_AUDIT)
- && !Objects.equals(stockLand.getApproval_round(), "1")) {
- //处于属地初审 轮次为2
- processingLocalAudit++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PENDING_DISTRIBUTE)) {
- //处于待分发
- processingDistribute++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.JYLCHQ)) {
- //处于简易流程
- processingEasyProcess++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.COMPLIANCE_AUDIT)) {
- //处于合规性审查
- processingComplianceAudit++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.UNITED_AUDIT)) {
- //处于联合评议
- processingUnitedAudit++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.GOVERNMENT_AUDIT)) {
- //处于区政府审核
- processingGovernmentAudit++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.HGXSCTG)) {
- //处于合规性审查汇总
- processingGovernmentAudit++;
- }
- //已审核
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //通过
- processedPassed++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- processedNotPass++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- processedReject++;
- }
- }
- Map<String, Object> temp;
- //装配待处理具体
- temp = new HashMap<>();
- temp.put("name", "企业申请");
- temp.put("value", pendingCompany);
- pending.add(temp);
- temp = new HashMap<>();
- temp.put("name", "街道代理");
- temp.put("value", pendingStreet);
- pending.add(temp);
- //装配处理中具体
- temp = new HashMap<>();
- temp.put("name", "属地初审");
- temp.put("value", processingLocalAudit);
- processing.add(temp);
- temp = new HashMap<>();
- temp.put("name", "待分发");
- temp.put("value", processingDistribute);
- processing.add(temp);
- temp = new HashMap<>();
- temp.put("name", "简易流程办理中");
- temp.put("value", processingEasyProcess);
- processing.add(temp);
- temp = new HashMap<>();
- temp.put("name", "合规性审查");
- temp.put("value", processingComplianceAudit);
- processing.add(temp);
- temp = new HashMap<>();
- temp.put("name", "联合评议");
- temp.put("value", processingUnitedAudit);
- processing.add(temp);
- temp = new HashMap<>();
- temp.put("name", "区政府审核");
- temp.put("value", processingGovernmentAudit);
- processing.add(temp);
- temp = new HashMap<>();
- temp.put("name", "合规性审查汇总");
- temp.put("value", processingHGXSCTG);
- processing.add(temp);
- //装配已处理具体
- temp = new HashMap<>();
- temp.put("name", "通过");
- temp.put("value", processedPassed);
- processed.add(temp);
- temp = new HashMap<>();
- temp.put("name", "不通过");
- temp.put("value", processedNotPass);
- processed.add(temp);
- temp = new HashMap<>();
- temp.put("name", "退回");
- temp.put("value", processedReject);
- processed.add(temp);
- //最后装配一起返回
- Map<String, List> map = new HashMap<>();
- map.put("pending", pending);
- map.put("processing", processing);
- map.put("processed", processed);
- return map;
- }
- /**
- * @Author: huZhiHao
- * @Description: 获取月度分类统计
- * @Date: 2020/1/13
- * @Params:
- * @Return:
- **/
- public Object getTypeStatistic(String streetId, String startTime, String endTime) {
- List<StockLandStatistic> stockLandList = stockLandDao.findListByStreetIdAndTime(streetId, startTime, endTime);
- //创建 申请数量 退回数量 通过数量 不通过数量 列表
- List<Integer> apply = new ArrayList<>(), reject = new ArrayList<>(), pass = new ArrayList<>(), notPass = new ArrayList<>();
- //创建存量工业用地用途依法改变 申请数量 退回数量 通过数量 不通过数量
- Integer useChangeApplyNum = 0, useChangeRejectNum = 0, useChangePassNum = 0, useChangeNotPassNum = 0;
- //创建存量工业用地项目公司股权(结构)变更登记 退回数量 通过数量 不通过数量
- Integer equityStructureChangeApplyNum = 0, equityStructureChangeRejectNum = 0, equityStructureChangePassNum = 0, equityStructureChangeNotPassNum = 0;
- //创建存量工业用地不动产权权属转移登记 退回数量 通过数量 不通过数量
- Integer immovablesChangeApplyNum = 0, immovablesChangeRejectNum = 0, immovablesChangePassNum = 0, immovablesChangeNotPassNum = 0;
- //创建存量工业用地房屋出租 退回数量 通过数量 不通过数量
- Integer rentApplyNum = 0, rentRejectNum = 0, rentPassNum = 0, rentNotPassNum = 0;
- //创建X轴坐标名称
- List<String> xAxisName = new ArrayList<>();
- //创建通过率
- int rentPassRate, useChangePassRate, immovablesChangePassRate, equityStructureChangePassRate;
- for (StockLandStatistic stockLand : stockLandList) {
- if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.RENT)) {
- //存量工业用地房屋出租
- rentApplyNum++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- rentPassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- rentNotPassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- rentRejectNum++;
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.EQUITY_STRUCTURE_CHANGE)) {
- //存量工业用地项目公司股权(结构)变更登记
- equityStructureChangeApplyNum++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- equityStructureChangePassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- equityStructureChangeNotPassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- equityStructureChangeRejectNum++;
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.IMMOVABLES_CHANGE)) {
- //存量工业用地不动产权权属转移登记
- immovablesChangeApplyNum++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- immovablesChangePassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- immovablesChangeNotPassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- immovablesChangeRejectNum++;
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.USE_CHANGE)) {
- //存量工业用地用途依法改变
- useChangeApplyNum++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- useChangePassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- useChangeNotPassNum++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- useChangeRejectNum++;
- }
- }
- }
- List<Map> listMap = new ArrayList<>();
- Map<String, Object> temp;
- //装配申请数量具体
- //存量工业用地房屋出租
- apply.add(rentApplyNum);
- //存量工业用地用途依法改变
- apply.add(useChangeApplyNum);
- //存量工业用地不动产权权属转移登记
- apply.add(immovablesChangeApplyNum);
- //存量工业用地项目公司股权(结构)变更登记
- apply.add(equityStructureChangeApplyNum);
- temp = new HashMap<>();
- temp.put("name", "申请数量");
- temp.put("type", "bar");
- temp.put("data", apply);
- listMap.add(temp);
- //存量工业用地房屋出租
- reject.add(rentRejectNum);
- //存量工业用地用途依法改变
- reject.add(useChangeRejectNum);
- //存量工业用地不动产权权属转移登记
- reject.add(immovablesChangeRejectNum);
- //存量工业用地项目公司股权(结构)变更登记
- reject.add(equityStructureChangeRejectNum);
- temp = new HashMap<>();
- temp.put("name", "退回数量");
- temp.put("type", "bar");
- temp.put("data", reject);
- listMap.add(temp);
- //存量工业用地房屋出租
- pass.add(rentPassNum);
- //存量工业用地用途依法改变
- pass.add(useChangePassNum);
- //存量工业用地不动产权权属转移登记
- pass.add(immovablesChangePassNum);
- //存量工业用地项目公司股权(结构)变更登记
- pass.add(equityStructureChangePassNum);
- temp = new HashMap<>();
- temp.put("name", "审核通过");
- temp.put("type", "bar");
- temp.put("data", pass);
- listMap.add(temp);
- //存量工业用地房屋出租
- notPass.add(rentNotPassNum);
- //存量工业用地用途依法改变
- notPass.add(useChangeNotPassNum);
- //存量工业用地不动产权权属转移登记
- notPass.add(immovablesChangeNotPassNum);
- //存量工业用地项目公司股权(结构)变更登记
- notPass.add(equityStructureChangeNotPassNum);
- temp = new HashMap<>();
- temp.put("name", "审核不通过");
- temp.put("type", "bar");
- temp.put("data", notPass);
- listMap.add(temp);
- rentPassRate = rentApplyNum == 0 ? 0 : rentPassNum * 100 / rentApplyNum;
- useChangePassRate = useChangeApplyNum == 0 ? 0 : useChangePassNum * 100 / useChangeApplyNum;
- immovablesChangePassRate = immovablesChangeApplyNum == 0 ? 0 : immovablesChangePassNum * 100 / immovablesChangeApplyNum;
- equityStructureChangePassRate = equityStructureChangeApplyNum == 0 ? 0 : equityStructureChangePassNum * 100 / equityStructureChangeApplyNum;
- xAxisName.add("存量工业用地房屋出租 \n\n通过率:" + rentPassRate + "%");
- xAxisName.add("存量工业用地用途依法改变 \n\n通过率:" + useChangePassRate + "%");
- xAxisName.add("存量工业用地不动产权权属转移登记 \n\n通过率:" + immovablesChangePassRate + "%");
- xAxisName.add("存量工业用地项目公司股权(结构)变更登记 \n\n通过率:" + equityStructureChangePassRate + "%");
- Map ret = new HashMap();
- ret.put("data", listMap);
- ret.put("xAxisName", xAxisName);
- return ret;
- }
- /**
- * @Author: huZhiHao
- * @Description: 获取月度审核结果对比
- * @Date: 2020/1/13
- * @Params:
- * @Return:
- **/
- public Object getMonthlyApproveResult() {
- String[] timeMorning = new String[12];
- String[] timeEvening = new String[12];
- Date date1 = new Date();//获取当前时间
- String endTime = DateUtil.getTimeString(date1);
- List<Map> listMap = new ArrayList<>();
- //创建X轴坐标名称
- List<String> xAxisName = new ArrayList<>();
- try {
- for (int i = 0; i <= 11; i++) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date1);
- calendar.add(Calendar.MONTH, i - 11);//当前时间前去一个月,即一个月前的时间
- Date date2 = calendar.getTime();//获取一年前的时间,或者一个月前的时间
- String dateString = DateUtil.getTimeString(date2);
- String date_str = dateString.split(" ")[0];
- Calendar cale = Calendar.getInstance();
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
- cale.setTime(formatter.parse(date_str));
- cale.add(Calendar.MONTH, 0);
- cale.set(Calendar.DAY_OF_MONTH, 1);
- timeMorning[i] = formatter.format(cale.getTime()) + " 00:00:00"; // 当月第一天 2019-02-01
- cale.add(Calendar.MONTH, 1);
- cale.set(Calendar.DAY_OF_MONTH, 0);
- timeEvening[i] = formatter.format(cale.getTime()) + " 23:59:59"; // 当月最后一天 2019-02-28
- }
- List<StockLandStatistic> stockLandList = stockLandDao.findListByStreetIdAndTime(null, timeMorning[0], endTime);
- //创建 通过 不通过 退回 数组
- int[] passNum = new int[12], notPassNum = new int[12], rejectNum = new int[12];
- for (int i = 0; i < 12; i++) {
- String[] timeArray = timeMorning[i].split("-");
- xAxisName.add(timeArray[0] + "年" + timeArray[1] + "月");
- for (StockLandStatistic stockLand : stockLandList) {
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- if (dateFormat.parse(timeMorning[i]).getTime() <= dateFormat.parse(stockLand.getCreate_time()).getTime()
- && dateFormat.parse(timeEvening[i]).getTime() >= dateFormat.parse(stockLand.getCreate_time()).getTime()) {
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- passNum[i]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- notPassNum[i]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- rejectNum[i]++;
- }
- }
- }
- }
- Map<String, Object> temp;
- temp = new HashMap<>();
- temp.put("name", "审核通过");
- temp.put("type", "bar");
- temp.put("stack", "group1");
- temp.put("data", passNum);
- listMap.add(temp);
- temp = new HashMap<>();
- temp.put("name", "审核不通过");
- temp.put("type", "bar");
- temp.put("stack", "group1");
- temp.put("data", notPassNum);
- listMap.add(temp);
- temp = new HashMap<>();
- temp.put("name", "审核退回");
- temp.put("type", "bar");
- temp.put("stack", "group1");
- temp.put("data", rejectNum);
- listMap.add(temp);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- Map ret = new HashMap();
- ret.put("data", listMap);
- ret.put("xAxisName", xAxisName);
- return ret;
- }
- /**
- * @Author: huZhiHao
- * @Description: 月度审核统计表
- * @Date: 2020/1/13
- * @Params:
- * @Return:
- **/
- public Object getMonthlyApproveStatistic(String streetId, String startTime, String endTime) {
- try {
- /*计算日期*/
- String[] timeMorning = null;
- String[] timeEvening = null;
- Date date1 = new Date();//获取当前时间
- int mounthCount = 12;
- //如果未传开始结束时间 默认当前月前十二个月
- if (StringUtils.isEmpty(startTime) && StringUtils.isEmpty(endTime)) {
- mounthCount = 12;
- endTime = DateUtil.getTimeString(date1);
- } else if (StringUtils.isEmpty(startTime) && StringUtils.isNotEmpty(endTime)) {
- mounthCount = 12;
- date1 = DateUtil.parseTimeStringToDate(endTime, "yyyy-MM-dd");
- } else if (StringUtils.isNotEmpty(startTime) && StringUtils.isEmpty(endTime)) {
- Date startDate = DateUtil.parseTimeStringToDate(startTime, "yyyy-MM-dd");
- endTime = DateUtil.getTimeString(date1);
- Date endDate = DateUtil.parseTimeStringToDate(endTime, "yyyy-MM-dd");
- mounthCount = DateUtil.getMonthDiff(startDate, endDate);
- } else {
- Date startDate = DateUtil.parseTimeStringToDate(startTime, "yyyy-MM-dd");
- Date endDate = DateUtil.parseTimeStringToDate(endTime, "yyyy-MM-dd");
- date1 = DateUtil.parseTimeStringToDate(endTime, "yyyy-MM-dd");
- mounthCount = DateUtil.getMonthDiff(startDate, endDate);
- }
- timeMorning = new String[mounthCount];
- timeEvening = new String[mounthCount];
- for (int i = 0; i < mounthCount; i++) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date1);
- calendar.add(Calendar.MONTH, i - (mounthCount - 1));//当前时间前去一个月,即一个月前的时间
- Date date2 = calendar.getTime();//获取一年前的时间,或者一个月前的时间
- String dateString = DateUtil.getTimeString(date2);
- String date_str = dateString.split(" ")[0];
- Calendar cale = Calendar.getInstance();
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
- cale.setTime(formatter.parse(date_str));
- cale.add(Calendar.MONTH, 0);
- cale.set(Calendar.DAY_OF_MONTH, 1);
- timeMorning[i] = formatter.format(cale.getTime()) + " 00:00:00"; // 当月第一天
- cale.add(Calendar.MONTH, 1);
- cale.set(Calendar.DAY_OF_MONTH, 0);
- timeEvening[i] = formatter.format(cale.getTime()) + " 23:59:59"; // 当月最后一天
- }
- if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
- startTime = timeMorning[0];
- }
- /*计算日期*/
- List<StockLandStatistic> stockLandList = stockLandDao.findListByStreetIdAndTime(streetId, startTime, endTime);
- Map<String, Object> map = null;
- List<Map> resultList = new ArrayList<>();
- //初始化统计值
- int rentApplyAmountNum = 0, rentPassAmountNum = 0, useChangeApplyAmountNum = 0, useChangePassAmountNum = 0, immovablesChangeApplyAmountNum = 0, immovablesChangePassAmountNum = 0,
- equityStructureChangeApplyAmountNum = 0, equityStructureChangePassAmountNum = 0, equityStructureChangeSummaryProcedureApplyAmountNum = 0, equityStructureChangeSummaryProcedurePassAmountNum = 0,
- immovablesChangeSummaryProcedureApplyAmountNum = 0, immovablesChangeSummaryProcedurePassAmountNum = 0, totalApplyAmountNum = 0, totalPassAmountNum = 0;
- for (int i = 0; i < mounthCount; i++) {
- map = new HashMap<>();
- //行名称
- String[] timeArray = timeMorning[i].split("-");
- // stockLandMonthlyApproveStatistic.setRowName(timeArray[0] + "年" + timeArray[1] + "月");
- map.put("rowName", timeArray[0] + "年" + timeArray[1] + "月");
- //初始化统计值
- int rentApplyNum = 0, rentPassNum = 0, useChangeApplyNum = 0, useChangePassNum = 0, immovablesChangeApplyNum = 0, immovablesChangePassNum = 0,
- equityStructureChangeApplyNum = 0, equityStructureChangePassNum = 0, equityStructureChangeSummaryProcedureApplyNum = 0, equityStructureChangeSummaryProcedurePassNum = 0,
- immovablesChangeSummaryProcedureApplyNum = 0, immovablesChangeSummaryProcedurePassNum = 0, totalApplyNum = 0, totalPassNum = 0;
- for (StockLandStatistic stockLand : stockLandList) {
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- if (dateFormat.parse(timeMorning[i]).getTime() <= dateFormat.parse(stockLand.getCreate_time()).getTime()
- && dateFormat.parse(timeEvening[i]).getTime() >= dateFormat.parse(stockLand.getCreate_time()).getTime()) {
- if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.RENT)) {
- //存量工业用地房屋出租
- totalApplyNum++;
- rentApplyNum++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- totalPassNum++;
- rentPassNum++;
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.USE_CHANGE)) {
- //存量工业用地用途依法改变
- totalApplyNum++;
- useChangeApplyNum++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- totalPassNum++;
- useChangePassNum++;
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.IMMOVABLES_CHANGE)) {
- //存量工业用地不动产权权属转移登记
- totalApplyNum++;
- immovablesChangeApplyNum++;
- //是否简易流程
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.JYLCHQ)) {
- immovablesChangeSummaryProcedureApplyNum++;
- }
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- totalPassNum++;
- immovablesChangePassNum++;
- //是否简易流程
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.EASY_PROCESS_APPROVED)) {
- immovablesChangeSummaryProcedurePassNum++;
- }
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.EQUITY_STRUCTURE_CHANGE)) {
- //存量工业用地项目公司股权(结构)变更登记
- totalApplyNum++;
- equityStructureChangeApplyNum++;
- //是否简易流程
- if (StringUtils.isNotEmpty(stockLand.getSummary_procedure())) {
- equityStructureChangeSummaryProcedureApplyNum++;
- }
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- totalPassNum++;
- equityStructureChangePassNum++;
- //是否简易流程
- if (StringUtils.isNotEmpty(stockLand.getSummary_procedure())) {
- equityStructureChangeSummaryProcedurePassNum++;
- }
- }
- }
- }
- }
- rentApplyAmountNum += rentApplyNum;
- rentPassAmountNum += rentPassNum;
- useChangeApplyAmountNum += useChangeApplyNum;
- useChangePassAmountNum += useChangePassNum;
- immovablesChangeApplyAmountNum += immovablesChangeApplyNum;
- immovablesChangePassAmountNum += immovablesChangePassNum;
- equityStructureChangeApplyAmountNum += equityStructureChangeApplyNum;
- equityStructureChangePassAmountNum += equityStructureChangePassNum;
- equityStructureChangeSummaryProcedureApplyAmountNum += equityStructureChangeSummaryProcedureApplyNum;
- equityStructureChangeSummaryProcedurePassAmountNum += equityStructureChangeSummaryProcedurePassNum;
- immovablesChangeSummaryProcedureApplyAmountNum += immovablesChangeSummaryProcedureApplyNum;
- immovablesChangeSummaryProcedurePassAmountNum += immovablesChangeSummaryProcedurePassNum;
- totalApplyAmountNum += totalApplyNum;
- totalPassAmountNum += totalPassNum;
- map.put("rentApplyNum", rentApplyNum);
- map.put("rentPassNum", rentPassNum);
- map.put("rentPassRate", rentApplyNum == 0 ? 0 : rentPassNum * 100 / rentApplyNum);
- map.put("useChangeApplyNum", useChangeApplyNum);
- map.put("useChangePassNum", useChangePassNum);
- map.put("useChangePassRate", useChangeApplyNum == 0 ? 0 : useChangePassNum * 100 / useChangeApplyNum);
- map.put("immovablesChangeApplyNum", immovablesChangeApplyNum + "(" + immovablesChangeSummaryProcedureApplyNum + ")");
- map.put("immovablesChangePassNum", immovablesChangePassNum + "(" + immovablesChangeSummaryProcedurePassNum + ")");
- map.put("immovablesChangePassRate",
- (immovablesChangeApplyNum == 0 ? 0 : immovablesChangePassNum * 100 / immovablesChangeApplyNum)
- + "%(" + (immovablesChangeSummaryProcedureApplyNum == 0 ? 0 : immovablesChangeSummaryProcedurePassNum * 100 / immovablesChangeSummaryProcedureApplyNum) + "%)"
- );
- map.put("equityStructureChangeApplyNum", equityStructureChangeApplyNum + "(" + equityStructureChangeSummaryProcedureApplyNum + ")");
- map.put("equityStructureChangePassNum", equityStructureChangePassNum + "(" + equityStructureChangeSummaryProcedurePassNum + ")");
- map.put("equityStructureChangePassRate",
- (equityStructureChangeApplyNum == 0 ? 0 : equityStructureChangePassNum * 100 / equityStructureChangeApplyNum)
- + "%(" + (equityStructureChangeSummaryProcedureApplyNum == 0 ? 0 : equityStructureChangeSummaryProcedurePassNum * 100 / equityStructureChangeSummaryProcedureApplyNum) + "%)"
- );
- map.put("totalApplyNum", totalApplyNum);
- map.put("totalPassNum", totalPassNum);
- map.put("totalPassRate", totalApplyNum == 0 ? 0 : totalPassNum * 100 / totalApplyNum);
- resultList.add(map);
- }
- map = new HashMap<>();
- map.put("rowName", "合计");
- map.put("rentApplyNum", rentApplyAmountNum);
- map.put("rentPassNum", rentPassAmountNum);
- map.put("rentPassRate", rentApplyAmountNum == 0 ? 0 : rentPassAmountNum * 100 / rentApplyAmountNum);
- map.put("useChangeApplyNum", useChangeApplyAmountNum);
- map.put("useChangePassNum", useChangePassAmountNum);
- map.put("useChangePassRate", useChangeApplyAmountNum == 0 ? 0 : useChangePassAmountNum * 100 / useChangeApplyAmountNum);
- map.put("immovablesChangeApplyNum", immovablesChangeApplyAmountNum+ "(" + immovablesChangeSummaryProcedureApplyAmountNum + ")");
- map.put("immovablesChangePassNum", immovablesChangePassAmountNum+ "(" + immovablesChangeSummaryProcedurePassAmountNum + ")");
- map.put("immovablesChangePassRate",
- (immovablesChangeApplyAmountNum == 0 ? 0 : immovablesChangePassAmountNum * 100 / immovablesChangeApplyAmountNum)
- + "%(" + (immovablesChangeSummaryProcedureApplyAmountNum == 0 ? 0 : immovablesChangeSummaryProcedurePassAmountNum * 100 / immovablesChangeSummaryProcedureApplyAmountNum) + "%)"
- );
- map.put("equityStructureChangeApplyNum", equityStructureChangeApplyAmountNum + "(" + equityStructureChangeSummaryProcedureApplyAmountNum + ")");
- map.put("equityStructureChangePassNum", equityStructureChangePassAmountNum + "(" + equityStructureChangeSummaryProcedurePassAmountNum + ")");
- map.put("equityStructureChangePassRate",
- (equityStructureChangeApplyAmountNum == 0 ? 0 : equityStructureChangePassAmountNum * 100 / equityStructureChangeApplyAmountNum)
- + "%(" + (equityStructureChangeSummaryProcedureApplyAmountNum == 0 ? 0 : equityStructureChangeSummaryProcedurePassAmountNum * 100 / equityStructureChangeSummaryProcedureApplyAmountNum) + "%)"
- );
- map.put("totalApplyNum", totalApplyAmountNum);
- map.put("totalPassNum", totalPassAmountNum);
- map.put("totalPassRate", totalApplyAmountNum == 0 ? 0 : totalPassAmountNum * 100 / totalApplyAmountNum);
- resultList.add(map);
- return resultList;
- } catch (ParseException e) {
- e.printStackTrace();
- }
- return null;
- }
- /**
- * @Author: huZhiHao
- * @Description: 板块统计表
- * @Date: 2020/1/13
- * @Params:
- * @Return:
- **/
- public Object getPlateStatistic(String startTime, String endTime) {
- //所有街道列表
- List<Street> streetList = streetService.findList();
- int[] rentApplyNum = new int[streetList.size() + 1], rentRejectNum = new int[streetList.size() + 1], rentPassNum = new int[streetList.size() + 1], rentNotPassNum = new int[streetList.size() + 1], rentPassRate = new int[streetList.size() + 1];
- int[] useChangeApplyNum = new int[streetList.size() + 1], useChangeRejectNum = new int[streetList.size() + 1], useChangePassNum = new int[streetList.size() + 1], useChangeNotPassNum = new int[streetList.size() + 1], useChangePassRate = new int[streetList.size() + 1];
- int[] immovablesChangeApplyNum = new int[streetList.size() + 1], immovablesChangeRejectNum = new int[streetList.size() + 1], immovablesChangePassNum = new int[streetList.size() + 1], immovablesChangeNotPassNum = new int[streetList.size() + 1], immovablesChangePassRate = new int[streetList.size() + 1];
- int[] equityStructureChangeApplyNum = new int[streetList.size() + 1], equityStructureChangeRejectNum = new int[streetList.size() + 1], equityStructureChangePassNum = new int[streetList.size() + 1], equityStructureChangeNotPassNum = new int[streetList.size() + 1], equityStructureChangePassRate = new int[streetList.size() + 1];
- int[] immovablesChangeSummaryProcedureApplyNum = new int[streetList.size() + 1], immovablesChangeSummaryProcedurePassNum = new int[streetList.size() + 1], immovablesChangeSummaryProcedureNotPassNum = new int[streetList.size() + 1], immovablesChangeSummaryProcedureRejectNum = new int[streetList.size() + 1], immovablesChangeSummaryProcedurePassRate = new int[streetList.size() + 1];
- int[] equityStructureChangeSummaryProcedureApplyNum = new int[streetList.size() + 1], equityStructureChangeSummaryProcedurePassNum = new int[streetList.size() + 1], equityStructureChangeSummaryProcedureNotPassNum = new int[streetList.size() + 1], equityStructureChangeSummaryProcedureRejectNum = new int[streetList.size() + 1], equityStructureChangeSummaryProcedurePassRate = new int[streetList.size() + 1];
- int[] applyNum = new int[streetList.size() + 1], rejectNum = new int[streetList.size() + 1], passNum = new int[streetList.size() + 1], notPassNum = new int[streetList.size() + 1], passRate = new int[streetList.size() + 1];
- String[] immovablesChangeApplyNumStr = new String[streetList.size() + 1], immovablesChangeRejectNumStr = new String[streetList.size() + 1], immovablesChangePassNumStr = new String[streetList.size() + 1], immovablesChangeNotPassNumStr = new String[streetList.size() + 1], immovablesChangePassRateStr = new String[streetList.size() + 1];
- String[] equityStructureChangeApplyNumStr = new String[streetList.size() + 1], equityStructureChangeRejectNumStr = new String[streetList.size() + 1], equityStructureChangePassNumStr = new String[streetList.size() + 1], equityStructureChangeNotPassNumStr = new String[streetList.size() + 1], equityStructureChangePassRateStr = new String[streetList.size() + 1];
- //存量用地信息
- List<StockLandStatistic> stockLandList = stockLandDao.findListByStreetIdAndTime(null, startTime, endTime);
- for (StockLandStatistic stockLand : stockLandList) {
- if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.RENT)) {
- //存量工业用地房屋出租
- for (int i = 0; i < streetList.size(); i++) {
- //判断是哪个街道
- if (Objects.equals(stockLand.getStreet_id(), streetList.get(i).getId().toString())) {
- applyNum[i]++;
- rentApplyNum[i]++;
- applyNum[streetList.size()]++;
- rentApplyNum[streetList.size()]++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- passNum[i]++;
- rentPassNum[i]++;
- passNum[streetList.size()]++;
- rentPassNum[streetList.size()]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- notPassNum[i]++;
- rentNotPassNum[i]++;
- notPassNum[streetList.size()]++;
- rentNotPassNum[streetList.size()]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- rejectNum[i]++;
- rentRejectNum[i]++;
- rejectNum[streetList.size()]++;
- rentRejectNum[streetList.size()]++;
- }
- }
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.USE_CHANGE)) {
- //存量工业用地用途依法改变
- for (int i = 0; i < streetList.size(); i++) {
- //判断是哪个街道
- if (Objects.equals(stockLand.getStreet_id(), streetList.get(i).getId().toString())) {
- applyNum[i]++;
- useChangeApplyNum[i]++;
- applyNum[streetList.size()]++;
- useChangeApplyNum[streetList.size()]++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- passNum[i]++;
- useChangePassNum[i]++;
- passNum[streetList.size()]++;
- useChangePassNum[streetList.size()]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- notPassNum[i]++;
- useChangeNotPassNum[i]++;
- notPassNum[streetList.size()]++;
- useChangeNotPassNum[streetList.size()]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- rejectNum[i]++;
- useChangeRejectNum[i]++;
- rejectNum[streetList.size()]++;
- useChangeRejectNum[streetList.size()]++;
- }
- }
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.IMMOVABLES_CHANGE)) {
- //存量工业用地不动产权权属转移登记
- for (int i = 0; i < streetList.size(); i++) {
- //判断是哪个街道
- if (Objects.equals(stockLand.getStreet_id(), streetList.get(i).getId().toString())) {
- applyNum[i]++;
- immovablesChangeApplyNum[i]++;
- applyNum[streetList.size()]++;
- immovablesChangeApplyNum[streetList.size()]++;
- //是否简易流程
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.JYLCHQ)) {
- immovablesChangeSummaryProcedureApplyNum[i]++;
- immovablesChangeSummaryProcedureApplyNum[streetList.size()]++;
- }
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- passNum[i]++;
- immovablesChangePassNum[i]++;
- passNum[streetList.size()]++;
- immovablesChangePassNum[streetList.size()]++;
- //是否简易流程
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.EASY_PROCESS_APPROVED)) {
- immovablesChangeSummaryProcedurePassNum[i]++;
- immovablesChangeSummaryProcedurePassNum[streetList.size()]++;
- }
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- notPassNum[i]++;
- immovablesChangeNotPassNum[i]++;
- notPassNum[streetList.size()]++;
- immovablesChangeNotPassNum[streetList.size()]++;
- //是否简易流程
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.EASY_PROCESS_DENY)) {
- immovablesChangeSummaryProcedureNotPassNum[i]++;
- immovablesChangeSummaryProcedureNotPassNum[streetList.size()]++;
- }
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- rejectNum[i]++;
- immovablesChangeRejectNum[i]++;
- rejectNum[streetList.size()]++;
- immovablesChangeRejectNum[streetList.size()]++;
- //是否简易流程
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.EASY_PROCESS_DENY)) {
- immovablesChangeSummaryProcedureRejectNum[i]++;
- immovablesChangeSummaryProcedureRejectNum[streetList.size()]++;
- }
- }
- }
- }
- } else if (Objects.equals(stockLand.getApply_type(), Constant.LandApplyType.EQUITY_STRUCTURE_CHANGE)) {
- //存量工业用地项目公司股权(结构)变更登记
- for (int i = 0; i < streetList.size(); i++) {
- //判断是哪个街道
- if (Objects.equals(stockLand.getStreet_id(), streetList.get(i).getId().toString())) {
- applyNum[i]++;
- equityStructureChangeApplyNum[i]++;
- applyNum[streetList.size()]++;
- equityStructureChangeApplyNum[streetList.size()]++;
- //是否简易流程
- if (StringUtils.isNotEmpty(stockLand.getSummary_procedure())) {
- equityStructureChangeSummaryProcedureApplyNum[i]++;
- equityStructureChangeSummaryProcedureApplyNum[streetList.size()]++;
- }
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- passNum[i]++;
- equityStructureChangePassNum[i]++;
- passNum[streetList.size()]++;
- equityStructureChangePassNum[streetList.size()]++;
- //是否简易流程
- if (StringUtils.isNotEmpty(stockLand.getSummary_procedure())) {
- equityStructureChangeSummaryProcedurePassNum[i]++;
- equityStructureChangeSummaryProcedurePassNum[streetList.size()]++;
- }
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- notPassNum[i]++;
- equityStructureChangeNotPassNum[i]++;
- notPassNum[streetList.size()]++;
- equityStructureChangeNotPassNum[streetList.size()]++;
- //是否简易流程
- if (StringUtils.isNotEmpty(stockLand.getSummary_procedure())) {
- equityStructureChangeSummaryProcedureNotPassNum[i]++;
- equityStructureChangeSummaryProcedureNotPassNum[streetList.size()]++;
- }
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- rejectNum[i]++;
- equityStructureChangeRejectNum[i]++;
- rejectNum[streetList.size()]++;
- equityStructureChangeRejectNum[streetList.size()]++;
- //是否简易流程
- if (StringUtils.isNotEmpty(stockLand.getSummary_procedure())) {
- equityStructureChangeSummaryProcedureRejectNum[i]++;
- equityStructureChangeSummaryProcedureRejectNum[streetList.size()]++;
- }
- }
- }
- }
- }
- }
- Map map = new HashMap();
- List<Map> applyResultList = new ArrayList<>();
- List<Map> passResultList = new ArrayList<>();
- List<Map> notPassResultList = new ArrayList<>();
- List<Map> rejectResultList = new ArrayList<>();
- List<Map> passRateResultList = new ArrayList<>();
- /*提交数量*/
- Map rentApplyNumMap = new HashMap();
- rentApplyNumMap.put("name", "存量工业用地房屋出租");
- rentApplyNumMap.put("streetNum", rentApplyNum);
- Map useChangeApplyNumMap = new HashMap();
- useChangeApplyNumMap.put("name", "存量工业用地用途依法改变");
- useChangeApplyNumMap.put("streetNum", useChangeApplyNum);
- Map immovablesChangeApplyNumMap = new HashMap();
- immovablesChangeApplyNumMap.put("name", "存量工业用地不动产权权属转移登记");
- immovablesChangeApplyNumMap.put("streetNum", immovablesChangeApplyNumStr);
- Map equityStructureChangeApplyNumMap = new HashMap();
- equityStructureChangeApplyNumMap.put("name", "存量工业用地项目公司股权(结构)变更登记");
- equityStructureChangeApplyNumMap.put("streetNum", equityStructureChangeApplyNumStr);
- applyResultList.add(rentApplyNumMap);
- applyResultList.add(useChangeApplyNumMap);
- applyResultList.add(immovablesChangeApplyNumMap);
- applyResultList.add(equityStructureChangeApplyNumMap);
- Map applyNumMap = new HashMap();
- applyNumMap.put("name", "提交数量");
- applyNumMap.put("num", applyNum);
- applyNumMap.put("type", applyResultList);
- /*提交数量*/
- /*退回数量*/
- Map rentRejectNumMap = new HashMap();
- rentRejectNumMap.put("name", "存量工业用地房屋出租");
- rentRejectNumMap.put("streetNum", rentRejectNum);
- Map useChangeRejectNumMap = new HashMap();
- useChangeRejectNumMap.put("name", "存量工业用地用途依法改变");
- useChangeRejectNumMap.put("streetNum", useChangeRejectNum);
- Map immovablesChangeRejectNumMap = new HashMap();
- immovablesChangeRejectNumMap.put("name", "存量工业用地不动产权权属转移登记");
- immovablesChangeRejectNumMap.put("streetNum", immovablesChangeRejectNumStr);
- Map equityStructureChangeRejectNumMap = new HashMap();
- equityStructureChangeRejectNumMap.put("name", "存量工业用地项目公司股权(结构)变更登记");
- equityStructureChangeRejectNumMap.put("streetNum", equityStructureChangeRejectNumStr);
- rejectResultList.add(rentRejectNumMap);
- rejectResultList.add(useChangeRejectNumMap);
- rejectResultList.add(immovablesChangeRejectNumMap);
- rejectResultList.add(equityStructureChangeRejectNumMap);
- Map rejectNumMap = new HashMap();
- rejectNumMap.put("name", "退回数量");
- rejectNumMap.put("num", rejectNum);
- rejectNumMap.put("type", rejectResultList);
- /*退回数量*/
- /*通过数量*/
- Map rentPassNumMap = new HashMap();
- rentPassNumMap.put("name", "存量工业用地房屋出租");
- rentPassNumMap.put("streetNum", rentPassNum);
- Map useChangePassNumMap = new HashMap();
- useChangePassNumMap.put("name", "存量工业用地用途依法改变");
- useChangePassNumMap.put("streetNum", useChangePassNum);
- Map immovablesChangePassNumMap = new HashMap();
- immovablesChangePassNumMap.put("name", "存量工业用地不动产权权属转移登记");
- immovablesChangePassNumMap.put("streetNum", immovablesChangePassNumStr);
- Map equityStructureChangePassNumMap = new HashMap();
- equityStructureChangePassNumMap.put("name", "存量工业用地项目公司股权(结构)变更登记");
- equityStructureChangePassNumMap.put("streetNum", equityStructureChangePassNumStr);
- passResultList.add(rentPassNumMap);
- passResultList.add(useChangePassNumMap);
- passResultList.add(immovablesChangePassNumMap);
- passResultList.add(equityStructureChangePassNumMap);
- Map passNumMap = new HashMap();
- passNumMap.put("name", "通过数量");
- passNumMap.put("num", passNum);
- passNumMap.put("type", passResultList);
- /*通过数量*/
- /*不通过数量*/
- Map rentNotPassNumMap = new HashMap();
- rentNotPassNumMap.put("name", "存量工业用地房屋出租");
- rentNotPassNumMap.put("streetNum", rentNotPassNum);
- Map useChangeNotPassNumMap = new HashMap();
- useChangeNotPassNumMap.put("name", "存量工业用地用途依法改变");
- useChangeNotPassNumMap.put("streetNum", useChangeNotPassNum);
- Map immovablesChangeNotPassNumMap = new HashMap();
- immovablesChangeNotPassNumMap.put("name", "存量工业用地不动产权权属转移登记");
- immovablesChangeNotPassNumMap.put("streetNum", immovablesChangeNotPassNumStr);
- Map equityStructureChangeNotPassNumMap = new HashMap();
- equityStructureChangeNotPassNumMap.put("name", "存量工业用地项目公司股权(结构)变更登记");
- equityStructureChangeNotPassNumMap.put("streetNum", equityStructureChangeNotPassNumStr);
- notPassResultList.add(rentNotPassNumMap);
- notPassResultList.add(useChangeNotPassNumMap);
- notPassResultList.add(immovablesChangeNotPassNumMap);
- notPassResultList.add(equityStructureChangeNotPassNumMap);
- Map notPassNumMap = new HashMap();
- notPassNumMap.put("name", "不通过数量");
- notPassNumMap.put("num", notPassNum);
- notPassNumMap.put("type", notPassResultList);
- /*不通过数量*/
- /*通过率*/
- for (int i = 0; i <= streetList.size(); i++) {
- rentPassRate[i] = rentApplyNum[i] == 0 ? 0 : rentPassNum[i] * 100 / rentApplyNum[i];
- useChangePassRate[i] = useChangeApplyNum[i] == 0 ? 0 : useChangePassNum[i] * 100 / useChangeApplyNum[i];
- immovablesChangePassRate[i] = immovablesChangeApplyNum[i] == 0 ? 0 : immovablesChangePassNum[i] * 100 / immovablesChangeApplyNum[i];
- equityStructureChangePassRate[i] = equityStructureChangeApplyNum[i] == 0 ? 0 : equityStructureChangePassNum[i] * 100 / equityStructureChangeApplyNum[i];
- immovablesChangeSummaryProcedurePassRate[i] = immovablesChangeSummaryProcedureApplyNum[i] == 0 ? 0 : immovablesChangeSummaryProcedurePassNum[i] * 100 / immovablesChangeSummaryProcedureApplyNum[i];
- equityStructureChangeSummaryProcedurePassRate[i] = equityStructureChangeSummaryProcedureApplyNum[i] == 0 ? 0 : equityStructureChangeSummaryProcedurePassNum[i] * 100 / equityStructureChangeSummaryProcedureApplyNum[i];
- passRate[i] = applyNum[i] == 0 ? 0 : passNum[i] * 100 / applyNum[i];
- equityStructureChangeApplyNumStr[i] = equityStructureChangeApplyNum[i] + "(" + equityStructureChangeSummaryProcedureApplyNum[i] + ")";
- equityStructureChangePassNumStr[i] = equityStructureChangePassNum[i] + "(" + equityStructureChangeSummaryProcedurePassNum[i] + ")";
- equityStructureChangeNotPassNumStr[i] = equityStructureChangeNotPassNum[i] + "(" + equityStructureChangeSummaryProcedureNotPassNum[i] + ")";
- equityStructureChangeRejectNumStr[i] = equityStructureChangeRejectNum[i] + "(" + equityStructureChangeSummaryProcedureRejectNum[i] + ")";
- equityStructureChangePassRateStr[i] = equityStructureChangePassRate[i] + "%(" + equityStructureChangeSummaryProcedurePassRate[i] + "%)";
- immovablesChangeApplyNumStr[i] = immovablesChangeApplyNum[i] + "(" + immovablesChangeSummaryProcedureApplyNum[i] + ")";
- immovablesChangePassNumStr[i] = immovablesChangePassNum[i] + "(" + immovablesChangeSummaryProcedurePassNum[i] + ")";
- immovablesChangeNotPassNumStr[i] = immovablesChangeNotPassNum[i] + "(" + immovablesChangeSummaryProcedureNotPassNum[i] + ")";
- immovablesChangeRejectNumStr[i] = immovablesChangeRejectNum[i] + "(" + immovablesChangeSummaryProcedureRejectNum[i] + ")";
- immovablesChangePassRateStr[i] = immovablesChangePassRate[i] + "%(" + immovablesChangeSummaryProcedurePassRate[i] + "%)";
- }
- Map rentPassRateNumMap = new HashMap();
- rentPassRateNumMap.put("name", "存量工业用地房屋出租");
- rentPassRateNumMap.put("streetNum", rentPassRate);
- Map useChangePassRateNumMap = new HashMap();
- useChangePassRateNumMap.put("name", "存量工业用地用途依法改变");
- useChangePassRateNumMap.put("streetNum", useChangePassRate);
- Map immovablesChangePassRateNumMap = new HashMap();
- immovablesChangePassRateNumMap.put("name", "存量工业用地不动产权权属转移登记");
- immovablesChangePassRateNumMap.put("streetNum", immovablesChangePassRateStr);
- Map equityStructureChangePassRateNumMap = new HashMap();
- equityStructureChangePassRateNumMap.put("name", "存量工业用地项目公司股权(结构)变更登记");
- equityStructureChangePassRateNumMap.put("streetNum", equityStructureChangePassRateStr);
- passRateResultList.add(rentPassRateNumMap);
- passRateResultList.add(useChangePassRateNumMap);
- passRateResultList.add(immovablesChangePassRateNumMap);
- passRateResultList.add(equityStructureChangePassRateNumMap);
- Map passRateMap = new HashMap();
- passRateMap.put("name", "通过率");
- passRateMap.put("num", passRate);
- passRateMap.put("type", passRateResultList);
- /*通过率*/
- List<Map> data = new ArrayList<>();
- data.add(applyNumMap);
- data.add(rejectNumMap);
- data.add(passNumMap);
- data.add(notPassNumMap);
- data.add(passRateMap);
- map.put("data", data);
- Street street1 = new Street();
- street1.setName(" ");
- Street street2 = new Street();
- street2.setName("合计");
- streetList.add(0, street1);
- streetList.add(street2);
- map.put("head", streetList);
- return map;
- }
- /**
- * @Author: huZhiHao
- * @Description: 每日统计表
- * @Date: 2020/1/13
- * @Params:
- * @Return:
- **/
- public Object getDailyStatistic(String streetId, String startTime, String endTime) throws ParseException {
- List<String> days = getDaysBetweenTwoDay(startTime, endTime);
- int mounthCount = days.size();
- String[] timeMorning = new String[mounthCount];
- String[] timeEvening = new String[mounthCount];
- List<Map> listMap = new ArrayList<>();
- //创建X轴坐标名称
- List<String> xAxisName = new ArrayList<>();
- for (int i = 0; i < mounthCount; i++) {
- timeMorning[i] = days.get(i) + " 00:00:00";
- timeEvening[i] = days.get(i) + " 23:59:59";
- }
- /*计算日期*/
- startTime = startTime + " 00:00:00";
- endTime = endTime + " 23:59:59";
- List<StockLandStatistic> stockLandList = stockLandDao.findListByStreetIdAndTime(streetId, startTime, endTime);
- //创建 通过 不通过 退回 数组
- int[] applyNum = new int[mounthCount], passNum = new int[mounthCount], notPassNum = new int[mounthCount], rejectNum = new int[mounthCount];
- for (int i = 0; i < mounthCount; i++) {
- String[] timeArray = timeMorning[i].split(" ")[0].split("-");
- xAxisName.add(timeArray[1] + "月" + timeArray[2] + "日");
- for (StockLandStatistic stockLand : stockLandList) {
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
- if (dateFormat.parse(timeMorning[i]).getTime() <= dateFormat.parse(stockLand.getCreate_time()).getTime()
- && dateFormat.parse(timeEvening[i]).getTime() >= dateFormat.parse(stockLand.getCreate_time()).getTime()) {
- applyNum[i]++;
- if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.PASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTPASSED)
- || Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.APPROVED)) {
- //通过
- passNum[i]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.NOTAPPROVED)) {
- //不通过
- notPassNum[i]++;
- } else if (Objects.equals(stockLand.getApprove_status(), Constant.LandApproveStatus.REJECT)) {
- //退回
- rejectNum[i]++;
- }
- }
- }
- }
- Map<String, Object> temp;
- temp = new HashMap<>();
- temp.put("name", "提交数量");
- temp.put("type", "line");
- temp.put("data", applyNum);
- listMap.add(temp);
- temp = new HashMap<>();
- temp.put("name", "审核通过");
- temp.put("type", "line");
- temp.put("data", passNum);
- listMap.add(temp);
- temp = new HashMap<>();
- temp.put("name", "审核不通过");
- temp.put("type", "line");
- temp.put("data", notPassNum);
- listMap.add(temp);
- temp = new HashMap<>();
- temp.put("name", "审核退回");
- temp.put("type", "line");
- temp.put("data", rejectNum);
- listMap.add(temp);
- Map ret = new HashMap();
- ret.put("data", listMap);
- ret.put("xAxisName", xAxisName);
- return ret;
- }
- //取一段时间的每一天
- public static List<String> getDaysBetweenTwoDay(String dateStart, String dateEnd) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- List<String> dateList = new ArrayList<String>();
- try {
- Date dateOne = sdf.parse(dateStart);
- Date dateTwo = sdf.parse(dateEnd);
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(dateOne);
- dateList.add(dateStart);
- while (calendar.getTime().before(dateTwo)) { //倒序时间,顺序after改before其他相应的改动。
- calendar.add(Calendar.DAY_OF_MONTH, 1);
- dateList.add(sdf.format(calendar.getTime()));
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return dateList;
- }
- }
|