Roc 1 年之前
父節點
當前提交
ddf820e237
共有 2 個文件被更改,包括 155 次插入21 次删除
  1. 96 0
      controllers/base_from_mysteel_chemical.go
  2. 59 21
      models/base_from_mysteel_chemical.go

+ 96 - 0
controllers/base_from_mysteel_chemical.go

@@ -177,3 +177,99 @@ func (this *MySteelChemicalController) HandleMysteelIndex() {
 	br.Success = true
 	br.Msg = "处理成功"
 }
+
+// GetMaxFileIndex
+// @Title 获取最大的文件编号下标
+// @Description 获取最大的文件编号下标
+// @Success 200 {object} models.HandleMysteelIndexResp
+// @router /getMaxFileIndex [get]
+func (this *MySteelChemicalController) GetMaxFileIndex() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.GetMaxFileIndexReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	indexObj := new(models.BaseFromMysteelChemicalIndex)
+	// 获取最大的文件编号下标
+	item, err := indexObj.GetMaxFileIndex(req.Frequency)
+	if err != nil {
+		return
+	}
+
+	br.Data = item
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "处理成功"
+}
+
+// GetNoMergeIndexByFrequencyCount
+// @Title 获取未合并的指标总数量
+// @Description 获取未合并的指标总数量
+// @Success 200 {object} models.HandleMysteelIndexResp
+// @router /getNoMergeIndexByFrequencyCount [get]
+func (this *MySteelChemicalController) GetNoMergeIndexByFrequencyCount() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.GetMaxFileIndexReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	indexObj := new(models.BaseFromMysteelChemicalIndex)
+	// 获取未合并的指标总数量
+	indexTotal, err := indexObj.GetNoMergeIndexByFrequencyCount(req.Frequency)
+	if err != nil {
+		return
+	}
+
+	br.Data = indexTotal
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "处理成功"
+}
+
+// GetNoMergeIndexByFrequencyPage
+// @Title 获取未合并的指标列表
+// @Description 获取未合并的指标列表
+// @Success 200 {object} models.HandleMysteelIndexResp
+// @router /getNoMergeIndexByFrequencyPage [get]
+func (this *MySteelChemicalController) GetNoMergeIndexByFrequencyPage() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.GetNoMergeIndexByFrequencyPageReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	indexObj := new(models.BaseFromMysteelChemicalIndex)
+	// 获取未合并的指标总数量
+	indexTotal, err := indexObj.GetNoMergeIndexByFrequencyPage(req.Frequency, req.Limit)
+	if err != nil {
+		return
+	}
+
+	br.Data = indexTotal
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "处理成功"
+}

+ 59 - 21
models/base_from_mysteel_chemical.go

@@ -224,13 +224,71 @@ type BaseFromMysteelChemicalIndex struct {
 }
 
 // GetIndexRefreshAllByMergeFile 根据合并文件去分组查询需要刷新的文件
-func (d *BaseFromMysteelChemicalIndex) GetIndexRefreshAllByMergeFile() (items []*BaseFromMysteelChemicalIndex, err error) {
+func (m *BaseFromMysteelChemicalIndex) GetIndexRefreshAllByMergeFile() (items []*BaseFromMysteelChemicalIndex, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE merge_file_path <>'' AND base_from_mysteel_chemical_classify_id NOT IN(54,55,56,57)`
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
+func (m *BaseFromMysteelChemicalIndex) GetIndexItem(indexCode string) (item *BaseFromMysteelChemicalIndex, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code = ? `
+	err = o.Raw(sql, indexCode).QueryRow(&item)
+	return
+}
+
+// Add 新增
+func (m *BaseFromMysteelChemicalIndex) Add() (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(m)
+	return
+}
+
+func (m *BaseFromMysteelChemicalIndex) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(m, cols...)
+	return
+}
+
+// GetNoMergeIndexByFrequencyCount 获取未合并的指标总数量
+func (m *BaseFromMysteelChemicalIndex) GetNoMergeIndexByFrequencyCount(frequency string) (total int64, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT count(1) AS total FROM base_from_mysteel_chemical_index WHERE frequency=? AND index_name NOT LIKE "%停%"  `
+	err = o.Raw(sql, frequency).QueryRow(&total)
+
+	return
+}
+
+// GetMaxFileIndexReq 获取最大文件数请求
+type GetMaxFileIndexReq struct {
+	Frequency string
+}
+
+// GetMaxFileIndex 获取最大文件的
+func (m *BaseFromMysteelChemicalIndex) GetMaxFileIndex(frequency string) (item *BaseFromMysteelChemicalIndex, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE frequency=? AND index_name NOT LIKE "%停%" ORDER BY file_index DESC `
+	err = o.Raw(sql, frequency).QueryRow(&item)
+
+	return
+}
+
+// GetNoMergeIndexByFrequencyPageReq 获取未合并的指标列表
+type GetNoMergeIndexByFrequencyPageReq struct {
+	Frequency string
+	Limit     int
+}
+
+// GetNoMergeIndexByFrequencyPage 获取未合并的指标列表
+func (m *BaseFromMysteelChemicalIndex) GetNoMergeIndexByFrequencyPage(frequency string, limit int) (item []*BaseFromMysteelChemicalIndex, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE frequency=? AND merge_file_path = ? limit ? `
+	err = o.Raw(sql, frequency, "", limit).QueryRow(&item)
+
+	return
+}
+
 type HandleMysteelIndex struct {
 	IndexName    string `description:"指标名称"`
 	IndexCode    string `description:"指标编码"`
@@ -260,26 +318,6 @@ type BaseFromMysteelChemicalData struct {
 	ModifyTime                     time.Time `description:"修改时间"`
 }
 
-func (d *BaseFromMysteelChemicalIndex) GetIndexItem(indexCode string) (item *BaseFromMysteelChemicalIndex, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE index_code = ? `
-	err = o.Raw(sql, indexCode).QueryRow(&item)
-	return
-}
-
-// 新增
-func (r *BaseFromMysteelChemicalIndex) Add() (err error) {
-	o := orm.NewOrm()
-	_, err = o.Insert(r)
-	return
-}
-
-func (m *BaseFromMysteelChemicalIndex) Update(cols []string) (err error) {
-	o := orm.NewOrm()
-	_, err = o.Update(m, cols...)
-	return
-}
-
 // GetIndexDataList 根据指标编码获取数据
 func (d *BaseFromMysteelChemicalData) GetIndexDataList(indexCode string) (item []*BaseFromMysteelChemicalData, err error) {
 	o := orm.NewOrm()