Merge branch 'test' into fix/Picture_query_interface

# Conflicts:
#	jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/dataobject/OcrTaskchildPicture.java
#	jyjz-system/jyjz-system-oa/src/main/resources/mapper/oa/OcrTaskchildPictureMapper.xml
pull/103/head
DELL 1 year ago
commit b1c92d0ac7

@ -383,10 +383,10 @@ public class FlowTaskController extends BaseController {
@RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus, @RequestParam(name = "izstatus", defaultValue = "", required = false) String izstatus,
@RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom, @RequestParam(name = "iztaskrrom", defaultValue = "", required = false) String iztaskrrom,
@RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime, @RequestParam(name = "izuptime", defaultValue = "", required = false) String izuptime,
@RequestParam(name = "isFail", defaultValue = "false", required = false) String isFail,
HttpServletRequest request) { HttpServletRequest request) {
SearchQuery searchQuery = new SearchQuery(); SearchQuery searchQuery = new SearchQuery();
if (org.springframework.util.StringUtils.hasText(izupuser)) { if (org.springframework.util.StringUtils.hasText(izupuser)) {
// searchQuery.addEqual("fromuserid",izupuser);
if (izupuser.contains(",")) { if (izupuser.contains(",")) {
String[] userIds = izupuser.split(","); String[] userIds = izupuser.split(",");
List<String> arrayData = Arrays.asList(userIds); List<String> arrayData = Arrays.asList(userIds);
@ -422,17 +422,22 @@ public class FlowTaskController extends BaseController {
if (izstatus.contains(",")) { if (izstatus.contains(",")) {
String[] statusIds = izstatus.split(","); // 以逗号拆分字符串 String[] statusIds = izstatus.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(statusIds); List<String> arrayData = Arrays.asList(statusIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("states", arrayData); searchQuery.addIn("states", arrayData);
} else { } else {
searchQuery.addEqual("states", izstatus); searchQuery.addEqual("states", izstatus);
} }
}else{
if(Boolean.parseBoolean(isFail)){
searchQuery.addEqual("isFail","1");
searchQuery.addIn("states", Arrays.asList("2","3","5"));
}else{
searchQuery.addIn("states", Arrays.asList("2","3"));
}
} }
if (org.springframework.util.StringUtils.hasText(iztaskrrom)) { if (org.springframework.util.StringUtils.hasText(iztaskrrom)) {
if (iztaskrrom.contains(",")) { if (iztaskrrom.contains(",")) {
String[] taskrromIds = iztaskrrom.split(","); // 以逗号拆分字符串 String[] taskrromIds = iztaskrrom.split(","); // 以逗号拆分字符串
List<String> arrayData = Arrays.asList(taskrromIds); List<String> arrayData = Arrays.asList(taskrromIds);
SearchQueryForm searchQueryForm = new SearchQueryForm();
searchQuery.addIn("fromsourceid", arrayData); searchQuery.addIn("fromsourceid", arrayData);
} else { } else {
searchQuery.addEqual("fromsourceid", iztaskrrom); searchQuery.addEqual("fromsourceid", iztaskrrom);
@ -474,7 +479,7 @@ public class FlowTaskController extends BaseController {
User user = this.userService.getSessionUser(request); User user = this.userService.getSessionUser(request);
if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) { if (user.isUserIsSys(xiaoyaoConfig.getWebconfig().getSysLoginUser().split(","))) {
} else { } else {
searchQuery.addEqual("thisLoginUserid", user.getId().toString()); searchQuery.addEqual("thisLoginUserid", user.getLoginname());
searchQuery.addEqual("tenantid", tenantId); searchQuery.addEqual("tenantid", tenantId);
} }
String searchId = request.getParameter("searchId"); String searchId = request.getParameter("searchId");

@ -500,6 +500,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} else { } else {
//判断节点上的描述字段是否伟finale_judgment,如果是,记录到终审表中,如果终审表已经存在,不再重复记录 //判断节点上的描述字段是否伟finale_judgment,如果是,记录到终审表中,如果终审表已经存在,不再重复记录
if (StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) { if (StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) {
childPicture.setIsFinal(1);
User user = userService.findByLoginname(formData.getAssignee()); User user = userService.findByLoginname(formData.getAssignee());
userFinalService.save(user.getId().toString(), formId); userFinalService.save(user.getId().toString(), formId);
} }
@ -545,6 +546,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
executions.forEach(execution -> executionIds.add(execution.getId())); executions.forEach(execution -> executionIds.add(execution.getId()));
OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId)); OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
taskchildPicture.setFinishtime(System.currentTimeMillis()); taskchildPicture.setFinishtime(System.currentTimeMillis());
taskchildPicture.setIsFinal(1);
ocrTaskchildPictureService.updateById(taskchildPicture); ocrTaskchildPictureService.updateById(taskchildPicture);
OcrPicture picture = ocrPictureService.getById(taskchildPicture.getPictureid()); OcrPicture picture = ocrPictureService.getById(taskchildPicture.getPictureid());
ocrTaskchildPictureService.sendFlowTaskResult(taskchildPicture, picture, approve); ocrTaskchildPictureService.sendFlowTaskResult(taskchildPicture, picture, approve);
@ -982,6 +984,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
ParamterPage paramterPage = new ParamterPage(); ParamterPage paramterPage = new ParamterPage();
paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize());
paramterPage.setPagesize(pageUtils.getPageSize()); paramterPage.setPagesize(pageUtils.getPageSize());
Page<OcrTaskchildPicture> page = new Page<>();
if (StringUtils.isNotBlank(pageUtils.getSortname())) { if (StringUtils.isNotBlank(pageUtils.getSortname())) {
paramterPage.setSortname(pageUtils.getSortname()); paramterPage.setSortname(pageUtils.getSortname());
@ -995,97 +998,96 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
paramterPage.setSortorder("DESC"); paramterPage.setSortorder("DESC");
} }
Long count = ocrTaskchildPictureService.listFinalCount(query);
query.put("page", paramterPage); query.put("page", paramterPage);
Long count = ocrTaskchildPictureService.listFinalCount(query);
List<OcrTaskchildPicture> list = ocrTaskchildPictureService.listFinal(query); List<OcrTaskchildPicture> list = ocrTaskchildPictureService.listFinal(query);
for (OcrTaskchildPicture taskchildPicture : list) { // for (OcrTaskchildPicture taskchildPicture : list) {
//查询对应的流程分类 // //查询对应的流程分类
Category category = categoryService.selectDtoById(taskchildPicture.getCategoryid()); // Category category = categoryService.selectDtoById(taskchildPicture.getCategoryid());
taskchildPicture.setCategoryDto(category); // taskchildPicture.setCategoryDto(category);
//
if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) { // if (StringUtils.isNotBlank(taskchildPicture.getProcessdefinitionid())) {
//
List<Task> taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid()); // List<Task> taskList = this.nowRunTask(taskchildPicture.getProcessinstanceid(), taskchildPicture.getProcessdefinitionid());
if (null != taskList && !taskList.isEmpty()) { // if (null != taskList && !taskList.isEmpty()) {
taskchildPicture.setTaskId(taskList.get(0).getId()); // taskchildPicture.setTaskId(taskList.get(0).getId());
//
Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult(); // Task tasknow = taskService.createTaskQuery().taskId(taskchildPicture.getTaskId()).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId()); // BpmnModel bpmnModel = repositoryService.getBpmnModel(tasknow.getProcessDefinitionId());
// 获取节点定义id // // 获取节点定义id
String taskDefinitionKey = tasknow.getTaskDefinitionKey(); // String taskDefinitionKey = tasknow.getTaskDefinitionKey();
// 根据节点定义id获取节点元素 // // 根据节点定义id获取节点元素
FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey); // FlowElement flowElement = bpmnModel.getFlowElement(taskDefinitionKey);
if (flowElement instanceof UserTask) { // if (flowElement instanceof UserTask) {
UserTask userTask = (UserTask) flowElement; // UserTask userTask = (UserTask) flowElement;
//
taskchildPicture.setDocumentation(userTask.getDocumentation()); // taskchildPicture.setDocumentation(userTask.getDocumentation());
} // }
} // }
//
//查询历史 // //查询历史
List<HistoricTaskInstanceDto> historicTaskInstanceDtos = new ArrayList<>(); // List<HistoricTaskInstanceDto> historicTaskInstanceDtos = new ArrayList<>();
// 查询当前任务的流转信息 // // 查询当前任务的流转信息
List<HistoricTaskInstance> taskHiInstances = historyService.createHistoricTaskInstanceQuery() // List<HistoricTaskInstance> taskHiInstances = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(taskchildPicture.getProcessinstanceid()) // .processInstanceId(taskchildPicture.getProcessinstanceid())
.includeProcessVariables() // .includeProcessVariables()
.orderByHistoricTaskInstanceStartTime() // .orderByHistoricTaskInstanceStartTime()
.asc() // .asc()
.list(); // .list();
for (HistoricTaskInstance taskHiInstance : taskHiInstances) { // for (HistoricTaskInstance taskHiInstance : taskHiInstances) {
HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto(); // HistoricTaskInstanceDto dto = new HistoricTaskInstanceDto();
dto.setTaskId(taskHiInstance.getId()); // dto.setTaskId(taskHiInstance.getId());
dto.setTaskName(taskHiInstance.getName()); // dto.setTaskName(taskHiInstance.getName());
dto.setFinishTime(taskHiInstance.getEndTime()); // dto.setFinishTime(taskHiInstance.getEndTime());
if (taskHiInstance.getDurationInMillis() != null) { // if (taskHiInstance.getDurationInMillis() != null) {
dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒"); // dto.setDuration(taskHiInstance.getDurationInMillis() / 1000 + "秒");
} // }
dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey()); // dto.setTaskDefKey(taskHiInstance.getTaskDefinitionKey());
//
//Map<String,Object> variables = taskHiInstance.getTaskLocalVariables(); // //Map<String,Object> variables = taskHiInstance.getTaskLocalVariables();
//
Map<String, Object> variables = taskHiInstance.getProcessVariables(); // Map<String, Object> variables = taskHiInstance.getProcessVariables();
//
if (null != variables && null != variables.get("approvd")) { // if (null != variables && null != variables.get("approvd")) {
dto.setState(variables.get("approvd").toString()); // dto.setState(variables.get("approvd").toString());
} // }
//
if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) { // if (StringUtils.isNotBlank(taskHiInstance.getAssignee())) {
if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) { // if (SystemConstantsOa.OA_TASK_SKIP_ASSIGINE.equals(taskHiInstance.getAssignee())) {
dto.setAssigneeName(taskHiInstance.getAssignee()); // dto.setAssigneeName(taskHiInstance.getAssignee());
} else { // } else {
User user1 = userService.findByLoginname(taskHiInstance.getAssignee()); // User user1 = userService.findByLoginname(taskHiInstance.getAssignee());
//
dto.setAssigneeName(user1.getUsername()); // dto.setAssigneeName(user1.getUsername());
} // }
//
} // }
//
BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid()); // BpmnModel bpmnModel = repositoryService.getBpmnModel(taskchildPicture.getProcessdefinitionid());
//
// // 根据节点定义id获取节点元素 //// // 根据节点定义id获取节点元素
FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey()); // FlowElement flowElement = bpmnModel.getFlowElement(taskHiInstance.getTaskDefinitionKey());
if (flowElement instanceof UserTask) { // if (flowElement instanceof UserTask) {
UserTask userTask = (UserTask) flowElement; // UserTask userTask = (UserTask) flowElement;
//
taskchildPicture.setDocumentation(userTask.getDocumentation()); // taskchildPicture.setDocumentation(userTask.getDocumentation());
} // }
// 还需要根据 HistoricTaskInstance 找到对应的 审批意见 // // 还需要根据 HistoricTaskInstance 找到对应的 审批意见
List<Comment> processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid()); // List<Comment> processInstanceComments = taskService.getProcessInstanceComments(taskchildPicture.getProcessinstanceid());
for (Comment comment : processInstanceComments) { // for (Comment comment : processInstanceComments) {
//
if (comment.getTaskId().equals(taskHiInstance.getId())) { // if (comment.getTaskId().equals(taskHiInstance.getId())) {
// 审批意见 // // 审批意见
String fullMessage = comment.getFullMessage(); // String fullMessage = comment.getFullMessage();
dto.setComment(fullMessage); // dto.setComment(fullMessage);
} // }
} // }
historicTaskInstanceDtos.add(dto); // historicTaskInstanceDtos.add(dto);
} // }
taskchildPicture.setTransferRecords(historicTaskInstanceDtos); // taskchildPicture.setTransferRecords(historicTaskInstanceDtos);
} // }
} // }
pageUtils.setTotalCount(count.intValue()); pageUtils.setTotalCount(count.intValue());
pageUtils.setList(list); pageUtils.setList(list);

