Commit d29dcb48 authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.新建油田配置表同时生成相关代码及mapper文件,修改部分第三方数据抽取定时任务,增加针对不同井场开关控制逻辑,同时修改首页页面展示逻辑,通过油田配置功能区分不同首页展示功能;
2.新建定时任务配置表同时生成相关代码及mapper文件,定时任务模块增加mybatis配置,用以操作数据库,修改部分第三方数据抽取定时任务,修改使用方式使其脱离框架方便动态控制;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 211962c4
package pps.core.common.utils; package pps.core.common.utils;
import cn.hutool.core.date.DateUtil;
import xstartup.base.XContext; import xstartup.base.XContext;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -11,7 +12,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable { ...@@ -11,7 +12,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable {
private ReentrantLock lock = new ReentrantLock(); private ReentrantLock lock = new ReentrantLock();
private Thread timerThread; private Thread timerThread;
private List<Runnable> tasks = new ArrayList<Runnable>(); private List<Runnable> tasks = new ArrayList<>();
private XContext context; private XContext context;
public XContext getContext() { public XContext getContext() {
...@@ -43,7 +44,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable { ...@@ -43,7 +44,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable {
public void run() { public void run() {
try { try {
while (true) { while (true) {
this.tasks.stream().forEach(task -> { this.tasks.forEach(task -> {
try { try {
task.run(); task.run();
} catch (Exception ex) { } catch (Exception ex) {
...@@ -53,7 +54,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable { ...@@ -53,7 +54,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable {
}); });
Thread.sleep(5000); Thread.sleep(5000);
CounterBuilder.globalCounterBuilder.addCounter("FiveSecondsTimer"); CounterBuilder.globalCounterBuilder.addCounter("FiveSecondsTimer");
CounterBuilder.globalCounterBuilder.setFieldValue("FiveSecondsTimer-LastTime", DateUtil.getCurrentDateTime()); CounterBuilder.globalCounterBuilder.setFieldValue("FiveSecondsTimer-LastTime", DateUtil.date().toString());
} }
} catch (Exception ex) { } catch (Exception ex) {
CounterBuilder.globalCounterBuilder.addCounter(ex, this.getClass()); CounterBuilder.globalCounterBuilder.addCounter(ex, this.getClass());
......
package pps.core.system.service; package pps.core.system.service;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewOutput; import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewOutput;
import pps.core.common.session.PpsUserSession; import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.DateUtil;
import pps.core.system.entity.SysDictionaryEnt; import pps.core.system.entity.SysDictionaryEnt;
import pps.core.system.entity.SysDictionaryView; import pps.core.system.entity.SysDictionaryView;
import pps.core.system.entity.SysOrganizationDictionaryEnt; import pps.core.system.entity.SysOrganizationDictionaryEnt;
...@@ -23,7 +23,6 @@ import xstartup.annotation.XText; ...@@ -23,7 +23,6 @@ import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput; import xstartup.base.data.CustomQueryInput;
import xstartup.base.util.XCopyUtils; import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XDateUtils;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import xstartup.data.XPageResult; import xstartup.data.XPageResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
...@@ -239,69 +238,27 @@ public class SysOrganizationDictionaryService { ...@@ -239,69 +238,27 @@ public class SysOrganizationDictionaryService {
//2、parentId为1:根据字典code查询所有字典,返回dictPath,整合id列表(把所有字典id拆开放在集合里),然后id++dicName过滤数据,返回第一级id //2、parentId为1:根据字典code查询所有字典,返回dictPath,整合id列表(把所有字典id拆开放在集合里),然后id++dicName过滤数据,返回第一级id
//3、parentId不为1:根据pid+dicName查询下级数据 //3、parentId不为1:根据pid+dicName查询下级数据
SysDictionaryMapper dictionaryMapper = context.getBean(SysDictionaryMapper.class); SysDictionaryMapper dictionaryMapper = context.getBean(SysDictionaryMapper.class);
SysOrganizationCloudService orgService = context.getBean(SysOrganizationCloudService.class);
SysDictionaryViewMapper dictionaryViewMapper = context.getBean(SysDictionaryViewMapper.class); SysDictionaryViewMapper dictionaryViewMapper = context.getBean(SysDictionaryViewMapper.class);
List<QuerySysDictionaryViewOutput> outputs = new ArrayList<>(); List<QuerySysDictionaryViewOutput> outputs = new ArrayList<>();
List<SysDictionaryView> dictionaryViews; List<SysDictionaryView> dictionaryViews;
Integer dictionaryItems = 0; Integer dictionaryItems;
PageInfo<SysDictionaryView> pageInfo = new PageInfo<>(); PageInfo<SysDictionaryView> pageInfo = new PageInfo<>();
pageInfo.setPageNum(input.getPage()); pageInfo.setPageNum(input.getPage());
pageInfo.setPageSize(input.getLimit()); pageInfo.setPageSize(input.getLimit());
DateTime date = DateUtil.date();
if (StringUtils.equals(input.getParentId(), "1")) { if (StringUtils.equals(input.getParentId(), "1")) {
SysDictionaryView recordView = XCopyUtils.copyNewObject(input, SysDictionaryView.class); SysDictionaryView recordView = XCopyUtils.copyNewObject(input, SysDictionaryView.class);
int start = (input.getPage() - 1) * input.getLimit(); int start = (input.getPage() - 1) * input.getLimit();
recordView.setStartRow(start); recordView.setStartRow(start);
recordView.setEndRow(input.getLimit()); recordView.setEndRow(input.getLimit());
recordView.setEndTime(XDateUtils.addMunites(new Date(), 1)); recordView.setEndTime(DateUtil.offsetMinute(date, 1));
dictionaryViews = dictionaryViewMapper.selectListByConditionByPage(recordView); dictionaryViews = dictionaryViewMapper.selectListByConditionByPage(recordView);
dictionaryItems = dictionaryViewMapper.selectListByConditionByCount(recordView); dictionaryItems = dictionaryViewMapper.selectListByConditionByCount(recordView);
pageInfo.setTotal(dictionaryItems); pageInfo.setTotal(dictionaryItems);
} else { } else {
/*GetSysOrganizationViewInput viewInput = new GetSysOrganizationViewInput();
viewInput.setId(input.getOuId());
GetSysOrganizationViewOutput org = orgService.getSysOrganizationById(context, viewInput).getResult();
//根据ouId查询所有单位属性字典,如果没查到说明组织机构下没有字典
List<SysOrganizationDictionaryEnt> sysOrgDics = querySysOrganizationDictionarys(context, input.getOuId(), null).getResult();
if(ObjectUtils.isNotEmpty(sysOrgDics)){
List<String> dicIdList = new ArrayList<>();
//根据ouId和pid查询所有单位属性字典,如果没查到说明多级字典没有增加上级
List<SysOrganizationDictionaryEnt> orgDics = querySysOrganizationDictionarys(context, input.getOuId(), input.getParentId()).getResult();
if(ObjectUtils.isNotEmpty(orgDics)){
dicIdList = orgDics.stream().map(p -> p.getDicCode()).distinct().collect(Collectors.toList());
}else {
List<String> dicIds = sysOrgDics.stream().map(p -> {
return p.getDicCode();
}).distinct().collect(Collectors.toList());
//根据pid模糊和单位属性字典id查询所有字典
QueryWrapper<SysDictionaryEnt> queryDic = new QueryWrapper<>();
queryDic.lambda().like(SysDictionaryEnt::getDicPath,input.getParentId());
queryDic.lambda().in(SysDictionaryEnt::getId,dicIds);
List<SysDictionaryEnt> sysDictionaryEnts = dictionaryMapper.selectList(queryDic);
for(SysDictionaryEnt dic:sysDictionaryEnts){
if(StringUtils.isNotBlank(dic.getDicPath())){
String[] split = dic.getDicPath().split("/");
for(int i=0;i<split.length;i++){
if(StringUtils.equals(split[i],input.getParentId())){
dicIdList.add(split[i+1]);
}
}
}
}
}
QueryWrapper<SysDictionaryEnt> queryD = new QueryWrapper<>();
queryD.lambda().in(SysDictionaryEnt::getId,dicIdList);
List<SysDictionaryEnt> sysDictionaryEnts = dictionaryMapper.selectList(queryD);
for(SysDictionaryEnt ent:sysDictionaryEnts){
SysDictionaryView recordView = XCopyUtils.copyNewObject(ent, SysDictionaryView.class);
recordView.setOuId(input.getOuId());
recordView.setOuName(org.getOuName());
dictionaryViews.add(recordView);
}
}*/
SysDictionaryView recordView = XCopyUtils.copyNewObject(input, SysDictionaryView.class); SysDictionaryView recordView = XCopyUtils.copyNewObject(input, SysDictionaryView.class);
recordView.setPid(input.getParentId()); recordView.setPid(input.getParentId());
String currentDateTime = DateUtil.getCurrentDateTime(); recordView.setEndTimeStr(date.toString());
recordView.setEndTimeStr(currentDateTime);
dictionaryViews = dictionaryViewMapper.selectChildListByCondition(recordView); dictionaryViews = dictionaryViewMapper.selectChildListByCondition(recordView);
} }
if (ObjectUtils.isNotEmpty(dictionaryViews)) { if (ObjectUtils.isNotEmpty(dictionaryViews)) {
......
package pps.core.base.service; package pps.core.base.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil; import cn.hutool.core.text.CharSequenceUtil;
import com.google.common.base.Splitter; import com.google.common.base.Splitter;
import pps.core.base.service.data.MyCounterOutput; import pps.core.base.service.data.MyCounterOutput;
...@@ -36,7 +37,7 @@ public class CounterService { ...@@ -36,7 +37,7 @@ public class CounterService {
CounterBuilder.globalCounterBuilder.setFieldValue("__TASKS_DONE(SCADA)__", ScadaExecutorService.INSTANCE.getTasksCount() + ""); CounterBuilder.globalCounterBuilder.setFieldValue("__TASKS_DONE(SCADA)__", ScadaExecutorService.INSTANCE.getTasksCount() + "");
CounterBuilder.globalCounterBuilder.setFieldValue("__TRACEBUILDERS__", TraceHelper.getTraceBuildersCount() + ""); CounterBuilder.globalCounterBuilder.setFieldValue("__TRACEBUILDERS__", TraceHelper.getTraceBuildersCount() + "");
MyCounterOutput output = new MyCounterOutput(); MyCounterOutput output = new MyCounterOutput();
output.put("__Time__", DateUtil.getCurrentDateTime()); output.put("__Time__", DateUtil.date().toString());
output.merge(CounterBuilder.globalCounterBuilder.toDynObj()); output.merge(CounterBuilder.globalCounterBuilder.toDynObj());
output.put("__IPS__", IpUtils.getHostIPs(true)); output.put("__IPS__", IpUtils.getHostIPs(true));
output.put("__THREADS__", ThreadHelper.buildThreadsSimpleInfos(null)); output.put("__THREADS__", ThreadHelper.buildThreadsSimpleInfos(null));
......
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