Merge branch 'test-training2' of https://git.code.tencent.com/lian-cbtc/rtss-server into test-training2-xzb1
This commit is contained in:
commit
ebe85d7c26
@ -481,11 +481,11 @@ public class SimulationV1Controller {
|
|||||||
/**
|
/**
|
||||||
* 新仿真创建接口(新)
|
* 新仿真创建接口(新)
|
||||||
*/
|
*/
|
||||||
@PostMapping("/new")
|
@PostMapping("/new/{mapId}")
|
||||||
public String createSimulation(@RequestBody @Validated SimulationWorkParamVO paramVO,
|
public String createSimulation(@PathVariable long mapId, @RequestBody @Validated SimulationWorkParamVO paramVO,
|
||||||
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY)
|
@RequestAttribute(name = AuthenticateInterceptor.LOGIN_INFO_KEY)
|
||||||
LoginUserInfoVO loginUserInfoVO) {
|
LoginUserInfoVO loginUserInfoVO) {
|
||||||
return simulationService.createSimulation(loginUserInfoVO, paramVO);
|
return simulationService.createSimulation(mapId, paramVO, loginUserInfoVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,12 +2,13 @@ package club.joylink.rtss.dao;
|
|||||||
|
|
||||||
import club.joylink.rtss.entity.RunPlanRouting;
|
import club.joylink.rtss.entity.RunPlanRouting;
|
||||||
import club.joylink.rtss.entity.RunPlanRoutingExample;
|
import club.joylink.rtss.entity.RunPlanRoutingExample;
|
||||||
import java.util.List;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.ResultMap;
|
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface RunPlanRoutingDAO {
|
public interface RunPlanRoutingDAO {
|
||||||
long countByExample(RunPlanRoutingExample example);
|
long countByExample(RunPlanRoutingExample example);
|
||||||
@ -52,4 +53,17 @@ public interface RunPlanRoutingDAO {
|
|||||||
"</script>")
|
"</script>")
|
||||||
Integer countUserRoutingBySectionData(@Param("userId") Long userId, @Param("mapId") Long mapId, @Param("sectionData") String sectionData);
|
Integer countUserRoutingBySectionData(@Param("userId") Long userId, @Param("mapId") Long mapId, @Param("sectionData") String sectionData);
|
||||||
|
|
||||||
|
@Insert("<script>" +
|
||||||
|
" INSERT INTO run_plan_routing (map_id, user_id, `name`, `code`, type, start_station_code, start_section_code, " +
|
||||||
|
" end_station_code, end_section_code, `right`, destination_code, remarks, section_data)" +
|
||||||
|
" VALUES " +
|
||||||
|
" <foreach collection=\"routings\" item=\"item\" separator=\",\">" +
|
||||||
|
" (#{item.mapId, jdbcType=BIGINT}, #{item.userId, jdbcType=BIGINT}, " +
|
||||||
|
" #{item.name, jdbcType=VARCHAR}, #{item.code, jdbcType=VARCHAR}, #{item.type, jdbcType=VARCHAR}, " +
|
||||||
|
" #{item.startStationCode, jdbcType=VARCHAR}, #{item.startSectionCode, jdbcType=VARCHAR}, " +
|
||||||
|
" #{item.endStationCode, jdbcType=VARCHAR}, #{item.endSectionCode, jdbcType=VARCHAR}, #{item.right, jdbcType=TINYINT}, " +
|
||||||
|
" #{item.destinationCode, jdbcType=VARCHAR}, #{item.remarks, jdbcType=VARCHAR}, #{item.sectionData, jdbcType=LONGVARCHAR})" +
|
||||||
|
" </foreach>" +
|
||||||
|
"</script>")
|
||||||
|
void batchInsert(List<RunPlanRouting> routings);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
package club.joylink.rtss.dao.permission;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import club.joylink.rtss.entity.permission.PermissionDistribute;
|
||||||
|
import club.joylink.rtss.entity.permission.PermissionDistributeExample;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
@Repository
|
||||||
|
public interface PermissionDistributeDAO {
|
||||||
|
long countByExample(PermissionDistributeExample example);
|
||||||
|
|
||||||
|
int deleteByExample(PermissionDistributeExample example);
|
||||||
|
|
||||||
|
int deleteByPrimaryKey(Long id);
|
||||||
|
|
||||||
|
int insert(PermissionDistribute record);
|
||||||
|
|
||||||
|
int insertSelective(PermissionDistribute record);
|
||||||
|
|
||||||
|
List<PermissionDistribute> selectByExample(PermissionDistributeExample example);
|
||||||
|
|
||||||
|
PermissionDistribute selectByPrimaryKey(Long id);
|
||||||
|
|
||||||
|
int updateByExampleSelective(@Param("record") PermissionDistribute record, @Param("example") PermissionDistributeExample example);
|
||||||
|
|
||||||
|
int updateByExample(@Param("record") PermissionDistribute record, @Param("example") PermissionDistributeExample example);
|
||||||
|
|
||||||
|
int updateByPrimaryKeySelective(PermissionDistribute record);
|
||||||
|
|
||||||
|
int updateByPrimaryKey(PermissionDistribute record);
|
||||||
|
}
|
@ -1,8 +1,9 @@
|
|||||||
package club.joylink.rtss.dao.permission;
|
package club.joylink.rtss.dao.permission;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import club.joylink.rtss.entity.permission.PermissionSubject;
|
import club.joylink.rtss.entity.permission.PermissionSubject;
|
||||||
import club.joylink.rtss.entity.permission.PermissionSubjectExample;
|
import club.joylink.rtss.entity.permission.PermissionSubjectExample;
|
||||||
import java.util.List;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
@ -2,6 +2,7 @@ package club.joylink.rtss.entity.permission;
|
|||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Date;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -69,6 +70,7 @@ public class PermissionSubject implements Serializable {
|
|||||||
* 来自对应的分发id(rts_permission_distribute)
|
* 来自对应的分发id(rts_permission_distribute)
|
||||||
*/
|
*/
|
||||||
private Long distributeId;
|
private Long distributeId;
|
||||||
|
;
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
package club.joylink.rtss.entity.permission;
|
package club.joylink.rtss.entity.permission;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class PermissionSubjectExample {
|
public class PermissionSubjectExample {
|
||||||
@ -635,52 +635,52 @@ public class PermissionSubjectExample {
|
|||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeEqualTo(LocalDateTime value) {
|
public Criteria andStartTimeEqualTo(Date value) {
|
||||||
addCriterion("start_time =", value, "startTime");
|
addCriterion("start_time =", value, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeNotEqualTo(LocalDateTime value) {
|
public Criteria andStartTimeNotEqualTo(Date value) {
|
||||||
addCriterion("start_time <>", value, "startTime");
|
addCriterion("start_time <>", value, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeGreaterThan(LocalDateTime value) {
|
public Criteria andStartTimeGreaterThan(Date value) {
|
||||||
addCriterion("start_time >", value, "startTime");
|
addCriterion("start_time >", value, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeGreaterThanOrEqualTo(LocalDateTime value) {
|
public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
|
||||||
addCriterion("start_time >=", value, "startTime");
|
addCriterion("start_time >=", value, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeLessThan(LocalDateTime value) {
|
public Criteria andStartTimeLessThan(Date value) {
|
||||||
addCriterion("start_time <", value, "startTime");
|
addCriterion("start_time <", value, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeLessThanOrEqualTo(LocalDateTime value) {
|
public Criteria andStartTimeLessThanOrEqualTo(Date value) {
|
||||||
addCriterion("start_time <=", value, "startTime");
|
addCriterion("start_time <=", value, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeIn(List<LocalDateTime> values) {
|
public Criteria andStartTimeIn(List<Date> values) {
|
||||||
addCriterion("start_time in", values, "startTime");
|
addCriterion("start_time in", values, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeNotIn(List<LocalDateTime> values) {
|
public Criteria andStartTimeNotIn(List<Date> values) {
|
||||||
addCriterion("start_time not in", values, "startTime");
|
addCriterion("start_time not in", values, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeBetween(LocalDateTime value1, LocalDateTime value2) {
|
public Criteria andStartTimeBetween(Date value1, Date value2) {
|
||||||
addCriterion("start_time between", value1, value2, "startTime");
|
addCriterion("start_time between", value1, value2, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andStartTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
|
public Criteria andStartTimeNotBetween(Date value1, Date value2) {
|
||||||
addCriterion("start_time not between", value1, value2, "startTime");
|
addCriterion("start_time not between", value1, value2, "startTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
@ -695,52 +695,52 @@ public class PermissionSubjectExample {
|
|||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeEqualTo(LocalDateTime value) {
|
public Criteria andEndTimeEqualTo(Date value) {
|
||||||
addCriterion("end_time =", value, "endTime");
|
addCriterion("end_time =", value, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeNotEqualTo(LocalDateTime value) {
|
public Criteria andEndTimeNotEqualTo(Date value) {
|
||||||
addCriterion("end_time <>", value, "endTime");
|
addCriterion("end_time <>", value, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeGreaterThan(LocalDateTime value) {
|
public Criteria andEndTimeGreaterThan(Date value) {
|
||||||
addCriterion("end_time >", value, "endTime");
|
addCriterion("end_time >", value, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeGreaterThanOrEqualTo(LocalDateTime value) {
|
public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
|
||||||
addCriterion("end_time >=", value, "endTime");
|
addCriterion("end_time >=", value, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeLessThan(LocalDateTime value) {
|
public Criteria andEndTimeLessThan(Date value) {
|
||||||
addCriterion("end_time <", value, "endTime");
|
addCriterion("end_time <", value, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeLessThanOrEqualTo(LocalDateTime value) {
|
public Criteria andEndTimeLessThanOrEqualTo(Date value) {
|
||||||
addCriterion("end_time <=", value, "endTime");
|
addCriterion("end_time <=", value, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeIn(List<LocalDateTime> values) {
|
public Criteria andEndTimeIn(List<Date> values) {
|
||||||
addCriterion("end_time in", values, "endTime");
|
addCriterion("end_time in", values, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeNotIn(List<LocalDateTime> values) {
|
public Criteria andEndTimeNotIn(List<Date> values) {
|
||||||
addCriterion("end_time not in", values, "endTime");
|
addCriterion("end_time not in", values, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeBetween(LocalDateTime value1, LocalDateTime value2) {
|
public Criteria andEndTimeBetween(Date value1, Date value2) {
|
||||||
addCriterion("end_time between", value1, value2, "endTime");
|
addCriterion("end_time between", value1, value2, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andEndTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
|
public Criteria andEndTimeNotBetween(Date value1, Date value2) {
|
||||||
addCriterion("end_time not between", value1, value2, "endTime");
|
addCriterion("end_time not between", value1, value2, "endTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
@ -755,52 +755,52 @@ public class PermissionSubjectExample {
|
|||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeEqualTo(LocalDateTime value) {
|
public Criteria andCreateTimeEqualTo(Date value) {
|
||||||
addCriterion("create_time =", value, "createTime");
|
addCriterion("create_time =", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeNotEqualTo(LocalDateTime value) {
|
public Criteria andCreateTimeNotEqualTo(Date value) {
|
||||||
addCriterion("create_time <>", value, "createTime");
|
addCriterion("create_time <>", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeGreaterThan(LocalDateTime value) {
|
public Criteria andCreateTimeGreaterThan(Date value) {
|
||||||
addCriterion("create_time >", value, "createTime");
|
addCriterion("create_time >", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeGreaterThanOrEqualTo(LocalDateTime value) {
|
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
|
||||||
addCriterion("create_time >=", value, "createTime");
|
addCriterion("create_time >=", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeLessThan(LocalDateTime value) {
|
public Criteria andCreateTimeLessThan(Date value) {
|
||||||
addCriterion("create_time <", value, "createTime");
|
addCriterion("create_time <", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeLessThanOrEqualTo(LocalDateTime value) {
|
public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
|
||||||
addCriterion("create_time <=", value, "createTime");
|
addCriterion("create_time <=", value, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeIn(List<LocalDateTime> values) {
|
public Criteria andCreateTimeIn(List<Date> values) {
|
||||||
addCriterion("create_time in", values, "createTime");
|
addCriterion("create_time in", values, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeNotIn(List<LocalDateTime> values) {
|
public Criteria andCreateTimeNotIn(List<Date> values) {
|
||||||
addCriterion("create_time not in", values, "createTime");
|
addCriterion("create_time not in", values, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeBetween(LocalDateTime value1, LocalDateTime value2) {
|
public Criteria andCreateTimeBetween(Date value1, Date value2) {
|
||||||
addCriterion("create_time between", value1, value2, "createTime");
|
addCriterion("create_time between", value1, value2, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Criteria andCreateTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
|
public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
|
||||||
addCriterion("create_time not between", value1, value2, "createTime");
|
addCriterion("create_time not between", value1, value2, "createTime");
|
||||||
return (Criteria) this;
|
return (Criteria) this;
|
||||||
}
|
}
|
||||||
|
@ -24,51 +24,38 @@ import java.util.stream.Collectors;
|
|||||||
public class ReleaseService implements IReleaseService {
|
public class ReleaseService implements IReleaseService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private MapDataDAO mapDataDAO;
|
private MapDataDAO mapDataDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RunPlanTemplateDAO runPlanTemplateDAO;
|
private RunPlanTemplateDAO runPlanTemplateDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RunPlanLoadDAO runPlanLoadDAO;
|
private RunPlanLoadDAO runPlanLoadDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private Map3dDataDAO map3dDataDAO;
|
private Map3dDataDAO map3dDataDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMapService iMapService;
|
private IMapService iMapService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CommandDefinitionDAO commandDefinitionDAO;
|
private CommandDefinitionDAO commandDefinitionDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RealLineDAO realLineDAO;
|
private RealLineDAO realLineDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private SchedulingPlanDAO schedulingPlanDAO;
|
private SchedulingPlanDAO schedulingPlanDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RunPlanTemplateVersionDAO runPlanTemplateVersionDAO;
|
private RunPlanTemplateVersionDAO runPlanTemplateVersionDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IbpDAO ibpDAO;
|
private IbpDAO ibpDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CacheController cacheController;
|
private CacheController cacheController;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ScriptDraftDAO scriptDraftDAO;
|
private ScriptDraftDAO scriptDraftDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ScriptDAO scriptDAO;
|
private ScriptDAO scriptDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private CompetitionDAO competitionDAO;
|
private CompetitionDAO competitionDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IscsDAO iscsDAO;
|
private IscsDAO iscsDAO;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IRunPlanTemplateService iRunPlanTemplateService;
|
private IRunPlanTemplateService iRunPlanTemplateService;
|
||||||
|
@Autowired
|
||||||
|
private RunPlanRoutingDAO runPlanRoutingDAO;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReleaseVO exportAsJson(Long mapId, ReleaseConfigVO config) {
|
public ReleaseVO exportAsJson(Long mapId, ReleaseConfigVO config) {
|
||||||
@ -77,6 +64,11 @@ public class ReleaseService implements IReleaseService {
|
|||||||
ReleaseVO releaseVO = new ReleaseVO(mapId, lineCode);
|
ReleaseVO releaseVO = new ReleaseVO(mapId, lineCode);
|
||||||
if (config.isMapData()) { //地图数据
|
if (config.isMapData()) { //地图数据
|
||||||
releaseVO.setMapData(getMapDataWithBLOBs(mapId, mapInfo.getVersion()));
|
releaseVO.setMapData(getMapDataWithBLOBs(mapId, mapInfo.getVersion()));
|
||||||
|
// 默认运行图交路数据
|
||||||
|
RunPlanRoutingExample example = new RunPlanRoutingExample();
|
||||||
|
example.createCriteria().andMapIdEqualTo(mapId).andUserIdIsNull();
|
||||||
|
List<RunPlanRouting> runPlanRoutings = runPlanRoutingDAO.selectByExampleWithBLOBs(example);
|
||||||
|
releaseVO.setRunPlanRoutings(runPlanRoutings);
|
||||||
}
|
}
|
||||||
if (config.isRealLineConfig()) { //线路配置
|
if (config.isRealLineConfig()) { //线路配置
|
||||||
RealLineExample realLineExample = new RealLineExample();
|
RealLineExample realLineExample = new RealLineExample();
|
||||||
@ -197,6 +189,16 @@ public class ReleaseService implements IReleaseService {
|
|||||||
cacheController.remove(BusinessConsts.CachePrefix.Map + mapId);
|
cacheController.remove(BusinessConsts.CachePrefix.Map + mapId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//更新运行图交路数据
|
||||||
|
if (!CollectionUtils.isEmpty(releaseVO.getRunPlanRoutings())) {
|
||||||
|
// 默认运行图交路数据
|
||||||
|
RunPlanRoutingExample example = new RunPlanRoutingExample();
|
||||||
|
example.createCriteria().andMapIdEqualTo(mapId).andUserIdIsNull();
|
||||||
|
runPlanRoutingDAO.deleteByExample(example);
|
||||||
|
releaseVO.getRunPlanRoutings().forEach(routing -> routing.setMapId(mapId));
|
||||||
|
runPlanRoutingDAO.batchInsert(releaseVO.getRunPlanRoutings());
|
||||||
|
}
|
||||||
|
|
||||||
if (!CollectionUtils.isEmpty(releaseVO.getRunPlanTemplateList())) {
|
if (!CollectionUtils.isEmpty(releaseVO.getRunPlanTemplateList())) {
|
||||||
//删除旧的运行图相关数据
|
//删除旧的运行图相关数据
|
||||||
RunPlanTemplateExample runPlanTemplateExample = new RunPlanTemplateExample();
|
RunPlanTemplateExample runPlanTemplateExample = new RunPlanTemplateExample();
|
||||||
|
@ -5,6 +5,7 @@ import club.joylink.rtss.entity.RtsMapSystem;
|
|||||||
import club.joylink.rtss.entity.RtsMapSystemExample;
|
import club.joylink.rtss.entity.RtsMapSystemExample;
|
||||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||||
import club.joylink.rtss.services.IMapService;
|
import club.joylink.rtss.services.IMapService;
|
||||||
|
import club.joylink.rtss.services.permission.SystemAbilityService;
|
||||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||||
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
import club.joylink.rtss.simulation.cbtc.member.SimulationMember;
|
||||||
import club.joylink.rtss.simulation.cbtc.vo.SimulationWorkParamVO;
|
import club.joylink.rtss.simulation.cbtc.vo.SimulationWorkParamVO;
|
||||||
@ -15,6 +16,7 @@ import club.joylink.rtss.vo.map.graph.MapMemberVO;
|
|||||||
import com.github.pagehelper.Page;
|
import com.github.pagehelper.Page;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.cglib.core.internal.Function;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
@ -32,6 +34,8 @@ public class RtsMapSystemServiceImpl implements RtsMapSystemService {
|
|||||||
private RtsMapSystemDAO rtsMapSystemDAO;
|
private RtsMapSystemDAO rtsMapSystemDAO;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMapService iMapService;
|
private IMapService iMapService;
|
||||||
|
@Autowired
|
||||||
|
private SystemAbilityService systemAbilityService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void create(MapSystemCreateVO createVO, long creatorId) {
|
public void create(MapSystemCreateVO createVO, long creatorId) {
|
||||||
@ -91,244 +95,201 @@ public class RtsMapSystemServiceImpl implements RtsMapSystemService {
|
|||||||
|
|
||||||
List<String> msgList = new ArrayList<>();
|
List<String> msgList = new ArrayList<>();
|
||||||
MapVO mapData = iMapService.getMapDetail(mapId);
|
MapVO mapData = iMapService.getMapDetail(mapId);
|
||||||
|
|
||||||
|
String msgPrefix;
|
||||||
|
List<MapMemberVO> mapMemberVOS;
|
||||||
|
List<Function<MapSystemCreateVO, MapSystemCreateVO>> fillCreatVOFunctions;
|
||||||
for (Simulation.Type simType : paramVO.getSimTypes()) {
|
for (Simulation.Type simType : paramVO.getSimTypes()) {
|
||||||
|
mapMemberVOS = mapData.getGraphDataNew().getMemberMap().get(simType);
|
||||||
|
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertCollectionNotEmpty(mapMemberVOS,
|
||||||
|
String.format("%s成员列表为空,不能生成子系统", simType));
|
||||||
switch (simType) {
|
switch (simType) {
|
||||||
case METRO:
|
case METRO:
|
||||||
generateMetroSystem(mapId, mapData, creatorId, msgList);
|
msgPrefix = "地铁CBTC系统";
|
||||||
|
fillCreatVOFunctions = buildMetroFillCreateVOFunctions(msgList, msgPrefix, simType, mapMemberVOS);
|
||||||
break;
|
break;
|
||||||
case RAILWAY:
|
case RAILWAY:
|
||||||
generateRailwaySystem(mapId, mapData, creatorId, msgList);
|
msgPrefix = "大铁CTC系统";
|
||||||
|
fillCreatVOFunctions = buildRailwayFillCreateVOFunctions(msgList, msgPrefix, simType, mapMemberVOS);
|
||||||
break;
|
break;
|
||||||
case EMERGENCY:
|
case EMERGENCY:
|
||||||
break;
|
throw BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.exception("未实现");
|
||||||
|
// msgPrefix = "紧急调度系统";
|
||||||
|
// fillCreatVOFunctions = Collections.emptyList();
|
||||||
default:
|
default:
|
||||||
throw new IllegalStateException("Unexpected value: " + simType);
|
throw new IllegalStateException("Unexpected value: " + simType);
|
||||||
}
|
}
|
||||||
|
//填充参数并创建子系统
|
||||||
|
for (Function<MapSystemCreateVO, MapSystemCreateVO> fillParamFunction : fillCreatVOFunctions) {
|
||||||
|
MapSystemCreateVO createVO = new MapSystemCreateVO();
|
||||||
|
createVO.setMapId(mapId);
|
||||||
|
MapSystemCreateVO filledCreateVO = fillParamFunction.apply(createVO);
|
||||||
|
if (filledCreateVO != null) {
|
||||||
|
create(createVO, creatorId);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
|
return msgList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void generateRailwaySystem(long mapId, MapVO mapData, long creatorId, List<String> msgList) {
|
/**
|
||||||
String msgPrefix = "大铁CTC系统";
|
* 构建填充{@link MapSystemCreateVO}的方法
|
||||||
Simulation.Type simType = Simulation.Type.RAILWAY;
|
*
|
||||||
List<MapMemberVO> mapMemberVOS = mapData.getGraphDataNew().getMemberMap().get(simType);
|
* @param msgList 记录特殊但不算异常的信息
|
||||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertCollectionNotEmpty(mapMemberVOS,
|
* @param msgPrefix 特殊信息的统一前缀
|
||||||
String.format("%s成员列表为空,不能生成子系统", msgPrefix));
|
* @param simType 仿真类型
|
||||||
|
* @param mapMemberVOS 地图成员列表
|
||||||
MapSystemCreateVO createVO;
|
* @return 调用apply方法时,当地图子系统的参数有问题无法创建子系统时,返回null,否则返回填充好所有参数的{@link MapSystemCreateVO}
|
||||||
SimulationWorkParamVO workParamVO;
|
*/
|
||||||
SimulationWorkParamVO.InitParamVO initParamVO;
|
private List<Function<MapSystemCreateVO, MapSystemCreateVO>> buildMetroFillCreateVOFunctions(List<String> msgList, String msgPrefix, Simulation.Type simType, List<MapMemberVO> mapMemberVOS) {
|
||||||
SimulationWorkParamVO.DomConfigVO domConfigVO;
|
List<Function<MapSystemCreateVO, MapSystemCreateVO>> fillFunctions = new ArrayList<>();
|
||||||
//调度台终端
|
//ATS行调工作站
|
||||||
Optional<MapMemberVO> dispatcherOptional = mapMemberVOS.stream()
|
Function<MapSystemCreateVO, MapSystemCreateVO> dispatchSystem = (vo) -> {
|
||||||
.filter(vo -> Objects.equals(vo.getType(), SimulationMember.Type.DISPATCHER))
|
String name = "ATS行调工作站";
|
||||||
.findFirst();
|
Optional<MapMemberVO> memberOptional = mapMemberVOS.stream()
|
||||||
if (dispatcherOptional.isEmpty()) {
|
.filter(member -> Objects.equals(member.getType(), SimulationMember.Type.DISPATCHER))
|
||||||
msgList.add(String.format("%s无行调角色,未生成调度台", msgPrefix));
|
.findFirst();
|
||||||
} else {
|
if (memberOptional.isEmpty()) {
|
||||||
MapMemberVO mapMemberVO = dispatcherOptional.get();
|
msgList.add(String.format("%s无行调成员,未生成%s", msgPrefix, name));
|
||||||
createVO = new MapSystemCreateVO();
|
} else {
|
||||||
createVO.setMapId(mapId);
|
vo.setName(name);
|
||||||
createVO.setDesc("调度台");
|
vo.setDesc(name);
|
||||||
createVO.setName("调度台");
|
SimulationWorkParamVO workParamVO = new SimulationWorkParamVO();
|
||||||
|
vo.setParamVO(workParamVO);
|
||||||
workParamVO = new SimulationWorkParamVO();
|
workParamVO.setType(simType);
|
||||||
createVO.setParamVO(workParamVO);
|
workParamVO.setMemberId(memberOptional.get().getId());
|
||||||
workParamVO.setType(simType);
|
workParamVO.setDomConfig(new SimulationWorkParamVO.DomConfigVO(true, false, false));
|
||||||
|
return vo;
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(mapMemberVO.getId(), null);
|
}
|
||||||
workParamVO.setInitParam(initParamVO);
|
return null;
|
||||||
|
};
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(true, false, false);
|
//ATS现地工作站
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
Function<MapSystemCreateVO, MapSystemCreateVO> stationSystem = (vo) -> {
|
||||||
create(createVO, creatorId);
|
String name = "ATS现地工作站";
|
||||||
}
|
Optional<MapMemberVO> memberOptional = mapMemberVOS.stream()
|
||||||
//车站
|
.filter(member -> Objects.equals(member.getType(), SimulationMember.Type.STATION_SUPERVISOR))
|
||||||
Optional<MapMemberVO> stationSupervisorOptional = mapMemberVOS.stream()
|
.findFirst();
|
||||||
.filter(vo -> Objects.equals(vo.getType(), SimulationMember.Type.STATION_SUPERVISOR))
|
if (memberOptional.isEmpty()) {
|
||||||
.findFirst();
|
msgList.add(String.format("%s无行值成员,未生成%s", msgPrefix, name));
|
||||||
if (stationSupervisorOptional.isEmpty()) {
|
} else {
|
||||||
msgList.add(String.format("%s无行值角色,未生成调度台", msgPrefix));
|
vo.setName(name);
|
||||||
} else {
|
vo.setDesc(name);
|
||||||
MapMemberVO mapMemberVO = stationSupervisorOptional.get();
|
SimulationWorkParamVO workParamVO = new SimulationWorkParamVO();
|
||||||
createVO = new MapSystemCreateVO();
|
vo.setParamVO(workParamVO);
|
||||||
createVO.setMapId(mapId);
|
workParamVO.setType(simType);
|
||||||
createVO.setDesc("车站");
|
workParamVO.setMemberId(memberOptional.get().getId());
|
||||||
createVO.setName("车站");
|
workParamVO.setDomConfig(new SimulationWorkParamVO.DomConfigVO(true, false, false));
|
||||||
|
return vo;
|
||||||
workParamVO = new SimulationWorkParamVO();
|
}
|
||||||
createVO.setParamVO(workParamVO);
|
return null;
|
||||||
workParamVO.setType(simType);
|
};
|
||||||
|
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(mapMemberVO.getId(), null);
|
|
||||||
workParamVO.setInitParam(initParamVO);
|
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(true, false, false);
|
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
|
||||||
create(createVO, creatorId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void generateMetroSystem(long mapId, MapVO mapData, long creatorId, List<String> msgList) {
|
|
||||||
String msgPrefix = "地铁CBTC系统";
|
|
||||||
Simulation.Type simType = Simulation.Type.METRO;
|
|
||||||
List<MapMemberVO> mapMemberVOS = mapData.getGraphDataNew().getMemberMap().get(simType);
|
|
||||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertCollectionNotEmpty(mapMemberVOS,
|
|
||||||
String.format("%s成员列表为空,不能生成子系统", msgPrefix));
|
|
||||||
|
|
||||||
MapSystemCreateVO createVO;
|
|
||||||
SimulationWorkParamVO workParamVO;
|
|
||||||
SimulationWorkParamVO.InitParamVO initParamVO;
|
|
||||||
SimulationWorkParamVO.DomConfigVO domConfigVO;
|
|
||||||
String name;
|
|
||||||
//行调工作站
|
|
||||||
name = "行调工作站";
|
|
||||||
Optional<MapMemberVO> dispatcherOptional = mapMemberVOS.stream()
|
|
||||||
.filter(vo -> Objects.equals(vo.getType(), SimulationMember.Type.DISPATCHER))
|
|
||||||
.findFirst();
|
|
||||||
if (dispatcherOptional.isEmpty()) {
|
|
||||||
msgList.add(String.format("%s无行调角色,未生成%s", msgPrefix, name));
|
|
||||||
} else {
|
|
||||||
MapMemberVO mapMemberVO = dispatcherOptional.get();
|
|
||||||
createVO = new MapSystemCreateVO();
|
|
||||||
createVO.setMapId(mapId);
|
|
||||||
createVO.setDesc(name);
|
|
||||||
createVO.setName(name);
|
|
||||||
|
|
||||||
workParamVO = new SimulationWorkParamVO();
|
|
||||||
createVO.setParamVO(workParamVO);
|
|
||||||
workParamVO.setType(simType);
|
|
||||||
|
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(mapMemberVO.getId(), null);
|
|
||||||
workParamVO.setInitParam(initParamVO);
|
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(true, false, false);
|
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
|
||||||
create(createVO, creatorId);
|
|
||||||
}
|
|
||||||
//行值工作站
|
|
||||||
name = "现地工作站";
|
|
||||||
Optional<MapMemberVO> stationSupervisorOptional = mapMemberVOS.stream()
|
|
||||||
.filter(vo -> Objects.equals(vo.getType(), SimulationMember.Type.STATION_SUPERVISOR))
|
|
||||||
.findFirst();
|
|
||||||
if (dispatcherOptional.isEmpty()) {
|
|
||||||
msgList.add(String.format("%s无行值角色,未生成%s", name));
|
|
||||||
} else {
|
|
||||||
MapMemberVO mapMemberVO = stationSupervisorOptional.get();
|
|
||||||
createVO = new MapSystemCreateVO();
|
|
||||||
createVO.setMapId(mapId);
|
|
||||||
createVO.setDesc(name);
|
|
||||||
createVO.setName(name);
|
|
||||||
|
|
||||||
workParamVO = new SimulationWorkParamVO();
|
|
||||||
createVO.setParamVO(workParamVO);
|
|
||||||
workParamVO.setType(simType);
|
|
||||||
|
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(mapMemberVO.getId(), null);
|
|
||||||
workParamVO.setInitParam(initParamVO);
|
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(true, false, false);
|
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
|
||||||
create(createVO, creatorId);
|
|
||||||
}
|
|
||||||
//司机模拟驾驶系统
|
//司机模拟驾驶系统
|
||||||
name = "司机模拟驾驶系统";
|
Function<MapSystemCreateVO, MapSystemCreateVO> driveSystem = (vo) -> {
|
||||||
Optional<MapMemberVO> driverOptional = mapMemberVOS.stream()
|
String name = "司机模拟驾驶系统";
|
||||||
.filter(vo -> Objects.equals(vo.getType(), SimulationMember.Type.DRIVER))
|
Optional<MapMemberVO> memberOptional = mapMemberVOS.stream()
|
||||||
.findFirst();
|
.filter(member -> Objects.equals(member.getType(), SimulationMember.Type.DRIVER))
|
||||||
if (driverOptional.isEmpty()) {
|
.findFirst();
|
||||||
msgList.add(String.format("%s无司机角色,未生成%s", msgPrefix, name));
|
if (memberOptional.isEmpty()) {
|
||||||
} else {
|
msgList.add(String.format("%s无司机角色,未生成%s", msgPrefix, name));
|
||||||
MapMemberVO mapMemberVO = driverOptional.get();
|
} else {
|
||||||
createVO = new MapSystemCreateVO();
|
vo.setName(name);
|
||||||
createVO.setMapId(mapId);
|
vo.setDesc(name);
|
||||||
createVO.setDesc(name);
|
SimulationWorkParamVO workParamVO = new SimulationWorkParamVO();
|
||||||
createVO.setName(name);
|
vo.setParamVO(workParamVO);
|
||||||
|
workParamVO.setType(simType);
|
||||||
workParamVO = new SimulationWorkParamVO();
|
workParamVO.setMemberId(memberOptional.get().getId());
|
||||||
createVO.setParamVO(workParamVO);
|
workParamVO.setDomConfig(new SimulationWorkParamVO.DomConfigVO(true, false, false));
|
||||||
workParamVO.setType(simType);
|
return vo;
|
||||||
|
}
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(mapMemberVO.getId(), Simulation.Client.DRIVE);
|
return null;
|
||||||
workParamVO.setInitParam(initParamVO);
|
};
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(false, false, false);
|
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
|
||||||
create(createVO, creatorId);
|
|
||||||
}
|
|
||||||
//大屏工作站
|
|
||||||
name = "大屏工作站";
|
|
||||||
createVO = new MapSystemCreateVO();
|
|
||||||
createVO.setMapId(mapId);
|
|
||||||
createVO.setDesc(name);
|
|
||||||
createVO.setName(name);
|
|
||||||
|
|
||||||
workParamVO = new SimulationWorkParamVO();
|
|
||||||
createVO.setParamVO(workParamVO);
|
|
||||||
workParamVO.setType(simType);
|
|
||||||
|
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(null, Simulation.Client.C_ATS_BS);
|
|
||||||
workParamVO.setInitParam(initParamVO);
|
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(true, true, false);
|
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
|
||||||
create(createVO, creatorId);
|
|
||||||
//ISCS工作站
|
|
||||||
name = "ISCS工作站";
|
|
||||||
createVO = new MapSystemCreateVO();
|
|
||||||
createVO.setMapId(mapId);
|
|
||||||
createVO.setDesc(name);
|
|
||||||
createVO.setName(name);
|
|
||||||
|
|
||||||
workParamVO = new SimulationWorkParamVO();
|
|
||||||
createVO.setParamVO(workParamVO);
|
|
||||||
workParamVO.setType(simType);
|
|
||||||
|
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(null, Simulation.Client.ISCS);
|
|
||||||
workParamVO.setInitParam(initParamVO);
|
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(true, true, false);
|
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
|
||||||
create(createVO, creatorId);
|
|
||||||
//运行图编制工作站
|
|
||||||
name = "运行图编制工作站";
|
|
||||||
createVO = new MapSystemCreateVO();
|
|
||||||
createVO.setMapId(mapId);
|
|
||||||
createVO.setDesc(name);
|
|
||||||
createVO.setName(name);
|
|
||||||
|
|
||||||
workParamVO = new SimulationWorkParamVO();
|
|
||||||
createVO.setParamVO(workParamVO);
|
|
||||||
workParamVO.setType(simType);
|
|
||||||
|
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(null, Simulation.Client.RUN_PLAN_DESIGN);
|
|
||||||
workParamVO.setInitParam(initParamVO);
|
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(false, true, false);
|
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
|
||||||
create(createVO, creatorId);
|
|
||||||
//综合演练
|
//综合演练
|
||||||
name = "综合演练";
|
Function<MapSystemCreateVO, MapSystemCreateVO> joint = (vo) -> {
|
||||||
Optional<MapMemberVO> memberOptional = mapMemberVOS.stream().findFirst();
|
String name = "综合演练";
|
||||||
if (memberOptional.isEmpty()) {
|
Optional<MapMemberVO> memberOptional = mapMemberVOS.stream()
|
||||||
msgList.add(String.format("%s无成员,未生成%s", msgPrefix, name));
|
.filter(member -> Objects.equals(member.getType(), SimulationMember.Type.DISPATCHER))
|
||||||
} else {
|
.findFirst();
|
||||||
createVO = new MapSystemCreateVO();
|
String memberId;
|
||||||
createVO.setMapId(mapId);
|
if (memberOptional.isEmpty()) {
|
||||||
createVO.setDesc(name);
|
msgList.add(String.format("%s无行调成员,%s未设置默认扮演成员", msgPrefix, name));
|
||||||
createVO.setName(name);
|
memberId = null;
|
||||||
|
} else {
|
||||||
workParamVO = new SimulationWorkParamVO();
|
memberId = memberOptional.get().getId();
|
||||||
createVO.setParamVO(workParamVO);
|
}
|
||||||
|
vo.setName(name);
|
||||||
|
vo.setDesc(name);
|
||||||
|
SimulationWorkParamVO workParamVO = new SimulationWorkParamVO();
|
||||||
|
vo.setParamVO(workParamVO);
|
||||||
workParamVO.setType(simType);
|
workParamVO.setType(simType);
|
||||||
|
workParamVO.setMemberId(memberId);
|
||||||
|
workParamVO.setDomConfig(new SimulationWorkParamVO.DomConfigVO(false, false, false));
|
||||||
|
return vo;
|
||||||
|
};
|
||||||
|
|
||||||
initParamVO = new SimulationWorkParamVO.InitParamVO(memberOptional.get().getId(), null);
|
fillFunctions.add(dispatchSystem);
|
||||||
workParamVO.setInitParam(initParamVO);
|
fillFunctions.add(stationSystem);
|
||||||
|
fillFunctions.add(driveSystem);
|
||||||
|
fillFunctions.add(joint);
|
||||||
|
|
||||||
domConfigVO = new SimulationWorkParamVO.DomConfigVO(false, false, false);
|
return fillFunctions;
|
||||||
workParamVO.setDomConfig(domConfigVO);
|
}
|
||||||
create(createVO, creatorId);
|
|
||||||
}
|
/**
|
||||||
|
* 构建大铁填充{@link MapSystemCreateVO}的方法列表
|
||||||
|
*
|
||||||
|
* @param msgList 记录特殊的,但是不算异常的信息
|
||||||
|
* @param msgPrefix msgList内容的统一前缀
|
||||||
|
* @param mapMemberVOS 地图数据中的成员列表
|
||||||
|
* @return 调用apply方法时,当地图子系统的参数有问题无法创建子系统时,返回null,否则返回填充好所有参数的{@link MapSystemCreateVO}
|
||||||
|
*/
|
||||||
|
private List<Function<MapSystemCreateVO, MapSystemCreateVO>> buildRailwayFillCreateVOFunctions(List<String> msgList, String msgPrefix, Simulation.Type simType, List<MapMemberVO> mapMemberVOS) {
|
||||||
|
List<Function<MapSystemCreateVO, MapSystemCreateVO>> fillFunctions = new ArrayList<>();
|
||||||
|
//调度台
|
||||||
|
Function<MapSystemCreateVO, MapSystemCreateVO> dispatchSystem = (vo) -> {
|
||||||
|
String name = "调度台";
|
||||||
|
Optional<MapMemberVO> memberOptional = mapMemberVOS.stream()
|
||||||
|
.filter(member -> Objects.equals(member.getType(), SimulationMember.Type.DISPATCHER))
|
||||||
|
.findFirst();
|
||||||
|
if (memberOptional.isEmpty()) {
|
||||||
|
msgList.add(String.format("%s无行调成员,未生成%s", msgPrefix, name));
|
||||||
|
} else {
|
||||||
|
vo.setName(name);
|
||||||
|
vo.setDesc(name);
|
||||||
|
SimulationWorkParamVO workParamVO = new SimulationWorkParamVO();
|
||||||
|
vo.setParamVO(workParamVO);
|
||||||
|
workParamVO.setType(simType);
|
||||||
|
workParamVO.setMemberId(memberOptional.get().getId());
|
||||||
|
workParamVO.setDomConfig(new SimulationWorkParamVO.DomConfigVO(true, false, false));
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
//车站
|
||||||
|
Function<MapSystemCreateVO, MapSystemCreateVO> stationSystem = (vo) -> {
|
||||||
|
String name = "车站";
|
||||||
|
Optional<MapMemberVO> memberOptional = mapMemberVOS.stream()
|
||||||
|
.filter(member -> Objects.equals(member.getType(), SimulationMember.Type.STATION_SUPERVISOR))
|
||||||
|
.findFirst();
|
||||||
|
if (memberOptional.isEmpty()) {
|
||||||
|
msgList.add(String.format("%s无行值成员,未生成%s", msgPrefix, name));
|
||||||
|
} else {
|
||||||
|
vo.setName(name);
|
||||||
|
vo.setDesc(name);
|
||||||
|
SimulationWorkParamVO workParamVO = new SimulationWorkParamVO();
|
||||||
|
vo.setParamVO(workParamVO);
|
||||||
|
workParamVO.setType(simType);
|
||||||
|
workParamVO.setMemberId(memberOptional.get().getId());
|
||||||
|
workParamVO.setDomConfig(new SimulationWorkParamVO.DomConfigVO(true, false, false));
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
fillFunctions.add(dispatchSystem);
|
||||||
|
fillFunctions.add(stationSystem);
|
||||||
|
|
||||||
|
return fillFunctions;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Optional<RtsMapSystem> findEntityOptional(long id) {
|
private Optional<RtsMapSystem> findEntityOptional(long id) {
|
||||||
|
@ -12,12 +12,12 @@ public interface SimulationService {
|
|||||||
/**
|
/**
|
||||||
* 创建仿真
|
* 创建仿真
|
||||||
*/
|
*/
|
||||||
String createSimulation(@NonNull LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO);
|
String createSimulation(long mapId, SimulationWorkParamVO workParamVO, @NonNull LoginUserInfoVO loginUserInfoVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 给仿真添加功能
|
* 给仿真添加功能
|
||||||
*/
|
*/
|
||||||
void addFunctions(String simulationId, Map<Simulation.Function, Map<String, Object>> functionMap, LoginUserInfoVO loginInfo);
|
void addFunctions(String simulationId, Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionMap, LoginUserInfoVO loginInfo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 从仿真中移除功能
|
* 从仿真中移除功能
|
||||||
|
@ -34,9 +34,9 @@ public class SimulationServiceImpl implements SimulationService {
|
|||||||
private DefaultMessageSender defaultMessageSender;
|
private DefaultMessageSender defaultMessageSender;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String createSimulation(@NonNull LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO) {
|
public String createSimulation(long mapId, SimulationWorkParamVO workParamVO, @NonNull LoginUserInfoVO loginUserInfoVO) {
|
||||||
SimulationWorkService initService = simulationWorkServiceManager.getInitService(workParamVO.getType());
|
SimulationWorkService initService = simulationWorkServiceManager.getInitService(workParamVO.getType());
|
||||||
Simulation simulation = initService.create(loginUserInfoVO, workParamVO);
|
Simulation simulation = initService.create(mapId, workParamVO, loginUserInfoVO);
|
||||||
|
|
||||||
LoginUserInfoVO loginUserInfo = simulation.getBuildParams().getLoginUserInfo();
|
LoginUserInfoVO loginUserInfo = simulation.getBuildParams().getLoginUserInfo();
|
||||||
if (Objects.nonNull(loginUserInfo)) {
|
if (Objects.nonNull(loginUserInfo)) {
|
||||||
@ -58,8 +58,8 @@ public class SimulationServiceImpl implements SimulationService {
|
|||||||
initService.addJobs(simulation);
|
initService.addJobs(simulation);
|
||||||
initService.addMessagePublisher(simulation);
|
initService.addMessagePublisher(simulation);
|
||||||
initService.init(simulation);
|
initService.init(simulation);
|
||||||
if (!CollectionUtils.isEmpty(workParamVO.getFunctionMap())) {
|
if (!CollectionUtils.isEmpty(workParamVO.getFunctionInfoMap())) {
|
||||||
initService.addFunctions(simulation, workParamVO.getFunctionMap(), loginUserInfoVO);
|
initService.addFunctions(simulation, workParamVO.getFunctionInfoMap(), loginUserInfoVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
applicationContext.publishEvent(new SimulationCreateSuccessEvent(this, simulation));
|
applicationContext.publishEvent(new SimulationCreateSuccessEvent(this, simulation));
|
||||||
@ -69,27 +69,31 @@ public class SimulationServiceImpl implements SimulationService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addFunctions(@NonNull String simulationId, Map<Simulation.Function, Map<String, Object>> functionMap, LoginUserInfoVO loginInfo) {
|
public void addFunctions(@NonNull String simulationId, Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionInfoMap, LoginUserInfoVO loginInfo) {
|
||||||
Simulation simulation = simulationManager.getById(simulationId, Simulation.class);
|
if (!CollectionUtils.isEmpty(functionInfoMap)) {
|
||||||
addFunctions(simulation, functionMap, loginInfo);
|
Simulation simulation = simulationManager.getById(simulationId, Simulation.class);
|
||||||
}
|
|
||||||
|
|
||||||
private void addFunctions(@NonNull Simulation simulation, Map<Simulation.Function, Map<String, Object>> functionMap, LoginUserInfoVO loginInfo) {
|
|
||||||
if (!CollectionUtils.isEmpty(functionMap)) {
|
|
||||||
Simulation.Type simulationType = simulation.getType();
|
Simulation.Type simulationType = simulation.getType();
|
||||||
SimulationWorkService initService = simulationWorkServiceManager.getInitService(simulationType);
|
SimulationWorkService initService = simulationWorkServiceManager.getInitService(simulationType);
|
||||||
if (StringUtils.hasText(simulation.getCreatorId())) {
|
if (StringUtils.hasText(simulation.getCreatorId())) {
|
||||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(loginInfo.getAccountVO().getIdStr(), simulation.getCreatorId(),
|
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(loginInfo.getAccountVO().getIdStr(), simulation.getCreatorId(),
|
||||||
"非仿真创建者不能使用该功能");
|
"非仿真创建者不能使用该功能");
|
||||||
}
|
}
|
||||||
initService.addFunctions(simulation, functionMap, loginInfo);
|
initService.addFunctions(simulation, functionInfoMap, loginInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeFunctions(@NonNull String simulationId, List<Simulation.Function> functions, LoginUserInfoVO loginInfo) {
|
public void removeFunctions(@NonNull String simulationId, List<Simulation.Function> functions, LoginUserInfoVO loginInfo) {
|
||||||
Simulation simulation = simulationManager.getById(simulationId, Simulation.class);
|
if (!CollectionUtils.isEmpty(functions)) {
|
||||||
removeFunctions(simulation, functions, loginInfo);
|
Simulation simulation = simulationManager.getById(simulationId, Simulation.class);
|
||||||
|
Simulation.Type simulationType = simulation.getType();
|
||||||
|
SimulationWorkService initService = simulationWorkServiceManager.getInitService(simulationType);
|
||||||
|
if (StringUtils.hasText(simulation.getCreatorId())) {
|
||||||
|
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(loginInfo.getAccountVO().getIdStr(), simulation.getCreatorId(),
|
||||||
|
"非仿真创建者不能使用该功能");
|
||||||
|
}
|
||||||
|
initService.removeFunctions(simulation, functions);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -105,16 +109,4 @@ public class SimulationServiceImpl implements SimulationService {
|
|||||||
SimulationWorkService initService = simulationWorkServiceManager.getInitService(simulation.getType());
|
SimulationWorkService initService = simulationWorkServiceManager.getInitService(simulation.getType());
|
||||||
initService.reset(simulation);
|
initService.reset(simulation);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeFunctions(@NonNull Simulation simulation, List<Simulation.Function> functions, LoginUserInfoVO loginInfo) {
|
|
||||||
if (!CollectionUtils.isEmpty(functions)) {
|
|
||||||
Simulation.Type simulationType = simulation.getType();
|
|
||||||
SimulationWorkService initService = simulationWorkServiceManager.getInitService(simulationType);
|
|
||||||
if (StringUtils.hasText(simulation.getCreatorId())) {
|
|
||||||
BusinessExceptionAssertEnum.OPERATION_NOT_SUPPORTED.assertEquals(loginInfo.getAccountVO().getIdStr(), simulation.getCreatorId(),
|
|
||||||
"非仿真创建者不能使用该功能");
|
|
||||||
}
|
|
||||||
initService.removeFunctions(simulation, functions);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
package club.joylink.rtss.simulation.cbtc.bo;
|
|
||||||
|
|
||||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
|
||||||
import club.joylink.rtss.simulation.cbtc.vo.SimulationWorkParamVO;
|
|
||||||
import club.joylink.rtss.util.JsonUtils;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.Setter;
|
|
||||||
import lombok.ToString;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
public class SimulationWorkParam {
|
|
||||||
private Simulation.Type type;
|
|
||||||
|
|
||||||
private SimulationWorkParamVO.InitParamVO initParam;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 仿真所使用的功能
|
|
||||||
*/
|
|
||||||
@JsonInclude(value = JsonInclude.Include.NON_NULL)
|
|
||||||
private Map<Simulation.Function, FunctionParam> functionMap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 前端控制元素显隐的配置
|
|
||||||
*/
|
|
||||||
private SimulationWorkParamVO.DomConfigVO domConfig;
|
|
||||||
|
|
||||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT)
|
|
||||||
@JsonSubTypes({
|
|
||||||
@JsonSubTypes.Type(value = TrainingFunctionParam.class, name = "TRAINING"),
|
|
||||||
@JsonSubTypes.Type(value = LPFFunctionParam.class, name = "LPF")
|
|
||||||
})
|
|
||||||
@Getter
|
|
||||||
@ToString
|
|
||||||
public static abstract class FunctionParam {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@NoArgsConstructor
|
|
||||||
public static class TrainingFunctionParam extends FunctionParam {
|
|
||||||
private Long trainingId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@NoArgsConstructor
|
|
||||||
public static class LPFFunctionParam extends FunctionParam {
|
|
||||||
private Long dataId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SimulationWorkParam(SimulationWorkParamVO vo) {
|
|
||||||
this.type = vo.getType();
|
|
||||||
this.initParam = vo.getInitParam();
|
|
||||||
Map<Simulation.Function, Map<String, Object>> voFunctionMap = vo.getFunctionMap();
|
|
||||||
if (!CollectionUtils.isEmpty(voFunctionMap)) {
|
|
||||||
this.functionMap = new HashMap<>();
|
|
||||||
for (Map.Entry<Simulation.Function, Map<String, Object>> entry : voFunctionMap.entrySet()) {
|
|
||||||
String json = JsonUtils.writeValueAsString(entry);
|
|
||||||
FunctionParam param = JsonUtils.read(json, FunctionParam.class);
|
|
||||||
this.functionMap.put(entry.getKey(), param);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.domConfig = vo.getDomConfig();
|
|
||||||
}
|
|
||||||
}
|
|
@ -31,7 +31,7 @@ public class InterlockBuilder2 {
|
|||||||
static void checkAndBuildMapCILogicData(MapVO map, SimulationBuilder.SimulationDeviceBuildResult mapDataBuildResult) {
|
static void checkAndBuildMapCILogicData(MapVO map, SimulationBuilder.SimulationDeviceBuildResult mapDataBuildResult) {
|
||||||
MapLogicDataNewVO logicData = map.getLogicDataNew();
|
MapLogicDataNewVO logicData = map.getLogicDataNew();
|
||||||
MapGraphDataNewVO graphData = map.getGraphDataNew();
|
MapGraphDataNewVO graphData = map.getGraphDataNew();
|
||||||
boolean railway = map.getConfigVO().isRailway();
|
MapCiGenerateConfig generateConfig = graphData.getGenerateConfig();
|
||||||
|
|
||||||
Map<String, MapElement> elementMap = mapDataBuildResult.getDeviceMap();
|
Map<String, MapElement> elementMap = mapDataBuildResult.getDeviceMap();
|
||||||
List<String> errMsgList = mapDataBuildResult.getErrMsgList();
|
List<String> errMsgList = mapDataBuildResult.getErrMsgList();
|
||||||
@ -49,7 +49,7 @@ public class InterlockBuilder2 {
|
|||||||
// 接近区段
|
// 接近区段
|
||||||
InterlockBuilder2.buildApproachSections(logicData, elementMap, errMsgList);
|
InterlockBuilder2.buildApproachSections(logicData, elementMap, errMsgList);
|
||||||
// ------------进路start-------------
|
// ------------进路start-------------
|
||||||
if (railway) {
|
if (generateConfig != null && generateConfig.isRailway()) {
|
||||||
InterlockBuilder2.buildRailRoute(graphData, logicData, elementMap, errMsgList, flsMap);
|
InterlockBuilder2.buildRailRoute(graphData, logicData, elementMap, errMsgList, flsMap);
|
||||||
} else {
|
} else {
|
||||||
InterlockBuilder2.buildRoute(logicData, elementMap, errMsgList, flsMap);
|
InterlockBuilder2.buildRoute(logicData, elementMap, errMsgList, flsMap);
|
||||||
|
@ -42,8 +42,14 @@ public class SimulationIscsDataRepository {
|
|||||||
*/
|
*/
|
||||||
private final Map<String, StandPis> standPisMap = new HashMap<>();
|
private final Map<String, StandPis> standPisMap = new HashMap<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* k - groupNumber
|
||||||
|
*/
|
||||||
private final Map<String, OnboardPisStatus> onboardPisStatusMap = new HashMap<>();
|
private final Map<String, OnboardPisStatus> onboardPisStatusMap = new HashMap<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* k - standCode
|
||||||
|
*/
|
||||||
private final Map<String, StandPisStatus> standPisStatusMap = new HashMap<>();
|
private final Map<String, StandPisStatus> standPisStatusMap = new HashMap<>();
|
||||||
|
|
||||||
private final List<TimedPlayParamVO> timedPlayParamVOS = new ArrayList<>();
|
private final List<TimedPlayParamVO> timedPlayParamVOS = new ArrayList<>();
|
||||||
|
@ -17,48 +17,51 @@ import java.util.Map;
|
|||||||
@Setter
|
@Setter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class SimulationWorkParamVO {
|
public class SimulationWorkParamVO {
|
||||||
private Long mapId;
|
|
||||||
|
|
||||||
@NotNull(message = "仿真类型不能为空")
|
@NotNull(message = "仿真类型不能为空")
|
||||||
private Simulation.Type type;
|
private Simulation.Type type;
|
||||||
|
|
||||||
private InitParamVO initParam;
|
/**
|
||||||
|
* 创建仿真时默认扮演的成员的id
|
||||||
|
*/
|
||||||
|
private String memberId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建仿真时默认使用的客户端
|
||||||
|
*/
|
||||||
|
private Simulation.Client client;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 仿真所使用的功能
|
* 仿真所使用的功能
|
||||||
*/
|
*/
|
||||||
@JsonInclude(value = JsonInclude.Include.NON_NULL)
|
@JsonInclude(value = JsonInclude.Include.NON_NULL)
|
||||||
private Map<Simulation.Function, Map<String, Object>> functionMap;
|
private Map<Simulation.Function, FunctionInfoVO> functionInfoMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 前端控制元素显隐的配置(后端暂时用不到,所以先用Map接收)
|
* 前端控制元素显隐的配置
|
||||||
*/
|
*/
|
||||||
private DomConfigVO domConfig;
|
private DomConfigVO domConfig;
|
||||||
|
|
||||||
public void addFunctionInfos(@NonNull Map<Simulation.Function, Map<String, Object>> functionMap) {
|
public void addFunctionInfos(@NonNull Map<Simulation.Function, FunctionInfoVO> functionMap) {
|
||||||
if (CollectionUtils.isEmpty(this.functionMap)) {
|
if (CollectionUtils.isEmpty(this.functionInfoMap)) {
|
||||||
this.functionMap = new LinkedHashMap<>();
|
this.functionInfoMap = new LinkedHashMap<>();
|
||||||
}
|
}
|
||||||
this.functionMap.putAll(functionMap);
|
this.functionInfoMap.putAll(functionMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeFunctions(Collection<Simulation.Function> functions) {
|
public void removeFunctions(Collection<Simulation.Function> functions) {
|
||||||
if (!CollectionUtils.isEmpty(functionMap)) {
|
if (!CollectionUtils.isEmpty(functionInfoMap)) {
|
||||||
functions.forEach(function -> functionMap.remove(function));
|
functions.forEach(function -> functionInfoMap.remove(function));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 使用方式参数
|
|
||||||
*/
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public static class InitParamVO {
|
public static class FunctionInfoVO {
|
||||||
private String memberId;
|
private Simulation.Function function;
|
||||||
|
|
||||||
private Simulation.Client client;
|
private Long id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@ -72,5 +75,4 @@ public class SimulationWorkParamVO {
|
|||||||
|
|
||||||
private boolean hasTraining;
|
private boolean hasTraining;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ public class EmergencySimulationWorkServiceImpl implements SimulationWorkService
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Simulation create(LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO) {
|
public Simulation create(long mapId, SimulationWorkParamVO workParamVO, LoginUserInfoVO loginUserInfoVO) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ public class EmergencySimulationWorkServiceImpl implements SimulationWorkService
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addFunctions(Simulation simulation, Map<Simulation.Function, Map<String, Object>> functionMap, LoginUserInfoVO loginInfo) {
|
public void addFunctions(Simulation simulation, Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionInfoMap, LoginUserInfoVO loginInfo) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@ import club.joylink.rtss.simulation.cbtc.depot.DepotService;
|
|||||||
import club.joylink.rtss.simulation.cbtc.device.virtual.VRDeviceLogicLoop;
|
import club.joylink.rtss.simulation.cbtc.device.virtual.VRDeviceLogicLoop;
|
||||||
import club.joylink.rtss.simulation.cbtc.device.virtual.VRTrainRunningService;
|
import club.joylink.rtss.simulation.cbtc.device.virtual.VRTrainRunningService;
|
||||||
import club.joylink.rtss.simulation.cbtc.fault.FaultGenerator;
|
import club.joylink.rtss.simulation.cbtc.fault.FaultGenerator;
|
||||||
import club.joylink.rtss.simulation.cbtc.member.MemberManager;
|
|
||||||
import club.joylink.rtss.simulation.cbtc.member.SimulationUser;
|
import club.joylink.rtss.simulation.cbtc.member.SimulationUser;
|
||||||
import club.joylink.rtss.simulation.cbtc.onboard.ATP.ATPLogicLoop;
|
import club.joylink.rtss.simulation.cbtc.onboard.ATP.ATPLogicLoop;
|
||||||
import club.joylink.rtss.simulation.cbtc.onboard.TrainTargetUpdateService;
|
import club.joylink.rtss.simulation.cbtc.onboard.TrainTargetUpdateService;
|
||||||
@ -35,10 +34,8 @@ import club.joylink.rtss.simulation.cbtc.passenger.strategy.LargePassengerFlowSt
|
|||||||
import club.joylink.rtss.simulation.cbtc.pis.PisLogicLoop;
|
import club.joylink.rtss.simulation.cbtc.pis.PisLogicLoop;
|
||||||
import club.joylink.rtss.simulation.cbtc.robot.SimulationRobotService;
|
import club.joylink.rtss.simulation.cbtc.robot.SimulationRobotService;
|
||||||
import club.joylink.rtss.simulation.cbtc.vo.SimulationWorkParamVO;
|
import club.joylink.rtss.simulation.cbtc.vo.SimulationWorkParamVO;
|
||||||
import club.joylink.rtss.simulation.cbtc.vo.TrainingParamVO;
|
|
||||||
import club.joylink.rtss.simulation.rt.iscs.IscsStatusPublisher;
|
import club.joylink.rtss.simulation.rt.iscs.IscsStatusPublisher;
|
||||||
import club.joylink.rtss.simulation.rt.pis.PisStatusPublisher;
|
import club.joylink.rtss.simulation.rt.pis.PisStatusPublisher;
|
||||||
import club.joylink.rtss.util.JsonUtils;
|
|
||||||
import club.joylink.rtss.vo.LoginUserInfoVO;
|
import club.joylink.rtss.vo.LoginUserInfoVO;
|
||||||
import club.joylink.rtss.vo.client.CommandDefinitionVO;
|
import club.joylink.rtss.vo.client.CommandDefinitionVO;
|
||||||
import club.joylink.rtss.vo.client.iscs.device.IscsDeviceVO;
|
import club.joylink.rtss.vo.client.iscs.device.IscsDeviceVO;
|
||||||
@ -87,8 +84,6 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IscsSystemResourcesService iscsSystemResourcesService;
|
private IscsSystemResourcesService iscsSystemResourcesService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MemberManager memberManager;
|
|
||||||
@Autowired
|
|
||||||
private DeviceStatusService deviceStatusService;
|
private DeviceStatusService deviceStatusService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private DepotService depotService;
|
private DepotService depotService;
|
||||||
@ -143,10 +138,10 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Simulation create(LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO) {
|
public Simulation create(long mapId, SimulationWorkParamVO workParamVO, LoginUserInfoVO loginUserInfoVO) {
|
||||||
checkParam(workParamVO);
|
checkParam(workParamVO);
|
||||||
SimulationBuildParams params = prepareSimulationParams(loginUserInfoVO, workParamVO);
|
SimulationBuildParams params = prepareSimulationParams(mapId, workParamVO, loginUserInfoVO);
|
||||||
String group = SimulationIdGenerator.generateGroup(loginUserInfoVO.getAccountVO().getId(), workParamVO.getMapId());
|
String group = SimulationIdGenerator.generateGroup(loginUserInfoVO.getAccountVO().getId(), mapId);
|
||||||
Simulation simulation = new Simulation(group);
|
Simulation simulation = new Simulation(group);
|
||||||
simulation.setBuildParams(params);
|
simulation.setBuildParams(params);
|
||||||
return simulation;
|
return simulation;
|
||||||
@ -215,13 +210,13 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
@Override
|
@Override
|
||||||
public void runAsPlan(Simulation simulation, RunAsPlanParam param) {
|
public void runAsPlan(Simulation simulation, RunAsPlanParam param) {
|
||||||
SimulationWorkParamVO workParamVO = simulation.getBuildParams().getWorkParamVO();
|
SimulationWorkParamVO workParamVO = simulation.getBuildParams().getWorkParamVO();
|
||||||
Map<Simulation.Function, Map<String, Object>> functionMap = workParamVO.getFunctionMap();
|
Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionMap = workParamVO.getFunctionInfoMap();
|
||||||
if (CollectionUtils.isEmpty(functionMap)) {
|
if (CollectionUtils.isEmpty(functionMap)) {
|
||||||
groupSimulationService.runAsPlan(simulation.getId(), param);
|
groupSimulationService.runAsPlan(simulation.getId(), param);
|
||||||
} else {
|
} else {
|
||||||
for (Map.Entry<Simulation.Function, Map<String, Object>> entry : functionMap.entrySet()) {
|
for (Map.Entry<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> entry : functionMap.entrySet()) {
|
||||||
Simulation.Function function = entry.getKey();
|
Simulation.Function function = entry.getKey();
|
||||||
Map<String, Object> funcParam = entry.getValue();
|
SimulationWorkParamVO.FunctionInfoVO info = entry.getValue();
|
||||||
switch (function) {
|
switch (function) {
|
||||||
case LPF:
|
case LPF:
|
||||||
boolean initSuccess = passengerFlowSimulateService.initPassengerFlow(simulation);
|
boolean initSuccess = passengerFlowSimulateService.initPassengerFlow(simulation);
|
||||||
@ -246,11 +241,11 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
simulationLifeCycleService.reset(simulation);
|
simulationLifeCycleService.reset(simulation);
|
||||||
|
|
||||||
SimulationWorkParamVO workParamVO = simulation.getBuildParams().getWorkParamVO();
|
SimulationWorkParamVO workParamVO = simulation.getBuildParams().getWorkParamVO();
|
||||||
Map<Simulation.Function, Map<String, Object>> functionMap = workParamVO.getFunctionMap();
|
Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionMap = workParamVO.getFunctionInfoMap();
|
||||||
if (!CollectionUtils.isEmpty(functionMap)) {
|
if (!CollectionUtils.isEmpty(functionMap)) {
|
||||||
for (Map.Entry<Simulation.Function, Map<String, Object>> entry : functionMap.entrySet()) {
|
for (Map.Entry<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> entry : functionMap.entrySet()) {
|
||||||
Simulation.Function function = entry.getKey();
|
Simulation.Function function = entry.getKey();
|
||||||
Map<String, Object> funcParam = entry.getValue();
|
SimulationWorkParamVO.FunctionInfoVO info = entry.getValue();
|
||||||
switch (function) {
|
switch (function) {
|
||||||
case LPF:
|
case LPF:
|
||||||
passengerFlowSimulateService.simulationReset(simulation);
|
passengerFlowSimulateService.simulationReset(simulation);
|
||||||
@ -270,10 +265,10 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addFunctions(Simulation simulation, Map<Simulation.Function, Map<String, Object>> functionMap, LoginUserInfoVO loginInfo) {
|
public void addFunctions(Simulation simulation, Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionInfoMap, LoginUserInfoVO loginInfo) {
|
||||||
for (Map.Entry<Simulation.Function, Map<String, Object>> entry : functionMap.entrySet()) {
|
for (Map.Entry<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> entry : functionInfoMap.entrySet()) {
|
||||||
Simulation.Function function = entry.getKey();
|
Simulation.Function function = entry.getKey();
|
||||||
Map<String, Object> param = entry.getValue();
|
SimulationWorkParamVO.FunctionInfoVO info = entry.getValue();
|
||||||
switch (function) {
|
switch (function) {
|
||||||
case LPF:
|
case LPF:
|
||||||
break;
|
break;
|
||||||
@ -282,10 +277,8 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
case TRAINING_DESIGN:
|
case TRAINING_DESIGN:
|
||||||
break;
|
break;
|
||||||
case TRAINING:
|
case TRAINING:
|
||||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertMapNotEmpty(param, "参数不能为空");
|
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(info, "参数不能为空");
|
||||||
TrainingParamVO paramVO = JsonUtils.read(JsonUtils.writeValueAsString(param), TrainingParamVO.class);
|
iTrainingV1Service.loadTraining(simulation.getId(), info.getId(), loginInfo.getAccountVO());
|
||||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(paramVO.getTrainingId(), "参数不能为空");
|
|
||||||
iTrainingV1Service.loadTraining(simulation.getId(), paramVO.getTrainingId(), loginInfo.getAccountVO());
|
|
||||||
break;
|
break;
|
||||||
case EXAM:
|
case EXAM:
|
||||||
break;
|
break;
|
||||||
@ -293,7 +286,7 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
throw new IllegalStateException("Unexpected value: " + function);
|
throw new IllegalStateException("Unexpected value: " + function);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
simulation.getBuildParams().getWorkParamVO().addFunctionInfos(functionMap);
|
simulation.getBuildParams().getWorkParamVO().addFunctionInfos(functionInfoMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -375,9 +368,8 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
SimulationBuilder.loadDepotInOutRoutePath(simulation);
|
SimulationBuilder.loadDepotInOutRoutePath(simulation);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SimulationBuildParams prepareSimulationParams(LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO) {
|
private SimulationBuildParams prepareSimulationParams(long mapId, SimulationWorkParamVO workParamVO, LoginUserInfoVO loginUserInfoVO) {
|
||||||
// 获取地图数据
|
// 获取地图数据
|
||||||
Long mapId = workParamVO.getMapId();
|
|
||||||
MapVO mapVO = iMapService.getMapDetail(mapId);
|
MapVO mapVO = iMapService.getMapDetail(mapId);
|
||||||
List<RunPlanRunlevelVO> runLevelList = this.prepareRunLevelData(loginUserInfoVO, mapId);
|
List<RunPlanRunlevelVO> runLevelList = this.prepareRunLevelData(loginUserInfoVO, mapId);
|
||||||
List<RunPlanParkingTimeVO> parkTimeList = this.prepareParkTimeData(loginUserInfoVO, mapId);
|
List<RunPlanParkingTimeVO> parkTimeList = this.prepareParkTimeData(loginUserInfoVO, mapId);
|
||||||
@ -416,7 +408,7 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
RunPlanLoadVO loadPlan = null;
|
RunPlanLoadVO loadPlan = null;
|
||||||
Simulation.Type type = createParamVO.getType();
|
Simulation.Type type = createParamVO.getType();
|
||||||
if (Simulation.Type.METRO == type) {
|
if (Simulation.Type.METRO == type) {
|
||||||
Map<Simulation.Function, Map<String, Object>> functionMap = createParamVO.getFunctionMap();
|
Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionMap = createParamVO.getFunctionInfoMap();
|
||||||
if (CollectionUtils.isEmpty(functionMap)) {
|
if (CollectionUtils.isEmpty(functionMap)) {
|
||||||
//优先使用用户的运行图
|
//优先使用用户的运行图
|
||||||
loadPlan = iLoadPlanService.findUserLoadPlan(userId, mapId, runPlanDate);
|
loadPlan = iLoadPlanService.findUserLoadPlan(userId, mapId, runPlanDate);
|
||||||
@ -424,7 +416,7 @@ public class MetroSimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
loadPlan = iLoadPlanService.findCommonLoadPlanOfMap(mapId);
|
loadPlan = iLoadPlanService.findCommonLoadPlanOfMap(mapId);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (Map.Entry<Simulation.Function, Map<String, Object>> entry : functionMap.entrySet()) {
|
for (Map.Entry<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> entry : functionMap.entrySet()) {
|
||||||
Simulation.Function function = entry.getKey();
|
Simulation.Function function = entry.getKey();
|
||||||
switch (function) {
|
switch (function) {
|
||||||
case LPF:
|
case LPF:
|
||||||
|
@ -82,10 +82,10 @@ public class RailwaySimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Simulation create(LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO) {
|
public Simulation create(long mapId, SimulationWorkParamVO workParamVO, LoginUserInfoVO loginUserInfoVO) {
|
||||||
checkParam(workParamVO);
|
checkParam(workParamVO);
|
||||||
SimulationBuildParams params = prepareSimulationParams(loginUserInfoVO, workParamVO);
|
SimulationBuildParams params = prepareSimulationParams(loginUserInfoVO, workParamVO, mapId);
|
||||||
String group = SimulationIdGenerator.generateGroup(loginUserInfoVO.getAccountVO().getId(), workParamVO.getMapId());
|
String group = SimulationIdGenerator.generateGroup(loginUserInfoVO.getAccountVO().getId(), mapId);
|
||||||
Simulation simulation = new Simulation(group);
|
Simulation simulation = new Simulation(group);
|
||||||
simulation.setBuildParams(params);
|
simulation.setBuildParams(params);
|
||||||
return simulation;
|
return simulation;
|
||||||
@ -143,7 +143,7 @@ public class RailwaySimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addFunctions(Simulation simulation, Map<Simulation.Function, Map<String, Object>> functionMap, LoginUserInfoVO loginInfo) {
|
public void addFunctions(Simulation simulation, Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionInfoMap, LoginUserInfoVO loginInfo) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,9 +152,8 @@ public class RailwaySimulationWorkServiceImpl implements SimulationWorkService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private SimulationBuildParams prepareSimulationParams(LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO) {
|
private SimulationBuildParams prepareSimulationParams(LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO, long mapId) {
|
||||||
// 获取地图数据
|
// 获取地图数据
|
||||||
Long mapId = workParamVO.getMapId();
|
|
||||||
MapVO mapVO = iMapService.getMapDetail(mapId);
|
MapVO mapVO = iMapService.getMapDetail(mapId);
|
||||||
// 获取操作定义数据
|
// 获取操作定义数据
|
||||||
List<CommandDefinitionVO> operationDefinitionList = iCommandService
|
List<CommandDefinitionVO> operationDefinitionList = iCommandService
|
||||||
|
@ -14,7 +14,7 @@ import java.util.Map;
|
|||||||
public interface SimulationWorkService {
|
public interface SimulationWorkService {
|
||||||
Simulation.Type getType();
|
Simulation.Type getType();
|
||||||
|
|
||||||
Simulation create(LoginUserInfoVO loginUserInfoVO, SimulationWorkParamVO workParamVO);
|
Simulation create(long mapId, SimulationWorkParamVO workParamVO, LoginUserInfoVO loginUserInfoVO);
|
||||||
|
|
||||||
void loadData(Simulation simulation);
|
void loadData(Simulation simulation);
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ public interface SimulationWorkService {
|
|||||||
|
|
||||||
void reset(Simulation simulation);
|
void reset(Simulation simulation);
|
||||||
|
|
||||||
void addFunctions(Simulation simulation, Map<Simulation.Function, Map<String, Object>> functionMap, LoginUserInfoVO loginInfo);
|
void addFunctions(Simulation simulation, Map<Simulation.Function, SimulationWorkParamVO.FunctionInfoVO> functionInfoMap, LoginUserInfoVO loginInfo);
|
||||||
|
|
||||||
void removeFunctions(Simulation simulation, Collection<Simulation.Function> functions);
|
void removeFunctions(Simulation simulation, Collection<Simulation.Function> functions);
|
||||||
|
|
||||||
@ -37,9 +37,8 @@ public interface SimulationWorkService {
|
|||||||
*/
|
*/
|
||||||
default void checkParam(@NonNull SimulationWorkParamVO workParamVO) {
|
default void checkParam(@NonNull SimulationWorkParamVO workParamVO) {
|
||||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(workParamVO, "仿真工作参数不能为空");
|
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(workParamVO, "仿真工作参数不能为空");
|
||||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(workParamVO.getMapId(), "仿真线路id不能为空");
|
|
||||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(workParamVO.getType(), "仿真类型不能为空");
|
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(workParamVO.getType(), "仿真类型不能为空");
|
||||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotTrue(!CollectionUtils.isEmpty(workParamVO.getFunctionMap())
|
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotTrue(!CollectionUtils.isEmpty(workParamVO.getFunctionInfoMap())
|
||||||
&& workParamVO.getFunctionMap().size() > 1, "功能数量超限");
|
&& workParamVO.getFunctionInfoMap().size() > 1, "功能数量超限");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,10 +77,10 @@ public class SimulationWorkServiceManager implements ApplicationContextAware {
|
|||||||
*/
|
*/
|
||||||
public void playMember(Simulation simulation) {
|
public void playMember(Simulation simulation) {
|
||||||
SimulationWorkParamVO workParamVO = simulation.getBuildParams().getWorkParamVO();
|
SimulationWorkParamVO workParamVO = simulation.getBuildParams().getWorkParamVO();
|
||||||
SimulationWorkParamVO.InitParamVO initParamVO = workParamVO.getInitParam();
|
String memberId = workParamVO.getMemberId();
|
||||||
if (initParamVO != null && initParamVO.getMemberId() != null) {
|
if (StringUtils.hasText(memberId)) {
|
||||||
Long creatorId = simulation.getBuildParams().getLoginUserInfo().getAccountVO().getId();
|
Long creatorId = simulation.getBuildParams().getLoginUserInfo().getAccountVO().getId();
|
||||||
memberManager.playRole(simulation, creatorId, initParamVO.getMemberId());
|
memberManager.playRole(simulation, creatorId, memberId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,8 @@ public class ReleaseVO {
|
|||||||
|
|
||||||
private List<CompetitionWithBLOBs> competitions;
|
private List<CompetitionWithBLOBs> competitions;
|
||||||
|
|
||||||
|
private List<RunPlanRouting> runPlanRoutings;
|
||||||
|
|
||||||
public ReleaseVO(Long mapId, String realLineCode) {
|
public ReleaseVO(Long mapId, String realLineCode) {
|
||||||
this.mapId = mapId;
|
this.mapId = mapId;
|
||||||
this.realLineCode = realLineCode;
|
this.realLineCode = realLineCode;
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package club.joylink.rtss.vo.permission;
|
||||||
|
|
||||||
|
import club.joylink.rtss.entity.permission.PermissionDistribute;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class PermissionDistributeVO implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 2597089293400946877L;
|
||||||
|
private Long permissionId;
|
||||||
|
private String sourceSubjectId;
|
||||||
|
private Integer amount;
|
||||||
|
private Integer remains;
|
||||||
|
private Boolean forever;
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
private LocalDateTime startTime;
|
||||||
|
private LocalDateTime endTime;
|
||||||
|
private String dsc;
|
||||||
|
|
||||||
|
public PermissionDistribute toBean(){
|
||||||
|
PermissionDistribute pd = new PermissionDistribute();
|
||||||
|
return pd;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,323 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="club.joylink.rtss.dao.permission.PermissionDistributeDAO">
|
||||||
|
<resultMap id="BaseResultMap" type="club.joylink.rtss.entity.permission.PermissionDistribute">
|
||||||
|
<id column="id" jdbcType="BIGINT" property="id" />
|
||||||
|
<result column="permission_id" jdbcType="BIGINT" property="permissionId" />
|
||||||
|
<result column="source_subject_id" jdbcType="BIGINT" property="sourceSubjectId" />
|
||||||
|
<result column="amount" jdbcType="INTEGER" property="amount" />
|
||||||
|
<result column="remains" jdbcType="INTEGER" property="remains" />
|
||||||
|
<result column="forever" jdbcType="BIT" property="forever" />
|
||||||
|
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||||
|
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||||
|
<result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
|
||||||
|
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
|
||||||
|
<result column="create_id" jdbcType="BIGINT" property="createId" />
|
||||||
|
<result column="dsc" jdbcType="VARCHAR" property="dsc" />
|
||||||
|
</resultMap>
|
||||||
|
<sql id="Example_Where_Clause">
|
||||||
|
<where>
|
||||||
|
<foreach collection="oredCriteria" item="criteria" separator="or">
|
||||||
|
<if test="criteria.valid">
|
||||||
|
<trim prefix="(" prefixOverrides="and" suffix=")">
|
||||||
|
<foreach collection="criteria.criteria" item="criterion">
|
||||||
|
<choose>
|
||||||
|
<when test="criterion.noValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue">
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue">
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Update_By_Example_Where_Clause">
|
||||||
|
<where>
|
||||||
|
<foreach collection="example.oredCriteria" item="criteria" separator="or">
|
||||||
|
<if test="criteria.valid">
|
||||||
|
<trim prefix="(" prefixOverrides="and" suffix=")">
|
||||||
|
<foreach collection="criteria.criteria" item="criterion">
|
||||||
|
<choose>
|
||||||
|
<when test="criterion.noValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.singleValue">
|
||||||
|
and ${criterion.condition} #{criterion.value}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.betweenValue">
|
||||||
|
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||||
|
</when>
|
||||||
|
<when test="criterion.listValue">
|
||||||
|
and ${criterion.condition}
|
||||||
|
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
||||||
|
#{listItem}
|
||||||
|
</foreach>
|
||||||
|
</when>
|
||||||
|
</choose>
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
id, permission_id, source_subject_id, amount, remains, forever, create_time, update_time,
|
||||||
|
start_time, end_time, create_id, dsc
|
||||||
|
</sql>
|
||||||
|
<select id="selectByExample" parameterType="club.joylink.rtss.entity.permission.PermissionDistributeExample" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<if test="distinct">
|
||||||
|
distinct
|
||||||
|
</if>
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from rts_permission_distribute
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
<if test="orderByClause != null">
|
||||||
|
order by ${orderByClause}
|
||||||
|
</if>
|
||||||
|
<if test="limit != null">
|
||||||
|
<if test="offset != null">
|
||||||
|
limit ${offset}, ${limit}
|
||||||
|
</if>
|
||||||
|
<if test="offset == null">
|
||||||
|
limit ${limit}
|
||||||
|
</if>
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
||||||
|
select
|
||||||
|
<include refid="Base_Column_List" />
|
||||||
|
from rts_permission_distribute
|
||||||
|
where id = #{id,jdbcType=BIGINT}
|
||||||
|
</select>
|
||||||
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
||||||
|
delete from rts_permission_distribute
|
||||||
|
where id = #{id,jdbcType=BIGINT}
|
||||||
|
</delete>
|
||||||
|
<delete id="deleteByExample" parameterType="club.joylink.rtss.entity.permission.PermissionDistributeExample">
|
||||||
|
delete from rts_permission_distribute
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</delete>
|
||||||
|
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="club.joylink.rtss.entity.permission.PermissionDistribute" useGeneratedKeys="true">
|
||||||
|
insert into rts_permission_distribute (permission_id, source_subject_id, amount,
|
||||||
|
remains, forever, create_time,
|
||||||
|
update_time, start_time, end_time,
|
||||||
|
create_id, dsc)
|
||||||
|
values (#{permissionId,jdbcType=BIGINT}, #{sourceSubjectId,jdbcType=BIGINT}, #{amount,jdbcType=INTEGER},
|
||||||
|
#{remains,jdbcType=INTEGER}, #{forever,jdbcType=BIT}, #{createTime,jdbcType=TIMESTAMP},
|
||||||
|
#{updateTime,jdbcType=TIMESTAMP}, #{startTime,jdbcType=TIMESTAMP}, #{endTime,jdbcType=TIMESTAMP},
|
||||||
|
#{createId,jdbcType=BIGINT}, #{dsc,jdbcType=VARCHAR})
|
||||||
|
</insert>
|
||||||
|
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="club.joylink.rtss.entity.permission.PermissionDistribute" useGeneratedKeys="true">
|
||||||
|
insert into rts_permission_distribute
|
||||||
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="permissionId != null">
|
||||||
|
permission_id,
|
||||||
|
</if>
|
||||||
|
<if test="sourceSubjectId != null">
|
||||||
|
source_subject_id,
|
||||||
|
</if>
|
||||||
|
<if test="amount != null">
|
||||||
|
amount,
|
||||||
|
</if>
|
||||||
|
<if test="remains != null">
|
||||||
|
remains,
|
||||||
|
</if>
|
||||||
|
<if test="forever != null">
|
||||||
|
forever,
|
||||||
|
</if>
|
||||||
|
<if test="createTime != null">
|
||||||
|
create_time,
|
||||||
|
</if>
|
||||||
|
<if test="updateTime != null">
|
||||||
|
update_time,
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null">
|
||||||
|
start_time,
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null">
|
||||||
|
end_time,
|
||||||
|
</if>
|
||||||
|
<if test="createId != null">
|
||||||
|
create_id,
|
||||||
|
</if>
|
||||||
|
<if test="dsc != null">
|
||||||
|
dsc,
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
|
<if test="permissionId != null">
|
||||||
|
#{permissionId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="sourceSubjectId != null">
|
||||||
|
#{sourceSubjectId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="amount != null">
|
||||||
|
#{amount,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="remains != null">
|
||||||
|
#{remains,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="forever != null">
|
||||||
|
#{forever,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
|
<if test="createTime != null">
|
||||||
|
#{createTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="updateTime != null">
|
||||||
|
#{updateTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null">
|
||||||
|
#{startTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null">
|
||||||
|
#{endTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="createId != null">
|
||||||
|
#{createId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="dsc != null">
|
||||||
|
#{dsc,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</trim>
|
||||||
|
</insert>
|
||||||
|
<select id="countByExample" parameterType="club.joylink.rtss.entity.permission.PermissionDistributeExample" resultType="java.lang.Long">
|
||||||
|
select count(*) from rts_permission_distribute
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
<update id="updateByExampleSelective" parameterType="map">
|
||||||
|
update rts_permission_distribute
|
||||||
|
<set>
|
||||||
|
<if test="record.id != null">
|
||||||
|
id = #{record.id,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="record.permissionId != null">
|
||||||
|
permission_id = #{record.permissionId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="record.sourceSubjectId != null">
|
||||||
|
source_subject_id = #{record.sourceSubjectId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="record.amount != null">
|
||||||
|
amount = #{record.amount,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.remains != null">
|
||||||
|
remains = #{record.remains,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="record.forever != null">
|
||||||
|
forever = #{record.forever,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
|
<if test="record.createTime != null">
|
||||||
|
create_time = #{record.createTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="record.updateTime != null">
|
||||||
|
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="record.startTime != null">
|
||||||
|
start_time = #{record.startTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="record.endTime != null">
|
||||||
|
end_time = #{record.endTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="record.createId != null">
|
||||||
|
create_id = #{record.createId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="record.dsc != null">
|
||||||
|
dsc = #{record.dsc,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByExample" parameterType="map">
|
||||||
|
update rts_permission_distribute
|
||||||
|
set id = #{record.id,jdbcType=BIGINT},
|
||||||
|
permission_id = #{record.permissionId,jdbcType=BIGINT},
|
||||||
|
source_subject_id = #{record.sourceSubjectId,jdbcType=BIGINT},
|
||||||
|
amount = #{record.amount,jdbcType=INTEGER},
|
||||||
|
remains = #{record.remains,jdbcType=INTEGER},
|
||||||
|
forever = #{record.forever,jdbcType=BIT},
|
||||||
|
create_time = #{record.createTime,jdbcType=TIMESTAMP},
|
||||||
|
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
|
||||||
|
start_time = #{record.startTime,jdbcType=TIMESTAMP},
|
||||||
|
end_time = #{record.endTime,jdbcType=TIMESTAMP},
|
||||||
|
create_id = #{record.createId,jdbcType=BIGINT},
|
||||||
|
dsc = #{record.dsc,jdbcType=VARCHAR}
|
||||||
|
<if test="_parameter != null">
|
||||||
|
<include refid="Update_By_Example_Where_Clause" />
|
||||||
|
</if>
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKeySelective" parameterType="club.joylink.rtss.entity.permission.PermissionDistribute">
|
||||||
|
update rts_permission_distribute
|
||||||
|
<set>
|
||||||
|
<if test="permissionId != null">
|
||||||
|
permission_id = #{permissionId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="sourceSubjectId != null">
|
||||||
|
source_subject_id = #{sourceSubjectId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="amount != null">
|
||||||
|
amount = #{amount,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="remains != null">
|
||||||
|
remains = #{remains,jdbcType=INTEGER},
|
||||||
|
</if>
|
||||||
|
<if test="forever != null">
|
||||||
|
forever = #{forever,jdbcType=BIT},
|
||||||
|
</if>
|
||||||
|
<if test="createTime != null">
|
||||||
|
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="updateTime != null">
|
||||||
|
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null">
|
||||||
|
start_time = #{startTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null">
|
||||||
|
end_time = #{endTime,jdbcType=TIMESTAMP},
|
||||||
|
</if>
|
||||||
|
<if test="createId != null">
|
||||||
|
create_id = #{createId,jdbcType=BIGINT},
|
||||||
|
</if>
|
||||||
|
<if test="dsc != null">
|
||||||
|
dsc = #{dsc,jdbcType=VARCHAR},
|
||||||
|
</if>
|
||||||
|
</set>
|
||||||
|
where id = #{id,jdbcType=BIGINT}
|
||||||
|
</update>
|
||||||
|
<update id="updateByPrimaryKey" parameterType="club.joylink.rtss.entity.permission.PermissionDistribute">
|
||||||
|
update rts_permission_distribute
|
||||||
|
set permission_id = #{permissionId,jdbcType=BIGINT},
|
||||||
|
source_subject_id = #{sourceSubjectId,jdbcType=BIGINT},
|
||||||
|
amount = #{amount,jdbcType=INTEGER},
|
||||||
|
remains = #{remains,jdbcType=INTEGER},
|
||||||
|
forever = #{forever,jdbcType=BIT},
|
||||||
|
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||||
|
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||||
|
start_time = #{startTime,jdbcType=TIMESTAMP},
|
||||||
|
end_time = #{endTime,jdbcType=TIMESTAMP},
|
||||||
|
create_id = #{createId,jdbcType=BIGINT},
|
||||||
|
dsc = #{dsc,jdbcType=VARCHAR}
|
||||||
|
where id = #{id,jdbcType=BIGINT}
|
||||||
|
</update>
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue
Block a user