|
@@ -6,6 +6,7 @@ import (
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
excelModel "eta/eta_api/models/data_manage/excel"
|
|
|
"eta/eta_api/models/data_manage/excel/request"
|
|
|
+ "eta/eta_api/models/system"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
"github.com/xuri/excelize/v2"
|
|
@@ -464,3 +465,112 @@ func GetBalanceExcelChartSingle(chartInfo *data_manage.ChartInfoView, lang strin
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// AddBalanceStaticExcel 另存为静态表
|
|
|
+func AddBalanceStaticExcel(oldExcelInfoId int, versionName string, sysUser *system.Admin, parentId int) (excelInfo *excelModel.ExcelInfo, err error, errMsg string, isSendEmail bool) {
|
|
|
+ isSendEmail = true
|
|
|
+
|
|
|
+ versionName = utils.TrimLRStr(versionName)
|
|
|
+
|
|
|
+ // 获取原ETA表格信息
|
|
|
+ oldExcelInfo, err := excelModel.GetExcelInfoById(oldExcelInfoId)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "获取ETA表格失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // todo 操作权限校验
|
|
|
+ {
|
|
|
+ // 数据权限
|
|
|
+ /*haveOperaAuth, tmpErr := data_manage_permission.CheckExcelPermissionByExcelInfoId(oldExcelInfo.ExcelInfoId, oldExcelInfo.ExcelClassifyId, oldExcelInfo.IsJoinPermission, sysUser.AdminId)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "获取ETA表格权限失败"
|
|
|
+ err = errors.New("获取ETA表格权限失败,Err:" + tmpErr.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ button := GetExcelInfoOpButton(sysUser, oldExcelInfo.SysUserId, oldExcelInfo.Source, haveOperaAuth)
|
|
|
+ if !button.CopyButton {
|
|
|
+ errMsg = "无操作权限"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ isSendEmail = false
|
|
|
+ return
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+
|
|
|
+ // 检验分类下是否存在该表格名称
|
|
|
+ {
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += " AND rel_excel_info_id=? "
|
|
|
+ pars = append(pars, oldExcelInfoId)
|
|
|
+
|
|
|
+ condition += " AND version_name=? "
|
|
|
+ pars = append(pars, versionName)
|
|
|
+
|
|
|
+ count, tmpErr := excelModel.GetExcelInfoCountByCondition(condition, pars)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "判断表格名称是否存在失败"
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ errMsg = "表格名称已存在,请重新填写表格名称"
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ isSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 表格信息
|
|
|
+ timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
|
+ excelInfo = &excelModel.ExcelInfo{
|
|
|
+ //ExcelInfoId: 0,
|
|
|
+ ExcelName: oldExcelInfo.ExcelName + "(" + versionName + ")",
|
|
|
+ Source: oldExcelInfo.Source,
|
|
|
+ ExcelType: oldExcelInfo.ExcelType,
|
|
|
+ UniqueCode: utils.MD5(utils.EXCEL_DATA_PREFIX + "_" + timestamp),
|
|
|
+ ExcelClassifyId: oldExcelInfo.ExcelClassifyId,
|
|
|
+ SysUserId: sysUser.AdminId,
|
|
|
+ SysUserRealName: sysUser.RealName,
|
|
|
+ Content: oldExcelInfo.Content,
|
|
|
+ ExcelImage: oldExcelInfo.ExcelImage,
|
|
|
+ FileUrl: oldExcelInfo.FileUrl,
|
|
|
+ RelExcelInfoId: oldExcelInfoId,
|
|
|
+ VersionName: versionName,
|
|
|
+ UpdateUserId: sysUser.AdminId,
|
|
|
+ UpdateUserRealName: sysUser.AdminName,
|
|
|
+ BalanceType: 1,
|
|
|
+ Sort: 0,
|
|
|
+ IsDelete: 0,
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取excel与指标的关系表
|
|
|
+ list, tmpErr := excelModel.GetAllExcelEdbMappingByExcelInfoId(excelInfo.ExcelInfoId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "获取失败"
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ v.ExcelEdbMappingId = 0
|
|
|
+ v.ExcelInfoId = 0
|
|
|
+ list[k] = v
|
|
|
+ }
|
|
|
+ var childExcel *excelModel.ExcelInfo
|
|
|
+ err = excelModel.AddExcelInfo(excelInfo, list, childExcel)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "保存失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if parentId == 0 {
|
|
|
+ //查询动态表所有的子表,并复制为静态表
|
|
|
+
|
|
|
+ } else if parentId > 0 {
|
|
|
+ // 如果复制的是动态表的子表,则同步复制关联的图表
|
|
|
+
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|