Commit 0274405b authored by chenzhao's avatar chenzhao

Merge branch 'developer' of http://39.98.45.134:8090/moa/amos-boot-biz into developer

# Conflicts: # amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/entity/IdxBizFelk.java # amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/mapper2/IdxBizUxfvMapper.java # amos-boot-system-jxiop/amos-boot-module-jxiop-analyse-biz/src/main/resources/mapper/cluster/IdxBizUxfvMapper.xml
parents 43ca2635 c9a930ad
...@@ -26,6 +26,11 @@ ...@@ -26,6 +26,11 @@
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId> <groupId>com.yeejoin</groupId>
<artifactId>amos-component-influxdb</artifactId> <artifactId>amos-component-influxdb</artifactId>
<version>1.8.5-SNAPSHOT</version> <version>1.8.5-SNAPSHOT</version>
......
...@@ -16,8 +16,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -16,8 +16,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List; import java.util.List;
/** /**
*
*
* @author system_generator * @author system_generator
* @date 2023-08-11 * @date 2023-08-11
*/ */
...@@ -35,22 +33,31 @@ public class TestController extends BaseController { ...@@ -35,22 +33,31 @@ public class TestController extends BaseController {
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询-风电", notes = "列表全部数据查询") @ApiOperation(httpMethod = "GET", value = "列表全部数据查询-风电", notes = "列表全部数据查询")
@GetMapping(value = "/listfan") @GetMapping(value = "/listfan")
public ResponseModel<List<IdxBizC80c>> selectForListFan() { public ResponseModel<List<IdxBizC80c>> selectForListFan() {
return ResponseHelper.buildResponse(commonServiceImpl.getAllFanstationTestPoint().subList(0,20)); return ResponseHelper.buildResponse(commonServiceImpl.getAllFanstationTestPoint().subList(0, 20));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询-光伏", notes = "列表全部数据查询") @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询-光伏", notes = "列表全部数据查询")
@GetMapping(value = "/listpv") @GetMapping(value = "/listpv")
public ResponseModel<List<IdxBizHjev>> selectForListPV() { public ResponseModel<List<IdxBizHjev>> selectForListPV() {
return ResponseHelper.buildResponse(commonServiceImpl.getAllPVstationTestPoint().subList(0,20)); return ResponseHelper.buildResponse(commonServiceImpl.getAllPVstationTestPoint().subList(0, 20));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "test", notes = "列表全部数据查询") @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "test", notes = "列表全部数据查询")
@GetMapping(value = "/test") @GetMapping(value = "/test")
public void selectForListTest() { public void selectForListTest() {
commonServiceImpl.getGateWayId(); commonServiceImpl.getIdxBizUxfvList();
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "test", notes = "列表全部数据查询")
@GetMapping(value = "/getDateByTime")
public void getDateByTime(@RequestParam String startTime, @RequestParam String endTime) {
commonServiceImpl.getConditionVariablesByTime(startTime, endTime);
} }
} }
...@@ -45,10 +45,10 @@ public class IdxBizC80cDto { ...@@ -45,10 +45,10 @@ public class IdxBizC80cDto {
private Double correlationCoefficient; private Double correlationCoefficient;
@TableField("ANALYSIS_POINT_ID") @TableField("ANALYSIS_POINT_ID")
private Integer analysisPointId; private Long analysisPointId;
@TableField("PROCESS_POINT_ID") @TableField("PROCESS_POINT_ID")
private Integer processPointId; private Long processPointId;
@ApiModelProperty(value = "片区") @ApiModelProperty(value = "片区")
@TableField("ARAE") @TableField("ARAE")
......
...@@ -45,10 +45,10 @@ public class IdxBizHjevDto { ...@@ -45,10 +45,10 @@ public class IdxBizHjevDto {
private Double correlationCoefficient; private Double correlationCoefficient;
@TableField("ANALYSIS_POINT_ID") @TableField("ANALYSIS_POINT_ID")
private Integer analysisPointId; private Long analysisPointId;
@TableField("PROCESS_POINT_ID") @TableField("PROCESS_POINT_ID")
private Integer processPointId; private Long processPointId;
@ApiModelProperty(value = "片区") @ApiModelProperty(value = "片区")
@TableField("ARAE") @TableField("ARAE")
......
...@@ -4,7 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField; ...@@ -4,7 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date;
/** /**
...@@ -36,7 +37,7 @@ public class IdxBiz208l { ...@@ -36,7 +37,7 @@ public class IdxBiz208l {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
...@@ -96,13 +97,13 @@ public class IdxBiz208l { ...@@ -96,13 +97,13 @@ public class IdxBiz208l {
* *
*/ */
@TableField("ANALYSIS_START_TIME") @TableField("ANALYSIS_START_TIME")
private LocalDateTime analysisStartTime; private Date analysisStartTime;
/** /**
* *
*/ */
@TableField("ANALYSIS_END_TIME") @TableField("ANALYSIS_END_TIME")
private LocalDateTime analysisEndTime; private Date analysisEndTime;
/** /**
* 片区 * 片区
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBiz3yud { ...@@ -39,7 +38,7 @@ public class IdxBiz3yud {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBiz59c8 { ...@@ -39,7 +38,7 @@ public class IdxBiz59c8 {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizAahn { ...@@ -39,7 +38,7 @@ public class IdxBizAahn {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizBtlq { ...@@ -39,7 +38,7 @@ public class IdxBizBtlq {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -69,13 +69,13 @@ public class IdxBizC80c { ...@@ -69,13 +69,13 @@ public class IdxBizC80c {
* *
*/ */
@TableField("ANALYSIS_POINT_ID") @TableField("ANALYSIS_POINT_ID")
private Integer analysisPointId; private Long analysisPointId;
/** /**
* *
*/ */
@TableField("PROCESS_POINT_ID") @TableField("PROCESS_POINT_ID")
private Integer processPointId; private Long processPointId;
/** /**
* 片区 * 片区
......
...@@ -40,7 +40,7 @@ public class IdxBizFelk { ...@@ -40,7 +40,7 @@ public class IdxBizFelk {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
...@@ -70,7 +70,7 @@ public class IdxBizFelk { ...@@ -70,7 +70,7 @@ public class IdxBizFelk {
* 分析维度seq * 分析维度seq
*/ */
@TableField("ANALYSIS_OBJ_SEQ") @TableField("ANALYSIS_OBJ_SEQ")
private Integer analysisObjSeq; private Long analysisObjSeq;
/** /**
* *
...@@ -100,13 +100,14 @@ public class IdxBizFelk { ...@@ -100,13 +100,14 @@ public class IdxBizFelk {
* *
*/ */
@TableField("ANALYSIS_START_TIME") @TableField("ANALYSIS_START_TIME")
private LocalDateTime analysisStartTime; private Date analysisStartTime;
/** /**
* *
*/ */
@TableField("ANALYSIS_END_TIME") @TableField("ANALYSIS_END_TIME")
private LocalDateTime analysisEndTime; private Date analysisEndTime;
/** /**
* 片区 * 片区
......
...@@ -68,13 +68,13 @@ public class IdxBizHjev { ...@@ -68,13 +68,13 @@ public class IdxBizHjev {
* *
*/ */
@TableField("ANALYSIS_POINT_ID") @TableField("ANALYSIS_POINT_ID")
private Integer analysisPointId; private Long analysisPointId;
/** /**
* *
*/ */
@TableField("PROCESS_POINT_ID") @TableField("PROCESS_POINT_ID")
private Integer processPointId; private Long processPointId;
/** /**
* 片区 * 片区
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizIegc { ...@@ -39,7 +38,7 @@ public class IdxBizIegc {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizKsia { ...@@ -39,7 +38,7 @@ public class IdxBizKsia {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizP2z9 { ...@@ -39,7 +38,7 @@ public class IdxBizP2z9 {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizPldo { ...@@ -39,7 +38,7 @@ public class IdxBizPldo {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizUhef { ...@@ -39,7 +38,7 @@ public class IdxBizUhef {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizUxfv { ...@@ -39,7 +38,7 @@ public class IdxBizUxfv {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizYh88 { ...@@ -39,7 +38,7 @@ public class IdxBizYh88 {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -7,7 +7,6 @@ import lombok.Data; ...@@ -7,7 +7,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -39,7 +38,7 @@ public class IdxBizZrdb { ...@@ -39,7 +38,7 @@ public class IdxBizZrdb {
* *
*/ */
@TableField("REC_DATE") @TableField("REC_DATE")
private LocalDateTime recDate; private Date recDate;
/** /**
* *
......
...@@ -14,5 +14,9 @@ import java.util.List; ...@@ -14,5 +14,9 @@ import java.util.List;
* @date 2023-08-14 * @date 2023-08-14
*/ */
public interface IdxBizUxfvMapper extends BaseMapper<IdxBizUxfv> { public interface IdxBizUxfvMapper extends BaseMapper<IdxBizUxfv> {
List<IdxBizUxfvDto> getInfluxDBData(); List<IdxBizUxfvDto> getInfluxDBData();
List<String> gateWayIdListFan();
} }
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl; package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import cn.hutool.http.HttpUtil;
import cn.hutool.log.LogFactory;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.AmosJxiopAnalyseApplication;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizC80c; import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizC80c;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizHjev; import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizHjev;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizUxfv;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBiz3yudMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizC80cMapper; import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizC80cMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizHjevMapper; import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizHjevMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.IdxBizUxfvMapper;
import com.yeejoin.amos.component.influxdb.InfluxdbUtil; import com.yeejoin.amos.component.influxdb.InfluxdbUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.List; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Service @Service
public class CommonServiceImpl { public class CommonServiceImpl {
private static final Logger logger = LoggerFactory.getLogger(CommonServiceImpl.class);
@Value("${sleep.time:10}")
Integer sleepTime;
@Value("${gkbl.url:http://36.40.66.175:30009/maas/api/901b4627-4fb0-4527-ab2d-f6ea936c9b9d}")
String gkblurl;
// idx_biz_hjev 光伏监测变量
// idx_biz_c80c 风电监测变量 (根据设备、系统、型号查分析和工况测点)
// idx_biz_3yud 光伏工况变量划分
// idx_biz_uxfv 风电 工况变量划分 (工况/分析变量划分)
// idx_biz_iegc光伏 预警记录
// idx_biz_zrdb 风电 预警记录
// idx_biz_felk 光伏 健康状态指数
// idx_biz_208l风电 健康状态指数
// idx_biz_uhef 风电 工况组合中心
// idx_biz_59c8 光伏 工况组合中心
// idx_biz_yh88风电 工况数据字典
// idx_biz_ksia光伏 工况数据字典
// idx_biz_p2z9光伏 预警规则配置表
// idx_biz_aahn风电 预警规则配置表
// idx_biz_btlq光伏 健康等级划分表
// idx_biz_pldo 风电 健康等级划分表
// idx_biz_c80c 风电监测变量 (根据设备、系统、型号查分析和工况测点)
@Autowired @Autowired
private IdxBizC80cMapper idxBizC80cMapper; private IdxBizC80cMapper idxBizC80cMapper;
// idx_biz_hjev 光伏监测变量
@Autowired @Autowired
private IdxBizHjevMapper idxBizHjevMapper; private IdxBizHjevMapper idxBizHjevMapper;
// idx_biz_3yud 光伏工况变量划分
@Autowired
private IdxBiz3yudMapper idxBiz3yudMapper;
// idx_biz_uxfv 风电 工况变量划分 (工况/分析变量划分)
@Autowired
private IdxBizUxfvMapper idxBizUxfvMapper;
@Autowired @Autowired
InfluxdbUtil influxdbUtil; InfluxdbUtil influxdbUtil;
public List<IdxBizC80c> getAllFanstationTestPoint(){ public List<IdxBizC80c> getAllFanstationTestPoint() {
List<IdxBizC80c> idxBizC80cList = new ArrayList<>(); List<IdxBizC80c> idxBizC80cList = new ArrayList<>();
idxBizC80cList = idxBizC80cMapper.selectList(new QueryWrapper<IdxBizC80c>().isNotNull("SEQUENCE_NBR")); idxBizC80cList = idxBizC80cMapper.selectList(new QueryWrapper<IdxBizC80c>().isNotNull("SEQUENCE_NBR"));
return idxBizC80cList; return idxBizC80cList;
} }
public List<IdxBizHjev> getAllPVstationTestPoint(){
public List<IdxBizHjev> getAllPVstationTestPoint() {
List<IdxBizHjev> idxBizC80cList = new ArrayList<>(); List<IdxBizHjev> idxBizC80cList = new ArrayList<>();
idxBizC80cList = idxBizHjevMapper.selectList(new QueryWrapper<IdxBizHjev>().isNotNull("SEQUENCE_NBR")); idxBizC80cList = idxBizHjevMapper.selectList(new QueryWrapper<IdxBizHjev>().isNotNull("SEQUENCE_NBR"));
return idxBizC80cList; return idxBizC80cList;
} }
public List<String> getGateWayId(){
List<String> gateWayIdList=idxBizC80cMapper.gateWayIdListFan(); public List<String> getGateWayId() {
List<String> gateWayIdList = idxBizC80cMapper.gateWayIdListFan();
return gateWayIdList; return gateWayIdList;
} }
/**
* @return
* @deprecated 获取工况变量列表
*/
public HashMap<String, List<IdxBizUxfv>> getIdxBizUxfvList() {
HashMap<String, List<IdxBizUxfv>> IdxBizUxfvHashMap = new HashMap<>();
List<String> gateWayIdList = idxBizUxfvMapper.gateWayIdListFan();
List<IdxBizUxfv> idxBizUxfvList = idxBizUxfvMapper.selectList(new QueryWrapper<IdxBizUxfv>().isNotNull("SEQUENCE_NBR").eq("TAG_CODE", "工况变量"));
List<IdxBizUxfv> finalIdxBizUxfvList = idxBizUxfvList;
gateWayIdList.forEach(s -> {
IdxBizUxfvHashMap.put("iot_data_" + s, finalIdxBizUxfvList.stream().filter(idxBizUxfv -> idxBizUxfv.getGatewayId().equals(s)).collect(Collectors.toList()));
});
return IdxBizUxfvHashMap;
}
//遍历工况列表数据
public void getConditionVariablesByTime(String startTime, String endTime) {
HashMap<String, List<IdxBizUxfv>> IdxBizUxfvHashMap = getIdxBizUxfvList();
IdxBizUxfvHashMap.keySet().forEach(s -> {
List<IdxBizUxfv> list = IdxBizUxfvHashMap.get(s);
foreachHandlerConditionVariab(s, list, startTime, endTime);
});
}
//遍历查询数据并调用并计算
public void foreachHandlerConditionVariab(String tableName, List<IdxBizUxfv> list, String startTime, String endTime) {
list.forEach(idxBizUxfv -> {
logger.info("--------------------------------------------开始查询--------------------------------");
List<Map<String, String>> params = new ArrayList<>();
// String sql = String.format("select value from %s where address='%s' and where time >= '%s' and where time <= '%s' ", tableName, idxBizUxfv.getIndexAddress(), startTime, endTime);
String sql = String.format("select value from %s where address='%s' ", tableName, idxBizUxfv.getIndexAddress());
List<Map<String, Object>> returnList = influxdbUtil.query(sql);
returnList.forEach((k) -> {
Map<String, String> map = new HashMap<>();
map.put("processVariable", k.get("value").toString());
map.put("processVariableId", idxBizUxfv.getSequenceNbr());
params.add(map);
});
if (!params.isEmpty()) {
logger.info("------------------------------------------开始调用工况变量算法----------------------------------------");
HttpUtil.createPost(gkblurl).body(JSON.toJSONString(params)).execute().body();
try {
TimeUnit.SECONDS.sleep(sleepTime);
logger.info("------------------------------------------调用工况变量算法结束----------------------------------------");
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
});
}
public HashMap<String, List<IdxBizUxfv>> getIdxBizUxfvListOfAnaLyse() {
HashMap<String, List<IdxBizUxfv>> IdxBizUxfvHashMap = new HashMap<>();
List<String> gateWayIdList = idxBizUxfvMapper.gateWayIdListFan();
List<IdxBizUxfv> idxBizUxfvListFengxi = idxBizUxfvMapper.selectList(new QueryWrapper<IdxBizUxfv>().isNotNull("SEQUENCE_NBR").eq("TAG_CODE", "分析变量"));
List<IdxBizUxfv> finalIdxBizUxfvList = idxBizUxfvListFengxi;
gateWayIdList.forEach(s -> {
IdxBizUxfvHashMap.put("iot_data_" + s, finalIdxBizUxfvList.stream().filter(idxBizUxfv -> idxBizUxfv.getGatewayId().equals(s)).collect(Collectors.toList()));
});
return IdxBizUxfvHashMap;
}
public void getConditionVariablesByTimeAnalyse(String startTime, String endTime) {
HashMap<String, List<IdxBizUxfv>> IdxBizUxfvHashMap = getIdxBizUxfvListOfAnaLyse();
IdxBizUxfvHashMap.keySet().forEach(s -> {
List<IdxBizUxfv> list = IdxBizUxfvHashMap.get(s);
list.forEach(idxBizUxfv -> {
List<IdxBizC80c> gongkuangList = idxBizC80cMapper.selectList(new QueryWrapper<IdxBizC80c>().eq("ANALYSIS_GATEWAY_ID", idxBizUxfv.getGatewayId()).eq("ANALYSIS_POINT_ID", idxBizUxfv.getSequenceNbr()));
foreachHandlerConditionVariabAnalyse(s, gongkuangList, startTime, endTime, idxBizUxfv);
});
});
}
public void foreachHandlerConditionVariabAnalyse(String tableName, List<IdxBizC80c> list, String startTime, String endTime, IdxBizUxfv idxBizUxfv) {
String sql1 = String.format("select value from %s where address='%s' ", tableName, idxBizUxfv.getIndexAddress());
List<Map<String, Object>> returnList = influxdbUtil.query(sql1);
List<Map<String, String>> params = new ArrayList<>();
returnList.forEach((k) -> {
Map<String, String> map = new HashMap<>();
map.put("analysisVariable", k.get("value").toString());
map.put("analysisVariableId", idxBizUxfv.getSequenceNbr());
params.add(map);
});
final List<Map<String, String>> tempParams = params;
list.forEach(idxBizC80c -> {
logger.info("--------------------------------------------开始查询--------------------------------");
List<Map<String, String>> params1 = new ArrayList<>();
List<Map<String, String>> requestParams = new ArrayList<>();
// String sql = String.format("select value from %s where address='%s' and where time >= '%s' and where time <= '%s' ", tableName, idxBizUxfv.getIndexAddress(), startTime, endTime);
String sql = String.format("select value from %s where address='%s' ", tableName, idxBizC80c.getProcessIndexAddress());
List<Map<String, Object>> returnList1 = influxdbUtil.query(sql);
returnList.forEach((k) -> {
Map<String, String> map = new HashMap<>();
map.put("processVariable", k.get("value").toString());
map.put("processVariableId", idxBizC80c.getProcessPointId().toString());
params1.add(map);
});
if (tempParams.size() >= params1.size()) {
requestParams = megreMapList(tempParams, params1);
} else {
requestParams = megreMapList(params1, tempParams);
}
if (!requestParams.isEmpty()) {
logger.info("------------------------------------------开始调用工况变量算法----------------------------------------");
HttpUtil.createPost(gkblurl).body(JSON.toJSONString(requestParams)).execute().body();
try {
TimeUnit.SECONDS.sleep(sleepTime);
logger.info("------------------------------------------调用工况变量算法结束----------------------------------------");
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
});
}
public List<Map<String, String>> megreMapList(List<Map<String, String>> longList, List<Map<String, String>> shortList) {
List<Map<String, String>> resultList = new ArrayList<>();
for (int i = 0; i < longList.size(); i++) {
Map<String, String> map = longList.get(i);
Map<String, String> mapOfShortList = null;
if (i < mapOfShortList.size() - 1) {
mapOfShortList = shortList.get(i);
} else {
mapOfShortList = shortList.get(shortList.size() - 1);
}
if (map.containsKey("processVariable")) {
map.put("processVariable", mapOfShortList.get("processVariable"));
map.put("processVariableId", mapOfShortList.get("processVariableId"));
} else {
map.put("analysisVariable", mapOfShortList.get("analysisVariable"));
map.put("analysisVariableId", mapOfShortList.get("analysisVariableId"));
}
}
return resultList;
}
public void getConditionVariablesByTimeAnalyse1(String startTime, String endTime) {
HashMap<String, List<IdxBizUxfv>> IdxBizUxfvHashMap = getIdxBizUxfvListOfAnaLyse();
IdxBizUxfvHashMap.keySet().forEach(s -> {
List<IdxBizUxfv> list = IdxBizUxfvHashMap.get(s);
list.forEach(idxBizUxfv -> {
List<IdxBizC80c> gongkuangList = idxBizC80cMapper.selectList(new QueryWrapper<IdxBizC80c>().eq("ANALYSIS_GATEWAY_ID", idxBizUxfv.getGatewayId()).eq("ANALYSIS_POINT_ID", idxBizUxfv.getSequenceNbr()).orderByDesc("CORRELATION_COEFFICIENT").last("limit 0,3"));
foreachHandlerConditionVariabAnalyse(s, gongkuangList, startTime, endTime, idxBizUxfv);
});
});
}
public void foreachHandlerConditionVariabAnalyse1(String tableName, List<IdxBizC80c> list, String startTime, String endTime, IdxBizUxfv idxBizUxfv) {
String sql0 = String.format("select value from %s where address='%s' ", tableName, idxBizUxfv.getIndexAddress());
List<Map<String, Object>> returnList = influxdbUtil.query(sql0);
List<Map<String, String>> params = new ArrayList<>();
returnList.forEach((k) -> {
Map<String, String> map = new HashMap<>();
map.put("analysisVariable", k.get("value").toString());
map.put("analysisVariableId", idxBizUxfv.getSequenceNbr());
params.add(map);
});
final List<Map<String, String>> tempParams = params;
logger.info("--------------------------------------------开始查询--------------------------------");
List<Map<String, String>> params1 = new ArrayList<>();
List<Map<String, String>> requestParams = new ArrayList<>();
// String sql = String.format("select value from %s where address='%s' and where time >= '%s' and where time <= '%s' ", tableName, idxBizUxfv.getIndexAddress(), startTime, endTime);
String sql = String.format("select value from %s where address='%s' ", tableName, list.get(0).getProcessIndexAddress());
String sql1 = String.format("select value from %s where address='%s' ", tableName, list.get(1).getProcessIndexAddress());
String sql2 = String.format("select value from %s where address='%s' ", tableName, list.get(2).getProcessIndexAddress());
List<Map<String, Object>> returnList0 = influxdbUtil.query(sql);
List<Map<String, Object>> maxList = returnList0;
List<Map<String, Object>> returnList1 = influxdbUtil.query(sql);
maxList = maxList.size() > returnList1.size() ? maxList : returnList1;
List<Map<String, Object>> returnList2 = influxdbUtil.query(sql);
maxList = maxList.size() > returnList2.size() ? maxList : returnList2;
for (int j = 0; j < maxList.size(); j++) {
Map<String, String> map = new HashMap<>();
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> map3 = new HashMap<>();
if (j < returnList0.size() - 1) {
map1 = returnList0.get(j);
} else {
map1 = returnList0.get(returnList0.size() - 1);
}
if (j < returnList1.size() - 1) {
map2 = returnList1.get(j);
} else {
map2 = returnList1.get(returnList1.size() - 1);
}
if (j < returnList2.size() - 1) {
map3 = returnList2.get(j);
} else {
map3 = returnList2.get(returnList2.size() - 1);
}
map.put("processVariable1", map1.get("value").toString());
map.put("processVariable1Id", list.get(0).getProcessPointId().toString());
map.put("processVariable2", map2.get("value").toString());
map.put("processVariable2Id", list.get(1).getProcessPointId().toString());
map.put("processVariable3", map3.get("value").toString());
map.put("processVariable3Id", list.get(2).getProcessPointId().toString());
params1.add(map);
if (tempParams.size() >= params1.size()) {
requestParams = megreMapList1(tempParams, params1);
} else {
requestParams = megreMapList1(params1, tempParams);
}
if (!requestParams.isEmpty()) {
logger.info("------------------------------------------开始调用工况变量算法----------------------------------------");
HttpUtil.createPost(gkblurl).body(JSON.toJSONString(requestParams)).execute().body();
try {
TimeUnit.SECONDS.sleep(sleepTime);
logger.info("------------------------------------------调用工况变量算法结束----------------------------------------");
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
}
public List<Map<String, String>> megreMapList1(List<Map<String, String>> longList, List<Map<String, String>> shortList) {
List<Map<String, String>> resultList = new ArrayList<>();
for (int i = 0; i < longList.size(); i++) {
Map<String, String> map = longList.get(i);
Map<String, String> mapOfShortList = null;
if (i < mapOfShortList.size() - 1) {
mapOfShortList = shortList.get(i);
} else {
mapOfShortList = shortList.get(shortList.size() - 1);
}
if (map.containsKey("processVariable1")) {
map.put("processVariable1", mapOfShortList.get("processVariable1"));
map.put("processVariable1Id", mapOfShortList.get("processVariable1Id"));
map.put("processVariable2", mapOfShortList.get("processVariable2"));
map.put("processVariable2Id", mapOfShortList.get("processVariable2Id"));
map.put("processVariable3", mapOfShortList.get("processVariable3"));
map.put("processVariable3Id", mapOfShortList.get("processVariable3Id"));
} else {
map.put("analysisVariable", mapOfShortList.get("analysisVariable"));
map.put("analysisVariableId", mapOfShortList.get("analysisVariableId"));
}
}
return resultList;
} }
}
...@@ -50,4 +50,7 @@ ...@@ -50,4 +50,7 @@
GROUP BY b.SEQUENCE_NBR GROUP BY b.SEQUENCE_NBR
</select> </select>
<select id="gateWayIdListFan" resultType="java.lang.String">
select GATEWAY_ID from idx_biz_uxfv group by GATEWAY_ID;
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.jxiop.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum QrcodeColorEnum {
GREEN("绿码", "green"),
RED("红码", "red"),
YELLOW("黄码", "yellow");
private String name;
private String code;
public static String getCode(String name) {
for (QrcodeColorEnum qrcodeColorEnum : QrcodeColorEnum.values()) {
if (qrcodeColorEnum.getName().equals(name)) {
return qrcodeColorEnum.getCode();
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.jxiop.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum QrcodePostEnum {
ZZ("站长", "登高证,调度证,高压电工证"),
FZZ("副站长", "登高证,调度证,高压电工证"),
JXBZ("检修班长", "登高证,高压电工证"),
JXY("检修员", "登高证,高压电工证"),
YWZZ("运维值长", "登高证,调度证,高压电工证"),
YWY("运维员", "登高证,调度证,高压电工证"),
CS("厨师", "健康证"),
AQY("安全员", "安全员证"),
SJ("司机", "驾照"),
XFY("消防员", "消防设施操作证");
private String name;
private String code;
public static String getCode(String name) {
for (QrcodePostEnum qrcodePostEnum : QrcodePostEnum.values()) {
if (qrcodePostEnum.getName().equals(name)) {
return qrcodePostEnum.getCode();
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class CertificateDto implements Serializable {
/**
* 证书集合 【逗号隔开】
*/
private String certificates;
/**
* 距过期还有多少天 【已过期的不会出现在这里】
*/
private Integer expirationDays;
}
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonCertificate;
import lombok.Data;
import java.util.List;
@Data
public class CertificationInfo {
private List<PersonCertificate> certificationInfo;
}
...@@ -17,7 +17,8 @@ public class PersonDto { ...@@ -17,7 +17,8 @@ public class PersonDto {
private PersonUser personUser; private PersonUser personUser;
//资质信息 //资质信息
private PersonCertificate personCertificate; // private CertificationInfo personCertificate;
private CertificationInfo personCertificate;
//账户信息 //账户信息
private PersonAccount personAccount; private PersonAccount personAccount;
......
package com.yeejoin.amos.boot.module.jxiop.api.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
public class PersonYardDto implements Serializable {
/**
* 岗位
*/
private String postName;
/**
* 人员表主键ID
*/
private Long personId;
/**
* 证书信息
*/
private List<CertificateDto> certificateDtoList;
}
...@@ -150,4 +150,9 @@ public class PersonBasic extends BaseEntity { ...@@ -150,4 +150,9 @@ public class PersonBasic extends BaseEntity {
@TableField("post_name") @TableField("post_name")
private String postName; private String postName;
/**
* 岗位
*/
@TableField("qrcode_color")
private String qrcodeColor;
} }
...@@ -11,6 +11,8 @@ import io.swagger.annotations.ApiOperation; ...@@ -11,6 +11,8 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.text.ParseException;
import java.util.List; import java.util.List;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.PersonBasicServiceImpl; import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.PersonBasicServiceImpl;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
...@@ -50,10 +52,9 @@ public class PersonBasicController extends BaseController { ...@@ -50,10 +52,9 @@ public class PersonBasicController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "新增人员基本信息", notes = "新增人员基本信息") @ApiOperation(httpMethod = "POST", value = "新增人员基本信息", notes = "新增人员基本信息")
public ResponseModel<Object> save(@RequestBody PersonDto model,HttpServletRequest httpServletRequest) { public ResponseModel<Object> save(@RequestBody PersonDto model,HttpServletRequest httpServletRequest) {
try { try {
personBasicServiceImpl.addPerson(model,httpServletRequest); personBasicServiceImpl.addPerson(model, httpServletRequest);
}catch (InnerInvokException e){ }catch (InnerInvokException | ParseException e){
e.printStackTrace(); e.printStackTrace();
return this.buildResponseFalse(e.getMessage()); return this.buildResponseFalse(e.getMessage());
} }
...@@ -76,7 +77,7 @@ public class PersonBasicController extends BaseController { ...@@ -76,7 +77,7 @@ public class PersonBasicController extends BaseController {
public ResponseModel<PersonDto> updateBySequenceNbrPersonBasic(@RequestBody PersonDto model,@RequestParam(value = "sequenceNbr") Long sequenceNbr,HttpServletRequest httpServletRequest) { public ResponseModel<PersonDto> updateBySequenceNbrPersonBasic(@RequestBody PersonDto model,@RequestParam(value = "sequenceNbr") Long sequenceNbr,HttpServletRequest httpServletRequest) {
try { try {
personBasicServiceImpl.updatePerson(model,httpServletRequest,sequenceNbr); personBasicServiceImpl.updatePerson(model,httpServletRequest,sequenceNbr);
}catch (InnerInvokException e){ }catch (InnerInvokException | ParseException e){
e.printStackTrace(); e.printStackTrace();
return this.buildResponseFalse(e.getMessage()); return this.buildResponseFalse(e.getMessage());
} }
......
...@@ -2,7 +2,13 @@ package com.yeejoin.amos.boot.module.jxiop.biz.service.impl; ...@@ -2,7 +2,13 @@ package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodeColorEnum;
import com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodePostEnum;
import com.yeejoin.amos.boot.module.jxiop.api.dto.*; import com.yeejoin.amos.boot.module.jxiop.api.dto.*;
import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonBasic; import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonBasic;
import com.yeejoin.amos.boot.module.jxiop.api.entity.*; import com.yeejoin.amos.boot.module.jxiop.api.entity.*;
...@@ -17,7 +23,9 @@ import com.yeejoin.amos.feign.privilege.model.CompanyModel; ...@@ -17,7 +23,9 @@ import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel; import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.feign.privilege.model.LoginInfoModel; import com.yeejoin.amos.feign.privilege.model.LoginInfoModel;
import com.yeejoin.amos.feign.privilege.util.DesUtil; import com.yeejoin.amos.feign.privilege.util.DesUtil;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -28,6 +36,7 @@ import org.springframework.stereotype.Service; ...@@ -28,6 +36,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.text.ParseException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -83,30 +92,69 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -83,30 +92,69 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
* 新增 * 新增
*/ */
@Transactional @Transactional
public void addPerson(PersonDto model, HttpServletRequest httpServletRequest) { public void addPerson(PersonDto model
, HttpServletRequest httpServletRequest
) throws ParseException {
//获取人员基本信息数据 //获取人员基本信息数据
PersonUser personUser = model.getPersonUser(); PersonUser personUser = model.getPersonUser();
//获取人员资质信息
PersonCertificate personCertificate = model.getPersonCertificate();
//获取人员账号信息 //获取人员账号信息
PersonAccount personAccount = model.getPersonAccount(); PersonAccount personAccount = model.getPersonAccount();
personUser.setPhone(personAccount.getPhoneNum()); personUser.setPhone(personAccount.getPhoneNum());
//人员基础信息 //人员基础信息
PersonBasic personBasic = new PersonBasic(); PersonBasic personBasic = new PersonBasic();
BeanUtils.copyProperties(personUser, personBasic); BeanUtils.copyProperties(personUser, personBasic);
//默认红码
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
// 该岗位应获得的证书
List<String> list2 = new ArrayList<>();
if (StringUtils.isNotEmpty(personUser.getPostName())) {
String certificates = QrcodePostEnum.getCode(personUser.getPostName());
list2 = Arrays.asList(certificates.split(","));
}
List<String> list = new ArrayList(list2);
//人员资质信息
Integer isInMonth = 0;
Integer isOver = 0;
CertificationInfo personCertificate = model.getPersonCertificate();
if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) {
for (PersonCertificate item : personCertificate.getCertificationInfo()) {
Date date = DateUtils.dateAddYears(item.getCertificateTime(), Integer.parseInt(item.getValidPeriod()));
if (list.contains(item.getCertificateName()) &&
DateUtils.dateCompare(date, new Date()) == -1) {
isOver = 1;
}
if (list.contains(item.getCertificateName()) &&
DateUtils.dateBetweenIncludeToday(date, new Date()) < 30 &&
DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
}
list.remove(item.getCertificateName());
}
}
if (CollectionUtils.isEmpty(list) && isInMonth == 0 && isOver == 0) {
personBasic.setQrcodeColor(QrcodeColorEnum.GREEN.getCode());
} else if (CollectionUtils.isEmpty(list) && isOver == 1) {
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
} else if (CollectionUtils.isEmpty(list) && isOver == 0 && isInMonth == 1) {
personBasic.setQrcodeColor(QrcodeColorEnum.YELLOW.getCode());
}
this.baseMapper.insert(personBasic); this.baseMapper.insert(personBasic);
personCertificate.getCertificationInfo().forEach(item -> {
item.setPersonId(personBasic.getSequenceNbr());
personCertificateService.save(item);
});
//人员技能学历信息 //人员技能学历信息
PersonSkillEducation personSkillEducation = new PersonSkillEducation(); PersonSkillEducation personSkillEducation = new PersonSkillEducation();
BeanUtils.copyProperties(personUser, personSkillEducation); BeanUtils.copyProperties(personUser, personSkillEducation);
personSkillEducation.setPersonId(personBasic.getSequenceNbr()); personSkillEducation.setPersonId(personBasic.getSequenceNbr());
personSkillEducationService.save(personSkillEducation); personSkillEducationService.save(personSkillEducation);
//人员资质信息
personCertificate.setPersonId(personBasic.getSequenceNbr());
personCertificateService.save(personCertificate);
//人员账号信息 //人员账号信息
personAccount.setPersonId(personBasic.getSequenceNbr()); personAccount.setPersonId(personBasic.getSequenceNbr());
personAccount.setPassword(DesUtil.encode(personAccount.getPassword(), secretKey)); personAccount.setPassword(DesUtil.encode(personAccount.getPassword(), secretKey));
...@@ -184,13 +232,11 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -184,13 +232,11 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
@Transactional @Transactional
public PersonDto updatePerson(PersonDto model, HttpServletRequest httpServletRequest, Long sequenceNbr) { public PersonDto updatePerson(PersonDto model, HttpServletRequest httpServletRequest, Long sequenceNbr) throws ParseException {
//获取人员基本信息数据 //获取人员基本信息数据
PersonUser personUser = model.getPersonUser(); PersonUser personUser = model.getPersonUser();
//获取人员资质信息
PersonCertificate personCertificate = model.getPersonCertificate();
//获取人员账号信息 //获取人员账号信息
PersonAccount personAccount = model.getPersonAccount(); PersonAccount personAccount = model.getPersonAccount();
PersonAccount oldpersonAccount = new PersonAccount(); PersonAccount oldpersonAccount = new PersonAccount();
...@@ -201,7 +247,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -201,7 +247,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personBasic.setSequenceNbr(sequenceNbr); personBasic.setSequenceNbr(sequenceNbr);
personAccount.setPassword(DesUtil.encode(personAccount.getPassword(), secretKey)); personAccount.setPassword(DesUtil.encode(personAccount.getPassword(), secretKey));
personAccount.setSecondaryPassword(DesUtil.encode(personAccount.getSecondaryPassword(), secretKey)); personAccount.setSecondaryPassword(DesUtil.encode(personAccount.getSecondaryPassword(), secretKey));
this.personBasicMapper.updateById(personBasic);
//人员归属信息 //人员归属信息
PersonSkillEducation personSkillEducation = new PersonSkillEducation(); PersonSkillEducation personSkillEducation = new PersonSkillEducation();
BeanUtils.copyProperties(personUser, personSkillEducation); BeanUtils.copyProperties(personUser, personSkillEducation);
...@@ -209,8 +255,55 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -209,8 +255,55 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
PersonSkillEducation personSkillEducationd = personSkillEducationService.getOne(new QueryWrapper<PersonSkillEducation>().eq("person_id", personBasic.getSequenceNbr())); PersonSkillEducation personSkillEducationd = personSkillEducationService.getOne(new QueryWrapper<PersonSkillEducation>().eq("person_id", personBasic.getSequenceNbr()));
personSkillEducation.setSequenceNbr(personSkillEducationd.getSequenceNbr()); personSkillEducation.setSequenceNbr(personSkillEducationd.getSequenceNbr());
personSkillEducationService.updateById(personSkillEducation); personSkillEducationService.updateById(personSkillEducation);
//获取人员资质信息
CertificationInfo personCertificate = model.getPersonCertificate();
LambdaUpdateWrapper<PersonCertificate> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(PersonCertificate::getPersonId, personBasic.getSequenceNbr());
personCertificateService.remove(wrapper);
//默认红码
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
// 该岗位应获得的证书
List<String> list2 = new ArrayList<>();
if (StringUtils.isNotEmpty(personUser.getPostName())) {
String certificates = QrcodePostEnum.getCode(personUser.getPostName());
list2 = Arrays.asList(certificates.split(","));
}
List<String> list = new ArrayList(list2);
//人员资质信息 //人员资质信息
personCertificateService.updateById(personCertificate); Integer isInMonth = 0;
Integer isOver = 0;
if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) {
for (PersonCertificate item : personCertificate.getCertificationInfo()) {
Date date = DateUtils.dateAddYears(item.getCertificateTime(), Integer.parseInt(item.getValidPeriod()));
if (list.contains(item.getCertificateName()) &&
DateUtils.dateCompare(date, new Date()) == -1) {
isOver = 1;
}
if (list.contains(item.getCertificateName()) &&
DateUtils.dateBetweenIncludeToday(date, new Date()) < 30 &&
DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
}
item.setPersonId(personBasic.getSequenceNbr());
personCertificateService.save(item);
list.remove(item.getCertificateName());
}
}
if (CollectionUtils.isEmpty(list) && isInMonth == 0 && isOver == 0) {
personBasic.setQrcodeColor(QrcodeColorEnum.GREEN.getCode());
} else if (CollectionUtils.isEmpty(list) && isOver == 1) {
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
} else if (CollectionUtils.isEmpty(list) && isOver == 0 && isInMonth == 1) {
personBasic.setQrcodeColor(QrcodeColorEnum.YELLOW.getCode());
}
this.personBasicMapper.updateById(personBasic);
//人员账号信息 //人员账号信息
personAccount.setPersonId(sequenceNbr); personAccount.setPersonId(sequenceNbr);
oldpersonAccount=personAccountService.getById(personAccount.getSequenceNbr()); oldpersonAccount=personAccountService.getById(personAccount.getSequenceNbr());
...@@ -293,6 +386,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -293,6 +386,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
QueryWrapper<PersonBasic> wrapper1 = new QueryWrapper(); QueryWrapper<PersonBasic> wrapper1 = new QueryWrapper();
wrapper1.eq("sequence_nbr", sequenceNbr); wrapper1.eq("sequence_nbr", sequenceNbr);
wrapper1.eq("is_delete", 0); wrapper1.eq("is_delete", 0);
//人员基础信息 //人员基础信息
PersonBasic personBasic = this.getOne(wrapper1); PersonBasic personBasic = this.getOne(wrapper1);
BeanUtils.copyProperties(personBasic, personUser); BeanUtils.copyProperties(personBasic, personUser);
...@@ -302,12 +396,12 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -302,12 +396,12 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
PersonSkillEducation personSkillEducation = personSkillEducationService.getOne(wrapper2); PersonSkillEducation personSkillEducation = personSkillEducationService.getOne(wrapper2);
BeanUtils.copyProperties(personSkillEducation, personUser); BeanUtils.copyProperties(personSkillEducation, personUser);
QueryWrapper<PersonCertificate> wrapper3 = new QueryWrapper();
wrapper3.eq("person_id", sequenceNbr);
//人员资质信息 //人员资质信息
PersonCertificate personCertificate = personCertificateService.getOne(wrapper3); LambdaQueryWrapper<PersonCertificate> personCertificateLambdaQueryWrapper = new LambdaQueryWrapper<>();
personCertificateLambdaQueryWrapper.eq(PersonCertificate::getPersonId, sequenceNbr);
List<PersonCertificate> list = personCertificateService.list(personCertificateLambdaQueryWrapper);
CertificationInfo certificationInfo = new CertificationInfo();
certificationInfo.setCertificationInfo(list);
QueryWrapper<PersonAccount> wrapper4 = new QueryWrapper(); QueryWrapper<PersonAccount> wrapper4 = new QueryWrapper();
wrapper4.eq("person_id", sequenceNbr); wrapper4.eq("person_id", sequenceNbr);
...@@ -321,7 +415,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa ...@@ -321,7 +415,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personUser.setNativePlace(JSON.parseArray(personBasic.getNativePlace(), Integer.class)); personUser.setNativePlace(JSON.parseArray(personBasic.getNativePlace(), Integer.class));
} }
personDto.setPersonUser(personUser); personDto.setPersonUser(personUser);
personDto.setPersonCertificate(personCertificate); personDto.setPersonCertificate(certificationInfo);
personDto.setPersonAccount(personAccount); personDto.setPersonAccount(personAccount);
return personDto; return personDto;
} }
......
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodeColorEnum;
import com.yeejoin.amos.boot.module.jxiop.api.Enum.QrcodePostEnum;
import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonBasic;
import com.yeejoin.amos.boot.module.jxiop.api.entity.PersonCertificate;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonBasicMapper;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.PersonCertificateMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Component
public class PersonYardTimeTask {
@Autowired
PersonBasicMapper personBasicMapper;
@Autowired
PersonBasicServiceImpl personBasicService;
//人员资质信息service
@Autowired
PersonCertificateMapper personCertificateMapper;
@Scheduled(cron = "0 0 0 1/1 * ? ")
public void timeYardTimeTask() {
List<PersonBasic> personBasicList = personBasicMapper.selectList(null);
List<PersonCertificate> personCertificates = personCertificateMapper.selectList(null);
Map<Long, List<PersonCertificate>> perCertificateMap = personCertificates.stream().filter(item -> ObjectUtils.isNotEmpty(item.getPersonId())).collect(Collectors.groupingBy(PersonCertificate::getPersonId));
List<PersonBasic> personBasics = new ArrayList<>();
personBasicList.forEach(personBasic -> {
List<PersonCertificate> personCertificateList = perCertificateMap.get(personBasic.getSequenceNbr());
//默认红码
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
// 该岗位应获得的证书
List<String> list2 = new ArrayList<>();
if (StringUtils.isNotEmpty(personBasic.getPostName())) {
String certificates = QrcodePostEnum.getCode(personBasic.getPostName());
list2 = Arrays.asList(certificates.split(","));
}
List<String> list = new ArrayList(list2);
//人员资质信息
Integer isInMonth = 0;
Integer isOver = 0;
if (CollectionUtils.isNotEmpty(personCertificateList)) {
for (PersonCertificate item : personCertificateList) {
Date date = DateUtils.dateAddYears(item.getCertificateTime(), Integer.parseInt(item.getValidPeriod()));
if (list.contains(item.getCertificateName()) &&
DateUtils.dateCompare(date, new Date()) == -1) {
isOver = 1;
}
try {
if (list.contains(item.getCertificateName()) &&
DateUtils.dateBetweenIncludeToday(date, new Date()) < 30 &&
DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
}
} catch (ParseException e) {
e.printStackTrace();
}
list.remove(item.getCertificateName());
}
}
if (CollectionUtils.isEmpty(list) && isInMonth == 0 && isOver == 0) {
personBasic.setQrcodeColor(QrcodeColorEnum.GREEN.getCode());
} else if (CollectionUtils.isEmpty(list) && isOver == 1) {
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
} else if (CollectionUtils.isEmpty(list) && isOver == 0 && isInMonth == 1) {
personBasic.setQrcodeColor(QrcodeColorEnum.YELLOW.getCode());
}
personBasics.add(personBasic);
});
personBasicService.updateBatchById(personBasics);
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @description:
* @author: tw
* @createDate: 2023/8/14
*/
@Data
public class SeriesData {
private List<Map<String,Object>> seriesData;
private List<String> axisData;
}
...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.jxiop.api.entity.StationPlan; import com.yeejoin.amos.boot.module.jxiop.api.entity.StationPlan;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationPlanMapper; import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationPlanMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments; import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.SeriesData;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.TimeDate; import com.yeejoin.amos.boot.module.jxiop.biz.dto.TimeDate;
import com.yeejoin.amos.boot.module.jxiop.biz.utils.DateUtil;
import org.elasticsearch.search.aggregations.Aggregation; import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.Aggregations; import org.elasticsearch.search.aggregations.Aggregations;
import org.elasticsearch.search.aggregations.bucket.terms.Terms; import org.elasticsearch.search.aggregations.bucket.terms.Terms;
...@@ -14,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -14,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
...@@ -42,14 +45,14 @@ public class LargeScreenImpl { ...@@ -42,14 +45,14 @@ public class LargeScreenImpl {
*/ */
public Map<String, Double> getqg() { public Map<String, Double> getqg() {
Map<String, Double> mapdta = new HashMap<>(); Map<String, Double> mapdta = new HashMap<>();
mapdta.put("SS", 0.0); mapdta.put("SS", 0d);
mapdta.put("ZFS", 0.0); mapdta.put("ZFS", 0d);
mapdta.put("ZFSLJ", 0.0); mapdta.put("ZFSLJ", 0d);
mapdta.put("RSD", 0.0); mapdta.put("RSD", 0d);
mapdta.put("YFD", 0.0); mapdta.put("YFD", 0d);
mapdta.put("NFD", 0.0); mapdta.put("NFD", 0d);
mapdta.put("YJHWC", 0.0); mapdta.put("YJHWC", 0d);
mapdta.put("NJHWC", 0.0); mapdta.put("NJHWC", 0d);
//平均数 //平均数
List<String> value = new ArrayList<>(); List<String> value = new ArrayList<>();
value.add(SS); value.add(SS);
...@@ -139,17 +142,16 @@ public class LargeScreenImpl { ...@@ -139,17 +142,16 @@ public class LargeScreenImpl {
/** /**
* 区域 * 区域
**/ **/
public Map<String, Double> getqy(List<String> gatewayId) { public Map<String, Double> getqy(List<String> gatewayId) {
Map<String, Double> mapdta = new HashMap<>(); Map<String, Double> mapdta = new HashMap<>();
mapdta.put("SS", 0.0); mapdta.put("SS", 0d);
mapdta.put("ZFS", 0.0); mapdta.put("ZFS", 0d);
mapdta.put("ZFSLJ", 0.0); mapdta.put("ZFSLJ", 0d);
mapdta.put("RSD", 0.0); mapdta.put("RSD", 0d);
mapdta.put("YFD", 0.0); mapdta.put("YFD", 0d);
mapdta.put("NFD", 0.0); mapdta.put("NFD", 0d);
mapdta.put("YJHWC", 0.0); mapdta.put("YJHWC", 0d);
mapdta.put("NJHWC", 0.0); mapdta.put("NJHWC", 0d);
//平均数 //平均数
List<String> value = new ArrayList<>(); List<String> value = new ArrayList<>();
value.add(SS); value.add(SS);
...@@ -236,20 +238,203 @@ public class LargeScreenImpl { ...@@ -236,20 +238,203 @@ public class LargeScreenImpl {
} }
//获取月日发电量
public List<TimeDate> gettimedate(){
//全国发电趋势
public SeriesData getSeriesDataqg(){
//获取今年当月 日发电趋势
List<Double> listjn= gettimedate( new Date());
//获取去年当月 日发电趋势
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -1);
Date oneYearAgoToday = calendar.getTime();
List<Double> listqn= gettimedate( oneYearAgoToday);
Map<String,Object> mapjn=new HashMap<>();
mapjn.put("data",listjn);
mapjn.put("name","当前值");
Map<String,Object> mapqn=new HashMap<>();
mapjn.put("data",listqn);
mapjn.put("name","同期值");
List<Map<String,Object>> list=new ArrayList<>();
list.add(mapjn);
list.add(mapqn);
SeriesData seriesData=new SeriesData();
seriesData.setSeriesData(list);
//获取日期
List<String> listdate= dayReportnq(new Date());
seriesData.setAxisData(listdate);
return seriesData;
}
//区域发电趋势
public SeriesData getSeriesDataqy( Date date,List<String> gatewayId){
//获取今年当月 日发电趋势
List<Double> listjn= gettimedateqy( new Date(),gatewayId);
//获取去年当月 日发电趋势
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -1);
Date oneYearAgoToday = calendar.getTime();
List<Double> listqn= gettimedateqy( oneYearAgoToday,gatewayId);
Map<String,Object> mapjn=new HashMap<>();
mapjn.put("data",listjn);
mapjn.put("name","当前值");
Map<String,Object> mapqn=new HashMap<>();
mapjn.put("data",listqn);
mapjn.put("name","同期值");
List<Map<String,Object>> list=new ArrayList<>();
list.add(mapjn);
list.add(mapqn);
SeriesData seriesData=new SeriesData();
seriesData.setSeriesData(list);
//获取日期
List<String> listdate= dayReportnq(new Date());
seriesData.setAxisData(listdate);
return seriesData;
}
//获取全国月日发电量
public List<Double> gettimedate( Date date){
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyyMM");
String monthy= myFmt2.format(date);
List<Double> listdate= new ArrayList<>();
List<String> value=new ArrayList<>();
value.add(RSD);
Map<String,List<String>> map=new HashMap<>();
map.put("equipmentIndexName.keyword",value);
List<String> value1=new ArrayList<>();
value1.add(monthy);
map.put("moon.keyword",value1);
List<? extends Terms.Bucket> lidate= commonServiceImpl.getgroupsum(map,"value" ,"day.keyword",ESEquipments.class);
Map<String,Double> mapdta=new HashMap<>();
DecimalFormat format2 = new DecimalFormat("#.0000");
for (Terms.Bucket bucket : lidate) {
Aggregations aggregation= bucket.getAggregations();
List<Aggregation> listdata= Objects.nonNull(aggregation)?aggregation.asList():null;
for (Aggregation agg : listdata) {
ParsedSum parsedSum =(ParsedSum)agg;
mapdta.put(bucket.getKeyAsString(), Double.valueOf(format2.format(parsedSum.getValue())));
}
}
//组装数据
List<String> list= dayReport(date);
for (String s : list) {
if(mapdta!=null&&mapdta.containsKey(s)){
listdate.add(mapdta.get(s));
}else{
listdate.add(0d);
}
}
return listdate;
return null;
} }
//获取区域月日发电量
public List<Double> gettimedateqy( Date date,List<String> gatewayId){
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyyMM");
String monthy= myFmt2.format(date);
List<Double> listdate= new ArrayList<>();
List<String> value=new ArrayList<>();
value.add(RSD);
Map<String,List<String>> map=new HashMap<>();
map.put("equipmentIndexName.keyword",value);
map.put("gatewayId.keyword", gatewayId);
List<String> value1=new ArrayList<>();
value1.add(monthy);
map.put("moon.keyword",value1);
List<? extends Terms.Bucket> lidate= commonServiceImpl.getgroupsum(map,"value" ,"day.keyword",ESEquipments.class);
Map<String,Double> mapdta=new HashMap<>();
DecimalFormat format2 = new DecimalFormat("#.0000");
for (Terms.Bucket bucket : lidate) {
Aggregations aggregation= bucket.getAggregations();
List<Aggregation> listdata= Objects.nonNull(aggregation)?aggregation.asList():null;
for (Aggregation agg : listdata) {
ParsedSum parsedSum =(ParsedSum)agg;
mapdta.put(bucket.getKeyAsString(), Double.valueOf(format2.format(parsedSum.getValue())));
}
}
//组装数据
List<String> list= dayReport(date);
for (String s : list) {
if(mapdta!=null&&mapdta.containsKey(s)){
listdate.add(mapdta.get(s));
}else{
listdate.add(0d);
}
}
return listdate;
}
public List<String> dayReport(Date month) {
List<String> list=new ArrayList<>();
Calendar cal = Calendar.getInstance();
cal.setTime(month);//month 为指定月份任意日期
int year = cal.get(Calendar.YEAR);
int m = cal.get(Calendar.MONTH);
int dayNumOfMonth = DateUtil.getDaysByYearMonth(year, m);
cal.set(Calendar.DAY_OF_MONTH, 1);// 从一号开始
for (int i = 0; i < dayNumOfMonth; i++ ) {
list.add(String.valueOf(i+1));
}
return list;
}
public List<String> dayReportnq (Date month) {
List<String> list=new ArrayList<>();
Calendar cal = Calendar.getInstance();
cal.setTime(month);//month 为指定月份任意日期
int year = cal.get(Calendar.YEAR);
int m = cal.get(Calendar.MONTH);
int dayNumOfMonth = DateUtil.getDaysByYearMonth(year, m);
cal.set(Calendar.DAY_OF_MONTH, 1);// 从一号开始
for (int i = 0; i < dayNumOfMonth; i++ ) {
list.add(m+"-"+String.valueOf(i+1));
}
return list;
}
} }
\ No newline at end of file
...@@ -83,13 +83,23 @@ public class PowerGenerationImpl { ...@@ -83,13 +83,23 @@ public class PowerGenerationImpl {
int day = calendar.get(Calendar.DATE); int day = calendar.get(Calendar.DATE);
int month = calendar.get(Calendar.MONTH) + 1; int month = calendar.get(Calendar.MONTH) + 1;
int year = calendar.get(Calendar.YEAR); int year = calendar.get(Calendar.YEAR);
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyyMM");
Date now=new Date();
String monthy= myFmt2.format(now);
SimpleDateFormat myFmty=new SimpleDateFormat("yyyy");
Date nowy=new Date();
String yeary= myFmty.format(nowy);
switch (type) { switch (type) {
case "day": case "day":
List<ESDailyPowerGeneration> listd= this.getESDailyPowerGeneration(stationCacheInfoDto,indexDto,daty,String.valueOf(day),String.valueOf(month)); List<ESDailyPowerGeneration> listd= this.getESDailyPowerGeneration(stationCacheInfoDto,indexDto,daty,String.valueOf(day),monthy);
dailyPowerGenerationRepository.saveAll(listd); dailyPowerGenerationRepository.saveAll(listd);
break; break;
case "moon": case "moon":
List<ESMoonPowerGeneration> listm= this.getESMoonPowerGeneration(stationCacheInfoDto,indexDto,daty,String.valueOf(month),String.valueOf(year)); List<ESMoonPowerGeneration> listm= this.getESMoonPowerGeneration(stationCacheInfoDto,indexDto,daty,String.valueOf(month),yeary);
moonPowerGenerationRepository.saveAll(listm); moonPowerGenerationRepository.saveAll(listm);
break; break;
case "year": case "year":
......
package com.yeejoin.amos.boot.module.jxiop.biz.utils; package com.yeejoin.amos.boot.module.jxiop.biz.utils;
import io.micrometer.core.instrument.util.TimeUtils;
import java.sql.Time; import java.sql.Time;
import java.text.ParseException; import java.text.ParseException;
import java.text.ParsePosition; import java.text.ParsePosition;
...@@ -420,4 +422,19 @@ public static String cronTime(Date date){ ...@@ -420,4 +422,19 @@ public static String cronTime(Date date){
} }
public static int getDaysByYearMonth(int year, int month) {
Calendar a = Calendar.getInstance();
a.set(Calendar.YEAR, year);
a.set(Calendar.MONTH, month - 1);
a.set(Calendar.DATE, 1);
a.roll(Calendar.DATE, -1);
int maxDate = a.get(Calendar.DATE);
return maxDate;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment