Commit c587f14f authored by ZWT's avatar ZWT

feat(能源管理系统): 间开优化定时任务

1.开发间开优化长期间开优化定时任务,了解长期并网型流程算法;
2.定时任务模块新增CRON常量类,定义常用表达式;
3.基础信息配置Cloud模块,添加通过井口ID集合获取井口列表接口,完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 9cae825e
package pps.cloud.base.service.data.base_wellhead;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
import java.util.List;
......@@ -12,6 +15,9 @@ import java.util.List;
* @date 2023/09/13
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DynamicQueryBaseWellheadInput {
@XText("井口ID")
......
package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.core.base.entity.BaseWellheadEnt;
import pps.core.base.mapper.BaseWellheadMapper;
import pps.core.common.entity.BaseModel;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import java.util.List;
/**
* 井口配置Cloud模块
*
......@@ -25,7 +34,18 @@ public class BaseWellheadCloudServiceImpl implements IBaseWellheadCloudService {
*/
@Override
public XListResult<DynamicQueryBaseWellheadOutput> queryBaseWellheadListByParam(XContext context, DynamicQueryBaseWellheadInput input) {
return null;
String wellheadId = input.getWellheadId();
List<String> wellheadIds = input.getWellheadIds();
BaseWellheadMapper mapper = context.getBean(BaseWellheadMapper.class);
return XListResult.success(
XCopyUtils.copyNewList(
mapper.selectList(
new LambdaQueryWrapper<BaseWellheadEnt>()
.eq(StringUtils.isNotBlank(wellheadId), BaseModel::getId, wellheadId)
.in(CollUtil.isNotEmpty(wellheadIds), BaseModel::getId, wellheadIds)
),
DynamicQueryBaseWellheadOutput.class
)
);
}
}
......@@ -27,5 +27,11 @@ public interface SpaceInstitutionWellheadViewMapper {
*/
int batchInsertList(@Param(value = "list") List<SpaceInstitutionWellheadView> list);
List<SpaceInstitutionWellheadView> selectListByInstitutionIds(Collection institutionIds);
/**
* 通过制度ID集合获取所有间开井口
*
* @param institutionIds 机构ID
* @return {@link List}<{@link SpaceInstitutionWellheadView}>
*/
List<SpaceInstitutionWellheadView> selectListByInstitutionIds(@Param(value = "list") Collection institutionIds);
}
......@@ -2,6 +2,10 @@ package pps.core.space.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.apache.commons.lang3.StringUtils;
import pps.cloud.base.service.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput;
import pps.cloud.space.service.ISpaceOptimizeLongCloudService;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
......@@ -12,11 +16,14 @@ import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.mapper.SpaceInstitutionWellheadViewMapper;
import xstartup.annotation.XService;
import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XServiceResult;
import java.math.BigDecimal;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* 长期间开优化Cloud模块
......@@ -59,7 +66,8 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
//未发现可优化井口
return XServiceResult.error(context, BusinessError.DidNotFindWellhead);
}
//
this.setServiceRatingForSpaceWellheadList(context,spaceWellheadList);
for (SpaceInstitutionDetailEnt detail : detailEntList) {
......@@ -75,6 +83,27 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
* @param spaceWellheadList 空间井口清单
*/
private void setServiceRatingForSpaceWellheadList(XContext context, List<SpaceInstitutionWellheadView> spaceWellheadList) {
IBaseWellheadCloudService cloudService = context.getBean(IBaseWellheadCloudService.class);
XListResult<DynamicQueryBaseWellheadOutput> result = cloudService.queryBaseWellheadListByParam(context,
DynamicQueryBaseWellheadInput.builder()
.wellheadIds(spaceWellheadList.stream()
.map(SpaceInstitutionWellheadView::getWellheadId)
.collect(Collectors.toList())
)
.build());
result.throwIfFail();
List<DynamicQueryBaseWellheadOutput> wellheadOutputList = result.getResult();
if (CollUtil.isEmpty(wellheadOutputList)) {
return;
}
spaceWellheadList.forEach(s -> {
s.setServiceRating(
wellheadOutputList.stream()
.filter(w -> StringUtils.equals(s.getWellheadId(), w.getId()))
.findAny()
.map(DynamicQueryBaseWellheadOutput::getServiceRating)
.orElse(BigDecimal.ZERO)
);
});
}
}
......@@ -111,7 +111,7 @@
WHERE
is_deleted = 1
AND institution_id IN
<foreach collection="institutionIds" open="(" close=")" separator="," item="item">
<foreach collection="list" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</select>
......
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