Commit b4afff5c authored by 吴俊凯's avatar 吴俊凯

预案启动暂时提交

parent e1d5bb1b
package com.yeejoin.amos.fas.business.controller;
import com.yeejoin.amos.fas.business.service.intfc.ContingencyPlanService;
import com.yeejoin.amos.fas.business.vo.ContingencyPlanParamVo;
import com.yeejoin.amos.fas.core.util.CommonResponseUtil2;
import com.yeejoin.amos.fas.core.util.ResponseModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
......@@ -9,4 +17,12 @@ import org.springframework.web.bind.annotation.RestController;
@Api("预案api")
public class ContingencyPlanController extends BaseController {
@Autowired
private ContingencyPlanService contingencyPlanService;
@ApiOperation(value = "启动")
@RequestMapping(value = "/start", method = RequestMethod.POST)
public ResponseModel create(@RequestBody ContingencyPlanParamVo vo) {
contingencyPlanService.planStart(vo);
return CommonResponseUtil2.success();
}
}
package com.yeejoin.amos.fas.business.dao.repository;
import com.yeejoin.amos.fas.dao.entity.PlanDetail;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
/**
......@@ -12,4 +13,7 @@ import org.springframework.stereotype.Repository;
@Repository
public interface IPlanDetailDao extends BaseDao<PlanDetail, Long> {
@Query(value="SELECT count(*) from c_plan_detail where status in (?1) AND is_delete = 0 ", nativeQuery = true)
int findByStatus(Integer[] status);
}
package com.yeejoin.amos.fas.business.service.impl;
import com.yeejoin.amos.fas.business.dao.repository.IPlanDetailDao;
import com.yeejoin.amos.fas.business.service.intfc.ContingencyPlanService;
import com.yeejoin.amos.fas.business.service.intfc.IEquipmentService;
import com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService;
import com.yeejoin.amos.fas.business.vo.ContingencyPlanParamVo;
import com.yeejoin.amos.fas.common.enums.ContingencyPlanStatusEnum;
import com.yeejoin.amos.fas.core.enums.NumberEnum;
import com.yeejoin.amos.fas.core.enums.ReserveEnum;
import com.yeejoin.amos.fas.dao.entity.Equipment;
import com.yeejoin.amos.fas.dao.entity.PlanDetail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Optional;
/**
*@program: YeeAmosFireAutoSysRoot
*@description: 预案实现类
......@@ -11,5 +24,47 @@ import org.springframework.stereotype.Service;
*/
@Service("ContingencyPlanService")
public class ContingencyPlanServiceImpl implements ContingencyPlanService {
@Autowired
private IPlanDetailDao planDetailDao;
@Autowired
private IEquipmentService equipmentService;
@Autowired
private IRiskSourceService riskSourceService;
@Override
public String planStart(ContingencyPlanParamVo vo){
ReserveEnum reserveEnum= null;
//模拟启动
if(ContingencyPlanStatusEnum.SIMULATION_START.getCode().equals(vo.getStatus())){
Integer[] statusArray = (Integer[]) Arrays.asList(ContingencyPlanStatusEnum.SIMULATION_START.getCode(),ContingencyPlanStatusEnum.ONGOING.getCode()).toArray();
int count =planDetailDao.findByStatus(statusArray);
if (count > NumberEnum.ZERO.getValue()) {
return ReserveEnum.RUNNING.getText();
}
}else if(ContingencyPlanStatusEnum.ONGOING.getCode().equals(vo.getStatus())){
//自动启动
Integer[] statusArray = (Integer[]) Arrays.asList(ContingencyPlanStatusEnum.ONGOING.getCode()).toArray();
int count =planDetailDao.findByStatus(statusArray);
if (count > NumberEnum.ZERO.getValue()) {
return ReserveEnum.RUNNING.getText();
}
}else {
return "预控启动状态不正确";
}
//预案启动
Optional<PlanDetail> PlanDetailOp = planDetailDao.findById(Long.valueOf(vo.getPlanId()));
if(PlanDetailOp.get()!=null){
Equipment equipment = equipmentService.queryOne(PlanDetailOp.get().getId());
//预案启动
reserveEnum = riskSourceService.startEquipReserve(equipment.getId(),equipment.getCode());
if(ReserveEnum.RUN.getStatus() == reserveEnum.getStatus()){
PlanDetail planDetail = PlanDetailOp.get();
planDetail.setStatus(Integer.parseInt(ContingencyPlanStatusEnum.SIMULATION_START.getCode()));
planDetailDao.save(planDetail);
}
}
return reserveEnum.getText();
}
}
\ No newline at end of file
package com.yeejoin.amos.fas.business.service.intfc;
import com.yeejoin.amos.fas.business.vo.ContingencyPlanParamVo;
/**
* @author wjk
* @date 2021-01-14
......@@ -7,4 +9,5 @@ package com.yeejoin.amos.fas.business.service.intfc;
*/
public interface ContingencyPlanService {
String planStart(ContingencyPlanParamVo vo);
}
package com.yeejoin.amos.fas.business.vo;
//请求参数
public class ContingencyPlanParamVo {
public String planId;
public String status;
public String getPlanId() {
return planId;
}
public void setPlanId(String planId) {
this.planId = planId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
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