Merge branch 'test' into fix/dubious_file_2897

pull/46/head
LILI 1 year ago
commit c92beb488e

@ -95,6 +95,9 @@ public class SearchQuery implements java.io.Serializable{
public void addGreater(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
}
public void addGreater(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
}
public void addGreater(String field,Long value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER);
@ -111,6 +114,9 @@ public class SearchQuery implements java.io.Serializable{
public void addGreaterEqual(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL);
}
public void addGreaterEqual(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL);
}
public void addGreaterEqual(String field,BigDecimal value){
addQuery(field,value, SearchQueryConstant.SEARCH_GREATER_EQUAL);
@ -121,6 +127,9 @@ public class SearchQuery implements java.io.Serializable{
public void addLess(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
}
public void addLess(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
}
public void addLess(String field,Long value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS);
@ -134,6 +143,9 @@ public class SearchQuery implements java.io.Serializable{
public void addLessEqual(String field,Integer value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL);
}
public void addLessEqual(String field,String value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL);
}
public void addLessEqual(String field,BigDecimal value){
addQuery(field,value, SearchQueryConstant.SEARCH_LESS_EQUAL);

@ -22,6 +22,7 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearch;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrUsersearchchild;
@ -29,9 +30,11 @@ import cn.jyjz.xiaoyao.ocr.service.OcrSearchmanagerService;
import cn.jyjz.xiaoyao.ocr.service.OcrTaskchildPictureService;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchService;
import cn.jyjz.xiaoyao.ocr.service.OcrUsersearchchildService;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.alanpoi.common.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.*;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.http.MediaType;
@ -307,13 +310,16 @@ public class FlowTaskController extends BaseController {
searchQuery.addLike("fromtaskname", taskName);
}
//获取用户预设检索条件id
String userSearchId = request.getParameter("userSearchId");
User user = this.userService.getSessionUser(request);
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
flowTaskService.getMyProcessInstances(searchQuery.getQuery(), pageUtils);
} else {
flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils);
flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils,userSearchId);
//待办信息,增加是否查看标记
// if(StringUtils.isNotBlank(assigneeId) && assigneeId.equals(user.getId().toString())){
@ -391,9 +397,9 @@ public class FlowTaskController extends BaseController {
String[] projectIds = izproject.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(projectIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("fromprojectid", arrayData);
searchQuery.addIn("fromprojectname", arrayData);
} else {
searchQuery.addEqual("fromprojectid", izproject);
searchQuery.addEqual("fromprojectname", izproject);
}
}
if (org.springframework.util.StringUtils.hasText(izplan)) {
@ -672,6 +678,7 @@ public class FlowTaskController extends BaseController {
@ResponseBody
public ResultVo repetitionTaskList(@RequestParam(name = "pageNo") Integer pageNo,
@RequestParam(name = "pageSize") Integer pageSize) {
return flowTaskService.repetitionTaskList(pageNo, pageSize);
IPage<OcrTaskchildPicture> result = flowTaskService.repetitionTaskList(pageNo, pageSize);
return ResultVoUtil.success(result);
}
}

@ -13,9 +13,13 @@ import cn.jyjz.xiaoyao.common.base.vo.UserToken;
import cn.jyjz.xiaoyao.oa.from.dataobject.Category;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.task.api.Task;
@ -70,7 +74,7 @@ public interface IFlowTaskService {
* @param tenantId
* @param pageUtils
*/
public void getMyProcessInstances(User user,String tenantId, Map<String, Object> query,PageUtils pageUtils);
public void getMyProcessInstances(User user,String tenantId, Map<String, Object> query,PageUtils pageUtils,String userSearchId);
/**
*
@ -175,5 +179,5 @@ public interface IFlowTaskService {
*/
ResultVo repetitionTask();
ResultVo repetitionTaskList(Integer pageNo, Integer pageSize);
IPage<OcrTaskchildPicture> repetitionTaskList(Integer pageNo, Integer pageSize);
}

@ -10,6 +10,7 @@ import cn.jyjz.flowable.entity.FlowTaskInfo;
import cn.jyjz.flowable.service.IFlowInstanceService;
import cn.jyjz.xiaoyao.common.base.language.SystemMessage;
import cn.jyjz.xiaoyao.common.base.service.UserTokenService;
import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil;
import cn.jyjz.xiaoyao.oa.from.dataDao.FlowableccMybatisDao;
@ -32,6 +33,7 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Flowablecc;
import cn.jyjz.xiaoyao.oa.from.service.*;
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.ocr.dataobject.*;
import cn.jyjz.xiaoyao.ocr.service.*;
import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting;
@ -439,7 +441,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(approve.getFlowTaskInfoList())) {
List<FlowTaskInfo> flowTaskInfoList = approve.getFlowTaskInfoList();
for (FlowTaskInfo flowTaskInfo : flowTaskInfoList) {
if(!formIds.contains(flowTaskInfo.getFormId())){
if (!formIds.contains(flowTaskInfo.getFormId())) {
continue;
}
// 当前要处理的任务
@ -1289,7 +1291,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param tenantId
* @param pageUtils
*/
public void getMyProcessInstances(User user, String tenantId, Map<String, Object> searchQuery, PageUtils pageUtils) {
public void getMyProcessInstances(User user, String tenantId, Map<String, Object> searchQuery, PageUtils pageUtils, String userSearchId) {
ParamterPage paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize());
@ -1314,6 +1316,15 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
query.put("searchassignee", user.getLoginname());
query.putAll(searchQuery);
if (!StringUtils.isBlank(userSearchId)) {
OcrUsersearch ocrUsersearch = ocrUsersearchService.selectByUserSearchId(userSearchId);
SearchQuery additionalQuery = new SearchQuery();
for (OcrUsersearchchild usersearchchild : ocrUsersearch.getOcrUsersearchchildList()) {
this.formattingSearchChild1(additionalQuery, usersearchchild);
}
query.putAll(additionalQuery.getQuery());
}
Long count = ocrTaskchildPictureService.listmytaskCount(query);
query.put("page", paramterPage);
@ -1804,10 +1815,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}
@Override
public ResultVo repetitionTaskList(Integer pageNo, Integer pageSize) {
Page<OcrTaskChildPictureVo> page = new Page<>(pageNo, pageSize);
return ResultVoUtil.success(flowableccMybatisDao.repetitionTaskList(page));
public IPage<OcrTaskchildPicture> repetitionTaskList(Integer pageNo, Integer pageSize) {
Page<OcrTaskchildPicture> page = new Page<>(pageNo, pageSize);
List<OcrTaskchildPicture> result = flowableccMybatisDao.repetitionTaskList();
List<OcrTaskchildPicture> collect = result.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
page.setRecords(collect);
page.setTotal(result.size());
return page;
}
/**
@ -1937,5 +1951,132 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
return queryWrapper;
}
private SearchQuery formattingSearchChild1(SearchQuery searchQuery, OcrUsersearchchild usersearchchild) {
switch (usersearchchild.getSearchRelationType()) {
case "where":
// 添加 "where" 查询条件
this.formattingSearchType1(searchQuery, usersearchchild);
break;
case "and":
// 添加 "and" 查询条件
searchQuery.addRulesOp(usersearchchild.getSearchfield(),"and");
SearchQuery andQuery = this.formattingSearchType1(searchQuery, usersearchchild);
searchQuery.setSearchQuery(andQuery);
break;
case "or":
// 添加 "or" 查询条件
searchQuery.addRulesOp(usersearchchild.getSearchfield(),"or");
SearchQuery orQuery = this.formattingSearchType1(searchQuery, usersearchchild);
searchQuery.setSearchQuery(orQuery);
break;
default:
break;
}
return searchQuery;
}
private SearchQuery formattingSearchType1(SearchQuery searchQuery, OcrUsersearchchild usersearchchild) {
//查询类型 相等true 不相等fase
boolean queryType = "eq".equals(usersearchchild.getSearchtype());
// 1.获取检查数据,确定数据类型
String valueType = SearchParaFormatting.clickSearchValue(usersearchchild.getSearchvalue());
List<String> arrayData = null; //集合型数据
List<Integer> sectionInts = null; //纯数字区间型数据
String[] sections = null; //字符串区间型数据
DateTime beginTime = null; //日期时间区间型数据
DateTime endTime = null; //日期时间区间型数据
// 2.根据数据类型,解构数据
switch (valueType) {
case "array":
//处理多文件
String[] datas = usersearchchild.getSearchvalue().split(",");
arrayData = Arrays.asList(datas);
break;
case "section":
//格式化数据,仅在做区间的时候去除空格,其他地方不进行空格去除.
sections = usersearchchild.getSearchvalue().trim().replaceAll("\\s+", "").split("-");
//校验是否纯数字,纯数字的话要转成int,否则比对时会有问题
sectionInts = new ArrayList<>();
for (String data : sections) {
if (data.matches("\\d+")) {
sectionInts.add(Integer.parseInt(data));
}
}
break;
case "time":
//格式化时间数据
String[] times = usersearchchild.getSearchvalue().trim().replaceAll("\\s+", "").split("-");
beginTime = DateUtil.parse(times[0], "yyyy/MM/dd");
endTime = DateUtil.parse(times[1], "yyyy/MM/dd");
break;
default:
}
// 3.根据查询类型 组装查询条件 相等
switch (valueType) {
case "array":
//集合数据
//相等
if (queryType) {
searchQuery.addIn(usersearchchild.getSearchfield(), arrayData);
break;
}
//不相等
searchQuery.addNotIn(usersearchchild.getSearchfield(), arrayData);
break;
case "section":
//数字区间查询
if (sectionInts != null && sectionInts.size() == 2) {
if (queryType) {
//相等
searchQuery.addGreaterEqual(usersearchchild.getSearchfield(), sectionInts.get(0));
searchQuery.addLessEqual(usersearchchild.getSearchfield(), sectionInts.get(1));
break;
}
//不相等
searchQuery.addLess(usersearchchild.getSearchfield(), sectionInts.get(0));
searchQuery.addGreater(usersearchchild.getSearchfield(), sectionInts.get(1));
break;
}
//字符串区间查询
if (queryType) {
//相等
searchQuery.addGreaterEqual(usersearchchild.getSearchfield(), sections[0]);
searchQuery.addLessEqual(usersearchchild.getSearchfield(), sections[1]);
break;
}
//不相等
searchQuery.addLess(usersearchchild.getSearchfield(), sections[0]);
searchQuery.addGreater(usersearchchild.getSearchfield(), sections[1]);
break;
case "time":
//时间区间数据
//相等
if (queryType) {
searchQuery.addGreaterEqual(usersearchchild.getSearchfield(), beginTime);
searchQuery.addLessEqual(usersearchchild.getSearchfield(), endTime);
break;
}
//不相等
searchQuery.addLess(usersearchchild.getSearchfield(), beginTime);
searchQuery.addGreater(usersearchchild.getSearchfield(), endTime);
break;
default:
if (queryType) {
searchQuery.addEqual(usersearchchild.getSearchfield(), usersearchchild.getSearchvalue());
break;
}
searchQuery.addNotEqual(usersearchchild.getSearchfield(), usersearchchild.getSearchvalue());
}
return searchQuery;
}
}

@ -5,6 +5,7 @@ import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedContentVo;
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
import cn.jyjz.xiaoyao.oa.from.vo.UserDistionaryVo;
import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture;
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -42,5 +43,5 @@ public interface FlowableccMybatisDao extends BaseMapper<Flowablecc> {
List<RepeatedContentVo> repetitionTask();
Page<RepeatedTaskVo> repetitionTaskList(Page<OcrTaskChildPictureVo> page);
List<OcrTaskchildPicture> repetitionTaskList();
}

@ -166,11 +166,10 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
@Override
public Map<Object, Object> selectaisp(String userid, String id,Integer nodeType) {
List<Map<Object, Object>> resultList = ocrsearchhistorymapper.selectaispList(id);
Map<Object, Object> mappedResults = new LinkedHashMap<>();
if (resultList == null || resultList.isEmpty()) {
return Collections.emptyMap();
}
Map<Object, Object> mappedResults = new LinkedHashMap<>();
String selectaiuser = ocrsearchhistorymapper.selectaiuser(userid);
mappedResults.put("packageId", id);
mappedResults.put("tenantUserName", selectaiuser);
@ -179,30 +178,32 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
int similarComplete = 0;
List<String> pictureIds = new ArrayList<>(); // 存储所有的pictureId
for (Map<Object, Object> selectaisp : resultList) {
Object pictureResult = selectaisp.get("pictureResult");
String pictureResultStr = pictureResult.toString();
if ("100.0".equals(pictureResultStr)) {
similarComplete++;
Long pictureId = (Long) selectaisp.get("pictureId");
if (pictureId != null) {
pictureIds.add(String.valueOf(pictureId)); // 转换为String
if(selectaisp.size()!=0){
Object pictureResult = selectaisp.get("pictureResult");
String pictureResultStr = pictureResult.toString();
if ("100.0".equals(pictureResultStr)) {
similarComplete++;
Long pictureId = (Long) selectaisp.get("pictureId");
if (pictureId != null) {
pictureIds.add(String.valueOf(pictureId)); // 转换为String
}
}
}
}
if(similarComplete==0){
return Collections.emptyMap();
}
List<String> pendingApprovalList = new ArrayList<>(); // 存储待审批的pictureId集合
List<String> approvedList = new ArrayList<>(); // 存储通过的pictureId集合
List<String> failedList = new ArrayList<>(); // 存储不通过的pictureId集合
List<OcrPicture> failedPictureIds = ocrPictureService.getPictureNodeStatesList(pictureIds, nodeType);
for (OcrPicture picture : failedPictureIds) {
if (picture.getHistoryStates() == 3) {
failedList.add(picture.getRemark());
} else if (picture.getHistoryStates() == 1) {
pendingApprovalList.add(picture.getRemark());
} else if (picture.getHistoryStates() == 2) {
approvedList.add(picture.getRemark());
if(pictureIds.size()!=0){
List<OcrPicture> failedPictureIds = ocrPictureService.getPictureNodeStatesList(pictureIds, nodeType);
for (OcrPicture picture : failedPictureIds) {
if (picture.getHistoryStates() == 3) {
failedList.add(picture.getRemark());
} else if (picture.getHistoryStates() == 1) {
pendingApprovalList.add(picture.getRemark());
} else if (picture.getHistoryStates() == 2) {
approvedList.add(picture.getRemark());
}
}
}

@ -146,10 +146,24 @@ public class SearchParaFormatting {
}
}catch (Exception e){
}
return "section";
}
//如果不是数字区间,则按字符串处理
if(!isInRange(searchvalue)){
return "text";
}
return "section";
}
//3.都不是就按text文本处理
return "text";
}
/**
*
* @param number
* @return
*/
public static boolean isInRange(String number) {
String regex = "\\b(100|[1-9]?\\d)-\\b(100|[1-9]?\\d)";
return number.matches(regex);
}
}

@ -223,20 +223,20 @@
LEFT JOIN ocr_picture t3 on t1.content = t3.field8
</select>
<select id="repetitionTaskList" resultType="cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo">
SELECT
t1.content,
t1.id,
t1.imgUrl,
t3.similarity_score similarityScore,
t2.STATES,
t3.remark fromTaskId,
t3.taskName,
t2.TASKNAME nodeName,
t2.FROMUPTIME fromTime,
t2.UPDATETIME updateTime,
t2.TASKID taskId,
t2.ID formId
<select id="repetitionTaskList" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture">
SELECT t2.*
<!-- t1.content,-->
<!-- t1.id,-->
<!-- t1.imgUrl,-->
<!-- t3.similarity_score similarityScore,-->
<!-- t2.STATES,-->
<!-- t3.remark fromTaskId,-->
<!-- t3.taskName,-->
<!-- t2.TASKNAME nodeName,-->
<!-- t2.FROMUPTIME fromTime,-->
<!-- t2.UPDATETIME updateTime,-->
<!-- t2.TASKID taskId,-->
<!-- t2.ID formId-->
from (select field8 content, ID id, imgUrl
FROM ocr_picture
where ID in (select child.PICTUREID from oa_userfinal_t final left join ocr_taskchild_picture child on final.FORMID = child.ID)

@ -39,6 +39,51 @@
<result column="HAVEPOINTS" property="havepoints" jdbcType="INTEGER"/>
<result column="TASKNAME" property="taskname" jdbcType="VARCHAR"/>
</resultMap>
<resultMap id="taskResultMap" type="cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo">
<result column="assigneeName" property="assigneeName"/>
<result column="createDate" property="createDate"/>
<result column="createUser" property="createUser"/>
<result column="createUserName" property="createUserName"/>
<result column="deploymentId" property="deploymentId"/>
<result column="fileAnnex" property="fileAnnex"/>
<result column="finishTime" property="finishTime"/>
<result column="fromPlanId" property="fromPlanId"/>
<result column="fromProjectId" property="fromProjectId"/>
<result column="fromProjectName" property="fromProjectName"/>
<result column="fromSourceId" property="fromSourceId"/>
<result column="fromTaskId" property="fromTaskId"/>
<result column="fromTaskName" property="fromTaskName"/>
<result column="fromUserId" property="fromUserId"/>
<result column="fromUserName" property="fromUserName"/>
<result column="fromupTime" property="fromupTime"/>
<result column="guiDang" property="guiDang"/>
<result column="havePoints" property="havePoints"/>
<result column="historyStates" property="historyStates"/>
<result column="imgUrl" property="imgUrl"/>
<result column="maxSimilarity" property="maxSimilarity"/>
<result column="photoDateTimestamp" property="photoDateTimestamp"/>
<result column="pictureId" property="pictureId"/>
<result column="processDefinitionId" property="processDefinitionId"/>
<result column="processInstanceId" property="processInstanceId"/>
<result column="serverThumbnailUrl" property="serverThumbnailUrl"/>
<result column="submitDateTimestamp" property="submitDateTimestamp"/>
<result column="taskId" property="taskId"/>
<result column="taskName" property="taskName"/>
<result column="userId" property="userId"/>
<result column="userName" property="userName"/>
<association property="pictureInfo" javaType="cn.jyjz.xiaoyao.ocr.dataobject.OcrPictureInfo">
<result column="picture_id" property="pictureId"/>
<result column="img_size" property="imgSize"/>
<result column="img_name" property="imgName"/>
<result column="img_format" property="imgFormat"/>
<result column="img_measure" property="imgMeasure"/>
<result column="upload_time" property="uploadTime"/>
<result column="create_time" property="createTime"/>
<result column="img_space" property="imgSpace"/>
<result column="tag_time" property="tagTime"/>
<result column="source" property="source"/>
</association>
</resultMap>
<resultMap id="PictureResultMap" type="cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo">
<result column="picture_id" property="pictureId"/>
<result column="taskChildId" property="taskChildId"/>
@ -139,6 +184,7 @@
</if>
<if test="ocpictureid != null">
and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
</if>
<if test="pictureresult != null">
@ -260,6 +306,7 @@
</if>
<if test="ocpictureid != null">
and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
</if>
<if test="pictureresult != null">
@ -450,7 +497,7 @@
where tc.STATES = 5
) as tcp
left join ocr_picture pic
on tcp.PICTUREID = pic.ID and pic.suspiciousfile =0
on tcp.PICTUREID = pic.ID and pic.suspiciousfile = 0
<include refid="Base_Where_union">
</include>
<if test="fromuptimeStart != null">
@ -472,15 +519,16 @@
from ocr_taskchild_picture tc,
OA_USERFINAL_T uf,
ocr_picture p
where tc.ID = uf.FORMID and p.ID = tc.PICTUREID and p.suspiciousfile =0
where tc.ID = uf.FORMID
and p.ID = tc.PICTUREID
and p.suspiciousfile = 0
<if test="thisLoginUserid != null">
and uf.USERID ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if>
UNION
select
tc.*
from ocr_taskchild_picture tc,
ocr_picture p
from ocr_taskchild_picture tc, ocr_picture p
where tc.STATES = 5 and p.suspiciousfile =0
) as tcp
<include refid="Base_Where_union">
@ -498,7 +546,7 @@
uf.TASKNO
from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
left join ocr_picture op on tc.PICTUREID = op.ID and op.suspiciousfile =0
left join ocr_picture op on tc.PICTUREID = op.ID and op.suspiciousfile = 0
where tc.ASSIGNEE = #{searchassignee}
and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2
@ -511,8 +559,10 @@
uf.TASKNO
from ocr_taskchild_picture tc,
OA_USERAPPROVE_T uf,
ocr_picture op
where tc.ID = uf.FORMID and tc.PICTUREID = op.ID and op.suspiciousfile =0
ocr_picture op
where tc.ID = uf.FORMID
and tc.PICTUREID = op.ID
and op.suspiciousfile = 0
and tc.TENANTID = #{searchtenantid}
<if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid}
@ -591,12 +641,13 @@
ifnull(t3.STATSHIS, 1) historyStates,
t1.submit_date_timestamp submitDateTimestamp,
t1.photo_date_timestamp photoDateTimestamp,
t1.similarity_score similarityScore
t1.similarity_score similarityScore
FROM ocr_picture t1
LEFT JOIN ocr_taskchild_picture t2
on t1.ID = t2.PICTUREID
LEFT JOIN oa_userapprove_t t3 on t2.ID = t3.FORMID and t3.TASKNAME = '${taskname}'
where t1.suspiciousfile = 0 and t1.ID in
where t1.suspiciousfile = 0
and t1.ID in
<foreach collection="pictureIds" open="(" close=")" item="item" separator="," index="index">
#{item}
</foreach>
@ -660,10 +711,11 @@
LEFT JOIN ocr_picture_info t2 on t1.ID = t2.picture_id
LEFT JOIN ocr_taskchild_picture t3 on t1.ID = t3.PICTUREID
LEFT JOIN oa_userapprove_t t4 on t4.FORMID = t3.ID
where t1.ID = #{pictureId} and t1.suspiciousfile = 0
where t1.ID = #{pictureId}
and t1.suspiciousfile = 0
</select>
<select id="getPackageSimilarityList" resultType="cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo">
<select id="getPackageSimilarityList" resultMap="taskResultMap">
SELECT t3.ID id,
t3.PICTUREID pictureId,
t3.STATES states,
@ -697,12 +749,15 @@
t2.photo_date_timestamp photoDateTimestamp,
t2.server_thumbnail_url serverThumbnailUrl,
t1.max_similarity maxSimilarity,
ifnull(t4.STATSHIS, 1) historyStates
ifnull(t4.STATSHIS, 1) historyStates,
t5.*
FROM ocr_check_duplicate_result t1
LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID
LEFT JOIN ocr_taskchild_picture t3 ON t2.ID = t3.PICTUREID
LEFT JOIN oa_userapprove_t t4 ON t3.ID = t4.FORMID and t4.TASKNAME = '${taskname}'
WHERE t1.check_duplicate_id = #{checkDuplicateId} and t2.suspiciousfile = 0
left join ocr_picture_info t5 on t2.ID = t5.picture_id
WHERE t1.check_duplicate_id = #{checkDuplicateId}
and t2.suspiciousfile = 0
<if test="pictureId != null and pictureId != ''">
and t1.picture_id != #{pictureId}
</if>

Loading…
Cancel
Save