|
@@ -271,3 +271,72 @@ func DeleteChartSeriesAndEdbMapping(chartInfoId int) (err error) {
|
|
|
_, err = to.Raw(sql, chartInfoId).Exec()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+func CopyChartSeriesAndEdbMapping(seriesList []*ChartSeries, seriesEdbInfoList []*ChartSeriesEdbMapping, chartInfoId int) (err error) {
|
|
|
+ o := orm.NewOrmUsingDB("data")
|
|
|
+ to, err := o.Begin()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ _ = to.Rollback()
|
|
|
+ } else {
|
|
|
+ _ = to.Commit()
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ seriesEdbMap := make(map[int][]*ChartSeriesEdbMapping)
|
|
|
+ for _, v := range seriesEdbInfoList {
|
|
|
+ seriesEdbMap[v.ChartSeriesId] = append(seriesEdbMap[v.ChartSeriesId], v)
|
|
|
+ }
|
|
|
+ for _, v := range seriesList {
|
|
|
+ tmp := &ChartSeries{
|
|
|
+ SeriesName: v.SeriesName,
|
|
|
+ SeriesNameEn: v.SeriesNameEn,
|
|
|
+ ChartInfoId: chartInfoId,
|
|
|
+ ChartStyle: v.ChartStyle,
|
|
|
+ ChartColor: v.ChartColor,
|
|
|
+ ChartWidth: v.ChartWidth,
|
|
|
+ IsPoint: v.IsPoint,
|
|
|
+ IsNumber: v.IsNumber,
|
|
|
+ IsAxis: v.IsAxis,
|
|
|
+ MaxData: v.MaxData,
|
|
|
+ MinData: v.MinData,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ }
|
|
|
+ seriesIdTmp, e := to.Insert(tmp)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("AddChartSeries Err:" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ seriesId := int(seriesIdTmp)
|
|
|
+ addSeriesEdbList := make([]*ChartSeriesEdbMapping, 0)
|
|
|
+ mappingList, ok := seriesEdbMap[v.ChartSeriesId]
|
|
|
+ if ok {
|
|
|
+ for _, edbItem := range mappingList {
|
|
|
+ edbTmp := &ChartSeriesEdbMapping{
|
|
|
+ ChartSeriesId: seriesId, //todo 系列ID
|
|
|
+ ChartInfoId: chartInfoId, //todo 表图ID
|
|
|
+ EdbInfoId: edbItem.EdbInfoId,
|
|
|
+ //EdbAliasName: "",
|
|
|
+ //EdbAliasNameEn: "",
|
|
|
+ DateConfName: edbItem.DateConfName,
|
|
|
+ DateConfType: edbItem.DateConfType,
|
|
|
+ DateConf: edbItem.DateConf,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ }
|
|
|
+ addSeriesEdbList = append(addSeriesEdbList, edbTmp)
|
|
|
+ }
|
|
|
+ if len(addSeriesEdbList) > 0 {
|
|
|
+ _, e = to.InsertMulti(len(addSeriesEdbList), addSeriesEdbList)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("AddChartSeries Err:" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|