chenc 4 rokov pred
rodič
commit
abfe155322

+ 7 - 0
src/app/entity/fbs/fbs-abnormal-working-hours.ts

@@ -55,6 +55,13 @@ export class FbsAbnormalWorkingHours extends Page{
 	/**生产线id */
 	productionLineId?:string;
 	
+	/**产品*/
+	product?:string;/**产品id*/
+	productId?:string;
+	workshopDispatchListId?:string;
+	rejectsNumber?:string;
+
+
 	//异常工时描述集合
 	fbsAbnormalWorkingHoursDescribeList?:any[];
 

+ 3 - 0
src/app/entity/fbs/fbs-workshop-dispatch-list.ts

@@ -33,5 +33,8 @@ export class FbsWorkshopDispatchList extends Page{
 	productionLineName?:string;
 	/**生产线id */
 	productionLineId?:string;
+
+	
 	fbsWorkshopDispatchListList?:FbsWorkshopDispatchList[]
+	
 }

+ 39 - 24
src/app/routes/dashboard/analysis/analysis.component.html

@@ -90,12 +90,13 @@
         <tr>
           <th colspan="9"></th>
           <ng-container *ngFor="let date of dateList">
-            <th colspan="6" style="background-color:cyan"><strong>{{date.date|date:'y-MM-dd'}}</strong></th>
+            <th colspan="6" style="background-color:cyan"><strong>{{date.endDate|date:'y-MM-dd'}}</strong></th>
           </ng-container>
         </tr>
       </thead>
       <tbody>
         <tr *ngFor="let data of columnTable.data;let i = index">
+          <ng-container *ngIf="data.productionLineName!=='统计'">
           <!-- *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines" -->
           <td *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">{{ data.sort }}</td>
           <td *ngIf="data.mergeLines!=0" [attr.rowSpan]="data.mergeLines">{{ data.productionLineName }}</td>
@@ -104,37 +105,51 @@
           <td>{{data.product}}</td>
           <td>{{data.numberOfTasksTotal}}</td>
           <td>{{data.standardWorkingHoursTotal}}</td>
-          <td>1</td>
-          <td>0.5</td>
-          <ng-container *ngFor="let date of data.fbsWorkshopDispatchListList">
-            <td>{{date.numberOfTasks}}</td>
-            <td></td>
-            <td></td>
-            <td>{{date.standardWorkingHours}}</td>
-            <td>0%</td>
-            <td>0%</td>
+          <td>{{data.quantityCompletedTotal}}</td>
+          <td>{{data.manHoursCompletedTotal}}</td>
+          <ng-container *ngFor="let dateChild of data.fbsWorkshopDispatchListList">
+            <td>{{dateChild.numberOfTasks}}</td>
+            <td>{{dateChild.qualifiedNumber}}</td>
+            <td>{{dateChild.manHoursCompleted}}</td>
+            <td>{{dateChild.standardWorkingHours}}</td>
+            <td>
+              <ng-container *ngIf="dateChild.productionEfficiency">{{dateChild.productionEfficiency}}%</ng-container>
+              <ng-container *ngIf="!dateChild.productionEfficiency">0%</ng-container>
+            </td>
+            <td>
+              <ng-container *ngIf="dateChild.achievementRate">{{dateChild.achievementRate}}%</ng-container>
+              <ng-container *ngIf="!dateChild.achievementRate">0%</ng-container>
+            </td>
           </ng-container>
-
-        </tr>
+        </ng-container>
+        </tr >
         <!-- 统计 -->
-        <tr style="background-color:chocolate">
+        <tr style="background-color:chocolate" *ngFor="let data of columnTable.data;let i = index">
+          <ng-container *ngIf="data.productionLineName==='统计'">
           <td style="background-color:chocolate"></td>
           <td style="background-color:chocolate">统计</td>
           <td style="background-color:chocolate"></td>
           <td></td>
           <td></td>
-          <td>1</td>
-          <td>1</td>
-          <td>1</td>
-          <td>1</td>
-          <ng-container *ngFor="let date of dateList">
-            <td>1</td>
-            <td>1</td>
-            <td>1</td>
-            <td>1</td>
-            <td>1</td>
-            <td>1</td>
+          <td>{{data.numberOfTasksTotal}}</td>
+          <td>{{data.standardWorkingHoursTotal}}</td>
+          <td>{{data.quantityCompletedTotal}}</td>
+          <td>{{data.manHoursCompletedTotal}}</td>
+          <ng-container *ngFor="let dateChild of data.fbsWorkshopDispatchListList">
+            <td>{{dateChild.numberOfTasks}}</td>
+            <td>{{dateChild.qualifiedNumber}}</td>
+            <td>{{dateChild.manHoursCompleted}}</td>
+            <td>{{dateChild.standardWorkingHours}}</td>
+            <td>
+              <ng-container *ngIf="dateChild.productionEfficiency">{{dateChild.productionEfficiency}}%</ng-container>
+              <ng-container *ngIf="!dateChild.productionEfficiency">0%</ng-container>
+            </td>
+            <td>
+              <ng-container *ngIf="dateChild.achievementRate">{{dateChild.achievementRate}}%</ng-container>
+              <ng-container *ngIf="!dateChild.achievementRate">0%</ng-container>
+            </td>
           </ng-container>
+        </ng-container>
         </tr>
         <tr></tr>
       </tbody>

+ 16 - 0
src/app/routes/fbs-abnormal-working-hours/add/add.component.html

@@ -100,6 +100,22 @@
           <nz-input-number [(ngModel)]="fbsAbnormalWorkingHours.plan" [nzMin]="0" [nzStep]="1"></nz-input-number>
         </td>
       </tr>
+      <tr>
+        <td>改善措施</td>
+        <td>当日派工产品</td>
+        <td>
+          <nz-select [(ngModel)]="fbsAbnormalWorkingHours.productId" style="width: 100%;" nzShowSearch
+            nzAllowClear nzPlaceHolder="请选择" (ngModelChange)="productChange($event)">
+            <ng-container *ngFor="let produc of productList">
+              <nz-option [nzLabel]="produc.product" [nzValue]="produc.productId"> </nz-option>
+            </ng-container>
+          </nz-select>
+        </td>
+        <td>不良品数量</td>
+        <td><nz-input-number [(ngModel)]="fbsAbnormalWorkingHours.rejectsNumber" [nzMin]="0" [nzStep]="1"></nz-input-number></td>
+        <td></td>
+        <td></td>
+      </tr>
       <tr></tr>
     </tbody>
   </nz-table>

+ 23 - 0
src/app/routes/fbs-abnormal-working-hours/add/add.component.ts

@@ -38,6 +38,7 @@ export class FbsAbnormalWorkingHoursAddComponent implements OnInit {
 
   ngOnInit(): void {
     this.getProperList();
+    this.getProductList();
   }
 
   saveLoading=false;//加载效果
@@ -70,6 +71,28 @@ export class FbsAbnormalWorkingHoursAddComponent implements OnInit {
     });
   }
 
