diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaOnFileService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaOnFileService.java index fb40964f..c63ad0ba 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaOnFileService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaOnFileService.java @@ -222,6 +222,14 @@ public interface IOaOnFileService { */ List listFinishedUnOnFile(); + /** + * 已完成未归档列表 + * + * @param modelCategories 模型目录 + * @return + */ + List listFinishedUnOnFileByModelCategories(List modelCategories); + /** * 分页列表 * @@ -293,5 +301,14 @@ public interface IOaOnFileService { */ SuccessResultList> listPageFinishedUnOnFile(ListPage page); + /** + * 已完成未归档分页列表 + * + * @param modelCategories 模型目录 + * @param page + * @return + */ + SuccessResultList> listPageFinishedUnOnFileByModelCategories(List modelCategories, ListPage page); + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaOnFileServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaOnFileServiceImpl.java index 0be04455..488395b7 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaOnFileServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaOnFileServiceImpl.java @@ -244,6 +244,18 @@ public class OaOnFileServiceImpl extends DefaultBaseService implements IOaOnFile return listFinishedUnOnFile(new HashSet<>(processInstanceIds)); } + @Override + public List listFinishedUnOnFileByModelCategories(List modelCategories) { + if (modelCategories == null || modelCategories.isEmpty()) { + return new ArrayList<>(); + } + Map params = getHashMap(2); + params.put(KEY_FINISHED, ISystemConstant.IS_TRUE); + params.put("modelCategories", modelCategories); + List processInstanceIds = oaOnFileDao.listUnOnFileProcessInstanceId(params); + return listFinishedUnOnFile(new HashSet<>(processInstanceIds)); + } + @Override public SuccessResultList> listPage(ListPage page) { PageHelper.startPage(page.getPage(), page.getRows()); @@ -310,6 +322,21 @@ public class OaOnFileServiceImpl extends DefaultBaseService implements IOaOnFile return new SuccessResultList<>(oaOnFileDTOs, pageInfo.getPageNum(), pageInfo.getTotal()); } + @Override + public SuccessResultList> listPageFinishedUnOnFileByModelCategories(List modelCategories, ListPage page) { + if (modelCategories == null || modelCategories.isEmpty()) { + return new SuccessResultList<>(new ArrayList<>(), 1, 0L); + } + Map params = getHashMap(2); + params.put(KEY_FINISHED, ISystemConstant.IS_TRUE); + params.put("modelCategories", modelCategories); + PageHelper.startPage(page.getPage(), page.getRows()); + List processInstanceIds = oaOnFileDao.listUnOnFileProcessInstanceId(params); + PageInfo pageInfo = new PageInfo<>(processInstanceIds); + List oaOnFileDTOs = listFinishedUnOnFile(new HashSet<>(processInstanceIds)); + return new SuccessResultList<>(oaOnFileDTOs, pageInfo.getPageNum(), pageInfo.getTotal()); + } + /** * 设置流程参数 * diff --git a/module-activiti/src/main/resources/mybatis/mapper/oa/oa-on-file-mapper.xml b/module-activiti/src/main/resources/mybatis/mapper/oa/oa-on-file-mapper.xml index 95e2a82c..9e8b00f1 100644 --- a/module-activiti/src/main/resources/mybatis/mapper/oa/oa-on-file-mapper.xml +++ b/module-activiti/src/main/resources/mybatis/mapper/oa/oa-on-file-mapper.xml @@ -297,6 +297,24 @@ t1.END_TIME_ != '' ) + + AND + t1.PROC_DEF_ID_ IN ( + SELECT + st1.ID_ + FROM + act_re_procdef st1 + INNER JOIN + act_re_model st2 + ON + st1.DEPLOYMENT_ID_ = st2.DEPLOYMENT_ID_ + WHERE + st2.CATEGOTY_ IN + + #{modelCategories[${index}]} + + ) +