From b4754ea670156f7f799311a9fdc9b3d380982fcb Mon Sep 17 00:00:00 2001 From: Jinquan_Ou <Jinquan@gdut.com> Date: 星期四, 06 四月 2023 18:23:00 +0800 Subject: [PATCH] 555 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 1 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java index 89bfd64..e39e56e 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java @@ -1,21 +1,143 @@ 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.ZInfoUser; import com.ruoyi.domain.ZfEquipment; +import com.ruoyi.domain.ZfEquipment; +import com.ruoyi.domain.ZfProperty; import com.ruoyi.mapper.ZfEquipmentMapper; +import com.ruoyi.service.ZInfoUserService; import com.ruoyi.service.ZfEquipmentService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author ojq * @since 2023-03-12 */ @Service +@Slf4j public class ZfEquipmentServiceImpl extends ServiceImpl<ZfEquipmentMapper, ZfEquipment> implements ZfEquipmentService { + @Resource + ZInfoUserService zInfoUserService; + + @Resource + ZfEquipmentService zfEquipmentService; + @Override + public List<ZfEquipment> selectByCondition(ZfEquipment zfEquipment) { + String familyIds = listFamilyIds(); + LambdaQueryWrapper<ZfEquipment> lambdaQueryWrapper = buildCondition(zfEquipment, familyIds); + List<ZfEquipment> list = list(lambdaQueryWrapper); + log.info("杩斿洖鐨勬暟鎹负:{}", list); + return list; + } + + @Override + public int addEquipment(ZfEquipment zfEquipment) { + String familyIds = listFamilyIds(); + boolean flag = false;//鍒ゆ柇褰撳墠鐢ㄦ埛鐨刬d鏄惁鏈夋潈鍔犲叆褰撳墠瀹跺涵id鐨勫璞� + if (familyIds.contains(",")) { + String[] familyList = familyIds.split(","); + for (String familyId : familyList) { + if (familyId.equals(zfEquipment.getFamilyId())) { + flag = true; + } + } + } else { + if (zfEquipment.getFamilyId().equals(familyIds)) { + flag = true; + } + } + if (flag) { + boolean save = save(zfEquipment); + return save ? 1 : 0; + } else { + throw new RuntimeException("浣犳病鏈夋搷浣滆瀹跺涵鍙蜂负" + zfEquipment.getFamilyId() + "鏁版嵁鐨勬潈闄�"); + } + } + + @Override + @Transactional + public AjaxResult importExcel(MultipartFile file) { + + ExcelUtil<ZfEquipment> util = new ExcelUtil<>(ZfEquipment.class); + List<ZfEquipment> equipmentList = null; + try { + equipmentList = util.importExcel(file.getInputStream()); + } catch (Exception e) { + throw new RuntimeException(e); + } + log.info("璧勪骇鍒楄〃涓猴細{}", equipmentList); + + for (ZfEquipment zfEquipment : equipmentList) { + zfEquipmentService.addEquipment(zfEquipment); + } + + return AjaxResult.success("瀵煎叆鏁版嵁鎴愬姛"); + + } + + private LambdaQueryWrapper<ZfEquipment> buildCondition(ZfEquipment zfEquipment) { + LambdaQueryWrapper<ZfEquipment> lqw = new LambdaQueryWrapper<>(); + lqw.like(StringUtils.isNotEmpty(zfEquipment.getName()), ZfEquipment::getName, zfEquipment.getName()); + lqw.like(StringUtils.isNotEmpty(zfEquipment.getBuyer()), ZfEquipment::getBuyer, zfEquipment.getBuyer()); + lqw.like(StringUtils.isNotEmpty(zfEquipment.getContent()), ZfEquipment::getContent, zfEquipment.getContent()); + lqw.like(StringUtils.isNotEmpty(zfEquipment.getLocation()), ZfEquipment::getLocation, zfEquipment.getLocation()); + lqw.like(StringUtils.isNotEmpty(zfEquipment.getRemark()), ZfEquipment::getRemark, zfEquipment.getRemark()); + lqw.like(zfEquipment.getCreateDate() != null, ZfEquipment::getCreateDate, zfEquipment.getCreateDate()); + return lqw; + } + + private LambdaQueryWrapper<ZfEquipment> buildCondition(ZfEquipment zfEquipment, String familyIds) { + LambdaQueryWrapper<ZfEquipment> lqw = buildCondition(zfEquipment); + if (familyIds.contains(",")) { + String[] familyList = familyIds.split(","); + for (String familyId : familyList) { + lqw.or().eq(ZfEquipment::getFamilyId, familyId); + } + } else { + lqw.eq(ZfEquipment::getFamilyId, familyIds); + } + return lqw; + } + + private String listFamilyIds() { + SysUser user = SecurityUtils.getLoginUser().getUser(); + Long userId = user.getUserId(); + LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); + zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId, userId); + ZInfoUser zInfoUser = zInfoUserService.getOne(zInfoUserLambdaQueryWrapper); + return zInfoUser.getFamilyId(); + } + + @Override + public AjaxResult selectEquipmentList(ZfEquipment zfEquipment, Integer pageNum, Integer pageSize) { + String familyIds = listFamilyIds(); + LambdaQueryWrapper<ZfEquipment> lqw = buildCondition(zfEquipment, familyIds); + Page<ZfEquipment> zfEquipmentPage = new Page<>(pageNum, pageSize); + Page<ZfEquipment> pageResult = page(zfEquipmentPage, lqw); + HashMap<String, Object> data = MapUtils.getResult(pageResult); + return AjaxResult.success(data); + + } } -- Gitblit v1.9.1