综合搜索功能修复查询bug,相似度查询增加当相似度起始区间包含0时,对相似度为null的数据也进行查询

pull/1/head
DELL 1 year ago
parent 31d98eecdb
commit c30e0e9ede

@ -7,6 +7,7 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory; import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -44,9 +45,15 @@ public class OcrSearchHistoryController {
@RequestMapping(value = "/searchList", method = RequestMethod.GET) @RequestMapping(value = "/searchList", method = RequestMethod.GET)
public ResultVo searchList(HttpServletRequest request, public ResultVo searchList(HttpServletRequest request,
@RequestParam(value = "search", required = true) String search) { @RequestParam(value = "search", required = true) String search) {
//租户主键,由前端页面传送
String tenantId = request.getHeader("X-Tenant-Id");
if (StringUtils.isBlank(tenantId)) {
return ResultVoUtil.error("租户主键不能为空");
}
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//执行查询方法 //执行查询方法
Map<Object, List<Map<String,String>>> selectsearch = ocrSearchHistoryService.selectsearch(search, userToken.getLoginname()); Map<Object, List<Map<String,String>>> selectsearch = ocrSearchHistoryService.selectsearch(search, userToken.getLoginname(),userToken.getUserid(),tenantId);
OcrSearchHistory ocrsearchhistory =new OcrSearchHistory(); OcrSearchHistory ocrsearchhistory =new OcrSearchHistory();
ocrsearchhistory.setHistoryname(search); ocrsearchhistory.setHistoryname(search);

@ -19,11 +19,11 @@ import java.util.Map;
*/ */
@Mapper @Mapper
public interface OcrSearchHistoryMapper extends BaseMapper<OcrSearchHistory> { public interface OcrSearchHistoryMapper extends BaseMapper<OcrSearchHistory> {
List<Map<String,String>> selectsearch1(@Param("userid")String userid,@Param("search")String search); List<Map<String,String>> selectsearch1(@Param("userid")String userid,@Param("search")String search,@Param("tenantId")String tenantId);
List<Map<String,String>> selectsearch2(@Param("userid")String userid,@Param("search")String search); List<Map<String,String>> selectsearch2(@Param("userid")String userid,@Param("search")String search,@Param("tenantId")String tenantId);
List<Map<String,String>> selectsearch3(@Param("userid")String userid,@Param("search")String search); List<Map<String,String>> selectsearch3(@Param("userid")String userid,@Param("search")String search,@Param("tenantId")String tenantId);

@ -17,7 +17,7 @@ import java.util.Map;
* @since 2024-03-15 * @since 2024-03-15
*/ */
public interface IOcrSearchHistoryService extends IService<OcrSearchHistory> { public interface IOcrSearchHistoryService extends IService<OcrSearchHistory> {
Map<Object, List<Map<String,String>>> selectsearch(String search, String assignee); Map<Object, List<Map<String,String>>> selectsearch(String search, String assignee, String userId, String tenantId);
ResultVo toolscount(String tenantid); ResultVo toolscount(String tenantid);

@ -38,13 +38,13 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
private OcrPictureService ocrPictureService; private OcrPictureService ocrPictureService;
@Override @Override
public Map<Object, List<Map<String,String>>> selectsearch(String search, String assignee) { public Map<Object, List<Map<String,String>>> selectsearch(String search, String assignee, String userId, String tenantId) {
List<Map<String,String>> strings1 = ocrsearchhistorymapper.selectsearch1(assignee,search); List<Map<String,String>> strings1 = ocrsearchhistorymapper.selectsearch1(userId,search,tenantId);
List<Map<String,String>> strings2 = ocrsearchhistorymapper.selectsearch2(assignee,search); List<Map<String,String>> strings2 = ocrsearchhistorymapper.selectsearch2(assignee,search,tenantId);
List<Map<String,String>> strings3 = ocrsearchhistorymapper.selectsearch3(assignee,search); List<Map<String,String>> strings3 = ocrsearchhistorymapper.selectsearch3(assignee,search,tenantId);
// List<Map<Object,List<Map<String,String>>>> list = new ArrayList<>(); // List<Map<Object,List<Map<String,String>>>> list = new ArrayList<>();

@ -91,7 +91,16 @@ public class SearchParaFormatting {
//数字区间查询 //数字区间查询
if(sectionInts!=null && sectionInts.size()==2){ if(sectionInts!=null && sectionInts.size()==2){
//相等 //相等
queryWrapper.between(key,sectionInts.get(0),sectionInts.get(1)); // queryWrapper.between(key,sectionInts.get(0),sectionInts.get(1));
if (sectionInts.get(0) == 0) {
// 构建查询条件key 为 null 或者在指定区间内
queryWrapper.isNull(key);
queryWrapper.or();
queryWrapper.between(key, sectionInts.get(0), sectionInts.get(1));
} else {
// 相等
queryWrapper.between(key, sectionInts.get(0), sectionInts.get(1));
}
break; break;
} }
queryWrapper.between(key,sections[0],sections[1]); queryWrapper.between(key,sections[0],sections[1]);

@ -17,50 +17,45 @@
<select id="selectsearch1" resultType="map"> <select id="selectsearch1" resultType="map">
SELECT ID as id,packagename as name FROM ocr_packagetask WHERE create_by=#{userid} AND packagename like "%"#{search}"%" <!-- SELECT ID as id,packagename as name FROM ocr_packagetask WHERE create_by=#{userid} AND packagename like "%"#{search}"%"-->
SELECT id,name FROM ocr_task_package WHERE create_by=#{userid} AND name like "%"#{search}"%" AND tenant_id = #{tenantId}
</select> </select>
<select id="selectsearch2" resultType="map"> <select id="selectsearch2" resultType="map">
SELECT SELECT
r.ID as id,CONCAT_WS( "-", t.packagename, img.planName ) AS name r.ID as id,CONCAT_WS( "-", r.FROMTASKNAME, img.field3 ,img.field1 ) AS name
FROM FROM
ocr_taskchild_picture r ocr_taskchild_picture r
LEFT JOIN ocr_packagetask t ON r.PACKAGEID = t.ID LEFT JOIN ocr_picture img ON r.PICTUREID = img.ID
LEFT JOIN ocr_picture img ON FIND_IN_SET(img.ID,r.OCPICTUREID)
WHERE WHERE
r.ASSIGNEE = #{userid} AND r.ASSIGNEE = #{userid} AND
r.STATES IN ('1','2') AND r.STATES IN ('1','2') AND
r.taskName IN ( '一级审批', '二级审批' ) r.TASKNAME IN ( '一级审批', '二级审批' )
AND (r.PACKAGEID LIKE "%"#{search}"%" AND (r.FROMTASKNAME LIKE "%"#{search}"%"
OR t.packagename LIKE "%"#{search}"%"
OR img.field1 LIKE "%"#{search}"%" OR img.field1 LIKE "%"#{search}"%"
OR img.field3 LIKE "%"#{search}"%") OR img.field3 LIKE "%"#{search}"%")
AND r.TENANTID = #{tenantId}
ORDER BY ORDER BY
r.CREATEDATE DESC r.CREATEDATE DESC
LIMIT 3 LIMIT 3
</select> </select>
<select id="selectsearch3" resultType="map"> <select id="selectsearch3" resultType="map">
SELECT SELECT
r.ID as id,CONCAT_WS( "-", t.packagename, img.planName ) AS name r.ID as id,CONCAT_WS( "-", r.FROMTASKNAME, img.field3 ,img.field1 ) AS name
FROM FROM
ocr_taskchild_picture r ocr_taskchild_picture r
LEFT JOIN ocr_packagetask t ON r.PACKAGEID = t.ID LEFT JOIN ocr_picture img ON r.PICTUREID = img.ID
LEFT JOIN ocr_picture img ON FIND_IN_SET(img.ID,r.OCPICTUREID)
WHERE WHERE
r.ASSIGNEE = #{userid} AND r.ASSIGNEE = #{userid} AND
r.STATES = '3' AND r.STATES = '3' AND
r.taskName = '最终审批' r.TASKNAME = '最终审批'
AND (r.PACKAGEID LIKE "%"#{search}"%" AND (r.FROMTASKNAME LIKE "%"#{search}"%"
OR t.packagename LIKE "%"#{search}"%"
OR img.field1 LIKE "%"#{search}"%" OR img.field1 LIKE "%"#{search}"%"
OR img.field3 LIKE "%"#{search}"%") OR img.field3 LIKE "%"#{search}"%")
AND r.TENANTID = #{tenantId}
ORDER BY ORDER BY
r.CREATEDATE DESC r.CREATEDATE DESC
LIMIT 3 LIMIT 3
</select> </select>

Loading…
Cancel
Save