BenchmarkingController.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  1. package com.gyee.benchmarkingimpala.controller;
  2. import com.gyee.benchmarkingimpala.common.StringUtils;
  3. import com.gyee.benchmarkingimpala.config.R;
  4. import com.gyee.benchmarkingimpala.init.CacheContext;
  5. import com.gyee.benchmarkingimpala.model.auto.*;
  6. import com.gyee.benchmarkingimpala.model.vo.*;
  7. import com.gyee.benchmarkingimpala.service.BenchmarkingService;
  8. import com.gyee.benchmarkingimpala.util.RandomUtil;
  9. import com.gyee.benchmarkingimpala.util.SortUtils;
  10. import org.apache.poi.ss.formula.functions.T;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.text.ParseException;
  14. import java.util.List;
  15. import java.util.Map;
  16. /**
  17. * @ClassName : BenchmarkingController
  18. * @Author : xieshengjie
  19. * @Date: 2021/6/16 10:27
  20. * @Description : 对标管理controller
  21. */
  22. @RestController
  23. @RequestMapping("//benchmarking")
  24. public class BenchmarkingController {
  25. @Autowired
  26. private BenchmarkingService benchmarkingService;
  27. /**
  28. * 场站列表
  29. * @return
  30. */
  31. @GetMapping("/wplist")
  32. @ResponseBody
  33. @CrossOrigin(origins = "*", maxAge = 3600)
  34. public R wplist(){
  35. List<Windpowerstation> resultList = benchmarkingService.wplist();
  36. if (StringUtils.isNotNull(resultList)) {
  37. SortUtils.sort(resultList,"ordernum",SortUtils.ASC);
  38. return R.ok(resultList.size()).data(resultList);
  39. }else{
  40. return R.error().message("访问失败");
  41. }
  42. }
  43. /**
  44. * GF场站列表
  45. * @return
  46. */
  47. @GetMapping("/wpgflist")
  48. @ResponseBody
  49. @CrossOrigin(origins = "*", maxAge = 3600)
  50. public R wpGFlist(){
  51. List<Windpowerstation> resultList = benchmarkingService.wpGFList();
  52. if (StringUtils.isNotNull(resultList)) {
  53. SortUtils.sort(resultList,"ordernum",SortUtils.ASC);
  54. return R.ok(resultList.size()).data(resultList);
  55. }else{
  56. return R.error().message("访问失败");
  57. }
  58. }
  59. /**
  60. * 根据场站查询
  61. * 项目列表
  62. * @return
  63. */
  64. @GetMapping("/projectList")
  65. @ResponseBody
  66. @CrossOrigin(origins = "*", maxAge = 3600)
  67. public R projectList(@RequestParam(value = "wpids",required = true) String wpids){
  68. List<Project> resultList = benchmarkingService.projectList(wpids);
  69. if (StringUtils.isNotNull(resultList)) {
  70. return R.ok(resultList.size()).data(resultList);
  71. }else{
  72. return R.error().message("访问失败");
  73. }
  74. }
  75. /**
  76. * 根据项目查询
  77. * 线路列表
  78. * @return
  79. */
  80. @GetMapping("/lineList")
  81. @ResponseBody
  82. @CrossOrigin(origins = "*", maxAge = 3600)
  83. public R lineList(@RequestParam(value = "projects",required = true) String projects){
  84. List<Line> resultList = benchmarkingService.lineList(projects);
  85. if (StringUtils.isNotNull(resultList)) {
  86. return R.ok(resultList.size()).data(resultList);
  87. }else{
  88. return R.error().message("访问失败");
  89. }
  90. }
  91. /**
  92. * 根据场站查询
  93. * 风机列表
  94. * @return
  95. */
  96. @GetMapping("/wtList")
  97. @ResponseBody
  98. @CrossOrigin(origins = "*", maxAge = 3600)
  99. public R wtList(@RequestParam(value = "wpid",required = true) String wpid){
  100. List<Windturbine> resultList = benchmarkingService.wtList(wpid);
  101. SortUtils.sort(resultList,"status",SortUtils.ASC);
  102. if (StringUtils.isNotNull(resultList)) {
  103. return R.ok(resultList.size()).data(resultList);
  104. }else{
  105. return R.error().message("访问失败");
  106. }
  107. }
  108. /**
  109. * 风机绩效榜
  110. * @param wpids
  111. * @param projectids
  112. * @param lineids
  113. * @param beginDate
  114. * @param endDate
  115. * @param type
  116. * @return
  117. */
  118. @GetMapping("/fjjxb")
  119. @ResponseBody
  120. @CrossOrigin(origins = "*", maxAge = 3600)
  121. public R fjjxb(@RequestParam(value = "wpids",required = true) String wpids,
  122. @RequestParam(value = "projectids",required = true) String projectids,
  123. @RequestParam(value = "lineids",required = true) String lineids,
  124. @RequestParam(value = "beginDate",required = true) String beginDate,
  125. @RequestParam(value = "endDate",required = true) String endDate,
  126. @RequestParam(value = "type",required = true) String type,
  127. @RequestParam(value = "target",required = true) String target,
  128. @RequestParam(value = "sort",required = true) String sort
  129. ){
  130. List<FjjxbVo> resultList = benchmarkingService.fjjxb(wpids,projectids,lineids,beginDate,endDate,type,target,sort);
  131. if (StringUtils.isNotNull(resultList)) {
  132. return R.ok(resultList.size()).data(resultList);
  133. }else{
  134. return R.error().message("访问失败");
  135. }
  136. }
  137. /**
  138. * 风机绩效榜明细
  139. * @param wpids
  140. * @param projectids
  141. * @param lineids
  142. * @param beginDate
  143. * @param endDate
  144. * @param type
  145. * @return
  146. */
  147. @GetMapping("/fjjxbmx")
  148. @ResponseBody
  149. @CrossOrigin(origins = "*", maxAge = 3600)
  150. public R fjjxbmx(@RequestParam(value = "wpids",required = true) String wpids,
  151. @RequestParam(value = "projectids",required = true) String projectids,
  152. @RequestParam(value = "lineids",required = true) String lineids,
  153. @RequestParam(value = "beginDate",required = true) String beginDate,
  154. @RequestParam(value = "endDate",required = true) String endDate,
  155. @RequestParam(value = "type",required = true) String type,
  156. @RequestParam(value = "target",required = true) String target,
  157. @RequestParam(value = "sort",required = true) String sort
  158. ){
  159. List<FjjxbmxVo> resultList = benchmarkingService.fjjxbmx(wpids,projectids,lineids,beginDate,endDate,type,target,sort);
  160. if (StringUtils.isNotNull(resultList)) {
  161. return R.ok(resultList.size()).data(resultList);
  162. }else{
  163. return R.error().message("访问失败");
  164. }
  165. }
  166. /**
  167. * 五项损失率
  168. * @param wpids
  169. * @param projectids
  170. * @param lineids
  171. * @param beginDate
  172. * @param endDate
  173. * @return
  174. */
  175. @GetMapping("/wxssl")
  176. @ResponseBody
  177. @CrossOrigin(origins = "*", maxAge = 3600)
  178. public R wxssl(@RequestParam(value = "wpids",required = true) String wpids,
  179. @RequestParam(value = "projectids",required = true) String projectids,
  180. @RequestParam(value = "lineids",required = true) String lineids,
  181. @RequestParam(value = "beginDate",required = true) String beginDate,
  182. @RequestParam(value = "endDate",required = true) String endDate,
  183. @RequestParam(value = "target",required = true) String target,
  184. @RequestParam(value = "sort",required = true) String sort
  185. ){
  186. List<WxsslVo> resultList = benchmarkingService.wxssl(wpids,projectids,lineids,beginDate,endDate,target,sort);
  187. if (StringUtils.isNotNull(resultList)) {
  188. return R.ok(resultList.size()).data(resultList);
  189. }else{
  190. return R.error().message("访问失败");
  191. }
  192. }
  193. /**
  194. * 场内对标
  195. * @param wpid
  196. * @param beginDate
  197. * @param endDate
  198. * @return
  199. */
  200. @GetMapping("/cndb")
  201. @ResponseBody
  202. @CrossOrigin(origins = "*", maxAge = 3600)
  203. public R cndb(@RequestParam(value = "wpid",required = true) String wpid,
  204. @RequestParam(value = "beginDate",required = true) String beginDate,
  205. @RequestParam(value = "endDate",required = true) String endDate,
  206. @RequestParam(value = "target",required = true) String target,
  207. @RequestParam(value = "sort",required = true) String sort
  208. ){
  209. List<WxsslVo> resultList = benchmarkingService.cndb(wpid,beginDate,endDate,target,sort);
  210. if (StringUtils.isNotNull(resultList)) {
  211. return R.ok(resultList.size()).data(resultList);
  212. }else{
  213. return R.error().message("访问失败");
  214. }
  215. }
  216. /**
  217. * 场际对标
  218. * @param wpids
  219. * @param beginDate
  220. * @param endDate
  221. * @return
  222. */
  223. @GetMapping("/cjdb")
  224. @ResponseBody
  225. @CrossOrigin(origins = "*", maxAge = 3600)
  226. public R cjdb(@RequestParam(value = "wpids",required = true) String wpids,
  227. @RequestParam(value = "beginDate",required = true) String beginDate,
  228. @RequestParam(value = "endDate",required = true) String endDate,
  229. @RequestParam(value = "target",required = true) String target,
  230. @RequestParam(value = "sort",required = true) String sort
  231. ){
  232. List<WxsslVo> resultList = benchmarkingService.cjdb(wpids,beginDate,endDate,target,sort);
  233. if (StringUtils.isNotNull(resultList)) {
  234. return R.ok(resultList.size()).data(resultList);
  235. }else{
  236. return R.error().message("访问失败");
  237. }
  238. }
  239. /**
  240. * 项目对标
  241. * @param wpids
  242. * @param projectids
  243. * @param beginDate
  244. * @param endDate
  245. * @return
  246. */
  247. @GetMapping("/xmdb")
  248. @ResponseBody
  249. @CrossOrigin(origins = "*", maxAge = 3600)
  250. public R xmdb(@RequestParam(value = "wpids",required = true) String wpids,
  251. @RequestParam(value = "projectids",required = true) String projectids,
  252. @RequestParam(value = "beginDate",required = true) String beginDate,
  253. @RequestParam(value = "endDate",required = true) String endDate,
  254. @RequestParam(value = "target",required = true) String target,
  255. @RequestParam(value = "sort",required = true) String sort
  256. ){
  257. List<WxsslVo> resultList = benchmarkingService.xmdb(wpids,projectids,beginDate,endDate,target,sort);
  258. if (StringUtils.isNotNull(resultList)) {
  259. return R.ok(resultList.size()).data(resultList);
  260. }else{
  261. return R.error().message("访问失败");
  262. }
  263. }
  264. /**
  265. * 线路对标
  266. * @param wpids
  267. * @param projectids
  268. * @param lineids
  269. * @param beginDate
  270. * @param endDate
  271. * @return
  272. */
  273. @GetMapping("/xldb")
  274. @ResponseBody
  275. @CrossOrigin(origins = "*", maxAge = 3600)
  276. public R xldb(@RequestParam(value = "wpids",required = true) String wpids,
  277. @RequestParam(value = "projectids",required = true) String projectids,
  278. @RequestParam(value = "lineids",required = true) String lineids,
  279. @RequestParam(value = "beginDate",required = true) String beginDate,
  280. @RequestParam(value = "endDate",required = true) String endDate,
  281. @RequestParam(value = "target",required = true) String target,
  282. @RequestParam(value = "sort",required = true) String sort
  283. ){
  284. List<WxsslVo> resultList = benchmarkingService.xldb(wpids,projectids,lineids,beginDate,endDate,target,sort);
  285. if (StringUtils.isNotNull(resultList)) {
  286. return R.ok(resultList.size()).data(resultList);
  287. }else{
  288. return R.error().message("访问失败");
  289. }
  290. }
  291. /**
  292. * 值际操作指令list
  293. * @param beginDate
  294. * @param endDate
  295. * @return
  296. */
  297. @GetMapping("/zjlist")
  298. @ResponseBody
  299. @CrossOrigin(origins = "*", maxAge = 3600)
  300. public R listplus(@RequestParam(value = "beginDate",required = true)String beginDate,
  301. @RequestParam(value = "endDate",required = true)String endDate){
  302. List<Operation> resultList = benchmarkingService.findOperecords(beginDate,endDate);
  303. if (StringUtils.isNotNull(resultList)) {
  304. return R.ok(resultList.size()).data(resultList);
  305. }else{
  306. return R.error().message("访问失败");
  307. }
  308. }
  309. /**
  310. * 值际点击钻取
  311. * @param beginDate
  312. * @param endDate
  313. * @param dutyname
  314. * @param direct
  315. * @return
  316. */
  317. @GetMapping("/zjdrill")
  318. @ResponseBody
  319. @CrossOrigin(origins = "*", maxAge = 3600)
  320. public R zjdrill(@RequestParam(value = "beginDate",required = true)String beginDate,
  321. @RequestParam(value = "endDate",required = true)String endDate,
  322. @RequestParam(value = "dutyname",required = true)String dutyname,
  323. @RequestParam(value = "direct",required = true)String direct){
  324. List<Operationrecord> resultList = benchmarkingService.drillOperecords(beginDate, endDate, dutyname, direct);
  325. if (StringUtils.isNotNull(resultList)) {
  326. return R.ok(resultList.size()).data(resultList);
  327. }else{
  328. return R.error().message("访问失败");
  329. }
  330. }
  331. /**
  332. * 值际损失电量
  333. * @param beginDate
  334. * @param endDate
  335. * @return
  336. */
  337. @GetMapping("/zjwxssl")
  338. @ResponseBody
  339. @CrossOrigin(origins = "*", maxAge = 3600)
  340. public R zjwxssl(@RequestParam(value = "beginDate",required = true)String beginDate,
  341. @RequestParam(value = "endDate",required = true)String endDate){
  342. List<Benchmarkingbetween> resultList = benchmarkingService.findbenchlist(beginDate,endDate);
  343. if (StringUtils.isNotNull(resultList)) {
  344. return R.ok(resultList.size()).data(resultList);
  345. }else{
  346. return R.error().message("访问失败");
  347. }
  348. }
  349. /**
  350. * 对标页面详情
  351. * @param beginDate
  352. * @param endDate
  353. * @return
  354. */
  355. @GetMapping("/details")
  356. @ResponseBody
  357. @CrossOrigin(origins = "*", maxAge = 3600)
  358. public R details(@RequestParam(value = "id",required = true)String id,
  359. @RequestParam(value = "beginDate",required = true)String beginDate,
  360. @RequestParam(value = "endDate",required = true)String endDate,
  361. @RequestParam(value = "target",required = true) String target,
  362. @RequestParam(value = "sort",required = true) String sort
  363. ){
  364. List<WxsslVo> resultList = benchmarkingService.details(id,beginDate,endDate,target,sort);
  365. if (StringUtils.isNotNull(resultList)) {
  366. return R.ok(resultList.size()).data(resultList);
  367. }else{
  368. return R.error().message("访问失败");
  369. }
  370. }
  371. /**
  372. * 日单机横向对比列表
  373. * @param wpid
  374. * @param wtids
  375. * @param date
  376. * @return
  377. */
  378. @GetMapping("/daydjhxdbtop")
  379. @ResponseBody
  380. @CrossOrigin(origins = "*", maxAge = 3600)
  381. public R daydjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid,
  382. @RequestParam(value = "wtids",required = true)String wtids,
  383. @RequestParam(value = "date",required = true)String date){
  384. List<Object> resultList = benchmarkingService.daydjhxdbtop(wpid,wtids,date);
  385. if (StringUtils.isNotNull(resultList)) {
  386. return R.ok(resultList.size()).data(resultList);
  387. }else{
  388. return R.error().message("访问失败");
  389. }
  390. }
  391. /**
  392. * 月单机横向对比列表
  393. * @param wpid
  394. * @param wtids
  395. * @param date
  396. * @return
  397. */
  398. @GetMapping("/monthdjhxdbtop")
  399. @ResponseBody
  400. @CrossOrigin(origins = "*", maxAge = 3600)
  401. public R monthdjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid,
  402. @RequestParam(value = "wtids",required = true)String wtids,
  403. @RequestParam(value = "date",required = true)String date){
  404. List<Object> resultList = benchmarkingService.monthdjhxdbtop(wpid,wtids,date);
  405. if (StringUtils.isNotNull(resultList)) {
  406. return R.ok(resultList.size()).data(resultList);
  407. }else{
  408. return R.error().message("访问失败");
  409. }
  410. }
  411. /**
  412. * 年单机横向对比列表
  413. * @param wpid
  414. * @param wtids
  415. * @param date
  416. * @return
  417. */
  418. @GetMapping("/yeardjhxdbtop")
  419. @ResponseBody
  420. @CrossOrigin(origins = "*", maxAge = 3600)
  421. public R yeardjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid,
  422. @RequestParam(value = "wtids",required = true)String wtids,
  423. @RequestParam(value = "date",required = true)String date){
  424. List<Object> resultList = benchmarkingService.yeardjhxdbtop(wpid,wtids,date);
  425. if (StringUtils.isNotNull(resultList)) {
  426. return R.ok(resultList.size()).data(resultList);
  427. }else{
  428. return R.error().message("访问失败");
  429. }
  430. }
  431. /**
  432. * 日单机横向对比图
  433. * @param wpid
  434. * @param wtids
  435. * @param date
  436. * @return
  437. */
  438. @GetMapping("/djhxdbbottom")
  439. @ResponseBody
  440. @CrossOrigin(origins = "*", maxAge = 3600)
  441. public R djhxdbbottom(@RequestParam(value = "wpid",required = true)String wpid,
  442. @RequestParam(value = "wtids",required = true)String wtids,
  443. @RequestParam(value = "date",required = true)String date){
  444. List<Object> resultList = benchmarkingService.djhxdbbottom(wpid,wtids,date);
  445. if (StringUtils.isNotNull(resultList)) {
  446. return R.ok(resultList.size()).data(resultList);
  447. }else{
  448. return R.error().message("访问失败");
  449. }
  450. }
  451. /**
  452. * 对标首页下面部分
  453. * @param timetype
  454. * @param foreigntype
  455. * @return
  456. * @throws Exception
  457. */
  458. @GetMapping("/dbmainbottom")
  459. @ResponseBody
  460. @CrossOrigin(origins = "*", maxAge = 3600)
  461. public R dbmainbottom(@RequestParam(value = "timetype",required = true)String timetype,
  462. @RequestParam(value = "foreigntype",required = true)String foreigntype) throws Exception {
  463. List<Benchmark> resultList = benchmarkingService.dbmainbottom(timetype,foreigntype);
  464. if (timetype.equals("月")){
  465. resultList.stream().forEach(i->{
  466. if (i.getForeignkeyid().equals("MHS_FDC")){
  467. i.setComprehensiverate(1.06);
  468. }else if(i.getForeignkeyid().equals("NSS_FDC")){
  469. i.setComprehensiverate(1.52);
  470. }else if(i.getForeignkeyid().equals("QS_FDC")){
  471. i.setComprehensiverate(1.37);
  472. }else if(i.getForeignkeyid().equals("SBQ_FDC")){
  473. i.setComprehensiverate(1.68);
  474. }else if(i.getForeignkeyid().equals("XS_FDC")){
  475. i.setComprehensiverate(0.82);
  476. }
  477. i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99));
  478. i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99));
  479. i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99));
  480. });
  481. }
  482. if (timetype.equals("年")){
  483. resultList.stream().forEach(i->{
  484. if (i.getForeignkeyid().equals("MHS_FDC")){
  485. i.setComprehensiverate(2.06);
  486. }else if(i.getForeignkeyid().equals("NSS_FDC")){
  487. i.setComprehensiverate(1.62);
  488. }else if(i.getForeignkeyid().equals("QS_FDC")){
  489. i.setComprehensiverate(1.37);
  490. }else if(i.getForeignkeyid().equals("SBQ_FDC")){
  491. i.setComprehensiverate(0.68);
  492. }else if(i.getForeignkeyid().equals("XS_FDC")){
  493. i.setComprehensiverate(1.82);
  494. }
  495. i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99));
  496. i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99));
  497. i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99));
  498. });
  499. if (timetype.equals("年")){
  500. resultList.stream().forEach(i->{
  501. if (i.getForeignkeyid().equals("MHS_FDC")){
  502. i.setComprehensiverate(1.06);
  503. }else if(i.getForeignkeyid().equals("NSS_FDC")){
  504. i.setComprehensiverate(0.62);
  505. }else if(i.getForeignkeyid().equals("QS_FDC")){
  506. i.setComprehensiverate(2.37);
  507. }else if(i.getForeignkeyid().equals("SBQ_FDC")){
  508. i.setComprehensiverate(1.68);
  509. }else if(i.getForeignkeyid().equals("XS_FDC")){
  510. i.setComprehensiverate(1.82);
  511. }
  512. i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99));
  513. i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99));
  514. i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99));
  515. });
  516. }
  517. }
  518. Map<String, Windpowerstation> wpmap = CacheContext.wpmap;
  519. resultList.stream().forEach(i->{
  520. i.setOrderno(wpmap.get(i.getForeignkeyid()).getOrdernum());
  521. });
  522. SortUtils.sort(resultList,"orderno",SortUtils.ASC);
  523. if (StringUtils.isNotNull(resultList)) {
  524. return R.ok(resultList.size()).data(resultList);
  525. }else{
  526. return R.error().message("访问失败");
  527. }
  528. }
  529. /**
  530. * 对标首页上面部分
  531. * @param timetype
  532. * @param foreigntype
  533. * @return
  534. * @throws Exception
  535. */
  536. @GetMapping("/dbmaintop")
  537. @ResponseBody
  538. @CrossOrigin(origins = "*", maxAge = 3600)
  539. public R dbmaintop(@RequestParam(value = "timetype",required = true)String timetype,
  540. @RequestParam(value = "foreigntype",required = true)String foreigntype) throws Exception {
  541. List<Benchmark> resultList = benchmarkingService.dbmaintop(timetype,foreigntype);
  542. if (timetype.equals("月")){
  543. resultList.stream().forEach(i->{
  544. if (i.getForeignkeyid().equals("实际")){
  545. i.setComprehensiverate(1.32);
  546. }
  547. i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99));
  548. i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99));
  549. i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99));
  550. });
  551. }
  552. if (timetype.equals("年")){
  553. resultList.stream().forEach(i->{
  554. if (i.getForeignkeyid().equals("实际")){
  555. i.setComprehensiverate(1.42);
  556. }
  557. if (i.getForeignkeyid().equals("基准")){
  558. i.setComprehensiverate(1.50);
  559. }
  560. });
  561. }
  562. if (StringUtils.isNotNull(resultList)) {
  563. return R.ok(resultList.size()).data(resultList);
  564. }else{
  565. return R.error().message("访问失败");
  566. }
  567. }
  568. }