From f458400c5a183a1d0fef1b196e0ec5f52223e4a6 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Fri, 8 Jul 2022 11:24:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=88=97=E8=A1=A8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9C=80=E6=96=B0=E5=86=85=E5=AE=B9=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=8E=86=E5=8F=B2=E8=A1=A8=E5=8D=95=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/api/design/FormController.java | 34 ++ .../route/design/FormRouteController.java | 7 + .../module/form/dao/design/IFormDao.java | 2 +- .../form/service/design/IFormService.java | 34 +- .../service/design/impl/FormServiceImpl.java | 36 +- .../mybatis/mapper/design/form-mapper.xml | 90 +++- .../resources/static/form/js/oa-form-util.js | 6 +- .../templates/form/list-history.html | 409 ++++++++++++++++++ .../main/resources/templates/form/list.html | 15 +- .../templates/ftl/page/web/oa/form-print.ftl | 1 + 10 files changed, 603 insertions(+), 31 deletions(-) create mode 100644 module-form/src/main/resources/templates/form/list-history.html diff --git a/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java b/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java index 4b9d262a..4f366cee 100644 --- a/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java +++ b/module-form/src/main/java/ink/wgink/module/form/controller/api/design/FormController.java @@ -310,4 +310,38 @@ public class FormController extends DefaultBaseController { return formService.listPage(page); } + @ApiOperation(value = "最新表单分页列表", notes = "最新表单分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), + @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"), + @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage-latest") + public SuccessResultList> listPageLatest(ListPage page) { + Map params = requestParams(); + page.setParams(params); + return formService.listPageLatest(page); + } + + @ApiOperation(value = "历史表单分页列表", notes = "历史表单分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "formId", value = "表单ID", paramType = "path"), + @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), + @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"), + @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpage-history/form-id/{formId}") + public SuccessResultList> listPageHistoryByFormId(@PathVariable("formId") String formId, + ListPage page) { + Map params = requestParams(); + page.setParams(params); + return formService.listPageHistoryByFormId(formId, page); + } + } diff --git a/module-form/src/main/java/ink/wgink/module/form/controller/route/design/FormRouteController.java b/module-form/src/main/java/ink/wgink/module/form/controller/route/design/FormRouteController.java index a4672598..59523849 100644 --- a/module-form/src/main/java/ink/wgink/module/form/controller/route/design/FormRouteController.java +++ b/module-form/src/main/java/ink/wgink/module/form/controller/route/design/FormRouteController.java @@ -30,6 +30,13 @@ public class FormRouteController { return mv; } + @GetMapping("list-history") + public ModelAndView listHistory() { + ModelAndView mv = new ModelAndView("form/list-history"); + mv.addObject("hasMenuService", menuBaseService != null ? true : false); + return mv; + } + @GetMapping("list-select") public ModelAndView listSelect() { ModelAndView mv = new ModelAndView("form/list-select"); diff --git a/module-form/src/main/java/ink/wgink/module/form/dao/design/IFormDao.java b/module-form/src/main/java/ink/wgink/module/form/dao/design/IFormDao.java index f1aafb6e..ec2caa50 100644 --- a/module-form/src/main/java/ink/wgink/module/form/dao/design/IFormDao.java +++ b/module-form/src/main/java/ink/wgink/module/form/dao/design/IFormDao.java @@ -41,7 +41,7 @@ public interface IFormDao extends IInitBaseTable { List list(Map params) throws SearchException; - List listPO(Map params) throws SearchException; + List listPO(Map params) throws SearchException; String getSavePageCodeByCodeAndVersion(Map params) throws SearchException; diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java index eb8d7f5f..7ddc90a4 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormService.java @@ -285,6 +285,14 @@ public interface IFormService { */ List list(Map params); + /** + * 版本最新列表 + * + * @param params + * @return + */ + List listLatest(Map params); + /** * 列表 * @@ -299,7 +307,15 @@ public interface IFormService { * @param params * @return */ - List listPO(Map params); + List listPO(Map params); + + /** + * 版本最新列表 + * + * @param params + * @return + */ + List listPOLatest(Map params); /** * 分页列表 @@ -310,4 +326,20 @@ public interface IFormService { SuccessResultList> listPage(ListPage page); + /** + * 最新表单分页列表 + * + * @param page + * @return + */ + SuccessResultList> listPageLatest(ListPage page); + + /** + * 历史表单分页列表 + * + * @param formId + * @param page + * @return + */ + SuccessResultList> listPageHistoryByFormId(String formId, ListPage page); } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java index 191f30ea..3ee58486 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormServiceImpl.java @@ -7,6 +7,7 @@ import ink.wgink.exceptions.DependencyException; import ink.wgink.exceptions.ParamsException; import ink.wgink.exceptions.RemoveException; import ink.wgink.exceptions.SearchException; +import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.interfaces.menu.IMenuBaseService; import ink.wgink.module.form.dao.design.IFormDao; import ink.wgink.module.form.pojo.dtos.design.FormDTO; @@ -363,6 +364,13 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService return formDao.list(params); } + @Override + public List listLatest(Map params) { + params = params == null ? getHashMap(2) : params; + params.put("latestVersion", "true"); + return list(params); + } + @Override public List listByIds(List formIds) { Map params = getHashMap(2); @@ -371,11 +379,18 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService } @Override - public List listPO(Map params) { + public List listPO(Map params) { params = params == null ? getHashMap(2) : params; return formDao.listPO(params); } + @Override + public List listPOLatest(Map params) { + params = params == null ? getHashMap(2) : params; + params.put("latestVersion", ISystemConstant.IS_TRUE); + return listPO(params); + } + @Override public SuccessResultList> listPage(ListPage page) { PageHelper.startPage(page.getPage(), page.getRows()); @@ -384,4 +399,23 @@ public class FormServiceImpl extends DefaultBaseService implements IFormService return new SuccessResultList<>(dataDTOs, pageInfo.getPageNum(), pageInfo.getTotal()); } + @Override + public SuccessResultList> listPageLatest(ListPage page) { + PageHelper.startPage(page.getPage(), page.getRows()); + List dataDTOs = listLatest(page.getParams()); + PageInfo pageInfo = new PageInfo<>(dataDTOs); + return new SuccessResultList<>(dataDTOs, pageInfo.getPageNum(), pageInfo.getTotal()); + } + + @Override + public SuccessResultList> listPageHistoryByFormId(String formId, ListPage page) { + FormPO latestFormPO = getPO(formId); + if (latestFormPO == null) { + throw new SearchException("表单不存在"); + } + page.getParams().put("isHistory", ISystemConstant.IS_TRUE); + page.getParams().put("latestFormId", formId); + page.getParams().put("formCode", latestFormPO.getFormCode()); + return listPage(page); + } } diff --git a/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml b/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml index 0919fe1c..6881c341 100644 --- a/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml +++ b/module-form/src/main/resources/mybatis/mapper/design/form-mapper.xml @@ -328,26 +328,51 @@ SELECT - form_id, - form_code, - form_name, - form_summary, - form_type, - form_status, - form_table_name, - form_version, - main_title_tpl + t1.form_id, + t1.form_code, + t1.form_name, + t1.form_summary, + t1.form_type, + t1.form_status, + t1.form_table_name, + t1.form_version, + t1.main_title_tpl FROM - form_form + form_form t1 + + INNER JOIN ( + SELECT + form_code, + MAX(form_version) max_form_version + FROM + form_form + WHERE + is_delete = 0 + GROUP BY + form_code + ) jt1 + ON + t1.form_code = jt1.form_code + AND + t1.form_version = jt1.max_form_version + WHERE - is_delete = 0 + t1.is_delete = 0 diff --git a/module-form/src/main/resources/static/form/js/oa-form-util.js b/module-form/src/main/resources/static/form/js/oa-form-util.js index 913f2fdc..b927b0ca 100644 --- a/module-form/src/main/resources/static/form/js/oa-form-util.js +++ b/module-form/src/main/resources/static/form/js/oa-form-util.js @@ -82,8 +82,8 @@ function OaFormUtil(layui) { signListDom += [ '
', ' ' + item.content + '', - ' ->' + item.userName + '', - ' ->' + item.time + '', + '  ' + item.userName + '', + ' →' + item.time + '', '
' ].join(''); } @@ -109,7 +109,7 @@ function OaFormUtil(layui) { } var jointlySignListText = ''; for (var i = 0, item; item = jointlySigns[i++];) { - jointlySignListText += item.content + ' ->' + item.userName + ' ->' + item.time + '\n'; + jointlySignListText += item.content + ' ' + item.userName + ' →' + item.time + '\n'; } formData[key] = jointlySignListText; } diff --git a/module-form/src/main/resources/templates/form/list-history.html b/module-form/src/main/resources/templates/form/list-history.html new file mode 100644 index 00000000..18e613a5 --- /dev/null +++ b/module-form/src/main/resources/templates/form/list-history.html @@ -0,0 +1,409 @@ + + + + + + + + + + + + + +
+
+
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/module-form/src/main/resources/templates/form/list.html b/module-form/src/main/resources/templates/form/list.html index 7dabfe04..025fca80 100644 --- a/module-form/src/main/resources/templates/form/list.html +++ b/module-form/src/main/resources/templates/form/list.html @@ -64,7 +64,7 @@ table.render({ elem: '#dataTable', id: 'dataTable', - url: top.restAjax.path('api/form/listpage', []), + url: top.restAjax.path('api/form/listpage-latest', []), width: admin.screen() > 1 ? '100%' : '', height: $win.height() - 90, limit: 20, @@ -152,6 +152,11 @@ return ''; } }, + {field:'historyList', width:80, title: '历史', align:'center', fixed: 'right', + templet: function(item) { + return ''; + } + }, {field:'opition', width: hasMenuService ? 220 : 150, title: '操作', fixed:'right', align:'center', templet: function(item) { var btnGroup = '
'; @@ -404,6 +409,14 @@ }); } }) + } else if(event === 'showHistoryEvent') { + top.dialog.open({ + title: '选择要添加的根节点', + width: '80%', + height: '80%', + url: top.restAjax.path('route/form/list-history?formId={formId}', [data.formId]), + onClose: function() {} + }) } }) diff --git a/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl b/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl index f398983e..9d12ba59 100644 --- a/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl +++ b/module-form/src/main/resources/templates/ftl/page/web/oa/form-print.ftl @@ -12,6 +12,7 @@ +