@ -9,6 +9,7 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove;
import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; import cn.jyjz.xiaoyao.oa.from.service.UserapproveService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -29,10 +30,11 @@ public class UserapproveServiceImpl extends BaseServiceImpl<UserapproveMybatisDa
userapprove.setFormid(Long.parseLong(formId)); userapprove.setFormid(Long.parseLong(formId));
userapprove.setTaskname(taskd.getName()); userapprove.setTaskname(taskd.getName());
userapprove.setTaskcomment(approve.getComment()); userapprove.setTaskcomment(approve.getComment());
userapprove.setTaskindex(StringUtils.isBlank(taskd.getDescription()) ?0:Integer.parseInt(taskd.getDescription()));
userapprove.setCreatedate(System.currentTimeMillis()); userapprove.setCreatedate(System.currentTimeMillis());
userapprove.setUsername(userToken.getUsername()); userapprove.setUsername(userToken.getUsername());
userapprove.setReason(approve.getFailCauseName()); userapprove.setReason(approve.getFailCauseName());
userapprove.setReason(approve.getDisposeType()); userapprove.setProcessMethod(approve.getDisposeType());
if (approve.getResult()) { if (approve.getResult()) {
userapprove.setStatshis(2); userapprove.setStatshis(2);
} else { } else {

@ -46,7 +46,6 @@ public class ApiConfig {
*/ */
private Integer readTimeout = 60000; private Integer readTimeout = 60000;
@Value("${ocr.api.wly.localImagePath}")
private String localImagePath; private String localImagePath;
/** /**

@ -401,10 +401,8 @@ public class OcrTaskchildPictureController extends BaseController {
@RequestParam(name = "orderType") String orderType, @RequestParam(name = "orderType") String orderType,
@RequestParam(name = "orderName") String orderName, @RequestParam(name = "orderName") String orderName,
@RequestParam(name = "checkDuplicateId") String checkDuplicateId, @RequestParam(name = "checkDuplicateId") String checkDuplicateId,
@RequestParam(name = "pictureId") String pictureId, @RequestParam(name = "pictureId") String pictureId) {
HttpServletRequest request) { Page<OcrTaskChildPictureVo> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId);
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
Page<OcrTaskChildPictureVo> result = ocrTaskchildPictureService.getPackageSimilarityList(pageNo, pageSize, orderType, orderName, checkDuplicateId, pictureId,userToken);
return ResultVoUtil.success(result); return ResultVoUtil.success(result);
} }

@ -12,7 +12,5 @@ import java.util.List;
*/ */
@Mapper @Mapper
public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> { public interface OcrPictureMybatisDao extends BaseMapper<OcrPicture> {
OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId, @Param("userNodeType") String userNodeType); OcrPicture getPackagePictureInfo(@Param("packageId") String packageId, @Param("pictureId") String pictureId);
List<OcrPicture> getPictureNodeStatesList(@Param("pictureIds") List<String> pictureIds, @Param("userNodeType") String userNodeType);
} }

@ -17,14 +17,17 @@ import java.util.Map;
*/ */
@Mapper @Mapper
public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPicture> { public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPicture> {
/** /**
* *
* @param query * @param query
* @return * @return
*/ */
public List<OcrTaskchildPicture> listFinal(Map<String, Object> query); public List<OcrTaskchildPicture> listFinal(Map<String, Object> query);
List<OcrTaskchildPicture> listFinalTask(Map<String, Object> query);
/** /**
* *
* @param query * @param query
@ -48,10 +51,13 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPi
String selectocpicture(@Param("tenantid")String tenantid,@Param("packageid")String packageid,@Param("id")String id); String selectocpicture(@Param("tenantid")String tenantid,@Param("packageid")String packageid,@Param("id")String id);
List<OcrTaskChildPictureVo> getPictureHistoryList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname); List<OcrTaskChildPictureVo> getPictureHistoryList(@Param("pictureIds") List<String> pictureIds, @Param("pictureId") String pictureId);
List<OcrTaskChildPictureVo> getDubiousfileList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname); List<OcrTaskChildPictureVo> getDubiousfileList(@Param("pictureIds") List<String> pictureIds, @Param("taskname") String taskname);
PictureDetailVo getPictureDetail(String pictureId); PictureDetailVo getPictureDetail(String pictureId);
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Page<OcrTaskChildPictureVo> page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName, @Param("taskname") String taskname); Page<OcrTaskChildPictureVo> getPackageSimilarityList(Page<OcrTaskChildPictureVo> page, @Param("checkDuplicateId") String checkDuplicateId, @Param("pictureId") String pictureId, @Param("oderType") String oderType, @Param("oderName") String oderName);
List<OcrTaskChildPictureVo> getSimilarityList(@Param("pictureIds") List<String> pictureIds);
} }

@ -195,6 +195,10 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable {
@TableField(value = "TASKNAME") @TableField(value = "TASKNAME")
private String taskname; private String taskname;
@Schema(description = "当前节点名称")
@TableField(value = "TASKNODE")
private String taskNode;
@Schema(description = "当前节点id") @Schema(description = "当前节点id")
@TableField(value = "TASKID") @TableField(value = "TASKID")
private String taskId; private String taskId;
@ -203,6 +207,10 @@ public class OcrTaskchildPicture implements BaseDto, java.io.Serializable {
@TableField(value = "FINISHTIME") @TableField(value = "FINISHTIME")
private Long finishtime; private Long finishtime;
@Schema(description = "是否终审")
@TableField(value = "ISFINAIL")
private Integer isFinal;
@Schema(description = "是否小结重复,1重复0不重复") @Schema(description = "是否小结重复,1重复0不重复")
@TableField(value = "is_repeated_nodules") @TableField(value = "is_repeated_nodules")
private Integer isRepeatedNodules; private Integer isRepeatedNodules;

@ -71,14 +71,6 @@ public interface OcrPictureService extends BaseService<OcrPicture> {
OcrPicture getPackagePictureInfo(String packageId, String pictureId, UserToken userToken); OcrPicture getPackagePictureInfo(String packageId, String pictureId, UserToken userToken);
/**
* id
* @param pictureIds
* @param nodeType
* @return
*/
List<OcrPicture> getPictureNodeStatesList(List<String> pictureIds,Integer nodeType);
// Long getPhotoDateTime(OcrPicture picture); // Long getPhotoDateTime(OcrPicture picture);
} }

@ -1,6 +1,5 @@
package cn.jyjz.xiaoyao.ocr.service; package cn.jyjz.xiaoyao.ocr.service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -17,6 +16,7 @@ import cn.jyjz.xiaoyao.ocr.vo.PictureDetailVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
/** /**
* *
@ -110,9 +110,11 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
* @param packageid * @param packageid
*/ */
public OcrTaskchildPicture create(OcrPicture ocrPicture, String tenantId , UserToken sysUser, Long packageid,String buessinessno); public OcrTaskchildPicture create(OcrPicture ocrPicture, String tenantId , UserToken sysUser, Long packageid,String buessinessno);
/** /**
* *
*
* @param page
* @param query * @param query
* @return * @return
*/ */
@ -147,7 +149,7 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken); Page<OcrTaskChildPictureVo> getSimilarityList(Integer pageNo, Integer pageSize, String pictureId, String orderType, String orderValue, UserToken userToken);
Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken); Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId);
void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove) throws Exception; void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove) throws Exception;

