| | |
| | | package com.ruoyi.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.MapUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.domain.*; |
| | | import com.ruoyi.domain.ZTravelBase; |
| | | import com.ruoyi.domain.ZTravelBase; |
| | | import com.ruoyi.domain.ZTravelBase; |
| | | import com.ruoyi.mapper.ZTravelBaseMapper; |
| | | import com.ruoyi.service.ZTravelBaseService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class ZTravelBaseServiceImpl extends ServiceImpl<ZTravelBaseMapper, ZTravelBase> implements ZTravelBaseService { |
| | | |
| | | @Autowired |
| | | ZTravelBaseService zTravelBaseService; |
| | | |
| | | @Override |
| | | public AjaxResult selectDataList(String fid, ZTravelBase zTravelBase, Integer pageNum, Integer pageSize) { |
| | | |
| | | LambdaQueryWrapper<ZTravelBase> lqw = buildCondition(zTravelBase, fid); |
| | | |
| | | Page<ZTravelBase> pageBean = new Page<>(pageNum, pageSize); |
| | | Page<ZTravelBase> pageResult = page(pageBean, lqw); |
| | | |
| | | List<ZTravelBase> beanRecords = pageResult.getRecords();//得到查询出来的数据 |
| | | |
| | | HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); |
| | | return AjaxResult.success(data); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public List<ZTravelBase> selectByIds(Long[] ids) { |
| | | List<ZTravelBase> list = new ArrayList<>(); |
| | | if(ids.length!=0) |
| | | list = listByIds(Arrays.asList(ids)); |
| | | else |
| | | list = list(); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult mySave(ZTravelBase zTravelBase) { |
| | | |
| | | //检查是否有重复数据插入 |
| | | LambdaQueryWrapper<ZTravelBase> lqw = uniqueCondition(zTravelBase); |
| | | List<ZTravelBase> list = list(lqw); |
| | | if(list.size()>0){ |
| | | throw new RuntimeException("请勿新增重复数据"); |
| | | } |
| | | |
| | | if (save(zTravelBase)) { |
| | | return AjaxResult.success(); |
| | | }else { |
| | | return AjaxResult.error(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult importExcel(MultipartFile file) { |
| | | |
| | | ExcelUtil<ZTravelBase> util = new ExcelUtil<>(ZTravelBase.class); |
| | | List<ZTravelBase> dataList = null; |
| | | try { |
| | | dataList = util.importExcel(file.getInputStream()); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException("没有按照规则导入数据"); |
| | | } |
| | | |
| | | assert dataList != null; |
| | | |
| | | for (ZTravelBase zTravelBase : dataList) { |
| | | zTravelBaseService.mySave(zTravelBase); |
| | | } |
| | | |
| | | return AjaxResult.success(); |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | private LambdaQueryWrapper<ZTravelBase> uniqueCondition(ZTravelBase zTravelBase) { |
| | | LambdaQueryWrapper<ZTravelBase> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.eq(zTravelBase.getFeeId()!=null,ZTravelBase::getFeeId,zTravelBase.getFeeId()) |
| | | .eq(StringUtils.isNotEmpty(zTravelBase.getAddress()),ZTravelBase::getAddress,zTravelBase.getAddress()) |
| | | .eq(StringUtils.isNotEmpty(zTravelBase.getPeople()),ZTravelBase::getPeople,zTravelBase.getPeople()) |
| | | .eq(StringUtils.isNotEmpty(zTravelBase.getTitle()),ZTravelBase::getTitle,zTravelBase.getTitle()) |
| | | .eq(StringUtils.isNotEmpty(zTravelBase.getTravelPeriod()),ZTravelBase::getTravelPeriod,zTravelBase.getTravelPeriod()) |
| | | .eq(StringUtils.isNotEmpty(zTravelBase.getCertificate()),ZTravelBase::getCertificate,zTravelBase.getCertificate()) |
| | | .eq(StringUtils.isNotEmpty(zTravelBase.getRemark()),ZTravelBase::getRemark,zTravelBase.getRemark()) |
| | | .eq(zTravelBase.getTotalPrice()!=null,ZTravelBase::getTotalPrice,zTravelBase.getTotalPrice()) |
| | | .eq(zTravelBase.getSelf()!=null,ZTravelBase::getSelf,zTravelBase.getSelf()); |
| | | return lqw; |
| | | |
| | | |
| | | } |
| | | |
| | | private LambdaQueryWrapper<ZTravelBase> buildCondition(ZTravelBase zTravelBase, String fid) { |
| | | LambdaQueryWrapper<ZTravelBase> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.eq(ZTravelBase::getFeeId,fid) |
| | | .between(zTravelBase.getHappenStartTime()!=null && zTravelBase.getHappenEndTime()!=null,ZTravelBase::getHappenTime,zTravelBase.getHappenStartTime(),zTravelBase.getHappenEndTime()) |
| | | .like(StringUtils.isNotEmpty(zTravelBase.getAddress()),ZTravelBase::getAddress,zTravelBase.getAddress()) |
| | | .like(StringUtils.isNotEmpty(zTravelBase.getPeople()),ZTravelBase::getPeople,zTravelBase.getPeople()) |
| | | .like(StringUtils.isNotEmpty(zTravelBase.getTitle()),ZTravelBase::getTitle,zTravelBase.getTitle()); |
| | | lqw.orderByDesc(ZTravelBase::getCreateTime); |
| | | return lqw; |
| | | } |
| | | } |