diff --git a/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql b/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql index 5163a0020..22b43150c 100644 --- a/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql +++ b/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql @@ -1 +1,10 @@ --- 一阶段的bug修复导致的字段增删、必须数据增删添加到此处 \ No newline at end of file +-- 一阶段的bug修复导致的字段增删、必须数据增删添加到此处 + +ALTER TABLE `sys_role_permission` +MODIFY COLUMN `operate_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作ip' AFTER `operate_date`; +-- 6月23日部署上线 + +ALTER TABLE `dummy_inventory_info` +ADD COLUMN `verify_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证备注' AFTER `applicable_supplement`, +ADD COLUMN `prehomo_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'pre备注' AFTER `verify_remark`, +ADD COLUMN `design_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设计备注' AFTER `prehomo_remark`; diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java index 2f92b685e..4f5a85094 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java @@ -6,10 +6,11 @@ package com.jero.common.constant.enums; * @auth zhn */ public enum MessageTypeEnum { - READ("订阅通知","1"), - WARN("预警信息","2"), - PUSH("转发推送","3"), - COLLECT("认证消息","4"); + READ("Subscription Notification","1"), + WARN("Early Warning","2"), + PUSH("Share / Forward","3"), + HOMO_TASK("Homo Parameter Task","4"), + TASK("Regulation Compliance Task", "5"); String name; String value; diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java index 5a711c8d3..b8157a18c 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/query/QueryGenerator.java @@ -486,53 +486,58 @@ public class QueryGenerator { } name = oConvertUtils.camelToUnderline(name); log.info("--查询规则-->"+name+" "+rule.getValue()+" "+value); - switch (rule) { - case GT: - queryWrapper.gt(name, value); - break; - case GE: - queryWrapper.ge(name, value); - break; - case LT: - queryWrapper.lt(name, value); - break; - case LE: - queryWrapper.le(name, value); - break; - case EQ: - case EQ_WITH_ADD: - queryWrapper.eq(name, value); - break; - case NE: - queryWrapper.ne(name, value); - break; - case IN: - if(value instanceof String) { - queryWrapper.in(name, (Object[])value.toString().split(",")); - }else if(value instanceof String[]) { - queryWrapper.in(name, (Object[]) value); + if(" is null ".equals(value)){ + queryWrapper.isNull(name); + }else{ + switch (rule) { + case GT: + queryWrapper.gt(name, value); + break; + case GE: + queryWrapper.ge(name, value); + break; + case LT: + queryWrapper.lt(name, value); + break; + case LE: + queryWrapper.le(name, value); + break; + case EQ: + case EQ_WITH_ADD: + queryWrapper.eq(name, value); + break; + case NE: + queryWrapper.ne(name, value); + break; + case IN: + if(value instanceof String) { + queryWrapper.in(name, (Object[])value.toString().split(",")); + }else if(value instanceof String[]) { + queryWrapper.in(name, (Object[]) value); + } + //update-begin-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 + else if(value.getClass().isArray()) { + queryWrapper.in(name, (Object[])value); + }else { + queryWrapper.in(name, value); + } + //update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 + break; + case LIKE: + queryWrapper.like(name, value); + break; + case LEFT_LIKE: + queryWrapper.likeLeft(name, value); + break; + case RIGHT_LIKE: + queryWrapper.likeRight(name, value); + break; + default: + log.info("--查询规则未匹配到---"); + break; } - //update-begin-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 - else if(value.getClass().isArray()) { - queryWrapper.in(name, (Object[])value); - }else { - queryWrapper.in(name, value); - } - //update-end-author:taoyan date:20200909 for:【bug】in 类型多值查询 不适配postgresql #1671 - break; - case LIKE: - queryWrapper.like(name, value); - break; - case LEFT_LIKE: - queryWrapper.likeLeft(name, value); - break; - case RIGHT_LIKE: - queryWrapper.likeRight(name, value); - break; - default: - log.info("--查询规则未匹配到---"); - break; } + } /** * diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index eaa2b7af5..f1bb918ac 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -1198,7 +1198,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl 0) { @@ -394,7 +407,17 @@ public class CommonController { } catch (IOException e) { log.error(e.getMessage(), e); } + } + if (newFile != null) { + try { + newFile.delete(); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + + } + } } @@ -468,7 +491,7 @@ public class CommonController { * @param response */ @GetMapping(value = "/pdf/viewFile") - public void viewFile(String id,HttpServletRequest request, HttpServletResponse response) { + public void viewFile(String id,HttpServletRequest request, HttpServletResponse response,String userName) { // 查询数据表数据是否存在 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(OSSFile::getId,id); @@ -490,7 +513,10 @@ public class CommonController { InputStream download = CosBootUtil.download(filePath); File file = new File(filePath); //水印内容 - String waterContent = "water mark";//临时定义(水印信息通过传过来) + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String currentTime = sdf.format(new Date()); + String waterContent = userName+" "+currentTime; +// String waterContent = "water mark";//临时定义(水印信息通过传过来) File newFile = PDFUtils.PDFWatermark(download,uploadpath,file.getName(),waterContent); // 文件名称 fileName = file.getName(); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java index 85b13dddd..98adef3ef 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java @@ -23,7 +23,7 @@ public interface SysDictItemMapper extends BaseMapper { @Select("SELECT sys_dict_item.* FROM sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id WHERE sys_dict_item.DEL_FLAG = 0 and DICT_CODE = #{dictCode} order by sort_order asc, item_value asc") public List selectItemsByDictCode(String dictCode); - @Select("SELECT sys_dict_item.* FROM sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id WHERE DICT_CODE = #{dictCode} order by sys_dict_item.sort_order asc") + @Select("SELECT sys_dict_item.* FROM sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id WHERE DICT_CODE = #{dictCode} order by sys_dict_item.item_text asc") public List selectItemsOrderBySortOrder(String dictCode); @Select("SELECT sys_dict.dict_code,sys_dict_item.* from sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id where status = 1") diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java index 4dd1f1c3d..bb0397e54 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SyncDataServiceImpl.java @@ -195,8 +195,8 @@ public class SyncDataServiceImpl implements ISyncDataService{ ppEmployeeList.addAll(currentPPEmployeeList); } } - // 处理同步过来的数据id不同,username相同的情况 - ppEmployeeList.sort(Comparator.comparing(PPEmployee::getCreation_time).reversed()); + // 处理同步过来的数据id不同,username相同的情况 creation_time不能为空 +// ppEmployeeList.sort(Comparator.comparing(PPEmployee::getCreation_time).reversed()); //此处获取全部pp用户信息 List sysUserList = sysUserService.getPPEmployeeList(); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java index 223724870..b0922b46e 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/PDFUtils.java @@ -73,9 +73,9 @@ public class PDFUtils { PdfTilingBrush brush = new PdfTilingBrush(dimension2D); brush.getGraphics().setTransparency(0.4F); brush.getGraphics().save(); - brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 5, (float) brush.getSize().getHeight() / 5); + brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 1.5, (float) brush.getSize().getHeight() / 3); brush.getGraphics().rotateTransform(-45); - brush.getGraphics().drawString(watermark, new PdfFont(PdfFontFamily.Helvetica, 15), + brush.getGraphics().drawString(watermark, new PdfFont(PdfFontFamily.Helvetica, 10), PdfBrushes.getViolet(), 0 , 0 , new PdfStringFormat(PdfTextAlignment.Center)); brush.getGraphics().restore(); brush.getGraphics().setTransparency(1); 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 2a201f721..bef96f215 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 @@ -4997,9 +4997,20 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl treeNameList = categoryList.stream().map(SysCategory::getName).collect(Collectors.toList()); + List treeNameList = new ArrayList<>(); + if(CutEnum.CN.getValue().equals(cut)){ + treeNameList = categoryList.stream().map(SysCategory::getName).collect(Collectors.toList()); + }else{ + treeNameList = categoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList()); + } //普通数据字典 - List itemNameList = dictItemList.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); + List itemNameList = new ArrayList<>(); + if(CutEnum.CN.getValue().equals(cut)){ + itemNameList = dictItemList.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); + }else{ + itemNameList = dictItemList.stream().map(SysDictItem::getEnName).collect(Collectors.toList()); + } + int i = 2; List msgList = new ArrayList<>(); List> mapList = new ArrayList<>(); @@ -5097,11 +5108,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl collect = categoryList.stream().filter(e -> e.getName().equals(valueTemp)).collect(Collectors.toList()); - valueId += collect.get(0).getId(); + List collect = new ArrayList<>(); + if(CutEnum.CN.getValue().equals(cut)){ + collect = categoryList.stream().filter(e -> e.getName().equals(valueTemp)).collect(Collectors.toList()); + }else{ + collect = categoryList.stream().filter(e -> e.getEnName().equals(valueTemp)).collect(Collectors.toList()); + } + valueId += collect.get(0).getId()+","; } } - value = valueId; + if(StringUtils.isNotBlank(valueId)){ + value = valueId.substring(0, valueId.length() - 1); + } } } else if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldShowType)) { @@ -5173,7 +5191,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(finalValue)).collect(Collectors.toList()); + List collect = new ArrayList<>(); + if(CutEnum.CN.getValue().equals(cut)){ + collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(finalValue)).collect(Collectors.toList()); + }else{ + collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(finalValue)).collect(Collectors.toList()); + } if (collect.size() != 0) { value = collect.get(0).getItemValue(); } @@ -5216,7 +5239,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(valueTemp)).collect(Collectors.toList()); + List collect = new ArrayList<>(); + if(CutEnum.CN.getValue().equals(cut)){ + collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getItemText()) && e.getItemText().equals(valueTemp)).collect(Collectors.toList()); + }else{ + collect = dictItemList.stream().filter(e -> StringUtils.isNotBlank(e.getEnName()) && e.getEnName().equals(valueTemp)).collect(Collectors.toList()); + } + valueId += collect.get(0).getItemValue() + ","; } } 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 99073f97a..b9aaa15ad 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 @@ -201,6 +201,10 @@ public class DummyInventoryInfoEO implements Serializable { @Dict(dicCode ="ze2_ren4_ren2") private java.lang.String designDuty; + //交付物说明 + @Excel(name = "设计符合性确认-交付物说明", width = 20) + private String designRemark; + /**prehomo确认-交付物类型*/ @Excel(name = "Prehomo-交付物类型", width = 15,dicCode ="deliverable_template") @ApiModelProperty(value = "prehomo确认-交付物类型") @@ -209,6 +213,7 @@ public class DummyInventoryInfoEO implements Serializable { @TableField(exist = false) private java.lang.String prehomoDeliverableTypeName; + /**prehomo确认-交付物模板*/ @ApiModelProperty(value = "prehomo确认-交付物模板") @@ -230,6 +235,10 @@ public class DummyInventoryInfoEO implements Serializable { @Dict(dicCode ="ze2_ren4_ren2") private java.lang.String prehomoDuty; + //prehomo确认-交付物说明 + @Excel(name = "prehomo确认-交付物说明", width = 20) + private String prehomoRemark; + /**验证符合性确认-交付物类型*/ @Excel(name = "验证-交付物类型", width = 15,dicCode ="deliverable_template") @ApiModelProperty(value = "验证符合性确认-交付物类型") @@ -259,6 +268,10 @@ public class DummyInventoryInfoEO implements Serializable { @Dict(dicCode ="ze2_ren4_ren2") private java.lang.String verifyDuty; + //验证备注 + @Excel(name = "验证符合性确认-交付物说明", width = 20) + private String verifyRemark; + @TableField(exist = false) private String cut; @@ -273,4 +286,9 @@ public class DummyInventoryInfoEO implements Serializable { + + + + + } 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 e873f2709..d723a4612 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 @@ -82,11 +82,11 @@ public class DummyInventoryInfoEOEn implements Serializable { /**适用地区*/ @ApiModelProperty(value = "适用地区") @Dict(dicCode ="region") - @Excel(name = "Area", width = 15, dicCode = "region") + @Excel(name = "Area", width = 15) private String region; /**适用范围*/ - @Excel(name = "Scope of application", width = 15, dicCode = "apply_scope") + @Excel(name = "Scope of application", width = 30, dicCode = "apply_scope") @ApiModelProperty(value = "适用范围") @Dict(dicCode ="apply_scope") private String shi4Yong4Fan4Wei2; @@ -111,7 +111,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String implementType; /**新车型实施日期*/ - @Excel(name = "New Type Execute Date", width = 15,format = "yyyy-MM-dd") + @Excel(name = "New Type Execute Date", width = 30,format = "yyyy-MM-dd") @ApiModelProperty(value = "新车型实施日期") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @@ -120,7 +120,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String xin1Che1Xing2Shi2Shi1Ri4Qi1String; /**在产车实施日期*/ - @Excel(name = "New Vehicle Execute Date", width = 15,format = "yyyy-MM-dd") + @Excel(name = "New Vehicle Execute Date", width = 30,format = "yyyy-MM-dd") @ApiModelProperty(value = "在产车实施日期") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @@ -134,25 +134,25 @@ public class DummyInventoryInfoEOEn implements Serializable { private String wvtaId; /**认证类型*/ - @Excel(name = "Certification Type", width = 15,dicCode ="attestation_type") + @Excel(name = "Certification Type", width = 30,dicCode ="attestation_type") @ApiModelProperty(value = "认证类型") @Dict(dicCode ="attestation_type") private String attestationType; /**认证级别*/ - @Excel(name = "Certification Level", width = 15,dicCode ="attestation_rank") + @Excel(name = "Certification Level", width = 30,dicCode ="attestation_rank") @ApiModelProperty(value = "认证级别") @Dict(dicCode ="attestation_rank") private String attestationRank; /**适用增补件*/ @ApiModelProperty(value = "适用增补件") - @Excel(name = "Applicable Supplement", width = 15) + @Excel(name = "Applicable Supplement", width = 30) private String applicableSupplement; /**技术领域*/ - @Excel(name = "Technical Field", width = 15) + @Excel(name = "Technical Field", width = 30) @ApiModelProperty(value = "技术领域") private String technologyTerritory; @@ -160,7 +160,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String technologyTerritoryName; /**责任领域*/ - @Excel(name = "Responsible Field", width = 15,dicCode ="duty_territory") + @Excel(name = "Responsible Field", width = 30,dicCode ="duty_territory") @ApiModelProperty(value = "责任领域") @Dict(dicCode ="duty_territory") private String dutyTerritory; @@ -171,7 +171,7 @@ public class DummyInventoryInfoEOEn implements Serializable { private String remark; /**设计符合性确认-交付物类型*/ - @Excel(name = "Design-Deliverables", width = 15,dicCode ="deliverable_template") + @Excel(name = "Design Deliverables", width = 30,dicCode ="deliverable_template") @ApiModelProperty(value = "设计符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private String designDeliverableType; @@ -182,23 +182,28 @@ public class DummyInventoryInfoEOEn implements Serializable { private String designDeliverableTemplate; @TableField(exist = false) - @Excel(name = "Design-Deliverable Template", width = 15) + @Excel(name = "Design Deliverable Template", width = 30) private String designDeliverableTemplateName; + /**设计符合性确认-发起人*/ - @Excel(name = "Design-Initiator", width = 15) + @Excel(name = "Design Initiator", width = 30) @ApiModelProperty(value = "设计符合性确认-发起人") @Dict(dicCode ="fa1_qi3_ren2") private String designInitiator; /**设计符合性确认-责任人*/ - @Excel(name = "Design-Assignee", width = 15) + @Excel(name = "Design Assignee", width = 30) @ApiModelProperty(value = "设计符合性确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private String designDuty; + //交付物说明 + @Excel(name = "Design Compliance Check Deliverable Description", width = 50) + private String designRemark; + /**prehomo确认-交付物类型*/ - @Excel(name = "Prehomo-Deliverables", width = 15,dicCode ="deliverable_template") + @Excel(name = "Prehomo Deliverables", width = 30,dicCode ="deliverable_template") @ApiModelProperty(value = "prehomo确认-交付物类型") @Dict(dicCode ="deliverable_template") private String prehomoDeliverableType; @@ -209,23 +214,27 @@ public class DummyInventoryInfoEOEn implements Serializable { private String prehomoDeliverableTemplate; @TableField(exist = false) - @Excel(name = "Prehomo-Deliverable Template", width = 15) + @Excel(name = "Prehomo Deliverable Template", width = 30) private String prehomoDeliverableTemplateName; /**prehomo确认-发起人*/ - @Excel(name = "Prehomo-Initiator", width = 15) + @Excel(name = "Prehomo Initiator", width = 30) @ApiModelProperty(value = "prehomo确认-发起人") @Dict(dicCode ="fa1_qi3_ren2") private String prehomoInitiator; /**prehomo确认-责任人*/ - @Excel(name = "Prehomo-Assignee", width = 15) + @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) + private String prehomoRemark; + /**验证符合性确认-交付物类型*/ - @Excel(name = "Verify-Deliverables", width = 15,dicCode ="deliverable_template") + @Excel(name = "Verify Deliverables", width = 30,dicCode ="deliverable_template") @ApiModelProperty(value = "验证符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private String verifyDeliverableType; @@ -235,21 +244,25 @@ public class DummyInventoryInfoEOEn implements Serializable { private String verifyDeliverableTemplate; @TableField(exist = false) - @Excel(name = "Verify-Deliverable Template", width = 15) + @Excel(name = "Verify Deliverable Template", width = 30) private String verifyDeliverableTemplateName; /**验证符合性确认-发起人*/ - @Excel(name = "Verify-Initiator", width = 15) + @Excel(name = "Verify Initiator", width = 30) @ApiModelProperty(value = "验证符合性确认-发起人") @Dict(dicCode ="fa1_qi3_ren2") private String verifyInitiator; /**验证符合性确认-责任人*/ - @Excel(name = "Verify-Assignee", width = 15) + @Excel(name = "Verify Assignee", width = 30) @ApiModelProperty(value = "验证符合性确认-责任人") @Dict(dicCode ="ze2_ren4_ren2") private String verifyDuty; + ///验证-交付物说明 + @Excel(name = "Validation Compliance Check Deliverable Description", width = 60) + private String verifyRemark; + @TableField(exist = false) private String cut; @@ -264,4 +277,9 @@ public class DummyInventoryInfoEOEn implements Serializable { + + + + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/mapper/xml/DummyInventoryInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/mapper/xml/DummyInventoryInfoEOMapper.xml index 61fcb9840..b6f9d9eb0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/mapper/xml/DummyInventoryInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/mapper/xml/DummyInventoryInfoEOMapper.xml @@ -30,7 +30,6 @@ - @@ -38,5 +37,8 @@ + + + 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 02027ed49..0b3940a8d 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 @@ -653,16 +653,18 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl 8){ String flag = ""; - if(8 < j && j < 13){ + if(8 < j && j < 14){ if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){ flag ="设计"; }else{ - flag ="design "; + flag ="Design "; } key = flag + headerCell.getStringCellValue(); } - if(12 < j && j < 17){ + if(13 < j && j < 19){ if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){ - flag ="pre"; + flag ="Pre"; }else{ - flag ="pre "; + flag ="Pre "; } key = flag + headerCell.getStringCellValue(); } - if(16 < j && j < 21){ + if(18 < j && j < 24){ if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){ flag ="验证"; }else{ - flag ="verify "; + flag ="Verify "; } key = flag + headerCell.getStringCellValue(); @@ -1469,10 +1473,12 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl collect = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList()); List serialNumbers = serialNumberS.stream().filter(e -> !collect.contains(e)).collect(Collectors.toList()); - if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){ - throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加"); - }else{ - throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added"); + if(serialNumbers.size() != 0){ + if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){ + throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加"); + }else{ + throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added"); + } } } if(dummyInventoryInfoEOList.size() > 0){ @@ -1718,18 +1724,21 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl headerMap = new HashMap<>(); + headerMap.put("Authorization", "Bearer " + token); + headerMap.put("Content-Type", "application/json; charset=utf-8"); + + // 示例 + StringBuilder contentSb = new StringBuilder(); + contentSb.append("{"); + contentSb.append("\"elements\": ["); + // 补充内容 + if (StrUtil.isNotEmpty(feishuMsgVo.getContent())){ + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + feishuMsgVo.getContent() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + }; + // 补充tasktype、project、Initiator等的外层 + contentSb.append("{"); + contentSb.append("\"fields\": ["); + contentSb.append("{"); + contentSb.append("\"is_short\": false,"); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"**Task Type:** " + feishuMsgVo.getTaskType() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("}"); + + if (StrUtil.isNotEmpty(feishuMsgVo.getRegulationNo())){ + contentSb.append(","); + contentSb.append("{"); + contentSb.append("\"is_short\": false,"); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"**Regulation No:** " + feishuMsgVo.getRegulationNo() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("}"); + } + if (StrUtil.isNotEmpty(feishuMsgVo.getProject())){ + contentSb.append(","); + contentSb.append("{"); + contentSb.append("\"is_short\": false,"); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"**Project:** " + feishuMsgVo.getProject() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("}"); + } + if (StrUtil.isNotEmpty(feishuMsgVo.getInitiator())){ + contentSb.append(","); + contentSb.append("{"); + contentSb.append("\"is_short\": false,"); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"**Initiator:** " + feishuMsgVo.getInitiator() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("}"); + } + if (StrUtil.isNotEmpty(feishuMsgVo.getDueDate())){ + contentSb.append(","); + contentSb.append("{"); + contentSb.append("\"is_short\": false,"); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"**Due Date:** " + feishuMsgVo.getDueDate() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("}"); + } + contentSb.append("],"); + contentSb.append("\"tag\": \"div\""); + contentSb.append("},"); + contentSb.append("{\"tag\": \"hr\"},"); + contentSb.append("{"); + contentSb.append("\"actions\": ["); + contentSb.append("{"); + contentSb.append("\"tag\": \"button\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"view\","); + contentSb.append("\"tag\": \"plain_text\""); + contentSb.append("},"); + contentSb.append("\"type\": \"primary\","); + contentSb.append("\"url\": \" "+ feishuMsgVo.getUrl() +" \""); + contentSb.append("}"); + contentSb.append("],"); + contentSb.append("\"tag\": \"action\""); + contentSb.append("}"); + contentSb.append("],"); + contentSb.append("\"header\": {"); + contentSb.append("\"template\": \"green\","); + contentSb.append("\"title\": {"); + contentSb.append("\"content\": \" " + feishuMsgVo.getTitle() + " \","); + contentSb.append("\"tag\": \"plain_text\""); + contentSb.append("}"); + contentSb.append("}"); + contentSb.append("}"); + + JSONObject jsonObject = JSONObject.parseObject(contentSb.toString()); + + // 设置请求参数 + JSONObject paramsMap = new JSONObject(); + paramsMap.put("user_ids", userIds); + paramsMap.put("msg_type", "interactive"); + paramsMap.put("card", jsonObject); + + // 发送请求给飞书 + String response = HttpRequestUtil.getResponseOfPOST(batchSendMessageUrl, headerMap, paramsMap.toJSONString()); + // 获取返回结果 + JSONObject tokenJson = JSONObject.parseObject(response); + if(!tokenJson.get("code").toString().equals("0")) { + log.error("请求出现异常:" + tokenJson.get("msg") + " " + tokenJson); + } + return tokenJson.get("msg").toString(); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java new file mode 100644 index 000000000..631a32d97 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java @@ -0,0 +1,28 @@ +package com.jero.modules.feishu.vo; + +import lombok.Data; + +/** + * 飞书消息的VO + */ +@Data +public class FeishuMsgVo { + + private String title; //标题 + + private String content; //内容 + + private String taskType; //任务类型 + + private String regulationNo; //法规编号 + + private String project; //项目名称 + + private String initiator; //发起人 + + private String dueDate; //截止时间 + + private String url; //回调的网址 + +} + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java index 4e0f4171b..2184cb6a0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java @@ -101,10 +101,13 @@ public class ProjectLawsInventoryEO implements Serializable { /**适用地区*/ @ApiModelProperty(value = "适用地区") - @Dict(dicCode ="region") + //@Dict(dicCode ="region") @Excel(name = "适用地区", width = 15, dicCode = "region") private java.lang.String region; + @TableField(exist = false) + private String region_dictText; + /**对应标准*/ @Excel(name = "对应标准", width = 20) @ApiModelProperty(value = "对应标准") @@ -113,8 +116,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**实施类别*/ @Excel(name = "实施类别", width = 20,dicCode ="implement_type") @ApiModelProperty(value = "实施类别") - @Dict(dicCode ="implement_type") + //@Dict(dicCode ="implement_type") private String implementType; + @TableField(exist = false) + private String implementType_dictText; /**新车型实施日期*/ @Excel(name = "新车型实施日期", width = 20, format = "yyyy-MM-dd") @@ -139,14 +144,18 @@ public class ProjectLawsInventoryEO implements Serializable { /**认证类型*/ @Excel(name = "认证类型", width = 20,dicCode ="attestation_type") @ApiModelProperty(value = "认证类型") - @Dict(dicCode ="attestation_type") + //@Dict(dicCode ="attestation_type") private String attestationType; + @TableField(exist = false) + private String attestationType_dictText; /**认证级别*/ @Excel(name = "认证级别", width = 20,dicCode ="attestation_rank") @ApiModelProperty(value = "认证级别") - @Dict(dicCode ="attestation_rank") + //@Dict(dicCode ="attestation_rank") private String attestationRank; + @TableField(exist = false) + private String attestationRank_dictText; //适用增补件 @Excel(name = "适用增补件", width = 20) @@ -160,8 +169,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**责任领域*/ @Excel(name = "责任领域", width = 20,dicCode ="duty_territory") @ApiModelProperty(value = "责任领域") - @Dict(dicCode ="duty_territory") + //@Dict(dicCode ="duty_territory") private String dutyTerritory; + @TableField(exist = false) + private String dutyTerritory_dictText; /**法规工程师id*/ @ApiModelProperty(value = "法规工程师id") @@ -198,10 +209,12 @@ public class ProjectLawsInventoryEO implements Serializable { /**设计符合性确认-交付物类型*/ @Excel(name = "设计符合性确认-交付物类型", width = 20,dicCode ="deliverable_template") @ApiModelProperty(value = "设计符合性确认-交付物类型") - @Dict(dicCode ="deliverable_template") + //@Dict(dicCode ="deliverable_template") private String designDeliverableType; @TableField(exist = false) private String designDeliverableTypeName; + @TableField(exist = false) + private String designDeliverableType_dictText; /**设计符合性确认-交付物模板*/ @ApiModelProperty(value = "设计符合性确认-交付物模板") @@ -214,8 +227,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**设计符合性确认-发起人角色*/ @ApiModelProperty(value = "设计符合性确认-发起人角色") - @Dict(dicCode ="fa1_qi3_ren2") + //@Dict(dicCode ="fa1_qi3_ren2") private String designInitiator; + @TableField(exist = false) + private String designInitiator_dictText; /**设计符合性确认-发起人id*/ //@TableField(updateStrategy = FieldStrategy.IGNORED) @@ -229,8 +244,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**设计符合性确认-责任人角色*/ @ApiModelProperty(value = "设计符合性确认-责任人角色") - @Dict(dicCode ="ze2_ren4_ren2") + //@Dict(dicCode ="ze2_ren4_ren2") private String designDuty; + @TableField(exist = false) + private String designDuty_dictText; /**设计符合性确认-责任人id*/ @ApiModelProperty(value = "设计符合性确认-责任人id") @@ -259,8 +276,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**prehomo确认-交付物类型*/ @Excel(name = "prehomo确认-交付物类型", width = 20,dicCode ="deliverable_template") @ApiModelProperty(value = "prehomo确认-1") - @Dict(dicCode ="deliverable_template") + ////@Dict(dicCode ="deliverable_template") private String prehomoDeliverableType; + @TableField(exist = false) + private String prehomoDeliverableType_dictText; @TableField(exist = false) private String prehomoDeliverableTypeName; @@ -275,8 +294,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**prehomo确认-发起人角色*/ @ApiModelProperty(value = "prehomo确认-发起人角色") - @Dict(dicCode ="fa1_qi3_ren2") + //@Dict(dicCode ="fa1_qi3_ren2") private String prehomoInitiator; + @TableField(exist = false) + private String prehomoInitiator_dictText; /**prehomo确认-发起人id*/ @ApiModelProperty(value = "prehomo确认-发起人id") @@ -290,8 +311,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**prehomo确认-责任人角色*/ @ApiModelProperty(value = "prehomo确认-责任人角色") - @Dict(dicCode ="ze2_ren4_ren2") + //@Dict(dicCode ="ze2_ren4_ren2") private String prehomoDuty; + @TableField(exist = false) + private String prehomoDuty_dictText; /**prehomo确认-责任人id*/ @ApiModelProperty(value = "prehomo确认-责任人id") @@ -320,8 +343,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**验证符合性确认-交付物类型*/ @Excel(name = "验证符合性确认-交付物类型", width = 20,dicCode ="deliverable_template") @ApiModelProperty(value = "验证符合性确认-交付物类型") - @Dict(dicCode ="deliverable_template") + //@Dict(dicCode ="deliverable_template") private String verifyDeliverableType; + @TableField(exist = false) + private String verifyDeliverableType_dictText; @TableField(exist = false) private String verifyDeliverableTypeName; @@ -336,8 +361,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**验证符合性确认-发起人角色*/ @ApiModelProperty(value = "验证符合性确认-发起人角色") - @Dict(dicCode ="fa1_qi3_ren2") + //@Dict(dicCode ="fa1_qi3_ren2") private String verifyInitiator; + @TableField(exist = false) + private String verifyInitiator_dictText; /**验证符合性确认-发起人id*/ @ApiModelProperty(value = "验证符合性确认-发起人id") @@ -351,8 +378,10 @@ public class ProjectLawsInventoryEO implements Serializable { /**验证符合性确认-责任人角色*/ @ApiModelProperty(value = "验证符合性确认-责任人角色") - @Dict(dicCode ="ze2_ren4_ren2") + //@Dict(dicCode ="ze2_ren4_ren2") private String verifyDuty; + @TableField(exist = false) + private String verifyDuty_dictText; /**验证符合性确认-责任人id*/ @ApiModelProperty(value = "验证符合性确认-责任人id") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEOEn.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEOEn.java index ce27d94d0..3c4dfea55 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEOEn.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEOEn.java @@ -71,7 +71,7 @@ public class ProjectLawsInventoryEOEn implements Serializable { private String serialNumber; /**标题*/ - @Excel(name = "title", width = 20) + @Excel(name = "Title", width = 20) @ApiModelProperty(value = "标题") private String title; @@ -101,7 +101,7 @@ public class ProjectLawsInventoryEOEn implements Serializable { /**适用地区*/ @ApiModelProperty(value = "适用地区") @Dict(dicCode ="Area") - @Excel(name = "Area", width = 15, dicCode = "region") + @Excel(name = "Area", width = 15) private String region; /**对应标准*/ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectTaskPlanningNameEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectTaskPlanningNameEnum.java index 68a77aaf5..e2ca5fee7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectTaskPlanningNameEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectTaskPlanningNameEnum.java @@ -1,13 +1,13 @@ package com.jero.modules.project.enums; public enum ProjectTaskPlanningNameEnum { - LIST_CONFIRMATION("法规清单确认"," Confirmation of regulations list"), - LEGAL_TASK_CONFIRMATION("法规任务确认","Regulatory task confirmation"), - DESIGN_DEADLINE("设计符合性确认","Design Compliance Check"), - PREHOMO_DEADLINE("Pre-Homo确认","Pre-Homo Check"), - ATTESTATION_START_TIME("认证开始","Certification start"), - ATTESTATION_END_TIME("认证结束"," Certification end"), - VERIFY_DEADLINE("验证符合性确认","Verification compliance confirmation deadline"), + LIST_CONFIRMATION("清单确认"," Checklist confirmation"), + LEGAL_TASK_CONFIRMATION("任务确认","Task confirmation"), + DESIGN_DEADLINE("设计符合性","Design compliance"), + PREHOMO_DEADLINE("Pre-Homo","Pre-Homo"), + ATTESTATION_START_TIME("认证开始","Certification begins"), + ATTESTATION_END_TIME("认证结束"," End of certification"), + VERIFY_DEADLINE("验证符合性","Verify compliance"), ; String name; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java index 65f095b9a..df6a21678 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/InventoryAffirmJob.java @@ -1,6 +1,8 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectNameInfoEO; @@ -71,7 +73,7 @@ public class InventoryAffirmJob implements Job { List projectLibraryBaseList = projectLibraryBaseMapper.selectList(queryWrapper); if(CollectionUtils.isNotEmpty(projectLibraryBaseList)){ - SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date currentDate = new Date(); @@ -134,54 +136,75 @@ public class InventoryAffirmJob implements Job { /*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务确认剩余处理时间还有3天,请及时查看处理";*/ // XXX . - String msgContentEN = "The remaining processing time for the regulation list confirmation of" - + projectNameInfoEO.getProjectName() + String msgContentEN = "The remaining processing time for the regulation list confirmation of " + + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName()+ " " + + projectLibraryBase.getTargetMarket() + " are 3 days. Please check and handle it in time."; - //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); - //系统内部跳转链接 - String href = "" + "Jump link" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); - - //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLibraryBase.getId(),sendMessageMap); - } - - if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ - currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); - - /*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务今天即将结束,请及时查看处理*/ - String msgContentEN = "The the regulation list confirmation for " - + projectNameInfoEO.getProjectName() - + " will expire today. Please check and address it in a timely manner."; + 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("Regulation List Confirmation"); + feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); //飞书跳转链接 String hrefFeishu = backUrl + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + + "&projectName=" + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName() + + "&targetMarket=" + projectLibraryBase.getTargetMarket(); //系统内部跳转链接 String href = "" + "Jump link" + ""; + String contentInfo = msgContentEN + " " + href; + Map sendMessageMap = new HashMap<>(); + sendMessageMap.put("hrefFeishu",hrefFeishu); + sendMessageMap.put("contentInfo",contentInfo); + + //发送消息 + projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLibraryBase.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); + } + + if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ + currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); + + /*String msgContentCN = "您" + projectLibraryBase.getProjectName() + "(项目名称)法规清单的任务今天即将结束,请及时查看处理*/ + String msgContentEN = "The regulation list confirmation for " + + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + + " will expire today. Please check and address it in a timely manner."; + + FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); + feishuMsgVo.setTaskType("Regulation List Confirmation"); + feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + + //飞书跳转链接 + String hrefFeishu = backUrl + + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName() + + "&targetMarket=" + projectLibraryBase.getTargetMarket(); + //系统内部跳转链接 + String href = "" + "Jump link" + ""; String contentInfo = msgContentEN + " " + href; Map sendMessageMap = new HashMap<>(); sendMessageMap.put("hrefFeishu",hrefFeishu); sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLibraryBase.getId(),sendMessageMap); + projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLibraryBase.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } } } 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 1b5f65d22..666963c52 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,9 +1,12 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; import com.jero.modules.project.enums.JumpLinkEnum; +import com.jero.modules.project.enums.MsgTypeEnum; import com.jero.modules.project.enums.SendMsgFlagEnum; import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; @@ -74,7 +77,7 @@ public class PrehomoJob implements Job { queryWrapper.lambda().in(ProjectLibraryBase::getId,projectLibraryIdList); List projectLibraryBaseList = projectLibraryBaseMapper.selectList(queryWrapper); if(CollectionUtils.isNotEmpty(projectLibraryBaseList)){ - SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date currentDate = new Date(); @@ -137,9 +140,17 @@ public class PrehomoJob implements Job { //您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() + + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName()+ " " + + projectLibraryBase.getTargetMarket() + " are 3 days. Please check and handle it in time."; + 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() @@ -157,7 +168,7 @@ public class PrehomoJob implements Job { sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap); + projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ @@ -166,9 +177,15 @@ public class PrehomoJob implements Job { //您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() + + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + " will expire today. Please check and address it in time."; + 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() @@ -186,7 +203,7 @@ public class PrehomoJob implements Job { sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap); + projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } } } 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 ec99745d8..a36d52eef 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,6 +1,8 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; import com.jero.modules.project.enums.JumpLinkEnum; @@ -73,7 +75,7 @@ public class VerifyComplianceJob implements Job { queryWrapper.lambda().in(ProjectLibraryBase::getId,projectLibraryIdList); List projectLibraryBaseList = projectLibraryBaseMapper.selectList(queryWrapper); if(CollectionUtils.isNotEmpty(projectLibraryBaseList)){ - SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date currentDate = new Date(); @@ -135,9 +137,17 @@ public class VerifyComplianceJob implements Job { //您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() + + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName()+ " " + + projectLibraryBase.getTargetMarket() + " are 3 days. Please check and handle it in time."; + 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() @@ -155,7 +165,7 @@ public class VerifyComplianceJob implements Job { sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap); + projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ @@ -164,9 +174,15 @@ public class VerifyComplianceJob implements Job { //您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() + + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + " will expire today. Please check and address it in time."; + 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() @@ -184,7 +200,7 @@ public class VerifyComplianceJob implements Job { sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap); + projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } } } 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 0259c57fd..204c55a73 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,6 +1,8 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; import com.jero.modules.project.enums.JumpLinkEnum; @@ -73,7 +75,7 @@ public class designComplianceJob implements Job { queryWrapper.lambda().in(ProjectLibraryBase::getId,projectLibraryIdList); List projectLibraryBaseList = projectLibraryBaseMapper.selectList(queryWrapper); if(CollectionUtils.isNotEmpty(projectLibraryBaseList)){ - SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date currentDate = new Date(); @@ -137,8 +139,16 @@ public class designComplianceJob implements Job { //您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."; + 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(); //系统内部跳转链接 @@ -151,17 +161,23 @@ public class designComplianceJob implements Job { sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap); + projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); //您XXX(项目名称)中GB 7258的设计符合性确认任务今天即将结束,请及时查看处理 - String msgContentEN = "The the design compliance confirmation for " + String msgContentEN = "The design compliance confirmation of " + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + " will expire today. Please check and address it in time."; + 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() @@ -179,7 +195,7 @@ public class designComplianceJob implements Job { sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap); + projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml index 2ab452dd2..7bfe89213 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectRelatedPersonnelMapper.xml @@ -44,7 +44,7 @@ AND sd.dict_code = #{dictCode} - ORDER BY sdi.sort_order + ORDER BY sdi.item_text ASC