chenc 4 éve
szülő
commit
da88bc6bce

+ 22 - 7
src/app/routes/dashboard/analysis/analysis.component.html

@@ -82,7 +82,7 @@
         </nz-form-item>
       </div>
        <!-- 按钮 -->
-       <div nz-col nzXs="24" nzSm="4" nzLg="8">
+       <div nz-col nzXs="24" nzSm="4" nzLg="2">
         <nz-form-item class="nz-form-item">
           <nz-form-label [nzSpan]="2" [nzNoColon]="true"></nz-form-label>
           <nz-form-control [nzSpan]="16">
@@ -91,7 +91,20 @@
           </nz-form-control>
         </nz-form-item>
       </div>
+      <div nz-col nzXs="24" nzSm="4" nzLg="8">
+        <nz-form-item class="nz-form-item">
+          <nz-form-label [nzSpan]="8" >是否显示已完成订单</nz-form-label>
+          <nz-form-control [nzSpan]="16">
+            <!-- 查询 -->
+            <nz-switch [(ngModel)]="isSwitch" name="isSwitch"
+                          nzCheckedChildren="是"
+                          nzUnCheckedChildren="否" (ngModelChange)="isSwitchChange($event)">
+                        </nz-switch>
+          </nz-form-control>
+        </nz-form-item>
+      </div>
     </div>
+    
 </form>
 <div nz-row [nzGutter]="24">
   <div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="24">
@@ -135,7 +148,7 @@
       </thead>
       <tbody>
         <tr *ngFor="let data of columnTable.data;let i = index">
-          <ng-container *ngIf="data.projectName!=='统计'">
+          <ng-container *ngIf="data.projectName!=='统计'&&data.isSwitch" >
           <!-- *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines" -->
           <td nzLeft="0px" nzAlign="center"  *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">{{ data.sort }}</td>
           <td nzLeft="58px"  *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">{{ data.projectName }}</td>
@@ -195,11 +208,12 @@
       <!-- 异常工时 -->
       <tbody>
         <tr>
-          <td nzLeft="0px" colspan="5" rowSpan="8"></td>
-          <!-- <td ></td>
-          <td ></td>
-          <td ></td>
-          <td ></td> -->
+          <!-- <td nzLeft="0px" colspan="5" rowSpan="8"></td> -->
+          <td rowSpan="2" nzLeft="0px"></td>
+          <td rowSpan="2" nzLeft="58px" nzAlign="center" style="font-weight:bolder">总达成率</td>
+          <td rowSpan="2" nzLeft="157px">{{achievementRateTotal}}%</td>
+          <td rowSpan="2" nzLeft="265px" nzAlign="center" style="font-weight:bolder">总生产效率</td>
+          <td rowSpan="2" nzLeft="383px">{{productivityTotal}}%</td>
           <!-- <td>月计划达成率</td>
           <td>1.95%</td>
           <td>月生产效率</td>
@@ -243,6 +257,7 @@
           <td nzLeft="157px" rowSpan="2"></td>
           <td nzLeft="265px" rowSpan="2"></td>
           <td nzLeft="383px" rowSpan="2"></td> -->
+          <td nzLeft="0px" colspan="5" rowSpan="6"></td>
           <td nzLeft="580px" rowSpan="2" class="bolder">其他总工时</td>
           <td nzLeft="659px" rowSpan="2" nzAlign="center">{{AbnormalWorkingHoursTotal.train}}</td>
           <td nzLeft="758px" colSpan="2" rowSpan="2" nzAlign="right" class="bolder">其他工时统计</td>

+ 54 - 1
src/app/routes/dashboard/analysis/analysis.component.ts

@@ -300,16 +300,33 @@ export class DashboardAnalysisComponent implements OnInit {
     this.saveLoading=true;
     this.fbsWorkshopDispatchListService.getSumDispatchReport(this.fbsWorkshopDispatchList).then((response)=>{
       this.listOfData=response.result;
+      this.defaultSwitch();
       if(this.listOfDataSelect===null){
         this.listOfDataSelect=JSON.parse(JSON.stringify(response.result));
       }
       
       //获取时间集合数据
       this.getDateList();
+      //总效率
+      this.getEfficiencyTotal()
       this.saveLoading=false;
     })
   }
 
+  achievementRateTotal="";//总达成率
+  productivityTotal="";//生产率
+  getEfficiencyTotal(){
+    this.listOfData.forEach(element => {
+      let numberOfTasksTotal=element.numberOfTasksTotal;//计划数量
+      let standardWorkingHoursTotal=element.standardWorkingHoursTotal;//标准工时
+      let quantityCompletedTotal=element.quantityCompletedTotal;//完成数量
+      let manHoursCompletedTotal=element.manHoursCompletedTotal;//完成工时
+      if(element.projectName==="统计"){
+        this.achievementRateTotal=((Number(quantityCompletedTotal)/Number(numberOfTasksTotal))*100).toFixed(1);
+        this.productivityTotal=((Number(standardWorkingHoursTotal)/Number(manHoursCompletedTotal))*100).toFixed(1)
+      }
+    });
+  }
 
   /**
    * 获取时间列集合数据
@@ -358,6 +375,28 @@ export class DashboardAnalysisComponent implements OnInit {
 
   listOfData=[]
 
+  isSwitch=false;//是否显示已完成订单
+  isSwitchChange(event){
+      this.listOfData.forEach(element => {
+        if(element.status===4){
+          if(event===false){
+            element.isSwitch=false;
+          }else{
+            element.isSwitch=true;
+          }
+        }
+      });
+  }
+  defaultSwitch(){
+    this.listOfData.forEach(element => {
+      if(element.status===4){
+          element.isSwitch=false;
+      }else{
+        element.isSwitch=true;
+      }
+    });
+  }
+
   /**
    * 导出
    */
@@ -408,7 +447,21 @@ export class DashboardAnalysisComponent implements OnInit {
       row.push(element.manHoursCompletedTotal)
       data.push(row);
     });
-
+    let efficiencyTotal=[
+      ['总达成率'],
+      [this.achievementRateTotal+'%'],
+      ['总生产效率'],
+      [this.productivityTotal+'%'],
+      ['出勤总工时'],
+      [this.AbnormalWorkingHoursTotal.attendanceHours],
+      ['加班总工时'],
+      [this.AbnormalWorkingHoursTotal.overtimeHours],
+      ['其他总工时'],
+      [this.AbnormalWorkingHoursTotal.train],
+      ['异常总工时统计'],
+      [this.AbnormalWorkingHoursTotal.abnormalWorkingHours]
+    ];
+    data.push(efficiencyTotal);
     // 导出
     this.xlsx.export({
       sheets: [