From 44ebedd38a3b1b7833a661116636d3f2887032d1 Mon Sep 17 00:00:00 2001
From: DengBiao <2319963317@qq.com>
Date: Mon, 30 Oct 2023 16:52:58 +0800
Subject: [PATCH] update

---
 app/admin/hdl/hdl_data_statistics.go          |   4 +
 app/admin/svc/svc_data_statisstics.go         |  98 ++++++++++++++++++
 .../自营学校(就餐数据统计表).xlsx  | Bin 0 -> 9116 bytes
 3 files changed, 102 insertions(+)
 create mode 100644 static/template/自营学校(就餐数据统计表).xlsx

diff --git a/app/admin/hdl/hdl_data_statistics.go b/app/admin/hdl/hdl_data_statistics.go
index 79841cf..511e5f5 100644
--- a/app/admin/hdl/hdl_data_statistics.go
+++ b/app/admin/hdl/hdl_data_statistics.go
@@ -292,6 +292,10 @@ func SelfSupportForSchoolDataStatisticsList(c *gin.Context) {
 				"name":  "商家分餐数据统计表",
 				"value": 2,
 			},
+			{
+				"name":  "就餐数据统计表",
+				"value": 3,
+			},
 		},
 	}, nil)
 	return
diff --git a/app/admin/svc/svc_data_statisstics.go b/app/admin/svc/svc_data_statisstics.go
index e6aa3ca..65a4f1d 100644
--- a/app/admin/svc/svc_data_statisstics.go
+++ b/app/admin/svc/svc_data_statisstics.go
@@ -377,6 +377,104 @@ func SelfSupportForSchoolDataStatisticsExport(req md.SelfSupportForSchoolDataSta
 			data[vv.Enterprise.Name][shopName]["合计"]["amount"] += utils.StrToFloat64(vv.SelfSupportForSchoolOrd.TradeAmount)
 		}
 
+		xlsx.SetSheetRow("", "A1", &titleList)
+		sheetIndex := 2 //第一个表是模板表
+		for k, v := range data {
+			if k == "" {
+				k = "未知"
+			}
+			xlsx.NewSheet(k) //1、新建表格
+			xlsx.CopySheet(1, sheetIndex)
+			j := 4 //表头前三行被占用了,只能从第四行开始
+			for kk, vv := range v {
+				if kk == "" {
+					kk = k
+				}
+				xlsx.SetSheetRow(k, "A"+strconv.Itoa(j), &[]interface{}{kk,
+					vv["早餐"]["num"], vv["早餐"]["amount"],
+					vv["午餐"]["num"], vv["午餐"]["amount"],
+					vv["晚餐"]["num"], vv["晚餐"]["amount"],
+					vv["夜宵"]["num"], vv["夜宵"]["amount"],
+					vv["合计"]["num"], vv["合计"]["amount"],
+				})
+				j++
+			}
+			sheetIndex++
+		}
+		xlsx.DeleteSheet("template") //删除模板表
+		//将文件保存至服务器
+		xlsx.SaveAs("./static" + downloadPath)
+		break
+	case 3:
+		//就餐数据统计表
+		xlsx, _ := excelize.OpenFile("./static/template/自营学校(就餐数据统计表).xlsx")
+		fileName = "就餐数据统计表_" + utils.Int64ToStr(now.UnixMilli()) + ".xlsx"
+		downloadPath = "/export/self_support_for_school/" + fileName
+
+		//查询出所有的设备
+		//var deviceList []*model.Device
+		//err := db.Db.Where("enterprise_id != 0").Find(&deviceList)
+		//if err != nil {
+		//	logx.Error(err)
+		//	println("<<<<SelfSupportForSchoolDataStatisticsExport2>>>>>1111Error:::", err.Error())
+		//	return
+		//}
+		//var deviceListMapping = map[string]model.Device{}
+		//for _, v := range deviceList {
+		//	deviceListMapping[v.DeviceSn] = *v
+		//}
+
+		var m []*db.SelfSupportForSchoolOrdWithUserIdentity
+		sess := db.Db.Desc("self_support_for_school_ord.id")
+		if req.EnterpriseId != 0 {
+			sess.And("self_support_for_school_ord.enterprise_id =?", req.EnterpriseId)
+		}
+		if req.StartDate != "" {
+			sess.And("self_support_for_school_ord.face_time >= ?", req.StartDate)
+		}
+		if req.EndDate != "" {
+			sess.And("self_support_for_school_ord.face_time <= ?", req.EndDate)
+		}
+		if req.EnterPriseKind != 0 {
+			sess.And("enterprise.kind = ?", req.EnterPriseKind)
+		}
+		_, err := sess.
+			Join("LEFT", "user_identity", "self_support_for_school_ord.user_identity_id = user_identity.id").
+			Join("LEFT", "enterprise", "enterprise.id = user_identity.enterprise_id").
+			Join("LEFT", "user", "user.id = user_identity.uid").
+			Join("LEFT", "class_with_user", "class_with_user.user_identity_id = user_identity.id").
+			Join("LEFT", "class", "class_with_user.class_id = class.id").
+			Join("LEFT", "grade", "class.grade_id = grade.id").
+			FindAndCount(&m)
+		if err != nil {
+			logx.Error(err)
+			println("<<<<SelfSupportForSchoolDataStatisticsExport2>>>>>Error:::", err.Error())
+			return
+		}
+
+		//整合数据
+		var data = map[string]map[string]map[string]map[string]float64{}
+		shopName := req.StartDate + "~" + req.EndDate
+		for _, vv := range m {
+			if data[vv.Enterprise.Name] == nil {
+				data[vv.Enterprise.Name] = make(map[string]map[string]map[string]float64)
+			}
+			if data[vv.Enterprise.Name][shopName] == nil {
+				data[vv.Enterprise.Name][shopName] = make(map[string]map[string]float64)
+			}
+			mealZh := JudgeSelfSupportForMealTime(vv.SelfSupportForSchoolOrd.FaceTime)
+			if data[vv.Enterprise.Name][shopName][mealZh] == nil {
+				data[vv.Enterprise.Name][shopName][mealZh] = make(map[string]float64)
+			}
+			if data[vv.Enterprise.Name][shopName]["合计"] == nil {
+				data[vv.Enterprise.Name][shopName]["合计"] = make(map[string]float64)
+			}
+			data[vv.Enterprise.Name][shopName][mealZh]["num"]++
+			data[vv.Enterprise.Name][shopName][mealZh]["amount"] += utils.StrToFloat64(vv.SelfSupportForSchoolOrd.TradeAmount)
+			data[vv.Enterprise.Name][shopName]["合计"]["num"]++
+			data[vv.Enterprise.Name][shopName]["合计"]["amount"] += utils.StrToFloat64(vv.SelfSupportForSchoolOrd.TradeAmount)
+		}
+
 		xlsx.SetSheetRow("", "A1", &titleList)
 		sheetIndex := 2 //第一个表是模板表
 		for k, v := range data {
diff --git a/static/template/自营学校(就餐数据统计表).xlsx b/static/template/自营学校(就餐数据统计表).xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..9d972b987c229a745b6e28ed78cd902970cecc17
GIT binary patch
literal 9116
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
UL;ea@RNxmM&_FqV;%B}82cBVP_y7O^

literal 0
HcmV?d00001