chart_info.go 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613
  1. package data
  2. import (
  3. "fmt"
  4. "hongze/hongze_chart_lib/models/data_manage"
  5. "hongze/hongze_chart_lib/utils"
  6. "sort"
  7. "strconv"
  8. "time"
  9. )
  10. func ChartInfoRefresh(chartInfoId int) (err error) {
  11. var errmsg string
  12. defer func() {
  13. if err != nil {
  14. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "ChartInfoRefresh:"+errmsg, utils.EmailSendToUsers)
  15. fmt.Println("ChartInfoRefresh Err:" + errmsg)
  16. }
  17. }()
  18. baseEdbInfoArr, calculateInfoArr, err := data_manage.GetChartInfoRefreshData(chartInfoId)
  19. if err != nil {
  20. errmsg = "获取需要刷新的指标失败:Err:" + err.Error()
  21. return
  22. }
  23. var startDate string
  24. newBaseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
  25. baseMap := make(map[int]*data_manage.EdbInfo)
  26. for _, bv := range baseEdbInfoArr {
  27. if _, ok := baseMap[bv.EdbInfoId]; !ok {
  28. newBaseEdbInfoArr = append(newBaseEdbInfoArr, bv)
  29. }
  30. baseMap[bv.EdbInfoId] = bv
  31. }
  32. fmt.Println("calculateInfoArr:", len(calculateInfoArr))
  33. newCalculateInfoArr := make([]*data_manage.EdbInfo, 0)
  34. calculateMap := make(map[int]*data_manage.EdbInfo)
  35. var calculateArr []int
  36. for _, bv := range calculateInfoArr {
  37. if _, ok := calculateMap[bv.EdbInfoId]; !ok {
  38. newCalculateInfoArr = append(newCalculateInfoArr, bv)
  39. calculateArr = append(calculateArr, bv.EdbInfoId)
  40. }
  41. calculateMap[bv.EdbInfoId] = bv
  42. }
  43. sort.Ints(calculateArr)
  44. for _, bv := range newBaseEdbInfoArr {
  45. source := bv.Source
  46. edbInfoId := bv.EdbInfoId
  47. edbCode := bv.EdbCode
  48. startDate = bv.StartDate
  49. sTime, err := time.Parse(utils.FormatDate, bv.EndDate)
  50. if err != nil {
  51. return err
  52. }
  53. startDate = sTime.Format(utils.FormatDate)
  54. if source == utils.DATA_SOURCE_THS {
  55. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  56. err = RefreshEdbDataByThs(edbInfoId, edbCode, startDate, endDate)
  57. if err != nil {
  58. errmsg = "RefreshEdbDataByThs Err:" + err.Error()
  59. }
  60. } else if source == utils.DATA_SOURCE_WIND {
  61. endDate := time.Now().Format(utils.FormatDate)
  62. err = RefreshEdbDataByWind(edbInfoId, edbCode, startDate, endDate)
  63. if err != nil {
  64. errmsg = "RefreshEdbDataByWind Err:" + err.Error()
  65. }
  66. } else if source == utils.DATA_SOURCE_PB {
  67. startDate := sTime.Format(utils.FormatDateUnSpace)
  68. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
  69. err = RefreshEdbDataByPb(edbInfoId, edbCode, startDate, endDate)
  70. if err != nil {
  71. errmsg = "RefreshEdbDataByPb Err:" + err.Error()
  72. }
  73. } else if source == utils.DATA_SOURCE_MANUAL {
  74. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  75. err = data_manage.RefreshEdbDataByManual(edbInfoId, edbCode, startDate, endDate)
  76. if err != nil {
  77. errmsg = "RefreshEdbDataByManual Err:" + err.Error()
  78. }
  79. } else if source == utils.DATA_SOURCE_LZ {
  80. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  81. err = data_manage.RefreshEdbDataByLz(edbInfoId, edbCode, startDate, endDate)
  82. if err != nil {
  83. errmsg = "RefreshEdbDataByLz Err:" + err.Error()
  84. }
  85. } else if source == utils.DATA_SOURCE_YS {
  86. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  87. err = data_manage.RefreshAllEdbDataByYs(edbInfoId, source, edbCode, startDate, endDate)
  88. if err != nil {
  89. errmsg = "RefreshEdbDataByYs Err:" + err.Error()
  90. }
  91. } else if source == utils.DATA_SOURCE_GL {
  92. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  93. err = data_manage.RefreshEdbDataByGl(edbInfoId, edbCode, startDate, endDate)
  94. if err != nil {
  95. errmsg = "RefreshEdbDataByGl Err:" + err.Error()
  96. }
  97. }else if source == utils.DATA_SOURCE_LT {
  98. endDate := time.Now().Format(utils.FormatDate)
  99. err = data_manage.RefreshAllEdbDataByLt(edbInfoId, source, edbCode, startDate, endDate)
  100. if err != nil {
  101. errmsg = "RefreshAllEdbDataByLT Err:" + err.Error()
  102. }
  103. }
  104. maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
  105. if err != nil {
  106. return err
  107. }
  108. if maxAndMinItem != nil {
  109. err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
  110. if err != nil {
  111. return err
  112. }
  113. }
  114. }
  115. for _, v := range calculateArr {
  116. edbInfo := calculateMap[v]
  117. if edbInfo == nil {
  118. return err
  119. }
  120. edbInfoId := edbInfo.EdbInfoId
  121. source := edbInfo.Source
  122. edbCode := edbInfo.EdbCode
  123. fmt.Println("source:", source)
  124. fmt.Println("edbInfoId:", edbInfoId)
  125. if source == utils.DATA_SOURCE_CALCULATE { //指标运算
  126. startDate = edbInfo.StartDate
  127. sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
  128. if err != nil {
  129. return err
  130. }
  131. startDate = sTime.Format(utils.FormatDate)
  132. var edbInfoIdBytes []string
  133. calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
  134. if err != nil {
  135. errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
  136. return err
  137. }
  138. var formulaStr string
  139. edbInfoList := make([]*data_manage.EdbInfo, 0)
  140. for _, v := range calculateMap {
  141. formulaStr += v.FromTag + ","
  142. edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
  143. edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
  144. edbInfoList = append(edbInfoList, edbInfo)
  145. }
  146. fmt.Println("start RefreshCalculate")
  147. endDate := ""
  148. err = RefreshCalculate(edbInfoList, int(edbInfoId), edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
  149. if err != nil {
  150. errmsg = "RefreshCalculate Err:" + err.Error()
  151. return err
  152. }
  153. } else if source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
  154. calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
  155. if err != nil {
  156. errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
  157. return err
  158. }
  159. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
  160. if err != nil {
  161. errmsg = "GetEdbInfoById Err:" + err.Error()
  162. return err
  163. }
  164. year := time.Now().Year()
  165. startDate = strconv.Itoa(year) + "-01" + "-01"
  166. endDate := ""
  167. err = data_manage.RefreshCalculateLjzzy(edbInfoId, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
  168. if err != nil {
  169. errmsg = "RefreshCalculateLjzzy Err:" + err.Error()
  170. return err
  171. }
  172. } else if source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
  173. calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
  174. if err != nil {
  175. errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
  176. return err
  177. }
  178. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  179. if err != nil {
  180. errmsg = "GetEdbInfoById Err:" + err.Error()
  181. return err
  182. }
  183. startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
  184. endDate := "" // time.Now().Format(utils.FormatDate)
  185. err = data_manage.RefreshCalculateTbz(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
  186. if err != nil {
  187. errmsg = "RefreshCalculateTbz Err:" + err.Error()
  188. return err
  189. }
  190. } else if source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
  191. calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
  192. if err != nil {
  193. errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
  194. return err
  195. }
  196. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
  197. if err != nil {
  198. errmsg = "GetEdbInfoById Err:" + err.Error()
  199. return err
  200. }
  201. startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
  202. endDate := "" //time.Now().Format(utils.FormatDate)
  203. err = data_manage.RefreshCalculateTcz(edbInfoId, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
  204. if err != nil {
  205. errmsg = "RefreshCalculateTcz Err:" + err.Error()
  206. return err
  207. }
  208. } else if source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
  209. fmt.Println("刷新计算指标:", edbInfoId)
  210. calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
  211. if err != nil {
  212. errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
  213. return err
  214. }
  215. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
  216. if err != nil {
  217. errmsg = "GetEdbInfoById Err:" + err.Error()
  218. return err
  219. }
  220. formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
  221. err = data_manage.RefreshCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode)
  222. if err != nil {
  223. errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
  224. return err
  225. }
  226. } else if source == utils.DATA_SOURCE_CALCULATE_HBZ { //刷新环比
  227. calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
  228. if err != nil {
  229. errmsg = "GetEdbInfoCalculateHbzDetail Err:" + err.Error()
  230. return err
  231. }
  232. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  233. if err != nil {
  234. errmsg = "GetEdbInfoById Err:" + err.Error()
  235. return err
  236. }
  237. startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
  238. endDate := "" //time.Now().Format(utils.FormatDate)
  239. err = data_manage.RefreshCalculateHbz(edbInfoId, edbInfo.Source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
  240. if err != nil {
  241. errmsg = "RefreshCalculateHbz Err:" + err.Error()
  242. return err
  243. }
  244. } else if source == utils.DATA_SOURCE_CALCULATE_HCZ { //刷新环差值
  245. calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
  246. if err != nil {
  247. errmsg = "GetEdbInfoCalculateHczDetail Err:" + err.Error()
  248. return err
  249. }
  250. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  251. if err != nil {
  252. errmsg = "GetEdbInfoById Err:" + err.Error()
  253. return err
  254. }
  255. startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
  256. endDate := "" //time.Now().Format(utils.FormatDate)
  257. err = data_manage.RefreshCalculateHcz(edbInfoId, edbInfo.Source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
  258. if err != nil {
  259. errmsg = "RefreshCalculateHcz Err:" + err.Error()
  260. return err
  261. }
  262. } else if source == utils.DATA_SOURCE_CALCULATE_BP { //刷新变频
  263. calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
  264. if err != nil {
  265. errmsg = "GetEdbInfoCalculateBpDetail Err:" + err.Error()
  266. return err
  267. }
  268. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  269. if err != nil {
  270. errmsg = "GetEdbInfoById Err:" + err.Error()
  271. return err
  272. }
  273. startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
  274. endDate := "" //time.Now().Format(utils.FormatDate)
  275. err = data_manage.RefreshCalculateBp(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
  276. if err != nil {
  277. errmsg = "RefreshCalculateBp Err:" + err.Error()
  278. return err
  279. }
  280. }
  281. maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
  282. if err != nil {
  283. return err
  284. }
  285. if maxAndMinItem != nil {
  286. err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
  287. if err != nil {
  288. return err
  289. }
  290. }
  291. }
  292. return err
  293. }
  294. func ChartInfoRefreshV1(chartInfoId int) (err error) {
  295. var errmsg string
  296. defer func() {
  297. if err != nil {
  298. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "ChartInfoRefresh:"+errmsg, utils.EmailSendToUsers)
  299. fmt.Println("ChartInfoRefresh Err:" + errmsg)
  300. }
  301. }()
  302. baseEdbInfoArr, calculateInfoArr, err := data_manage.GetChartInfoRefreshData(chartInfoId)
  303. if err != nil {
  304. errmsg = "获取需要刷新的指标失败:Err:" + err.Error()
  305. return
  306. }
  307. var startDate string
  308. newBaseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
  309. baseMap := make(map[int]*data_manage.EdbInfo)
  310. for _, bv := range baseEdbInfoArr {
  311. if _, ok := baseMap[bv.EdbInfoId]; !ok {
  312. newBaseEdbInfoArr = append(newBaseEdbInfoArr, bv)
  313. }
  314. baseMap[bv.EdbInfoId] = bv
  315. }
  316. fmt.Println("calculateInfoArr:", len(calculateInfoArr))
  317. newCalculateInfoArr := make([]*data_manage.EdbInfo, 0)
  318. calculateMap := make(map[int]*data_manage.EdbInfo)
  319. var calculateArr []int
  320. for _, bv := range calculateInfoArr {
  321. if _, ok := calculateMap[bv.EdbInfoId]; !ok {
  322. newCalculateInfoArr = append(newCalculateInfoArr, bv)
  323. calculateArr = append(calculateArr, bv.EdbInfoId)
  324. }
  325. calculateMap[bv.EdbInfoId] = bv
  326. }
  327. sort.Ints(calculateArr)
  328. for _, bv := range newBaseEdbInfoArr {
  329. source := bv.Source
  330. edbInfoId := bv.EdbInfoId
  331. edbCode := bv.EdbCode
  332. startDate = bv.StartDate
  333. sTime, err := time.Parse(utils.FormatDate, bv.EndDate)
  334. if err != nil {
  335. return err
  336. }
  337. startDate = sTime.Format(utils.FormatDate)
  338. if source == utils.DATA_SOURCE_THS {
  339. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  340. err = RefreshEdbDataByThs(edbInfoId, edbCode, startDate, endDate)
  341. if err != nil {
  342. errmsg = "RefreshEdbDataByThs Err:" + err.Error()
  343. }
  344. } else if source == utils.DATA_SOURCE_WIND {
  345. endDate := time.Now().Format(utils.FormatDate)
  346. err = RefreshEdbDataByWind(edbInfoId, edbCode, startDate, endDate)
  347. if err != nil {
  348. errmsg = "RefreshEdbDataByWind Err:" + err.Error()
  349. }
  350. } else if source == utils.DATA_SOURCE_PB {
  351. startDate := sTime.Format(utils.FormatDateUnSpace)
  352. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
  353. err = RefreshEdbDataByPb(edbInfoId, edbCode, startDate, endDate)
  354. if err != nil {
  355. errmsg = "RefreshEdbDataByPb Err:" + err.Error()
  356. }
  357. } else if source == utils.DATA_SOURCE_MANUAL {
  358. err = data_manage.RefreshAllEdbDataByManual(edbInfoId,bv.Source, edbCode)
  359. if err != nil {
  360. errmsg = "RefreshEdbDataByManual Err:" + err.Error()
  361. }
  362. } else if source == utils.DATA_SOURCE_LZ {
  363. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  364. err = data_manage.RefreshEdbDataByLz(edbInfoId, edbCode, startDate, endDate)
  365. if err != nil {
  366. errmsg = "RefreshEdbDataByLz Err:" + err.Error()
  367. }
  368. } else if source == utils.DATA_SOURCE_YS {
  369. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  370. err = data_manage.RefreshAllEdbDataByYs(edbInfoId, source, edbCode, startDate, endDate)
  371. if err != nil {
  372. errmsg = "RefreshEdbDataByYs Err:" + err.Error()
  373. }
  374. } else if source == utils.DATA_SOURCE_GL {
  375. endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
  376. err = data_manage.RefreshEdbDataByGl(edbInfoId, edbCode, startDate, endDate)
  377. if err != nil {
  378. errmsg = "RefreshEdbDataByGl Err:" + err.Error()
  379. }
  380. }else if source == utils.DATA_SOURCE_LT {
  381. endDate := time.Now().Format(utils.FormatDate)
  382. err = data_manage.RefreshAllEdbDataByLt(edbInfoId, source, edbCode, startDate, endDate)
  383. if err != nil {
  384. errmsg = "RefreshAllEdbDataByLT Err:" + err.Error()
  385. }
  386. }
  387. maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
  388. if err != nil {
  389. return err
  390. }
  391. if maxAndMinItem != nil {
  392. err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
  393. if err != nil {
  394. return err
  395. }
  396. }
  397. }
  398. endDate := "" //计算指标不限制日期
  399. //刷新相关计算指标
  400. for _, v := range calculateArr {
  401. edbInfo := calculateMap[v]
  402. if edbInfo == nil {
  403. return err
  404. }
  405. edbInfoId := edbInfo.EdbInfoId
  406. source := edbInfo.Source
  407. edbCode := edbInfo.EdbCode
  408. if source == utils.DATA_SOURCE_CALCULATE {
  409. startDate = edbInfo.StartDate
  410. sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
  411. if err != nil {
  412. return err
  413. }
  414. startDate = sTime.Format(utils.FormatDate)
  415. var edbInfoIdBytes []string
  416. calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
  417. if err != nil {
  418. errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
  419. return err
  420. }
  421. var formulaStr string
  422. edbInfoList := make([]*data_manage.EdbInfo, 0)
  423. for _, v := range calculateMap {
  424. formulaStr += v.FromTag + ","
  425. edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
  426. edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
  427. edbInfoList = append(edbInfoList, edbInfo)
  428. }
  429. err = data_manage.RefreshAllCalculate(edbInfoList, int(edbInfoId), source, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
  430. if err != nil {
  431. errmsg = "RefreshCalculate Err:" + err.Error()
  432. return err
  433. }
  434. } else if source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
  435. calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
  436. if err != nil {
  437. errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
  438. return err
  439. }
  440. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
  441. if err != nil {
  442. errmsg = "GetEdbInfoById Err:" + err.Error()
  443. return err
  444. }
  445. startDate = edbInfo.StartDate
  446. endDate = time.Now().Format(utils.FormatDate)
  447. err = data_manage.RefreshAllCalculateLjzzy(edbInfoId, source, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
  448. if err != nil {
  449. errmsg = "RefreshAllCalculateLjzzy Err:" + err.Error()
  450. return err
  451. }
  452. } else if source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
  453. calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
  454. if err != nil {
  455. errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
  456. return err
  457. }
  458. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  459. if err != nil {
  460. errmsg = "GetEdbInfoById Err:" + err.Error()
  461. return err
  462. }
  463. startDate = edbInfo.StartDate
  464. endDate = time.Now().Format(utils.FormatDate)
  465. err = data_manage.RefreshAllCalculateTbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
  466. if err != nil {
  467. errmsg = "RefreshAllCalculateTbz Err:" + err.Error()
  468. return err
  469. }
  470. } else if source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
  471. calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
  472. if err != nil {
  473. errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
  474. return err
  475. }
  476. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
  477. if err != nil {
  478. errmsg = "GetEdbInfoById Err:" + err.Error()
  479. return err
  480. }
  481. startDate = edbInfo.StartDate
  482. endDate = time.Now().Format(utils.FormatDate)
  483. err = data_manage.RefreshAllCalculateTcz(edbInfoId, source, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
  484. if err != nil {
  485. errmsg = "RefreshCalculateTcz Err:" + err.Error()
  486. return err
  487. }
  488. } else if source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
  489. calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
  490. if err != nil {
  491. errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
  492. return err
  493. }
  494. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
  495. if err != nil {
  496. errmsg = "GetEdbInfoById Err:" + err.Error()
  497. return err
  498. }
  499. formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
  500. startDate = edbInfo.StartDate
  501. err = data_manage.RefreshAllCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode, startDate)
  502. if err != nil {
  503. errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
  504. return err
  505. }
  506. } else if source == utils.DATA_SOURCE_CALCULATE_HBZ { //刷新环比值
  507. calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
  508. if err != nil {
  509. errmsg = "GetEdbInfoCalculateHbzDetail Err:" + err.Error()
  510. return err
  511. }
  512. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  513. if err != nil {
  514. errmsg = "GetEdbInfoById Err:" + err.Error()
  515. return err
  516. }
  517. startDate = edbInfo.StartDate
  518. endDate = time.Now().Format(utils.FormatDate)
  519. formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
  520. err = data_manage.RefreshAllCalculateHbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
  521. if err != nil {
  522. errmsg = "RefreshAllCalculateHbz Err:" + err.Error()
  523. return err
  524. }
  525. } else if source == utils.DATA_SOURCE_CALCULATE_HCZ { //刷新环差值
  526. calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
  527. if err != nil {
  528. errmsg = "GetEdbInfoCalculateHczDetail Err:" + err.Error()
  529. return err
  530. }
  531. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  532. if err != nil {
  533. errmsg = "GetEdbInfoById Err:" + err.Error()
  534. return err
  535. }
  536. startDate = edbInfo.StartDate
  537. endDate = time.Now().Format(utils.FormatDate)
  538. formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
  539. err = data_manage.RefreshAllCalculateHcz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
  540. if err != nil {
  541. errmsg = "RefreshAllCalculateHcz Err:" + err.Error()
  542. return err
  543. }
  544. } else if source == utils.DATA_SOURCE_CALCULATE_BP { //刷新变频
  545. calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
  546. if err != nil {
  547. errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
  548. return err
  549. }
  550. fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
  551. if err != nil {
  552. errmsg = "GetEdbInfoById Err:" + err.Error()
  553. return err
  554. }
  555. startDate = edbInfo.StartDate
  556. endDate = time.Now().Format(utils.FormatDate)
  557. err = data_manage.RefreshAllCalculateBp(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
  558. if err != nil {
  559. errmsg = "RefreshAllCalculateBp Err:" + err.Error()
  560. return err
  561. }
  562. } else if source == utils.DATA_SOURCE_CALCULATE_ZJPJ { //刷新直接拼接数据
  563. err = data_manage.RefreshAllCalculateZjpj(edbInfo)
  564. if err != nil {
  565. errmsg = "RefreshAllCalculateZjpj Err:" + err.Error()
  566. return err
  567. }
  568. } else if source == utils.DATA_SOURCE_CALCULATE_LJZTBPJ { //刷新累计值同比拼接数据
  569. err = data_manage.RefreshAllCalculateLjztbpj(edbInfo)
  570. if err != nil {
  571. errmsg = "RefreshAllCalculateLjztbpj Err:" + err.Error()
  572. return err
  573. }
  574. }
  575. maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
  576. if err != nil {
  577. return err
  578. }
  579. if maxAndMinItem != nil {
  580. err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
  581. if err != nil {
  582. return err
  583. }
  584. }
  585. fmt.Println("end calculateArr:", v, time.Now())
  586. }
  587. return err
  588. }