Roc 1 month ago
parent
commit
87bf136d79

+ 23 - 27
models/supply_analysis/base_from_stock_plant_data.go

@@ -2,22 +2,22 @@ package supply_analysis
 
 import (
 	"errors"
+	"eta/eta_index_lib/global"
 	"eta/eta_index_lib/utils"
-	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"github.com/shopspring/decimal"
+	"gorm.io/gorm"
 	"time"
 )
 
 // BaseFromStockPlantData base_from_stock_plant_data 存量装置的指标的计算数据
 type BaseFromStockPlantData struct {
-	StockPlantDataId int       `orm:"column(stock_plant_data_id);pk"`
-	VarietyEdbId     int       `description:"指标id"`
-	DataTime         time.Time `description:"数据日期"`
-	Value            float64   `description:"数据值"`
-	ModifyTime       time.Time `description:"修改时间"`
-	CreateTime       time.Time `description:"创建时间"`
-	DataTimestamp    int64     `description:"数据日期时间戳"`
+	StockPlantDataId int       `gorm:"primaryKey;autoIncrement;column:stock_plant_data_id" description:"指标数据ID"`
+	VarietyEdbId     int       `gorm:"column:variety_edb_id" description:"指标id"`
+	DataTime         time.Time `gorm:"column:data_time" description:"数据日期"`
+	Value            float64   `gorm:"column:value" description:"数据值"`
+	ModifyTime       time.Time `gorm:"column:modify_time" description:"修改时间"`
+	CreateTime       time.Time `gorm:"column:create_time" description:"创建时间"`
+	DataTimestamp    int64     `gorm:"column:data_timestamp" description:"数据日期时间戳"`
 }
 
 // CalculateVarietyReq 重新计算请求
@@ -115,17 +115,12 @@ func Calculate(varietyId int, sysUserId int, sysUserName string) (err error) {
 		dataMap[tmpDate] = calculateVal
 	}
 
-	to, err := orm.NewOrm().Begin()
-	if err != nil {
-		return
-	}
-
+	to := global.DEFAULT_DB.Begin()
 	defer func() {
 		if err != nil {
-			fmt.Println("Calculate,Err:" + err.Error())
-			_ = to.Rollback()
+			to.Rollback()
 		} else {
-			_ = to.Commit()
+			to.Commit()
 		}
 	}()
 
@@ -143,15 +138,15 @@ func Calculate(varietyId int, sysUserId int, sysUserName string) (err error) {
 	varietyInfo.LastUpdateSysUserId = sysUserId
 	varietyInfo.LastUpdateSysUserRealName = sysUserName
 	varietyInfo.ModifyTime = time.Now()
-	_, err = to.Update(varietyInfo, "LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime")
+	err = to.Model(varietyInfo).Select([]string{"LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime"}).Updates(varietyInfo).Error
 
 	return
 }
 
