BaseVehicleServiceImpl.java 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409
  1. package com.ozs.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.github.pagehelper.PageHelper;
  6. import com.ozs.common.core.domain.AjaxResult;
  7. import com.ozs.common.exception.ServiceException;
  8. import com.ozs.common.utils.StringUtils;
  9. import com.ozs.common.utils.bean.BeanUtils;
  10. import com.ozs.common.utils.bean.BeanValidators;
  11. import com.ozs.entity.BaseRailwayManagement;
  12. import com.ozs.entity.BaseVehicleTerminal;
  13. import com.ozs.entity.BaseVehicle;
  14. import com.ozs.entity.BaseTerminal;
  15. import com.ozs.entity.vo.BaseVehicleTerminalDto;
  16. import com.ozs.entity.vo.BaseVehicleTerminalVo;
  17. import com.ozs.entity.vo.BaseVehicleVo;
  18. import com.ozs.entity.vo.VehicleTreeVo;
  19. import com.ozs.mapper.BaseDeviceDynamicManagementMapper;
  20. import com.ozs.mapper.BaseVehicleTerminalMapper;
  21. import com.ozs.mapper.BaseVehicleMapper;
  22. import com.ozs.mapper.BaseTerminalMapper;
  23. import com.ozs.service.BaseVehicleService;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.stereotype.Service;
  26. import org.springframework.transaction.annotation.Transactional;
  27. import org.springframework.util.ObjectUtils;
  28. import javax.validation.Validator;
  29. import java.util.ArrayList;
  30. import java.util.Date;
  31. import java.util.List;
  32. import java.util.stream.Collectors;
  33. /**
  34. * <p>
  35. * 机车信息表 服务实现类
  36. * </p>
  37. *
  38. * @author ozs
  39. * @since 2023-04-11
  40. */
  41. @Service
  42. public class BaseVehicleServiceImpl extends ServiceImpl<BaseVehicleMapper, BaseVehicle> implements BaseVehicleService {
  43. @Autowired
  44. private BaseVehicleMapper baseVehicleMapper;
  45. @Autowired
  46. private BaseVehicleTerminalMapper baseVehicleTerminalMapper;
  47. @Autowired
  48. BaseDeviceDynamicManagementMapper baseDeviceDynamicManagementMapper;
  49. @Autowired
  50. private BaseTerminalMapper baseTerminalMapper;
  51. @Autowired
  52. protected Validator validator;
  53. @Override
  54. public IPage<BaseVehicle> vehicleList(BaseVehicleVo baseVehicle) {
  55. LambdaQueryWrapper<BaseVehicle> wrapper = new LambdaQueryWrapper<BaseVehicle>();
  56. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleName())) {
  57. wrapper.eq(BaseVehicle::getVehicleName, baseVehicle.getVehicleName());
  58. }
  59. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  60. wrapper.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  61. }
  62. wrapper.orderByDesc(BaseVehicle::getCreateTime);
  63. int pageNum = Integer.parseInt(baseVehicle.getPageNum().toString());
  64. int pageSize = Integer.parseInt(baseVehicle.getPageSize().toString());
  65. com.github.pagehelper.Page<BaseVehicle> page = PageHelper.startPage(pageNum, pageSize)
  66. .doSelectPage(() -> baseVehicleMapper.selectList(wrapper));
  67. if (!StringUtils.isEmptySunhh(page) && page.getResult().size() > 0) {
  68. List<BaseVehicle> dto1 = page.getResult().stream().map(o -> {
  69. BaseVehicleTerminal baseVehicleTerminal = baseVehicleTerminalMapper.selectTerminal(o.getVehicleCode());
  70. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getVehicleCode())) {
  71. LambdaQueryWrapper<BaseTerminal> wrapperBaseTerminal = new LambdaQueryWrapper<>();
  72. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getTerminalCode())) {
  73. wrapperBaseTerminal.eq(BaseTerminal::getTerminalCode, baseVehicleTerminal.getTerminalCode());
  74. }
  75. BaseTerminal baseTerminal1 = baseTerminalMapper.selectOne(wrapperBaseTerminal);
  76. if (!StringUtils.isEmptySunhh(baseTerminal1) && !StringUtils.isEmptySunhh(baseTerminal1.getTerminalName())) {
  77. o.setTerminalName(baseTerminal1.getTerminalName());
  78. }
  79. }
  80. return o;
  81. }).collect(Collectors.toList());
  82. }
  83. com.baomidou.mybatisplus.extension.plugins.pagination.Page<BaseVehicle> pageR =
  84. new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum, pageSize);
  85. pageR.setRecords(page.getResult());
  86. pageR.setTotal(page.getTotal());
  87. return pageR;
  88. }
  89. @Override
  90. public AjaxResult vehicleAdd(BaseVehicle baseVehicle, String userId) {
  91. LambdaQueryWrapper<BaseVehicle> wrapper = new LambdaQueryWrapper<BaseVehicle>();
  92. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  93. wrapper.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  94. }
  95. List<BaseVehicle> baseVehicles = baseVehicleMapper.selectList(wrapper);
  96. if (baseVehicles.size() > 0) {
  97. return AjaxResult.error("机车编码已存在!");
  98. }
  99. Date date = new Date();
  100. baseVehicle.setCreateBy(userId);
  101. baseVehicle.setUpdateBy(userId);
  102. baseVehicle.setCreateTime(date);
  103. baseVehicle.setUpdateTime(date);
  104. int insert = baseVehicleMapper.insert(baseVehicle);
  105. if (insert > 0) {
  106. return AjaxResult.success();
  107. } else {
  108. return AjaxResult.error();
  109. }
  110. }
  111. @Override
  112. public AjaxResult vehicleUpdate(BaseVehicle baseVehicle, String userId) {
  113. LambdaQueryWrapper<BaseVehicle> wrapper = new LambdaQueryWrapper<>();
  114. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  115. wrapper.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  116. }
  117. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getId())) {
  118. wrapper.ne(BaseVehicle::getId, baseVehicle.getId());
  119. }
  120. List<BaseVehicle> baseVehicles = baseVehicleMapper.selectList(wrapper);
  121. if (baseVehicles.size() > 0) {
  122. return AjaxResult.error("机车编码已存在!");
  123. }
  124. baseVehicle.setUpdateBy(userId);
  125. baseVehicle.setUpdateTime(new Date());
  126. int update = baseVehicleMapper.updateById(baseVehicle);
  127. if (update > 0) {
  128. return AjaxResult.success();
  129. } else {
  130. return AjaxResult.error();
  131. }
  132. }
  133. @Override
  134. public String importBaseVehicle(List<BaseVehicle> accountManageList, boolean updateSupport, String userId) {
  135. int successNum = 0;
  136. int failureNum = 0;
  137. StringBuilder successMsg = new StringBuilder();
  138. StringBuilder failureMsg = new StringBuilder();
  139. for (BaseVehicle baseVehicle2 : accountManageList) {
  140. try {
  141. BaseVehicle baseVehicle = new BaseVehicle();
  142. BeanUtils.copyProperties(baseVehicle2, baseVehicle);
  143. // 判断机车编码是否存在
  144. LambdaQueryWrapper<BaseVehicle> lw = new LambdaQueryWrapper<BaseVehicle>();
  145. if (!StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  146. lw.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  147. }
  148. BaseVehicle baseVehicle1 = baseVehicleMapper.selectOne(lw);
  149. if (StringUtils.isEmptySunhh(baseVehicle1)) {
  150. BeanValidators.validateWithException(validator, baseVehicle);
  151. baseVehicle.setUpdateBy(userId);
  152. baseVehicle.setCreateBy(userId);
  153. Date date = new Date();
  154. baseVehicle.setCreateTime(date);
  155. baseVehicle.setUpdateTime(date);
  156. int insert = baseVehicleMapper.insert(baseVehicle);
  157. successNum++;
  158. successMsg.append(successNum + "、机车编码 " + baseVehicle.getVehicleCode() + " 导入成功");
  159. } else if (updateSupport) {
  160. BeanValidators.validateWithException(validator, baseVehicle);
  161. LambdaQueryWrapper<BaseVehicle> lambdaQueryWrapper = new LambdaQueryWrapper<BaseVehicle>();
  162. if (!StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  163. lambdaQueryWrapper.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  164. }
  165. BaseVehicle baseVehicle4 = baseVehicleMapper.selectOne(lambdaQueryWrapper);
  166. if (StringUtils.isEmptySunhh(baseVehicle4)) {
  167. baseVehicle.setUpdateBy(userId);
  168. baseVehicle.setUpdateTime(new Date());
  169. baseVehicle.setId(baseVehicle4.getId());
  170. baseVehicleMapper.updateById(baseVehicle);
  171. successNum++;
  172. successMsg.append(successNum + "、机车编码 " + baseVehicle.getVehicleCode() + " 更新成功");
  173. } else {
  174. failureNum++;
  175. failureMsg.append(failureNum + "、机车编码 " + baseVehicle.getVehicleCode() + "不存在");
  176. }
  177. }
  178. } catch (Exception e) {
  179. failureNum++;
  180. String msg = failureNum + "、机车编码 " + baseVehicle2.getVehicleCode() + " 导入失败:";
  181. failureMsg.append(msg);
  182. log.error(msg, e);
  183. }
  184. }
  185. if (failureNum > 0) {
  186. failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
  187. throw new ServiceException(failureMsg.toString());
  188. } else {
  189. successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。");
  190. }
  191. return successMsg.toString();
  192. }
  193. @Override
  194. public AjaxResult vehicleDetails(BaseVehicle baseVehicle) {
  195. BaseVehicle baseVehicle1 = baseVehicleMapper.selectById(baseVehicle.getId());
  196. return AjaxResult.success(baseVehicle1);
  197. }
  198. @Override
  199. public List<BaseVehicle> exportBaseVehicle(BaseVehicle baseVehicle) {
  200. LambdaQueryWrapper<BaseVehicle> wrapper = new LambdaQueryWrapper<>();
  201. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleName())) {
  202. wrapper.eq(BaseVehicle::getVehicleName, baseVehicle.getVehicleName());
  203. }
  204. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  205. wrapper.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  206. }
  207. if (baseVehicle.getIds().size() > 0) {
  208. wrapper.in(BaseVehicle::getId, baseVehicle.getIds());
  209. }
  210. List<BaseVehicle> baseVehicles = baseVehicleMapper.selectList(wrapper);
  211. for (BaseVehicle baseVehicle1 : baseVehicles) {
  212. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectTerminal(baseVehicle1.getVehicleCode());
  213. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getVehicleCode())) {
  214. LambdaQueryWrapper<BaseTerminal> wrapperBaseVehicleTerminal = new LambdaQueryWrapper<>();
  215. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getTerminalCode())) {
  216. wrapperBaseVehicleTerminal.eq(BaseTerminal::getTerminalCode, baseTerminal.getTerminalCode());
  217. }
  218. BaseTerminal baseVehicleTerminal = baseTerminalMapper.selectOne(wrapperBaseVehicleTerminal);
  219. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getTerminalName())) {
  220. baseVehicle1.setTerminalName(baseVehicleTerminal.getTerminalName());
  221. } else {
  222. baseVehicle1.setTerminalName("");
  223. }
  224. }
  225. }
  226. return baseVehicles;
  227. }
  228. @Override
  229. public IPage<BaseVehicleTerminalVo> vehicleTerminal(BaseVehicleVo baseVehicleVo) {
  230. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectTerminal(baseVehicleVo.getVehicleCode());
  231. List<String> terminalCodeList = baseVehicleTerminalMapper.selectMountCode(baseVehicleVo.getVehicleCode());
  232. // List<String> collect = terminalCodeList.stream().map(BaseTerminal::getTerminalCode).collect(Collectors.toList());
  233. LambdaQueryWrapper<BaseTerminal> wrapper = new LambdaQueryWrapper<>();
  234. if (!StringUtils.isEmptySunhh(terminalCodeList) && terminalCodeList.size() > 0) {
  235. wrapper.notIn(BaseTerminal::getTerminalCode, terminalCodeList);
  236. }
  237. // List<BaseVehicleTerminal> baseVehicleTerminalList = baseVehicleTerminalMapper.selectList(wrapper);
  238. int pageNum = Integer.parseInt(baseVehicleVo.getPageNum().toString());
  239. int pageSize = Integer.parseInt(baseVehicleVo.getPageSize().toString());
  240. com.github.pagehelper.Page<BaseTerminal> page = PageHelper
  241. .startPage(pageNum, pageSize).doSelectPage(() -> baseTerminalMapper.selectList(wrapper));
  242. com.baomidou.mybatisplus.extension.plugins.pagination.Page<BaseVehicleTerminalVo> pageR =
  243. new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum, pageSize);
  244. if (!ObjectUtils.isEmpty(page) && page.getResult().size() > 0) {
  245. List<BaseVehicleTerminalVo> dto1 = page.getResult().stream().map(o -> {
  246. BaseVehicleTerminalVo baseVehicleTerminalVo = new BaseVehicleTerminalVo();
  247. BeanUtils.copyProperties(o, baseVehicleTerminalVo);
  248. if (!StringUtils.isEmptySunhh(baseTerminal)) {
  249. if (baseTerminal.getTerminalCode().equals(o.getTerminalCode())) {
  250. baseVehicleTerminalVo.setIsMount("2");
  251. } else {
  252. baseVehicleTerminalVo.setIsMount("1");
  253. }
  254. } else {
  255. baseVehicleTerminalVo.setIsMount("1");
  256. }
  257. return baseVehicleTerminalVo;
  258. }).collect(Collectors.toList());
  259. pageR.setRecords(dto1);
  260. }
  261. return pageR;
  262. }
  263. @Override
  264. public AjaxResult vehicleTerminalAdd(BaseVehicleTerminal baseTerminal1, String userId) {
  265. LambdaQueryWrapper<BaseVehicleTerminal> wrapper1 = new LambdaQueryWrapper<>();
  266. if (!StringUtils.isEmptySunhh(baseTerminal1) && !StringUtils.isEmptySunhh(baseTerminal1.getVehicleCode())) {
  267. wrapper1.ne(BaseVehicleTerminal::getVehicleCode, baseTerminal1.getVehicleCode());
  268. }
  269. if (!StringUtils.isEmptySunhh(baseTerminal1) && !StringUtils.isEmptySunhh(baseTerminal1.getTerminalCode())) {
  270. wrapper1.eq(BaseVehicleTerminal::getTerminalCode, baseTerminal1.getTerminalCode());
  271. }
  272. List<BaseVehicleTerminal> baseTerminals = baseVehicleTerminalMapper.selectList(wrapper1);
  273. if (!StringUtils.isEmptySunhh(baseTerminals) && baseTerminals.size() > 0) {
  274. return AjaxResult.error("此终端已经挂载其他机车!");
  275. }
  276. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  277. if (!StringUtils.isEmptySunhh(baseTerminal1) && !StringUtils.isEmptySunhh(baseTerminal1.getVehicleCode())) {
  278. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseTerminal1.getVehicleCode());
  279. }
  280. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectOne(wrapper);
  281. if (StringUtils.isEmptySunhh(baseTerminal)) {
  282. BaseVehicleTerminal baseTerminal2 = new BaseVehicleTerminal();
  283. baseTerminal2.setVehicleCode(baseTerminal1.getVehicleCode());
  284. baseTerminal2.setTerminalCode(baseTerminal1.getTerminalCode());
  285. baseTerminal2.setCreateBy(userId);
  286. baseTerminal2.setUpdateBy(userId);
  287. Date date = new Date();
  288. baseTerminal2.setCreateTime(date);
  289. baseTerminal2.setUpdateTime(date);
  290. int insert = baseVehicleTerminalMapper.insert(baseTerminal2);
  291. } else {
  292. baseTerminal.setUpdateBy(userId);
  293. baseTerminal.setUpdateTime(new Date());
  294. baseTerminal.setVehicleCode(baseTerminal1.getVehicleCode());
  295. baseTerminal.setTerminalCode(baseTerminal1.getTerminalCode());
  296. int updateById = baseVehicleTerminalMapper.updateById(baseTerminal);
  297. }
  298. return AjaxResult.success();
  299. }
  300. @Override
  301. public Boolean isMount(BaseVehicleVo baseVehicleVo) {
  302. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  303. if (!StringUtils.isEmptySunhh(baseVehicleVo) && !StringUtils.isEmptySunhh(baseVehicleVo.getVehicleCode())) {
  304. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseVehicleVo.getVehicleCode());
  305. }
  306. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectOne(wrapper);
  307. if (StringUtils.isEmptySunhh(baseTerminal)) {
  308. return true;
  309. }
  310. return false;
  311. }
  312. @Override
  313. public List<BaseVehicleTerminalDto> vehicleList() {
  314. List<BaseVehicleTerminalDto> dtoList = baseDeviceDynamicManagementMapper.vehicleTreelist(null);
  315. List<String> strings = dtoList.stream().map(BaseVehicleTerminalDto::getVehicleCode).collect(Collectors.toList());
  316. LambdaQueryWrapper<BaseVehicle> bw = new LambdaQueryWrapper<>();
  317. bw.in(BaseVehicle::getVehicleCode, strings);
  318. List<BaseVehicle> vehicles = baseVehicleMapper.selectList(bw);
  319. for (BaseVehicleTerminalDto terminalDto : dtoList) {
  320. for (BaseVehicle vehicle : vehicles) {
  321. if (terminalDto.getVehicleCode().equals(vehicle.getVehicleCode())) {
  322. terminalDto.setVehicleName(vehicle.getVehicleName());
  323. break;
  324. }
  325. }
  326. }
  327. return dtoList;
  328. }
  329. @Override
  330. public List<BaseVehicle> vehicleListDT() {
  331. //查到所有机车数据
  332. List<BaseVehicle> baseVehicles = baseVehicleMapper.selectList(new LambdaQueryWrapper<>());
  333. //查到机车关联的终端
  334. if (!StringUtils.isEmptySunhh(baseVehicles)) {
  335. List<String> terminalCodeList = new ArrayList<>();
  336. baseVehicles = baseVehicles.stream().map(o -> {
  337. //查到已保存的关联信息
  338. BaseVehicleTerminal baseVehicleTerminal = baseVehicleTerminalMapper.selectTerminal(o.getVehicleCode());
  339. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getVehicleCode())) {
  340. terminalCodeList.add(baseVehicleTerminal.getVehicleCode());
  341. LambdaQueryWrapper<BaseTerminal> wrapperBaseVehicleTerminal = new LambdaQueryWrapper<>();
  342. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getTerminalCode())) {
  343. wrapperBaseVehicleTerminal.eq(BaseTerminal::getTerminalCode, baseVehicleTerminal.getTerminalCode());
  344. }
  345. //根据编码获取终端名称
  346. BaseTerminal baseTerminal = baseTerminalMapper.selectOne(wrapperBaseVehicleTerminal);
  347. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getTerminalName())) {
  348. o.setTerminalName(baseTerminal.getTerminalName());
  349. }
  350. }
  351. return o;
  352. }).collect(Collectors.toList());
  353. VehicleTreeVo vehicleTreeVo = new VehicleTreeVo();
  354. vehicleTreeVo.setTerminalCodeList(terminalCodeList);
  355. //机车和终端在行驶记录中最后的位置信息
  356. List<BaseVehicleTerminalDto> list = baseDeviceDynamicManagementMapper.vehicleTreelist(vehicleTreeVo);
  357. for (BaseVehicle vehicle : baseVehicles) {
  358. for (BaseVehicleTerminalDto terminalDto : list) {
  359. if (terminalDto.getVehicleCode().equals(vehicle.getVehicleCode())) {
  360. vehicle.setVehicleTerminalDto(terminalDto);
  361. break;
  362. }
  363. }
  364. }
  365. }
  366. return baseVehicles;
  367. }
  368. @Override
  369. public AjaxResult vehicleTerminalUnmount(BaseVehicleTerminal baseTerminal) {
  370. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  371. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getVehicleCode())) {
  372. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseTerminal.getVehicleCode());
  373. }
  374. baseVehicleTerminalMapper.delete(wrapper);
  375. return AjaxResult.success();
  376. }
  377. @Override
  378. @Transactional
  379. public AjaxResult removeByIdList(List<Long> ids) {
  380. for (Long vehicleId : ids) {
  381. BaseVehicle baseVehicle = baseVehicleMapper.selectById(vehicleId);
  382. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  383. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  384. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseVehicle.getVehicleCode());
  385. int delete = baseVehicleTerminalMapper.delete(wrapper);
  386. int i = baseVehicleMapper.deleteById(vehicleId);
  387. }
  388. }
  389. return AjaxResult.success(true);
  390. }
  391. }