chenc 4 лет назад
Родитель
Сommit
61db3b255b

+ 31 - 15
src/app/routes/dashboard/analysis/analysis.component.html

@@ -145,17 +145,17 @@
             <th nzLeft="337px" rowSpan="2" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
               <strong>物料名称</strong></th>
             <th nzLeft="437px" rowSpan="2" nzWidth="50px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
-              <strong>计划</strong></th>
+              <strong>计划数量</strong></th>
             <th nzLeft="486px" rowSpan="2" nzWidth="50px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
-              <strong>工时</strong></th>
+              <strong>标准工时</strong></th>
             <th nzLeft="536px" rowSpan="2" nzWidth="50px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
               <strong>完成数量</strong></th>
             <th nzLeft="586px" rowSpan="2" nzWidth="50px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
-              <strong>完成工时</strong></th>
+              <strong>实际工时</strong></th>
               <th nzLeft="636px" rowSpan="2" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
-                <strong>开始时间</strong></th>
+                <strong>计划达成率</strong></th>
                 <th nzLeft="736px" rowSpan="2" nzWidth="100px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
-                  <strong>结束时间</strong></th>
+                  <strong>计划生产效率</strong></th>
                   <!-- <th nzLeft="836px" rowSpan="2" nzWidth="70px" nzAlign="center" style="background-color:rgb(223, 223, 219)">
                     <strong>状态</strong></th> -->
             <ng-container *ngFor="let date of dateList">
@@ -192,8 +192,8 @@
               <td nzLeft="486px" nzAlign="center">{{data.surplusStandardWorkingHoursTotal}}</td>
               <td nzLeft="536px" nzAlign="center">{{data.quantityCompletedTotal}}</td>
               <td nzLeft="586px" nzAlign="center">{{data.manHoursCompletedTotal}}</td>
-              <td nzLeft="636px" nzAlign="center">{{data.plannedStartTime}}</td>
-              <td nzLeft="736px" nzAlign="center">{{data.plannedEndTime}}</td>
+              <td nzLeft="636px" nzAlign="center">{{data.achievementRate}}</td>
+              <td nzLeft="736px" nzAlign="center">{{data.productionEfficiency}}</td>
               <!-- <td nzLeft="836px" nzAlign="center"></td> -->
               <ng-container *ngFor="let dateChild of data.fbsWorkshopDispatchListList">
                 <td nzAlign="center">{{dateChild.numberOfTasks}}</td>
@@ -217,7 +217,7 @@
             <ng-container *ngIf="data.projectName==='统计'">
               <td nzLeft="0px" style="background-color:rgb(223, 223, 219)"></td>
               <td nzLeft="29px" style="background-color:rgb(223, 223, 219);font-weight:bolder" nzAlign="center">
-                <!-- 剩余工时 -->标准工时
+                <!-- 剩余工时 -->标准工时
               </td>
               <td nzLeft="109px" style="background-color:rgb(223, 223, 219)" nzAlign="center">
                 <!-- {{data.remainingWorkTotal}} -->{{data.standardWorkingHoursTotal}}
@@ -253,16 +253,32 @@
         <!-- 异常工时 -->
         <tbody>
           <tr>
-            <!-- <td nzLeft="0px" colspan="5" rowSpan="8"></td> -->
             <td  nzLeft="0px"></td>
             <td  nzLeft="29px" nzAlign="center" style="font-weight:bolder">总达成率</td>
             <td  nzLeft="109px" nzAlign="center">{{achievementRateTotal}}%</td>
             <td  nzLeft="218px" nzAlign="center" style="font-weight:bolder">总生产效率</td>
             <td  nzLeft="337px" nzAlign="center">{{productivityTotal}}%</td>
