FleetCarManageServiceImpl.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. package com.ruoyi.basicData.service.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.ruoyi.basicData.domain.FleetCarManage;
  5. import com.ruoyi.basicData.domain.FleetCompanyMsg;
  6. import com.ruoyi.basicData.mapper.FleetCarManageMapper;
  7. import com.ruoyi.basicData.mapper.FleetCompanyMsgMapper;
  8. import com.ruoyi.basicData.service.IFleetCarManageService;
  9. import com.ruoyi.common.core.domain.AjaxResult;
  10. import com.ruoyi.common.utils.DateUtils;
  11. import com.ruoyi.common.utils.SecurityUtils;
  12. import com.ruoyi.common.utils.StringUtils;
  13. import com.ruoyi.orderPlan.domain.Ftmsorderbillsattachs;
  14. import com.ruoyi.orderPlan.domain.Ftmsorderbillscars;
  15. import com.ruoyi.orderPlan.mapper.FtmsorderbillsattachsMapper;
  16. import com.ruoyi.orderPlan.mapper.FtmsorderbillscarsMapper;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import org.springframework.transaction.interceptor.TransactionAspectSupport;
  21. import java.util.*;
  22. /**
  23. * 【车辆】Service业务层处理
  24. *
  25. * @author ruoyi
  26. * @date 2021-03-04
  27. */
  28. @Service
  29. public class FleetCarManageServiceImpl implements IFleetCarManageService
  30. {
  31. @Autowired
  32. private FleetCarManageMapper fleetCarManageMapper;
  33. @Autowired
  34. private FtmsorderbillsattachsMapper ftmsorderbillsattachsMapper;
  35. @Autowired
  36. private FtmsorderbillscarsMapper ftmsorderbillscarsMapper;
  37. @Autowired
  38. private FleetCompanyMsgMapper fleetCompanyMsgMapper;
  39. /**
  40. * 查询【车辆】
  41. *
  42. * @param id 【车辆】ID
  43. * @return 【车辆】
  44. */
  45. @Override
  46. public FleetCarManage selectFleetCarManageById(Long id)
  47. {
  48. return fleetCarManageMapper.selectFleetCarManageById(id);
  49. }
  50. @Override
  51. public Map<String, Object> selectFleetCarManageByIdMap(Long id) {
  52. Map<String, Object> map = new HashMap<>();
  53. FleetCarManage fleetCarManage = fleetCarManageMapper.selectFleetCarManageById(id);
  54. // 车队
  55. List<Long> companyId = new ArrayList<>();
  56. if (!StringUtils.isNull(fleetCarManage)) {
  57. if (StringUtils.isNotNull(fleetCarManage.getFleetCompanyId())) {
  58. companyId.add(fleetCarManage.getFleetCompanyId());
  59. }
  60. }
  61. List<FleetCompanyMsg> fleetCompanyMsgList= new ArrayList<>();
  62. List<Long> fleetCompanyMsgIdList = StringUtils.integerDeduplication(companyId);
  63. for (Long fleetCompanyMsgId : fleetCompanyMsgIdList) {
  64. FleetCompanyMsg fleetCompanyMsg = fleetCompanyMsgMapper.selectFleetCompanyMsgById(fleetCompanyMsgId);
  65. if (StringUtils.isNotNull(fleetCompanyMsg)) {
  66. fleetCompanyMsgList.add(fleetCompanyMsg);
  67. }
  68. }
  69. // 查询附件表数据
  70. Ftmsorderbillsattachs ftmsorderbillsattachs = new Ftmsorderbillsattachs();
  71. ftmsorderbillsattachs.setPId(fleetCarManage.getId());
  72. List<Ftmsorderbillsattachs> ftmsorderbillsattachsList = ftmsorderbillsattachsMapper.selectftmsorderbillsattachsList(ftmsorderbillsattachs);
  73. if (StringUtils.isNotEmpty(ftmsorderbillsattachsList)) {
  74. map.put("fTmsorderbillsattachs", ftmsorderbillsattachsList);
  75. }
  76. map.put("fleetCompanyMsg", fleetCompanyMsgList);
  77. map.put("fleetCarManage", fleetCarManage);
  78. return map;
  79. }
  80. /**
  81. * 查询【车辆】列表
  82. *
  83. * @param fleetCarManage 【车辆】
  84. * @return 【车辆】
  85. */
  86. @Override
  87. public List<FleetCarManage> selectFleetCarManageList(FleetCarManage fleetCarManage)
  88. {
  89. return fleetCarManageMapper.selectFleetCarManageList(fleetCarManage);
  90. }
  91. @Override
  92. public List<Map<String, Object>> selectFleetCarManageListMap(FleetCarManage fleetCarManage) {
  93. return fleetCarManageMapper.selectFleetCarManageListMap(fleetCarManage);
  94. }
  95. /**
  96. * 新增【车辆】
  97. *
  98. * @param fleetCarManage 【车辆】
  99. * @return 结果
  100. */
  101. @Override
  102. @Transactional
  103. public AjaxResult insertFleetCarManage(FleetCarManage fleetCarManage)
  104. {
  105. // 检验必填
  106. if(StringUtils.isNull(fleetCarManage.getFleetCompanyId()) ||
  107. StringUtils.isNull(fleetCarManage.getCarNum()) ){
  108. TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
  109. return AjaxResult.error("请填写必输项");
  110. }
  111. fleetCarManage.setBillStatus(6L);
  112. if(null!=fleetCarManage.getId() && !fleetCarManage.getId().equals("")){
  113. fleetCarManage.setUpdateBy(SecurityUtils.getUsername());
  114. fleetCarManage.setUpdateTime(new Date());
  115. fleetCarManageMapper.updateFleetCarManage(fleetCarManage);
  116. return AjaxResult.success();
  117. }else {
  118. fleetCarManage.setCreateBy(SecurityUtils.getUsername());
  119. fleetCarManage.setCreatTime(new Date());
  120. fleetCarManageMapper.insertFleetCarManage(fleetCarManage);
  121. return AjaxResult.success();
  122. }
  123. }
  124. @Override
  125. public AjaxResult insertFleetCarManageAdd(String fleetCarManage, String fTmsorderbillsattachs) {
  126. Long fPid = null;
  127. Map<String, Object> map = new HashMap<>();
  128. FleetCarManage fleetCarManage1 = JSONArray.parseObject(fleetCarManage, FleetCarManage.class);
  129. // 检验必填
  130. if(StringUtils.isNull(fleetCarManage1.getFleetCompanyId()) ||
  131. StringUtils.isNull(fleetCarManage1.getCarNum()) ){
  132. return AjaxResult.error("请填写必输项");
  133. }
  134. if (fleetCarManageMapper.checkCarNumUnique(fleetCarManage1.getCarNum()) > 0 && StringUtils.isNull(fleetCarManage1.getId())) {
  135. return AjaxResult.error("车牌号已存在,请确认");
  136. }
  137. fleetCarManage1.setBillStatus(6L);
  138. if(null!=fleetCarManage1.getId() && !fleetCarManage1.getId().equals("")){
  139. fPid = fleetCarManage1.getId();
  140. fleetCarManage1.setUpdateBy(SecurityUtils.getUsername());
  141. fleetCarManage1.setUpdateTime(new Date());
  142. fleetCarManageMapper.updateFleetCarManage(fleetCarManage1);
  143. ftmsorderbillsattachsMapper.deleteftmsorderbillsattachsByPId(fPid);
  144. }else {
  145. fleetCarManage1.setCreateBy(SecurityUtils.getUsername());
  146. fleetCarManage1.setCreatTime(new Date());
  147. fleetCarManageMapper.insertFleetCarManage(fleetCarManage1);
  148. fPid = fleetCarManage1.getId();
  149. }
  150. // 附件添加
  151. if (StringUtils.isNotNull(fTmsorderbillsattachs) && !"[]".equals(fTmsorderbillsattachs)) {
  152. JSONArray jsonDrArray = JSONArray.parseArray(fTmsorderbillsattachs);
  153. List<Ftmsorderbillsattachs> ftmsorderbillsattachsList = JSONObject.parseArray(jsonDrArray.toJSONString(), Ftmsorderbillsattachs.class);
  154. for (Ftmsorderbillsattachs ftmsorderbillsattachs : ftmsorderbillsattachsList) {
  155. ftmsorderbillsattachs.setPId(fPid);
  156. ftmsorderbillsattachs.setOrgId(fPid);
  157. ftmsorderbillsattachs.setCreateBy(SecurityUtils.getUsername());
  158. ftmsorderbillsattachs.setCreateTime(new Date());
  159. ftmsorderbillsattachsMapper.insertftmsorderbillsattachs(ftmsorderbillsattachs);
  160. }
  161. }
  162. map.put("fleetCarManage", fleetCarManage1);
  163. return AjaxResult.success("成功", map);
  164. }
  165. /**
  166. * 修改【车辆】
  167. *
  168. * @param fleetCarManage 【车辆】
  169. * @return 结果
  170. */
  171. @Override
  172. public int updateFleetCarManage(FleetCarManage fleetCarManage)
  173. {
  174. fleetCarManage.setUpdateTime(DateUtils.getNowDate());
  175. return fleetCarManageMapper.updateFleetCarManage(fleetCarManage);
  176. }
  177. /**
  178. * 批量删除【车辆】
  179. *
  180. * @param ids 需要删除的【车辆】ID
  181. * @return 结果
  182. */
  183. @Override
  184. public AjaxResult deleteFleetCarManageByIds(Long[] ids)
  185. {
  186. for (Long id : ids) {
  187. Ftmsorderbillscars ftmsorderbillscars = new Ftmsorderbillscars();
  188. ftmsorderbillscars.setCarcorPid(id);
  189. if (ftmsorderbillscarsMapper.selectftmsorderbillscarsCount(ftmsorderbillscars) > 0) {
  190. return AjaxResult.error("该车辆已存在状态跟踪中,无法删除");
  191. }
  192. }
  193. fleetCarManageMapper.deleteFleetCarManageByIds(ids);
  194. return AjaxResult.success();
  195. }
  196. /**
  197. * 删除【车辆】信息
  198. *
  199. * @param id 【车辆】ID
  200. * @return 结果
  201. */
  202. @Override
  203. public int deleteFleetCarManageById(Long id)
  204. {
  205. return fleetCarManageMapper.deleteFleetCarManageById(id);
  206. }
  207. /**
  208. * 下拉列表查询【车辆】列表id name
  209. * @param fleetCarManage 条件
  210. * @return 结果
  211. */
  212. @Override
  213. public List<FleetCarManage> selectFleetCarManageIdNameList(FleetCarManage fleetCarManage) {
  214. return fleetCarManageMapper.selectFleetCarManageIdNameList(fleetCarManage);
  215. }
  216. }