@ -328,22 +328,11 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
@Override @Override
public OcrPicture getPackagePictureInfo(String checkDuplicateId, String pictureId, UserToken userToken) { public OcrPicture getPackagePictureInfo(String checkDuplicateId, String pictureId, UserToken userToken) {
String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批"); OcrPicture ocrPicture = pictureMybatisDao.getPackagePictureInfo(checkDuplicateId,pictureId);
OcrPicture ocrPicture = pictureMybatisDao.getPackagePictureInfo(checkDuplicateId,pictureId,userNodeType);
ocrPicture.getPictureInfo().setCreateTime(ocrPicture.getPhotoDateTimestamp()); ocrPicture.getPictureInfo().setCreateTime(ocrPicture.getPhotoDateTimestamp());
return ocrPicture; return ocrPicture;
} }
@Override
public List<OcrPicture> getPictureNodeStatesList(List<String> pictureIds, Integer nodeType) {
String userNodeType = ProcessConstant.userNodeType.getOrDefault(nodeType, "一级审批");
return pictureMybatisDao.getPictureNodeStatesList(pictureIds,userNodeType);
}
// @Override // @Override
// public Long getPhotoDateTime(OcrPicture picture) { // public Long getPhotoDateTime(OcrPicture picture) {
// long timestamp = 0L; // long timestamp = 0L;

