Commit 827c2930 authored by wujiang's avatar wujiang

电站管理添加筛选

parent 6779394b
......@@ -33,6 +33,9 @@ public class PowerStationDto extends BaseDto {
@ApiModelProperty(value = "服务代理商")
private String serviceAgent;
@ApiModelProperty(value = "区域公司")
private String regionalCompaniesName;
@ApiModelProperty(value = "电站类型")
private String powerStationType;
......
......@@ -19,5 +19,6 @@ public interface PowerStationMapper extends BaseMapper<PowerStation> {
@UserEmpower(field ={"regional_companies_code"} ,dealerField={"a.developer_code","a.regional_companies_code","a.developer_user_id"} ,fieldConditions ={"in","in","in"}, relationship="and")
List<PowerStationDto> queryPage(@Param("powerStationCode") String powerStationCode,
@Param("ownersName")String ownersName,
@Param("serviceAgent")String serviceAgent);
@Param("serviceAgent")String serviceAgent,
@Param("regionalCompaniesName")String regionalCompaniesName);
}
......@@ -100,12 +100,14 @@ public class PowerStationController extends BaseController {
public ResponseModel<Page<PowerStationDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "powerStationCode",required = false)String powerStationCode,
@RequestParam(value = "ownersName",required = false)String ownersName) {
@RequestParam(value = "ownersName",required = false)String ownersName,
@RequestParam(value = "serviceAgent",required = false)String serviceAgent,
@RequestParam(value = "regionalCompaniesName",required = false)String regionalCompaniesName) {
Page<PowerStationDto> page = new Page<PowerStationDto>();
page.setCurrent(current);
page.setSize(size);
AgencyUserModel userInfo = getUserInfo();
return ResponseHelper.buildResponse(powerStationServiceImpl.queryForPowerStationUserRoles(page,powerStationCode,ownersName,userInfo));
return ResponseHelper.buildResponse(powerStationServiceImpl.queryForPowerStationUserRoles(page,powerStationCode,ownersName,userInfo,serviceAgent,regionalCompaniesName));
}
/**
......
......@@ -25,6 +25,7 @@ import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
......@@ -45,7 +46,8 @@ import java.util.stream.Collectors;
*/
@Service
@Slf4j
public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerStation, PowerStationMapper> implements IPowerStationService {
public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerStation, PowerStationMapper>
implements IPowerStationService {
@Autowired
IdxFeginService idxFeginService;
......@@ -59,9 +61,9 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
@Autowired
PeasantHouseholdServiceImpl peasantHouseholdService;
private static final String IDX_REQUEST_STATE="200";
private static final String VERIFY_RESULT_YES="0";
private static final String VERIFY_RESULT_NO="1";
private static final String IDX_REQUEST_STATE = "200";
private static final String VERIFY_RESULT_YES = "0";
private static final String VERIFY_RESULT_NO = "1";
@Autowired
WorkflowFeignClient workflowFeignClient;
......@@ -84,8 +86,8 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
@Autowired
WorkflowImpl workflow;
public Page<PowerStationDto> queryForPowerStationUserRoles(Page<PowerStationDto> page, String powerStationCode, String ownersName, AgencyUserModel userInfo){
String serviceAgent =null;
public Page<PowerStationDto> queryForPowerStationUserRoles(Page<PowerStationDto> page, String powerStationCode,
String ownersName, AgencyUserModel userInfo, String serviceAgent, String regionalCompaniesName) {
// Map<Long, List<RoleModel>> orgRoles = userInfo.getOrgRoles();
// Collection<List<RoleModel>> roleModels = orgRoles.values();
// if(roleModels !=null){
......@@ -100,25 +102,25 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
// }
// }
//获取用户所在经销商单位
// 获取用户所在经销商单位
// UserUnitInformationDto userUnitInformationDto=personnelBusinessMapper.getUserUnitInformationDto(userInfo.getUserId());
//
// if(userUnitInformationDto!=null&&userUnitInformationDto.getAmosDealerName()!=null){
// serviceAgent=userUnitInformationDto.getAmosDealerName();
// }
//return this.queryForPowerStationPage(page,powerStationCode,ownersName,serviceAgent);
return this.queryPage((int) page.getCurrent(), (int) page.getSize(),powerStationCode,ownersName,serviceAgent);
// return
// this.queryForPowerStationPage(page,powerStationCode,ownersName,serviceAgent);
return this.queryPage((int) page.getCurrent(), (int) page.getSize(), powerStationCode, ownersName,
serviceAgent,regionalCompaniesName);
}
//查询电站审核记录
public Page<PowerStationDto> queryPage(int current, int size,
String powerStationCode,
String ownersName,String serviceAgent) {
// 查询电站审核记录
public Page<PowerStationDto> queryPage(int current, int size, String powerStationCode, String ownersName,
String serviceAgent,String regionalCompaniesName) {
PageHelper.startPage(current, size);
List<PowerStationDto> list= powerStationMapper.queryPage(powerStationCode,ownersName,serviceAgent);
List<PowerStationDto> list = powerStationMapper.queryPage(powerStationCode, ownersName, serviceAgent,regionalCompaniesName);
PageInfo<PowerStationDto> pages = new PageInfo(list);
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PowerStationDto> pagenew = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<PowerStationDto>();
......@@ -130,28 +132,27 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
return pagenew;
}
/**
* 分页查询
*/
public Page<PowerStationDto> queryForPowerStationPage(Page<PowerStationDto> page,@Condition(Operator.like) String powerStationCode,@Condition(Operator.like) String ownersName,String serviceAgent) {
return this.queryForPage(page, "rec_date", false,powerStationCode,ownersName,serviceAgent);
public Page<PowerStationDto> queryForPowerStationPage(Page<PowerStationDto> page,
@Condition(Operator.like) String powerStationCode, @Condition(Operator.like) String ownersName,
String serviceAgent) {
return this.queryForPage(page, "rec_date", false, powerStationCode, ownersName, serviceAgent);
}
/**
* 列表查询 示例
*/
public List<PowerStationDto> queryForPowerStationList() {
return this.queryForList("" , false);
return this.queryForList("", false);
}
@Override
@Transactional
public boolean savePowerStation(PowerStation powerStation, boolean flag,String name,String meg) {
try{
//流程节点code
public boolean savePowerStation(PowerStation powerStation, boolean flag, String name, String meg) {
try {
// 流程节点code
// if (flag) {
// String flowTaskIdnext = this.getTaskNoAuth(powerStation.getProcessInstanceId());
// WorkDto workDto=this.getNodeInfoCode(flowTaskIdnext);
......@@ -162,50 +163,60 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
powerStation.setRecDate(new Date());
Boolean fl= this.saveOrUpdate(powerStation);
PowerStationNodeEnum powerStationNodeEnum= PowerStationNodeEnum.getNodeByCode(powerStation.getNextProcessNode());
if (flag){
ToDoTasks toDoTasks=null;
if(PowerStationNodeEnum.经销商上传图纸.getCode().equals(powerStationNodeEnum.getCode())||PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())){
//获取经销商orgcode
PeasantHousehold peasantHouseholdd= peasantHouseholdService.getById(powerStation.getPeasantHouseholdId());
toDoTasks= new ToDoTasks ( TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(), "用户"+name+"电站勘察待"+powerStationNodeEnum.getName(),peasantHouseholdd.getDeveloperCode());
if(PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())){
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHouseholdd.getDeveloperUserId(),toDoTasks,meg);
}else{
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(),toDoTasks,meg);
Boolean fl = this.saveOrUpdate(powerStation);
PowerStationNodeEnum powerStationNodeEnum = PowerStationNodeEnum
.getNodeByCode(powerStation.getNextProcessNode());
if (flag) {
ToDoTasks toDoTasks = null;
if (PowerStationNodeEnum.经销商上传图纸.getCode().equals(powerStationNodeEnum.getCode())
|| PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())) {
// 获取经销商orgcode
PeasantHousehold peasantHouseholdd = peasantHouseholdService
.getById(powerStation.getPeasantHouseholdId());
toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(),
"用户" + name + "电站勘察待" + powerStationNodeEnum.getName(),
peasantHouseholdd.getDeveloperCode());
if (PowerStationNodeEnum.经销商审核.getCode().equals(powerStationNodeEnum.getCode())) {
toDoTasksServiceImpl.addToDoTasksByUserId(peasantHouseholdd.getDeveloperUserId(), toDoTasks,
meg);
} else {
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(), toDoTasks, meg);
}
}else{
toDoTasks= new ToDoTasks ( TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(), "用户"+name+"电站勘察待"+powerStationNodeEnum.getName(),null);
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(),toDoTasks,meg);
} else {
toDoTasks = new ToDoTasks(TaskTypeStationEnum.电站审核.getCode(), powerStation.getSequenceNbr(),
"用户" + name + "电站勘察待" + powerStationNodeEnum.getName(), null);
toDoTasksServiceImpl.addToDoTasksByRole(powerStation.getNodeRole(), toDoTasks, meg);
}
}else{
} else {
LambdaQueryWrapper<ToDoTasks> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ToDoTasks::getType, TaskTypeStationEnum.电站审核.getCode());
wrapper.eq(ToDoTasks::getState, "待办");
wrapper.eq(ToDoTasks::getBusinessId, powerStation.getSequenceNbr());
ToDoTasks doTasks= toDoTasksMapper.selectOne(wrapper);
if(doTasks!=null){
ToDoTasks doTasks = toDoTasksMapper.selectOne(wrapper);
if (doTasks != null) {
doTasks.setState("已办");
doTasks.setCompleteTime(new Date());
toDoTasksMapper.updateById(doTasks);
emqKeeper.getMqttClient().publish("TASK_MESSAGE" ,JSON.toJSONString(doTasks).getBytes(), 2 ,false);
emqKeeper.getMqttClient().publish("TASK_MESSAGE", JSON.toJSONString(doTasks).getBytes(), 2, false);
UserMessage userMessage= new UserMessage( doTasks.getType(), doTasks.getBusinessId(), doTasks.getAmosUserId(), new Date(), doTasks.getTaskName()+"已完成."+meg, doTasks.getAmosOrgCode());
UserMessage userMessage = new UserMessage(doTasks.getType(), doTasks.getBusinessId(),
doTasks.getAmosUserId(), new Date(), doTasks.getTaskName() + "已完成." + meg,
doTasks.getAmosOrgCode());
userMessageMapper.insert(userMessage);
emqKeeper.getMqttClient().publish("MY_MESSAGE" , JSON.toJSONString(userMessage).getBytes(), 2 ,false);
emqKeeper.getMqttClient().publish("MY_MESSAGE", JSON.toJSONString(userMessage).getBytes(), 2,
false);
}
}
return fl;
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
......@@ -219,18 +230,20 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
@Override
@Transactional
public String powerStationExamine(long pageId, String nodeCode, String stationId, String taskId, String planInstanceId, Map<String, Object> kv) {
String meg="";
public String powerStationExamine(long pageId, String nodeCode, String stationId, String taskId,
String planInstanceId, Map<String, Object> kv) {
String meg = "";
// 1. 业务相关数据落表
PowerStation powerStation = this.baseMapper.selectById(stationId);
PowerStationNodeEnum nodeByCode = PowerStationNodeEnum.getNodeByCode(nodeCode);
String result = String.valueOf(kv.get("approvalStatus"));
boolean flag = true;
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)||PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)
|| PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
powerStation.setProcessStatus(PowerStationProcessStateEnum.进行中.getName());
this.updateSeve(nodeCode,powerStation.getPeasantHouseholdId(),kv);
this.updateSeve(nodeCode, powerStation.getPeasantHouseholdId(), kv);
} else {
if (VERIFY_RESULT_NO.equals(result)) {
......@@ -266,12 +279,13 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
break;
}
}
meg="任务明细:"+nodeByCode+(VERIFY_RESULT_YES.equals(result)?"通过":"不通过");
meg = "任务明细:" + nodeByCode + (VERIFY_RESULT_YES.equals(result) ? "通过" : "不通过");
// 2. 更新流程状态
String code = null;
try{
try {
// 3. 工作流执行
// FeignClientResult<String> submit = idxFeginService.submit(pageId, taskId, planInstanceId, null, null, null, kv);
// FeignClientResult<String> submit = idxFeginService.submit(pageId, taskId,
// planInstanceId, null, null, null, kv);
// if (IDX_REQUEST_STATE.equals(String.valueOf(submit.getStatus()))) {
// code = submit.getResult();
// log.info("流程执行成功:{}", code);
......@@ -283,64 +297,63 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
//
// }
//执行工作流
BasicGridAcceptance basicGridAcceptance=new BasicGridAcceptance();
// 执行工作流
BasicGridAcceptance basicGridAcceptance = new BasicGridAcceptance();
StandardDto standardDto = new StandardDto();
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)||PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
if (PowerStationNodeEnum.设计上传图纸.getCode().equals(nodeCode)
|| PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
standardDto.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
standardDto.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
standardDto.setResult("0");
standardDto.setTaskId(powerStation.getFlowTaskId());
VariableDto variable = new VariableDto();
variable.setApprovalStatus("0");
variable.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
variable.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
variable.setOperationTime(String.valueOf(kv.get("approveDate")));
variable.setOperator("");
standardDto.setVariable(variable);
}else{
standardDto.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
} else {
standardDto.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
standardDto.setResult(String.valueOf(kv.get("approvalStatus")));
standardDto.setTaskId(powerStation.getFlowTaskId());
VariableDto variable = new VariableDto();
variable.setApprovalStatus(String.valueOf(kv.get("approvalStatus")));
variable.setComment(kv.get("approvalInfo")!=null?String.valueOf(kv.get("approvalInfo")):"");
variable.setComment(kv.get("approvalInfo") != null ? String.valueOf(kv.get("approvalInfo")) : "");
variable.setOperationTime(String.valueOf(kv.get("approveDate")));
variable.setOperator(String.valueOf(kv.get("approveName")));
standardDto.setVariable(variable);
}
BasicGridAcceptance workBasicGridAcceptance = workflow.standard(basicGridAcceptance, standardDto, requestContext.getUserId());
BasicGridAcceptance workBasicGridAcceptance = workflow.standard(basicGridAcceptance, standardDto,
requestContext.getUserId());
powerStation.setFlowTaskId(basicGridAcceptance.getNextTaskId());
powerStation.setNodeRole(basicGridAcceptance.getNextExecutorIds());
powerStation.setNodeRouting(basicGridAcceptance.getNextNodeKey()!=null?PowerStationEnum.getNodeByKey(basicGridAcceptance.getNextNodeKey()):"");
powerStation.setNodeRouting(basicGridAcceptance.getNextNodeKey() != null
? PowerStationEnum.getNodeByKey(basicGridAcceptance.getNextNodeKey())
: "");
powerStation.setNextProcessNode(basicGridAcceptance.getNextNodeKey());
powerStation.setPromoter(basicGridAcceptance.getPromoter());
powerStation.setNextExecuteUserIds(basicGridAcceptance.getNextExecuteUserIds());
powerStation.setNextNodeName(basicGridAcceptance.getNextNodeName());
powerStationService.savePowerStation(powerStation, flag,powerStation.getOwnersName(),meg);
if(!flag){
//更新农户状态
powerStationService.savePowerStation(powerStation, flag, powerStation.getOwnersName(), meg);
if (!flag) {
// 更新农户状态
String peasantHouseholdId = powerStation.getPeasantHouseholdId();
PeasantHousehold peasantHousehold = peasantHouseholdService.getBaseMapper().selectById(Long.valueOf(peasantHouseholdId));
PeasantHousehold peasantHousehold = peasantHouseholdService.getBaseMapper()
.selectById(Long.valueOf(peasantHouseholdId));
peasantHousehold.setSurveyOrNot(3);
peasantHousehold.setConstructionState(ArrivalStateeEnum.勘察完成.getCode());
peasantHouseholdService.saveOrUpdate(peasantHousehold);
}
//}
}catch (Exception e){
// }
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
return code;
// String meg="";
// // 1. 业务相关数据落表
// PowerStation powerStation = this.baseMapper.selectById(stationId);
......@@ -419,68 +432,67 @@ public class PowerStationServiceImpl extends BaseService<PowerStationDto, PowerS
// return code;
}
public WorkDto getNodeInfoCode(String flowTaskId){
WorkDto workDto=null;
try{
FeignClientResult<JSONObject> jSONObject= workflowFeignClient.getNodeInfo(flowTaskId);
if(IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.getStatus()))){
JSONObject js=jSONObject.getResult();
if(js==null){
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
public WorkDto getNodeInfoCode(String flowTaskId) {
WorkDto workDto = null;
try {
FeignClientResult<JSONObject> jSONObject = workflowFeignClient.getNodeInfo(flowTaskId);
if (IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.getStatus()))) {
JSONObject js = jSONObject.getResult();
if (js == null) {
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
LinkedHashMap taskInfo= js.get("taskInfo")!=null?(LinkedHashMap)js.get("taskInfo"):null;
String nextProcessNode=taskInfo!=null?taskInfo.get("taskDefinitionKey").toString():null;
List<LinkedHashMap> executor= js.get("executor")!=null?( List<LinkedHashMap>)js.get("executor"):null;
String nodeRole=null;
if(!executor.isEmpty()){
List<String> idList = executor.stream().map(e->e.get("groupId").toString()).collect(Collectors.toList());
nodeRole=StringUtils.join(idList,",");
LinkedHashMap taskInfo = js.get("taskInfo") != null ? (LinkedHashMap) js.get("taskInfo") : null;
String nextProcessNode = taskInfo != null ? taskInfo.get("taskDefinitionKey").toString() : null;
List<LinkedHashMap> executor = js.get("executor") != null ? (List<LinkedHashMap>) js.get("executor")
: null;
String nodeRole = null;
if (!executor.isEmpty()) {
List<String> idList = executor.stream().map(e -> e.get("groupId").toString())
.collect(Collectors.toList());
nodeRole = StringUtils.join(idList, ",");
}
LinkedHashMap extensionInfo= js.get("extensionInfo")!=null?(LinkedHashMap)js.get("extensionInfo"):null;
String nodeRouting=extensionInfo!=null?extensionInfo.get("nodeRole").toString():null;
workDto=new WorkDto(nodeRouting, nodeRole, nextProcessNode);
LinkedHashMap extensionInfo = js.get("extensionInfo") != null ? (LinkedHashMap) js.get("extensionInfo")
: null;
String nodeRouting = extensionInfo != null ? extensionInfo.get("nodeRole").toString() : null;
workDto = new WorkDto(nodeRouting, nodeRole, nextProcessNode);
}
return workDto;
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
}
public String getTaskNoAuth(String processInstanceId){
String flowTaskId=null;
try{
JSONObject jSONObject= workflowFeignClient.getTaskNoAuth(processInstanceId);
if(IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.get("code")))){
LinkedHashMap jsd= jSONObject.get("data")!=null?(LinkedHashMap)jSONObject.get("data"):null;
flowTaskId=jsd!=null?jsd.get("id").toString():null;
public String getTaskNoAuth(String processInstanceId) {
String flowTaskId = null;
try {
JSONObject jSONObject = workflowFeignClient.getTaskNoAuth(processInstanceId);
if (IDX_REQUEST_STATE.equals(String.valueOf(jSONObject.get("code")))) {
LinkedHashMap jsd = jSONObject.get("data") != null ? (LinkedHashMap) jSONObject.get("data") : null;
flowTaskId = jsd != null ? jsd.get("id").toString() : null;
}
if(flowTaskId==null){
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
if (flowTaskId == null) {
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
return flowTaskId;
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
throw new BaseException("获取工作流节点失败!","400","获取工作流节点失败!");
throw new BaseException("获取工作流节点失败!", "400", "获取工作流节点失败!");
}
}
// 设计信息填充
public void updateSeve(String nodeCode,String peasantHouseholdId, Map<String, Object> kv ){
public void updateSeve(String nodeCode, String peasantHouseholdId, Map<String, Object> kv) {
LambdaQueryWrapper<DesignInformation> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DesignInformation::getPeasantHouseholdId, peasantHouseholdId);
DesignInformation designInformation=designInformationMapper.selectOne(wrapper);
if(designInformation!=null){
DesignInformation designInformationnew=this.mapToBean(kv,DesignInformation.class);
DesignInformation designInformation = designInformationMapper.selectOne(wrapper);
if (designInformation != null) {
DesignInformation designInformationnew = this.mapToBean(kv, DesignInformation.class);
if (PowerStationNodeEnum.经销商上传图纸.getCode().equals(nodeCode)) {
designInformation.setPeasantHouseholdId(peasantHouseholdId);
......@@ -489,7 +501,7 @@ public void updateSeve(String nodeCode,String peasantHouseholdId, Map<String, Ob
designInformation.setConnectionLine(designInformationnew.getConnectionLine());
designInformation.setOnceLine(designInformationnew.getOnceLine());
designInformationMapper.updateById(designInformation);
}else{
} else {
// designInformationnew.setTypicalDiagram(designInformationnew.getTypicalDiagram());
designInformationnew.setPeasantHouseholdId(peasantHouseholdId);
designInformationnew.setComponentLayout(designInformation.getComponentLayout());
......@@ -504,32 +516,30 @@ public void updateSeve(String nodeCode,String peasantHouseholdId, Map<String, Ob
designInformationnew.setCable(designInformation.getCable());
designInformationMapper.updateById(designInformationnew);
}
}else{
DesignInformation designInformationnew=this.mapToBean(kv,DesignInformation.class);
designInformationnew.setTypicalDiagram((List<Object>)kv.get("typicalDiagram")) ;
} else {
DesignInformation designInformationnew = this.mapToBean(kv, DesignInformation.class);
designInformationnew.setTypicalDiagram((List<Object>) kv.get("typicalDiagram"));
designInformationnew.setPeasantHouseholdId(peasantHouseholdId);
designInformationMapper.insert(designInformationnew);
}
}
}
public <T> T mapToBean(Map<String, Object> map, Class<T> clazz) {
ObjectMapper objectMapper= new ObjectMapper();
ObjectMapper objectMapper = new ObjectMapper();
T bean =null;
T bean = null;
try {
bean = clazz.newInstance();
bean = objectMapper.convertValue(map,clazz);
bean = objectMapper.convertValue(map, clazz);
}catch (Exception e){
throw new BaseException(" 数据转化异常!","400","数据转化异常!");
} catch (Exception e) {
throw new BaseException(" 数据转化异常!", "400", "数据转化异常!");
}
return bean;
}
// private CollectionToList(Collection<? extends E> c){
// Object[] objects = c.toArray();
// }
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jxiop.biz.Enum.SmartAnalyseEnum;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallDataDTO;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.FullViewRecallInfoDTO;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.IdxBizFanHealthLevel;
......@@ -52,6 +53,44 @@ public class KafkaAnalyseController {
IdxBizFanHealthIndexMapper idxBizFanHealthIndexMapper;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "获取执行结果", notes = "获取执行结果")
@GetMapping(value = "/isRun")
public ResponseModel<String> isRun(@RequestParam(required = true) String key) {
String result = "非法key值";
if (kafkaTopicConsumer.equals(key) || kafkaTopicConsumerPv.equals(key) || kafkaTopicConsumerGKHFFan.equals(key)
|| kafkaTopicConsumerGKHFPv.equals(key) || kafkaTopicConsumerZXZFan.equals(key)
|| kafkaTopicConsumerZXZPv.equals(key)) {
if (redisUtils.hasKey(key)) {
result = "正在计算中";
} else {
result = "未计算";
}
}
return ResponseHelper.buildResponse(result);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "获取执行结果", notes = "获取执行结果")
@GetMapping(value = "/start")
public ResponseModel<Object> start(@RequestParam(required = true) String key) {
String result = "非法key值";
if (kafkaTopicConsumer.equals(key)) {
return getFanConditionVariables();
} else if (kafkaTopicConsumerPv.equals(key)) {
return getPvConditionVariables();
} else if (kafkaTopicConsumerGKHFFan.equals(key)) {
return getFanConditionVariablesGKHF();
} else if (kafkaTopicConsumerGKHFPv.equals(key)) {
return getPvConditionVariablesPvGKFX();
} else if (kafkaTopicConsumerZXZFan.equals(key)) {
return getFanConditionVariablesZXZ();
} else if (kafkaTopicConsumerZXZPv.equals(key)) {
return getPvConditionVariablesZXZ();
}
return ResponseHelper.buildResponse(result);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/getFanConditionVariables")
@ApiOperation(httpMethod = "POST", value = "计算相关性分析 - 风机 - 新", notes = "计算相关性分析 - 风机 - 新")
public ResponseModel<Object> getFanConditionVariables() {
......@@ -140,28 +179,35 @@ public class KafkaAnalyseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "全景诊断回溯")
@GetMapping("/getFullViewRecall")
public ResponseModel<List<FullViewRecallInfoDTO>> getFullViewRecall(@RequestParam(required = false, value = "analysisType") String analysisType) {
public ResponseModel<List<FullViewRecallInfoDTO>> getFullViewRecall(
@RequestParam(required = false, value = "analysisType") String analysisType) {
List<String> gatewayIds = this.getGatewayIds();
List<Map<String, Object>> stationIndexInfo = idxBizFanHealthIndexMapper.getStationIndexInfoByParam(analysisType, gatewayIds);
Map<String, Double> stationHealthIndexMap = stationIndexInfo.stream().collect(Collectors.toMap(t -> t.get("station").toString(), t -> Double.parseDouble(t.get("healthIndex").toString())));
List<Map<String, Object>> equipmentIndexInfo = idxBizFanHealthIndexMapper.getEquipmentIndexInfoByParam(analysisType, gatewayIds);
Map<String, Double> equipmentIndexInfoMap = equipmentIndexInfo.stream().collect(Collectors.toMap(t -> t.get("equipmentName").toString(), t -> Double.parseDouble(t.get("healthIndex").toString())));
List<Map<String, Object>> subSystemIndexInfo = idxBizFanHealthIndexMapper.getSubSystemIndexInfoByParam(analysisType, gatewayIds);
Map<String, Double> subSystemIndexInfoMap = subSystemIndexInfo.stream().collect(Collectors.toMap(t -> t.get("subSystem").toString(), t -> Double.parseDouble(t.get("healthIndex").toString())));
List<Map<String, Object>> pointNameIndexInfo = idxBizFanHealthIndexMapper.getPointNameIndexInfoByParam(analysisType, gatewayIds);
Map<String, Double> pointNameIndexInfoMap = pointNameIndexInfo.stream().collect(Collectors.toMap(t -> t.get("gatewayIndexAddress").toString(), t -> Double.parseDouble(t.get("healthIndex").toString())));
List<Map<String, Object>> stationIndexInfo = idxBizFanHealthIndexMapper.getStationIndexInfoByParam(analysisType,
gatewayIds);
Map<String, Double> stationHealthIndexMap = stationIndexInfo.stream().collect(Collectors
.toMap(t -> t.get("station").toString(), t -> Double.parseDouble(t.get("healthIndex").toString())));
List<Map<String, Object>> equipmentIndexInfo = idxBizFanHealthIndexMapper
.getEquipmentIndexInfoByParam(analysisType, gatewayIds);
Map<String, Double> equipmentIndexInfoMap = equipmentIndexInfo.stream().collect(Collectors.toMap(
t -> t.get("equipmentName").toString(), t -> Double.parseDouble(t.get("healthIndex").toString())));
List<Map<String, Object>> subSystemIndexInfo = idxBizFanHealthIndexMapper
.getSubSystemIndexInfoByParam(analysisType, gatewayIds);
Map<String, Double> subSystemIndexInfoMap = subSystemIndexInfo.stream().collect(Collectors
.toMap(t -> t.get("subSystem").toString(), t -> Double.parseDouble(t.get("healthIndex").toString())));
List<Map<String, Object>> pointNameIndexInfo = idxBizFanHealthIndexMapper
.getPointNameIndexInfoByParam(analysisType, gatewayIds);
Map<String, Double> pointNameIndexInfoMap = pointNameIndexInfo.stream()
.collect(Collectors.toMap(t -> t.get("gatewayIndexAddress").toString(),
t -> Double.parseDouble(t.get("healthIndex").toString())));
List<IdxBizFanHealthLevel> healthLevelInfoList = idxBizFanHealthIndexMapper.getHealthLevelInfoList(gatewayIds);
List<FullViewRecallDataDTO> list = idxBizFanHealthIndexMapper.getFullViewRecall(gatewayIds);
Map<String, Map<String, Map<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>>>> resultMap = list.stream()
Map<String, Map<String, Map<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>>>> resultMap = list
.stream()
.collect(Collectors.groupingBy(FullViewRecallDataDTO::getArea,
Collectors.groupingBy(FullViewRecallDataDTO::getStation,
Collectors.groupingBy(FullViewRecallDataDTO::getEquipmentName,
......@@ -172,7 +218,8 @@ public class KafkaAnalyseController {
int stationInt = 1;
int equipmentInt = 1;
int subSystemInt = 1;
Double healthScoreInfo = idxBizFanHealthIndexMapper.getHealthScoreInfoByParam(null, null, analysisType).doubleValue();
Double healthScoreInfo = idxBizFanHealthIndexMapper.getHealthScoreInfoByParam(null, null, analysisType)
.doubleValue();
healthScoreInfo = Double.parseDouble(df.format(healthScoreInfo));
LambdaQueryWrapper<IdxBizFanHealthLevel> query = new LambdaQueryWrapper<>();
......@@ -193,11 +240,13 @@ public class KafkaAnalyseController {
allMapDto.setChildren(new ArrayList<>());
allMapDto.setParentKey("0");
for (Map.Entry<String, Map<String, Map<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>>>> areaMap : resultMap.entrySet()) {
for (Map.Entry<String, Map<String, Map<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>>>> areaMap : resultMap
.entrySet()) {
Double areaLowScore = null;
Double areaHighScore = null;
Double areaHealthScoreInfo = idxBizFanHealthIndexMapper.getHealthScoreInfoByParam(areaMap.getKey(), null, analysisType).doubleValue();
Double areaHealthScoreInfo = idxBizFanHealthIndexMapper
.getHealthScoreInfoByParam(areaMap.getKey(), null, analysisType).doubleValue();
areaHealthScoreInfo = Double.parseDouble(df.format(areaHealthScoreInfo));
LambdaQueryWrapper<IdxBizFanHealthLevel> areaQuery = new LambdaQueryWrapper<>();
areaQuery.isNull(IdxBizFanHealthLevel::getStatus);
......@@ -215,7 +264,8 @@ public class KafkaAnalyseController {
allMapDto.getChildren().add(areaMapDto);
areaInt++;
List<FullViewRecallInfoDTO> areaMapList = new ArrayList<>();
for (Map.Entry<String, Map<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>>> stationMap : areaMap.getValue().entrySet()) {
for (Map.Entry<String, Map<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>>> stationMap : areaMap
.getValue().entrySet()) {
Double stationLowScore = null;
Double stationHighScore = null;
if (areaLowScore == null && areaHighScore == null) {
......@@ -257,8 +307,8 @@ public class KafkaAnalyseController {
stationDto.setParentKey(areaMapDto.getKey());
areaMapDto.getChildren().add(stationDto);
stationInt++;
for (Map.Entry<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>> equipmentMap : stationMap.getValue().entrySet()) {
for (Map.Entry<String, Map<String, Map<String, List<FullViewRecallDataDTO>>>> equipmentMap : stationMap
.getValue().entrySet()) {
if (stationLowScore == null && stationHighScore == null) {
stationLowScore = equipmentIndexInfoMap.getOrDefault(equipmentMap.getKey(), 100.0);
......@@ -276,27 +326,32 @@ public class KafkaAnalyseController {
equipmentMapDto.setKey(stationDto.getKey() + "-" + equipmentInt);
equipmentMapDto.setName(equipmentMap.getKey());
equipmentMapDto.setScoreRange("");
IdxBizFanHealthLevel levelInfo = getHealthLevelByScore(healthLevelInfoList, stationMap.getKey(), "设备", equipmentIndexInfoMap.getOrDefault(equipmentMap.getKey(), 100.0));
IdxBizFanHealthLevel levelInfo = getHealthLevelByScore(healthLevelInfoList, stationMap.getKey(),
"设备", equipmentIndexInfoMap.getOrDefault(equipmentMap.getKey(), 100.0));
equipmentMapDto.setStatus(levelInfo.getHealthLevel());
equipmentMapDto.setScore(equipmentIndexInfoMap.getOrDefault(equipmentMap.getKey(), 100.0));
equipmentMapDto.setParentKey(stationDto.getKey());
stationDto.getChildren().add(equipmentMapDto);
equipmentInt++;
for (Map.Entry<String, Map<String, List<FullViewRecallDataDTO>>> subSystemMap : equipmentMap.getValue().entrySet()) {
for (Map.Entry<String, Map<String, List<FullViewRecallDataDTO>>> subSystemMap : equipmentMap
.getValue().entrySet()) {
FullViewRecallInfoDTO subSystemMapDto = new FullViewRecallInfoDTO();
subSystemMapDto.setKey(equipmentMapDto.getKey() + "-" + subSystemInt);
subSystemMapDto.setName(subSystemMap.getKey());
subSystemMapDto.setScoreRange("");
// subSystemMapDto.setStatus(null);
IdxBizFanHealthLevel levelInfoZxt = getHealthLevelByScore(healthLevelInfoList, stationMap.getKey(), "子系统", subSystemIndexInfoMap.getOrDefault(subSystemMap.getKey(), 100.0));
IdxBizFanHealthLevel levelInfoZxt = getHealthLevelByScore(healthLevelInfoList,
stationMap.getKey(), "子系统",
subSystemIndexInfoMap.getOrDefault(subSystemMap.getKey(), 100.0));
subSystemMapDto.setStatus(levelInfoZxt.getHealthLevel());
subSystemMapDto.setScore(subSystemIndexInfoMap.getOrDefault(subSystemMap.getKey(), 100.0));
subSystemMapDto.setParentKey(equipmentMapDto.getKey());
equipmentMapDto.getChildren().add(subSystemMapDto);
subSystemInt++;
for (Map.Entry<String, List<FullViewRecallDataDTO>> pointNameMap : subSystemMap.getValue().entrySet()) {
for (Map.Entry<String, List<FullViewRecallDataDTO>> pointNameMap : subSystemMap.getValue()
.entrySet()) {
FullViewRecallInfoDTO pointNameMapDto = new FullViewRecallInfoDTO();
pointNameMapDto.setKey(subSystemMapDto.getKey() + "-" + pointNameInt);
pointNameMapDto.setName(pointNameMap.getKey());
......@@ -305,10 +360,15 @@ public class KafkaAnalyseController {
pointNameMapDto.setScoreRange("");
IdxBizFanHealthLevel levelInfoBL = getHealthLevelByScore(healthLevelInfoList, stationMap.getKey(), "测点", pointNameIndexInfoMap.getOrDefault(fullViewRecallDataDTO.getStation() + "_" + fullViewRecallDataDTO.getIndexAddress(), 100.0));
IdxBizFanHealthLevel levelInfoBL = getHealthLevelByScore(healthLevelInfoList,
stationMap.getKey(), "测点",
pointNameIndexInfoMap.getOrDefault(fullViewRecallDataDTO.getStation() + "_"
+ fullViewRecallDataDTO.getIndexAddress(), 100.0));
pointNameMapDto.setStatus(levelInfoBL.getHealthLevel());
pointNameMapDto.setScore(pointNameIndexInfoMap.getOrDefault(fullViewRecallDataDTO.getStation() + "_" + fullViewRecallDataDTO.getIndexAddress(), 100.0));
pointNameMapDto.setScore(pointNameIndexInfoMap.getOrDefault(
fullViewRecallDataDTO.getStation() + "_" + fullViewRecallDataDTO.getIndexAddress(),
100.0));
pointNameMapDto.setParentKey(subSystemMapDto.getKey());
subSystemMapDto.getChildren().add(pointNameMapDto);
......@@ -327,13 +387,14 @@ public class KafkaAnalyseController {
return ResponseHelper.buildResponse(resultList);
}
private IdxBizFanHealthLevel getHealthLevelByScore(List<IdxBizFanHealthLevel> healthLevelInfoList, String station, String type, Double score) {
private IdxBizFanHealthLevel getHealthLevelByScore(List<IdxBizFanHealthLevel> healthLevelInfoList, String station,
String type, Double score) {
IdxBizFanHealthLevel resultDto = new IdxBizFanHealthLevel();
String stationType = "风电站";
List<IdxBizFanHealthLevel> collect = healthLevelInfoList.stream().filter(item -> item.getAnalysisObjType().contains(station)).collect(Collectors.toList());
List<IdxBizFanHealthLevel> collect = healthLevelInfoList.stream()
.filter(item -> item.getAnalysisObjType().contains(station)).collect(Collectors.toList());
for (IdxBizFanHealthLevel item : collect) {
if (item.getAnalysisObjType().contains("子阵")) {
stationType = "光伏站";
......@@ -341,23 +402,28 @@ public class KafkaAnalyseController {
}
}
for (IdxBizFanHealthLevel item : collect) {
if (type.equals("设备") && stationType.equals("风电站") && item.getAnalysisObjType().contains(type) && score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
if (type.equals("设备") && stationType.equals("风电站") && item.getAnalysisObjType().contains(type)
&& score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
resultDto = item;
break;
}
if (type.equals("子系统") && stationType.equals("风电站") && item.getAnalysisObjType().contains(type) && score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
if (type.equals("子系统") && stationType.equals("风电站") && item.getAnalysisObjType().contains(type)
&& score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
resultDto = item;
break;
}
if (type.equals("测点") && item.getAnalysisObjType().contains(type) && score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
if (type.equals("测点") && item.getAnalysisObjType().contains(type) && score >= item.getGroupLowerLimit()
&& score <= item.getGroupUpperLimit()) {
resultDto = item;
break;
}
if (type.equals("设备") && stationType.equals("光伏站") && item.getAnalysisObjType().contains("子阵") && score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
if (type.equals("设备") && stationType.equals("光伏站") && item.getAnalysisObjType().contains("子阵")
&& score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
resultDto = item;
break;
}
if (type.equals("子系统") && stationType.equals("光伏站") && item.getAnalysisObjType().contains("设备") && score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
if (type.equals("子系统") && stationType.equals("光伏站") && item.getAnalysisObjType().contains("设备")
&& score >= item.getGroupLowerLimit() && score <= item.getGroupUpperLimit()) {
resultDto = item;
break;
}
......@@ -373,22 +439,28 @@ public class KafkaAnalyseController {
return permissions;
}
private List<FullViewRecallInfoDTO> getFullViewRecallResultByCurrentUser(List<FullViewRecallInfoDTO> fullViewRecallInfoDTOS) {
private List<FullViewRecallInfoDTO> getFullViewRecallResultByCurrentUser(
List<FullViewRecallInfoDTO> fullViewRecallInfoDTOS) {
List<FullViewRecallInfoDTO> result = new ArrayList<>();
if (fullViewRecallInfoDTOS.size() > 0) {
String rootNodeName = permissionService.getCurrentUserPersmissions();
if (rootNodeName.equals("all")) {
return fullViewRecallInfoDTOS;
} else {
List<String> stringList = Arrays.asList(rootNodeName,rootNodeName.replace("片区","区域"),rootNodeName.replace("区域","片区"),rootNodeName.replace("电站","电场"),rootNodeName.replace("电场","电站"));
List<FullViewRecallInfoDTO> fullViewRecallInfoDTOS1 = fullViewRecallInfoDTOS.get(0).getChildren().stream().filter(item -> stringList.contains(item.getName())).collect(Collectors.toList());
List<String> stringList = Arrays.asList(rootNodeName, rootNodeName.replace("片区", "区域"),
rootNodeName.replace("区域", "片区"), rootNodeName.replace("电站", "电场"),
rootNodeName.replace("电场", "电站"));
List<FullViewRecallInfoDTO> fullViewRecallInfoDTOS1 = fullViewRecallInfoDTOS.get(0).getChildren()
.stream().filter(item -> stringList.contains(item.getName())).collect(Collectors.toList());
if (fullViewRecallInfoDTOS1.size() > 0) {
return fullViewRecallInfoDTOS1;
} else {
List<FullViewRecallInfoDTO> fullViewRecallInfoDTOS2 = fullViewRecallInfoDTOS.get(0).getChildren();
for (FullViewRecallInfoDTO fullViewRecallInfoDTO : fullViewRecallInfoDTOS2) {
List<FullViewRecallInfoDTO> fullViewRecallInfoDTOS3=fullViewRecallInfoDTO.getChildren().stream().filter(item -> stringList.contains(item.getName())).collect(Collectors.toList());
if (fullViewRecallInfoDTOS3.size()>0){
List<FullViewRecallInfoDTO> fullViewRecallInfoDTOS3 = fullViewRecallInfoDTO.getChildren()
.stream().filter(item -> stringList.contains(item.getName()))
.collect(Collectors.toList());
if (fullViewRecallInfoDTOS3.size() > 0) {
return fullViewRecallInfoDTOS3;
}
}
......
......@@ -13,20 +13,21 @@ import java.util.Date;
public interface Constant {
// 风电相关性消费者
String kafkaTopicConsumer = "FanConditionVariables";
String kafkaTopicConsumer = "FAN_XGX";
// 光伏相关性消费者
String kafkaTopicConsumerPv = "PvConditionVariables";
String kafkaTopicConsumerPv = "PV_XGX";
// 风电 工况区间划分
String kafkaTopicConsumerGKHFFan = "FanConditionVariablesGKHF";
String kafkaTopicConsumerGKHFFan = "FAN_QJHF";
// 光伏 工况区间划分
String kafkaTopicConsumerGKHFPv = "PvConditionVariablesGKHF";
String kafkaTopicConsumerGKHFPv = "PV_QJHF";
// 风电 中心值计算
String kafkaTopicConsumerZXZFan = "FanConditionVariablesGZXZ";
String kafkaTopicConsumerZXZFan = "FAN_ZXZ";
// 光伏 中心值计算
String kafkaTopicConsumerZXZPv = "PvConditionVariablesZXZ";
String kafkaTopicConsumerZXZPv = "PV_ZXZ";
}
......@@ -53,14 +53,12 @@ public class KafkaConsumerService {
@Autowired
private IdxBizFanPointVarCorrelationServiceImpl idxBizFanPointVarCorrelationService;
@Autowired
private IdxBizPvPointVarCorrelationServiceImpl idxBizPvPointVarCorrelationService;
@Autowired
IdxBizFanPointProcessVariableClassificationServiceImpl idxBizFanPointProcessVariableClassificationService;
@Autowired
IdxBizPvPointProcessVariableClassificationServiceImpl idxBizPvPointProcessVariableClassificationService;
......@@ -77,20 +75,19 @@ public class KafkaConsumerService {
IdxBizPvPointVarCentralValueMapper idxBizPvPointVarCentralValueMapper;
// 相关性
@Value("${base.url.XGX:http://139.9.171.247:8052/intelligent-analysis/correlation}")
@Value("${base.url.XGX:http://10.20.1.29:8052/intelligent-analysis/correlation}")
private String baseUrlXGX;
// 工况划分
@Value("${base.url.GKHF:http://139.9.171.247:8052/intelligent-analysis/working-condition-division}")
@Value("${base.url.GKHF:http://10.20.1.29:8052/intelligent-analysis/working-condition-division}")
private String baseUrlGKHF;
@Value("${base.url.ZXZ:http://172.16.3.29:8052/intelligent-analysis/central-value}")
@Value("${base.url.ZXZ:http://10.20.1.29:8052/intelligent-analysis/central-value}")
private String zxzJsUrlFanBySF;
@Value("${spring.kafka.consumer.max-poll-records:30}")
private Integer threadNum = 30;
@Value("${last.month.num:12}")
private Integer lastMonthNum;
......@@ -99,17 +96,17 @@ public class KafkaConsumerService {
BlockingQueue<PointData> queue = new LinkedBlockingQueue<>();
public KafkaConsumerService() {
for (int i = 0 ; i < threadNum; i++) {
for (int i = 0; i < threadNum; i++) {
service.execute(new Runnable() {
@Override
public void run() {
while(true) {
while (true) {
try {
PointData pointsData = queue.take();
List<ConsumerRecord<String, String>> consumerRecords = pointsData.getConsumerRecords();
Table table = pointsData.getTable();
if ("xgxFanConsumer".equals(pointsData.getOperatorType())){
if ("xgxFanConsumer".equals(pointsData.getOperatorType())) {
execFanCorrelation(consumerRecords, table);
} else if ("xgxPvConsumer".equals(pointsData.getOperatorType())) {
execPvCorrelation(consumerRecords, table);
......@@ -122,6 +119,7 @@ public class KafkaConsumerService {
} else if ("ZXZPvConsumer".equals(pointsData.getOperatorType())) {
consumerRecordsZXZPv(consumerRecords, pointsData);
}
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
......@@ -132,16 +130,17 @@ public class KafkaConsumerService {
}
}
private void consumerRecordsZXZFan(List<ConsumerRecord<String, String>> consumerRecords, PointData pointsData ) {
private void consumerRecordsZXZFan(List<ConsumerRecord<String, String>> consumerRecords, PointData pointsData) {
redisUtils.expire(kafkaTopicConsumerZXZFan, 600);
Table table = pointsData.getTable();
Map<String, List<IdxBizFanPointProcessVariableClassification>> zxzIds = pointsData.getZxzIds();
for (String id : zxzIds.keySet()) {
List<IdxBizFanPointProcessVariableClassification> variableClassificationList = zxzIds.get(id);
String analysisVariableId = id;
List<IdxBizFanPointProcessVariableClassification> processVariableList = variableClassificationList.stream().filter(v -> !id.equals(v.getSequenceNbr().toString())).collect(Collectors.toList());
IdxBizFanPointProcessVariableClassification analysisVariable = variableClassificationList.stream().filter(v -> id.equals(v.getSequenceNbr().toString())).findFirst().get();
List<IdxBizFanPointProcessVariableClassification> processVariableList = variableClassificationList.stream()
.filter(v -> !id.equals(v.getSequenceNbr().toString())).collect(Collectors.toList());
IdxBizFanPointProcessVariableClassification analysisVariable = variableClassificationList.stream()
.filter(v -> id.equals(v.getSequenceNbr().toString())).findFirst().get();
// if (analysisVariable.getEquipmentName().equals("W2500#14风机") && analysisVariable.getPointName().equals("桨距角")) {
// log.info("抓包数据:{}", JSON.toJSONString(analysisVariable));
......@@ -153,7 +152,8 @@ public class KafkaConsumerService {
Table dataTable = Table.create();
int minRow = 0;
for (IdxBizFanPointProcessVariableClassification processVariable : processVariableList) {
Selection selection = table.stringColumn("id").isEqualTo(processVariable.getIndexAddress() + "_" + processVariable.getGatewayId());
Selection selection = table.stringColumn("id")
.isEqualTo(processVariable.getIndexAddress() + "_" + processVariable.getGatewayId());
DoubleColumn values = table.where(selection).doubleColumn("value");
// 获取最小数据长度
if (index == 1) {
......@@ -177,7 +177,8 @@ public class KafkaConsumerService {
index++;
}
Selection selection = table.stringColumn("id").isEqualTo(analysisVariable.getIndexAddress() + "_" + analysisVariable.getGatewayId());
Selection selection = table.stringColumn("id")
.isEqualTo(analysisVariable.getIndexAddress() + "_" + analysisVariable.getGatewayId());
DoubleColumn values = table.where(selection).doubleColumn("value");
values.setName("analysisVariable");
dataTable = getDataTable(dataTable, values);
......@@ -190,25 +191,39 @@ public class KafkaConsumerService {
data1.put(column, dataTable.doubleColumn(column).asDoubleArray());
}
Map<String,Object> requestMap = new HashMap<>();
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("data1", data1);
requestMap.put("data2", data2);
String response = HttpUtil.createPost(zxzJsUrlFanBySF).body(JSON.toJSONString(requestMap)).execute().body();
if (response.contains("stdDev")) {
idxBizFanPointVarCentralValueMapper.delete(new QueryWrapper<IdxBizFanPointVarCentralValue>().eq("ANALYSIS_POINT_ID", analysisVariableId));
idxBizFanPointVarCentralValueMapper.delete(
new QueryWrapper<IdxBizFanPointVarCentralValue>().eq("ANALYSIS_POINT_ID", analysisVariableId));
JSONObject jsonObject = JSON.parseObject(response);
int length = jsonObject.getJSONArray("stdDev").size() > 64 ? 64 : jsonObject.getJSONArray("stdDev").size();
int length = jsonObject.getJSONArray("stdDev").size() > 64 ? 64
: jsonObject.getJSONArray("stdDev").size();
List<IdxBizFanPointVarCentralValue> insertList = new ArrayList<>();
for (int i = 0; i < length; i++) {
IdxBizFanPointVarCentralValue idxBizFanPointVarCentralValue = new IdxBizFanPointVarCentralValue();
idxBizFanPointVarCentralValue.setProcess1Min(ObjectUtils.isNull(jsonObject.getJSONArray("process1Min").get(i)) ? null : jsonObject.getJSONArray("process1Min").getDoubleValue(i));
idxBizFanPointVarCentralValue.setProcess2Min(ObjectUtils.isNull(jsonObject.getJSONArray("process2Min").get(i)) ? null : jsonObject.getJSONArray("process2Min").getDoubleValue(i));
idxBizFanPointVarCentralValue.setProcess3Min(ObjectUtils.isNull(jsonObject.getJSONArray("process3Min").get(i)) ? null : jsonObject.getJSONArray("process3Min").getDoubleValue(i));
idxBizFanPointVarCentralValue.setProcess1Max(ObjectUtils.isNull(jsonObject.getJSONArray("process1Max").get(i)) ? null : jsonObject.getJSONArray("process1Max").getDoubleValue(i));
idxBizFanPointVarCentralValue.setPorcess2Max(ObjectUtils.isNull(jsonObject.getJSONArray("process2Max").get(i)) ? null : jsonObject.getJSONArray("process2Max").getDoubleValue(i));
idxBizFanPointVarCentralValue.setProcess3Max(ObjectUtils.isNull(jsonObject.getJSONArray("process3Max").get(i)) ? null : jsonObject.getJSONArray("process3Max").getDoubleValue(i));
idxBizFanPointVarCentralValue
.setProcess1Min(ObjectUtils.isNull(jsonObject.getJSONArray("process1Min").get(i)) ? null
: jsonObject.getJSONArray("process1Min").getDoubleValue(i));
idxBizFanPointVarCentralValue
.setProcess2Min(ObjectUtils.isNull(jsonObject.getJSONArray("process2Min").get(i)) ? null
: jsonObject.getJSONArray("process2Min").getDoubleValue(i));
idxBizFanPointVarCentralValue
.setProcess3Min(ObjectUtils.isNull(jsonObject.getJSONArray("process3Min").get(i)) ? null
: jsonObject.getJSONArray("process3Min").getDoubleValue(i));
idxBizFanPointVarCentralValue
.setProcess1Max(ObjectUtils.isNull(jsonObject.getJSONArray("process1Max").get(i)) ? null
: jsonObject.getJSONArray("process1Max").getDoubleValue(i));
idxBizFanPointVarCentralValue
.setPorcess2Max(ObjectUtils.isNull(jsonObject.getJSONArray("process2Max").get(i)) ? null
: jsonObject.getJSONArray("process2Max").getDoubleValue(i));
idxBizFanPointVarCentralValue
.setProcess3Max(ObjectUtils.isNull(jsonObject.getJSONArray("process3Max").get(i)) ? null
: jsonObject.getJSONArray("process3Max").getDoubleValue(i));
idxBizFanPointVarCentralValue.setAnalysisPointId(analysisVariableId);
idxBizFanPointVarCentralValue.setAnalysisPointName(analysisVariable.getPointName());
idxBizFanPointVarCentralValue.setProcessPoint1Id(data1.get("processVariable1Id").toString());
......@@ -217,8 +232,12 @@ public class KafkaConsumerService {
idxBizFanPointVarCentralValue.setProcessPoint2Name(processVariableList.get(1).getPointName());
idxBizFanPointVarCentralValue.setProcessPoint3Id(data1.get("processVariable3Id").toString());
idxBizFanPointVarCentralValue.setProcessPoint3Name(processVariableList.get(2).getPointName());
idxBizFanPointVarCentralValue.setAnalysisStdDev(ObjectUtils.isNull(jsonObject.getJSONArray("stdDev").get(i)) ? null : jsonObject.getJSONArray("stdDev").getDoubleValue(i));
idxBizFanPointVarCentralValue.setAnalysisCenterValue(ObjectUtils.isNull(jsonObject.getJSONArray("centerValue").get(i)) ? null : jsonObject.getJSONArray("centerValue").getDoubleValue(i));
idxBizFanPointVarCentralValue
.setAnalysisStdDev(ObjectUtils.isNull(jsonObject.getJSONArray("stdDev").get(i)) ? null
: jsonObject.getJSONArray("stdDev").getDoubleValue(i));
idxBizFanPointVarCentralValue.setAnalysisCenterValue(
ObjectUtils.isNull(jsonObject.getJSONArray("centerValue").get(i)) ? null
: jsonObject.getJSONArray("centerValue").getDoubleValue(i));
idxBizFanPointVarCentralValue.setArae(analysisVariable.getArae());
idxBizFanPointVarCentralValue.setStation(analysisVariable.getStation());
idxBizFanPointVarCentralValue.setSubSystem(analysisVariable.getSubSystem());
......@@ -230,15 +249,14 @@ public class KafkaConsumerService {
idxBizFanPointVarCentralValueService.saveBatch(insertList);
}
}
redisUtils.expire(kafkaTopicConsumerZXZFan, 600);
}
//redisUtils.del(kafkaTopicConsumerZXZFan);
}
private Table getDataTable(Table dataTable, DoubleColumn values) {
if (!dataTable.isEmpty() && dataTable.rowCount() < values.size()) {
dataTable.addColumns(values.inRange(0, dataTable.rowCount()));
} else if (!dataTable.isEmpty() && dataTable.rowCount() > values.size()){
} else if (!dataTable.isEmpty() && dataTable.rowCount() > values.size()) {
dataTable = dataTable.inRange(0, values.size());
dataTable.addColumns(values);
} else {
......@@ -248,13 +266,17 @@ public class KafkaConsumerService {
}
private void execPvCorrelation(List<ConsumerRecord<String, String>> consumerRecords, Table table) {
redisUtils.expire(kafkaTopicConsumerPv, 600);
consumerRecords.parallelStream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizPvPointVarCorrelation pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizPvPointVarCorrelation.class);
Selection selection = table.stringColumn("id").isEqualTo(pvPointVarCorrelation.getAnalysisIndexAddress() + "_" + pvPointVarCorrelation.getAnalysisGatewayId());
IdxBizPvPointVarCorrelation pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(),
IdxBizPvPointVarCorrelation.class);
Selection selection = table.stringColumn("id").isEqualTo(pvPointVarCorrelation.getAnalysisIndexAddress()
+ "_" + pvPointVarCorrelation.getAnalysisGatewayId());
double[] data1 = table.where(selection).doubleColumn("value").asDoubleArray();
selection = table.stringColumn("id").isEqualTo(pvPointVarCorrelation.getProcessIndexAddress() + "_" + pvPointVarCorrelation.getProcessGatewayId());
selection = table.stringColumn("id").isEqualTo(pvPointVarCorrelation.getProcessIndexAddress() + "_"
+ pvPointVarCorrelation.getProcessGatewayId());
double[] data2 = table.where(selection).doubleColumn("value").asDoubleArray();
int shortestLength = Math.min(data1.length, data2.length);
......@@ -268,7 +290,8 @@ public class KafkaConsumerService {
if (response.contains("correlation") && !response.contains("warning")) {
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(response);
pvPointVarCorrelation.setCorrelationCoefficient(jsonObject.getDoubleValue("correlation"));
log.info("------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
} else {
pvPointVarCorrelation.setCorrelationCoefficient(0.0);
}
......@@ -277,17 +300,22 @@ public class KafkaConsumerService {
idxBizPvPointVarCorrelationService.saveOrUpdate(pvPointVarCorrelation);
}
});
redisUtils.expire(kafkaTopicConsumerPv, 600);
//redisUtils.del(kafkaTopicConsumerPv);
}
private void execFanCorrelation(List<ConsumerRecord<String, String>> consumerRecords, Table table) {
redisUtils.expire(kafkaTopicConsumer, 600);
consumerRecords.parallelStream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizFanPointVarCorrelation fanPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizFanPointVarCorrelation.class);
Selection selection = table.stringColumn("id").isEqualTo(fanPointVarCorrelation.getAnalysisIndexAddress() + "_" + fanPointVarCorrelation.getAnalysisGatewayId());
IdxBizFanPointVarCorrelation fanPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(),
IdxBizFanPointVarCorrelation.class);
Selection selection = table.stringColumn("id")
.isEqualTo(fanPointVarCorrelation.getAnalysisIndexAddress() + "_"
+ fanPointVarCorrelation.getAnalysisGatewayId());
double[] data1 = table.where(selection).doubleColumn("value").asDoubleArray();
selection = table.stringColumn("id").isEqualTo(fanPointVarCorrelation.getProcessIndexAddress() + "_" + fanPointVarCorrelation.getProcessGatewayId());
selection = table.stringColumn("id").isEqualTo(fanPointVarCorrelation.getProcessIndexAddress() + "_"
+ fanPointVarCorrelation.getProcessGatewayId());
double[] data2 = table.where(selection).doubleColumn("value").asDoubleArray();
int shortestLength = Math.min(data1.length, data2.length);
......@@ -301,7 +329,8 @@ public class KafkaConsumerService {
if (response.contains("correlation") && !response.contains("warning")) {
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(response);
fanPointVarCorrelation.setCorrelationCoefficient(jsonObject.getDoubleValue("correlation"));
log.info("------------------------------------------风机相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------风机相关性::计算成功,待更新表数据----------------------------------------");
} else {
fanPointVarCorrelation.setCorrelationCoefficient(0.0);
}
......@@ -310,7 +339,7 @@ public class KafkaConsumerService {
idxBizFanPointVarCorrelationService.saveOrUpdate(fanPointVarCorrelation);
}
});
redisUtils.expire(kafkaTopicConsumer, 600);
//redisUtils.del(kafkaTopicConsumer);
}
public static double[] subset(double[] array, int length) {
......@@ -332,26 +361,28 @@ public class KafkaConsumerService {
private Map<String, List<IdxBizPvPointProcessVariableClassification>> zxzPvIds;
public PointData(List<ConsumerRecord<String, String>> consumerRecords, Table table, String operatorType) {
this.consumerRecords = consumerRecords;
this.table = table;
this.operatorType = operatorType;
}
public PointData(List<ConsumerRecord<String, String>> consumerRecords, Table table, String operatorType, Map<String, List<IdxBizFanPointProcessVariableClassification>> zxzIds) {
public PointData(List<ConsumerRecord<String, String>> consumerRecords, Table table, String operatorType,
Map<String, List<IdxBizFanPointProcessVariableClassification>> zxzIds) {
this.consumerRecords = consumerRecords;
this.table = table;
this.operatorType = operatorType;
this.zxzIds = zxzIds;
}
public PointData(List<ConsumerRecord<String, String>> consumerRecords, Table table, String operatorType, Map<String, List<IdxBizPvPointProcessVariableClassification>> zxzPvIds, String notString) {
public PointData(List<ConsumerRecord<String, String>> consumerRecords, Table table, String operatorType,
Map<String, List<IdxBizPvPointProcessVariableClassification>> zxzPvIds, String notString) {
this.consumerRecords = consumerRecords;
this.table = table;
this.operatorType = operatorType;
this.zxzPvIds = zxzPvIds;
}
public Map<String, List<IdxBizPvPointProcessVariableClassification>> getZxzIdsPv() {
return zxzPvIds;
}
......@@ -372,6 +403,7 @@ public class KafkaConsumerService {
return table;
}
}
/**
* 批量消费kafka消息 【风电站 相关性】
*
......@@ -386,7 +418,8 @@ public class KafkaConsumerService {
consumerRecords.stream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizFanPointVarCorrelation fanPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizFanPointVarCorrelation.class);
IdxBizFanPointVarCorrelation fanPointVarCorrelation = JSON
.parseObject(kafkaMessage.get().toString(), IdxBizFanPointVarCorrelation.class);
Set<String> idSet = null;
if (gatewayPoints.containsKey(fanPointVarCorrelation.getAnalysisGatewayId())) {
idSet = gatewayPoints.get(fanPointVarCorrelation.getAnalysisGatewayId());
......@@ -419,7 +452,8 @@ public class KafkaConsumerService {
consumerRecords.stream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizPvPointVarCorrelation pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizPvPointVarCorrelation.class);
IdxBizPvPointVarCorrelation pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(),
IdxBizPvPointVarCorrelation.class);
Set<String> idSet = null;
if (gatewayPoints.containsKey(pvPointVarCorrelation.getAnalysisGatewayId())) {
idSet = gatewayPoints.get(pvPointVarCorrelation.getAnalysisGatewayId());
......@@ -437,8 +471,9 @@ public class KafkaConsumerService {
}
}
private void buildZXZExecData(List<ConsumerRecord<String, String>> consumerRecords, Map<String, Set<String>> gatewayPoints, Map<String, List<IdxBizFanPointProcessVariableClassification>> zxzIds, String xgxPvConsumer) {
private void buildZXZExecData(List<ConsumerRecord<String, String>> consumerRecords,
Map<String, Set<String>> gatewayPoints,
Map<String, List<IdxBizFanPointProcessVariableClassification>> zxzIds, String xgxPvConsumer) {
for (String gatewayId : gatewayPoints.keySet()) {
String join = String.join(",", gatewayPoints.get(gatewayId));
List<IndicatorData> indicatorData = indicatorDataMapper.selectByAddresses(join, gatewayId);
......@@ -458,7 +493,8 @@ public class KafkaConsumerService {
}
}
private void buildExecData(List<ConsumerRecord<String, String>> consumerRecords, Map<String, Set<String>> gatewayPoints, String xgxPvConsumer) {
private void buildExecData(List<ConsumerRecord<String, String>> consumerRecords,
Map<String, Set<String>> gatewayPoints, String xgxPvConsumer) {
for (String gatewayId : gatewayPoints.keySet()) {
String join = String.join(",", gatewayPoints.get(gatewayId));
List<IndicatorData> indicatorData = indicatorDataMapper.selectByAddresses(join, gatewayId);
......@@ -478,7 +514,6 @@ public class KafkaConsumerService {
}
}
/**
* 批量消费kafka消息 【风电 工况划分 】
*
......@@ -493,7 +528,8 @@ public class KafkaConsumerService {
consumerRecords.stream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizFanPointProcessVariableClassification fanPointProcessVariable = JSON.parseObject(kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
IdxBizFanPointProcessVariableClassification fanPointProcessVariable = JSON.parseObject(
kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
Set<String> idSet = null;
if (gatewayPoints.containsKey(fanPointProcessVariable.getGatewayId())) {
idSet = gatewayPoints.get(fanPointProcessVariable.getGatewayId());
......@@ -510,26 +546,30 @@ public class KafkaConsumerService {
}
}
/**
* 风电 工况划分 处理
*
* @param consumerRecords
* @param table
* @return
*/
boolean consumerRecordsGKFXFan(List<ConsumerRecord<String, String>> consumerRecords, Table table) {
redisUtils.expire(kafkaTopicConsumerGKHFFan, 600);
try {
consumerRecords.parallelStream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizFanPointProcessVariableClassification fanPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
IdxBizFanPointProcessVariableClassification fanPointVarCorrelation = JSON.parseObject(
kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
HashMap<String, Object> resultMap = new HashMap<>();
Selection selection = table.stringColumn("id").isEqualTo(fanPointVarCorrelation.getIndexAddress() + "_" + fanPointVarCorrelation.getGatewayId());
Selection selection = table.stringColumn("id").isEqualTo(
fanPointVarCorrelation.getIndexAddress() + "_" + fanPointVarCorrelation.getGatewayId());
double[] data1 = table.where(selection).doubleColumn("value").asDoubleArray();
resultMap.put("processVariable", data1);
resultMap.put("processVariableId", fanPointVarCorrelation.getSequenceNbr());
String response = HttpUtil.createPost(baseUrlGKHF).body(JSON.toJSONString(resultMap)).execute().body();
String response = HttpUtil.createPost(baseUrlGKHF).body(JSON.toJSONString(resultMap)).execute()
.body();
if (response.contains("intervalValue1") && response.contains("processVariableId")) {
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(response);
......@@ -539,7 +579,8 @@ public class KafkaConsumerService {
fanPointVarCorrelation.setIntervalValue3(jsonObject.getDoubleValue("intervalValue3"));
fanPointVarCorrelation.setIntervalValue2(jsonObject.getDoubleValue("intervalValue2"));
fanPointVarCorrelation.setIntervalValue1(jsonObject.getDoubleValue("intervalValue1"));
log.info("------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------风电工况划分::计算成功,待更新表数据----------------------------------------");
} else {
fanPointVarCorrelation.setIntervalValue5(0.0);
fanPointVarCorrelation.setIntervalValue4(0.0);
......@@ -555,13 +596,11 @@ public class KafkaConsumerService {
} catch (Exception e) {
log.error("kafka失败,当前失败的批次");
} finally {
redisUtils.expire(kafkaTopicConsumerGKHFFan, 600);
/////redisUtils.del(kafkaTopicConsumerGKHFFan);
}
return true;
}
/**
* 批量消费kafka消息 【光伏 工况划分 】
*
......@@ -577,7 +616,8 @@ public class KafkaConsumerService {
consumerRecords.stream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizPvPointProcessVariableClassification pvPointProcessVariable = JSON.parseObject(kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
IdxBizPvPointProcessVariableClassification pvPointProcessVariable = JSON.parseObject(
kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
Set<String> idSet = null;
if (gatewayPoints.containsKey(pvPointProcessVariable.getGatewayId())) {
idSet = gatewayPoints.get(pvPointProcessVariable.getGatewayId());
......@@ -594,26 +634,29 @@ public class KafkaConsumerService {
}
}
/**
* 风电 工况划分 处理
*
* @param consumerRecords
* @return
*/
boolean consumerRecordsGKFXPv(List<ConsumerRecord<String, String>> consumerRecords, Table table) {
redisUtils.expire(kafkaTopicConsumerGKHFPv, 600);
try {
consumerRecords.parallelStream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizPvPointProcessVariableClassification pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
IdxBizPvPointProcessVariableClassification pvPointVarCorrelation = JSON.parseObject(
kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
HashMap<String, Object> resultMap = new HashMap<>();
Selection selection = table.stringColumn("id").isEqualTo(pvPointVarCorrelation.getIndexAddress() + "_" + pvPointVarCorrelation.getGatewayId());
Selection selection = table.stringColumn("id").isEqualTo(
pvPointVarCorrelation.getIndexAddress() + "_" + pvPointVarCorrelation.getGatewayId());
double[] data1 = table.where(selection).doubleColumn("value").asDoubleArray();
resultMap.put("processVariable", data1);
resultMap.put("processVariableId", pvPointVarCorrelation.getSequenceNbr());
String response = HttpUtil.createPost(baseUrlGKHF).body(JSON.toJSONString(resultMap)).execute().body();
String response = HttpUtil.createPost(baseUrlGKHF).body(JSON.toJSONString(resultMap)).execute()
.body();
if (response.contains("intervalValue1") && response.contains("processVariableId")) {
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(response);
......@@ -623,7 +666,8 @@ public class KafkaConsumerService {
pvPointVarCorrelation.setIntervalValue3(jsonObject.getDoubleValue("intervalValue3"));
pvPointVarCorrelation.setIntervalValue2(jsonObject.getDoubleValue("intervalValue2"));
pvPointVarCorrelation.setIntervalValue1(jsonObject.getDoubleValue("intervalValue1"));
log.info("------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------光伏工况划分::计算成功,待更新表数据----------------------------------------");
} else {
pvPointVarCorrelation.setIntervalValue5(0.0);
pvPointVarCorrelation.setIntervalValue4(0.0);
......@@ -639,19 +683,11 @@ public class KafkaConsumerService {
} catch (Exception e) {
log.error("kafka失败,当前失败的批次");
} finally {
redisUtils.expire(kafkaTopicConsumerGKHFPv, 600);
////redisUtils.del(kafkaTopicConsumerGKHFPv);
}
return true;
}
/**
* 批量消费kafka消息 【风电 中心值 】
*
......@@ -667,15 +703,25 @@ public class KafkaConsumerService {
consumerRecords.stream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizFanPointProcessVariableClassification fanPointProcessVariable = JSON.parseObject(kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
List<IdxBizFanPointVarCorrelation> gongkuangList = idxBizFanPointVarCorrelationService.list(new QueryWrapper<IdxBizFanPointVarCorrelation>().eq("ANALYSIS_GATEWAY_ID", fanPointProcessVariable.getGatewayId()).eq("ANALYSIS_POINT_ID", fanPointProcessVariable.getSequenceNbr()).orderByDesc("CORRELATION_COEFFICIENT").last("limit 3"));
List<String> processPointIds = gongkuangList.stream().map(idxBizFanPointVarCorrelation -> idxBizFanPointVarCorrelation.getProcessPointId().toString()).collect(Collectors.toList());
List<IdxBizFanPointProcessVariableClassification> idxBizFanPointProcessVariableClassificationList = idxBizFanPointProcessVariableClassificationService.list(new QueryWrapper<IdxBizFanPointProcessVariableClassification>().in("SEQUENCE_NBR", processPointIds));
IdxBizFanPointProcessVariableClassification fanPointProcessVariable = JSON.parseObject(
kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
List<IdxBizFanPointVarCorrelation> gongkuangList = idxBizFanPointVarCorrelationService
.list(new QueryWrapper<IdxBizFanPointVarCorrelation>()
.eq("ANALYSIS_GATEWAY_ID", fanPointProcessVariable.getGatewayId())
.eq("ANALYSIS_POINT_ID", fanPointProcessVariable.getSequenceNbr())
.orderByDesc("CORRELATION_COEFFICIENT").last("limit 3"));
List<String> processPointIds = gongkuangList.stream().map(
idxBizFanPointVarCorrelation -> idxBizFanPointVarCorrelation.getProcessPointId().toString())
.collect(Collectors.toList());
List<IdxBizFanPointProcessVariableClassification> idxBizFanPointProcessVariableClassificationList = idxBizFanPointProcessVariableClassificationService
.list(new QueryWrapper<IdxBizFanPointProcessVariableClassification>().in("SEQUENCE_NBR",
processPointIds));
idxBizFanPointProcessVariableClassificationList.add(fanPointProcessVariable);
zxzIds.put(fanPointProcessVariable.getSequenceNbr(), idxBizFanPointProcessVariableClassificationList);
zxzIds.put(fanPointProcessVariable.getSequenceNbr(),
idxBizFanPointProcessVariableClassificationList);
idxBizFanPointProcessVariableClassificationList.forEach(item -> {
Set<String> idSet = null;
......@@ -696,13 +742,6 @@ public class KafkaConsumerService {
}
}
/**
* 批量消费kafka消息 【光伏 中心值 】
*
......@@ -718,11 +757,20 @@ public class KafkaConsumerService {
consumerRecords.stream().forEach(record -> {
Optional<?> kafkaMessage = Optional.ofNullable(record.value());
if (kafkaMessage.isPresent()) {
IdxBizPvPointProcessVariableClassification pvPointProcessVariable = JSON.parseObject(kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
List<IdxBizPvPointVarCorrelation> gongkuangList = idxBizPvPointVarCorrelationService.list(new QueryWrapper<IdxBizPvPointVarCorrelation>().eq("ANALYSIS_GATEWAY_ID", pvPointProcessVariable.getGatewayId()).eq("ANALYSIS_POINT_ID", pvPointProcessVariable.getSequenceNbr()).orderByDesc("CORRELATION_COEFFICIENT").last("limit 3"));
List<String> processPointIds = gongkuangList.stream().map(idxBizFanPointVarCorrelation -> idxBizFanPointVarCorrelation.getProcessPointId().toString()).collect(Collectors.toList());
List<IdxBizPvPointProcessVariableClassification> idxBizPvPointProcessVariableClassificationList = idxBizPvPointProcessVariableClassificationService.list(new QueryWrapper<IdxBizPvPointProcessVariableClassification>().in("SEQUENCE_NBR", processPointIds));
IdxBizPvPointProcessVariableClassification pvPointProcessVariable = JSON.parseObject(
kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
List<IdxBizPvPointVarCorrelation> gongkuangList = idxBizPvPointVarCorrelationService
.list(new QueryWrapper<IdxBizPvPointVarCorrelation>()
.eq("ANALYSIS_GATEWAY_ID", pvPointProcessVariable.getGatewayId())
.eq("ANALYSIS_POINT_ID", pvPointProcessVariable.getSequenceNbr())
.orderByDesc("CORRELATION_COEFFICIENT").last("limit 3"));
List<String> processPointIds = gongkuangList.stream().map(
idxBizFanPointVarCorrelation -> idxBizFanPointVarCorrelation.getProcessPointId().toString())
.collect(Collectors.toList());
List<IdxBizPvPointProcessVariableClassification> idxBizPvPointProcessVariableClassificationList = idxBizPvPointProcessVariableClassificationService
.list(new QueryWrapper<IdxBizPvPointProcessVariableClassification>().in("SEQUENCE_NBR",
processPointIds));
idxBizPvPointProcessVariableClassificationList.add(pvPointProcessVariable);
......@@ -747,8 +795,9 @@ public class KafkaConsumerService {
}
}
private void buildZXZPvExecData(List<ConsumerRecord<String, String>> consumerRecords, Map<String, Set<String>> gatewayPoints, Map<String, List<IdxBizPvPointProcessVariableClassification>> zxzIds, String xgxPvConsumer) {
private void buildZXZPvExecData(List<ConsumerRecord<String, String>> consumerRecords,
Map<String, Set<String>> gatewayPoints,
Map<String, List<IdxBizPvPointProcessVariableClassification>> zxzIds, String xgxPvConsumer) {
for (String gatewayId : gatewayPoints.keySet()) {
String join = String.join(",", gatewayPoints.get(gatewayId));
List<IndicatorData> indicatorData = indicatorDataMapper.selectByAddresses(join, gatewayId);
......@@ -768,21 +817,24 @@ public class KafkaConsumerService {
}
}
/**
* 中心值 - 光伏
*
* @param consumerRecords
* @param pointsData
*/
private void consumerRecordsZXZPv(List<ConsumerRecord<String, String>> consumerRecords, PointData pointsData ) {
private void consumerRecordsZXZPv(List<ConsumerRecord<String, String>> consumerRecords, PointData pointsData) {
redisUtils.expire(kafkaTopicConsumerZXZPv, 600);
Table table = pointsData.getTable();
Map<String, List<IdxBizPvPointProcessVariableClassification>> zxzIds = pointsData.getZxzIdsPv();
for (String id : zxzIds.keySet()) {
List<IdxBizPvPointProcessVariableClassification> variableClassificationList = zxzIds.get(id);
String analysisVariableId = id;
List<IdxBizPvPointProcessVariableClassification> processVariableList = variableClassificationList.stream().filter(v -> !id.equals(v.getSequenceNbr().toString())).collect(Collectors.toList());
IdxBizPvPointProcessVariableClassification analysisVariable = variableClassificationList.stream().filter(v -> id.equals(v.getSequenceNbr().toString())).findFirst().get();
List<IdxBizPvPointProcessVariableClassification> processVariableList = variableClassificationList.stream()
.filter(v -> !id.equals(v.getSequenceNbr().toString())).collect(Collectors.toList());
IdxBizPvPointProcessVariableClassification analysisVariable = variableClassificationList.stream()
.filter(v -> id.equals(v.getSequenceNbr().toString())).findFirst().get();
Map<String, Object> data1 = new HashMap<>();
Map<String, Object> data2 = new HashMap<>();
......@@ -790,7 +842,8 @@ public class KafkaConsumerService {
Table dataTable = Table.create();
int minRow = 0;
for (IdxBizPvPointProcessVariableClassification processVariable : processVariableList) {
Selection selection = table.stringColumn("id").isEqualTo(processVariable.getIndexAddress() + "_" + processVariable.getGatewayId());
Selection selection = table.stringColumn("id")
.isEqualTo(processVariable.getIndexAddress() + "_" + processVariable.getGatewayId());
DoubleColumn values = table.where(selection).doubleColumn("value");
// 获取最小数据长度
if (index == 1) {
......@@ -813,7 +866,8 @@ public class KafkaConsumerService {
index++;
}
Selection selection = table.stringColumn("id").isEqualTo(analysisVariable.getIndexAddress() + "_" + analysisVariable.getGatewayId());
Selection selection = table.stringColumn("id")
.isEqualTo(analysisVariable.getIndexAddress() + "_" + analysisVariable.getGatewayId());
DoubleColumn values = table.where(selection).doubleColumn("value");
values.setName("analysisVariable");
dataTable = getDataTable(dataTable, values);
......@@ -827,25 +881,39 @@ public class KafkaConsumerService {
data1.put(column, dataTable.doubleColumn(column).asDoubleArray());
}
Map<String,Object> requestMap = new HashMap<>();
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("data1", data1);
requestMap.put("data2", data2);
String response = HttpUtil.createPost(zxzJsUrlFanBySF).body(JSON.toJSONString(requestMap)).execute().body();
if (response.contains("stdDev")) {
idxBizPvPointVarCentralValueMapper.delete(new QueryWrapper<IdxBizPvPointVarCentralValue>().eq("ANALYSIS_POINT_ID", analysisVariable.getSequenceNbr()));
idxBizPvPointVarCentralValueMapper.delete(new QueryWrapper<IdxBizPvPointVarCentralValue>()
.eq("ANALYSIS_POINT_ID", analysisVariable.getSequenceNbr()));
JSONObject jsonObject = JSON.parseObject(response);
int length = jsonObject.getJSONArray("stdDev").size() > 64 ? 64 : jsonObject.getJSONArray("stdDev").size();
int length = jsonObject.getJSONArray("stdDev").size() > 64 ? 64
: jsonObject.getJSONArray("stdDev").size();
List<IdxBizPvPointVarCentralValue> insertList = new ArrayList<>();
for (int i = 0; i < length; i++) {
IdxBizPvPointVarCentralValue idxBizPvPointVarCentralValue = new IdxBizPvPointVarCentralValue();
idxBizPvPointVarCentralValue.setProcess1Min(ObjectUtils.isNull(jsonObject.getJSONArray("process1Min").get(i)) ? null : jsonObject.getJSONArray("process1Min").getDoubleValue(i));
idxBizPvPointVarCentralValue.setProcess2Min(ObjectUtils.isNull(jsonObject.getJSONArray("process2Min").get(i)) ? null : jsonObject.getJSONArray("process2Min").getDoubleValue(i));
idxBizPvPointVarCentralValue.setProcess3Min(ObjectUtils.isNull(jsonObject.getJSONArray("process3Min").get(i)) ? null : jsonObject.getJSONArray("process3Min").getDoubleValue(i));
idxBizPvPointVarCentralValue.setProcess1Max(ObjectUtils.isNull(jsonObject.getJSONArray("process1Max").get(i)) ? null : jsonObject.getJSONArray("process1Max").getDoubleValue(i));
idxBizPvPointVarCentralValue.setProcess2Max(ObjectUtils.isNull(jsonObject.getJSONArray("process2Max").get(i)) ? null : jsonObject.getJSONArray("process2Max").getDoubleValue(i));
idxBizPvPointVarCentralValue.setProcess3Max(ObjectUtils.isNull(jsonObject.getJSONArray("process3Max").get(i)) ? null : jsonObject.getJSONArray("process3Max").getDoubleValue(i));
idxBizPvPointVarCentralValue
.setProcess1Min(ObjectUtils.isNull(jsonObject.getJSONArray("process1Min").get(i)) ? null
: jsonObject.getJSONArray("process1Min").getDoubleValue(i));
idxBizPvPointVarCentralValue
.setProcess2Min(ObjectUtils.isNull(jsonObject.getJSONArray("process2Min").get(i)) ? null
: jsonObject.getJSONArray("process2Min").getDoubleValue(i));
idxBizPvPointVarCentralValue
.setProcess3Min(ObjectUtils.isNull(jsonObject.getJSONArray("process3Min").get(i)) ? null
: jsonObject.getJSONArray("process3Min").getDoubleValue(i));
idxBizPvPointVarCentralValue
.setProcess1Max(ObjectUtils.isNull(jsonObject.getJSONArray("process1Max").get(i)) ? null
: jsonObject.getJSONArray("process1Max").getDoubleValue(i));
idxBizPvPointVarCentralValue
.setProcess2Max(ObjectUtils.isNull(jsonObject.getJSONArray("process2Max").get(i)) ? null
: jsonObject.getJSONArray("process2Max").getDoubleValue(i));
idxBizPvPointVarCentralValue
.setProcess3Max(ObjectUtils.isNull(jsonObject.getJSONArray("process3Max").get(i)) ? null
: jsonObject.getJSONArray("process3Max").getDoubleValue(i));
idxBizPvPointVarCentralValue.setAnalysisPointId(jsonObject.getString("analysisVariableId"));
idxBizPvPointVarCentralValue.setAnalysisPointIdName(analysisVariable.getPointName());
idxBizPvPointVarCentralValue.setProcessPoint1Id(jsonObject.getString("processVariable1Id"));
......@@ -854,8 +922,12 @@ public class KafkaConsumerService {
idxBizPvPointVarCentralValue.setProcessPoint2IdName(processVariableList.get(1).getPointName());
idxBizPvPointVarCentralValue.setProcessPoint3Id(jsonObject.getString("processVariable3Id"));
idxBizPvPointVarCentralValue.setProcessPoint3IdName(processVariableList.get(2).getPointName());
idxBizPvPointVarCentralValue.setAnalysisStdDev(ObjectUtils.isNull(jsonObject.getJSONArray("stdDev").get(i)) ? null : jsonObject.getJSONArray("stdDev").getDoubleValue(i));
idxBizPvPointVarCentralValue.setAnalysisCenterValue(ObjectUtils.isNull(jsonObject.getJSONArray("centerValue").get(i)) ? null : jsonObject.getJSONArray("centerValue").getDoubleValue(i));
idxBizPvPointVarCentralValue
.setAnalysisStdDev(ObjectUtils.isNull(jsonObject.getJSONArray("stdDev").get(i)) ? null
: jsonObject.getJSONArray("stdDev").getDoubleValue(i));
idxBizPvPointVarCentralValue.setAnalysisCenterValue(
ObjectUtils.isNull(jsonObject.getJSONArray("centerValue").get(i)) ? null
: jsonObject.getJSONArray("centerValue").getDoubleValue(i));
idxBizPvPointVarCentralValue.setArae(analysisVariable.getArae());
idxBizPvPointVarCentralValue.setStation(analysisVariable.getStation());
idxBizPvPointVarCentralValue.setSubarray(analysisVariable.getSubarray());
......@@ -869,32 +941,12 @@ public class KafkaConsumerService {
}
}
redisUtils.expire(kafkaTopicConsumerZXZPv, 600);
//redisUtils.del(kafkaTopicConsumerZXZPv);
}
/**
* 风电处理消息 - 弃用
*
* @param consumerRecord
* @return
*/
......@@ -903,15 +955,22 @@ public class KafkaConsumerService {
try {
Optional<?> kafkaMessage = Optional.ofNullable(consumerRecord.value());
if (kafkaMessage.isPresent()) {
IdxBizFanPointVarCorrelation fanPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizFanPointVarCorrelation.class);
IdxBizFanPointVarCorrelation fanPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(),
IdxBizFanPointVarCorrelation.class);
List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataById(fanPointVarCorrelation.getAnalysisIndexAddress() + "_" + fanPointVarCorrelation.getAnalysisGatewayId());
List<IndicatorData> tdengineData1 = indicatorDataMapper
.selectDataById(fanPointVarCorrelation.getAnalysisIndexAddress() + "_"
+ fanPointVarCorrelation.getAnalysisGatewayId());
// List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataByAddressAndtimeNotDate(fanPointVarCorrelation.getAnalysisIndexAddress(), fanPointVarCorrelation.getAnalysisGatewayId());
List<IndicatorData> tdengineData2 = indicatorDataMapper.selectDataById(fanPointVarCorrelation.getProcessIndexAddress() + "_" + fanPointVarCorrelation.getProcessGatewayId());
List<IndicatorData> tdengineData2 = indicatorDataMapper
.selectDataById(fanPointVarCorrelation.getProcessIndexAddress() + "_"
+ fanPointVarCorrelation.getProcessGatewayId());
// List<IndicatorData> tdengineData2 = indicatorDataMapper.selectDataByAddressAndtimeNotDate(fanPointVarCorrelation.getProcessIndexAddress(), fanPointVarCorrelation.getProcessGatewayId());
List<Double> data1 = tdengineData1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList());
List<Double> data2 = tdengineData2.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList());
List<Double> data1 = tdengineData1.stream().map(t -> Double.parseDouble(t.getValue()))
.collect(Collectors.toList());
List<Double> data2 = tdengineData2.stream().map(t -> Double.parseDouble(t.getValue()))
.collect(Collectors.toList());
// List<Double> data1 = new ArrayList<>();
// List<Double> data2 = new ArrayList<>();
......@@ -940,7 +999,8 @@ public class KafkaConsumerService {
if (response.contains("correlation") && !response.contains("warning")) {
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(response);
fanPointVarCorrelation.setCorrelationCoefficient(jsonObject.getDoubleValue("correlation"));
log.info("------------------------------------------风机相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------风机相关性::计算成功,待更新表数据----------------------------------------");
} else {
fanPointVarCorrelation.setCorrelationCoefficient(0.0);
}
......@@ -948,7 +1008,8 @@ public class KafkaConsumerService {
idxBizFanPointVarCorrelationService.saveOrUpdate(fanPointVarCorrelation);
log.info("表数据已更新");
log.info("----------------------------风机相关性--------------分析变量与工况变量相关性分析算法结束----------------------------------------");
log.info(
"----------------------------风机相关性--------------分析变量与工况变量相关性分析算法结束----------------------------------------");
log.info("kafka消费zhTestGroup消息{}", consumerRecord);
}
} catch (Exception e) {
......@@ -961,21 +1022,28 @@ public class KafkaConsumerService {
/**
* 风电 工况划分 处理 -弃用
*
* @param consumerRecord
* @return
*/
boolean consumerRecordsGKFXFan(ConsumerRecord<String, String> consumerRecord) {
try {
String startTime = DateUtils.convertDateToString(DateUtil.offsetMonth(new Date(), -lastMonthNum), DateUtils.DATE_TIME_PATTERN);
String endTime = DateUtils.convertDateToString(DateUtils.getCurrentDayEndTime(new Date()), DateUtils.DATE_TIME_PATTERN);
String startTime = DateUtils.convertDateToString(DateUtil.offsetMonth(new Date(), -lastMonthNum),
DateUtils.DATE_TIME_PATTERN);
String endTime = DateUtils.convertDateToString(DateUtils.getCurrentDayEndTime(new Date()),
DateUtils.DATE_TIME_PATTERN);
Optional<?> kafkaMessage = Optional.ofNullable(consumerRecord.value());
if (kafkaMessage.isPresent()) {
IdxBizFanPointProcessVariableClassification fanPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataByAddressAndtime(fanPointVarCorrelation.getIndexAddress(), startTime, endTime, fanPointVarCorrelation.getGatewayId());
IdxBizFanPointProcessVariableClassification fanPointVarCorrelation = JSON
.parseObject(kafkaMessage.get().toString(), IdxBizFanPointProcessVariableClassification.class);
List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataByAddressAndtime(
fanPointVarCorrelation.getIndexAddress(), startTime, endTime,
fanPointVarCorrelation.getGatewayId());
HashMap<String, Object> resultMap = new HashMap<>();
resultMap.put("processVariable", tdengineData1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()));
resultMap.put("processVariable",
tdengineData1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()));
resultMap.put("processVariableId", fanPointVarCorrelation.getSequenceNbr());
String response = HttpUtil.createPost(baseUrlGKHF).body(JSON.toJSONString(resultMap)).execute().body();
......@@ -987,7 +1055,8 @@ public class KafkaConsumerService {
fanPointVarCorrelation.setIntervalValue3(jsonObject.getDoubleValue("intervalValue3"));
fanPointVarCorrelation.setIntervalValue2(jsonObject.getDoubleValue("intervalValue2"));
fanPointVarCorrelation.setIntervalValue1(jsonObject.getDoubleValue("intervalValue1"));
log.info("------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
} else {
fanPointVarCorrelation.setIntervalValue5(0.0);
fanPointVarCorrelation.setIntervalValue4(0.0);
......@@ -1007,25 +1076,32 @@ public class KafkaConsumerService {
return true;
}
/**
* 光伏处理消息 - 弃用
*
* @param consumerRecord
* @return
*/
boolean consumerRecordsPv(ConsumerRecord<String, String> consumerRecord) {
String startTime = DateUtils.convertDateToString(DateUtil.offsetMonth(new Date(), -lastMonthNum), DateUtils.DATE_TIME_PATTERN);
String endTime = DateUtils.convertDateToString(DateUtils.getCurrentDayEndTime(new Date()), DateUtils.DATE_TIME_PATTERN);
String startTime = DateUtils.convertDateToString(DateUtil.offsetMonth(new Date(), -lastMonthNum),
DateUtils.DATE_TIME_PATTERN);
String endTime = DateUtils.convertDateToString(DateUtils.getCurrentDayEndTime(new Date()),
DateUtils.DATE_TIME_PATTERN);
try {
Optional<?> kafkaMessage = Optional.ofNullable(consumerRecord.value());
if (kafkaMessage.isPresent()) {
IdxBizPvPointVarCorrelation pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizPvPointVarCorrelation.class);
List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataByAddressAndtimeNew(pvPointVarCorrelation.getAnalysisIndexAddress().toString(), startTime, endTime, pvPointVarCorrelation.getAnalysisGatewayId(), pvPointVarCorrelation.getProcessGatewayId(), pvPointVarCorrelation.getProcessIndexAddress());
IdxBizPvPointVarCorrelation pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(),
IdxBizPvPointVarCorrelation.class);
List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataByAddressAndtimeNew(
pvPointVarCorrelation.getAnalysisIndexAddress().toString(), startTime, endTime,
pvPointVarCorrelation.getAnalysisGatewayId(), pvPointVarCorrelation.getProcessGatewayId(),
pvPointVarCorrelation.getProcessIndexAddress());
List<Double> data1 = new ArrayList<>();
List<Double> data2 = new ArrayList<>();
tdengineData1.forEach(item -> {
if (item.getAddress().equals(pvPointVarCorrelation.getAnalysisIndexAddress()) && item.getGatewayId().equals(pvPointVarCorrelation.getAnalysisGatewayId())) {
if (item.getAddress().equals(pvPointVarCorrelation.getAnalysisIndexAddress())
&& item.getGatewayId().equals(pvPointVarCorrelation.getAnalysisGatewayId())) {
data1.add(Double.parseDouble(item.getValue()));
} else {
data2.add(Double.parseDouble(item.getValue()));
......@@ -1049,7 +1125,8 @@ public class KafkaConsumerService {
if (response.contains("correlation") && !response.contains("warning")) {
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(response);
pvPointVarCorrelation.setCorrelationCoefficient(jsonObject.getDoubleValue("correlation"));
log.info("------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
} else {
pvPointVarCorrelation.setCorrelationCoefficient(0.0);
}
......@@ -1067,23 +1144,30 @@ public class KafkaConsumerService {
return true;
}
/**
* 光伏 工况划分 处理 - 弃用
*
* @param consumerRecord
* @return
*/
boolean consumerRecordsGKFXPv(ConsumerRecord<String, String> consumerRecord) {
try {String startTime = DateUtils.convertDateToString(DateUtil.offsetMonth(new Date(), -lastMonthNum), DateUtils.DATE_TIME_PATTERN);
String endTime = DateUtils.convertDateToString(DateUtils.getCurrentDayEndTime(new Date()), DateUtils.DATE_TIME_PATTERN);
try {
String startTime = DateUtils.convertDateToString(DateUtil.offsetMonth(new Date(), -lastMonthNum),
DateUtils.DATE_TIME_PATTERN);
String endTime = DateUtils.convertDateToString(DateUtils.getCurrentDayEndTime(new Date()),
DateUtils.DATE_TIME_PATTERN);
Optional<?> kafkaMessage = Optional.ofNullable(consumerRecord.value());
if (kafkaMessage.isPresent()) {
IdxBizPvPointProcessVariableClassification pvPointVarCorrelation = JSON.parseObject(kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataByAddressAndtime(pvPointVarCorrelation.getIndexAddress(), startTime, endTime, pvPointVarCorrelation.getGatewayId());
IdxBizPvPointProcessVariableClassification pvPointVarCorrelation = JSON
.parseObject(kafkaMessage.get().toString(), IdxBizPvPointProcessVariableClassification.class);
List<IndicatorData> tdengineData1 = indicatorDataMapper.selectDataByAddressAndtime(
pvPointVarCorrelation.getIndexAddress(), startTime, endTime,
pvPointVarCorrelation.getGatewayId());
HashMap<String, Object> resultMap = new HashMap<>();
resultMap.put("processVariable", tdengineData1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()));
resultMap.put("processVariable",
tdengineData1.stream().map(t -> Double.parseDouble(t.getValue())).collect(Collectors.toList()));
resultMap.put("processVariableId", pvPointVarCorrelation.getSequenceNbr());
String response = HttpUtil.createPost(baseUrlGKHF).body(JSON.toJSONString(resultMap)).execute().body();
......@@ -1095,7 +1179,8 @@ public class KafkaConsumerService {
pvPointVarCorrelation.setIntervalValue3(jsonObject.getDoubleValue("intervalValue3"));
pvPointVarCorrelation.setIntervalValue2(jsonObject.getDoubleValue("intervalValue2"));
pvPointVarCorrelation.setIntervalValue1(jsonObject.getDoubleValue("intervalValue1"));
log.info("------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
log.info(
"------------------------------------------光伏相关性::计算成功,待更新表数据----------------------------------------");
} else {
pvPointVarCorrelation.setIntervalValue5(0.0);
pvPointVarCorrelation.setIntervalValue4(0.0);
......@@ -1115,7 +1200,4 @@ public class KafkaConsumerService {
return true;
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import cn.hutool.core.util.DesensitizedUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
......@@ -63,22 +62,22 @@ import java.util.stream.Collectors;
*/
@Slf4j
@Service
public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBasic, PersonBasicMapper> implements IPersonBasicService {
public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBasic, PersonBasicMapper>
implements IPersonBasicService {
@Autowired
PersonBasicMapper personBasicMapper;
//人员账号信息service
// 人员账号信息service
@Autowired
PersonAccountServiceImpl personAccountService;
//人员归属信息service
// 人员归属信息service
@Autowired
PersonAscriptionServiceImpl personAscriptionService;
//人员资质信息service
// 人员资质信息service
@Autowired
PersonCertificateServiceImpl personCertificateService;
//人员教育信息
// 人员教育信息
@Autowired
PersonSkillEducationServiceImpl personSkillEducationService;
@Value("${amos.secret.key}")
......@@ -95,7 +94,6 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
@Autowired
protected EmqKeeper emqKeeper;
@Autowired
private AgencyuserFeign agencyuserFeign;
......@@ -107,18 +105,16 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
*/
public static final String RYFM_DATA_MQTT_TOPIC = "ryfm/data/analysis";
/**
* 人员红黄码恢复为绿码
*/
public static final String RYFM_GREEN = "ryfm/person/green";
private String UPDATE="UPDATE";
private String INSERT="INSERT";
private String UPDATE = "UPDATE";
private String INSERT = "INSERT";
@Autowired
PersonAccountFedMapper personAccountFedMapper;
/**
* 分页查询
*/
......@@ -140,7 +136,8 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
} catch (Exception e) {
e.printStackTrace();
}
Map<String, String> collect = elevatorCategory.stream().collect(Collectors.toMap(DictionarieValueModel::getDictDataKey, DictionarieValueModel::getDictDataDesc));
Map<String, String> collect = elevatorCategory.stream().collect(
Collectors.toMap(DictionarieValueModel::getDictDataKey, DictionarieValueModel::getDictDataDesc));
redisUtils.set(Constants.JXIOP_DICT_POST, collect);
List<DictionarieValueModel> elevator = null;
......@@ -149,14 +146,15 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
} catch (Exception e) {
e.printStackTrace();
}
Map<String, String> collect2 = elevator.stream().collect(Collectors.toMap(DictionarieValueModel::getDictDataKey, DictionarieValueModel::getDictDataDesc));
Map<String, String> collect2 = elevator.stream().collect(
Collectors.toMap(DictionarieValueModel::getDictDataKey, DictionarieValueModel::getDictDataDesc));
redisUtils.set(Constants.JXIOP_DICT_CERTIFICATES, collect2);
}
public RiskBizInfoVo fetchData(PersonBasic personBasic, PersonAccount personAccount, String content) {
RiskBizInfoVo riskBizInfoVo = new RiskBizInfoVo();
riskBizInfoVo.setWarningObjectName(personAccount.getProjectName() + personBasic.getPostName() + personAccount.getName());
riskBizInfoVo.setWarningObjectName(
personAccount.getProjectName() + personBasic.getPostName() + personAccount.getName());
riskBizInfoVo.setWarningObjectCode(String.valueOf(personBasic.getSequenceNbr()));
riskBizInfoVo.setSourceAttribution(personBasic.getProjectOrgCode());
riskBizInfoVo.setSourceAttributionDesc(personAccount.getProjectName());
......@@ -172,7 +170,6 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
return riskBizInfoVo;
}
/**
* 新增
*/
......@@ -186,15 +183,15 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
// 证书临期信息
Map<String, String> certificatesMap = (Map<String, String>) redisUtils.get(Constants.JXIOP_DICT_CERTIFICATES);
//获取人员基本信息数据
// 获取人员基本信息数据
PersonUser personUser = model.getPersonUser();
//获取人员账号信息
// 获取人员账号信息
PersonAccount personAccount = model.getPersonAccount();
personUser.setPhone(personAccount.getPhoneNum());
//人员基础信息
// 人员基础信息
PersonBasic personBasic = new PersonBasic();
BeanUtils.copyProperties(personUser, personBasic);
//默认红码
// 默认红码
personBasic.setQrcodeColor(QrcodeColorEnum.RED.getCode());
personBasic.setQrcodeDesc("证书不全");
// 该岗位应获得的证书
......@@ -206,7 +203,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
}
List<String> list = new ArrayList(list2);
//人员资质信息
// 人员资质信息
Integer isInMonth = 0;
Integer isOver = 0;
CertificationInfo personCertificate = model.getPersonCertificate();
......@@ -218,16 +215,17 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) {
for (PersonCertificate item : personCertificate.getCertificationInfo()) {
if (StringUtils.isNotEmpty(item.getValidPeriod()) && !Objects.isNull(item.getCertificateTime())) {
int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3 : Integer.parseInt(item.getValidPeriod());
int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3
: Integer.parseInt(item.getValidPeriod());
Date date = DateUtils.dateAddYears(item.getCertificateTime(), validPeriod);
if (list.contains(item.getCertificateName()) &&
DateUtils.dateCompare(date, new Date()) == -1) {
if (list.contains(item.getCertificateName()) && DateUtils.dateCompare(date, new Date()) == -1) {
isOver = 1;
overCertificateList.add(item.getCertificateName());
}
if (list.contains(item.getCertificateName()) &&
DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer.valueOf(certificatesMap.get(item.getCertificateName())) &&
DateUtils.dateCompare(date, new Date()) == 1) {
if (list.contains(item.getCertificateName())
&& DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer
.valueOf(certificatesMap.get(item.getCertificateName()))
&& DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
inMonthCertificateList.add(item.getCertificateName());
}
......@@ -239,13 +237,13 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
List<String> noCertificateList = new ArrayList<>(list);
List<String> strings = new ArrayList<>();
if (CollectionUtils.isNotEmpty(overCertificateList)) {
strings.add("过期证书:" + String.join("," , overCertificateList));
strings.add("过期证书:" + String.join(",", overCertificateList));
}
if (CollectionUtils.isNotEmpty(inMonthCertificateList)) {
strings.add("临期证书:" + String.join("," , inMonthCertificateList));
strings.add("临期证书:" + String.join(",", inMonthCertificateList));
}
if (CollectionUtils.isNotEmpty(noCertificateList)) {
strings.add("缺少证书:" + String.join("," , noCertificateList));
strings.add("缺少证书:" + String.join(",", noCertificateList));
}
String join = "";
if (CollectionUtils.isNotEmpty(strings)) {
......@@ -267,12 +265,11 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personBasic.setQrcodeDate(new Date());
}
CompanyModel companyModel = new CompanyModel();
//单位
// 单位
companyModel = this.getCompanyModel(personAccount.getProjectId());
personBasic.setProjectOrgCode(companyModel.getOrgCode());
if (personUser.getNativePlace()!=null) {
if (personUser.getNativePlace() != null) {
personBasic.setNativePlace(JSON.toJSONString(personUser.getNativePlace()));
}
this.baseMapper.insert(personBasic);
......@@ -287,7 +284,8 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
bizMessage.setBizInfo(riskBizInfoVo);
bizMessage.setTraceId(String.valueOf(personBasic.getSequenceNbr()));
try {
emqKeeper.getMqttClient().publish(RYFM_DATA_MQTT_TOPIC, JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false);
emqKeeper.getMqttClient().publish(RYFM_DATA_MQTT_TOPIC,
JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false);
} catch (MqttException e) {
e.printStackTrace();
}
......@@ -298,27 +296,28 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personCertificateService.save(item);
});
}
//人员技能学历信息
// 人员技能学历信息
PersonSkillEducation personSkillEducation = new PersonSkillEducation();
BeanUtils.copyProperties(personUser, personSkillEducation);
personSkillEducation.setPersonId(personBasic.getSequenceNbr());
personSkillEducationService.save(personSkillEducation);
//人员账号信息
// 人员账号信息
personAccount.setPersonId(personBasic.getSequenceNbr());
personAccount.setPassword(DesUtil.encode(personAccount.getPassword(), secretKey));
personAccount.setSecondaryPassword(DesUtil.encode(personAccount.getSecondaryPassword(), secretKey));
personAccountService.save(personAccount);
//新增平台账号
//组装数据
// 新增平台账号
// 组装数据
AgencyUserModel usd = new AgencyUserModel();
//应用
// 应用
usd.setAppCodes(personAccount.getApplication());
//手机号
// 手机号
usd.setMobile(personUser.getPhone());
//角色
// 角色
Map<Long, List<Long>> map = new HashMap<>();
List<Long> cdids = personAccount.getRoles().stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()); //测点数组
List<Long> cdids = personAccount.getRoles().stream().map(s -> Long.parseLong(s.trim()))
.collect(Collectors.toList()); // 测点数组
if (personAccount.getDepartmentId() != null) {
map.put(personAccount.getDepartmentId(), cdids);
......@@ -326,31 +325,31 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
map.put(personAccount.getProjectId(), cdids);
}
usd.setOrgRoleSeqs(map);
//密码
// 密码
usd.setPassword(personAccount.getPassword());
//二次密码
// 二次密码
usd.setRePassword(personAccount.getSecondaryPassword());
//用户名
// 用户名
usd.setRealName(personAccount.getName());
//账号
// 账号
usd.setUserName(personAccount.getAccountName());
usd.setLockStatus("UNLOCK");
//新增平台用户
// 新增平台用户
AgencyUserModel agencyUserModel = this.setcreateUser(usd);
//设置userID
// 设置userID
usd.setUserId(agencyUserModel.getUserId());
//设置工号
// 设置工号
usd.setUserName(personAccount.getJobNumber());
//创建支持工号登录
// 创建支持工号登录
this.createLoginInfo(usd);
//查询部门
// 查询部门
DepartmentModel departmentModel = null;
if (personAccount.getDepartmentId() != null) {
departmentModel = this.getdepartmentModel(personAccount.getDepartmentId());
}
if (departmentModel != null) {
//personBasic.setProjectOrgCode(departmentModel.getOrgCode());
// personBasic.setProjectOrgCode(departmentModel.getOrgCode());
personAccount.setProjectDepartmentName(departmentModel.getDepartmentName());
}
// personBasic.setProjectOrgCode(companyModel.getOrgCode());
......@@ -363,7 +362,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personAccount.setProjectName(companyModel.getCompanyName());
// this.personBasicMapper.updateById(personBasic);
this.personAccountService.updateById(personAccount);
//----------------------------权限表中新增数据-----------------------------
// ----------------------------权限表中新增数据-----------------------------
StdUserEmpower stdUserEmpower = new StdUserEmpower();
stdUserEmpower.setPermissionType("YTH");
stdUserEmpower.setRecDate(new Date());
......@@ -371,23 +370,23 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
stdUserEmpower.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.insert(stdUserEmpower);
//----------------------------户用管理端区域公司---------------------------
// ----------------------------户用管理端区域公司---------------------------
StdUserEmpower stdUserEmpowerhygf = new StdUserEmpower();
List<CompanyModel> co= userEmpowerMapper.getCompanyBoList("region",null,null);
List<String> re= personAccount.getRegionalCompaniesSeq();
List<CompanyModel> co = userEmpowerMapper.getCompanyBoList("region", null, null);
List<String> re = personAccount.getRegionalCompaniesSeq();
String flag=personAccount.getRegionalCompaniesSeqFlag();
if(flag!=null&&!flag.isEmpty()){
if(flag.equals("all")){
List<String> all=new ArrayList<>();
String flag = personAccount.getRegionalCompaniesSeqFlag();
if (flag != null && !flag.isEmpty()) {
if (flag.equals("all")) {
List<String> all = new ArrayList<>();
all.add("all");
stdUserEmpowerhygf.setAmosOrgCode(all);
}else{
} else {
stdUserEmpowerhygf.setAmosOrgCode(re);
}
}
List<String> exre= personAccount.getExternalRegionalCompaniesSeq();
List<String> exre = personAccount.getExternalRegionalCompaniesSeq();
// if(exre!=null&&!exre.isEmpty()){
// List<String> pexre=new ArrayList<>();
// List<CompanyModel> exreco = co.stream().filter(product -> !"area".equals(product.getLevel())).collect(Collectors.toList());
......@@ -404,29 +403,23 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
stdUserEmpowerhygf.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.insert(stdUserEmpowerhygf);
//----------------------------权限表中新增数据-----------------------------
// ----------------------------权限表中新增数据-----------------------------
PersonAccountFed personAccountFed = new PersonAccountFed();
BeanUtils.copyProperties(personAccount, personAccountFed);
personAccountFed.setSyncState(0);
personAccountFed.setSyncDate(new Date());
personAccountFedMapper.insert(personAccountFed);
Map<String, Object> data=new HashMap<>();
data.put("SEQUENCE_NBR",agencyUserModel.getSequenceNbr());
ProduceMsg produceMsg= new ProduceMsg(data, INSERT,agencyUserModel.getUserId());
Map<String, Object> data = new HashMap<>();
data.put("SEQUENCE_NBR", agencyUserModel.getSequenceNbr());
ProduceMsg produceMsg = new ProduceMsg(data, INSERT, agencyUserModel.getUserId());
querueProduce.produceMsg(JSON.toJSONString(produceMsg));
}
@Transactional
public PersonDto updatePerson(PersonDto model, HttpServletRequest httpServletRequest, Long sequenceNbr) throws ParseException {
public PersonDto updatePerson(PersonDto model, HttpServletRequest httpServletRequest, Long sequenceNbr)
throws ParseException {
if (!redisUtils.hasKey(Constants.JXIOP_DICT_POST) || !redisUtils.hasKey(Constants.JXIOP_DICT_CERTIFICATES)) {
addRedisPostAndCerInfo();
......@@ -436,35 +429,36 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
// 证书临期信息
Map<String, String> certificatesMap = (Map<String, String>) redisUtils.get(Constants.JXIOP_DICT_CERTIFICATES);
//获取人员基本信息数据
// 获取人员基本信息数据
PersonUser personUser = model.getPersonUser();
//获取人员账号信息
// 获取人员账号信息
PersonAccount personAccount = model.getPersonAccount();
PersonAccount oldpersonAccount = new PersonAccount();
personUser.setPhone(personAccount.getPhoneNum());
//人员基础信息
// 人员基础信息
PersonBasic personBasic = personBasicMapper.selectById(sequenceNbr);
personBasic.setSequenceNbr(sequenceNbr);
personAccount.setPassword(DesUtil.encode(personAccount.getPassword(), secretKey));
personAccount.setSecondaryPassword(DesUtil.encode(personAccount.getSecondaryPassword(), secretKey));
//人员归属信息
// 人员归属信息
PersonSkillEducation personSkillEducation = new PersonSkillEducation();
BeanUtils.copyProperties(personUser, personSkillEducation);
personSkillEducation.setPersonId(personBasic.getSequenceNbr());
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());
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<>();
......@@ -475,7 +469,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
}
List<String> list = new ArrayList(list2);
//人员资质信息
// 人员资质信息
Integer isInMonth = 0;
Integer isOver = 0;
// 过期的证书
......@@ -485,16 +479,17 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
if (CollectionUtils.isNotEmpty(personCertificate.getCertificationInfo())) {
for (PersonCertificate item : personCertificate.getCertificationInfo()) {
if (StringUtils.isNotEmpty(item.getValidPeriod()) && !Objects.isNull(item.getCertificateTime())) {
int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3 : Integer.parseInt(item.getValidPeriod());
int validPeriod = StringUtils.isEmpty(item.getValidPeriod()) ? 3
: Integer.parseInt(item.getValidPeriod());
Date date = DateUtils.dateAddYears(item.getCertificateTime(), validPeriod);
if (list.contains(item.getCertificateName()) &&
DateUtils.dateCompare(date, new Date()) == -1) {
if (list.contains(item.getCertificateName()) && DateUtils.dateCompare(date, new Date()) == -1) {
isOver = 1;
overCertificateList.add(item.getCertificateName());
}
if (list.contains(item.getCertificateName()) &&
DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer.valueOf(certificatesMap.get(item.getCertificateName())) &&
DateUtils.dateCompare(date, new Date()) == 1) {
if (list.contains(item.getCertificateName())
&& DateUtils.dateBetweenIncludeToday(new Date(), date) < Integer
.valueOf(certificatesMap.get(item.getCertificateName()))
&& DateUtils.dateCompare(date, new Date()) == 1) {
isInMonth = 1;
inMonthCertificateList.add(item.getCertificateName());
}
......@@ -509,13 +504,13 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
List<String> strings = new ArrayList<>();
if (CollectionUtils.isNotEmpty(overCertificateList)) {
strings.add("过期证书:" + String.join("," , overCertificateList));
strings.add("过期证书:" + String.join(",", overCertificateList));
}
if (CollectionUtils.isNotEmpty(inMonthCertificateList)) {
strings.add("临期证书:" + String.join("," , inMonthCertificateList));
strings.add("临期证书:" + String.join(",", inMonthCertificateList));
}
if (CollectionUtils.isNotEmpty(noCertificateList)) {
strings.add("缺少证书:" + String.join("," , noCertificateList));
strings.add("缺少证书:" + String.join(",", noCertificateList));
}
String join = "";
......@@ -525,7 +520,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
String missingCertificateOld = personBasic.getMissingCertificate();
personBasic.setMissingCertificate(join);
CompanyModel companyModel = new CompanyModel();
//单位
// 单位
companyModel = this.getCompanyModel(personAccount.getProjectId());
String qrcodeColorOld = personBasic.getQrcodeColor();
......@@ -545,23 +540,21 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personBasic.setProjectOrgCode(companyModel.getOrgCode());
personAccount.setProjectName(companyModel.getCompanyName());
//人员账号信息
// 人员账号信息
personAccount.setPersonId(sequenceNbr);
oldpersonAccount=personAccountService.getById(personAccount.getSequenceNbr());
oldpersonAccount = personAccountService.getById(personAccount.getSequenceNbr());
personAccountService.updateById(personAccount);
//新增平台账号
//组装数据
// 新增平台账号
// 组装数据
AgencyUserModel usd = new AgencyUserModel();
//应用
// 应用
usd.setAppCodes(personAccount.getApplication());
//手机号
// 手机号
usd.setMobile(personUser.getPhone());
//角色
// 角色
Map<Long, List<Long>> map = new HashMap<>();
List<Long> cdids = personAccount.getRoles().stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()); //测点数组
List<Long> cdids = personAccount.getRoles().stream().map(s -> Long.parseLong(s.trim()))
.collect(Collectors.toList()); // 测点数组
if (personAccount.getDepartmentId() != null) {
map.put(personAccount.getDepartmentId(), cdids);
......@@ -569,34 +562,34 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
map.put(personAccount.getProjectId(), cdids);
}
usd.setOrgRoleSeqs(map);
//密码
// 密码
usd.setPassword(personAccount.getPassword());
//二次密码
// 二次密码
usd.setRePassword(personAccount.getSecondaryPassword());
//用户名
// 用户名
usd.setRealName(personAccount.getName());
//账号
// 账号
usd.setUserName(personAccount.getAccountName());
usd.setLockStatus("UNLOCK");
usd.setUserId(personAccount.getPuserId());
usd.setOriginalPassword(oldpersonAccount.getPassword());
//新增平台用户
// 新增平台用户
AgencyUserModel agencyUserModel = this.updateuser(personAccount.getPuserId(), usd);
log.info("更新平台账户信息::"+ JSONObject.toJSONString(usd));
//设置userID
log.info("更新平台账户信息::" + JSONObject.toJSONString(usd));
// 设置userID
usd.setUserId(agencyUserModel.getUserId());
//设置工号
// 设置工号
usd.setUserName(personAccount.getJobNumber());
//创建支持工号登录
this.updateLoginInfo(oldpersonAccount.getJobNumber(),usd);
//查询部门
// 创建支持工号登录
this.updateLoginInfo(oldpersonAccount.getJobNumber(), usd);
// 查询部门
DepartmentModel departmentModel = null;
if (personAccount.getDepartmentId() != null) {
departmentModel = this.getdepartmentModel(personAccount.getDepartmentId());
}
BeanUtils.copyProperties(personUser, personBasic, "qrcodeDesc", "qrcodeColor");
if (departmentModel != null) {
//personBasic.setProjectOrgCode(departmentModel.getOrgCode());
// personBasic.setProjectOrgCode(departmentModel.getOrgCode());
personAccount.setProjectDepartmentName(departmentModel.getDepartmentName());
}
personBasic.setProjectOrgCode(companyModel.getOrgCode());
......@@ -609,8 +602,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
if (!join.equals(missingCertificateOld)) {
personBasic.setRecDate(new Date());
this.personBasicMapper.updateById(personBasic);
if (("证书不全".equals(personBasic.getQrcodeDesc()) ||
"证书临期".equals(personBasic.getQrcodeDesc()))) {
if (("证书不全".equals(personBasic.getQrcodeDesc()) || "证书临期".equals(personBasic.getQrcodeDesc()))) {
BizMessage bizMessage = new BizMessage();
bizMessage.setIndexKey("RYFM");
bizMessage.setIndexValue(personBasic.getPostName() + personBasic.getQrcodeDesc());
......@@ -618,7 +610,8 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
bizMessage.setBizInfo(riskBizInfoVo);
bizMessage.setDataSource("人员赋码");
try {
emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_DATA_MQTT_TOPIC, JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false);
emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_DATA_MQTT_TOPIC,
JSON.toJSONString(bizMessage).getBytes(StandardCharsets.UTF_8), 2, false);
} catch (MqttException e) {
e.printStackTrace();
}
......@@ -631,7 +624,8 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personMap.put("sourceAttributionDesc", personAccount.getProjectName());
personMap.put("warningSourceType", "人员赋码");
try {
emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_GREEN, JSON.toJSONString(personMap).getBytes(StandardCharsets.UTF_8), 2, false);
emqKeeper.getMqttClient().publish(PersonBasicServiceImpl.RYFM_GREEN,
JSON.toJSONString(personMap).getBytes(StandardCharsets.UTF_8), 2, false);
} catch (MqttException e) {
e.printStackTrace();
}
......@@ -639,37 +633,39 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
} else {
this.personBasicMapper.updateById(personBasic);
}
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "YTH"));
if(ObjectUtils.isEmpty(stdUserEmpower)){
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>()
.eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "YTH"));
if (ObjectUtils.isEmpty(stdUserEmpower)) {
stdUserEmpower = new StdUserEmpower();
stdUserEmpower.setRecDate(new Date());
stdUserEmpower.setPermissionType("YTH");
stdUserEmpower.setAmosOrgCode(Arrays.asList(personAccount.getYthPermission()));
stdUserEmpower.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.insert(stdUserEmpower);
}else {
} else {
stdUserEmpower.setAmosOrgCode(Arrays.asList(personAccount.getYthPermission()));
stdUserEmpower.setRecDate(new Date());
userEmpowerMapper.updateById(stdUserEmpower);
}
//户用角色权限
StdUserEmpower stdUserEmpowerhygf = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "HYGF"));
if(ObjectUtils.isEmpty(stdUserEmpowerhygf)){
stdUserEmpowerhygf=new StdUserEmpower();
List<CompanyModel> co= userEmpowerMapper.getCompanyBoList("region",null,null);
List<String> re= personAccount.getRegionalCompaniesSeq();
String flag=personAccount.getRegionalCompaniesSeqFlag();
if(flag!=null&&!flag.isEmpty()){
if(flag.equals("all")){
List<String> all=new ArrayList<>();
// 户用角色权限
StdUserEmpower stdUserEmpowerhygf = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>()
.eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "HYGF"));
if (ObjectUtils.isEmpty(stdUserEmpowerhygf)) {
stdUserEmpowerhygf = new StdUserEmpower();
List<CompanyModel> co = userEmpowerMapper.getCompanyBoList("region", null, null);
List<String> re = personAccount.getRegionalCompaniesSeq();
String flag = personAccount.getRegionalCompaniesSeqFlag();
if (flag != null && !flag.isEmpty()) {
if (flag.equals("all")) {
List<String> all = new ArrayList<>();
all.add("all");
stdUserEmpowerhygf.setAmosOrgCode(all);
}else{
} else {
stdUserEmpowerhygf.setAmosOrgCode(re);
}
}
List<String> exre= personAccount.getExternalRegionalCompaniesSeq();
List<String> exre = personAccount.getExternalRegionalCompaniesSeq();
// if(exre!=null&&!exre.isEmpty()){
// List<String> pexre=new ArrayList<>();
// List<CompanyModel> exreco = co.stream().filter(product -> !"area".equals(product.getLevel())).collect(Collectors.toList());
......@@ -685,22 +681,22 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
stdUserEmpowerhygf.setRecDate(new Date());
stdUserEmpowerhygf.setAmosUserId(personAccount.getPuserId());
userEmpowerMapper.insert(stdUserEmpowerhygf);
}else {
} else {
// List<CompanyModel> co= userEmpowerMapper.getCompanyBoList("region",null,null);
List<String> re= personAccount.getRegionalCompaniesSeq();
String flag=personAccount.getRegionalCompaniesSeqFlag();
if(flag!=null&&!flag.isEmpty()){
if(flag.equals("all")){
List<String> all=new ArrayList<>();
List<String> re = personAccount.getRegionalCompaniesSeq();
String flag = personAccount.getRegionalCompaniesSeqFlag();
if (flag != null && !flag.isEmpty()) {
if (flag.equals("all")) {
List<String> all = new ArrayList<>();
all.add("all");
stdUserEmpowerhygf.setAmosOrgCode(all);
}else{
} else {
stdUserEmpowerhygf.setAmosOrgCode(re);
}
}else{
} else {
stdUserEmpowerhygf.setAmosOrgCode(re);
}
List<String> exre= personAccount.getExternalRegionalCompaniesSeq();
List<String> exre = personAccount.getExternalRegionalCompaniesSeq();
// if(exre!=null&&!exre.isEmpty()){
// List<String> pexre=new ArrayList<>();
// List<CompanyModel> exreco = co.stream().filter(product -> !"area".equals(product.getLevel())).collect(Collectors.toList());
......@@ -725,31 +721,31 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
personAccountFed.setSyncDate(new Date());
personAccountFedMapper.updateById(personAccountFed);
Map<String, Object> data=new HashMap<>();
data.put("SEQUENCE_NBR",agencyUserModel.getSequenceNbr());
ProduceMsg produceMsg= new ProduceMsg(data, UPDATE,agencyUserModel.getUserId());
Map<String, Object> data = new HashMap<>();
data.put("SEQUENCE_NBR", agencyUserModel.getSequenceNbr());
ProduceMsg produceMsg = new ProduceMsg(data, UPDATE, agencyUserModel.getUserId());
querueProduce.produceMsg(JSON.toJSONString(produceMsg));
return model;
}
@Transactional
public PersonDto getPerson(Long sequenceNbr,String type) {
public PersonDto getPerson(Long sequenceNbr, String type) {
PersonDto personDto = new PersonDto();
PersonUser personUser = new PersonUser();
QueryWrapper<PersonBasic> wrapper1 = new QueryWrapper();
wrapper1.eq("sequence_nbr", sequenceNbr);
wrapper1.eq("is_delete", 0);
//人员基础信息
// 人员基础信息
PersonBasic personBasic = this.getOne(wrapper1);
BeanUtils.copyProperties(personBasic, personUser);
//人员技能学历信息
// 人员技能学历信息
QueryWrapper<PersonSkillEducation> wrapper2 = new QueryWrapper();
wrapper2.eq("person_id", sequenceNbr);
PersonSkillEducation personSkillEducation = personSkillEducationService.getOne(wrapper2);
BeanUtils.copyProperties(personSkillEducation, personUser);
//人员资质信息
// 人员资质信息
LambdaQueryWrapper<PersonCertificate> personCertificateLambdaQueryWrapper = new LambdaQueryWrapper<>();
personCertificateLambdaQueryWrapper.eq(PersonCertificate::getPersonId, sequenceNbr);
List<PersonCertificate> list = personCertificateService.list(personCertificateLambdaQueryWrapper);
......@@ -758,40 +754,41 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
QueryWrapper<PersonAccount> wrapper4 = new QueryWrapper();
wrapper4.eq("person_id", sequenceNbr);
//人员账号信息
// 人员账号信息
PersonAccount personAccount = personAccountService.getOne(wrapper4);
personAccount.setPhoneNum(personBasic.getPhone());
//对于密码进行解密
if("look".equals(type)){
personAccount.setIdNumber(DesensitizedUtil.idCardNum(personAccount.getIdNumber(),0,4));
}else{
// 对于密码进行解密
if ("look".equals(type)) {
personAccount.setIdNumber(DesensitizedUtil.idCardNum(personAccount.getIdNumber(), 0, 4));
} else {
personAccount.setPassword(DesUtil.decode(personAccount.getPassword(), secretKey));
personAccount.setSecondaryPassword(DesUtil.decode(personAccount.getSecondaryPassword(), secretKey));
}
if (personBasic.getNativePlace() != null) {
personUser.setNativePlace(JSON.parseArray(personBasic.getNativePlace(), Integer.class));
}
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "YTH"));
if(!ObjectUtils.isEmpty(stdUserEmpower)){
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>()
.eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "YTH"));
if (!ObjectUtils.isEmpty(stdUserEmpower)) {
personAccount.setYthPermission(stdUserEmpower.getAmosOrgCode().get(0));
}
StdUserEmpower stdUserEmpowerhygf = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>()
.eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "HYGF"));
if (!ObjectUtils.isEmpty(stdUserEmpowerhygf)) {
StdUserEmpower stdUserEmpowerhygf = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", personAccount.getPuserId()).eq("permission_type", "HYGF"));
if(!ObjectUtils.isEmpty(stdUserEmpowerhygf)){
if(stdUserEmpowerhygf.getAmosOrgCode()==null||stdUserEmpowerhygf.getAmosOrgCode().size()==0){
if (stdUserEmpowerhygf.getAmosOrgCode() == null || stdUserEmpowerhygf.getAmosOrgCode().size() == 0) {
// List<String> list2 = new ArrayList<>();
// list2.add("all");
personAccount.setRegionalCompaniesSeq(null);
}else if(stdUserEmpowerhygf.getAmosOrgCode().size()==1&&stdUserEmpowerhygf.getAmosOrgCode().get(0).equals("all")){
} else if (stdUserEmpowerhygf.getAmosOrgCode().size() == 1
&& stdUserEmpowerhygf.getAmosOrgCode().get(0).equals("all")) {
personAccount.setRegionalCompaniesSeqFlag("all");
personAccount.setRegionalCompaniesSeq(null);
}else{
} else {
personAccount.setRegionalCompaniesSeqFlag("no");
personAccount.setRegionalCompaniesSeq(stdUserEmpowerhygf.getAmosOrgCode());
......@@ -809,7 +806,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
@Transactional
public int deletePerson(String[] ids) {
//查询所有平台用户
// 查询所有平台用户
QueryWrapper<PersonAccount> wrapper = new QueryWrapper();
wrapper.in("person_id", ids);
List<PersonAccount> list = personAccountService.list(wrapper);
......@@ -819,19 +816,20 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
userid.add(personAccount.getPuserId());
// loginId.add(personAccount.getJobNumber());
}
//删除平台
// 删除平台
int deleteResult = personBasicMapper.deleteList(ids);
this.deleuser(String.join(",", userid));
//// this.deleteLoginInfo(String.join(",", loginId));
// this.deleteLoginInfo(loginId.get(1));
QueryWrapper<PersonAccountFed> wrapper1 = new QueryWrapper();
wrapper1.in("person_id",ids);
wrapper1.in("person_id", ids);
personAccountFedMapper.delete(wrapper1);
userEmpowerMapper.delete(new QueryWrapper<StdUserEmpower>().in("amos_user_id", userid).eq("permission_type", "YTH"));
userEmpowerMapper
.delete(new QueryWrapper<StdUserEmpower>().in("amos_user_id", userid).eq("permission_type", "YTH"));
return deleteResult;
}
//新增平台用户
// 新增平台用户
private AgencyUserModel setcreateUser(AgencyUserModel userDto) {
FeignClientResult<AgencyUserModel> amosUser = Privilege.agencyUserClient.create(userDto);
......@@ -846,21 +844,30 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
return user;
}
private LoginInfoModel createLoginInfo(AgencyUserModel userDto) {
FeignClientResult<LoginInfoModel> amosLoginfo = null;
try {
amosLoginfo = Privilege.agencyUserClient.createLoginInfo(userDto);
} catch (Exception e) {
FeignClientResult<List<String>> cResult = Privilege.agencyUserClient.multDeleteUser(userDto.getUserId(),true);
FeignClientResult<List<String>> cResult = Privilege.agencyUserClient.multDeleteUser(userDto.getUserId(),
true);
throw new RuntimeException(e);
}
return amosLoginfo.getResult();
}
//修改平台用户
// 修改平台用户
private AgencyUserModel updateuser(String userId, AgencyUserModel userDto) {
FeignClientResult<AgencyUserModel> amosUser = Privilege.agencyUserClient.update(userDto, userId);
FeignClientResult<AgencyUserModel> amosUser1 = Privilege.agencyUserClient.modifyPassword(userId,userDto);
FeignClientResult<AgencyUserModel> amosUser = null;
FeignClientResult<AgencyUserModel> amosUser1 = null;
try {
amosUser = Privilege.agencyUserClient.update(userDto, userId);
amosUser1 = Privilege.agencyUserClient.modifyPassword(userId, userDto);
} catch (Exception e) {
e.printStackTrace();
}
AgencyUserModel user = new AgencyUserModel();
if (!ObjectUtils.isEmpty(amosUser)) {
if (amosUser.getStatus() == 200) {
......@@ -878,16 +885,18 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
return user;
}
private LoginInfoModel updateLoginInfo(String loginId,AgencyUserModel userDto) {
private LoginInfoModel updateLoginInfo(String loginId, AgencyUserModel userDto) {
FeignClientResult<LoginInfoModel> amosLoginfo = null;
try {
amosLoginfo = Privilege.agencyUserClient.updateLoginInfo(userDto,loginId);
//amosLoginfo = agencyuserFeign.updateLoginInfo(userDto, loginId);
amosLoginfo = Privilege.agencyUserClient.updateLoginInfo(userDto, loginId);
// amosLoginfo = agencyuserFeign.updateLoginInfo(userDto, loginId);
} catch (Exception e) {
throw new RuntimeException(e);
}
return amosLoginfo.getResult();
}
private DepartmentModel getdepartmentModel(Long departmentId) {
FeignClientResult<DepartmentModel> de = Privilege.departmentClient.seleteOne(departmentId);
......@@ -918,7 +927,7 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
private void deleuser(String userid) {
FeignClientResult<List<String>> cResult = Privilege.agencyUserClient.multDeleteUser(userid,true);
FeignClientResult<List<String>> cResult = Privilege.agencyUserClient.multDeleteUser(userid, true);
if (!ObjectUtils.isEmpty(cResult)) {
if (cResult.getStatus() != 200) {
......@@ -936,20 +945,16 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
}
return amosLoginfo.getResult();
}
/**
* 分页查询
*/
public Page<UserMapperDto> queryPage(Page<UserMapperDto> page,
String name,
String accountName,
String projectName, String orgCode) {
List<UserMapperDto> list = personBasicMapper.queryPage((page.getCurrent() - 1) * page.getSize(), page.getSize(), name,
accountName,
projectName, orgCode);
List<UserMapperDto> listcount = personBasicMapper.queryPagecount(name,
accountName,
projectName, orgCode);
public Page<UserMapperDto> queryPage(Page<UserMapperDto> page, String name, String accountName, String projectName,
String orgCode) {
List<UserMapperDto> list = personBasicMapper.queryPage((page.getCurrent() - 1) * page.getSize(), page.getSize(),
name, accountName, projectName, orgCode);
List<UserMapperDto> listcount = personBasicMapper.queryPagecount(name, accountName, projectName, orgCode);
page.setTotal(listcount.size());
page.setRecords(list);
return page;
......@@ -965,7 +970,6 @@ public class PersonBasicServiceImpl extends BaseService<PersonBasicDto, PersonBa
return resultList;
}
// public Page<Map<String, Object>> getPersonYardByPage(String parentCode,
// Integer current,
// Integer size,
......
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