chenc 4 yıl önce
ebeveyn
işleme
024711fbc9

+ 45 - 6
src/app/routes/dashboard/analysis/analysis.component.html

@@ -198,7 +198,9 @@
           <td>1.95%</td>
           <td>月生产效率</td>
           <td>根据生产计划进度。实时变化</td> -->
-          <td colSpan="4">出勤情况</td>
+          <td >出勤总工时</td>
+          <td>{{AbnormalWorkingHoursTotal.attendanceHours}}</td>
+          <td colSpan="2" nzAlign="right">出勤情况</td>
           <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
             <td>应到人数</td>
             <td>{{abnormalWorkingHours.numberOfPeopleToArrive}}</td>
@@ -214,7 +216,9 @@
           <td ></td>
           <td ></td>
           <td ></td>
-          <td colSpan="4">加班记录</td>
+          <td >加班总工时</td>
+          <td >{{AbnormalWorkingHoursTotal.overtimeHours}}</td>
+          <td colSpan="2" nzAlign="right">加班记录</td>
           <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
             <td>加班工时</td>
             <td>{{abnormalWorkingHours.overtimeHours}}</td>
@@ -233,7 +237,9 @@
           <td nzLeft="157px" rowSpan="2"></td>
           <td nzLeft="265px" rowSpan="2"></td>
           <td nzLeft="383px" rowSpan="2"></td> -->
-          <td colSpan="4" rowSpan="2">其他工时统计</td>
+          <td rowSpan="2">其他总工时</td>
+          <td rowSpan="2">{{AbnormalWorkingHoursTotal.train}}</td>
+          <td colSpan="2" rowSpan="2" nzAlign="right">其他工时统计</td>
           <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
             <td>培训</td>
             <td>{{abnormalWorkingHours.train}}</td>
@@ -264,10 +270,12 @@
           <td nzLeft="157px" rowSpan="3"></td>
           <td nzLeft="265px" rowSpan="3"></td>
           <td nzLeft="383px" rowSpan="3"></td> -->
-          <td colSpan="4" rowSpan="3">异常工时统计</td>
+          <td rowSpan="3">异常总工时统计</td>
+          <td rowSpan="3">{{AbnormalWorkingHoursTotal.abnormalWorkingHours}}</td>
+          <td colSpan="2" rowSpan="3" nzAlign="right">异常工时统计</td>
           <ng-container *ngFor="let abnormalWorkingHours of abnormalWorkingHoursList">
             <td>质量</td>
-            <td>{{abnormalWorkingHours.abnormalWorkingHours}}</td>
+            <td>{{abnormalWorkingHours.quality}}</td>
             <td>设计</td>
             <td>{{abnormalWorkingHours.design}}</td>
             <td>返工</td>
@@ -315,7 +323,38 @@
     </nz-table>
   </div>
 </div>
-<button nz-button nzType="primary" (click)="export()" [nzLoading]="exportLoading">导出</button>
+<form nz-form>
+  <div nz-row [nzGutter]="{xs:12,sm:15,md:29,lg: 36, xl: 40}">
+    <div nz-col nzXs="24" nzSm="4" nzLg="4">
+      <nz-form-item class="nz-form-item">
+        <nz-form-label [nzSpan]="8">年份</nz-form-label>
+        <nz-form-control [nzSpan]="16">
+          <input [(ngModel)]="year" name="year" nz-input
+          placeholder="请输入" />
+        </nz-form-control>
+      </nz-form-item>
+    </div>
+    <div nz-col nzXs="24" nzSm="4" nzLg="4">
+      <nz-form-item class="nz-form-item">
+        <nz-form-label [nzSpan]="8">月份</nz-form-label>
+        <nz-form-control [nzSpan]="16">
+          <input [(ngModel)]="month" name="month" nz-input
+          placeholder="请输入" />
+        </nz-form-control>
+      </nz-form-item>
+    </div>
+     <!-- 按钮 -->
+     <div nz-col nzXs="24" nzSm="4" nzLg="4">
+      <nz-form-item class="nz-form-item">
+        <nz-form-label [nzSpan]="2" [nzNoColon]="true"></nz-form-label>
+        <nz-form-control [nzSpan]="16">
+          <!-- 查询 -->
+          <button nz-button nzType="primary" (click)="export()" [nzLoading]="exportLoading">导出</button>
+        </nz-form-control>
+      </nz-form-item>
+    </div>
+  </div>
+</form>
 </nz-spin>
 <!-- <div nz-row [nzGutter]="24" class="pt-lg">
     <div nz-col nzXs="24" nzSm="24" nzMd="24" nzLg="24">

+ 45 - 4
src/app/routes/dashboard/analysis/analysis.component.ts

@@ -107,6 +107,7 @@ export class DashboardAnalysisComponent implements OnInit {
     this.alertTotal = `&yen ${this.feeData.reduce((pre, now) => now.y + pre, 0).toFixed(2)}`;
     this.getSumDispatchReport();
     this.getAbnormalWorkingHoursReport();
+    this.getNow();
   }
 
   /**
@@ -318,9 +319,28 @@ export class DashboardAnalysisComponent implements OnInit {
    * 异常工时统计
    */
   abnormalWorkingHoursList:any=[];
