合并分支 'master' 到 'dev_third_stage'

Master

查看合并请求 laws-nio/laws-weilai!59
This commit is contained in:
李雪涛
2022-07-09 11:16:36 +08:00
39 changed files with 1066 additions and 439 deletions
@@ -17,4 +17,22 @@ MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4
UPDATE `laws_weilai`.`onl_cgform_field` SET `id`='e4fe526794af4477321227f69b764b0d', `cgform_head_id`='48308196e7b04761b533dc31bc899707', `db_field_name`='description', `db_field_en_name`='Description', `db_field_txt`='描述', `order_num`='9', `db_field_name_old`=NULL, `db_is_key`='0', `db_is_null`='1', `db_type`='string', `db_length`='1000', `db_point_length`='0', `db_default_val`='', `dict_field`='', `dict_table`='', `dict_text`='', `field_show_type`='8', `field_href`='', `field_length`='120', `field_valid_type`=NULL, `field_must_input`='0', `field_extend_json`='', `field_default_value`='', `is_query`='0', `is_show_form`='1', `is_show_list`='0', `is_read_only`='0', `query_mode`='single', `main_table`='', `main_field`='', `update_by`='admin', `update_time`='2022-06-06 16:05:28', `create_time`='2022-01-21 14:41:40', `create_by`='admin', `converter`='', `query_def_val`='', `query_dict_text`='', `query_dict_field`='', `query_dict_table`='', `query_show_type`='text', `query_config_flag`='0', `query_valid_type`=NULL, `query_must_input`=NULL, `sort_flag`='0', `show_area`='1499657602378825729', `is_show_laws_list`='0', `is_show_search`='0', `is_delete`='0', `is_model`='1', `dict_id`=NULL WHERE (`id`='e4fe526794af4477321227f69b764b0d');
-- 2022年7月4日部署到正式环境
-- 2022年7月4日部署到正式环境
-- 2022年7月8日增加字段 未同步正式环境
ALTER TABLE `project_laws_inventory`
ADD COLUMN `stand_id` varchar(100) NULL COMMENT '文档库id/标准id' AFTER `file_id`;
ALTER TABLE `project_task_inventory`
ADD COLUMN `stand_id` varchar(100) NULL COMMENT '文档库id/标准id' AFTER `process_end_time`;
-- 2022年7月8日增加字段
ALTER TABLE `dummy_inventory_info`
ADD COLUMN `buss_document_library_id` varchar(32) NULL COMMENT '文档库id' AFTER `design_remark`;
-- 2022年7月8日法规清单交付物类型字段长度
ALTER TABLE `project_laws_inventory`
MODIFY COLUMN `design_deliverable_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设计符合性确认-交付物类型' AFTER `remark`,
MODIFY COLUMN `prehomo_deliverable_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'prehomo确认-交付物类型' AFTER `design_due_date`,
MODIFY COLUMN `verify_deliverable_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证符合性确认-交付物类型' AFTER `prehomo_due_date`;
@@ -10,7 +10,18 @@ public enum MessageTypeEnum {
WARN("Early Warning","2"),
PUSH("Share / Forward","3"),
HOMO_TASK("Homo Parameter Task","4"),
TASK("Regulation Compliance Task", "5");
TASK("Regulation Compliance Task", "5"),
REGULATION_LIST_CONFIRMATION_TASK("Regulation List Confirmation Task", "6"), // 清单确认任务
REGULATION_LIST_CONFIRMATION_NOTIFICATION("Regulation List Confirmation Notification", "7"), // 清单确认通知
REGULATION_TASK_CONFIRMATION_TASK("Regulation Task Confirmation", "8"), // 任务确认任务
REGULATION_TASK_CONFIRMATION_NOTIFICATION("Regulation Task Confirmation Notification", "15"), // 任务确认通知
DESIGN_COMPLIANCE_TASK("Design Compliance Task", "9"), // 设计符合性任务
PRE_HOMO_TASK("Pre-Homo Task", "10"), // Pre-Homo任务
VALIDATION_TASK("Validation Task", "11"), // 验证符合性任务
DESIGN_COMPLIANCE_NOTIFICATION("Design Compliance Notification", "12"), // 设计符合性通知
PRE_HOMO_NOTIFICATION("Pre-Homo Notification", "13"), // Pre-Homo通知
VALIDATION_COMPLIANCE_NOTIFICATION("Validation Compliance Notification", "14"), // 验证符合性通知
;
String name;
String value;
@@ -1,7 +1,12 @@
package com.jero.config.init;
import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.apache.tomcat.util.scan.StandardJarScanner;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -13,6 +18,7 @@ import org.springframework.context.annotation.Configuration;
*/
@Configuration
public class TomcatFactoryConfig {
/**
* tomcat-embed-jasper引用后提示jar找不到的问题
*/
@@ -30,4 +36,41 @@ public class TomcatFactoryConfig {
});
return factory;
}
//TODO 配置https证书 部署服务器的时候解开。
/* @Value("${server.port-https}")
private String serverPortHttp;
@Value("${server.port}")
private String serverPortHttps;
@Bean
public TomcatServletWebServerFactory tomcatFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
SecurityConstraint securityConstraint = new SecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollection securityCollection = new SecurityCollection();
securityCollection.addPattern("/*");
securityConstraint.addCollection(securityCollection);
context.addConstraint(securityConstraint);
}
};
factory.addConnectorCustomizers(connector -> {
connector.setProperty("relaxedPathChars", "[]{}");
connector.setProperty("relaxedQueryChars", "[]{}");
});
factory.addAdditionalTomcatConnectors(redirectConnector());
return factory;
}
private Connector redirectConnector() {
Connector connector = new Connector(Http11NioProtocol.class.getName());
connector.setScheme("http");
connector.setPort(Integer.parseInt(serverPortHttp));
connector.setSecure(false);
connector.setRedirectPort(Integer.parseInt(serverPortHttps));
return connector;
}*/
}
@@ -67,6 +67,7 @@ import com.jero.modules.system.service.ISysDepartService;
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.PDFUtils;
import com.jero.modules.system.util.StringUtils;
import com.jero.modules.tag.entity.OnlCgformArea;
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
@@ -3882,6 +3883,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
*/
@Override
public void exportExcel(Map<String, Object> map, HttpServletResponse response, HttpServletRequest request) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String cut = (String) map.get("cut");
//String flag = "file"为带文件导出标识
String flag = (String) map.get("flag");
@@ -3997,6 +3999,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
boolean b = CosBootUtil.doesObjectExist(url);
if(b){
InputStream download = CosBootUtil.download(url);
if(url.endsWith(".pdf") || url.endsWith(".PDF")){
String currentTime = sdf.format(new Date());
String waterContent = loginUser.getUsername() + " " + currentTime;
File newFile = PDFUtils.PDFWatermark(download,uploadpath,ossFile.getFileName(),waterContent);
download = new FileInputStream(newFile.getPath());
}
copyFile(download, fileNowPath + File.separator + ossFile.getFileName());
}
}
@@ -4026,6 +4034,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
IOUtils.closeQuietly(os);
File file = new File(uploadpath + "/tempZip");
FileUtil.deleteContents(file);
File fileTemp = new File(uploadpath + "/tempZip.zip");
FileUtil.deleteContents(fileTemp);
}
}
@@ -284,6 +284,9 @@ public class DummyInventoryInfoEO implements Serializable {
@TableField(exist = false)
private Integer pageSize;
//文档库id
private String bussDocumentLibraryId;
@@ -40,5 +40,6 @@
<result column="verify_remark" property="verifyRemark" />
<result column="prehomo_remark" property="prehomoRemark" />
<result column="design_remark" property="designRemark" />
<result column="buss_document_library_id" property="bussDocumentLibraryId" />
</resultMap>
</mapper>
@@ -156,6 +156,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
dummyInventoryInfoEOTemp.setDummyInventoryBaseId(dummyInventoryInfoEO.getDummyInventoryBaseId());
dummyInventoryInfoEOTemp.setCreateTime(new Date());
dummyInventoryInfoEOTemp.setUpdateTime(new Date());
dummyInventoryInfoEOTemp.setBussDocumentLibraryId(bussDocumentLibraryEO.getId());
list.add(dummyInventoryInfoEOTemp);
}
this.saveBatch(list);
@@ -725,16 +726,16 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
explain = "填写说明\n" +
"1.导入数据从第四行开始\n" +
"2.所有带*号的字段必须填写\n"+
"3.认证类型,认证级别,实施类别,交付物类型,发起人,责任人,字段是单选属性,必须和系统中的对应字段选项相匹配\n" +
"4.责任领域,字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" +
"3.实施类别,交付物类型,发起人,责任人,字段是单选属性,必须和系统中的对应字段选项相匹配\n" +
"4.认证类型,认证级别,责任领域,字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" +
"5.编号,子标题,WVTA ID,备注,填写文本内容\n" +
"6.交付物模板字段为文件属性,填写时需要在本文件同级目录下以标准号为名称建立文件夹,并在文件夹下放置文件,假设在AAA标准号下放置了B.docx,则应填写AAA/B.docx";
}else{
explain = "Filling explanation\n" +
"1.Import data starts at the fourth line\n" +
"2.All fields marked with * must be filled in\n"+
"3.Certification Type,Certification Level,implementation category,type of deliverables,initiator,person liable,Fields are radio attributes that must match the corresponding field option in the system\n" +
"4.Responsible Field, field is a multi-select attribute and must match the corresponding field in the system. If multiple fields are filled in, separate them by commas (,)\n" +
"3.Implementation category,Type of deliverables,Initiator,Person liable,Fields are radio attributes that must match the corresponding field option in the system\n" +
"4.Certification Type,Certification Level,Responsible Field, field is a multi-select attribute and must match the corresponding field in the system. If multiple fields are filled in, separate them by commas (,)\n" +
"5.Number,Sub-Title,WVTA ID,Comments,Fill in the text\n" +
"6.Deliverable template,When filling in the field, you need to create a folder in the directory of the same level as the file with the name of the standard number and place the file in the folder. If b. diocx is stored under the AAA standard number, enter AAA/B. diocx";
}
@@ -1298,10 +1299,10 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
dummyInventoryInfoEO.setAttestationType(value);
}
//认证级别(选必填)
//认证级别(选必填)
flag = must(dummyInventoryInfoEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level");
if(flag){
value = pullSingle(dictItemList, dummyInventoryInfoEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank");
value = pullMore(dictItemList, dummyInventoryInfoEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank");
if(StringUtils.isNotBlank(value)){
dummyInventoryInfoEO.setAttestationRank(value);
}
@@ -465,5 +465,7 @@ public class ProjectLawsInventoryEO implements Serializable {
@ApiModelProperty(value = "报告id")
private String fileId;
@ApiModelProperty(value = "文档库id/标准id")
private String standId;
}
@@ -4,6 +4,7 @@ import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
@@ -307,4 +308,33 @@ public class ProjectTaskInventoryEO implements Serializable {
/**法规清单创建日期,任务清单中需要根据此字段进行倒序排序**/
@TableField(exist = false)
private Date lawsInventoryCreateTime;
@ApiModelProperty(value = "文档库id/标准id")
private String standId;
/**法规清单id数组 查询使用**/
@TableField(exist = false)
private List<String> projectLawsInventoryIdList;
//设计符合性确认-发起人id
@TableField(exist = false)
private String designInitiatorId;
//验证符合性确认-发起人id
@TableField(exist = false)
private String verifyInitiatorId;
//prehomo确认-发起人id
@TableField(exist = false)
private String prehomoInitiatorId;
//设计符合性 - 责任人id
@TableField(exist = false)
private String designDutyId;
//验证符合性确认-责任人id
@TableField(exist = false)
private String verifyDutyId;
//prehomo确认-责任人id
@TableField(exist = false)
private String prehomoDutyId;
}
@@ -161,14 +161,14 @@ public class InventoryAffirmJob implements Job {
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLibraryBase.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLibraryBase.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_LIST_CONFIRMATION_TASK);
}
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
@@ -198,13 +198,13 @@ public class InventoryAffirmJob implements Job {
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLibraryBase.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLibraryBase.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_LIST_CONFIRMATION_TASK);
}
}
}
@@ -161,14 +161,14 @@ public class PrehomoJob implements Job {
String href = "<a href='"
+ JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType()
+ "&projectName=" + projectNameInfoEO.getProjectName()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.PRE_HOMO_TASK);
}
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
@@ -196,14 +196,14 @@ public class PrehomoJob implements Job {
String href = "<a href='"
+ JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType()
+ "&projectName=" + projectNameInfoEO.getProjectName()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.PRE_HOMO_TASK);
}
}
}
@@ -158,14 +158,14 @@ public class VerifyComplianceJob implements Job {
String href = "<a href='"
+ JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType()
+ "&projectName=" + projectNameInfoEO.getProjectName()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.VALIDATION_TASK);
}
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
@@ -193,14 +193,14 @@ public class VerifyComplianceJob implements Job {
String href = "<a href='"
+ JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType()
+ "&projectName=" + projectNameInfoEO.getProjectName()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.VALIDATION_TASK);
}
}
}
@@ -154,14 +154,14 @@ public class designComplianceJob implements Job {
//系统内部跳转链接
String href = "<a href='"
+ JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.DESIGN_COMPLIANCE_TASK);
}
if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){
@@ -188,14 +188,14 @@ public class designComplianceJob implements Job {
String href = "<a href='"
+ JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType()
+ "&projectName=" + projectNameInfoEO.getProjectName()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
projectLawsInventoryEOService.sendMessage(msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.DESIGN_COMPLIANCE_TASK);
}
}
}
@@ -76,4 +76,11 @@ public interface ProjectTaskInventoryEOMapper extends BaseMapper<ProjectTaskInve
*/
List<Map<String, Object>> getCertificationProgressStatisticsGroupByTerritory(@Param("projectLawsInventoryIdList") List<String> projectLawsInventoryIdList,
@Param("certificationProgress") String certificationProgress);
/**
* 查询任务清单列表
* @param projectTaskInventoryEO
* @return
*/
List<ProjectTaskInventoryEO> selectProjectTaskInventoryList(@Param("projectTaskInventoryEO") ProjectTaskInventoryEO projectTaskInventoryEO);
}
@@ -19,6 +19,13 @@
<result column="project_status_assess" property="projectStatusAssess" />
</resultMap>
<sql id="Base_Column_List" >
pti.id, pti.create_by,pti.create_time,pti.update_by,pti.update_time,pti.sys_org_code,pti.project_laws_inventory_id,pti.design_status,pti.design_flow_task_status,pti.design_p_id,pti.prehomo_status,
pti.prehomo_flow_task_status,pti.prehomo_p_id,pti.verify_status,pti.verify_flow_task_status,pti.verify_p_id,pti.certification_progress,pti.certification_progress_remark,pti.project_status_assess,
pti.design_send_msg_flag,pti.design_send_msg_current_flag,pti.prehomo_send_msg_flag,pti.prehomo_send_msg_current_flag,pti.verify_send_msg_flag,pti.verify_send_msg_current_flag,
pti.design_person_charge_feedback,pti.prehomo_person_charge_feedback,pti.verify_person_charge_feedback,pti.process_end_time
</sql>
<select id="getCertificationProgressStatistics" resultType="hashmap">
select
count(certification_progress) as "certificationProgressCount",
@@ -150,4 +157,27 @@
and pti.certification_progress = #{certificationProgress}
group by pli.duty_territory;
</select>
<select id="selectProjectTaskInventoryList" resultMap="ProjectTaskInventoryEOResultMap">
select
<include refid="Base_Column_List"/>
from
project_task_inventory pti
left join
project_task_inventory_condition_assessment ptica on pti.id = ptica.project_laws_inventory_id
<where>
<if test="projectTaskInventoryEO.certificationProgress != null and projectTaskInventoryEO.certificationProgress != '' ">
pti.certification_progress = #{projectTaskInventoryEO.certificationProgress}
</if>
<if test="projectTaskInventoryEO.projectLawsInventoryIdList != null ">
and pti.project_laws_inventory_id in
<foreach collection="projectTaskInventoryEO.projectLawsInventoryIdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="projectTaskInventoryEO.projectStatusAssess != null and projectTaskInventoryEO.projectStatusAssess != '' ">
ptica.condition_assessment = #{projectTaskInventoryEO.projectStatusAssess}
</if>
</where>
</select>
</mapper>
@@ -5,6 +5,8 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity. ConditionAssessmentEO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import java.util.List;
import java.util.Map;
@@ -75,7 +77,7 @@ public interface IConditionAssessmentEOService extends IService<ConditionAssessm
* @param roleCode
* @return
*/
ConditionAssessmentEO getProjectStatusAssess(String projectLawsInventoryId, String roleCode, LoginUser currentUser);
ConditionAssessmentEO getProjectStatusAssess(String projectLawsInventoryId, String roleCode, LoginUser currentUser, ProjectTaskInventoryEO projectTaskInventory);
/**
* studio视角下获取项目状态评估
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.enums.ProjectRoleEnum;
import com.jero.modules.project.mapper.ConditionAssessmentEOMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
@@ -144,11 +145,14 @@ public class ConditionAssessmentEOServiceImpl extends ServiceImpl<ConditionAsses
* @return
*/
@Override
public ConditionAssessmentEO getProjectStatusAssess(String projectLawsInventoryId, String roleCode,LoginUser currentUser) {
public ConditionAssessmentEO getProjectStatusAssess(String projectLawsInventoryId, String roleCode, LoginUser currentUser, ProjectTaskInventoryEO projectTaskInventory) {
ConditionAssessmentEO result = null;
QueryWrapper<ConditionAssessmentEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ConditionAssessmentEO::getProjectLawsInventoryId,projectLawsInventoryId);
if(StringUtils.isNotEmpty(projectTaskInventory.getProjectStatusAssess())){
queryWrapper.lambda().eq(ConditionAssessmentEO::getConditionAssessment,projectTaskInventory.getProjectStatusAssess());
}
if(StringUtils.equals(roleCode,ProjectRoleEnum.REGULATI_ENGINEER.getValue()) || StringUtils.equals(roleCode,ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue())){
queryWrapper.lambda().eq(ConditionAssessmentEO::getCreateBy,currentUser.getUsername());
@@ -245,6 +245,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectLawsInventoryEOTemp.setId(UUID.randomUUID().toString().replace("-", ""));
projectLawsInventoryEOTemp.setTaskAffirmStatus(TaskAffirmStatusEnum.NOT_STARTED.getValue());
projectLawsInventoryEOTemp.setInventoryAffirmStatus(InventoryAffirmStatusEnum.NOT_STARTED.getValue());
projectLawsInventoryEOTemp.setStandId(dummyInventoryInfoEO.getBussDocumentLibraryId());
projectLawsInventoryEOS.add(projectLawsInventoryEOTemp);
}
}else{
@@ -266,6 +267,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectLawsInventoryEOTemp.setId(UUID.randomUUID().toString().replace("-", ""));
projectLawsInventoryEOTemp.setTaskAffirmStatus(TaskAffirmStatusEnum.NOT_STARTED.getValue());
projectLawsInventoryEOTemp.setInventoryAffirmStatus(InventoryAffirmStatusEnum.NOT_STARTED.getValue());
projectLawsInventoryEOTemp.setStandId(dummyInventoryInfoEO.getBussDocumentLibraryId());
projectLawsInventoryEOS.add(projectLawsInventoryEOTemp);
}
}
@@ -280,6 +282,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryEO.setId(projectTaskInventoryId);
projectTaskInventoryEO.setProjectLawsInventoryId(lawsInventory.getId());
projectTaskInventoryEO.setStandId(lawsInventory.getStandId());
projectTaskInventoryEOList.add(projectTaskInventoryEO);
});
@@ -334,6 +337,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
List<ProjectLawsInventoryEO> list = new ArrayList<>();
for (BussDocumentLibraryEO bussDocumentLibraryEO : bussDocumentLibraryEOList) {
String standId = bussDocumentLibraryEO.getId();
ProjectLawsInventoryEO projectLawsInventoryTemp = new ProjectLawsInventoryEO();
BeanUtils.copyProperties(bussDocumentLibraryEO, projectLawsInventoryTemp);
String projectLawsInventoryId = UUID.randomUUID().toString().replace("-", "");
@@ -343,12 +348,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectLawsInventoryTemp.setUpdateTime(new Date());
projectLawsInventoryTemp.setTaskAffirmStatus(TaskAffirmStatusEnum.NOT_STARTED.getValue());
projectLawsInventoryTemp.setInventoryAffirmStatus(InventoryAffirmStatusEnum.NOT_STARTED.getValue());
projectLawsInventoryTemp.setStandId(standId);
list.add(projectLawsInventoryTemp);
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryEO.setId(projectTaskInventoryId);
projectTaskInventoryEO.setProjectLawsInventoryId(projectLawsInventoryId);
projectTaskInventoryEO.setStandId(standId);
projectTaskInventoryEOList.add(projectTaskInventoryEO);
}
super.saveBatch(list);
@@ -1361,14 +1368,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_LIST_CONFIRMATION_TASK);
}
result = "发起清单确认";
@@ -1491,7 +1498,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
@@ -1500,7 +1507,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//发送消息
List<String> userIdList = new ArrayList<>();
userIdList.add(projectLibraryBase.getStudioEngineer());
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_LIST_CONFIRMATION_TASK);
}
if(isProjectRole == Integer.parseInt(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue()) || isProjectRole == Integer.parseInt(ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue())){
@@ -1529,7 +1536,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
@@ -1538,7 +1545,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//发送消息
List<String> userIdList = new ArrayList<>();
userIdList.add(projectLibraryBase.getStudioEngineer());
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_LIST_CONFIRMATION_TASK);
}
}
@@ -1577,7 +1584,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
@@ -1586,7 +1593,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//发送消息
List<String> userIdList = new ArrayList<>();
userIdList.add(projectLibraryBase.getStudioEngineer());
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_LIST_CONFIRMATION_NOTIFICATION);
}
}
}
@@ -2001,6 +2008,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
if(CollectionUtils.isNotEmpty(projectLawsInventoryEOList)){
int isProjectRole = checkUserRole(byId.getProjectLibraryId(), currentUser.getId(), id);
dataDispose(projectLawsInventoryEOList,currentUser,isProjectRole,cut);
dataDictDispose(projectLawsInventoryEOList,cut);
//result.put("projectLawsInventory",projectLawsInventoryEOList.get(0));
/*if (StringUtils.equals(operatorType, OperatorTypeEnum.TASK_AFFIRM_QUERY.getValue())) {
@@ -2082,7 +2090,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
msgContentEN = sysUser.getUsername() + " has assigned the regulation task confirmation of " + serialNumber + " in "+ projectNameInfoEO.getProjectName()
+ ".to you. the due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
feishuMsgVo.setContent("Hello! " + sysUser.getUsername() + " has rejected the task. Please check and and handle it in time.");
feishuMsgVo.setContent("Hello! " + sysUser.getUsername() + " has assigned the task. Please check and and handle it in time.");
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())) {
userIdList.add(engineeringInterfacePerson);
@@ -2113,14 +2121,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
+ JumpLinkEnum.TASK_AFFIRM_LINK.getLink();
//系统内部跳转链接
String href = "<a href='" + JumpLinkEnum.TASK_AFFIRM_LINK.getLink() + "'>" + "Jump link" + "</a>";
String href = "<a href='" + JumpLinkEnum.TASK_AFFIRM_LINK.getLink() + "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
sendMessage(msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
sendMessage(msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_TASK_CONFIRMATION_TASK);
}
}
@@ -3300,16 +3308,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
explain = "填写说明\n" +
"1.导入数据从第四行开始\n" +
"2.所有带*号的字段必须填写\n"+
"3.认证类型,认证级别,实施类别,交付物类型,发起人,责任人,字段是单选属性,必须和系统中的对应字段选项相匹配\n" +
"4.责任领域,字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" +
"3.实施类别,交付物类型,发起人,责任人,字段是单选属性,必须和系统中的对应字段选项相匹配\n" +
"4.认证类型,认证级别,责任领域,字段是多选属性,必须和系统中的对应字段选项相匹配,填写多个时采用英文或中文逗号分割\n" +
"5.编号,子标题,WVTA ID,备注,填写文本内容\n" +
"6.交付物模板字段为文件属性,填写时需要在本文件同级目录下以标准号为名称建立文件夹,并在文件夹下放置文件,假设在AAA标准号下放置了B.docx,则应填写AAA/B.docx";
}else{
explain = "Filling explanation\n" +
"1.Import data starts at the fourth line\n" +
"2.All fields marked with * must be filled in\n"+
"3.Certification type,Certification Level,Usage,type of deliverables,initiator,person liable,Fields are radio attributes that must match the corresponding field option in the system\n" +
"4.Responsible Field, field is a multi-select attribute and must match the corresponding field in the system. If multiple fields are filled in, separate them by commas (,)\n" +
"3.Usage,Type of deliverables,Initiator,Person liable,Fields are radio attributes that must match the corresponding field option in the system\n" +
"4.Certification type,Certification Level,Responsible Field, field is a multi-select attribute and must match the corresponding field in the system. If multiple fields are filled in, separate them by commas (,)\n" +
"5.Number,Sub-Title,WVTA ID,Comments,Fill in the text\n" +
"6.Deliverable template,When filling in the field, you need to create a folder in the directory of the same level as the file with the name of the standard number and place the file in the folder. If b. diocx is stored under the AAA standard number, enter AAA/B. diocx";
}
@@ -3856,13 +3864,22 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>();
idList.forEach(id -> {
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.baseMapper.selectList(updateLawsInventoryWrapper);
projectLawsInventoryEOList.forEach(projectLawsInventory -> {
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryEO.setId(projectTaskInventoryId);
projectTaskInventoryEO.setProjectLawsInventoryId(projectLawsInventory.getId());
projectTaskInventoryEO.setStandId(projectLawsInventory.getStandId());
projectTaskInventoryEOList.add(projectTaskInventoryEO);
});
/*idList.forEach(id -> {
ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO();
String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryEO.setId(projectTaskInventoryId);
projectTaskInventoryEO.setProjectLawsInventoryId(id);
projectTaskInventoryEOList.add(projectTaskInventoryEO);
});
});*/
//项目任务清单数据初始化
this.projectTaskInventoryEOService.deleteByProjectLawsInventoryIds(idList);
this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOList);
@@ -4039,10 +4056,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectLawsInventoryEO.setAttestationType(value);
}
//认证级别(选必填)
//认证级别(选必填)
flag = must(projectLawsInventoryEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level");
if(flag){
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank");
value = pullMore(dictItemList, projectLawsInventoryEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank");
if(StringUtils.isNotBlank(value)){
projectLawsInventoryEO.setAttestationRank(value);
}
@@ -4992,14 +5009,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.SUBTITLE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
List<String> listEn = Arrays.asList(infoDiffEn.get("subtitle").split(","));
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.SUBTITLE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
if(StringUtils.isNotBlank(infoDiffEn.get("subtitle"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("subtitle").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.SUBTITLE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//WVTA ID
if (StringUtils.isNotBlank(infoDiff.get("wvtaId"))) {
List<String> list = Arrays.asList(infoDiff.get("wvtaId").split(","));
@@ -5007,13 +5026,16 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.WVTA_ID.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("wvtaId"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("wvtaId").split(","));
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.WVTA_ID.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.WVTA_ID.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
}
//实施类别
if (StringUtils.isNotBlank(infoDiff.get("implementType"))) {
@@ -5022,394 +5044,473 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.IMPLEMENT_TYPE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("implementType"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("implementType").split(","));
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.IMPLEMENT_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.IMPLEMENT_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
}
//在产车实施日期
if (StringUtils.isNotBlank(infoDiff.get("implementTimeString"))) {
List<String> list = Arrays.asList(infoDiff.get("implementTimeString").split(","));
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
List<String> listEn = Arrays.asList(infoDiffEn.get("implementTimeString").split(","));
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.IMPLEMENT_TIME.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
enContentLog += "'"+ProjectInventoryFieldEnum.IMPLEMENT_TIME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.IMPLEMENT_TIME.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(StringUtils.isNotBlank(infoDiffEn.get("implementTimeString"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("implementTimeString").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.IMPLEMENT_TIME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//新车型实施日期
if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String"))) {
List<String> list = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("xin1Che1Xing2Shi2Shi1Ri4Qi1String").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.XIN1_CHE1_XING2_SHI2_SHI1_RI4_QI1.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//认证类型
if (StringUtils.isNotBlank(infoDiff.get("attestationType"))) {
List<String> list = Arrays.asList(infoDiff.get("attestationType").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("attestationType").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.ATTESTATION_TYPE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.ATTESTATION_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("attestationType"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("attestationType").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.ATTESTATION_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//认证级别
if (StringUtils.isNotBlank(infoDiff.get("attestationRank"))) {
List<String> list = Arrays.asList(infoDiff.get("attestationRank").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("attestationRank").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.ATTESTATION_RANK.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.ATTESTATION_RANK.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("attestationRank"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("attestationRank").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.ATTESTATION_RANK.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//责任领域
if (StringUtils.isNotBlank(infoDiff.get("dutyTerritory"))) {
List<String> list = Arrays.asList(infoDiff.get("dutyTerritory").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("dutyTerritory").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.DUTY_TERRITORY.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DUTY_TERRITORY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("dutyTerritory"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("dutyTerritory").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DUTY_TERRITORY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//regulationOwnerName;//法规工程师名称
if (StringUtils.isNotBlank(infoDiff.get("regulationOwnerName"))) {
List<String> list = Arrays.asList(infoDiff.get("regulationOwnerName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("regulationOwnerName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.REGULATION_OWNER_NAME.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.REGULATION_OWNER_NAME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("regulationOwnerName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("regulationOwnerName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.REGULATION_OWNER_NAME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//homologationEngineerName;//认证工程师名称
if (StringUtils.isNotBlank(infoDiff.get("homologationEngineerName"))) {
List<String> list = Arrays.asList(infoDiff.get("homologationEngineerName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("homologationEngineerName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.HOMOLOGATION_ENGINEER_NAME.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.HOMOLOGATION_ENGINEER_NAME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("homologationEngineerName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("homologationEngineerName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.HOMOLOGATION_ENGINEER_NAME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//engineeringInterfacePersonName;//工程接口人名称
if (StringUtils.isNotBlank(infoDiff.get("engineeringInterfacePersonName"))) {
List<String> list = Arrays.asList(infoDiff.get("engineeringInterfacePersonName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("engineeringInterfacePersonName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.ENGINEERING_INTERFACE_PERSON_NAME.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.ENGINEERING_INTERFACE_PERSON_NAME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("engineeringInterfacePersonName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("engineeringInterfacePersonName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.ENGINEERING_INTERFACE_PERSON_NAME.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//适用地区region 多选
if (StringUtils.isNotBlank(infoDiff.get("region"))) {
List<String> list = Arrays.asList(infoDiff.get("region").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("region").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.REGION.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.REGION.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("region"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("region").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.REGION.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//备注
if (StringUtils.isNotBlank(infoDiff.get("remark"))) {
List<String> list = Arrays.asList(infoDiff.get("remark").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("remark").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.REMARK.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.REMARK.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("remark"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("remark").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.REMARK.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//设计符合性确认-交付物类型
if (StringUtils.isNotBlank(infoDiff.get("designDeliverableTypeName"))) {
List<String> list = Arrays.asList(infoDiff.get("designDeliverableTypeName").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("designDeliverableTypeName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DELIVERABLE_TYPE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DELIVERABLE_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("designDeliverableTypeName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("designDeliverableTypeName").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DELIVERABLE_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//设计符合性确认-交付物模板
if (StringUtils.isNotBlank(infoDiff.get("designDeliverableTemplateName"))) {
List<String> list = Arrays.asList(infoDiff.get("designDeliverableTemplateName").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("designDeliverableTemplateName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DELIVERABLE_TEMPLATE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DELIVERABLE_TEMPLATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("designDeliverableTemplateName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("designDeliverableTemplateName").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DELIVERABLE_TEMPLATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//设计符合性确认-发起人
if (StringUtils.isNotBlank(infoDiff.get("designInitiatorName"))) {
List<String> list = Arrays.asList(infoDiff.get("designInitiatorName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("designInitiatorName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.DESIGN_INITIATOR.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_INITIATOR.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("designInitiatorName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("designInitiatorName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_INITIATOR.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//设计符合性确认-责任人
if (StringUtils.isNotBlank(infoDiff.get("designDutyName"))) {
List<String> list = Arrays.asList(infoDiff.get("designDutyName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("designDutyName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUTY.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUTY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("designDutyName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("designDutyName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUTY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//设计符合性确认-截止时间designDueDateString;
if (StringUtils.isNotBlank(infoDiff.get("designDueDateString"))) {
List<String> list = Arrays.asList(infoDiff.get("designDueDateString").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("designDueDateString").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("designDueDateString"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("designDueDateString").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//prehomo确认-交付物类型
if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableTypeName"))) {
List<String> list = Arrays.asList(infoDiff.get("prehomoDeliverableTypeName").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDeliverableTypeName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DELIVERABLE_TYPE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DELIVERABLE_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("prehomoDeliverableTypeName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDeliverableTypeName").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DELIVERABLE_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//prehomo确认-交付物模板
if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableTemplateName"))) {
List<String> list = Arrays.asList(infoDiff.get("prehomoDeliverableTemplateName").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDeliverableTemplateName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DELIVERABLE_TEMPLATE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DELIVERABLE_TEMPLATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("prehomoDeliverableTemplateName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDeliverableTemplateName").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DELIVERABLE_TEMPLATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//prehomo确认-发起人
if (StringUtils.isNotBlank(infoDiff.get("prehomoInitiatorName"))) {
List<String> list = Arrays.asList(infoDiff.get("prehomoInitiatorName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoInitiatorName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_INITIATOR.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_INITIATOR.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("prehomoInitiatorName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoInitiatorName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_INITIATOR.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//prehomo确认-责任人
if (StringUtils.isNotBlank(infoDiff.get("prehomoDutyName"))) {
List<String> list = Arrays.asList(infoDiff.get("prehomoDutyName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDutyName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DUTY.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DUTY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("prehomoDutyName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDutyName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.PREHOMO_DUTY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//prehomo确认-截止时间prehomoDueDateString;
if (StringUtils.isNotBlank(infoDiff.get("prehomoDueDateString"))) {
List<String> list = Arrays.asList(infoDiff.get("prehomoDueDateString").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDueDateString").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("prehomoDueDateString"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("prehomoDueDateString").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//验证符合性确认-交付物类型
if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableTypeName"))) {
List<String> list = Arrays.asList(infoDiff.get("verifyDeliverableTypeName").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDeliverableTypeName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DELIVERABLE_TYPE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DELIVERABLE_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("verifyDeliverableTypeName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDeliverableTypeName").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DELIVERABLE_TYPE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//验证符合性确认-交付物模板
if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableTemplateName"))) {
List<String> list = Arrays.asList(infoDiff.get("verifyDeliverableTemplateName").split("\\|"));
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDeliverableTemplateName").split("\\|"));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DELIVERABLE_TEMPLATE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DELIVERABLE_TEMPLATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("verifyDeliverableTemplateName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDeliverableTemplateName").split("\\|"));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DELIVERABLE_TEMPLATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//验证符合性确认-发起人
if (StringUtils.isNotBlank(infoDiff.get("verifyInitiatorName"))) {
List<String> list = Arrays.asList(infoDiff.get("verifyInitiatorName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyInitiatorName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.VERIFY_INITIATOR.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_INITIATOR.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("verifyInitiatorName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyInitiatorName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_INITIATOR.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//验证符合性确认-责任人
if (StringUtils.isNotBlank(infoDiff.get("verifyDutyName"))) {
List<String> list = Arrays.asList(infoDiff.get("verifyDutyName").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDutyName").split(","));
if(list.size() > 1){
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DUTY.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DUTY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("verifyDutyName"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDutyName").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.VERIFY_DUTY.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
//验证符合性确认-截止时间verifyDueDateString
if (StringUtils.isNotBlank(infoDiff.get("verifyDueDateString"))) {
List<String> list = Arrays.asList(infoDiff.get("verifyDueDateString").split(","));
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDueDateString").split(","));
if (list.size() > 1) {
String infoDiffOld = list.get(0);
String infoDiffNew = list.get(1);
contentLog += "'" + ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getName() + "'由" + infoDiffOld + "改为了" + infoDiffNew + "</br>";
}
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
if(StringUtils.isNotBlank(infoDiffEn.get("verifyDueDateString"))){
List<String> listEn = Arrays.asList(infoDiffEn.get("verifyDueDateString").split(","));
if(listEn.size() > 1){
String infoDiffOldEn = listEn.get(0);
String infoDiffNewEn = listEn.get(1);
enContentLog += "'"+ProjectInventoryFieldEnum.DESIGN_DUE_DATE.getEnName() +"' has been changed from " + infoDiffOldEn + " to " + infoDiffNewEn + "</br>";
}
}
}
@@ -6384,14 +6485,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
sendMessage(msgContentEN,inventoryAffirmUserIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
sendMessage(msgContentEN,inventoryAffirmUserIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_LIST_CONFIRMATION_TASK);
}
}
@@ -6437,7 +6538,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//飞书跳转链接
String hrefFeishu = backUrl + JumpLinkEnum.TASK_AFFIRM_LINK.getLink();
//系统内部跳转链接
String href = "<a href='" + JumpLinkEnum.TASK_AFFIRM_LINK.getLink() + "'>" + "Jump link" + "</a>";
String href = "<a href='" + JumpLinkEnum.TASK_AFFIRM_LINK.getLink() + "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
@@ -6445,7 +6546,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
sendMessage(msgContentEN,taskAffirmUserIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
sendMessage(msgContentEN,taskAffirmUserIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.REGULATION_TASK_CONFIRMATION_TASK);
}
}
});
@@ -361,9 +361,12 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
certificationEngineerName = sysUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(certificationEngineerName).append(" ");
certificationName.append(certificationEngineerName).append(",");
}
if(StringUtils.isNotBlank(certificationName)){
String substring = certificationName.substring(0, certificationName.length() - 1);
projectLibraryBase.setCertificationEngineerName(substring);
}
projectLibraryBase.setCertificationEngineerName(certificationName.toString());
}
}
}
@@ -304,6 +304,8 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
String id = UUID.randomUUID().toString().replace("-", "");
MessageTypeEnum messageTypeEnum = null;
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
//给工程师下发消息
if(org.apache.commons.lang3.StringUtils.equals(projectTaskInventoryDetailEO.getMsgType(), MsgTypeEnum.DESIGN_ISSUE_DRE_MSG.getValue())){
@@ -318,6 +320,7 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
messageTypeEnum = MessageTypeEnum.DESIGN_COMPLIANCE_TASK;
}else if(org.apache.commons.lang3.StringUtils.equals(projectTaskInventoryDetailEO.getMsgType(), MsgTypeEnum.PREHOMO_ISSUE_DRE_MSG.getValue())){
//XXX has distributed the Pre-Homo confirmation process of GB 7258 in XXX (project name) to you. Please check and handle it in time.
msgContentEN = currentUser.getUsername() + " has assigned the Pre-Homo confirmation process of "
@@ -330,6 +333,7 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
messageTypeEnum = MessageTypeEnum.PRE_HOMO_TASK;
}else if(org.apache.commons.lang3.StringUtils.equals(projectTaskInventoryDetailEO.getMsgType(), MsgTypeEnum.VERIFY_ISSUE_DRE_MSG.getValue())){
//XXX has distributed the Verify compliance confirmation process of GB 7258 in XXX (project name) to you. Please check and handle it in time.
msgContentEN = currentUser.getUsername() + " has assigned the validation compliance confirmation process of "
@@ -341,6 +345,8 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber());
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
messageTypeEnum = MessageTypeEnum.VALIDATION_TASK;
}
if(CollectionUtils.isNotEmpty(userIdList) && org.apache.commons.lang3.StringUtils.isNotEmpty(msgContentEN)){
//飞书跳转链接
@@ -353,14 +359,14 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
String href = "<a href='"
+ JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType()
+ "&projectName=" + projectNameInfoEO.getProjectName()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
SendMessageUtils.sendMessage(msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
SendMessageUtils.sendMessage(msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum);
}
}
}
@@ -181,6 +181,12 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
List<String> projectLawsInventoryIdList = projectLawsInventoryEOList.stream().distinct().map(ProjectLawsInventoryEO::getId).collect(Collectors.toList());
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
taskInventoryQueryWrapper.lambda().in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryIdList);
if(StringUtils.isNotEmpty(projectTaskInventoryEO.getCertificationProgress())){
taskInventoryQueryWrapper.lambda().in(ProjectTaskInventoryEO::getCertificationProgress,projectTaskInventoryEO.getCertificationProgress());
}
/*projectTaskInventoryEO.setProjectLawsInventoryIdList(projectLawsInventoryIdList);
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = this.baseMapper.selectProjectTaskInventoryList(projectTaskInventoryEO);*/
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = this.baseMapper.selectList(taskInventoryQueryWrapper);
//验证当前用户在该项目中是什么角色
@@ -203,11 +209,18 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
projectTaskInventory.setVerifyDueDate(projectLawsInventory.getVerifyDueDate());
projectTaskInventory.setPrehomoDueDate(projectLawsInventory.getPrehomoDueDate());
projectTaskInventory.setLawsInventoryCreateTime(projectLawsInventory.getCreateTime());
projectTaskInventory.setDesignInitiatorId(projectLawsInventory.getDesignInitiatorId());
projectTaskInventory.setVerifyInitiatorId(projectLawsInventory.getVerifyInitiatorId());
projectTaskInventory.setPrehomoInitiatorId(projectLawsInventory.getPrehomoInitiatorId());
projectTaskInventory.setDesignDutyId(projectLawsInventory.getDesignDutyId());
projectTaskInventory.setVerifyDutyId(projectLawsInventory.getVerifyDutyId());
projectTaskInventory.setPrehomoDutyId(projectLawsInventory.getPrehomoDutyId());
}
});
});
result = createTaskInventoryEOList(projectTaskInventoryEOList,projectTaskInventoryDetailEOList,isProjectRole,currentUser);
result = createTaskInventoryEOList(projectTaskInventoryEOList,projectTaskInventoryDetailEOList,isProjectRole,currentUser,projectTaskInventoryEO);
}
}
if(CollectionUtils.isNotEmpty(result)){
@@ -341,6 +354,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
MessageTypeEnum messageTypeEnum = null;
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 "
@@ -353,6 +368,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setRegulationNo(serialNumber);
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
messageTypeEnum = MessageTypeEnum.DESIGN_COMPLIANCE_TASK;
}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 "
@@ -364,6 +380,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setRegulationNo(serialNumber);
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
messageTypeEnum = MessageTypeEnum.PRE_HOMO_TASK;
}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 "
@@ -374,6 +391,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
feishuMsgVo.setRegulationNo(serialNumber);
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
messageTypeEnum = MessageTypeEnum.VALIDATION_TASK;
}
if(CollectionUtils.isNotEmpty(userIdList) && StringUtils.isNotEmpty(msgContentEN)){
@@ -392,14 +411,14 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, messageTypeEnum);
}
return new Result<>().success("提醒办理成功!");
}
@@ -422,7 +441,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
public List<ProjectTaskInventoryEO> createTaskInventoryEOList(List<ProjectTaskInventoryEO> projectTaskInventoryEOList,
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList,
Integer isProjectRole,
LoginUser currentUser)
LoginUser currentUser,
ProjectTaskInventoryEO projectTaskInventory)
{
List<ProjectTaskInventoryEO> result = new ArrayList<>();
for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) {
@@ -449,7 +469,22 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
roleCode = ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue();
}
ConditionAssessmentEO projectStatusAssess = conditionAssessmentEOService.getProjectStatusAssess(projectTaskInventoryEO.getProjectLawsInventoryId(),roleCode,currentUser);
//如果用户是验证符合性流程中的发起人或责任人
boolean showVerify = (StringUtils.equals(projectTaskInventoryEO.getVerifyInitiatorId(),currentUser.getId())
|| StringUtils.equals(projectTaskInventoryEO.getVerifyDutyId(),currentUser.getId())
);
//如果用户是prehomo流程中的发起人或责任人
boolean showPrehomo = (StringUtils.equals(projectTaskInventoryEO.getPrehomoInitiatorId(),currentUser.getId())
|| StringUtils.equals(projectTaskInventoryEO.getPrehomoDutyId(),currentUser.getId())
);
//如果用户是设计符合性流程中的发起人或责任人
boolean showDesign = (StringUtils.equals(projectTaskInventoryEO.getDesignInitiatorId(),currentUser.getId())
|| StringUtils.equals(projectTaskInventoryEO.getDesignDutyId(),currentUser.getId())
);
ConditionAssessmentEO projectStatusAssess = conditionAssessmentEOService.getProjectStatusAssess(projectTaskInventoryEO.getProjectLawsInventoryId(),roleCode,currentUser,projectTaskInventory);
if(projectStatusAssess != null){
projectTaskInventoryEO.setProjectStatusAssess(projectStatusAssess.getConditionAssessment());
projectTaskInventoryEO.setProjectStatusAssessRemark(projectStatusAssess.getRemark());
@@ -481,97 +516,118 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
* studio:查询所有(已启动流程的数据) , 包含自己待办、已办
* 法规工程师 / 认证工程师: 查询跟自己有关系的数据 , 包含自己待办、已办
* 其他人:查询自己待办、已办数据。
*/
if(isStudio || (isRegulationOwner || isHomologationEngineer)){
*/
/**
* 2022-07-07修改禅道 55588问题。 只有studio可以查看所有已经启动了的流程
* studio:查询所有(已启动流程的数据) , 包含自己待办、已办
*/
if(isStudio || (showVerify || showDesign || showPrehomo)){
actiProcInstId = projectTaskInventoryDetailEO.getActiProcInstId();
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())){
designPid = actiProcInstId;
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
designTaskId = projectTaskInventoryDetailEO.getTaskId();
designTaskStatus = projectTaskInventoryDetailEO.getStatus();
designTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
designTaskDetailId = projectTaskInventoryDetailEO.getId();
}else {
if(StringUtils.isEmpty(designTaskId)){
if(isStudio || showDesign){
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())){
designPid = actiProcInstId;
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
designTaskId = projectTaskInventoryDetailEO.getTaskId();
}
if(StringUtils.isEmpty(designTaskStatus)){
designTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
}
if(StringUtils.isEmpty(designTaskDefinitionKey)){
designTaskDefinitionKey = "";
}
if(StringUtils.isEmpty(designTaskDetailId)){
designTaskStatus = projectTaskInventoryDetailEO.getStatus();
designTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
designTaskDetailId = projectTaskInventoryDetailEO.getId();
}else {
if(StringUtils.isEmpty(designTaskId)){
designTaskId = projectTaskInventoryDetailEO.getTaskId();
}
if(StringUtils.isEmpty(designTaskStatus)){
designTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
}
if(StringUtils.isEmpty(designTaskDefinitionKey)){
designTaskDefinitionKey = "";
}
if(StringUtils.isEmpty(designTaskDetailId)){
designTaskDetailId = projectTaskInventoryDetailEO.getId();
}
}
}
projectTaskInventoryEO.setDesignPId(designPid);
projectTaskInventoryEO.setDesignTaskId(designTaskId);
projectTaskInventoryEO.setDesignTaskStatus(designTaskStatus);
projectTaskInventoryEO.setDesignTaskDefinitionKey(designTaskDefinitionKey);
projectTaskInventoryEO.setDesignTaskDetailId(designTaskDetailId);
}else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){
prehomoPid = actiProcInstId;
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
prehomoTaskId = projectTaskInventoryDetailEO.getTaskId();
prehomoTaskStatus = projectTaskInventoryDetailEO.getStatus();
prehomoTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
prehomoTaskDetailId = projectTaskInventoryDetailEO.getId();
}else {
if(StringUtils.isEmpty(prehomoTaskId)){
projectTaskInventoryEO.setDesignPId(designPid);
projectTaskInventoryEO.setDesignTaskId(designTaskId);
projectTaskInventoryEO.setDesignTaskStatus(designTaskStatus);
projectTaskInventoryEO.setDesignTaskDefinitionKey(designTaskDefinitionKey);
projectTaskInventoryEO.setDesignTaskDetailId(designTaskDetailId);
}
}
if(isStudio || showPrehomo){
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue())){
prehomoPid = actiProcInstId;
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
prehomoTaskId = projectTaskInventoryDetailEO.getTaskId();
}
if(StringUtils.isEmpty(prehomoTaskStatus)){
prehomoTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
}
if(StringUtils.isEmpty(prehomoTaskDefinitionKey)){
prehomoTaskDefinitionKey = "";
}
if(StringUtils.isEmpty(prehomoTaskDetailId)){
prehomoTaskStatus = projectTaskInventoryDetailEO.getStatus();
prehomoTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
prehomoTaskDetailId = projectTaskInventoryDetailEO.getId();
}else {
if(StringUtils.isEmpty(prehomoTaskId)){
prehomoTaskId = projectTaskInventoryDetailEO.getTaskId();
}
if(StringUtils.isEmpty(prehomoTaskStatus)){
prehomoTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
}
if(StringUtils.isEmpty(prehomoTaskDefinitionKey)){
prehomoTaskDefinitionKey = "";
}
if(StringUtils.isEmpty(prehomoTaskDetailId)){
prehomoTaskDetailId = projectTaskInventoryDetailEO.getId();
}
}
}
projectTaskInventoryEO.setPrehomoPId(prehomoPid);
projectTaskInventoryEO.setPrehomoTaskId(prehomoTaskId);
projectTaskInventoryEO.setPrehomoTaskStatus(prehomoTaskStatus);
projectTaskInventoryEO.setPrehomoTaskDefinitionKey(prehomoTaskDefinitionKey);
projectTaskInventoryEO.setPrehomoTaskDetailId(prehomoTaskDetailId);
}else if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){
verifyPid = actiProcInstId;
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
verifyTaskId = projectTaskInventoryDetailEO.getTaskId();
verifyTaskStatus = projectTaskInventoryDetailEO.getStatus();
verifyTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
verifyTaskDetailId = projectTaskInventoryDetailEO.getId();
}else {
if(StringUtils.isEmpty(verifyTaskId)){
projectTaskInventoryEO.setPrehomoPId(prehomoPid);
projectTaskInventoryEO.setPrehomoTaskId(prehomoTaskId);
projectTaskInventoryEO.setPrehomoTaskStatus(prehomoTaskStatus);
projectTaskInventoryEO.setPrehomoTaskDefinitionKey(prehomoTaskDefinitionKey);
projectTaskInventoryEO.setPrehomoTaskDetailId(prehomoTaskDetailId);
}
}
if(isStudio || showVerify){
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue())){
verifyPid = actiProcInstId;
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
verifyTaskId = projectTaskInventoryDetailEO.getTaskId();
}
if(StringUtils.isEmpty(verifyTaskStatus)){
verifyTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
}
if(StringUtils.isEmpty(verifyTaskDefinitionKey)){
verifyTaskDefinitionKey = "";
}
if(StringUtils.isEmpty(verifyTaskDetailId)){
verifyTaskStatus = projectTaskInventoryDetailEO.getStatus();
verifyTaskDefinitionKey = projectTaskInventoryDetailEO.getTaskDefinitionKey();
verifyTaskDetailId = projectTaskInventoryDetailEO.getId();
}else {
if(StringUtils.isEmpty(verifyTaskId)){
verifyTaskId = projectTaskInventoryDetailEO.getTaskId();
}
if(StringUtils.isEmpty(verifyTaskStatus)){
verifyTaskStatus = TaskStatusEnum.SHOW_FLAG.getValue();
}
if(StringUtils.isEmpty(verifyTaskDefinitionKey)){
verifyTaskDefinitionKey = "";
}
if(StringUtils.isEmpty(verifyTaskDetailId)){
verifyTaskDetailId = projectTaskInventoryDetailEO.getId();
}
}
}
projectTaskInventoryEO.setVerifyPId(verifyPid);
projectTaskInventoryEO.setVerifyTaskId(verifyTaskId);
projectTaskInventoryEO.setVerifyTaskStatus(verifyTaskStatus);
projectTaskInventoryEO.setVerifyTaskDefinitionKey(verifyTaskDefinitionKey);
projectTaskInventoryEO.setVerifyTaskDetailId(verifyTaskDetailId);
projectTaskInventoryEO.setVerifyPId(verifyPid);
projectTaskInventoryEO.setVerifyTaskId(verifyTaskId);
projectTaskInventoryEO.setVerifyTaskStatus(verifyTaskStatus);
projectTaskInventoryEO.setVerifyTaskDefinitionKey(verifyTaskDefinitionKey);
projectTaskInventoryEO.setVerifyTaskDetailId(verifyTaskDetailId);
}
}
if(isStudio){
projectTaskInventoryEO.setCertificationProgress(projectTaskInventoryEO.getCertificationProgress());
projectTaskInventoryEO.setCertificationProgressRemark(projectTaskInventoryEO.getCertificationProgressRemark());
}
}else {
if((isRegulationOwner || isHomologationEngineer)){
projectTaskInventoryEO.setCertificationProgress(projectTaskInventoryEO.getCertificationProgress());
projectTaskInventoryEO.setCertificationProgressRemark(projectTaskInventoryEO.getCertificationProgressRemark());
}else {
projectTaskInventoryEO.setCertificationProgress("");
projectTaskInventoryEO.setCertificationProgressRemark("");
}
projectTaskInventoryEO.setCertificationProgress(projectTaskInventoryEO.getCertificationProgress());
projectTaskInventoryEO.setCertificationProgressRemark(projectTaskInventoryEO.getCertificationProgressRemark());
}else {
projectTaskInventoryEO.setCertificationProgress("");
projectTaskInventoryEO.setCertificationProgressRemark("");
if(StringUtils.equals(currentUser.getId(),projectTaskInventoryDetailEO.getUserId())){
actiProcInstId = projectTaskInventoryDetailEO.getActiProcInstId();
if(StringUtils.equals(projectTaskInventoryDetailEO.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue())){
@@ -599,7 +655,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
}
}
if(StringUtils.isNotEmpty(actiProcInstId) && (isRegulationOwner || isHomologationEngineer || isStudio)){
/*if(StringUtils.isNotEmpty(actiProcInstId) && (isRegulationOwner || isHomologationEngineer || isStudio)){*/
if(StringUtils.isNotEmpty(actiProcInstId) && (isStudio || (showVerify || showDesign || showPrehomo))){
projectTaskInventoryEO.setShowFlag(TaskStatusEnum.SHOW_FLAG.getValue());
}
@@ -608,6 +665,16 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
if(CollectionUtils.isNotEmpty(result)){
result = result.stream().filter(e -> (StringUtils.equals(e.getShowFlag(),TaskStatusEnum.SHOW_FLAG.getValue()))).collect(Collectors.toList());
//根据当前项目状态筛选一次。
if(StringUtils.isNotEmpty(projectTaskInventory.getProjectStatusAssess())){
result = result.stream().filter(e -> {
boolean flag = false;
if(StringUtils.equals(e.getProjectStatusAssess(),projectTaskInventory.getProjectStatusAssess())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
}
}
return result;
}
@@ -702,6 +769,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dutDateStr = "";
MessageTypeEnum messageTypeEnum = null;
if (StringUtils.equals(msgType, MsgTypeEnum.DESIGN_ISSUE_DRE_MSG.getValue())) {
taskKey = DesignComplianceNodeEnum.DRE_DISPOSE.getKey();
@@ -715,6 +784,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setContent("Hello! " + sysUser.getUsername() + " has assigned the task to you. Please check and handle it in time.");
feishuMsgVo.setTaskType("Design Compliance Confirmation");
messageTypeEnum = MessageTypeEnum.DESIGN_COMPLIANCE_TASK;
}else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_RETURN_MSG.getValue())){
String designDutyId = jsonObject.getString("designDutyId");//设计符合性流程责任人id
userIdList.add(designDutyId);
@@ -731,6 +802,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setContent("Hello! The compliance information you submitted has been rejected after review. Please check and address it in a timely manner.");
feishuMsgVo.setTaskType("Design Compliance Confirmation");
messageTypeEnum = MessageTypeEnum.DESIGN_COMPLIANCE_TASK;
}else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_RETURN_MSG.getValue())){
String prehomoDutyId = jsonObject.getString("prehomoDutyId");//prehomo流程责任人id
userIdList.add(prehomoDutyId);
@@ -747,6 +820,8 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setContent("Hello! The compliance information you submitted has been rejected after review. Please check and address it in a timely manner.");
feishuMsgVo.setTaskType("Pre-Homo Confirmation");
messageTypeEnum = MessageTypeEnum.PRE_HOMO_TASK;
}else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_RETURN_MSG.getValue())){
String verifyDutyId = jsonObject.getString("verifyDutyId");//验证符合性流程责任人id
userIdList.add(verifyDutyId);
@@ -763,9 +838,13 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setContent("Hello! The compliance information you submitted has been rejected after review. Please check and address it in a timely manner.");
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
messageTypeEnum = MessageTypeEnum.VALIDATION_TASK;
}
/*55360问题。
feishuMsgVo.setDueDate(dutDateStr);
feishuMsgVo.setInitiator(sysUser.getUsername());
*/
feishuMsgVo.setRegulationNo(serialNumber);
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
@@ -839,7 +918,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ projectLibraryBase.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
//飞书跳转链接 拼接跳转至任务详情页参数
/*String hrefFeishu = backUrl
@@ -890,14 +969,14 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
+ "&projectNameId=" + projectNameId
+ "&primaryKeyId=" + primaryKeyId
+ "&PersonChargeFeedback=" + personChargeFeedback
+ "'>" + "Jump link" + "</a>";*/
+ "'>" + " View details" + "</a>";*/
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
SendMessageUtils.sendMessage(msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
SendMessageUtils.sendMessage(msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum);
}
}
@@ -156,6 +156,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
feishuMsgVo.setInitiator(currentUser.getUsername());
MessageTypeEnum messageTypeEnum = null;
//消息内容
String msgContentEN = "";
String flowType = projectTaskInventoryFeedbackEO.getFlowType();
@@ -166,6 +168,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setTaskType("Design Compliance Confirmation");
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate()));
messageTypeEnum = MessageTypeEnum.DESIGN_COMPLIANCE_TASK;
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
msgContentEN = currentUser.getUsername() + " has replied to your engineering deliverable information of "
+ projectLawsInventoryEO.getSerialNumber() + " in "
@@ -173,6 +177,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setTaskType("Pre-Homo Confirmation");
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate()));
messageTypeEnum = MessageTypeEnum.PRE_HOMO_TASK;
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
msgContentEN = currentUser.getUsername() + " has replied to your engineering deliverable information of "
+ projectLawsInventoryEO.getSerialNumber() + " in "
@@ -180,6 +186,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate()));
messageTypeEnum = MessageTypeEnum.VALIDATION_TASK;
}
//飞书跳转链接
@@ -195,14 +203,14 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum);
}
}
@@ -341,6 +349,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket());
feishuMsgVo.setInitiator(currentUser.getUsername());
MessageTypeEnum messageTypeEnum = null;
//消息内容
String msgContentEN = "";
String flowType = projectTaskInventoryFeedbackEO.getFlowType();
@@ -351,6 +361,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setTaskType("Design Compliance Confirmation");
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate()));
messageTypeEnum = MessageTypeEnum.DESIGN_COMPLIANCE_TASK;
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of "
+ projectLawsInventoryEO.getSerialNumber() + " in "
@@ -358,6 +370,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setTaskType("Pre-Homo Confirmation");
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate()));
messageTypeEnum = MessageTypeEnum.PRE_HOMO_TASK;
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of "
+ projectLawsInventoryEO.getSerialNumber() + " in "
@@ -365,6 +379,8 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
feishuMsgVo.setTaskType("Validation Compliance Confirmation");
feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate()));
messageTypeEnum = MessageTypeEnum.VALIDATION_TASK;
}
//飞书跳转链接
@@ -380,14 +396,14 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl<Proje
+ "&projectName=" + projectNameInfoEO.getProjectName() + "-"
+ projectYearNameInfoEO.getYearName()
+ "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket()
+ "'>" + "Jump link" + "</a>";
+ "'>" + " View details" + "</a>";
String contentInfo = msgContentEN + " " + href;
Map<String,Object> sendMessageMap = new HashMap<>();
sendMessageMap.put("hrefFeishu",hrefFeishu);
sendMessageMap.put("contentInfo",contentInfo);
//发送消息
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK);
SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, messageTypeEnum);
}
}
}
@@ -12,7 +12,12 @@ server:
enabled: true
min-response-size: 1024
mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
##配置https证书 部署服务器的时候解开。
# port-https: 8089 #自定义https端口
# ssl:
# key-store: classpath:bxxt.hzwlsoft.com.jks
# key-store-password: w933m5y1kz0xj8w
# key-store-type: JKS
management:
endpoints:
web:
+1
View File
@@ -358,6 +358,7 @@
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
<nonFilteredFileExtension>jks</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
+3
View File
@@ -142,4 +142,7 @@
.itemModel-multi .ant-form-explain, .ant-form-extra {
margin-top: -10px;
}
.anticon-exclamation-circle{
display: none!important;
}
</style>
+15
View File
@@ -1090,4 +1090,19 @@ module.exports = {
newRequestCommentListTemplate:'New request for comment list template',
NewReleasedStandardTemplate:'New released standard template',
pleaseSelectStandard:'Please select a standard',
theResponsiblePersonEmpty:'The responsible person of cannot be empty',
theDeadlineEmpty:'The deadline of cannot be empty',
theDeliveryTypeCannotBeEmpty:'The delivery type of cannot be empty',
For:'For',
markedRejection:'Marked rejection',
RegulationListConfirmationTask:'Regulation List Confirmation Task',
RegulationListConfirmationNotification:'Regulation List Confirmation Notification',
RegulationTaskConfirmation:'Regulation Task Confirmation',
DesignComplianceTask:'Design Compliance Task',
PreHomoTask:'Pre-Homo Task',
ValidationTask:'Validation Task',
DesignComplianceNotification:'Design Compliance Notification',
PreHomoNotification:'Pre-Homo Notification',
ValidationComplianceNotification:'Validation Compliance Notification',
RegulationTaskConfirmationNotification:'Regulation Task Confirmation Notification',
}
+15
View File
@@ -1094,4 +1094,19 @@ module.exports = {
newRequestCommentListTemplate:'新征求意见清单模板',
NewReleasedStandardTemplate:'新发布标准模板',
pleaseSelectStandard:'请选择标准',
theResponsiblePersonEmpty:'的责任人不能为空',
theDeadlineEmpty:'的截止时间不能为空',
theDeliveryTypeCannotBeEmpty:'的交付物类型不能为空',
For:'针对于',
markedRejection:'标注的驳回意见',
RegulationListConfirmationTask:'清单确认任务',
RegulationListConfirmationNotification:'清单确认通知',
RegulationTaskConfirmation:'任务确认任务',
DesignComplianceTask:'设计符合性任务',
PreHomoTask:'Pre-Homo任务',
ValidationTask:'验证符合性任务',
DesignComplianceNotification:'设计符合性通知',
PreHomoNotification:'Pre-Homo通知',
ValidationComplianceNotification:'验证符合性通知',
RegulationTaskConfirmationNotification:'任务确认通知',
}
@@ -58,7 +58,7 @@
export default {
name: 'index',
props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass','isDelete','disabled'],
props: ['query', 'value', 'personneQuery', 'isSingleChoice', 'isInput', 'isClass', 'isDelete', 'disabled'],
data() {
return {
loading: true,
@@ -74,6 +74,7 @@
searchModel: '',
defaultExpandedKeys: [],
defaultCheckedKeys: [],
defaultCheckedKeysName: [],
content: []
}
},
@@ -90,10 +91,10 @@
this.queryDepartUserTreeList()
this.visible = true
},
standardDelete(){
standardDelete() {
this.$emit('input', null)
this.$forceUpdate()
this.$emit('deleteData',this.query.db_field_name)
this.$emit('deleteData', this.query.db_field_name)
},
// onSelect(selectedKeys, info) {
// console.log(selectedKeys)
@@ -101,9 +102,17 @@
// },
onCheck(checkedKeys, info) {
console.log(checkedKeys)
this.userIds = checkedKeys.checked
this.userName = []
if (this.userIds.length > 0) {
for (let i = 0; i < this.userIds.length; i++) {
for (let j = 0; j < this.defaultCheckedKeysName.length; j++) {
if (this.userIds[i] == this.defaultCheckedKeysName[j].id) {
this.userName.push(this.defaultCheckedKeysName[j].name)
}
}
}
}
if (info.checkedNodes && info.checkedNodes.length > 0) {
info.checkedNodes.forEach(res => {
if (res.data.props.dataRef.key) {
@@ -136,6 +145,16 @@
})
})
}
if (this.userName.length > 0){
for (let i = 0; i < this.userName.length; i++) {
for (let j = i + 1; j < this.userName.length; j++) {
if (this.userName[i] == this.userName[j]) {
this.userName.splice(j, 1)
j--
}
}
}
}
},
handleCancel() {
this.visible = false
@@ -151,8 +170,9 @@
}
let userIds = JSON.parse(JSON.stringify(this.userIds))
let userName = JSON.parse(JSON.stringify(this.userName))
console.log(userName)
this.$emit('input', userName.join(','))
this.$emit('change', this.query.db_field_name, userIds.join(','),this.query.subscript)
this.$emit('change', this.query.db_field_name, userIds.join(','), this.query.subscript)
this.visible = false
this.treeVisible = false
// } else {
@@ -179,8 +199,8 @@
},
getUserAndDepart() {
getAction('sys/user/getUserAndDepart', { name: this.searchModel }).then((res) => {
if (res){
this.gData = res.filter(ele => ele.flag === 'DEPART');
if (res) {
this.gData = res.filter(ele => ele.flag === 'DEPART')
} else {
this.gData = []
}
@@ -234,6 +254,15 @@
}
}
this.defaultCheckedKeys = this.userIds
this.defaultCheckedKeysName = []
if (this.defaultCheckedKeys.length > 0) {
for (let i = 0; i < this.defaultCheckedKeys.length; i++) {
this.defaultCheckedKeysName.push({
id: this.defaultCheckedKeys[i],
name: this.userName[i]
})
}
}
this.treeVisible = true
} else {
this.gData = []
@@ -413,6 +413,7 @@
}
}
console.debug('---高级查询参数--->', { params, matchType })
this.visible = false
this.$emit(this.callback, params, matchType)
},
handleCancel() {
+12 -11
View File
@@ -191,17 +191,18 @@
let index1 = fileName.lastIndexOf('.')
let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2)
if (fileSuffix === '.pdf') {
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id+'&userName='+this.userInfo().username))
} else if (fileSuffix === '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
window.open(url, '_blank')
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
window.open(url, '_blank')
} else {
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
}
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
// if (fileSuffix === '.pdf') {
// window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id+'&userName='+this.userInfo().username))
// } else if (fileSuffix === '.docx') {
// let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
// window.open(url, '_blank')
// } else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
// let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
// window.open(url, '_blank')
// } else {
// downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
// }
}
}
}
@@ -95,13 +95,13 @@
<span class="title-text-text"
:title="$t('engineer')">{{$t('engineer')}}</span>
</div>
<a-form-model-item class="itemModel" prop="userName">
<a-form-model-item class="itemModel" prop="userIdName">
<PersonnelSelection
:query="{db_field_name:'userId',db_field_txt:$t('engineer')}"
:personneQuery="formInline"
:distributionEngineerList="distributionEngineerList"
@change="PersonnelSelectionChange"
v-model="formInline.userName"/>
v-model="formInline.userIdName"/>
</a-form-model-item>
</div>
</a-col>
@@ -385,7 +385,7 @@
trigger: 'change'
}
],
userName: [
userIdName: [
{
required: true,
message: this.$t('engineer') + this.$t('cannotEmpty'),
@@ -623,8 +623,9 @@
})
}
this.formInline.userId = userId.join(',')
this.formInline.userName = userName.join(',')
this.formInline.userIdName = userName.join(',')
this.formInline = { ...this.formInline }
console.log(this.formInline)
}
this.loadingTable = false
} else {
@@ -682,7 +683,7 @@
this.formInline[value] = id
this.distributionEngineerList = []
if (id) {
this.formInline.userName.split(',').forEach((res, index) => {
this.formInline.userIdName.split(',').forEach((res, index) => {
this.distributionEngineerList.push({
deliveryInstructions: '',
name: res,
@@ -713,9 +714,9 @@
})
_this.distributionEngineerList.splice(num, 1)
_this.distributionEngineerList = [..._this.distributionEngineerList]
_this.formInline.userName = _this.formInline.userName.split(',')
_this.formInline.userName.splice(num, 1)
_this.formInline.userName = _this.formInline.userName.join(',')
_this.formInline.userIdName = _this.formInline.userIdName.split(',')
_this.formInline.userIdName.splice(num, 1)
_this.formInline.userIdName = _this.formInline.userIdName.join(',')
_this.formInline.userId = _this.formInline.userId.split(',')
_this.formInline.userId.splice(num, 1)
_this.formInline.userId = _this.formInline.userId.join(',')
@@ -13,7 +13,10 @@
@click="urlClick(queryForm[item.value])"
v-if="item.type == 1"
>{{queryForm[item.value]}}</span>
<span class="text-field-right text-field-right-url"
@click="standardClick(queryForm)"
v-else-if="item.type == '4'" :title="queryForm[item.value]"
>{{queryForm[item.value]}}</span>
<span class="text-field-right" v-else :title="queryForm[item.value]"
>{{queryForm[item.value]}}</span>
</div>
@@ -25,6 +28,7 @@
1打开新页面
2显示文件
3点击事件处理\需要传点击事件
4标注号的跳转
-->
<script>
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
@@ -80,6 +84,15 @@
if (val) {
window.open(val)
}
},
standardClick(row) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: row.standId
}
})
window.open(newUrl.href, '_blank')
}
}
}
@@ -102,7 +102,8 @@
{},
{
title: this.$t('standard'),
value: 'serialNumber'
value: 'serialNumber',
type:'4',
},
{
title: this.$t('title'),
@@ -14,7 +14,7 @@
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" style="width: 64px" :title="$t('areaOfResponsibility')">
<div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{$t('areaOfResponsibility')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
@@ -23,7 +23,50 @@
:triggerChange="false" :dictCode="'duty_territory'"/>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('CertificationProgress')">
<span>{{$t('CertificationProgress')}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam.certificationProgress"
:placeholder="$t('PleaseSelect')+$t('CertificationProgress')"
:type="'select'"
:triggerChange="false" :dictCode="'certification_progress'"/>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('CurrentStatus')">
<span>{{$t('CurrentStatus')}}</span>
</div>
<a-select
class="box-input"
v-model="queryParam.projectStatusAssess"
:placeholder="$t('PleaseSelect')+$t('CurrentStatus')">
<a-select-option :value="'1'">
<span style="display: inline-block;width: 100%">
{{ $t('red') }}
</span>
</a-select-option>
<a-select-option :value="'2'">
<span style="display: inline-block;width: 100%">
{{ $t('yellow') }}
</span>
</a-select-option>
<a-select-option :value="'3'">
<span style="display: inline-block;width: 100%">
{{ $t('green') }}
</span>
</a-select-option>
<a-select-option :value="'4'">
<span style="display: inline-block;width: 100%">
{{ $t('blue') }}
</span>
</a-select-option>
</a-select>
</div>
</a-col>
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
@@ -55,8 +98,8 @@
>
<div slot="standardInformation" slot-scope="text,result" class="box-left">
<div class="content">
<a class="box-content-a" :title="result.serialNumber">{{result.serialNumber}}dsf jdslfkj dsflkdsjfdslkfjds fldskfjdsklfds</a>
<a class="box-content-buttom" :title="result.title">{{result.title}}sdfdsfdsfdsfjds lfdjsfdslfjsflkdsfjdsklfdjsfklsd</a>
<a class="box-content-a" @click="standardClick(result)" :title="result.serialNumber">{{result.serialNumber}}</a>
<a class="box-content-buttom" :title="result.title">{{result.title}}</a>
</div>
</div>
<div slot="areaOfResponsibility" slot-scope="text,result" class="box-left">
@@ -414,7 +457,16 @@
},
TaskListModelList() {
this.getList()
}
},
standardClick(row){
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id:row.standId
}
})
window.open(newUrl.href, '_blank')
},
}
}
</script>
@@ -430,14 +482,14 @@
}
.title-text {
width: 32px;
width: 64px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: left;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -445,7 +497,7 @@
.box-input {
display: inline-block;
width: 70%;
width: calc(100% - 64px);
height: 38px;
margin-top: 2px;
}
@@ -20,7 +20,7 @@
</div>
<div class="comment-box" v-if="dataList && dataList.length > 0">
<div class="comment-box-top-box" v-for="(item,index) in dataList" :key="index">
<div class="title-text">{{$t('record')+(index + 1)}}</div>
<!-- <div class="title-text">{{$t('record')+(index + 1)}}</div>-->
<div class="box-content">
<div class="img-box">
<img src="../../../assets/daiban.png" class="img" alt="">
@@ -26,11 +26,53 @@
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" style="width: 44px" :title="$t('subtitle')">
<span>{{ $t('subtitle') }}</span>
<div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{ $t('areaOfResponsibility') }}</span>
</div>
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('subtitle')"
v-model="queryParam.subtitle"></j-input>
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('listConfirmationStatus')">
<span>{{ $t('listConfirmationStatus') }}</span>
</div>
<a-select :placeholder="$t('PleaseSelect')+$t('listConfirmationStatus')"
class="box-input"
allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.inventoryAffirmStatus">
<a-select-option v-for="(item, key) in listOptions"
:key="item.key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label}}
</span>
</a-select-option>
</a-select>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('taskAffirmStatus')">
<span>{{ $t('taskAffirmStatus') }}</span>
</div>
<a-select :placeholder="$t('PleaseSelect')+$t('taskAffirmStatus')"
class="box-input"
allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.taskAffirmStatus">
<a-select-option v-for="(item, key) in taskOptions"
:key="item.key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label}}
</span>
</a-select-option>
</a-select>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
@@ -86,10 +128,6 @@
<a-icon type="delete"/>
{{ $t('BatchDelete') }}
</div>
<div class="operator-text-title" @click="bringInRelevantPersonnelClick">
<a-icon type="user"/>
{{ $t('bringInRelevantPersonnel') }}
</div>
<div class="operator-text-title" @click="ExportReportClick">
<a-icon type="export"/>
{{ $t('ExportReport') }}
@@ -107,6 +145,10 @@
<span style="position: absolute;left: -13px;top: -4px">...</span>{{ $t('more') }}
</div>
</a-popconfirm>
<div class="operator-text" @click="bringInRelevantPersonnelClick">
<a-icon type="user"/>
{{ $t('bringInRelevantPersonnel') }}
</div>
<div @click="transferClick" class="operator-text">
<a-icon type="profile"/>
{{ $t('Transfer') }}
@@ -184,6 +226,12 @@
{{text}}
</span>
</span>
<span slot="standard" slot-scope="text,record" :title="text">
<a class="textName" @click="standardClick(record)">
{{text}}
</a>
</span>
<span slot="designDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.designDeliverableTypeName }}</span><br v-if="record.designDeliverableTypeName">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"
@@ -387,7 +435,7 @@
export default {
name: 'listOfRegulations',
props:['areaOfResponsibilityList'],
props: ['areaOfResponsibilityList'],
components: {
ImportFile,
listAddModel,
@@ -409,7 +457,7 @@
dataIndex: 'serialNumber',
width: 180,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
@@ -769,6 +817,11 @@
value: 'correspondingStandard',
text: this.$t('correspondingStandard')
},
{
type: 'string',
value: 'subtitle',
text: this.$t('subtitle')
},
{
type: '',
value: 'implementType',
@@ -831,61 +884,51 @@
value: 'engineeringInterfacePerson',
valueName: 'engineeringInterfacePersonName',
text: this.$t('engineeringInterfacePerson')
}
],
listOptions: [
{
value: 'Not started',
key: 'Not started',
label: this.$t('notLaunch')
},
{
type: '',
value: 'inventoryAffirmStatus',
text: this.$t('listConfirmationStatus'),
options:[
{
value:'Not started',
key:'Not started',
label:this.$t('notLaunch'),
},
{
value:'List to confirm',
key:'List to confirm',
label:this.$t('toBeConfirmed'),
},
{
value:'Accepted',
key:'Accepted',
label:this.$t('accept'),
},
{
value:'Rejected',
key:'Rejected',
label:this.$t('refuse'),
},
],
value: 'List to confirm',
key: 'List to confirm',
label: this.$t('toBeConfirmed')
},
{
type: '',
value: 'taskAffirmStatus',
text: this.$t('taskAffirmStatus'),
options:[
{
value:'Not started',
key:'Not started',
label:this.$t('notLaunch'),
},
{
value:'List to confirm',
key:'List to confirm',
label:this.$t('toBeConfirmed'),
},
{
value:'Accepted',
key:'Accepted',
label:this.$t('accept'),
},
{
value:'Rejected',
key:'Rejected',
label:this.$t('refuse'),
},
],
value: 'Accepted',
key: 'Accepted',
label: this.$t('accept')
},
{
value: 'Rejected',
key: 'Rejected',
label: this.$t('refuse')
}
],
taskOptions: [
{
value: 'Not started',
key: 'Not started',
label: this.$t('notLaunch')
},
{
value: 'List to confirm',
key: 'List to confirm',
label: this.$t('toBeConfirmed')
},
{
value: 'Accepted',
key: 'Accepted',
label: this.$t('accept')
},
{
value: 'Rejected',
key: 'Rejected',
label: this.$t('refuse')
}
],
visibleRoleSwitching: false,
confirmLoadingRoleSwitching: false,
@@ -902,8 +945,8 @@
},
detailedSuccessList: [],
detailedWarningList: [],
rowKeysSuccessList:[],
rowKeysWarningList:[],
rowKeysSuccessList: [],
rowKeysWarningList: []
}
},
@@ -1368,25 +1411,49 @@
for (let i = 0; i < dataSource.length; i++) {
if (dataSource[i].inventoryAffirmStatus == 'Not started' || dataSource[i].inventoryAffirmStatus == 'Rejected') {
if (dataSource[i].homologationEngineerId && dataSource[i].regulationOwnerId) {
if (dataSource[i].designDeliverableType){
if (!dataSource[i].designInitiatorId){
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ','+this.$t('designComplianceReview')+ this.$t('Sponsor')+this.$t('cannotEmpty') } < /div>)
continue
}
}
if (dataSource[i].prehomoDeliverableType){
if (!dataSource[i].prehomoInitiatorId){
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ','+this.$t('preHomeConfirmation')+ this.$t('Sponsor')+this.$t('cannotEmpty') } < /div>)
if (dataSource[i].designDeliverableType) {
if (!dataSource[i].designInitiatorId) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('designComplianceReview') + this.$t('Sponsor') + this.$t('cannotEmpty') } < /div>)
continue
}
if (!dataSource[i].designDutyId) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('designComplianceReview') + this.$t('personLiable') + this.$t('cannotEmpty') } < /div>)
continue
}
if (!dataSource[i].designDueDate) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('designComplianceReview') + this.$t('cutoffTime') + this.$t('cannotEmpty') } < /div>)
continue
}
}
if (dataSource[i].verifyDeliverableType){
if (!dataSource[i].verifyInitiatorId){
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ','+this.$t('verificationComplianceReview')+ this.$t('Sponsor')+this.$t('cannotEmpty') } < /div>)
if (dataSource[i].prehomoDeliverableType) {
if (!dataSource[i].prehomoInitiatorId) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('preHomeConfirmation') + this.$t('Sponsor') + this.$t('cannotEmpty') } < /div>)
continue
}
if (!dataSource[i].prehomoDutyId) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('preHomeConfirmation') + this.$t('personLiable') + this.$t('cannotEmpty') } < /div>)
continue
}
if (!dataSource[i].prehomoDueDate) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('preHomeConfirmation') + this.$t('cutoffTime') + this.$t('cannotEmpty') } < /div>)
continue
}
}
this.detailedSuccessList.push(dataSource[i])
if (dataSource[i].verifyDeliverableType) {
if (!dataSource[i].verifyInitiatorId) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('verificationComplianceReview') + this.$t('Sponsor') + this.$t('cannotEmpty') } < /div>)
continue
}
if (!dataSource[i].verifyDutyId) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('verificationComplianceReview') + this.$t('personLiable') + this.$t('cannotEmpty') } < /div>)
continue
}
if (!dataSource[i].verifyDueDate) {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('verificationComplianceReview') + this.$t('cutoffTime') + this.$t('cannotEmpty') } < /div>)
continue
}
}
this.detailedSuccessList.push(dataSource[i])
} else {
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + this.$t('TheEngineerAndCertification') } < /div>)
@@ -1395,7 +1462,7 @@
// return
}
} else {
this.detailedWarningList.push( < div > {dataSource[i].serialNumber + ',' + this.$t('pleaseSelectinitiatedOrRejected')} < /div>)
this.detailedWarningList.push( < div > { dataSource[i].serialNumber + ',' + this.$t('pleaseSelectinitiatedOrRejected') } < /div>)
// this.$message.warning(this.dataSource[i].serialNumber + ',' + this.$t('pleaseSelectinitiatedOrRejected'))
// isTrue = false
// return
@@ -1615,7 +1682,7 @@
})
},
getRowKeys(value,num, callBack) {
getRowKeys(value, num, callBack) {
let isTrue = true
let dataSource = []
for (let i = 0; i < this.dataSource.length; i++) {
@@ -1651,31 +1718,58 @@
// this.$message.warning(dataSource[i].serialNumber + this.$t('submitted'))
// return
}
if(num == 1){
if((dataSource[i].designInitiatorId == dataSource[i].regulationOwnerId
if (num == 1) {
if ((dataSource[i].designInitiatorId == dataSource[i].regulationOwnerId
&& dataSource[i].designInitiatorId == this.userInfo().id) ||
(dataSource[i].designInitiatorId == dataSource[i].homologationEngineerId
&& dataSource[i].designInitiatorId == this.userInfo().id)){
if(!dataSource[i].designDutyId || !dataSource[i].designDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('confirmationOfDesignConformity') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
&& dataSource[i].designInitiatorId == this.userInfo().id)) {
if (!dataSource[i].designDutyId && !dataSource[i].designDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('confirmationOfDesignConformity') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
continue
} else if (!dataSource[i].designDutyId) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('confirmationOfDesignConformity') + this.$t('theResponsiblePersonEmpty') } < /div>)
continue
} else if (!dataSource[i].designDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('confirmationOfDesignConformity') + this.$t('theDeadlineEmpty') } < /div>)
continue
}else if (!dataSource[i].designDeliverableType) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('confirmationOfDesignConformity') + this.$t('theDeliveryTypeCannotBeEmpty') } < /div>)
continue
}
}
if((dataSource[i].prehomoInitiatorId == dataSource[i].regulationOwnerId
if ((dataSource[i].prehomoInitiatorId == dataSource[i].regulationOwnerId
&& dataSource[i].prehomoInitiatorId == this.userInfo().id) ||
(dataSource[i].prehomoInitiatorId == dataSource[i].homologationEngineerId
&& dataSource[i].prehomoInitiatorId == this.userInfo().id)){
if(!dataSource[i].prehomoDutyId || !dataSource[i].prehomoDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('PrehomoConfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
&& dataSource[i].prehomoInitiatorId == this.userInfo().id)) {
if (!dataSource[i].prehomoDutyId && !dataSource[i].prehomoDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('PrehomoConfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
continue
} else if (!dataSource[i].prehomoDutyId) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('PrehomoConfirmation') + this.$t('theResponsiblePersonEmpty') } < /div>)
continue
} else if (!dataSource[i].prehomoDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('PrehomoConfirmation') + this.$t('theDeadlineEmpty') } < /div>)
continue
}else if (!dataSource[i].prehomoDeliverableType) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('PrehomoConfirmation') + this.$t('theDeliveryTypeCannotBeEmpty') } < /div>)
continue
}
}
if((dataSource[i].verifyInitiatorId == dataSource[i].regulationOwnerId
if ((dataSource[i].verifyInitiatorId == dataSource[i].regulationOwnerId
&& dataSource[i].verifyInitiatorId == this.userInfo().id) ||
(dataSource[i].verifyInitiatorId == dataSource[i].homologationEngineerId
&& dataSource[i].verifyInitiatorId == this.userInfo().id)){
if(!dataSource[i].verifyDutyId || !dataSource[i].verifyDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('verificationAndConformityconfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
&& dataSource[i].verifyInitiatorId == this.userInfo().id)) {
if (!dataSource[i].verifyDutyId && !dataSource[i].verifyDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('verificationAndConformityconfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
continue
} else if (!dataSource[i].verifyDutyId) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('verificationAndConformityconfirmation') + this.$t('theResponsiblePersonEmpty') } < /div>)
continue
} else if (!dataSource[i].verifyDueDate) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('verificationAndConformityconfirmation') + this.$t('theDeadlineEmpty') } < /div>)
continue
}else if (!dataSource[i].verifyDeliverableType) {
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber + this.$t('verificationAndConformityconfirmation') + this.$t('theDeliveryTypeCannotBeEmpty') } < /div>)
continue
}
}
@@ -1691,7 +1785,7 @@
if (this.rowKeysSuccessList && this.rowKeysSuccessList.length > 0) {
callBack && callBack()
}else{
} else {
let that = this
this.$warning({
content: (
@@ -1707,19 +1801,19 @@
let _this = this
let lawsInventoryList = []
for (let i = 0; i < this.rowKeysSuccessList.length; i++) {
let roleCode
if (this.rowKeysSuccessList[i].regulationOwnerId == this.userInfo().id &&
this.rowKeysSuccessList[i].homologationEngineerId == this.userInfo().id) {
roleCode = 4
} else if (this.rowKeysSuccessList[i].regulationOwnerId == this.userInfo().id) {
roleCode = 1
} else if (this.rowKeysSuccessList[i].homologationEngineerId == this.userInfo().id) {
roleCode = 2
}
lawsInventoryList.push({
id: this.rowKeysSuccessList[i].id,
roleCode: roleCode
})
let roleCode
if (this.rowKeysSuccessList[i].regulationOwnerId == this.userInfo().id &&
this.rowKeysSuccessList[i].homologationEngineerId == this.userInfo().id) {
roleCode = 4
} else if (this.rowKeysSuccessList[i].regulationOwnerId == this.userInfo().id) {
roleCode = 1
} else if (this.rowKeysSuccessList[i].homologationEngineerId == this.userInfo().id) {
roleCode = 2
}
lawsInventoryList.push({
id: this.rowKeysSuccessList[i].id,
roleCode: roleCode
})
}
let query = {
operatorType: 1,
@@ -1738,7 +1832,7 @@
_this.$message.warning(_this.$t('operationFailed'))
_this.confirmLoading = false
}
if(this.rowKeysWarningList && this.rowKeysWarningList.length > 0){
if (this.rowKeysWarningList && this.rowKeysWarningList.length > 0) {
let that = this
this.$warning({
content: (
@@ -1761,13 +1855,17 @@
onOk() {
if (num == 0) {
let selectedRowKeys = JSON.parse(JSON.stringify(_this.selectedRowKeys))
_this.getRowKeys(selectedRowKeys, 1,function() {
_this.getRowKeys(selectedRowKeys, 1, function() {
_this.updateStatusBatch(num, selectedRowKeys)
})
} else {
let selectedRowKeys = JSON.parse(JSON.stringify(_this.selectedRowKeys))
_this.getRowKeys(selectedRowKeys, 2,function() {
_this.getRowKeys(selectedRowKeys, 2, function() {
_this.visibleComment = true
_this.formInlineComment = {}
_this.$nextTick(()=>{
_this.$refs.ruleFormComment.clearValidate()
})
})
}
}
@@ -1780,8 +1878,14 @@
this.$refs.ruleFormComment.validate(valid => {
if (valid) {
let url = '/project/projectCommentEO/add'
let content = []
if (this.rowKeysSuccessList && this.rowKeysSuccessList.length > 0) {
this.rowKeysSuccessList.forEach(res => {
content.push(res.serialNumber)
})
}
let query = {
commentContent: this.formInlineComment.commentContent,
commentContent: this.$t('For')+content.join(',') + this.$t('markedRejection')+'' + this.formInlineComment.commentContent,
projectLibraryId: this.$route.query.id
}
this.confirmLoadingComment = true
@@ -1905,6 +2009,15 @@
this.$message.warning(this.$t('reportNotUploaded'))
}
}
},
standardClick(row) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: row.standId
}
})
window.open(newUrl.href, '_blank')
}
}
}
@@ -1986,14 +2099,14 @@
}
.title-text {
width: 32px;
width: 92px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: left;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
+3 -3
View File
@@ -75,11 +75,11 @@
}
.box-content {
padding: 40px 120px;
padding: 40px 70px;
box-sizing: border-box;
color: #040B29;
font-size: 16px;
text-indent: 30px;
letter-spacing: 3px
text-indent: 24px;
/*letter-spacing: 1px*/
}
</style>
@@ -105,7 +105,17 @@
'2': this.$t('warningInformation'),
'3': this.$t('ForwardPush'),
'4': this.$t('authenticationMessage'),
'5': this.$t('taskRegulationComplianceTask')
'5': this.$t('taskRegulationComplianceTask'),
'6':this.$t('RegulationListConfirmationTask'),
'7':this.$t('RegulationListConfirmationNotification'),
'8':this.$t('RegulationTaskConfirmation'),
'9':this.$t('DesignComplianceTask'),
'10':this.$t('PreHomoTask'),
'11':this.$t('ValidationTask'),
'12':this.$t('DesignComplianceNotification'),
'13':this.$t('PreHomoNotification'),
'14':this.$t('ValidationComplianceNotification'),
'15':this.$t('RegulationTaskConfirmationNotification'),
},
columns: [
{