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; package pps.cloud.base.service.data.base_wellhead;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.util.List; import java.util.List;
...@@ -12,6 +15,9 @@ import java.util.List; ...@@ -12,6 +15,9 @@ import java.util.List;
* @date 2023/09/13 * @date 2023/09/13
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DynamicQueryBaseWellheadInput { public class DynamicQueryBaseWellheadInput {
@XText("井口ID") @XText("井口ID")
......
package pps.core.base.service; 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.IBaseWellheadCloudService;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput; import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadInput;
import pps.cloud.base.service.data.base_wellhead.DynamicQueryBaseWellheadOutput; 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.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult; import xstartup.data.XListResult;
import java.util.List;
/** /**
* 井口配置Cloud模块 * 井口配置Cloud模块
* *
...@@ -25,7 +34,18 @@ public class BaseWellheadCloudServiceImpl implements IBaseWellheadCloudService { ...@@ -25,7 +34,18 @@ public class BaseWellheadCloudServiceImpl implements IBaseWellheadCloudService {
*/ */
@Override @Override
public XListResult<DynamicQueryBaseWellheadOutput> queryBaseWellheadListByParam(XContext context, DynamicQueryBaseWellheadInput input) { public XListResult<DynamicQueryBaseWellheadOutput> queryBaseWellheadListByParam(XContext context, DynamicQueryBaseWellheadInput input) {
String wellheadId = input.getWellheadId();
return null; 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 { ...@@ -27,5 +27,11 @@ public interface SpaceInstitutionWellheadViewMapper {
*/ */
int batchInsertList(@Param(value = "list") List<SpaceInstitutionWellheadView> list); 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; ...@@ -2,6 +2,10 @@ package pps.core.space.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.cloud.space.service.ISpaceOptimizeLongCloudService;
import pps.core.common.constant.BusinessConstant; import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel; import pps.core.common.entity.BaseModel;
...@@ -12,11 +16,14 @@ import pps.core.space.mapper.SpaceInstitutionDetailMapper; ...@@ -12,11 +16,14 @@ import pps.core.space.mapper.SpaceInstitutionDetailMapper;
import pps.core.space.mapper.SpaceInstitutionWellheadViewMapper; import pps.core.space.mapper.SpaceInstitutionWellheadViewMapper;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.base.XContext; import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.data.XServiceResult; import xstartup.data.XServiceResult;
import java.math.BigDecimal;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors;
/** /**
* 长期间开优化Cloud模块 * 长期间开优化Cloud模块
...@@ -59,7 +66,8 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou ...@@ -59,7 +66,8 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
//未发现可优化井口 //未发现可优化井口
return XServiceResult.error(context, BusinessError.DidNotFindWellhead); return XServiceResult.error(context, BusinessError.DidNotFindWellhead);
} }
// this.setServiceRatingForSpaceWellheadList(context,spaceWellheadList);
for (SpaceInstitutionDetailEnt detail : detailEntList) { for (SpaceInstitutionDetailEnt detail : detailEntList) {
...@@ -75,6 +83,27 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou ...@@ -75,6 +83,27 @@ public class SpaceOptimizeLongCloudServiceImpl implements ISpaceOptimizeLongClou
* @param spaceWellheadList 空间井口清单 * @param spaceWellheadList 空间井口清单
*/ */
private void setServiceRatingForSpaceWellheadList(XContext context, List<SpaceInstitutionWellheadView> 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 @@ ...@@ -111,7 +111,7 @@
WHERE WHERE
is_deleted = 1 is_deleted = 1
AND institution_id IN AND institution_id IN
<foreach collection="institutionIds" open="(" close=")" separator="," item="item"> <foreach collection="list" open="(" close=")" separator="," item="item">
#{item} #{item}
</foreach> </foreach>
</select> </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