| | |
| | | |
| | | type ( |
| | | Dashboard struct { |
| | | gorm.Model |
| | | Version string |
| | | DeviceRunningAmount int //开机台数 |
| | | TotalProductionAmount int //总产量 |
| | | WorkOrderAmount int64 //生产工单数 |
| | | DelayWorkOrderAmount int64 //延期交付工单数 |
| | | MaterialMissWorkOrderAmount int //物料不足工单数 |
| | | PlanOrderFinishRate int64 //计划达成率 |
| | | TotalDeviceAmount int64 //总设备数 |
| | | InMaintenanceDeviceAmount int64 //维修中设备数 |
| | | InternalDeviceRunningAmount int //自有开机台数 |
| | | ExternalDeviceRunningAmount int //外加工台数 |
| | | OutPlanProductionAmount int //计划外加工数 |
| | | PlanProductionAmount int //计划加工数 |
| | | RealExternalProductionAmount int //实际外加工数 |
| | | RealProductionAmount int //实际生产数 |
| | | CommonModel |
| | | Version string |
| | | DeviceRunningAmount int //开机台数 |
| | | TotalProductionAmount int //总产量 |
| | | WorkOrderAmount int64 //生产工单数 |
| | | DelayWorkOrderAmount int64 //延期交付工单数 |
| | | MaterialMissWorkOrderAmount int //物料不足工单数 |
| | | WaitSchedulingWorkOrderAmount int //待排程工单数(库存充足未锁定 和 已锁定库存未排程的工单) |
| | | PlanOrderFinishRate int64 //计划达成率 |
| | | TotalDeviceAmount int64 //总设备数 |
| | | InMaintenanceDeviceAmount int64 //维修中设备数 |
| | | InternalDeviceRunningAmount int //自有开机台数 |
| | | ExternalDeviceRunningAmount int //外加工台数 |
| | | OutPlanProductionAmount int //计划外加工数 |
| | | PlanProductionAmount int //计划加工数 |
| | | RealExternalProductionAmount int //实际外加工数 |
| | | RealProductionAmount int //实际生产数 |
| | | WorkOrderFinishRate int //近一周工单完成率 |
| | | |
| | | DeviceLoadData string //设备负荷对比分析 |
| | | DeviceLoad []*CommonStats `gorm:"-"` //设备负荷对比分析 |
| | |
| | | OrderFinishRate []*CommonStats `gorm:"-"` //订单完成比率 |
| | | PersonnelProductivityData string //人员生产效率 |
| | | PersonnelProductivity []*CommonStats `gorm:"-"` //人员生产效率 |
| | | PersonnelSkillPercentData string //人员技能占比 |
| | | PersonnelSkillPercent []*CommonStats `gorm:"-"` //人员技能占比 |
| | | WorkerTypeStatsData string //人员工种分析 |
| | | WorkerTypeStats []*CommonStats `gorm:"-"` //人员工种分析 |
| | | |
| | |
| | | var materialRequirement []*CommonStats |
| | | var orderFinishRate []*CommonStats |
| | | var personnelProductivity []*CommonStats |
| | | var personnelSkillPercent []*CommonStats |
| | | var workerTypeStats []*CommonStats |
| | | var workshopStats []*WorkshopStats |
| | | var workOrderStats []*WorkOrderStats |
| | |
| | | slf.PersonnelProductivityData = "" |
| | | } |
| | | } |
| | | if slf.PersonnelSkillPercentData != "" { |
| | | if err = json.Unmarshal([]byte(slf.PersonnelSkillPercentData), &personnelSkillPercent); err == nil { |
| | | slf.PersonnelSkillPercent = personnelSkillPercent |
| | | slf.PersonnelSkillPercentData = "" |
| | | } |
| | | } |
| | | |
| | | if slf.WorkerTypeStatsData != "" { |
| | | if err = json.Unmarshal([]byte(slf.WorkerTypeStatsData), &workerTypeStats); err == nil { |
| | | slf.WorkerTypeStats = workerTypeStats |
| | |
| | | return nil |
| | | } |
| | | |
| | | func (slf *DashboardSearch) Updates(record *Dashboard) error { |
| | | func (slf *DashboardSearch) Save(record *Dashboard) error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Updates(record).Error; err != nil { |
| | | if err := db.Save(record).Error; err != nil { |
| | | return fmt.Errorf("save err: %v, record: %+v", err, record) |
| | | } |
| | | |