|
@@ -919,3 +919,168 @@ func (c *ExcelInfoController) AddStaticExcel() {
|
|
|
br.Data = resp
|
|
|
br.IsAddLog = true
|
|
|
}
|
|
|
+
|
|
|
+// BalanceVersionList
|
|
|
+// @Title 查询平衡表版本号列表
|
|
|
+// @Description 查询平衡表版本号列表
|
|
|
+// @Param request body request.EditExcelInfoReq true "type json string"
|
|
|
+// @Success 200 {object} response.AddExcelInfoResp
|
|
|
+// @router /excel_info/balance/version [get]
|
|
|
+func (c *ExcelInfoController) BalanceVersionList() {
|
|
|
+ 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 = "请选择表格"
|
|
|
+ br.ErrMsg = "ExcelInfoId未传"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelInfo, err := excel.GetExcelInfoById(excelInfoId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取ETA表格失败"
|
|
|
+ br.ErrMsg = "获取ETA表格失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if excelInfo.Source != utils.BALANCE_TABLE {
|
|
|
+ br.Msg = "请选择平衡表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if excelInfo.BalanceType != 0 && excelInfo.ParentId != 0 {
|
|
|
+ br.Msg = "请选择动态平衡表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list := make([]*response.BalanceTableVersionListItem, 0)
|
|
|
+ list = append(list, &response.BalanceTableVersionListItem{
|
|
|
+ ExcelInfoId: excelInfo.ExcelInfoId,
|
|
|
+ UniqueCode: excelInfo.UniqueCode,
|
|
|
+ BalanceType: excelInfo.BalanceType,
|
|
|
+ RelExcelInfoId: excelInfo.RelExcelInfoId,
|
|
|
+ VersionName: "动态表", //todo 有个默认的版本名称
|
|
|
+ })
|
|
|
+ //查询动态表所有的子表,并复制为静态表
|
|
|
+ condition := " AND rel_excel_info_id=? AND parent_id = 0 AND balance_type = 1 "
|
|
|
+ var pars []interface{}
|
|
|
+ pars = append(pars, excelInfoId)
|
|
|
+
|
|
|
+ staticList, err := excel.GetNoContentExcelInfoListByConditionNoPage(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取子表失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取子表失败 %s", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, staticInfo := range staticList {
|
|
|
+ tmp := &response.BalanceTableVersionListItem{
|
|
|
+ ExcelInfoId: staticInfo.ExcelInfoId,
|
|
|
+ UniqueCode: staticInfo.UniqueCode,
|
|
|
+ BalanceType: staticInfo.BalanceType,
|
|
|
+ RelExcelInfoId: staticInfo.RelExcelInfoId,
|
|
|
+ VersionName: staticInfo.VersionName,
|
|
|
+ }
|
|
|
+ list = append(list, tmp)
|
|
|
+ }
|
|
|
+ ret := &response.BalanceTableVersionListResp{List: list}
|
|
|
+ br.Data = ret
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+}
|
|
|
+
|
|
|
+// ModifyBalanceExcelVersion
|
|
|
+// @Title 版本号重命名
|
|
|
+// @Description 版本号重命名
|
|
|
+// @Param request body request.AddBalanceStaticExcelInfoReq true "type json string"
|
|
|
+// @Success 200 {object} response.AddExcelInfoResp
|
|
|
+// @router /excel_info/balance/version/modify [post]
|
|
|
+func (c *ExcelInfoController) ModifyBalanceExcelVersion() {
|
|
|
+ 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.AddBalanceStaticExcelInfoReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.ExcelInfoId <= 0 {
|
|
|
+ br.Msg = "请传入ETA表格标识!"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ req.VersionName = strings.Trim(req.VersionName, " ")
|
|
|
+ if req.VersionName == "" {
|
|
|
+ br.Msg = "请填写版本名称!"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelInfo, err := excel.GetExcelInfoById(req.ExcelInfoId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取ETA表格失败"
|
|
|
+ br.ErrMsg = "获取ETA表格失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if excelInfo.Source != utils.BALANCE_TABLE {
|
|
|
+ br.Msg = "请选择平衡表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if excelInfo.BalanceType != 1 && excelInfo.ParentId != 0 {
|
|
|
+ br.Msg = "请选择静态表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 检验分类下是否存在该版本号
|
|
|
+ {
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition += " AND rel_excel_info_id=? "
|
|
|
+ pars = append(pars, req.ExcelInfoId)
|
|
|
+
|
|
|
+ condition += " AND version_name=? "
|
|
|
+ pars = append(pars, req.VersionName)
|
|
|
+
|
|
|
+ count, tmpErr := excel.GetExcelInfoCountByCondition(condition, pars)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "查询版本号失败"
|
|
|
+ br.ErrMsg = tmpErr.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ br.Msg = "表格版本号已存在,请重新填写表格名称"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ excelInfo.ModifyTime = time.Now()
|
|
|
+ excelInfo.VersionName = req.VersionName
|
|
|
+ updateExcelInfoParams := []string{"ModifyTime", "VersionName"}
|
|
|
+ // 同步修改静态表中的图表和指标名称
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "操作成功"
|
|
|
+ br.IsAddLog = true
|
|
|
+}
|