+  AbnormalWorkingHoursTotal:any={}
   getAbnormalWorkingHoursReport(){
     this.fbsAbnormalWorkingHoursService.getAbnormalWorkingHoursReport().then((response)=>{
       this.abnormalWorkingHoursList=response.result.fbsAbnormalWorkingHoursList;
+      let attendanceHours=0;//出勤总工时
+      let overtimeHours=0;//加班总工时
+      let train=0;//其他总工时
+      let abnormalWorkingHours=0;//异常总工时统计
+      this.abnormalWorkingHoursList.forEach(element => {
+        if(element.attendanceHours){
+          attendanceHours=attendanceHours+Number(element.attendanceHours);
+        }
+        if(element.overtimeHours){
+        overtimeHours=overtimeHours+Number(element.overtimeHours);
+        }
+        train=train+Number(element.train)+Number(element.meeting)+Number(element.fiveS)+Number(element.researchAndDevelopment);
+        abnormalWorkingHours=abnormalWorkingHours+Number(element.quality)+Number(element.design)+Number(element.rework)+Number(element.materiel)+Number(element.energy)+Number(element.other)+Number(element.equipment)+Number(element.plan);
+      });
+      this.AbnormalWorkingHoursTotal.attendanceHours=attendanceHours;
+      this.AbnormalWorkingHoursTotal.overtimeHours=overtimeHours;
+      this.AbnormalWorkingHoursTotal.train=train;
+      this.AbnormalWorkingHoursTotal.abnormalWorkingHours=abnormalWorkingHours;
     })
   }
 
@@ -333,12 +353,31 @@ export class DashboardAnalysisComponent implements OnInit {
   /**
    * 导出
    */
+
+   year="0";
+   month="0";
+   //初始化年月 默认当前年月
+   getNow(){
+    let date = new Date();
+    this.year=date.getFullYear()+"";
+    if(date.getMonth()<10){
+      this.month="0"+(date.getMonth()+1)
+    }else{
+      this.month=(date.getMonth()+1)+"";
+    }
+    
+   }
+
   exportLoading=false;
   export(){
+    let month=this.year.substring(2,4)+this.month;
+    this.fbsWorkshopDispatchListService.export(month).then((response)=>{
+      let list=[];
+      list=response.result
+
     this.exportLoading=true;
     let data = [];
     let title = [
-      ['序号'], // 序号
       ['项目名称'], // 项目名称
       ['生产订单号'], // 生产订单号
       ['物料编码'], // 物料编码
@@ -349,19 +388,19 @@ export class DashboardAnalysisComponent implements OnInit {
       ['累计完成工时'], // 累计完成工时
     ];
     data.push(title);
-    this.listOfData.forEach(element => {
+    list.forEach(element => {
       let row=[];
-      row.push(element.sort)
       row.push(element.projectName)
       row.push(element.productionOrderNumberName)
       row.push(element.productId)
       row.push(element.product)
       row.push(element.numberOfTasksTotal)
       row.push(element.standardWorkingHoursTotal)
-      row.push(element.quantityCompletedTotal)
+      row.push(element.latestCompletedQuantity)
       row.push(element.manHoursCompletedTotal)
       data.push(row);
     });
+
     // 导出
     this.xlsx.export({
       sheets: [
@@ -373,5 +412,7 @@ export class DashboardAnalysisComponent implements OnInit {
       filename: '生产订单汇总导出.xlsx',
     });
     this.exportLoading=false;
+    })
   }
+  
 }

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

@@ -79,8 +79,8 @@
         <td>{{item.overtimeHours}}</td>
         <td>{{item.train}}</td>
         <td>{{item.meeting}}</td>
-        <td>{{item.researchAndDevelopment}}</td>
         <td>{{item.fiveS}}</td>
+        <td>{{item.researchAndDevelopment}}</td>
         <td>{{item.quality}}</td>
         <td>{{item.design}}</td>
         <td>{{item.rework}}</td>

+ 5 - 0
src/app/services/fbs/fbs-workshop-dispatch-list.service.ts

@@ -69,6 +69,11 @@ export class FbsWorkshopDispatchListService {
     return await this.http.get<BaseResponse<FbsWorkshopDispatchList[]>>('/fbsWorkshopDispatchList/fbsWorkshopDispatchList/getSumDispatchReport',{params:body}).toPromise();
   }
 
+   // 导出
+   async export(month:any): Promise<BaseResponse<FbsWorkshopDispatchList[]>> {
+    return await this.http.get<BaseResponse<FbsWorkshopDispatchList[]>>('/fbsWorkshopDispatchList/fbsWorkshopDispatchList/export',{params:{month:month}}).toPromise();
+  }
+
   // 批量新增
   async saveBatch(body: FbsWorkshopDispatchList): Promise<BaseResponse<FbsWorkshopDispatchList>> {
     return await this.http.post<BaseResponse<FbsWorkshopDispatchList>>('/fbsWorkshopDispatchList/fbsWorkshopDispatchList/workSaveBatch', body).toPromise();