|
@@ -16,15 +16,16 @@ import (
|
|
|
"eta/eta_api/services/excel"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
- "github.com/shopspring/decimal"
|
|
|
- "github.com/yidane/formula"
|
|
|
"io"
|
|
|
"os"
|
|
|
"path/filepath"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
+
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "github.com/shopspring/decimal"
|
|
|
+ "github.com/yidane/formula"
|
|
|
)
|
|
|
|
|
|
// ExcelInfoController ETA表格管理
|
|
@@ -159,30 +160,31 @@ func (c *ExcelInfoController) Add() {
|
|
|
if req.Source == utils.TIME_TABLE {
|
|
|
jsonStrByte, err := json.Marshal(req.TableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,转json失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
var tableData request.TableDataReq
|
|
|
err = json.Unmarshal(jsonStrByte, &tableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,json转结构体失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
tableDataConfig, err := excel2.GetTableDataConfig(tableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
edbInfoIdList = tableDataConfig.EdbInfoIdList
|
|
|
|
|
|
+ tableDataConfig.DecimalConfig = tableData.DecimalConfig
|
|
|
contentByte, err := json.Marshal(tableDataConfig)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取后,转json失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
content = string(contentByte)
|
|
@@ -675,21 +677,21 @@ func (c *ExcelInfoController) Detail() {
|
|
|
if excelDetail.Source == utils.TIME_TABLE {
|
|
|
jsonStrByte, err := json.Marshal(excelDetail.TableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,转json失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
var tableData request.TableDataReq
|
|
|
err = json.Unmarshal(jsonStrByte, &tableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,json转结构体失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList(tableData.EdbInfoIdList)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
excelDetail.ExcelSource = strings.Join(sourceNameList, ",")
|
|
@@ -936,28 +938,29 @@ func (c *ExcelInfoController) Edit() {
|
|
|
case utils.TIME_TABLE: // 自定义表格
|
|
|
jsonStrByte, err := json.Marshal(req.TableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,转json失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
var tableData request.TableDataReq
|
|
|
err = json.Unmarshal(jsonStrByte, &tableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,json转结构体失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
edbInfoIdList = tableData.EdbInfoIdList
|
|
|
tableDataConfig, err := excel2.GetTableDataConfig(tableData)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ tableDataConfig.DecimalConfig = tableData.DecimalConfig
|
|
|
contentByte, err := json.Marshal(tableDataConfig)
|
|
|
if err != nil {
|
|
|
- br.Msg = "自定义表格数据获取失败"
|
|
|
- br.ErrMsg = "自定义表格数据获取后,转json失败,Err:" + err.Error()
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
content = string(contentByte)
|
|
@@ -1643,7 +1646,10 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
}
|
|
|
|
|
|
tableData = excel.HandleTableCell(tableData)
|
|
|
-
|
|
|
+ tableData, err = excel.HandleRuleToTableCell(excelInfo.ExcelInfoId, tableData)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("表格管理规则处理失败,HandleRuleToTableCell err:", err.Error())
|
|
|
+ }
|
|
|
config := response.ExcelTableDetailConfigResp{
|
|
|
FontSize: 9,
|
|
|
}
|
|
@@ -1835,7 +1841,7 @@ func (c *ExcelInfoController) GetFirstEdbData() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dataList, err := excel2.GetFirstEdbDataList(edbInfo, num, []string{})
|
|
|
+ dataList, err := excel2.GetFirstEdbDataList(edbInfo, num, []string{}, -1)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -1857,6 +1863,10 @@ func (c *ExcelInfoController) GetFirstEdbData() {
|
|
|
}
|
|
|
excelSource := strings.Join(sourceNameList, ",")
|
|
|
excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+ if len(dataList) == 0 {
|
|
|
+ br.Msg = "指标数据异常,请检查"
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -1864,6 +1874,7 @@ func (c *ExcelInfoController) GetFirstEdbData() {
|
|
|
br.Data = response.TableDataItem{
|
|
|
EdbInfoId: edbInfoId,
|
|
|
Data: dataList,
|
|
|
+ Decimal: -1,
|
|
|
ExcelSource: excelSource,
|
|
|
ExcelSourceEn: excelSourceEn,
|
|
|
}
|
|
@@ -1914,7 +1925,7 @@ func (c *ExcelInfoController) GetOtherEdbData() {
|
|
|
br.ErrMsg = fmt.Sprint("获取指标信息失败,Err:", err.Error())
|
|
|
return
|
|
|
}
|
|
|
- dataList, err := excel2.GetOtherEdbDataList(edbInfo, req.DateList)
|
|
|
+ dataList, err := excel2.GetOtherEdbDataListFollowDate(edbInfo, req.DateList, req.DateDecimal)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -1943,11 +1954,148 @@ func (c *ExcelInfoController) GetOtherEdbData() {
|
|
|
br.Data = response.TableDataItem{
|
|
|
EdbInfoId: req.EdbInfoId,
|
|
|
Data: dataList,
|
|
|
+ Decimal: -1,
|
|
|
ExcelSource: excelSource,
|
|
|
ExcelSourceEn: excelSourceEn,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// GetBatchEdbData
|
|
|
+// @Title 批量获取指定日期数据接口
|
|
|
+// @Description 批量获取未来日期数据接口
|
|
|
+// @Param request body request.GetBatchEdbDateDataReq true "type json string"
|
|
|
+// @router /excel_info/table/batch_edb_data_list [post]
|
|
|
+func (c *ExcelInfoController) GetBatchEdbData() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var req request.GetBatchEdbDateDataReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(req.EdbInfoId) == 0 {
|
|
|
+ br.Msg = "请选择指标"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tableList := make([]*response.TableDataItem, 0)
|
|
|
+ var firstDataList []string
|
|
|
+ for i, v := range req.EdbInfoId {
|
|
|
+ if req.Num <= 0 {
|
|
|
+ br.Msg = "期数必须大于0"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfo, err := data_manage.GetEdbInfoById(v)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprint("获取指标信息失败,Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(req.DateList) == 0 {
|
|
|
+ req.Num = 12
|
|
|
+ }
|
|
|
+ if len(firstDataList) == 0 {
|
|
|
+ firstDataList = req.DateList
|
|
|
+ }
|
|
|
+ if len(firstDataList) != 0 && len(firstDataList) != req.Num {
|
|
|
+ req.Num = len(firstDataList)
|
|
|
+ }
|
|
|
+ if i == 0 {
|
|
|
+ dataList, err := excel2.GetFirstEdbDataList(edbInfo, req.Num, firstDataList, req.Decimal[i])
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 默认是倒序返回的数据,如果要正序的话,那么翻转下就好了
|
|
|
+ if req.SortType == "asc" {
|
|
|
+ for i, j := 0, len(dataList)-1; i < j; i, j = i+1, j-1 {
|
|
|
+ dataList[i], dataList[j] = dataList[j], dataList[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dataList = excel2.PadFirstEdbDataList(dataList, req.DateList, req.SortType, req.Decimal[i])
|
|
|
+
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList([]int{v})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "时间序列表格数据获取失败"
|
|
|
+ br.ErrMsg = "时间序列表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource := strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+ if len(dataList) == 0 {
|
|
|
+ br.Msg = "指标数据异常,请检查"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tableList = append(tableList, &response.TableDataItem{
|
|
|
+ EdbInfoId: v,
|
|
|
+ Data: dataList,
|
|
|
+ Decimal: req.Decimal[i],
|
|
|
+ ExcelSource: excelSource,
|
|
|
+ ExcelSourceEn: excelSourceEn,
|
|
|
+ })
|
|
|
+ if len(firstDataList) == 0 {
|
|
|
+ tmpDataList := make([]string, 0)
|
|
|
+ for _, v := range dataList {
|
|
|
+ tmpDataList = append(tmpDataList, v.DataTime)
|
|
|
+ }
|
|
|
+ firstDataList = tmpDataList
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ dataList, err := excel2.GetOtherEdbDataList(edbInfo, firstDataList, req.Decimal[i])
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 默认是倒序返回的数据,如果要正序的话,那么翻转下就好了
|
|
|
+ if req.SortType == "asc" {
|
|
|
+ for i, j := 0, len(dataList)-1; i < j; i, j = i+1, j-1 {
|
|
|
+ dataList[i], dataList[j] = dataList[j], dataList[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList([]int{v})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource := strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+ tableList = append(tableList, &response.TableDataItem{
|
|
|
+ EdbInfoId: v,
|
|
|
+ Decimal: req.Decimal[i],
|
|
|
+ Data: dataList,
|
|
|
+ ExcelSource: excelSource,
|
|
|
+ ExcelSourceEn: excelSourceEn,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = tableList
|
|
|
+}
|
|
|
+
|
|
|
// GetFutureDateData
|
|
|
// @Title 获取未来日期数据接口
|
|
|
// @Description 获取未来日期数据接口
|
|
@@ -2091,7 +2239,7 @@ func (c *ExcelInfoController) GetFutureDateData() {
|
|
|
for i := lenDate - 1; i >= 0; i-- {
|
|
|
dateStrList = append(dateStrList, dateList[i].Format(utils.FormatDate))
|
|
|
}
|
|
|
- for _, v := range req.EdbInfoIdList {
|
|
|
+ for j, v := range req.EdbInfoIdList {
|
|
|
tmpEdbInfo, ok := edbInfoMap[v]
|
|
|
if !ok {
|
|
|
br.Msg = "获取指标信息失败"
|
|
@@ -2099,7 +2247,7 @@ func (c *ExcelInfoController) GetFutureDateData() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
|
|
|
+ dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList, req.Decimal[j])
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -2107,6 +2255,7 @@ func (c *ExcelInfoController) GetFutureDateData() {
|
|
|
}
|
|
|
result = append(result, response.TableDataItem{
|
|
|
EdbInfoId: v,
|
|
|
+ Decimal: req.Decimal[j],
|
|
|
Data: dataList,
|
|
|
})
|
|
|
}
|
|
@@ -2182,7 +2331,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
|
|
|
br.ErrMsg = "获取指标信息失败,err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- firstDataList, err := excel2.GetFirstHistoryEdbDataList(tmpEdbInfo, req.Num, req.EndDate)
|
|
|
+ firstDataList, err := excel2.GetFirstHistoryEdbDataList(tmpEdbInfo, req.Num, req.EndDate, req.Decimal[0])
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -2191,6 +2340,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
|
|
|
|
|
|
result = append(result, response.TableDataItem{
|
|
|
EdbInfoId: req.EdbInfoIdList[0],
|
|
|
+ Decimal: req.Decimal[0],
|
|
|
Data: firstDataList,
|
|
|
})
|
|
|
|
|
@@ -2211,7 +2361,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
|
|
|
+ dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList, req.Decimal[k])
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
@@ -2219,6 +2369,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
|
|
|
}
|
|
|
result = append(result, response.TableDataItem{
|
|
|
EdbInfoId: v,
|
|
|
+ Decimal: req.Decimal[k],
|
|
|
Data: dataList,
|
|
|
})
|
|
|
}
|
|
@@ -2966,3 +3117,238 @@ func (c *ExcelInfoController) GetEdbSource() {
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
}
|
|
|
+
|
|
|
+// ExcelRule
|
|
|
+// @Title 添加表格规则
|
|
|
+// @Description 添加表格规则
|
|
|
+// @Param request body excel3.BatchRefreshExcelReq true "type json string"
|
|
|
+// @Success Ret=200 刷新成功
|
|
|
+// @router /excel_info/rule/add [post]
|
|
|
+func (c *ExcelInfoController) AddExcelRule() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req *request.ExcelRuleMappingReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.LeftValue == "" {
|
|
|
+ br.Msg = "条件值不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.Scope == "" {
|
|
|
+ br.Msg = "应用选区不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.FontColor == "" {
|
|
|
+ br.Msg = "字体颜色不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.BackgroundColor == "" {
|
|
|
+ br.Msg = "背景颜色不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.RuleType == 3 && req.RightValue == "" {
|
|
|
+ br.Msg = "条件值不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = excel2.AddExcelRule(req, c.Lang)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "规则添加失败"
|
|
|
+ br.ErrMsg = "规则添加失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "添加成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// EditExcelRule
|
|
|
+// @Title 编辑表格规则
|
|
|
+// @Description 编辑表格规则
|
|
|
+// @Param request body request.ExcelRuleMappingReq true "type json string"
|
|
|
+// @Success Ret=200 刷新成功
|
|
|
+// @router /excel_info/rule/edit [post]
|
|
|
+func (c *ExcelInfoController) EditExcelRule() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req *request.ExcelRuleMappingReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.LeftValue == "" {
|
|
|
+ br.Msg = "条件值不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.Scope == "" {
|
|
|
+ br.Msg = "应用选区不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.FontColor == "" {
|
|
|
+ br.Msg = "字体颜色不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.BackgroundColor == "" {
|
|
|
+ br.Msg = "背景颜色不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.RuleType == 3 && req.RightValue == "" {
|
|
|
+ br.Msg = "条件值不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.ExcelRuleMappingId <= 0 {
|
|
|
+ br.Msg = "非法的管理规则ID"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = excel2.ModifyExcelRule(req, c.Lang)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "规则编辑失败"
|
|
|
+ br.ErrMsg = "规则编辑失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "编辑成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// DeleteExcelRule
|
|
|
+// @Title 删除表格规则
|
|
|
+// @Description 删除表格规则
|
|
|
+// @Param request body request.ExcelRuleMappingReq true "type json string"
|
|
|
+// @Success Ret=200 刷新成功
|
|
|
+// @router /excel_info/rule/delete [post]
|
|
|
+func (c *ExcelInfoController) DeleteExcelRule() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var req request.DeleteExcelRuleMappingReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.ExcelRuleMappingId <= 0 {
|
|
|
+ br.Msg = "非法的管理规则ID"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = excel3.DeleteExcelRuleMappingById(req.ExcelRuleMappingId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "规则删除失败"
|
|
|
+ br.ErrMsg = "规则删除失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "删除成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// GetExcelRuleList
|
|
|
+// @Title 表格规则列表
|
|
|
+// @Description 表格规则列表
|
|
|
+// @Param ExcelInfoId query int true "id"
|
|
|
+// @Success Ret=200 获取成功
|
|
|
+// @router /excel_info/rule/list [get]
|
|
|
+func (c *ExcelInfoController) GetExcelRuleList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ ExcelInfoId, _ := c.GetInt("ExcelInfoId")
|
|
|
+
|
|
|
+ if ExcelInfoId <= 0 {
|
|
|
+ br.Msg = "请选择表格"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ items, err := excel2.GetExcelRuleList(ExcelInfoId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "管理规则编辑失败"
|
|
|
+ br.ErrMsg = "管理规则添加失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if items.List == nil {
|
|
|
+ items.List = []*excel3.ExcelInfoRuleMappingView{}
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Data = items
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|
|
|
+
|
|
|
+// GetExcelRuleDetail
|
|
|
+// @Title 表格规则详情
|
|
|
+// @Description 表格规则详情
|
|
|
+// @Param ExcelInfoRuleMappingId query int true "id"
|
|
|
+// @Success Ret=200 获取成功
|
|
|
+// @router /excel_info/rule/detail [get]
|
|
|
+func (c *ExcelInfoController) GetExcelRuleDetail() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelInfoRuleMappingId, _ := c.GetInt("ExcelInfoRuleMappingId")
|
|
|
+
|
|
|
+ items, err := excel2.GetExcelRuleDetail(excelInfoRuleMappingId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "管理规则编辑失败"
|
|
|
+ br.ErrMsg = "管理规则添加失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Data = items
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|