Browse Source

[修改]统计报表返回值为空判断

tangshan
陈敬瑜 3 years ago
parent
commit
dac791648e
  1. 1
      src/app/plan-audit/plan-record/plan-record.component.ts
  2. 8
      src/app/plan-audit/wait-examineer/wait-examineer.component.ts
  3. 14
      src/app/statistic-analysis/combined-query/combined-query.component.html
  4. 281
      src/app/statistic-analysis/combined-query/combined-query.component.ts

1
src/app/plan-audit/plan-record/plan-record.component.ts

@ -96,7 +96,6 @@ export class PlanRecordComponent implements OnInit {
//获取表格数据 //获取表格数据
getAlltabledate() { getAlltabledate() {
let paramsdata: any = { let paramsdata: any = {
Operation: this.level || [], Operation: this.level || [],
ContentType: Number(this.projectlevel) || [], ContentType: Number(this.projectlevel) || [],

8
src/app/plan-audit/wait-examineer/wait-examineer.component.ts

@ -179,14 +179,14 @@ export class WaitExamineerComponent implements OnInit {
bianzhi = false bianzhi = false
radioClick(e, item) { radioClick(e, item) {
this.selectedItem = item this.selectedItem = item
console.log(item) //console.log(item)
// console.log('当前选择的信息',JSON.parse(this.selectedItem.differentContent) ) // console.log('当前选择的信息',JSON.parse(this.selectedItem.differentContent) )
if (item.contentType == 11 && this.selectedItem.differentContent) { if (item.contentType == 11 && this.selectedItem.differentContent) {
let differentContent = JSON.parse(this.selectedItem.differentContent) let differentContent = JSON.parse(this.selectedItem.differentContent)
console.log('差异信息', differentContent) //console.log('差异信息', differentContent)
// 单位信息 // 单位信息
@ -222,7 +222,7 @@ export class WaitExamineerComponent implements OnInit {
this.differentContentOfBuildingsInfo.childrens.forEach(element => { this.differentContentOfBuildingsInfo.childrens.forEach(element => {
element.difData = resolveDiff(element.childrens) element.difData = resolveDiff(element.childrens)
}); });
console.log('建筑信息', this.differentContentOfBuildingsInfo) //console.log('建筑信息', this.differentContentOfBuildingsInfo)
//功能分区 //功能分区
let differentContentOfFunction = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0])) let differentContentOfFunction = JSON.parse(JSON.stringify(differentContent.filter(item => item.propertyName == 'buildings')[0]))
this.differentContentOfFunction = [] this.differentContentOfFunction = []
@ -296,7 +296,7 @@ export class WaitExamineerComponent implements OnInit {
}) })
} else { } else {
this.http.get(`/api/PlanComponents/${item.itemId}`).subscribe((data: any) => { this.http.get(`/api/PlanComponents/${item.itemId}`).subscribe((data: any) => {
console.log('预案信息',data) //console.log('预案信息',data)
this.companyId = data.companyId this.companyId = data.companyId
this.companyName = data.companyName this.companyName = data.companyName
if (data.planType != 2 && data.planType != 1) { if (data.planType != 2 && data.planType != 1) {

14
src/app/statistic-analysis/combined-query/combined-query.component.html

@ -107,15 +107,7 @@
<mat-divider></mat-divider> <mat-divider></mat-divider>
<div class="body"> <div class="body">
<div class="tablebox" id="table"> <div class="tablebox" id="table">
<!-- <table mat-table [dataSource]="tabledataSource" class="mat-elevation-z8" id="table"> <table cellpadding="0" cellspacing="0" *ngIf="preparelevels==0&&!tableDataNull">
<ng-container *ngFor="let item of displayedColumns;let i=index" [matColumnDef]="displayedColumns[i]">
<th mat-header-cell *matHeaderCellDef>{{item}}</th>
<td mat-cell *matCellDef="let element">{{element.name}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table> -->
<table cellpadding="0" cellspacing="0" *ngIf="preparelevels==0">
<thead> <thead>
<th *ngFor="let item of displayedColumns;let i=index">{{item}}</th> <th *ngFor="let item of displayedColumns;let i=index">{{item}}</th>
</thead> </thead>
@ -125,7 +117,7 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<table cellpadding="0" cellspacing="0" *ngIf="preparelevels==1"> <table cellpadding="0" cellspacing="0" *ngIf="preparelevels==1&&!tableDataNull">
<thead> <thead>
<th *ngFor="let item of yuanColumns;let i=index">{{item}}</th> <th *ngFor="let item of yuanColumns;let i=index">{{item}}</th>
</thead> </thead>
@ -135,7 +127,7 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<span *ngIf="tableDataNull">暂无数据</span>
</div> </div>
</div> </div>
</ng-template> </ng-template>

281
src/app/statistic-analysis/combined-query/combined-query.component.ts

@ -92,6 +92,7 @@ export class CombinedQueryComponent implements OnInit {
this.getAllPlanInfo() this.getAllPlanInfo()
} }
//获得所有预案或单位信息 //获得所有预案或单位信息
tableDataNull=false
async getAllPlanInfo() { async getAllPlanInfo() {
let paramsdata:any={ let paramsdata:any={
QueryMode:this.preparelevels, QueryMode:this.preparelevels,
@ -99,161 +100,167 @@ export class CombinedQueryComponent implements OnInit {
HasChildren:this.jscheck||'', HasChildren:this.jscheck||'',
TimeIntervalStart:this.dwaddtime||'', TimeIntervalStart:this.dwaddtime||'',
TimeIntervalEnd:this.dwendtime||'', TimeIntervalEnd:this.dwendtime||'',
BuildingTypeIds:this.unittype||'', BuildingTypeIds:this.unittype||[],
CompanyStatus:this.preparelevel||'' CompanyStatus:this.preparelevel||''
} }
let yuandata={ let yuandata={
QueryMode:this.preparelevels, QueryMode:this.preparelevels,
OrganizationId:this.jsId||'', OrganizationId:this.jsId||'',
HasChildren:this.jscheck||'', HasChildren:this.yuanjscheck||'',
TimeIntervalStart:this.yuanaddtime||'', TimeIntervalStart:this.yuanaddtime||'',
TimeIntervalEnd:this.yuanendtime||'', TimeIntervalEnd:this.yuanendtime||'',
PlanCategory:this.planCategory||'', PlanCategory:this.planCategory||[],
PlanType:this.reservePlanType||'' PlanType:this.reservePlanType||[]
} }
let result = await new Promise((resolve, reject)=>{ let result = await new Promise((resolve, reject)=>{
this.http.get("/api/StatisticsAnalysis/ReportTable", { params:this.preparelevels==0? paramsdata:yuandata }).subscribe((data: any) => { this.http.get("/api/StatisticsAnalysis/ReportTable", { params:this.preparelevels==0? paramsdata:yuandata }).subscribe((data: any) => {
console.log(data) //console.log(data)
//this.tabledataSource=data if(data.length==0){
if(this.preparelevels==0){ this.tableDataNull=true
//单位查询 }else{
this.tabledataSource=[] this.tableDataNull=false
this.displayedColumns=['组织名称', '总数'] if(this.preparelevels==0){
data.forEach((element,i,value) => { //单位查询
this.tabledataSource.push({name:[element.orgName,element.companyStatistics.totalCount]}) this.tabledataSource=[]
if(value[0].companyStatistics.buildingTypesCounts.length>0){ this.displayedColumns=['组织名称', '总数']
value[i].companyStatistics.buildingTypesCounts.forEach((build,bi,bvalue) => { data.forEach((element,i,value) => {
if(i==0){ this.tabledataSource.push({name:[element.orgName,element.companyStatistics.totalCount]})
this.displayedColumns.push(value[0].companyStatistics.buildingTypesCounts[bi].buildingTypeName) if(value[0].companyStatistics.buildingTypesCounts.length>0){
this.tabledataSource[0].name.push(value[0].companyStatistics.buildingTypesCounts[bi].count) value[i].companyStatistics.buildingTypesCounts.forEach((build,bi,bvalue) => {
}else{ if(i==0){
this.tabledataSource[i].name.push(bvalue[bi].count) this.displayedColumns.push(value[0].companyStatistics.buildingTypesCounts[bi].buildingTypeName)
this.tabledataSource[0].name.push(value[0].companyStatistics.buildingTypesCounts[bi].count)
}else{
this.tabledataSource[i].name.push(bvalue[bi].count)
}
/* this.tabledataSource.forEach((td,ti,tval)=>{
tval[ti].name.push(item.count)
}) */
});
}
});
}
else if(this.preparelevels==1){
//预案查询
this.yuanColumns=['组织名称', '总数']
this.yuanTable=[{name:[0,0]}]
//console.log(this.planCategory,this.reservePlanType)
if(this.planCategory.length==0&&this.reservePlanType.length!=0){
this.yuanColumns.push('Ⅰ级预案','Ⅱ级预案','Ⅲ级预案','Ⅳ级预案','Ⅴ级预案')
this.yuanTable[0].name.push(0,0,0,0,0)
this.reservePlanType.forEach(element => {
if(element==1){
this.yuanColumns.push('二维预案')
this.yuanTable[0].name.push(0)
}else if(element==2){
this.yuanColumns.push('三维预案')
this.yuanTable[0].name.push(0)
}else if(element==4){
this.yuanColumns.push('其他预案')
this.yuanTable[0].name.push(0)
}else if(element==16){
this.yuanColumns.push('文本预案')
this.yuanTable[0].name.push(0)
}
});
}else if(this.planCategory.length!=0&&this.reservePlanType.length==0){
this.yuanColumns.push('文本预案','二维预案','三维预案','其他预案')
this.yuanTable[0].name.push(0,0,0,0)
this.planCategory.forEach(element=>{
if(element==1){
this.yuanColumns.push('Ⅰ级预案')
this.yuanTable[0].name.push(0)
}else if(element==2){
this.yuanColumns.push('Ⅱ级预案')
this.yuanTable[0].name.push(0)
}else if(element==3){
this.yuanColumns.push('Ⅲ级预案')
this.yuanTable[0].name.push(0)
}else if(element==4){
this.yuanColumns.push('Ⅳ级预案')
this.yuanTable[0].name.push(0)
}else if(element==5){
this.yuanColumns.push('Ⅴ级预案')
this.yuanTable[0].name.push(0)
}
})
}else if(this.planCategory.length!=0&&this.reservePlanType.length!=0){
this.planCategory.forEach(element=>{
if(element==1){
this.yuanColumns.push('Ⅰ级预案')
this.yuanTable[0].name.push(0)
}else if(element==2){
this.yuanColumns.push('Ⅱ级预案')
this.yuanTable[0].name.push(0)
}else if(element==3){
this.yuanColumns.push('Ⅲ级预案')
this.yuanTable[0].name.push(0)
}else if(element==4){
this.yuanColumns.push('Ⅳ级预案')
this.yuanTable[0].name.push(0)
}else if(element==5){
this.yuanColumns.push('Ⅴ级预案')
this.yuanTable[0].name.push(0)
}
})
this.reservePlanType.forEach(element => {
if(element==1){
this.yuanColumns.push('二维预案')
this.yuanTable[0].name.push(0)
}else if(element==2){
this.yuanColumns.push('三维预案')
this.yuanTable[0].name.push(0)
}else if(element==4){
this.yuanColumns.push('其他预案')
this.yuanTable[0].name.push(0)
}else if(element==16){
this.yuanColumns.push('文本预案')
this.yuanTable[0].name.push(0)
} }
/* this.tabledataSource.forEach((td,ti,tval)=>{
tval[ti].name.push(item.count)
}) */
}); });
} }
}); //console.log(this.yuanTable)
} data.forEach((element,i,value) => {
else if(this.preparelevels==1){ if(i==0){
//预案查询 this.yuanTable[0].name[0]=value[0].orgName
this.yuanColumns=['组织名称', '总数'] this.yuanTable[0].name[1]=value[0].planStatistics.totalCount
this.yuanTable=[{name:[0,0]}] }else{
//console.log(this.planCategory,this.reservePlanType) this.yuanTable.push({name:[value[i].orgName,value[i].planStatistics.totalCount]})
if(this.planCategory.length==0&&this.reservePlanType.length!=0){
this.yuanColumns.push('Ⅰ级预案','Ⅱ级预案','Ⅲ级预案','Ⅳ级预案','Ⅴ级预案')
this.yuanTable[0].name.push(0,0,0,0,0)
this.reservePlanType.forEach(element => {
if(element==1){
this.yuanColumns.push('二维预案')
this.yuanTable[0].name.push(0)
}else if(element==2){
this.yuanColumns.push('三维预案')
this.yuanTable[0].name.push(0)
}else if(element==4){
this.yuanColumns.push('其他预案')
this.yuanTable[0].name.push(0)
}else if(element==16){
this.yuanColumns.push('文本预案')
this.yuanTable[0].name.push(0)
} }
}); });
}else if(this.planCategory.length!=0&&this.reservePlanType.length==0){ this.yuanTable.forEach((element,i,value)=>{
this.yuanColumns.push('文本预案','二维预案','三维预案','其他预案') if(i>0){
this.yuanTable[0].name.push(0,0,0,0) for(let a=value[i].name.length;a<value[0].name.length;a++){
this.planCategory.forEach(element=>{ value[i].name.push(0)
if(element==1){ }
this.yuanColumns.push('Ⅰ级预案')
this.yuanTable[0].name.push(0)
}else if(element==2){
this.yuanColumns.push('Ⅱ级预案')
this.yuanTable[0].name.push(0)
}else if(element==3){
this.yuanColumns.push('Ⅲ级预案')
this.yuanTable[0].name.push(0)
}else if(element==4){
this.yuanColumns.push('Ⅳ级预案')
this.yuanTable[0].name.push(0)
}else if(element==5){
this.yuanColumns.push('Ⅴ级预案')
this.yuanTable[0].name.push(0)
}
})
}else if(this.planCategory.length!=0&&this.reservePlanType.length!=0){
this.planCategory.forEach(element=>{
if(element==1){
this.yuanColumns.push('Ⅰ级预案')
this.yuanTable[0].name.push(0)
}else if(element==2){
this.yuanColumns.push('Ⅱ级预案')
this.yuanTable[0].name.push(0)
}else if(element==3){
this.yuanColumns.push('Ⅲ级预案')
this.yuanTable[0].name.push(0)
}else if(element==4){
this.yuanColumns.push('Ⅳ级预案')
this.yuanTable[0].name.push(0)
}else if(element==5){
this.yuanColumns.push('Ⅴ级预案')
this.yuanTable[0].name.push(0)
} }
}) })
this.reservePlanType.forEach(element => { this.yuanTable.forEach((yuan,yuani,yuanval)=>{
if(element==1){ this.yuanColumns.forEach((th,thi,thvalu)=>{
this.yuanColumns.push('二维预案') data.forEach((element,i,value) => {
this.yuanTable[0].name.push(0) //预案级别数据
}else if(element==2){ value[i].planStatistics.planCategoryStatistics.planCategories.forEach((jibie,ji,jval) => {
this.yuanColumns.push('三维预案') if(thvalu[thi].indexOf(jval[ji].planCategoryName)!=-1&&yuani==i){
this.yuanTable[0].name.push(0) yuanval[yuani].name[thi]=jval[ji].count
}else if(element==4){ }
this.yuanColumns.push('其他预案') });
this.yuanTable[0].name.push(0) //预案类型数据
}else if(element==16){ value[i].planStatistics.planTypeStatistics.planTypes.forEach((planlx,lxi,lxval) => {
this.yuanColumns.push('文本预案') if(thvalu[thi].indexOf(lxval[lxi].planTypeName)!=-1&&yuani==i){
this.yuanTable[0].name.push(0) yuanval[yuani].name[thi]=lxval[lxi].count
} }
}); });
}
//console.log(this.yuanTable)
data.forEach((element,i,value) => {
if(i==0){
this.yuanTable[0].name[0]=value[0].orgName
this.yuanTable[0].name[1]=value[0].planStatistics.totalCount
}else{
this.yuanTable.push({name:[value[i].orgName,value[i].planStatistics.totalCount]})
}
});
this.yuanTable.forEach((element,i,value)=>{
if(i>0){
for(let a=value[i].name.length;a<value[0].name.length;a++){
value[i].name.push(0)
}
}
})
this.yuanTable.forEach((yuan,yuani,yuanval)=>{
this.yuanColumns.forEach((th,thi,thvalu)=>{
data.forEach((element,i,value) => {
//预案级别数据
value[i].planStatistics.planCategoryStatistics.planCategories.forEach((jibie,ji,jval) => {
if(thvalu[thi].indexOf(jval[ji].planCategoryName)!=-1&&yuani==i){
yuanval[yuani].name[thi]=jval[ji].count
}
});
//预案类型数据
value[i].planStatistics.planTypeStatistics.planTypes.forEach((planlx,lxi,lxval) => {
if(thvalu[thi].indexOf(lxval[lxi].planTypeName)!=-1&&yuani==i){
yuanval[yuani].name[thi]=lxval[lxi].count
}
}); });
}); })
}) })
}
})
} }
console.log(this.yuanColumns) //this.tabledataSource=data
console.log(this.yuanTable)
//console.log(this.yuanColumns)
//console.log(this.yuanTable)
this.excelData=data this.excelData=data
resolve(this.excelData) resolve(this.excelData)
} }
@ -487,7 +494,7 @@ export class CombinedQueryComponent implements OnInit {
yuanjs: any //预案所选组织机构 yuanjs: any //预案所选组织机构
yuanjsId: any //预案所选组织机构的id yuanjsId: any //预案所选组织机构的id
yuanjscheck: boolean //预案所选组织机构勾选框 yuanjscheck: boolean //预案所选组织机构勾选框
unittype: any //单位类型 unittype=[] //单位类型
reservePlanType=[] //预案类型 reservePlanType=[] //预案类型
preparelevel: any //编制级别 preparelevel: any //编制级别
plcheck: boolean //编制级别勾选框 plcheck: boolean //编制级别勾选框
@ -498,7 +505,7 @@ export class CombinedQueryComponent implements OnInit {
this.js = '' this.js = ''
this.jsId = '' this.jsId = ''
this.jscheck = false this.jscheck = false
this.unittype = '' this.unittype = []
this.preparelevel = '' this.preparelevel = ''
this.dwaddtime = '' this.dwaddtime = ''

Loading…
Cancel
Save