|
@@ -0,0 +1,153 @@
|
|
|
+package com.ruoyi.gas.service.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
|
|
+import com.ruoyi.common.core.page.PagePlus;
|
|
|
+import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
+import com.ruoyi.common.utils.PageUtils;
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
+import com.ruoyi.gas.domain.GRegulatingBoxMaintenance;
|
|
|
+import com.ruoyi.gas.domain.bo.GRegulatingBoxMaintenanceBo;
|
|
|
+import com.ruoyi.gas.domain.bo.GRegulatingBoxMaintenancePhotoBo;
|
|
|
+import com.ruoyi.gas.domain.vo.GRegulatingBoxMaintenanceVo;
|
|
|
+import com.ruoyi.gas.mapper.GRegulatingBoxMaintenanceMapper;
|
|
|
+import com.ruoyi.gas.service.IGRegulatingBoxMaintenancePhotoService;
|
|
|
+import com.ruoyi.gas.service.IGRegulatingBoxMaintenanceService;
|
|
|
+import com.ruoyi.gas.service.IGUserService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.ObjectUtils;
|
|
|
+
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collection;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 调压箱维护Service业务层处理
|
|
|
+ *
|
|
|
+ * @author ruoyi
|
|
|
+ * @date 2024-05-09
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class GRegulatingBoxMaintenanceServiceImpl extends ServicePlusImpl<GRegulatingBoxMaintenanceMapper, GRegulatingBoxMaintenance, GRegulatingBoxMaintenanceVo> implements IGRegulatingBoxMaintenanceService {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public GRegulatingBoxMaintenanceVo queryById(Long id) {
|
|
|
+
|
|
|
+ GRegulatingBoxMaintenanceVo voById = getVoById(id);
|
|
|
+ voById.setPhotoList(baseMapper.getPhoto(id));
|
|
|
+ voById.setCreateByName(baseMapper.getName(voById.getCreateBy()));
|
|
|
+ return voById;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IGUserService gUserService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TableDataInfo<GRegulatingBoxMaintenanceVo> queryPageList(GRegulatingBoxMaintenanceBo bo) {
|
|
|
+ String ranks = bo.getRanks();
|
|
|
+ if (StringUtils.isNotEmpty(ranks)) {
|
|
|
+ bo.setUids(gUserService.getByRanks(ranks));
|
|
|
+ }
|
|
|
+ PagePlus<GRegulatingBoxMaintenance, GRegulatingBoxMaintenanceVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
|
|
|
+ result.getRecordsVo().forEach(item -> {
|
|
|
+ item.setPhotoList(baseMapper.getPhoto(item.getId()));
|
|
|
+ item.setCreateByName(baseMapper.getName(item.getCreateBy()));
|
|
|
+ });
|
|
|
+ return PageUtils.buildDataInfo(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<GRegulatingBoxMaintenanceVo> queryList(GRegulatingBoxMaintenanceBo bo) {
|
|
|
+ return listVo(buildQueryWrapper(bo));
|
|
|
+ }
|
|
|
+
|
|
|
+ private LambdaQueryWrapper<GRegulatingBoxMaintenance> buildQueryWrapper(GRegulatingBoxMaintenanceBo bo) {
|
|
|
+ Map<String, Object> params = bo.getParams();
|
|
|
+ LambdaQueryWrapper<GRegulatingBoxMaintenance> lqw = Wrappers.lambdaQuery();
|
|
|
+ lqw.like(StringUtils.isNotBlank(bo.getName()), GRegulatingBoxMaintenance::getName, bo.getName());
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getNumber()), GRegulatingBoxMaintenance::getNumber, bo.getNumber());
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getAdministrativeOffice()), GRegulatingBoxMaintenance::getAdministrativeOffice, bo.getAdministrativeOffice());
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getMaintenanceItem()), GRegulatingBoxMaintenance::getMaintenanceItem, bo.getMaintenanceItem());
|
|
|
+ lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), GRegulatingBoxMaintenance::getRemarks, bo.getRemarks());
|
|
|
+ lqw.in(StringUtils.isNotEmpty(bo.getRanks()), GRegulatingBoxMaintenance::getCreateBy, !ObjectUtils.isEmpty(bo.getUids()) && bo.getUids().size() > 0 ? bo.getUids() : Arrays.asList(0L));
|
|
|
+ lqw.orderByDesc(GRegulatingBoxMaintenance::getCreateTime);
|
|
|
+ return lqw;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IGRegulatingBoxMaintenancePhotoService service;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean insertByBo(GRegulatingBoxMaintenanceBo bo) {
|
|
|
+ GRegulatingBoxMaintenance add = BeanUtil.toBean(bo, GRegulatingBoxMaintenance.class);
|
|
|
+ validEntityBeforeSave(add);
|
|
|
+ boolean flag = save(add);
|
|
|
+ if (flag) {
|
|
|
+ bo.setId(add.getId());
|
|
|
+ //添加照片
|
|
|
+ List<String> piclist = bo.getPhotoList();
|
|
|
+ if (piclist != null) {
|
|
|
+ for (int i = 0; i < bo.getPhotoList().size(); i++) {
|
|
|
+ GRegulatingBoxMaintenancePhotoBo photo = new GRegulatingBoxMaintenancePhotoBo();
|
|
|
+ photo.setParentId(bo.getId());
|
|
|
+ photo.setPicUrl(bo.getPhotoList().get(i));
|
|
|
+ service.insertByBo(photo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return flag;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean updateByBo(GRegulatingBoxMaintenanceBo bo) {
|
|
|
+ GRegulatingBoxMaintenance update = BeanUtil.toBean(bo, GRegulatingBoxMaintenance.class);
|
|
|
+ validEntityBeforeSave(update);
|
|
|
+ List<String> piclist = bo.getPhotoList();
|
|
|
+ if (piclist != null) {
|
|
|
+ //原有的照片
|
|
|
+ List<String> photolist = baseMapper.getPhoto(bo.getId());
|
|
|
+ //原有的照片不在新传的照片里
|
|
|
+ List<String> dellist = photolist.stream().filter(i -> !piclist.contains(i)).collect(Collectors.toList());
|
|
|
+ //删除照片
|
|
|
+ if (dellist.size() > 0) {
|
|
|
+ service.deleteByUrl(bo.getId(), dellist);
|
|
|
+ }
|
|
|
+ //新传的照片不在原有的照片里
|
|
|
+ List<String> inslist = piclist.stream().filter(i -> !photolist.contains(i)).collect(Collectors.toList());
|
|
|
+ if (inslist.size() > 0) {
|
|
|
+ for (int i = 0; i < inslist.size(); i++) {
|
|
|
+ if (StringUtils.isNotEmpty(inslist.get(i))) {
|
|
|
+ //添加照片
|
|
|
+ GRegulatingBoxMaintenancePhotoBo photo = new GRegulatingBoxMaintenancePhotoBo();
|
|
|
+ photo.setParentId(bo.getId());
|
|
|
+ photo.setPicUrl(inslist.get(i));
|
|
|
+ service.insertByBo(photo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return updateById(update);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存前的数据校验
|
|
|
+ *
|
|
|
+ * @param entity 实体类数据
|
|
|
+ */
|
|
|
+ private void validEntityBeforeSave(GRegulatingBoxMaintenance entity) {
|
|
|
+ //TODO 做一些数据校验,如唯一约束
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
|
|
+ if (isValid) {
|
|
|
+ //TODO 做一些业务上的校验,判断是否需要校验
|
|
|
+ }
|
|
|
+ return removeByIds(ids);
|
|
|
+ }
|
|
|
+}
|