Commit 05ff1191 authored by duanruiming's avatar duanruiming

Merge remote-tracking branch 'origin/master'

parents 7652f699 8570a381
...@@ -92,6 +92,18 @@ public class DiagnoController { ...@@ -92,6 +92,18 @@ public class DiagnoController {
return JsonViewObject.newInstance().success(phaseOptTimeList); return JsonViewObject.newInstance().success(phaseOptTimeList);
} }
@ApiOperation(value = "方案优化对比", notes = "方案优化对比", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@PostMapping(value = "/schemeComparison",
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = SchemeOptVO.PhaseOptTime.class),
})
public JsonViewObject schemeComparison(@RequestBody CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO) {
List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = diagnoService.schemeComparison(crossIdAndSchemeIdDTO);
return JsonViewObject.newInstance().success(phaseOptTimeList);
}
@ApiOperation(value = "下发手动干预", notes = "下发手动干预", response = JsonViewObject.class, @ApiOperation(value = "下发手动干预", notes = "下发手动干预", response = JsonViewObject.class,
produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON) produces = MediaType.APPLICATION_JSON, consumes = MediaType.APPLICATION_JSON)
@PostMapping(value = "/sendManual", @PostMapping(value = "/sendManual",
......
...@@ -10,8 +10,10 @@ import net.wanji.common.framework.i18n.I18nResourceBundle; ...@@ -10,8 +10,10 @@ import net.wanji.common.framework.i18n.I18nResourceBundle;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.framework.rest.Page; import net.wanji.common.framework.rest.Page;
import net.wanji.common.framework.rest.ValidationGroups; import net.wanji.common.framework.rest.ValidationGroups;
import net.wanji.common.utils.tool.StringUtils;
import net.wanji.databus.dao.entity.GreenwaveInfoPO; import net.wanji.databus.dao.entity.GreenwaveInfoPO;
import net.wanji.databus.dao.mapper.GreenwaveInfoMapper; import net.wanji.databus.dao.mapper.GreenwaveInfoMapper;
import net.wanji.opt.dao.mapper.induce.GreenwaveInducesMapper;
import net.wanji.opt.dto.induce.GreenwaveDTO; import net.wanji.opt.dto.induce.GreenwaveDTO;
import net.wanji.opt.dto.induce.GreenwaveInducesDTO; import net.wanji.opt.dto.induce.GreenwaveInducesDTO;
import net.wanji.opt.dto.induce.InduceDTO; import net.wanji.opt.dto.induce.InduceDTO;
...@@ -50,7 +52,11 @@ public class GreenwaveInducesController { ...@@ -50,7 +52,11 @@ public class GreenwaveInducesController {
private GreenwaveInducesService greenwaveInducesService; private GreenwaveInducesService greenwaveInducesService;
@Resource @Resource
private InduceTemplateService induceTemplateService; private GreenwaveInducesMapper greenwaveInducesMapper;
// @Resource
// private InduceTemplateService induceTemplateService;
@Resource @Resource
private DeviceInducesService deviceInducesService; private DeviceInducesService deviceInducesService;
...@@ -74,7 +80,7 @@ public class GreenwaveInducesController { ...@@ -74,7 +80,7 @@ public class GreenwaveInducesController {
try { try {
// List<GreenwaveInduces> list = this.greenwaveInducesService.list(); // List<GreenwaveInduces> list = this.greenwaveInducesService.list();
List<InduceTemplate> induceTemplateList = induceTemplateService.list(); // List<InduceTemplate> induceTemplateList = induceTemplateService.list();
List<DeviceInduces> deviceInducesList = deviceInducesService.list(); List<DeviceInduces> deviceInducesList = deviceInducesService.list();
List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll(); List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll();
...@@ -114,7 +120,7 @@ public class GreenwaveInducesController { ...@@ -114,7 +120,7 @@ public class GreenwaveInducesController {
}); });
induceDTO.setGreenwaveList(greenwaveList); induceDTO.setGreenwaveList(greenwaveList);
//获取关联模板信息 //获取关联模板信息
induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(z -> Objects.nonNull(z.getEquipCode()) && z.getEquipCode().equals(o.getEquipCode())).collect(Collectors.toList())); //induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(z -> Objects.isNull(z.getEquipCode()) || z.getEquipCode().equals(o.getEquipCode())).collect(Collectors.toList()));
list.add(induceDTO); list.add(induceDTO);
}); });
jsonView.success(list); jsonView.success(list);
...@@ -142,8 +148,10 @@ public class GreenwaveInducesController { ...@@ -142,8 +148,10 @@ public class GreenwaveInducesController {
try { try {
//参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验 //参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验
Map params = JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInduces), Map.class); Map params = JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInduces), Map.class);
List<GreenwaveInduces> greenwaveInducesList = this.greenwaveInducesService.listByMap(params); // Map<String, Object> params = new HashMap<>();
List<InduceTemplate> induceTemplateList = induceTemplateService.list(); // JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInduces), Map.class).forEach((k,v) -> params.put(StringUtils.camelToCapital(k.toString()).toLowerCase(), v));
List<GreenwaveInduces> greenwaveInducesList = this.greenwaveInducesMapper.findByMap(params);
// List<InduceTemplate> induceTemplateList = induceTemplateService.list();
List<DeviceInduces> deviceInducesList = deviceInducesService.list(); List<DeviceInduces> deviceInducesList = deviceInducesService.list();
List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll(); List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll();
...@@ -182,7 +190,7 @@ public class GreenwaveInducesController { ...@@ -182,7 +190,7 @@ public class GreenwaveInducesController {
}); });
induceDTO.setGreenwaveList(greenwaveList); induceDTO.setGreenwaveList(greenwaveList);
//获取关联模板信息 //获取关联模板信息
induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(z -> Objects.nonNull(z.getEquipCode()) && z.getEquipCode().equals(o.getEquipCode())).collect(Collectors.toList())); //induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(z -> Objects.isNull(z.getEquipCode()) || z.getEquipCode().equals(o.getEquipCode())).collect(Collectors.toList()));
list.add(induceDTO); list.add(induceDTO);
}); });
......
...@@ -10,8 +10,10 @@ import net.wanji.common.framework.i18n.I18nResourceBundle; ...@@ -10,8 +10,10 @@ import net.wanji.common.framework.i18n.I18nResourceBundle;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.framework.rest.Page; import net.wanji.common.framework.rest.Page;
import net.wanji.common.framework.rest.ValidationGroups; import net.wanji.common.framework.rest.ValidationGroups;
import net.wanji.common.utils.tool.StringUtils;
import net.wanji.databus.dao.entity.GreenwaveInfoPO; import net.wanji.databus.dao.entity.GreenwaveInfoPO;
import net.wanji.databus.dao.mapper.GreenwaveInfoMapper; import net.wanji.databus.dao.mapper.GreenwaveInfoMapper;
import net.wanji.opt.dao.mapper.induce.GreenwaveInducesHistMapper;
import net.wanji.opt.dto.induce.GreenwaveInducesDTO; import net.wanji.opt.dto.induce.GreenwaveInducesDTO;
import net.wanji.opt.dto.induce.InduceDTO; import net.wanji.opt.dto.induce.InduceDTO;
import net.wanji.opt.entity.DeviceInduces; import net.wanji.opt.entity.DeviceInduces;
...@@ -52,14 +54,17 @@ public class GreenwaveInducesHistController { ...@@ -52,14 +54,17 @@ public class GreenwaveInducesHistController {
@Resource @Resource
private GreenwaveInducesHistService greenwaveInducesHistService; private GreenwaveInducesHistService greenwaveInducesHistService;
@Resource
private GreenwaveInducesHistMapper greenwaveInducesHistMapper;
@Resource @Resource
private GreenwaveInducesService greenwaveInducesService; private GreenwaveInducesService greenwaveInducesService;
@Resource @Resource
private GreenwaveInfoMapper greenwaveInfoMapper; private GreenwaveInfoMapper greenwaveInfoMapper;
@Resource // @Resource
private InduceTemplateService induceTemplateService; // private InduceTemplateService induceTemplateService;
@Resource @Resource
private DeviceInducesService deviceInducesService; private DeviceInducesService deviceInducesService;
...@@ -78,9 +83,8 @@ public class GreenwaveInducesHistController { ...@@ -78,9 +83,8 @@ public class GreenwaveInducesHistController {
List<GreenwaveInducesDTO> list = new ArrayList<>(); List<GreenwaveInducesDTO> list = new ArrayList<>();
List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll(); List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll();
List<GreenwaveInduces> greenwaveInducesList = greenwaveInducesService.list(); List<GreenwaveInduces> greenwaveInducesList = greenwaveInducesService.list();
List<InduceTemplate> induceTemplateList = induceTemplateService.list(); // List<InduceTemplate> induceTemplateList = induceTemplateService.list();
List<DeviceInduces> deviceInducesList = deviceInducesService.list(); List<DeviceInduces> deviceInducesList = deviceInducesService.list();
this.greenwaveInducesHistService.list().stream().forEach(o -> { this.greenwaveInducesHistService.list().stream().forEach(o -> {
GreenwaveInducesDTO greenwaveInducesDTO = new GreenwaveInducesDTO(); GreenwaveInducesDTO greenwaveInducesDTO = new GreenwaveInducesDTO();
greenwaveInducesDTO.setGreenId(o.getGreenId()); greenwaveInducesDTO.setGreenId(o.getGreenId());
...@@ -113,9 +117,8 @@ public class GreenwaveInducesHistController { ...@@ -113,9 +117,8 @@ public class GreenwaveInducesHistController {
induceDTO.setResolutionHeight(deviceInduces.get(0).getResolutionHeight());// induceDTO.setResolutionHeight(deviceInduces.get(0).getResolutionHeight());//
induceDTO.setWkt(deviceInduces.get(0).getWkt()); induceDTO.setWkt(deviceInduces.get(0).getWkt());
} }
//关联模板信息 //关联模板信息
induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x->Objects.nonNull(x.getEquipCode()) && x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList())); //induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x->Objects.isNull(x.getEquipCode()) || x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList()));
induceDTOList.add(induceDTO); induceDTOList.add(induceDTO);
}); });
greenwaveInducesDTO.setInduceList(induceDTOList); greenwaveInducesDTO.setInduceList(induceDTOList);
...@@ -147,13 +150,14 @@ public class GreenwaveInducesHistController { ...@@ -147,13 +150,14 @@ public class GreenwaveInducesHistController {
try { try {
//参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验 //参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验
Map params = JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInducesHist), Map.class); Map params = JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInducesHist), Map.class);
// Map<String, Object> params = new HashMap<>();
// JSONObject.parseObject(JSONObject.toJSONString(GreenwaveInducesHist), Map.class).forEach((k,v) -> params.put(StringUtils.camelToCapital(k.toString()).toLowerCase(), v));
List<GreenwaveInducesDTO> list = new ArrayList<>(); List<GreenwaveInducesDTO> list = new ArrayList<>();
List<GreenwaveInducesHist> greenwaveInducesHistList = this.greenwaveInducesHistService.listByMap(params); List<GreenwaveInducesHist> greenwaveInducesHistList = this.greenwaveInducesHistMapper.findByMap(params);
List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll(); List<GreenwaveInfoPO> greenwaveInfoPOList = greenwaveInfoMapper.selectAll();
List<GreenwaveInduces> greenwaveInducesList = greenwaveInducesService.list(); List<GreenwaveInduces> greenwaveInducesList = greenwaveInducesService.list();
List<InduceTemplate> induceTemplateList = induceTemplateService.list(); // List<InduceTemplate> induceTemplateList = induceTemplateService.list();
List<DeviceInduces> deviceInducesList = deviceInducesService.list(); List<DeviceInduces> deviceInducesList = deviceInducesService.list();
greenwaveInducesHistList.stream().forEach(o -> { greenwaveInducesHistList.stream().forEach(o -> {
GreenwaveInducesDTO greenwaveInducesDTO = new GreenwaveInducesDTO(); GreenwaveInducesDTO greenwaveInducesDTO = new GreenwaveInducesDTO();
greenwaveInducesDTO.setGreenId(o.getGreenId()); greenwaveInducesDTO.setGreenId(o.getGreenId());
...@@ -186,9 +190,8 @@ public class GreenwaveInducesHistController { ...@@ -186,9 +190,8 @@ public class GreenwaveInducesHistController {
induceDTO.setResolutionHeight(deviceInduces.get(0).getResolutionHeight());// induceDTO.setResolutionHeight(deviceInduces.get(0).getResolutionHeight());//
induceDTO.setWkt(deviceInduces.get(0).getWkt()); induceDTO.setWkt(deviceInduces.get(0).getWkt());
} }
//关联模板信息 //关联模板信息
induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x -> Objects.nonNull(x.getEquipCode()) && x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList())); //induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(x -> Objects.isNull(x.getEquipCode()) || x.getEquipCode().equals(n.getEquipCode())).collect(Collectors.toList()));
induceDTOList.add(induceDTO); induceDTOList.add(induceDTO);
}); });
greenwaveInducesDTO.setInduceList(induceDTOList); greenwaveInducesDTO.setInduceList(induceDTOList);
...@@ -199,7 +202,6 @@ public class GreenwaveInducesHistController { ...@@ -199,7 +202,6 @@ public class GreenwaveInducesHistController {
} catch (Exception e) { } catch (Exception e) {
jsonView.fail(I18nResourceBundle.getConstants("GET_FAILED_MSG")); jsonView.fail(I18nResourceBundle.getConstants("GET_FAILED_MSG"));
log.error("{} getByWhere error,jsonStr:{}", this.getClass().getSimpleName(), jsonStr, e); log.error("{} getByWhere error,jsonStr:{}", this.getClass().getSimpleName(), jsonStr, e);
} }
return jsonView; return jsonView;
} }
...@@ -215,7 +217,6 @@ public class GreenwaveInducesHistController { ...@@ -215,7 +217,6 @@ public class GreenwaveInducesHistController {
JsonViewObject getById(@ApiParam(value = "记录的id", required = true, example = "1") @PathVariable("id") @NotBlank(message = "查询id不能为空") String id){ JsonViewObject getById(@ApiParam(value = "记录的id", required = true, example = "1") @PathVariable("id") @NotBlank(message = "查询id不能为空") String id){
JsonViewObject jsonView = JsonViewObject.newInstance(); JsonViewObject jsonView = JsonViewObject.newInstance();
long start=System.currentTimeMillis(); long start=System.currentTimeMillis();
try { try {
GreenwaveInducesHist GreenwaveInducesHist = this.greenwaveInducesHistService.getById(id); GreenwaveInducesHist GreenwaveInducesHist = this.greenwaveInducesHistService.getById(id);
jsonView.success(GreenwaveInducesHist); jsonView.success(GreenwaveInducesHist);
......
...@@ -10,6 +10,7 @@ import net.wanji.common.framework.i18n.I18nResourceBundle; ...@@ -10,6 +10,7 @@ import net.wanji.common.framework.i18n.I18nResourceBundle;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.framework.rest.Page; import net.wanji.common.framework.rest.Page;
import net.wanji.common.framework.rest.ValidationGroups; import net.wanji.common.framework.rest.ValidationGroups;
import net.wanji.common.utils.tool.StringUtils;
import net.wanji.opt.dto.induce.InduceDTO; import net.wanji.opt.dto.induce.InduceDTO;
import net.wanji.opt.entity.InduceHist; import net.wanji.opt.entity.InduceHist;
import net.wanji.opt.service.induce.InduceHistService; import net.wanji.opt.service.induce.InduceHistService;
...@@ -20,10 +21,7 @@ import javax.annotation.Resource; ...@@ -20,10 +21,7 @@ import javax.annotation.Resource;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.ws.rs.QueryParam; import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -78,7 +76,10 @@ public class InduceHistController { ...@@ -78,7 +76,10 @@ public class InduceHistController {
String jsonStr = JSON.toJSONString(InduceHist); String jsonStr = JSON.toJSONString(InduceHist);
try { try {
//参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验 //参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验
Map params = JSONObject.parseObject(JSONObject.toJSONString(InduceHist), Map.class); // Map params = JSONObject.parseObject(JSONObject.toJSONString(InduceHist), Map.class);
Map<String, Object> params = new HashMap<>();
JSONObject.parseObject(JSONObject.toJSONString(InduceHist), Map.class).forEach((k,v) -> params.put(StringUtils.camelToCapital(k.toString()).toLowerCase(), v));
List list = this.induceHistService.listByMap(params); List list = this.induceHistService.listByMap(params);
jsonView.success(list); jsonView.success(list);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -10,6 +10,7 @@ import net.wanji.common.framework.i18n.I18nResourceBundle; ...@@ -10,6 +10,7 @@ import net.wanji.common.framework.i18n.I18nResourceBundle;
import net.wanji.common.framework.rest.JsonViewObject; import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.common.framework.rest.Page; import net.wanji.common.framework.rest.Page;
import net.wanji.common.framework.rest.ValidationGroups; import net.wanji.common.framework.rest.ValidationGroups;
import net.wanji.common.utils.tool.StringUtils;
import net.wanji.opt.entity.InduceTemplate; import net.wanji.opt.entity.InduceTemplate;
import net.wanji.opt.service.induce.InduceTemplateService; import net.wanji.opt.service.induce.InduceTemplateService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
...@@ -20,6 +21,7 @@ import javax.validation.constraints.NotBlank; ...@@ -20,6 +21,7 @@ import javax.validation.constraints.NotBlank;
import javax.ws.rs.QueryParam; import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -77,7 +79,10 @@ public class InduceTemplateController { ...@@ -77,7 +79,10 @@ public class InduceTemplateController {
String jsonStr = JSON.toJSONString(InduceTemplate); String jsonStr = JSON.toJSONString(InduceTemplate);
try { try {
//参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验 //参数校验过程中修改,兼容实现,restful入参不用map,便于进行参数逐个校验
Map params = JSONObject.parseObject(JSONObject.toJSONString(InduceTemplate), Map.class); // Map params = JSONObject.parseObject(JSONObject.toJSONString(InduceTemplate), Map.class);
Map<String, Object> params = new HashMap<>();
JSONObject.parseObject(JSONObject.toJSONString(InduceTemplate), Map.class).forEach((k,v) -> params.put(StringUtils.camelToCapital(k.toString()).toLowerCase(), v));
List list = this.induceTemplateService.listByMap(params); List list = this.induceTemplateService.listByMap(params);
jsonView.success(list); jsonView.success(list);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -17,9 +17,6 @@ import java.util.Map; ...@@ -17,9 +17,6 @@ import java.util.Map;
*/ */
public interface GreenwaveInducesHistMapper extends BaseMapper<GreenwaveInducesHist> { public interface GreenwaveInducesHistMapper extends BaseMapper<GreenwaveInducesHist> {
List<GreenwaveInducesHist> findByMap(Map<String, Object> map);
//
//
// List<GreenwaveInducesHist> findByPage(Map<String, Object> map);
} }
...@@ -17,9 +17,6 @@ import java.util.Map; ...@@ -17,9 +17,6 @@ import java.util.Map;
*/ */
public interface GreenwaveInducesMapper extends BaseMapper<GreenwaveInduces> { public interface GreenwaveInducesMapper extends BaseMapper<GreenwaveInduces> {
List<GreenwaveInduces> findByMap(Map<String, Object> map);
//
//
// List<GreenwaveInduces> findByPage(Map<String, Object> map);
} }
...@@ -40,6 +40,6 @@ public class InduceDTO { ...@@ -40,6 +40,6 @@ public class InduceDTO {
private List<GreenwaveDTO> greenwaveList; private List<GreenwaveDTO> greenwaveList;
@ApiModelProperty(name = "关联模板信息") // @ApiModelProperty(name = "关联模板信息")
private List<InduceTemplate> induceTemplateList; // private List<InduceTemplate> induceTemplateList;
} }
...@@ -100,5 +100,11 @@ public class GreenwaveInduces implements Serializable { ...@@ -100,5 +100,11 @@ public class GreenwaveInduces implements Serializable {
@TableField("gmt_modified") @TableField("gmt_modified")
private Date gmtModified; private Date gmtModified;
/**
* 模糊查询关键字
*/
@TableField(exist = false)
private String keyword;
} }
...@@ -105,7 +105,11 @@ public class GreenwaveInducesHist implements Serializable { ...@@ -105,7 +105,11 @@ public class GreenwaveInducesHist implements Serializable {
@TableField("control_opt_times") @TableField("control_opt_times")
private String controlOptTimes; private String controlOptTimes;
/**
* 模糊查询关键字
*/
@TableField(exist = false)
private String keyword;
} }
...@@ -25,6 +25,7 @@ public interface DiagnoService { ...@@ -25,6 +25,7 @@ public interface DiagnoService {
SchemeOptVO querySchemeOpt(CrossIdAndSchemeIdBO bo); SchemeOptVO querySchemeOpt(CrossIdAndSchemeIdBO bo);
List<SchemeOptVO.PhaseOptTime> queryOptTime(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO); List<SchemeOptVO.PhaseOptTime> queryOptTime(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO);
List<SchemeOptVO.PhaseOptTime> schemeComparison(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO);
void sendManual(SendManualDTO sendManualDTO) throws Exception; void sendManual(SendManualDTO sendManualDTO) throws Exception;
......
...@@ -40,6 +40,7 @@ import org.springframework.stereotype.Service; ...@@ -40,6 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -211,6 +212,27 @@ public class DiagnoServiceImpl implements DiagnoService { ...@@ -211,6 +212,27 @@ public class DiagnoServiceImpl implements DiagnoService {
@Override @Override
public List<SchemeOptVO.PhaseOptTime> queryOptTime(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO) { public List<SchemeOptVO.PhaseOptTime> queryOptTime(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO) {
String crossId = crossIdAndSchemeIdDTO.getCrossId();
Integer schemeId = crossIdAndSchemeIdDTO.getSchemeId();
List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = new ArrayList<>();
// 选择数据批次时间最大的记录
List<CrossSchemeOptLogPO> maxList = crossSchemeOptLogMapper.selectMaxByCrossId(crossId);
for (CrossSchemeOptLogPO crossSchemeOptLogPO : maxList) {
SchemeOptVO.PhaseOptTime phaseOptTime = new SchemeOptVO.PhaseOptTime();
String phaseNo = crossSchemeOptLogPO.getPhaseNo();
phaseOptTime.setPhaseNo(phaseNo);
Integer oriGreenTime = crossSchemeOptLogPO.getOriGreenTime();
phaseOptTime.setOriGreenTime(oriGreenTime);
Integer optGreenTime = getNewGreenTime(crossId, schemeId, phaseNo);
phaseOptTime.setOptGreenTime(optGreenTime);
phaseOptTime.setOptTime(optGreenTime - oriGreenTime);
phaseOptTimeList.add(phaseOptTime);
}
return phaseOptTimeList;
}
@Override
public List<SchemeOptVO.PhaseOptTime> schemeComparison(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO) {
String crossId = crossIdAndSchemeIdDTO.getCrossId(); String crossId = crossIdAndSchemeIdDTO.getCrossId();
Integer schemeId = crossIdAndSchemeIdDTO.getSchemeId(); Integer schemeId = crossIdAndSchemeIdDTO.getSchemeId();
List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = new ArrayList<>(); List<SchemeOptVO.PhaseOptTime> phaseOptTimeList = new ArrayList<>();
...@@ -218,10 +240,22 @@ public class DiagnoServiceImpl implements DiagnoService { ...@@ -218,10 +240,22 @@ public class DiagnoServiceImpl implements DiagnoService {
crossSchemeRingsDTO.setCrossId(crossId); crossSchemeRingsDTO.setCrossId(crossId);
crossSchemeRingsDTO.setPattern(String.valueOf(schemeId)); crossSchemeRingsDTO.setPattern(String.valueOf(schemeId));
//查询当前路口运行的方案
LocalDate now = LocalDate.now();
int week = now.getDayOfWeek().getValue();
if (week == 7) {
//表中周日用0表示
week = 0;
}
//通过路口号和方案号查询方案id //通过路口号和方案号查询方案id
Integer integer = baseCrossSchemeMapper.selectIdByCrossIdAndSchemeNo(crossId, String.valueOf(schemeId)); BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectByCrossIdAndWeek(crossId,week);
List<CrossPhasePO> phasePOList = baseCrossPhaseMapper.selectByCrossIdAndSchemeId(crossId, integer); if (ObjectUtils.isEmpty(baseCrossSchemePO)){
if (ObjectUtils.isEmpty(phasePOList) || ObjectUtils.isEmpty(integer)) { return phaseOptTimeList;
}
Integer schemeNo = Integer.valueOf(baseCrossSchemePO.getSchemeNo());
schemeNo = (schemeNo+2)/3;
List<CrossPhasePO> phasePOList = baseCrossPhaseMapper.selectByCrossIdAndSchemeId(crossId, schemeNo);
if (ObjectUtils.isEmpty(phasePOList) || ObjectUtils.isEmpty(schemeNo)) {
return phaseOptTimeList; return phaseOptTimeList;
} }
JsonViewObject jsonViewObject = utcFeignClients.schemeOptLog(crossSchemeRingsDTO); JsonViewObject jsonViewObject = utcFeignClients.schemeOptLog(crossSchemeRingsDTO);
......
...@@ -2,4 +2,41 @@ ...@@ -2,4 +2,41 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.opt.dao.mapper.induce.GreenwaveInducesHistMapper"> <mapper namespace="net.wanji.opt.dao.mapper.induce.GreenwaveInducesHistMapper">
<select id="findByMap" resultType="net.wanji.opt.entity.GreenwaveInducesHist" parameterType="java.util.Map">
SELECT h.* FROM `t_greenwave_induces_hist` h LEFT JOIN `t_greenwave_info` t ON t.`id`=h.`green_id` WHERE 1=1
<include refid="sql_query"/>
<if test="keyword != null and keyword != ''">
AND ( locate(#{keyword,jdbcType=VARCHAR}, t.`name`)>0 )
</if>
</select>
<sql id="sql_query">
<if test="greenId != null ">
<![CDATA[ and h.`green_id` = #{greenId} ]]>
</if>
<if test="strategyName != null and strategyName != ''">
<![CDATA[ and h.`strategy_name` =#{strategyName} ]]>
</if>
<if test="type != null ">
<![CDATA[ and h.`type` =#{type} ]]>
</if>
<if test="dir != null ">
<![CDATA[ and h.`dir` =#{dir} ]]>
</if>
<if test="maxSpeed != null">
<![CDATA[ and h.`max_speed` =#{maxSpeed} ]]>
</if>
<if test="minSpeed != null">
<![CDATA[ and h.`min_speed` =#{minSpeed} ]]>
</if>
<if test="strategyId != null">
<![CDATA[ and h.`strategy_id` =#{strategyId} ]]>
</if>
<if test="status != null">
<![CDATA[ and h.`status` =#{status} ]]>
</if>
<if test="controlOptTimes != null">
<![CDATA[ and h.`control_opt_times` =#{controlOptTimes} ]]>
</if>
</sql>
</mapper> </mapper>
...@@ -2,4 +2,40 @@ ...@@ -2,4 +2,40 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="net.wanji.opt.dao.mapper.induce.GreenwaveInducesMapper"> <mapper namespace="net.wanji.opt.dao.mapper.induce.GreenwaveInducesMapper">
<select id="findByMap" resultType="net.wanji.opt.entity.GreenwaveInduces" parameterType="java.util.Map">
SELECT i.* FROM `t_greenwave_induces` i LEFT JOIN `t_device_induces` t ON t.`equip_code`=i.`equip_code` WHERE 1=1
<include refid="sql_query"/>
<if test="keyword != null and keyword != ''">
AND ( locate(#{keyword,jdbcType=VARCHAR}, t.`equip_name`)>0 )
</if>
</select>
<sql id="sql_query">
<if test="greenId != null ">
<![CDATA[ and i.green_id = #{greenId} ]]>
</if>
<if test="equipCode != null and equipCode != ''">
<![CDATA[ and i.equip_code =#{equipCode} ]]>
</if>
<if test="dir != null ">
<![CDATA[ and i.dir =#{dir} ]]>
</if>
<if test="sort != null ">
<![CDATA[ and i.sort =#{sort} ]]>
</if>
<if test="sourceId != null and sourceId != ''">
<![CDATA[ and i.source_id =#{sourceId} ]]>
</if>
<if test="playorder != null ">
<![CDATA[ and i.playorder =#{playorder} ]]>
</if>
<if test="duration != null ">
<![CDATA[ and i.duration =#{duration} ]]>
</if>
<if test="status != null and status != ''">
<![CDATA[ and i.status =#{status} ]]>
</if>
</sql>
</mapper> </mapper>
...@@ -42,6 +42,7 @@ public class CrossRunSchemeCache implements CommandLineRunner { ...@@ -42,6 +42,7 @@ public class CrossRunSchemeCache implements CommandLineRunner {
@Override @Override
public void run(String... args) throws Exception { public void run(String... args) throws Exception {
init(); init();
System.out.println(currentRunSchemeNoCache);
} }
public void init() throws Exception { public void init() throws Exception {
......
...@@ -35,7 +35,6 @@ import javax.annotation.Resource; ...@@ -35,7 +35,6 @@ import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
/** /**
* @author duanruiming * @author duanruiming
...@@ -240,7 +239,7 @@ public class ControlCommandServiceImpl implements ControlCommandService { ...@@ -240,7 +239,7 @@ public class ControlCommandServiceImpl implements ControlCommandService {
@Override @Override
public JsonViewObject recoverSchedule(String code) throws Exception { public JsonViewObject recoverSchedule(String code) throws Exception {
log.info("接收到恢复固定配时,code:{}",code); log.info("接收到恢复固定配时,code:{}", code);
CrossInfoPOExt crossInfoPOExt = crossInfoMapper.selectById(code); CrossInfoPOExt crossInfoPOExt = crossInfoMapper.selectById(code);
//组装document //组装document
Document document = OperationBaseDom.generateBaseDoc(); Document document = OperationBaseDom.generateBaseDoc();
...@@ -317,8 +316,8 @@ public class ControlCommandServiceImpl implements ControlCommandService { ...@@ -317,8 +316,8 @@ public class ControlCommandServiceImpl implements ControlCommandService {
messageContent.addElement(HttpConstants.CYCLE).setText(tempSchemeSendVO.getCycle()); messageContent.addElement(HttpConstants.CYCLE).setText(tempSchemeSendVO.getCycle());
messageContent.addElement(HttpConstants.OFFSET).setText(tempSchemeSendVO.getOffset()); messageContent.addElement(HttpConstants.OFFSET).setText(tempSchemeSendVO.getOffset());
messageContent.addElement(HttpConstants.TYPE).setText(tempSchemeSendVO.getType()); messageContent.addElement(HttpConstants.TYPE).setText(tempSchemeSendVO.getType());
tempSchemeSendVO.setSplit(tempSchemeSendVO.getSplit().replaceAll(" ",",")); //卫博传的是空格
messageContent.addElement(HttpConstants.SPLIT).setText(tempSchemeSendVO.getSplit()); messageContent.addElement(HttpConstants.SPLIT).setText(tempSchemeSendVO.getSplit().replaceAll(" ", ","));
//给海信发送http请求 //给海信发送http请求
String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML()); String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
...@@ -350,17 +349,17 @@ public class ControlCommandServiceImpl implements ControlCommandService { ...@@ -350,17 +349,17 @@ public class ControlCommandServiceImpl implements ControlCommandService {
if (HttpConstants.RESULT_1.equals(result)) { if (HttpConstants.RESULT_1.equals(result)) {
//指令下发成功 //指令下发成功
jsonViewObject.success("临时方案 - 指令下发成功"); jsonViewObject.success("临时方案 - 指令下发成功");
log.info("临时方案下发成功,tempSchemeSendVO:{}",JSONObject.toJSONString(tempSchemeSendVO)); log.info("临时方案下发成功,tempSchemeSendVO:{}", JSONObject.toJSONString(tempSchemeSendVO));
} else if (HttpConstants.RESULT_0.equals(result)) { } else if (HttpConstants.RESULT_0.equals(result)) {
log.error("临时方案下发失败,tempSchemeSendVO:{}",JSONObject.toJSONString(tempSchemeSendVO)); log.error("临时方案下发失败,tempSchemeSendVO:{}", JSONObject.toJSONString(tempSchemeSendVO));
//指令下发失败 //指令下发失败
jsonViewObject.fail("临时方案 - 指令下发失败"); jsonViewObject.fail("临时方案 - 指令下发失败");
} else if (HttpConstants.RESULT_2.equals(result)) { } else if (HttpConstants.RESULT_2.equals(result)) {
log.info("临时方案指令执行成功,tempSchemeSendVO:{}",JSONObject.toJSONString(tempSchemeSendVO)); log.info("临时方案指令执行成功,tempSchemeSendVO:{}", JSONObject.toJSONString(tempSchemeSendVO));
//指令执行成功 //指令执行成功
jsonViewObject.success("临时方案 - 指令执行成功"); jsonViewObject.success("临时方案 - 指令执行成功");
} else { } else {
log.error("临时方案指令执行失败,tempSchemeSendVO:{}",JSONObject.toJSONString(tempSchemeSendVO)); log.error("临时方案指令执行失败,tempSchemeSendVO:{}", JSONObject.toJSONString(tempSchemeSendVO));
//指令执行失败 //指令执行失败
jsonViewObject.fail("临时方案 - 指令执行失败"); jsonViewObject.fail("临时方案 - 指令执行失败");
} }
...@@ -417,17 +416,10 @@ public class ControlCommandServiceImpl implements ControlCommandService { ...@@ -417,17 +416,10 @@ public class ControlCommandServiceImpl implements ControlCommandService {
//方案环图请求 //方案环图请求
CrossSchemeRings crossSchemeRings = staticInfoService.crossSchemeRings(crossSchemeRingsDTO); CrossSchemeRings crossSchemeRings = staticInfoService.crossSchemeRings(crossSchemeRingsDTO);
long currentTimeMillis = System.currentTimeMillis(); long currentTimeMillis = System.currentTimeMillis();
if (Optional.ofNullable(crossSchemeRings).isPresent() || result == 2) { if (ObjectUtil.isNotEmpty(crossSchemeRings) && result == 1) {
//环数 //环数
int ringCount = Integer.parseInt(crossSchemeRings.getRingCount()); int ringCount = Integer.parseInt(crossSchemeRings.getRingCount());
//周期长度
String cycleLen = crossSchemeRings.getCycleLen();
JSONObject cycleJSONObject = crossSchemeRings.getCycleList(); JSONObject cycleJSONObject = crossSchemeRings.getCycleList();
//相位差
String offset = crossSchemeRings.getOffset();
int cycle = Integer.valueOf(cycleLen);
//方案号
int schemeNo = (Integer.valueOf(crossSchemeRings.getPattern()) + 2) / 3;
List<CrossSchemeRings.Phase> phaseList = crossSchemeRings.getPhaseList(); List<CrossSchemeRings.Phase> phaseList = crossSchemeRings.getPhaseList();
CrossSchemeRings.Phase phase = phaseList.get(0); CrossSchemeRings.Phase phase = phaseList.get(0);
//红灯黄灯时间给默认值0 //红灯黄灯时间给默认值0
...@@ -435,12 +427,12 @@ public class ControlCommandServiceImpl implements ControlCommandService { ...@@ -435,12 +427,12 @@ public class ControlCommandServiceImpl implements ControlCommandService {
phase.setYellowTime(getDefaultPhaseTime()); phase.setYellowTime(getDefaultPhaseTime());
//绿灯时间为神思绿信比时间 //绿灯时间为神思绿信比时间
phase.setGreenTime(greenTime); phase.setGreenTime(greenTime);
//封装环和环上相位数据
Map<Integer, List<RingPhaseDTO>> ringPhasesMap = staticInfoServiceImpl.getRingPhasesMap(ringCount, cycleJSONObject, phase);
//环封装阶段
List<StagePhaseDTO> stagePhaseDTOList = null; List<StagePhaseDTO> stagePhaseDTOList = null;
try { try {
stagePhaseDTOList = staticInfoServiceImpl.stagePhaseList(cycle, ringCount, ringPhasesMap); //封装环和环上相位数据
Map<Integer, List<RingPhaseDTO>> ringPhasesMap = staticInfoServiceImpl.getRingPhasesMap(ringCount, cycleJSONObject, phase);
//环封装阶段
stagePhaseDTOList = staticInfoServiceImpl.stagePhaseList(Integer.valueOf(tempSchemeSendVO.getCycle()), ringCount, ringPhasesMap);
} catch (Exception e) { } catch (Exception e) {
CrossSchemeStageOptLogPO crossSchemeStageOptLogPO = new CrossSchemeStageOptLogPO(); CrossSchemeStageOptLogPO crossSchemeStageOptLogPO = new CrossSchemeStageOptLogPO();
crossSchemeStageOptLogPO.setCrossId(crossId); crossSchemeStageOptLogPO.setCrossId(crossId);
......
package net.wanji.utc.hisense.service.impl; package net.wanji.utc.hisense.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -8,10 +9,12 @@ import lombok.extern.slf4j.Slf4j; ...@@ -8,10 +9,12 @@ import lombok.extern.slf4j.Slf4j;
import net.wanji.common.utils.tool.ScheduleUtil; import net.wanji.common.utils.tool.ScheduleUtil;
import net.wanji.common.utils.tool.StringUtils; import net.wanji.common.utils.tool.StringUtils;
import net.wanji.databus.dao.entity.*; import net.wanji.databus.dao.entity.*;
import net.wanji.databus.dao.mapper.BaseCrossSchemeMapper;
import net.wanji.databus.dao.mapper.CrossInfoMapper; import net.wanji.databus.dao.mapper.CrossInfoMapper;
import net.wanji.databus.dao.mapper.CrossSchemeStageOptLogMapper; import net.wanji.databus.dao.mapper.CrossSchemeStageOptLogMapper;
import net.wanji.databus.dao.mapper.ManufacturerInfoMapper; import net.wanji.databus.dao.mapper.ManufacturerInfoMapper;
import net.wanji.databus.dto.*; import net.wanji.databus.dto.*;
import net.wanji.databus.po.CoordinationStatus;
import net.wanji.databus.po.CrossInfoPO; import net.wanji.databus.po.CrossInfoPO;
import net.wanji.databus.po.CrossInfoPOExt; import net.wanji.databus.po.CrossInfoPOExt;
import net.wanji.databus.vo.PlanSectionVO; import net.wanji.databus.vo.PlanSectionVO;
...@@ -22,7 +25,6 @@ import net.wanji.utc.hisense.common.constants.HttpConstants; ...@@ -22,7 +25,6 @@ import net.wanji.utc.hisense.common.constants.HttpConstants;
import net.wanji.utc.hisense.mapper.*; import net.wanji.utc.hisense.mapper.*;
import net.wanji.utc.hisense.pojo.dto.RingPhaseDTO; import net.wanji.utc.hisense.pojo.dto.RingPhaseDTO;
import net.wanji.utc.hisense.pojo.dto.StagePhaseDTO; import net.wanji.utc.hisense.pojo.dto.StagePhaseDTO;
import net.wanji.databus.po.CoordinationStatus;
import net.wanji.utc.hisense.pojo.result.CrossSchemeRings; import net.wanji.utc.hisense.pojo.result.CrossSchemeRings;
import net.wanji.utc.hisense.pojo.view.*; import net.wanji.utc.hisense.pojo.view.*;
import net.wanji.utc.hisense.service.StaticInfoService; import net.wanji.utc.hisense.service.StaticInfoService;
...@@ -38,6 +40,7 @@ import org.springframework.stereotype.Service; ...@@ -38,6 +40,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -71,6 +74,8 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -71,6 +74,8 @@ public class StaticInfoServiceImpl implements StaticInfoService {
private VNtcipPatternMapper vNtcipPatternMapper; private VNtcipPatternMapper vNtcipPatternMapper;
@Resource @Resource
private CrossSchemeStageOptLogMapper crossSchemeStageOptLogMapper; private CrossSchemeStageOptLogMapper crossSchemeStageOptLogMapper;
@Resource
private BaseCrossSchemeMapper baseCrossSchemeMapper;
@Override @Override
public List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO) throws Exception { public List<CrossInfoPO> crossBasicInfo(CrossInfoDTO crossInfoDTO) throws Exception {
...@@ -676,6 +681,45 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -676,6 +681,45 @@ public class StaticInfoServiceImpl implements StaticInfoService {
@Override @Override
public CoordinationStatus crossPlan(String crossId) throws Exception { public CoordinationStatus crossPlan(String crossId) throws Exception {
CoordinationStatus coordinationStatus = null;
int schemeId = 0;
//查询当前路口运行的方案
LocalDate now = LocalDate.now();
int week = now.getDayOfWeek().getValue();
if (week == 7) {
//表中周日用0表示
week = 0;
}
BaseCrossSchemePO baseCrossSchemePO = baseCrossSchemeMapper.selectByCrossIdAndWeek(crossId, week);
if (ObjectUtil.isNotEmpty(baseCrossSchemePO)) {
coordinationStatus = new CoordinationStatus();
//从缓存中拿路口信息
CrossInfoPO crossInfoPO = CrossInfoCache.getCrossInfoCache().get(crossId);
if (ObjectUtil.isNotNull(crossInfoPO)) {
coordinationStatus.setSpot(crossInfoPO.getCode());
//海信的方案号
int schemeNo = Integer.valueOf(baseCrossSchemePO.getSchemeNo()) * 3 - 2;
if (schemeNo == 253) {
//黃闪
schemeNo = 255;
}
coordinationStatus.setCoordPatternStatus(String.valueOf(schemeNo));
coordinationStatus.setCoordCycleStatus(String.valueOf(baseCrossSchemePO.getCycle()));
}
} else {
coordinationStatus = crossPlanHisense(crossId);
}
return coordinationStatus;
}
/**
* @return net.wanji.databus.po.CoordinationStatus
* @Description 直接获取海信的私有协议
* @Param [crossId]
**/
public CoordinationStatus crossPlanHisense(String crossId) throws Exception {
CrossInfoPOExt crossInfoPOExt = crossInfoMapper.selectById(crossId); CrossInfoPOExt crossInfoPOExt = crossInfoMapper.selectById(crossId);
//组装document //组装document
Document document = OperationBaseDom.generateBaseDoc(); Document document = OperationBaseDom.generateBaseDoc();
...@@ -723,7 +767,21 @@ public class StaticInfoServiceImpl implements StaticInfoService { ...@@ -723,7 +767,21 @@ public class StaticInfoServiceImpl implements StaticInfoService {
element.addElement(HttpConstants.MESSAGETYPE).setText(HttpConstants.MESSAGETYPE_30); element.addElement(HttpConstants.MESSAGETYPE).setText(HttpConstants.MESSAGETYPE_30);
Element messageContent = (Element) document.selectSingleNode(HttpConstants.SYSTEMSCRIPTION_MESSAGECONTENT); Element messageContent = (Element) document.selectSingleNode(HttpConstants.SYSTEMSCRIPTION_MESSAGECONTENT);
messageContent.addElement(HttpConstants.SPOT).setText(crossInfoPOExt.getCode()); messageContent.addElement(HttpConstants.SPOT).setText(crossInfoPOExt.getCode());
messageContent.addElement(HttpConstants.PATTERN).setText(crossSchemeRingsDTO.getPattern()); //获取当前运行的方案号
CoordinationStatus coordinationStatus = crossPlan(crossSchemeRingsDTO.getCrossId());
if (ObjectUtil.isEmpty(coordinationStatus)) {
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}",crossSchemeRingsDTO.getCrossId());
return null;
}else if ("255".equals(coordinationStatus.getCoordPatternStatus())){
//黃闪
CrossSchemeRings crossSchemeRings = new CrossSchemeRings();
crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId());
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
return crossSchemeRings;
}
messageContent.addElement(HttpConstants.PATTERN).setText(coordinationStatus.getCoordPatternStatus());
//给海信发送http请求 //给海信发送http请求
String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML()); String post = OkHttpClientUtil.xmlPost(hisenseUrl, document.asXML());
if (StringUtils.isBlank(post)) { if (StringUtils.isBlank(post)) {
......
...@@ -60,4 +60,5 @@ public interface BaseCrossSchemeMapper { ...@@ -60,4 +60,5 @@ public interface BaseCrossSchemeMapper {
BaseCrossSchemePO selectByCrossIdAndSchemeId(String crossId, Integer schemeId); BaseCrossSchemePO selectByCrossIdAndSchemeId(String crossId, Integer schemeId);
List<CrossSchemeInfoPO> selectSchemeInfoByCrossIdAndSchemeId(String crossId, Integer schemeId); List<CrossSchemeInfoPO> selectSchemeInfoByCrossIdAndSchemeId(String crossId, Integer schemeId);
BaseCrossSchemePO selectByCrossIdAndWeek(@Param("crossId") String crossId,@Param("week") int week);
} }
...@@ -25,7 +25,6 @@ public class CrossSchemeRingsDTO { ...@@ -25,7 +25,6 @@ public class CrossSchemeRingsDTO {
private String crossId; private String crossId;
@ApiModelProperty(value = "方案号") @ApiModelProperty(value = "方案号")
@NotNull(message = "pattern 不能为空")
private String pattern; private String pattern;
} }
...@@ -187,37 +187,53 @@ ...@@ -187,37 +187,53 @@
</select> </select>
<select id="selectSchemeInfoByCrossIdAndSchemeId" resultType="net.wanji.databus.po.CrossSchemeInfoPO"> <select id="selectSchemeInfoByCrossIdAndSchemeId" resultType="net.wanji.databus.po.CrossSchemeInfoPO">
SELECT SELECT
sche.id AS schemeId, sche.id AS schemeId,
sche.cross_id AS crossId, sche.cross_id AS crossId,
sche.scheme_no AS schemeNo, sche.scheme_no AS schemeNo,
phase.phase_no AS phaseNo, phase.phase_no AS phaseNo,
phase.phase_time AS phaseTime, phase.phase_time AS phaseTime,
phase.id AS phaseId, phase.id AS phaseId,
phase.green_time AS greenTime, phase.green_time AS greenTime,
phase.yellow_time AS yellowTime, phase.yellow_time AS yellowTime,
phase.red_time AS redTime, phase.red_time AS redTime,
pl.lights_id AS lightsId, pl.lights_id AS lightsId,
light.dir, light.dir,
ll.lane_id AS landId, ll.lane_id AS landId,
lane.turn, lane.turn,
lane.category AS laneType lane.category AS laneType
FROM FROM
t_base_cross_scheme sche t_base_cross_scheme sche
LEFT JOIN t_base_cross_phase phase ON sche.cross_id = phase.cross_id LEFT JOIN t_base_cross_phase phase ON sche.cross_id = phase.cross_id
AND sche.id = phase.plan_id AND sche.id = phase.plan_id
LEFT JOIN t_base_cross_phase_lights pl ON pl.cross_id = phase.cross_id LEFT JOIN t_base_cross_phase_lights pl ON pl.cross_id = phase.cross_id
AND pl.phase_id = phase.id AND pl.phase_id = phase.id
LEFT JOIN t_base_cross_lights light ON light.cross_id = phase.cross_id LEFT JOIN t_base_cross_lights light ON light.cross_id = phase.cross_id
AND light.id = pl.lights_id AND light.id = pl.lights_id
LEFT JOIN t_base_cross_lane_lights ll ON ll.cross_id = light.cross_id LEFT JOIN t_base_cross_lane_lights ll ON ll.cross_id = light.cross_id
AND ll.lights_id = light.id AND ll.lights_id = light.id
LEFT JOIN t_base_lane_info lane ON lane.cross_id = ll.cross_id LEFT JOIN t_base_lane_info lane ON lane.cross_id = ll.cross_id
AND lane.id = ll.lane_id AND lane.id = ll.lane_id
WHERE WHERE
sche.cross_id = #{crossId} sche.cross_id = #{crossId}
AND sche.scheme_no = #{schemeId} AND sche.scheme_no = #{schemeId}
ORDER BY ORDER BY
phaseNo ASC phaseNo ASC
</select>
<select id="selectByCrossIdAndWeek" resultType="net.wanji.databus.dao.entity.BaseCrossSchemePO">
SELECT
scheme.id AS id,scheme.scheme_no AS schemeNo,scheme.name AS name,scheme.cross_id AS crossId,scheme.cycle AS cycle,scheme.coord_phase AS coordPhase,scheme.offset AS offset,scheme.source AS source,scheme.is_deleted AS isDeleted,scheme.status AS status,scheme.gmt_create AS gmtCreate,scheme.gmt_modified AS gmtModified
FROM
t_cross_schedules schedules
LEFT JOIN t_cross_section section ON section.cross_id = schedules.cross_id
AND schedules.plan_id = section.plan_id
LEFT JOIN t_cross_scheme scheme ON scheme.cross_id = section.cross_id
AND section.scheme_id = scheme.id
WHERE
schedules.cross_id = #{crossId}
AND schedules.`week` = #{week}
AND DATE_FORMAT( NOW(), '%H:%i' ) BETWEEN DATE_FORMAT( CAST( section.start_time AS TIME ), '%H:%i' )
AND DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' )
</select> </select>
</mapper> </mapper>
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