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;
import cn.hutool.core.date.DateUtil;
import xstartup.base.XContext;
import java.util.ArrayList;
......@@ -11,7 +12,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable {
private ReentrantLock lock = new ReentrantLock();
private Thread timerThread;
private List<Runnable> tasks = new ArrayList<Runnable>();
private List<Runnable> tasks = new ArrayList<>();
private XContext context;
public XContext getContext() {
......@@ -43,7 +44,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable {
public void run() {
try {
while (true) {
this.tasks.stream().forEach(task -> {
this.tasks.forEach(task -> {
try {
task.run();
} catch (Exception ex) {
......@@ -53,7 +54,7 @@ public enum FiveSecondsTimerJobHelper implements Runnable {
});
Thread.sleep(5000);
CounterBuilder.globalCounterBuilder.addCounter("FiveSecondsTimer");
CounterBuilder.globalCounterBuilder.setFieldValue("FiveSecondsTimer-LastTime", DateUtil.getCurrentDateTime());
CounterBuilder.globalCounterBuilder.setFieldValue("FiveSecondsTimer-LastTime", DateUtil.date().toString());
}
} catch (Exception ex) {
CounterBuilder.globalCounterBuilder.addCounter(ex, this.getClass());
......
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.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewOutput;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.DateUtil;
import pps.core.system.entity.SysDictionaryEnt;
import pps.core.system.entity.SysDictionaryView;
import pps.core.system.entity.SysOrganizationDictionaryEnt;
......@@ -23,7 +23,6 @@ import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.base.data.CustomQueryInput;
import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XDateUtils;
import xstartup.data.XListResult;
import xstartup.data.XPageResult;
import xstartup.data.XServiceResult;
......@@ -239,69 +238,27 @@ public class SysOrganizationDictionaryService {
//2、parentId为1:根据字典code查询所有字典,返回dictPath,整合id列表(把所有字典id拆开放在集合里),然后id++dicName过滤数据,返回第一级id
//3、parentId不为1:根据pid+dicName查询下级数据
SysDictionaryMapper dictionaryMapper = context.getBean(SysDictionaryMapper.class);
SysOrganizationCloudService orgService = context.getBean(SysOrganizationCloudService.class);
SysDictionaryViewMapper dictionaryViewMapper = context.getBean(SysDictionaryViewMapper.class);
List<QuerySysDictionaryViewOutput> outputs = new ArrayList<>();
List<SysDictionaryView> dictionaryViews;
Integer dictionaryItems = 0;
Integer dictionaryItems;
PageInfo<SysDictionaryView> pageInfo = new PageInfo<>();
pageInfo.setPageNum(input.getPage());
pageInfo.setPageSize(input.getLimit());
DateTime date = DateUtil.date();
if (StringUtils.equals(input.getParentId(), "1")) {
SysDictionaryView recordView = XCopyUtils.copyNewObject(input, SysDictionaryView.class);
int start = (input.getPage() - 1) * input.getLimit();
recordView.setStartRow(start);
recordView.setEndRow(input.getLimit());
recordView.setEndTime(XDateUtils.addMunites(new Date(), 1));
recordView.setEndTime(DateUtil.offsetMinute(date, 1));
dictionaryViews = dictionaryViewMapper.selectListByConditionByPage(recordView);
dictionaryItems = dictionaryViewMapper.selectListByConditionByCount(recordView);
pageInfo.setTotal(dictionaryItems);
} 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);
recordView.setPid(input.getParentId());
String currentDateTime = DateUtil.getCurrentDateTime();
recordView.setEndTimeStr(currentDateTime);
recordView.setEndTimeStr(date.toString());
dictionaryViews = dictionaryViewMapper.selectChildListByCondition(recordView);
}
if (ObjectUtils.isNotEmpty(dictionaryViews)) {
......
package pps.core.base.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.google.common.base.Splitter;
import pps.core.base.service.data.MyCounterOutput;
......@@ -36,7 +37,7 @@ public class CounterService {
CounterBuilder.globalCounterBuilder.setFieldValue("__TASKS_DONE(SCADA)__", ScadaExecutorService.INSTANCE.getTasksCount() + "");
CounterBuilder.globalCounterBuilder.setFieldValue("__TRACEBUILDERS__", TraceHelper.getTraceBuildersCount() + "");
MyCounterOutput output = new MyCounterOutput();
output.put("__Time__", DateUtil.getCurrentDateTime());
output.put("__Time__", DateUtil.date().toString());
output.merge(CounterBuilder.globalCounterBuilder.toDynObj());
output.put("__IPS__", IpUtils.getHostIPs(true));
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