Commit ec59cd0b authored by hkl's avatar hkl

feat:1.修改bug

parent fa4a630d
...@@ -74,6 +74,10 @@ ...@@ -74,6 +74,10 @@
<properties> <properties>
<package.environment>hkl</package.environment> <package.environment>hkl</package.environment>
</properties> </properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile> </profile>
<!-- 测试环境 --> <!-- 测试环境 -->
...@@ -90,10 +94,6 @@ ...@@ -90,10 +94,6 @@
<properties> <properties>
<package.environment>pressure</package.environment> <package.environment>pressure</package.environment>
</properties> </properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile> </profile>
<!-- 生成环境环境--> <!-- 生成环境环境-->
......
...@@ -15,7 +15,7 @@ import org.jeecg.modules.deviceAsset.dto.SignBoardManagementDTO; ...@@ -15,7 +15,7 @@ import org.jeecg.modules.deviceAsset.dto.SignBoardManagementDTO;
import org.jeecg.modules.deviceAsset.entity.FastenerManagement; import org.jeecg.modules.deviceAsset.entity.FastenerManagement;
import org.jeecg.modules.deviceAsset.entity.SignBoardManagement; import org.jeecg.modules.deviceAsset.entity.SignBoardManagement;
import org.jeecg.modules.deviceAsset.entity.TrackBedManagement; import org.jeecg.modules.deviceAsset.entity.TrackBedManagement;
import org.jeecg.modules.deviceAsset.service.ISignBoardManagementService; import org.jeecg.modules.deviceAsset.service.*;
import org.jeecg.modules.deviceAsset.vo.FastenerManagementVO; import org.jeecg.modules.deviceAsset.vo.FastenerManagementVO;
import org.jeecg.modules.deviceAsset.vo.SignBoardManagementVO; import org.jeecg.modules.deviceAsset.vo.SignBoardManagementVO;
import org.jeecg.modules.subwayNetwork.entity.LightRail; import org.jeecg.modules.subwayNetwork.entity.LightRail;
...@@ -45,10 +45,10 @@ import java.util.List; ...@@ -45,10 +45,10 @@ import java.util.List;
public class SignBoardManagementController extends JeecgController<SignBoardManagement, ISignBoardManagementService> { public class SignBoardManagementController extends JeecgController<SignBoardManagement, ISignBoardManagementService> {
@Resource @Resource
private ILightRailService lightRailService; private ILightRailService lightRailService;
@Resource @Resource
private ILineAliasService lineAliasService; private ILineAliasService lineAliasService;
@AutoLog(value = "资产管理-轨行区标识管理 -分页列表查询") @AutoLog(value = "资产管理-轨行区标识管理 -分页列表查询")
@ApiOperation(value = "资产管理-道岔管理-分页列表查询", notes = "资产管理-道岔管理-分页列表查询") @ApiOperation(value = "资产管理-道岔管理-分页列表查询", notes = "资产管理-道岔管理-分页列表查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
...@@ -76,14 +76,15 @@ public class SignBoardManagementController extends JeecgController<SignBoardMana ...@@ -76,14 +76,15 @@ public class SignBoardManagementController extends JeecgController<SignBoardMana
throw JeecgBootException.error("轨行区标识牌超过:" + lightRail.getRailLineName() + "的" + lineAlias.getLineAliasName() + "的结束里程【" + lightRailEndMileage + "】"); throw JeecgBootException.error("轨行区标识牌超过:" + lightRail.getRailLineName() + "的" + lineAlias.getLineAliasName() + "的结束里程【" + lightRailEndMileage + "】");
} }
Long count = this.service.lambdaQuery() SignBoardManagement existSignBoardManagement = this.service.lambdaQuery()
.eq(SignBoardManagement::getSectionId, signBoardManagement.getSectionId()) .eq(SignBoardManagement::getSectionId, signBoardManagement.getSectionId())
.eq(SignBoardManagement::getLineAliasId, signBoardManagement.getLineAliasId()) .eq(SignBoardManagement::getLineAliasId, signBoardManagement.getLineAliasId())
.eq(SignBoardManagement::getMileage, signBoardManagement.getMileage()) .eq(SignBoardManagement::getMileage, signBoardManagement.getMileage())
.ne(ObjectUtil.isNotEmpty(signBoardManagement.getId()), SignBoardManagement::getId, signBoardManagement.getId()) .ne(ObjectUtil.isNotEmpty(signBoardManagement.getId()), SignBoardManagement::getId, signBoardManagement.getId())
.count(); .last("limit 1")
if (count > 0) { .one();
throw JeecgBootException.error("轨行区标识牌已存在,和轨行区标识牌【编号:" + signBoardManagement.getSignBoardCode() + "】里程冲突"); if (existSignBoardManagement != null) {
throw JeecgBootException.error("轨行区标识牌已存在,和轨行区标识牌【编号:" + existSignBoardManagement.getSignBoardCode() + "】里程冲突");
} }
...@@ -107,6 +108,8 @@ public class SignBoardManagementController extends JeecgController<SignBoardMana ...@@ -107,6 +108,8 @@ public class SignBoardManagementController extends JeecgController<SignBoardMana
@ApiOperation(value = "资产管理-轨行区标识管理-通过id删除", notes = "资产管理-轨行区标识管理-通过id删除") @ApiOperation(value = "资产管理-轨行区标识管理-通过id删除", notes = "资产管理-轨行区标识管理-通过id删除")
@GetMapping(value = "/delete") @GetMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) { public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
this.service.removeById(id); this.service.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
......
...@@ -104,16 +104,16 @@ public class TrackBedManagementController extends JeecgController<TrackBedManage ...@@ -104,16 +104,16 @@ public class TrackBedManagementController extends JeecgController<TrackBedManage
if (record.getId().equals(trackBedManagement.getId())) { if (record.getId().equals(trackBedManagement.getId())) {
continue; continue;
} }
BigDecimal currentStartMileage = record.getStartingMileage(); BigDecimal currentStartMileage = record.getStartingMileage();
BigDecimal currentEndMileage = record.getEndMileage(); BigDecimal currentEndMileage = record.getEndMileage();
String deviceCode = record.getTrackBedCode();
BigDecimal startMileage = trackBedManagement.getStartingMileage(); BigDecimal startMileage = trackBedManagement.getStartingMileage();
BigDecimal endMileage = trackBedManagement.getEndMileage(); BigDecimal endMileage = trackBedManagement.getEndMileage();
String deviceCode = trackBedManagement.getTrackBedCode();
// 判断区间是否重叠 // 判断区间是否重叠
if (currentStartMileage.compareTo(startMileage) == 0 && currentEndMileage.compareTo(endMileage) == 0) { if (currentStartMileage.compareTo(startMileage) >= 0 && currentEndMileage.compareTo(endMileage) <= 0) {
throw JeecgBootException.error("和【道床编号:" + deviceCode + "】里程冲突"); throw JeecgBootException.error("和【道床编号:" + deviceCode + "】里程冲突");
} }
......
...@@ -219,14 +219,14 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -219,14 +219,14 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
// 只有一个单元 // 只有一个单元
if (size == 1) { if (size == 1) {
// ② 第一个开始里程 <= 线路起点里程 < 第一个单元结束里程[第一个单元结束里程,结束里程] , // ② 第一个开始里程 <= 线路起点里程 < 第一个单元结束里程[第一个单元结束里程,结束里程] ,
if (lineStartMileage.compareTo(currentStartMileage) >= 0 && lineStartMileage.compareTo(currentEndMileage) < 0) { if (lineStartMileage.compareTo(currentStartMileage) <= 0 && lineStartMileage.compareTo(currentEndMileage) < 0) {
isGenerateRule2 = false; isGenerateRule2 = false;
List<RailManagement> innerRailList = this.generate(currentEndMileage, endMileage, lineAliasId); List<RailManagement> innerRailList = this.generate(currentEndMileage, endMileage, lineAliasId);
allRailList.addAll(innerRailList); allRailList.addAll(innerRailList);
} }
// // ③ 线路终点里程 > 最后一个单元结束里程,要补充[最后一个单元结束里程,线路终点里程] // // ③ 线路终点里程 > 一个单元结束里程,要补充[最后一个单元结束里程,线路终点里程]
// if (endMileage.subtract(currentEndMileage).compareTo(BigDecimal.ZERO) > 0) { // if (endMileage.subtract(currentEndMileage).compareTo(BigDecimal.ZERO) > 0) {
// isGenerateRule2 = false; // isGenerateRule2 = false;
// //
...@@ -274,6 +274,11 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -274,6 +274,11 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
.remove(); .remove();
size = lineSpecialRailList.size(); size = lineSpecialRailList.size();
if (size == 0 && endMileage.compareTo(lineStartMileage) > 0) {
List<RailManagement> innerRailList = this.generate(lineStartMileage, endMileage, lineAliasId);
allRailList.addAll(innerRailList);
}
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
Map<String, Object> currentMap = lineSpecialRailList.get(i); Map<String, Object> currentMap = lineSpecialRailList.get(i);
BigDecimal currentStartMileage = Convert.toBigDecimal(currentMap.get("startMileage")); BigDecimal currentStartMileage = Convert.toBigDecimal(currentMap.get("startMileage"));
...@@ -291,7 +296,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -291,7 +296,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
// 只有一个单元 // 只有一个单元
if (size == 1) { if (size == 1) {
// ② 第一个开始里程 <= 线路起点里程 < 第一个单元结束里程[第一个单元结束里程,结束里程] , // ② 第一个开始里程 <= 线路起点里程 < 第一个单元结束里程[第一个单元结束里程,结束里程] ,
if (lineStartMileage.compareTo(currentStartMileage) >= 0 && lineStartMileage.compareTo(currentEndMileage) < 0) { if (lineStartMileage.compareTo(currentStartMileage) <= 0 && lineStartMileage.compareTo(currentEndMileage) < 0) {
List<RailManagement> innerRailList = this.generate(currentEndMileage, endMileage, lineAliasId); List<RailManagement> innerRailList = this.generate(currentEndMileage, endMileage, lineAliasId);
allRailList.addAll(innerRailList); allRailList.addAll(innerRailList);
...@@ -509,7 +514,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -509,7 +514,7 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
List<RailManagement> result = new ArrayList<>(); List<RailManagement> result = new ArrayList<>();
// 1.处理25米一段的钢轨 // 1.处理25米一段的钢轨
while (startMileage.add(UNIT_LENGTH).compareTo(endMileage) < 0) { while (startMileage.add(UNIT_LENGTH).compareTo(endMileage) <= 0) {
// 开始里程向后移动25米 // 开始里程向后移动25米
BigDecimal currentEndMileage = startMileage.add(UNIT_LENGTH); BigDecimal currentEndMileage = startMileage.add(UNIT_LENGTH);
...@@ -649,7 +654,9 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper, ...@@ -649,7 +654,9 @@ public class RailManagementServiceImpl extends ServiceImpl<RailManagementMapper,
// 判断区间是否重叠 // 判断区间是否重叠
if (currentStartMileage.compareTo(startMileage) == 0 && currentEndMileage.compareTo(endMileage) == 0) { // 例如 曲线区间 【250 - 280】
// 道岔区间 【240 - 280】
if (currentStartMileage.compareTo(startMileage) >= 0 && currentEndMileage.compareTo(endMileage) <= 0) {
throw JeecgBootException.error("新增单元里程和【" + typeName + "编号:" + deviceCode + "】里程冲突"); throw JeecgBootException.error("新增单元里程和【" + typeName + "编号:" + deviceCode + "】里程冲突");
} }
......
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.dto.PageSearch; import org.jeecg.common.api.dto.PageSearch;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
...@@ -112,25 +113,51 @@ public class LightRailController extends JeecgController<LightRail, ILightRailSe ...@@ -112,25 +113,51 @@ public class LightRailController extends JeecgController<LightRail, ILightRailSe
@ApiOperation(value = "线路车站-轻轨线路-批量删除", notes = "线路车站-轻轨线路-批量删除") @ApiOperation(value = "线路车站-轻轨线路-批量删除", notes = "线路车站-轻轨线路-批量删除")
@GetMapping(value = "/deleteBatch") @GetMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
List<String> idList = Arrays.asList(ids.split(",")); String message = "";
for (String id : idList) { Integer totalNum = 0;
Integer successNum = 0;
Integer failNum = 0;
String failMessage = " ";
// 1.查询待删除的线路
List<LightRail> lightRails = this.service.lambdaQuery()
.in(LightRail::getId, Arrays.asList(ids.split(",")))
.list();
// 2.循环删除和校验
for (LightRail lightRail : lightRails) {
totalNum++;
Long sectionStationMapCount = sectionStationMapService.lambdaQuery() Long sectionStationMapCount = sectionStationMapService.lambdaQuery()
.eq(SectionStationMap::getLightRailId, id) .eq(SectionStationMap::getLightRailId, lightRail.getId())
.count(); .count();
if (sectionStationMapCount > 0) { if (sectionStationMapCount > 0) {
throw new JeecgBootException("该线路下面还有关联区间"); failNum++;
failMessage = failMessage + lightRail.getRailLineName() + " ";
continue;
} }
Long trainStationCount = trainStationService.lambdaQuery() Long trainStationCount = trainStationService.lambdaQuery()
.eq(TrainStation::getLightRailId, id) .eq(TrainStation::getLightRailId, lightRail.getId())
.count(); .count();
if (trainStationCount > 0) { if (trainStationCount > 0) {
throw new JeecgBootException("该线路下面还有车站"); failNum++;
failMessage = failMessage + lightRail.getRailLineName() + " ";
continue;
} }
successNum++;
this.service.removeById(lightRail.getId());
}
message = "选中" + totalNum + "条数据已删除数据" + successNum + "条";
if (totalNum - successNum > 0) {
message = message + ",未删除" + failNum + "条。未删除" + failMessage + "原因是线路下面有关联车站或区间故不能被删除";
// throw JeecgBootException.error(message.toString());
} }
this.service.removeByIds(idList); return Result.OK(message);
return Result.OK("批量删除成功!");
} }
/** /**
......
package org.jeecg.modules.subwayNetwork.controller; package org.jeecg.modules.subwayNetwork.controller;
import java.util.*; import java.util.*;
import javax.servlet.http.HttpServletRequest; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse; import javax.annotation.Resource;
import cn.hutool.core.util.ObjectUtil;
import org.jeecg.common.api.dto.PageSearch; import org.jeecg.common.api.dto.PageSearch;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.deviceAsset.entity.*;
import org.jeecg.modules.deviceAsset.service.*;
import org.jeecg.modules.subwayNetwork.dto.SubwaySectionEditDTO; import org.jeecg.modules.subwayNetwork.dto.SubwaySectionEditDTO;
import org.jeecg.modules.subwayNetwork.dto.SubwaySectionQueryDTO; import org.jeecg.modules.subwayNetwork.dto.SubwaySectionQueryDTO;
import org.jeecg.modules.subwayNetwork.entity.LightRail; import org.jeecg.modules.subwayNetwork.entity.SectionStationMap;
import org.jeecg.modules.subwayNetwork.entity.SubwaySection; import org.jeecg.modules.subwayNetwork.entity.SubwaySection;
import org.jeecg.modules.subwayNetwork.service.ISectionStationMapService;
import org.jeecg.modules.subwayNetwork.service.ISubwaySectionService; import org.jeecg.modules.subwayNetwork.service.ISubwaySectionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.subwayNetwork.vo.SubwaySectionVO; import org.jeecg.modules.subwayNetwork.vo.SubwaySectionVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/** /**
* @Description: 线路车站-地铁区间 * @Description: 线路车站-地铁区间
...@@ -39,14 +38,31 @@ import org.apache.shiro.authz.annotation.RequiresPermissions; ...@@ -39,14 +38,31 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
@RequestMapping("/subwayNetwork/subwaySection") @RequestMapping("/subwayNetwork/subwaySection")
@Slf4j @Slf4j
public class SubwaySectionController extends JeecgController<SubwaySection, ISubwaySectionService> { public class SubwaySectionController extends JeecgController<SubwaySection, ISubwaySectionService> {
@Autowired @Resource
private ISubwaySectionService subwaySectionService; private ISectionStationMapService sectionStationMapService;
@Resource
private IRailManagementService railManagementService;
@Resource
private ISwitchManagementService switchManagementService;
@Resource
private ICurveManagementService curveManagementService;
@Resource
private IVerticalCurveManagementService verticalCurveManagementService;
@Resource
private ITrackBedManagementService trackBedManagementService;
@Resource
private IFastenerManagementService fastenerManagementService;
@Resource
private ISignBoardManagementService signBoardManagementService;
@Resource
private ISleeperManagementService sleeperManagementService;
@AutoLog(value = "线路车站-地铁区间-分页列表查询") @AutoLog(value = "线路车站-地铁区间-分页列表查询")
@ApiOperation(value = "线路车站-地铁区间-分页列表查询", notes = "线路车站-地铁区间-分页列表查询") @ApiOperation(value = "线路车站-地铁区间-分页列表查询", notes = "线路车站-地铁区间-分页列表查询")
@PostMapping(value = "/list") @PostMapping(value = "/list")
public Result<IPage<SubwaySectionVO>> queryPageList(@RequestBody PageSearch<SubwaySectionQueryDTO> dto) { public Result<IPage<SubwaySectionVO>> queryPageList(@RequestBody PageSearch<SubwaySectionQueryDTO> dto) {
IPage<SubwaySectionVO> pageList = subwaySectionService.queryPageList(dto); IPage<SubwaySectionVO> pageList = this.service.queryPageList(dto);
return Result.OK(pageList); return Result.OK(pageList);
} }
...@@ -56,7 +72,7 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub ...@@ -56,7 +72,7 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub
@PostMapping(value = "/edit") @PostMapping(value = "/edit")
public Result<String> edit(@RequestBody SubwaySectionEditDTO dto) { public Result<String> edit(@RequestBody SubwaySectionEditDTO dto) {
subwaySectionService.edit(dto); this.service.edit(dto);
return Result.OK("编辑成功!"); return Result.OK("编辑成功!");
} }
...@@ -66,15 +82,109 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub ...@@ -66,15 +82,109 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub
@ApiOperation(value = "线路车站-地铁区间-通过id删除", notes = "线路车站-地铁区间-通过id删除") @ApiOperation(value = "线路车站-地铁区间-通过id删除", notes = "线路车站-地铁区间-通过id删除")
@GetMapping(value = "/delete") @GetMapping(value = "/delete")
public Result<String> delete(@RequestParam(name = "id", required = true) String id) { public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
subwaySectionService.delete(id);
verifyDeleteParams(id);
sectionStationMapService.lambdaUpdate()
.eq(SectionStationMap::getSectionId, id)
.remove();
this.service.removeById(id);
return Result.OK("删除成功!"); return Result.OK("删除成功!");
} }
private void verifyDeleteParams(String id) {
Long railCount = railManagementService.lambdaQuery()
.eq(RailManagement::getSectionId, id)
.count();
Long switchCount = 0L;
List<SectionStationMap> sectionStationMapList = sectionStationMapService.lambdaQuery()
.eq(SectionStationMap::getSectionId, id)
.list();
if (ObjectUtil.isNotEmpty(sectionStationMapList)) {
List<String> sectionStationMapIds = sectionStationMapList.stream()
.map(SectionStationMap::getId)
.collect(Collectors.toList());
switchCount = switchManagementService.lambdaQuery()
.in(SwitchManagement::getSectionStationMapId, sectionStationMapIds)
.count();
}
Long curveCount = curveManagementService.lambdaQuery()
.eq(CurveManagement::getSectionId, id)
.count();
Long verticalCurveCount = verticalCurveManagementService.lambdaQuery()
.eq(VerticalCurveManagement::getSectionId, id)
.count();
Long trackBedCount = trackBedManagementService.lambdaQuery()
.eq(TrackBedManagement::getSectionId, id)
.count();
Long fastenerCount = fastenerManagementService.lambdaQuery()
.eq(FastenerManagement::getSectionId, id)
.count();
Long sleeperCount = sleeperManagementService.lambdaQuery()
.eq(SleeperManagement::getSectionId, id)
.count();
Long signBoardCount = signBoardManagementService.lambdaQuery()
.eq(SignBoardManagement::getSectionId, id)
.count();
boolean isDel = false;
StringBuilder errorMsg = new StringBuilder("该区间下还有");
if (railCount != 0) {
isDel = true;
errorMsg.append("钢轨单元:" + railCount + "个");
}
if (switchCount != 0) {
isDel = true;
errorMsg.append("道岔单元:" + railCount + "个");
}
if (curveCount != 0) {
isDel = true;
errorMsg.append("曲线单元:" + railCount + "个");
}
if (verticalCurveCount != 0) {
isDel = true;
errorMsg.append("竖曲线单元:" + railCount + "个");
}
if (trackBedCount != 0) {
isDel = true;
errorMsg.append("道床:" + railCount + "个");
}
if (fastenerCount != 0) {
isDel = true;
errorMsg.append("扣件:" + railCount + "个");
}
if (sleeperCount != 0) {
isDel = true;
errorMsg.append("轨枕:" + railCount + "个");
}
if (signBoardCount != 0) {
isDel = true;
errorMsg.append("轨行区标示牌:" + railCount + "个");
}
if (isDel) {
throw JeecgBootException.error(errorMsg.toString());
}
}
@AutoLog(value = "线路车站-地铁区间-批量删除") @AutoLog(value = "线路车站-地铁区间-批量删除")
@ApiOperation(value = "线路车站-地铁区间-批量删除", notes = "线路车站-地铁区间-批量删除") @ApiOperation(value = "线路车站-地铁区间-批量删除", notes = "线路车站-地铁区间-批量删除")
@GetMapping(value = "/deleteBatch") @GetMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
this.subwaySectionService.removeByIds(Arrays.asList(ids.split(","))); for (String id : Arrays.asList(ids.split(","))) {
verifyDeleteParams(id);
sectionStationMapService.lambdaUpdate()
.eq(SectionStationMap::getSectionId, id)
.remove();
this.service.removeById(id);
}
return Result.OK("批量删除成功!"); return Result.OK("批量删除成功!");
} }
...@@ -83,7 +193,7 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub ...@@ -83,7 +193,7 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub
@ApiOperation(value = "线路车站-轻轨线路-获取全部线路", notes = "线路车站-轻轨线路-获取全部线路") @ApiOperation(value = "线路车站-轻轨线路-获取全部线路", notes = "线路车站-轻轨线路-获取全部线路")
@GetMapping(value = "/listAll") @GetMapping(value = "/listAll")
public Result<List<Map<String, Object>>> listAll() { public Result<List<Map<String, Object>>> listAll() {
List<SubwaySection> subwaySections = subwaySectionService.list(); List<SubwaySection> subwaySections = this.service.list();
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (SubwaySection subwaySection : subwaySections) { for (SubwaySection subwaySection : subwaySections) {
...@@ -91,7 +201,7 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub ...@@ -91,7 +201,7 @@ public class SubwaySectionController extends JeecgController<SubwaySection, ISub
map.put("label", subwaySection.getSectionName()); map.put("label", subwaySection.getSectionName());
map.put("value", subwaySection.getId()); map.put("value", subwaySection.getId());
map.put("parentId", subwaySection.getLightRailId()); map.put("parentId", subwaySection.getLightRailId());
map.put("lineAliasId",subwaySection.getLineAliasId()); map.put("lineAliasId", subwaySection.getLineAliasId());
list.add(map); list.add(map);
} }
return Result.OK(list); return Result.OK(list);
......
...@@ -82,19 +82,40 @@ public class TrainStationController extends JeecgController<TrainStation, ITrain ...@@ -82,19 +82,40 @@ public class TrainStationController extends JeecgController<TrainStation, ITrain
@ApiOperation(value = "线路车站-地铁站-批量删除", notes = "线路车站-地铁站-批量删除") @ApiOperation(value = "线路车站-地铁站-批量删除", notes = "线路车站-地铁站-批量删除")
@GetMapping(value = "/deleteBatch") @GetMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
List<String> idList = Arrays.asList(ids.split(",")); String message = "";
for (String id : idList) { Integer totalNum = 0;
Integer successNum = 0;
Integer failNum = 0;
String failMessage = " ";
// 1.查询待删除的数据
List<TrainStation> list = this.service.lambdaQuery()
.in(TrainStation::getId, Arrays.asList(ids.split(",")))
.list();
for (TrainStation trainStation : list) {
totalNum++;
Long sectionStationMapCount = sectionStationMapService.lambdaQuery() Long sectionStationMapCount = sectionStationMapService.lambdaQuery()
.eq(SectionStationMap::getStationId, id) .eq(SectionStationMap::getStationId, trainStation.getId())
.count(); .count();
if (sectionStationMapCount > 0) { if (sectionStationMapCount > 0) {
throw new JeecgBootException("该车站下面还有关联区间"); failNum++;
failMessage = failMessage + trainStation.getStationName() + " ";
continue;
} }
successNum++;
this.service.removeById(trainStation.getId());
} }
this.service.removeByIds(idList); message = "选中" + totalNum + "条数据已删除数据" + successNum + "条";
return Result.OK("批量删除成功!");
if (totalNum - successNum > 0) {
message = message + ",未删除" + failNum + "条。未删除" + failMessage + "车站下面有关联区间故不能被删除!";
// throw JeecgBootException.error(message.toString());
}
return Result.OK(message);
} }
......
...@@ -20,5 +20,4 @@ public interface ISubwaySectionService extends IService<SubwaySection> { ...@@ -20,5 +20,4 @@ public interface ISubwaySectionService extends IService<SubwaySection> {
IPage<SubwaySectionVO> queryPageList(PageSearch<SubwaySectionQueryDTO> dto); IPage<SubwaySectionVO> queryPageList(PageSearch<SubwaySectionQueryDTO> dto);
void delete(String id);
} }
...@@ -48,6 +48,7 @@ public class SubwaySectionServiceImpl extends ServiceImpl<SubwaySectionMapper, S ...@@ -48,6 +48,7 @@ public class SubwaySectionServiceImpl extends ServiceImpl<SubwaySectionMapper, S
@Resource @Resource
private SectionStationMapMapper sectionStationMapMapper; private SectionStationMapMapper sectionStationMapMapper;
@Override @Override
public void edit(SubwaySectionEditDTO dto) { public void edit(SubwaySectionEditDTO dto) {
// 1.查询[起,始]站信息 // 1.查询[起,始]站信息
...@@ -61,10 +62,11 @@ public class SubwaySectionServiceImpl extends ServiceImpl<SubwaySectionMapper, S ...@@ -61,10 +62,11 @@ public class SubwaySectionServiceImpl extends ServiceImpl<SubwaySectionMapper, S
// 1.2. 验证这条线路,线别区间是否有交集验证表达式: (start1 < end2) AND (end1 > start2); // 1.2. 验证这条线路,线别区间是否有交集验证表达式: (start1 < end2) AND (end1 > start2);
SubwaySection existOne = this.lambdaQuery() SubwaySection existOne = this.lambdaQuery()
.ne(ObjectUtil.isNotEmpty(dto.getId()), SubwaySection::getId, dto.getId())
.eq(SubwaySection::getLightRailId, dto.getLightRailId()) .eq(SubwaySection::getLightRailId, dto.getLightRailId())
.eq(SubwaySection::getLineAliasId, dto.getLineAliasId()) .eq(SubwaySection::getLineAliasId, dto.getLineAliasId())
.lt(SubwaySection::getSectionStartingMileage, endTrainStation.getEndMileage()) .le(SubwaySection::getSectionStartingMileage, startTrainStation.getCenterMileage())
.gt(SubwaySection::getSectionEndMileage, startTrainStation.getCenterMileage()) .ge(SubwaySection::getSectionEndMileage, endTrainStation.getCenterMileage())
.last("limit 1") .last("limit 1")
.one(); .one();
if (ObjectUtil.isNotEmpty(existOne)) { if (ObjectUtil.isNotEmpty(existOne)) {
...@@ -143,12 +145,4 @@ public class SubwaySectionServiceImpl extends ServiceImpl<SubwaySectionMapper, S ...@@ -143,12 +145,4 @@ public class SubwaySectionServiceImpl extends ServiceImpl<SubwaySectionMapper, S
return page; return page;
} }
@Override
public void delete(String id) {
LambdaQueryWrapper<SectionStationMap> ssmQueryWrapper = new LambdaQueryWrapper<>();
ssmQueryWrapper.eq(SectionStationMap::getSectionId, id);
sectionStationMapMapper.delete(ssmQueryWrapper);
this.removeById(id);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment