package com.dingzhuo.energy.project.basicSetup.controller; import java.math.BigDecimal; import java.util.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.dingzhuo.energy.dataservice.domain.TagValue; import com.dingzhuo.energy.dataservice.service.RealtimeDatabaseService; import com.dingzhuo.energy.project.basicSetup.domain.SysStandardCategory; import com.dingzhuo.energy.project.energyStatistics.domain.dataTimeSVG; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.dingzhuo.energy.framework.aspectj.lang.annotation.Log; import com.dingzhuo.energy.framework.aspectj.lang.enums.BusinessType; import com.dingzhuo.energy.project.basicSetup.domain.SysStandardParameters; import com.dingzhuo.energy.project.basicSetup.service.ISysStandardParametersService; import com.dingzhuo.energy.framework.web.controller.BaseController; import com.dingzhuo.energy.framework.web.domain.AjaxResult; import com.dingzhuo.energy.common.utils.poi.ExcelUtil; import com.dingzhuo.energy.framework.web.page.TableDataInfo; /** * parametersController * * @author ruoyi * @date 2020-02-12 */ @RestController @RequestMapping("/basicSetup/parameters") public class SysStandardParametersController extends BaseController { @Autowired private ISysStandardParametersService sysStandardParametersService; @Autowired private RealtimeDatabaseService realtimeDatabaseService; /** * 查询parameters列表 */ @PreAuthorize("@ss.hasPermi('basicSetup:parameters:list')") @GetMapping("/list") public TableDataInfo list(SysStandardParameters sysStandardParameters) { startPage(); List list = sysStandardParametersService.selectSysStandardParametersList(sysStandardParameters); return getDataTable(list); } /** * 导出parameters列表 */ @PreAuthorize("@ss.hasPermi('basicSetup:parameters:export')") @Log(title = "parameters", businessType = BusinessType.EXPORT) @GetMapping("/export") public AjaxResult export(SysStandardParameters sysStandardParameters) { List list = sysStandardParametersService.selectSysStandardParametersList(sysStandardParameters); ExcelUtil util = new ExcelUtil(SysStandardParameters.class); return util.exportExcel(list, "parameters"); } /** * 获取parameters详细信息 */ @PreAuthorize("@ss.hasPermi('basicSetup:parameters:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") String id) { return AjaxResult.success(sysStandardParametersService.selectSysStandardParametersById(id)); } /** * 新增parameters */ @PreAuthorize("@ss.hasPermi('basicSetup:parameters:add')") @Log(title = "parameters", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody SysStandardParameters sysStandardParameters) { int msg = sysStandardParametersService.insertSysStandardParameters(sysStandardParameters); return toAjax(msg); } /** * 修改parameters */ @PreAuthorize("@ss.hasPermi('basicSetup:parameters:edit')") @Log(title = "parameters", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody SysStandardParameters sysStandardParameters) { SysStandardParameters standardParameters =sysStandardParametersService.selectSysStandardParametersById(sysStandardParameters.getId()); int msg; if(standardParameters==null){ msg = sysStandardParametersService.insertSysStandardParameters(sysStandardParameters); }else{ msg=sysStandardParametersService.updateSysStandardParameters(sysStandardParameters); } return toAjax(msg); } /** * 删除parameters */ @PreAuthorize("@ss.hasPermi('basicSetup:parameters:remove')") @Log(title = "parameters", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(sysStandardParametersService.deleteSysStandardParametersByIds(ids)); } @PreAuthorize("@ss.hasPermi('basicSetup:parameters:listSee')") @GetMapping("/listSee/{id}") public AjaxResult getListSee(@PathVariable("id") String id) { try { List tableList = new ArrayList(); List tagCodes = new ArrayList(); SysStandardParameters sysStandardParameters = sysStandardParametersService.getStandardParameters(id); if (sysStandardParameters != null) { JSONArray ar = JSONObject.parseArray(sysStandardParameters.getConfigInfo()); for(int i=0;i list = JSONObject.parseArray(t.get("tableRow").toString(), Map.class); for (Map item : list) { for (int j = 1; j < item.keySet().size(); j++) { tagCodes.add((String) item.get("colName"+j)); } } } //tagCodes.add("DB01_A01"); List tagValueslist= realtimeDatabaseService.retrieve(tagCodes); for(int i=0;i listRow = JSONObject.parseArray(t.get("tableColumn").toString(), Map.class); tabMap.put("tablecolumn",listRow); List list = JSONObject.parseArray(t.get("tableRow").toString(), Map.class);//这里的第二个参数也可以用对应的自定义javaBean.class List rowList = new ArrayList(); for (Map item : list) { Map row= new HashMap(); for (int j = 0; j < item.values().size(); j++) { /*if(item.get("colName"+j).toString().indexOf())*/ String code = ""; String code1=item.get("colName"+j).toString(); for (TagValue items:tagValueslist) { String code2=items.getTagCode(); if(code2.equals(code1)){ code = String.valueOf((Double)new BigDecimal(items.getValue()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); }else{ code=item.get("colName"+j).toString(); } } row.put("colName"+j,code); } rowList.add(row); } tabMap.put("tablerowdata",rowList); tableList.add(tabMap); } } return AjaxResult.success(tableList); } catch (Exception ex) { logger.error(ex.getMessage()); return AjaxResult.error("查询失败!"); } } }