zhangqian
2023-12-07 f0650a3cfc0da9941fdfddfcf89110d5985ae87b
model/dashboard.go
@@ -25,6 +25,7 @@
      PlanProductionAmount         int   //计划加工数
      RealExternalProductionAmount int   //实际外加工数
      RealProductionAmount         int   //实际生产数
      WorkOrderFinishRate          int   //近一周工单完成率
      DeviceLoadData            string         //设备负荷对比分析
      DeviceLoad                []*CommonStats `gorm:"-"` //设备负荷对比分析
@@ -34,8 +35,6 @@
      OrderFinishRate           []*CommonStats `gorm:"-"` //订单完成比率
      PersonnelProductivityData string         //人员生产效率
      PersonnelProductivity     []*CommonStats `gorm:"-"` //人员生产效率
      PersonnelSkillPercentData string         //人员技能占比
      PersonnelSkillPercent     []*CommonStats `gorm:"-"` //人员技能占比
      WorkerTypeStatsData       string         //人员工种分析
      WorkerTypeStats           []*CommonStats `gorm:"-"` //人员工种分析
@@ -53,21 +52,23 @@
   }
   WorkshopStats struct {
      Name      string
      Total     int64
      Qualified int64
      Defective int
      Percent   int
      Name      string //车间名称
      Total     int64  //生产总数
      Qualified int64  //正品数量
      Defective int    //次品数量
      Percent   int    //正品率
   }
   WorkOrderStats struct {
      Number       string //编号
      Product      string //产品
      Scale        string //规格
      PlanTime     string //计划时间
      Percent      int    //完成进度
      procedureNum int    //工序数量
      DelayDays    int    //延期天数
      Number                 string //编号
      Product                string //产品
      Scale                  string //规格
      Amount                 int64  //生产数量
      PlanTime               string //计划时间
      DelayDays              int    //延期天数
      ProcedureNum           int    //工序数量
      FinishProcedureNum     int    //已完成工序数量
      ProcessingProcedureNum int    //进行中工序数量
   }
   DashboardSearch struct {
@@ -92,7 +93,6 @@
   var materialRequirement []*CommonStats
   var orderFinishRate []*CommonStats
   var personnelProductivity []*CommonStats
   var personnelSkillPercent []*CommonStats
   var workerTypeStats []*CommonStats
   var workshopStats []*WorkshopStats
   var workOrderStats []*WorkOrderStats
@@ -121,12 +121,7 @@
         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
@@ -237,10 +232,10 @@
   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)
   }