-func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[time.Time]float64, startDate, lastDate time.Time) (err error) {
+func calculateEdb(to *gorm.DB, varietyEdbInfo *VarietyEdbInfo, dataMap map[time.Time]float64, startDate, lastDate time.Time) (err error) {
 	sql := `SELECT * FROM base_from_stock_plant_data WHERE variety_edb_id = ? `
 	var list []*BaseFromStockPlantData
-	_, err = to.Raw(sql, varietyEdbInfo.VarietyEdbId).QueryRows(&list)
+	err = to.Raw(sql, varietyEdbInfo.VarietyEdbId).Find(&list).Error
 	if err != nil {
 		return
 	}
@@ -218,7 +213,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 				if existItem.Value != currVal {
 					existItem.Value = currVal
 					existItem.ModifyTime = time.Now()
-					_, err = to.Update(existItem, "Value", "ModifyTime")
+					//err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
+					err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
 					if err != nil {
 						return
 					}
@@ -279,7 +275,8 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 				if existItem.Value != currVal {
 					existItem.Value = currVal
 					existItem.ModifyTime = time.Now()
-					_, err = to.Update(existItem, "Value", "ModifyTime")
+					//err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
+					err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
 					if err != nil {
 						return
 					}
@@ -329,7 +326,7 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 				if existItem.Value != currVal {
 					existItem.Value = currVal
 					existItem.ModifyTime = time.Now()
-					_, err = to.Update(existItem, "Value", "ModifyTime")
+					err = to.Model(existItem).Select([]string{"Value", "ModifyTime"}).Updates(existItem).Error
 					if err != nil {
 						return
 					}
@@ -347,7 +344,7 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 	// 需要添加的指标数据
 	lenAddList := len(addList)
 	if lenAddList > 0 {
-		_, err = to.InsertMulti(lenAddList, addList)
+		err = to.CreateInBatches(addList, utils.MultiAddNum).Error
 		if err != nil {
 			return
 		}
@@ -361,7 +358,7 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 			deleteIdList = append(deleteIdList, v)
 		}
 		sql = ` DELETE FROM base_from_stock_plant_data WHERE stock_plant_data_id in (` + utils.GetOrmInReplace(lenDeleteIdMap) + `) `
-		_, err = to.Raw(sql, deleteIdList).Exec()
+		err = to.Exec(sql, deleteIdList).Error
 		if err != nil {
 			return
 		}
@@ -371,7 +368,6 @@ func calculateEdb(to orm.TxOrmer, varietyEdbInfo *VarietyEdbInfo, dataMap map[ti
 	varietyEdbInfo.EndDate = endDate
 	varietyEdbInfo.LatestValue = latestValue
 	varietyEdbInfo.ModifyTime = time.Now()
-	_, err = to.Update(varietyEdbInfo, "StartDate", "EndDate", "LatestValue", "ModifyTime")
-
+	err = to.Model(varietyEdbInfo).Select([]string{"StartDate", "EndDate", "LatestValue", "ModifyTime"}).Updates(varietyEdbInfo).Error
 	return
 }

+ 11 - 200
models/supply_analysis/variety.go

@@ -1,215 +1,26 @@
 package supply_analysis
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_index_lib/global"
 	"time"
 )
 
 // Variety variety 品种表
 type Variety struct {
-	VarietyId                 int       `orm:"column(variety_id);pk"`
-	VarietyName               string    `description:"品种名称"`
-	LastUpdateSysUserId       int       `description:"最后更新人id"`
-	LastUpdateSysUserRealName string    `description:"最后更新人名称"`
-	ProductionDay             int       `description:"生产天数"`
-	SysUserId                 int       `description:"创建人id"`
-	SysUserRealName           string    `description:"创建人姓名"`
-	ModifyTime                time.Time `description:"修改时间"`
-	CreateTime                time.Time `description:"创建时间"`
+	VarietyId                 int       `gorm:"primaryKey;autoIncrement;column:variety_id" description:"品种ID"`
+	VarietyName               string    `gorm:"column:variety_name" description:"品种名称"`
+	LastUpdateSysUserId       int       `gorm:"column:last_update_sys_user_id" description:"最后更新人id"`
+	LastUpdateSysUserRealName string    `gorm:"column:last_update_sys_user_real_name" description:"最后更新人名称"`
+	ProductionDay             int       `gorm:"column:production_day" description:"生产天数"`
+	SysUserId                 int       `gorm:"column:sys_user_id" description:"创建人id"`
+	SysUserRealName           string    `gorm:"column:sys_user_real_name" description:"创建人姓名"`
+	ModifyTime                time.Time `gorm:"column:modify_time" description:"修改时间"`
+	CreateTime                time.Time `gorm:"column:create_time" description:"创建时间"`
 }
 
 // GetVarietyById 根据品种id获取品种详情
 func GetVarietyById(id int) (item *Variety, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM variety WHERE variety_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
-	return
-}
-
-// GetVarietyByName 根据品种名称获取品种详情
-func GetVarietyByName(name string) (item *Variety, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM variety WHERE variety_name = ?`
-	err = o.Raw(sql, name).QueryRow(&item)
-	return
-}
-
-// AddVariety 添加品种
-func AddVariety(item *Variety) (lastId int64, err error) {
-	o := orm.NewOrm()
-	lastId, err = o.Insert(item)
-	return
-}
-
-// CreateVariety 添加品种
-func CreateVariety(item *Variety, adminIdList []int) (err error) {
-	to, err := orm.NewOrm().Begin()
-	if err != nil {
-		return
-	}
-
-	defer func() {
-		if err != nil {
-			_ = to.Rollback()
-		} else {
-			_ = to.Commit()
-		}
-	}()
-	lastId, err := to.Insert(item)
-	if err != nil {
-		return
-	}
-
-	item.VarietyId = int(lastId)
-
-	varietyAdminPermissionList := make([]*VarietyAdminPermission, 0)
-	for _, adminId := range adminIdList {
-		varietyAdminPermissionList = append(varietyAdminPermissionList, &VarietyAdminPermission{
-			//Id:              0,
-			VarietyId:  item.VarietyId,
-			SysUserId:  adminId,
-			CreateTime: time.Now(),
-		})
-	}
-	if len(varietyAdminPermissionList) > 0 {
-		_, err = to.InsertMulti(len(varietyAdminPermissionList), varietyAdminPermissionList)
-	}
-
-	return
-}
-
-// EditVariety 编辑品种
-func EditVariety(item *Variety, adminIdList []int) (err error) {
-	to, err := orm.NewOrm().Begin()
-	if err != nil {
-		return
-	}
-
-	defer func() {
-		if err != nil {
-			_ = to.Rollback()
-		} else {
-			_ = to.Commit()
-		}
-	}()
-
-	_, err = to.Update(item, "VarietyName", "LastUpdateSysUserId", "LastUpdateSysUserRealName", "ModifyTime")
-	if err != nil {
-		return
-	}
-
-	// 删除历史的权限配置
-	sql := `DELETE FROM variety_admin_permission where variety_id = ? `
-	_, err = to.Raw(sql, item.VarietyId).Exec()
-	if err != nil {
-		return
-	}
-
-	// 添加新的权限配置
-	varietyAdminPermissionList := make([]*VarietyAdminPermission, 0)
-	for _, adminId := range adminIdList {
-		varietyAdminPermissionList = append(varietyAdminPermissionList, &VarietyAdminPermission{
-			//Id:              0,
-			VarietyId:  item.VarietyId,
-			SysUserId:  adminId,
-			CreateTime: time.Now(),
-		})
-	}
-	if len(varietyAdminPermissionList) > 0 {
-		_, err = to.InsertMulti(len(varietyAdminPermissionList), varietyAdminPermissionList)
-	}
-
-	return
-}
-
-// VarietyItem 列表页返回的数据结构
-type VarietyItem struct {
-	VarietyId                 int           `orm:"column(variety_id);pk"`
-	VarietyName               string        `description:"品种名称"`
-	LastUpdateSysUserId       int           `description:"最后更新人id"`
-	LastUpdateSysUserRealName string        `description:"最后更新人名称"`
-	PermissionUserId          string        `description:"有操作权限的用户id" json:"-"`
-	ModifyTime                string        `description:"修改时间"`
-	CreateTime                string        `description:"创建时间"`
-	Button                    VarietyButton `description:"操作按钮权限"`
-}
-
-type VarietyButton struct {
-	Edit    bool `description:"操作权限"`
-	Delete  bool `description:"删除权限"`
-	Analyse bool `description:"分析权限"`
-}
-
-// GetListBySuperAdminPage 不区分是否有分析权限的获取分页数据
-func (item Variety) GetListBySuperAdminPage(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*VarietyItem, err error) {
-	o := orm.NewOrm()
-	baseSql := ` FROM ( SELECT a.*, GROUP_CONCAT(DISTINCT b.sys_user_id ORDER BY b.sys_user_id ASC SEPARATOR ',') AS permission_user_id FROM variety a 
-				LEFT JOIN variety_admin_permission b on a.variety_id=b.variety_id 
-				LEFT JOIN variety_edb_info c on a.variety_id=c.variety_id WHERE 1=1 `
-	if condition != "" {
-		baseSql += condition
-	}
-	baseSql += ` GROUP BY a.variety_id ) d `
-	// 数据总数
-	totalSql := `SELECT COUNT(1) total ` + baseSql
-	err = o.Raw(totalSql, pars).QueryRow(&total)
-	if err != nil {
-		return
-	}
-
-	// 列表页数据
-	listSql := `SELECT * ` + baseSql + ` ORDER BY modify_time DESC,variety_id DESC LIMIT ?,?`
-	_, err = o.Raw(listSql, pars, startSize, pageSize).QueryRows(&items)
-	return
-}
-
-// GetListByPage 获取分页数据
-func (item Variety) GetListByPage(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*VarietyItem, err error) {
-	o := orm.NewOrm()
-	baseSql := ` FROM ( SELECT a.*, GROUP_CONCAT(DISTINCT b.sys_user_id ORDER BY b.sys_user_id ASC SEPARATOR ',') AS permission_user_id FROM variety a 
-				JOIN variety_admin_permission b on a.variety_id=b.variety_id 
-				JOIN variety_edb_info c on a.variety_id=c.variety_id WHERE 1=1 `
-	if condition != "" {
-		baseSql += condition
-	}
-	baseSql += ` GROUP BY a.variety_id ) d `
-	// 数据总数
-	totalSql := `SELECT COUNT(1) total ` + baseSql
-	err = o.Raw(totalSql, pars).QueryRow(&total)
-	if err != nil {
-		return
-	}
-
-	// 列表页数据
-	listSql := `SELECT * ` + baseSql + ` ORDER BY modify_time DESC,variety_id DESC LIMIT ?,?`
-	_, err = o.Raw(listSql, pars, startSize, pageSize).QueryRows(&items)
-	return
-}
-
-// Update 更基础信息
-func (variety *Variety) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(variety, cols...)
-	return
-}
-
-// GetVarietyMaxSort 获取图表分类下最大的排序数
-func GetVarietyMaxSort(parentId int) (sort int, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT Max(sort) AS sort FROM future_good_chart_classify WHERE parent_id=? AND is_delete=0 `
-	err = o.Raw(sql, parentId).QueryRow(&sort)
-	return
-}
-
-type VarietyView struct {
-	VarietyId   int    `orm:"column(future_good_chart_classify_id);pk"`
-	VarietyName string `description:"分类名称"`
-	ParentId    int    `description:"父级id"`
-}
-
-func GetVarietyViewById(classifyId int) (item *VarietyView, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM future_good_chart_classify WHERE future_good_chart_classify_id=? AND is_delete=0 `
-	err = o.Raw(sql, classifyId).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, id).First(&item).Error
 	return
 }

+ 7 - 7
models/supply_analysis/variety_admin_permission.go

@@ -1,22 +1,22 @@
 package supply_analysis
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_index_lib/global"
 	"time"
 )
 
 // VarietyAdminPermission variety_admin_permission 品种权限表
 type VarietyAdminPermission struct {
-	Id         int       `orm:"column(id);pk"`
-	VarietyId  int       `description:"品种id"`
-	SysUserId  int       `description:"用户id"`
-	CreateTime time.Time `description:"添加时间"`
+	Id         int       `gorm:"primaryKey;autoIncrement;column:id" description:"ID"`
+	VarietyId  int       `gorm:"column:variety_id" description:"品种id"`
+	SysUserId  int       `gorm:"column:sys_user_id" description:"用户id"`
+	CreateTime time.Time `gorm:"column:create_time" description:"添加时间"`
 }
 
 // GetVarietyPermissionByVarietyIdAndUserId 根据品种id和用户id获取权限记录表
 func GetVarietyPermissionByVarietyIdAndUserId(varietyId, sysUserId int) (item *VarietyAdminPermission, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM variety_admin_permission a  WHERE variety_id = ? AND sys_user_id = ? ORDER BY id desc `
-	err = o.Raw(sql, varietyId, sysUserId).QueryRow(&item)
+	err = global.DEFAULT_DB.Raw(sql, varietyId, sysUserId).First(&item).Error
+
 	return
 }

+ 17 - 79
models/supply_analysis/variety_edb_info.go

@@ -1,101 +1,39 @@
 package supply_analysis
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_index_lib/global"
 	"time"
 )
 
 // VarietyEdbInfo variety_edb_info 品种指标表
 type VarietyEdbInfo struct {
-	VarietyEdbId int       `orm:"column(variety_edb_id);pk"`
-	VarietyId    int       `description:"品种id"`
-	EdbName      string    `description:"品种指标名称"`
-	Frequency    string    `description:"频度"`
-	StartDate    time.Time `description:"开始日期"`
-	EndDate      time.Time `description:"结束日期"`
-	LatestValue  float64   `description:"最新值"`
-	EdbInfoId    int       `description:"指标id"`
-	EdbCode      string    `description:"品种编码"`
-	Source       int       `description:"来源,1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动"`
-	ModifyTime   time.Time `description:"更新时间"`
-	CreateTime   time.Time `description:"添加时间"`
+	VarietyEdbId int       `gorm:"primaryKey;autoIncrement;column:variety_edb_id" description:"品种指标ID"`
+	VarietyId    int       `gorm:"column:variety_id" description:"品种id"`
+	EdbName      string    `gorm:"column:edb_name" description:"品种指标名称"`
+	Frequency    string    `gorm:"column:frequency" description:"频度"`
+	StartDate    time.Time `gorm:"column:start_date" description:"开始日期"`
+	EndDate      time.Time `gorm:"column:end_date" description:"结束日期"`
+	LatestValue  float64   `gorm:"column:latest_value" description:"最新值"`
+	EdbInfoId    int       `gorm:"column:edb_info_id" description:"指标id"`
+	EdbCode      string    `gorm:"column:edb_code" description:"品种编码"`
+	Source       int       `gorm:"column:source" description:"来源,1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动"`
+	ModifyTime   time.Time `gorm:"column:modify_time" description:"更新时间"`
+	CreateTime   time.Time `gorm:"column:create_time" description:"添加时间"`
 }
 
 // GetAllVarietyEdbInfoByVarietyId 根据品种id获取所有的指标
 func GetAllVarietyEdbInfoByVarietyId(varietyId int) (items []*VarietyEdbInfo, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM variety_edb_info AS a WHERE a.variety_id = ? ORDER BY a.variety_edb_id ASC `
-	_, err = o.Raw(sql, varietyId).QueryRows(&items)
+	err = global.DEFAULT_DB.Raw(sql, varietyId).Scan(&items).Error
+
 	return
 }
 
 // GetVarietyEdbInfoByEdbInfoId 根据ETA指标库中的指标id获取指标
 func GetVarietyEdbInfoByEdbInfoId(varietyId int) (item *VarietyEdbInfo, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM variety_edb_info AS a WHERE a.edb_info_id = ? ORDER BY a.variety_edb_id ASC `
-	err = o.Raw(sql, varietyId).QueryRow(&item)
-
-	return
-}
-
-// BatchCreateVarietyEdbInfo 批量插入
-func BatchCreateVarietyEdbInfo(list []*VarietyEdbInfo) (err error) {
-	num := len(list)
-	if num <= 0 {
-		return
-	}
 
-	o := orm.NewOrm()
-	_, err = o.InsertMulti(num, list)
-
-	return
-}
-
-// GetCountVarietyEdbByVarietyId 根据品种id获取添加到已经生成的指标数量(不管是否加入到ETA指标库)
-func GetCountVarietyEdbByVarietyId(varietyId int) (total int, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT count(1) total FROM variety_edb_info AS a WHERE a.variety_id = ?`
-	err = o.Raw(sql, varietyId).QueryRow(&total)
-	return
-}
-
-// GetCountVarietyEdbInfoByVarietyId 根据品种id获取添加到ETA指标库的指标数量
-func GetCountVarietyEdbInfoByVarietyId(varietyId int) (total int, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT count(1) total FROM variety_edb_info AS a
-			JOIN edb_info b on a.edb_info_id=b.edb_info_id
-			WHERE a.variety_id = ? and a.edb_info_id >0`
-	err = o.Raw(sql, varietyId).QueryRow(&total)
-	return
-}
-
-// VarietyEdbInfoItem 品种指标表(展示使用)
-type VarietyEdbInfoItem struct {
-	VarietyEdbId int                  `orm:"column(variety_edb_id);pk"`
-	VarietyId    int                  `description:"品种id"`
-	EdbName      string               `description:"品种指标名称"`
-	Frequency    string               `description:"频度"`
-	StartDate    string               `description:"开始日期"`
-	EndDate      string               `description:"结束日期"`
-	EdbInfoId    int                  `description:"指标id" json:"-"`
-	EdbCode      string               `description:"品种编码"`
-	ClassifyName string               `description:"分类名称"`
-	Source       int                  `description:"来源,1:影响周度产量;2:周度产量变动;3:影响月度产量;4:月度产量变动" json:"-"`
-	ModifyTime   string               `description:"最近一次更新时间"`
-	CreateTime   string               `description:"添加时间"`
-	Button       VarietyEdbInfoButton `description:"操作按钮权限"`
-}
-
-type VarietyEdbInfoButton struct {
-	Copy bool `description:"复制数据权限"`
-	Show bool `description:"查看数据权限"`
-	Add  bool `description:"添加到指标库"`
-}
+	sql := `SELECT * FROM variety_edb_info AS a WHERE a.edb_info_id = ? ORDER BY a.variety_edb_id ASC `
+	err = global.DEFAULT_DB.Raw(sql, varietyId).First(&item).Error
 
-// GetAllVarietyEdbInfoItemByVarietyId 根据品种id获取所有的指标
-func GetAllVarietyEdbInfoItemByVarietyId(varietyId int) (items []*VarietyEdbInfoItem, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM variety_edb_info AS a WHERE a.variety_id = ? ORDER BY a.variety_edb_id ASC `
-	_, err = o.Raw(sql, varietyId).QueryRows(&items)
 	return
 }

+ 20 - 91
models/supply_analysis/variety_plant.go

@@ -1,113 +1,42 @@
 package supply_analysis
 
 import (
-	"github.com/beego/beego/v2/client/orm"
+	"eta/eta_index_lib/global"
 	"time"
 )
 
 // VarietyPlant variety_plant 品种装置表
 type VarietyPlant struct {
-	VarietyPlantId                int       `orm:"column(variety_plant_id);pk"`
-	VarietyId                     int       `description:"品种id"`
-	Province                      string    `description:"所属省份"`
-	City                          string    `description:"所属城市"`
-	FactoryName                   string    `description:"工厂名称"`
-	PlantName                     string    `description:"装置/产线名称"`
-	MaintenanceDate               time.Time `description:"检修日期"`
-	ResumptionDate                time.Time `description:"复产日期"`
-	AnnualCapacity                float64   `description:"年产能"`
-	Coefficient                   float64   `description:"降负系数"`
-	AverageDailyCapacityReduction float64   `description:"日均产量减量"`
-	IsStop                        int       `description:"是否停产,0:未停产;1:停产;默认未停产"`
-	Sort                          int       `description:"排序字段,越小越靠前"`
-	SysUserId                     int       `description:"添加人id"`
-	SysUserRealName               string    `description:"添加人真实姓名"`
-	ModifyTime                    time.Time `description:"最近一次更新时间"`
-	CreateTime                    time.Time `description:"添加时间"`
+	VarietyPlantId                int       `gorm:"primaryKey;autoIncrement;column:variety_plant_id" description:"品种装置ID"`
+	VarietyId                     int       `gorm:"column:variety_id" description:"品种id"`
+	Province                      string    `gorm:"column:province" description:"所属省份"`
+	City                          string    `gorm:"column:city" description:"所属城市"`
+	FactoryName                   string    `gorm:"column:factory_name" description:"工厂名称"`
+	PlantName                     string    `gorm:"column:plant_name" description:"装置/产线名称"`
+	MaintenanceDate               time.Time `gorm:"column:maintenance_date" description:"检修日期"`
+	ResumptionDate                time.Time `gorm:"column:resumption_date" description:"复产日期"`
+	AnnualCapacity                float64   `gorm:"column:annual_capacity" description:"年产能"`
+	Coefficient                   float64   `gorm:"column:coefficient" description:"降负系数"`
+	AverageDailyCapacityReduction float64   `gorm:"column:average_daily_capacity_reduction" description:"日均产量减量"`
+	IsStop                        int       `gorm:"column:is_stop" description:"是否停产,0:未停产;1:停产;默认未停产"`
+	Sort                          int       `gorm:"column:sort" description:"排序字段,越小越靠前"`
+	SysUserId                     int       `gorm:"column:sys_user_id" description:"添加人id"`
+	SysUserRealName               string    `gorm:"column:sys_user_real_name" description:"添加人真实姓名"`
+	ModifyTime                    time.Time `gorm:"column:modify_time" description:"最近一次更新时间"`
+	CreateTime                    time.Time `gorm:"column:create_time" description:"添加时间"`
 }
 
 // GetAllVarietyPlantByVarietyId 根据品种id获取所有的装置
 func GetAllVarietyPlantByVarietyId(varietyId int) (items []*VarietyPlant, err error) {
-	o := orm.NewOrm()
 	sql := `SELECT * FROM variety_plant a  WHERE variety_id = ? ORDER BY variety_plant_id desc `
-	_, err = o.Raw(sql, varietyId).QueryRows(&items)
-	return
-}
-
-// AddVarietyPlant 添加future_good_chart分类
-func AddVarietyPlant(item *VarietyPlant) (err error) {
-	o := orm.NewOrm()
-	lastId, err := o.Insert(item)
-	if err != nil {
-		return
-	}
-	item.VarietyPlantId = int(lastId)
+	err = global.DEFAULT_DB.Raw(sql, varietyId).Find(&items).Error
 
 	return
 }
 
 // Update 更新基础信息
 func (varietyPlant *VarietyPlant) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(varietyPlant, cols...)
-	return
-}
-
-// GetVarietyPlantById 根据品种装置id获取品种装置详情
-func GetVarietyPlantById(id int) (item *VarietyPlant, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM variety_plant WHERE variety_plant_id = ?`
-	err = o.Raw(sql, id).QueryRow(&item)
-	return
-}
-
-// VarietyPlantItem 品种装置数据(展示使用)
-type VarietyPlantItem struct {
-	VarietyPlantId                int                `orm:"column(variety_plant_id);pk"`
-	VarietyId                     int                `description:"品种id"`
-	Province                      string             `description:"所属省份"`
-	City                          string             `description:"所属城市"`
-	FactoryName                   string             `description:"工厂名称"`
-	PlantName                     string             `description:"装置/产线名称"`
-	MaintenanceDate               string             `description:"检修日期"`
-	ResumptionDate                string             `description:"复产日期"`
-	AnnualCapacity                float64            `description:"年产能"`
-	Coefficient                   float64            `description:"降负系数"`
-	AverageDailyCapacityReduction float64            `description:"日均产量减量"`
-	IsStop                        int                `description:"是否停产,0:未停产;1:停产;默认未停产"`
-	Sort                          int                `description:"排序字段,越小越靠前"`
-	SysUserId                     int                `description:"添加人id"`
-	SysUserRealName               string             `description:"添加人真实姓名"`
-	ModifyTime                    string             `description:"最近一次更新时间"`
-	CreateTime                    string             `description:"添加时间"`
-	Button                        VarietyPlantButton `description:"操作按钮权限"`
-}
-
-type VarietyPlantButton struct {
-	Edit   bool `description:"操作权限"`
-	Delete bool `description:"删除权限"`
-}
-
-// GetAllVarietyPlantItemByVarietyId 根据品种id获取所有的装置
-func GetAllVarietyPlantItemByVarietyId(varietyId int) (items []*VarietyPlantItem, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM variety_plant a  WHERE variety_id = ? ORDER BY variety_plant_id desc `
-	_, err = o.Raw(sql, varietyId).QueryRows(&items)
-	return
-}
-
-// GetCountVarietyPlantByVarietyId 根据品种id获取所有的装置数量
-func GetCountVarietyPlantByVarietyId(varietyId int) (total int, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT count(1) total FROM variety_plant a  WHERE variety_id = ? `
-	err = o.Raw(sql, varietyId).QueryRow(&total)
-	return
-}
+	err = global.DEFAULT_DB.Model(varietyPlant).Select(cols).Updates(varietyPlant).Error
 
-// DeleteVarietyPlantById 根据装置id删除
-func DeleteVarietyPlantById(id int) (err error) {
-	o := orm.NewOrm()
-	sql := `DELETE FROM variety_plant WHERE variety_plant_id = ?`
-	_, err = o.Raw(sql, id).Exec()
 	return
 }