From 5244be57f75e07320576c815d8d02a30b9300843 Mon Sep 17 00:00:00 2001 From: DELL Date: Mon, 1 Apr 2024 12:43:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=B0=83=E6=95=B4ai=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=EF=BC=8C=E5=A4=8D=E7=94=A8/flow/task/listall?= =?UTF-8?q?data=E6=8E=A5=E5=8F=A3=E7=9A=84=E6=9F=A5=E8=AF=A2=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flowable/service/IFlowTaskService.java | 3 +- .../service/impl/FlowTaskServiceImpl.java | 59 +------- .../ocr/controller/OcrAiApprovalTools.java | 48 +----- .../ocr/service/IOcrSearchHistoryService.java | 3 +- .../impl/OcrSearchHistoryServiceImpl.java | 137 ++++++++++++------ 5 files changed, 104 insertions(+), 146 deletions(-) diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java index f0891f3a..3a485c3f 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/IFlowTaskService.java @@ -14,6 +14,7 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo; import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPicture; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; import com.baomidou.mybatisplus.core.metadata.IPage; import org.flowable.engine.repository.ProcessDefinition; import org.flowable.task.api.Task; @@ -78,7 +79,7 @@ public interface IFlowTaskService { * @param tenantId * @param pageUtils */ - public void getMyProcessInstancesNew(User user,String tenantId, Map query,PageUtils pageUtils); + public List getMyProcessInstancesNew(User user, String tenantId, Map query, PageUtils pageUtils); /** * 查询最终审批数据 diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java index 81fb538c..15f4dd1d 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java @@ -1318,7 +1318,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask query.put("page", paramterPage); List list = ocrTaskchildPictureService.listmytask(query); - for (OcrTaskchildPictureAppro taskchildPicture : list) { if (taskchildPicture.getPictureid() != null && !taskchildPicture.getPictureid().isEmpty()) { @@ -1484,7 +1483,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask * @param tenantId * @param pageUtils */ - public void getMyProcessInstancesNew(User user, String tenantId, Map searchQuery, PageUtils pageUtils) { + public List getMyProcessInstancesNew(User user, String tenantId, Map searchQuery, PageUtils pageUtils) { ParamterPage paramterPage = new ParamterPage(); paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); paramterPage.setPagesize(pageUtils.getPageSize()); @@ -1513,61 +1512,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask query.put("page", paramterPage); List list = ocrTaskchildPictureService.listmytask(query); - //补充历史状态名称,检查补充节点信息 - for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : list) { - //审批节点 当前如果没有历史操作,则将当前节点赋值到历史审批节点中. - if (StringUtils.isBlank(ocrTaskchildPictureAppro.getTasknamehis())) { - ocrTaskchildPictureAppro.setTasknamehis(ocrTaskchildPictureAppro.getTaskname()); - } - - if (ocrTaskchildPictureAppro.getStatshis() != null) { - String stateText; - switch (ocrTaskchildPictureAppro.getStatshis()) { - case 1: - stateText = "待审批"; - break; - case 2: - stateText = "通过"; - break; - case 3: - stateText = "不通过"; - break; - default: - stateText = "未知状态"; - break; - } - // 将中文状态赋值给 flowUnionVo 的状态属性 - ocrTaskchildPictureAppro.setStatshisText(stateText); - - } else { - //暂定,后期修改 - ocrTaskchildPictureAppro.setStatshisText("待审批"); - } - } - - List listNew = new ArrayList<>(); - for (OcrTaskchildPictureAppro one : list) { - OcrTaskchildPictureApproVo ocrTaskchildPictureApproVo = new OcrTaskchildPictureApproVo(); - ocrTaskchildPictureApproVo.setId(one.getId()); //任务id - ocrTaskchildPictureApproVo.setFromtaskname(one.getFromtaskname()); //任务名称 - ocrTaskchildPictureApproVo.setStatshisText(one.getStatshisText()); //历史-审批状态中文 - ocrTaskchildPictureApproVo.setTasknamehis(one.getTasknamehis());//历史-审批节点名称 - ocrTaskchildPictureApproVo.setFinishTime(one.getFinishTime()); //完成时间 - ocrTaskchildPictureApproVo.setReleaseProvince(one.getPicture().getReleaseprovince()); //省份 - ocrTaskchildPictureApproVo.setFromprojectid(one.getFromprojectid()); //项目id - ocrTaskchildPictureApproVo.setProductName(one.getPicture().getField9()); //产品 - ocrTaskchildPictureApproVo.setCategory(one.getCategory()); //类型 - ocrTaskchildPictureApproVo.setFromsourceid(one.getFromsourceid()); //原始任务id - ocrTaskchildPictureApproVo.setCustomerType(one.getPicture().getField2()); //客户类型 - ocrTaskchildPictureApproVo.setCustomerName(one.getPicture().getField3()); //客户名称 - ocrTaskchildPictureApproVo.setItemCategory(one.getPicture().getField17());//项目类别 - ocrTaskchildPictureApproVo.setFromUserName(one.getFromUserName()); //提报人 - ocrTaskchildPictureApproVo.setManufacturer(one.getPicture().getField5()); //manufacturer - ocrTaskchildPictureApproVo.setPackageid(one.getPackageid()); //任务包id - listNew.add(ocrTaskchildPictureApproVo); - } - - pageUtils.setList(listNew); + return list; } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java index 5ba2c24c..323d9e29 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java @@ -11,6 +11,7 @@ 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.common.base.vo.UserToken; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService; import cn.jyjz.xiaoyao.framework.security.sms.MsmService; import org.apache.commons.lang3.StringUtils; @@ -33,7 +34,7 @@ import java.util.Map; @CrossOrigin @RestController @RequestMapping("/ocr/aitools") -public class OcrAiApprovalTools extends BaseController { +public class OcrAiApprovalTools { @Autowired @@ -42,11 +43,6 @@ public class OcrAiApprovalTools extends BaseController { @Autowired IOcrSearchHistoryService iocrsearchhistoryservice; - @Resource - private UserService userService; - - @Resource - IFlowTaskService flowTaskService; /** * 统计 @@ -65,45 +61,9 @@ public class OcrAiApprovalTools extends BaseController { UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); + ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid(),request); - SearchQuery searchQuery = this.getParametersStartingWithToSearchJson(request, "search_"); - String taskName = request.getParameter("keyword"); - if (org.apache.commons.lang3.StringUtils.isNotBlank(taskName)) { - searchQuery.addLike("fromtaskname", taskName); - } - User user = this.userService.getSessionUser(request); - PageUtils pageUtils = new PageUtils(); - pageUtils.setPageSize(9999); - pageUtils.setCurrPage(1); - flowTaskService.getMyProcessInstances(user, tenantId, searchQuery.getQuery(), pageUtils); - ResultVo> resultVo = new ResultVo<>(); - List> instances = (List>) pageUtils.getList(); - int pendingApprovalCount = 0; // 待审批的数量 - int approvedCount = 0; // 通过的数量 - int otherCount = 0; // 其他情况的数量 - - for (Map instance : instances) { - String statshisText = (String) instance.get("statshisText"); - if ("待审批".equals(statshisText)) { - pendingApprovalCount++; - } else if ("通过".equals(statshisText)) { - approvedCount++; - } else if("不通过".equals(statshisText)){ - otherCount++; - } - } - - Map counts = new HashMap<>(); - counts.put("total", approvedCount+pendingApprovalCount+otherCount); - counts.put("treat", approvedCount); - counts.put("approvedCount", pendingApprovalCount); - - - resultVo.setData(counts); - -// ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid()); - - return resultVo; + return toolscount; } /* diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java index 82e991e3..43254b9a 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/IOcrSearchHistoryService.java @@ -5,6 +5,7 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory; import com.baomidou.mybatisplus.extension.service.IService; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -19,7 +20,7 @@ import java.util.Map; public interface IOcrSearchHistoryService extends IService { Map>> selectsearch(String search, String assignee, String userId, String tenantId); - ResultVo toolscount(String tenantid,String userId); + ResultVo toolscount(String tenantid, String userId, HttpServletRequest request); Map selectaisp(String userid,String id,Integer nodeType); diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java index fa9a1108..22a2487e 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrSearchHistoryServiceImpl.java @@ -1,8 +1,13 @@ package cn.jyjz.xiaoyao.ocr.service.impl; +import cn.jyjz.flowable.service.IFlowTaskService; +import cn.jyjz.flowable.utils.PageUtils; import cn.jyjz.xiaoyao.admin.dataobject.User; +import cn.jyjz.xiaoyao.admin.service.UserService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.util.RequestBaseUtil; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQuery; +import cn.jyjz.xiaoyao.common.base.util.requestFormat.SearchQueryUtil; import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.UserToken; @@ -10,8 +15,11 @@ import cn.jyjz.xiaoyao.common.redis.cache.ICacheManager; import cn.jyjz.xiaoyao.common.redis.cache.constants.CacheConstants; import cn.jyjz.xiaoyao.ocr.dataobject.OcrPicture; import cn.jyjz.xiaoyao.ocr.dataobject.OcrSearchHistory; +import cn.jyjz.xiaoyao.ocr.dataobject.OcrTaskchildPictureAppro; import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService; import cn.jyjz.xiaoyao.ocr.service.OcrPictureService; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; @@ -20,6 +28,8 @@ import org.springframework.stereotype.Service; import cn.jyjz.xiaoyao.ocr.dataDao.OcrSearchHistoryMapper; import javax.annotation.Resource; +import javax.servlet.ServletRequest; +import javax.servlet.http.HttpServletRequest; import java.util.*; import java.util.stream.Collectors; @@ -43,6 +53,13 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl>> selectsearch(String search, String assignee, String userId, String tenantId) { @@ -65,50 +82,67 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl> resultVo = null; - //系统中记录的ai统计租户id - String counttenantid = iCacheManager.get(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId); + try { + //系统中记录的ai统计租户id + String counttenantid = iCacheManager.get(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId); // if(!StringUtils.isBlank(counttenantid)){ // return ResultVoUtil.error("true"); // } - //用户登录信息写入缓存 - iCacheManager.put(CacheConstants.TOOLSCOUNT_TENANTID_MODEL_NAME,tenantid+"_"+userId,"true",CacheConstants.TOOLSCOUNT_TENANTID_CACHE_TIME); + //用户登录信息写入缓存 + 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); + } + User user = this.userService.getSessionUser(request); + PageUtils pageUtils = new PageUtils(); + pageUtils.setPageSize(9999); + pageUtils.setCurrPage(1); + List ocrTaskchildPictureApproList = flowTaskService.getMyProcessInstancesNew(user, tenantid, searchQuery.getQuery(), pageUtils); + resultVo = new ResultVo<>(); + int pendingApprovalCount = 0; // 待审批的数量 + int approvedCount = 0; // 通过的数量 + int notGoCount = 0; // 不通过的数量 + for (OcrTaskchildPictureAppro ocrTaskchildPictureAppro : ocrTaskchildPictureApproList) { + if (ocrTaskchildPictureAppro.getStatshis() != null) { + switch (ocrTaskchildPictureAppro.getStatshis()) { + case 1: + pendingApprovalCount++; + break; + case 2: + approvedCount++; + break; + case 3: + notGoCount++; + break; + default: + break; + } + } else { + //暂定,后期修改 + pendingApprovalCount++; + } + } - Map toolscount = ocrsearchhistorymapper.toolscount(userId); - return ResultVoUtil.success(toolscount); + Map counts = new HashMap<>(); + counts.put("total", approvedCount + pendingApprovalCount + notGoCount); + counts.put("treat", pendingApprovalCount); + counts.put("approvedCount", approvedCount); + resultVo.setCode("OK"); + resultVo.setMessage("成功"); + resultVo.setData(counts); + } catch (Exception e) { + e.printStackTrace(); + } + return resultVo; } -// @Override -// public Map selectaisp(String userid,String id) { -// Map selectaisp = ocrsearchhistorymapper.selectaisp(id); -// if(null==selectaisp){ -// return null; -// } -// String selectaiuser = ocrsearchhistorymapper.selectaiuser(userid); -// -// String[] cps = selectaisp.get("pictureresult").toString().split(","); -// -// List saveList = new ArrayList<>(); -// int i=0; -// for (String childpictureid : cps) { -// if (childpictureid.equals("100")){ -// i++; -// } -// } -// -// Map map=new HashMap<>(); -// map.put("taskid",id); -// map.put("tenantusername",selectaiuser); -// map.put("packagename",selectaisp.get("packagename")); -// map.put("tasks","基线任务"); -//// map.put("similarcount",selectaisp.get("similarcount")); -// map.put("createtime",selectaisp.get("createtime")); -// map.put("similarComplete",i); -// -// return map; -// } @Override public Map selectaisp(String userid, String id,Integer nodeType) { @@ -185,14 +219,31 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl collect = Arrays.stream(cps) -// .map(Long::parseLong) -// .map(childpictureid -> this.ocrPictureService.selectDtoById(childpictureid)) -// .filter(ocrPicture->ocrPicture.getSimilarityscore() >= 90) -// -// .collect(Collectors.toList()); + return this.ocrPictureService.updateBatchById(saveList) ? ResultVoUtil.success() : ResultVoUtil.error(); + } + /** + *取得带相同前缀的Request Parameters, copy from spring WebUtils. + * @param request 请求对象 + * @param prefix 分割符 + * @return 返回的结果的Parameter名已去除前缀.并且拼装成ligerui形式使用的搜索条件 + */ + public SearchQuery getParametersStartingWithToSearchJson(ServletRequest request, String prefix) { + Map params = SearchQueryUtil.getParametersStartingWith(request,prefix); + + SearchQuery searchQuery = new SearchQuery(); + if(null != params && params.size() > 0){ + for (Map.Entry entry : params.entrySet()) { + + JSONObject obj = JSON.parseObject(entry.getValue().toString()); + String value = obj.getString("value"); + if(StringUtils.isNotBlank(value) && !"null".equals(value) && !"undefined".equals(value)){ + obj.put("field",entry.getKey()); + searchQuery.addJsonQuery(obj); + } + } + } - return this.ocrPictureService.updateBatchById(saveList) ? ResultVoUtil.success() : ResultVoUtil.error(); + return searchQuery; } } -- 2.39.3