From e57a5ec6e3db9c4ff12825ec8c09654a40e7a81c Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Mon, 12 Dec 2022 16:07:20 +0800 Subject: [PATCH 01/41] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../virtualList/components/transferList.vue | 261 ++++++++++++++++++ .../components/transferListvirtal.vue | 254 +++++++++++++++++ .../components/virtualListDetails.vue | 26 ++ 3 files changed, 541 insertions(+) create mode 100644 jero-web/src/views/documentTools/virtualList/components/transferList.vue create mode 100644 jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue diff --git a/jero-web/src/views/documentTools/virtualList/components/transferList.vue b/jero-web/src/views/documentTools/virtualList/components/transferList.vue new file mode 100644 index 000000000..7899e49e3 --- /dev/null +++ b/jero-web/src/views/documentTools/virtualList/components/transferList.vue @@ -0,0 +1,261 @@ + + + + + \ No newline at end of file diff --git a/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue b/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue new file mode 100644 index 000000000..fb814c8c9 --- /dev/null +++ b/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue @@ -0,0 +1,254 @@ + + + + + \ No newline at end of file diff --git a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue index ffad9f9d9..aec561e90 100644 --- a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue +++ b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue @@ -90,6 +90,7 @@ +
@@ -122,6 +123,13 @@ {{$t('batSetting')}}
+ +
+ + {{$t('Transfer')}} +
+ + Date: Mon, 12 Dec 2022 16:17:01 +0800 Subject: [PATCH 02/41] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E5=8F=96=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../documentTools/virtualList/components/transferListvirtal.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue b/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue index fb814c8c9..91ea2ddd9 100644 --- a/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue +++ b/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue @@ -178,7 +178,7 @@ export default { this.confirmLoading = true let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) postAction('/dummy/dummyInventoryInfoEO/acquireAdd', { - dummyInventoryBaseId: this.dummyInventoryBaseId, + dummyInventoryBaseId: this.$route.query.id, ids: selectedRowKeys.join(','), }).then((res) => { if (res.success) { From 0e6a8006c6e48dcb1ebbf2ab88e1dde70eaab24f Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 12 Dec 2022 17:59:02 +0800 Subject: [PATCH 03/41] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93-=E8=A1=A8?= =?UTF-8?q?=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BussDocumentLibraryEOServiceImpl.java | 82 ++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 42b30a509..3a84b77b8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -32,6 +32,7 @@ import com.jero.modules.collection.service.IOnlCgformCollectionService; import com.jero.modules.document.entity.BussDocumentLibraryEO; import com.jero.modules.document.entity.OSSFileForDocumentLibrary; import com.jero.modules.document.enums.FieldTypeEnum; +import com.jero.modules.document.enums.LawsStateEnum; import com.jero.modules.document.enums.SearchEnum; import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper; import com.jero.modules.document.service.IBussDocumentLibraryEOService; @@ -3962,6 +3963,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl categoryList = sysCategoryService.list(); //过滤出树形字段 @@ -4021,6 +4025,71 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl parameter, List fieldListNew, String condition, int pageNo, int pageSize, IPage infoPage) { + List> list = new LinkedList<>(); + //状态排序,需要特殊处理 现行,即将实施,草稿,被替代,废止 + if(ObjectUtils.isNotEmpty(parameter.get("orderByField")) && "state".equals((String) parameter.get("orderByField"))){ + List> infoList = bussDocumentLibraryEOMapper.getInfoList(" " + StringUtils.join(fieldListNew, ","), condition); + List> active = infoList.stream() + .filter(e -> LawsStateEnum.ACTIVE.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> theUpcoming = infoList.stream() + .filter(e -> LawsStateEnum.THE_UPCOMING.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> draft = infoList.stream() + .filter(e -> LawsStateEnum.DRAFT.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> beReplaced = infoList.stream() + .filter(e -> LawsStateEnum.BE_REPLACED.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> abolish = infoList.stream() + .filter(e -> LawsStateEnum.ABOLISH.getValue().equals(e.get("state"))).collect(Collectors.toList()); + if ("1".equals((String) parameter.get("orderBy"))) { + //正序 + list.addAll(active); + list.addAll(theUpcoming); + list.addAll(draft); + list.addAll(beReplaced); + list.addAll(abolish); + + } else if ("2".equals((String) parameter.get("orderBy"))) { + //倒序 + list.addAll(abolish); + list.addAll(beReplaced); + list.addAll(draft); + list.addAll(theUpcoming); + list.addAll(active); + } + if(ObjectUtils.isNotEmpty(list)){ + infoPage = getPages(pageNo, pageSize, list); + } + } + return infoPage; + } + + public IPage getPages(Integer currentPage, Integer pageSize, List> list){ + IPage page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } + @NotNull public String getConditionStr(Map parameter) { @@ -4134,7 +4203,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl Date: Tue, 13 Dec 2022 10:05:26 +0800 Subject: [PATCH 04/41] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../virtualList/components/transferList.vue | 4 +- .../components/transferListvirtal.vue | 2 +- .../components/listOfRegulations.vue | 12 +- .../components/transferList.vue | 47 ++-- .../components/transferListvirtal.vue | 254 ++++++++++++++++++ 5 files changed, 293 insertions(+), 26 deletions(-) create mode 100644 jero-web/src/views/projectManagement/components/transferListvirtal.vue diff --git a/jero-web/src/views/documentTools/virtualList/components/transferList.vue b/jero-web/src/views/documentTools/virtualList/components/transferList.vue index 7899e49e3..62b60efdf 100644 --- a/jero-web/src/views/documentTools/virtualList/components/transferList.vue +++ b/jero-web/src/views/documentTools/virtualList/components/transferList.vue @@ -56,7 +56,7 @@
{{$t('cancel')}} - {{$t('submit')}} + {{$t('determine')}}
@@ -167,8 +167,8 @@ this.confirmLoading = true let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) this.confirmLoading = false - this.selectedRowKeys = [] this.$emit('transferListForm',selectedRowKeys.join(',')) + this.selectedRowKeys = [] // postAction('project/projectLawsInventoryEO/add', { // dummyInventoryBaseId: selectedRowKeys.join(','), // projectLibraryId: this.$route.query.id, diff --git a/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue b/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue index 91ea2ddd9..3c60725cf 100644 --- a/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue +++ b/jero-web/src/views/documentTools/virtualList/components/transferListvirtal.vue @@ -1,6 +1,6 @@ @@ -166,27 +166,30 @@ if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { this.confirmLoading = true let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) - postAction(this.url.addModel, { - dummyInventoryBaseId: selectedRowKeys.join(','), - projectLibraryId: this.$route.query.id, - flag: flag - }).then((res) => { - if (res.success) { - this.confirmLoading = false - this.$message.success(this.$t('OperationSuccessful')) - this.visible = false - this.selectedRowKeys = [] - this.$emit('transferListForm') - } else { - if (res.message == '该虚拟清单的维护清单中没有数据,是否需要添加') { - this.confirmLoading = false - this.getAdd() - return - } - this.$message.warning(this.$t('operationFailed')) - this.confirmLoading = false - } - }) + this.confirmLoading = false + this.$emit('transferListForm',selectedRowKeys.join(',')) + this.selectedRowKeys = [] + // postAction(this.url.addModel, { + // dummyInventoryBaseId: selectedRowKeys.join(','), + // projectLibraryId: this.$route.query.id, + // flag: flag + // }).then((res) => { + // if (res.success) { + // this.confirmLoading = false + // this.$message.success(this.$t('OperationSuccessful')) + // this.visible = false + // this.selectedRowKeys = [] + // this.$emit('transferListForm') + // } else { + // if (res.message == '该虚拟清单的维护清单中没有数据,是否需要添加') { + // this.confirmLoading = false + // this.getAdd() + // return + // } + // this.$message.warning(this.$t('operationFailed')) + // this.confirmLoading = false + // } + // }) } else { this.$message.warning(this.$t('selectLeastOne')) } diff --git a/jero-web/src/views/projectManagement/components/transferListvirtal.vue b/jero-web/src/views/projectManagement/components/transferListvirtal.vue new file mode 100644 index 000000000..9f4c4ffdb --- /dev/null +++ b/jero-web/src/views/projectManagement/components/transferListvirtal.vue @@ -0,0 +1,254 @@ + + + + + \ No newline at end of file From 29cd44fce6af6b1bcb98a255890a9f982bea6779 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 13 Dec 2022 10:20:46 +0800 Subject: [PATCH 05/41] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DummyInventoryBaseEOController.java | 29 ++++++++++++++- .../dummy/entity/DummyInventoryBaseEO.java | 8 ++++ .../jero/modules/dummy/enums/OrderEnum.java | 37 +++++++++++++++++++ 3 files changed, 72 insertions(+), 2 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/OrderEnum.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java index 813b3dd32..1788da961 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java @@ -10,11 +10,13 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.enums.InventoryStateEnum; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.dummy.service.IDummyInventoryBaseEOService; import com.jero.modules.dummy.vo.VirtualCreaterVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -58,9 +60,32 @@ public class DummyInventoryBaseEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(dummyInventoryBaseEO, req.getParameterMap()); - queryWrapper.orderByDesc("create_time"); + //处理表头排序 + if(StringUtils.isNotBlank(dummyInventoryBaseEO.getOrderByField())){ + //名称,创建人 + if("name".equals(dummyInventoryBaseEO.getOrderByField()) + || "create_By".equals(dummyInventoryBaseEO.getOrderByField())){ + if(OrderEnum.POSITIVE.getValue().equals(dummyInventoryBaseEO.getOrderBy())){ + //conditionSb.append(" order by " + "CONVERT("+orderByField +"USING gbk) COLLATE gbk_chinese_ci"); + queryWrapper.orderBy(true,true,"convert("+dummyInventoryBaseEO.getOrderByField()+" using gbk)"); +// queryWrapper.orderBy(true,true,"convert("+dummyInventoryBaseEO.getOrderByField()+" using gbk"); + }else if(OrderEnum.REVERSE.getValue().equals(dummyInventoryBaseEO.getOrderBy())){ + queryWrapper.orderBy(true,false,"convert("+dummyInventoryBaseEO.getOrderByField()+" using gbk)"); + } + } + //清单状态 + if("state".equals(dummyInventoryBaseEO.getOrderByField())){ + if(OrderEnum.POSITIVE.getValue().equals(dummyInventoryBaseEO.getOrderBy())){ + queryWrapper.orderByAsc("state"); + }else if(OrderEnum.REVERSE.getValue().equals(dummyInventoryBaseEO.getOrderBy())){ + queryWrapper.orderByDesc("state"); + } + } + + }else{ + queryWrapper.orderByDesc("create_time"); + } Page page = new Page(pageNo, pageSize); IPage pageList = dummyInventoryBaseEOService.getPageInfo(page,queryWrapper); return Result.OK(dummyInventoryBaseEO.getCut(),pageList); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryBaseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryBaseEO.java index 16bf188a8..44c3b2bd2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryBaseEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryBaseEO.java @@ -87,4 +87,12 @@ public class DummyInventoryBaseEO implements Serializable { @TableField(exist = false) private String cut; + //排序(1->正序, 2->倒序) + @TableField(exist = false) + private String orderBy; + + //排序字段 + @TableField(exist = false) + private String orderByField; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/OrderEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/OrderEnum.java new file mode 100644 index 000000000..52f36d2fb --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/OrderEnum.java @@ -0,0 +1,37 @@ +package com.jero.modules.dummy.enums; + +/** + * @description + * @date 2022/1/21 15:22 + * @auth zhn + */ +public enum OrderEnum { + POSITIVE("正序","1"), + REVERSE("倒序","2"); + + + + String name; + String value; + + private OrderEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} From 2ee72e74376dc146bbb41ded605910061dadd8c3 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Tue, 13 Dec 2022 10:47:55 +0800 Subject: [PATCH 06/41] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/projectManagement/components/transferListvirtal.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-web/src/views/projectManagement/components/transferListvirtal.vue b/jero-web/src/views/projectManagement/components/transferListvirtal.vue index 9f4c4ffdb..e8ff316c7 100644 --- a/jero-web/src/views/projectManagement/components/transferListvirtal.vue +++ b/jero-web/src/views/projectManagement/components/transferListvirtal.vue @@ -177,7 +177,7 @@ export default { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { this.confirmLoading = true let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) - postAction('/dummy/dummyInventoryInfoEO/acquireAdd', { + postAction('project/projectLawsInventoryEO/add', { dummyInventoryBaseId: this.dummyInventoryBaseId, ids: selectedRowKeys.join(','), }).then((res) => { From c6f51e74aee38a8c394239b366797c84523b3b5d Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Tue, 13 Dec 2022 11:24:15 +0800 Subject: [PATCH 07/41] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/projectManagement/components/transferListvirtal.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-web/src/views/projectManagement/components/transferListvirtal.vue b/jero-web/src/views/projectManagement/components/transferListvirtal.vue index e8ff316c7..d758e78b6 100644 --- a/jero-web/src/views/projectManagement/components/transferListvirtal.vue +++ b/jero-web/src/views/projectManagement/components/transferListvirtal.vue @@ -179,7 +179,7 @@ export default { let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) postAction('project/projectLawsInventoryEO/add', { dummyInventoryBaseId: this.dummyInventoryBaseId, - ids: selectedRowKeys.join(','), + dummyids: selectedRowKeys.join(','), }).then((res) => { if (res.success) { this.confirmLoading = false From c5aa8649aac64bfacf474463bcc39ed5c12997b0 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Tue, 13 Dec 2022 11:55:42 +0800 Subject: [PATCH 08/41] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=B0=83=E5=8F=96=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/projectManagement/components/transferListvirtal.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/jero-web/src/views/projectManagement/components/transferListvirtal.vue b/jero-web/src/views/projectManagement/components/transferListvirtal.vue index d758e78b6..0de24d099 100644 --- a/jero-web/src/views/projectManagement/components/transferListvirtal.vue +++ b/jero-web/src/views/projectManagement/components/transferListvirtal.vue @@ -179,6 +179,7 @@ export default { let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) postAction('project/projectLawsInventoryEO/add', { dummyInventoryBaseId: this.dummyInventoryBaseId, + projectLibraryId: this.$route.query.id, dummyids: selectedRowKeys.join(','), }).then((res) => { if (res.success) { From 207cf5d99957676678a2c6251bccc785a8b67572 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 13 Dec 2022 14:29:52 +0800 Subject: [PATCH 09/41] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95-?= =?UTF-8?q?=E8=B0=83=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/project/entity/ProjectLawsInventoryEO.java | 4 ++++ .../service/impl/ProjectLawsInventoryEOServiceImpl.java | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java index 838f0ec28..c93605172 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java @@ -468,4 +468,8 @@ public class ProjectLawsInventoryEO implements Serializable { @ApiModelProperty(value = "文档库id/标准id") private String standId; + @TableField(exist = false) + @ApiModelProperty(value = "调取虚拟清单中文档ids") + private String dummyids;//调取虚拟清单中文档ids + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 13944aaac..1c482d6ef 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -263,10 +263,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectLawsInventoryEOList = this.list(wrapperTemp); //调取 String dummyInventoryBaseId = projectLawsInventoryEO.getDummyInventoryBaseId(); - if(StringUtils.isNotBlank(dummyInventoryBaseId)){ + if(StringUtils.isNotBlank(projectLawsInventoryEO.getDummyids())){ //查询虚拟清单对应清单维护中的数据 LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(DummyInventoryInfoEO::getDummyInventoryBaseId,projectLawsInventoryEO.getDummyInventoryBaseId()); + lambdaQueryWrapper.in(DummyInventoryInfoEO::getId,Arrays.asList(projectLawsInventoryEO.getDummyids().split(","))); List dummyInventoryInfoEOList = dummyInventoryInfoEOService.list(lambdaQueryWrapper); List dummyInventoryInfoEOListNew = new ArrayList<>(); if(dummyInventoryInfoEOList.size() != 0){ From 69ae3a5174f684bf4159f17ead2a17064d6b3a0f Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 13 Dec 2022 14:39:40 +0800 Subject: [PATCH 10/41] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93-=E8=A1=A8?= =?UTF-8?q?=E5=A4=B4=E5=AD=97=E6=AE=B5=E9=9C=80=E8=A6=81=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E7=9A=84=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BussDocumentLibraryEOServiceImpl.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 3a84b77b8..d00224a42 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -614,10 +614,25 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl Date: Tue, 13 Dec 2022 17:35:48 +0800 Subject: [PATCH 11/41] =?UTF-8?q?=E6=9C=AA=E7=AC=A6=E5=90=88=E9=A1=B9?= =?UTF-8?q?=E8=B7=9F=E8=B8=AA--=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NcrTrackController.java | 111 ++++++++++++++++++ .../jero/modules/project/vo/NcrTrackVO.java | 7 ++ 2 files changed, 118 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java index fb65e58dc..78d778dd1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java @@ -3,11 +3,13 @@ package com.jero.modules.project.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.project.service.INcrTrackService; import com.jero.modules.project.vo.NcrTrackVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -19,7 +21,10 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.Collator; +import java.util.Collections; import java.util.List; +import java.util.Locale; /** * @description @@ -51,10 +56,116 @@ public class NcrTrackController { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { List pageInfo = iNcrTrackService.getPageInfo(ncrTrackVO); + //表头排序 + orderHeader(ncrTrackVO, pageInfo); Page pages = iNcrTrackService.getPages(pageNo, pageSize, pageInfo); return Result.OK(ncrTrackVO.getCut(),pages); } + private void orderHeader(NcrTrackVO ncrTrackVO, List pageInfo) { + String orderBy = ncrTrackVO.getOrderBy(); + String orderByField = ncrTrackVO.getOrderByField(); + if(ObjectUtils.isNotEmpty(orderByField)){ + Collator comparator = Collator.getInstance(Locale.CHINESE); + //编号 + if("serialNumber".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1, e2)->{ + return comparator.compare(e1.getSerialNumber(),e2.getSerialNumber()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getSerialNumber(),e1.getSerialNumber()); + }); + } + } + //标题 + if("title".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e1.getTitle(),e2.getTitle()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getTitle(),e1.getTitle()); + }); + } + } + //流程类型 + if("flowType".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e1.getFlowType(),e2.getFlowType()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getFlowType(),e1.getFlowType()); + }); + } + } + //责任领域 + if("dutyTerritory".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e1.getDutyTerritory(),e2.getDutyTerritory()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getDutyTerritory(),e1.getDutyTerritory()); + }); + } + } + //相关项目 + if("projectName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e1.getProjectName(),e2.getProjectName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getProjectName(),e1.getProjectName()); + }); + } + } + //问题类型 + if("problemType".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e1.getProblemType(),e2.getProblemType()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getProblemType(),e1.getProblemType()); + }); + } + } + //发起人 + if("initiator".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e1.getInitiator(),e2.getInitiator()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getInitiator(),e1.getInitiator()); + }); + } + } + //责任人 + if("duty".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e1.getDuty(),e2.getDuty()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(pageInfo,(e1,e2)->{ + return comparator.compare(e2.getDuty(),e1.getDuty()); + }); + } + } + } + } + /** * 项目详情中项目未符合项跟踪 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/NcrTrackVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/NcrTrackVO.java index 5a6b0fd5c..b47408059 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/NcrTrackVO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/NcrTrackVO.java @@ -141,6 +141,13 @@ public class NcrTrackVO implements Serializable { private String administrator; + //排序(1->正序, 2->倒序) + private String orderBy; + + //排序字段 + private String orderByField; + + } From 0b0ee64818d88c9537019950332ee74e745a6841 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 14 Dec 2022 11:07:36 +0800 Subject: [PATCH 12/41] =?UTF-8?q?=E6=88=91=E7=9A=84=E6=94=B6=E8=97=8F-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/OnlCgformCollectionMapper.xml | 18 ++++++++++++++++-- .../impl/OnlCgformCollectionServiceImpl.java | 2 +- .../impl/BussDocumentLibraryEOServiceImpl.java | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml index 7fd9b3043..1201ec8f4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml @@ -54,6 +54,20 @@ #{item} - order by occ.create_time desc + + order by CONVERT( ${params.orderByField} USING gbk) COLLATE gbk_chinese_ci + + ${params.orderBy} + + + + order by occ.create_time + + ${params.orderBy} + + + + order by occ.create_time desc + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java index 90371551a..43d36e1dd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java @@ -297,4 +297,4 @@ public class OnlCgformCollectionServiceImpl extends ServiceImpl Date: Wed, 14 Dec 2022 14:33:42 +0800 Subject: [PATCH 13/41] =?UTF-8?q?=E6=88=91=E7=9A=84=E6=94=B6=E8=97=8F-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/OnlCgformCollectionMapper.java | 4 +- .../mapper/xml/OnlCgformCollectionMapper.xml | 44 +++++++++++ .../impl/OnlCgformCollectionServiceImpl.java | 76 ++++++++++++++++++- 3 files changed, 122 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java index c32719cb8..ff3a85cce 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/OnlCgformCollectionMapper.java @@ -3,8 +3,8 @@ package com.jero.modules.collection.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.collection.entity.OnlCgformCollection; +import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import org.springframework.data.repository.query.Param; import java.util.List; import java.util.Map; @@ -22,4 +22,6 @@ public interface OnlCgformCollectionMapper extends BaseMapper queryListByDocumentId(@Param("document_id") String document_id); IPage queryPageList(IPage page,@Param("params") Map params); + + List> infoList(@Param("params") Map params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml index 1201ec8f4..71e60206a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml @@ -70,4 +70,48 @@ order by occ.create_time desc + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java index 43d36e1dd..16fb190dd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java @@ -13,12 +13,14 @@ import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServi import com.jero.modules.collection.entity.OnlCgformCollection; import com.jero.modules.collection.mapper.OnlCgformCollectionMapper; import com.jero.modules.collection.service.IOnlCgformCollectionService; +import com.jero.modules.document.enums.LawsStateEnum; import com.jero.modules.ocr.util.LineHumpUtil; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.mapper.OnlCgformSubscribeMapper; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +28,12 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -227,10 +234,77 @@ public class OnlCgformCollectionServiceImpl extends ServiceImpl> records = result.getRecords(); dataDispose(records,params); return result; } + private IPage stateSort(Map parameter, int pageNo, int pageSize, IPage infoPage) { +// parameter.put("orderByField","state"); +// parameter.put("orderBy","1"); + List> list = new LinkedList<>(); + //状态排序,需要特殊处理 现行,即将实施,草稿,被替代,废止 + if(ObjectUtils.isNotEmpty(parameter.get("orderByField")) && "state".equals((String) parameter.get("orderByField"))){ + List> infoList = onlCgformCollectionMapper.infoList(parameter); + + List> active = infoList.stream() + .filter(e -> LawsStateEnum.ACTIVE.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> theUpcoming = infoList.stream() + .filter(e -> LawsStateEnum.THE_UPCOMING.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> draft = infoList.stream() + .filter(e -> LawsStateEnum.DRAFT.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> beReplaced = infoList.stream() + .filter(e -> LawsStateEnum.BE_REPLACED.getValue().equals(e.get("state"))).collect(Collectors.toList()); + List> abolish = infoList.stream() + .filter(e -> LawsStateEnum.ABOLISH.getValue().equals(e.get("state"))).collect(Collectors.toList()); + if ("1".equals((String) parameter.get("orderBy"))) { + //正序 + list.addAll(active); + list.addAll(theUpcoming); + list.addAll(draft); + list.addAll(beReplaced); + list.addAll(abolish); + + } else if ("2".equals((String) parameter.get("orderBy"))) { + //倒序 + list.addAll(abolish); + list.addAll(beReplaced); + list.addAll(draft); + list.addAll(theUpcoming); + list.addAll(active); + } + if(ObjectUtils.isNotEmpty(list)){ + infoPage = getPages(pageNo, pageSize, list); + } + } + return infoPage; + } + public IPage getPages(Integer currentPage, Integer pageSize, List> list){ + IPage page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } public void dataDispose(List> datas, Map params){ if(CollectionUtils.isNotEmpty(datas)){ From d6a6ba7e6484a352ff9c8c4c69a14d363bb23d72 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 14 Dec 2022 15:49:28 +0800 Subject: [PATCH 14/41] =?UTF-8?q?=E6=88=91=E7=9A=84=E8=AE=A2=E9=98=85-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/OnlCgformCollectionMapper.xml | 13 ++-- .../impl/OnlCgformCollectionServiceImpl.java | 14 ++-- .../mapper/OnlCgformSubscribeMapper.java | 5 +- .../mapper/xml/OnlCgformSubscribeMapper.xml | 64 ++++++++++++++++++- .../impl/OnlCgformSubscribeServiceImpl.java | 13 +++- 5 files changed, 93 insertions(+), 16 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml index 71e60206a..2cca02b0b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/mapper/xml/OnlCgformCollectionMapper.xml @@ -56,15 +56,16 @@ order by CONVERT( ${params.orderByField} USING gbk) COLLATE gbk_chinese_ci - - ${params.orderBy} - + order by occ.create_time - - ${params.orderBy} - + + + asc + + + desc order by occ.create_time desc diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java index 16fb190dd..7741d6b9a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java @@ -228,25 +228,27 @@ public class OnlCgformCollectionServiceImpl extends ServiceImpl queryPageList(Map params) { +// params.put("orderByField","serial_number"); +// params.put("orderBy","1"); Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); IPage page = new Page(pageNo, pageSize); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); params.put("createBy",sysUser.getUsername()); IPage result = onlCgformCollectionMapper.queryPageList(page,params); - result = stateSort(params,pageNo,pageSize,result); + //表头排序(状态单独处理) + if(ObjectUtils.isNotEmpty(params.get("orderByField")) && "state".equals((String) params.get("orderByField"))){ + List> infoList = onlCgformCollectionMapper.infoList(params); + result = stateSort(params,pageNo,pageSize,result,infoList); + } List> records = result.getRecords(); dataDispose(records,params); return result; } - private IPage stateSort(Map parameter, int pageNo, int pageSize, IPage infoPage) { -// parameter.put("orderByField","state"); -// parameter.put("orderBy","1"); + public IPage stateSort(Map parameter, int pageNo, int pageSize, IPage infoPage,List> infoList) { List> list = new LinkedList<>(); //状态排序,需要特殊处理 现行,即将实施,草稿,被替代,废止 if(ObjectUtils.isNotEmpty(parameter.get("orderByField")) && "state".equals((String) parameter.get("orderByField"))){ - List> infoList = onlCgformCollectionMapper.infoList(parameter); - List> active = infoList.stream() .filter(e -> LawsStateEnum.ACTIVE.getValue().equals(e.get("state"))).collect(Collectors.toList()); List> theUpcoming = infoList.stream() diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/OnlCgformSubscribeMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/OnlCgformSubscribeMapper.java index e453fd655..90b7b9223 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/OnlCgformSubscribeMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/OnlCgformSubscribeMapper.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import org.apache.ibatis.annotations.Select; -import org.springframework.data.repository.query.Param; +import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -21,4 +21,7 @@ public interface OnlCgformSubscribeMapper extends BaseMapper List queryListByDocumentId(@Param("document_id") String document_id); IPage queryPageList(IPage page, @Param("params") Map params); + + List> infoList(@Param("params") Map params); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/xml/OnlCgformSubscribeMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/xml/OnlCgformSubscribeMapper.xml index 3eecf85f9..cce2a1288 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/xml/OnlCgformSubscribeMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/mapper/xml/OnlCgformSubscribeMapper.xml @@ -48,7 +48,67 @@ - + + + and bdl.state in + + #{item} + + + + order by CONVERT( ${params.orderByField} USING gbk) COLLATE gbk_chinese_ci + + + order by ocs.create_time + + + asc + + + desc + + + order by ocs.create_time desc + + + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java index af993cf26..34d732bfd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java @@ -10,6 +10,7 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; import com.jero.generater.modules.online.cgform.entity.OnlCgformField; import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl; +import com.jero.modules.collection.service.impl.OnlCgformCollectionServiceImpl; import com.jero.modules.ocr.util.LineHumpUtil; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.mapper.OnlCgformSubscribeMapper; @@ -17,6 +18,7 @@ import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -40,6 +42,8 @@ public class OnlCgformSubscribeServiceImpl extends ServiceImpl queryPageList(Map params) { +// params.put("orderByField","title"); +// params.put("orderBy","1"); Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); IPage page = new Page(pageNo, pageSize); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); params.put("createBy",sysUser.getUsername()); IPage result = onlCgformSubscribeMapper.queryPageList(page,params); + //表头排序(状态单独处理) + if(ObjectUtils.isNotEmpty(params.get("orderByField")) && "state".equals((String) params.get("orderByField"))){ + List> mapList = onlCgformSubscribeMapper.infoList(params); + result = onlCgformCollectionService.stateSort(params,pageNo,pageSize,result,mapList); + } List> records = result.getRecords(); dataDispose(records,params); return result; @@ -271,4 +282,4 @@ public class OnlCgformSubscribeServiceImpl extends ServiceImpl Date: Thu, 15 Dec 2022 16:17:45 +0800 Subject: [PATCH 15/41] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5-=E8=A1=A8=E5=A4=B4=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dummy/entity/DummyInventoryInfoEO.java | 19 ++ .../dummy/enums/AttestationRankEnum.java | 40 +++ .../impl/DummyInventoryInfoEOServiceImpl.java | 232 +++++++++++++++++- 3 files changed, 287 insertions(+), 4 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/AttestationRankEnum.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java index 33b22ff2c..8219fd6f1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java @@ -90,6 +90,8 @@ public class DummyInventoryInfoEO implements Serializable { @ApiModelProperty(value = "适用范围") @Dict(dicCode ="apply_scope") private java.lang.String shi4Yong4Fan4Wei2; + @TableField(exist = false) + private java.lang.String shi4Yong4Fan4Wei2Str; /**状态*/ @Excel(name = "状态", width = 15,dicCode ="state") @@ -97,6 +99,9 @@ public class DummyInventoryInfoEO implements Serializable { @Dict(dicCode ="state") private java.lang.String state; + @TableField(exist = false) + private java.lang.String stateStr; + /**对应标准*/ @Excel(name = "对应标准", width = 15) @ApiModelProperty(value = "对应标准") @@ -147,6 +152,9 @@ public class DummyInventoryInfoEO implements Serializable { @Dict(dicCode ="attestation_rank") private java.lang.String attestationRank; + @TableField(exist = false) + private java.lang.String attestationRankStr; + /**适用增补件*/ @ApiModelProperty(value = "适用增补件") @Excel(name = "适用增补件", width = 15) @@ -166,6 +174,9 @@ public class DummyInventoryInfoEO implements Serializable { @Dict(dicCode ="duty_territory") private java.lang.String dutyTerritory; + @TableField(exist = false) + private java.lang.String dutyTerritoryStr; + /**备注*/ @Excel(name = "备注", width = 15) @ApiModelProperty(value = "备注") @@ -287,6 +298,14 @@ public class DummyInventoryInfoEO implements Serializable { //文档库id private String bussDocumentLibraryId; + //排序(1->正序, 2->倒序) + @TableField(exist = false) + private String orderBy; + + //排序字段 + @TableField(exist = false) + private String orderByField; + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/AttestationRankEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/AttestationRankEnum.java new file mode 100644 index 000000000..b47ca94be --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/enums/AttestationRankEnum.java @@ -0,0 +1,40 @@ +package com.jero.modules.dummy.enums; + +/** + * @description + * @date 2022/1/21 15:22 + * @auth zhn + */ +public enum AttestationRankEnum { + WVTA("WVTA","WVTA"), + VTA("Com.Cert-VTA","Com.Cert-VTA"), + MARKET("Com.Cert-Market","Com.Cert-Market"), + REGU("Regu-Market","Regu-Market"), + NA("NA","NA"); + + + + String name; + String value; + + private AttestationRankEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index 29d6eabc9..23a84e303 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -16,11 +16,14 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.DateUtils; import com.jero.common.util.oss.CosBootUtil; import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.enums.LawsStateEnum; import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.entity.DummyInventoryInfoEO; import com.jero.modules.dummy.entity.DummyInventoryInfoEOEn; +import com.jero.modules.dummy.enums.AttestationRankEnum; import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.dummy.mapper.DummyInventoryInfoEOMapper; import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; import com.jero.modules.dummy.util.DeepCopyListUtil; @@ -59,6 +62,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.text.Collator; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; @@ -376,16 +380,176 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl queryList(DummyInventoryInfoEO dummyInventoryInfoEO,HttpServletRequest req) { +// dummyInventoryInfoEO.setOrderBy("2"); +// dummyInventoryInfoEO.setOrderByField("shi4Yong4Fan4Wei2"); + String orderBy = dummyInventoryInfoEO.getOrderBy(); + String orderByField = dummyInventoryInfoEO.getOrderByField(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(dummyInventoryInfoEO,req.getParameterMap()); -// queryWrapper.in("dummy_inventory_base_id",dummyInventoryInfoEO.getDummyInventoryBaseId()); - queryWrapper.orderByDesc("create_time","serial_number"); + //新车型实施日期,在产车实施日期(排序) + if("xin1_che1_xing2_shi2_shi1_ri4_qi1".equals(orderByField) || "implement_time".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + queryWrapper.orderByAsc(orderByField); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + queryWrapper.orderByDesc(orderByField); + } + } + if(StringUtils.isBlank(orderByField)){ + queryWrapper.orderByDesc("create_time","serial_number"); + } List dummyInventoryInfoEOList = this.list(queryWrapper); + //数据字典 + List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); //技术领域处理 - treeDict(dummyInventoryInfoEO, dummyInventoryInfoEOList); + treeDict(dummyInventoryInfoEO, dummyInventoryInfoEOList,sysDictItems); + + //表头排序 + dummyInventoryInfoEOList = hearSort(orderBy, orderByField, dummyInventoryInfoEOList); + + return dummyInventoryInfoEOList; } + private List hearSort(String orderBy, String orderByField, List dummyInventoryInfoEOList) { + if(ObjectUtils.isNotEmpty(orderByField)){ + Collator comparator = Collator.getInstance(Locale.CHINESE); + //编号 + if("serialNumber".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + return comparator.compare(e1.getSerialNumber(),e2.getSerialNumber()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + return comparator.compare(e2.getSerialNumber(),e1.getSerialNumber()); + }); + } + } + //适用范围 + if("shi4Yong4Fan4Wei2".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + return comparator.compare(e1.getShi4Yong4Fan4Wei2Str(),e2.getShi4Yong4Fan4Wei2Str()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + return comparator.compare(e2.getShi4Yong4Fan4Wei2Str(),e1.getShi4Yong4Fan4Wei2Str()); + }); + } + } + + + //WVTA ID + if("wvtaId".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1, e2)->{ + return comparator.compare(e1.getWvtaId(),e2.getWvtaId()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + return comparator.compare(e2.getWvtaId(),e1.getWvtaId()); + }); + } + } + + List list = new LinkedList<>(); + //状态(现行,即将实施,草稿,被替代,废止) + dummyInventoryInfoEOList = stateSort(orderBy, orderByField, dummyInventoryInfoEOList, list); + + //认证级别(WVTA,Com.-VTA,Cert.-Market,Reg.-Market,NA) + dummyInventoryInfoEOList = attestationRankSort(orderBy, orderByField, dummyInventoryInfoEOList, list); + + //责任领域 + if("dutyTerritory".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + return comparator.compare(e1.getDutyTerritoryStr(),e2.getDutyTerritoryStr()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(dummyInventoryInfoEOList,(e1,e2)->{ + return comparator.compare(e2.getDutyTerritoryStr(),e1.getDutyTerritoryStr()); + }); + } + } + } + return dummyInventoryInfoEOList; + } + + private List attestationRankSort(String orderBy, String orderByField, List dummyInventoryInfoEOList, List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "attestationRank".equals(orderByField)){ + List wvta = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRankStr().startsWith(AttestationRankEnum.WVTA.getValue())).collect(Collectors.toList()); + List vta = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRankStr().startsWith(AttestationRankEnum.VTA.getValue())).collect(Collectors.toList()); + List market = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRankStr().startsWith(AttestationRankEnum.MARKET.getValue())).collect(Collectors.toList()); + List regu = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRankStr().startsWith(AttestationRankEnum.REGU.getValue())).collect(Collectors.toList()); + List na = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRankStr().startsWith(AttestationRankEnum.NA.getValue())).collect(Collectors.toList()); + + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + list.addAll(wvta); + list.addAll(vta); + list.addAll(market); + list.addAll(regu); + list.addAll(na); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(na); + list.addAll(regu); + list.addAll(market); + list.addAll(vta); + list.addAll(wvta); + } + } + if(ObjectUtils.isNotEmpty(list)){ + return list; + }else{ + return dummyInventoryInfoEOList; + } + } + + private List stateSort(String orderBy, String orderByField, List dummyInventoryInfoEOList, List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "state".equals(orderByField)){ + List active = dummyInventoryInfoEOList.stream() + .filter(e -> LawsStateEnum.ACTIVE.getName().equals(e.getStateStr())).collect(Collectors.toList()); + List theUpcoming = dummyInventoryInfoEOList.stream() + .filter(e -> LawsStateEnum.THE_UPCOMING.getName().equals(e.getStateStr())).collect(Collectors.toList()); + List draft = dummyInventoryInfoEOList.stream() + .filter(e -> LawsStateEnum.DRAFT.getName().equals(e.getStateStr())).collect(Collectors.toList()); + List beReplaced = dummyInventoryInfoEOList.stream() + .filter(e -> LawsStateEnum.BE_REPLACED.getName().equals(e.getStateStr())).collect(Collectors.toList()); + List abolish = dummyInventoryInfoEOList.stream() + .filter(e -> LawsStateEnum.ABOLISH.getName().equals(e.getStateStr())).collect(Collectors.toList()); + if ("1".equals(orderBy)) { + //正序 + list.addAll(active); + list.addAll(theUpcoming); + list.addAll(draft); + list.addAll(beReplaced); + list.addAll(abolish); + + } else if ("2".equals(orderBy)) { + //倒序 + list.addAll(abolish); + list.addAll(beReplaced); + list.addAll(draft); + list.addAll(theUpcoming); + list.addAll(active); + } + } + if(ObjectUtils.isNotEmpty(list)){ + return list; + }else{ + return dummyInventoryInfoEOList; + } + } + /** * 复制 @@ -840,7 +1004,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl dummyInventoryInfoEOList) { + private void treeDict(DummyInventoryInfoEO dummyInventoryInfoEO, List dummyInventoryInfoEOList,List sysDictItems) { List deliverableList = new ArrayList<>(); if(dummyInventoryInfoEOList.size() != 0){ @@ -869,6 +1033,42 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl categoryList = sysCategoryService.list(); for (DummyInventoryInfoEO record : dummyInventoryInfoEOList) { + String shi4Yong4Fan4Wei2 = record.getShi4Yong4Fan4Wei2(); + String state = record.getState(); + String attestationRank = record.getAttestationRank(); + String dutyTerritory = record.getDutyTerritory(); + if(StringUtils.isBlank(record.getWvtaId())){ + record.setWvtaId(""); + } + + //适用范围 apply_scope + if(StringUtils.isNotBlank(shi4Yong4Fan4Wei2)){ + String applyScope = getItemText(dummyInventoryInfoEO.getCut(), sysDictItems, shi4Yong4Fan4Wei2, "apply_scope"); + record.setShi4Yong4Fan4Wei2Str(applyScope); + }else{ + record.setShi4Yong4Fan4Wei2Str(""); + } + //状态 state + if(StringUtils.isNotBlank(state)){ + String stateTemp = getItemText(dummyInventoryInfoEO.getCut(), sysDictItems, state, "state"); + record.setStateStr(stateTemp); + }else{ + record.setStateStr(""); + } + //认证级别 attestation_rank + if(StringUtils.isNotBlank(attestationRank)){ + String attestationRankTemp = getItemText(dummyInventoryInfoEO.getCut(), sysDictItems, attestationRank, "attestation_rank"); + record.setAttestationRankStr(attestationRankTemp); + }else{ + record.setAttestationRankStr(""); + } + //责任领域 duty_territory + if(StringUtils.isNotBlank(dutyTerritory)){ + String dutyTerritoryTemp = getItemText(dummyInventoryInfoEO.getCut(), sysDictItems, dutyTerritory, "duty_territory"); + record.setDutyTerritoryStr(dutyTerritoryTemp); + }else{ + record.setDutyTerritoryStr(""); + } //技术领域 if (categoryList.size() != 0 && StringUtils.isNotBlank(record.getTechnologyTerritory())) { List technologyTerritoryList = Arrays.asList(record.getTechnologyTerritory().split(",")); @@ -922,6 +1122,30 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl sysDictItems, String field,String dictCode) { + StringBuilder sb = new StringBuilder(); + for (String s : field.split(",")) { + List sysDictItemList = sysDictItems.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(dictCode)) + .collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(sysDictItemList)){ + List collect = sysDictItemList.stream().filter(e -> s.equals(e.getItemValue())).collect(Collectors.toList()); + if(ObjectUtils.isNotEmpty(collect)){ + if(CutEnum.CN.getValue().equals(cut)){ + sb.append(collect.get(0).getItemText()); + }else{ + sb.append(collect.get(0).getEnName()); + } + } + } + } + String substring = ""; + if(StringUtils.isNotBlank(sb)){ + substring = sb.substring(0, sb.length()); + } + return substring; + } + private String getTreeName(DummyInventoryInfoEO dummyInventoryInfoEO, List categoryList, List technologyTerritoryList) { StringBuilder sb = new StringBuilder(); for (String technologyTerritory : technologyTerritoryList) { From 3086d524a62c261a33e75451f503753e29538a87 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 15 Dec 2022 17:03:15 +0800 Subject: [PATCH 16/41] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93=E5=88=97?= =?UTF-8?q?=E8=A1=A8-=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectLibraryBaseServiceImpl.java | 108 ++++++++++++++++-- 1 file changed, 101 insertions(+), 7 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 90c2e8399..b6f914c49 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -10,10 +10,33 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.DictModel; import com.jero.common.system.vo.LoginUser; import com.jero.modules.cert.collect.service.IParamsManifestEOService; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.enums.DictCodeEnum; -import com.jero.modules.project.entity.*; -import com.jero.modules.project.enums.*; -import com.jero.modules.project.mapper.*; +import com.jero.modules.project.entity.ConditionAssessmentEO; +import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.project.entity.ProjectLawsInventoryLogEO; +import com.jero.modules.project.entity.ProjectLibraryBase; +import com.jero.modules.project.entity.ProjectLibraryRoleRelEO; +import com.jero.modules.project.entity.ProjectRelatedPersonnel; +import com.jero.modules.project.entity.ProjectTaskInventoryEO; +import com.jero.modules.project.entity.ProjectTaskPlanning; +import com.jero.modules.project.entity.ProjectUserPermission; +import com.jero.modules.project.enums.CertificationProgressEnum; +import com.jero.modules.project.enums.CurrentProjectStatusEnum; +import com.jero.modules.project.enums.DesignComplianceStatusEnum; +import com.jero.modules.project.enums.InventoryAffirmStatusEnum; +import com.jero.modules.project.enums.OperatorTypeEnum; +import com.jero.modules.project.enums.PermissionDescriptionEnum; +import com.jero.modules.project.enums.ProjectRoleEnum; +import com.jero.modules.project.enums.ProjectUserLocationEnum; +import com.jero.modules.project.enums.TaskAffirmStatusEnum; +import com.jero.modules.project.enums.TopEnum; +import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper; +import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; +import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; +import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; +import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper; +import com.jero.modules.project.mapper.ProjectUserPermissionMapper; import com.jero.modules.project.service.IConditionAssessmentEOService; import com.jero.modules.project.service.IProjectLibraryBaseService; import com.jero.modules.project.service.IProjectLibraryRoleRelEOService; @@ -46,8 +69,20 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; +import java.text.Collator; import java.text.ParseException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.UUID; import java.util.stream.Collectors; /** @@ -837,11 +872,12 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl resultLast = new ArrayList<>(); //权限筛选 if (isViewer != 0) { - return resultNew; + resultLast = resultNew; } else { - List resultLast = new ArrayList<>(); + for (ProjectLibraryBase projectLibraryBase : resultNew) { //判断父项目是否有权限 if (!projectIds.contains(projectLibraryBase.getId())) { @@ -871,7 +907,65 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl params, List resultLast) { + if(ObjectUtils.isNotEmpty(params.get("orderByField"))){ + Collator comparator = Collator.getInstance(Locale.CHINESE); + //项目名称,R&H Studio,车型平台,数字平台 + if("projectName".equals(params.get("orderByField"))){ + if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1, e2)->{ + return comparator.compare(e1.getProjectName(),e2.getProjectName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1,e2)->{ + return comparator.compare(e2.getProjectName(),e1.getProjectName()); + }); + } + } + //R&H Studio + if("studioEngineerName".equals(params.get("orderByField"))){ + if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1, e2)->{ + return comparator.compare(e1.getStudioEngineerName(),e2.getStudioEngineerName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1,e2)->{ + return comparator.compare(e2.getStudioEngineerName(),e1.getStudioEngineerName()); + }); + } + } + //车型平台 + if("vehiclePlatform".equals(params.get("orderByField"))){ + if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1, e2)->{ + return comparator.compare(e1.getVehiclePlatform(),e2.getVehiclePlatform()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1,e2)->{ + return comparator.compare(e2.getVehiclePlatform(),e1.getVehiclePlatform()); + }); + } + } + //数字平台 + if("digitalPlatform".equals(params.get("orderByField"))){ + if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1, e2)->{ + return comparator.compare(e1.getDigitalPlatform(),e2.getDigitalPlatform()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){ + Collections.sort(resultLast,(e1,e2)->{ + return comparator.compare(e2.getDigitalPlatform(),e1.getDigitalPlatform()); + }); + } + } } } From e3922c9f23f4747d996da4c3fb7134ee0a6dde5b Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Fri, 16 Dec 2022 10:31:27 +0800 Subject: [PATCH 17/41] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5;=E9=A1=B9=E7=9B=AE=E5=BA=93?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=A1=B5;=E6=9C=AA=E7=AC=A6=E5=90=88?= =?UTF-8?q?=E9=A1=B9=E8=B7=9F=E8=B8=AA=E5=88=97=E8=A1=A8=E9=A1=B5=20?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/virtualListDetails.vue | 32 +++++++++++++++++++ .../views/documentTools/virtualList/index.vue | 10 ++++++ .../projectLibrary/index.vue | 14 ++++++++ .../projectNonConformance/index.vue | 17 ++++++++++ 4 files changed, 73 insertions(+) diff --git a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue index aec561e90..4959732c7 100644 --- a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue +++ b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue @@ -154,6 +154,7 @@ :scroll="{x: '100%',y:'calc(100vh - 356px)'}" rowKey="id" :data-source="dataSource" + @change="tableOnChange" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > @@ -293,6 +294,8 @@ components: {}, visibleFile: false, transferList: false, + orderBy: '1', + orderByField: '', downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download', downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download', dataSourceFile: [], @@ -334,6 +337,7 @@ align: 'center', dataIndex: 'serialNumber', width: 180, + sorter:true, fixed: 'left', scopedSlots: { customRender: 'standard' } }, @@ -364,6 +368,7 @@ align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'shi4Yong4Fan4Wei2_dictText' }, { @@ -371,6 +376,7 @@ align: 'center', width: 100, ellipsis: true, + sorter:true, dataIndex: 'state_dictText' }, { @@ -392,6 +398,7 @@ align: 'center', width: 200, ellipsis: true, + sorter:true, dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1' }, { @@ -399,6 +406,7 @@ align: 'center', width: 210, ellipsis: true, + sorter:true, dataIndex: 'implementTime' }, { @@ -406,6 +414,7 @@ align: 'center', dataIndex: 'wvtaId', width: 180, + sorter:true, ellipsis: true }, { @@ -420,6 +429,7 @@ align: 'center', width: 200, ellipsis: true, + sorter:true, dataIndex: 'attestationRank_dictText' }, { @@ -441,6 +451,7 @@ align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'dutyTerritory_dictText' }, { @@ -743,10 +754,31 @@ this.$refs.transferListRef.handleCancel() this.getList() }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'shi4Yong4Fan4Wei2_dictText'){ + this.orderByField = 'shi4Yong4Fan4Wei2' + } else if(sorter.columnKey == 'state_dictText') { + this.orderByField = 'state' + } else if(sorter.columnKey == 'xin1Che1Xing2Shi2Shi1Ri4Qi1') { + this.orderByField = 'xin1_che1_xing2_shi2_shi1_ri4_qi1' + } else if(sorter.columnKey == 'implementTime') { + this.orderByField = 'implement_time' + } else if(sorter.columnKey == 'dutyTerritory_dictText') { + this.orderByField = 'dutyTerritory' + } else if(sorter.columnKey == 'attestationRank_dictText') { + this.orderByField = 'attestationRank' + } else{ + this.orderByField = sorter.columnKey + } + this.getList() + }, getList() { let query = { ...this.queryParam, ...this.queryParamQuery, + orderBy: this.orderBy, + orderByField: this.orderByField, dummyInventoryBaseId: this.$route.query.id } this.loading = true diff --git a/jero-web/src/views/documentTools/virtualList/index.vue b/jero-web/src/views/documentTools/virtualList/index.vue index d329acfc3..e211b8033 100644 --- a/jero-web/src/views/documentTools/virtualList/index.vue +++ b/jero-web/src/views/documentTools/virtualList/index.vue @@ -56,6 +56,7 @@ :scroll="{x: '100%'}" rowKey="id" :data-source="dataSource" + @change="tableOnChange" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > @@ -246,6 +247,8 @@ ], queryParam: {}, administrators:false, + orderBy: '1', + orderByField: '' } }, mounted() { @@ -269,6 +272,11 @@ this.selectedRowKeys = [] this.getList() }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + this.orderByField = sorter.columnKey + this.getList() + }, setCreatorClick() { if (this.selectedRowKeys.length > 0) { let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) @@ -415,6 +423,8 @@ let query = { pageNo: this.pageNo, pageSize: this.pageSize, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true diff --git a/jero-web/src/views/projectManagement/projectLibrary/index.vue b/jero-web/src/views/projectManagement/projectLibrary/index.vue index ad55299ec..57feeb8b8 100644 --- a/jero-web/src/views/projectManagement/projectLibrary/index.vue +++ b/jero-web/src/views/projectManagement/projectLibrary/index.vue @@ -120,6 +120,7 @@ :pagination="false" :scroll="{x: '100%'}" rowKey="id" + @change="tableOnChange" :data-source="dataSource" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" @@ -203,6 +204,7 @@ align: 'left', dataIndex: 'projectName', width: 180, + sorter:true, ellipsis: true, scopedSlots: { customRender: 'projectName' } }, @@ -224,6 +226,7 @@ title: this.$t('StudioEngineer'), align: 'center', width: 180, + sorter:true, ellipsis: true, dataIndex: 'studioEngineerName' }, @@ -246,6 +249,7 @@ align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'vehiclePlatform' }, { @@ -253,6 +257,7 @@ align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'digitalPlatform' }, { @@ -265,6 +270,8 @@ ], userInfoQuery: {}, queryParam: {}, + orderBy: '1', + orderByField: '', administrators: false } }, @@ -396,10 +403,17 @@ this.queryParam[value] = id this.queryParam = { ...this.queryParam } }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + this.orderByField = sorter.columnKey + this.getList() + }, getList() { let query = { pageNo: this.pageNo, pageSize: this.pageSize, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true diff --git a/jero-web/src/views/projectManagement/projectNonConformance/index.vue b/jero-web/src/views/projectManagement/projectNonConformance/index.vue index 3c58f2543..36c01e653 100644 --- a/jero-web/src/views/projectManagement/projectNonConformance/index.vue +++ b/jero-web/src/views/projectManagement/projectNonConformance/index.vue @@ -155,6 +155,7 @@ :loading="loading" :pagination="false" :scroll="{x: '100%'}" + @change="tableOnChange" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :data-source="dataSource" :columns="columns" @@ -205,6 +206,7 @@ align: 'center', dataIndex: 'serialNumber', width: 170, + sorter:true, scopedSlots: { customRender: 'standard' } }, { @@ -219,6 +221,7 @@ align: 'center', dataIndex: 'flowType', width: 180, + sorter:true, ellipsis: true }, { @@ -226,6 +229,7 @@ align: 'center', dataIndex: 'dutyTerritory', width: 180, + sorter:true, ellipsis: true }, { @@ -233,6 +237,7 @@ align: 'center', dataIndex: 'projectName', width: 180, + sorter:true, ellipsis: true }, { @@ -240,24 +245,29 @@ align: 'center', dataIndex: 'problemType', width: 140, + sorter:true, ellipsis: true }, { title: this.$t('Sponsor'), align: 'center', dataIndex: 'initiator', + sorter:true, width: 140 }, { title: this.$t('personLiable'), align: 'center', dataIndex: 'duty', + sorter:true, width: 140 } ], total: 0, pageSize: 10, pageNo: 1, + orderBy: '1', + orderByField: '', url: { page: '/project/ncrTrackController/queryPage', exportData: '/project/ncrTrackController/exportData' @@ -333,10 +343,17 @@ this.pageSize = pageSize this.getList() }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + this.orderByField = sorter.columnKey + this.getList() + }, getList() { let query = { pageNo: this.pageNo, pageSize: this.pageSize, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true From 32d722101a0e7536991a00729dc451faa0c45721 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 16 Dec 2022 11:51:40 +0800 Subject: [PATCH 18/41] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ProjectLawsInventoryEO.java | 8 + .../ProjectLawsInventoryEOServiceImpl.java | 242 ++++++++++++++++++ 2 files changed, 250 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java index c93605172..46102c993 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java @@ -472,4 +472,12 @@ public class ProjectLawsInventoryEO implements Serializable { @ApiModelProperty(value = "调取虚拟清单中文档ids") private String dummyids;//调取虚拟清单中文档ids + //排序(1->正序, 2->倒序) + @TableField(exist = false) + private String orderBy; + + //排序字段 + @TableField(exist = false) + private String orderByField; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 1c482d6ef..69490b99b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -31,7 +31,9 @@ import com.jero.modules.document.entity.BussDocumentLibraryEO; import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.entity.DummyInventoryInfoEO; +import com.jero.modules.dummy.enums.AttestationRankEnum; import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; import com.jero.modules.dummy.service.impl.DummyInventoryBaseEOServiceImpl; import com.jero.modules.dummy.util.DeepCopyListUtil; @@ -113,6 +115,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; +import java.text.Collator; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -868,9 +871,234 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl hearSort(ProjectLawsInventoryEO projectLawsInventoryEO, List result) { +// String orderBy = "1"; +// String orderByField = "serialNumber"; + String orderBy = projectLawsInventoryEO.getOrderBy(); + String orderByField = projectLawsInventoryEO.getOrderByField(); + if(ObjectUtils.isNotEmpty(orderByField)){ + Collator comparator = Collator.getInstance(Locale.CHINESE); + //编号 serialNumber + if("serialNumber".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getSerialNumber(),e2.getSerialNumber()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getSerialNumber(),e1.getSerialNumber()); + }); + } + } + // WVTA ID wvtaId + if("wvtaId".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getWvtaId(),e2.getWvtaId()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getWvtaId(),e1.getWvtaId()); + }); + } + } + // 责任领域 dutyTerritory_dictText + if("dutyTerritory".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getDutyTerritory_dictText(),e2.getDutyTerritory_dictText()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getDutyTerritory_dictText(),e1.getDutyTerritory_dictText()); + }); + } + } + // 法规工程师 regulationOwnerName + if("regulationOwnerName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getRegulationOwnerName(),e2.getRegulationOwnerName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getRegulationOwnerName(),e1.getRegulationOwnerName()); + }); + } + } + // 认证工程师 homologationEngineerName + if("homologationEngineerName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getHomologationEngineerName(),e2.getHomologationEngineerName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getHomologationEngineerName(),e1.getHomologationEngineerName()); + }); + } + } + // 工程接口人 engineeringInterfacePersonName + if("engineeringInterfacePersonName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getEngineeringInterfacePersonName(),e2.getEngineeringInterfacePersonName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getEngineeringInterfacePersonName(),e1.getEngineeringInterfacePersonName()); + }); + } + } + List list = new LinkedList<>(); + // 清单确认状态(未发起,法规待确认,认证待确认,接受,法规拒绝,认证拒绝) inventoryAffirmStatusName + //InventoryAffirmStatusEnum + if("inventoryAffirmStatusName".equals(orderByField)){ + result = inventorySort(orderBy,orderByField,result,list); + } + // 任务确认状态(未发起,待确认,接受,拒绝) taskAffirmStatusName + //TaskAffirmStatusEnum + if("taskAffirmStatusName".equals(orderByField)){ + result = taskSort(orderBy,orderByField,result,list); + } + // 认证级别(WVTA,Com.-VTA,Cert.-Market,Reg.-Market) attestationRank_dictText + if("attestationRank".equals(orderByField)){ + result = attestationRankSort(orderBy,orderByField,result,list); + } + } + return result; + } + + //清单确认状态排序 + private List inventorySort(String orderBy, String orderByField, + List dummyInventoryInfoEOList, + List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "inventoryAffirmStatusName".equals(orderByField)){ + List notStarted = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.NOT_STARTED.getName())).collect(Collectors.toList()); + List regEngToConfirm = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.REG_ENG_TO_CONFIRM.getName())).collect(Collectors.toList()); + List homoEngToConfirm = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.HOMO_ENG_TO_CONFIRM.getName())).collect(Collectors.toList()); + List accepted = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.ACCEPTED.getName())).collect(Collectors.toList()); + List regEngRejected = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.REG_ENG_REJECTED.getName())).collect(Collectors.toList()); + List homoEngRejected = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.HOMO_ENG_REJECTED.getName())).collect(Collectors.toList()); + + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + list.addAll(notStarted); + list.addAll(regEngToConfirm); + list.addAll(homoEngToConfirm); + list.addAll(accepted); + list.addAll(regEngRejected); + list.addAll(homoEngRejected); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(homoEngRejected); + list.addAll(regEngRejected); + list.addAll(accepted); + list.addAll(homoEngToConfirm); + list.addAll(regEngToConfirm); + list.addAll(notStarted); + } + } + if(ObjectUtils.isNotEmpty(list)){ + return list; + }else{ + return dummyInventoryInfoEOList; + } + } + // 任务确认状态排序 + private List taskSort(String orderBy, String orderByField, + List dummyInventoryInfoEOList, + List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "taskAffirmStatusName".equals(orderByField)){ + List notStarted = dummyInventoryInfoEOList.stream() + .filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.NOT_STARTED.getName())).collect(Collectors.toList()); + List listToConfirm = dummyInventoryInfoEOList.stream() + .filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.LIST_TO_CONFIRM.getName())).collect(Collectors.toList()); + List accepted = dummyInventoryInfoEOList.stream() + .filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.ACCEPTED.getName())).collect(Collectors.toList()); + List rejected = dummyInventoryInfoEOList.stream() + .filter(e -> e.getTaskAffirmStatusName().equals(TaskAffirmStatusEnum.REJECTED.getName())).collect(Collectors.toList()); + + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + list.addAll(notStarted); + list.addAll(listToConfirm); + list.addAll(accepted); + list.addAll(rejected); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(rejected); + list.addAll(accepted); + list.addAll(listToConfirm); + list.addAll(notStarted); + } + } + if(ObjectUtils.isNotEmpty(list)){ + return list; + }else{ + return dummyInventoryInfoEOList; + } + } + //认证级别 + private List attestationRankSort(String orderBy, String orderByField, + List dummyInventoryInfoEOList, + List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "attestationRank".equals(orderByField)){ + List wvta = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.WVTA.getValue())).collect(Collectors.toList()); + List vta = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.VTA.getValue())).collect(Collectors.toList()); + List market = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.MARKET.getValue())).collect(Collectors.toList()); + List regu = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.REGU.getValue())).collect(Collectors.toList()); + List na = dummyInventoryInfoEOList.stream() + .filter(e -> e.getAttestationRank_dictText().startsWith(AttestationRankEnum.NA.getValue())).collect(Collectors.toList()); + + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + List collect = dummyInventoryInfoEOList.stream().filter(e -> StringUtils.isBlank(e.getAttestationRank_dictText())).collect(Collectors.toList()); + list.addAll(collect); + list.addAll(wvta); + list.addAll(vta); + list.addAll(market); + list.addAll(regu); + list.addAll(na); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(na); + list.addAll(regu); + list.addAll(market); + list.addAll(vta); + list.addAll(wvta); + List collect = dummyInventoryInfoEOList.stream().filter(e -> StringUtils.isBlank(e.getAttestationRank_dictText())).collect(Collectors.toList()); + list.addAll(collect); + } + } + if(ObjectUtils.isNotEmpty(list)){ + return list; + }else{ + return dummyInventoryInfoEOList; + } + } + /** * 数据字典数据处理方法 * @param result 返回值 @@ -880,6 +1108,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl sysDictItems = sysDictItemServiceImpl.getBaseMapper().selectItemsAll(); for (ProjectLawsInventoryEO projectLawsInventoryEO : result) { + if(StringUtils.isBlank(projectLawsInventoryEO.getWvtaId())){ + projectLawsInventoryEO.setWvtaId(""); + } + if(StringUtils.isBlank(projectLawsInventoryEO.getDutyTerritory_dictText())){ + projectLawsInventoryEO.setDutyTerritory_dictText(""); + } //处理适用地区 String region = projectLawsInventoryEO.getRegion(); if(StringUtils.isNotEmpty(region)){ @@ -906,6 +1140,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Fri, 16 Dec 2022 17:01:11 +0800 Subject: [PATCH 19/41] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ProjectTaskInventoryEO.java | 12 + .../modules/project/enums/ColourEnum.java | 48 +++ .../ProjectTaskInventoryEOServiceImpl.java | 282 ++++++++++++++++++ 3 files changed, 342 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ColourEnum.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryEO.java index 37aef3e07..55fc88a64 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryEO.java @@ -120,6 +120,8 @@ public class ProjectTaskInventoryEO implements Serializable { @ApiModelProperty(value = "认证进度") @Dict(dicCode = "certification_progress") private String certificationProgress; + @TableField(exist = false) + private String certificationProgressName; /**认证进度备注*/ @Excel(name = "认证进度备注", width = 15) @@ -150,6 +152,8 @@ public class ProjectTaskInventoryEO implements Serializable { @Dict(dicCode ="duty_territory") @Excel(name = "责任领域", width = 20) private String dutyTerritory; + @TableField(exist = false) + private String dutyTerritoryName; /**设计符合性 待办id**/ @TableField(exist = false) @@ -337,4 +341,12 @@ public class ProjectTaskInventoryEO implements Serializable { @TableField(exist = false) private String prehomoDutyId; + //排序(1->正序, 2->倒序) + @TableField(exist = false) + private String orderBy; + + //排序字段 + @TableField(exist = false) + private String orderByField; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ColourEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ColourEnum.java new file mode 100644 index 000000000..3261a49a9 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ColourEnum.java @@ -0,0 +1,48 @@ +package com.jero.modules.project.enums; + +/** + * 当前状态枚举类 + */ +public enum ColourEnum { + + RED("红色","1"), // 未完成 + YELLOW("黄色","2"), // 已完成 + GREEN("绿色","3"), // 展示数据 + BLUE("蓝色","4") // 展示数据 + ; + + + String name; + String value; + + private ColourEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public static String getTextByValue(String value) { + ColourEnum[] values = values(); + for (ColourEnum taskStatusEnum : values) { + if (taskStatusEnum.value.equals(value)) { + return taskStatusEnum.name; + } + } + return null; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java index 40625b660..e6cb3cdfc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java @@ -14,6 +14,7 @@ import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.modules.document.entity.BussDocumentLibraryEO; import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; @@ -51,6 +52,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; +import java.text.Collator; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -289,9 +291,263 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl hearSort(ProjectTaskInventoryEO projectTaskInventoryEO, List result) { + //标准信息 serialNumber +// String orderBy = "1"; +// String orderByField = "projectStatusAssess"; + String orderBy = projectTaskInventoryEO.getOrderBy(); + String orderByField = projectTaskInventoryEO.getOrderByField(); + if(ObjectUtils.isNotEmpty(orderByField)) { + Collator comparator = Collator.getInstance(Locale.CHINESE); + //编号 serialNumber + if ("serialNumber".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(result, (e1, e2) -> { + return comparator.compare(e1.getSerialNumber(), e2.getSerialNumber()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(result, (e1, e2) -> { + return comparator.compare(e2.getSerialNumber(), e1.getSerialNumber()); + }); + } + } + // 责任领域 dutyTerritoryName + if("dutyTerritory".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getDutyTerritoryName(),e2.getDutyTerritoryName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getDutyTerritoryName(),e1.getDutyTerritoryName()); + }); + } + } + // 认证进度 certificationProgressName + if("certificationProgressName".equals(orderByField)){ + if(OrderEnum.POSITIVE.getValue().equals(orderBy)){ + Collections.sort(result,(e1, e2)->{ + return comparator.compare(e1.getCertificationProgressName(),e2.getCertificationProgressName()); + }); + }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ + Collections.sort(result,(e1,e2)->{ + return comparator.compare(e2.getCertificationProgressName(),e1.getCertificationProgressName()); + }); + } + } + + List list = new LinkedList<>(); + // 设计符合性确认 designFlowTaskStatus ReviewResultEnum + result = designSort(result, orderBy, orderByField, list); + + // Pre-Homo确认 prehomoFlowTaskStatus ReviewResultEnum + result = preSort(result, orderBy, orderByField, list); + + // 验证符合性确认 verifyFlowTaskStatus ReviewResultEnum + result = verifySort(result, orderBy, orderByField, list); + + // 当前状态 projectStatusAssess + result = colourSort(result, orderBy, orderByField, list); + } + return result; + } + + private List designSort(List result, + String orderBy, + String orderByField, + List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "designFlowTaskStatus".equals(orderByField)){ + List conformity = result.stream() + .filter(e -> ReviewResultEnum.CONFORMITY.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + List inconformity = result.stream() + .filter(e -> ReviewResultEnum.INCONFORMITY.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + List toTrack = result.stream() + .filter(e -> ReviewResultEnum.TO_TRACK.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + List uninvolved = result.stream() + .filter(e -> ReviewResultEnum.UNINVOLVED.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + List toBeConfirmed = result.stream() + .filter(e -> ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + List terminationOfTask = result.stream() + .filter(e -> ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + //状态为空的 + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + list.addAll(collect); + list.addAll(toBeConfirmed); + list.addAll(conformity); + list.addAll(inconformity); + list.addAll(toTrack); + list.addAll(uninvolved); + list.addAll(terminationOfTask); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(terminationOfTask); + list.addAll(uninvolved); + list.addAll(toTrack); + list.addAll(inconformity); + list.addAll(conformity); + list.addAll(toBeConfirmed); + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getDesignFlowTaskStatus())).collect(Collectors.toList()); + list.addAll(collect); + } + } + if(ObjectUtils.isEmpty(list)){ + return result; + }else{ + return list; + } + } + private List preSort(List result, + String orderBy, + String orderByField, + List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "prehomoFlowTaskStatus".equals(orderByField)){ + List conformity = result.stream() + .filter(e -> ReviewResultEnum.CONFORMITY.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + List inconformity = result.stream() + .filter(e -> ReviewResultEnum.INCONFORMITY.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + List toTrack = result.stream() + .filter(e -> ReviewResultEnum.TO_TRACK.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + List uninvolved = result.stream() + .filter(e -> ReviewResultEnum.UNINVOLVED.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + List toBeConfirmed = result.stream() + .filter(e -> ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + List terminationOfTask = result.stream() + .filter(e -> ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + list.addAll(collect); + list.addAll(toBeConfirmed); + list.addAll(conformity); + list.addAll(inconformity); + list.addAll(toTrack); + list.addAll(uninvolved); + list.addAll(terminationOfTask); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(terminationOfTask); + list.addAll(uninvolved); + list.addAll(toTrack); + list.addAll(inconformity); + list.addAll(conformity); + list.addAll(toBeConfirmed); + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getPrehomoFlowTaskStatus())).collect(Collectors.toList()); + list.addAll(collect); + } + } + if(ObjectUtils.isEmpty(list)){ + return result; + }else{ + return list; + } + } + private List verifySort(List result, + String orderBy, + String orderByField, + List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "verifyFlowTaskStatus".equals(orderByField)){ + List conformity = result.stream() + .filter(e -> ReviewResultEnum.CONFORMITY.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + List inconformity = result.stream() + .filter(e -> ReviewResultEnum.INCONFORMITY.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + List toTrack = result.stream() + .filter(e -> ReviewResultEnum.TO_TRACK.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + List uninvolved = result.stream() + .filter(e -> ReviewResultEnum.UNINVOLVED.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + List toBeConfirmed = result.stream() + .filter(e -> ReviewResultEnum.TO_BE_CONFIRMED.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + List terminationOfTask = result.stream() + .filter(e -> ReviewResultEnum.TERMINATION_OF_TASK.getValue().equals(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + list.addAll(collect); + list.addAll(toBeConfirmed); + list.addAll(conformity); + list.addAll(inconformity); + list.addAll(toTrack); + list.addAll(uninvolved); + list.addAll(terminationOfTask); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(terminationOfTask); + list.addAll(uninvolved); + list.addAll(toTrack); + list.addAll(inconformity); + list.addAll(conformity); + list.addAll(toBeConfirmed); + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getVerifyFlowTaskStatus())).collect(Collectors.toList()); + list.addAll(collect); + } + } + if(ObjectUtils.isEmpty(list)){ + return result; + }else{ + return list; + } + } + private List colourSort(List result, + String orderBy, + String orderByField, + List list) { + if(ObjectUtils.isNotEmpty(orderByField) && "projectStatusAssess".equals(orderByField)){ + List red = result.stream() + .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.RED.getValue())).collect(Collectors.toList()); + List yellow = result.stream() + .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.YELLOW.getValue())).collect(Collectors.toList()); + List green = result.stream() + .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.GREEN.getValue())).collect(Collectors.toList()); + List blue = result.stream() + .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.BLUE.getValue())).collect(Collectors.toList()); + + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + //正序 + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getProjectStatusAssess())).collect(Collectors.toList()); + list.addAll(collect); + list.addAll(green); + list.addAll(yellow); + list.addAll(red); + list.addAll(blue); + + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + //倒序 + list.addAll(blue); + list.addAll(red); + list.addAll(yellow); + list.addAll(green); + List collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getProjectStatusAssess())).collect(Collectors.toList()); + list.addAll(collect); + } + } + if(ObjectUtils.isEmpty(list)){ + return result; + }else{ + return list; + } + } + @Override public Result processCall(JSONObject jsonObject) { String requestSource = jsonObject.getString("requestSource"); @@ -1341,7 +1597,33 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl result,String cut){ if(CollectionUtils.isNotEmpty(result)){ + List dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("duty_territory"); + List certificationProgress = sysDictItemServiceImpl.selectItemsByDictCode("certification_progress"); for (ProjectTaskInventoryEO projectTaskInventoryEO : result) { + //责任领域 + if(StringUtils.isNotEmpty(projectTaskInventoryEO.getDutyTerritory())){ + List collect = dictItemList.stream() + .filter(dict -> StringUtils.equals(dict.getItemValue(), projectTaskInventoryEO.getDutyTerritory())).collect(Collectors.toList()); + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + projectTaskInventoryEO.setDutyTerritoryName(collect.get(0).getItemText()); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + projectTaskInventoryEO.setDutyTerritoryName(collect.get(0).getEnName()); + } + }else{ + projectTaskInventoryEO.setDutyTerritoryName(""); + } + //认证进度 certificationProgress + if(StringUtils.isNotEmpty(projectTaskInventoryEO.getCertificationProgress())){ + List collect = certificationProgress.stream() + .filter(dict -> StringUtils.equals(dict.getItemValue(), projectTaskInventoryEO.getCertificationProgress())).collect(Collectors.toList()); + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + projectTaskInventoryEO.setCertificationProgressName(collect.get(0).getItemText()); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + projectTaskInventoryEO.setCertificationProgressName(collect.get(0).getEnName()); + } + }else{ + projectTaskInventoryEO.setCertificationProgressName(""); + } if(StringUtils.isNotEmpty(projectTaskInventoryEO.getDesignStatus())){ String textByValue = DesignComplianceStatusEnum.getTextByValue(projectTaskInventoryEO.getDesignStatus(), cut); projectTaskInventoryEO.setDesignStatus(textByValue); From 87ee7e6df0831574b62a86609f2bf54dd64f6bae Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Fri, 16 Dec 2022 17:01:15 +0800 Subject: [PATCH 20/41] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95;?= =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95=20=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectManagement/components/TaskList.vue | 18 ++++++++++++++- .../components/listOfRegulations.vue | 23 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index c79d04c5b..20406cdaf 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -109,6 +109,7 @@ :scroll="{x: true,y:'calc(100vh - 335px)'}" :data-source="dataSource" rowKey="id" + @change="tableOnChange" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > @@ -255,12 +256,14 @@ align: 'center', dataIndex: 'standard', width: 202, + sorter:true, scopedSlots: { customRender: 'standardInformation' } }, { title: this.$t('areaOfResponsibility'), align: 'center', width: 180, + sorter:true, dataIndex: 'areaOfResponsibility', scopedSlots: { customRender: 'areaOfResponsibility' } }, @@ -268,6 +271,7 @@ title: this.$t('confirmationOfDesignConformity'), align: 'center', width: 240, + sorter:true, dataIndex: 'confirmationOfDesignConformity', scopedSlots: { customRender: 'confirmationOfDesignConformity' } }, @@ -275,6 +279,7 @@ title: this.$t('PrehomoConfirmation'), align: 'center', width: 240, + sorter:true, dataIndex: 'PrehomoConfirmation', scopedSlots: { customRender: 'PrehomoConfirmation' } }, @@ -282,6 +287,7 @@ title: this.$t('verificationAndConformityconfirmation'), align: 'center', width: 240, + sorter:true, dataIndex: 'verificationAndConformityconfirmation', scopedSlots: { customRender: 'verificationAndConformityconfirmation' } }, @@ -289,6 +295,7 @@ title: this.$t('CertificationProgress'), align: 'center', width: 150, + sorter:true, dataIndex: 'CertificationProgress', scopedSlots: { customRender: 'CertificationProgress' } }, @@ -296,11 +303,14 @@ title: this.$t('CurrentStatus'), align: 'center', width: 150, + sorter:true, dataIndex: 'CurrentProjectStatusEvaluation', scopedSlots: { customRender: 'CurrentProjectStatusEvaluation' } } ], selectedRowKeys: [], + orderBy: '1', + orderByField: '', status: { 'NotDone': '待办', @@ -535,7 +545,11 @@ CertificationDirectory() { this.$refs.certificationDirectoryRef.addModel() }, - + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + this.orderByField = sorter.columnKey + this.getList() + }, getList() { let queryParam = JSON.parse(JSON.stringify(this.queryParam)) Object.keys(queryParam).forEach(val => { @@ -548,6 +562,8 @@ } let query = { projectLibraryId: this.$route.query.id, + orderBy: this.orderBy, + orderByField: this.orderByField, ...queryParam } this.loading = true diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index 6fd855ff8..30745679d 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -208,6 +208,7 @@ :scroll="{x: '100%',y:'calc(100vh - 356px)'}" rowKey="id" :data-source="dataSource" + @change="tableOnChange" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > @@ -488,6 +489,8 @@ return { roleSwitchingList: [], listTitle: '', + orderBy: '1', + orderByField: '', columnsAll: [ { title: this.$t('standard'), @@ -495,6 +498,7 @@ dataIndex: 'serialNumber', width: 180, fixed: 'left', + sorter:true, scopedSlots: { customRender: 'standard' } }, { @@ -517,11 +521,13 @@ align: 'center', dataIndex: 'inventoryAffirmStatusName', width: 240, + sorter:true, ellipsis: true }, { title: this.$t('taskAffirmStatus'), align: 'center', + sorter:true, dataIndex: 'taskAffirmStatusName', width: 240, ellipsis: true @@ -578,6 +584,7 @@ align: 'center', dataIndex: 'attestationRank_dictText', width: 180, + sorter:true, ellipsis: true }, { @@ -592,12 +599,14 @@ align: 'center', dataIndex: 'wvtaId', width: 180, + sorter:true, ellipsis: true }, { title: this.$t('areaOfResponsibility'), align: 'center', ellipsis: true, + sorter:true, dataIndex: 'dutyTerritory_dictText', width: 180 }, @@ -605,6 +614,7 @@ title: this.$t('regulatoryEngineer'), align: 'center', ellipsis: true, + sorter:true, dataIndex: 'regulationOwnerName', width: 180 }, @@ -612,6 +622,7 @@ title: this.$t('certifiedEngineer'), align: 'center', ellipsis: true, + sorter:true, dataIndex: 'homologationEngineerName', width: 180 }, @@ -619,6 +630,7 @@ title: this.$t('engineeringInterfacePerson'), align: 'center', ellipsis: true, + sorter:true, dataIndex: 'engineeringInterfacePersonName', width: 180 }, @@ -1495,6 +1507,15 @@ this.queryParamQuery = sqp this.getList() }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'attestationRank_dictText'){ + this.orderByField = 'attestationRank' + } else{ + this.orderByField = sorter.columnKey + } + this.getList() + }, getList() { let roleCode if (this.isDisplay) { @@ -1520,6 +1541,8 @@ ...this.queryParamQuery, ...queryParam, projectLibraryId: this.$route.query.id, + orderBy: this.orderBy, + orderByField: this.orderByField, roleCode: roleCode } this.loading = true From 6428a6111aa10795919a6217fe78f080387c55a5 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 16 Dec 2022 17:36:52 +0800 Subject: [PATCH 21/41] =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E5=BA=93=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ParamsReportEOController.java | 74 +++++++++++++++++-- .../cert/report/entity/ParamsReportEO.java | 9 +++ .../report/mapper/ParamsReportEOMapper.java | 3 + .../mapper/xml/ParamsReportEOMapper.xml | 14 +++- .../service/IParamsReportEOService.java | 1 + .../impl/ParamsReportEOServiceImpl.java | 4 + 6 files changed, 97 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java index 80fc4a3df..6c3eed08e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java @@ -9,23 +9,35 @@ import com.jero.modules.cert.report.entity.ParamsReportEO; import com.jero.modules.cert.report.entity.ParamsReportExportHistoryEO; import com.jero.modules.cert.report.service.IParamsReportEOService; import com.jero.modules.cert.report.service.IParamsReportExportHistoryEOService; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.system.util.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.Collator; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Locale; - /** +/** * @Description: 上报库 * @Author: jero-boot * @Date: 2022-05-18 @@ -41,7 +53,7 @@ public class ParamsReportEOController extends JeroController rows = pageList.getRecords(); - for (ParamsReportEO row : rows) { +// IPage page = new Page(pageNo, pageSize); +// IPage pageList = paramsReportEOService.pageInfo(page, paramsReportEO); +// List rows = pageList.getRecords(); +// for (ParamsReportEO row : rows) { +// row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle()); +// } + List paramsReportEOS = paramsReportEOService.listInfo(paramsReportEO); + for (ParamsReportEO row : paramsReportEOS) { row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle()); } + String orderBy = paramsReportEO.getOrderBy(); + String orderByField = paramsReportEO.getOrderByField(); + if(ObjectUtils.isNotEmpty(orderByField)) { + Collator comparator = Collator.getInstance(Locale.CHINESE); + //编号 serialNumber + if ("projectName".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(paramsReportEOS, (e1, e2) -> { + return comparator.compare(e1.getPageName(), e2.getPageName()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(paramsReportEOS, (e1, e2) -> { + return comparator.compare(e2.getPageName(), e1.getPageName()); + }); + } + } + } + IPage pageList = getPages(pageNo,pageSize,paramsReportEOS); return Result.OK(pageList); } + public Page getPages(Integer currentPage, Integer pageSize, List list){ + Page page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } /** * 分页列表查询 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java index 49612c6d5..ac73a4ceb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java @@ -82,4 +82,13 @@ public class ParamsReportEO implements Serializable { @TableField(exist = false) private String pageName; // 项目名称-国家-清单名称 + //排序(1->正序, 2->倒序) + @TableField(exist = false) + private String orderBy; + + //排序字段 + @TableField(exist = false) + private String orderByField; + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java index 80e4464e3..18726f1dd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.cert.report.entity.ParamsReportEO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @Description: 上报库 * @Author: jero-boot @@ -14,5 +16,6 @@ import org.apache.ibatis.annotations.Param; public interface ParamsReportEOMapper extends BaseMapper { IPage pageInfo(@Param("page") IPage page, @Param("paramsReportEO") ParamsReportEO paramsReportEO); + List listInfo(@Param("paramsReportEO") ParamsReportEO paramsReportEO); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml index 164200a28..8f9924712 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml @@ -57,5 +57,17 @@ order by create_time desc + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java index 6c2c6bcac..5504cd064 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java @@ -62,6 +62,7 @@ public interface IParamsReportEOService extends IService { List queryList(); IPage pageInfo(IPage page, ParamsReportEO paramsReportEO); + List listInfo(ParamsReportEO paramsReportEO); boolean isSync(String oldParamsManifestId, Integer version); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java index fd73ae440..85005e384 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java @@ -138,6 +138,10 @@ public class ParamsReportEOServiceImpl extends ServiceImpl listInfo(ParamsReportEO paramsReportEO) { + return paramsReportEOMapper.listInfo(paramsReportEO); + } @Override public boolean isSync(String oldParamsManifestId, Integer version) { From ea129c82d2ad978fc8f94b1d0a998d779135e755 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 16 Dec 2022 17:37:55 +0800 Subject: [PATCH 22/41] =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E5=BA=93=E7=AE=A1?= =?UTF-8?q?=E7=90=86-=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cert/report/controller/ParamsReportEOController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java index 6c3eed08e..b5fd84f0c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java @@ -93,8 +93,8 @@ public class ParamsReportEOController extends JeroController { return comparator.compare(e1.getPageName(), e2.getPageName()); From 087139185f503180f8c77ba4a63ca43f8576004f Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 19 Dec 2022 10:33:04 +0800 Subject: [PATCH 23/41] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8-=E8=A1=A8=E5=A4=B4?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsTemplateEOController.java | 103 ++++++++++++++++-- .../template/entity/ParamsTemplateEO.java | 2 + 2 files changed, 98 insertions(+), 7 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java index d6640cb1e..6a3c4ecd4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java @@ -9,7 +9,11 @@ import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.base.controller.JeroController; import com.jero.modules.cert.template.entity.ParamsTemplateEO; import com.jero.modules.cert.template.service.IParamsTemplateEOService; +import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.ocr.util.LineHumpUtil; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.mapper.SysDictItemMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -17,16 +21,28 @@ import org.apache.commons.lang.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.Collator; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Locale; +import java.util.stream.Collectors; - /** +/** * @Description: 参数模板表 * @Author: jero-boot * @Date: 2022-04-21 @@ -39,7 +55,9 @@ import java.util.List; public class ParamsTemplateEOController extends JeroController { @Autowired private IParamsTemplateEOService paramsTemplateEOService; - + @Autowired + private SysDictItemMapper sysDictItemMapper; + /** * 分页列表查询 * @@ -70,15 +88,86 @@ public class ParamsTemplateEOController extends JeroController queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().like(StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName()), ParamsTemplateEO::getParamsTemplateName, paramsTemplateEO.getParamsTemplateName()) .eq(StringUtils.isNotEmpty(paramsTemplateEO.getRegion()), ParamsTemplateEO::getRegion, paramsTemplateEO.getRegion()); -// .eq(StringUtils.isNotEmpty(paramsTemplateEO.getState()), ParamsTemplateEO::getState, paramsTemplateEO.getState()) - queryWrapper.orderBy(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField()), "1".equals(paramsTemplateEO.getOrderBy())?true:false, paramsTemplateEO.getOrderByField()) - .orderBy(StringUtils.isBlank(paramsTemplateEO.getOrderByField()), false, "update_time"); - +// paramsTemplateEO.setOrderByField("region"); +// paramsTemplateEO.setOrderBy("1"); + if(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField())){ + if("params_template_name".equals(paramsTemplateEO.getOrderByField()) + || "create_time".equals(paramsTemplateEO.getOrderByField()) + || "update_time".equals(paramsTemplateEO.getOrderByField())){ + queryWrapper.orderBy(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField()), + OrderEnum.POSITIVE.getValue().equals(paramsTemplateEO.getOrderBy())?true:false, + "convert("+paramsTemplateEO.getOrderByField()+" using gbk)"); + } + }else{ + queryWrapper.orderBy(StringUtils.isBlank(paramsTemplateEO.getOrderByField()), false, "update_time"); + } Page page = new Page(pageNo, pageSize); IPage pageList = paramsTemplateEOService.page(page, queryWrapper); + + //适用地区排序(特殊处理) + pageList = regionSort(paramsTemplateEO, pageNo, pageSize, queryWrapper, pageList); return Result.OK(cut, pageList); } + private IPage regionSort(ParamsTemplateEO paramsTemplateEO, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, QueryWrapper queryWrapper, IPage pageList) { + if(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField()) + && "region".equals(paramsTemplateEO.getOrderByField())){ + List regionDictItemList = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.REGION.getValue()); + List list = paramsTemplateEOService.list(queryWrapper); + for (ParamsTemplateEO templateEO : list) { + if(StringUtils.isNotEmpty(templateEO.getRegion())){ + StringBuilder regionBuilder = new StringBuilder(); + for (String s : templateEO.getRegion().split(",")) { + String regionName = regionDictItemList.stream().filter(e -> e.getItemValue().equals(s)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + regionBuilder.append(regionName).append(","); + } + templateEO.setRegionName(regionBuilder.substring(0, regionBuilder.toString().length() - 1)); + }else{ + templateEO.setRegion(""); + } + } + Collator comparator = Collator.getInstance(Locale.CHINESE); + if (OrderEnum.POSITIVE.getValue().equals(paramsTemplateEO.getOrderBy())) { + Collections.sort(list, (e1, e2) -> { + return comparator.compare(e1.getRegionName(), e2.getRegionName()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(paramsTemplateEO.getOrderBy())) { + Collections.sort(list, (e1, e2) -> { + return comparator.compare(e2.getRegionName(), e1.getRegionName()); + }); + } + pageList = getPages(pageNo, pageSize, list); + } + return pageList; + } + + public Page getPages(Integer currentPage, Integer pageSize, List list){ + Page page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } + /** * 列表查询 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java index f0358630f..a0d633a64 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/entity/ParamsTemplateEO.java @@ -76,6 +76,8 @@ public class ParamsTemplateEO implements Serializable { @Dict(dicCode = "region") @ApiModelProperty(value = "适用地区") private java.lang.String region; + @TableField(exist = false) + private java.lang.String regionName; /**内容说明*/ @Excel(name = "内容说明", width = 15) From bba68c545362c4e04484cd568d3f70b8f22a1134 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 19 Dec 2022 10:39:30 +0800 Subject: [PATCH 24/41] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8-=E8=A1=A8=E5=A4=B4?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/controller/ParamsTemplateEOController.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java index 6a3c4ecd4..42320aa1a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java @@ -81,15 +81,9 @@ public class ParamsTemplateEOController extends JeroController queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().like(StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName()), ParamsTemplateEO::getParamsTemplateName, paramsTemplateEO.getParamsTemplateName()) .eq(StringUtils.isNotEmpty(paramsTemplateEO.getRegion()), ParamsTemplateEO::getRegion, paramsTemplateEO.getRegion()); -// paramsTemplateEO.setOrderByField("region"); -// paramsTemplateEO.setOrderBy("1"); if(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField())){ if("params_template_name".equals(paramsTemplateEO.getOrderByField()) || "create_time".equals(paramsTemplateEO.getOrderByField()) From a829a5a0c96c150eb555962cb0c2ffc3aae18510 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 19 Dec 2022 11:27:30 +0800 Subject: [PATCH 25/41] =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_2nd_period.sql | 4 + .../ParamsExportTemplateEOController.java | 109 ++++++++++++++++-- .../report/entity/ParamsExportTemplateEO.java | 5 + .../ParamsTemplateEOController.java | 2 +- 4 files changed, 110 insertions(+), 10 deletions(-) diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index e82b5a50b..dfb5cb5a2 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -68,3 +68,7 @@ ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `prc_num`; -- 法规意见收集表添加字段 ALTER TABLE `laws_opinion_gather` ADD COLUMN `brand` varchar(255) NULL COMMENT '品牌' AFTER `evaluator_ids`; + +-- 参数导出模板管理添加字段 2022-12-19(未同步生产库) +ALTER TABLE `params_export_template` +ADD COLUMN `region` varchar(1000) NULL COMMENT '适用地区' AFTER `file_connect_id`; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java index 259554efa..635fd989f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java @@ -9,7 +9,10 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.modules.cert.report.entity.ParamsExportTemplateEO; import com.jero.modules.cert.report.enums.ExportTemplateStateEnum; import com.jero.modules.cert.report.service.IParamsExportTemplateEOService; -import com.jero.modules.ocr.util.LineHumpUtil; +import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum; +import com.jero.modules.dummy.enums.OrderEnum; +import com.jero.modules.system.entity.SysDictItem; +import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.util.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -17,14 +20,25 @@ import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.Collator; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Map; +import java.util.stream.Collectors; /** @@ -40,7 +54,9 @@ import java.util.Map; public class ParamsExportTemplateEOController extends JeroController { @Autowired private IParamsExportTemplateEOService paramsExportTemplateEOService; - + @Autowired + private SysDictItemMapper sysDictItemMapper; + /** * 分页列表查询 * @@ -62,17 +78,30 @@ public class ParamsExportTemplateEOController extends JeroController queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().like(StringUtils.isNotEmpty(paramsExportTemplateEO.getTemplateName()), ParamsExportTemplateEO::getTemplateName, paramsExportTemplateEO.getTemplateName()); - queryWrapper.orderBy(StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField()), "1".equals(paramsExportTemplateEO.getOrderBy())?true:false, paramsExportTemplateEO.getOrderByField()) - .orderBy(StringUtils.isBlank(paramsExportTemplateEO.getOrderByField()), false, "create_time"); // 默认按创建时间降序 + if(StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField())){ + if("template_name".equals(paramsExportTemplateEO.getOrderByField()) + || "update_time".equals(paramsExportTemplateEO.getOrderByField())){ + queryWrapper.orderBy(org.apache.commons.lang.StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField()), + OrderEnum.POSITIVE.getValue().equals(paramsExportTemplateEO.getOrderBy())?true:false, + "convert("+paramsExportTemplateEO.getOrderByField()+" using gbk)"); + } + }else{ + queryWrapper.orderBy(StringUtils.isBlank(paramsExportTemplateEO.getOrderByField()), false, "create_time"); + } Page page = new Page(pageNo, pageSize); IPage pageList = paramsExportTemplateEOService.page(page, queryWrapper); + + //适用地区排序(特殊处理) + pageList = regionSort(paramsExportTemplateEO,pageNo,pageSize,queryWrapper,pageList); + // 处理 状态 中英文 List rows = pageList.getRecords(); Map stateMap = ExportTemplateStateEnum.toMap(cut); @@ -82,6 +111,68 @@ public class ParamsExportTemplateEOController extends JeroController regionSort(ParamsExportTemplateEO paramsExportTemplateEO, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + QueryWrapper queryWrapper, + IPage pageList) { + if(org.apache.commons.lang.StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField()) + && "region".equals(paramsExportTemplateEO.getOrderByField())){ + List regionDictItemList = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseFieldEnum.REGION.getValue()); + List list = paramsExportTemplateEOService.list(queryWrapper); + for (ParamsExportTemplateEO paramsExportTemplateEOTemp : list) { + if(org.apache.commons.lang.StringUtils.isNotEmpty(paramsExportTemplateEOTemp.getRegion())){ + StringBuilder regionBuilder = new StringBuilder(); + for (String s : paramsExportTemplateEOTemp.getRegion().split(",")) { + String regionName = regionDictItemList.stream().filter(e -> e.getItemValue().equals(s)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + regionBuilder.append(regionName).append(","); + } + paramsExportTemplateEOTemp.setRegionName(regionBuilder.substring(0, regionBuilder.toString().length() - 1)); + }else{ + paramsExportTemplateEOTemp.setRegionName(""); + } + } + Collator comparator = Collator.getInstance(Locale.CHINESE); + if (OrderEnum.POSITIVE.getValue().equals(paramsExportTemplateEO.getOrderBy())) { + Collections.sort(list, (e1, e2) -> { + return comparator.compare(e1.getRegionName(), e2.getRegionName()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(paramsExportTemplateEO.getOrderBy())) { + Collections.sort(list, (e1, e2) -> { + return comparator.compare(e2.getRegionName(), e1.getRegionName()); + }); + } + pageList = getPages(pageNo, pageSize, list); + } + return pageList; + } + public Page getPages(Integer currentPage, Integer pageSize, List list){ + Page page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } + /** * 列表查询 * diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java index 35e411dce..37e482426 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsExportTemplateEO.java @@ -91,4 +91,9 @@ public class ParamsExportTemplateEO implements Serializable { @TableField(exist = false) private String orderByField; // 字段 + //适用地区 + private String region; + @TableField(exist = false) + private String regionName; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java index 42320aa1a..13f88bac3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/controller/ParamsTemplateEOController.java @@ -117,7 +117,7 @@ public class ParamsTemplateEOController extends JeroController Date: Mon, 19 Dec 2022 11:57:20 +0800 Subject: [PATCH 26/41] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8-=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cert/collect/entity/ParamsManifestEO.java | 8 ++++ .../mapper/xml/ParamsManifestEOMapper.xml | 41 ++++++++++++++++++- .../impl/ParamsManifestEOServiceImpl.java | 4 ++ .../modules/ocr/helpers/ConfigManager.java | 4 +- 4 files changed, 53 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java index 4c73955ec..31d36258b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java @@ -109,4 +109,12 @@ public class ParamsManifestEO implements Serializable { //说明 private String explanation; + //排序字段 + @TableField(exist = false) + private String orderByField; + + //排序规则 + @TableField(exist = false) + private String orderBy; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index 2c220de0c..3b9d184b2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -71,7 +71,44 @@ from params_manifest pm left join params_template pt on pm.params_template_id = pt.id ) tmp_tb - order by create_time desc + + order by tmp_tb.create_time + + + order by tmp_tb.create_by + + + order by tmp_tb.version + + + order by tmp_tb.finish_time + + + order by tmp_tb.project_version + + + order by tmp_tb.params_template_name + + + order by tmp_tb.state + + + order by tmp_tb.title + + + asc + + + desc + + + order by tmp_tb.create_time desc + + + + + + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index 8588cedc8..992ba7d22 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -360,6 +360,10 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl Date: Mon, 19 Dec 2022 14:02:48 +0800 Subject: [PATCH 27/41] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8-=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collect/service/impl/ParamsManifestEOServiceImpl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index 992ba7d22..5d643b036 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -360,10 +360,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl Date: Mon, 19 Dec 2022 14:12:04 +0800 Subject: [PATCH 28/41] =?UTF-8?q?=E6=9C=AA=E7=AC=A6=E5=90=88=E9=A1=B9-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NcrTrackController.java | 85 +++++++++++++++++++ .../service/impl/NcrTrackServiceImpl.java | 4 + 2 files changed, 89 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java index 78d778dd1..3638b75e0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/NcrTrackController.java @@ -10,6 +10,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -184,10 +185,94 @@ public class NcrTrackController { @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { List pageInfo = iNcrTrackService.getPageInfo(ncrTrackVO); + String orderBy = ncrTrackVO.getOrderBy(); + String orderByField = ncrTrackVO.getOrderByField(); + //表头排序 + hearSort(ncrTrackVO, pageInfo, orderBy, orderByField); + Page pages = iNcrTrackService.getPages(pageNo, pageSize, pageInfo); return Result.OK(pages); } + private void hearSort(NcrTrackVO ncrTrackVO, List pageInfo, String orderBy, String orderByField) { + if(StringUtils.isNotBlank(orderByField)) { + Collator comparator = Collator.getInstance(Locale.CHINESE); + //编号 serialNumber + if ("serialNumber".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e1.getSerialNumber(), e2.getSerialNumber()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e2.getSerialNumber(), e1.getSerialNumber()); + }); + } + } + + //流程类型 flowType + if ("flowType".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e1.getFlowType(), e2.getFlowType()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e2.getFlowType(), e1.getFlowType()); + }); + } + } + //责任领域 dutyTerritory + if ("dutyTerritory".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e1.getDutyTerritory(), e2.getDutyTerritory()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e2.getDutyTerritory(), e1.getDutyTerritory()); + }); + } + } + //问题类型 problemType + if ("problemType".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e1.getProblemType(), e2.getProblemType()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e2.getProblemType(), e1.getProblemType()); + }); + } + } + //发起人 initiator + if ("initiator".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e1.getInitiator(), e2.getInitiator()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e2.getInitiator(), e1.getInitiator()); + }); + } + } + //责任人 duty + if ("duty".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e1.getDuty(), e2.getDuty()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(pageInfo, (e1, e2) -> { + return comparator.compare(e2.getDuty(), e1.getDuty()); + }); + } + } + } + } + /** * 导出数据 * @param request diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java index b77a8b9ac..38455c357 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/NcrTrackServiceImpl.java @@ -138,6 +138,8 @@ public class NcrTrackServiceImpl extends ServiceImpl if(StringUtils.isNotBlank(trackVO.getDutyTerritory())){ String dutyTerritory = pull(dictItemList, trackVO.getDutyTerritory(), "duty_territory", ncrTrackVO.getCut()); trackVO.setDutyTerritory(dutyTerritory); + }else{ + trackVO.setDutyTerritory(""); } //设计符合性确认 String designPId = trackVO.getDesignPId();//流程实例id @@ -391,6 +393,8 @@ public class NcrTrackServiceImpl extends ServiceImpl ncrTrackVO.setTitle(title);//标题 if(StringUtils.isNotBlank(flowType)){ ncrTrackVO.setFlowType(name);//流程类型 + }else{ + ncrTrackVO.setFlowType("");//流程类型 } ncrTrackVO.setDutyTerritory(dutyTerritory);//责任领域 ncrTrackVO.setProjectName(projectName);//相关项目 From b9b0a2f5d7f30fefd038e22ae3617a4cec562b35 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 19 Dec 2022 14:55:06 +0800 Subject: [PATCH 29/41] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8--=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/ParamsManifestEOMapper.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index 3b9d184b2..3bfab7e11 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -72,28 +72,28 @@ ) tmp_tb - order by tmp_tb.create_time + order by CONVERT( tmp_tb.create_time USING gbk) COLLATE gbk_chinese_ci - order by tmp_tb.create_by + order by CONVERT( tmp_tb.create_by USING gbk) COLLATE gbk_chinese_ci - order by tmp_tb.version + order by CONVERT( tmp_tb.version USING gbk) COLLATE gbk_chinese_ci - order by tmp_tb.finish_time + order by CONVERT( tmp_tb.finish_time USING gbk) COLLATE gbk_chinese_ci - order by tmp_tb.project_version + order by CONVERT( tmp_tb.project_version USING gbk) COLLATE gbk_chinese_ci - order by tmp_tb.params_template_name + order by CONVERT( tmp_tb.params_template_name USING gbk) COLLATE gbk_chinese_ci - order by tmp_tb.state + order by CONVERT( tmp_tb.state USING gbk) COLLATE gbk_chinese_ci - order by tmp_tb.title + order by CONVERT( tmp_tb.title USING gbk) COLLATE gbk_chinese_ci asc From 82eedb474bc8fb6d6ac4fd201f8b713eeba4a658 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Mon, 19 Dec 2022 15:18:11 +0800 Subject: [PATCH 30/41] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93-=E8=A1=A8?= =?UTF-8?q?=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BussDocumentLibraryEOServiceImpl.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 467ac3628..bb221fd61 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -4226,14 +4226,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl parameter, StringBuilder conditionSb) { + if ("1".equals((String) parameter.get("orderBy"))) { + conditionSb.append(" asc");//正序 + } else if ("2".equals((String) parameter.get("orderBy"))) { + conditionSb.append(" desc");//倒序 + } + } + /** * 收藏和订阅 From 41a066f7b63469f509f31778bf18805bcbf6f299 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Thu, 22 Dec 2022 10:18:43 +0800 Subject: [PATCH 31/41] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95;?= =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95;=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=88=97=E8=A1=A8=20=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectManagement/components/TaskList.vue | 18 ++++++++++++- .../components/TaskParameterCollection.vue | 25 ++++++++++++++++--- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index 20406cdaf..bcb95b0a8 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -547,7 +547,23 @@ }, tableOnChange(pagination, filters, sorter) { this.orderBy = sorter.order == 'ascend' ? '1' : '2' - this.orderByField = sorter.columnKey + if(sorter.columnKey == 'standard'){ + this.orderByField = 'serialNumber' + } else if(sorter.columnKey == 'areaOfResponsibility') { + this.orderByField = 'dutyTerritory' + } else if(sorter.columnKey == 'confirmationOfDesignConformity') { + this.orderByField = 'designFlowTaskStatus' + } else if(sorter.columnKey == 'PrehomoConfirmation') { + this.orderByField = 'prehomoFlowTaskStatus' + } else if(sorter.columnKey == 'verificationAndConformityconfirmation') { + this.orderByField = 'verifyFlowTaskStatus' + } else if(sorter.columnKey == 'CertificationProgress') { + this.orderByField = 'certificationProgressName' + } else if(sorter.columnKey == 'CurrentProjectStatusEvaluation') { + this.orderByField = 'projectStatusAssess' + } else{ + this.orderByField = sorter.columnKey + } this.getList() }, getList() { diff --git a/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue b/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue index cc4d87d93..6a6c566d8 100644 --- a/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue +++ b/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue @@ -163,6 +163,7 @@ align: 'center', width: 80, ellipsis: true, + sorter:true, dataIndex: 'state' }, { @@ -177,6 +178,7 @@ align: 'center', width: 120, ellipsis: true, + sorter:true, dataIndex: 'projectVersion' }, { @@ -185,6 +187,7 @@ dataIndex: 'finishTime', width: 180, ellipsis: true, + sorter:true, scopedSlots: { customRender: 'collectionCompletionTime' } }, { @@ -192,6 +195,7 @@ align: 'center', width: 80, ellipsis: true, + sorter:true, dataIndex: 'version' }, { @@ -206,6 +210,7 @@ align: 'center', width: 160, ellipsis: true, + sorter:true, dataIndex: 'createTime' }, { @@ -219,6 +224,8 @@ token: Vue.ls.get(ACCESS_TOKEN), selectedRowKeys: [], queryParam: {}, + orderBy: '1', + orderByField: '', url: { list: 'params/manifest/page', add: 'params/manifest/add', @@ -312,9 +319,6 @@ } else { this.$message.warning(this.$t('thisbuttonCompleted')) } - }, - handleTableChange() { - }, // 历史版本 historicalVersion(historicalRow) { @@ -431,11 +435,26 @@ this.pageSize = pageSize this.getlist() }, + handleTableChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'projectVersion'){ + this.orderByField = 'project_version' + } else if(sorter.columnKey == 'finishTime') { + this.orderByField = 'finish_time' + } else if(sorter.columnKey == 'createTime') { + this.orderByField = 'create_time' + } else{ + this.orderByField = sorter.columnKey + } + this.getlist() + }, getlist() { let query = { projectId: this.$route.query.parentId ? this.$route.query.parentId : this.$route.query.id, pageSize: this.pageSize, pageNo: this.pageNo, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true From 4f8f1626b6221afe4f8cb0f76ca2c5624f2224df Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Thu, 22 Dec 2022 11:13:39 +0800 Subject: [PATCH 32/41] =?UTF-8?q?=E6=88=91=E7=9A=84=E6=94=B6=E8=97=8F;?= =?UTF-8?q?=E6=88=91=E7=9A=84=E8=AE=A2=E9=98=85=20=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/documentManage/collection/index.vue | 19 +++++++++++++++++++ .../documentManage/subscribtion/index.vue | 19 +++++++++++++++++++ .../parameter/escalationlibrary/index.vue | 15 +++++++++++++++ 3 files changed, 53 insertions(+) diff --git a/jero-web/src/views/documentManage/collection/index.vue b/jero-web/src/views/documentManage/collection/index.vue index 0e0ba89a0..7777035cb 100644 --- a/jero-web/src/views/documentManage/collection/index.vue +++ b/jero-web/src/views/documentManage/collection/index.vue @@ -65,6 +65,7 @@ :dataSource="tableData" :pagination="false" :loading="loading" + @change="tableOnChange" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" > @@ -115,6 +116,8 @@ pageSize: 10 }, //搜索条件 total: 0, + orderBy: '1', + orderByField: '', //列表表头 columns: [ { @@ -123,6 +126,7 @@ key: 'serialNumber', scopedSlots: { customRender: 'serialNumber' }, align: 'center', + sorter:true, ellipsis: true, width: 180 }, @@ -139,6 +143,7 @@ align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'state' }, { @@ -146,6 +151,7 @@ align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'createTime' }, { @@ -167,9 +173,22 @@ this.loadData() }, methods: { + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'serialNumber'){ + this.orderByField = 'serial_number' + } else if(sorter.columnKey == 'createTime') { + this.orderByField = 'create_time' + } else{ + this.orderByField = sorter.columnKey + } + this.loadData() + }, //获取列表数据 loadData() { let params = { + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParams } this.loading = true diff --git a/jero-web/src/views/documentManage/subscribtion/index.vue b/jero-web/src/views/documentManage/subscribtion/index.vue index 3e45140b2..619f9dd51 100644 --- a/jero-web/src/views/documentManage/subscribtion/index.vue +++ b/jero-web/src/views/documentManage/subscribtion/index.vue @@ -68,6 +68,7 @@ :dataSource="tableData" :pagination="false" :loading="loading" + @change="tableOnChange" :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" > @@ -114,6 +115,8 @@ pageSize: 10 }, //搜索条件 total: 0, + orderBy: '1', + orderByField: '', //列表表头 columns: [ { @@ -123,6 +126,7 @@ align: 'center', width: 180, scopedSlots: { customRender: 'serialNumber' }, + sorter:true, ellipsis: true }, { @@ -138,6 +142,7 @@ align: 'center', width: 180, dataIndex: 'state', + sorter:true, ellipsis: true }, { @@ -145,6 +150,7 @@ align: 'center', width: 180, dataIndex: 'createTime', + sorter:true, ellipsis: true }, { @@ -177,9 +183,22 @@ this.loadData() }, methods: { + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'serialNumber'){ + this.orderByField = 'serial_number' + } else if(sorter.columnKey == 'createTime') { + this.orderByField = 'create_time' + } else{ + this.orderByField = sorter.columnKey + } + this.loadData() + }, //获取列表数据 loadData() { let params = { + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParams } this.loading = true diff --git a/jero-web/src/views/parameter/escalationlibrary/index.vue b/jero-web/src/views/parameter/escalationlibrary/index.vue index b7199aa7d..b55b4775f 100644 --- a/jero-web/src/views/parameter/escalationlibrary/index.vue +++ b/jero-web/src/views/parameter/escalationlibrary/index.vue @@ -39,6 +39,7 @@ :scroll="{x: '100%',y:'calc(100vh - 158px)'}" rowKey="id" :data-source="dataSource" + @change="tableOnChange" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > @@ -126,6 +127,8 @@ paramsManifestId:'', selectedRowKeysArray: '', formInline: {}, + orderBy: '1', + orderByField: '', rules: { paramsTemplateName: [ { required: true, message: this.$t('PleaseEnter') + this.$t('templateName'), trigger: 'change' } @@ -156,6 +159,7 @@ align: 'center', width: '17%', dataIndex: 'projectName', + sorter:true, scopedSlots: { customRender: 'projectName' } }, { @@ -304,10 +308,21 @@ // } // }) }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'projectName') { + this.orderByField = 'pageName' + } else{ + this.orderByField = sorter.columnKey + } + this.getList() + }, getList() { let query = { pageNo: this.pageNo, pageSize: this.pageSize, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true From f728dc7cdc17a6fa78c19b9cc0427dda7fb35ab4 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 22 Dec 2022 15:12:16 +0800 Subject: [PATCH 33/41] =?UTF-8?q?=E6=94=B6=E8=97=8F=E5=92=8C=E8=AE=A2?= =?UTF-8?q?=E9=98=85-=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OnlCgformCollectionServiceImpl.java | 7 ++++++- .../service/impl/OnlCgformSubscribeServiceImpl.java | 13 +++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java index 7741d6b9a..d475d8a21 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/collection/service/impl/OnlCgformCollectionServiceImpl.java @@ -230,16 +230,21 @@ public class OnlCgformCollectionServiceImpl extends ServiceImpl queryPageList(Map params) { // params.put("orderByField","serial_number"); // params.put("orderBy","1"); + if(ObjectUtils.isEmpty(params.get("orderByField"))){ + params.put("orderBy",""); + } Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); IPage page = new Page(pageNo, pageSize); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); params.put("createBy",sysUser.getUsername()); - IPage result = onlCgformCollectionMapper.queryPageList(page,params); + IPage result = new Page(); //表头排序(状态单独处理) if(ObjectUtils.isNotEmpty(params.get("orderByField")) && "state".equals((String) params.get("orderByField"))){ List> infoList = onlCgformCollectionMapper.infoList(params); result = stateSort(params,pageNo,pageSize,result,infoList); + }else{ + result = onlCgformCollectionMapper.queryPageList(page,params); } List> records = result.getRecords(); dataDispose(records,params); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java index 34d732bfd..a24fa9ae1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/subscribe/service/impl/OnlCgformSubscribeServiceImpl.java @@ -25,7 +25,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -209,16 +213,21 @@ public class OnlCgformSubscribeServiceImpl extends ServiceImpl queryPageList(Map params) { // params.put("orderByField","title"); // params.put("orderBy","1"); + if(ObjectUtils.isEmpty(params.get("orderByField"))){ + params.put("orderBy",null); + } Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); IPage page = new Page(pageNo, pageSize); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); params.put("createBy",sysUser.getUsername()); - IPage result = onlCgformSubscribeMapper.queryPageList(page,params); + IPage result = new Page(); //表头排序(状态单独处理) if(ObjectUtils.isNotEmpty(params.get("orderByField")) && "state".equals((String) params.get("orderByField"))){ List> mapList = onlCgformSubscribeMapper.infoList(params); result = onlCgformCollectionService.stateSort(params,pageNo,pageSize,result,mapList); + }else{ + result = onlCgformSubscribeMapper.queryPageList(page,params); } List> records = result.getRecords(); dataDispose(records,params); From 8c0b7bf0c0c9ec82f431d14ae4cc5edb8d4ab6b4 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Fri, 23 Dec 2022 10:59:20 +0800 Subject: [PATCH 34/41] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=AE=A1=E7=90=86;=E6=9C=AA=E7=AC=A6=E5=90=88=E9=A1=B9;?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=AF=BC=E5=87=BA=E6=A8=A1=E6=9D=BF=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20=E8=A1=A8=E6=A0=BC=E6=8E=92=E5=BA=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../parameter/ParameterTemplate/index.vue | 24 +++++++++++++++++++ .../views/parameter/parameterexport/index.vue | 18 ++++++++++++++ .../components/listOfRegulations.vue | 2 ++ .../components/nonConformance.vue | 16 +++++++++++++ 4 files changed, 60 insertions(+) diff --git a/jero-web/src/views/parameter/ParameterTemplate/index.vue b/jero-web/src/views/parameter/ParameterTemplate/index.vue index e29fd17b3..7c74713b6 100644 --- a/jero-web/src/views/parameter/ParameterTemplate/index.vue +++ b/jero-web/src/views/parameter/ParameterTemplate/index.vue @@ -56,6 +56,7 @@ rowKey="id" :data-source="dataSource" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" + @change="tableOnChange" :columns="columns" > @@ -131,6 +132,8 @@ export default { toggleSearchStatus: false, selectedRowKeys: [], selectedRowKeysArray: '', + orderBy: '1', + orderByField: '', formInline: {}, rules: { paramsTemplateName:[ @@ -159,6 +162,7 @@ export default { align: 'center', width: 160, ellipsis: true, + sorter:true, dataIndex: 'region_dictText', }, { @@ -166,6 +170,7 @@ export default { align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'paramsTemplateName', scopedSlots: { customRender: 'projectName' } }, @@ -181,6 +186,7 @@ export default { align: 'center', dataIndex: 'createTime', width: 160, + sorter:true, ellipsis: true, }, { @@ -188,6 +194,7 @@ export default { align: 'center', width: 160, ellipsis: true, + sorter:true, dataIndex: 'updateTime' }, { @@ -354,10 +361,27 @@ export default { this.queryParam[value] = id this.queryParam = { ...this.queryParam } }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'region_dictText'){ + this.orderByField = 'region' + } else if(sorter.columnKey == 'paramsTemplateName') { + this.orderByField = 'params_template_name' + } else if(sorter.columnKey == 'createTime') { + this.orderByField = 'create_time' + } else if(sorter.columnKey == 'updateTime') { + this.orderByField = 'update_time' + } else{ + this.orderByField = sorter.columnKey + } + this.getList() + }, getList() { let query = { pageNo: this.pageNo, pageSize: this.pageSize, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true diff --git a/jero-web/src/views/parameter/parameterexport/index.vue b/jero-web/src/views/parameter/parameterexport/index.vue index b60c0964e..084dd91ef 100644 --- a/jero-web/src/views/parameter/parameterexport/index.vue +++ b/jero-web/src/views/parameter/parameterexport/index.vue @@ -40,6 +40,7 @@ :scroll="{x: '100%',y:'calc(100vh - 160px)'}" rowKey="id" :data-source="dataSource" + @change="tableOnChange" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > @@ -115,6 +116,8 @@ export default { selectedRowKeys: [], selectedRowKeysArray: '', formInline: {}, + orderBy: '1', + orderByField: '', rules: { paramsTemplateName:[ { required: true, message: this.$t('PleaseEnter')+this.$t('templateName'), trigger: 'change' }, @@ -150,6 +153,7 @@ export default { title: this.$t('templateName'), align: 'center', dataIndex: 'templateName', + sorter:true, ellipsis: true, width: 300, scopedSlots: { customRender: 'templateName' } @@ -181,6 +185,7 @@ export default { align: 'center', width: 180, ellipsis: true, + sorter:true, dataIndex: 'updateTime' }, { @@ -334,10 +339,23 @@ export default { this.queryParam[value] = id this.queryParam = { ...this.queryParam } }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + if(sorter.columnKey == 'templateName') { + this.orderByField = 'template_name' + } else if(sorter.columnKey == 'updateTime') { + this.orderByField = 'update_time' + } else{ + this.orderByField = sorter.columnKey + } + this.getList() + }, getList() { let query = { pageNo: this.pageNo, pageSize: this.pageSize, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index 30745679d..867c015fa 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -1511,6 +1511,8 @@ this.orderBy = sorter.order == 'ascend' ? '1' : '2' if(sorter.columnKey == 'attestationRank_dictText'){ this.orderByField = 'attestationRank' + } else if(sorter.columnKey == 'dutyTerritory_dictText'){ + this.orderByField = 'dutyTerritory' } else{ this.orderByField = sorter.columnKey } diff --git a/jero-web/src/views/projectManagement/components/nonConformance.vue b/jero-web/src/views/projectManagement/components/nonConformance.vue index bac8f1274..55c8390ea 100644 --- a/jero-web/src/views/projectManagement/components/nonConformance.vue +++ b/jero-web/src/views/projectManagement/components/nonConformance.vue @@ -56,6 +56,7 @@ :pagination="false" :scroll="{x: '100%'}" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" + @change="tableOnChange" :data-source="dataSource" :columns="columns" > @@ -91,6 +92,8 @@ return { queryParam: {}, loading: false, + orderBy: '1', + orderByField: '', dataSource: [], selectedRowKeys: [], columns: [ @@ -100,6 +103,7 @@ dataIndex: 'serialNumber', scopedSlots: { customRender: 'standard' }, ellipsis: true, + sorter:true, width: 180 }, { @@ -115,6 +119,7 @@ align: 'center', dataIndex: 'flowType', ellipsis: true, + sorter:true, width: 180 }, { @@ -122,6 +127,7 @@ align: 'center', dataIndex: 'dutyTerritory', ellipsis: true, + sorter:true, width: 180 }, { @@ -129,6 +135,7 @@ align: 'center', dataIndex: 'problemType', ellipsis: true, + sorter:true, width: 180 }, { @@ -136,6 +143,7 @@ align: 'center', dataIndex: 'initiator', ellipsis: true, + sorter:true, width: 140 }, { @@ -143,6 +151,7 @@ align: 'center', dataIndex: 'duty', ellipsis: true, + sorter:true, width: 140 } ], @@ -218,11 +227,18 @@ } downloadFilePost(this.url.exportData, this.$t('NonConformance') + '.xls', query, this.Deselect) }, + tableOnChange(pagination, filters, sorter) { + this.orderBy = sorter.order == 'ascend' ? '1' : '2' + this.orderByField = sorter.columnKey + this.getList() + }, getList() { let query = { pageNo: this.pageNo, pageSize: this.pageSize, projectLibraryId: this.$route.query.id, + orderBy: this.orderBy, + orderByField: this.orderByField, ...this.queryParam } this.loading = true From f5f25a95c7b1ffb29eec306e252fe26afb73a44c Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 23 Dec 2022 11:12:31 +0800 Subject: [PATCH 35/41] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95--?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 8 +++++++ .../ProjectTaskInventoryEOServiceImpl.java | 21 ++++++++++--------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 69490b99b..730e194b6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -991,14 +991,20 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.REG_ENG_REJECTED.getName())).collect(Collectors.toList()); List homoEngRejected = dummyInventoryInfoEOList.stream() .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.HOMO_ENG_REJECTED.getName())).collect(Collectors.toList()); + List listToConfirm = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getName())).collect(Collectors.toList()); + List rejected = dummyInventoryInfoEOList.stream() + .filter(e -> e.getInventoryAffirmStatusName().equals(InventoryAffirmStatusEnum.REJECTED.getName())).collect(Collectors.toList()); if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { //正序 list.addAll(notStarted); + list.addAll(listToConfirm); list.addAll(regEngToConfirm); list.addAll(homoEngToConfirm); list.addAll(accepted); + list.addAll(rejected); list.addAll(regEngRejected); list.addAll(homoEngRejected); @@ -1006,9 +1012,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl{ - return comparator.compare(e1.getCertificationProgressName(),e2.getCertificationProgressName()); + return comparator.compare(e2.getCertificationProgressName(),e1.getCertificationProgressName()); }); }else if(OrderEnum.REVERSE.getValue().equals(orderBy)){ Collections.sort(result,(e1,e2)->{ - return comparator.compare(e2.getCertificationProgressName(),e1.getCertificationProgressName()); + return comparator.compare(e1.getCertificationProgressName(),e2.getCertificationProgressName()); }); } } @@ -512,19 +512,19 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl list) { if(ObjectUtils.isNotEmpty(orderByField) && "projectStatusAssess".equals(orderByField)){ List red = result.stream() - .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.RED.getValue())).collect(Collectors.toList()); + .filter(e -> ColourEnum.RED.getValue().equals(e.getProjectStatusAssess())).collect(Collectors.toList()); List yellow = result.stream() - .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.YELLOW.getValue())).collect(Collectors.toList()); + .filter(e -> ColourEnum.YELLOW.getValue().equals(e.getProjectStatusAssess())).collect(Collectors.toList()); List green = result.stream() - .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.GREEN.getValue())).collect(Collectors.toList()); + .filter(e -> ColourEnum.GREEN.getValue().equals(e.getProjectStatusAssess())).collect(Collectors.toList()); List blue = result.stream() - .filter(e -> e.getProjectStatusAssess().equals(ColourEnum.BLUE.getValue())).collect(Collectors.toList()); + .filter(e -> ColourEnum.BLUE.getValue().equals(e.getProjectStatusAssess())).collect(Collectors.toList()); if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { //正序 List collect = result.stream() .filter(e -> StringUtils.isBlank(e.getProjectStatusAssess())).collect(Collectors.toList()); - list.addAll(collect); + blue.addAll(collect); list.addAll(green); list.addAll(yellow); list.addAll(red); @@ -532,13 +532,14 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl collect = result.stream() + .filter(e -> StringUtils.isBlank(e.getProjectStatusAssess())).collect(Collectors.toList()); + blue.addAll(collect); list.addAll(blue); list.addAll(red); list.addAll(yellow); list.addAll(green); - List collect = result.stream() - .filter(e -> StringUtils.isBlank(e.getProjectStatusAssess())).collect(Collectors.toList()); - list.addAll(collect); + } } if(ObjectUtils.isEmpty(list)){ From 5c4b21730a5c5bc47a5418c76b457027f43888a8 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 23 Dec 2022 11:47:36 +0800 Subject: [PATCH 36/41] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8-=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cert/collect/mapper/xml/ParamsManifestEOMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index 3bfab7e11..91804be5c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -95,10 +95,10 @@ order by CONVERT( tmp_tb.title USING gbk) COLLATE gbk_chinese_ci - + asc - + desc From 3692444a99ac0b17b076883f1a66a0d567fe818b Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 23 Dec 2022 12:00:02 +0800 Subject: [PATCH 37/41] =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86=E5=88=97=E8=A1=A8=E9=A1=B5?= =?UTF-8?q?--=E6=A0=87=E6=9C=89=E6=8E=92=E5=BA=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/controller/ParamsExportTemplateEOController.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java index 635fd989f..6cdfcd34e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsExportTemplateEOController.java @@ -81,8 +81,6 @@ public class ParamsExportTemplateEOController extends JeroController queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().like(StringUtils.isNotEmpty(paramsExportTemplateEO.getTemplateName()), ParamsExportTemplateEO::getTemplateName, paramsExportTemplateEO.getTemplateName()); if(StringUtils.isNotBlank(paramsExportTemplateEO.getOrderByField())){ From 14248501e6f5f3dcd3954f42c95ad71f90df73fa Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Mon, 26 Dec 2022 15:45:15 +0800 Subject: [PATCH 38/41] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=93=81=E7=89=8C?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysDictController.java | 21 +++++++++++ .../system/controller/SysRoleController.java | 15 +++++--- .../enums/AdmininstratorAuthRoleEnum.java | 36 +++++++++++++++++++ .../impl/ProjectLibraryBaseServiceImpl.java | 22 ++++++------ 4 files changed, 79 insertions(+), 15 deletions(-) create mode 100644 jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java index 255863335..f8327a592 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java @@ -16,6 +16,7 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ImportExcelUtil; import com.jero.common.util.SqlInjectionUtil; import com.jero.common.util.oConvertUtils; +import com.jero.modules.enums.DictCodeEnum; import com.jero.modules.enums.FixedFieldEnum; import com.jero.modules.enums.IsTagDict; import com.jero.modules.system.entity.SysDict; @@ -23,8 +24,10 @@ import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.model.SysDictTree; import com.jero.modules.system.model.TreeSelectModel; +import com.jero.modules.system.service.IProjectUserBrandService; import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysDictService; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.vo.SysDictPage; import com.jero.modules.utils.HanYuPinYinUtil; import io.swagger.annotations.Api; @@ -53,6 +56,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -74,6 +78,10 @@ public class SysDictController { private ISysDictItemService sysDictItemService; @Autowired public RedisTemplate redisTemplate; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IProjectUserBrandService projectUserBrandService; @RequestMapping(value = "/page", method = RequestMethod.GET) @ApiOperation(value = "字典控制器-分页列表查询", notes = "字典控制器-分页列表查询") @@ -757,4 +765,17 @@ public class SysDictController { } } + @ApiOperation(value = "查询出当前用户可配置品牌") + @GetMapping(value = "/getBrandDict") + public Result> getBrandDict() { + List dictModels = sysDictService.queryDictItemsByCode(DictCodeEnum.BRAND.getValue()); + if (!sysUserService.isAdministrator()) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List brands = projectUserBrandService.queryBrandByUserId(sysUser.getId()); + dictModels = dictModels.stream().filter(dictModel -> brands.contains(dictModel.getValue())).collect(Collectors.toList()); + } + return Result.OK(dictModels); + } + + } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java index b061f8eb5..0dc1ac2bd 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java @@ -11,11 +11,9 @@ import com.jero.common.constant.CommonConstant; import com.jero.common.system.query.QueryGenerator; import com.jero.common.util.oConvertUtils; import com.jero.modules.system.entity.*; +import com.jero.modules.system.enums.AdmininstratorAuthRoleEnum; import com.jero.modules.system.model.TreeModel; -import com.jero.modules.system.service.ISysPermissionDataRuleService; -import com.jero.modules.system.service.ISysPermissionService; -import com.jero.modules.system.service.ISysRolePermissionService; -import com.jero.modules.system.service.ISysRoleService; +import com.jero.modules.system.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -36,6 +34,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; +import java.util.stream.Collectors; /** *

@@ -62,6 +61,9 @@ public class SysRoleController { @Autowired private ISysPermissionService sysPermissionService; + @Autowired + private ISysUserService sysUserService; + /** * 分页列表查询 * @param role @@ -187,6 +189,11 @@ public class SysRoleController { public Result> queryall() { Result> result = new Result<>(); List list = sysRoleService.list(); + //系统管理员才能授权的角色 + if (!sysUserService.isAdministrator()) { + List roleCodes = AdmininstratorAuthRoleEnum.getRoleCodes(); + list = list.stream().filter(sysRole -> !roleCodes.contains(sysRole.getRoleCode())).collect(Collectors.toList()); + } if(list==null||list.size()<=0) { result.error500("未找到角色信息"); }else { diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java new file mode 100644 index 000000000..ac94c8e78 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/AdmininstratorAuthRoleEnum.java @@ -0,0 +1,36 @@ +package com.jero.modules.system.enums; + +import com.jero.common.util.oConvertUtils; + +import java.util.ArrayList; +import java.util.List; + +public enum AdmininstratorAuthRoleEnum { + + admin("admin","系统管理员"), + //brand_administrator("BrandAdministrator","品牌管理员"), + external_reports_manager("ExternalReportsManager","对外报告管理员"), + country_card_manage("countryCardManage","countryCard管理员"); + + String roleCode; + String roleName; + + AdmininstratorAuthRoleEnum() { + } + + AdmininstratorAuthRoleEnum(String roleCode, String roleName) { + this.roleCode = roleCode; + this.roleName = roleName; + } + public static List getRoleCodes(){ + List list = new ArrayList<>(); + for (AdmininstratorAuthRoleEnum val : AdmininstratorAuthRoleEnum.values()) { + list.add(val.roleCode); + } + return list; + } + + +} + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index b6f914c49..ece289216 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -775,17 +775,17 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl 0) { - // //如果是Viewer,根据配置的品牌筛选可访问的项目 - // List brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId()); - // if (ObjectUtils.isNotEmpty(brandTypes)) { - // QueryWrapper queryWrapper = new QueryWrapper<>(); - // queryWrapper.in("brand",brandTypes); - // if (ObjectUtils.isNotEmpty(list(queryWrapper))) { - // projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet())); - // } - // } - //} + if (sysRoleMapper.queryUserRoleByCode(ProjectRoleEnum.VIEWER.getName(), loginUser.getId()) > 0) { + //如果是Viewer,根据配置的品牌筛选可访问的项目 + List brandTypes = projectUserBrandService.queryBrandByUserId(loginUser.getId()); + if (ObjectUtils.isNotEmpty(brandTypes)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("brand",brandTypes); + if (ObjectUtils.isNotEmpty(list(queryWrapper))) { + projectIds.addAll(list(queryWrapper).stream().map(ProjectLibraryBase::getId).collect(Collectors.toSet())); + } + } + } List result = projectLibraryBaseMapper.queryPageList(params); disposeData(result,"",false); From fb044bbd8877a5d72a99dfe90d9d62b982f1976f Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Tue, 27 Dec 2022 09:54:47 +0800 Subject: [PATCH 39/41] =?UTF-8?q?=E5=93=81=E7=89=8C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E6=9D=83=E9=99=90=E7=9B=B8=E5=85=B3=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/ProjectDetails.vue | 7 +++ .../projectManagement/components/addModel.vue | 14 ++++++ .../projectLibrary/index.vue | 18 ++++++++ .../projectStatusBoard/index.vue | 11 +++++ .../src/views/system/modules/UserModal.vue | 45 ++++++++++++++++--- 5 files changed, 89 insertions(+), 6 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/ProjectDetails.vue b/jero-web/src/views/projectManagement/components/ProjectDetails.vue index 1a5bf7a42..ad4a6cc24 100644 --- a/jero-web/src/views/projectManagement/components/ProjectDetails.vue +++ b/jero-web/src/views/projectManagement/components/ProjectDetails.vue @@ -59,6 +59,13 @@ @click="urlClick(queryForm.ipdInfo)" >{{queryForm.ipdInfo}}

+
+ {{$t('brand')}} + {{queryForm.brand}} +
diff --git a/jero-web/src/views/projectManagement/components/addModel.vue b/jero-web/src/views/projectManagement/components/addModel.vue index 2e7a8b3f8..5dbe689bd 100644 --- a/jero-web/src/views/projectManagement/components/addModel.vue +++ b/jero-web/src/views/projectManagement/components/addModel.vue @@ -224,6 +224,20 @@
+ +
+
+ {{$t('brand')}} +
+ + + +
+
diff --git a/jero-web/src/views/projectManagement/projectLibrary/index.vue b/jero-web/src/views/projectManagement/projectLibrary/index.vue index 57feeb8b8..8615a0fe6 100644 --- a/jero-web/src/views/projectManagement/projectLibrary/index.vue +++ b/jero-web/src/views/projectManagement/projectLibrary/index.vue @@ -88,6 +88,17 @@
+ +
+
+ {{$t('brand')}} +
+ +
+
@@ -230,6 +241,13 @@ ellipsis: true, dataIndex: 'studioEngineerName' }, + { + title: this.$t('brand'), + align: 'center', + width: 180, + ellipsis: true, + dataIndex: 'brand' + }, { title: this.$t('explain'), align: 'center', diff --git a/jero-web/src/views/projectManagement/projectStatusBoard/index.vue b/jero-web/src/views/projectManagement/projectStatusBoard/index.vue index 0492867a4..ccb35f2d4 100644 --- a/jero-web/src/views/projectManagement/projectStatusBoard/index.vue +++ b/jero-web/src/views/projectManagement/projectStatusBoard/index.vue @@ -23,6 +23,17 @@ :triggerChange="false" :dictCode="'region'"/> + +
+
+ {{$t('brand')}} +
+ +
+
{{$t('query')}} diff --git a/jero-web/src/views/system/modules/UserModal.vue b/jero-web/src/views/system/modules/UserModal.vue index 9cf300277..7a36a6149 100644 --- a/jero-web/src/views/system/modules/UserModal.vue +++ b/jero-web/src/views/system/modules/UserModal.vue @@ -80,11 +80,19 @@ :type="'select'" :triggerChange="false" :dictCode="'duty_territory'"/> - - + + + + + + + + + {{ item.text || item.label }} + + + @@ -230,7 +238,9 @@ modaltoggleFlag: true, confirmDirty: false, viewshow: false, + viewshowbrand: false, selectedDepartKeys: [], //保存用户选择部门id + brandsList: [], //保存用户选择部门id checkedDepartKeys: [], checkedDepartNames: [], // 保存部门的名称 =>title checkedDepartNameString: '', // 保存部门的名称 =>title @@ -360,8 +370,16 @@ } }) }, + barndslist(){ + getAction('/sys/dict/getBrandDict', {}).then((res) => { + if (res.success) { + this.brandsList = res.result + } else { + this.brandsList = [] + } + }) + }, loadUserRoles(userid) { - console.log(11) queryUserRole({ userid: userid }).then((res) => { if (res.success) { this.selectedRole = res.result @@ -370,10 +388,17 @@ if(val.roleCode == 'Viewer' && item == val.id){ this.$nextTick(() => { this.viewshow = true + this.viewshowbrand = true + }) + return + } else if(val.roleCode == 'BrandAdministrator' && item == val.id) { + this.$nextTick(() => { + this.viewshowbrand = true }) return }else{ this.viewshow = false + this.viewshowbrand = false } }) }) @@ -398,10 +423,17 @@ if(val.roleCode == 'Viewer' && item == val.id){ this.$nextTick(() => { this.viewshow = true + this.viewshowbrand = true + }) + return + } else if(val.roleCode == 'BrandAdministrator' && item == val.id) { + this.$nextTick(() => { + this.viewshowbrand = true }) return }else{ this.viewshow = false + this.viewshowbrand = false } }) }) @@ -465,6 +497,7 @@ let that = this this.disabled = false that.initialRoleList() + that.barndslist() if (record.activitiSync) { this.disabled = true } From 4926a653b9ed03a30fc6e665ef9ecae931872e6c Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 27 Dec 2022 11:46:27 +0800 Subject: [PATCH 40/41] =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E5=BA=93-=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ParamsReportEOController.java | 49 ++++++++++++++++++- .../cert/report/entity/ParamsReportEO.java | 3 ++ 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java index b5fd84f0c..da7377d2e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java @@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.vo.DictModel; import com.jero.modules.cert.report.entity.ParamsReportEO; import com.jero.modules.cert.report.entity.ParamsReportExportHistoryEO; import com.jero.modules.cert.report.service.IParamsReportEOService; import com.jero.modules.cert.report.service.IParamsReportExportHistoryEOService; import com.jero.modules.dummy.enums.OrderEnum; +import com.jero.modules.system.enums.DicCodeEnum; +import com.jero.modules.system.service.ISysDictService; import com.jero.modules.system.util.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -35,6 +39,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Locale; +import java.util.stream.Collectors; /** @@ -54,6 +59,9 @@ public class ParamsReportEOController extends JeroController targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode()); List paramsReportEOS = paramsReportEOService.listInfo(paramsReportEO); for (ParamsReportEO row : paramsReportEOS) { - row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle()); + String market = getMarket(paramsReportEO, targetMarketList, row); + if(StringUtils.isNotBlank(row.getProjectName())){ + if(StringUtils.isBlank(market)){ + row.setProjectName(row.getProjectName()+ "-00"); + }else{ + row.setProjectName(row.getProjectName()+"-" +market+ "-00"); + } + row.setPageName(row.getProjectName()); + } } String orderBy = paramsReportEO.getOrderBy(); String orderByField = paramsReportEO.getOrderByField(); @@ -109,7 +127,34 @@ public class ParamsReportEOController extends JeroController list){ + + private String getMarket(ParamsReportEO paramsReportEO, List targetMarketList, ParamsReportEO row) { + List dictModelList = new ArrayList<>(); + String targetMarket = ""; + if(StringUtils.isNotBlank(row.getTargetMarket())){ + for (String s : row.getTargetMarket().split(",")) { + List dictModelListTemp = targetMarketList.stream() + .filter(e -> s.equals(e.getValue())).collect(Collectors.toList()); + dictModelList.addAll(dictModelListTemp); + } + } + if(dictModelList.size() != 0){ + StringBuilder sb = new StringBuilder(); + for (DictModel dictModel : dictModelList) { + if(CutEnum.CN.getValue().equals(paramsReportEO)){ + sb.append(dictModel.getText()+","); + }else{ + sb.append(dictModel.getTextEn()+","); + } + } + if(StringUtils.isNotBlank(sb)){ + targetMarket = sb.substring(0,sb.length()-1); + } + } + return targetMarket; + } + + public Page getPages(Integer currentPage, Integer pageSize, List list){ Page page =new Page(); if(list==null){ return null; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java index ac73a4ceb..0d63cb4cb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java @@ -79,6 +79,9 @@ public class ParamsReportEO implements Serializable { @ApiModelProperty(value = "目标市场") private String targetMarket; + @TableField(exist = false) + private String cut; + @TableField(exist = false) private String pageName; // 项目名称-国家-清单名称 From b76106ebb60ac1483203bb3943969353f5c00f5a Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Tue, 27 Dec 2022 14:20:19 +0800 Subject: [PATCH 41/41] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93=E5=93=81?= =?UTF-8?q?=E7=89=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectManagement/components/addModel.vue | 2 +- jero-web/src/views/regulationsKanban/index.vue | 8 ++++---- jero-web/src/views/system/UserAnnouncementList.vue | 14 +++++++------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/addModel.vue b/jero-web/src/views/projectManagement/components/addModel.vue index 5dbe689bd..f81163685 100644 --- a/jero-web/src/views/projectManagement/components/addModel.vue +++ b/jero-web/src/views/projectManagement/components/addModel.vue @@ -231,7 +231,7 @@ :title="$t('brand')">{{$t('brand')}} - diff --git a/jero-web/src/views/regulationsKanban/index.vue b/jero-web/src/views/regulationsKanban/index.vue index 6ec89741c..1de4b6044 100644 --- a/jero-web/src/views/regulationsKanban/index.vue +++ b/jero-web/src/views/regulationsKanban/index.vue @@ -86,14 +86,14 @@ :columns="columns" @change="tableOnChange" > - + {{ text }} - - {{ text }} - + + + diff --git a/jero-web/src/views/system/UserAnnouncementList.vue b/jero-web/src/views/system/UserAnnouncementList.vue index 019721871..86218c942 100644 --- a/jero-web/src/views/system/UserAnnouncementList.vue +++ b/jero-web/src/views/system/UserAnnouncementList.vue @@ -142,13 +142,13 @@ ellipsis: true, scopedSlots: { customRender: 'msgTitile' } }, - { - title: this.$t('Sponsor'), - align: 'left', - ellipsis: true, - dataIndex: 'initiator', - width: 200 - }, + // { + // title: this.$t('Sponsor'), + // align: 'left', + // ellipsis: true, + // dataIndex: 'initiator', + // width: 200 + // }, { title: this.$t('MessageType'), align: 'left',