From 2117f226a57c373f48dd7b647f8243a90bba72c2 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Thu, 27 Oct 2022 15:26:06 +0800 Subject: [PATCH 01/59] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AE=8C=E5=96=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/ProcessInfoEOMapper.xml | 28 ++++++++++--------- .../impl/ProcessInfoEOServiceImpl.java | 1 + 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index 546b830d8..94edf9561 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -257,7 +257,7 @@ from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} - + and detail.`status` = #{params.taskStatus} order by detail.submit_time desc @@ -269,7 +269,7 @@ from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} - + and detail.`status` = #{params.taskStatus} order by detail.submit_time desc @@ -287,20 +287,22 @@ #{item} + and ( + pi.id IN ( + SELECT + pid.process_info_id + FROM + process_info_detail pid + where pid.user_id = #{params.currentUserId} + + and pid.status = #{params.taskStatus} + + ) + ) and pi.create_by = #{params.createBy} - - and ( - pi.id IN ( - SELECT - pid.process_info_id - FROM - process_info_detail pid - where pid.user_id = #{params.currentUserId} and pid.status = #{params.taskStatus} - ) - ) - + ) temp diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index 5122b30ec..e6c4d9d0c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -375,6 +375,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl result = this.baseMapper.queryLawsAssessPageList(page,params); From 8e70b640ccece0e372e61b466a066731249f3712 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 27 Oct 2022 16:31:56 +0800 Subject: [PATCH 02/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/toDoCenter/taskConfirmation/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue index be713ee56..254cb1a9e 100644 --- a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue +++ b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue @@ -18,7 +18,7 @@ {{$t('standardInformation')}} + v-model="queryParam.standardInfo"> @@ -104,7 +104,7 @@ { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'serialNumber', + dataIndex: 'standardInfo', ellipsis: true, scopedSlots: { customRender: 'standardInformation' }, width: 170 From 19b4df8634bf6d3298699403d3bcc16c650e52ec Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 28 Oct 2022 09:53:33 +0800 Subject: [PATCH 03/59] =?UTF-8?q?=E6=B3=95=E8=A7=84=E9=A2=84=E8=AD=A6?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1--=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FeishuServiceImpl.java | 31 ++++++-- .../modules/warn/service/TimedTaskWarn.java | 78 +++++++++++++++++-- 2 files changed, 97 insertions(+), 12 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java index f5dd95a83..72761116a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java @@ -512,9 +512,19 @@ public class FeishuServiceImpl implements IFeishuService { contentSb.append("\"tag\": \"div\","); contentSb.append("\"text\": {"); contentSb.append("\"content\": \"" + "编号: " + feishuMsgVo.getRegulationNo() + "\n") - .append("标题: "+feishuMsgVo.getDocumentTitleCn() + "\n") - .append("新车型实施日期: "+feishuMsgVo.getNewTypeExecutionDate()+ "\n") - .append("在产车实施日期: "+feishuMsgVo.getNewVehicleExecutionDate()+ "\","); + .append("标题: "+feishuMsgVo.getDocumentTitleCn() + "\n"); + if (StringUtils.isNotBlank(feishuMsgVo.getNewTypeExecutionDate())) { + contentSb.append("新车型实施日期: " + feishuMsgVo.getNewTypeExecutionDate() + "\n"); + } else { + contentSb.append("新车型实施日期: "+ "\n"); + } + if (StringUtils.isNotBlank(feishuMsgVo.getNewVehicleExecutionDate())) { + contentSb.append("在产车实施日期: " + feishuMsgVo.getNewVehicleExecutionDate()); + } else { + contentSb.append("在产车实施日期: "); + } + contentSb.append("\","); + contentSb.append("\"tag\": \"lark_md\""); contentSb.append("}"); contentSb.append("},"); @@ -535,9 +545,18 @@ public class FeishuServiceImpl implements IFeishuService { contentSb.append("\"tag\": \"div\","); contentSb.append("\"text\": {"); contentSb.append("\"content\": \"" + "Regulation No: " + feishuMsgVo.getRegulationNo() + "\n") - .append("Title: " + feishuMsgVo.getDocumentTitleEn() + "\n") - .append("New Type Execution Date: " + feishuMsgVo.getNewTypeExecutionDate() + "\n") - .append("New Vehicle Execution Date: " + feishuMsgVo.getNewVehicleExecutionDate() + "\","); + .append("Title: " + feishuMsgVo.getDocumentTitleEn() + "\n"); + if (StringUtils.isNotBlank(feishuMsgVo.getNewTypeExecutionDate())) { + contentSb.append("New Type Execution Date: " + feishuMsgVo.getNewTypeExecutionDate() + "\n"); + } else { + contentSb.append("New Type Execution Date: "+ "\n"); + } + if (StringUtils.isNotBlank(feishuMsgVo.getNewVehicleExecutionDate())) { + contentSb.append("New Vehicle Execution Date: " + feishuMsgVo.getNewVehicleExecutionDate()); + } else { + contentSb.append("New Vehicle Execution Date: "); + } + contentSb.append("\","); contentSb.append("\"tag\": \"lark_md\""); contentSb.append("}"); contentSb.append("},"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/TimedTaskWarn.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/TimedTaskWarn.java index 86300e2b0..204629c96 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/TimedTaskWarn.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/TimedTaskWarn.java @@ -4,6 +4,7 @@ import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.modules.document.entity.BussDocumentLibraryEO; import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl; import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.subscribe.entity.OnlCgformSubscribe; import com.jero.modules.subscribe.service.IOnlCgformSubscribeService; import com.jero.modules.system.entity.SysAnnouncement; @@ -133,6 +134,18 @@ public class TimedTaskWarn implements Job { String msgTitle = content; sendMessage(msgTitle, content,contentInfo,content, url, userIdList, thirdIdList); } + if(currentTime.equals(beforeTimeSixTen)){ + //发送飞书消息(提前一年) + sendFeishu(sdf, bussDocumentLibraryEO, url, thirdIdList,"1"); + } + if(currentTime.equals(beforeTimeSix)){ + //发送飞书消息(提前6个月) + sendFeishu(sdf, bussDocumentLibraryEO, url, thirdIdList,"6"); + } + if(currentTime.equals(xin1Che1Xing2Shi2Shi1Ri4Qi1Str)){ + //发送飞书消息(当天) + sendFeishu(sdf, bussDocumentLibraryEO, url, thirdIdList,"0"); + } } //在产车实施日期 @@ -154,10 +167,63 @@ public class TimedTaskWarn implements Job { String msgTitle = content; sendMessage(msgTitle, content,contentInfo,content, url, userIdList, thirdIdList); } + if(currentTime.equals(beforeTimeSixTen)){ + //发送飞书消息(提前一年) + sendFeishu(sdf, bussDocumentLibraryEO, url, thirdIdList,"1"); + } + if(currentTime.equals(beforeTimeSix)){ + //发送飞书消息(提前6个月) + sendFeishu(sdf, bussDocumentLibraryEO, url, thirdIdList,"6"); + } + if(currentTime.equals(implementTimeStr)){ + //发送飞书消息(当天) + sendFeishu(sdf, bussDocumentLibraryEO, url, thirdIdList,"0"); + } } } } + private void sendFeishu(SimpleDateFormat sdf, + BussDocumentLibraryEO bussDocumentLibraryEO, + String url, + List thirdIdList, + String flag) { + FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + feishuMsgVo.setTitle(MessageTypeEnum.WARN.getNameCn()+"/"+MessageTypeEnum.WARN.getName()); + feishuMsgVo.setUrl(url); + String contentCn = ""; + String contentEn = ""; + if("1".equals(flag)){ + contentCn = "您所订阅的法规将于1年后实施."; + contentEn = "The regulation you subscribed to will be implemented in one year."; + } + if("6".equals(flag)){ + contentCn = "您所订阅的法规将于6个月后实施."; + contentEn = "The regulation you subscribed to will be implemented in six months."; + } + if("0".equals(flag)){ + contentCn = "您所订阅的法规已实施."; + contentEn = "The regulation you subscribed to is implemented."; + } + feishuMsgVo.setContent(contentCn); + feishuMsgVo.setContentEn(contentEn); + feishuMsgVo.setRegulationNo(bussDocumentLibraryEO.getSerialNumber()); + feishuMsgVo.setDocumentTitleCn(bussDocumentLibraryEO.getTitle()); + feishuMsgVo.setDocumentTitleEn(bussDocumentLibraryEO.getTitleEn()); + if(ObjectUtils.isNotEmpty(bussDocumentLibraryEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1())){ + feishuMsgVo.setNewTypeExecutionDate(sdf.format(bussDocumentLibraryEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1())); + } + if(ObjectUtils.isNotEmpty(bussDocumentLibraryEO.getImplementTime())){ + feishuMsgVo.setNewVehicleExecutionDate(sdf.format(bussDocumentLibraryEO.getImplementTime())); + } + + try { + iFeishuService.sendCardMsgWarn(thirdIdList.toArray(new String[]{}),feishuMsgVo); + } catch (IOException e) { + e.printStackTrace(); + } + } + private void sendMessage(String title, String content,String contentInfo,String contentFeiShu, String url, List userIdList, List thirdIdList) { //站内消息 //封装消息的实体类 @@ -165,12 +231,12 @@ public class TimedTaskWarn implements Job { sysAnnouncementService.saveAnnouncement(sysAnnouncement); bussDocumentLibraryEOService.sendWebsocket(StringUtils.join(userIdList, ","), content); - //飞书消息 - try { - iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentFeiShu, MessageTypeEnum.WARN.getName(), url); - } catch (IOException e) { - e.printStackTrace(); - } +// //飞书消息 +// try { +// iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentFeiShu, MessageTypeEnum.WARN.getName(), url); +// } catch (IOException e) { +// e.printStackTrace(); +// } } private String beforeTime (int month,Date date){ From b50d71394842db3571d69abd05a6638e20eb41fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=BD=A6=E6=B3=BD?= Date: Fri, 28 Oct 2022 11:52:45 +0800 Subject: [PATCH 04/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AD=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/problemKnowledgeBaseAdd.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue index 16acba02c..32a5c2c11 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue @@ -32,10 +32,10 @@
* {{$t('problemClassification')}} + :title="$t('classification')">{{$t('classification')}}
- From 91a7cae62a23d8cb093b560a0183063802961e77 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Fri, 28 Oct 2022 11:54:29 +0800 Subject: [PATCH 05/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/tools/HeaderNotice.vue | 13 +++++- .../src/views/dashboard/components/myNews.vue | 14 +++++-- .../src/views/system/UserAnnouncementList.vue | 40 ++++++++++++------- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/jero-web/src/components/tools/HeaderNotice.vue b/jero-web/src/components/tools/HeaderNotice.vue index e3ea56c27..0233fec30 100644 --- a/jero-web/src/components/tools/HeaderNotice.vue +++ b/jero-web/src/components/tools/HeaderNotice.vue @@ -15,7 +15,10 @@ @@ -50,6 +53,7 @@ data() { return { loadding: false, + language: '', url: { listCementByUser: '/sys/sysAnnouncementSend/getMessageUnreadList', editCementSend: '/sys/sysAnnouncementSend/editByAnntIdAndUserId', @@ -91,6 +95,7 @@ }, created() { this.loadData() + this.language = localStorage.getItem('language') || '' // this.initWebSocket() if (store.getters.userInfo) { this.$socketPublic.dispatch('webSocketInit')//初始化ws @@ -139,7 +144,11 @@ showAnnouncement(record) { getAction(this.url.readAllMsg, { ids: record.id }).then((res) => { }) - localStorage.setItem('msgContent', record.msgContent) + if (this.language == 'zh-cn') { + localStorage.setItem('msgContent', record.msgContentCn) + } else { + localStorage.setItem('msgContent', record.msgContent) + } this.$router.push({ path: '/isps/userAnnouncement', query: { diff --git a/jero-web/src/views/dashboard/components/myNews.vue b/jero-web/src/views/dashboard/components/myNews.vue index 719748291..3d693062a 100644 --- a/jero-web/src/views/dashboard/components/myNews.vue +++ b/jero-web/src/views/dashboard/components/myNews.vue @@ -11,8 +11,8 @@
-
- {{item.msgContent}} +
+ {{language == 'zh-cn'?item.msgContentCn:item.msgContent}}
{{item.sendTime}} @@ -44,11 +44,13 @@ loading: false, pageNo: 1, pageSize: 4, - dataSource: [] + dataSource: [], + language: '' } }, mounted() { this.getList() + this.language = localStorage.getItem('language') || '' }, methods: { getList() { @@ -69,7 +71,11 @@ magClick(row) { getAction(this.url.readAllMsg, { ids: row.id }).then((res) => { }) - localStorage.setItem('msgContent', row.msgContent) + if (this.language == 'zh-cn'){ + localStorage.setItem('msgContent', row.msgContentCn) + }else{ + localStorage.setItem('msgContent', row.msgContent) + } this.$router.push({ path: '/isps/userAnnouncement', query: { diff --git a/jero-web/src/views/system/UserAnnouncementList.vue b/jero-web/src/views/system/UserAnnouncementList.vue index fbb96c3d5..1c0262c0b 100644 --- a/jero-web/src/views/system/UserAnnouncementList.vue +++ b/jero-web/src/views/system/UserAnnouncementList.vue @@ -71,8 +71,9 @@ @change="handleTableChange"> - - {{text}} + + {{language == 'zh-cn' ? scope.msgContentCn : scope.msgContent}} @@ -82,7 +83,7 @@

- +

@@ -163,10 +164,10 @@ dataIndex: 'sendTime' }, { - title:'', + title: '', align: 'left', ellipsis: true, - width: 50, + width: 50 } ], url: { @@ -177,7 +178,8 @@ }, loading: false, openPath: '', - formData: '' + formData: '', + language: '' } }, watch: { @@ -186,16 +188,25 @@ this.loadData() } }, + mounted() { + this.language = localStorage.getItem('language') || '' + }, methods: { expandIcon(props) { if (props.expanded) { - return { - props.onExpand(props.record, e); - }}/>; + return + { + props.onExpand(props.record, e) + } + } + />; } else { - return { - props.onExpand(props.record, e); - }}/>; + return + { + props.onExpand(props.record, e) + } + } + />; } }, getQueryParams() { @@ -359,8 +370,9 @@ height: 38px; /*margin-top: 2px;*/ } - ::v-deep .ant-table .ant-table-row-indent + .ant-table-row-expand-icon{ - margin-right: 0; + + ::v-deep .ant-table .ant-table-row-indent + .ant-table-row-expand-icon { + margin-right: 0; } \ No newline at end of file From d589c572bde9778a98a957b5f60c0c79b278ecee Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 1 Nov 2022 14:55:05 +0800 Subject: [PATCH 35/59] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95--?= =?UTF-8?q?=E5=AF=B9=E7=AE=A1=E7=90=86=E5=91=98=E5=BC=80=E6=94=BE=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DummyInventoryBaseEOServiceImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index 6af72e8d9..f8096ac4e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -250,10 +250,14 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl getPageInfo(Page page, QueryWrapper queryWrapper) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - queryWrapper.and(query->{ - query.in("create_by",sysUser.getUsername()).in("state",InventoryStateEnum.DRAFT.getValue()) - .or().in("state",InventoryStateEnum.ISSUE.getValue()); - }); + //系统管理 + boolean administrator = sysUserService.isAdministrator(); + if(!administrator){ + queryWrapper.and(query->{ + query.in("create_by",sysUser.getUsername()).in("state",InventoryStateEnum.DRAFT.getValue()) + .or().in("state",InventoryStateEnum.ISSUE.getValue()); + }); + } // queryWrapper.or(query->{ // query.in("state",InventoryStateEnum.ISSUE.getValue()); // }); From bdfb7d8528ad4f32d8b339d2a0f2cb931fe366f8 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 1 Nov 2022 15:00:30 +0800 Subject: [PATCH 36/59] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95--?= =?UTF-8?q?=E5=BC=80=E6=94=BE=E7=AE=A1=E7=90=86=E5=91=98=E7=9A=84=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E5=92=8C=E6=92=A4=E5=9B=9E=E7=9A=84=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DummyInventoryBaseEOServiceImpl.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index f8096ac4e..20b31fb67 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -323,19 +323,19 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl createByNameList =new ArrayList<>(); - if (StringUtils.isNotBlank(baseEO.getCreateBy())) { - createByNameList = Arrays.asList(baseEO.getCreateBy().split(",")); - - if (CollectionUtils.isNotEmpty(createByNameList)){ - if (!createByNameList.contains(loginUserName)) { - if (CutEnum.CN.getValue().equals(dummyInventoryBaseEO.getCut())) { - throw new JeroBootException("当前用户非创建者,无法发布"); - } else { - throw new JeroBootException("The current user is not the creator and cannot be issued."); - } - } - } - } +// if (StringUtils.isNotBlank(baseEO.getCreateBy())) { +// createByNameList = Arrays.asList(baseEO.getCreateBy().split(",")); +// +// if (CollectionUtils.isNotEmpty(createByNameList)){ +// if (!createByNameList.contains(loginUserName)) { +// if (CutEnum.CN.getValue().equals(dummyInventoryBaseEO.getCut())) { +// throw new JeroBootException("当前用户非创建者,无法发布"); +// } else { +// throw new JeroBootException("The current user is not the creator and cannot be issued."); +// } +// } +// } +// } Date now = new Date(); UpdateWrapper baseWrapper=new UpdateWrapper<>(); baseWrapper.set("state",dummyInventoryBaseEO.getState()); From 923e099599570a8fa5a55bbbdee1f14f35095b0f Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Tue, 1 Nov 2022 15:36:11 +0800 Subject: [PATCH 37/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/projectManagement/components/listOfRegulations.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index c09c6e5c9..0e0329c86 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -173,7 +173,8 @@
-
{{ $t('export') }} From 2e798e417a54cdedad7611863846b5cf4adcb2af Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Tue, 1 Nov 2022 15:59:37 +0800 Subject: [PATCH 38/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/processCenter/components/circulationHistory.vue | 2 +- .../src/views/processCenter/components/evaluatorFeedback.vue | 2 +- .../views/processCenter/components/evaluatorFeedbackList.vue | 2 +- .../src/views/processCenter/components/examineInformation.vue | 2 +- .../src/views/processCenter/components/feedbackInformation.vue | 2 +- .../src/views/processCenter/components/projectInformation.vue | 2 +- .../processCenter/components/regulatoryCirculationHistory.vue | 2 +- .../processCenter/components/reviewedByThePersonInCharge.vue | 2 +- jero-web/src/views/processCenter/components/standardContent.vue | 2 +- .../views/processCenter/components/taskCirculationHistory.vue | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/jero-web/src/views/processCenter/components/circulationHistory.vue b/jero-web/src/views/processCenter/components/circulationHistory.vue index 9066f1762..c05bcabbd 100644 --- a/jero-web/src/views/processCenter/components/circulationHistory.vue +++ b/jero-web/src/views/processCenter/components/circulationHistory.vue @@ -107,7 +107,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/evaluatorFeedback.vue b/jero-web/src/views/processCenter/components/evaluatorFeedback.vue index ef8d4b8d1..df1fc8781 100644 --- a/jero-web/src/views/processCenter/components/evaluatorFeedback.vue +++ b/jero-web/src/views/processCenter/components/evaluatorFeedback.vue @@ -356,7 +356,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue b/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue index 3b8473872..ecdb62caa 100644 --- a/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue +++ b/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue @@ -389,7 +389,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/examineInformation.vue b/jero-web/src/views/processCenter/components/examineInformation.vue index 385c860df..f95b8c6a1 100644 --- a/jero-web/src/views/processCenter/components/examineInformation.vue +++ b/jero-web/src/views/processCenter/components/examineInformation.vue @@ -223,7 +223,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/feedbackInformation.vue b/jero-web/src/views/processCenter/components/feedbackInformation.vue index c86a652cb..ff7b18e69 100644 --- a/jero-web/src/views/processCenter/components/feedbackInformation.vue +++ b/jero-web/src/views/processCenter/components/feedbackInformation.vue @@ -231,7 +231,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/projectInformation.vue b/jero-web/src/views/processCenter/components/projectInformation.vue index 8c0e6669a..c32129ffe 100644 --- a/jero-web/src/views/processCenter/components/projectInformation.vue +++ b/jero-web/src/views/processCenter/components/projectInformation.vue @@ -111,7 +111,7 @@ line-height: 80px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/regulatoryCirculationHistory.vue b/jero-web/src/views/processCenter/components/regulatoryCirculationHistory.vue index 48adc3d86..4fa35d3fa 100644 --- a/jero-web/src/views/processCenter/components/regulatoryCirculationHistory.vue +++ b/jero-web/src/views/processCenter/components/regulatoryCirculationHistory.vue @@ -127,7 +127,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue b/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue index fc760921f..f9614c226 100644 --- a/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue +++ b/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue @@ -312,7 +312,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/standardContent.vue b/jero-web/src/views/processCenter/components/standardContent.vue index 846990863..be337f0b4 100644 --- a/jero-web/src/views/processCenter/components/standardContent.vue +++ b/jero-web/src/views/processCenter/components/standardContent.vue @@ -116,7 +116,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } diff --git a/jero-web/src/views/processCenter/components/taskCirculationHistory.vue b/jero-web/src/views/processCenter/components/taskCirculationHistory.vue index 8c64c8228..8495f0393 100644 --- a/jero-web/src/views/processCenter/components/taskCirculationHistory.vue +++ b/jero-web/src/views/processCenter/components/taskCirculationHistory.vue @@ -110,7 +110,7 @@ line-height: 40px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } From 81c9c76fb0d519585ad4f6ac7d3511ad3403369c Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Tue, 1 Nov 2022 16:12:53 +0800 Subject: [PATCH 39/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/ProjectDetails.vue | 14 ++++++++++++-- .../components/listOfRelevantPersonnel.vue | 18 ++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/ProjectDetails.vue b/jero-web/src/views/projectManagement/components/ProjectDetails.vue index 18212626b..3dc752b3b 100644 --- a/jero-web/src/views/projectManagement/components/ProjectDetails.vue +++ b/jero-web/src/views/projectManagement/components/ProjectDetails.vue @@ -5,7 +5,7 @@ {{$t('basicInformationOfParameters')}}
- {{$t('edit')}} @@ -93,7 +93,8 @@ {{$t('regulatoryCertificationTaskPlan')}}
- {{$t('setting')}} @@ -161,6 +162,7 @@ data() { return { queryForm: {}, + administrators:false, activeKey: this.$t('CurrentStatusOfTheProject'), url: { queryById: 'project/projectLibraryBase/queryById', @@ -177,6 +179,14 @@ mounted() { this.getForm() this.getSetting() + this.administrators = false + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } }, methods: { ...mapGetters(['userInfo']), diff --git a/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue b/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue index 8de753c3c..a885f10b4 100644 --- a/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue +++ b/jero-web/src/views/projectManagement/components/listOfRelevantPersonnel.vue @@ -83,14 +83,14 @@
+ v-if="this.$route.query.studioEngineer == this.userInfo().id || administrators">
+ v-if="this.$route.query.studioEngineer == this.userInfo().id || administrators"> {{$t('batSetting')}}
@@ -388,13 +388,15 @@ queryCertificationEngineer: '/project/projectRelatedPersonnel/queryCertificationEngineer' }, selectedRowKeys: [], - dictOptionsValue: [] + dictOptionsValue: [], + administrators: false } }, computed: { columns() { let columnResult = JSON.parse(JSON.stringify(this.columnsAll)) - if (this.$route.query.studioEngineer != this.userInfo().id) { + if (this.$route.query.studioEngineer == this.userInfo().id || this.administrators) { + } else { for (var i = 0; i < columnResult.length; i++) { if (columnResult[i].title === this.$t('operation')) { columnResult.splice(i, 1) @@ -441,6 +443,14 @@ getData() { this.visible = true this.queryParam = {} + this.administrators = false + if (this.userInfo().userRoleList && this.userInfo().userRoleList.length > 0) { + this.userInfo().userRoleList.forEach(res => { + if (res.roleCode == 'admin') { + this.administrators = true + } + }) + } this.getList() this.queryCertificationEngineer() }, From d3e96de8b4fa59760eaaacd3a8278f19df22a823 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Tue, 1 Nov 2022 16:41:03 +0800 Subject: [PATCH 40/59] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E7=AC=A6=E5=90=88?= =?UTF-8?q?=E6=80=A7=E7=A1=AE=E8=AE=A4=E3=80=81Pre-Homo=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E3=80=81=E9=AA=8C=E8=AF=81=E7=AC=A6=E5=90=88=E6=80=A7=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E9=83=BD=E5=81=9A=E5=AE=8C=E4=B8=80=E5=8D=8A=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 47 ++- ...ojectTaskInventoryDetailEOServiceImpl.java | 178 ++++++--- .../ProjectTaskInventoryEOServiceImpl.java | 183 +++++++--- ...ectTaskInventoryFeedbackEOServiceImpl.java | 344 +++++++++++++----- 4 files changed, 554 insertions(+), 198 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 3eecda602..bdf028c4e 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 @@ -2502,12 +2502,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) ); initiatorLark = initiatorLarkInfo.getUsername(); + + msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); + cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " + sysUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getDesignDueDate()); + enContentUpper = "Hello! Please check and address the task in a timely manner. Thank you!"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + sysUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getDesignDueDate()); + color = MsgColorEnum.GREEN.getValue(); + } else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_START_MSG.getValue())){ String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id userIdList.add(prehomoDutyId); @@ -2678,6 +2692,19 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) ); initiatorLark = initiatorLarkInfo.getUsername(); + msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); + cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " + initiatorLark + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); + enContentUpper = "Hello! Please check and address the task in a timely manner. Thank you!"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + initiatorLark + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); + color = MsgColorEnum.GREEN.getValue(); + } else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_START_MSG.getValue())){ String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id userIdList.add(verifyDutyId); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java index 144f559e2..150a250eb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java @@ -7,9 +7,15 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Result; import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; import com.jero.common.exception.JeroBootException; 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.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.JumpLinkEnum; @@ -32,6 +38,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -71,6 +79,11 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + userIdList = userIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(userIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } } } } 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 062a0d5f1..90a95e482 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 @@ -6,10 +6,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.api.vo.Result; import com.jero.common.constant.enums.CutEnum; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; import com.jero.common.exception.JeroBootException; 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.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.*; @@ -24,6 +30,7 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUserRole; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.ISysUserRoleService; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum; import com.jero.modules.wkflow.enums.FlowTypeEnum; @@ -91,6 +98,12 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl projectLawsInventoryEOQueryWrapper = new QueryWrapper<>(); + projectLawsInventoryEOQueryWrapper.eq("project_library_id", projectLibraryId).eq("serial_number", serialNumber); + ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryEOMapper.selectOne(projectLawsInventoryEOQueryWrapper); + String LAW_CN = projectLawsInventoryEO.getSerialNumber() + " " + projectLawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(projectLawsInventoryEO.getStandId()); + String LAW_EN = projectLawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if(StringUtils.equals(msgType,MsgTypeEnum.DESIGN_REMIND_MSG.getValue())){ //Please check and deal with the design compliance confirmation process of GB 7258 in XXX (project name) in time. - msgContentEN = "Please check and deal with the design compliance confirmation process of " - + serialNumber + " in " - + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + " in time."; - msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + ": You have a design compliance task to complete"; + //msgContentEN = "Please check and deal with the design compliance confirmation process of " + // + serialNumber + " in " + // + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + " in time."; + //msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + ": You have a design compliance task to complete"; - feishuMsgVo.setContent("Hello! Please address the task ASAP. "); - feishuMsgVo.setTaskType("Design Compliance Confirmation"); - feishuMsgVo.setRegulationNo(serialNumber); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setContent("Hello! Please address the task ASAP. "); + //feishuMsgVo.setTaskType("Design Compliance Confirmation"); + //feishuMsgVo.setRegulationNo(serialNumber); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + + //messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION; + + msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); + cnContentUpper = "您好,"+ currentUser.getUsername() +"向您分发了该任务,请尽快查看处理"; + cnContentLower = "项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: " + currentUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getDesignDueDate()); + enContentUpper = "Hello! "+ currentUser.getUsername() +" has assigned the task to you. Please check and address the task ASAP"; + enContentLower = "Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + currentUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getDesignDueDate()); - messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION; }else if(StringUtils.equals(msgType,MsgTypeEnum.PREHOMO_REMIND_MSG.getValue())){ //Please check and deal with the Pre-Homo confirmation process of GB 7258 in XXX (project name) in time. - msgContentEN = "Please check and address the Pre-Homo confirmation process of " - + serialNumber + " in "+ projectNameInfoEO.getProjectName() - + " in time."; - msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + ": You have a Pre-Homo task to complete"; + //msgContentEN = "Please check and address the Pre-Homo confirmation process of " + // + serialNumber + " in "+ projectNameInfoEO.getProjectName() + // + " in time."; + //msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + ": You have a Pre-Homo task to complete"; - feishuMsgVo.setContent("Hello! Please address the task ASAP. "); - feishuMsgVo.setTaskType("Pre-Homo Confirmation"); - feishuMsgVo.setRegulationNo(serialNumber); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setContent("Hello! Please address the task ASAP. "); + //feishuMsgVo.setTaskType("Pre-Homo Confirmation"); + //feishuMsgVo.setRegulationNo(serialNumber); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + + //messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION; + + msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); + cnContentUpper = "您好,"+ currentUser.getUsername() +"向您分发了该任务,请尽快查看处理"; + cnContentLower = "项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: " + currentUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); + enContentUpper = "Hello! "+ currentUser.getUsername() +" has assigned the task to you. Please check and address the task ASAP"; + enContentLower = "Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + currentUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); - messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION; }else if(StringUtils.equals(msgType,MsgTypeEnum.VERIFY_REMIND_MSG.getValue())){ //Please check and deal with the Verify compliance confirmation process of GB 7258 in XXX (project name) in time. - msgContentEN = "Please check and address the validation compliance confirmation process of " - + serialNumber + " in "+ projectNameInfoEO.getProjectName() - + " in time."; - msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + ": You have a validation compliance task to complete"; + //msgContentEN = "Please check and address the validation compliance confirmation process of " + // + serialNumber + " in "+ projectNameInfoEO.getProjectName() + // + " in time."; + //msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + ": You have a validation compliance task to complete"; - feishuMsgVo.setContent("Hello! Please address the task ASAP. "); - feishuMsgVo.setTaskType("Validation Compliance Confirmation"); - feishuMsgVo.setRegulationNo(serialNumber); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setContent("Hello! Please address the task ASAP. "); + //feishuMsgVo.setTaskType("Validation Compliance Confirmation"); + //feishuMsgVo.setRegulationNo(serialNumber); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); - messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION; + //messageTypeEnum = MessageTypeEnum.COMPLIANCE_CONFIRMATION; + + msgTitle = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); + cnContentUpper = "您好,"+ currentUser.getUsername() +"向您分发了该任务,请尽快查看处理"; + cnContentLower = "项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: " + currentUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()); + enContentUpper = "Hello! "+ currentUser.getUsername() +" has assigned the task to you. Please check and address the task ASAP"; + enContentLower = "Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + currentUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()); } - if(CollectionUtils.isNotEmpty(userIdList) && StringUtils.isNotEmpty(msgContentEN)){ + if(CollectionUtils.isNotEmpty(userIdList) && StringUtils.isNotEmpty(msgTitle)){ //飞书跳转链接 String hrefFeishu = backUrl @@ -441,20 +512,40 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } return new Result<>().success("提醒办理成功!"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java index a7e556d3e..99d255b6e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java @@ -1,8 +1,14 @@ package com.jero.modules.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; 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.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.FeedBackHistoryDataStatusEnum; @@ -24,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -63,6 +70,12 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); - String initiator = ""; - if(StringUtils.isNotEmpty(initiatorId)){ - QueryWrapper queryOneWrapper = new QueryWrapper<>(); - queryOneWrapper.lambda().eq(SysUser::getId,initiatorId); - SysUser sysUser = this.sysUserService.getBaseMapper().selectOne(queryOneWrapper); - initiator = sysUser.getUsername(); + List sysUsers = sysUserService.listByIds(userIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); } - feishuMsgVo.setInitiator(initiator); + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + //系统内部跳转链接 + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); + + //String initiator = ""; + //if(StringUtils.isNotEmpty(initiatorId)){ + // QueryWrapper queryOneWrapper = new QueryWrapper<>(); + // queryOneWrapper.lambda().eq(SysUser::getId,initiatorId); + // SysUser sysUser = this.sysUserService.getBaseMapper().selectOne(queryOneWrapper); + // initiator = sysUser.getUsername(); + //} + //feishuMsgVo.setInitiator(initiator); //发送消息 - SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } @@ -372,11 +456,11 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } From f68a375893289b8a525c1904791470d2f24fe68f Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Tue, 1 Nov 2022 16:41:21 +0800 Subject: [PATCH 41/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/problemKnowledgeBaseAdd.vue | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue index 32a5c2c11..3e26365cf 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseAdd.vue @@ -125,14 +125,16 @@ - - {{$t('addStandardInformation')}} -
+ + + {{$t('addStandardInformation')}} + + @@ -799,8 +801,9 @@ width: 120px; overflow: hidden; padding: 0 0; - float: right; + /*float: right;*/ text-align: center; + margin-top: 2px; } ::v-deep .box-button-index span { @@ -843,8 +846,9 @@ } .box-input-index { - width: calc(100% - 130px); + /*width: calc(100% - 130px);*/ display: inline-block; + width: 100%; height: 48px; margin-right: 10px; } From 0b2ae6fb921055f383f2d349874e9817e557c273 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 1 Nov 2022 16:46:01 +0800 Subject: [PATCH 42/59] =?UTF-8?q?=E7=AC=A6=E5=90=88=E6=80=A7=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=EF=BC=8C=E6=9F=A5=E8=AF=A2=E5=8F=8D=E9=A6=88=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E5=A4=84=E7=90=86=E7=94=A8=E6=88=B7id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ProjectTaskInventoryFeedbackEOServiceImpl.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java index a7e556d3e..2eb931b93 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java @@ -286,6 +286,9 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl projectTaskInventoryFeedbackEOS = this.baseMapper.selectList(queryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryFeedbackEOS)){ List idList = projectTaskInventoryFeedbackEOS.stream().distinct().map(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId).collect(Collectors.toList()); + List userNameList = projectTaskInventoryFeedbackEOS.stream().distinct().map(ProjectTaskInventoryFeedbackEO::getCreateBy).collect(Collectors.toList()); + List userList = this.sysUserService.queryUserIdListByNameList(userNameList); + QueryWrapper inventoryDetailEOQueryWrapper = new QueryWrapper<>(); inventoryDetailEOQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getId,idList); List projectTaskInventoryDetailEOList = projectTaskInventoryDetailEOMapper.selectList(inventoryDetailEOQueryWrapper); @@ -302,6 +305,18 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl userListTemp = userList.stream().filter(user -> { + boolean flag = false; + if(StringUtils.equals(projectTaskInventoryFeedbackEO.getCreateBy(),user.getUsername())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(userListTemp)){ + projectTaskInventoryFeedbackEO.setUserId(userListTemp.get(0).getId()); + } + } } } return projectTaskInventoryFeedbackEOS; From a4f9bec0d97c5711428ab657062d2e8071f7de93 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 1 Nov 2022 16:48:11 +0800 Subject: [PATCH 43/59] =?UTF-8?q?=E7=AC=A6=E5=90=88=E6=80=A7=E6=B5=81?= =?UTF-8?q?=E7=A8=8B-=E6=9F=A5=E8=AF=A2=E5=8F=8D=E9=A6=88=E6=84=8F?= =?UTF-8?q?=E8=A7=81=E5=A4=84=E7=90=86userId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/project/entity/ProjectTaskInventoryFeedbackEO.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java index 9b90ffa39..abbedd475 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java @@ -108,4 +108,6 @@ public class ProjectTaskInventoryFeedbackEO implements Serializable { @ApiModelProperty(value = "序号") private String serialNumber; + @TableField(exist = false) + private String userId; } From a551db8911b47b0b4e50092e52d6563e6231abf9 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 1 Nov 2022 16:49:22 +0800 Subject: [PATCH 44/59] =?UTF-8?q?61712=EF=BC=9A=E6=B3=95=E8=A7=84=E7=AC=A6?= =?UTF-8?q?=E5=90=88=E6=80=A7=E7=9C=8B=E6=9D=BF-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90=EF=BC=9A=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E7=99=BB=E5=BD=95=E7=94=A8=E6=88=B7=EF=BC=8C?= =?UTF-8?q?=E6=98=AF=E5=B7=A5=E7=A8=8B=E5=B8=88=E3=80=81=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BA=BA=E8=A7=92=E8=89=B2=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E8=83=BD=E6=9F=A5=E7=9C=8B=E5=88=B0=E8=B7=9F=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=9A=84=E6=95=B0=E6=8D=AE=E3=80=82=E5=85=B6?= =?UTF-8?q?=E4=BD=99=E8=A7=92=E8=89=B2=E4=BF=9D=E7=95=99=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E8=AF=A2=E7=BB=93=E6=9E=9C=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/system/enums/RoleEnum.java | 2 + .../system/service/ISysUserService.java | 13 ++ .../service/impl/SysUserServiceImpl.java | 42 ++++ .../mapper/xml/LawsComplianceBoardMapper.xml | 128 ++++++++-- .../impl/LawsComplianceBoardServiceImpl.java | 220 ++++++++++++++---- 5 files changed, 348 insertions(+), 57 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/RoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/RoleEnum.java index 5e344c977..0b743f160 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/RoleEnum.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/RoleEnum.java @@ -4,6 +4,8 @@ public enum RoleEnum { ADMIN_ID("R&H Manager","R&H Manager","manager","1534020391015444481",2), MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3), COUNTRU_CARD_MANAGE("countryCard管理员","countryCardManage","countryCardManage","1564916346120916993",4), + ENGINEERING_INTERFACE_PERSON("工程接口人","engineeringInterfacePerson","engineeringInterfacePerson","1534020084667674626",5), + ENGINEER("工程师","engineer","engineer","1534020318437208065",6), ; String name; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index b091fc0c4..4e3c3a59f 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.api.vo.Result; +import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.SysUserCacheInfo; import com.jero.modules.system.entity.PPEmployee; import com.jero.modules.system.entity.SysRole; @@ -276,4 +277,16 @@ public interface ISysUserService extends IService { * @return */ boolean isAdministrator(); + + /** + * 验证当前登录用户是否是工程接口人角色 + * @return + */ + boolean isEngineeringInterfacePerson(LoginUser currentUser); + + /** + * 验证当前登录用户是否是工程师角色 + * @return + */ + boolean isEngineer(LoginUser currentUser); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 71dac6e67..bd91b606d 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -614,4 +614,46 @@ public class SysUserServiceImpl extends ServiceImpl impl } return result; } + + @Override + public boolean isEngineeringInterfacePerson(LoginUser currentUser) { + boolean result = false; + RoleEnum engineeringInterfacePerson = RoleEnum.ENGINEERING_INTERFACE_PERSON; + List userRoleList = this.sysUserRoleMapper.selectList(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); + if(CollectionUtils.isNotEmpty(userRoleList)){ + List userRoles = userRoleList.stream().filter(userRole -> { + boolean flag = false; + if(StringUtils.equals(userRole.getRoleId(),engineeringInterfacePerson.getId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(userRoles)){ + result = true; + } + } + return result; + } + + @Override + public boolean isEngineer(LoginUser currentUser) { + boolean result = false; + RoleEnum engineer = RoleEnum.ENGINEER; + List userRoleList = this.sysUserRoleMapper.selectList(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); + if(CollectionUtils.isNotEmpty(userRoleList)){ + List userRoles = userRoleList.stream().filter(userRole -> { + boolean flag = false; + if(StringUtils.equals(userRole.getRoleId(),engineer.getId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(userRoles)){ + result = true; + } + } + return result; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml index 6fdb1df82..002a6acae 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/LawsComplianceBoardMapper.xml @@ -15,13 +15,54 @@ LEFT JOIN project_laws_inventory pli ON ( pli.stand_id = bdl.id ) LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id ) WHERE - ( - bdl.id IN ( SELECT DISTINCT stand_id FROM laws_opinion_gather where gather_result = #{params.gatherResult}) - OR bdl.id IN ( SELECT DISTINCT stand_id FROM laws_technology_evaluation where flow_status = #{params.flowStatus}) - or pti.design_p_id IS NOT NULL - OR pti.prehomo_p_id IS NOT NULL - OR pti.verify_p_id IS NOT NULL - ) + + ( + bdl.id IN ( + SELECT + DISTINCT stand_id + FROM laws_opinion_gather + where gather_result = #{params.gatherResult} + ) + OR bdl.id IN ( + SELECT + DISTINCT stand_id + FROM laws_technology_evaluation + where flow_status = #{params.flowStatus} + ) + OR pti.design_p_id IS NOT NULL + OR pti.prehomo_p_id IS NOT NULL + OR pti.verify_p_id IS NOT NULL + ) + + + + ( + bdl.id IN ( + SELECT + DISTINCT stand_id + FROM + laws_opinion_gather + where gather_result = #{params.gatherResult} and evaluator_ids like CONCAT(CONCAT('%',#{params.currentUserId}),'%') + ) + OR bdl.id IN ( + SELECT + DISTINCT stand_id + FROM + laws_technology_evaluation + where flow_status = #{params.flowStatus} + and id in ( + select + laws_technology_evaluation_id + from + laws_technology_evaluation_flow_detail + where evaluator_id = #{params.currentUserId} + ) + ) + OR (pti.design_p_id IS NOT NULL and (pli.design_initiator_id = #{params.currentUserId} or pli.design_duty_id = #{params.currentUserId})) + OR (pti.prehomo_p_id IS NOT NULL and (pli.prehomo_initiator_id = #{params.currentUserId} or pli.prehomo_duty_id = #{params.currentUserId})) + OR (pti.verify_p_id IS NOT NULL and (pli.verify_initiator_id = #{params.currentUserId} or pli.verify_duty_id = #{params.currentUserId})) + ) + ${params.condition} GROUP BY bdl.id order by bdl.create_time desc @@ -34,6 +75,12 @@ pli.serial_number as "serialNumber", pli.title as "title", pli.project_library_id as "projectLibraryId", + pli.design_initiator_id as "designInitiatorId", + pli.design_duty_id as "designDutyId", + pli.prehomo_initiator_id as "prehomoInitiatorId", + pli.prehomo_duty_id as "prehomoDutyId", + pli.verify_initiator_id as "verifyInitiatorId", + pli.verify_duty_id as "verifyDutyId", pni.project_name as "projectName", pni.id as "projectNameId", pyni.year_name as "yearName", @@ -80,6 +127,16 @@ #{item} + + and( + pli.design_initiator_id = #{params.currentUserId} + or pli.design_duty_id = #{params.currentUserId} + or pli.prehomo_initiator_id = #{params.currentUserId} + or pli.prehomo_duty_id = #{params.currentUserId} + or pli.verify_initiator_id = #{params.currentUserId} + or pli.verify_duty_id = #{params.currentUserId} + ) + order by pli.create_time desc @@ -96,16 +153,57 @@ LEFT JOIN project_laws_inventory pli ON ( pli.stand_id = bdl.id ) LEFT JOIN project_task_inventory pti ON ( pli.id = pti.project_laws_inventory_id ) WHERE + ( - bdl.id IN ( SELECT DISTINCT stand_id FROM laws_opinion_gather) - OR bdl.id IN ( SELECT DISTINCT stand_id FROM laws_technology_evaluation) - or pti.design_p_id IS NOT NULL - OR pti.prehomo_p_id IS NOT NULL - OR pti.verify_p_id IS NOT NULL + bdl.id IN ( + SELECT + DISTINCT stand_id + FROM laws_opinion_gather + where gather_result = #{params.gatherResult} ) - - ${params.condition} - + OR bdl.id IN ( + SELECT + DISTINCT stand_id + FROM laws_technology_evaluation + where flow_status = #{params.flowStatus} + ) + OR pti.design_p_id IS NOT NULL + OR pti.prehomo_p_id IS NOT NULL + OR pti.verify_p_id IS NOT NULL + ) + + + + ( + bdl.id IN ( + SELECT + DISTINCT stand_id + FROM + laws_opinion_gather + where gather_result = #{params.gatherResult} and evaluator_ids like CONCAT(CONCAT('%',#{params.currentUserId}),'%') + ) + OR bdl.id IN ( + SELECT + DISTINCT stand_id + FROM + laws_technology_evaluation + where flow_status = #{params.flowStatus} + and id in ( + select + laws_technology_evaluation_id + from + laws_technology_evaluation_flow_detail + where evaluator_id = #{params.currentUserId} + ) + ) + OR (pti.design_p_id IS NOT NULL and (pli.design_initiator_id = #{params.currentUserId} or pli.design_duty_id = #{params.currentUserId})) + OR (pti.prehomo_p_id IS NOT NULL and (pli.prehomo_initiator_id = #{params.currentUserId} or pli.prehomo_duty_id = #{params.currentUserId})) + OR (pti.verify_p_id IS NOT NULL and (pli.verify_initiator_id = #{params.currentUserId} or pli.verify_duty_id = #{params.currentUserId})) + ) + + + ${params.condition} + GROUP BY bdl.id order by bdl.create_time desc diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java index e1742535b..be69a99c0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/LawsComplianceBoardServiceImpl.java @@ -25,6 +25,7 @@ import com.jero.modules.project.service.ILawsComplianceBoardService; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.service.ISysDictItemService; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; @@ -68,6 +69,8 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi private ISysDictItemService sysDictItemService; @Autowired private ProjectTaskInventoryDetailEOMapper projectTaskInventoryDetailEOMapper; + @Autowired + private ISysUserService sysUserService; @Override public IPage queryPageList(Map params) { @@ -81,6 +84,18 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi //只查询 法规技术评估流程状态、法规意见收集 收集结果 为已完成的数据 params.put("flowStatus", GatherResultEnum.COMPLETED.getValue()); params.put("gatherResult", GatherResultEnum.COMPLETED.getValue()); + + /** + * 2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。 + */ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + boolean isEngineer = this.sysUserService.isEngineer(currentUser); + boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser); + if(isEngineer || isEngineeringInterfacePerson){ + params.put("currentUserId",currentUser.getId()); + params.put("isEngineerOrEngineeringInterfacePerson",true); + } + IPage page = new Page(pageNo, pageSize); IPage infoPage = this.lawsComplianceBoardMapper.queryPageList(page, params); List records = infoPage.getRecords(); @@ -142,18 +157,28 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi @Override public JSONObject queryComplianceResultList(Map params) { + /** + * 2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。 + */ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + boolean isEngineer = this.sysUserService.isEngineer(currentUser); + boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser); + if(isEngineer || isEngineeringInterfacePerson){ + params.put("currentUserId",currentUser.getId()); + params.put("isEngineerOrEngineeringInterfacePerson",true); + } + JSONObject result = new JSONObject(); String id = (String) params.get("id"); String cut = (String) params.get("cut"); List> complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params); if(CollectionUtils.isNotEmpty(complianceResultList)){ - LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); List projectLawsInventoryIdList = complianceResultList.stream().map(map-> (String) map.get("id")).collect(Collectors.toList()); QueryWrapper taskDetailQueryWrapper = new QueryWrapper<>(); taskDetailQueryWrapper.lambda().in(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectLawsInventoryIdList); List projectTaskInventoryDetailEOList = this.projectTaskInventoryDetailEOMapper.selectList(taskDetailQueryWrapper); - this.createTaskInventoryEOList(complianceResultList,projectTaskInventoryDetailEOList,currentUser); - this.disposeComplianceResult(complianceResultList,cut); + this.createTaskInventoryEOList(complianceResultList,projectTaskInventoryDetailEOList,currentUser,isEngineer,isEngineeringInterfacePerson); + this.disposeComplianceResult(complianceResultList,cut,isEngineer,isEngineeringInterfacePerson); } result.put("complianceResultList",complianceResultList); @@ -161,6 +186,10 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi QueryWrapper opinionGatherEOQueryWrapper = new QueryWrapper<>(); opinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getStandId,id); opinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult,GatherResultEnum.COMPLETED.getValue()); + //如果当前登录用户是工程师或工程接口人,只查询自己为评估人的法规意见收集数据。 + if(isEngineer || isEngineeringInterfacePerson){ + opinionGatherEOQueryWrapper.lambda().like(LawsOpinionGatherEO::getEvaluatorIds,currentUser.getId()); + } int opinionGatherCount = this.lawsOpinionGatherEOService.count(opinionGatherEOQueryWrapper); result.put("opinionGather",opinionGatherCount); @@ -168,6 +197,10 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi QueryWrapper evaluationEOQueryWrapper = new QueryWrapper<>(); evaluationEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getStandId,id); evaluationEOQueryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus,GatherResultEnum.COMPLETED.getValue()); + //如果当前登录用户是工程师或工程接口人,只查询自己为评估人的法规技术评估数据。 + if(isEngineer || isEngineeringInterfacePerson){ + this.lawsTechnologyEvaluationEOService.createQueryPermission(evaluationEOQueryWrapper,null,false); + } int evaluationCount = this.lawsTechnologyEvaluationEOService.count(evaluationEOQueryWrapper); result.put("technologyEvaluation",evaluationCount); return result; @@ -178,8 +211,14 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi * @param complianceResultList * @param projectTaskInventoryDetailEOList * @param currentUser + * @param isEngineer 是否是工程师角色 + * @param isEngineeringInterfacePerson 是否是工程接口人角色 */ - private void createTaskInventoryEOList(List> complianceResultList, List projectTaskInventoryDetailEOList, LoginUser currentUser) { + private void createTaskInventoryEOList(List> complianceResultList, + List projectTaskInventoryDetailEOList, + LoginUser currentUser, + boolean isEngineer, + boolean isEngineeringInterfacePerson) { if(CollectionUtils.isNotEmpty(complianceResultList) && CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOList)){ for (Map complianceResult : complianceResultList) { String designPid = ""; @@ -199,44 +238,97 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi String verifyTaskStatus = ""; String verifyTaskDefinitionKey = ""; String verifyTaskDetailId = ""; - - for (ProjectTaskInventoryDetailEO projectTaskInventoryDetail : projectTaskInventoryDetailEOList) { - if(StringUtils.equals(complianceResult.get("id").toString(),projectTaskInventoryDetail.getProjectTaskInventoryId())){ - /** - * 查询数据权限,所有用户都是,自己的待办,可以跳转到处理任务详情页进行处理。 - * 不是自己的待办,只能跳转到处理任务的详情页。 - */ - if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())){ - designPid = projectTaskInventoryDetail.getActiProcInstId(); - designTaskId = projectTaskInventoryDetail.getTaskId(); - designTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); - designTaskDetailId = projectTaskInventoryDetail.getId(); - if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ - designTaskStatus = projectTaskInventoryDetail.getStatus(); - }else { - designTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + //2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。 + if((isEngineer || isEngineeringInterfacePerson)){ + for (ProjectTaskInventoryDetailEO projectTaskInventoryDetail : projectTaskInventoryDetailEOList) { + if(StringUtils.equals(complianceResult.get("id").toString(),projectTaskInventoryDetail.getProjectTaskInventoryId())){ + /** + * 查询数据权限,所有用户都是,自己的待办,可以跳转到处理任务详情页进行处理。 + * 不是自己的待办,只能跳转到处理任务的详情页。 + */ + if(StringUtils.equals(complianceResult.get("designInitiatorId").toString(),currentUser.getId()) + || StringUtils.equals(complianceResult.get("designDutyId").toString(),currentUser.getId())){ + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())){ + designPid = projectTaskInventoryDetail.getActiProcInstId(); + designTaskId = projectTaskInventoryDetail.getTaskId(); + designTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + designTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + designTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + designTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + } + } + if(StringUtils.equals(complianceResult.get("prehomoInitiatorId").toString(),currentUser.getId()) + || StringUtils.equals(complianceResult.get("prehomoDutyId").toString(),currentUser.getId())){ + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){ + prehomoPid = projectTaskInventoryDetail.getActiProcInstId(); + prehomoTaskId = projectTaskInventoryDetail.getTaskId(); + prehomoTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + prehomoTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + prehomoTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + prehomoTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + } + } + if(StringUtils.equals(complianceResult.get("verifyInitiatorId").toString(),currentUser.getId()) + || StringUtils.equals(complianceResult.get("verifyDutyId").toString(),currentUser.getId())){ + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){ + verifyPid = projectTaskInventoryDetail.getActiProcInstId(); + verifyTaskId = projectTaskInventoryDetail.getTaskId(); + verifyTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + verifyTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + verifyTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + verifyTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + } } } - if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){ - prehomoPid = projectTaskInventoryDetail.getActiProcInstId(); - prehomoTaskId = projectTaskInventoryDetail.getTaskId(); - prehomoTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); - prehomoTaskDetailId = projectTaskInventoryDetail.getId(); - if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ - prehomoTaskStatus = projectTaskInventoryDetail.getStatus(); - }else { - prehomoTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + }else { + for (ProjectTaskInventoryDetailEO projectTaskInventoryDetail : projectTaskInventoryDetailEOList) { + if(StringUtils.equals(complianceResult.get("id").toString(),projectTaskInventoryDetail.getProjectTaskInventoryId())){ + /** + * 查询数据权限,所有用户都是,自己的待办,可以跳转到处理任务详情页进行处理。 + * 不是自己的待办,只能跳转到处理任务的详情页。 + */ + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(), FlowTypeEnum.SJFHXSHLC.getValue())){ + designPid = projectTaskInventoryDetail.getActiProcInstId(); + designTaskId = projectTaskInventoryDetail.getTaskId(); + designTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + designTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + designTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + designTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } } - } - if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){ - verifyPid = projectTaskInventoryDetail.getActiProcInstId(); - verifyTaskId = projectTaskInventoryDetail.getTaskId(); - verifyTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); - verifyTaskDetailId = projectTaskInventoryDetail.getId(); - if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ - verifyTaskStatus = projectTaskInventoryDetail.getStatus(); - }else { - verifyTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){ + prehomoPid = projectTaskInventoryDetail.getActiProcInstId(); + prehomoTaskId = projectTaskInventoryDetail.getTaskId(); + prehomoTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + prehomoTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + prehomoTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + prehomoTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } + } + if(StringUtils.equals(projectTaskInventoryDetail.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){ + verifyPid = projectTaskInventoryDetail.getActiProcInstId(); + verifyTaskId = projectTaskInventoryDetail.getTaskId(); + verifyTaskDefinitionKey = projectTaskInventoryDetail.getTaskDefinitionKey(); + verifyTaskDetailId = projectTaskInventoryDetail.getId(); + if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetail.getUserId())){ + verifyTaskStatus = projectTaskInventoryDetail.getStatus(); + }else { + verifyTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue(); + } } } } @@ -267,10 +359,35 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi } } - public void disposeComplianceResult(List> complianceResultList,String cut){ + public void disposeComplianceResult(List> complianceResultList,String cut,boolean isEngineer,boolean isEngineeringInterfacePerson){ if(CollectionUtils.isNotEmpty(complianceResultList)){ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); List dutyTerritoryDictItemList = sysDictItemService.selectItemsByDictCode("duty_territory"); for (Map complianceResult : complianceResultList) { + if(isEngineer || isEngineeringInterfacePerson){ + if(!StringUtils.equals(complianceResult.get("designInitiatorId").toString(),currentUser.getId()) + || !StringUtils.equals(complianceResult.get("designDutyId").toString(),currentUser.getId())){ + complianceResult.put("designStatus",""); + complianceResult.put("designFlowTaskStatus",""); + complianceResult.put("designPId",""); + complianceResult.put("designPersonChargeFeedback",""); + } + if(!StringUtils.equals(complianceResult.get("prehomoInitiatorId").toString(),currentUser.getId()) + && !StringUtils.equals(complianceResult.get("prehomoDutyId").toString(),currentUser.getId())){ + complianceResult.put("prehomoStatus",""); + complianceResult.put("prehomoFlowTaskStatus",""); + complianceResult.put("prehomoPId",""); + complianceResult.put("prehomoPersonChargeFeedback",""); + } + if(!StringUtils.equals(complianceResult.get("verifyInitiatorId").toString(),currentUser.getId()) + && !StringUtils.equals(complianceResult.get("verifyDutyId").toString(),currentUser.getId())){ + complianceResult.put("verifyStatus",""); + complianceResult.put("verifyFlowTaskStatus",""); + complianceResult.put("verifyPId",""); + complianceResult.put("verifyPersonChargeFeedback",""); + } + } + if (complianceResult.get("designStatus") != null) { String textByValue = DesignComplianceStatusEnum.getTextByValue(complianceResult.get("designStatus").toString(), cut); complianceResult.put("designStatus_dicText",textByValue); @@ -342,6 +459,15 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi String condition = this.getConditionStr(params); params.put("condition",StringUtils.isNotEmpty(condition) ? condition : ""); List> exportData = new ArrayList<>(); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + boolean isEngineer = this.sysUserService.isEngineer(currentUser); + boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser); + if(isEngineer || isEngineeringInterfacePerson){ + params.put("currentUserId",currentUser.getId()); + params.put("isEngineerOrEngineeringInterfacePerson",true); + } + if(StringUtils.equals(exportAll,"no")){ IPage page = this.queryPageList(params); exportData = page.getRecords(); @@ -358,7 +484,7 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi List> complianceResultList = new ArrayList<>(); if(CollectionUtils.isNotEmpty(idList)){ complianceResultList = this.lawsComplianceBoardMapper.queryComplianceResultList(params); - this.disposeComplianceResult(complianceResultList,cut); + this.disposeComplianceResult(complianceResultList,cut,isEngineer,isEngineeringInterfacePerson); } String title = ""; @@ -468,8 +594,18 @@ public class LawsComplianceBoardServiceImpl implements ILawsComplianceBoardServi @Override public void exportComplianceResultDetail(HttpServletResponse response, HttpServletRequest request, Map params) { String cut = (String) params.get("cut"); + /** + * 2022-11-01 增加数据权限:如果当前登录用户,是工程师、工程接口人角色,只能查看到跟自己相关的数据。其余角色保留之前的查询结果。 + */ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + boolean isEngineer = this.sysUserService.isEngineer(currentUser); + boolean isEngineeringInterfacePerson = this.sysUserService.isEngineeringInterfacePerson(currentUser); + if(isEngineer || isEngineeringInterfacePerson){ + params.put("currentUserId",currentUser.getId()); + params.put("isEngineerOrEngineeringInterfacePerson",true); + } List> exportData = this.lawsComplianceBoardMapper.queryComplianceResultList(params); - this.disposeComplianceResult(exportData,cut); + this.disposeComplianceResult(exportData,cut,isEngineer,isEngineeringInterfacePerson); String title = ""; String fileName = ""; if(StringUtils.equals(cut, CutEnum.CN.getValue())){ From bc8ca6e924d5d36d277c8cb100c805a78309cff0 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Tue, 1 Nov 2022 16:54:22 +0800 Subject: [PATCH 45/59] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/engineeringConfirmation.vue | 102 ++++++++++-------- 1 file changed, 56 insertions(+), 46 deletions(-) diff --git a/jero-web/src/views/processCenter/components/engineeringConfirmation.vue b/jero-web/src/views/processCenter/components/engineeringConfirmation.vue index 3028d1b80..34ffd4e5d 100644 --- a/jero-web/src/views/processCenter/components/engineeringConfirmation.vue +++ b/jero-web/src/views/processCenter/components/engineeringConfirmation.vue @@ -8,24 +8,24 @@
-
- - {{ $t('distributionEngineer') }} -
-
- - {{ $t('reminderHandling') }} -
-
- - {{ $t('addFeedback') }} -
+ + {{$t('distributionEngineer')}} + + + {{$t('addFeedback')}} + + + + + + +
{{$t('deleteLib')}} + + {{ $t('reminderHandling') }} +
{{$t('dataLoading')}} - - - - - {{$t('reminder')}} - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -436,7 +441,7 @@ { title: this.$t('operation'), align: 'left', - width: 160, + width: 190, scopedSlots: { customRender: 'operation' } } ], @@ -722,7 +727,7 @@ _this.formInline.userId.splice(num, 1) _this.formInline.userId = _this.formInline.userId.join(',') _this.formInline = { ..._this.formInline } - if (id){ + if (id) { deleteAction('/project/projectTaskInventoryDetailEO/delete', { id: id }).then((res) => { if (res.success) { _this.$message.success(_this.$t('OperationSuccessful')) @@ -829,7 +834,7 @@ line-height: 80px; .header-text { - font-size: 16px; + font-size: 18px; font-weight: 400; color: #000F16; } @@ -960,4 +965,9 @@ line-height: 200px; text-align: center; } + + .header-btn { + height: 38px; + margin-left: 16px; + } \ No newline at end of file From 47abdbe613f00ef13f309e0ab08e7a2c17325855 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Tue, 1 Nov 2022 17:42:31 +0800 Subject: [PATCH 46/59] =?UTF-8?q?61541=20-=20=E9=A1=B9=E7=9B=AE=E6=9C=AA?= =?UTF-8?q?=E7=AC=A6=E5=90=88=E9=A1=B9=E8=B7=9F=E8=B8=AA=EF=BC=8C=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=AE=A1=E7=90=86=E5=91=98=E6=8B=A5=E6=9C=89=E6=9C=80?= =?UTF-8?q?=E5=A4=A7=E6=9D=83=E9=99=90=EF=BC=8C=E5=85=B6=E5=AE=83=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E7=9A=84=E7=94=A8=E6=88=B7=E5=8F=AA=E8=83=BD=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E8=B7=9F=E8=87=AA=E5=B7=B1=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/project/mapper/xml/NcrTrackMapper.xml | 15 +++++++++------ .../project/service/impl/NcrTrackServiceImpl.java | 5 +++++ .../com/jero/modules/project/vo/NcrTrackVO.java | 4 ++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml index cd15845a4..df5398987 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/NcrTrackMapper.xml @@ -80,12 +80,15 @@ or prehomo_flow_task_status =#{ncrTrackVO.inconformity} or prehomo_flow_task_status =#{ncrTrackVO.track} or verify_flow_task_status =#{ncrTrackVO.inconformity} or verify_flow_task_status =#{ncrTrackVO.track} ) - - and (pli.regulation_owner_id =#{ncrTrackVO.userId} - or pli.homologation_engineer_id =#{ncrTrackVO.userId} - or pli.engineering_interface_person =#{ncrTrackVO.userId} - or ptid.user_id =#{ncrTrackVO.userId} - ) + + + + and (pli.regulation_owner_id =#{ncrTrackVO.userId} + or pli.homologation_engineer_id =#{ncrTrackVO.userId} + or pli.engineering_interface_person =#{ncrTrackVO.userId} + or ptid.user_id =#{ncrTrackVO.userId} + ) + order by pli.create_time desc 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 aea3c5c7e..8abfc2f32 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 @@ -80,6 +80,11 @@ public class NcrTrackServiceImpl extends ServiceImpl ncrTrackVO.setInconformity(ReviewResultEnum.INCONFORMITY.getValue()); ncrTrackVO.setTrack(ReviewResultEnum.TO_TRACK.getValue()); + + //如果当前登录用户是系统管理员角色,可以查看所有的数据 + boolean administrator = this.sysUserService.isAdministrator(); + ncrTrackVO.setAdministrator(administrator ? "true":"false"); + List infoList = ncrTrackMapper.getInfoList(ncrTrackVO); infoList = infoList.stream().distinct().collect(Collectors.toList()); List trackVOList = new ArrayList<>(); 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 231f16f4c..5a6b0fd5c 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 @@ -137,8 +137,8 @@ public class NcrTrackVO implements Serializable { private String projectTaskInventoryDetailId; //任务节点定义key private String taskDefinitionKey; - - + //是否是系统管理员角色 + private String administrator; From 9e0af6b144221abd34581839f8d9b045617ee21a Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Tue, 1 Nov 2022 18:07:14 +0800 Subject: [PATCH 47/59] =?UTF-8?q?=E5=8F=91=E8=B5=B7=E4=BA=BA=E5=82=AC?= =?UTF-8?q?=E5=8A=9E=E8=B4=A3=E4=BB=BB=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOController.java | 10 ++ .../IProjectLawsInventoryEOService.java | 4 + .../ProjectLawsInventoryEOServiceImpl.java | 137 ++++++++++++++++++ .../modules/project/vo/ProjectTaskUrgVo.java | 16 ++ 4 files changed, 167 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java index a55f0be45..3f950e953 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java @@ -16,6 +16,7 @@ import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.service.IDummyInventoryBaseEOService; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.service.IProjectLawsInventoryEOService; +import com.jero.modules.project.vo.ProjectTaskUrgVo; import com.jero.modules.system.entity.SysRole; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -456,4 +457,13 @@ public class ProjectLawsInventoryEOController extends JeroController taskUrg(ProjectTaskUrgVo projectTaskUrgVo) { + return this.projectLawsInventoryEOService.taskUrg(projectTaskUrgVo); + } + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java index 7554c278d..6a97580f9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java @@ -8,6 +8,7 @@ import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.common.system.vo.LoginUser; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.ProjectLawsInventoryEO; +import com.jero.modules.project.vo.ProjectTaskUrgVo; import com.jero.modules.system.entity.SysRole; import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; import com.jero.modules.todoCenter.entity.ProcessInfoEO; @@ -156,4 +157,7 @@ public interface IProjectLawsInventoryEOService extends IService processInfoDetailEOList, Date endTime); + + Result taskUrg(ProjectTaskUrgVo projectTaskUrgVo); + } 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 bdf028c4e..181c7ac18 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 @@ -47,6 +47,7 @@ import com.jero.modules.project.enums.*; import com.jero.modules.project.mapper.*; import com.jero.modules.project.service.*; import com.jero.modules.project.util.WordUtil; +import com.jero.modules.project.vo.ProjectTaskUrgVo; import com.jero.modules.split.common.FileUnZip; import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.SysCategory; @@ -9025,4 +9026,140 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl taskUrg(ProjectTaskUrgVo projectTaskUrgVo) { + if (ObjectUtils.isEmpty(projectTaskUrgVo.getProjectLawsInventoryIds())) { + throw new JeroBootException("请选择至少一条数据"); + } + if (ObjectUtils.isEmpty(projectTaskUrgVo.getType())) { + throw new JeroBootException("请选择催办类型"); + } + + String title = ""; + + if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getCut())) { + title = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); + } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getCut())) { + title = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); + } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getCut())) { + title = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); + } else { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException("请选择正确的催办类型"); + } else { + throw new JeroBootException("Please select the correct type of reminder"); + } + } + + ProjectLawsInventoryEO projectLawsInventoryEO = baseMapper.selectById(projectTaskUrgVo.getProjectLawsInventoryIds().get(0)); + if (ObjectUtils.isEmpty(projectLawsInventoryEO)) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException("程序异常,请刷新页面并重新操作"); + } else { + throw new JeroBootException("The program is abnormal, please refresh the page and operate again"); + } + } + + ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper() + .lambda().eq(ProjectLibraryBase::getId, projectLawsInventoryEO.getProjectLibraryId())); + + QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); + projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); + ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOMapper.selectOne(projectNameInfoEOQueryWrapper); + + QueryWrapper projectYearInfoEOQueryWrapper = new QueryWrapper<>(); + projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); + ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); + + //项目名称 + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String projectName = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + //飞书跳转链接 + String hrefFeishu = backUrl + + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName() + + "&targetMarket=" + projectLibraryBase.getTargetMarket(); + + for (String projectLawsInventoryId : projectTaskUrgVo.getProjectLawsInventoryIds()) { + ProjectLawsInventoryEO lawsInventoryEO = baseMapper.selectById(projectLawsInventoryId); + if (ObjectUtils.isEmpty(lawsInventoryEO)) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException("程序异常,请刷新页面并重新操作"); + } else { + throw new JeroBootException("The program is abnormal, please refresh the page and operate again"); + } + } + String LAW_CN = lawsInventoryEO.getSerialNumber() + " " + lawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(lawsInventoryEO.getStandId()); + String LAW_EN = lawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + String userId = ""; + String dueDate = null; + if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getCut())) { + dueDate = sdf.format(lawsInventoryEO.getDesignDueDate()); + if (ObjectUtils.isNotEmpty(lawsInventoryEO.getDesignDutyId())) { + userId = lawsInventoryEO.getDesignDutyId(); + } + } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getCut())) { + dueDate = sdf.format(lawsInventoryEO.getPrehomoDueDate()); + if (ObjectUtils.isNotEmpty(lawsInventoryEO.getPrehomoDutyId())) { + userId = lawsInventoryEO.getPrehomoDutyId(); + } + } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getCut())) { + dueDate = sdf.format(lawsInventoryEO.getVerifyDueDate()); + if (ObjectUtils.isNotEmpty(lawsInventoryEO.getVerifyDutyId())) { + userId = lawsInventoryEO.getVerifyDutyId(); + } + } + + String[] thirdId = new String[1]; + if (ObjectUtils.isNotEmpty(userId)) { + SysUser user = sysUserMapper.selectById(userId); + if (ObjectUtils.isNotEmpty(user)) { + thirdId[0] = user.getThirdId(); + } + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper("您好,请尽快查看处理此项任务,谢谢!"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: " + currentUser.getUsername() + + "\n截止时间: " + dueDate); + feishuMsgVo.setEnContentUpper("Hello! Please check and address the task ASAP. Thank you!"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + currentUser.getUsername() + + "\nDue Date: " + dueDate); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdId, feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + return new Result<>().success("催办成功!"); + } else { + return new Result<>().success("Success of the urging!"); + } + + } + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java new file mode 100644 index 000000000..1a74a5139 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java @@ -0,0 +1,16 @@ +package com.jero.modules.project.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class ProjectTaskUrgVo { + + private String cut; + + private List projectLawsInventoryIds; + + private String type; + +} From c145f18ad1d7709755eadd0216ea5192e7c4f792 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Wed, 2 Nov 2022 10:08:41 +0800 Subject: [PATCH 48/59] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=82=AC=E5=8A=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 1 + jero-web/src/common/lang/zh-cn.js | 1 + .../projectManagement/components/TaskList.vue | 22 +- .../components/cuibanModel.vue | 188 ++++++++++++++++++ 4 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 jero-web/src/views/projectManagement/components/cuibanModel.vue diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index a8968126c..71d3e0940 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1359,4 +1359,5 @@ module.exports = { Topping:'Topping', cancelTopping:'Cancel Topping', relatedProjectVersion:'Related project version', + CuiBan:'CuiBan', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 75ccb1096..b059e001a 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1460,4 +1460,5 @@ module.exports = { Topping:'置顶', cancelTopping:'取消置顶', relatedProjectVersion:'相关项目版本', + CuiBan:'催办', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index 5e0142614..f5162293b 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -76,10 +76,10 @@
- - - - +
+ + {{ $t('CuiBan') }} +
{{$t('BatchMaintenanceProgress')}} @@ -190,6 +190,7 @@ + + + + + + \ No newline at end of file From 7ae9f2de696966c599fc8e0359b8d4dda6e01fe2 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Wed, 2 Nov 2022 10:46:32 +0800 Subject: [PATCH 49/59] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=82=AC=E5=8A=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/projectManagement/components/cuibanModel.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/cuibanModel.vue b/jero-web/src/views/projectManagement/components/cuibanModel.vue index af5c8550b..5e5e1542d 100644 --- a/jero-web/src/views/projectManagement/components/cuibanModel.vue +++ b/jero-web/src/views/projectManagement/components/cuibanModel.vue @@ -15,12 +15,13 @@
{{$t('CertificationProgress')}} + :title="$t('taskType')">{{$t('taskType')}}
@@ -51,7 +52,7 @@ export default { type: [ { required: true, - message: this.$t('PleaseSelect') + this.$t('CertificationProgress'), + message: this.$t('PleaseSelect') + this.$t('taskType'), trigger: 'change' } ] @@ -118,7 +119,7 @@ export default { }) ProjectTaskUrgVo = { projectLawsInventoryIds: projectLawsInventoryId.join(','), - type: this.formInline.type + type: this.formInline.type, } this.confirmLoading = true postAction('/project/projectLawsInventoryEO/taskUrg', ProjectTaskUrgVo).then((res) => { From 53bae2d6d160a4abdd55e57fedb495f8168e4b8d Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Wed, 2 Nov 2022 11:44:41 +0800 Subject: [PATCH 50/59] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=82=AC=E5=8A=9E=E9=94=99=E8=AF=AF=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/projectManagement/components/cuibanModel.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-web/src/views/projectManagement/components/cuibanModel.vue b/jero-web/src/views/projectManagement/components/cuibanModel.vue index 5e5e1542d..f8d522483 100644 --- a/jero-web/src/views/projectManagement/components/cuibanModel.vue +++ b/jero-web/src/views/projectManagement/components/cuibanModel.vue @@ -129,7 +129,7 @@ export default { this.$message.success(this.$t('OperationSuccessful')) this.$emit('cibanModel') } else { - this.$message.warning(this.$t('operationFailed')) + this.$message.warning(res.message) this.confirmLoading = false } }) From 02a8dcca28cf655362797c99ce8fe1da8b311622 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 2 Nov 2022 14:15:16 +0800 Subject: [PATCH 51/59] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E7=AC=A6=E5=90=88?= =?UTF-8?q?=E6=80=A7=E7=A1=AE=E8=AE=A4=E5=AE=9A=E6=97=B6=E5=99=A8+?= =?UTF-8?q?=E5=82=AC=E5=8A=9E=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOController.java | 2 +- .../modules/project/job/TaskAffirmJob.java | 8 +- .../project/job/designComplianceJob.java | 330 +++++++++++++----- .../ProjectLawsInventoryEOServiceImpl.java | 61 +++- .../modules/project/vo/ProjectTaskUrgVo.java | 3 +- 5 files changed, 302 insertions(+), 102 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java index 3f950e953..39d77a213 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java @@ -461,7 +461,7 @@ public class ProjectLawsInventoryEOController extends JeroController taskUrg(ProjectTaskUrgVo projectTaskUrgVo) { + public Result taskUrg(@RequestBody ProjectTaskUrgVo projectTaskUrgVo) { return this.projectLawsInventoryEOService.taskUrg(projectTaskUrgVo); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java index 1a7bfc260..c12b42c6b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java @@ -155,13 +155,9 @@ public class TaskAffirmJob implements Job { } //飞书跳转链接 + String hrefFeishu = backUrl - + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName() + "-" - + projectYearNameInfoEO.getYearName() - + "&targetMarket=" + projectLibraryBase.getTargetMarket(); + + JumpLinkEnum.TASK_AFFIRM_LINK.getLink(); //项目名称 String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java index 1ea8abeb1..aa151598c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java @@ -1,7 +1,13 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; +import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; @@ -13,8 +19,11 @@ import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.mapper.ProjectYearNameInfoEOMapper; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectTaskInventoryEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -22,6 +31,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -52,13 +62,20 @@ public class designComplianceJob implements Job { @Value(value = "${jero.backUrl}") private String backUrl; + @Autowired + private IBussDocumentLibraryEOService bussDocumentLibraryEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IFeishuService feishuService; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("设计符合性确认流程,定时任务开启 ====================================================="); //查询出已经启动了设计符合性流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("design_p_id"); - queryProjectTaskInventoryWrapper.lambda().ne(ProjectTaskInventoryEO::getDesignStatus, DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + queryProjectTaskInventoryWrapper.lambda().eq(ProjectTaskInventoryEO::getDesignStatus, DesignComplianceStatusEnum.TO_SUBMIT.getValue()); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -79,15 +96,24 @@ public class designComplianceJob implements Job { Date currentDate = new Date(); - //获取后三天前的时间 - Calendar calendar=new GregorianCalendar(); - calendar.setTime(new Date()); - calendar.add(Calendar.DATE,3); - Date threeDays = calendar.getTime(); - - String threeDaysStr = sdf.format(threeDays); + //两周 + Calendar twoWeeksLaterCalendar=new GregorianCalendar(); + twoWeeksLaterCalendar.setTime(new Date()); + twoWeeksLaterCalendar.add(Calendar.DATE,14); + Date twoWeeksLaterDays = twoWeeksLaterCalendar.getTime(); + String twoWeeksLaterDaysStr = sdf.format(twoWeeksLaterDays); + //一周 + Calendar oneWeekLaterCalendar=new GregorianCalendar(); + oneWeekLaterCalendar.setTime(new Date()); + oneWeekLaterCalendar.add(Calendar.DATE,7); + Date oneWeekLaterDays = oneWeekLaterCalendar.getTime(); + String oneWeekLaterDaysStr = sdf.format(oneWeekLaterDays); + //当天 String currentDateStr = sdf.format(currentDate); + + String msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); @@ -97,109 +123,249 @@ public class designComplianceJob implements Job { projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); + //项目名称 + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String projectName = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; + + for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { - List threeDaysUserIdList = new ArrayList<>(); + + //法规中英文 + String LAW_CN = projectLawsInventoryEO.getSerialNumber() + " " + projectLawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(projectLawsInventoryEO.getStandId()); + String LAW_EN = ""; + if (ObjectUtils.isEmpty(bussDocumentLibraryEO)) { + LAW_EN = LAW_CN; + } else { + LAW_EN = projectLawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + } + + + List twoWeeksLaterUserIdList = new ArrayList<>(); + List oneWeeksLaterUserIdList = new ArrayList<>(); List currentDaysUserIdList = new ArrayList<>(); + List dueUserIdList = new ArrayList<>(); - for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { - if(StringUtils.equals(projectTaskInventoryEO.getProjectLawsInventoryId(),projectLawsInventoryEO.getId())){ - //如果设计符合性 - 结束日期是当前日期 - if(projectLawsInventoryEO.getDesignDueDate() != null){ - if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getDesignSendMsgFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getDesignInitiatorId()); - } - projectTaskInventoryEO.setDesignSendMsgFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + if(StringUtils.equals(projectLawsInventoryEO.getProjectLibraryId(),projectLibraryBase.getId())){ + //如果设计符合性 - 结束日期是当前日期 + if(projectLawsInventoryEO.getDesignDueDate() != null){ + if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } + } - //如果设计符合性 - 结束日期是三天后的日期 - if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getDesignSendMsgCurrentFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getDesignInitiatorId()); - } - projectTaskInventoryEO.setDesignSendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + //如果设计符合性 - 结束日期是两周后的日期 + if(StringUtils.equals(twoWeeksLaterDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + twoWeeksLaterUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); + } + } + + //如果设计符合性 - 结束日期是一周后的日期 + if(StringUtils.equals(oneWeekLaterDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + oneWeeksLaterUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); + } + } + //逾期三天、七天、十四天 + Calendar due3Days = new GregorianCalendar(); + due3Days.setTime(projectLawsInventoryEO.getDesignDueDate()); + due3Days.add(Calendar.DATE, 3); + Date overdue3Days = due3Days.getTime(); + + Calendar due7Days = new GregorianCalendar(); + due7Days.setTime(projectLawsInventoryEO.getDesignDueDate()); + due7Days.add(Calendar.DATE, 7); + Date overdue7Days = due7Days.getTime(); + + Calendar due14Days = new GregorianCalendar(); + due14Days.setTime(projectLawsInventoryEO.getDesignDueDate()); + due14Days.add(Calendar.DATE, 14); + Date overdue14Days = due14Days.getTime(); + if (StringUtils.equals(sdf.format(overdue3Days), currentDateStr) + || StringUtils.equals(sdf.format(overdue7Days), currentDateStr) + || StringUtils.equals(sdf.format(overdue14Days), currentDateStr)) { + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + dueUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } } } + } - if(CollectionUtils.isNotEmpty(threeDaysUserIdList)){ - threeDaysUserIdList = threeDaysUserIdList.stream().distinct().collect(Collectors.toList()); + String hrefFeishu = backUrl + + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName(); + + if (ObjectUtils.isNotEmpty(dueUserIdList)) { + dueUserIdList = dueUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(dueUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"+ + "\n截止时间: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setEnContentUpper("Hello! Your task is overdue. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()+ + "\nDue Date: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.YELLOW.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if (ObjectUtils.isNotEmpty(oneWeeksLaterUserIdList)) { + oneWeeksLaterUserIdList = oneWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(oneWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于7天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 7 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if(CollectionUtils.isNotEmpty(twoWeeksLaterUserIdList)){ + twoWeeksLaterUserIdList = twoWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(twoWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于14天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 14 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的设计符合性确认剩余处理时间还有3天,请及时查看处理 - String msgContentEN = "The remaining processing time for the design compliance confirmation for " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() - + projectYearNameInfoEO.getYearName()+ " " - + projectLibraryBase.getTargetMarket() - + " are 3 days. Please check and address it in a timely manner."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a design compliance task to complete"; + //String msgContentEN = "The remaining processing time for the design compliance confirmation for " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + // + projectYearNameInfoEO.getYearName()+ " " + // + projectLibraryBase.getTargetMarket() + // + " are 3 days. Please check and address it in a timely manner."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a design compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Design Compliance Confirmation"); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Design Compliance Confirmation"); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); //飞书跳转链接 - String hrefFeishu = backUrl + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType(); + //String hrefFeishu = backUrl + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); - + List sysUsers = sysUserService.listByIds(currentDaysUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于今天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will expire today. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的设计符合性确认任务今天即将结束,请及时查看处理 - String msgContentEN = "The design compliance confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() - + " will expire today. Please check and address it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a design compliance task to complete"; + //String msgContentEN = "The design compliance confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + // + " will expire today. Please check and address it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a design compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Design Compliance Confirmation"); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Design Compliance Confirmation"); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + //String hrefFeishu = backUrl + // + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); + + //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } 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 181c7ac18..1f77c6fce 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 @@ -9035,19 +9035,28 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl taskUrg(ProjectTaskUrgVo projectTaskUrgVo) { if (ObjectUtils.isEmpty(projectTaskUrgVo.getProjectLawsInventoryIds())) { - throw new JeroBootException("请选择至少一条数据"); + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException("请选择至少一条数据"); + } else { + throw new JeroBootException("Please select at least one piece of data"); + } + } if (ObjectUtils.isEmpty(projectTaskUrgVo.getType())) { - throw new JeroBootException("请选择催办类型"); + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException("请选择催办类型"); + } else { + throw new JeroBootException("Please select the type of reminder"); + } } String title = ""; - if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getCut())) { + if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getType())) { title = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); - } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getType())) { title = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); - } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getType())) { title = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); } else { if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { @@ -9056,8 +9065,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl queryProjectTaskInventoryWrapper = new QueryWrapper<>(); + queryProjectTaskInventoryWrapper.isNotNull("design_p_id"); + queryProjectTaskInventoryWrapper.lambda().eq(ProjectTaskInventoryEO::getProjectLawsInventoryId, projectLawsInventoryId); + List list = projectTaskInventoryEOService.list(queryProjectTaskInventoryWrapper); + + if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getType())) { dueDate = sdf.format(lawsInventoryEO.getDesignDueDate()); + if (DesignComplianceStatusEnum.TO_REVIEW.getValue().equals(list.get(0).getDesignStatus()) + ||DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue().equals(list.get(0).getDesignStatus())) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException(LAW_CN + "已提交,无法催办"); + } else { + throw new JeroBootException(LAW_EN + "is committed,can't be urged"); + } + } if (ObjectUtils.isNotEmpty(lawsInventoryEO.getDesignDutyId())) { userId = lawsInventoryEO.getDesignDutyId(); } - } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getType())) { dueDate = sdf.format(lawsInventoryEO.getPrehomoDueDate()); + if (DesignComplianceStatusEnum.TO_REVIEW.getValue().equals(list.get(0).getDesignStatus()) + ||DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue().equals(list.get(0).getDesignStatus())) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException(LAW_CN + "已提交,无法催办"); + } else { + throw new JeroBootException(LAW_EN + "is committed,can't be urged"); + } + } if (ObjectUtils.isNotEmpty(lawsInventoryEO.getPrehomoDutyId())) { userId = lawsInventoryEO.getPrehomoDutyId(); } - } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getType())) { dueDate = sdf.format(lawsInventoryEO.getVerifyDueDate()); + if (DesignComplianceStatusEnum.TO_REVIEW.getValue().equals(list.get(0).getDesignStatus()) + ||DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue().equals(list.get(0).getDesignStatus())) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException(LAW_CN + "已提交,无法催办"); + } else { + throw new JeroBootException(LAW_EN + "is committed,can't be urged"); + } + } if (ObjectUtils.isNotEmpty(lawsInventoryEO.getVerifyDutyId())) { userId = lawsInventoryEO.getVerifyDutyId(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java index 1a74a5139..571268627 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java @@ -2,14 +2,13 @@ package com.jero.modules.project.vo; import lombok.Data; -import java.util.List; @Data public class ProjectTaskUrgVo { private String cut; - private List projectLawsInventoryIds; + private String projectLawsInventoryIds; private String type; From 0f0c2d3633b153bf62db5b97349f5c21da28d93e Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 2 Nov 2022 14:34:13 +0800 Subject: [PATCH 52/59] =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E6=96=B0=E5=A2=9E=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProblemKnowledgeBaseEOServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index 81cdbe91c..474832c10 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -114,6 +114,8 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 15:18:00 +0800 Subject: [PATCH 53/59] =?UTF-8?q?preHomo=E3=80=81=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=AC=A6=E5=90=88=E6=80=A7=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/project/job/PrehomoJob.java | 322 ++++++++++++----- .../project/job/VerifyComplianceJob.java | 326 +++++++++++++----- .../project/job/designComplianceJob.java | 7 +- .../ProjectLawsInventoryEOServiceImpl.java | 12 +- 4 files changed, 484 insertions(+), 183 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java index ac17549ce..352110c00 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java @@ -1,7 +1,13 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; +import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; @@ -14,8 +20,11 @@ import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.mapper.ProjectYearNameInfoEOMapper; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectTaskInventoryEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -23,6 +32,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -53,6 +63,13 @@ public class PrehomoJob implements Job { @Value(value = "${jero.backUrl}") private String backUrl; + @Autowired + private IBussDocumentLibraryEOService bussDocumentLibraryEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IFeishuService feishuService; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("prehomo流程,定时任务开启 ====================================================="); @@ -60,7 +77,10 @@ public class PrehomoJob implements Job { //查询出已经启动了prehomo流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("prehomo_p_id"); - queryProjectTaskInventoryWrapper.lambda().ne(ProjectTaskInventoryEO::getPrehomoStatus, DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + List status = new ArrayList<>(); + status.add(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + status.add(DesignComplianceStatusEnum.REVIEW_THE_RETURN.getValue()); + queryProjectTaskInventoryWrapper.lambda().in(ProjectTaskInventoryEO::getPrehomoStatus, status); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -81,15 +101,24 @@ public class PrehomoJob implements Job { Date currentDate = new Date(); - //获取后三天前的时间 - Calendar calendar=new GregorianCalendar(); - calendar.setTime(new Date()); - calendar.add(Calendar.DATE,3); - Date threeDays = calendar.getTime(); - - String threeDaysStr = sdf.format(threeDays); + //两周 + Calendar twoWeeksLaterCalendar=new GregorianCalendar(); + twoWeeksLaterCalendar.setTime(new Date()); + twoWeeksLaterCalendar.add(Calendar.DATE,14); + Date twoWeeksLaterDays = twoWeeksLaterCalendar.getTime(); + String twoWeeksLaterDaysStr = sdf.format(twoWeeksLaterDays); + //一周 + Calendar oneWeekLaterCalendar=new GregorianCalendar(); + oneWeekLaterCalendar.setTime(new Date()); + oneWeekLaterCalendar.add(Calendar.DATE,7); + Date oneWeekLaterDays = oneWeekLaterCalendar.getTime(); + String oneWeekLaterDaysStr = sdf.format(oneWeekLaterDays); + //当天 String currentDateStr = sdf.format(currentDate); + String msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); + + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); @@ -99,115 +128,234 @@ public class PrehomoJob implements Job { projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); + //项目名称 + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String projectName = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { - List threeDaysUserIdList = new ArrayList<>(); - List currentDaysUserIdList = new ArrayList<>(); - for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { - if(StringUtils.equals(projectTaskInventoryEO.getProjectLawsInventoryId(),projectLawsInventoryEO.getId())){ - if(projectLawsInventoryEO.getPrehomoDueDate() != null){ - //如果prehomo - 结束日期是当前日期 - if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getPrehomoSendMsgFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getPrehomoInitiatorId()); - } - projectTaskInventoryEO.setPrehomoSendMsgFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + //法规中英文 + String LAW_CN = projectLawsInventoryEO.getSerialNumber() + " " + projectLawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(projectLawsInventoryEO.getStandId()); + String LAW_EN = ""; + if (ObjectUtils.isEmpty(bussDocumentLibraryEO)) { + LAW_EN = LAW_CN; + } else { + LAW_EN = projectLawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + } + + List twoWeeksLaterUserIdList = new ArrayList<>(); + List oneWeeksLaterUserIdList = new ArrayList<>(); + List currentDaysUserIdList = new ArrayList<>(); + List dueUserIdList = new ArrayList<>(); + + if(StringUtils.equals(projectLawsInventoryEO.getProjectLibraryId(),projectLibraryBase.getId())){ + if(projectLawsInventoryEO.getPrehomoDueDate() != null){ + //如果prehomo - 结束日期是当前日期 + if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); } - //如果prehomo - 结束日期是三天后的日期 - if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getPrehomoSendMsgCurrentFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getPrehomoInitiatorId()); - } - projectTaskInventoryEO.setPrehomoSendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + } + //如果prehomo - 结束日期是两周后的日期 + if(StringUtils.equals(twoWeeksLaterDaysStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ + twoWeeksLaterUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); + } + } + //如果prehomo - 结束日期是一周后的日期 + if(StringUtils.equals(oneWeekLaterDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + oneWeeksLaterUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); + } + } + //如果prehomo - 逾期后每天通知 + if (projectLawsInventoryEO.getDesignDueDate().before(currentDate)) { + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + dueUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } } } } - if(CollectionUtils.isNotEmpty(threeDaysUserIdList)){ - threeDaysUserIdList = threeDaysUserIdList.stream().distinct().collect(Collectors.toList()); + + String hrefFeishu = backUrl + + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName(); + + if (ObjectUtils.isNotEmpty(dueUserIdList)) { + dueUserIdList = dueUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(dueUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"+ + "\n截止时间: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setEnContentUpper("Hello! Your task is overdue. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()+ + "\nDue Date: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.YELLOW.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if (ObjectUtils.isNotEmpty(oneWeeksLaterUserIdList)) { + oneWeeksLaterUserIdList = oneWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(oneWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于7天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 7 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if(CollectionUtils.isNotEmpty(twoWeeksLaterUserIdList)){ + twoWeeksLaterUserIdList = twoWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(twoWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于14天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 14 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的Pre-Homo确认剩余处理时间还有3天,请及时查看处理 //The remaining processing time for the Pre-Homo confirmation of GB 7258 in XXX (project name) is 3 days. Please check and handle it in time. - String msgContentEN = "The remaining processing time for the Pre-Homo confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" - + projectYearNameInfoEO.getYearName()+ " " - + projectLibraryBase.getTargetMarket() - + " are 3 days. Please check and handle it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a Pre-Homo task to complete"; + //String msgContentEN = "The remaining processing time for the Pre-Homo confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + // + projectYearNameInfoEO.getYearName()+ " " + // + projectLibraryBase.getTargetMarket() + // + " are 3 days. Please check and handle it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a Pre-Homo task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Pre-Homo Confirmation"); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Pre-Homo Confirmation"); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + //String hrefFeishu = backUrl + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + // Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(currentDaysUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于今天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will expire today. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的Pre-Homo确认任务今天即将结束,请及时查看处理 //The the Pre-Homo confirmation of GB 7258 in XXX (project name) is coming to an end today. Please check and deal with it in time - String msgContentEN = "The the Pre-Homo confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + " will expire today. Please check and address it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a Pre-Homo task to complete"; + //String msgContentEN = "The the Pre-Homo confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + " will expire today. Please check and address it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a Pre-Homo task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Pre-Homo Confirmation"); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Pre-Homo Confirmation"); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + // String hrefFeishu = backUrl + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java index 7acc1e185..b96f9c712 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java @@ -1,7 +1,13 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; +import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; @@ -13,8 +19,11 @@ import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.mapper.ProjectYearNameInfoEOMapper; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectTaskInventoryEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -22,6 +31,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -52,13 +62,23 @@ public class VerifyComplianceJob implements Job { @Value(value = "${jero.backUrl}") private String backUrl; + @Autowired + private IBussDocumentLibraryEOService bussDocumentLibraryEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IFeishuService feishuService; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("验证符合性流程,定时任务开启 ====================================================="); //查询出已经启动了验证符合性流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("verify_p_id"); - queryProjectTaskInventoryWrapper.lambda().ne(ProjectTaskInventoryEO::getVerifyStatus, DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + List status = new ArrayList<>(); + status.add(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + status.add(DesignComplianceStatusEnum.REVIEW_THE_RETURN.getValue()); + queryProjectTaskInventoryWrapper.lambda().in(ProjectTaskInventoryEO::getVerifyStatus, status); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -79,15 +99,24 @@ public class VerifyComplianceJob implements Job { Date currentDate = new Date(); - //获取后三天前的时间 - Calendar calendar=new GregorianCalendar(); - calendar.setTime(new Date()); - calendar.add(Calendar.DATE,3); - Date threeDays = calendar.getTime(); - - String threeDaysStr = sdf.format(threeDays); + //两周 + Calendar twoWeeksLaterCalendar=new GregorianCalendar(); + twoWeeksLaterCalendar.setTime(new Date()); + twoWeeksLaterCalendar.add(Calendar.DATE,14); + Date twoWeeksLaterDays = twoWeeksLaterCalendar.getTime(); + String twoWeeksLaterDaysStr = sdf.format(twoWeeksLaterDays); + //一周 + Calendar oneWeekLaterCalendar=new GregorianCalendar(); + oneWeekLaterCalendar.setTime(new Date()); + oneWeekLaterCalendar.add(Calendar.DATE,7); + Date oneWeekLaterDays = oneWeekLaterCalendar.getTime(); + String oneWeekLaterDaysStr = sdf.format(oneWeekLaterDays); + //当天 String currentDateStr = sdf.format(currentDate); + String msgTitle = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); + + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); @@ -97,114 +126,235 @@ public class VerifyComplianceJob implements Job { projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); - for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { - List threeDaysUserIdList = new ArrayList<>(); - List currentDaysUserIdList = new ArrayList<>(); + //项目名称 + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String projectName = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; - for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { - if(StringUtils.equals(projectTaskInventoryEO.getProjectLawsInventoryId(),projectLawsInventoryEO.getId())){ - if(projectLawsInventoryEO.getVerifyDueDate() != null){ - //如果验证符合性 - 结束日期是当前日期 - if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getVerifySendMsgFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyInitiatorId()); - } - projectTaskInventoryEO.setVerifySendMsgFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + + for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { + + //法规中英文 + String LAW_CN = projectLawsInventoryEO.getSerialNumber() + " " + projectLawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(projectLawsInventoryEO.getStandId()); + String LAW_EN = ""; + if (ObjectUtils.isEmpty(bussDocumentLibraryEO)) { + LAW_EN = LAW_CN; + } else { + LAW_EN = projectLawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + } + + List twoWeeksLaterUserIdList = new ArrayList<>(); + List oneWeeksLaterUserIdList = new ArrayList<>(); + List currentDaysUserIdList = new ArrayList<>(); + List dueUserIdList = new ArrayList<>(); + + if(StringUtils.equals(projectLawsInventoryEO.getProjectLibraryId(),projectLibraryBase.getId())){ + if(projectLawsInventoryEO.getVerifyDueDate() != null){ + //如果验证符合性 - 结束日期是当前日期 + if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); } - //如果验证符合性 - 结束日期是三天后的日期 - if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getVerifySendMsgCurrentFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getVerifyInitiatorId()); - } - projectTaskInventoryEO.setVerifySendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + } + //如果验证符合性 - 结束日期是两周后的日期 + if(StringUtils.equals(twoWeeksLaterDaysStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); + } + } + //如果验证符合性 - 结束日期是一周后的日期 + if(StringUtils.equals(oneWeekLaterDaysStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + oneWeeksLaterUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); + } + } + //如果验证符合性 - 逾期后每天通知 + if (projectLawsInventoryEO.getVerifyDueDate().before(currentDate)) { + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + dueUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); } } } } - if(CollectionUtils.isNotEmpty(threeDaysUserIdList)){ - threeDaysUserIdList = threeDaysUserIdList.stream().distinct().collect(Collectors.toList()); + + String hrefFeishu = backUrl + + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName(); + + if (ObjectUtils.isNotEmpty(dueUserIdList)) { + dueUserIdList = dueUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(dueUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"+ + "\n截止时间: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setEnContentUpper("Hello! Your task is overdue. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()+ + "\nDue Date: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.YELLOW.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if (ObjectUtils.isNotEmpty(oneWeeksLaterUserIdList)) { + oneWeeksLaterUserIdList = oneWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(oneWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于7天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 7 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if(CollectionUtils.isNotEmpty(twoWeeksLaterUserIdList)){ + twoWeeksLaterUserIdList = twoWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(twoWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于14天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 14 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的验证符合性确认剩余处理时间还有3天,请及时查看处理 //The remaining processing time for the Verify compliance confirmation of GB 7258 in XXX (project name) is 3 days. Please check and handle it in time. - String msgContentEN = "The remaining processing time for the validation compliance confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" - + projectYearNameInfoEO.getYearName()+ " " - + projectLibraryBase.getTargetMarket() - + " are 3 days. Please check and handle it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a validation compliance task to complete"; + //String msgContentEN = "The remaining processing time for the validation compliance confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + // + projectYearNameInfoEO.getYearName()+ " " + // + projectLibraryBase.getTargetMarket() + // + " are 3 days. Please check and handle it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a validation compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Validation Compliance Confirmation"); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + // FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Validation Compliance Confirmation"); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + //String hrefFeishu = backUrl + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(currentDaysUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于今天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will expire today. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的验证符合性确认任务今天即将结束,请及时查看处理 //The the Verify compliance confirmation of GB 7258 in XXX (project name) is coming to an end today. Please check and deal with it in time - String msgContentEN = "The the validation compliance confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + " will expire today. Please check and address it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a validation compliance task to complete"; + //String msgContentEN = "The the validation compliance confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + " will expire today. Please check and address it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a validation compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Validation Compliance Confirmation"); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Validation Compliance Confirmation"); + // feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + // String hrefFeishu = backUrl + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + // String contentInfo = msgContentEN + " " + href; + // Map sendMessageMap = new HashMap<>(); + // sendMessageMap.put("hrefFeishu",hrefFeishu); + // sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + // projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java index aa151598c..129d65395 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java @@ -75,7 +75,10 @@ public class designComplianceJob implements Job { //查询出已经启动了设计符合性流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("design_p_id"); - queryProjectTaskInventoryWrapper.lambda().eq(ProjectTaskInventoryEO::getDesignStatus, DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + List status = new ArrayList<>(); + status.add(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + status.add(DesignComplianceStatusEnum.REVIEW_THE_RETURN.getValue()); + queryProjectTaskInventoryWrapper.lambda().in(ProjectTaskInventoryEO::getDesignStatus, status); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -211,7 +214,7 @@ public class designComplianceJob implements Job { try { FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); feishuMsgVo.setTitle(msgTitle); - feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快处理"); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快查看处理"); feishuMsgVo.setCnContentLower("项目: " + projectName + "\n法规: " + LAW_CN + "\n发起人: 系统通知"+ 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 1f77c6fce..e2956e7ae 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 @@ -9129,9 +9129,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 15:57:11 +0800 Subject: [PATCH 54/59] =?UTF-8?q?=E6=B8=85=E5=8D=95=E5=82=AC=E5=8A=9E(exce?= =?UTF-8?q?l=E4=B8=AD=E6=B2=A1=E6=9C=89=EF=BC=8C=E4=BD=86=E6=98=AF?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E8=AE=A9=E5=8A=A0=E4=B8=8A)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 68 +++++++++++++------ 1 file changed, 48 insertions(+), 20 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 e2956e7ae..f492b4be3 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 @@ -8596,7 +8596,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl { //如果清单确认状态为待确认的,进行催办 - /*if(StringUtils.equals(projectLawsInventoryEO.getInventoryAffirmStatus(),InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getValue())){ + if(StringUtils.equals(projectLawsInventoryEO.getInventoryAffirmStatus(),InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getValue())){ List inventoryAffirmUserIdList = new ArrayList<>(); if(StringUtils.isEmpty(projectLawsInventoryEO.getHomologationEngineerSubmitStatus())){ @@ -8624,14 +8624,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - sendMessage(msgTitle, msgContentEN,inventoryAffirmUserIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,studioUserInfo.getUsername()); + //sendMessage(msgTitle, msgContentEN,inventoryAffirmUserIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.LIST_CONFIRMATION,studioUserInfo.getUsername()); + + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String PRN = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; + + String dueDate = new SimpleDateFormat("yyyy-MM-dd").format(projectLawsInventoryEO.getInventoryAffirmDueDate()); + + List thirdIdList = new ArrayList<>(); + List sysUsers = sysUserService.listByIds(inventoryAffirmUserIdList); + if (ObjectUtils.isNotEmpty(sysUsers)) { + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(MessageType2Enum.REGULATION_LIST_CONFIRMATION.getCn() + "/" + MessageType2Enum.REGULATION_LIST_CONFIRMATION.getEn()); + feishuMsgVo.setCnContentUpper("您好,请尽快查看处理此项任务,谢谢!"); + feishuMsgVo.setCnContentLower("项目: " + PRN + + "\n发起人: 系统通知" + + "\n截止时间: " + dueDate); + feishuMsgVo.setEnContentUpper("Hello! Please check and address the task ASAP. Thank you!"); + feishuMsgVo.setEnContentLower("Project: " + PRN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName() + + "\nDue Date: "+ dueDate); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } } - }*/ + } //如果任务确认状态为待确认的,进行催办 if(StringUtils.equals(projectLawsInventoryEO.getTaskAffirmStatus(),TaskAffirmStatusEnum.LIST_TO_CONFIRM.getValue())){ From 847d5ec52768b3d84427a4fcb901b752ba9adfce Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 2 Nov 2022 17:02:55 +0800 Subject: [PATCH 55/59] =?UTF-8?q?1=E3=80=81=E5=AE=9A=E6=97=B6=E5=99=A8?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9C=89=E9=97=AE=E9=A2=98=20=E6=9A=82?= =?UTF-8?q?=E6=97=B6=E5=85=88=E6=94=B9=E6=88=90=E8=BF=99=E6=A0=B7=20?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E6=B5=8B=E8=AF=95=202=E3=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=85=A8=E9=83=A8=E5=A4=84=E7=90=86=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 180 +++++++++++++----- .../ProjectTaskInventoryEOServiceImpl.java | 173 +++++++++++------ jero-web/src/views/system/QuartzJobList.vue | 7 + 3 files changed, 258 insertions(+), 102 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 f492b4be3..91357f86b 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 @@ -2495,19 +2495,19 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; @@ -2687,22 +2687,22 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; cnContentLower = "项目: " + PRN + "\n法规: " + LAW_CN + - "\n发起人: " + initiatorLark + + "\n发起人: " + sysUser.getUsername() + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); enContentUpper = "Hello! Please check and address the task in a timely manner. Thank you!"; enContentLower = "Project: " + PRN + "\nRegulation No: " + LAW_EN + - "\nInitiator: " + initiatorLark + + "\nInitiator: " + sysUser.getUsername() + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); color = MsgColorEnum.GREEN.getValue(); @@ -2719,22 +2719,22 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); msgTitle = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; cnContentLower = "项目: " + PRN + "\n法规: " + LAW_CN + - "\n发起人: " + initiatorLark + + "\n发起人: " + sysUser.getUsername() + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()); enContentUpper = "Hello! Please check and address the task in a timely manner. Thank you!"; enContentLower = "Project: " + PRN + "\nRegulation No: " + LAW_EN + - "\nInitiator: " + initiatorLark + + "\nInitiator: " + sysUser.getUsername() + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()); color = MsgColorEnum.GREEN.getValue(); @@ -2751,7 +2751,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) @@ -2770,7 +2784,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) @@ -2789,7 +2817,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) @@ -2808,11 +2850,25 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); + + msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); + cnContentUpper = "您好,该任务被发起人审查通过"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " +sysUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + enContentUpper = "Hello! The task has been approved by initiator"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " +sysUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + color = MsgColorEnum.GREEN.getValue(); + } else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_INITIATOR_ACCEPTED_MSG.getValue())){ String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id userIdList.add(prehomoDutyId); @@ -2826,11 +2882,24 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); + msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); + cnContentUpper = "您好,该任务被发起人审查通过"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " +sysUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + enContentUpper = "Hello! The task has been approved by initiator"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " +sysUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + color = MsgColorEnum.GREEN.getValue(); + } else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_INITIATOR_ACCEPTED_MSG.getValue())){ String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id userIdList.add(verifyDutyId); @@ -2844,11 +2913,24 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); + + msgTitle = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); + cnContentUpper = "您好,该任务被发起人审查通过"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " +sysUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + enContentUpper = "Hello! The task has been approved by initiator"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " +sysUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + color = MsgColorEnum.GREEN.getValue(); } if(CollectionUtils.isNotEmpty(userIdList) && StringUtils.isNotEmpty(msgTitle)){ 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 535c324df..07223eb90 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 @@ -1009,7 +1009,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl sysUsers = sysUserService.listByIds(userIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //系统内部跳转链接 - String href = "" + " View details" + ""; + //String href = "" + " View details" + ""; //飞书跳转链接 拼接跳转至任务详情页参数 /*String hrefFeishu = backUrl @@ -1224,13 +1291,13 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl" + " View details" + "";*/ - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } diff --git a/jero-web/src/views/system/QuartzJobList.vue b/jero-web/src/views/system/QuartzJobList.vue index cd54b0701..db0d65e90 100644 --- a/jero-web/src/views/system/QuartzJobList.vue +++ b/jero-web/src/views/system/QuartzJobList.vue @@ -126,6 +126,13 @@ description: '定时任务在线管理', // 查询条件 queryParam: {}, + ipagination: { + total: 0, + pageSize: 20,//每页中显示10条数据 + showSizeChanger: true, + pageSizeOptions: ["10", "20", "50", "100"],//每页中显示的数据 + showTotal: total => `共有 ${total} 条数据`, //分页中显示总的数据 + }, // 表头 columns: [ { From 340bc851ea432cf5c6374a14cca1373ebabd2981 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 2 Nov 2022 17:12:01 +0800 Subject: [PATCH 56/59] =?UTF-8?q?=E8=8B=B1=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/service/impl/ProjectLawsInventoryEOServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 91357f86b..1ee4f3151 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 @@ -2475,7 +2475,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 17:56:11 +0800 Subject: [PATCH 57/59] bug --- .../service/impl/LawsOpinionGatherEOServiceImpl.java | 6 ++---- .../java/com/jero/modules/project/job/TaskAffirmJob.java | 2 +- .../service/impl/ProjectLawsInventoryEOServiceImpl.java | 9 +++++---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java index c4ca69f25..2d490d9f3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java @@ -360,13 +360,11 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl) jsonObject.get("userIdList"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java index c12b42c6b..a865ab379 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java @@ -157,7 +157,7 @@ public class TaskAffirmJob implements Job { //飞书跳转链接 String hrefFeishu = backUrl - + JumpLinkEnum.TASK_AFFIRM_LINK.getLink(); + + "/projectRegulationTasks"; //项目名称 String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); 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 1ee4f3151..27fc6c861 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 @@ -8675,6 +8675,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer()) ); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); projectLawsInventoryEOList.forEach(projectLawsInventoryEO -> { //如果清单确认状态为待确认的,进行催办 @@ -8753,11 +8754,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 18:00:57 +0800 Subject: [PATCH 58/59] =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/service/impl/ProjectLawsInventoryEOServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 27fc6c861..658151bf5 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 @@ -8756,7 +8756,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Thu, 3 Nov 2022 14:15:08 +0800 Subject: [PATCH 59/59] bug --- .../src/main/java/com/jero/modules/project/job/PrehomoJob.java | 2 +- .../java/com/jero/modules/project/job/VerifyComplianceJob.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java index 352110c00..915893fa7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java @@ -170,7 +170,7 @@ public class PrehomoJob implements Job { } } //如果prehomo - 逾期后每天通知 - if (projectLawsInventoryEO.getDesignDueDate().before(currentDate)) { + if (!StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))&&projectLawsInventoryEO.getDesignDueDate().before(currentDate)) { if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ dueUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java index b96f9c712..65b071784 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java @@ -169,7 +169,7 @@ public class VerifyComplianceJob implements Job { } } //如果验证符合性 - 逾期后每天通知 - if (projectLawsInventoryEO.getVerifyDueDate().before(currentDate)) { + if (!StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))&&projectLawsInventoryEO.getVerifyDueDate().before(currentDate)) { if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ dueUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); }