diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 28a689a0c..ca4c31514 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -13,9 +13,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.CommonConstant; import com.jero.common.constant.WebsocketConst; -import com.jero.common.constant.enums.*; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.IsMustEnum; +import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.ModuleEnum; +import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.es.JeroElasticsearchTemplate; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.query.QueryRuleEnum; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.DateUtils; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; @@ -30,6 +35,7 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper; import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.document.utils.ReadPdfUtil; import com.jero.modules.document.utils.ReadWordUtil; +import com.jero.modules.document.vo.QueryConditionVO; import com.jero.modules.domain.service.DomainUserRelService; import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.log.entity.BussLogEO; @@ -42,7 +48,11 @@ import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.service.ISarFileSplitInfoService; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; -import com.jero.modules.system.entity.*; +import com.jero.modules.system.entity.SysAnnouncement; +import com.jero.modules.system.entity.SysCategory; +import com.jero.modules.system.entity.SysCategoryTreeVO; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysDepartService; @@ -56,8 +66,20 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.poi.hssf.usermodel.*; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFDateUtil; +import org.apache.poi.hssf.usermodel.HSSFRichTextString; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.HorizontalAlignment; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.SecurityUtils; @@ -73,11 +95,26 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import java.util.stream.Collectors; @@ -5009,4 +5046,70 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl queryConditionVOList){ + if(queryConditionVOList.size() != 0){ + int count =0; + StringBuilder sb = new StringBuilder(); + for (QueryConditionVO queryConditionVO : queryConditionVOList) { + String type = queryConditionVO.getType();//and或or + String rule = queryConditionVO.getRule(); + String field = queryConditionVO.getField(); + String val = queryConditionVO.getVal(); + //如果查询字段对应的搜索条件值为空,则不作处理 + if(StringUtils.isNotBlank(val)){ + count ++;//从第二个查询条件开始拼接type(and或or) + sb.append(" " + field + " "); + //查询类型 + String ruleTemp = queryType(rule); + sb.append(ruleTemp + " "); + //在..中(用in-->特殊处理) + if(val.contains(",")){ + StringBuilder sbTemp = new StringBuilder(); + for (String valTemp : val.split(",")) { + sbTemp.append("'" + valTemp +"' ,"); + } + if(StringUtils.isNotBlank(sbTemp)){ + String substring = sbTemp.substring(0, sbTemp.length() - 1); + sb.append(substring); + } + }else{ + sb.append(val); + } + if(count > 1){ + sb.append(type + " "); + } + } + } + } + } + + + public String queryType(String rule){ + String value =""; + if(QueryRuleEnum.GT.getCondition().equals(rule)){ + value = QueryRuleEnum.GT.getValue(); + }else if(QueryRuleEnum.GE.getCondition().equals(rule)){ + value = QueryRuleEnum.GE.getValue(); + }else if(QueryRuleEnum.LT.getCondition().equals(rule)){ + value = QueryRuleEnum.LT.getValue(); + }else if(QueryRuleEnum.LE.getCondition().equals(rule)){ + value = QueryRuleEnum.LE.getValue(); + }else if(QueryRuleEnum.EQ.getCondition().equals(rule)){ + value = QueryRuleEnum.EQ.getValue(); + }else if(QueryRuleEnum.NE.getCondition().equals(rule)){ + value = QueryRuleEnum.NE.getValue(); + }else if(QueryRuleEnum.LIKE.getCondition().equals(rule)){ + value = QueryRuleEnum.LIKE.getValue(); + }else if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule)){ + value = QueryRuleEnum.LEFT_LIKE.getValue(); + }else if(QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){ + value = QueryRuleEnum.RIGHT_LIKE.getValue(); + }else if(QueryRuleEnum.IN.getCondition().equals(rule)){ + value = QueryRuleEnum.IN.getValue(); + } + return value; + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/vo/QueryConditionVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/vo/QueryConditionVO.java new file mode 100644 index 000000000..e903dcf4e --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/vo/QueryConditionVO.java @@ -0,0 +1,22 @@ +package com.jero.modules.document.vo; + +import lombok.Data; + +/** + * @description + * @date 2022/5/20 14:37 + * @auth zhn + */ +@Data +public class QueryConditionVO { + //类型(and或or) + private String type; + //查询类型 + private String rule; + //字段 + private String field; + //字段值 + private String val; + + +}