|
@@ -30,7 +30,7 @@ func (productRecordService *ProductRecordService) SaveProductCapacities(operateI |
|
@@ -30,7 +30,7 @@ func (productRecordService *ProductRecordService) SaveProductCapacities(operateI |
30
|
}()
|
30
|
}()
|
31
|
|
31
|
|
32
|
//日期
|
32
|
//日期
|
33
|
- recordDate, err := time.ParseInLocation("2006-01-02", param.RecordDate, time.Local)
|
33
|
+ recordDate, err := time.Parse("2006-01-02", param.RecordDate)
|
34
|
if err != nil {
|
34
|
if err != nil {
|
35
|
return nil, application.ThrowError(application.ARG_ERROR, "日期格式错误")
|
35
|
return nil, application.ThrowError(application.ARG_ERROR, "日期格式错误")
|
36
|
}
|
36
|
}
|
|
@@ -156,12 +156,12 @@ func (productRecordService *ProductRecordService) ListProductCapacities(operateI |
|
@@ -156,12 +156,12 @@ func (productRecordService *ProductRecordService) ListProductCapacities(operateI |
156
|
"transactionContext": transactionContext,
|
156
|
"transactionContext": transactionContext,
|
157
|
})
|
157
|
})
|
158
|
|
158
|
|
159
|
- productBeginTime, _ := time.ParseInLocation("2006-01-02", param.ProductBeginTime, time.Local)
|
|
|
160
|
- productEndTime, _ := time.ParseInLocation("2006-01-02", param.ProductEndTime, time.Local)
|
159
|
+ productBeginTime, _ := time.Parse("2006-01-02", param.ProductBeginTime)
|
|
|
160
|
+ productEndTime, _ := time.Parse("2006-01-02", param.ProductEndTime)
|
161
|
condition := map[string]interface{}{
|
161
|
condition := map[string]interface{}{
|
162
|
"companyId": param.CompanyId,
|
162
|
"companyId": param.CompanyId,
|
163
|
"orgId": param.OrgId,
|
163
|
"orgId": param.OrgId,
|
164
|
- "workerName": param.WorkerName,
|
164
|
+ "userName": param.WorkerName,
|
165
|
"workshopName": param.WorkshopName,
|
165
|
"workshopName": param.WorkshopName,
|
166
|
"lineName": param.LineName,
|
166
|
"lineName": param.LineName,
|
167
|
"sectionName": param.SectionName,
|
167
|
"sectionName": param.SectionName,
|
|
@@ -540,3 +540,117 @@ func (srv *ProductRecordService) BatchAddProductCapacities(operate *domain.Opera |
|
@@ -540,3 +540,117 @@ func (srv *ProductRecordService) BatchAddProductCapacities(operate *domain.Opera |
540
|
}
|
540
|
}
|
541
|
return failRows, nil
|
541
|
return failRows, nil
|
542
|
}
|
542
|
}
|
|
|
543
|
+
|
|
|
544
|
+// 产能管理 页面上手动创建员工生产记录
|
|
|
545
|
+func (productRecordService *ProductRecordService) CreateProductCapacities(operateInfo *domain.OperateInfo, param *command.CreateProductCapacitiesCmd) (map[string]interface{}, error) {
|
|
|
546
|
+ transactionContext, err := factory.CreateTransactionContext(nil)
|
|
|
547
|
+ if err != nil {
|
|
|
548
|
+ return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
549
|
+ }
|
|
|
550
|
+ if err := transactionContext.StartTransaction(); err != nil {
|
|
|
551
|
+ return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
552
|
+ }
|
|
|
553
|
+ defer func() {
|
|
|
554
|
+ transactionContext.RollbackTransaction()
|
|
|
555
|
+ }()
|
|
|
556
|
+
|
|
|
557
|
+ //日期
|
|
|
558
|
+ recordDate, err := time.Parse("2006-01-02", param.RecordDate)
|
|
|
559
|
+ if err != nil {
|
|
|
560
|
+ return nil, application.ThrowError(application.ARG_ERROR, "日期格式错误")
|
|
|
561
|
+ }
|
|
|
562
|
+ userService := domainService.NewUserService()
|
|
|
563
|
+ //操作人数据
|
|
|
564
|
+ var user *domain.User
|
|
|
565
|
+ user, err = userService.User(operateInfo.UserId)
|
|
|
566
|
+ if err != nil {
|
|
|
567
|
+ return nil, application.ThrowError(application.ARG_ERROR, "获取操作人错误,"+err.Error())
|
|
|
568
|
+ }
|
|
|
569
|
+ //组织数据
|
|
|
570
|
+ var org *domain.Org
|
|
|
571
|
+ org, err = userService.Organization(operateInfo.OrgId)
|
|
|
572
|
+ if err != nil {
|
|
|
573
|
+ return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
574
|
+ }
|
|
|
575
|
+ //车间数据
|
|
|
576
|
+ workshopRepo, _ := factory.CreateWorkshopRepository(map[string]interface{}{
|
|
|
577
|
+ "transactionContext": transactionContext,
|
|
|
578
|
+ })
|
|
|
579
|
+ workshop, err := workshopRepo.FindOne(map[string]interface{}{"workshopId": param.WorkshopId})
|
|
|
580
|
+ if err != nil {
|
|
|
581
|
+ return nil, application.ThrowError(application.ARG_ERROR, "获取车间数据失败"+err.Error())
|
|
|
582
|
+ }
|
|
|
583
|
+ workstation, err := workshop.FindWorkStation(param.WorkshopId, param.LineId, param.SectionId)
|
|
|
584
|
+ if err != nil {
|
|
|
585
|
+ return nil, application.ThrowError(application.ARG_ERROR, "获取车间工段数据失败"+err.Error())
|
|
|
586
|
+ }
|
|
|
587
|
+
|
|
|
588
|
+ //获取生产记录
|
|
|
589
|
+ productPlanRepo, _ := factory.CreateProductPlanRepository(map[string]interface{}{
|
|
|
590
|
+ "transactionContext": transactionContext,
|
|
|
591
|
+ })
|
|
|
592
|
+
|
|
|
593
|
+ planData, err := productPlanRepo.FindOne(map[string]interface{}{
|
|
|
594
|
+ "productPlanId": param.ProductPlanId,
|
|
|
595
|
+ })
|
|
|
596
|
+
|
|
|
597
|
+ if err != nil {
|
|
|
598
|
+ return nil, application.ThrowError(application.ARG_ERROR, "获取计划任务数据失败"+err.Error())
|
|
|
599
|
+ }
|
|
|
600
|
+
|
|
|
601
|
+ //员工生产记录
|
|
|
602
|
+ productRecordRepo, _ := factory.CreateProductRecordRepository(map[string]interface{}{
|
|
|
603
|
+ "transactionContext": transactionContext,
|
|
|
604
|
+ })
|
|
|
605
|
+
|
|
|
606
|
+ nowTime := time.Now()
|
|
|
607
|
+ productRecordIds := []int{}
|
|
|
608
|
+ for _, workerId := range param.WorkerId {
|
|
|
609
|
+ //员工数据
|
|
|
610
|
+ worker, err := userService.User(workerId)
|
|
|
611
|
+ if err != nil {
|
|
|
612
|
+ return nil, application.ThrowError(application.ARG_ERROR, "获取员工错误,"+err.Error())
|
|
|
613
|
+ }
|
|
|
614
|
+ epRecord := &domain.ProductRecord{
|
|
|
615
|
+ UpdatedAt: nowTime,
|
|
|
616
|
+ OrgId: operateInfo.OrgId,
|
|
|
617
|
+ CompanyId: operateInfo.CompanyId,
|
|
|
618
|
+ WorkStation: workstation,
|
|
|
619
|
+ ProductWorker: worker,
|
|
|
620
|
+ CreatedAt: recordDate,
|
|
|
621
|
+ Ext: &domain.Ext{
|
|
|
622
|
+ Operator: user,
|
|
|
623
|
+ OrgName: org.OrgName,
|
|
|
624
|
+ },
|
|
|
625
|
+ ProductRecordType: domain.RecordTypeReceiveMaterial,
|
|
|
626
|
+ ProductRecordInfo: &domain.ProductRecordInfo{
|
|
|
627
|
+ WorkOn: param.WorkOn,
|
|
|
628
|
+ ProductDate: param.RecordDate,
|
|
|
629
|
+ Weigh: param.Weigh,
|
|
|
630
|
+ WeighBefore: param.Weigh,
|
|
|
631
|
+ ApproveStatus: domain.ProductRecordNotApprove,
|
|
|
632
|
+ ApproveAt: 0,
|
|
|
633
|
+ ApproveUser: nil,
|
|
|
634
|
+ ProductPlanId: planData.ProductPlanId,
|
|
|
635
|
+ PlanProductName: planData.PlanProductName,
|
|
|
636
|
+ BatchNumber: planData.BatchNumber,
|
|
|
637
|
+ },
|
|
|
638
|
+ }
|
|
|
639
|
+ if param.SaveAndApprove {
|
|
|
640
|
+ epRecord.ProductRecordInfo.ApproveAt = nowTime.Unix()
|
|
|
641
|
+ epRecord.ProductRecordInfo.ApproveStatus = domain.ProductRecordApproved
|
|
|
642
|
+ epRecord.ProductRecordInfo.ApproveUser = user
|
|
|
643
|
+ }
|
|
|
644
|
+ _, err = productRecordRepo.Save(epRecord)
|
|
|
645
|
+ if err != nil {
|
|
|
646
|
+ return nil, application.ThrowError(application.ARG_ERROR, "保存员工生产记录失败"+err.Error())
|
|
|
647
|
+ }
|
|
|
648
|
+ productRecordIds = append(productRecordIds, epRecord.ProductRecordId)
|
|
|
649
|
+ }
|
|
|
650
|
+ if err := transactionContext.CommitTransaction(); err != nil {
|
|
|
651
|
+ return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
652
|
+ }
|
|
|
653
|
+ return map[string]interface{}{
|
|
|
654
|
+ "productRecordIds": productRecordIds,
|
|
|
655
|
+ }, nil
|
|
|
656
|
+} |