|
@@ -239,3 +239,214 @@ func refreshBalanceTable(excelDetail response.ExcelInfoDetail, lang string) (err
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// GetChildTable
|
|
|
+// @Title 获取子表
|
|
|
+// @Description 获取子表
|
|
|
+// @Param request body request.MixedTableCellDataReq true "type json string"
|
|
|
+// @router /excel_info/child_table [get]
|
|
|
+func (c *ExcelInfoController) GetChildTable() {
|
|
|
+ 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
|
|
|
+ }
|
|
|
+
|
|
|
+ parentId, _ := c.GetInt("ParentId")
|
|
|
+ if parentId <= 0 {
|
|
|
+ br.Msg = "请选择父表"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list := make([]*excel.ExcelInfo, 0)
|
|
|
+ // 查询所有子表
|
|
|
+ childList, err := excel.GetChildExcelInfoByParentId(parentId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询子表失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(childList) > 0 {
|
|
|
+ list = childList
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := &response.BalanceChildTableResp{List: list}
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "查询成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// 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 = "操作成功"
|
|
|
+}
|
|
|
+
|
|
|
+// GetBalanceChartList
|
|
|
+// @Title 获取平衡表表关联的图表
|
|
|
+// @Description 获取平衡表表关联的图表
|
|
|
+// @Param request body request.MixedTableCellDataReq true "type json string"
|
|
|
+// @router /excel_info/balance/chart_list [get]
|
|
|
+func (c *ExcelInfoController) GetBalanceChartList() {
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ // 查询所有子表
|
|
|
+ excelInfo, err := excel.GetExcelInfoById(excelInfoId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() == utils.ErrNoRow() {
|
|
|
+ br.Msg = "表格不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Msg = "查询子表失败"
|
|
|
+ br.ErrMsg = "查询子表失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list := make([]*data_manage.BalanceChartInfoDetailResp, 0)
|
|
|
+ chartInfoList, mappingListMap, dataListMap, err, errMsg := excelService.GetBalanceExcelChartList(excelInfo, "")
|
|
|
+ if err != nil {
|
|
|
+ if errMsg != "" {
|
|
|
+ br.Msg = errMsg
|
|
|
+ br.ErrMsg = err.Error()
|
|
|
+ return
|
|
|
+ } else {
|
|
|
+ br.Msg = "查询图表失败"
|
|
|
+ br.ErrMsg = "查询图表失败,Err:" + err.Error()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, chartInfo := range chartInfoList {
|
|
|
+ mappingList, ok := mappingListMap[chartInfo.ChartInfoId]
|
|
|
+ if !ok {
|
|
|
+ br.Msg = "未找到图表关联的指标信息"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var chartInfoResp *data_manage.ChartInfoDetailResp
|
|
|
+ chartInfoResp, err, errMsg = data.GetBalanceExcelChartDetail(chartInfo, mappingList, sysUser, dataListMap)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询图表详情失败"
|
|
|
+ br.ErrMsg = "查询图表详情失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartEdbList := make([]*data_manage.ExcelChartEdbView, 0)
|
|
|
+ for _, v := range mappingList {
|
|
|
+ tmp := &data_manage.ExcelChartEdbView{
|
|
|
+ ExcelChartEdbId: v.ExcelChartEdbId,
|
|
|
+ DateSequenceStr: v.DateSequence,
|
|
|
+ DataSequenceStr: v.DataSequence,
|
|
|
+ FromTag: v.FromTag,
|
|
|
+ }
|
|
|
+ chartEdbList = append(chartEdbList, tmp)
|
|
|
+ }
|
|
|
+
|
|
|
+ balanceChartInfoResp := &data_manage.BalanceChartInfoDetailResp{
|
|
|
+ ChartInfoDetailResp: chartInfoResp,
|
|
|
+ ExcelEdbList: chartEdbList,
|
|
|
+ }
|
|
|
+ list = append(list, balanceChartInfoResp)
|
|
|
+ }
|
|
|
+
|
|
|
+ ret := &data_manage.BalanceTableChartListResp{List: list}
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "查询成功"
|
|
|
+ br.Data = ret
|
|
|
+}
|