Merge pull request 'fix:优化任务审批统计接口做审批节点隔离;ai统计弹窗实现和任务审批统计接口相同功能' (#126) from fix/Task_statistics into test

Reviewed-on: #126
pull/127/head
cuihaojie 1 year ago
commit e76089c261

@ -61,7 +61,7 @@ public class OcrAiApprovalTools {
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid(),request);
ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken,request);
return toolscount;
}

@ -50,12 +50,12 @@ public interface OcrTaskchildPictureMybatisDao extends BaseMapper<OcrTaskchildPi
/**
*
*/
public List<OcrTaskchildPictureAppro> queryPendingApproval(@Param("loginName") String loginName, @Param("tenantId") String tenantId);
public List<OcrTaskchildPictureAppro> queryPendingApproval(@Param("loginName") String loginName, @Param("tenantId") String tenantId, @Param("taskNode") String taskNode);
/**
*
*/
public List<OcrTaskchildPictureAppro> queryExamineApprove(@Param("tenantId") String tenantId, @Param("id") Long id);
public List<OcrTaskchildPictureAppro> queryExamineApprove(@Param("tenantId") String tenantId, @Param("formIdList") List<Long> formIdList);
/**
*
* @param query

@ -21,7 +21,7 @@ import java.util.Map;
public interface IOcrSearchHistoryService extends IService<OcrSearchHistory> {
Map<Object, List<Map<String,String>>> selectsearch(String search, String assignee, String userId, String tenantId);
ResultVo toolscount(String tenantid, String userId, HttpServletRequest request);
ResultVo toolscount(String tenantid, UserToken userToken, HttpServletRequest request);
ResultVo toolsTaskApprovalCount(String tenantid, UserToken userToken, HttpServletRequest request);

@ -113,8 +113,9 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
}
@Override
public ResultVo toolscount(String tenantid, String userId, HttpServletRequest request) {
public ResultVo toolscount(String tenantid, UserToken userToken, HttpServletRequest request) {
ResultVo<Map<String, Integer>> resultVo = null;
String userId = userToken.getUserid();
try {
//系统中记录的ai统计租户id
@ -126,16 +127,42 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
//用户登录信息写入缓存
iCacheManager.put(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId,"true",CacheConstants.TOOLSCOUNT_TENANTID_CACHE_TIME);
SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_");
String taskName = request.getParameter("keyword");
if (StringUtils.isNotBlank(taskName)) {
searchQuery.addLike("fromtaskname", taskName);
List<OaUserApproveVo> oaUserApproveVoList = taskchildPictureMybatisDao.queryApprovalNode(userId);
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproList = new ArrayList<>();
//定义第一审批节点
String taskNodeOne = "";
if (oaUserApproveVoList.size() > 0) {
Map<Long, OaUserApproveVo> formIdToVoMap = new HashMap<>();
for (OaUserApproveVo vo : oaUserApproveVoList) {
Long formId = vo.getFormId();
Integer taskNode = vo.getTaskNode();
if (!formIdToVoMap.containsKey(formId) || taskNode < formIdToVoMap.get(formId).getTaskNode()) {
formIdToVoMap.put(formId, vo);
}
}
//获取该用户第一节点
Iterator<Map.Entry<Long, OaUserApproveVo>> iterator = formIdToVoMap.entrySet().iterator();
Map.Entry<Long, OaUserApproveVo> firstEntry = iterator.next();
taskNodeOne = Integer.toString(firstEntry.getValue().getTaskNode());
//获取已经审批的任务ID
List<Long> formIdList = new ArrayList<>(formIdToVoMap.keySet());
//查询该用户第一节点所有待审任务列表
ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne);
//查询第一节点已经审批的任务列表数据
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproListNew = taskchildPictureMybatisDao.queryExamineApprove(tenantid,formIdList);
if(ocrTaskchildPictureApproListNew.size()>0){
for(OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproListNew){
OaUserApproveVo oaUserApproveVo = formIdToVoMap.get(Long.parseLong(ocrTaskchildPictureAppro.getId()));
ocrTaskchildPictureAppro.setStatshis(oaUserApproveVo.getStatsHis());
ocrTaskchildPictureApproList.add(ocrTaskchildPictureAppro);
}
}
}else {
ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne);
for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) {
ocrTaskchildPictureAppro.setStatshis(1);
}
}
User user = this.userService.getSessionUser(request);
PageUtils pageUtils = new PageUtils();
pageUtils.setPageSize(9999999);
pageUtils.setCurrPage(1);
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproList = flowTaskService.getMyProcessInstancesNew(user, tenantid, searchQuery.getQuery(), pageUtils);
resultVo = new ResultVo<>();
int pendingApprovalCount = 0; // 待审批的数量
int approvedCount = 0; // 通过的数量
@ -196,7 +223,8 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
List<OaUserApproveVo> oaUserApproveVoList = taskchildPictureMybatisDao.queryApprovalNode(userId);
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproList = new ArrayList<>();
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproListNew1 = new ArrayList<>();
//定义第一审批节点
String taskNodeOne = "";
if (oaUserApproveVoList.size() > 0) {
Map<Long, OaUserApproveVo> formIdToVoMap = new HashMap<>();
for (OaUserApproveVo vo : oaUserApproveVoList) {
@ -206,35 +234,29 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl<OcrSearchHistoryMap
formIdToVoMap.put(formId, vo);
}
}
ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid);
for (Long formId : formIdToVoMap.keySet()) {
// 判断 formId 是否在 ocrTaskchildPictureApproList 中存在
boolean containsFormId = false;
for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) {
if (Long.parseLong(ocrTaskchildPictureAppro.getId()) == formId) {
containsFormId = true;
ocrTaskchildPictureApproListNew1.add(ocrTaskchildPictureAppro);
// 如果 formId 在 formIdToVoMap 中存在,则将 formId 对应的 STATSHIS 赋值给 ocrTaskchildPictureAppro 的 STATSHIS 字段
ocrTaskchildPictureAppro.setStatshis(formIdToVoMap.get(formId).getStatsHis());
break;
}
}
if(!containsFormId){
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproListNew = taskchildPictureMybatisDao.queryExamineApprove(tenantid,formId);
if(ocrTaskchildPictureApproListNew.size()>0){
OcrTaskchildPictureAppro ocrTaskchildPictureAppro = ocrTaskchildPictureApproListNew.get(0);
ocrTaskchildPictureAppro.setStatshis(formIdToVoMap.get(formId).getStatsHis());
ocrTaskchildPictureApproList.add(ocrTaskchildPictureAppro);
}
//获取该用户第一节点
Iterator<Map.Entry<Long, OaUserApproveVo>> iterator = formIdToVoMap.entrySet().iterator();
Map.Entry<Long, OaUserApproveVo> firstEntry = iterator.next();
taskNodeOne = Integer.toString(firstEntry.getValue().getTaskNode());
//获取已经审批的任务ID
List<Long> formIdList = new ArrayList<>(formIdToVoMap.keySet());
//查询该用户第一节点所有待审任务列表
ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne);
//查询第一节点已经审批的任务列表数据
List<OcrTaskchildPictureAppro> ocrTaskchildPictureApproListNew = taskchildPictureMybatisDao.queryExamineApprove(tenantid,formIdList);
if(ocrTaskchildPictureApproListNew.size()>0){
for(OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproListNew){
OaUserApproveVo oaUserApproveVo = formIdToVoMap.get(Long.parseLong(ocrTaskchildPictureAppro.getId()));
ocrTaskchildPictureAppro.setStatshis(oaUserApproveVo.getStatsHis());
ocrTaskchildPictureApproList.add(ocrTaskchildPictureAppro);
}
}
}else {
ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid);
ocrTaskchildPictureApproList = taskchildPictureMybatisDao.queryPendingApproval(userToken.getLoginname(),tenantid,taskNodeOne);
for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) {
ocrTaskchildPictureAppro.setStatshis(1);
}
}
System.out.println("ocrTaskchildPictureApproListNew"+ocrTaskchildPictureApproListNew1.size());
resultVo = new ResultVo<>();
int pendingApprovalCount = 0; // 待审批的数量
int approvedCount = 0; // 通过的数量

@ -738,7 +738,10 @@
left join ocr_picture op on tc.PICTUREID = op.ID
where tc.TENANTID = #{tenantId}
and op.suspiciousfile = 0
and tc.ID = #{id}
and tc.ID IN
<foreach item="formId" collection="formIdList" open="(" separator="," close=")">
#{formId}
</foreach>
</select>
<select id="queryPendingApproval" resultType="cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro">
select tc.*,
@ -749,6 +752,9 @@
where FIND_IN_SET(#{loginName}, tc.ASSIGNEE)
and tc.TENANTID = #{tenantId}
and tc.STATES = 2
<if test="taskNode != null and taskNode != ''">
and tc.TASKNODE = #{taskNode}
</if>
and op.suspiciousfile = 0
</select>
<select id="selectocpicture" resultType="String">

Loading…
Cancel
Save