package com.gyee.benchmarkingimpala.controller; import com.gyee.benchmarkingimpala.common.StringUtils; import com.gyee.benchmarkingimpala.config.R; import com.gyee.benchmarkingimpala.init.CacheContext; import com.gyee.benchmarkingimpala.model.auto.*; import com.gyee.benchmarkingimpala.model.vo.*; import com.gyee.benchmarkingimpala.service.BenchmarkingService; import com.gyee.benchmarkingimpala.util.RandomUtil; import com.gyee.benchmarkingimpala.util.SortUtils; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.text.ParseException; import java.util.List; import java.util.Map; /** * @ClassName : BenchmarkingController * @Author : xieshengjie * @Date: 2021/6/16 10:27 * @Description : 对标管理controller */ @RestController @RequestMapping("//benchmarking") public class BenchmarkingController { @Autowired private BenchmarkingService benchmarkingService; /** * 场站列表 * @return */ @GetMapping("/wplist") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R wplist(){ List resultList = benchmarkingService.wplist(); if (StringUtils.isNotNull(resultList)) { SortUtils.sort(resultList,"ordernum",SortUtils.ASC); return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * GF场站列表 * @return */ @GetMapping("/wpgflist") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R wpGFlist(){ List resultList = benchmarkingService.wpGFList(); if (StringUtils.isNotNull(resultList)) { SortUtils.sort(resultList,"ordernum",SortUtils.ASC); return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 根据场站查询 * 项目列表 * @return */ @GetMapping("/projectList") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R projectList(@RequestParam(value = "wpids",required = true) String wpids){ List resultList = benchmarkingService.projectList(wpids); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 根据项目查询 * 线路列表 * @return */ @GetMapping("/lineList") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R lineList(@RequestParam(value = "projects",required = true) String projects){ List resultList = benchmarkingService.lineList(projects); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 根据场站查询 * 风机列表 * @return */ @GetMapping("/wtList") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R wtList(@RequestParam(value = "wpid",required = true) String wpid){ List resultList = benchmarkingService.wtList(wpid); SortUtils.sort(resultList,"status",SortUtils.ASC); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 风机绩效榜 * @param wpids * @param projectids * @param lineids * @param beginDate * @param endDate * @param type * @return */ @GetMapping("/fjjxb") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R fjjxb(@RequestParam(value = "wpids",required = true) String wpids, @RequestParam(value = "projectids",required = true) String projectids, @RequestParam(value = "lineids",required = true) String lineids, @RequestParam(value = "beginDate",required = true) String beginDate, @RequestParam(value = "endDate",required = true) String endDate, @RequestParam(value = "type",required = true) String type, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.fjjxb(wpids,projectids,lineids,beginDate,endDate,type,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 风机绩效榜明细 * @param wpids * @param projectids * @param lineids * @param beginDate * @param endDate * @param type * @return */ @GetMapping("/fjjxbmx") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R fjjxbmx(@RequestParam(value = "wpids",required = true) String wpids, @RequestParam(value = "projectids",required = true) String projectids, @RequestParam(value = "lineids",required = true) String lineids, @RequestParam(value = "beginDate",required = true) String beginDate, @RequestParam(value = "endDate",required = true) String endDate, @RequestParam(value = "type",required = true) String type, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.fjjxbmx(wpids,projectids,lineids,beginDate,endDate,type,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 五项损失率 * @param wpids * @param projectids * @param lineids * @param beginDate * @param endDate * @return */ @GetMapping("/wxssl") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R wxssl(@RequestParam(value = "wpids",required = true) String wpids, @RequestParam(value = "projectids",required = true) String projectids, @RequestParam(value = "lineids",required = true) String lineids, @RequestParam(value = "beginDate",required = true) String beginDate, @RequestParam(value = "endDate",required = true) String endDate, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.wxssl(wpids,projectids,lineids,beginDate,endDate,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 场内对标 * @param wpid * @param beginDate * @param endDate * @return */ @GetMapping("/cndb") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R cndb(@RequestParam(value = "wpid",required = true) String wpid, @RequestParam(value = "beginDate",required = true) String beginDate, @RequestParam(value = "endDate",required = true) String endDate, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.cndb(wpid,beginDate,endDate,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 场际对标 * @param wpids * @param beginDate * @param endDate * @return */ @GetMapping("/cjdb") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R cjdb(@RequestParam(value = "wpids",required = true) String wpids, @RequestParam(value = "beginDate",required = true) String beginDate, @RequestParam(value = "endDate",required = true) String endDate, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.cjdb(wpids,beginDate,endDate,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 项目对标 * @param wpids * @param projectids * @param beginDate * @param endDate * @return */ @GetMapping("/xmdb") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R xmdb(@RequestParam(value = "wpids",required = true) String wpids, @RequestParam(value = "projectids",required = true) String projectids, @RequestParam(value = "beginDate",required = true) String beginDate, @RequestParam(value = "endDate",required = true) String endDate, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.xmdb(wpids,projectids,beginDate,endDate,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 线路对标 * @param wpids * @param projectids * @param lineids * @param beginDate * @param endDate * @return */ @GetMapping("/xldb") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R xldb(@RequestParam(value = "wpids",required = true) String wpids, @RequestParam(value = "projectids",required = true) String projectids, @RequestParam(value = "lineids",required = true) String lineids, @RequestParam(value = "beginDate",required = true) String beginDate, @RequestParam(value = "endDate",required = true) String endDate, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.xldb(wpids,projectids,lineids,beginDate,endDate,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 值际操作指令list * @param beginDate * @param endDate * @return */ @GetMapping("/zjlist") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R listplus(@RequestParam(value = "beginDate",required = true)String beginDate, @RequestParam(value = "endDate",required = true)String endDate){ List resultList = benchmarkingService.findOperecords(beginDate,endDate); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 值际点击钻取 * @param beginDate * @param endDate * @param dutyname * @param direct * @return */ @GetMapping("/zjdrill") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R zjdrill(@RequestParam(value = "beginDate",required = true)String beginDate, @RequestParam(value = "endDate",required = true)String endDate, @RequestParam(value = "dutyname",required = true)String dutyname, @RequestParam(value = "direct",required = true)String direct){ List resultList = benchmarkingService.drillOperecords(beginDate, endDate, dutyname, direct); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 值际损失电量 * @param beginDate * @param endDate * @return */ @GetMapping("/zjwxssl") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R zjwxssl(@RequestParam(value = "beginDate",required = true)String beginDate, @RequestParam(value = "endDate",required = true)String endDate){ List resultList = benchmarkingService.findbenchlist(beginDate,endDate); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 对标页面详情 * @param beginDate * @param endDate * @return */ @GetMapping("/details") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R details(@RequestParam(value = "id",required = true)String id, @RequestParam(value = "beginDate",required = true)String beginDate, @RequestParam(value = "endDate",required = true)String endDate, @RequestParam(value = "target",required = true) String target, @RequestParam(value = "sort",required = true) String sort ){ List resultList = benchmarkingService.details(id,beginDate,endDate,target,sort); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 日单机横向对比列表 * @param wpid * @param wtids * @param date * @return */ @GetMapping("/daydjhxdbtop") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R daydjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid, @RequestParam(value = "wtids",required = true)String wtids, @RequestParam(value = "date",required = true)String date){ List resultList = benchmarkingService.daydjhxdbtop(wpid,wtids,date); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 月单机横向对比列表 * @param wpid * @param wtids * @param date * @return */ @GetMapping("/monthdjhxdbtop") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R monthdjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid, @RequestParam(value = "wtids",required = true)String wtids, @RequestParam(value = "date",required = true)String date){ List resultList = benchmarkingService.monthdjhxdbtop(wpid,wtids,date); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 年单机横向对比列表 * @param wpid * @param wtids * @param date * @return */ @GetMapping("/yeardjhxdbtop") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R yeardjhxdbtop(@RequestParam(value = "wpid",required = true)String wpid, @RequestParam(value = "wtids",required = true)String wtids, @RequestParam(value = "date",required = true)String date){ List resultList = benchmarkingService.yeardjhxdbtop(wpid,wtids,date); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 日单机横向对比图 * @param wpid * @param wtids * @param date * @return */ @GetMapping("/djhxdbbottom") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R djhxdbbottom(@RequestParam(value = "wpid",required = true)String wpid, @RequestParam(value = "wtids",required = true)String wtids, @RequestParam(value = "date",required = true)String date){ List resultList = benchmarkingService.djhxdbbottom(wpid,wtids,date); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 对标首页下面部分 * @param timetype * @param foreigntype * @return * @throws Exception */ @GetMapping("/dbmainbottom") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R dbmainbottom(@RequestParam(value = "timetype",required = true)String timetype, @RequestParam(value = "foreigntype",required = true)String foreigntype) throws Exception { List resultList = benchmarkingService.dbmainbottom(timetype,foreigntype); if (timetype.equals("月")){ resultList.stream().forEach(i->{ if (i.getForeignkeyid().equals("MHS_FDC")){ i.setComprehensiverate(1.06); }else if(i.getForeignkeyid().equals("NSS_FDC")){ i.setComprehensiverate(1.52); }else if(i.getForeignkeyid().equals("QS_FDC")){ i.setComprehensiverate(1.37); }else if(i.getForeignkeyid().equals("SBQ_FDC")){ i.setComprehensiverate(1.68); }else if(i.getForeignkeyid().equals("XS_FDC")){ i.setComprehensiverate(0.82); } i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99)); }); } if (timetype.equals("年")){ resultList.stream().forEach(i->{ if (i.getForeignkeyid().equals("MHS_FDC")){ i.setComprehensiverate(2.06); }else if(i.getForeignkeyid().equals("NSS_FDC")){ i.setComprehensiverate(1.62); }else if(i.getForeignkeyid().equals("QS_FDC")){ i.setComprehensiverate(1.37); }else if(i.getForeignkeyid().equals("SBQ_FDC")){ i.setComprehensiverate(0.68); }else if(i.getForeignkeyid().equals("XS_FDC")){ i.setComprehensiverate(1.82); } i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99)); }); if (timetype.equals("年")){ resultList.stream().forEach(i->{ if (i.getForeignkeyid().equals("MHS_FDC")){ i.setComprehensiverate(1.06); }else if(i.getForeignkeyid().equals("NSS_FDC")){ i.setComprehensiverate(0.62); }else if(i.getForeignkeyid().equals("QS_FDC")){ i.setComprehensiverate(2.37); }else if(i.getForeignkeyid().equals("SBQ_FDC")){ i.setComprehensiverate(1.68); }else if(i.getForeignkeyid().equals("XS_FDC")){ i.setComprehensiverate(1.82); } i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99)); }); } } Map wpmap = CacheContext.wpmap; resultList.stream().forEach(i->{ i.setOrderno(wpmap.get(i.getForeignkeyid()).getOrdernum()); }); SortUtils.sort(resultList,"orderno",SortUtils.ASC); if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } /** * 对标首页上面部分 * @param timetype * @param foreigntype * @return * @throws Exception */ @GetMapping("/dbmaintop") @ResponseBody @CrossOrigin(origins = "*", maxAge = 3600) public R dbmaintop(@RequestParam(value = "timetype",required = true)String timetype, @RequestParam(value = "foreigntype",required = true)String foreigntype) throws Exception { List resultList = benchmarkingService.dbmaintop(timetype,foreigntype); if (timetype.equals("月")){ resultList.stream().forEach(i->{ if (i.getForeignkeyid().equals("实际")){ i.setComprehensiverate(1.32); } i.setResettimelyrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setStatetransitionrate(RandomUtil.getRandomForDoubleBounded(91,99)); i.setEliminationrate(RandomUtil.getRandomForDoubleBounded(91,99)); }); } if (timetype.equals("年")){ resultList.stream().forEach(i->{ if (i.getForeignkeyid().equals("实际")){ i.setComprehensiverate(1.42); } if (i.getForeignkeyid().equals("基准")){ i.setComprehensiverate(1.50); } }); } if (StringUtils.isNotNull(resultList)) { return R.ok(resultList.size()).data(resultList); }else{ return R.error().message("访问失败"); } } }