-            <!-- <td>月计划达成率</td>
-          <td>1.95%</td>
-          <td>月生产效率</td>
-          <td>根据生产计划进度。实时变化</td> -->
+            <td  nzLeft="437px" colSpan="6"></td>
+          </tr>
+          <tr>
+            <td  nzLeft="0px"></td>
+            <td  nzLeft="29px" nzAlign="center" style="font-weight:bolder">出勤总工时</td>
+            <td  nzLeft="109px" nzAlign="center">{{abnormalWorkingHours.attendanceHours}}</td>
+            <td  nzLeft="218px" nzAlign="center" style="font-weight:bolder">加班总工时</td>
+            <td  nzLeft="337px" nzAlign="center">{{abnormalWorkingHours.overtimeHours}}</td>
+            <td  nzLeft="437px" nzAlign="center" style="font-weight:bolder">其他总工时</td>
+            <td  nzLeft="486px" nzAlign="center">{{abnormalWorkingHours.other}}</td>
+            <td  nzLeft="536px" nzAlign="center" style="font-weight:bolder">异常总工时</td>
+            <td  nzLeft="586px" nzAlign="center">{{abnormalWorkingHours.quality}}</td>
+            <td  nzLeft="636px" nzAlign="center" style="font-weight:bolder">仓库总工时</td>
+            <td  nzLeft="736px" nzAlign="center">{{abnormalWorkingHours.plan}}</td>
+          </tr>
+          <!-- <tr>
+            <td  nzLeft="0px"></td>
+            <td  nzLeft="29px" nzAlign="center" style="font-weight:bolder">总达成率</td>
+            <td  nzLeft="109px" nzAlign="center">{{achievementRateTotal}}%</td>
+            <td  nzLeft="218px" nzAlign="center" style="font-weight:bolder">总生产效率</td>
+            <td  nzLeft="337px" nzAlign="center">{{productivityTotal}}%</td>
             <td nzLeft="437px" class="bolder">出勤总工时</td>
             <td nzLeft="486px" nzAlign="center">{{AbnormalWorkingHoursTotal.attendanceHours}}</td>
             <td nzLeft="536px" colSpan="4" nzAlign="right" class="bolder">出勤情况</td>
@@ -378,7 +394,7 @@
                 </ng-container>
               </td>
             </ng-container>
-          </tr>
+          </tr> -->
 
         </tbody>
       </nz-table>
@@ -438,7 +454,7 @@
             <!-- <td ></td> -->
             <ng-container *ngFor="let color of data.isColor">
               <ng-container *ngIf="color==='1'">
-                <td style="background-color:gold;"></td>
+                <td style="background-color:greenyellow;"></td>
               </ng-container>
               <ng-container *ngIf="color==='0'">
                 <td ></td>

+ 12 - 0
src/app/routes/dashboard/analysis/analysis.component.ts

@@ -10,6 +10,7 @@ import { FbsWorkshopDispatchListService } from 'app/services/fbs/fbs-workshop-di
 import { FbsAbnormalWorkingHoursService } from 'app/services/fbs/fbs-abnormal-working-hours.service';
 import { FbsWorkshopDispatchList } from 'app/entity/fbs/fbs-workshop-dispatch-list';
 import { convertingNumbers } from '@shared/utils/shared';
