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 8024d0e5..f0891f3a 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 @@ -70,6 +70,15 @@ public interface IFlowTaskService { * @param pageUtils */ public void getMyProcessInstances(User user,String tenantId, Map query,PageUtils pageUtils); + + /** + * 查询我的待办、已经办理任务 + * + * @param user + * @param tenantId + * @param pageUtils + */ + public void 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 dbe7c308..81fb538c 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 @@ -1476,6 +1476,101 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask pageUtils.setList(listNew); } + + /** + * 查询我的待办、已经办理任务 + * + * @param user + * @param tenantId + * @param pageUtils + */ + public void getMyProcessInstancesNew(User user, String tenantId, Map searchQuery, PageUtils pageUtils) { + ParamterPage paramterPage = new ParamterPage(); + paramterPage.setStart((pageUtils.getCurrPage() - 1) * pageUtils.getPageSize()); + paramterPage.setPagesize(pageUtils.getPageSize()); + + if (StringUtils.isNotBlank(pageUtils.getSortname())) { + paramterPage.setSortname(pageUtils.getSortname()); + } else { + paramterPage.setSortname("CREATEDATE"); + } + + if (StringUtils.isNotBlank(pageUtils.getSortorder())) { + paramterPage.setSortorder(pageUtils.getSortorder()); + } else { + paramterPage.setSortorder("DESC"); + } + Map query = new HashMap<>(); + query.put("page", paramterPage); + + query.put("thisLoginUserid", user.getId().toString()); + query.put("searchtenantid", tenantId); + //我的待办数据 + query.put("searchassignee", user.getLoginname()); + query.putAll(searchQuery); + + Long count = ocrTaskchildPictureService.listmytaskCount(query); + + 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); + } + + /** * 查询我发起的流程实例 * 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 aa3720d8..5ba2c24c 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 @@ -1,7 +1,13 @@ package cn.jyjz.xiaoyao.ocr.controller; +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.controller.BaseController; 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.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.UserToken; @@ -11,8 +17,10 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -25,7 +33,7 @@ import java.util.Map; @CrossOrigin @RestController @RequestMapping("/ocr/aitools") -public class OcrAiApprovalTools { +public class OcrAiApprovalTools extends BaseController { @Autowired @@ -34,6 +42,12 @@ public class OcrAiApprovalTools { @Autowired IOcrSearchHistoryService iocrsearchhistoryservice; + @Resource + private UserService userService; + + @Resource + IFlowTaskService flowTaskService; + /** * 统计 * @@ -52,19 +66,54 @@ public class OcrAiApprovalTools { UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); - ResultVo toolscount = iocrsearchhistoryservice.toolscount(tenantId,userToken.getUserid()); - return toolscount; + 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; } /* ai审批工单 */ @RequestMapping(value = "/aiApprovaltools", method = RequestMethod.GET) - public ResultVo aiApprovaltools(HttpServletRequest request,@RequestParam(value = "taskid", required = true) String taskid, - @RequestParam(value = "nodeType", required = true) Integer nodeType) { + public ResultVo aiApprovaltools(HttpServletRequest request,@RequestParam(value = "taskid", required = true) String taskid) { UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); - Map selectaisp = iocrsearchhistoryservice.selectaisp(userToken.getUserid(), taskid,nodeType); + Map selectaisp = iocrsearchhistoryservice.selectaisp(userToken.getUserid(), taskid,userToken.getNodeType()); return ResultVoUtil.success(selectaisp); } 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 c287e517..fa9a1108 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 @@ -145,11 +145,11 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl failedPictureIds = ocrPictureService.getPictureNodeStatesList(pictureIds, nodeType); for (OcrPicture picture : failedPictureIds) { if (picture.getHistoryStates() == 3) { - failedList.add(picture.getPictureid()); + failedList.add(picture.getRemark()); } else if (picture.getHistoryStates() == 1) { - pendingApprovalList.add(picture.getPictureid()); + pendingApprovalList.add(picture.getRemark()); } else if (picture.getHistoryStates() == 2) { - approvedList.add(picture.getPictureid()); + approvedList.add(picture.getRemark()); } } @@ -158,7 +158,7 @@ public class OcrSearchHistoryServiceImpl extends ServiceImpl