GPipelineGasUserServiceImpl.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package com.ruoyi.gas.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
  6. import com.ruoyi.common.core.page.PagePlus;
  7. import com.ruoyi.common.core.page.TableDataInfo;
  8. import com.ruoyi.common.utils.PageUtils;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.gas.domain.GPipelineGasUser;
  11. import com.ruoyi.gas.domain.bo.GPipelineGasUserBo;
  12. import com.ruoyi.gas.domain.bo.GPipelineGasUserPhotoBo;
  13. import com.ruoyi.gas.domain.vo.GPipelineGasUserVo;
  14. import com.ruoyi.gas.mapper.GPipelineGasUserMapper;
  15. import com.ruoyi.gas.service.IGPipelineGasUserPhotoService;
  16. import com.ruoyi.gas.service.IGPipelineGasUserService;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import java.util.Collection;
  20. import java.util.List;
  21. import java.util.Map;
  22. import java.util.stream.Collectors;
  23. /**
  24. * 非居民巡查Service业务层处理
  25. *
  26. * @author ruoyi
  27. * @date 2024-05-16
  28. */
  29. @Service
  30. public class GPipelineGasUserServiceImpl extends ServicePlusImpl<GPipelineGasUserMapper, GPipelineGasUser, GPipelineGasUserVo> implements IGPipelineGasUserService {
  31. @Autowired
  32. private IGPipelineGasUserPhotoService service;
  33. @Override
  34. public GPipelineGasUserVo queryById(Long id){
  35. GPipelineGasUserVo voById = getVoById(id);
  36. voById.setPhotoList(baseMapper.getPhoto(id));
  37. // voById.setCreateByName(baseMapper.getName(voById.getCreateBy()));
  38. return voById;
  39. }
  40. @Override
  41. public TableDataInfo<GPipelineGasUserVo> queryPageList(GPipelineGasUserBo bo) {
  42. PagePlus<GPipelineGasUser, GPipelineGasUserVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
  43. result.getRecordsVo().forEach(item -> {
  44. item.setPhotoList(baseMapper.getPhoto(item.getId()));
  45. item.setCreateByName(baseMapper.getName(item.getCreateBy()));
  46. });
  47. return PageUtils.buildDataInfo(result);
  48. }
  49. @Override
  50. public List<GPipelineGasUserVo> queryList(GPipelineGasUserBo bo) {
  51. // if (StringUtils.isNotEmpty(ranks)) {
  52. // bo.setUids(gUserService.getByRanks(ranks));
  53. // }
  54. // PagePlus<GPatrolTeam, G> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
  55. // result.getRecordsVo().forEach(item -> {
  56. // item.setPhotoList(baseMapper.getPhoto(item.getId()));
  57. // item.setCreateByName(baseMapper.getName(item.getCreateBy()));
  58. // });
  59. return listVo(buildQueryWrapper(bo));
  60. }
  61. private LambdaQueryWrapper<GPipelineGasUser> buildQueryWrapper(GPipelineGasUserBo bo) {
  62. Map<String, Object> params = bo.getParams();
  63. LambdaQueryWrapper<GPipelineGasUser> lqw = Wrappers.lambdaQuery();
  64. lqw.like(StringUtils.isNotBlank(bo.getUserName()), GPipelineGasUser::getUserName, bo.getUserName());
  65. lqw.eq(bo.getUserNumber() != null, GPipelineGasUser::getUserNumber, bo.getUserNumber());
  66. lqw.eq(StringUtils.isNotBlank(bo.getUserType()), GPipelineGasUser::getUserType, bo.getUserType());
  67. lqw.eq(StringUtils.isNotBlank(bo.getValveAppearance()), GPipelineGasUser::getValveAppearance, bo.getValveAppearance());
  68. lqw.eq(StringUtils.isNotBlank(bo.getSensitives()), GPipelineGasUser::getSensitives, bo.getSensitives());
  69. lqw.eq(StringUtils.isNotBlank(bo.getType()), GPipelineGasUser::getType, bo.getType());
  70. lqw.eq(StringUtils.isNotBlank(bo.getCabinetAppearance()), GPipelineGasUser::getCabinetAppearance, bo.getCabinetAppearance());
  71. lqw.eq(StringUtils.isNotBlank(bo.getBoilerAppearance()), GPipelineGasUser::getBoilerAppearance, bo.getBoilerAppearance());
  72. lqw.eq(StringUtils.isNotBlank(bo.getBoilerExterior()), GPipelineGasUser::getBoilerExterior, bo.getBoilerExterior());
  73. lqw.eq(StringUtils.isNotBlank(bo.getPipeline()), GPipelineGasUser::getPipeline, bo.getPipeline());
  74. lqw.eq(StringUtils.isNotBlank(bo.getMeasuringInstruments()), GPipelineGasUser::getMeasuringInstruments, bo.getMeasuringInstruments());
  75. lqw.eq(StringUtils.isNotBlank(bo.getCateringStatus()), GPipelineGasUser::getCateringStatus, bo.getCateringStatus());
  76. lqw.eq(StringUtils.isNotBlank(bo.getCateringExterior()), GPipelineGasUser::getCateringExterior, bo.getCateringExterior());
  77. lqw.eq(StringUtils.isNotBlank(bo.getConnectingPipe()), GPipelineGasUser::getConnectingPipe, bo.getConnectingPipe());
  78. lqw.eq(StringUtils.isNotBlank(bo.getCondensateBar()), GPipelineGasUser::getCondensateBar, bo.getCondensateBar());
  79. lqw.eq(StringUtils.isNotBlank(bo.getReceptionModification()), GPipelineGasUser::getReceptionModification, bo.getReceptionModification());
  80. lqw.eq(StringUtils.isNotBlank(bo.getPressureStatus()), GPipelineGasUser::getPressureStatus, bo.getPressureStatus());
  81. lqw.eq(StringUtils.isNotBlank(bo.getCombustibleGas()), GPipelineGasUser::getCombustibleGas, bo.getCombustibleGas());
  82. lqw.eq(StringUtils.isNotBlank(bo.getEmergencyShut()), GPipelineGasUser::getEmergencyShut, bo.getEmergencyShut());
  83. lqw.eq(StringUtils.isNotBlank(bo.getSafetyValve()), GPipelineGasUser::getSafetyValve, bo.getSafetyValve());
  84. lqw.eq(StringUtils.isNotBlank(bo.getFlowDirectionLabel()), GPipelineGasUser::getFlowDirectionLabel, bo.getFlowDirectionLabel());
  85. lqw.eq(StringUtils.isNotBlank(bo.getFlowDirection()), GPipelineGasUser::getFlowDirection, bo.getFlowDirection());
  86. lqw.eq(StringUtils.isNotBlank(bo.getFlammableMaterials()), GPipelineGasUser::getFlammableMaterials, bo.getFlammableMaterials());
  87. lqw.eq(StringUtils.isNotBlank(bo.getPressure()), GPipelineGasUser::getPressure, bo.getPressure());
  88. lqw.eq(StringUtils.isNotBlank(bo.getMixingGases()), GPipelineGasUser::getMixingGases, bo.getMixingGases());
  89. lqw.eq(StringUtils.isNotBlank(bo.getHeavyHanging()), GPipelineGasUser::getHeavyHanging, bo.getHeavyHanging());
  90. lqw.eq(StringUtils.isNotBlank(bo.getWireTangle()), GPipelineGasUser::getWireTangle, bo.getWireTangle());
  91. lqw.eq(StringUtils.isNotBlank(bo.getOther()), GPipelineGasUser::getOther, bo.getOther());
  92. lqw.eq(StringUtils.isNotBlank(bo.getSecurityCheckOne()), GPipelineGasUser::getSecurityCheckOne, bo.getSecurityCheckOne());
  93. lqw.eq(StringUtils.isNotBlank(bo.getTeam()), GPipelineGasUser::getTeam, bo.getTeam());
  94. lqw.eq(StringUtils.isNotBlank(bo.getSecurityCheckTwo()), GPipelineGasUser::getSecurityCheckTwo, bo.getSecurityCheckTwo());
  95. lqw.eq(StringUtils.isNotBlank(bo.getSecurityCheckUser()), GPipelineGasUser::getSecurityCheckUser, bo.getSecurityCheckUser());
  96. lqw.eq(bo.getSecurityCheckTime() != null, GPipelineGasUser::getSecurityCheckTime, bo.getSecurityCheckTime());
  97. lqw.eq(StringUtils.isNotBlank(bo.getRepresentative()), GPipelineGasUser::getRepresentative, bo.getRepresentative());
  98. lqw.eq(StringUtils.isNotBlank(bo.getPhone()), GPipelineGasUser::getPhone, bo.getPhone());
  99. lqw.eq(StringUtils.isNotBlank(bo.getFlammableMaterialsLabel()), GPipelineGasUser::getFlammableMaterialsLabel, bo.getFlammableMaterialsLabel());
  100. lqw.eq(StringUtils.isNotBlank(bo.getPressureLabel()), GPipelineGasUser::getPressureLabel, bo.getPressureLabel());
  101. lqw.eq(StringUtils.isNotBlank(bo.getMixingGasesLabel()), GPipelineGasUser::getMixingGasesLabel, bo.getMixingGasesLabel());
  102. lqw.eq(StringUtils.isNotBlank(bo.getHeavyHangingLabel()), GPipelineGasUser::getHeavyHangingLabel, bo.getHeavyHangingLabel());
  103. lqw.eq(StringUtils.isNotBlank(bo.getWireTangleLabel()), GPipelineGasUser::getWireTangleLabel, bo.getWireTangleLabel());
  104. lqw.orderByAsc(GPipelineGasUser::getCreateTime);
  105. return lqw;
  106. }
  107. @Override
  108. public Boolean insertByBo(GPipelineGasUserBo bo) {
  109. GPipelineGasUser add = BeanUtil.toBean(bo, GPipelineGasUser.class);
  110. validEntityBeforeSave(add);
  111. boolean flag = save(add);
  112. if (flag) {
  113. bo.setId(add.getId());
  114. //添加照片
  115. List<String> piclist = bo.getPhotoList();
  116. if (piclist != null) {
  117. for (int i = 0; i < bo.getPhotoList().size(); i++) {
  118. GPipelineGasUserPhotoBo photo = new GPipelineGasUserPhotoBo();
  119. photo.setPipelineId(bo.getId());
  120. photo.setPicUrl(bo.getPhotoList().get(i));
  121. service.insertByBo(photo);
  122. }
  123. }
  124. }
  125. return flag;
  126. }
  127. @Override
  128. public Boolean updateByBo(GPipelineGasUserBo bo) {
  129. GPipelineGasUser update = BeanUtil.toBean(bo, GPipelineGasUser.class);
  130. validEntityBeforeSave(update);
  131. List<String> piclist = bo.getPhotoList();
  132. if (piclist != null) {
  133. //原有的照片
  134. List<String> photolist = baseMapper.getPhoto(bo.getId());
  135. //原有的照片不在新传的照片里
  136. List<String> dellist = photolist.stream().filter(i -> !piclist.contains(i)).collect(Collectors.toList());
  137. //删除照片
  138. if (dellist.size() > 0) {
  139. service.deleteByUrl(bo.getId(), dellist);
  140. }
  141. //新传的照片不在原有的照片里
  142. List<String> inslist = piclist.stream().filter(i -> !photolist.contains(i)).collect(Collectors.toList());
  143. if (inslist.size() > 0) {
  144. for (int i = 0; i < inslist.size(); i++) {
  145. if (StringUtils.isNotEmpty(inslist.get(i))) {
  146. //添加照片
  147. GPipelineGasUserPhotoBo photo = new GPipelineGasUserPhotoBo();
  148. photo.setPipelineId(bo.getId());
  149. photo.setPicUrl(inslist.get(i));
  150. service.insertByBo(photo);
  151. }
  152. }
  153. }
  154. }
  155. return updateById(update);
  156. }
  157. /**
  158. * 保存前的数据校验
  159. *
  160. * @param entity 实体类数据
  161. */
  162. private void validEntityBeforeSave(GPipelineGasUser entity){
  163. //TODO 做一些数据校验,如唯一约束
  164. }
  165. @Override
  166. public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
  167. if(isValid){
  168. //TODO 做一些业务上的校验,判断是否需要校验
  169. }
  170. return removeByIds(ids);
  171. }
  172. }