+  productList=[];//产品集合
+  getProductList(){
+    //时间格式化
+    let date=this.datePipe.transform(new Date(), 'yyyy-MM-dd HH:mm:ss');
+    this.fbsAbnormalWorkingHoursService.getDispatchListByDate(date).then((response)=>{
+      this.productList=response.result;
+    })
+  }
+
+  /**
+   * 产品选择事件(获取产品名称、派工id)
+   */
+  productChange(event){
+    if(event){
+      this.productList.forEach(element => {
+        if(event===element.productId){
+          this.fbsAbnormalWorkingHours.workshopDispatchListId=element.id;//派工单id
+          this.fbsAbnormalWorkingHours.product=element.product;//产品名称
+        }
+      });
+    }
+  }
 
   describeList=[];//异常描述集合表格数据
   /**

+ 16 - 0
src/app/routes/fbs-abnormal-working-hours/update/update.component.html

@@ -100,6 +100,22 @@
           <nz-input-number [(ngModel)]="fbsAbnormalWorkingHours.plan" [nzMin]="0" [nzStep]="1"></nz-input-number>
         </td>
       </tr>
+      <tr>
+        <td>改善措施</td>
+        <td>当日派工产品</td>
+        <td>
+          <nz-select [(ngModel)]="fbsAbnormalWorkingHours.productId" style="width: 100%;" nzShowSearch
+            nzAllowClear nzPlaceHolder="请选择" (ngModelChange)="productChange($event)">
+            <ng-container *ngFor="let produc of productList">
+              <nz-option [nzLabel]="produc.product" [nzValue]="produc.productId"> </nz-option>
+            </ng-container>
+          </nz-select>
+        </td>
+        <td>不良品数量</td>
+        <td><nz-input-number [(ngModel)]="fbsAbnormalWorkingHours.rejectsNumber" [nzMin]="0" [nzStep]="1"></nz-input-number></td>
+        <td></td>
+        <td></td>
+      </tr>
       <tr></tr>
     </tbody>
   </nz-table>

+ 80 - 46
src/app/routes/fbs-abnormal-working-hours/update/update.component.ts

@@ -7,6 +7,7 @@ import { DatePipe } from '@angular/common';
 import { FbsAbnormalWorkingHoursDescribe } from 'app/entity/fbs/fbs-abnormal-working-hours-describe';
 import { FbsAbnormalWorkingHoursType } from 'app/entity/fbs/fbs-abnormal-working-hours-type';
 import { FbsWorkshopDispatchListService } from 'app/services/fbs/fbs-workshop-dispatch-list.service';
+import { resolve } from 'url';
 
 @Component({
   selector: 'app-fbs-abnormal-working-hours-update',
@@ -33,18 +34,24 @@ export class FbsAbnormalWorkingHoursUpdateComponent implements OnInit {
     private fbsAbnormalWorkingHoursService: FbsAbnormalWorkingHoursService,
     private nzNotificationService: NzNotificationService,
     private datePipe: DatePipe,
-    private fbsWorkshopDispatchListService:FbsWorkshopDispatchListService
+    private fbsWorkshopDispatchListService: FbsWorkshopDispatchListService,
   ) {}
 
   ngOnInit(): void {
     this.getProperList();
-    this.getById().then(()=>{
-      return this.getDescribeListById()
-    }).then(()=>{
-      return this.getTypeById();
-    }).then(()=>{
-      this.saveLoading=false;
-    })
+    this.getById()
+      .then(() => {
+        return this.getDescribeListById();
+      })
+      .then(() => {
+        return this.getTypeById();
+      })
+      .then(() => {
+        return this.getProductList();
+      })
+      .then(() => {
+        this.saveLoading = false;
+      });
   }
 
   saveLoading = false; //加载效果
@@ -53,23 +60,23 @@ export class FbsAbnormalWorkingHoursUpdateComponent implements OnInit {
   /**
    * 初始化人员下拉数据集合
    */
