From b02beccf4567068cb47a3f1181a00039456c872d Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期三, 06 八月 2025 15:37:20 +0800 Subject: [PATCH] 用户修改姓名和电话同步修改uaid --- zhang-content/src/main/java/com/ruoyi/service/impl/ZfEquipmentServiceImpl.java | 644 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 571 insertions(+), 73 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 7b85359..d0452ab 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 @@ -5,26 +5,30 @@ 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.core.domain.entity.EsModel; 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.*; 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 com.ruoyi.service.*; import lombok.extern.slf4j.Slf4j; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.update.UpdateRequest; +import org.elasticsearch.client.RequestOptions; +import org.elasticsearch.client.RestHighLevelClient; 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; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +import static com.ruoyi.constant.MenuAuthority.*; /** * <p> @@ -42,101 +46,595 @@ @Resource ZfEquipmentService zfEquipmentService; + + @Resource + ZAuthorityService zAuthorityService; + + @Resource + EsService esService; + + @Resource + private RestHighLevelClient restHighLevelClient; + + @Resource + private ZfEquipShareService zfEquipShareService; + + @Resource + private ZfEquipDownloadService zfEquipDownloadService; + + @Resource + private MemoBookService memoBookService; + + private LambdaQueryWrapper<ZfEquipment> buildCondition(ZfEquipment zfEquipment,List<Long> familyIdList) { + LambdaQueryWrapper<ZfEquipment> lqw = new LambdaQueryWrapper<>(); + lqw.orderByDesc(ZfEquipment::getHappenTime); + 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.eq(zfEquipment.getHappenTime() != null, ZfEquipment::getHappenTime, zfEquipment.getHappenTime()); + lqw.in(ZfEquipment::getFamilyId,familyIdList); + lqw.between(zfEquipment.getHappenStartTime() != null && zfEquipment.getHappenEndTime() != null, ZfEquipment::getHappenTime, zfEquipment.getHappenStartTime(), zfEquipment.getHappenEndTime()); + return lqw; + } + + private LambdaQueryWrapper<ZfEquipment> uniqueCondition(ZfEquipment zfEquipment) { + LambdaQueryWrapper<ZfEquipment> lqw = new LambdaQueryWrapper<>(); + lqw.eq(StringUtils.isNotEmpty(zfEquipment.getName()), ZfEquipment::getName, zfEquipment.getName()); + lqw.eq(StringUtils.isNotEmpty(zfEquipment.getBuyer()), ZfEquipment::getBuyer, zfEquipment.getBuyer()); + lqw.eq(StringUtils.isNotEmpty(zfEquipment.getContent()), ZfEquipment::getContent, zfEquipment.getContent()); + lqw.eq(StringUtils.isNotEmpty(zfEquipment.getLocation()), ZfEquipment::getLocation, zfEquipment.getLocation()); + lqw.eq(StringUtils.isNotEmpty(zfEquipment.getRemark()), ZfEquipment::getRemark, zfEquipment.getRemark()); + lqw.eq(zfEquipment.getHappenTime() != null, ZfEquipment::getHappenTime, zfEquipment.getHappenTime()); + return lqw; + } + + + +// //------------------------------------------------------------------------------------------ +// private LambdaQueryWrapper<ZfEquipment> buildCondition(ZfEquipment zfEquipment, String familyIds, String secondFamilyAuthority) { +// //妯$硦鏌ヨ鐨勬潯浠� +// LambdaQueryWrapper<ZfEquipment> lqw = buildCondition(zfEquipment); +// +// //瀹氫箟涓�涓竷灏旀爣璁帮紝鏍囪绗竴瀹跺涵鍙锋槸鍚︽湁閫楀彿 +// boolean flag = false; +// +// StringBuilder secondFamilyIdsBuffer = new StringBuilder(); +// +// //澶勭悊浼犲叆鐨剆econdFamilyAuthority 3{2007 2018 2015},4{2007 2019} +// +// if (StringUtils.isNotEmpty(secondFamilyAuthority)) { +// +// if (secondFamilyAuthority.contains(",")) { +// //閫楀彿闅斿紑寰楀埌濡備笅涓诧細3{2007 2018 2015} +// String[] authorityList = secondFamilyAuthority.split(","); +// for (String authorityAndId : authorityList) { +// setSecondFamilyAuthority(secondFamilyIdsBuffer, authorityAndId); +// } +// +// //鎶婂悗闈㈢殑閫楀彿鍘绘帀 +// if (secondFamilyIdsBuffer.length() > 1) { +// secondFamilyIdsBuffer.deleteCharAt(secondFamilyIdsBuffer.length() - 1); +// } +// +// } else { +// setSecondFamilyAuthority(secondFamilyIdsBuffer, secondFamilyAuthority); +// //鎶婂悗闈㈢殑閫楀彿鍘绘帀 +// if (secondFamilyIdsBuffer.length() > 1) { +// secondFamilyIdsBuffer.deleteCharAt(secondFamilyIdsBuffer.length() - 1); +// } +// } +// } +// //灏哠tringBuffer杞垚String +// String secondFamilyIds = secondFamilyIdsBuffer.toString(); +// +// //绗竴瀹跺涵鍙风殑鏉′欢 +// if (familyIds.contains(",")) { +// flag = true; +// } +// +// //绗簩瀹跺涵鍙风殑鏉′欢 +// if (StringUtils.isNotEmpty(secondFamilyIds)) { +// if (secondFamilyIds.contains(",")) { +// String[] secondFamilyIdList = secondFamilyIds.split(","); +// if (flag) { +// //濡傛灉绗竴瀹跺涵鍙峰拰绗簩瀹跺涵鍙烽兘鏈夐�楀彿 +// String[] familyList = familyIds.split(","); +// String[] totalFamilyIdList = ArraysUtil.appendToArray(familyList, secondFamilyIdList); +// lqw.in(ZfEquipment::getFamilyId, totalFamilyIdList); +// } else { +// //濡傛灉绗竴瀹跺涵鍙锋病鏈夐�楀彿浣嗘槸绗簩瀹跺涵鍙锋湁閫楀彿 +// String[] totalFamilyIdList = ArraysUtil.appendToArray(secondFamilyIdList, familyIds); +// lqw.in(ZfEquipment::getFamilyId, totalFamilyIdList); +// } +// +// } else { +// if (flag) { +// //濡傛灉绗竴瀹跺涵鍙锋湁閫楀彿浣嗙浜屽搴彿娌℃湁閫楀彿 +// String[] familyList = familyIds.split(","); +// String[] totalFamilyIdList = ArraysUtil.appendToArray(familyList, secondFamilyIds); +// lqw.in(ZfEquipment::getFamilyId, totalFamilyIdList); +// } else { +// //濡傛灉绗竴瀹跺涵鍙峰拰绗簩瀹跺涵鍙烽兘娌℃湁閫楀彿 +// String[] totalFamilyIdList = ArraysUtil.appendToArray(familyIds, secondFamilyIds); +// lqw.in(ZfEquipment::getFamilyId, totalFamilyIdList); +// } +// } +// } else { +// //濡傛灉娌℃湁绗簩瀹跺涵鍙� +// if (flag) { +// String[] familyList = familyIds.split(","); +// lqw.in(ZfEquipment::getFamilyId, familyList); +// } else { +// lqw.eq(ZfEquipment::getFamilyId, familyIds); +// } +// +// } +// +// lqw.orderByDesc(ZfEquipment::getCreateTime); +// return lqw; +// } +// +// private void setSecondFamilyAuthority(StringBuilder secondFamilyIdsBuffer, String authorityAndId) { +// //寰楀埌鏉冮檺涓� +// String authorities = authorityAndId.substring(2, authorityAndId.length() - 1); +// +// if (authorities.contains(" ")) { +// //绌烘牸闅斿紑寰楀埌鑿滃崟id锛岀湅鏄惁鏈夊搴旂殑鏉冮檺 +// String[] authorityIdList = authorities.split(" "); +// for (String s : authorityIdList) { +// if (s.equals(EQUIPMENT_LIST)) { +// secondFamilyIdsBuffer.append(authorityAndId.charAt(0)).append(","); +// break; +// } +// } +// } else { +// if (authorities.equals(EQUIPMENT_LIST)) { +// secondFamilyIdsBuffer.append(authorityAndId.charAt(0)).append(","); +// } +// } +// } +// +// private ZInfoUser getMySelf() { +// SysUser user = SecurityUtils.getLoginUser().getUser(); +// Long userId = user.getUserId(); +// LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId, userId); +// return zInfoUserService.getOne(zInfoUserLambdaQueryWrapper); +// } +// +// private String listFamilyIds() { +// ZInfoUser mySelf = getMySelf(); +// return mySelf.getFamilyId(); +// } +// +// private String listSecondFamilyIds() { +// ZInfoUser mySelf = getMySelf(); +// return mySelf.getSecondFamilyId(); +// } + @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; +// String familyIds = listFamilyIds(); +// String secondFamilyIds = listSecondFamilyIds(); +// LambdaQueryWrapper<ZfEquipment> lambdaQueryWrapper = buildCondition(zfEquipment, familyIds, secondFamilyIds); +// List<ZfEquipment> beanRecords = list(lambdaQueryWrapper); +// log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords); +// return markOwnData(familyIds, beanRecords); + + //瑕佹煡鑷繁瀹跺涵鐨� + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + Long fatherFaId = 0L; + if(myself.getFatherId()!=null) + fatherFaId = zInfoUserService.getInfoById(myself.getFatherId()).getFamilyId(); + Long motherFaId = 0L; + if(myself.getMomId()!=null) + motherFaId = zInfoUserService.getInfoById(myself.getMomId()).getFamilyId(); + //涔熻鏌ュ埆浜烘巿鏉冪殑 + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EQUIPMENT_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); + //鍔犱笂鑷繁瀹跺涵鐨刬d + idList.add(familyId); + + //鍔犱笂鐖舵瘝瀹舵棌id + idList.add(fatherFaId); + idList.add(motherFaId); + List<Long> fms = zInfoUserService.findByUaidToFaid(myself.getUaid()).stream().map(ZInfoUser::getFamilyId).collect(Collectors.toList()); + if(!fms.isEmpty()) + { + idList.addAll(fms); + } + LambdaQueryWrapper<ZfEquipment> lambdaQueryWrapper = buildCondition(zfEquipment, idList); + List<ZfEquipment> beanRecords = list(lambdaQueryWrapper); + log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords); + return markOwnData(familyId, fatherFaId, motherFaId, beanRecords); } @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; + public List<ZfEquipment> selectByIds(Long[] ids) { + List<ZfEquipment> list = new ArrayList<>(); + if(ids.length!=0) + list = listByIds(Arrays.asList(ids)); + else + list = list(); + return list; } + +// private static List<ZfEquipment> markOwnData(String familyIds, List<ZfEquipment> beanRecords) { +// return beanRecords.stream().peek(record -> { +// String recordFamilyId = record.getFamilyId(); +// if (familyIds.contains(",")) { +// String[] familyIdList = familyIds.split(","); +// for (String familyId : familyIdList) { +// if (familyId.equals(recordFamilyId)) { +// record.setOwnData(1); +// } +// } +// } else { +// if (familyIds.equals(recordFamilyId)) { +// record.setOwnData(1); +// } +// } +// }).collect(Collectors.toList()); +// } + + public List<ZfEquipment> markOwnData(Long familyId,Long fatherFamilyId, Long motherFamilyId, List<ZfEquipment> beanRecords){ + return beanRecords.stream().peek( + bean -> { + if (Objects.equals(bean.getFamilyId(), familyId) ||(fatherFamilyId!=0L && fatherFamilyId.equals(familyId))||(motherFamilyId!=0L && motherFamilyId.equals(familyId))) { + bean.setOwnData(1); + } else { + bean.setOwnData(0); + } } - } - } else { - if (zfEquipment.getFamilyId().equals(familyIds)) { - flag = true; - } - } - if (flag) { - boolean save = save(zfEquipment); - return save ? 1 : 0; - } else { - throw new RuntimeException("浣犳病鏈夋搷浣滆瀹跺涵鍙蜂负" + zfEquipment.getFamilyId() + "鏁版嵁鐨勬潈闄�"); - } + ).sorted((a,b)-> b.getOwnData()-a.getOwnData()).collect(Collectors.toList()); } + + @Override + public AjaxResult selectDataList(ZfEquipment zfEquipment, Integer pageNum, Integer pageSize) { +// String familyIds = listFamilyIds(); +// String secondFamilyAuthority = listSecondFamilyIds(); +// LambdaQueryWrapper<ZfEquipment> lqw = buildCondition(zfEquipment, familyIds, secondFamilyAuthority); +// +// Page<ZfEquipment> zfEquipmentPage = new Page<>(pageNum, pageSize); +// Page<ZfEquipment> pageResult = page(zfEquipmentPage, lqw); +// +// List<ZfEquipment> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� +// +// List<ZfEquipment> dtoResult = markOwnData(familyIds, beanRecords); +// +// HashMap<String, Object> data = MapUtils.getResult(pageResult, dtoResult); +// return AjaxResult.success(data); + + //瑕佹煡鑷繁瀹跺涵鐨� + ZInfoUser myself = zInfoUserService.getMyself(); + if(myself==null) + { + // System.out.println("ssssss"); + return AjaxResult.success("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�"); + } + Long familyId = myself.getFamilyId(); + Long fatherFaId = 0L; + if(myself.getFatherId()!=null) + fatherFaId = zInfoUserService.getInfoById(myself.getFatherId()).getFamilyId(); + Long motherFaId = 0L; + if(myself.getMomId()!=null) + motherFaId = zInfoUserService.getInfoById(myself.getMomId()).getFamilyId(); + //涔熻鏌ュ埆浜烘巿鏉冪殑 + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EQUIPMENT_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); + //鍔犱笂鑷繁瀹跺涵鐨刬d + idList.add(familyId); + + //鍔犱笂鐖舵瘝瀹舵棌id + idList.add(fatherFaId); + idList.add(motherFaId); + List<Long> fms = zInfoUserService.findByUaidToFaid(myself.getUaid()).stream().map(ZInfoUser::getFamilyId).collect(Collectors.toList()); + if(!fms.isEmpty()) + { + idList.addAll(fms); + } +// String familyIds = listFamilyIds(); +// String secondFamilyAuthority = listSecondFamilyIds(); + LambdaQueryWrapper<ZfEquipment> lqw = buildCondition(zfEquipment, idList); + + + Page<ZfEquipment> zfEquipmentPage = new Page<>(pageNum, pageSize); + Page<ZfEquipment> pageResult = page(zfEquipmentPage, lqw); + + List<ZfEquipment> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� + + List<ZfEquipment> dtoResult = markOwnData(familyId, fatherFaId, motherFaId,beanRecords); + + HashMap<String, Object> data = MapUtils.getResult(pageResult, dtoResult); + return AjaxResult.success(data); + } + + @Override + public AjaxResult addData(ZfEquipment zfEquipment){ + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + + if(familyId == null){ + throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); + } + + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EQUIPMENT_LIST_ADD)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + if (zfEquipment.getFamilyId()!=null && !familyIdList.contains(zfEquipment.getFamilyId())) { + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); + } + + + if(zfEquipment.getFamilyId() == null){ + //榛樿娣诲姞鑷繁瀹跺涵鐨勬暟鎹� + zfEquipment.setFamilyId(familyId); + } + + //鍒ゆ柇鏄惁鏈夐噸澶嶆暟鎹� + LambdaQueryWrapper<ZfEquipment> lqw = uniqueCondition(zfEquipment); + List<ZfEquipment> list = list(lqw); + + if(list.size()>0){ + throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); + } + + if (save(zfEquipment)) { + + EsModel esModel = new EsModel(); + Integer inte = zfEquipment.getId().intValue(); + String uuid = UUID.randomUUID().toString().replace("-",""); + esModel.setId(uuid); + esModel.setCtId(Long.valueOf(inte)); + esModel.setCtTableName("瀹跺涵璁惧"); + esModel.setBy1(zfEquipment.getName()); + esModel.setBy2(zfEquipment.getBuyer()); + esModel.setBy3(zfEquipment.getContent()); + esModel.setBy4(zfEquipment.getLocation()); + esModel.setBy5("/family/zfEquipment"); + esModel.setRemark(zfEquipment.getRemark()); + esModel.setFid(familyId); + //杩欓噷瀛樺偍鏌ヨ璇︽儏鐨勮矾寰� + esService.insertTable(esModel); + + return AjaxResult.success(); + } else { + return AjaxResult.error(); + } + + } + +// @Override +// public AjaxResult addData(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) { +// if (save(zfEquipment)) { +// return AjaxResult.success(); +// } else { +// return AjaxResult.error(); +// } +// +// } else { +// throw new RuntimeException("浣犳病鏈夋搷浣滆瀹跺涵鍙蜂负" + zfEquipment.getFamilyId() + "鏁版嵁鐨勬潈闄�"); +// } +// } + +// @Override +// public AjaxResult addData2(ZfEquipment zfEquipment) { +// ZInfoUser mySelf = getMySelf(); +// String myFamilyId = mySelf.getFamilyId(); +// +// if (StringUtils.isNotEmpty(zfEquipment.getFamilyId())) { +// throw new RuntimeException("瀵煎叆鏁版嵁鏃舵偍涓嶈兘鎸囧畾瀹跺涵鍙�"); +// } +// +// if (StringUtils.isEmpty(myFamilyId)) { +// throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); +// } +// +// if (myFamilyId.contains(",")) { +// String[] myFamilyIds = myFamilyId.split(","); +// //榛樿娣诲姞绗竴涓搴殑鏁版嵁 +// zfEquipment.setFamilyId(myFamilyIds[0]); +// } else { +// zfEquipment.setFamilyId(myFamilyId); +// } +// +// //鍒ゆ柇鏄惁鏈夐噸澶嶆暟鎹� +// LambdaQueryWrapper<ZfEquipment> lqw = uniqueCondition(zfEquipment); +// List<ZfEquipment> list = list(lqw); +// if(list.size()>0){ +// throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); +// } +// +// if (save(zfEquipment)) { +// return AjaxResult.success(); +// } else { +// return AjaxResult.error(); +// } +// } + @Override @Transactional public AjaxResult importExcel(MultipartFile file) { - ExcelUtil<ZfEquipment> util = new ExcelUtil<>(ZfEquipment.class); - List<ZfEquipment> equipmentList = null; + List<ZfEquipment> propertyList = null; try { - equipmentList = util.importExcel(file.getInputStream()); + propertyList = util.importExcel(file.getInputStream()); } catch (Exception e) { throw new RuntimeException(e); } - log.info("璧勪骇鍒楄〃涓猴細{}", equipmentList); + log.info("璧勪骇鍒楄〃涓猴細{}", propertyList); - for (ZfEquipment zfEquipment : equipmentList) { - zfEquipmentService.addEquipment(zfEquipment); + for (ZfEquipment zfEquipment : propertyList) { + if (zfEquipment.getName().length() != 0 && zfEquipment.getContent().length() != 0 && zfEquipment.getBuyer() .length() != 0){ + zfEquipmentService.addData(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; - } + @Resource + ZfLogService zfLogService; - private LambdaQueryWrapper<ZfEquipment> buildCondition(ZfEquipment zfEquipment, String familyIds) { - LambdaQueryWrapper<ZfEquipment> lqw = buildCondition(zfEquipment); - if (familyIds.contains(",")) { - String[] familyList = familyIds.split(","); - lqw.in(ZfEquipment::getFamilyId,familyList); + @Override + public AjaxResult updateData(ZfEquipment zfEquipment) { - } else { - lqw.eq(ZfEquipment::getFamilyId, familyIds); + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + + //鍏堟牴鎹甶d鏌ヨ鍑烘暟鎹殑familyId锛岀湅鐪嬫湁娌℃湁鏉冮檺鎿嶄綔 + Long dataFamilyId = getById(zfEquipment.getId()).getFamilyId(); + + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EQUIPMENT_LIST_UPDATE)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + if (dataFamilyId!=null && !familyIdList.contains(dataFamilyId)) { + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); } - 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(); + //鎿嶄綔鍚庡姞鍏ユ棩蹇� + ZfLog zfLog = new ZfLog(); + zfLog.setUpdateTime(LocalDateTime.now()); + zfLog.setModule("瀹跺涵璁惧"); + zfLog.setUpdater(zInfoUserService.getMyself().getNickName()); + zfLogService.save(zfLog); + + if(updateById(zfEquipment)){ + //鍒版暟鎹簱涓煡璇㈠搴旂殑鏁版嵁 + ZfEquipment dataById = getById(zfEquipment.getId()); + + //鍏堝埌es涓煡璇㈠埌瀵瑰簲閭f潯鏁版嵁鍦╡s鐨刬d + EsModel esResult = esService.findByCtId(dataById.getId().intValue(), "瀹跺涵璁惧"); + + if (esResult == null){ + return AjaxResult.success(); + } + + //鎿嶄綔es淇敼鏁版嵁 + EsModel newModel = new EsModel(); + if(zfEquipment.getName()!=null){ + newModel.setBy1(zfEquipment.getName()); + }else { + newModel.setBy1(dataById.getName()); + } + + if(zfEquipment.getBuyer()!=null){ + newModel.setBy2(zfEquipment.getBuyer()); + }else { + newModel.setBy2(dataById.getBuyer()); + } + + if(zfEquipment.getContent()!=null){ + newModel.setBy3(zfEquipment.getContent()); + }else { + newModel.setBy3(dataById.getContent()); + } + + if(zfEquipment.getLocation()!=null){ + newModel.setBy4(zfEquipment.getLocation()); + }else { + newModel.setBy4(dataById.getLocation()); + } + + if(zfEquipment.getRemark()!=null){ + newModel.setRemark(zfEquipment.getRemark()); + }else { + newModel.setRemark(dataById.getRemark()); + } + + + UpdateRequest updateRequest = new UpdateRequest("allsearchdata", esResult.getId()); + updateRequest.doc( + "by1",newModel.getBy1(), + "by2",newModel.getBy2(), + "by3",newModel.getBy3(), + "by4",newModel.getBy4(), + "remark",newModel.getRemark() + ); + + try { + restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); + }else { + return AjaxResult.error(); + } + + } @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); + public AjaxResult deleteData(Long[] ids) { + List<ZfEquipment> dataList = zfEquipmentService.listByIds(Arrays.asList(ids)); + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(EQUIPMENT_LIST_REMOVE)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + for (ZfEquipment data : dataList) { + if (!familyIdList.contains(data.getFamilyId())){ + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); + } + + List<MemoBook> memoBookService1 = memoBookService.selectByIdAFid(data.getId(),2017L); + if (memoBookService1.size() != 0 && !memoBookService.removeByIds(memoBookService1)) + return AjaxResult.error(); + } + + List<ZfEquipment> zfEquipments = listByIds(Arrays.asList(ids)); + if (! (zfEquipDownloadService.deleteData(ids) && zfEquipShareService.deleteByContentId(ids) ) ){ + return AjaxResult.error(); + } + + if (zfEquipmentService.removeByIds(Arrays.asList(ids))) { + + //鍒犻櫎es涓殑鏁版嵁 + zfEquipments.stream().forEach(zfEquipment -> { + EsModel esModel = esService.findByCtId(zfEquipment.getId().intValue(), "瀹跺涵璁惧"); + if (esModel != null){ + DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId()); + try { + restHighLevelClient.delete(deleteRequest,RequestOptions.DEFAULT); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + }); + + return AjaxResult.success(); + }else { + return AjaxResult.error(); + } + } + } -- Gitblit v1.9.1