diff --git a/app/admin/svc/svc_data_statisstics.go b/app/admin/svc/svc_data_statisstics.go index eac2fa1..63f0f30 100644 --- a/app/admin/svc/svc_data_statisstics.go +++ b/app/admin/svc/svc_data_statisstics.go @@ -534,6 +534,8 @@ func SelfSupportForSchoolDataStatisticsExport(req md.SelfSupportForSchoolDataSta break case 4: //设备就餐数据统计表 + fileName = "设备就餐数据统计_" + utils.Int64ToStr(now.UnixMilli()) + ".zip" + downloadPath = "/export/self_support_for_school/" + fileName //查询出所有的设备 var deviceList []*model.Device @@ -573,7 +575,7 @@ func SelfSupportForSchoolDataStatisticsExport(req md.SelfSupportForSchoolDataSta var xlsFileName, xlsDownloadPath []string for _, v := range deviceList { deviceListMapping[v.DeviceSn] = *v - var m []*db.SelfSupportForSchoolOrdWithUserIdentity + var m []*db.SelfSupportForSchoolOrdWithUserIdentityV2 sess := db.Db.Where("device_sn = ?", v.DeviceSn).Desc("self_support_for_school_ord.id") if req.EnterpriseId != 0 { sess.And("self_support_for_school_ord.enterprise_id =?", req.EnterpriseId) @@ -584,7 +586,7 @@ func SelfSupportForSchoolDataStatisticsExport(req md.SelfSupportForSchoolDataSta if req.EndDate != "" { sess.And("self_support_for_school_ord.face_time <= ?", req.EndDate) } - _, err = sess.Join("LEFT", "enterprise", "enterprise.id = self_support_for_school_ord.enterprise_id").FindAndCount(&m) + _, err = sess.Join("LEFT", "enterprise", "self_support_for_school_ord.enterprise_id = enterprise.id").FindAndCount(&m) if err != nil { logx.Error(err) println("<<<>>>>Error:::", err.Error()) @@ -630,21 +632,27 @@ func SelfSupportForSchoolDataStatisticsExport(req md.SelfSupportForSchoolDataSta println("<<<>>>>Error:::", err.Error()) panic(err) } + xlsx.MergeCell(k2, "A1", "C1") //合并单元格 xlsx.SetCellStyle(k2, "A1", "C1", style) xlsx.SetColWidth(k2, "A", "C", 20) j := 3 //表头前两行用了,只能从第三行开始 for i := 0; i <= diffDays; i++ { date := date1.AddDate(0, 0, i).Format("2006-01-02") - if vv[date] == nil { + if vv[date] != nil { xlsx.SetSheetRow(k2, "A"+strconv.Itoa(j), &[]interface{}{date, vv[date]["num"], vv[date]["amount"]}) sumNum += vv[date]["num"] sumAmount += vv[date]["amount"] - j++ + } else { + xlsx.SetSheetRow(k2, "A"+strconv.Itoa(j), &[]interface{}{date, 0, 0}) } + j++ } + xlsx.SetSheetRow(k2, "A"+strconv.Itoa(j), &[]interface{}{ "合计", sumNum, sumAmount}) + + xlsx.DeleteSheet("Sheet1") //TODO::只能放这里删除 //将文件保存至服务器 err1 := xlsx.SaveAs(tmpDownloadPath) if err1 != nil { @@ -652,9 +660,9 @@ func SelfSupportForSchoolDataStatisticsExport(req md.SelfSupportForSchoolDataSta println("<<<>>>>Error:::", err1.Error()) panic(err1) } - xlsDownloadPath = append(xlsDownloadPath, tmpDownloadPath) - xlsFileName = append(xlsFileName, tmpFileName) } + xlsDownloadPath = append(xlsDownloadPath, tmpDownloadPath) + xlsFileName = append(xlsFileName, tmpFileName) } archive, err := os.Create("./static" + downloadPath) //第一步,创建 zip 文件 diff --git a/app/db/db_self_support_for_school_ord.go b/app/db/db_self_support_for_school_ord.go index e00e82e..34aba50 100644 --- a/app/db/db_self_support_for_school_ord.go +++ b/app/db/db_self_support_for_school_ord.go @@ -106,3 +106,12 @@ type SelfSupportForSchoolOrdWithUserIdentity struct { func (SelfSupportForSchoolOrdWithUserIdentity) TableName() string { return "self_support_for_school_ord" } + +type SelfSupportForSchoolOrdWithUserIdentityV2 struct { + model.SelfSupportForSchoolOrd `xorm:"extends"` + model.Enterprise `xorm:"extends"` +} + +func (SelfSupportForSchoolOrdWithUserIdentityV2) TableName() string { + return "self_support_for_school_ord" +}