BaseVehicleServiceImpl.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
  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.like(BaseVehicle::getVehicleName, baseVehicle.getVehicleName());
  58. }
  59. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  60. wrapper.like(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 (ObjectUtils.isEmpty(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. } catch (Exception e) {
  178. String msg = null;
  179. failureNum++;
  180. if (ObjectUtils.isEmpty(baseVehicle2)) {
  181. msg = "导入的文档格式不正确";
  182. } else {
  183. msg = failureNum + "、机车号 " + baseVehicle2.getVehicleCode() + " 导入失败:";
  184. }
  185. failureMsg.append(msg);
  186. log.error(msg, e);
  187. }
  188. }
  189. if (failureNum > 0) {
  190. failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
  191. throw new ServiceException(failureMsg.toString());
  192. } else {
  193. successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。");
  194. }
  195. return successMsg.toString();
  196. }
  197. @Override
  198. public AjaxResult vehicleDetails(BaseVehicle baseVehicle) {
  199. BaseVehicle baseVehicle1 = baseVehicleMapper.selectById(baseVehicle.getId());
  200. return AjaxResult.success(baseVehicle1);
  201. }
  202. @Override
  203. public List<BaseVehicle> exportBaseVehicle(BaseVehicle baseVehicle) {
  204. LambdaQueryWrapper<BaseVehicle> wrapper = new LambdaQueryWrapper<>();
  205. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleName())) {
  206. wrapper.eq(BaseVehicle::getVehicleName, baseVehicle.getVehicleName());
  207. }
  208. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  209. wrapper.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  210. }
  211. if (baseVehicle.getIds().size() > 0) {
  212. wrapper.in(BaseVehicle::getId, baseVehicle.getIds());
  213. }
  214. List<BaseVehicle> baseVehicles = baseVehicleMapper.selectList(wrapper);
  215. for (BaseVehicle baseVehicle1 : baseVehicles) {
  216. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectTerminal(baseVehicle1.getVehicleCode());
  217. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getVehicleCode())) {
  218. LambdaQueryWrapper<BaseTerminal> wrapperBaseVehicleTerminal = new LambdaQueryWrapper<>();
  219. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getTerminalCode())) {
  220. wrapperBaseVehicleTerminal.eq(BaseTerminal::getTerminalCode, baseTerminal.getTerminalCode());
  221. }
  222. BaseTerminal baseVehicleTerminal = baseTerminalMapper.selectOne(wrapperBaseVehicleTerminal);
  223. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getTerminalName())) {
  224. baseVehicle1.setTerminalName(baseVehicleTerminal.getTerminalName());
  225. } else {
  226. baseVehicle1.setTerminalName("");
  227. }
  228. }
  229. }
  230. return baseVehicles;
  231. }
  232. @Override
  233. public IPage<BaseVehicleTerminalVo> vehicleTerminal(BaseVehicleVo baseVehicleVo) {
  234. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectTerminal(baseVehicleVo.getVehicleCode());
  235. List<String> terminalCodeList = baseVehicleTerminalMapper.selectMountCode(baseVehicleVo.getVehicleCode());
  236. // List<String> collect = terminalCodeList.stream().map(BaseTerminal::getTerminalCode).collect(Collectors.toList());
  237. LambdaQueryWrapper<BaseTerminal> wrapper = new LambdaQueryWrapper<>();
  238. if (!StringUtils.isEmptySunhh(terminalCodeList) && terminalCodeList.size() > 0) {
  239. wrapper.notIn(BaseTerminal::getTerminalCode, terminalCodeList);
  240. }
  241. wrapper.eq(BaseTerminal::getStatus, 1);
  242. // List<BaseVehicleTerminal> baseVehicleTerminalList = baseVehicleTerminalMapper.selectList(wrapper);
  243. int pageNum = Integer.parseInt(baseVehicleVo.getPageNum().toString());
  244. int pageSize = Integer.parseInt(baseVehicleVo.getPageSize().toString());
  245. com.github.pagehelper.Page<BaseTerminal> page = PageHelper
  246. .startPage(pageNum, pageSize).doSelectPage(() -> baseTerminalMapper.selectList(wrapper));
  247. com.baomidou.mybatisplus.extension.plugins.pagination.Page<BaseVehicleTerminalVo> pageR =
  248. new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum, pageSize);
  249. if (!ObjectUtils.isEmpty(page) && page.getResult().size() > 0) {
  250. List<BaseVehicleTerminalVo> dto1 = page.getResult().stream().map(o -> {
  251. BaseVehicleTerminalVo baseVehicleTerminalVo = new BaseVehicleTerminalVo();
  252. BeanUtils.copyProperties(o, baseVehicleTerminalVo);
  253. if (!StringUtils.isEmptySunhh(baseTerminal)) {
  254. if (baseTerminal.getTerminalCode().equals(o.getTerminalCode())) {
  255. baseVehicleTerminalVo.setIsMount("2");
  256. } else {
  257. baseVehicleTerminalVo.setIsMount("1");
  258. }
  259. } else {
  260. baseVehicleTerminalVo.setIsMount("1");
  261. }
  262. return baseVehicleTerminalVo;
  263. }).collect(Collectors.toList());
  264. pageR.setRecords(dto1);
  265. }
  266. return pageR;
  267. }
  268. @Override
  269. public AjaxResult vehicleTerminalAdd(BaseVehicleTerminal baseTerminal1, String userId) {
  270. LambdaQueryWrapper<BaseVehicleTerminal> wrapper1 = new LambdaQueryWrapper<>();
  271. if (!StringUtils.isEmptySunhh(baseTerminal1) && !StringUtils.isEmptySunhh(baseTerminal1.getVehicleCode())) {
  272. wrapper1.ne(BaseVehicleTerminal::getVehicleCode, baseTerminal1.getVehicleCode());
  273. }
  274. if (!StringUtils.isEmptySunhh(baseTerminal1) && !StringUtils.isEmptySunhh(baseTerminal1.getTerminalCode())) {
  275. wrapper1.eq(BaseVehicleTerminal::getTerminalCode, baseTerminal1.getTerminalCode());
  276. }
  277. List<BaseVehicleTerminal> baseTerminals = baseVehicleTerminalMapper.selectList(wrapper1);
  278. if (!StringUtils.isEmptySunhh(baseTerminals) && baseTerminals.size() > 0) {
  279. return AjaxResult.error("此终端已经挂载其他机车!");
  280. }
  281. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  282. if (!StringUtils.isEmptySunhh(baseTerminal1) && !StringUtils.isEmptySunhh(baseTerminal1.getVehicleCode())) {
  283. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseTerminal1.getVehicleCode());
  284. }
  285. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectOne(wrapper);
  286. if (StringUtils.isEmptySunhh(baseTerminal)) {
  287. BaseVehicleTerminal baseTerminal2 = new BaseVehicleTerminal();
  288. baseTerminal2.setVehicleCode(baseTerminal1.getVehicleCode());
  289. baseTerminal2.setTerminalCode(baseTerminal1.getTerminalCode());
  290. baseTerminal2.setCreateBy(userId);
  291. baseTerminal2.setUpdateBy(userId);
  292. Date date = new Date();
  293. baseTerminal2.setCreateTime(date);
  294. baseTerminal2.setUpdateTime(date);
  295. int insert = baseVehicleTerminalMapper.insert(baseTerminal2);
  296. } else {
  297. baseTerminal.setUpdateBy(userId);
  298. baseTerminal.setUpdateTime(new Date());
  299. baseTerminal.setVehicleCode(baseTerminal1.getVehicleCode());
  300. baseTerminal.setTerminalCode(baseTerminal1.getTerminalCode());
  301. int updateById = baseVehicleTerminalMapper.updateById(baseTerminal);
  302. }
  303. return AjaxResult.success();
  304. }
  305. @Override
  306. public Boolean isMount(BaseVehicleVo baseVehicleVo) {
  307. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  308. if (!StringUtils.isEmptySunhh(baseVehicleVo) && !StringUtils.isEmptySunhh(baseVehicleVo.getVehicleCode())) {
  309. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseVehicleVo.getVehicleCode());
  310. }
  311. BaseVehicleTerminal baseTerminal = baseVehicleTerminalMapper.selectOne(wrapper);
  312. if (StringUtils.isEmptySunhh(baseTerminal)) {
  313. return true;
  314. }
  315. return false;
  316. }
  317. @Override
  318. public List<BaseVehicleTerminalDto> vehicleList() {
  319. List<BaseVehicleTerminalDto> dtoList = baseDeviceDynamicManagementMapper.vehicleTreelist(null);
  320. List<String> strings = dtoList.stream().map(BaseVehicleTerminalDto::getVehicleCode).collect(Collectors.toList());
  321. LambdaQueryWrapper<BaseVehicle> bw = new LambdaQueryWrapper<>();
  322. bw.in(BaseVehicle::getVehicleCode, strings);
  323. List<BaseVehicle> vehicles = baseVehicleMapper.selectList(bw);
  324. for (BaseVehicleTerminalDto terminalDto : dtoList) {
  325. for (BaseVehicle vehicle : vehicles) {
  326. if (terminalDto.getVehicleCode().equals(vehicle.getVehicleCode())) {
  327. terminalDto.setVehicleName(vehicle.getVehicleName());
  328. break;
  329. }
  330. }
  331. }
  332. return dtoList;
  333. }
  334. @Override
  335. public List<BaseVehicle> vehicleListDT(BaseVehicleVo baseVehicle) {
  336. //查到所有机车数据
  337. LambdaQueryWrapper<BaseVehicle> wrapper = new LambdaQueryWrapper<>();
  338. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  339. wrapper.like(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
  340. }
  341. List<BaseVehicle> baseVehicles = baseVehicleMapper.selectList(wrapper);
  342. //查到机车关联的终端
  343. if (!StringUtils.isEmptySunhh(baseVehicles)) {
  344. List<String> terminalCodeList = new ArrayList<>();
  345. baseVehicles = baseVehicles.stream().map(o -> {
  346. //查到已保存的关联信息
  347. BaseVehicleTerminal baseVehicleTerminal = baseVehicleTerminalMapper.selectTerminal(o.getVehicleCode());
  348. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getVehicleCode())) {
  349. terminalCodeList.add(baseVehicleTerminal.getVehicleCode());
  350. LambdaQueryWrapper<BaseTerminal> wrapperBaseVehicleTerminal = new LambdaQueryWrapper<>();
  351. if (!StringUtils.isEmptySunhh(baseVehicleTerminal) && !StringUtils.isEmptySunhh(baseVehicleTerminal.getTerminalCode())) {
  352. wrapperBaseVehicleTerminal.eq(BaseTerminal::getTerminalCode, baseVehicleTerminal.getTerminalCode());
  353. }
  354. //根据编码获取终端名称
  355. BaseTerminal baseTerminal = baseTerminalMapper.selectOne(wrapperBaseVehicleTerminal);
  356. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getTerminalName())) {
  357. o.setTerminalName(baseTerminal.getTerminalName());
  358. }
  359. }
  360. return o;
  361. }).collect(Collectors.toList());
  362. VehicleTreeVo vehicleTreeVo = new VehicleTreeVo();
  363. vehicleTreeVo.setTerminalCodeList(terminalCodeList);
  364. //机车和终端在行驶记录中最后的位置信息
  365. List<BaseVehicleTerminalDto> list = baseDeviceDynamicManagementMapper.vehicleTreelist(vehicleTreeVo);
  366. for (BaseVehicle vehicle : baseVehicles) {
  367. for (BaseVehicleTerminalDto terminalDto : list) {
  368. if (terminalDto.getVehicleCode().equals(vehicle.getVehicleCode())) {
  369. vehicle.setVehicleTerminalDto(terminalDto);
  370. break;
  371. }
  372. }
  373. }
  374. }
  375. return baseVehicles;
  376. }
  377. @Override
  378. public AjaxResult vehicleTerminalUnmount(BaseVehicleTerminal baseTerminal) {
  379. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  380. if (!StringUtils.isEmptySunhh(baseTerminal) && !StringUtils.isEmptySunhh(baseTerminal.getVehicleCode())) {
  381. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseTerminal.getVehicleCode());
  382. }
  383. baseVehicleTerminalMapper.delete(wrapper);
  384. return AjaxResult.success();
  385. }
  386. @Override
  387. @Transactional
  388. public AjaxResult removeByIdList(List<Long> ids) {
  389. for (Long vehicleId : ids) {
  390. BaseVehicle baseVehicle = baseVehicleMapper.selectById(vehicleId);
  391. if (!StringUtils.isEmptySunhh(baseVehicle) && !StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
  392. LambdaQueryWrapper<BaseVehicleTerminal> wrapper = new LambdaQueryWrapper<>();
  393. wrapper.eq(BaseVehicleTerminal::getVehicleCode, baseVehicle.getVehicleCode());
  394. int delete = baseVehicleTerminalMapper.delete(wrapper);
  395. int i = baseVehicleMapper.deleteById(vehicleId);
  396. }
  397. }
  398. return AjaxResult.success(true);
  399. }
  400. }