Commit b6203261 authored by hanbing's avatar hanbing

获取方案信息逻辑修改

parent 4261c952
...@@ -2,20 +2,19 @@ package net.wanji.utc.entity.cache; ...@@ -2,20 +2,19 @@ package net.wanji.utc.entity.cache;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author Kent HAN * @author Kent HAN
* @date 2022/11/18 9:12 * @date 2022/11/18 9:12
*/ */
@Data @Data
public class PhaseCache { public class PhaseCache {
private Integer ringNo; // 环号
private Integer phaseNo; // 相位号
private String phaseName; // "北向进口通行"
private Integer phaseSequence; // 相位序
private Integer phaseLength; // 相位时间
private Integer schemeId; // 方案ID
private Integer phaseId; // 相位ID private Integer phaseId; // 相位ID
private List<Integer> laneNoList; // 车道号列表 private Integer phaseNo; // 相位号
private String desc; // "北向进口通行"
private Integer yellow; // 黄灯时间
private Integer allred; // 红灯时间
private Integer greenFlash; // 绿闪时间
private Integer redFlash; // 红闪时间
private Integer minGreen; // 最小绿灯时间
private Integer maxGreen; // 最大绿灯时间
} }
...@@ -10,9 +10,11 @@ import java.util.List; ...@@ -10,9 +10,11 @@ import java.util.List;
* @date 2022/11/18 10:44 * @date 2022/11/18 10:44
*/ */
public interface CrossPhaseMapper { public interface CrossPhaseMapper {
void deleteOne(@Param("crossId") String crossId, @Param("phaseNo") String phaseNo); void deleteBatch(@Param("crossId") String crossId, @Param("schemeId") String schemeId);
void insertOne(CrossPhasePO crossPhasePO); void insertOne(CrossPhasePO crossPhasePO);
List<CrossPhasePO> selectByCrossIdAndPlanId(@Param("crossId") String crossId, @Param("planId") String planId); List<CrossPhasePO> selectByCrossIdAndPlanId(@Param("crossId") String crossId, @Param("planId") String planId);
List<Integer> selectIdsByPhaseNo(@Param("phaseNo") Integer phaseNo);
} }
...@@ -16,6 +16,6 @@ public interface CrossSchemeMapper { ...@@ -16,6 +16,6 @@ public interface CrossSchemeMapper {
void deleteOne(@Param("crossId") String crossId, @Param("patternNo") String patternNo); void deleteOne(@Param("crossId") String crossId, @Param("patternNo") String patternNo);
CrossSchemePO selectByCrossIdAndSchemeNo(@Param("crossId")String crossId, CrossSchemePO selectByCrossIdAndSchemeNo(@Param("crossId") String crossId,
@Param("schemeNo")Integer schemeNo); @Param("schemeNo") Integer schemeNo);
} }
...@@ -5,15 +5,14 @@ import com.alibaba.fastjson.JSONArray; ...@@ -5,15 +5,14 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.hikvision.artemis.sdk.config.ArtemisConfig;
import net.wanji.utc.common.commonentity.HttpRequest;
import net.wanji.utc.common.constant.Constants; import net.wanji.utc.common.constant.Constants;
import net.wanji.utc.common.typeenum.*; import net.wanji.utc.common.typeenum.*;
import net.wanji.utc.entity.cache.PhaseCache; import net.wanji.utc.entity.cache.PhaseCache;
import net.wanji.utc.mapper.*; import net.wanji.utc.mapper.*;
import net.wanji.utc.po.*; import net.wanji.utc.po.*;
import net.wanji.utc.service.staticinfo.HkSchemePhaseLightsService; import net.wanji.utc.service.staticinfo.HkSchemePhaseLightsService;
import net.wanji.utc.util.PathUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
...@@ -26,11 +25,6 @@ import java.util.*; ...@@ -26,11 +25,6 @@ import java.util.*;
*/ */
@Service @Service
public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsService { public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsService {
// 相位信息缓存,key-相位号,value-相位信息对象
public static Map<Integer, PhaseCache> phaseCacheMap = new HashMap<>();
@Value("${signal.manufacturer.hk.artemisPath}")
private String artemisPath;
@Autowired @Autowired
private ArtemisConfig artemisConfig; private ArtemisConfig artemisConfig;
@Autowired @Autowired
...@@ -44,10 +38,13 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -44,10 +38,13 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
@Override @Override
public void hkSchemePhaseLights(String crossId, String crossCode) throws Exception { public void hkSchemePhaseLights(String crossId, String crossCode) throws Exception {
List<CrossSchemePO> crossSchemePOList = new ArrayList<>(); // 匹配用缓存
Map<Integer, PhaseCache> phaseNoMap = new HashMap<>();
// 请求3.1.3接口,获取并处理方案数据 Map<Integer, PhaseCache> laneNoMap = new HashMap<>();
Map<String, String> path = getPathMapByApiCode("uploadPatternCodeList"); // 请求3.1.11接口,获取并缓存全量相位数据
handlePhaseData(crossCode, phaseNoMap, laneNoMap);
// 请求3.1.3接口,获取并处理方案列表
Map<String, String> path = PathUtil.getPathMapByApiCode("uploadPatternCodeList");
Map<String, String> queryMap = new HashMap<>(); Map<String, String> queryMap = new HashMap<>();
queryMap.put("crossCode", crossCode); queryMap.put("crossCode", crossCode);
String Result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, null, queryMap, String Result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, null, queryMap,
...@@ -59,21 +56,16 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -59,21 +56,16 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
JSONObject obj = data.getJSONObject(i); JSONObject obj = data.getJSONObject(i);
Integer patternNo = obj.getInteger("patternNo"); Integer patternNo = obj.getInteger("patternNo");
String patternName = obj.getString("patternName"); String patternName = obj.getString("patternName");
// 请求3.1.4接口,获取并处理方案数据 handleSchemeData(crossId, crossCode, patternNo, patternName, phaseNoMap);
handleSchemeData(crossId, crossCode, crossSchemePOList, patternNo, patternName);
} }
} }
// 请求3.1.11接口,获取并处理相位数据
handlePhaseData(crossId, crossCode);
// 请求3.1.2接口,获取并处理灯组数据 // 请求3.1.2接口,获取并处理灯组数据
List<CrossPhaseLightsPO> crossPhaseLightsPOList = handleLightsData(crossId, crossCode); handleLightsData(crossId, crossCode, laneNoMap);
// 更新相位-灯组关系
crossPhaseLightsMapper.deleteByCrossId(crossId);
crossPhaseLightsMapper.insertBatch(crossPhaseLightsPOList);
} }
private List<CrossPhaseLightsPO> handleLightsData(String crossId, String crossCode) throws Exception { private void handleLightsData(String crossId, String crossCode, Map<Integer, PhaseCache> laneNoMap)
Map<String, String> path = getPathMapByApiCode("getCrossInfo"); throws Exception {
Map<String, String> path = PathUtil.getPathMapByApiCode("getCrossInfo");
List<CrossPhaseLightsPO> crossPhaseLightsPOList = new ArrayList<>(); List<CrossPhaseLightsPO> crossPhaseLightsPOList = new ArrayList<>();
JSONObject requestContent = new JSONObject(); JSONObject requestContent = new JSONObject();
// 海康固定入参字段名 // 海康固定入参字段名
...@@ -100,8 +92,8 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -100,8 +92,8 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
CrossLightsPO crossLightsPO = new CrossLightsPO(); CrossLightsPO crossLightsPO = new CrossLightsPO();
String lightsNo = laneObj.getString("channelNo"); String lightsNo = laneObj.getString("channelNo");
crossLightsPO.setLightsNo(lightsNo); crossLightsPO.setLightsNo(lightsNo);
String elementId = laneObj.getString("elementId"); String laneNo = laneObj.getString("laneNo");
crossLightsPO.setName(elementId); crossLightsPO.setName(laneNo);
Integer lampGroupType = laneObj.getInteger("lampGroupType"); Integer lampGroupType = laneObj.getInteger("lampGroupType");
Integer type = HkLightsTypeEnum.getCodeByHkCode(lampGroupType); Integer type = HkLightsTypeEnum.getCodeByHkCode(lampGroupType);
crossLightsPO.setType(type); crossLightsPO.setType(type);
...@@ -114,19 +106,19 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -114,19 +106,19 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
crossLightsPO.setCrossId(crossId); crossLightsPO.setCrossId(crossId);
crossLightsPO.setInOutType(3); // 海康都是进出口 crossLightsPO.setInOutType(3); // 海康都是进出口
// 插入数据返回自增ID // 插入数据返回自增ID
crossLightsMapper.deleteOne(crossId, elementId); crossLightsMapper.deleteOne(crossId, laneNo);
crossLightsMapper.insertOne(crossLightsPO); crossLightsMapper.insertOne(crossLightsPO);
Integer crossLightsPOId = crossLightsPO.getId(); Integer crossLightsPOId = crossLightsPO.getId();
// 匹配缓存信息,构造相位灯组关系对象列表 // 匹配缓存信息,构造相位灯组关系对象列表
Integer laneNo = laneObj.getInteger("laneNo"); PhaseCache phaseCache = laneNoMap.get(Integer.parseInt(laneNo));
Collection<PhaseCache> phaseCaches = phaseCacheMap.values(); if (phaseCache != null) {
for (PhaseCache phaseCache : phaseCaches) { Integer phaseNo = phaseCache.getPhaseNo();
List<Integer> laneNoList = phaseCache.getLaneNoList(); List<Integer> ids = crossPhaseMapper.selectIdsByPhaseNo(phaseNo);
for (Integer laneNoInCache : laneNoList) { if (ids != null) {
if (Objects.equals(laneNo, laneNoInCache)) { for (Integer id : ids) {
CrossPhaseLightsPO crossPhaseLightsPO = new CrossPhaseLightsPO(); CrossPhaseLightsPO crossPhaseLightsPO = new CrossPhaseLightsPO();
crossPhaseLightsPO.setLightsId(crossLightsPOId); crossPhaseLightsPO.setLightsId(crossLightsPOId);
crossPhaseLightsPO.setPhaseId(phaseCache.getPhaseId()); crossPhaseLightsPO.setPhaseId(id);
crossPhaseLightsPO.setCrossId(crossId); crossPhaseLightsPO.setCrossId(crossId);
crossPhaseLightsPOList.add(crossPhaseLightsPO); crossPhaseLightsPOList.add(crossPhaseLightsPO);
} }
...@@ -135,11 +127,14 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -135,11 +127,14 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
} }
} }
} }
return crossPhaseLightsPOList; // 更新相位-灯组关系
crossPhaseLightsMapper.deleteByCrossId(crossId);
crossPhaseLightsMapper.insertBatch(crossPhaseLightsPOList);
} }
private void handlePhaseData(String crossId, String crossCode) throws Exception { private void handlePhaseData(String crossCode, Map<Integer, PhaseCache> phaseNoMap,
Map<String, String> path = getPathMapByApiCode("getPhaseRlatLanes"); Map<Integer, PhaseCache> laneNoMap) throws Exception {
Map<String, String> path = PathUtil.getPathMapByApiCode("getPhaseRlatLanes");
Map<String, String> queryMap = new HashMap<>(); Map<String, String> queryMap = new HashMap<>();
queryMap.put("crossCode", crossCode); queryMap.put("crossCode", crossCode);
String Result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, null, queryMap, String Result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, null, queryMap,
...@@ -148,45 +143,43 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -148,45 +143,43 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
if(Constants.HK_SUCCESS_CODE.equals(object.getInteger(Constants.HK_CODE_KEY))) { if(Constants.HK_SUCCESS_CODE.equals(object.getInteger(Constants.HK_CODE_KEY))) {
JSONObject data = object.getJSONObject("data"); JSONObject data = object.getJSONObject("data");
JSONArray list = data.getJSONArray("phaseList"); JSONArray list = data.getJSONArray("phaseList");
for (int k = 0; k < list.size(); k++) { for (int i = 0; i < list.size(); i++) {
CrossPhasePO crossPhasePO = new CrossPhasePO(); PhaseCache phaseCache = new PhaseCache();
JSONObject phase = list.getJSONObject(k); JSONObject phase = list.getJSONObject(i);
Integer phaseNo = phase.getInteger("phaseNo");
// 从缓存中获取数据
PhaseCache phaseCache = phaseCacheMap.get(phaseNo);
crossPhasePO.setPhaseNo(phaseCache.getPhaseNo().toString());
crossPhasePO.setName(phaseCache.getPhaseName());
crossPhasePO.setSort(phaseCache.getPhaseSequence());
crossPhasePO.setCrossId(crossId);
crossPhasePO.setPlanId(phaseCache.getSchemeId());
crossPhasePO.setRingNo(phaseCache.getRingNo());
crossPhasePO.setControlMode(1); // 海康均为定周期
Integer phaseLength = phaseCache.getPhaseLength();
crossPhasePO.setPhaseTime(phaseLength);
// 从接口返回对象中获取数据 // 从接口返回对象中获取数据
Integer greenFlash = phase.getInteger("greenFlash"); Integer phaseNo = phase.getInteger("phaseNo");
crossPhasePO.setGreenFlashTime(greenFlash); phaseCache.setPhaseNo(phaseNo);
String desc = phase.getString("desc");
phaseCache.setDesc(desc);
Integer yellow = phase.getInteger("yellow"); Integer yellow = phase.getInteger("yellow");
crossPhasePO.setYellowTime(yellow); phaseCache.setYellow(yellow);
Integer allred = phase.getInteger("allred"); Integer allred = phase.getInteger("allred");
crossPhasePO.setRedTime(allred); phaseCache.setAllred(allred);
int green = phaseLength - greenFlash - yellow - allred; Integer greenFlash = phase.getInteger("greenFlash");
crossPhasePO.setGreenTime(green); phaseCache.setGreenFlash(greenFlash);
Integer redFlash = phase.getInteger("redFlash");
phaseCache.setRedFlash(redFlash);
Integer minGreen = phase.getInteger("minGreen"); Integer minGreen = phase.getInteger("minGreen");
crossPhasePO.setMinGreenTime(minGreen); phaseCache.setMinGreen(minGreen);
Integer maxGreen = phase.getInteger("maxGreen"); Integer maxGreen = phase.getInteger("maxGreen");
crossPhasePO.setMaxGreenTime(maxGreen); phaseCache.setMaxGreen(maxGreen);
// 插入数据返回自增ID,更新缓存 phaseNoMap.put(phaseNo, phaseCache);
crossPhaseMapper.deleteOne(crossId, phaseNo.toString()); // 构造车道Map
crossPhaseMapper.insertOne(crossPhasePO); JSONArray lanes = phase.getJSONArray("lanes");
Integer crossPhasePOId = crossPhasePO.getId(); for (int j = 0; j < lanes.size(); j++) {
phaseCache.setPhaseId(crossPhasePOId); JSONObject lane = lanes.getJSONObject(j);
Integer laneNo = lane.getInteger("laneNo");
laneNoMap.put(laneNo, phaseCache);
}
} }
} }
} }
private void handleSchemeData(String crossId, String crossCode, List<CrossSchemePO> crossSchemePOList, Integer patternNo, String patternName) throws Exception { private void handleSchemeData(String crossId, String crossCode, Integer patternNo, String patternName,
Map<String, String> path = getPathMapByApiCode("getCrossPlanDetail"); Map<Integer, PhaseCache> phaseNoMap) throws Exception {
// 请求3.1.4接口,获取并处理方案详情
Map<String, String> path = PathUtil.getPathMapByApiCode("getCrossPlanDetail");
Map<String, String> queryMap = new HashMap<>(); Map<String, String> queryMap = new HashMap<>();
queryMap.put("crossCode", crossCode); queryMap.put("crossCode", crossCode);
queryMap.put("patternNo", patternNo.toString()); queryMap.put("patternNo", patternNo.toString());
...@@ -195,11 +188,11 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -195,11 +188,11 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
JSONObject object = JSON.parseObject(Result); JSONObject object = JSON.parseObject(Result);
if(Constants.HK_SUCCESS_CODE.equals(object.getInteger(Constants.HK_CODE_KEY))) { if(Constants.HK_SUCCESS_CODE.equals(object.getInteger(Constants.HK_CODE_KEY))) {
JSONArray data = object.getJSONArray("data"); JSONArray data = object.getJSONArray("data");
for (int j = 0; j < data.size(); j++) { for (int i = 0; i < data.size(); i++) {
JSONObject obj = data.getJSONObject(j); JSONObject scheme = data.getJSONObject(i);
Integer cycle = obj.getInteger("cycle"); Integer cycle = scheme.getInteger("cycle");
Integer coordPhase = obj.getInteger("coordPhase"); Integer coordPhase = scheme.getInteger("coordPhase");
Integer offset = obj.getInteger("offset"); Integer offset = scheme.getInteger("offset");
// 构造数据库记录 // 构造数据库记录
CrossSchemePO crossSchemePO = new CrossSchemePO(); CrossSchemePO crossSchemePO = new CrossSchemePO();
crossSchemePO.setSchemeNo(patternNo.toString()); crossSchemePO.setSchemeNo(patternNo.toString());
...@@ -210,51 +203,50 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic ...@@ -210,51 +203,50 @@ public class HkSchemePhaseLightsServiceImpl implements HkSchemePhaseLightsServic
crossSchemePO.setOffset(offset); crossSchemePO.setOffset(offset);
crossSchemePO.setSource(2); crossSchemePO.setSource(2);
crossSchemePO.setIsDeleted(0); crossSchemePO.setIsDeleted(0);
crossSchemePOList.add(crossSchemePO); // 插入方案数据返回自增ID
// 插入数据返回自增ID CrossSchemePO crossSchemePO1 = crossSchemeMapper.selectByCrossIdAndSchemeNo(crossId, patternNo);
if (crossSchemePO1 != null) {
Integer schemeId = crossSchemePO1.getId();
crossPhaseMapper.deleteBatch(crossId, schemeId.toString());
crossSchemeMapper.deleteOne(crossId, patternNo.toString()); crossSchemeMapper.deleteOne(crossId, patternNo.toString());
}
crossSchemeMapper.insertOne(crossSchemePO); crossSchemeMapper.insertOne(crossSchemePO);
Integer schemePOId = crossSchemePO.getId(); Integer schemePOId = crossSchemePO.getId();
// 缓存相位信息 // 生成相位数据
putPhaseCache(obj, schemePOId); JSONArray phases = scheme.getJSONArray("phaseInfos");
} for (int j = 0; j < phases.size(); j++) {
} CrossPhasePO crossPhasePO = new CrossPhasePO();
} JSONObject phase = phases.getJSONObject(j);
private void putPhaseCache(JSONObject obj, Integer schemePOId) {
phaseCacheMap.clear();
JSONArray phases = obj.getJSONArray("phaseInfos");
for (int i = 0; i < phases.size(); i++) {
JSONObject phase = phases.getJSONObject(i);
PhaseCache phaseCache = new PhaseCache();
Integer ringNo = phase.getInteger("ringNo");
phaseCache.setRingNo(ringNo);
Integer phaseNo = phase.getInteger("phaseNo"); Integer phaseNo = phase.getInteger("phaseNo");
phaseCache.setPhaseNo(phaseNo); PhaseCache phaseCache = phaseNoMap.get(phaseNo);
crossPhasePO.setPhaseNo(phaseNo.toString());
String phaseName = phase.getString("phaseName"); String phaseName = phase.getString("phaseName");
phaseCache.setPhaseName(phaseName); crossPhasePO.setName(phaseName);
Integer phaseSequence = phase.getInteger("phaseSequence"); Integer phaseSequence = phase.getInteger("phaseSequence");
phaseCache.setPhaseSequence(phaseSequence); crossPhasePO.setSort(phaseSequence);
crossPhasePO.setCrossId(crossId);
crossPhasePO.setPlanId(schemePOId);
Integer ringNo = phase.getInteger("ringNo");
crossPhasePO.setRingNo(ringNo);
crossPhasePO.setControlMode(1); // 海康均为定周期
Integer phaseLength = phase.getInteger("phaseLength"); Integer phaseLength = phase.getInteger("phaseLength");
phaseCache.setPhaseLength(phaseLength);
phaseCache.setSchemeId(schemePOId); crossPhasePO.setPhaseTime(phaseLength);
// 获取车道列表 Integer greenFlash = phaseCache.getGreenFlash();
JSONArray lanes = phase.getJSONArray("lanes"); Integer yellow = phaseCache.getYellow();
List<Integer> laneNoList = new ArrayList<>(); Integer allred = phaseCache.getAllred();
for (int j = 0; j < lanes.size(); j++) { int green = phaseLength - greenFlash - yellow - allred;
JSONObject lane = lanes.getJSONObject(j); crossPhasePO.setGreenTime(green);
Integer laneNo = lane.getInteger("laneNo"); crossPhasePO.setGreenFlashTime(greenFlash);
laneNoList.add(laneNo); crossPhasePO.setYellowTime(yellow);
crossPhasePO.setRedTime(allred);
crossPhasePO.setMinGreenTime(phaseCache.getMinGreen());
crossPhasePO.setMaxGreenTime(phaseCache.getMaxGreen());
// 插入数据
crossPhaseMapper.insertOne(crossPhasePO);
} }
phaseCache.setLaneNoList(laneNoList);
phaseCacheMap.put(phaseNo, phaseCache);
} }
} }
private Map<String, String> getPathMapByApiCode(String apiCode) {
Map<String, String> res = new HashMap<>();
HttpRequest httpRequest = new HttpRequest(BasicEnum.ManufacturerEnum.HK.getCode(), apiCode);
res.put("http://", artemisPath + httpRequest.getUrl());
return res;
} }
} }
...@@ -27,9 +27,9 @@ ...@@ -27,9 +27,9 @@
values (#{phaseNo},#{name},#{sort},#{crossId},#{planId},#{ringNo},#{controlMode},#{phaseTime},#{greenTime},#{greenFlashTime},#{pedFlashTime},#{yellowTime},#{redTime},#{minGreenTime},#{maxGreenTime}) values (#{phaseNo},#{name},#{sort},#{crossId},#{planId},#{ringNo},#{controlMode},#{phaseTime},#{greenTime},#{greenFlashTime},#{pedFlashTime},#{yellowTime},#{redTime},#{minGreenTime},#{maxGreenTime})
</insert> </insert>
<delete id="deleteOne"> <delete id="deleteBatch">
delete from t_cross_phase delete from t_cross_phase
where cross_id = #{crossId} and phase_no = #{phaseNo} where cross_id = #{crossId} and plan_id = #{schemeId}
</delete> </delete>
<sql id="baseColumn"> <sql id="baseColumn">
...@@ -43,4 +43,9 @@ ...@@ -43,4 +43,9 @@
from t_cross_phase where cross_id = #{crossId} and planId = #{planId} from t_cross_phase where cross_id = #{crossId} and planId = #{planId}
</select> </select>
<select id="selectIdsByPhaseNo" resultType="java.lang.Integer">
select id from t_cross_phase
where phase_no = #{phaseNo}
</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