diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 2930eae6a..9430da4f4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -45,6 +45,7 @@ import com.jero.modules.document.vo.QueryConditionVO; import com.jero.modules.domain.entity.DomainUserRel; import com.jero.modules.domain.service.DomainUserRelService; import com.jero.modules.domain.service.impl.DomainManageServiceImpl; +import com.jero.modules.feishu.enums.TemplateInfoEnum2; import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.home.entity.HomeDocumentDynamicEO; @@ -2348,19 +2349,28 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiShuCn); + params.put("contentInfoFeiEn",contentInfoFeiShu); + params.put("userIdList",userIdList); + params.put("back_url",hrefTemp); + iFeishuService.sendMessageSubscriptionNotification(TemplateInfoEnum2.SUBSCRIPTION_INFORM.getValue(),params); + - iFeishuService.sendCardMsgTerritory(thirdIdList.toArray(new String[]{}), feishuMsgVo); // iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentInfoFeiShu, MessageTypeEnum.PUSH.getName(), hrefTemp); - } catch (IOException e) { + } catch (Exception e) { log.error("飞书消息推送失败"); } } @@ -3569,7 +3579,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl thirdIdList = new ArrayList<>(); List userList = new ArrayList<>(); String technologyTerritoryNameEn = ""; - if(StringUtils.isNotBlank(technologyTerritory) && !technologyTerritory.equals(technologyTerritoryNew) && domainUserRelList.size() != 0){ + if(StringUtils.isNotBlank(technologyTerritory) && technologyTerritory.equals(technologyTerritoryNew) && domainUserRelList.size() != 0){ List collect = domainUserRelList.stream() .filter(e -> technologyTerritory.contains(e.getDomainId())) .collect(Collectors.toList()); @@ -3622,7 +3632,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl params = new HashMap<>(); + params.put("contentInfoFeiCn",contentInfoFeiCn); + params.put("contentInfoFeiEn",contentInfoFei); + params.put("userIdList",userList); + params.put("back_url",url); + iFeishuService.sendMessageSubscriptionNotification(TemplateInfoEnum2.SUBSCRIPTION_INFORM.getValue(),params); - iFeishuService.sendCardMsgTerritory(thirdIdList.toArray(new String[]{}), feishuMsgVo); +// iFeishuService.sendCardMsgTerritory(thirdIdList.toArray(new String[]{}), feishuMsgVo); // iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentInfoFei, MessageTypeEnum.READ.getName(), url); - } catch (IOException e) { + } catch (Exception e) { log.error("文档新增飞书消息推送失败"); } @@ -3731,20 +3748,28 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl", "") - .replaceAll("","").replaceAll("\"", "<"); + .replaceAll("",""); +// .replaceAll("\"", "<"); feishuMsgVo.setContent(replaceAllCn); // - iFeishuService.sendCardMsgDocument(userIdListUpdateFeishu.toArray(new String[]{}), feishuMsgVo); +// iFeishuService.sendCardMsgDocument(userIdListUpdateFeishu.toArray(new String[]{}), feishuMsgVo); + //飞书消息(模板-20230410) + Map params = new HashMap<>(); + params.put("contentInfoFeiCn",replaceAllCn); + params.put("contentInfoFeiEn",contentInfoFei); + params.put("userIdList",userIdListUpdate); + params.put("back_url",url); + iFeishuService.sendMessageSubscriptionNotification(TemplateInfoEnum2.SUBSCRIPTION_INFORM.getValue(),params); // String contentInfoFei = "In the "+category + " " + serialNumber +" you subscribed to, "+sysUser.getUsername()+" changed the " + sbStr.toString();; // //跳转文档详情 // String url = backUrl + "/docManage/library/detail?id=" + id; // iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), contentInfoFei, MessageTypeEnum.READ.getName(), url); - } catch (IOException e) { + } catch (Exception e) { log.error("文档新增飞书消息推送失败"); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java index 3d882045c..5deafa061 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEO.java @@ -197,7 +197,7 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String remark; /**设计符合性确认-交付物类型*/ - @Excel(name = "设计-交付物类型", width = 15,dicCode ="deliverable_template") + @Excel(name = "交付物类型", width = 15,dicCode ="deliverable_template",groupName = "设计符合性确认") @ApiModelProperty(value = "设计符合性确认-交付物类型") // @Dict(dicCode ="deliverable_template") private java.lang.String designDeliverableType; @@ -211,7 +211,7 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String designDeliverableTemplate; @TableField(exist = false) - @Excel(name = "设计-交付物模板", width = 15) + @Excel(name = "交付物模板", width = 15,groupName = "设计符合性确认") private java.lang.String designDeliverableTemplateName; /**设计符合性确认-发起人*/ @@ -223,7 +223,7 @@ public class DummyInventoryInfoEO implements Serializable { private String designInitiator_dictText; /**设计符合性确认-责任人*/ - @Excel(name = "设计-责任人", width = 15,dicCode ="ze2_ren4_ren2") + @Excel(name = "责任人", width = 15,dicCode ="ze2_ren4_ren2",groupName = "设计符合性确认") @ApiModelProperty(value = "设计符合性确认-责任人") //@Dict(dicCode ="ze2_ren4_ren2") private java.lang.String designDuty; @@ -231,7 +231,7 @@ public class DummyInventoryInfoEO implements Serializable { private String designDuty_dictText; //交付物说明 - @Excel(name = "设计符合性确认-交付物说明", width = 20) + @Excel(name = "交付物说明", width = 20,groupName = "设计符合性确认") private String designRemark; /**prehomo确认-交付物类型*/ @@ -273,7 +273,7 @@ public class DummyInventoryInfoEO implements Serializable { private String prehomoRemark; /**验证符合性确认-交付物类型*/ - @Excel(name = "验证-交付物类型", width = 15,dicCode ="deliverable_template") + @Excel(name = "交付物类型", width = 15,dicCode ="deliverable_template",groupName = "验证符合性确认") @ApiModelProperty(value = "验证符合性确认-交付物类型") // @Dict(dicCode ="deliverable_template") private java.lang.String verifyDeliverableType; @@ -286,7 +286,7 @@ public class DummyInventoryInfoEO implements Serializable { private java.lang.String verifyDeliverableTemplate; @TableField(exist = false) - @Excel(name = "验证-交付物模板", width = 15) + @Excel(name = "交付物模板", width = 15,groupName = "验证符合性确认") private java.lang.String verifyDeliverableTemplateName; /**验证符合性确认-发起人*/ @@ -298,7 +298,7 @@ public class DummyInventoryInfoEO implements Serializable { private String verifyInitiator_dictText; /**验证符合性确认-责任人*/ - @Excel(name = "验证-责任人", width = 15,dicCode ="ze2_ren4_ren2") + @Excel(name = "责任人", width = 15,dicCode ="ze2_ren4_ren2",groupName = "验证符合性确认") @ApiModelProperty(value = "验证符合性确认-责任人") //@Dict(dicCode ="ze2_ren4_ren2") private java.lang.String verifyDuty; @@ -306,7 +306,7 @@ public class DummyInventoryInfoEO implements Serializable { private String verifyDuty_dictText; //验证备注 - @Excel(name = "验证符合性确认-交付物说明", width = 20) + @Excel(name = "交付物说明", width = 20,groupName = "验证符合性确认") private String verifyRemark; @TableField(exist = false) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEOEn.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEOEn.java index a9643b2ca..1b8f939f0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEOEn.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/entity/DummyInventoryInfoEOEn.java @@ -171,7 +171,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String remark; /**设计符合性确认-交付物类型*/ - @Excel(name = "Design Deliverables", width = 30,dicCode ="deliverable_template") + @Excel(name = "Deliverables", width = 30,dicCode ="deliverable_template",groupName = "Design compliance check") @ApiModelProperty(value = "设计符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private String designDeliverableType; @@ -182,7 +182,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String designDeliverableTemplate; @TableField(exist = false) - @Excel(name = "Design Deliverable Template", width = 30) + @Excel(name = "Deliverable Template", width = 30,groupName = "Design compliance check") private String designDeliverableTemplateName; @@ -193,17 +193,17 @@ public class DummyInventoryInfoEOEn implements Serializable { private String designInitiator; /**设计符合性确认-责任人*/ - @Excel(name = "Design Assignee", width = 30) + @Excel(name = "Assignee", width = 30,groupName = "Design compliance check") @ApiModelProperty(value = "设计符合性确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private String designDuty; //交付物说明 - @Excel(name = "Design Compliance Check Deliverable Description", width = 50) + @Excel(name = "Deliverables description", width = 50,groupName = "Design compliance check") private String designRemark; /**prehomo确认-交付物类型*/ - @Excel(name = "Prehomo Deliverables", width = 30,dicCode ="deliverable_template") +// @Excel(name = "Prehomo Deliverables", width = 30,dicCode ="deliverable_template") @ApiModelProperty(value = "prehomo确认-交付物类型") @Dict(dicCode ="deliverable_template") private String prehomoDeliverableType; @@ -214,7 +214,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String prehomoDeliverableTemplate; @TableField(exist = false) - @Excel(name = "Prehomo Deliverable Template", width = 30) +// @Excel(name = "Prehomo Deliverable Template", width = 30) private String prehomoDeliverableTemplateName; /**prehomo确认-发起人*/ @@ -224,17 +224,17 @@ public class DummyInventoryInfoEOEn implements Serializable { private String prehomoInitiator; /**prehomo确认-责任人*/ - @Excel(name = "Prehomo Assignee", width = 30) +// @Excel(name = "Prehomo Assignee", width = 30) @ApiModelProperty(value = "prehomo确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private String prehomoDuty; //prehomo确认-交付物说明 - @Excel(name = "Prehomo Check Deliverable Description", width = 50) +// @Excel(name = "Prehomo Check Deliverable Description", width = 50) private String prehomoRemark; /**验证符合性确认-交付物类型*/ - @Excel(name = "Verify Deliverables", width = 30,dicCode ="deliverable_template") + @Excel(name = "Deliverables", width = 30,dicCode ="deliverable_template",groupName = "Validation compliance check") @ApiModelProperty(value = "验证符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private String verifyDeliverableType; @@ -244,7 +244,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String verifyDeliverableTemplate; @TableField(exist = false) - @Excel(name = "Verify Deliverable Template", width = 30) + @Excel(name = "Deliverable Template", width = 30,groupName = "Validation compliance check") private String verifyDeliverableTemplateName; /**验证符合性确认-发起人*/ @@ -254,13 +254,13 @@ public class DummyInventoryInfoEOEn implements Serializable { private String verifyInitiator; /**验证符合性确认-责任人*/ - @Excel(name = "Verify Assignee", width = 30) + @Excel(name = "Assignee", width = 30,groupName = "Validation compliance check") @ApiModelProperty(value = "验证符合性确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private String verifyDuty; ///验证-交付物说明 - @Excel(name = "Validation Compliance Check Deliverable Description", width = 60) + @Excel(name = "Deliverables description", width = 60,groupName = "Validation compliance check") private String verifyRemark; @TableField(exist = false) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index ecd46c645..00fd8b1d1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -1207,7 +1207,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl batchSendLarkCardMsgByTemplate2(JSONObject json) throws IOException; + + /** + * 飞书消息模板--订阅通知 + * @param templeteId + * @param params + */ + void sendMessageSubscriptionNotification(String templeteId,Map params); } 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 251300b9e..c15aeca58 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 @@ -34,7 +34,12 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -1431,4 +1436,37 @@ public class FeishuServiceImpl implements IFeishuService { return Result.OK(); } + @Override + public void sendMessageSubscriptionNotification(String templeteId, Map params) { + List userIdList = (List) params.get("userIdList"); + if (CollectionUtils.isNotEmpty(userIdList)) { + List userInfoList = this.sysUserService.querySysUserListByIdList(userIdList); + + String contentCn = (String) params.get("contentInfoFeiCn"); + String contentEn = (String) params.get("contentInfoFeiEn"); + String back_url = (String) params.get("back_url"); + try { + for (String userId : userIdList) { + String thirdId = this.sysUserService.getUserThirdIdByUserId(userInfoList,userId); + if(StringUtils.isNotEmpty(thirdId)){ + // 根据结束时间进行排序,获取最近的时间,发消息时使用。 + JSONObject larkMesJson = new JSONObject(); + larkMesJson.put("template_id", templeteId); + larkMesJson.put("userIds",thirdId); + Map templateVariableMap = new HashMap<>(); + templateVariableMap.put("contentInfoFeiCn",contentCn); + templateVariableMap.put("contentInfoFeiEn",contentEn); + templateVariableMap.put("view_url_cn",back_url); + templateVariableMap.put("view_url_en",back_url); + + larkMesJson.put("templateVariableMap",templateVariableMap); + batchSendLarkCardMsgByTemplate2(larkMesJson); + } + } + } catch (Exception e) { + log.error("飞书消息推送失败"); + } + } + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index 0bae6ed58..9382bec93 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -743,7 +743,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl + type="profile"/> @@ -673,7 +673,7 @@ if (res.success) { this.rightTitleList = res.result this.rightTitleList.push({ - name:this.$t('DetailsPhasedImplementation'), + name: this.$t('DetailsPhasedImplementation') }) } else { this.rightTitleList = [] @@ -857,7 +857,8 @@ color: #040B29; font-weight: bold; } - .text-field-right-text{ + + .text-field-right-text { width: calc(50% - 140px); } } @@ -1000,16 +1001,28 @@ margin-right: 10px } + .TextInformation { + display: flex; + flex-wrap: wrap; + } + .TextInformation-box { - width: 100%; + width: calc(50% - 10px); height: auto; + display: inline-block; overflow: hidden; + margin-right: 20px; + } + + .TextInformation-box:nth-child(even) { + margin-right: 0; } .TextInformation-box-title { background: #F5F6F7; border-radius: 4px; width: 100%; + display: inline-block; height: 56px; padding: 0 16px; line-height: 56px; diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/confirmationDrawer.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/confirmationDrawer.vue index 8d89b4242..5803af6d8 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/confirmationDrawer.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/confirmationDrawer.vue @@ -366,7 +366,7 @@ } .box-two { - margin-bottom: 438px; + /*margin-bottom: 438px;*/ } .header-text { @@ -380,16 +380,17 @@ } .drawer-review { - position: absolute; - bottom: 40px; - z-index: 1001; - height: 404px; - width: 100%; - padding: 24px; - border-top: 1px solid #e8e8e8; - left: 0; - background: #fff; - border-radius: 0 0 2px 2px; + /*position: absolute;*/ + /*bottom: 40px;*/ + /*z-index: 1001;*/ + /*height: 404px;*/ + /*width: 100%;*/ + /*padding: 24px;*/ + /*border-top: 1px solid #e8e8e8;*/ + /*left: 0;*/ + /*background: #fff;*/ + /*border-radius: 0 0 2px 2px;*/ + margin-bottom: 40px; } .formAdd { diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/reviewedByThePersonInCharge.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/reviewedByThePersonInCharge.vue index 1cc79009c..9efc1ec45 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/reviewedByThePersonInCharge.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/reviewedByThePersonInCharge.vue @@ -30,10 +30,6 @@ {{$t('adopt')}} - - {{$t('sendBack')}} - {{$t('accord')}} @@ -46,6 +42,10 @@ {{$t('notInvolved')}} + + {{$t('sendBack')}} + {{$t('turnToDo')}}