@ -218,8 +218,7 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
List<String> approvedList = new ArrayList<>(); // 存储通过的pictureId集合 List<String> approvedList = new ArrayList<>(); // 存储通过的pictureId集合
List<String> failedList = new ArrayList<>(); // 存储不通过的pictureId集合 List<String> failedList = new ArrayList<>(); // 存储不通过的pictureId集合
if(pictureIds.size()!=0){ if(pictureIds.size()!=0){
String userNodeType = ProcessConstant.userNodeType.getOrDefault(nodeType, "一级审批"); List<OcrTaskChildPictureVo> failedPictureIds = taskchildPictureMybatisDao.getSimilarityList(pictureIds);
List<OcrTaskChildPictureVo> failedPictureIds = taskchildPictureMybatisDao.getPictureHistoryList(pictureIds, userNodeType);
for (OcrTaskChildPictureVo picture : failedPictureIds) { for (OcrTaskChildPictureVo picture : failedPictureIds) {
if (picture.getHistoryStates() == 3) { if (picture.getHistoryStates() == 3) {
failedList.add(picture.getId()); failedList.add(picture.getId());

@ -8,6 +8,8 @@ import cn.jyjz.flowable.entity.FlowApprove;
import cn.jyjz.flowable.service.IFlowInstanceService; import cn.jyjz.flowable.service.IFlowInstanceService;
import cn.jyjz.flowable.service.IFlowTaskService; import cn.jyjz.flowable.service.IFlowTaskService;
import cn.jyjz.flowable.service.IFormCustomService; import cn.jyjz.flowable.service.IFormCustomService;
import cn.jyjz.xiaoyao.admin.dataobject.Department;
import cn.jyjz.xiaoyao.admin.service.DepartmentService;
import cn.jyjz.xiaoyao.common.base.param.ParamterPage; import cn.jyjz.xiaoyao.common.base.param.ParamterPage;
import cn.jyjz.xiaoyao.common.base.util.SpringUtils; import cn.jyjz.xiaoyao.common.base.util.SpringUtils;
import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVo;
@ -47,6 +49,8 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.flowable.task.api.Task; import org.flowable.task.api.Task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -55,13 +59,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -101,6 +99,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
@Resource @Resource
private PrevailCloudApi prevailCloudApi; private PrevailCloudApi prevailCloudApi;
@Autowired
private DepartmentService departmentService;
/** /**
* *
* *
@ -326,8 +327,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
//TODO 没有对应项目,返回提示信息 //TODO 没有对应项目,返回提示信息
continue; continue;
} }
Category category = categoryService.getById(ocrPicture.getCategoryid()); Department department = departmentService.getOne(new LambdaQueryWrapper<Department>().eq(Department::getDeptno, tenantId));
if (null == category || StringUtils.isBlank(category.getProcessdefinitionid())) { if (null == department || StringUtils.isBlank(department.getProcessdefinitionid())) {
continue; continue;
} }
//创建工单,如果创建成功,增加标志,用于过滤条件使用 //创建工单,如果创建成功,增加标志,用于过滤条件使用
@ -337,13 +338,13 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request)); RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(request));
//发起流程 //发起流程
flowInstanceService.startProcessInstanceById( flowInstanceService.startProcessInstanceById(
category.getProcessdefinitionid(), department.getProcessdefinitionid(),
null, null,
request, request,
ocrTaskchildPicture.getId().toString(), ocrTaskchildPicture.getId().toString(),
category.getServicename() department.getServicename()
); );
IFormCustomService iFormCustomService = SpringUtils.getBean(category.getServicename()); IFormCustomService iFormCustomService = SpringUtils.getBean(department.getServicename());
FlowModelVO formData = iFormCustomService.getForm(ocrTaskchildPicture.getId().toString()); FlowModelVO formData = iFormCustomService.getForm(ocrTaskchildPicture.getId().toString());
List<Task> taskList = iFlowTaskService.nowRunTask(formData.getProcessInstanceId(), ocrTaskchildPicture.getProcessdefinitionid()); List<Task> taskList = iFlowTaskService.nowRunTask(formData.getProcessInstanceId(), ocrTaskchildPicture.getProcessdefinitionid());
Task taskData = null; Task taskData = null;
@ -610,12 +611,13 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
/** /**
* *
* *
* @param page
* @param query * @param query
* @return * @return
*/ */
public List<OcrTaskchildPicture> listFinal(Map<String, Object> query) { public List<OcrTaskchildPicture> listFinal(Map<String, Object> query) {
return this.ocrtaskchildpicturemybatisdao.listFinal(query); return this.ocrtaskchildpicturemybatisdao.listFinalTask(query);
} }
@ -662,8 +664,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public List<OcrTaskChildPictureVo> getPictureHistoryList(List<String> pictureIds, String taskname) { public List<OcrTaskChildPictureVo> getPictureHistoryList(List<String> pictureIds, String pictureId) {
return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds, taskname); return ocrtaskchildpicturemybatisdao.getPictureHistoryList(pictureIds, pictureId);
} }
@Override @Override
@ -686,10 +688,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper<OcrPictureDuplicateHis>().eq(OcrPictureDuplicateHis::getPictureId, pictureId)); OcrPictureDuplicateHis duplicateHis = pictureDuplicateHisService.getOne(new LambdaQueryWrapper<OcrPictureDuplicateHis>().eq(OcrPictureDuplicateHis::getPictureId, pictureId));
Page<OcrTaskChildPictureVo> objectPage = new Page<>(); Page<OcrTaskChildPictureVo> objectPage = new Page<>();
if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) { if (ObjectUtils.isNotEmpty(duplicateHis) && org.apache.commons.lang3.StringUtils.isNotBlank(duplicateHis.getCheckDuplicateResultHisJson())) {
String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批");
JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson()); JSONObject jsonObject = JSONObject.parseObject(duplicateHis.getCheckDuplicateResultHisJson());
Set<String> pictureIds = jsonObject.keySet(); Set<String> pictureIds = jsonObject.keySet();
List<OcrTaskChildPictureVo> taskChildPicturesOld = this.getPictureHistoryList(new ArrayList<>(pictureIds), userNodeType); List<OcrTaskChildPictureVo> taskChildPicturesOld = this.getPictureHistoryList(new ArrayList<>(pictureIds), pictureId);
List<OcrTaskChildPictureVo> taskChildPictures = new ArrayList<>(); List<OcrTaskChildPictureVo> taskChildPictures = new ArrayList<>();
for (OcrTaskChildPictureVo taskChildPicture : taskChildPicturesOld) { for (OcrTaskChildPictureVo taskChildPicture : taskChildPicturesOld) {
if(taskChildPicture.getPictureId()!=null){ if(taskChildPicture.getPictureId()!=null){
@ -727,11 +728,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken) { public Page<OcrTaskChildPictureVo> getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId) {
Page<OcrTaskChildPictureVo> page = new Page<>(pageNo, pageSize); Page<OcrTaskChildPictureVo> page = new Page<>(pageNo, pageSize);
String userNodeType = ProcessConstant.userNodeType.getOrDefault(userToken.getNodeType(), "一级审批"); return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName);
return ocrtaskchildpicturemybatisdao.getPackageSimilarityList(page, checkDuplicateId, pictureId, oderType, oderName, userNodeType);
} }
@Override @Override

@ -252,7 +252,7 @@ public class TaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchildPic
//iFlowFormMessageService.sendMsg(user.getLoginname(),model.getUsername() + SystemMessage.SYS_OA_TYPE_LEAVE + SystemMessage.SYS_OA_TO_DO,taskId,processInstanceId,fromid, CacheQyweixinConstants.OA_DISTIONARY_TYPE_MSG_SHENPI,model.getCategoryid().toString()); //iFlowFormMessageService.sendMsg(user.getLoginname(),model.getUsername() + SystemMessage.SYS_OA_TYPE_LEAVE + SystemMessage.SYS_OA_TO_DO,taskId,processInstanceId,fromid, CacheQyweixinConstants.OA_DISTIONARY_TYPE_MSG_SHENPI,model.getCategoryid().toString());
} }
model.setAssigneename(stringBuffer.toString()); model.setAssigneename(stringBuffer.toString());
model.setTaskNode(task.getDescription());
return this.ocrTaskchildPictureService.updateById(model); return this.ocrTaskchildPictureService.updateById(model);
} }
return false; return false;

@ -226,30 +226,29 @@
</sql> </sql>
<select id="getPackagePictureInfo" resultMap="BaseResultMap"> <select id="getPackagePictureInfo" resultMap="BaseResultMap">
SELECT t2.*,t3.*,ifnull(t5.STATSHIS, 1) historyStates,t4.STATES,t4.TASKID,t4.ID taskchildId SELECT t2.*,
t3.*,
t4.STATES,
t4.TASKID,
t4.ID taskchildId,
COALESCE(
(SELECT t5.STATSHIS
FROM oa_userapprove_t t5
WHERE t5.FORMID = t4.ID
ORDER BY t5.CREATEDATE DESC
LIMIT 1),
1) AS historyStates
FROM ocr_check_duplicate_result t1 FROM ocr_check_duplicate_result t1
LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID
left join ocr_picture_info t3 on t2.ID=t3.picture_id left join ocr_picture_info t3 on t2.ID = t3.picture_id
left join ocr_taskchild_picture t4 on t2.ID=t4.PICTUREID left join ocr_taskchild_picture t4 on t2.ID = t4.PICTUREID
left join oa_userapprove_t t5 on t4.ID=t5.FORMID and t5.TASKNAME = '${userNodeType}'
where t1.check_duplicate_id = #{packageId} where t1.check_duplicate_id = #{packageId}
<if test="pictureId != null and pictureId != ''"> and t2.suspiciousfile = 0
and t1.picture_id = #{pictureId} <if test="pictureId != null and pictureId != ''">
</if> and t1.picture_id = #{pictureId}
ORDER BY t1.max_similarity desc,t1.similarity_group_order asc, t2.submit_date_timestamp asc </if>
ORDER BY t1.max_similarity desc, t1.similarity_group_order asc, t2.submit_date_timestamp asc
LIMIT 1 LIMIT 1
</select> </select>
<select id="getPictureNodeStatesList" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture">
SELECT t1.*,
ifnull(t3.STATSHIS, 1) historyStates
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 = '${userNodeType}'
where t1.ID in
<foreach collection="pictureIds" open="(" close=")" item="item" separator="," index="index">
#{item}
</foreach>
</select>
</mapper> </mapper>

@ -186,6 +186,8 @@
and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} and OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
</if> </if>
<if test="pictureresult != null"> <if test="pictureresult != null">
@ -307,8 +309,6 @@
</if> </if>
<if test="ocpictureid != null"> <if test="ocpictureid != null">
and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend} and tcp.OCPICTUREID ${ocpictureid.dataOp} ${ocpictureid.likestar}#{ocpictureid.value}${ocpictureid.likeend}
</if> </if>
<if test="pictureresult != null"> <if test="pictureresult != null">
@ -525,21 +525,22 @@
</if> </if>
${izproject.likeend} ${izproject.likeend}
</if> </if>
<!-- <if test="izuptime != null">--> <!-- <if test="izuptime != null">-->
<!-- ${izuptime.rulesOp} tcp.FROMUPTIME ${izuptime.dataOp} ${izuptime.likestar}#{izuptime.value}${izuptime.likeend}--> <!-- ${izuptime.rulesOp} tcp.FROMUPTIME ${izuptime.dataOp} ${izuptime.likestar}#{izuptime.value}${izuptime.likeend}-->
<!-- </if>--> <!-- </if>-->
<!-- <if test="izuptimeStart != null">--> <!-- <if test="izuptimeStart != null">-->
<!-- and tcp.FROMUPTIME &gt;= '${izuptimeStart.value}'--> <!-- and tcp.FROMUPTIME &gt;= '${izuptimeStart.value}'-->
<!-- </if>--> <!-- </if>-->
<!-- <if test="izuptimeEnd != null">--> <!-- <if test="izuptimeEnd != null">-->
<!-- and tcp.FROMUPTIME &lt;= '${izuptimeEnd.value}'--> <!-- and tcp.FROMUPTIME &lt;= '${izuptimeEnd.value}'-->
<!-- </if>--> <!-- </if>-->
<if test="izuptimeStart != null"> <if test="izuptimeStart != null">
<!-- 如果 izuptimeStart.dataOp 的值为 "<",则使用 "or" 连接 --> <!-- 如果 izuptimeStart.dataOp 的值为 "<",则使用 "or" 连接 -->
<choose> <choose>
<when test="izuptimeStart.rulesOp == 'or' || izuptimeEnd.rulesOp=='or'"> <when test="izuptimeStart.rulesOp == 'or' || izuptimeEnd.rulesOp == 'or'">
<if test="izuptimeEnd != null"> <if test="izuptimeEnd != null">
and (tcp.FROMUPTIME ${izuptimeStart.dataOp} '${izuptimeStart.value}' or tcp.FROMUPTIME ${izuptimeEnd.dataOp} '${izuptimeEnd.value}') and (tcp.FROMUPTIME ${izuptimeStart.dataOp} '${izuptimeStart.value}'
or tcp.FROMUPTIME ${izuptimeEnd.dataOp} '${izuptimeEnd.value}')
</if> </if>
</when> </when>
<otherwise> <otherwise>
@ -594,28 +595,22 @@
</if> </if>
</select> </select>
<select id="listFinalCount" resultType="java.lang.Long" parameterType="java.util.Map"> <select id="listFinalCount" resultType="java.lang.Long" parameterType="java.util.Map">
select count(tcp.ID) from ( select count(1)
select tc.* from ocr_taskchild_picture tcp
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
<if test="thisLoginUserid != null">
and uf.USERID ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if>
UNION
select
tc.*
from ocr_taskchild_picture tc
where tc.STATES = 5
) as tcp
left join ocr_picture pic left join ocr_picture pic
on tcp.PICTUREID = pic.ID on tcp.PICTUREID = pic.ID
<include refid="Base_Where_union"> <include refid="Base_Where_union">
</include> </include>
and tcp.ISFINAIL = 1
and pic.suspiciousfile = 0 and pic.suspiciousfile = 0
<if test="thisLoginUserid != null and isFail ==null">
and tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if>
<if test="thisLoginUserid != null and isFail !=null">
and (tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
or tcp.STATES = 5)
</if>
<if test="fromuptimeStart != null"> <if test="fromuptimeStart != null">
and tcp.fromuptime &gt;= ${fromuptimeStart.value} and tcp.fromuptime &gt;= ${fromuptimeStart.value}
</if> </if>
@ -628,56 +623,43 @@
parameterType="java.util.Map"> parameterType="java.util.Map">
select tcp.* from ( select tcp.* from (
select tc.*, select tc.*,
uf.COMMENTHIS, uf.COMMENTHIS,
uf.TASKNAME as TASKNAMEHIS, uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS, uf.STATSHIS,
uf.TASKINDEX, uf.TASKNO,
uf.TASKNO,
op.field6 as fromCustomerLevel, op.field6 as fromCustomerLevel,
op.releaseArea as fromCity, op.releaseArea as fromCity,
op.is_repeat, op.is_repeat,
tc.is_repeated_nodules as isRepeatedNodules tc.is_repeated_nodules as isRepeatedNodules
from ocr_taskchild_picture tc from ocr_taskchild_picture tc
LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID LEFT JOIN OA_USERAPPROVE_T uf ON tc.ID = uf.ID
left join ocr_picture op on tc.PICTUREID = op.ID left join ocr_picture op on tc.PICTUREID = op.ID
where tc.ASSIGNEE = #{searchassignee} where tc.ASSIGNEE = #{searchassignee}
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2 and tc.STATES = 2
and op.suspiciousfile = 0 and op.suspiciousfile = 0
<if test="izApprovalStatus != null "> <if test="izApprovalStatus != null">
${izApprovalStatus.rulesOp} ${izApprovalStatus.rulesOp}
( ( #{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE (uf.STATSHIS
#{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE(uf.STATSHIS, 1) , 1)
) )
</if> </if>
UNION UNION
select tc.*, select tc.*, uf.COMMENTHIS, uf.TASKNAME as TASKNAMEHIS, uf.STATSHIS, uf.TASKNO, op.field6 as fromCustomerLevel, op.releaseArea as fromCity, op.is_repeat
uf.COMMENTHIS, from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, ocr_picture op
uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS,
uf.TASKINDEX,
uf.TASKNO,
op.field6 as fromCustomerLevel,
op.releaseArea as fromCity,
op.is_repeat,
tc.is_repeated_nodules as isRepeatedNodules
from ocr_taskchild_picture tc,
OA_USERAPPROVE_T uf,
ocr_picture op
where tc.ID = uf.FORMID where tc.ID = uf.FORMID
and tc.PICTUREID = op.ID and tc.PICTUREID = op.ID
and op.suspiciousfile = 0 and op.suspiciousfile = 0
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
<if test="thisLoginUserid != null"> <if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid} and uf.USERID = #{thisLoginUserid}
</if> </if>
<if test="izApprovalStatus != null "> <if test="izApprovalStatus != null">
${izApprovalStatus.rulesOp} ${izApprovalStatus.rulesOp}
( ( #{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE (uf.STATSHIS
#{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE(uf.STATSHIS, 1) , 1)
) )
</if> </if>
) as tcp ) as tcp
<include refid="Base_Where_union"> <include refid="Base_Where_union">
@ -692,25 +674,42 @@
</if> </if>
</select> </select>
<select id="listmytaskCount" resultType="java.lang.Long" parameterType="java.util.Map"> <select id="listmytaskCount" resultType="java.lang.Long" parameterType="java.util.Map">
select count(tcp.ID) from ( select count(1) from (
select tc.* select tc.*,
uf.COMMENTHIS,
uf.TASKNAME as TASKNAMEHIS,
uf.STATSHIS,
uf.TASKNO,
op.field6 as fromCustomerLevel,
op.releaseArea as fromCity,
op.is_repeat
from ocr_taskchild_picture tc 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
where tc.ASSIGNEE = #{searchassignee} where tc.ASSIGNEE = #{searchassignee}
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
and tc.STATES = 2 and tc.STATES = 2
and op.suspiciousfile = 0
<if test="izApprovalStatus != null">
${izApprovalStatus.rulesOp}
( #{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE (uf.STATSHIS
, 1)
)
</if>
UNION UNION
select tc.* select tc.*, uf.COMMENTHIS, uf.TASKNAME as TASKNAMEHIS, uf.STATSHIS, uf.TASKNO, op.field6 as fromCustomerLevel, op.releaseArea as fromCity, op.is_repeat
from ocr_taskchild_picture tc, from ocr_taskchild_picture tc, OA_USERAPPROVE_T uf, ocr_picture op
OA_USERAPPROVE_T uf
where tc.ID = uf.FORMID where tc.ID = uf.FORMID
and tc.PICTUREID = op.ID
and op.suspiciousfile = 0
and tc.TENANTID = #{searchtenantid} and tc.TENANTID = #{searchtenantid}
<if test="thisLoginUserid != null"> <if test="thisLoginUserid != null">
and uf.USERID = #{thisLoginUserid} and uf.USERID = #{thisLoginUserid}
</if> </if>
<if test="izApprovalStatus != null "> <if test="izApprovalStatus != null ">
${izApprovalStatus.rulesOp} ${izApprovalStatus.rulesOp}
( ( #{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE (uf.STATSHIS
#{izApprovalStatus.value} ${izApprovalStatus.dataOp} COALESCE(uf.STATSHIS, 1) , 1)
) )
</if> </if>
) as tcp ) as tcp
@ -759,15 +758,22 @@
t2.FROMPROJECTNAME fromProjectName, t2.FROMPROJECTNAME fromProjectName,
t2.FINISHTIME finishTime, t2.FINISHTIME finishTime,
t1.imgUrl, t1.imgUrl,
ifnull(t3.STATSHIS, 1) historyStates,
t1.submit_date_timestamp submitDateTimestamp, t1.submit_date_timestamp submitDateTimestamp,
t1.photo_date_timestamp photoDateTimestamp, t1.photo_date_timestamp photoDateTimestamp,
t1.similarity_score similarityScore, t1.similarity_score similarityScore,
t1.server_thumbnail_url serverThumbnailUrl t1.server_thumbnail_url serverThumbnailUrl,
COALESCE(
(SELECT t3.STATSHIS
FROM oa_userapprove_t t3
WHERE t3.FORMID = t2.ID
AND t3.TASKINDEX = (SELECT TASKNODE
FROM ocr_taskchild_picture
WHERE PICTUREID = #{pictureId})
LIMIT 1),
1) AS historyStates
FROM ocr_picture t1 FROM ocr_picture t1
LEFT JOIN ocr_taskchild_picture t2 LEFT JOIN ocr_taskchild_picture t2
on t1.ID = t2.PICTUREID on t1.ID = t2.PICTUREID
LEFT JOIN oa_userapprove_t t3 on t2.ID = t3.FORMID and t3.TASKNAME = '${taskname}'
where t1.suspiciousfile = 0 where t1.suspiciousfile = 0
and t1.ID in and t1.ID in
<foreach collection="pictureIds" open="(" close=")" item="item" separator="," index="index"> <foreach collection="pictureIds" open="(" close=")" item="item" separator="," index="index">
@ -839,40 +845,45 @@
<select id="getPackageSimilarityList" resultType="cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo"> <select id="getPackageSimilarityList" resultType="cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo">
SELECT distinct t3.ID id, SELECT distinct t3.ID id,
t3.PICTUREID pictureId, t3.PICTUREID pictureId,
t3.STATES states, t3.STATES states,
t3.PROCESSINSTANCEID processInstanceId, t3.PROCESSINSTANCEID processInstanceId,
t3.PROCESSDEFINITIONID processDefinitionId, t3.PROCESSDEFINITIONID processDefinitionId,
t3.DEPLOYMENTID deploymentId, t3.DEPLOYMENTID deploymentId,
t3.ASSIGNEENAME assigneeName, t3.ASSIGNEENAME assigneeName,
t3.ASSIGNEE assignee, t3.ASSIGNEE assignee,
t3.FILEANNEX fileAnnex, t3.FILEANNEX fileAnnex,
t3.GUIDANG guiDang, t3.GUIDANG guiDang,
t3.CREATEUSER createUser, t3.CREATEUSER createUser,
t3.CREATEUSERNAME createUserName, t3.CREATEUSERNAME createUserName,
t3.CREATEDATE createDate, t3.CREATEDATE createDate,
t3.USERID userId, t3.USERID userId,
t3.USERNAME userName, t3.USERNAME userName,
t3.FROMTASKID fromTaskId, t3.FROMTASKID fromTaskId,
t3.FROMTASKNAME fromTaskName, t3.FROMTASKNAME fromTaskName,
t3.FROMUSERID fromUserId, t3.FROMUSERID fromUserId,
t3.FROMPROJECTID fromProjectId, t3.FROMPROJECTID fromProjectId,
t3.FROMPLANID fromPlanId, t3.FROMPLANID fromPlanId,
t3.FROMUPTIME fromupTime, t3.FROMUPTIME fromupTime,
t3.FROMSOURCEID fromSourceId, t3.FROMSOURCEID fromSourceId,
t3.HAVEPOINTS havePoints, t3.HAVEPOINTS havePoints,
t3.TASKNAME taskName, t3.TASKNAME taskName,
t3.FROMUSERNAME fromUserName, t3.FROMUSERNAME fromUserName,
t3.FROMPROJECTNAME fromProjectName, t3.FROMPROJECTNAME fromProjectName,
t3.FINISHTIME finishTime, t3.FINISHTIME finishTime,
t3.TASKID taskId, t3.TASKID taskId,
t2.imgUrl, t2.imgUrl,
t2.submit_date_timestamp submitDateTimestamp, t2.submit_date_timestamp submitDateTimestamp,
t2.photo_date_timestamp photoDateTimestamp, t2.photo_date_timestamp photoDateTimestamp,
t2.server_thumbnail_url serverThumbnailUrl, t2.server_thumbnail_url serverThumbnailUrl,
t1.max_similarity maxSimilarity, t1.max_similarity maxSimilarity,
ifnull(t4.STATSHIS, 1) historyStates, COALESCE(
t1.check_duplicate_id (SELECT t4.STATSHIS
FROM oa_userapprove_t t4
WHERE t4.FORMID = t3.ID
ORDER BY t4.CREATEDATE DESC
LIMIT 1), 1) AS historyStates,
t1.check_duplicate_id
FROM ocr_check_duplicate_result t1 FROM ocr_check_duplicate_result t1
LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID LEFT JOIN ocr_picture t2 ON t1.picture_id = t2.ID
LEFT JOIN ocr_taskchild_picture t3 ON t2.ID = t3.PICTUREID LEFT JOIN ocr_taskchild_picture t3 ON t2.ID = t3.PICTUREID
@ -934,4 +945,91 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="listFinalTask" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture"
parameterType="java.util.Map">
select tcp.*, pic.field11 reporttime, pic.similarity_score similarityscore,pic.server_thumbnail_url serverThumbnailUrl
from ocr_taskchild_picture tcp
left join ocr_picture pic
on tcp.PICTUREID = pic.ID
<include refid="Base_Where_union">
</include>
and tcp.ISFINAIL = 1
and pic.suspiciousfile = 0
<if test="thisLoginUserid != null and isFail ==null">
and tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
</if>
<if test="thisLoginUserid != null and isFail !=null">
and (tcp.ASSIGNEE ${thisLoginUserid.dataOp} ${thisLoginUserid.likestar}#{thisLoginUserid.value}${thisLoginUserid.likeend}
or tcp.STATES = 5)
</if>
<if test="fromuptimeStart != null">
and tcp.fromuptime &gt;= ${fromuptimeStart.value}
</if>
<if test="fromuptimeEnd != null">
and tcp.fromuptime &lt;= ${fromuptimeEnd.value}
</if>
<if test="page != null">
<if test="page.sortname != null">
<if test="page.sortname == 'states'">
order by tcp.${page.sortname} ${page.sortorder}
</if>
<if test="page.sortname != 'states'">
order by pic.${page.sortname} ${page.sortorder}
</if>
</if>
limit ${page.start}, ${page.Pagesize}
</if>
</select>
<select id="getSimilarityList" resultType="cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo">
SELECT distinct t3.ID id,
t3.PICTUREID pictureId,
t3.STATES states,
t3.PROCESSINSTANCEID processInstanceId,
t3.PROCESSDEFINITIONID processDefinitionId,
t3.DEPLOYMENTID deploymentId,
t3.ASSIGNEENAME assigneeName,
t3.ASSIGNEE assignee,
t3.FILEANNEX fileAnnex,
t3.GUIDANG guiDang,
t3.CREATEUSER createUser,
t3.CREATEUSERNAME createUserName,
t3.CREATEDATE createDate,
t3.USERID userId,
t3.USERNAME userName,
t3.FROMTASKID fromTaskId,
t3.FROMTASKNAME fromTaskName,
t3.FROMUSERID fromUserId,
t3.FROMPROJECTID fromProjectId,
t3.FROMPLANID fromPlanId,
t3.FROMUPTIME fromupTime,
t3.FROMSOURCEID fromSourceId,
t3.HAVEPOINTS havePoints,
t3.TASKNAME taskName,
t3.FROMUSERNAME fromUserName,
t3.FROMPROJECTNAME fromProjectName,
t3.FINISHTIME finishTime,
t3.TASKID taskId,
t2.imgUrl,
t2.submit_date_timestamp submitDateTimestamp,
t2.photo_date_timestamp photoDateTimestamp,
t2.server_thumbnail_url serverThumbnailUrl,
t2.similarity_score maxSimilarity,
COALESCE(
(SELECT t4.STATSHIS
FROM oa_userapprove_t t4
WHERE t4.FORMID = t3.ID
ORDER BY t4.CREATEDATE DESC
LIMIT 1), 1) AS historyStates
from ocr_picture t2
LEFT JOIN ocr_taskchild_picture t3 ON t2.ID = t3.PICTUREID
left join ocr_picture_info t5 on t2.ID = t5.picture_id
WHERE t2.suspiciousfile = 0
and t2.ID in
<foreach collection="pictureIds" open="(" close=")" item="item" separator="," index="index">
#{item}
</foreach>
</select>
</mapper> </mapper>

@ -160,15 +160,15 @@ mybatis-plus:
xiaoyao: xiaoyao:
web: web:
#上传文件路径 #上传文件路径
uploadPath: E:/ZJWorkSpace/ocr/htmlweb/upload uploadPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/upload
#页面根路径 #页面根路径
frontPath: E:/ZJWorkSpace/ocr/htmlweb frontPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb
#js、css、图片存放路径 #js、css、图片存放路径
staticPath: E:/ZJWorkSpace/ocr/htmlweb/static staticPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/static
#页面模版路径 #页面模版路径
webPath: E:/ZJWorkSpace/ocr/htmlweb/web webPath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/web
#Lucene索引路径 #Lucene索引路径
lucenePath: E:/ZJWorkSpace/ocr/htmlweb/lucene/indexDir lucenePath: D:/Java/idea/IdeaWorkSpace/ocr/htmlweb/lucene/indexDir
#是否开启flowable #是否开启flowable
haveFlowable: true haveFlowable: true
webconfig: webconfig:
@ -272,17 +272,7 @@ springfox:
enabled: true enabled: true
# 是否启用swagger,postman调试 # 是否启用swagger,postman调试
debugger_tools: true debugger_tools: true
#无量云api配置信息 #图片查重模型
ocr:
api:
wly:
interface-domain: https://b-test.prevailcloud.com #接口域名
accessKey: 7390F0221A1A73D8E13F8C8BB96F33B0 #秘钥
accessCode: ED6F7B39768AF95E87AEA8ACCCC71A6F #秘钥编码
connectTimeout: 5000 #请求超时时间 毫秒
readTimeout: 60000 #接收超时时间 毫秒
localImagePath: /server/data/images #图片本地存储地址
data-url: https://b-test.prevailcloud.com/pangu/jingwei/thirdclient/command/pb/approval/result
image: image:
similarityPath: http://47.93.59.251/ai/api/similarity/ similarityPath: http://47.93.59.251/ai/api/similarity/
classifyPath: http://47.93.59.251/api/classify/ classifyPath: http://47.93.59.251/api/classify/

@ -275,18 +275,7 @@ springfox:
enabled: true enabled: true
# 是否启用swagger,postman调试 # 是否启用swagger,postman调试
debugger_tools: true debugger_tools: true
#图片查重模型
#无量云api配置信息
ocr:
api:
wly:
interface-domain: https://b-test.prevailcloud.com #接口域名
accessKey: 7390F0221A1A73D8E13F8C8BB96F33B0 #秘钥
accessCode: ED6F7B39768AF95E87AEA8ACCCC71A6F #秘钥编码
connectTimeout: 5000 #请求超时时间 毫秒
readTimeout: 60000 #接收超时时间 毫秒
localImagePath: /server/data/images #图片本地存储地址
data-url: https://b-test.prevailcloud.com/pangu/jingwei/thirdclient/command/pb/approval/result
image: image:
similarityPath: http://127.0.0.1:8000/api/similarity/ similarityPath: http://127.0.0.1:8000/api/similarity/
classifyPath: http://127.0.0.1:8000/api/classify/ classifyPath: http://127.0.0.1:8000/api/classify/

@ -1,3 +1,3 @@
spring: spring:
profiles: profiles:
active: pro active: dev

Loading…
Cancel
Save