-  getProperList(){
-    this.fbsWorkshopDispatchListService.getPerAndDerp().then((response)=>{
-      this.properList=response.result
-    })
+  getProperList() {
+    this.fbsWorkshopDispatchListService.getPerAndDerp().then(response => {
+      this.properList = response.result;
+    });
   }
 
   /**
    * 人员下拉款选择事件
    */
-  personnelChange(personnelIdU8){
+  personnelChange(personnelIdU8) {
     //获取名称
     this.properList.forEach(element => {
-      if(personnelIdU8===element.cpersoncode){
-        this.fbsAbnormalWorkingHours.name=element.cpersonname;
-        this.fbsAbnormalWorkingHours.personnelNameU8=element.cpersonname;
-        this.fbsAbnormalWorkingHours.productionLineId=element.cdepcode;//生产线id
-        this.fbsAbnormalWorkingHours.productionLineName=element.cdepname;//生产线名产
+      if (personnelIdU8 === element.cpersoncode) {
+        this.fbsAbnormalWorkingHours.name = element.cpersonname;
+        this.fbsAbnormalWorkingHours.personnelNameU8 = element.cpersonname;
+        this.fbsAbnormalWorkingHours.productionLineId = element.cdepcode; //生产线id
+        this.fbsAbnormalWorkingHours.productionLineName = element.cdepname; //生产线名产
       }
     });
   }
@@ -80,14 +87,15 @@ export class FbsAbnormalWorkingHoursUpdateComponent implements OnInit {
   id = '';
   getById() {
     return new Promise(resolve => {
-      this.saveLoading=true;
+      this.saveLoading = true;
       this.fbsAbnormalWorkingHoursService.getById(this.id).then(response => {
-        if(response.success){//查询成功
-          this.fbsAbnormalWorkingHours=response.result;
+        if (response.success) {
+          //查询成功
+          this.fbsAbnormalWorkingHours = response.result;
           resolve();
-        }else{
-          this.nzNotificationService.error("查询失败",response.message)
-          this.saveLoading=false;
+        } else {
+          this.nzNotificationService.error('查询失败', response.message);
+          this.saveLoading = false;
         }
       });
     });
@@ -96,37 +104,63 @@ export class FbsAbnormalWorkingHoursUpdateComponent implements OnInit {
   /**
    * 查询异常工时描述
    */
-  getDescribeListById(){
-    return new Promise((resolve)=>{
+  getDescribeListById() {
+    return new Promise(resolve => {
       //查询条件
-      let fbsAbnormalWorkingHoursDescribe=new FbsAbnormalWorkingHoursDescribe();
-      fbsAbnormalWorkingHoursDescribe.pageSize=1000;
-      fbsAbnormalWorkingHoursDescribe.abnormalWorkingHoursId=this.fbsAbnormalWorkingHours.id;//主表id
+      let fbsAbnormalWorkingHoursDescribe = new FbsAbnormalWorkingHoursDescribe();
+      fbsAbnormalWorkingHoursDescribe.pageSize = 1000;
+      fbsAbnormalWorkingHoursDescribe.abnormalWorkingHoursId = this.fbsAbnormalWorkingHours.id; //主表id
       //查询
-      this.fbsAbnormalWorkingHoursService.getDescribeList(fbsAbnormalWorkingHoursDescribe).then((response)=>{
-        this.describeList=response.result.records;
-        this.describeSort=this.describeList.length+1;
+      this.fbsAbnormalWorkingHoursService.getDescribeList(fbsAbnormalWorkingHoursDescribe).then(response => {
+        this.describeList = response.result.records;
+        this.describeSort = this.describeList.length + 1;
         resolve();
-      })
-    })
+      });
+    });
   }
 
   /**
    * 查询异常工时类别
    */
-  getTypeById(){
-    return new Promise((resolve)=>{
+  getTypeById() {
+    return new Promise(resolve => {
       //查询条件
-      let fbsAbnormalWorkingHoursType=new FbsAbnormalWorkingHoursType();
-      fbsAbnormalWorkingHoursType.pageSize=1000;
-      fbsAbnormalWorkingHoursType.abnormalWorkingHoursId=this.fbsAbnormalWorkingHours.id;//主表id
+      let fbsAbnormalWorkingHoursType = new FbsAbnormalWorkingHoursType();
+      fbsAbnormalWorkingHoursType.pageSize = 1000;
+      fbsAbnormalWorkingHoursType.abnormalWorkingHoursId = this.fbsAbnormalWorkingHours.id; //主表id
       //查询
-      this.fbsAbnormalWorkingHoursService.getTypeList(fbsAbnormalWorkingHoursType).then((response)=>{
-        this.typeList=response.result.records;
-        this.typeSort=this.typeList.length+1;
+      this.fbsAbnormalWorkingHoursService.getTypeList(fbsAbnormalWorkingHoursType).then(response => {
+        this.typeList = response.result.records;
+        this.typeSort = this.typeList.length + 1;
         resolve();
-      })
-    })
+      });
+    });
+  }
+
+  productList = []; //产品集合
+  getProductList() {
+    return new Promise(resolve => {
+      //时间格式化
+      let date = this.datePipe.transform(this.fbsAbnormalWorkingHours.date, 'yyyy-MM-dd HH:mm:ss');
+      this.fbsAbnormalWorkingHoursService.getDispatchListByDate(date).then(response => {
+        this.productList = response.result;
+        resolve();
+      });
+    });
+  }
+
+  /**
+   * 产品选择事件(获取产品名称、派工id)
+   */
+  productChange(event) {
+    if (event) {
+      this.productList.forEach(element => {
+        if (event === element.productId) {
+          this.fbsAbnormalWorkingHours.workshopDispatchListId = element.id; //派工单id
+          this.fbsAbnormalWorkingHours.product = element.product; //产品名称
+        }
+      });
+    }
   }
 
   describeList = []; //异常描述集合表格数据
@@ -179,7 +213,7 @@ export class FbsAbnormalWorkingHoursUpdateComponent implements OnInit {
    * 保存按钮
    */
   save() {
-    this.saveLoading=true;
+    this.saveLoading = true;
     //时间格式化
     this.fbsAbnormalWorkingHours.date = this.datePipe.transform(
       this.fbsAbnormalWorkingHours.date,
@@ -195,7 +229,7 @@ export class FbsAbnormalWorkingHoursUpdateComponent implements OnInit {
         this.drawerRef.close(true); //关闭抽屉 启动主页面的回调
       } else {
         //保存失败
-        this.nzNotificationService.error('保存失败',response.message);
+        this.nzNotificationService.error('保存失败', response.message);
         this.saveLoading = false; //加载效果关闭
       }
     });

+ 11 - 0
src/app/routes/fbs-abnormal-working-hours/view/view.component.html

@@ -92,6 +92,17 @@
           {{fbsAbnormalWorkingHours.plan}}
         </td>
       </tr>
+      <tr>
+        <td>改善措施</td>
+        <td>当日派工产品</td>
+        <td>
+          {{fbsAbnormalWorkingHours.product}}
+        </td>
+        <td>不良品数量</td>
+        <td>{{fbsAbnormalWorkingHours.rejectsNumber}}</td>
+        <td></td>
+        <td></td>
+      </tr>
       <tr></tr>
     </tbody>
   </nz-table>

+ 1 - 1
src/app/routes/fbs-workshop-dispatch-list/add/add.component.ts

@@ -124,7 +124,7 @@ export class FbsWorkshopDispatchListAddComponent implements OnInit {
   productChange(event){
     if(event){
       this.productList.forEach(element => {
-        if(element.cInvCode===event){
+        if(element.cinvcode===event){
           this.fbsWorkshopDispatchList.product=element.cinvname;
         }
       });

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

@@ -70,4 +70,9 @@ export class FbsAbnormalWorkingHoursService {
   async getAbnormalWorkingHoursReport(): Promise<BaseResponse<FbsAbnormalWorkingHours>> {
     return await this.http.get<BaseResponse<FbsAbnormalWorkingHours>>('/fbsAbnormalWorkingHours/fbsAbnormalWorkingHours/getAbnormalWorkingHoursReport').toPromise();
   }
+
+  // 根据时间查询派工单产品
+  async getDispatchListByDate(date:string): Promise<BaseResponse<any>> {
+    return await this.http.get<BaseResponse<any>>('/fbsAbnormalWorkingHours/fbsAbnormalWorkingHours/getDispatchListByDate',{params:{date:date}}).toPromise();
+  }
 }