|
@@ -1,21 +1,24 @@
|
|
|
-package data_manage
|
|
|
+package excel
|
|
|
|
|
|
import (
|
|
|
+ "archive/zip"
|
|
|
"encoding/json"
|
|
|
"eta/eta_api/controllers"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
- "eta/eta_api/models/data_manage/request"
|
|
|
- "eta/eta_api/models/data_manage/response"
|
|
|
- "eta/eta_api/services"
|
|
|
- "eta/eta_api/services/alarm_msg"
|
|
|
+ excel3 "eta/eta_api/models/data_manage/excel"
|
|
|
+ "eta/eta_api/models/data_manage/excel/request"
|
|
|
+ "eta/eta_api/models/data_manage/excel/response"
|
|
|
"eta/eta_api/services/data"
|
|
|
+ excel2 "eta/eta_api/services/data/excel"
|
|
|
"eta/eta_api/services/excel"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"github.com/yidane/formula"
|
|
|
+ "io"
|
|
|
"os"
|
|
|
+ "path/filepath"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
@@ -79,7 +82,7 @@ func (c *ExcelInfoController) Add() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- excelClassify, err := data_manage.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
+ excelClassify, err := excel3.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
if err != nil {
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
br.Msg = "分类不存在"
|
|
@@ -107,7 +110,7 @@ func (c *ExcelInfoController) Add() {
|
|
|
pars = append(pars, req.ExcelName)
|
|
|
|
|
|
// 获取分类下是否存在该表格名称
|
|
|
- count, err := data_manage.GetExcelInfoCountByCondition(condition, pars)
|
|
|
+ count, err := excel3.GetExcelInfoCountByCondition(condition, pars)
|
|
|
if err != nil {
|
|
|
br.Msg = "判断表格名称是否存在失败"
|
|
|
br.ErrMsg = "判断表格名称是否存在失败,Err:" + err.Error()
|
|
@@ -124,6 +127,9 @@ func (c *ExcelInfoController) Add() {
|
|
|
req.Source = 1
|
|
|
}
|
|
|
content := req.Content
|
|
|
+
|
|
|
+ // 引用的指标id
|
|
|
+ edbInfoIdList := make([]int, 0)
|
|
|
// 自定义表格
|
|
|
if req.Source == 2 {
|
|
|
jsonStrByte, err := json.Marshal(req.TableData)
|
|
@@ -140,12 +146,14 @@ func (c *ExcelInfoController) Add() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- tableDataConfig, err := data.GetTableDataConfig(tableData)
|
|
|
+ tableDataConfig, err := excel2.GetTableDataConfig(tableData)
|
|
|
if err != nil {
|
|
|
br.Msg = "自定义表格数据获取失败"
|
|
|
br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ edbInfoIdList = tableDataConfig.EdbInfoIdList
|
|
|
+
|
|
|
contentByte, err := json.Marshal(tableDataConfig)
|
|
|
if err != nil {
|
|
|
br.Msg = "自定义表格数据获取失败"
|
|
@@ -164,10 +172,35 @@ func (c *ExcelInfoController) Add() {
|
|
|
return
|
|
|
}
|
|
|
content = string(contentByte)
|
|
|
+
|
|
|
+ var result request.MixedTableReq
|
|
|
+ err = json.Unmarshal(contentByte, &result)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoIdMap := make(map[int]int)
|
|
|
+ for _, tmpV := range newResult {
|
|
|
+ for _, v := range tmpV {
|
|
|
+ if v.EdbInfoId > 0 {
|
|
|
+ if _, ok := edbInfoIdMap[v.EdbInfoId]; !ok {
|
|
|
+ edbInfoIdMap[v.EdbInfoId] = v.EdbInfoId
|
|
|
+ edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
- excelInfo := &data_manage.ExcelInfo{
|
|
|
+ excelInfo := &excel3.ExcelInfo{
|
|
|
//ExcelInfoId: 0,
|
|
|
ExcelName: req.ExcelName,
|
|
|
Source: req.Source,
|
|
@@ -184,7 +217,20 @@ func (c *ExcelInfoController) Add() {
|
|
|
CreateTime: time.Now(),
|
|
|
}
|
|
|
|
|
|
- err = data_manage.AddExcelInfo(excelInfo)
|
|
|
+ excelEdbMappingList := make([]*excel3.ExcelEdbMapping, 0)
|
|
|
+ if len(edbInfoIdList) > 0 {
|
|
|
+ for _, edbInfoId := range edbInfoIdList {
|
|
|
+ excelEdbMappingList = append(excelEdbMappingList, &excel3.ExcelEdbMapping{
|
|
|
+ //ExcelEdbMappingId: 0,
|
|
|
+ //ExcelInfoId: 0,
|
|
|
+ Source: excelInfo.Source,
|
|
|
+ EdbInfoId: edbInfoId,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ err = excel3.AddExcelInfo(excelInfo, excelEdbMappingList)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
|
br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
@@ -193,7 +239,7 @@ func (c *ExcelInfoController) Add() {
|
|
|
|
|
|
// 更新excel下载地址(默认的EXCEL需要更新,自定义表格不需要更新)
|
|
|
if req.Source == 1 {
|
|
|
- go UpdateExcelInfoFileUrl(excelInfo)
|
|
|
+ go excel2.UpdateExcelInfoFileUrl(excelInfo)
|
|
|
}
|
|
|
|
|
|
resp := new(response.AddExcelInfoResp)
|
|
@@ -233,6 +279,8 @@ func (c *ExcelInfoController) Add() {
|
|
|
// @Param ExcelClassifyId query int true "分类id"
|
|
|
// @Param Keyword query string true "搜索关键词"
|
|
|
// @Param AdminId query int false "创建人id"
|
|
|
+// @Param Source query int true "格来源,1:excel插件的表格,2:自定义表格,3:混合表格,默认:1"
|
|
|
+// @Param IsShowMe query bool true "是否只看我的,true、false"
|
|
|
// @Success 200 {object} response.ExcelListResp
|
|
|
// @router /excel_info/list [get]
|
|
|
func (c *ExcelInfoController) List() {
|
|
@@ -255,6 +303,7 @@ func (c *ExcelInfoController) List() {
|
|
|
currentIndex, _ := c.GetInt("CurrentIndex")
|
|
|
keyword := c.GetString("Keyword")
|
|
|
adminId, _ := c.GetInt("AdminId")
|
|
|
+ source, _ := c.GetInt("Source")
|
|
|
|
|
|
var total int
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
@@ -271,9 +320,18 @@ func (c *ExcelInfoController) List() {
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
|
|
|
+ // 如果没有传的话,那就是代表前三种表格
|
|
|
+ if source <= 0 {
|
|
|
+ condition += " AND source in (?,?,?) "
|
|
|
+ pars = append(pars, utils.EXCEL_DEFAULT, utils.TIME_TABLE, utils.MIXED_TABLE)
|
|
|
+ } else {
|
|
|
+ condition += " AND source = ? "
|
|
|
+ pars = append(pars, source)
|
|
|
+ }
|
|
|
+
|
|
|
// 筛选分类
|
|
|
if excelClassifyId > 0 {
|
|
|
- _, err := data_manage.GetExcelClassifyById(excelClassifyId)
|
|
|
+ _, err := excel3.GetExcelClassifyById(excelClassifyId)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取表格信息失败"
|
|
|
br.ErrMsg = "获取信息失败,GetExcelClassify,Err:" + err.Error()
|
|
@@ -290,8 +348,14 @@ func (c *ExcelInfoController) List() {
|
|
|
condition += " AND sys_user_id = ? "
|
|
|
pars = append(pars, adminId)
|
|
|
}
|
|
|
+ //只看我的
|
|
|
+ isShowMe, _ := c.GetBool("IsShowMe")
|
|
|
+ if isShowMe {
|
|
|
+ condition += " AND sys_user_id = ? "
|
|
|
+ pars = append(pars, sysUser.AdminId)
|
|
|
+ }
|
|
|
//获取表格信息
|
|
|
- list, err := data_manage.GetNoContentExcelListByCondition(condition, pars, startSize, pageSize)
|
|
|
+ list, err := excel3.GetNoContentExcelListByCondition(condition, pars, startSize, pageSize)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Success = true
|
|
|
br.Msg = "获取表格信息失败"
|
|
@@ -300,10 +364,10 @@ func (c *ExcelInfoController) List() {
|
|
|
}
|
|
|
|
|
|
if list == nil || len(list) <= 0 || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
- list = make([]*data_manage.MyExcelInfoList, 0)
|
|
|
+ list = make([]*excel3.MyExcelInfoList, 0)
|
|
|
}
|
|
|
// 总数据量
|
|
|
- dataCount, err := data_manage.GetExcelListCountByCondition(condition, pars)
|
|
|
+ dataCount, err := excel3.GetExcelListCountByCondition(condition, pars)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取表格列表信息失败"
|
|
|
br.ErrMsg = "获取表格列表数据总数失败,Err:" + err.Error()
|
|
@@ -350,7 +414,7 @@ func (c *ExcelInfoController) Detail() {
|
|
|
}
|
|
|
|
|
|
// 获取数据详情
|
|
|
- excelDetail, errMsg, err := data.GetExcelDetailInfoByExcelInfoId(excelInfoId)
|
|
|
+ excelDetail, errMsg, err := excel2.GetExcelDetailInfoByExcelInfoId(excelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = errMsg
|
|
|
br.ErrMsg = err.Error()
|
|
@@ -358,7 +422,7 @@ func (c *ExcelInfoController) Detail() {
|
|
|
}
|
|
|
|
|
|
// excel表格按钮权限
|
|
|
- excelDetail.Button = data.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
|
|
|
+ excelDetail.Button = excel2.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
|
|
|
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -424,7 +488,7 @@ func (c *ExcelInfoController) Edit() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- excelClassify, err := data_manage.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
+ excelClassify, err := excel3.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
if err != nil {
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
br.Msg = "分类不存在"
|
|
@@ -456,7 +520,7 @@ func (c *ExcelInfoController) Edit() {
|
|
|
pars = append(pars, req.ExcelName)
|
|
|
|
|
|
// 获取分类下是否存在该表格名称
|
|
|
- count, err := data_manage.GetExcelInfoCountByCondition(condition, pars)
|
|
|
+ count, err := excel3.GetExcelInfoCountByCondition(condition, pars)
|
|
|
if err != nil {
|
|
|
br.Msg = "ETA判断表格名称是否存在失败"
|
|
|
br.ErrMsg = "判断ETA表格名称是否存在失败,Err:" + err.Error()
|
|
@@ -468,7 +532,7 @@ func (c *ExcelInfoController) Edit() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- excelInfo, err := data_manage.GetExcelInfoById(req.ExcelInfoId)
|
|
|
+ excelInfo, err := excel3.GetExcelInfoById(req.ExcelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取ETA表格失败"
|
|
|
br.ErrMsg = "获取ETA表格失败,Err:" + err.Error()
|
|
@@ -477,7 +541,7 @@ func (c *ExcelInfoController) Edit() {
|
|
|
|
|
|
// 操作权限校验
|
|
|
{
|
|
|
- button := data.GetExcelInfoOpButton(sysUser, excelInfo.SysUserId, excelInfo.Source)
|
|
|
+ button := excel2.GetExcelInfoOpButton(sysUser, excelInfo.SysUserId, excelInfo.Source)
|
|
|
if !button.OpButton {
|
|
|
br.Msg = "无操作权限"
|
|
|
br.Msg = "无操作权限"
|
|
@@ -486,6 +550,8 @@ func (c *ExcelInfoController) Edit() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 引用的指标id
|
|
|
+ edbInfoIdList := make([]int, 0)
|
|
|
content := req.Content
|
|
|
switch excelInfo.Source {
|
|
|
case 2: // 自定义表格
|
|
@@ -502,7 +568,8 @@ func (c *ExcelInfoController) Edit() {
|
|
|
br.ErrMsg = "自定义表格数据获取失败,json转结构体失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- tableDataConfig, err := data.GetTableDataConfig(tableData)
|
|
|
+ edbInfoIdList = tableData.EdbInfoIdList
|
|
|
+ tableDataConfig, err := excel2.GetTableDataConfig(tableData)
|
|
|
if err != nil {
|
|
|
br.Msg = "自定义表格数据获取失败"
|
|
|
br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
@@ -523,6 +590,31 @@ func (c *ExcelInfoController) Edit() {
|
|
|
return
|
|
|
}
|
|
|
content = string(contentByte)
|
|
|
+
|
|
|
+ var result request.MixedTableReq
|
|
|
+ err = json.Unmarshal(contentByte, &result)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoIdMap := make(map[int]int)
|
|
|
+ for _, tmpV := range newResult {
|
|
|
+ for _, v := range tmpV {
|
|
|
+ if v.EdbInfoId > 0 {
|
|
|
+ if _, ok := edbInfoIdMap[v.EdbInfoId]; !ok {
|
|
|
+ edbInfoIdMap[v.EdbInfoId] = v.EdbInfoId
|
|
|
+ edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
excelInfo.ModifyTime = time.Now()
|
|
@@ -534,7 +626,21 @@ func (c *ExcelInfoController) Edit() {
|
|
|
|
|
|
updateExcelInfoParams := []string{"ModifyTime", "ExcelName", "ExcelType", "ExcelClassifyId", "ExcelImage", "Content"}
|
|
|
|
|
|
- err = data_manage.EditExcelInfo(excelInfo, updateExcelInfoParams)
|
|
|
+ excelEdbMappingList := make([]*excel3.ExcelEdbMapping, 0)
|
|
|
+ if len(edbInfoIdList) > 0 {
|
|
|
+ for _, edbInfoId := range edbInfoIdList {
|
|
|
+ excelEdbMappingList = append(excelEdbMappingList, &excel3.ExcelEdbMapping{
|
|
|
+ //ExcelEdbMappingId: 0,
|
|
|
+ ExcelInfoId: excelInfo.ExcelInfoId,
|
|
|
+ Source: excelInfo.Source,
|
|
|
+ EdbInfoId: edbInfoId,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ err = excel3.EditExcelInfo(excelInfo, updateExcelInfoParams, excelEdbMappingList)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
|
br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
@@ -543,12 +649,12 @@ func (c *ExcelInfoController) Edit() {
|
|
|
|
|
|
// 更新excel下载地址(默认的EXCEL需要更新,自定义表格不需要更新)
|
|
|
if excelInfo.Source == 1 {
|
|
|
- go UpdateExcelInfoFileUrl(excelInfo)
|
|
|
+ go excel2.UpdateExcelInfoFileUrl(excelInfo)
|
|
|
}
|
|
|
|
|
|
// 加入草稿
|
|
|
{
|
|
|
- excelDraftInfo := &data_manage.ExcelDraft{
|
|
|
+ excelDraftInfo := &excel3.ExcelDraft{
|
|
|
//ExcelDraftId: 0,
|
|
|
ExcelId: req.ExcelInfoId,
|
|
|
Name: req.ExcelName,
|
|
@@ -558,7 +664,7 @@ func (c *ExcelInfoController) Edit() {
|
|
|
CreateTime: time.Now(),
|
|
|
}
|
|
|
|
|
|
- err = data_manage.AddExcelDraft(excelDraftInfo)
|
|
|
+ err = excel3.AddExcelDraft(excelDraftInfo)
|
|
|
}
|
|
|
|
|
|
resp := response.AddExcelInfoResp{
|
|
@@ -619,7 +725,7 @@ func (c *ExcelInfoController) Move() {
|
|
|
}
|
|
|
|
|
|
//判断分类是否存在
|
|
|
- _, err = data_manage.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
+ _, err = excel3.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
if err != nil {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "获取分类信息失败" + err.Error()
|
|
@@ -633,7 +739,7 @@ func (c *ExcelInfoController) Move() {
|
|
|
}
|
|
|
|
|
|
// 获取表格信息
|
|
|
- excelInfo, err := data_manage.GetExcelInfoById(req.ExcelInfoId)
|
|
|
+ excelInfo, err := excel3.GetExcelInfoById(req.ExcelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "获取表格信息失败,Err:" + err.Error()
|
|
@@ -643,7 +749,7 @@ func (c *ExcelInfoController) Move() {
|
|
|
//如果改变了分类,那么移动该表格数据
|
|
|
if excelInfo.ExcelClassifyId != req.ExcelClassifyId {
|
|
|
//查询需要修改的分类下是否存在同一个表格名称
|
|
|
- tmpExcelInfo, tmpErr := data_manage.GetExcelInfoByClassifyIdAndName(req.ExcelClassifyId, excelInfo.ExcelName)
|
|
|
+ tmpExcelInfo, tmpErr := excel3.GetExcelInfoByClassifyIdAndName(req.ExcelClassifyId, excelInfo.ExcelName)
|
|
|
if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "移动失败,Err:" + tmpErr.Error()
|
|
@@ -670,7 +776,7 @@ func (c *ExcelInfoController) Move() {
|
|
|
updateCol := make([]string, 0)
|
|
|
//如果有传入 上一个兄弟节点分类id
|
|
|
if req.PrevExcelInfoId > 0 {
|
|
|
- prevExcelInfo, err := data_manage.GetExcelInfoById(req.PrevExcelInfoId)
|
|
|
+ prevExcelInfo, err := excel3.GetExcelInfoById(req.PrevExcelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "获取上一个兄弟节点分类信息失败,Err:" + err.Error()
|
|
@@ -680,7 +786,7 @@ func (c *ExcelInfoController) Move() {
|
|
|
//如果是移动在两个兄弟节点之间
|
|
|
if req.NextExcelInfoId > 0 {
|
|
|
//下一个兄弟节点
|
|
|
- nextExcelInfo, err := data_manage.GetExcelInfoById(req.NextExcelInfoId)
|
|
|
+ nextExcelInfo, err := excel3.GetExcelInfoById(req.NextExcelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "获取下一个兄弟节点分类信息失败,Err:" + err.Error()
|
|
@@ -690,13 +796,13 @@ func (c *ExcelInfoController) Move() {
|
|
|
if prevExcelInfo.Sort == nextExcelInfo.Sort || prevExcelInfo.Sort == excelInfo.Sort {
|
|
|
//变更兄弟节点的排序
|
|
|
updateSortStr := `sort + 2`
|
|
|
- _ = data_manage.UpdateExcelInfoSortByClassifyId(prevExcelInfo.ExcelClassifyId, prevExcelInfo.Sort, prevExcelInfo.ExcelInfoId, updateSortStr)
|
|
|
+ _ = excel3.UpdateExcelInfoSortByClassifyId(prevExcelInfo.ExcelClassifyId, prevExcelInfo.Sort, prevExcelInfo.ExcelInfoId, updateSortStr)
|
|
|
} else {
|
|
|
//如果下一个兄弟的排序权重正好是上个兄弟节点下一层,那么需要再加一层了
|
|
|
if nextExcelInfo.Sort-prevExcelInfo.Sort == 1 {
|
|
|
//变更兄弟节点的排序
|
|
|
updateSortStr := `sort + 1`
|
|
|
- _ = data_manage.UpdateExcelInfoSortByClassifyId(prevExcelInfo.ExcelClassifyId, prevExcelInfo.Sort, prevExcelInfo.ExcelInfoId, updateSortStr)
|
|
|
+ _ = excel3.UpdateExcelInfoSortByClassifyId(prevExcelInfo.ExcelClassifyId, prevExcelInfo.Sort, prevExcelInfo.ExcelInfoId, updateSortStr)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -707,7 +813,7 @@ func (c *ExcelInfoController) Move() {
|
|
|
updateCol = append(updateCol, "Sort", "ModifyTime")
|
|
|
|
|
|
} else {
|
|
|
- firstClassify, err := data_manage.GetFirstExcelInfoByClassifyId(req.ExcelClassifyId)
|
|
|
+ firstClassify, err := excel3.GetFirstExcelInfoByClassifyId(req.ExcelClassifyId)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "移动失败"
|
|
|
br.ErrMsg = "获取获取当前父级分类下的排序第一条的分类信息失败,Err:" + err.Error()
|
|
@@ -717,7 +823,7 @@ func (c *ExcelInfoController) Move() {
|
|
|
//如果该分类下存在其他分类,且第一个其他分类的排序等于0,那么需要调整排序
|
|
|
if firstClassify != nil && firstClassify.Sort == 0 {
|
|
|
updateSortStr := ` sort + 1 `
|
|
|
- _ = data_manage.UpdateExcelInfoSortByClassifyId(firstClassify.ExcelClassifyId, 0, firstClassify.ExcelInfoId-1, updateSortStr)
|
|
|
+ _ = excel3.UpdateExcelInfoSortByClassifyId(firstClassify.ExcelClassifyId, 0, firstClassify.ExcelInfoId-1, updateSortStr)
|
|
|
}
|
|
|
|
|
|
// 变更表格在当前分类下的排序
|
|
@@ -803,36 +909,28 @@ func (c *ExcelInfoController) Delete() {
|
|
|
}
|
|
|
|
|
|
// 获取表格信息
|
|
|
- excelInfo, err := data_manage.GetExcelInfoById(req.ExcelInfoId)
|
|
|
+ excelInfo, err := excel3.GetExcelInfoById(req.ExcelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = "删除失败"
|
|
|
br.ErrMsg = "获取表格信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- // 操作权限校验
|
|
|
- {
|
|
|
- button := data.GetExcelInfoOpButton(sysUser, excelInfo.SysUserId, excelInfo.Source)
|
|
|
- if !button.DeleteButton {
|
|
|
- br.Msg = "无操作权限"
|
|
|
- br.Msg = "无操作权限"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //更新
|
|
|
- excelInfo.IsDelete = 1
|
|
|
- err = excelInfo.Update([]string{"IsDelete"})
|
|
|
+ // 删除excel
|
|
|
+ err, errMsg, isSendEmail := excel2.Delete(excelInfo, sysUser)
|
|
|
if err != nil {
|
|
|
br.Msg = "删除失败"
|
|
|
+ if errMsg != `` {
|
|
|
+ br.Msg = errMsg
|
|
|
+ }
|
|
|
br.ErrMsg = "删除失败,Err:" + err.Error()
|
|
|
+ br.IsSendEmail = isSendEmail
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 返回下一个表格的信息
|
|
|
{
|
|
|
- var nextItem *data_manage.ExcelInfo
|
|
|
+ var nextItem *excel3.ExcelInfo
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
condition += " AND excel_classify_id=? "
|
|
@@ -840,7 +938,7 @@ func (c *ExcelInfoController) Delete() {
|
|
|
|
|
|
condition += " AND sort>=? "
|
|
|
pars = append(pars, excelInfo.Sort)
|
|
|
- nextItem, err = data_manage.GetNextExcelInfoByCondition(condition, pars)
|
|
|
+ nextItem, err = excel3.GetNextExcelInfoByCondition(condition, pars)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "删除失败"
|
|
|
br.ErrMsg = "获取下一级表格信息失败,Err:" + err.Error()
|
|
@@ -849,7 +947,7 @@ func (c *ExcelInfoController) Delete() {
|
|
|
|
|
|
// 如果没找到,那么查找下一个分类的第一个表格
|
|
|
if nextItem == nil {
|
|
|
- currClassifyInfo, err := data_manage.GetExcelClassifyById(excelInfo.ExcelClassifyId)
|
|
|
+ currClassifyInfo, err := excel3.GetExcelClassifyById(excelInfo.ExcelClassifyId)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "删除失败"
|
|
|
br.ErrMsg = "获取当前表格分类信息失败,Err:" + err.Error()
|
|
@@ -878,7 +976,7 @@ func (c *ExcelInfoController) Delete() {
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
- nextItem, err = data_manage.GetNextExcelInfo(excelInfo.ExcelClassifyId, currClassifyInfo.Sort)
|
|
|
+ nextItem, err = excel3.GetNextExcelInfo(excelInfo.ExcelClassifyId, currClassifyInfo.Sort, currClassifyInfo.Source)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "删除失败"
|
|
|
br.ErrMsg = "获取下一级表格信息失败,Err:" + err.Error()
|
|
@@ -947,7 +1045,7 @@ func (c *ExcelInfoController) AddDraft() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- excelClassify, err := data_manage.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
+ excelClassify, err := excel3.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
if err != nil {
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
br.Msg = "分类不存在"
|
|
@@ -975,14 +1073,14 @@ func (c *ExcelInfoController) AddDraft() {
|
|
|
pars = append(pars, req.ExcelName)
|
|
|
|
|
|
// 获取分类下是否存在该表格名称
|
|
|
- _, err = data_manage.GetExcelInfoById(req.ExcelInfoId)
|
|
|
+ _, err = excel3.GetExcelInfoById(req.ExcelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = "判断表格名称是否存在失败"
|
|
|
br.ErrMsg = "判断表格名称是否存在失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- excelDraftInfo := &data_manage.ExcelDraft{
|
|
|
+ excelDraftInfo := &excel3.ExcelDraft{
|
|
|
//ExcelDraftId: 0,
|
|
|
ExcelId: req.ExcelInfoId,
|
|
|
Name: req.ExcelName,
|
|
@@ -992,7 +1090,7 @@ func (c *ExcelInfoController) AddDraft() {
|
|
|
CreateTime: time.Now(),
|
|
|
}
|
|
|
|
|
|
- err = data_manage.AddExcelDraft(excelDraftInfo)
|
|
|
+ err = excel3.AddExcelDraft(excelDraftInfo)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
|
br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
@@ -1033,7 +1131,7 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
return
|
|
|
}
|
|
|
//获取eta表格信息
|
|
|
- excelInfo, err := data_manage.GetExcelInfoByUniqueCode(uniqueCode)
|
|
|
+ excelInfo, err := excel3.GetExcelInfoByUniqueCode(uniqueCode)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取ETA表格信息失败,Err:" + err.Error()
|
|
@@ -1061,14 +1159,14 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
return
|
|
|
}
|
|
|
case 2:
|
|
|
- var tableDataConfig data.TableDataConfig
|
|
|
+ var tableDataConfig excel2.TableDataConfig
|
|
|
err = json.Unmarshal([]byte(excelInfo.Content), &tableDataConfig)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- result, err := data.GetDataByTableDataConfig(tableDataConfig)
|
|
|
+ result, err := excel2.GetDataByTableDataConfig(tableDataConfig)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取最新的表格数据失败,Err:" + err.Error()
|
|
@@ -1088,7 +1186,7 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- newResult, tmpErr := data.GetMixedTableCellData(result.Data)
|
|
|
+ newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
|
|
|
if tmpErr != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
@@ -1117,47 +1215,6 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
-// UpdateExcelInfoFileUrl 更新excel表格的下载地址
|
|
|
-func UpdateExcelInfoFileUrl(excelInfo *data_manage.ExcelInfo) {
|
|
|
- var err error
|
|
|
- defer func() {
|
|
|
- if err != nil {
|
|
|
- go alarm_msg.SendAlarmMsg(fmt.Sprintf("更新excel表格的下载地址失败,表格id:%d;表格名称:%s; ERR:%s", excelInfo.ExcelInfoId, excelInfo.ExcelName, err), 3)
|
|
|
- }
|
|
|
- }()
|
|
|
- fileName := excelInfo.ExcelName + "_" + excelInfo.UniqueCode + ".xlsx"
|
|
|
- luckySheetData, err := excel.GetLuckySheetData(excelInfo.Content)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("err:", err)
|
|
|
- return
|
|
|
- }
|
|
|
- //_, err = luckySheetData.GetTableDataByLuckySheetDataStr()
|
|
|
- downloadFilePath, err := luckySheetData.ToExcel()
|
|
|
- defer func() {
|
|
|
- _ = os.Remove(downloadFilePath)
|
|
|
- }()
|
|
|
- if err != nil {
|
|
|
- fmt.Println("err:", err)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- resourceUrl := ``
|
|
|
- //上传到阿里云 和 minio
|
|
|
- if utils.ObjectStorageClient == "minio" {
|
|
|
- resourceUrl, err = services.UploadImgToMinIo(fileName, downloadFilePath)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- resourceUrl, err = services.UploadAliyunV2(fileName, downloadFilePath)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- excelInfo.FileUrl = resourceUrl
|
|
|
- err = excelInfo.Update([]string{"FileUrl"})
|
|
|
-}
|
|
|
-
|
|
|
//func init() {
|
|
|
//
|
|
|
// excelInfo, err := data_manage.GetExcelInfoById(52)
|
|
@@ -1317,7 +1374,7 @@ func (c *ExcelInfoController) GetFirstEdbData() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dataList, err := data.GetFirstEdbDataList(edbInfo, num, []string{})
|
|
|
+ dataList, err := excel2.GetFirstEdbDataList(edbInfo, num, []string{})
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -1385,7 +1442,7 @@ func (c *ExcelInfoController) GetOtherEdbData() {
|
|
|
br.ErrMsg = fmt.Sprint("获取指标信息失败,Err:", err.Error())
|
|
|
return
|
|
|
}
|
|
|
- dataList, err := data.GetOtherEdbDataList(edbInfo, req.DateList)
|
|
|
+ dataList, err := excel2.GetOtherEdbDataList(edbInfo, req.DateList)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -1559,7 +1616,7 @@ func (c *ExcelInfoController) GetFutureDateData() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dataList, err := data.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
|
|
|
+ dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -1642,7 +1699,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
|
|
|
br.ErrMsg = "获取指标信息失败,err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- firstDataList, err := data.GetFirstHistoryEdbDataList(tmpEdbInfo, req.Num, req.EndDate)
|
|
|
+ firstDataList, err := excel2.GetFirstHistoryEdbDataList(tmpEdbInfo, req.Num, req.EndDate)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -1671,7 +1728,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dataList, err := data.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
|
|
|
+ dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -1719,7 +1776,7 @@ func (c *ExcelInfoController) Refresh() {
|
|
|
}
|
|
|
|
|
|
// 获取数据详情
|
|
|
- excelDetail, errMsg, err := data.GetExcelDetailInfoByExcelInfoId(excelInfoId)
|
|
|
+ excelDetail, errMsg, err := excel2.GetExcelDetailInfoByExcelInfoId(excelInfoId)
|
|
|
if err != nil {
|
|
|
br.Msg = errMsg
|
|
|
br.ErrMsg = err.Error()
|
|
@@ -1728,7 +1785,7 @@ func (c *ExcelInfoController) Refresh() {
|
|
|
|
|
|
// 操作权限校验
|
|
|
{
|
|
|
- button := data.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
|
|
|
+ button := excel2.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
|
|
|
if !button.RefreshButton {
|
|
|
br.Msg = "无操作权限"
|
|
|
br.Msg = "无操作权限"
|
|
@@ -1797,13 +1854,13 @@ func (c *ExcelInfoController) Download() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
- var excelInfo *data_manage.ExcelInfo
|
|
|
+ var excelInfo *excel3.ExcelInfo
|
|
|
var err error
|
|
|
//获取eta表格信息
|
|
|
if excelInfoId > 0 {
|
|
|
- excelInfo, err = data_manage.GetExcelInfoById(excelInfoId)
|
|
|
+ excelInfo, err = excel3.GetExcelInfoById(excelInfoId)
|
|
|
} else {
|
|
|
- excelInfo, err = data_manage.GetExcelInfoByUniqueCode(uniqueCode)
|
|
|
+ excelInfo, err = excel3.GetExcelInfoByUniqueCode(uniqueCode)
|
|
|
}
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
@@ -1827,14 +1884,14 @@ func (c *ExcelInfoController) Download() {
|
|
|
case 1:
|
|
|
br.Msg = "表格类型异常"
|
|
|
case 2: // 自定义表格
|
|
|
- var tableDataConfig data.TableDataConfig
|
|
|
+ var tableDataConfig excel2.TableDataConfig
|
|
|
err = json.Unmarshal([]byte(excelInfo.Content), &tableDataConfig)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- result, err := data.GetDataByTableDataConfig(tableDataConfig)
|
|
|
+ result, err := excel2.GetDataByTableDataConfig(tableDataConfig)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取最新的表格数据失败,Err:" + err.Error()
|
|
@@ -1854,7 +1911,7 @@ func (c *ExcelInfoController) Download() {
|
|
|
br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- newResult, tmpErr := data.GetMixedTableCellData(result.Data)
|
|
|
+ newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
|
|
|
if tmpErr != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
@@ -1906,7 +1963,6 @@ func (c *ExcelInfoController) Copy() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- deleteCache := true
|
|
|
var req request.CopyExcelInfoReq
|
|
|
err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
if err != nil {
|
|
@@ -1920,17 +1976,15 @@ func (c *ExcelInfoController) Copy() {
|
|
|
}
|
|
|
|
|
|
cacheKey := "CACHE_TABLE_INFO_EDIT_" + strconv.Itoa(req.ExcelInfoId)
|
|
|
- defer func() {
|
|
|
- if deleteCache {
|
|
|
- _ = utils.Rc.Delete(cacheKey)
|
|
|
- }
|
|
|
- }()
|
|
|
if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
|
|
|
- deleteCache = false
|
|
|
br.Msg = "系统处理中,请稍后重试!"
|
|
|
br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(c.Ctx.Input.RequestBody)
|
|
|
return
|
|
|
}
|
|
|
+ defer func() {
|
|
|
+ _ = utils.Rc.Delete(cacheKey)
|
|
|
+ }()
|
|
|
+
|
|
|
req.ExcelName = strings.Trim(req.ExcelName, " ")
|
|
|
if req.ExcelName == "" {
|
|
|
br.Msg = "请填写表格名称!"
|
|
@@ -1944,97 +1998,17 @@ func (c *ExcelInfoController) Copy() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- excelClassify, err := data_manage.GetExcelClassifyById(req.ExcelClassifyId)
|
|
|
- if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- br.Msg = "分类不存在"
|
|
|
- br.ErrMsg = "分类不存在"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- br.Msg = "获取分类信息失败"
|
|
|
- br.ErrMsg = "获取分类信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if excelClassify == nil {
|
|
|
- br.Msg = "分类不存在"
|
|
|
- br.ErrMsg = "分类不存在"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 获取原ETA表格信息
|
|
|
- oldExcelInfo, err := data_manage.GetExcelInfoById(req.ExcelInfoId)
|
|
|
+ excelInfo, err, errMsg, isSendEmail := excel2.Copy(req.ExcelInfoId, req.ExcelClassifyId, req.ExcelName, sysUser)
|
|
|
if err != nil {
|
|
|
- br.Msg = "获取ETA表格失败"
|
|
|
- br.ErrMsg = "获取ETA表格失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- // 操作权限校验
|
|
|
- {
|
|
|
- button := data.GetExcelInfoOpButton(sysUser, oldExcelInfo.SysUserId, oldExcelInfo.Source)
|
|
|
- if !button.CopyButton {
|
|
|
- br.Msg = "无操作权限"
|
|
|
- br.Msg = "无操作权限"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 检验分类下是否存在该表格名称
|
|
|
- {
|
|
|
- var condition string
|
|
|
- var pars []interface{}
|
|
|
- condition += " AND excel_classify_id=? "
|
|
|
- pars = append(pars, req.ExcelClassifyId)
|
|
|
-
|
|
|
- condition += " AND excel_name=? "
|
|
|
- pars = append(pars, req.ExcelName)
|
|
|
-
|
|
|
- count, err := data_manage.GetExcelInfoCountByCondition(condition, pars)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "判断表格名称是否存在失败"
|
|
|
- br.ErrMsg = "判断表格名称是否存在失败,Err:" + err.Error()
|
|
|
- return
|
|
|
+ br.Msg = "复制失败"
|
|
|
+ if errMsg != `` {
|
|
|
+ br.Msg = errMsg
|
|
|
}
|
|
|
- if count > 0 {
|
|
|
- br.Msg = "表格名称已存在,请重新填写表格名称"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
- excelInfo := &data_manage.ExcelInfo{
|
|
|
- //ExcelInfoId: 0,
|
|
|
- ExcelName: req.ExcelName,
|
|
|
- Source: oldExcelInfo.Source,
|
|
|
- ExcelType: oldExcelInfo.ExcelType,
|
|
|
- UniqueCode: utils.MD5(utils.EXCEL_DATA_PREFIX + "_" + timestamp),
|
|
|
- ExcelClassifyId: req.ExcelClassifyId,
|
|
|
- SysUserId: sysUser.AdminId,
|
|
|
- SysUserRealName: sysUser.RealName,
|
|
|
- Content: oldExcelInfo.Content,
|
|
|
- ExcelImage: oldExcelInfo.ExcelImage,
|
|
|
- Sort: 0,
|
|
|
- IsDelete: 0,
|
|
|
- ModifyTime: time.Now(),
|
|
|
- CreateTime: time.Now(),
|
|
|
- }
|
|
|
-
|
|
|
- err = data_manage.AddExcelInfo(excelInfo)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "保存失败"
|
|
|
- br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
|
+ br.ErrMsg = "复制失败,Err:" + err.Error()
|
|
|
+ br.IsSendEmail = isSendEmail
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- // 更新excel下载地址(默认的EXCEL需要更新,自定义表格不需要更新)
|
|
|
- if excelInfo.Source == 1 {
|
|
|
- go UpdateExcelInfoFileUrl(excelInfo)
|
|
|
- }
|
|
|
-
|
|
|
resp := new(response.AddExcelInfoResp)
|
|
|
resp.ExcelInfoId = excelInfo.ExcelInfoId
|
|
|
resp.UniqueCode = excelInfo.UniqueCode
|
|
@@ -2109,3 +2083,63 @@ func (c *ExcelInfoController) Copy() {
|
|
|
// //byteStr, _ := json.Marshal(result)
|
|
|
// //utils.FileLog.Info(string(byteStr))
|
|
|
//}
|
|
|
+
|
|
|
+//func init() {
|
|
|
+// startNow := time.Now()
|
|
|
+// fmt.Println(startNow.Format(utils.FormatDateTime))
|
|
|
+// startTime := startNow.Unix()
|
|
|
+// //filePath := `static/tmpFile/test/化工23.05.24.xlsx`
|
|
|
+// filePath := `static/tmpFile/1. TAROUND_202308010201-500.xlsx`
|
|
|
+// //filePath := `static/tmpFile/化工23.05.24.xml`
|
|
|
+// //filePath := `static/tmpFile/化工23.05.24/xl/workbook.xml`
|
|
|
+// //filePath := `static/tmpFile/1. TAROUND_202308010201.xlsx`
|
|
|
+//
|
|
|
+// //filePath := `static/tmpFile/1. TAROUND_202308010201-2.xlsx`
|
|
|
+//
|
|
|
+// //filePath := `static/tmpFile/5. Outage_Values_Daily.xlsx`
|
|
|
+// //filePath := `static/tmpFile/1. TAROUND_202308010201 - 副本.xlsx`
|
|
|
+// excel.ConvToLuckySheet(filePath)
|
|
|
+// cz := time.Now().Unix() - startTime
|
|
|
+// fmt.Printf("处理完需要的时间:%d秒;约耗时:%d分%d秒", cz, cz/60, cz%60)
|
|
|
+// fmt.Println()
|
|
|
+//
|
|
|
+// //sheetName := `日度`
|
|
|
+// //sheetName := `月度`
|
|
|
+// //fmt.Println(excel.GetDefaultSheetIndex(filePath, sheetName))
|
|
|
+//
|
|
|
+// //decompressZip(filePath)
|
|
|
+//}
|
|
|
+
|
|
|
+// src: 需要解压的zip文件
|
|
|
+func decompressZip(src string) error {
|
|
|
+ archive, err := zip.OpenReader(src)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ dir := filepath.Dir(src) + "/zip"
|
|
|
+ defer archive.Close()
|
|
|
+ for _, f := range archive.File {
|
|
|
+ filePath := filepath.Join(dir, f.Name)
|
|
|
+ if f.FileInfo().IsDir() {
|
|
|
+ os.MkdirAll(filePath, os.ModePerm)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if err := os.MkdirAll(filepath.Dir(filePath), os.ModePerm); err != nil {
|
|
|
+ return fmt.Errorf("failed to make directory (%v)", err)
|
|
|
+ }
|
|
|
+ dstFile, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, f.Mode())
|
|
|
+ if err != nil {
|
|
|
+ return fmt.Errorf("failed to create file (%v)", err)
|
|
|
+ }
|
|
|
+ fileInArchive, err := f.Open()
|
|
|
+ if err != nil {
|
|
|
+ return fmt.Errorf("failed to open file in zip (%v)", err)
|
|
|
+ }
|
|
|
+ if _, err := io.Copy(dstFile, fileInArchive); err != nil {
|
|
|
+ return fmt.Errorf("failed to copy file in zip (%v)", err)
|
|
|
+ }
|
|
|
+ dstFile.Close()
|
|
|
+ fileInArchive.Close()
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|