Commit 7a60f041 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.邮件发送服务代码修改,修改配置文件及发送逻辑,解决邮件名称唯一性;
2.邮件接收功能修改,解决邮件接收协议修改后导致的一系列问题;
3.长期间开优化功能修改,修改定时任务处理逻辑及执行周期;
4.中期间开优化功能修改,修改定时任务处理逻辑及执行周期;
5.超长期间开优化功能开发,开发相关接口及定时任务,创建对应数据表,生成对应接口文档并完成接口冒烟测试;
6.超短期间开优化功能开发,开发相关接口及定时任务,创建对应数据表,生成对应接口文档并完成接口冒烟测试;
7.组织线路树功能修改,重构查询逻辑;
8.间开优化历史功能修改,重构查询逻辑;
9.开发当日已优化间开结果列表查询接口,生成对应接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 8687a2c1
......@@ -6,7 +6,7 @@ import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.feature.api.annotation.XApiPost;
import xstartup.data.XSingleResult;
/**
* 井口配置Cloud模块
......@@ -26,6 +26,15 @@ public interface IBaseWellheadCloudService {
* @return {@link XListResult}<{@link DynamicQueryBaseWellheadOutput}>
*/
@XText("井口配置Cloud模块--条件查询井口基本信息列表")
@XApiPost
XListResult<DynamicQueryBaseWellheadOutput> queryBaseWellheadListByParam(XContext context, DynamicQueryBaseWellheadInput input);
/**
* 井口配置Cloud模块--查功率最小的井口
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult}<{@link DynamicQueryBaseWellheadOutput}>
*/
@XText("井口配置Cloud模块--查功率最小的井口")
XSingleResult<DynamicQueryBaseWellheadOutput> getMinPowerWellByIds(XContext context, DynamicQueryBaseWellheadInput input);
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult;
import java.util.ArrayList;
import java.util.List;
......@@ -58,4 +59,23 @@ public class BaseWellheadCloudServiceImpl implements IBaseWellheadCloudService {
}
return XListResult.success(outputs);
}
/**
* 井口配置Cloud模块--查功率最小的井口
*
* @param context 上下文
* @param input 输入
* @return {@link XSingleResult}<{@link DynamicQueryBaseWellheadOutput}>
*/
@Override
public XSingleResult<DynamicQueryBaseWellheadOutput> getMinPowerWellByIds(XContext context, DynamicQueryBaseWellheadInput input) {
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
BaseWellheadEnt one = mapper.selectOne(new LambdaQueryWrapper<BaseWellheadEnt>()
.eq(BaseModel::getIsDeleted, BusinessConstant.ZERO)
.in(BaseModel::getId, input.getWellheadIds())
.orderByDesc(BaseWellheadEnt::getServiceRating)
.last("LIMIT 1")
);
return XSingleResult.success(XCopyUtils.copyNewObject(one, DynamicQueryBaseWellheadOutput.class));
}
}
......@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.pagehelper.PageInfo;
......@@ -74,7 +75,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
String institutionId = entity.getId();
List<CreateSpaceInstitutionWellheadInput> wellheadList = input.getWellheadList();
if (CollUtil.isNotEmpty(wellheadList)) {
this.saveInstitutionWellhead(context, session, institutionId, wellheadList);
this.saveInstitutionWellhead(context, session, institutionId, wellheadList, input.getTundraStrategy());
}
return XServiceResult.OK;
});
......@@ -649,20 +650,43 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
/**
* 保存策略关联信息
*
* @param context 上下文
* @param session 一场
* @param institutionId 机构id
* @param wellheadList 井口一览表
* @param tundraStrategy 苔原战略
*/
private void saveInstitutionWellhead(XContext context, PpsUserSession session, String institutionId, List wellheadList) {
private void saveInstitutionWellhead(XContext context, PpsUserSession session, String institutionId, List wellheadList, Integer tundraStrategy) {
SpaceInstitutionWellheadViewMapper wellheadViewMapper = context.getBean(SpaceInstitutionWellheadViewMapper.class);
SpaceInstitutionDurationViewMapper durationViewMapper = context.getBean(SpaceInstitutionDurationViewMapper.class);
List<SpaceInstitutionDurationView> durationViewList = new ArrayList<>(128);
List<SpaceInstitutionWellheadView> wellheadViewList = new ArrayList<>(32);
List<SpaceInstitutionDurationView> durationList;
for (SpaceInstitutionWellheadView wellhead : (List<SpaceInstitutionWellheadView>) XCopyUtils.copyNewList(wellheadList, SpaceInstitutionWellheadView.class)) {
List<SpaceInstitutionWellheadView> list = (List<SpaceInstitutionWellheadView>) XCopyUtils.copyNewList(wellheadList, SpaceInstitutionWellheadView.class);
//执行防冻土策略
boolean isTundraStrategy = Objects.nonNull(tundraStrategy) && tundraStrategy.equals(0);
String wellId = null;
if (isTundraStrategy) {
wellId = ServiceUtil.getMinPowerWellByIds(context, list.stream()
.map(SpaceInstitutionWellheadView::getWellheadId)
.collect(Collectors.toList()));
}
//封装数据
for (SpaceInstitutionWellheadView wellhead : list) {
wellhead.setInstitutionId(institutionId);
BaseUtils.setBaseModelDefault(wellhead, session);
wellhead.setId(BaseUtils.getUUID());
//防冻土
if (isTundraStrategy && CharSequenceUtil.equals(wellhead.getId(), wellId)) {
wellhead.setRunTypeKey(BusinessConstant.CONTINUOUS_PUMPING_WELL);
wellhead.setStartSeq(0);
wellhead.setIntervalDescribe("24h常开");
wellhead.setIntervalTypeKey(null);
wellhead.setOpenWellDay(null);
wellhead.setCloseWellDay(null);
wellhead.setRunDuration(null);
wellhead.setDurationList(null);
}
wellheadViewList.add(wellhead);
durationList = wellhead.getDurationList();
if (CollUtil.isNotEmpty(durationList)) {
......@@ -719,7 +743,7 @@ public class SpaceInstitutionDetailService extends SpaceOptimizeBaseService {
List<UpdateSpaceInstitutionWellheadInput> wellheadList = input.getWellheadList();
if (CollUtil.isNotEmpty(wellheadList)) {
//重新添加关联信息
this.saveInstitutionWellhead(context, session, institutionId, wellheadList);
this.saveInstitutionWellhead(context, session, institutionId, wellheadList, entity.getTundraStrategy());
}
XCopyUtils.copyObject(input, entity);
BaseUtils.setBaseModelDefault(entity, session);
......
......@@ -7,12 +7,15 @@ import cn.hutool.core.date.DateUtil;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBasePriceStrategyCloudService;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
import pps.cloud.base.service.data.base_power_line.GetBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.GetBasePowerLineViewOutput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemDictionaryService;
import pps.cloud.system.service.data.*;
......@@ -110,6 +113,22 @@ public class ServiceUtil {
.orElse(null);
}
/**
* 查功率最小的井口
*
* @param context 上下文
* @param wellIds 井ID
* @return {@link String}
*/
public static String getMinPowerWellByIds(XContext context, List<String> wellIds) {
IBaseWellheadCloudService service = context.getBean(IBaseWellheadCloudService.class);
XSingleResult<DynamicQueryBaseWellheadOutput> result = service.getMinPowerWellByIds(context, DynamicQueryBaseWellheadInput.builder()
.wellheadIds(wellIds)
.build());
result.throwIfFail();
return result.getResult().getId();
}
/**
* 通过线路ID集合获取线路名称Map
*
......
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