+import { FbsAbnormalWorkingHours } from 'app/entity/fbs/fbs-abnormal-working-hours';
 @Component({
   selector: 'app-dashboard-analysis',
   templateUrl: './analysis.component.html',
@@ -114,6 +115,7 @@ export class DashboardAnalysisComponent implements OnInit {
     this.getSumDispatchReport();
     this.getAbnormalWorkingHoursReport();
     this.getPlanningReport();
+    this.getAbnormalWorkingHoursTotal();
   }
 
   /**
@@ -333,6 +335,16 @@ export class DashboardAnalysisComponent implements OnInit {
     });
   }
 
+  /**
+   * 工时报表的总工时
+   */
+  abnormalWorkingHours:FbsAbnormalWorkingHours={}
+  getAbnormalWorkingHoursTotal(){
+    this.fbsAbnormalWorkingHoursService.getTotal(this.fbsWorkshopDispatchList.year+"-"+this.fbsWorkshopDispatchList.month).then((response)=>{
+      this.abnormalWorkingHours=response.result;
+    })
+  }
+
   /**
    * 获取时间列集合数据
    */

+ 8 - 8
src/app/routes/fbs-abnormal-working-hours/list/list.component.html

@@ -59,15 +59,15 @@
         <th nzAlign="center">研发</th>
         <th nzAlign="center">质量</th>
         <th nzAlign="center">设计</th>
-        <th nzAlign="center">返工</th>
+        <!-- <th nzAlign="center">返工</th> -->
         <th nzAlign="center">物料</th>
         <th nzAlign="center">能源</th>
         <th nzAlign="center">其他</th>
         <th nzAlign="center">设备</th>
         <th nzAlign="center">计划</th>
-        <th nzAlign="center">配料</th>
+        <!-- <th nzAlign="center">配料</th>
         <th nzAlign="center">入库</th>
-        <th nzAlign="center">打包</th>
+        <th nzAlign="center">打包</th> -->
         <th style="width:15%">{{ 'table.operation' | translate }}</th>
       </tr>
     </thead>
@@ -83,15 +83,15 @@
         <td nzAlign="center">{{item.researchAndDevelopment}}</td>
         <td nzAlign="center">{{item.quality}}</td>
         <td nzAlign="center">{{item.design}}</td>
-        <td nzAlign="center">{{item.rework}}</td>
+        <!-- <td nzAlign="center">{{item.rework}}</td> -->
         <td nzAlign="center">{{item.materiel}}</td>
         <td nzAlign="center">{{item.energy}}</td>
         <td nzAlign="center">{{item.other}}</td>
         <td nzAlign="center">{{item.equipment}}</td>
         <td nzAlign="center">{{item.plan}}</td>
-        <td nzAlign="center">{{item.mixedIngredients}}</td>
+        <!-- <td nzAlign="center">{{item.mixedIngredients}}</td>
         <td nzAlign="center">{{item.warehousing}}</td>
-        <td nzAlign="center">{{item.pack}}</td>
+        <td nzAlign="center">{{item.pack}}</td> -->
         <td>
           <!-- 详情 -->
           <a (click)="view(item)">{{ 'table.view' | translate }}</a>
@@ -120,9 +120,9 @@
         <td>{{totalList.other}}</td>
         <td>{{totalList.equipment}}</td>
         <td>{{totalList.plan}}</td>
-        <td>{{totalList.mixedIngredients}}</td>
+        <!-- <td>{{totalList.mixedIngredients}}</td>
         <td>{{totalList.warehousing}}</td>
-        <td>{{totalList.pack}}</td>
+        <td>{{totalList.pack}}</td> -->
         <td></td>
       </tr>
     </tbody>

+ 18 - 10
src/app/routes/fbs-abnormal-working-hours/list/list.component.ts

@@ -244,7 +244,11 @@ export class FbsAbnormalWorkingHoursListComponent implements OnInit {
           ['日期'], // 
           ['应到人数'], // 
           ['实到人数'], // 
+          ['请假'], // 
+          ['旷工'], // 
+          ['离职'], // 
           ['出勤工时'], // 
+          ['加班人数'], // 
           ['加班工时'], // 
           ['加班原因'], // 
           ['培训'], // 
@@ -253,16 +257,16 @@ export class FbsAbnormalWorkingHoursListComponent implements OnInit {
           ['研发'], // 
           ['质量'], // 
           ['设计'], // 
-          ['返工'], // 
+          // ['返工'], // 
           ['物料'], // 
           ['能源'], // 
           ['其他'], // 
           ['设备'], // 
           ['计划'], // 
-          ['配料'], // 
-          ['入库'], // 
-          ['打包'], // 
-          ['仓库其他'], // 
+          // ['配料'], // 
+          // ['入库'], // 
+          // ['打包'], // 
+          // ['仓库其他'], // 
         ];
         data.push(title);
         dataList.forEach(element => {
@@ -270,7 +274,11 @@ export class FbsAbnormalWorkingHoursListComponent implements OnInit {
           row.push(element.date);
           row.push(convertingNumbers(element.numberOfPeopleToArrive));
           row.push(convertingNumbers(element.actualNumberOfPeople));
+          row.push(convertingNumbers(element.lleave));
+          row.push(convertingNumbers(element.absenteeism));
+          row.push(convertingNumbers(element.quit));
           row.push(convertingNumbers(element.attendanceHours));
+          row.push(convertingNumbers(element.overtimePeople));
           row.push(convertingNumbers(element.overtimeHours));
           row.push(element.overtimeReason);
           row.push(convertingNumbers(element.train));
@@ -279,16 +287,16 @@ export class FbsAbnormalWorkingHoursListComponent implements OnInit {
           row.push(convertingNumbers(element.researchAndDevelopment));
           row.push(convertingNumbers(element.quality));
           row.push(convertingNumbers(element.design));
-          row.push(convertingNumbers(element.rework));
+          // row.push(convertingNumbers(element.rework));
           row.push(convertingNumbers(element.materiel));
           row.push(convertingNumbers(element.energy));
           row.push(convertingNumbers(element.other));
           row.push(convertingNumbers(element.equipment));
           row.push(convertingNumbers(element.plan));
-          row.push(convertingNumbers(element.mixedIngredients));
-          row.push(convertingNumbers(element.warehousing));
-          row.push(convertingNumbers(element.pack));
-          row.push(convertingNumbers(element.warehouseOthers));
+          // row.push(convertingNumbers(element.mixedIngredients));
+          // row.push(convertingNumbers(element.warehousing));
+          // row.push(convertingNumbers(element.pack));
+          // row.push(convertingNumbers(element.warehouseOthers));
           data.push(row);
         });
         // 导出

+ 51 - 15
src/app/routes/fbs-warehouse/list/list.component.html

@@ -1,6 +1,7 @@
 <page-header [action]="phActionTpl">
   <ng-template #phActionTpl>
     <button (click)="add()" nz-button nzType="primary">新建</button>
+    <button (click)="export()" nz-button nzType="primary" [nzLoading]="exportLoading">导出</button>
   </ng-template>
 </page-header>
 <nz-card>
@@ -50,26 +51,40 @@
         <thead>
           <tr>
             <th>日期</th>
-            <th>应到人数</th>
-            <th>实到人数</th>
-            <th>请假</th>
-            <th>旷工</th>
-            <th>离职</th>
-            <th>出勤工时</th>
-            <th>加班人数</th>
-            <th>操作</th>
+            <th nzAlign="center">加班工时</th>
+            <th nzAlign="center">工单配料</th>
+            <th nzAlign="center">成品收存</th>
+            <th nzAlign="center">原材料收存</th>
+            <th nzAlign="center">研发领用</th>
+            <th nzAlign="center">项目配料</th>
+            <th nzAlign="center">项目发货</th>
+            <th nzAlign="center">项目打包</th>
+            <th nzAlign="center">装车</th>
+            <th nzAlign="center">盘点</th>
+            <th nzAlign="center">培训</th>
+            <th nzAlign="center">会议</th>
+            <th nzAlign="center">5S</th>
+            <th nzAlign="center">其他</th>
+            <th nzAlign="center">操作</th>
           </tr>
         </thead>
         <tbody>
           <tr *ngFor="let item of  borderedTable.data">
             <td>{{item.date}}</td>
-            <td>{{item.numberOfPeopleToArrive}}</td>
-            <td>{{item.actualNumberOfPeople}}</td>
-            <td>{{item.lleave}}</td>
-            <td>{{item.absenteeism}}</td>
-            <td>{{item.quit}}</td>
-            <td>{{item.attendanceHours}}</td>
-            <td>{{item.overtimePeople}}</td>
+            <td nzAlign="center">{{item.overtimeHours}}</td>
+            <td nzAlign="center">{{item.workOrderBatching}}</td>
+            <td nzAlign="center">{{item.storageFinishedProducts}}</td>
+            <td nzAlign="center">{{item.storageRawMaterials}}</td>
+            <td nzAlign="center">{{item.researchAndDevelopment}}</td>
+            <td nzAlign="center">{{item.projectIngredients}}</td>
+            <td nzAlign="center">{{item.projectDelivery}}</td>
+            <td nzAlign="center">{{item.packProject}}</td>
+            <td nzAlign="center">{{item.loading}}</td>
+            <td nzAlign="center">{{item.inventory}}</td>
+            <td nzAlign="center">{{item.train}}</td>
+            <td nzAlign="center">{{item.meeting}}</td>
+            <td nzAlign="center">{{item.fiveS}}</td>
+            <td nzAlign="center">{{item.other}}</td>
             <td>
               <!-- 详情 -->
               <a (click)="view(item)">详情</a>
@@ -83,6 +98,27 @@
     
             </td>
           </tr>
+          <tr style="font-weight:bolder;text-align: center;">
+            <td>总计</td>
+            <td>{{totalList.overtimeHours}}</td>
+            <td>{{totalList.workOrderBatching}}</td>
+            <td>{{totalList.storageFinishedProducts}}</td>
+            <td>{{totalList.storageRawMaterials}}</td>
+            <td>{{totalList.researchAndDevelopment}}</td>
+            <td>{{totalList.projectIngredients}}</td>
+            <td>{{totalList.projectDelivery}}</td>
+            <td>{{totalList.packProject}}</td>
+            <td>{{totalList.loading}}</td>
+            <td>{{totalList.inventory}}</td>
+            <td>{{totalList.train}}</td>
+            <td>{{totalList.meeting}}</td>
+            <td>{{totalList.fiveS}}</td>
+            <td>{{totalList.other}}</td>
+            <!-- <td>{{totalList.mixedIngredients}}</td>
+            <td>{{totalList.warehousing}}</td>
+            <td>{{totalList.pack}}</td> -->
+            <td></td>
+          </tr>
         </tbody>
       </nz-table>
     </div>

+ 168 - 2
src/app/routes/fbs-warehouse/list/list.component.ts

@@ -1,6 +1,6 @@
 import { Component, OnInit, ViewChild } from '@angular/core';
 import { _HttpClient, ModalHelper } from '@delon/theme';
-import { STColumn, STComponent } from '@delon/abc';
+import { STColumn, STComponent, XlsxService } from '@delon/abc';
 import { SFSchema } from '@delon/form';
 import { FbsWarehouse } from 'app/entity/fbs/fbs-warehouse';
 import { DatePipe } from '@angular/common';
@@ -9,6 +9,7 @@ import { NzDrawerService, NzNotificationService } from 'ng-zorro-antd';
 import { FbsWarehouseAddComponent } from '../add/add.component';
 import { FbsWarehouseUpdateComponent } from '../update/update.component';
 import { FbsWarehouseViewComponent } from '../view/view.component';
+import { convertingNumbers } from '@shared';
 
 @Component({
   selector: 'app-fbs-warehouse-list',
@@ -20,11 +21,13 @@ export class FbsWarehouseListComponent implements OnInit {
     private datePipe:DatePipe,
     private fbsWarehouseService:FbsWarehouseService,
     private nzDrawerService:NzDrawerService,
-    private nzNotificationService:NzNotificationService
+    private nzNotificationService:NzNotificationService,
+    private xlsx: XlsxService
   ) { }
 
   ngOnInit() { 
     this.getList();
+    this.getTotalList()
   }
 
   dataList = []; //表格数据
@@ -69,6 +72,8 @@ export class FbsWarehouseListComponent implements OnInit {
     this.fbsWarehouse.pageNo=1;
     //主数据刷新
     this.getList();
+    //总计
+    this.getTotalList()
   }
 
   add() {
@@ -145,4 +150,165 @@ export class FbsWarehouseListComponent implements OnInit {
       }
     })
   }
+
+
+    /**
+   * 初始化总计
+   */
+  totalList: any = {};
+  initializationTotal() {
+    this.totalList = {
+      overtimeHours: 0,
+      workOrderBatching: 0,
+      storageFinishedProducts: 0,
+      storageRawMaterials: 0,
+      researchAndDevelopment: 0,
+      projectIngredients: 0,
+      projectDelivery: 0,
+      packProject: 0,
+      loading: 0,
+      inventory: 0,
+      train: 0,
+      meeting: 0,
+      fiveS: 0,
+      other: 0
+    };
+  }
+
+   /**
+   * 获取各个数量的总计
+   */
+  getTotalList(){
+    this.fbsWarehouse.start = this.datePipe.transform(this.fbsWarehouse.start, 'yyyy-MM-dd');
+    this.fbsWarehouse.end = this.datePipe.transform(this.fbsWarehouse.end, 'yyyy-MM-dd');
+    let fbsWarehouse=JSON.parse(JSON.stringify(this.fbsWarehouse));
+    fbsWarehouse.pageSize=10000;
+    this.fbsWarehouseService.list(fbsWarehouse).then((response)=>{
+      if(response.success){//查询成功
+        let dataList=response.result.records;//表格数据
+        this.getTotal(dataList);//统计合计
+        this.isLoading=false;
+      }
+    })
+  }
+
+  /**
+   * 计算当页的总计数据
+   */
+  getTotal(dataList) {
+    this.initializationTotal();
+    if (dataList) {
+      dataList.forEach(element => {
+        this.totalList.overtimeHours = (Number(this.totalList.overtimeHours) + Number(element.overtimeHours)).toFixed(1);
+        this.totalList.workOrderBatching = (Number(this.totalList.workOrderBatching) + Number(element.workOrderBatching)).toFixed(1);
+        this.totalList.storageFinishedProducts = (Number(this.totalList.storageFinishedProducts) + Number(element.storageFinishedProducts)).toFixed(1);
+        this.totalList.storageRawMaterials = (Number(this.totalList.storageRawMaterials) + Number(element.storageRawMaterials)).toFixed(1);
+        this.totalList.researchAndDevelopment = (Number(this.totalList.researchAndDevelopment) + Number(element.researchAndDevelopment)).toFixed(1);
+        this.totalList.projectIngredients = (Number(this.totalList.projectIngredients) + Number(element.projectIngredients)).toFixed(1);
+        this.totalList.projectDelivery = (Number(this.totalList.projectDelivery) + Number(element.projectDelivery)).toFixed(1);
+        this.totalList.packProject = (Number(this.totalList.packProject) + Number(element.packProject)).toFixed(1);
+        this.totalList.loading = (Number(this.totalList.loading) + Number(element.loading)).toFixed(1);
+        this.totalList.inventory = (Number(this.totalList.inventory) + Number(element.inventory)).toFixed(1);
+        this.totalList.train = (Number(this.totalList.train) + Number(element.train)).toFixed(1);
+        this.totalList.meeting = (Number(this.totalList.meeting) + Number(element.meeting)).toFixed(1);
+        this.totalList.fiveS = (Number(this.totalList.fiveS) + Number(element.fiveS)).toFixed(1);
+        this.totalList.other = (Number(this.totalList.other) + Number(element.other)).toFixed(1);
+      });
+    }
+  }
+
+
+  /**
+   * 导出
+   */
+  exportLoading=false;
+  export() {
+    this.exportLoading=true;
+    //时间格式化
+    let fbsWarehouse = new FbsWarehouse();
+    fbsWarehouse.pageSize = 20000;
+    fbsWarehouse.start = this.datePipe.transform(this.fbsWarehouse.start, 'yyyy-MM-dd');
+    fbsWarehouse.end = this.datePipe.transform(this.fbsWarehouse.end, 'yyyy-MM-dd');
+    this.fbsWarehouseService.list(fbsWarehouse).then(response => {
+      if (response.success) {
+        //查询成功
+        let dataList= response.result.records; //表格数据
+        let data = [];
+        let title = [
+          ['日期'], // 
+          ['应到人数'], // 
+          ['实到人数'], // 
+          ['请假'], // 
+          ['旷工'], // 
+          ['离职'], // 
+          ['出勤工时'], // 
+          ['加班人数'], // 
+          ['加班工时'], // 
+          ['加班原因'], // 
+          ['工单配料'], // 
+          ['成品收存'], // 
+          ['原材料收存'], // 
+          ['研发领用'], // 
+          ['项目配料'], // 
+          ['项目发货'], // 
+          ['项目打包'], // 
+          ['装车'], // 
+          ['盘点'], // 
+          ['培训'], // 
+          // ['返工'], // 
+          ['会议'], // 
+          ['5S'], // 
+          ['其他'], // 
+          // ['配料'], // 
+          // ['入库'], // 
+          // ['打包'], // 
+          // ['仓库其他'], // 
+        ];
+        data.push(title);
+        dataList.forEach(element => {
+          let row = [];
+          row.push(element.date);
+          row.push(convertingNumbers(element.numberOfPeopleToArrive));
+          row.push(convertingNumbers(element.actualNumberOfPeople));
+          row.push(convertingNumbers(element.lleave));
+          row.push(convertingNumbers(element.absenteeism));
+          row.push(convertingNumbers(element.quit));
+          row.push(convertingNumbers(element.attendanceHours));
+          row.push(convertingNumbers(element.overtimePeople));
+          row.push(convertingNumbers(element.overtimeHours));
+          row.push(element.overtimeReason);
+          row.push(convertingNumbers(element.workOrderBatching));
+          row.push(convertingNumbers(element.storageFinishedProducts));
+          row.push(convertingNumbers(element.storageRawMaterials));
+          row.push(convertingNumbers(element.researchAndDevelopment));
+          row.push(convertingNumbers(element.projectIngredients));
+          row.push(convertingNumbers(element.projectDelivery));
+          row.push(convertingNumbers(element.packProject));
+          row.push(convertingNumbers(element.loading));
+          row.push(convertingNumbers(element.inventory));
+          // row.push(convertingNumbers(element.rework));
+          row.push(convertingNumbers(element.train));
+          row.push(convertingNumbers(element.meeting));
+          row.push(convertingNumbers(element.fiveS));
+          row.push(convertingNumbers(element.other));
+          // row.push(convertingNumbers(element.mixedIngredients));
+          // row.push(convertingNumbers(element.warehousing));
+          // row.push(convertingNumbers(element.pack));
+          // row.push(convertingNumbers(element.warehouseOthers));
+          data.push(row);
+        });
+        // 导出
+        this.xlsx.export({
+          sheets: [
+            {
+              data: data,
+              name: '仓库报表',
+            },
+          ],
+          filename: '仓库报表.xlsx',
+        });
+        this.exportLoading=false;
+      }
+    });
+  }
 }

+ 8 - 8
src/app/routes/fbs-workshop-dispatch-list/list/list.component.html

@@ -105,7 +105,6 @@
     <thead>
       <tr>
         <th  style="width:10%">姓名</th>
-        <!-- <th>日期</th> -->
         <th>生产订单号</th>
         <th>物料名称</th>
         <th nzAlign="center">计划数量</th>
@@ -116,8 +115,9 @@
         <th nzAlign="center">达成率</th>
         <th nzAlign="center">生产效率</th>
         <th nzAlign="center">是否可扫码</th>
-        <th nzAlign="center">工艺进度</th>
+        <th nzAlign="center">工艺流程</th>
         <th>状态</th>
+        <th>日期</th>
         <!-- <th>计划开工时间</th>
         <th>计划完工时间</th> -->
         <th style="width:10%">{{ 'table.operation' | translate }}</th>
@@ -127,11 +127,7 @@
       <tr *ngFor="let item of  borderedTable.data">
         <!-- <td >{{item.milestoneCode}}</td> -->
         <td>{{item.name}}</td>
-        <!-- <td>
-          <ng-container *ngIf="item.firstTime||item.finalTime">
-            {{item.firstTime}}至{{item.finalTime}}
-          </ng-container>
-        </td> -->
+        
         <td>{{item.productionOrderNumberName}}</td>
         <td style="width: 15%;">{{item.product}}</td>
         <td  nzAlign="center" >{{item.plannedQuantity}}</td>
@@ -155,7 +151,11 @@
           <nz-badge nzStatus="green" *ngIf="item.state=='3'&&item.numberOfTasks==item.latestCompletedQuantity" nzText="完工"></nz-badge>
           <nz-badge nzStatus="green" *ngIf="item.state=='3'&&item.numberOfTasks!=item.latestCompletedQuantity" nzText="进行中"></nz-badge>
         </td>
-        
+        <td>
+          <ng-container *ngIf="item.firstTime||item.finalTime">
+            {{item.firstTime}}至{{item.finalTime}}
+          </ng-container>
+        </td>
         <!-- <td>{{item.plannedStartTime}}</td>
         <td>{{item.plannedEndTime}}</td> -->
         <td>

+ 5 - 0
src/app/services/fbs/fbs-abnormal-working-hours.service.ts

@@ -85,5 +85,10 @@ export class FbsAbnormalWorkingHoursService {
   async getListAndMain(body:any): Promise<BaseResponse<any>> {
     return await this.http.get<BaseResponse<any>>('/fbsAbnormalWorkingHours/fbsAbnormalWorkingHoursDescribe/getListAndMain',{params:body}).toPromise();
   }
+
+  //报表工时的总工时统计
+  async getTotal(yearMonth:any): Promise<BaseResponse<any>> {
+    return await this.http.get<BaseResponse<any>>('/fbsAbnormalWorkingHours/fbsAbnormalWorkingHours/getTotal',{params:{yearMonth:yearMonth}}).toPromise();
+  }
   
 }