123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- package data_source
- import (
- "eta_gn/eta_api/global"
- "eta_gn/eta_api/models/data_manage"
- "eta_gn/eta_api/utils"
- "time"
- )
- type Longzhonginfo struct {
- LongzhonginfoId int `gorm:"primaryKey;column:longzhonginfo_id;type:int(11);not null"`
- TradeCode string `gorm:"unique;column:trade_code;type:varchar(32);default:''"`
- SecName string `gorm:"unique;column:sec_name;type:varchar(180);default:''"`
- Unit string `gorm:"column:unit;type:varchar(100);default:''"`
- Frequency string `gorm:"column:frequency;type:varchar(20);default:''"`
-
-
-
-
- LastModifyDate string `gorm:"column:last_modify_date;type:date"`
-
-
-
-
-
- }
- func GetLongzhonginfoByClassifyId(classifyId int) (items []*Longzhonginfo, err error) {
- sql := `SELECT * FROM longzhonginfo WHERE classify_id=? ORDER BY longzhonginfo_id ASC `
-
-
- err = global.DmSQL["edb"].Raw(sql, classifyId).Find(&items).Error
- return
- }
- func GetLongzhongDataMaxCount(classifyId int) (count int, err error) {
-
- sql := `SELECT MAX(t.num) AS count FROM (
- SELECT COUNT(1) AS num FROM longzhonginfo AS a
- INNER JOIN longzhongdata AS b ON a.longzhonginfo_id=b.longzhonginfo_id
- WHERE a.classify_id=?
- GROUP BY a.longzhonginfo_id
- )AS t `
-
- err = global.DmSQL["edb"].Raw(sql, classifyId).Scan(&count).Error
- return
- }
- type Longzhongdata struct {
- LongzhongdataId int `gorm:"primaryKey;column:longzhongdata_id;type:int(11);not null"`
- LongzhonginfoId int `gorm:"uniqueIndex:idx_longzhonginfo_id;column:longzhonginfo_id;type:int(11);default:0"`
- TradeCode string `gorm:"uniqueIndex:idx_trade_code_dt;column:trade_code;type:varchar(32);default:''"`
- Dt string `gorm:"uniqueIndex:idx_trade_code_dt;uniqueIndex:idx_longzhonginfo_id;column:dt;type:date"`
- Close float64 `gorm:"column:close;type:double"`
- CreateTime time.Time `gorm:"column:create_time;type:datetime;default:CURRENT_TIMESTAMP"`
- ModifyTime time.Time `gorm:"column:modify_time;type:datetime;default:CURRENT_TIMESTAMP"`
- UnitDesc string `gorm:"column:unit_desc;type:varchar(255);default:''"`
- UpdTime string `gorm:"column:upd_time;type:varchar(20);default:''"`
-
- DisplayTime string `gorm:"column:display_time;type:varchar(30);default:''"`
- }
- func GetLongzhongDataById(lzInfoId int) (items []*Longzhongdata, err error) {
-
- sql := `SELECT * FROM longzhongdata WHERE longzhonginfo_id=? ORDER BY dt DESC `
-
- err = global.DmSQL["edb"].Raw(sql, lzInfoId).Find(&items).Error
- return
- }
- func GetLongzhongSurveyDataMaxCount(classifyName string) (count int, err error) {
-
- sql := `SELECT MAX(t.num) AS count FROM (
- SELECT COUNT(1) AS num FROM longzhong_survey_product AS a
- INNER JOIN longzhong_survey_data AS b ON a.survey_product_id=b.survey_product_id
- WHERE a.breed_name=?
- GROUP BY a.survey_product_id
- )AS t `
-
- err = global.DmSQL["edb"].Raw(sql, classifyName).Scan(&count).Error
- return
- }
- func GetLongzhongSurveyDataMaxCountByFrequency(classifyName string, frequency int) (count int, err error) {
-
- sql := `SELECT MAX(t.num) AS count FROM (
- SELECT COUNT(1) AS num FROM longzhong_survey_product AS a
- INNER JOIN longzhong_survey_data AS b ON a.survey_product_id=b.survey_product_id
- WHERE a.breed_name=? AND a.frequency=?
- GROUP BY a.survey_product_id
- )AS t `
-
- err = global.DmSQL["edb"].Raw(sql, classifyName, frequency).Scan(&count).Error
- return
- }
- type ExportLzSurveyDataMaxCount struct {
- Count int `description:"最大数据量" gorm:"column:count"`
- BreedId int `description:"品种ID" gorm:"column:breed_id"`
- }
- func GetExportLzSurveyDataMaxCount(breedIds []string) (items []ExportLzSurveyDataMaxCount, err error) {
- if len(breedIds) == 0 {
- return
- }
-
- sql := ` SELECT
- MAX(t.num) AS count,
- t.breed_id
- FROM
- (
- SELECT
- COUNT(1) AS num,
- a.breed_id AS breed_id
- FROM
- longzhong_survey_product AS a
- INNER JOIN longzhong_survey_data AS b ON a.survey_product_id = b.survey_product_id
- WHERE
- a.breed_id IN (` + utils.GetOrmInReplace(len(breedIds)) + `)
- GROUP BY
- a.survey_product_id
- ) AS t
- GROUP BY
- t.breed_id `
-
- err = global.DmSQL["edb"].Raw(sql, breedIds).Find(&items).Error
- return
- }
- func GetExportLzSurveyDataByBreedIds(breedIds []string) (items []*LongzhongSurveyData, err error) {
- if len(breedIds) == 0 {
- return
- }
-
- fields := ` survey_product_id, breed_id, input_value, data_time `
- sql := `SELECT ` + fields + ` FROM longzhong_survey_data WHERE breed_id IN (` + utils.GetOrmInReplace(len(breedIds)) + `) ORDER BY breed_id ASC, survey_product_id ASC, data_time DESC `
-
- err = global.DmSQL["edb"].Raw(sql, breedIds).Find(&items).Error
- return
- }
- type LongzhongSurveyData struct {
- SurveyDataId int `gorm:"primaryKey;column:survey_data_id;type:int(11);not null"`
- SurveyProductId int `gorm:"column:survey_product_id;type:int(11)"`
- ProjectQuotaId int64 `gorm:"column:project_quota_id;type:int(11)"`
- BreedId string `gorm:"column:breed_id;type:varchar(20);default:''"`
- BreedName string `gorm:"column:breed_name;type:varchar(100);default:''"`
- QuotaId string `gorm:"column:quota_id;type:varchar(20);default:''"`
- QuotaName string `gorm:"column:quota_name;type:varchar(255);default:''"`
- UnitId string `gorm:"column:unit_id;type:varchar(20);default:''"`
- UnitName string `gorm:"column:unit_name;type:varchar(100);default:''"`
- SampleType int64 `gorm:"column:sample_type;type:int(11);default:0"`
- SampleId string `gorm:"column:sample_id;type:varchar(50);default:''"`
- SampleName string `gorm:"column:sample_name;type:varchar(100);default:''"`
- DeviceId string `gorm:"column:device_id;type:varchar(50);default:''"`
- Device string `gorm:"column:device;type:varchar(100);default:''"`
- ProductCraftId string `gorm:"column:product_craft_id;type:varchar(50);default:''"`
- ProductCraft string `gorm:"column:product_craft;type:varchar(100);default:''"`
- ProductLine string `gorm:"column:product_line;type:varchar(100);default:''"`
- InputMode int64 `gorm:"column:input_mode;type:int(11);default:0"`
- Frequency int64 `gorm:"column:frequency;type:int(11);default:0"`
- InputValue float64 `gorm:"column:input_value;type:double"`
- TaskShouldFinishTime int64 `gorm:"column:task_should_finish_time;type:bigint(11);default:0"`
- CustomId int64 `gorm:"column:custom_id;type:int(11);default:0"`
- CustomType int64 `gorm:"column:custom_type;type:int(11);default:0"`
- Custom string `gorm:"column:custom;type:varchar(200);default:''"`
- QuotaSampleId int64 `gorm:"column:quota_sample_id;type:int(11)"`
- TaskActualFinishTime int64 `gorm:"column:task_actual_finish_time;type:bigint(11)"`
- AreaName string `gorm:"column:area_name;type:varchar(100);default:''"`
- ProvinceName string `gorm:"column:province_name;type:varchar(100);default:''"`
- ResearchStartData int64 `gorm:"column:research_start_data;type:int(11)"`
- ResearchStopData int64 `gorm:"column:research_stop_data;type:int(11)"`
- DataTime string `gorm:"column:data_time;type:date"`
- }
- func GetLongzhongSurveyDataById(lzInfoId int) (items []*LongzhongSurveyData, err error) {
-
- sql := `SELECT * FROM longzhong_survey_data WHERE survey_product_id=? ORDER BY data_time DESC `
-
- err = global.DmSQL["edb"].Raw(sql, lzInfoId).Find(&items).Error
- return
- }
- func GetLzItemList(keyword string) (items []*data_manage.LongzhongSurveyProduct, err error) {
-
- sql := "SELECT * FROM longzhong_survey_product WHERE CONCAT(sample_name,breed_name,custom,quota_name,lz_code) LIKE ? "
-
- err = global.DmSQL["edb"].Raw(sql, utils.GetLikeKeyword(keyword)).Find(&items).Error
- return
- }
- func GetLzProductIdByCode(lzCode string) (productId int, err error) {
-
- sql := "SELECT survey_product_id FROM longzhong_survey_product WHERE lz_code=?"
-
- err = global.DmSQL["edb"].Raw(sql, lzCode).Scan(&productId).Error
- return
- }
- func GetLzSurveyDataMaxCountByProductId(surveyProductId int) (productId int, err error) {
-
- sql := "SELECT COUNT(1) FROM longzhong_survey_data WHERE survey_product_id=?"
-
- err = global.DmSQL["edb"].Raw(sql, surveyProductId).Scan(&productId).Error
- return
- }
|