Преглед изворни кода

后端: 统计数据存表格

baichengfei пре 4 година
родитељ
комит
35957bb112

+ 19 - 0
src/dashoo.cn/backend/api/business/oilsupplier/supplierStatistics/supplierStatistics.go

@@ -0,0 +1,19 @@
+package supplierStatistics
+
+type OilSupplierStatistics struct {
+	Id                 int `xorm:"not null pk autoincr INT(10)"`
+	GoodsNum           int
+	TecNum             int
+	BasNum             int
+	ReviewNum          int
+	TenderNum          int
+	StrategicNum       int
+	OneLevelGoodsNum   int
+	TwoLevelMakeNum    int
+	TwoLevelNotMakeNum int
+	RegCapitalSmall    int
+	RegCapital2        int
+	RegCapital3        int
+	RegCapital4        int
+	RegCapitalBig      int
+}

+ 22 - 0
src/dashoo.cn/backend/api/business/oilsupplier/supplierStatistics/supplierStatisticsService.go

@@ -0,0 +1,22 @@
+package supplierStatistics
+
+import (
+	. "dashoo.cn/backend/api/mydb"
+	"github.com/go-xorm/xorm"
+)
+
+type SupplierStatisticsService struct {
+	MyServiceBase
+}
+
+func GetSupplierStatisticsService(xormEngine *xorm.Engine) *SupplierStatisticsService {
+	s := new(SupplierStatisticsService)
+	s.DBE = xormEngine
+	return s
+}
+
+func (s *SupplierStatisticsService) GetStatisticsInfo() (model SupplierStatisticsService) {
+	where := "Id = 1"
+	s.GetEntity(&model, where)
+	return model
+}

+ 37 - 1
src/dashoo.cn/backend/api/controllers/oilsupplier/supplier.go

@@ -11,6 +11,7 @@ import (
 	"dashoo.cn/backend/api/business/oilsupplier/oilcatalog"
 	"dashoo.cn/backend/api/business/oilsupplier/oilcatalogsub"
 	"dashoo.cn/backend/api/business/oilsupplier/qualchange"
+	"dashoo.cn/backend/api/business/oilsupplier/supplierStatistics"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappend"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertappendsub"
 	"dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
@@ -4330,8 +4331,9 @@ func (this *OilSupplierController) RecoverCertSub() {
 // @Success 200 {object}
 // @router /statisticalNum [get]
 func (this *OilSupplierController) StatisticalNum() {
+	log.Println("开始统计")
 	certService := suppliercert.GetOilSupplierCertService(utils.DBE)
-	var statisticalNum supplier.StatisticalNum
+	var statisticalNum supplierStatistics.OilSupplierStatistics
 	var supplierGoods []suppliercert.OilSupplierCert
 	certService.GetEntitysByWhere(OilSupplierCertName, "SupplierTypeCode = '01'", &supplierGoods)
 	statisticalNum.GoodsNum = len(supplierGoods)
@@ -4388,6 +4390,40 @@ func (this *OilSupplierController) StatisticalNum() {
 	var RegCapitalBig []supplier.OilSupplier
 	certService.GetEntitysByWhere(OilSupplierName, "RegCapital >= 5000", &RegCapitalBig)
 	statisticalNum.RegCapitalBig = len(RegCapitalBig)
+	log.Println("结束统计")
+	cols := []string{
+		"GoodsNum",
+		"TecNum",
+		"BasNum",
+		"ReviewNum",
+		"TenderNum",
+		"StrategicNum",
+		"OneLevelGoodsNum",
+		"TwoLevelMakeNum",
+		"TwoLevelNotMakeNum",
+		"RegCapitalSmall",
+		"RegCapital2",
+		"RegCapital3",
+		"RegCapital4",
+		"RegCapitalBig",
+	}
+	statisticService := supplierStatistics.GetSupplierStatisticsService(utils.DBE)
+	whereStatistic := "Id = 1"
+	err := statisticService.UpdateEntityBywheretbl("OilSupplierStatistics", &statisticalNum, cols, whereStatistic)
+	if err != nil {
+		log.Println("统计更新首页数据失败")
+	}
+}
+
+// @Title 首页统计饼图
+// @Description 首页统计饼图
+// @Success 200 {object}
+// @router /statistic [get]
+func (this *OilSupplierController) StatisticalSupplierType() {
+	statisticsService := supplierStatistics.GetSupplierStatisticsService(utils.DBE)
+	var statisticalNum supplierStatistics.OilSupplierStatistics
+
+	statisticsService.GetEntityById(1, &statisticalNum)
 
 	this.Data["json"] = &statisticalNum
 	this.ServeJSON()

+ 12 - 0
src/dashoo.cn/backend/api/controllers/toolbox/toolbox.go

@@ -14,6 +14,7 @@ func TimingTask() {
 	c := new(oilsupplier.OilSupplierCertController)
 	invoice := new(invoice.OilInvoiceController)
 	todo := new(oilsupplier.TodoListController)
+	supplier := new(oilsupplier.OilSupplierController)
 
 	//tkInFlag := toolbox.NewTask("myTaskInFlag", "0 0 1 * * *", func() error {
 	//	c.UpdataInFlag()
@@ -68,6 +69,17 @@ func TimingTask() {
 	} */
 	toolbox.AddTask("myTaskInvoiceStatus", tkInvoiceStatus)
 
+	//  每分钟统计首页数据状态
+	tkStatisticsInfo := toolbox.NewTask("myTaskInvoiceStatus", "0 */1 * * * *", func() error {
+		supplier.StatisticalNum()
+		return nil
+	})
+	/* err = tkSupplierStatus.Run()
+	if err != nil {
+		fmt.Println(err)
+	} */
+	toolbox.AddTask("myTaskStatisticsInfo", tkStatisticsInfo)
+
 	// 有待办调港信通
 	tkToDo := toolbox.NewTask("myTaskToDo", "0 0 8 * * *", func() error { // 0 */2 * * * *	每两分钟一次
 		todo.PushMsgForTodoUser()