Selaa lähdekoodia

后端: 目录管理导出Excel接口bugfix,可按查询条件导出

baichengfei 4 vuotta sitten
vanhempi
commit
5fcfe5fdbe
1 muutettua tiedostoa jossa 73 lisäystä ja 13 poistoa
  1. 73 13
      src/dashoo.cn/backend/api/controllers/oilsupplier/oilcatalog.go

+ 73 - 13
src/dashoo.cn/backend/api/controllers/oilsupplier/oilcatalog.go

@@ -271,33 +271,93 @@ func (this *OilCatalogController) ExportExcelIncome() {
 	//CardTitle := this.GetString("CardTitle")
 	CatalogType := this.GetString("CatalogType")
 
-	svc := oilcatalog.GetOilCatalogService(utils.DBE)
-	var list []oilcatalog.OilCatalog
 	where := "CatalogType=" + CatalogType
-	svc.GetEntities(&list, where)
+	orderBy := "Id"
+	asc := false
+	Order := this.GetString("Order")
+	Prop := this.GetString("Prop")
+	if Order != "" && Prop != "" {
+		orderBy = Prop
+		if Order == "asc" {
+			asc = true
+		}
+	}
+	SubId := this.GetString("SubId")
+	CompanyName := this.GetString("CompanyName")
+	Business := this.GetString("Business")
+	Status := this.GetString("Status")
+	CreateOn := this.GetString("CreateOn")
+	Year := this.GetString("Year")
+
+	if SubId != "" {
+		where = where + " and SubId=" + SubId
+	}
+
+	if CompanyName != "" {
+		where = where + " and CompanyName like '%" + CompanyName + "%' "
+	}
+	if Business != "" {
+		where = where + " and Business like '%" + Business + "%' "
+	}
+
+	if Status != "" {
+		where = where + " and Status = '" + Status + "'"
+	}
+
+	if Year != "" {
+		where = where + " and CreateOn >= '" + Year + "-01-01 00:00:00' and CreateOn <='" + Year + "-12-31 00:00:00'"
+	}
+
+	if CreateOn != "" {
+		dates := strings.Split(CreateOn, ",")
+		if len(dates) == 2 {
+			minDate := dates[0]
+			maxDate := dates[1]
+			where = where + " and ValidityTo>='" + minDate + "' and ValidityTo<='" + maxDate + "'"
+		}
+	}
+
+	var list []oilcatalog.OilCatalog
 
-	filetitle := "大港油田收入业务目录"
-	showcolumnarr := "企业名称,法人姓名,法人身份证号,企业注册地址,全国统一信用代码,注册资本,申请备案范围,备注"
+	sql := `select * from OilCatalog 
+		where ` + where + ` order by ` + orderBy
+	if asc {
+		sql = sql + " asc "
+	} else {
+		sql = sql + " desc "
+	}
+	utils.DBE.Sql(sql).Find(&list)
+
+	fileTitle := "大港油田收入业务目录"
+	showColumnArr := "企业名称,法人姓名,法人身份证号,企业注册地址,全国统一信用代码,注册资本,业务范围,申报单位,有效期,备注"
 
 	f := xlsx.NewFile()
-	sheet, _ := f.AddSheet(filetitle)
-	cellname := strings.Split(showcolumnarr, ",")
+	sheet, _ := f.AddSheet(fileTitle)
+	cellName := strings.Split(showColumnArr, ",")
 	row := sheet.AddRow()
-	row.WriteSlice(&cellname, -1)
+	row.WriteSlice(&cellName, -1)
 
 	for _, item := range list {
-		datastring := item.CompanyName + "," + item.LegalPerson + "," + item.IDCode + "," + item.Address + "," + item.USCCode +
-			"," + strconv.FormatFloat(item.RegCapital, 'f', 2, 64) + "," + item.RecordScope + "," + item.Remark
-		cellname := strings.Split(datastring, ",")
+		var dataArr []string
+		dataArr = append(dataArr, item.CompanyName)
+		dataArr = append(dataArr, item.LegalPerson)
+		dataArr = append(dataArr, item.IDCode)
+		dataArr = append(dataArr, item.Address)
+		dataArr = append(dataArr, item.USCCode)
+		dataArr = append(dataArr, strconv.FormatFloat(item.RegCapital, 'f', 2, 64))
+		dataArr = append(dataArr, item.Business)
+		dataArr = append(dataArr, item.Dept)
+		dataArr = append(dataArr, item.ValidityTo.Format("2006-01-02 15:04:05"))
+		dataArr = append(dataArr, item.Remark)
 		row := sheet.AddRow()
-		row.WriteSlice(&cellname, -1)
+		row.WriteSlice(&dataArr, -1)
 	}
 	for c, cl := 0, len(sheet.Cols); c < cl; c++ {
 		sheet.Cols[c].Width = 20
 	}
 	dir := "static/file/excel/report/" + this.GetAccode()
 	SaveDirectory(dir)
-	path := dir + "/" + utils.TimeFormat(time.Now(), "20060102") + filetitle + ".xlsx"
+	path := dir + "/" + utils.TimeFormat(time.Now(), "20060102") + fileTitle + ".xlsx"
 	f.Save(path)
 	var sw *Seaweed
 	var filer []string