|
@@ -1,5 +1,6 @@
|
|
|
import { mapQuery } from "@/utils/MapHelper/MapHelper.js";
|
|
|
import { Message } from "element-ui";
|
|
|
+import { forEach } from "lodash";
|
|
|
const CheckParkAnalyse = {
|
|
|
/**
|
|
|
* 计算计容面积及车位
|
|
@@ -7,6 +8,7 @@ const CheckParkAnalyse = {
|
|
|
* @param {Boolean} isJSPark
|
|
|
*/
|
|
|
async buidAreaAndParksComputer(Minfo, isJSPark) {
|
|
|
+ debugger;
|
|
|
var datasourcename = Minfo.datasourcename; //模型数据集
|
|
|
var dataurl = Minfo.dataurl; //报建项目服务地址
|
|
|
var tcwLayerName = window.CarPark.tcwLayer; //停车位图层
|
|
@@ -37,6 +39,7 @@ const CheckParkAnalyse = {
|
|
|
Minfo.dataurl + "/featureResults.json?returnContent=true",
|
|
|
queryByGeometryParameters
|
|
|
);
|
|
|
+ debugger;
|
|
|
if (result && result.totalCount == 0) {
|
|
|
Message({
|
|
|
message: "未查询到停车位和报建分层数据数据,请重新尝试",
|
|
@@ -86,6 +89,7 @@ const CheckParkAnalyse = {
|
|
|
);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
return JSResult;
|
|
|
},
|
|
|
/**
|
|
@@ -159,13 +163,30 @@ const CheckParkAnalyse = {
|
|
|
landItems = tcwList.filter((t) => t.landNo == landText);
|
|
|
var jdcCount = 0;
|
|
|
var fjdcCount = 0;
|
|
|
+ var lscwCount = 0;
|
|
|
+ var dkcwCount = 0;
|
|
|
+ var zxcwCount = 0;
|
|
|
+ var wzacwCount = 0;
|
|
|
//地块
|
|
|
for (var i = 0; i < landItems.length; i++) {
|
|
|
if (landItems[i].CWType == "机动车") {
|
|
|
jdcCount++;
|
|
|
} else if (landItems[i].CWType == "非机动车") {
|
|
|
fjdcCount++;
|
|
|
+ } else if (landItems[i].CWType == "临时车位") {
|
|
|
+ jdcCount++;
|
|
|
+ lscwCount++;
|
|
|
+ } else if (landItems[i].CWType == "大客车位") {
|
|
|
+ jdcCount++;
|
|
|
+ dkcwCount++;
|
|
|
+ } else if (landItems[i].CWType == "无障碍车位") {
|
|
|
+ jdcCount++;
|
|
|
+ wzacwCount++;
|
|
|
+ } else if (landItems[i].CWType == "装卸车位") {
|
|
|
+ jdcCount++;
|
|
|
+ zxcwCount++;
|
|
|
}
|
|
|
+
|
|
|
if (floors.indexOf(landItems[i].floor) == -1) {
|
|
|
floors.push(landItems[i].floor);
|
|
|
}
|
|
@@ -175,16 +196,33 @@ const CheckParkAnalyse = {
|
|
|
for (var index = 0; index < floors.length; index++) {
|
|
|
var floorItems = landItems.filter((t) => t.floor == floors[index]);
|
|
|
var jdcItems = landItems.filter(
|
|
|
- (t) => t.floor == floors[index] && t.CWType == "机动车"
|
|
|
+ (t) => t.floor == floors[index] && t.CWType != "非机动车"
|
|
|
);
|
|
|
var fjdcItems = landItems.filter(
|
|
|
(t) => t.floor == floors[index] && t.CWType == "非机动车"
|
|
|
);
|
|
|
+ var lscwItems = landItems.filter(
|
|
|
+ (t) => t.floor == floors[index] && t.CWType == "临时车位"
|
|
|
+ );
|
|
|
+ var dkcwItems = landItems.filter(
|
|
|
+ (t) => t.floor == floors[index] && t.CWType == "大客车位"
|
|
|
+ );
|
|
|
+ var wzacItems = landItems.filter(
|
|
|
+ (t) => t.floor == floors[index] && t.CWType == "无障碍车位"
|
|
|
+ );
|
|
|
+ var zxcwItems = landItems.filter(
|
|
|
+ (t) => t.floor == floors[index] && t.CWType == "装卸车位"
|
|
|
+ );
|
|
|
+
|
|
|
floorParks.push({
|
|
|
layer: floors[index],
|
|
|
tcwCount: floorItems.length,
|
|
|
jdcCount: jdcItems.length,
|
|
|
fjdcCount: fjdcItems.length,
|
|
|
+ lscwCount: lscwItems.length,
|
|
|
+ dkcwCount: dkcwItems.length,
|
|
|
+ zxcwCount: zxcwItems.length,
|
|
|
+ wzacwCount: wzacItems.length,
|
|
|
});
|
|
|
}
|
|
|
parks.push({
|
|
@@ -192,6 +230,10 @@ const CheckParkAnalyse = {
|
|
|
totalCount: landItems.length,
|
|
|
jdcCount: jdcCount,
|
|
|
fjdcCount: fjdcCount,
|
|
|
+ lscwCount: lscwCount,
|
|
|
+ dkcwCount: dkcwCount,
|
|
|
+ zxcwCount: zxcwCount,
|
|
|
+ wzacwCount: wzacwCount,
|
|
|
floors: floorParks,
|
|
|
});
|
|
|
}
|
|
@@ -251,6 +293,10 @@ const CheckParkAnalyse = {
|
|
|
var houseFldIndex = CheckParkAnalyse.getfldIndex(fieldInfos, houseFld); //用途居民建筑类 楼层户数
|
|
|
var houseFldVal = 0;
|
|
|
|
|
|
+ var L144Fld = window.CarPark.L144Fld; //楼层中144平以下户数
|
|
|
+ var L144FldIndex = CheckParkAnalyse.getfldIndex(fieldInfos, L144Fld); //当前楼层住户144平米以下住户数量字段
|
|
|
+ var L144FldVal = 0;
|
|
|
+
|
|
|
var B144Fld = window.CarPark.B144Fld; //楼层中144平以上户数
|
|
|
var B144FldIndex = CheckParkAnalyse.getfldIndex(fieldInfos, B144Fld); //当前楼层住户144平米以上住户数量字段
|
|
|
var B144FldVal = 0;
|
|
@@ -286,6 +332,13 @@ const CheckParkAnalyse = {
|
|
|
);
|
|
|
var FAJRAreaFldVal = 0.0;
|
|
|
|
|
|
+ var StudentsFld = window.CarPark.StudentsFld; //学校学生数
|
|
|
+ var StudentsFldIndex = CheckParkAnalyse.getfldIndex(
|
|
|
+ fieldInfos,
|
|
|
+ StudentsFld
|
|
|
+ );
|
|
|
+ var StudentsFldVal = 0.0;
|
|
|
+
|
|
|
var landList = [
|
|
|
// //地块
|
|
|
// {
|
|
@@ -328,6 +381,7 @@ const CheckParkAnalyse = {
|
|
|
// }
|
|
|
];
|
|
|
var allItems = [];
|
|
|
+ var specialParkings = [];
|
|
|
var landTextList = [];
|
|
|
var curFeature;
|
|
|
for (var i = 0; i < features.length; i++) {
|
|
@@ -374,6 +428,11 @@ const CheckParkAnalyse = {
|
|
|
if (houseFldIndex > -1)
|
|
|
houseFldVal = parseInt(curFeature.fieldValues[houseFldIndex]);
|
|
|
else houseFldVal = 0;
|
|
|
+
|
|
|
+ //当前楼层住户144平米以下住户数量字段
|
|
|
+ if (L144FldIndex > -1)
|
|
|
+ L144FldVal = parseInt(curFeature.fieldValues[L144FldIndex]);
|
|
|
+ else L144FldVal = 0;
|
|
|
//当前楼层住户144平米以上住户数量字段
|
|
|
if (B144FldIndex > -1)
|
|
|
B144FldVal = parseInt(curFeature.fieldValues[B144FldIndex]);
|
|
@@ -394,7 +453,10 @@ const CheckParkAnalyse = {
|
|
|
if (VisitorFldIndex > -1)
|
|
|
VisitorFldVal = parseInt(curFeature.fieldValues[VisitorFldIndex]);
|
|
|
else VisitorFldVal = 0;
|
|
|
-
|
|
|
+ //学校学生数
|
|
|
+ if (StudentsFldIndex > -1)
|
|
|
+ StudentsFldVal = parseInt(curFeature.fieldValues[StudentsFldIndex]);
|
|
|
+ else StudentsFldVal = 0;
|
|
|
if (BuidNoFldVal == "无" || BuidNoFldVal == "") {
|
|
|
BuidNoFldVal = "地下";
|
|
|
}
|
|
@@ -408,19 +470,25 @@ const CheckParkAnalyse = {
|
|
|
jrArea: JRAreaFldVal,
|
|
|
faArea: FAAreaFldVal,
|
|
|
faJRArea: FAJRAreaFldVal,
|
|
|
- house: houseFldVal,
|
|
|
+ // house: houseFldVal,
|
|
|
+ house: L144FldVal + B144FldVal,
|
|
|
+ l144: L144FldVal,
|
|
|
b144: B144FldVal,
|
|
|
rooms: RoomFldVal,
|
|
|
teachers: FTeacherFldVal,
|
|
|
seats: SeatNumberFldVal,
|
|
|
visitor: VisitorFldVal,
|
|
|
+ students: StudentsFldVal,
|
|
|
jdcCount: 0,
|
|
|
fjdcCount: 0,
|
|
|
});
|
|
|
}
|
|
|
/** 是否计算车位 */
|
|
|
- if (isJSPark != null && isJSPark == true)
|
|
|
+ if (isJSPark != null && isJSPark == true) {
|
|
|
allItems = CheckParkAnalyse.jrCarNormal(allItems);
|
|
|
+ specialParkings = CheckParkAnalyse.jrSpecialCarNormal(allItems);
|
|
|
+ }
|
|
|
+
|
|
|
//遍历所有地块
|
|
|
for (var i = 0; i < landTextList.length; i++) {
|
|
|
var landNo = landTextList[i];
|
|
@@ -428,13 +496,17 @@ const CheckParkAnalyse = {
|
|
|
var buidNoList = [];
|
|
|
var landjdcCount = 0;
|
|
|
var landfjdcCount = 0;
|
|
|
+ var landlscwCount = 0;
|
|
|
+ var landdkcwCount = 0;
|
|
|
+ var landzxcwCount = 0;
|
|
|
+ var landwzacwCount = 0;
|
|
|
var fadxjzmj = 0.0;
|
|
|
var dxjzmj = 0.0;
|
|
|
for (var j = 0; j < landGroup.length; j++) {
|
|
|
var buildNo = landGroup[j].buildNo;
|
|
|
if (
|
|
|
landGroup[j].floor.toUpperCase().indexOf("B") > -1 ||
|
|
|
- landGroup[j].floor.toUpperCase().indexOf("地下") > 1 ||
|
|
|
+ landGroup[j].floor.toUpperCase().indexOf("地下") > -1 ||
|
|
|
landGroup[j].yt.toUpperCase().indexOf("停车") > -1
|
|
|
) {
|
|
|
fadxjzmj += landGroup[j].faArea;
|
|
@@ -446,6 +518,23 @@ const CheckParkAnalyse = {
|
|
|
landfjdcCount += landGroup[j].fjdcCount;
|
|
|
}
|
|
|
}
|
|
|
+ //特殊车位
|
|
|
+ if (isJSPark != null && isJSPark == true) {
|
|
|
+ var specialParking = specialParkings.find((t) => t.landNo == landNo);
|
|
|
+ if (specialParking) {
|
|
|
+ landlscwCount = specialParking.lscwCount;
|
|
|
+ landdkcwCount = specialParking.dkcwCount;
|
|
|
+ landzxcwCount = specialParking.zxcwCount;
|
|
|
+ landwzacwCount = specialParking.wzacwCount;
|
|
|
+
|
|
|
+ //加入到总机动车位
|
|
|
+ landjdcCount += specialParking.lscwCount;
|
|
|
+ landjdcCount += specialParking.dkcwCount;
|
|
|
+ landjdcCount += specialParking.zxcwCount;
|
|
|
+ landjdcCount += specialParking.wzacwCount;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//地块的建筑面积和计容面积
|
|
|
var landMJ = 0.0;
|
|
|
var landJRMJ = 0.0;
|
|
@@ -502,7 +591,7 @@ const CheckParkAnalyse = {
|
|
|
//当前建筑所有楼层
|
|
|
for (var n = 0; n < floorList.length; n++) {
|
|
|
var floorText = floorList[n];
|
|
|
- var curFloors = landGroup.filter((t) => t.floor == floorText);
|
|
|
+ var curFloors = buildItemList.filter((t) => t.floor == floorText);
|
|
|
//当前楼层的面积、计容面积、房间数等
|
|
|
var mj = 0.0;
|
|
|
var jrmj = 0.0;
|
|
@@ -512,6 +601,7 @@ const CheckParkAnalyse = {
|
|
|
// var layer = floorText;
|
|
|
var house = 0;
|
|
|
var B144 = 0;
|
|
|
+ var L144 = 0;
|
|
|
curFloors.forEach((item, index) => {
|
|
|
mj += item.area;
|
|
|
jrmj += item.jrArea;
|
|
@@ -519,14 +609,16 @@ const CheckParkAnalyse = {
|
|
|
fajrmj += item.faJRArea;
|
|
|
house += item.house;
|
|
|
B144 += item.b144;
|
|
|
+ L144 += item.l144;
|
|
|
});
|
|
|
var floorClass = [];
|
|
|
- // classes: [{yt: '', house: 0,B144: 0,rooms: '',mj: 0.00,jrmj: 0.00,}]
|
|
|
+ // classes: [{yt: '', house: 0,B144: 0,L144: 0,rooms: '',mj: 0.00,jrmj: 0.00,}]
|
|
|
// 用途-----start
|
|
|
for (var t = 0; t < ytList.length; t++) {
|
|
|
var curyt = ytList[t];
|
|
|
var ytHouse = 0;
|
|
|
var ytB144 = 0;
|
|
|
+ var ytL144 = 0;
|
|
|
var ytrooms = 0;
|
|
|
var ytytmj = 0.0;
|
|
|
var ytjrmj = 0.0;
|
|
@@ -539,6 +631,7 @@ const CheckParkAnalyse = {
|
|
|
if (floorYTItems.length == 0) continue;
|
|
|
floorYTItems.forEach((tt, iindex) => {
|
|
|
ytB144 += tt.b144;
|
|
|
+ ytL144 += tt.l144;
|
|
|
ytrooms += tt.rooms;
|
|
|
ytytmj += tt.area;
|
|
|
ytjrmj += tt.jrArea;
|
|
@@ -553,6 +646,7 @@ const CheckParkAnalyse = {
|
|
|
yt: curyt,
|
|
|
house: ytHouse,
|
|
|
B144: ytB144,
|
|
|
+ L144: ytL144,
|
|
|
rooms: ytrooms,
|
|
|
mj: ytytmj,
|
|
|
jrmj: ytjrmj,
|
|
@@ -569,6 +663,7 @@ const CheckParkAnalyse = {
|
|
|
// class: yt,
|
|
|
house: house,
|
|
|
B144: B144,
|
|
|
+ L144: L144,
|
|
|
rooms: rooms,
|
|
|
mj: mj,
|
|
|
jrmj: jrmj,
|
|
@@ -603,6 +698,10 @@ const CheckParkAnalyse = {
|
|
|
fajrmj: landFAJRMJ,
|
|
|
jdcCount: landjdcCount,
|
|
|
fjdcCount: landfjdcCount,
|
|
|
+ lscwCount: landlscwCount,
|
|
|
+ dkcwCount: landdkcwCount,
|
|
|
+ zxcwCount: landzxcwCount,
|
|
|
+ wzacwCount: landwzacwCount,
|
|
|
builds: curLandBuilds,
|
|
|
});
|
|
|
}
|
|
@@ -621,6 +720,7 @@ const CheckParkAnalyse = {
|
|
|
* jrArea: 0.00,
|
|
|
* house:0 ,
|
|
|
* b144: 0,
|
|
|
+ * l144: 0,
|
|
|
* rooms: 0,
|
|
|
* jdcCount:0.00,
|
|
|
* fjdcCount:0.00}
|
|
@@ -631,6 +731,7 @@ const CheckParkAnalyse = {
|
|
|
if (list == null) return null;
|
|
|
var ytIndex = -1;
|
|
|
var b144 = 0;
|
|
|
+ var l144 = 0;
|
|
|
var area = 0.0;
|
|
|
var house = 0;
|
|
|
var rooms = 0;
|
|
@@ -640,10 +741,12 @@ const CheckParkAnalyse = {
|
|
|
var yt = item.yt;
|
|
|
var jdcCount = 0.0;
|
|
|
var fjdcCount = 0.0;
|
|
|
+
|
|
|
var curClass = normClasses.find((t) => t.Name.indexOf(yt) > -1);
|
|
|
if (curClass == null) {
|
|
|
list[i].jdcCount = jdcCount;
|
|
|
list[i].fjdcCount = fjdcCount;
|
|
|
+
|
|
|
continue;
|
|
|
}
|
|
|
var MotorRatio = 1;
|
|
@@ -670,11 +773,8 @@ const CheckParkAnalyse = {
|
|
|
jdcCount = (item.jrArea / 100) * MotorRatio;
|
|
|
fjdcCount = (item.jrArea / 100) * NoMotorRatio;
|
|
|
} else {
|
|
|
- jdcCount =
|
|
|
- item.b144 * MotorRatio144 + (item.house - house.b144) * MotorRatio;
|
|
|
- fjdcCount =
|
|
|
- item.b144 * NoMotorRatio144 +
|
|
|
- (item.house - house.b144) * NoMotorRatio;
|
|
|
+ jdcCount = item.b144 * MotorRatio144 + item.l144 * MotorRatio;
|
|
|
+ fjdcCount = item.b144 * NoMotorRatio144 + item.l144 * NoMotorRatio;
|
|
|
}
|
|
|
} else if (curClass.Name.indexOf("商业") > -1) {
|
|
|
if (subClass.Name.indexOf("酒店") > -1) {
|
|
@@ -714,6 +814,777 @@ const CheckParkAnalyse = {
|
|
|
}
|
|
|
return list;
|
|
|
},
|
|
|
+ //根据用途计算特殊车位数量
|
|
|
+ jrSpecialCarNormal(list) {
|
|
|
+ var normClasses = window.CarPark.classes;
|
|
|
+ if (list == null) return null;
|
|
|
+ var cwinfos = [];
|
|
|
+
|
|
|
+ //按地块和用途统计计容面积,客房数Rooms,学生数,座位数,机动车位数
|
|
|
+ const statistics = [];
|
|
|
+ list.forEach((item) => {
|
|
|
+ const { landNo, yt, jrArea, rooms, students, seats, jdcCount } = item;
|
|
|
+ var statistic = statistics.find((c) => c.landNo == landNo && c.yt == yt);
|
|
|
+ if (!statistic) {
|
|
|
+ statistics.push({
|
|
|
+ landNo: landNo,
|
|
|
+ yt: yt,
|
|
|
+ jrArea: jrArea,
|
|
|
+ rooms: rooms,
|
|
|
+ students: students,
|
|
|
+ seats: seats,
|
|
|
+ jdcCount: jdcCount,
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ statistic.jrArea += jrArea;
|
|
|
+ statistic.rooms += rooms;
|
|
|
+ statistic.students += students;
|
|
|
+ statistic.seats += seats;
|
|
|
+ statistic.jdcCount += jdcCount;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ debugger;
|
|
|
+ statistics.forEach((statistic) => {
|
|
|
+ var cwinfo = {
|
|
|
+ landNo: statistic.landNo,
|
|
|
+ lscwCount: 0,
|
|
|
+ dkcwCount: 0,
|
|
|
+ zxcwCount: 0,
|
|
|
+ wzacwCount: 0,
|
|
|
+ };
|
|
|
+ var curClass = normClasses.find((t) => t.Name.indexOf(statistic.yt) > -1);
|
|
|
+ if (curClass) {
|
|
|
+ var subClass = curClass.Children.find(
|
|
|
+ (t) => t.Name.indexOf(statistic.yt) > -1
|
|
|
+ );
|
|
|
+ if (curClass.Name.indexOf("居住") > -1) {
|
|
|
+ if (subClass.specialclasses) {
|
|
|
+ subClass.specialclasses.forEach((specialclasse) => {
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount * specialclasse.base_parking_coefficient
|
|
|
+ );
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (curClass.Name.indexOf("办公") > -1) {
|
|
|
+ if (subClass.specialclasses) {
|
|
|
+ subClass.specialclasses.forEach((specialclasse) => {
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "装卸车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.zxcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jdcCount / specialclasse.base_parking) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (curClass.Name.indexOf("商业") > -1) {
|
|
|
+ if (subClass.specialclasses) {
|
|
|
+ subClass.specialclasses.forEach((specialclasse) => {
|
|
|
+ switch (subClass.Name) {
|
|
|
+ case "旅馆":
|
|
|
+ case "酒店":
|
|
|
+ case "其他":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.rooms / specialclasse.base_rooms) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "大客车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.rooms / specialclasse.base_rooms) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+
|
|
|
+ cwinfo.dkcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "装卸车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.rooms / specialclasse.base_rooms) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+
|
|
|
+ cwinfo.zxcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "零售商业":
|
|
|
+ case "餐饮":
|
|
|
+ case "娱乐":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "装卸车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.zxcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "农贸市场":
|
|
|
+ case "批发市场":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "装卸车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.zxcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (curClass.Name.indexOf("医疗") > -1) {
|
|
|
+ if (subClass.specialclasses) {
|
|
|
+ subClass.specialclasses.forEach((specialclasse) => {
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "装卸车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.zxcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jdcCount / specialclasse.base_parking) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (curClass.Name.indexOf("教育") > -1) {
|
|
|
+ if (subClass.specialclasses) {
|
|
|
+ subClass.specialclasses.forEach((specialclasse) => {
|
|
|
+ switch (subClass.Name) {
|
|
|
+ case "幼儿园":
|
|
|
+ case "小学":
|
|
|
+ case "中学":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.students / specialclasse.base_students
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "大客车位":
|
|
|
+ cwinfo.dkcwCount += specialclasse.base_parking_spaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "中专":
|
|
|
+ case "职校":
|
|
|
+ case "高等院校":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "大客车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.dkcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (curClass.Name.indexOf("文化体育") > -1) {
|
|
|
+ if (subClass.specialclasses) {
|
|
|
+ subClass.specialclasses.forEach((specialclasse) => {
|
|
|
+ switch (subClass.Name) {
|
|
|
+ case "影剧院、音乐厅":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.seats / specialclasse.base_seats) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "展览馆、图书馆、科技馆":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "大客车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.dkcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "装卸车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces =
|
|
|
+ specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.zxcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "体育场馆":
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.seats / specialclasse.base_seats) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "大客车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.seats / specialclasse.base_seats) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+
|
|
|
+ cwinfo.dkcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(
|
|
|
+ statistic.jdcCount / specialclasse.base_parking
|
|
|
+ ) * specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces >
|
|
|
+ specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (curClass.Name.indexOf("景区") > -1) {
|
|
|
+ if (subClass.specialclasses) {
|
|
|
+ subClass.specialclasses.forEach((specialclasse) => {
|
|
|
+ switch (specialclasse.ParkingType) {
|
|
|
+ case "临时车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.lscwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "大客车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jrArea / specialclasse.base_area) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ specialclasse &&
|
|
|
+ specialclasse.base_parking_spaces_threshold &&
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = specialclasse.base_parking_spaces_threshold;
|
|
|
+ var additionalArea =
|
|
|
+ statistic.jrArea - specialclasse.increment_area;
|
|
|
+ if (additionalArea > 0) {
|
|
|
+ parkingSpaces +=
|
|
|
+ Math.ceil(
|
|
|
+ additionalArea / specialclasse.increment_area
|
|
|
+ ) * specialclasse.increment_parking_spaces;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfo.dkcwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ case "无障碍车位":
|
|
|
+ var parkingSpaces =
|
|
|
+ Math.ceil(statistic.jdcCount / specialclasse.base_parking) *
|
|
|
+ specialclasse.base_parking_spaces;
|
|
|
+ if (
|
|
|
+ parkingSpaces > specialclasse.base_parking_spaces_threshold
|
|
|
+ ) {
|
|
|
+ parkingSpaces = Math.ceil(
|
|
|
+ statistic.jdcCount *
|
|
|
+ specialclasse.increment_parking_coefficient
|
|
|
+ );
|
|
|
+ }
|
|
|
+ cwinfo.wzacwCount += parkingSpaces;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ cwinfos.push(cwinfo);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ var TJcwinfos = [];
|
|
|
+ cwinfos.forEach((item) => {
|
|
|
+ var TJcwinfo = TJcwinfos.find((c) => c.landNo == item.landNo);
|
|
|
+ if (!TJcwinfo) {
|
|
|
+ TJcwinfos.push({
|
|
|
+ landNo: item.landNo,
|
|
|
+ lscwCount: item.lscwCount,
|
|
|
+ dkcwCount: item.dkcwCount,
|
|
|
+ zxcwCount: item.zxcwCount,
|
|
|
+ wzacwCount: item.wzacwCount,
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ TJcwinfo.lscwCount += item.lscwCount;
|
|
|
+ TJcwinfo.dkcwCount += item.dkcwCount;
|
|
|
+ TJcwinfo.zxcwCount += item.zxcwCount;
|
|
|
+ TJcwinfo.wzacwCount += item.wzacwCount;
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return TJcwinfos;
|
|
|
+ },
|
|
|
};
|
|
|
/**
|
|
|
* 基准地价分析
|