海外平台-数据全英文化

This commit is contained in:
2025-09-18 14:05:01 +08:00
parent e6b6ccd804
commit 83eff7d1ee
112 changed files with 2151 additions and 344 deletions

View File

@ -122,7 +122,8 @@ public class BizMergeStrategy extends AbstractMergeStrategy {
}
}
if (excel != null) {
if (ElecPriceTemplateExcel.getDiscount().equals(excel.getDiscount())){ // 名字相同则合并第一列
if (ElecPriceTemplateExcel.getDiscount()!=null &&
ElecPriceTemplateExcel.getDiscount().equals(excel.getDiscount())){ // 名字相同则合并第一列
if (ElecPriceTemplateExcel.getTemplateName().equals(excel.getTemplateName())) {
//如果没有标题,只有表头的话,这里为 BizMergeStrategy.fillStrategyMap(strategyMap, "1", i);
BizMergeStrategy.fillStrategyMap(strategyMap, "8", i );

View File

@ -0,0 +1,49 @@
package com.ho.business.config;
import com.ho.common.tools.annotation.NotSportEnOperation;
import com.ho.common.tools.constant.RedisKeyConstant;
import com.ho.common.tools.exception.BaseResponseCode;
import com.ho.common.tools.exception.BusinessException;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
/**
* @author kerwin
*/
@Aspect
@Component
@Slf4j
public class NotSportEnOperationAspect {
@Pointcut("execution(* com.ho.*.controller.*.*(..))")
public void pointCut() {
}
@Around("pointCut()")
public Object around(ProceedingJoinPoint point) throws Throwable {
ServletRequestAttributes servletAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletAttributes.getRequest();
MethodSignature signature = (MethodSignature) point.getSignature();
Method method = signature.getMethod();
NotSportEnOperation notSportEnOperation = method.getAnnotation(NotSportEnOperation.class);
if (null != notSportEnOperation) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
if(RedisKeyConstant.User.EN_US.equals(lang)){
throw new BusinessException(BaseResponseCode.EN_US_NOT_SUPPORT_OPERATION);
}
}
//执行方法
Object result = point.proceed();
//方法执行结果
return result;
}
}

View File

@ -241,7 +241,7 @@ public class AutoDeviceCurveController {
return null;
}
//查点定义
DeviceTypeCol deviceTypeCol = deviceTypeColService.selectTypeAndCol(vo.getCol1(), vo.getDeviceType());
DeviceTypeCol deviceTypeCol = deviceTypeColService.selectTypeAndCol(vo.getCol1(), vo.getDeviceType(),null);
pointCurveHomeResp.setDeviceName(deviceTypeConfig.getName());
if(deviceTypeCol!=null){
pointCurveHomeResp.setCol(vo.getCol1());
@ -298,7 +298,7 @@ public class AutoDeviceCurveController {
BigDecimal oneValue = autoDeviceCurveService.getOneValue(vos_1);
//查点对应的点表信息
//因为配置的点是不带站结尾,所以需要拼接 deviceType
DeviceTypeCol deviceTypeCol = deviceTypeColService.selectTypeAndCol(col1, deviceType);
DeviceTypeCol deviceTypeCol = deviceTypeColService.selectTypeAndCol(col1, deviceType,null);
SingleValueColVo singleValueColVo = new SingleValueColVo();
if(deviceTypeCol!=null){
BeanUtil.copyProperties(deviceTypeCol,singleValueColVo);

View File

@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.ArrayList;
@ -161,7 +162,8 @@ public class CabinController {
@ApiOperation(value = "温度电压正太分布")
@PostMapping("temperatureVoltageData")
public DataResult<TemperatureVoltageResp> temperatureVoltageData(@RequestBody DeviceTreeReq vo) {
public DataResult<TemperatureVoltageResp> temperatureVoltageData(@RequestBody DeviceTreeReq vo, HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
TemperatureVoltageResp temperatureVoltageData = deviceService.getTemperatureVoltageData(vo);
return DataResult.success(temperatureVoltageData);
}

View File

@ -187,8 +187,9 @@ public class DeviceController {
@GetMapping("{stationId}")
@ApiOperation(value = "查询电站下的设备列表")
public DataResult<List<DeviceRespVO>> getDeviceByStationId(@PathVariable @Valid Integer stationId) {
List<DeviceRespVO> deviceList = deviceService.getDeviceByStationId(stationId);
public DataResult<List<DeviceRespVO>> getDeviceByStationId(@PathVariable @Valid Integer stationId,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<DeviceRespVO> deviceList = deviceService.getDeviceByStationId(stationId,lang);
return DataResult.success(deviceList);
}
@ -283,9 +284,10 @@ public class DeviceController {
@ApiOperation(value = "树状结构设备(设备带接入点,告警页面专用)")
@PostMapping("treeDevices")
public DataResult<List<DevicePointResp>> treeDevices(@RequestBody DeviceStationReqVo deviceTypeReq) {
List<DeviceRespVO> deviceList = deviceService.selectAllDeviceAndSrcIdNotZero(deviceTypeReq.getStationId());
List<DeviceRespVO> deviceRespVOS = deviceService.selectDeviceByStationId(deviceTypeReq.getStationId());
public DataResult<List<DevicePointResp>> treeDevices(@RequestBody DeviceStationReqVo deviceTypeReq,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<DeviceRespVO> deviceList = deviceService.selectAllDeviceAndSrcIdNotZero(deviceTypeReq.getStationId(),lang);
List<DeviceRespVO> deviceRespVOS = deviceService.selectDeviceByStationId(deviceTypeReq.getStationId(),lang);
Map<Integer, List<DeviceRespVO>> dataMap = deviceRespVOS.stream().collect(Collectors.groupingBy(DeviceRespVO::getId));
for (DeviceRespVO deviceRespVO : deviceList) {
if (!dataMap.containsKey(deviceRespVO.getId())) {
@ -301,8 +303,9 @@ public class DeviceController {
@ApiOperation(value = "树状结构设备(储能总览,设备列表页面专用)")
@PostMapping("homePageTreeDevices")
public DataResult<List<DevicePointResp>> homePageTreeDevices(@RequestBody DeviceTreeReq vo) {
List<DeviceRespVO> deviceRespVOS = deviceService.selectByIdAndSrcIdNotZero(vo.getStationId());
public DataResult<List<DevicePointResp>> homePageTreeDevices(@RequestBody DeviceTreeReq vo,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<DeviceRespVO> deviceRespVOS = deviceService.selectByIdAndSrcIdNotZero(vo.getStationId(),lang);
List<DevicePointResp> treeDevices = new ArrayList<>();
if (!deviceRespVOS.isEmpty()) {
treeDevices = deviceTypeConfigService.getTreeDevices(deviceRespVOS, vo.getSrcId());
@ -312,16 +315,18 @@ public class DeviceController {
@ApiOperation(value = "平铺过滤隐藏的真实设备(储能总览设备列表页面APP专用)")
@PostMapping("appHomePageDevices")
public DataResult<List<DeviceRespVO>> appHomePageDevices(@RequestBody DeviceTreeReq vo) {
List<DeviceRespVO> deviceRespVOS = deviceService.selectByIdAndSrcIdNotZero(vo.getStationId());
public DataResult<List<DeviceRespVO>> appHomePageDevices(@RequestBody DeviceTreeReq vo,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<DeviceRespVO> deviceRespVOS = deviceService.selectByIdAndSrcIdNotZero(vo.getStationId(),lang);
deviceRespVOS = deviceRespVOS.stream().filter(i -> i.getCategory() > CommonConstant.TWO).collect(Collectors.toList());
return DataResult.success(deviceRespVOS);
}
@ApiOperation(value = "根据条件生成树状结构设备")
@PostMapping("treeVirtualDevices")
public DataResult<List<DevicePointResp>> treeVirtualDevices(@RequestBody DeviceTreeReq vo) {
List<DeviceRespVO> deviceRespVOS = deviceService.selectAllDeviceAndSrcIdNotZero(vo.getStationId());
public DataResult<List<DevicePointResp>> treeVirtualDevices(@RequestBody DeviceTreeReq vo,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<DeviceRespVO> deviceRespVOS = deviceService.selectAllDeviceAndSrcIdNotZero(vo.getStationId(),lang);
List<DevicePointResp> treeDevices = new ArrayList<>();
if (null != deviceRespVOS && !deviceRespVOS.isEmpty()) {
List<DeviceRespVO> deviceGroupRespVOS = deviceService.selectGroup(deviceRespVOS);
@ -335,8 +340,9 @@ public class DeviceController {
@ApiOperation(value = "根据条件生成树状结构设备(真实设备)")
@TokenIgnore
@PostMapping("treeTrueDevices")
public DataResult<List<DevicePointResp>> treeTrueDevices(@RequestBody DeviceTreeReq vo) {
List<DeviceRespVO> deviceRespVOS = deviceService.selectAllDeviceAndSrcIdNotZero(vo.getStationId());
public DataResult<List<DevicePointResp>> treeTrueDevices(@RequestBody DeviceTreeReq vo,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<DeviceRespVO> deviceRespVOS = deviceService.selectAllDeviceAndSrcIdNotZero(vo.getStationId(),lang);
deviceRespVOS = deviceRespVOS.stream().filter(i -> CommonConstant.ZERO.equals(i.getVirtual())).collect(Collectors.toList());
List<DeviceRespVO> deviceGroupRespVOS = deviceService.selectGroup(deviceRespVOS);
List<DevicePointResp> treeDevices = new ArrayList<>();

View File

@ -139,7 +139,7 @@ public class DeviceTypeColController {
@ApiOperation(value = "导出点表数据")
@LogAnnotation(title = "点表数据操作", action = "导出电表数据")
public void exportExcel(@RequestBody DeviceTypeColRespVO deviceTypeColRespVO, HttpServletResponse response) {
List<DeviceTypeCol> deviceList = deviceTypeColService.selectByDeviceType(deviceTypeColRespVO.getDeviceType());
List<DeviceTypeCol> deviceList = deviceTypeColService.selectByDeviceType(deviceTypeColRespVO.getDeviceType(),null);
String fileName = "点表";
String sheetName = "点表数据";
try {

View File

@ -9,20 +9,25 @@ import com.ho.business.vo.resp.dynamicConfig.CurveConfigQueryResp;
import com.ho.business.vo.resp.dynamicConfig.PointConfigDataResp;
import com.ho.business.vo.resp.dynamicConfig.PointConfigResultResp;
import com.ho.common.tools.annotation.HzPermission;
import com.ho.common.tools.annotation.NotSportEnOperation;
import com.ho.common.tools.annotation.TokenIgnore;
import com.ho.common.tools.constant.CommonConstant;
import com.ho.common.tools.constant.ContextConstant;
import com.ho.common.tools.constant.PermissionConstant;
import com.ho.common.tools.constant.RedisKeyConstant;
import com.ho.common.tools.exception.BaseResponseCode;
import com.ho.common.tools.exception.BusinessException;
import com.ho.common.tools.exception.DataResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.stream.Collectors;
@ -37,6 +42,7 @@ public class DynamicConfigController {
@PostMapping("addCurveList")
@ApiOperation(value = "批量增加曲线配置信息")
@HzPermission(PermissionConstant.CURVE_BATCH_CONFIGURATION)
@NotSportEnOperation()
public DataResult addCurve(@RequestBody List<CurveConfigAdd> vo) {
if (vo.isEmpty()) {
throw new BusinessException(BaseResponseCode.NON_DATA);
@ -58,7 +64,8 @@ public class DynamicConfigController {
@PostMapping("queryCurveConfig")
@ApiOperation(value = "查询曲线配置信息")
public DataResult<List<CurveConfigQueryResp>> queryCurveConfig(@RequestBody DynamicConfigQuery vo) {
public DataResult<List<CurveConfigQueryResp>> queryCurveConfig(@RequestBody DynamicConfigQuery vo, HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<CurveConfigQueryResp> result = dynamicConfigService.queryCurveConfig(vo);
return DataResult.success(result);
}
@ -66,6 +73,7 @@ public class DynamicConfigController {
@PostMapping("addPointList")
@ApiOperation(value = "增加点配置信息")
@HzPermission(PermissionConstant.ADDPOINTLIST)
@NotSportEnOperation()
public DataResult addPointList(@RequestBody List<PointConfigAdd> list) {
if (list.isEmpty()) {
throw new BusinessException(BaseResponseCode.NON_DATA);
@ -115,14 +123,16 @@ public class DynamicConfigController {
@PostMapping("pointList")
@ApiOperation(value = "查询配置信息")
public DataResult<List<PointConfigResultResp>> pointList(@RequestBody PointConfigQuery vo) {
public DataResult<List<PointConfigResultResp>> pointList(@RequestBody PointConfigQuery vo, HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<PointConfigResultResp> resultRespList = dynamicConfigService.pointList(vo);
return DataResult.success(resultRespList);
}
@PostMapping("pointListData")
@ApiOperation(value = "配置点数据集合")
public DataResult<List<PointConfigDataResp>> pointListData(@RequestBody PointConfigQuery vo) {
public DataResult<List<PointConfigDataResp>> pointListData(@RequestBody PointConfigQuery vo, HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<PointConfigDataResp> pointConfigData = dynamicConfigService.getPointConfigData(vo);
return DataResult.success(pointConfigData);
}
@ -167,4 +177,17 @@ public class DynamicConfigController {
int count = dynamicConfigService.delDynamicConfigTitle(vo);
return DataResult.success(count);
}
@PostMapping("updatePointNameEn")
@ApiOperation(value = "修改表中点名称英文")
@TokenIgnore
public DataResult updatePointNameEn(String tableName,String name,String nameEn) {
int count = 0;
if(StringUtil.isNotBlank(tableName)
&&StringUtil.isNotBlank(name)
&&StringUtil.isNotBlank(nameEn)){
count = dynamicConfigService.updatePointNameEn(tableName,name,nameEn);
}
return DataResult.success(count);
}
}

View File

@ -19,6 +19,7 @@ import com.ho.common.tools.annotation.TokenIgnore;
import com.ho.common.tools.constant.CommonConstant;
import com.ho.common.tools.constant.ContextConstant;
import com.ho.common.tools.constant.PermissionConstant;
import com.ho.common.tools.constant.RedisKeyConstant;
import com.ho.common.tools.exception.BaseResponseCode;
import com.ho.common.tools.exception.BusinessException;
import com.ho.common.tools.exception.DataResult;
@ -65,7 +66,8 @@ public class EarningsCalculateController {
@PostMapping("/getTotal")
@ApiOperation(value = "获取月发电量报表")
@TokenIgnore
public DataResult<EarningsCalculateResp> getTotal(@RequestBody EarningsCalculateReq earningsCalculateReq){
public DataResult<EarningsCalculateResp> getTotal(@RequestBody EarningsCalculateReq earningsCalculateReq,HttpServletRequest request){
earningsCalculateReq.setLang(request.getHeader(RedisKeyConstant.User.LANG));
EarningsCalculateResp total = earningsCalculateService.getTotal(earningsCalculateReq,PAGE_LIST_TYPE);
if( earningsCalculateReq != null && earningsCalculateReq.getStationId() != null ){
Integer stationId = earningsCalculateReq.getStationId();
@ -139,6 +141,8 @@ public class EarningsCalculateController {
@PostMapping("/export")
@ApiOperation(value = "导出")
public void export(HttpServletRequest req, HttpServletResponse response, @RequestBody EarningsCalculateReq earningsCalculateReq) {
String lang = req.getHeader(RedisKeyConstant.User.LANG);
earningsCalculateReq.setLang(lang);
EarningsCalculateResp total = earningsCalculateService.getTotal(earningsCalculateReq,PAGE_LIST_TYPE);
ServletOutputStream out = null;
@ -149,9 +153,12 @@ public class EarningsCalculateController {
//文件名字
String fileName = "demo.xlsx";
response.setHeader("Content-disposition", "attachment;filename=" +fileName);
String path="template/earningsTemplate.xlsx";
if(RedisKeyConstant.User.EN_US.equals(lang)){
path="template/earningsTemplateen_US.xlsx";
}
//文件模板输入流
InputStream inputStream = new ClassPathResource("template/earningsTemplate.xlsx").getInputStream();
InputStream inputStream = new ClassPathResource(path).getInputStream();
// 添加合并单元格地址
//List<CellRangeAddress> list = new ArrayList<>();
@ -243,6 +250,8 @@ public class EarningsCalculateController {
@PostMapping("/exportReport")
@ApiOperation(value = "导出")
public void exportReport(HttpServletRequest req, HttpServletResponse response, @RequestBody EarningsCalculateReq earningsCalculateReq) {
String lang = req.getHeader(RedisKeyConstant.User.LANG);
earningsCalculateReq.setLang(lang);
EarningsCalculateResp total = earningsCalculateService.getTotal(earningsCalculateReq,REPORT_LIST_TYPE);
ServletOutputStream out = null;
@ -253,8 +262,12 @@ public class EarningsCalculateController {
//文件名字
String fileName = "demo.xlsx";
response.setHeader("Content-disposition", "attachment;filename=" +fileName);
String path="template/earningsUserTemplate.xlsx";
if(RedisKeyConstant.User.EN_US.equals(lang)){
path="template/earningsUserTemplateen_US.xlsx";
}
//文件模板输入流
InputStream inputStream = new ClassPathResource("template/earningsUserTemplate.xlsx").getInputStream();
InputStream inputStream = new ClassPathResource(path).getInputStream();
// 添加合并单元格地址
//List<CellRangeAddress> list = new ArrayList<>();

View File

@ -9,6 +9,7 @@ import com.ho.business.config.BizMergeStrategy;
import com.ho.business.entity.*;
import com.ho.business.feignclient.FileCenterFeignClient;
import com.ho.business.feignclient.UserFeignClient;
import com.ho.business.service.DynamicConfigService;
import com.ho.business.service.EarningsCalculateService;
import com.ho.business.service.ElecPriceCurveService;
import com.ho.business.service.StationSnService;
@ -22,6 +23,7 @@ import com.ho.business.vo.resp.elecPriceCurve.ElecPriceTemplateExcel;
import com.ho.business.vo.resp.elecPriceCurve.RowRangeDto;
import com.ho.common.tools.annotation.HzPermission;
import com.ho.common.tools.annotation.LogAnnotation;
import com.ho.common.tools.annotation.NotSportEnOperation;
import com.ho.common.tools.annotation.TokenIgnore;
import com.ho.common.tools.constant.CommonConstant;
import com.ho.common.tools.constant.ContextConstant;
@ -35,6 +37,7 @@ import com.ho.common.tools.service.RedisService;
import com.ho.user.api.vo.req.SysSubDictVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.BeanUtils;
@ -79,6 +82,9 @@ public class ElecPriceCurveController {
@Autowired
UserFeignClient userFeignClient;
@Autowired
DynamicConfigService dynamicConfigService;
public static final String DICT_TYPE = "electrovalence_type";
private static Map<String, String> staticMap = new HashMap<>(0);
@ -115,6 +121,7 @@ public class ElecPriceCurveController {
@ApiOperation(value = "新增电价曲线模板")
@LogAnnotation(title = "电价曲线模板设置", action = "新增电价曲线模板")
@TokenIgnore
@NotSportEnOperation
public DataResult add(@RequestBody @Valid ElecPriceTemplate elecPriceTemplate, HttpServletRequest request) {
String token = request.getHeader(RedisKeyConstant.User.ACCESS_TOKEN);
SimpleUser user = redisService.getSimpleUserByToken(token);
@ -165,7 +172,8 @@ public class ElecPriceCurveController {
@PostMapping("all")
@ApiOperation(value = "查询所有电价曲线模板")
//@TokenIgnore
public DataResult<List<ElecPriceData>> getAll(@RequestBody @Valid ElecPriceTemplateReqVO vo) {
public DataResult<List<ElecPriceData>> getAll(@RequestBody @Valid ElecPriceTemplateReqVO vo,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<ElecPriceTemplate> list = elecPriceCurveService.getAll(vo);
List<ElecPriceData> resultList = new ArrayList<>();
for (ElecPriceTemplate elecTemplate : list) {
@ -181,6 +189,14 @@ public class ElecPriceCurveController {
data.setBeginTime(elecTemplateSub.getBeginTime());
data.setEndTime(elecTemplateSub.getEndTime());
data.setType(elecTemplateSub.getType());
if(RedisKeyConstant.User.EN_US.equals(lang)){
if(StringUtil.isNotBlank(data.getTemplateName())){
data.setTemplateName(dynamicConfigService.getNameEn(data.getTemplateName()));
}
if(StringUtil.isNotBlank(data.getType())){
data.setType(dynamicConfigService.getNameEn(data.getType()));
}
}
resultList.add(data);
}
}
@ -294,7 +310,8 @@ public class ElecPriceCurveController {
@ApiOperation(value = "导出电价曲线数据")
@LogAnnotation(title = "电价曲线模板设置", action = "导出电价曲线数据")
@HzPermission(PermissionConstant.STRATEGY_ELECURVE_EXPORT)
public void exportExcel(@RequestBody BatchDeleteReq batchDeleteReq ,HttpServletResponse response){
public void exportExcel(@RequestBody BatchDeleteReq batchDeleteReq ,HttpServletResponse response,HttpServletRequest request){
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<Integer> ids = batchDeleteReq.getIds();
if (ids == null || ids.isEmpty()){
throw new BusinessException(BaseResponseCode.PLEASE_SELECT_ELECTRICITY_PRICE_TEMPLATE_DATA);
@ -321,6 +338,11 @@ public class ElecPriceCurveController {
}else {
excel.setIsEnable(CommonConstant.NOT_IS_ENABlE);
}
if(RedisKeyConstant.User.EN_US.equals(lang)){
excel.setTemplateName(dynamicConfigService.getNameEn(excel.getTemplateName()));
excel.setType(dynamicConfigService.getNameEn(excel.getType()));
excel.setIsEnable(dynamicConfigService.getNameEn(excel.getIsEnable()));
}
excelList.add(excel);
}
}

View File

@ -56,6 +56,7 @@ public class HisCurveRelateController {
String token = request.getHeader(RedisKeyConstant.User.ACCESS_TOKEN);
SimpleUser user = redisService.getSimpleUserByToken(token);
vo.setUserId(user.getUserId());
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
PageResult<HisCurveRelate> list = hisCurveRelateService.pageSelectAll(vo);
return DataResult.success(list);
}

View File

@ -319,7 +319,7 @@ public class IargeScreenShowController {
public DataResult<Station> getByStationId(@RequestBody CockpitReqVO vo) {
Station station = new Station();
if (null == vo.getStationId()) {
station.setDeptId(296);
station.setDeptId(155);
} else {
station = stationService.selectById(vo.getStationId());
}

View File

@ -25,6 +25,7 @@ import com.ho.business.vo.resp.station.NewRealTimeCurveVo;
import com.ho.common.tools.annotation.TokenIgnore;
import com.ho.common.tools.constant.CommonConstant;
import com.ho.common.tools.constant.ContextConstant;
import com.ho.common.tools.constant.RedisKeyConstant;
import com.ho.common.tools.exception.DataResult;
import com.ho.common.tools.service.RedisService;
import com.ho.common.tools.util.BigDecimalUtil;
@ -40,6 +41,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.math.BigDecimal;
@ -153,9 +155,10 @@ public class OpenStationController {
@PostMapping("/dynamicRealtimeCurve")
@ApiOperation(value = "动态配置-实时曲线")
@TokenIgnore
public DataResult<List<NewRealTimeCurveVo>> dynamicRealtimeCurve(@RequestBody DynamicConfigQuery vo) {
public DataResult<List<NewRealTimeCurveVo>> dynamicRealtimeCurve(@RequestBody DynamicConfigQuery vo, HttpServletRequest request) {
//默认隐藏曲线不显示
vo.setIsHide(CommonConstant.ZERO);
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<NewRealTimeCurveVo> resList = stationHomeService.getDynamicRealtimeCurve(vo);
//返回值的BigDecimal类型保留两位小数
for (NewRealTimeCurveVo newRealTimeCurveVo : resList) {
@ -212,7 +215,8 @@ public class OpenStationController {
@PostMapping("/getPcsTotalData")
@ApiOperation(value = "数据总览取PCS计算")
@TokenIgnore
public DataResult<PcsTotalData> getPcsTotalData(@RequestBody StationReq req) {
public DataResult<PcsTotalData> getPcsTotalData(@RequestBody StationReq req,HttpServletRequest request) {
req.setLang(request.getHeader(RedisKeyConstant.User.LANG));
if (req.getDeviceType() == null) {
String deviceType = colCountService.getDeviceType(req.getStationId());
if (null == deviceType) {
@ -298,9 +302,11 @@ public class OpenStationController {
@ApiOperation(value = "多电站导出累计充放电量数据")
//@LogAnnotation(title = "累计充放电量", action = "导出累计充放电量数据")
//@HzPermission(value = {PermissionConstant.REMOTECONTROL_COMMAND_EXPORT,PermissionConstant.DATA_SHOW_EXPORT,PermissionConstant.REMOTECONTROL_COMMAND_EXPORT})
public void exportExcel(@RequestBody @Valid PcsStationReq req, HttpServletResponse response) {
public void exportExcel(@RequestBody @Valid PcsStationReq req, HttpServletResponse response,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
//功能描述把同一个表格多个sheet测试结果重新输出
openStationService.exportEleData(req, response);
openStationService.exportEleData(req, response,lang);
}

View File

@ -66,7 +66,8 @@ public class PlanningCurveController {
@PostMapping("getPlanningCurveTemplates")
@ApiOperation(value = "模板列表查询")
@TokenIgnore
public DataResult getPlanningCurveTemplates(@RequestBody PlanningCurveTemplate template) {
public DataResult getPlanningCurveTemplates(@RequestBody PlanningCurveTemplate template,HttpServletRequest request) {
template.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<Map<String, Object>> planningCurveTemplates = planningService.getPlanningCurveTemplates(template);
return DataResult.success(planningCurveTemplates);
}
@ -101,7 +102,8 @@ public class PlanningCurveController {
@PostMapping("planningCurveTemplateDetail")
@ApiOperation(value = "查看详情")
@TokenIgnore
public DataResult planningCurveTemplateDetail(@RequestBody PlanningCurveTemplate template) {
public DataResult planningCurveTemplateDetail(@RequestBody PlanningCurveTemplate template,HttpServletRequest request) {
template.setLang(request.getHeader(RedisKeyConstant.User.LANG));
if( template == null || template.getTemId() == null ){
return DataResult.success();
}

View File

@ -11,6 +11,7 @@ import com.ho.common.tools.annotation.LogAnnotation;
import com.ho.common.tools.annotation.TokenIgnore;
import com.ho.common.tools.constant.ContextConstant;
import com.ho.common.tools.constant.PermissionConstant;
import com.ho.common.tools.constant.RedisKeyConstant;
import com.ho.common.tools.exception.BaseResponseCode;
import com.ho.common.tools.exception.BusinessException;
import com.ho.common.tools.exception.DataResult;
@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@ -38,14 +40,16 @@ public class PlanningCurveIssueController {
@PostMapping("getIssueDevices")
@ApiOperation(value = "查询下发设备接口")
@TokenIgnore
public DataResult getIssueDevices(@RequestBody PlanningIssueDevice issueDevice) {
public DataResult getIssueDevices(@RequestBody PlanningIssueDevice issueDevice, HttpServletRequest request) {
issueDevice.setLang(request.getHeader(RedisKeyConstant.User.LANG));
return DataResult.success(issueService.getIssueDevices(issueDevice));
}
@PostMapping("getTemplate")
@ApiOperation(value = "查询计划曲线模板接口")
@TokenIgnore
public DataResult getTemplate(@RequestBody PlanningIssueDevice issueDevice) {
public DataResult getTemplate(@RequestBody PlanningIssueDevice issueDevice,HttpServletRequest request) {
issueDevice.setLang(request.getHeader(RedisKeyConstant.User.LANG));
return DataResult.success(issueService.getTemplate(issueDevice));
}
@ -104,8 +108,9 @@ public class PlanningCurveIssueController {
@PostMapping("getPlanCurveOperationList")
@ApiOperation(value = "查询计划曲线下发操作记录")
@TokenIgnore
public DataResult<List<PlanCurveOperationRecordReq>> getPlanCurveOperationList(@RequestBody String stationId){
List<PlanCurveOperationRecordReq> result = issueService.getPlanCurveOperationList(stationId);
public DataResult<List<PlanCurveOperationRecordReq>> getPlanCurveOperationList(@RequestBody String stationId,HttpServletRequest request){
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<PlanCurveOperationRecordReq> result = issueService.getPlanCurveOperationList(stationId,lang);
return DataResult.success(result);
}

View File

@ -127,7 +127,8 @@ public class PointDemoController {
@PostMapping("page")
@ApiOperation(value = "点表列表,分页")
public DataResult<PageResult<PointRespVO>> page(@RequestBody @Valid PointReq pointReq) {
public DataResult<PageResult<PointRespVO>> page(@RequestBody @Valid PointReq pointReq,HttpServletRequest request) {
pointReq.setLang(request.getHeader(RedisKeyConstant.User.LANG));
String name = pointReq.getName();
if (name != null) {
name = name.trim();
@ -162,7 +163,8 @@ public class PointDemoController {
@PostMapping("pointList")
@ApiOperation(value = "点表列表,不分页")
public DataResult<List<PointListRespVo>> pointList(@RequestBody @Valid PointReq pointReq) {
public DataResult<List<PointListRespVo>> pointList(@RequestBody @Valid PointReq pointReq,HttpServletRequest request) {
pointReq.setLang(request.getHeader(RedisKeyConstant.User.LANG));
String name = pointReq.getName();
if (name != null) {
name = name.trim();
@ -174,14 +176,16 @@ public class PointDemoController {
@PostMapping("queryPoint")
@ApiOperation(value = "根据设备查询点表")
public DataResult<List<QueryPointRespVo>> queryPoint(@RequestBody @Valid PointVo vo) {
public DataResult<List<QueryPointRespVo>> queryPoint(@RequestBody @Valid PointVo vo,HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<QueryPointRespVo> pointList = pointDemoService.queryPoint(vo);
return DataResult.success(pointList);
}
@PostMapping("queryVirtualPoint")
@ApiOperation(value = "根据设备查询虚拟点表")
public DataResult<List<QueryPointRespVo>> queryVirtualPoint(@RequestBody @Valid PointVo vo) {
public DataResult<List<QueryPointRespVo>> queryVirtualPoint(@RequestBody @Valid PointVo vo,HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<QueryPointRespVo> pointList = pointDemoService.queryVirtualPoint(vo);
return DataResult.success(pointList);
}
@ -238,13 +242,19 @@ public class PointDemoController {
@PostMapping("/exportExcel")
@LogAnnotation(title = "一体柜点表模块", action = "导出点表数据")
//@HzPermission(value = {PermissionConstant.REMOTECONTROL_COMMAND_EXPORT,PermissionConstant.DATA_SHOW_EXPORT,PermissionConstant.REMOTECONTROL_COMMAND_EXPORT})
public void exportExcel(@RequestBody @Valid PointReq pointReq, HttpServletResponse response) {
public void exportExcel(@RequestBody @Valid PointReq pointReq, HttpServletResponse response,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
pointReq.setLang(lang);
List<PointRespVO> pointList = pointDemoService.getPointList(pointReq);
String fileName = "点表";
String sheetName = "data";
try {
EasyExcelUtil.writeExcel(response, pointList, fileName, sheetName, PointRespVO.class);
if(RedisKeyConstant.User.EN_US.equals(lang)){
EasyExcelUtil.writeExcel(response, pointList, fileName, sheetName, PointRespEnVO.class);
}else{
EasyExcelUtil.writeExcel(response, pointList, fileName, sheetName, PointRespVO.class);
}
} catch (Exception e) {
e.printStackTrace();
}
@ -259,13 +269,15 @@ public class PointDemoController {
@PostMapping("/hisExportExcel")
@LogAnnotation(title = "一体柜点表模块", action = "导出历史数据")
@HzPermission(PermissionConstant.DATA_HISCURVE_EXPORT)
public void hisExportExcel(@RequestBody @Valid PointCurveReq pointCurveReq, HttpServletResponse response) {
public void hisExportExcel(@RequestBody @Valid PointCurveReq pointCurveReq, HttpServletResponse response, HttpServletRequest request) {
pointCurveReq.setLang(request.getHeader(RedisKeyConstant.User.LANG));
pointDemoService.getHisExportExcel(pointCurveReq, response);
}
@PostMapping("pointCurve")
@ApiOperation(value = "点表曲线")
public DataResult<List<PointCurveResp>> pointCurve(@RequestBody @Valid PointCurveReq pointCurveReq) {
public DataResult<List<PointCurveResp>> pointCurve(@RequestBody @Valid PointCurveReq pointCurveReq, HttpServletRequest request) {
pointCurveReq.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<PointCurveResp> pointCurveRespList = new ArrayList<>();
//对开始结束时间进行处理 对bug129
if (pointCurveReq.getBeginTime() != null) {
@ -331,7 +343,8 @@ public class PointDemoController {
@PostMapping("pointDataShowList")
@ApiOperation(value = "点表真实数据展示(每个点位分开)")
public DataResult<List<PageResult>> pointDataShowList(@RequestBody @Valid PointCurveReq pointCurveReq) {
public DataResult<List<PageResult>> pointDataShowList(@RequestBody @Valid PointCurveReq pointCurveReq, HttpServletRequest request) {
pointCurveReq.setLang(request.getHeader(RedisKeyConstant.User.LANG));
List<PageResult> pointCurveRespList = new ArrayList<>();
//对传输过来的col集合进行判断是否大于10个
if (pointCurveReq.getDeviceIdList().size() < 50) {
@ -428,9 +441,9 @@ public class PointDemoController {
@PostMapping("getPointCurve")
@ApiOperation(value = "首页根据映射值获取曲线(app界面使用)")
public DataResult<List<PointCurveResp>> getPointCurve(@RequestBody HomePageReqVo vo) {
public DataResult<List<PointCurveResp>> getPointCurve(@RequestBody HomePageReqVo vo, HttpServletRequest request) {
PointCurveReq pointCurveReq = pointDemoService.getPointCurveReq(vo);
List<PointCurveResp> pointCurveRespList = pointCurve(pointCurveReq).getData();
List<PointCurveResp> pointCurveRespList = pointCurve(pointCurveReq,request).getData();
List<PointCurveSrcCol> deviceIdList = pointCurveReq.getDeviceIdList();
if (!deviceIdList.isEmpty()) {
Map<String, BigDecimal> map = deviceIdList.get(0).getMap();

View File

@ -11,6 +11,7 @@ import com.ho.business.vo.req.report.ReportReqVO;
import com.ho.business.vo.resp.income.RevenueOverview;
import com.ho.business.vo.resp.income.RevenueOverviewData;
import com.ho.common.tools.constant.ContextConstant;
import com.ho.common.tools.constant.RedisKeyConstant;
import com.ho.common.tools.exception.DataResult;
import com.ho.common.tools.util.PageResult;
import com.ho.common.tools.util.PageUtils;
@ -22,6 +23,7 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.InputStream;
@ -90,7 +92,8 @@ public class RevenueOverviewController {
@PostMapping("export")
@ApiOperation(value = "导出")
public void export(@RequestBody @Valid ReportReqVO vo, HttpServletResponse response) {
public void export(@RequestBody @Valid ReportReqVO vo, HttpServletResponse response, HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<RevenueOverviewData> revenueOverviewData = earningsCalculateService.getRevenueOverviewData(vo);
RevenueOverview investment = earningsCalculateService.getInvestment(vo);
//在内存操作,写到浏览器
@ -102,7 +105,11 @@ public class RevenueOverviewController {
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8")));
//文件模板输入流
InputStream inputStream = new ClassPathResource("template/RevenueOverview.xlsx").getInputStream();
String path="template/RevenueOverview.xlsx";
if(RedisKeyConstant.User.EN_US.equals(lang)){
path="template/RevenueOverviewen_US.xlsx";
}
InputStream inputStream = new ClassPathResource(path).getInputStream();
ExcelWriter writer = EasyExcel.write(out).withTemplate(inputStream).build();
WriteSheet sheet = EasyExcel.writerSheet().build();

View File

@ -2,6 +2,7 @@ package com.ho.business.controller;
import com.ho.business.entity.StrategyOverviewUserSet;
import com.ho.business.service.DeviceService;
import com.ho.business.service.DynamicConfigService;
import com.ho.business.service.StationHomeService;
import com.ho.business.service.StrategyOverviewUserSetService;
import com.ho.business.vo.req.OperatingStatistic;
@ -51,16 +52,21 @@ public class StrategyOverviewController {
@Autowired
RedisService redisService;
@Autowired
DynamicConfigService dynamicConfigService;
@PostMapping("cellVoltageAndTemperature")
@ApiOperation("电芯电压/温度分布")
public DataResult<TemperatureVoltageResp> getCellVoltageAndTemperature(@RequestBody @Valid DeviceTreeReq vo) {
public DataResult<TemperatureVoltageResp> getCellVoltageAndTemperature(@RequestBody @Valid DeviceTreeReq vo,HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
TemperatureVoltageResp temperatureVoltageResp = deviceService.getCellVoltageAndTemperature(vo);
return DataResult.success(temperatureVoltageResp);
}
@PostMapping("cellVoltageAndTemperatureNum")
@ApiOperation("电芯电压/温度分布按序号")
public DataResult<TemperatureVoltageResp> getCellVoltageAndTemperatureNum(@RequestBody @Valid DeviceTreeReq vo) {
public DataResult<TemperatureVoltageResp> getCellVoltageAndTemperatureNum(@RequestBody @Valid DeviceTreeReq vo,HttpServletRequest request) {
vo.setLang(request.getHeader(RedisKeyConstant.User.LANG));
TemperatureVoltageResp temperatureVoltageResp = deviceService.getCellVoltageAndTemperatureNum(vo);
return DataResult.success(temperatureVoltageResp);
}
@ -83,8 +89,15 @@ public class StrategyOverviewController {
@PostMapping("operatingStatistic2")
@ApiOperation("运行统计(soc,soh)")
public DataResult<List<OperatingStatistic>> getOperatingStatistic2(@RequestBody @Valid DeviceTreeReq vo) {
public DataResult<List<OperatingStatistic>> getOperatingStatistic2(@RequestBody @Valid DeviceTreeReq vo,HttpServletRequest request) {
String lang = request.getHeader(RedisKeyConstant.User.LANG);
List<OperatingStatistic> list = deviceService.getOperatingStatistic2(vo.getStationId());
//中英切换处理
list.stream().forEach(s->{
if(RedisKeyConstant.User.EN_US.equals(lang)){
s.setName(dynamicConfigService.getNameEn(s.getName()));
}
});
return DataResult.success(list);
}

View File

@ -97,7 +97,7 @@ public class TestReport {
@Test
public void setVirtualDevice(){
List<DeviceTypeCol> list = deviceTypeColService.selectByDeviceType("emu_349");
List<DeviceTypeCol> list = deviceTypeColService.selectByDeviceType("emu_349",null);
list = list.stream().filter(s->{
return CommonConstant.TWO.equals(s.getSensType());
}).collect(Collectors.toList());