Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH

This commit is contained in:
wangzhijiang
2023-04-13 18:12:54 +08:00
11 changed files with 461 additions and 183 deletions
@@ -103,6 +103,9 @@ public class ParamsManifestEO implements Serializable {
@TableField(exist = false)
private String projectName;
@TableField(exist = false)
private String projectNameEn;
@ApiModelProperty(value = "相关项目版本")
private String projectVersion;
@@ -27,6 +27,7 @@
<result column="version" property="version" />
<result column="project_id" property="projectId" />
<result column="project_name" property="projectName" />
<result column="project_name_en" property="projectNameEn" />
<result column="state" property="state" />
<result column="params_template_name" property="paramsTemplateName" />
<result column="params_template_id" property="paramsTemplateId" />
@@ -204,7 +205,8 @@
select
plb.id as project_id,
target_market as targetMarket,
concat(pni.project_name,'-',pyni.year_name) as project_name
concat(pni.project_name,'-',pyni.year_name) as project_name,
concat(pni.project_name,'-',pyni.year_name) as project_name_en
from project_library_base plb
left join project_name_info as pni on plb.project_name_id = pni.id
left join project_year_name_info as pyni on plb.year_name_id = pyni.id
@@ -37,6 +37,7 @@ import com.jero.modules.cert.template.enums.ParamsIsMustEnum;
import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService;
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
import com.jero.modules.document.vo.QueryConditionVO;
import com.jero.modules.feishu.enums.TemplateInfoEnum2;
import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
import com.jero.modules.message.websocket.WebSocket;
@@ -53,6 +54,7 @@ import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
import com.jero.modules.project.service.IProjectUserPermissionService;
import com.jero.modules.project.service.impl.ProjectLawsInventoryEOServiceImpl;
import com.jero.modules.split.common.FileUnZip;
import com.jero.modules.split.common.ReadExcel;
import com.jero.modules.system.entity.SysDictItem;
@@ -164,6 +166,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
private IProjectUserPermissionService projectUserPermissionService;
@Resource
private WebSocket webSocket; // 消息专用
@Resource
private ProjectLawsInventoryEOServiceImpl projectLawsInventoryEOService; // 消息专用
@Value(value = "${jero.path.upload}")
private String uploadpath;
@@ -2166,8 +2170,18 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
List<String> userNameList = new ArrayList<>();
List<String> nioNumberList = new ArrayList<>();
String state = "";
for (int i = 0; i < paramsCollectManifestIdStr.length; i++) {
ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]);
if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getNioNumber())){
nioNumberList.add(paramsCollectManifestEO.getNioNumber());
}
if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getDre())){
userNameList.add(paramsCollectManifestEO.getSdt());
}
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
updateEO.setId(paramsCollectManifestIdStr[i]);
if (CollectManifestStateEnum.SDT_BACK.getValue().equals(paramsCollectManifestEO.getState())
@@ -2175,8 +2189,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|| CollectManifestStateEnum.CERT_BACK.getValue().equals(paramsCollectManifestEO.getState())) {
updateEO.setState(String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) - 2)); // 设置对应状态
state = String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) - 2);
} else {
updateEO.setState(String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) + 1)); // 设置对应状态
state = String.valueOf(Integer.parseInt(paramsCollectManifestEO.getState()) + 1);
}
updateEOList.add(updateEO);
@@ -2257,99 +2273,69 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
}
if (update) {
//飞书
for (ParamsCollectManifestEO paramsCollectManifestEO : updateEOList) {
paramsCollectManifestEO = getById(paramsCollectManifestEO.getId());
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsCollectManifestEO.getParamsManifestId());
//日期
String deadline = new SimpleDateFormat("yyyy-MM-dd").format(paramsCollectManifestEO.getDeadline());
//项目名称
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(paramsManifestEO.getProjectId(),
paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); // 获取项目信息
//url
String urlParamsStr = parseUrlParams(paramsManifestEO);
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
//认证工程师
//String[] engThirdIds = new String[1];
List<String> engThirdIds = new ArrayList<>();
List<ProjectLibraryBase> projectLibraryBases = projectLibraryBaseMapper.queryById(paramsManifestEO.getProjectId());
if (ObjectUtils.isNotEmpty(projectLibraryBases)) {
String[] ids = projectLibraryBases.get(0).getCertificationEngineer().split(",");
if (ObjectUtils.isNotEmpty(ids)) {
for (String id : ids) {
SysUser engineer = sysUserService.getById(id);
if (ObjectUtils.isNotEmpty(engineer)) {
engThirdIds.add(engineer.getThirdId());
}
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId);
List<String> userIdList = new ArrayList<>();
List<ProjectLibraryBase> projectLibraryBases = projectLibraryBaseMapper.queryById(paramsManifestEO.getProjectId());
if (ObjectUtils.isNotEmpty(projectLibraryBases)) {
String[] ids = projectLibraryBases.get(0).getCertificationEngineer().split(",");
if (ObjectUtils.isNotEmpty(ids)) {
for (String id : ids) {
SysUser engineer = sysUserService.getById(id);
if (ObjectUtils.isNotEmpty(engineer)) {
userIdList.add(engineer.getId());
}
}
}
if (CollectManifestStateEnum.SDT_BACK.getValue().equals(paramsCollectManifestEO.getState())) {
//通知认证工程师
try {
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper("您好," + currentUser.getUsername() + "退回了参数NIO-" + paramsCollectManifestEO.getNioNumber() + ",请及时处理");
feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() +
"\n发起人: " + currentUser.getUsername() +
"\n截止时间: " + deadline);
feishuMsgVo.setEnContentUpper("Hello! " + currentUser.getUsername() + " has returned the Parameter NIO-" + paramsCollectManifestEO.getNioNumber() + ". Please address it in a timely manner");
feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() +
"\nInitiator: " + currentUser.getUsername() +
"\nDue Date: " + deadline);
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.RED.getValue()); // 颜色
feishuService.sendCard(engThirdIds.toArray(new String[engThirdIds.size()]), feishuMsgVo);
} catch (IOException e) {
log.error("飞书消息推送失败");
}
} else if (CollectManifestStateEnum.DRE_BACK.getValue().equals(paramsCollectManifestEO.getState())) {
}
//通知认证工程师
/*try {
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper("您好,"+ currentUser.getUsername() +"申请撤回参数NIO-"+ paramsCollectManifestEO.getNioNumber() +",请及时处理");
feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() +
"\n发起人: " + currentUser.getUsername() +
"\n截止时间: " + deadline);
feishuMsgVo.setEnContentUpper("Hello! "+ currentUser.getUsername() +" requested for withdrawing Parameter NIO-"+ paramsCollectManifestEO.getNioNumber() +". Please address it in a timely manner");
feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() +
"\nInitiator: " + currentUser.getUsername() +
"\nDue Date: " + deadline);
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.RED.getValue()); // 颜色
feishuService.sendCard(engThirdIds.toArray(new String[engThirdIds.size()]), feishuMsgVo);
} catch (IOException e) {
log.error("飞书消息推送失败");
}*/
//通知工程接口人
List<String> SdtThirdIds = new ArrayList<>();
for (String sdt : paramsCollectManifestEO.getSdt().split(",")) {
SysUser sdtUser = sysUserService.getUserByName(sdt);
if (ObjectUtils.isNotEmpty(sdtUser)) {
SdtThirdIds.add(sdtUser.getThirdId());
}
}
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(paramsManifestEO.getProjectId(),
paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut());
paramsManifestEO.setProjectName(projectInfo.getProjectName());
paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn());
try {
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper("您好," + currentUser.getUsername() + "退回了参数NIO-" + paramsManifestEO.getTitle() + ",请及时处理");
feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() +
"\n发起人: " + currentUser.getUsername() +
"\n截止时间: " + deadline);
feishuMsgVo.setEnContentUpper("Hello! " + currentUser.getUsername() + " has returned the Parameter NIO-" + paramsManifestEO.getTitle() + ". Please address it in a timely manner");
feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() +
"\nInitiator: " + currentUser.getUsername() +
"\nDue Date: " + deadline);
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.RED.getValue()); // 颜色
feishuService.sendCard(SdtThirdIds.toArray(new String[SdtThirdIds.size()]), feishuMsgVo);
} catch (IOException e) {
log.error("飞书消息推送失败");
}
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
if (CollectManifestStateEnum.SDT_BACK.getValue().equals(state)) {
try {
String contentInfoFeiCn = "您好," + currentUser.getUsername() + "退回了参数" + StringUtils.join(nioNumberList,",") + ",请及时处理。";
String contentInfoFeiEn = "Hello! " + currentUser.getUsername() + " has returned the Parameter " + StringUtils.join(nioNumberList,",") + ". Please address it in a timely manner.";
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",userIdList);
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_BACK.getValue(),params);
} catch (Exception e) {
log.error("飞书消息推送失败");
}
} else if (CollectManifestStateEnum.DRE_BACK.getValue().equals(state)) {
try {
List<SysUser> sysUserList = sysUserService.querySysUserByUserNameList(userNameList);
List<String> sdtIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList());
String contentInfoFeiCn = "您好," + currentUser.getUsername() + "退回了参数" + StringUtils.join(nioNumberList,",") + ",请及时处理。";
String contentInfoFeiEn = "Hello! " + currentUser.getUsername() + " has returned the Parameter " + StringUtils.join(nioNumberList,",") + ". Please address it in a timely manner.";
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",sdtIdList);
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_BACK.getValue(),params);
} catch (Exception e) {
log.error("飞书消息推送失败");
}
}
@@ -2368,8 +2354,17 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
List<String> nioNumberList = new ArrayList<>();
List<String> userNameList = new ArrayList<>();
for (int i = 0; i < paramsCollectManifestIdStr.length; i++) {
ParamsCollectManifestEO paramsCollectManifestEO = getById(paramsCollectManifestIdStr[i]);
if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getNioNumber())){
nioNumberList.add(paramsCollectManifestEO.getNioNumber());
}
if(ObjectUtils.isNotEmpty(paramsCollectManifestEO) && StringUtils.isNotBlank(paramsCollectManifestEO.getDre())){
userNameList.add(paramsCollectManifestEO.getDre());
}
Integer state = Integer.parseInt(paramsCollectManifestEO.getState());
ParamsCollectManifestEO updateEO = new ParamsCollectManifestEO();
@@ -2397,6 +2392,37 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
if (CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)) {
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
}
//工程接口人强制撤回给填写人发飞书消息
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsCollectManifestVO.getParamsManifestId()); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(paramsCollectManifestVO.getProjectId(), paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName());
paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn());
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
List<SysUser> sysUserList = sysUserService.querySysUserByUserNameList(userNameList);
List<String> userIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList());
String contentInfoFeiCn = "您参与填写的参数 " + StringUtils.join(nioNumberList,",") + " 已被 " + currentUser.getUsername() + " 撤回。";
String contentInfoFeiEn = "The parameter " + StringUtils.join(nioNumberList,",") + " you filled in have been withdrawn by " + currentUser.getUsername();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// //飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",userIdList);
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("dueDate","");
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_NO_DEADLINE.getValue(),params);
return updateBatchById(updateEOList);
}
@@ -2487,6 +2513,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId,
paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName());
paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String[] paramsCollectManifestIdStr = paramsCollectManifestIds.split(",");
@@ -2562,13 +2589,13 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
SysUser sysUser = sysUserService.getUserByName(dre);
String[] thirdIds = new String[1];
thirdIds[0] = sysUser.getThirdId();
String urlParamsStr = parseUrlParams(paramsManifestEO);
String urlParamsStr = parseUrlParams(paramsManifestEO,null,null);
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
//String href = "<a href='/ParameterItemCollection" + urlParamsStr + "'" + " target='_blank'>the link</a>,";
//String content = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " and other parameter items, please enter the link to handle it.";
//String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length()-1) + " and other parameter items, please enter " + href + " and fill in the relevant information.";
//String msgTitle = projectInfo.getProjectName() + ": You have a homo parameter task to complete";
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
// 发送系统消息
/*SysAnnouncement sysAnnouncement = new SysAnnouncement();
sysAnnouncement.setDelFlag("0");
@@ -2604,20 +2631,37 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
log.error("飞书消息推送失败");
}*/
try {
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper("您好," + currentUser.getUsername() + "向您分发了认证参数填写任务,请及时处理。");
feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() +
"\n发起人: " + currentUser.getUsername() +
"\n截止时间: " + sdf.format(deadline));
feishuMsgVo.setEnContentUpper("Hello! " + currentUser.getUsername() + " has assigned the task of filling in Homo Parameter to you. Please address it in a timely manner.");
feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() +
"\nInitiator: " + currentUser.getUsername() +
"\nDue Date: " + sdf.format(deadline));
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色
feishuService.sendCard(thirdIds, feishuMsgVo);
} catch (IOException e) {
// FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
// feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
// feishuMsgVo.setCnContentUpper("您好," + currentUser.getUsername() + "向您分发了认证参数填写任务,请及时处理。");
// feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() +
// "\n发起人: " + currentUser.getUsername() +
// "\n截止时间: " + sdf.format(deadline));
// feishuMsgVo.setEnContentUpper("Hello! " + currentUser.getUsername() + " has assigned the task of filling in Homo Parameter to you. Please address it in a timely manner.");
// feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() +
// "\nInitiator: " + currentUser.getUsername() +
// "\nDue Date: " + sdf.format(deadline));
// feishuMsgVo.setUrl(hrefFeishu);
// feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色
// feishuService.sendCard(thirdIds, feishuMsgVo);
String contentInfoFeiCn = "您好," + currentUser.getUsername() + "向您分发了认证参数填写任务,请及时处理。";
String contentInfoFeiEn = "Hello! " + currentUser.getUsername() + " has assigned the task of filling in Homo Parameter to you. Please address it in a timely manner.";
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",Arrays.asList(sysUser.getId().split(",")));
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("dueDate",sdf.format(deadline));
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params);
} catch (Exception e) {
log.error("飞书消息推送失败");
}
@@ -2643,6 +2687,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId, paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName());
paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String[] paramsCollectManifestIdStr = paramsCollectManifestIds.split(",");
@@ -2743,48 +2788,57 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
SysUser sysUser = sysUserService.getUserByName(sdt);
String[] thirdIds = new String[1];
thirdIds[0] = sysUser.getThirdId();
String urlParamsStr = parseUrlParams(paramsManifestEO);
String urlParamsStr = parseUrlParams(paramsManifestEO,paramsCollectManifestVO.getCut(),projectInfo.getProjectNameEn());
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
//String href = "<a href='/ParameterItemCollection" + urlParamsStr + "'" + " target='_blank'>the link</a>,";
//String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length() - 1) + " and other parameter items, please enter " + href + " and fill in the relevant information.";
//String msgTitle = projectInfo.getProjectName() + ": You have a homo parameter task to complete";
// 发送系统消息
/* SysAnnouncement sysAnnouncement = new SysAnnouncement();
sysAnnouncement.setDelFlag("0");
sysAnnouncement.setSendStatus("0");
sysAnnouncement.setSendTime(new Date());
sysAnnouncement.setMsgCategory(MessageTypeEnum.HOMO_TASK.getValue());//消息类型
sysAnnouncement.setInitiator(currentUser.getUsername()); // 发起人
sysAnnouncement.setMsgType(CommonConstant.MSG_TYPE_UESR);//指定用户
sysAnnouncement.setTitile(msgTitle);
sysAnnouncement.setMsgContent(content);
sysAnnouncement.setMsgContentInfo(contentInfo);
sysAnnouncement.setUserIds(sysUser.getId());
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
JSONObject obj = new JSONObject();
obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_TOPIC);
obj.put(WebsocketConst.MSG_ID, paramsManifestId);
obj.put(WebsocketConst.MSG_TXT, contentInfo);
webSocket.sendMessage(obj.toJSONString());*/
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
// 发送飞书消息
try {
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper("您好,请及时分配参数填写人");
feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() +
"\n发起人: " + currentUser.getUsername() +
"\n截止时间: " + sdf.format(deadline));
feishuMsgVo.setEnContentUpper("Hello! Please assign the task of filling in Homo Parameter in a timely manner");
feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() +
"\nInitiator: " + currentUser.getUsername() +
"\nDue Date: " + sdf.format(deadline));
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色
feishuService.sendCard(thirdIds, feishuMsgVo);
} catch (IOException e) {
// FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
// feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
// feishuMsgVo.setCnContentUpper("您好,请及时分配参数填写人");
// feishuMsgVo.setCnContentLower("项目: " + projectInfo.getProjectName() +
// "\n发起人: " + currentUser.getUsername() +
// "\n截止时间: " + sdf.format(deadline));
// feishuMsgVo.setEnContentUpper("Hello! Please assign the task of filling in Homo Parameter in a timely manner");
// feishuMsgVo.setEnContentLower("Project: " + projectInfo.getProjectName() +
// "\nInitiator: " + currentUser.getUsername() +
// "\nDue Date: " + sdf.format(deadline));
// feishuMsgVo.setUrl(hrefFeishu);
// feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色
// feishuService.sendCard(thirdIds, feishuMsgVo);
String contentInfoFeiCn = "您好,请及时分配参数填写人。";
String contentInfoFeiEn = "Hello! Please assign the task of filling in Homo Parameter in a timely manner.";
if(StringUtils.isNotBlank(paramsCollectManifestVO.getProjectId())){
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(paramsCollectManifestVO.getProjectId());
String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文
String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文
// 获取法规清单 - 飞书跳转链接
Map<String, Object> hrefFeishuMap = projectLawsInventoryEOService
.getProjectLawsInventoryLinkHrefFeishu(projectLibraryBase.getId(), PRN_CN,PRN_EN, com.jero.modules.system.enums.ProjectRoleEnum.REGULATI_ENGINEER.getValue());
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",Arrays.asList(sysUser.getId().split(",")));
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("dueDate",sdf.format(deadline));
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
// params.put("back_url_cn",(String)hrefFeishuMap.get("hrefFeishu_cn"));
// params.put("back_url_en",(String)hrefFeishuMap.get("hrefFeishu_en"));
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params);
}
} catch (Exception e) {
log.error("飞书消息推送失败");
}
}
@@ -2817,6 +2871,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId, paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName());
paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
@@ -2921,7 +2976,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String[] thirdIds = new String[1];
thirdIds[0] = sysUser.getThirdId();
String urlParamsStr = parseUrlParams(paramsManifestEO);
String urlParamsStr = parseUrlParams(paramsManifestEO,null,null);
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
//String href = "<a href='/ParameterItemCollection" + urlParamsStr + "'" + " target='_blank'>the link</a>,";
//String contentInfo = connectBuilder.substring(0, connectBuilder.toString().length() - 1) + " and other parameter items, please enter " + href + " and fill in the relevant information.";
@@ -5132,13 +5187,12 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
* @param clazz 实体类
* @return URL Params
*/
private String parseUrlParams(Object clazz) {
private String parseUrlParams(Object clazz,String cut,String projectNameEn) {
// 遍历属性类属性值
List<Field> list = findAllFieldsOfSelfAndSuperClass(clazz.getClass());
StringBuilder requestURL = new StringBuilder();
try {
boolean flag = true;
String property, value, params;
for (Field field : list) {
@@ -5151,7 +5205,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
// 属性名
property = field.getName();
// 属性值
if (field.get(clazz) != null) {
if (field.get(clazz) != null && !"projectNameEn".equals(property)) {
if (Date.class.equals(field.getType())) {
Date date = (Date) field.get(clazz);
String pattern = "";
@@ -5160,7 +5214,12 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String time = formatter.format(date);
value = time;
} else {
value = field.get(clazz).toString();
if(CutEnum.EN.getValue().equals(cut) && "projectName".equals(property)){
value = projectNameEn;
}else{
value = field.get(clazz).toString();
}
}
params = property + "=" + value;
} else {
@@ -6196,7 +6255,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(manifestEO.getProjectId(), manifestEO.getProjectVersion(), null);
if (ObjectUtils.isNotEmpty(projectInfo)) {
//url
String urlParamsStr = parseUrlParams(manifestEO);
String urlParamsStr = parseUrlParams(manifestEO,null,null);
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
//查出对应清单
List<ParamsCollectManifestEO> collectManifestEOS = paramsCollectManifestEOMapper.queryByParamManifestId(manifestEO.getId());
@@ -6570,9 +6629,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
List<ParamsCollectManifestLogEO> paramsCollectManifestLogEOList = new ArrayList<>();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<String> nioNumberList = new ArrayList<>();
List<String> userNameList = new ArrayList<>();
for (int i = 0; i < paramsCollectManifestIdArr.length; i++) {
String paramsCollectManifestId = paramsCollectManifestIdArr[i];
ParamsCollectManifestEO collectManifestEO = this.getById(paramsCollectManifestId);
if(ObjectUtils.isNotEmpty(collectManifestEO) && StringUtils.isNotBlank(collectManifestEO.getNioNumber())){
nioNumberList.add(collectManifestEO.getNioNumber());
}
if(ObjectUtils.isNotEmpty(collectManifestEO) && StringUtils.isNotBlank(collectManifestEO.getSdt())){
userNameList.add(collectManifestEO.getSdt());
}
if(ObjectUtils.isNotEmpty(collectManifestEO) && StringUtils.isNotBlank(collectManifestEO.getDre())){
userNameList.add(collectManifestEO.getDre());
}
// 如果数据状态为 "已同步上报库",不予处理
if (StringUtils.equals(collectManifestEO.getState(), CollectManifestStateEnum.SYNC_REPORT.getValue())) {
continue;
@@ -6633,6 +6703,38 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
if (CollectionUtils.isNotEmpty(paramsCollectManifestLogEOList)) {
this.paramsCollectManifestLogEOService.saveBatch(paramsCollectManifestLogEOList);
}
//飞书消息填写人和工程接口人
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsCollectManifestVO.getParamsManifestId()); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(paramsCollectManifestVO.getProjectId(), paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName());
paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn());
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
List<SysUser> sysUserList = sysUserService.querySysUserByUserNameList(userNameList);
List<String> userIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList());
String contentInfoFeiCn = "您参与填写的参数 " + StringUtils.join(nioNumberList,",") + " 已被 " + currentUser.getUsername() + " 撤回。";
String contentInfoFeiEn = "The parameter " + StringUtils.join(nioNumberList,",") + " you filled in have been withdrawn by " + currentUser.getUsername();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// //飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",userIdList);
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("dueDate","");
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_NO_DEADLINE.getValue(),params);
return Result.OK("强制撤回成功!");
}
@@ -6651,6 +6753,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId); // 获取清单信息
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId, paramsManifestEO.getProjectVersion(), paramsCollectManifestVO.getCut()); // 获取项目信息
paramsManifestEO.setProjectName(projectInfo.getProjectName());
paramsManifestEO.setProjectNameEn(projectInfo.getProjectNameEn());
String[] paramsCollectManifestIdArr = paramsCollectManifestIds.split(",");
List<ParamsCollectManifestEO> updateEOList = new ArrayList<>();
@@ -6700,7 +6803,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
* @param dre
* @param deadline
*/
public void sendChangeMessage(List<Map<String, Object>> paramsCollectManifestMapList, ParamsManifestEO paramsManifestEO, ParamsManifestVO projectInfo, String dre, Date deadline) {
public void sendChangeMessage(List<Map<String, Object>> paramsCollectManifestMapList,
ParamsManifestEO paramsManifestEO, ParamsManifestVO projectInfo,
String dre, Date deadline) {
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (CollectionUtils.isNotEmpty(paramsCollectManifestMapList)) {
// 工程接口人
@@ -6720,16 +6825,23 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
nioNumbers = nioNumbers.substring(0, nioNumbers.length() - 1);
}
String cnContentUpper = "您参与填写的参数 " + nioNumbers + ",已被 " + currentUser.getUsername() + " 重新分发给 " + dre + "请及时查看。";
String cnContentUpper = "您参与填写的参数 " + nioNumbers + ",已被 " + currentUser.getUsername() + " 重新分发给 " + dre + " 请及时查看。";
String enContentUpper = "The parameter " + nioNumbers + " you distributed have been re-assigned to " + currentUser.getUsername() + " by " + dre;
// 消息内容
SysUser sysUser = this.sysUserService.getUserByName(sdtUserName);
String[] thirdIds = new String[1];
thirdIds[0] = sysUser.getThirdId();
String urlParamsStr = parseUrlParams(paramsManifestEO);
String urlParamsStr = parseUrlParams(paramsManifestEO,null,null);
String hrefFeishu = this.backUrl + "/ParameterItemCollection" + urlParamsStr;
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper(cnContentUpper);
@@ -6741,8 +6853,24 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue());
try {
this.feishuService.sendCard(thirdIds, feishuMsgVo);
} catch (IOException e) {
// this.feishuService.sendCard(thirdIds, feishuMsgVo);
// String contentInfoFeiCn = "";
// String contentInfoFeiEn = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",cnContentUpper);
params.put("contentInfoFeiEn",enContentUpper);
params.put("userIdList",Arrays.asList(sysUser.getId().split(",")));
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
params.put("dueDate",sdf.format(deadline));
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params);
} catch (Exception e) {
log.error("飞书消息推送失败");
}
}
@@ -6770,9 +6898,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
SysUser sysUser = sysUserService.getUserByName(dreUpdateFront);
String[] thirdIds = new String[1];
thirdIds[0] = sysUser.getThirdId();
String urlParamsStr = parseUrlParams(paramsManifestEO);
String urlParamsStr = parseUrlParams(paramsManifestEO,null,null);
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper(cnContentUpper);
@@ -6784,8 +6917,22 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue());
try {
this.feishuService.sendCard(thirdIds, feishuMsgVo);
} catch (IOException e) {
// this.feishuService.sendCard(thirdIds, feishuMsgVo);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",cnContentUpper);
params.put("contentInfoFeiEn",enContentUpper);
params.put("userIdList",Arrays.asList(sysUser.getId().split(",")));
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
params.put("dueDate",sdf.format(deadline));
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params);
} catch (Exception e) {
log.error("飞书消息推送失败");
}
}
@@ -6800,9 +6947,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
SysUser sysUser = sysUserService.getUserByName(dreUpdateAfter);
String[] thirdIds = new String[1];
thirdIds[0] = sysUser.getThirdId();
String urlParamsStr = parseUrlParams(paramsManifestEO);
String urlParamsStr = parseUrlParams(paramsManifestEO,null,null);
String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr;
String urlParamsStrCn = parseUrlParams(paramsManifestEO,CutEnum.CN.getValue(),projectInfo.getProjectNameEn());
String urlParamsStrEn = parseUrlParams(paramsManifestEO,CutEnum.EN.getValue(),projectInfo.getProjectNameEn());
String hrefFeishuCn = backUrl + "/ParameterItemCollection" + urlParamsStrCn;
String hrefFeishuEn = backUrl + "/ParameterItemCollection" + urlParamsStrEn;
FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo();
feishuMsgVo.setTitle(MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn());
feishuMsgVo.setCnContentUpper("您好," + currentUser.getUsername() + "向您分发了认证参数填写任务,请及时处理。");
@@ -6816,8 +6968,24 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
feishuMsgVo.setUrl(hrefFeishu);
feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue());
try {
this.feishuService.sendCard(thirdIds, feishuMsgVo);
} catch (IOException e) {
// this.feishuService.sendCard(thirdIds, feishuMsgVo);
String contentInfoFeiCn = "您好," + currentUser.getUsername() + "向您分发了认证参数填写任务,请及时处理。";
String contentInfoFeiEn = "Hello! " + currentUser.getUsername() + " has assigned the task of filling in Homo Parameter to you. Please address it in a timely manner.";
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",Arrays.asList(sysUser.getId().split(",")));
params.put("projectCn",projectInfo.getProjectName());
params.put("projectEn",projectInfo.getProjectNameEn());
params.put("initiator",currentUser.getUsername());
params.put("dueDate",sdf.format(deadline));
params.put("back_url_cn",hrefFeishuCn);
params.put("back_url_en",hrefFeishuEn);
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params);
} catch (Exception e) {
log.error("飞书消息推送失败");
}
}
@@ -830,11 +830,15 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
public ParamsManifestVO getProjectById(String projectId, String projectVersion, String cut) {
ParamsManifestVO paramsManifestVO = paramsManifestEOMapper.getProjectById(projectId);
String targetMarket = paramsManifestVO.getTargetMarket();//目标市场
String targetMarketCn = "";//目标市场
String targetMarketEn = "";//目标市场
if (StringUtils.isNotEmpty(targetMarket)) {
List<DictModel> regionList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
targetMarket = getTargetMarket(cut, regionList, targetMarket);
targetMarketCn = getTargetMarket(CutEnum.CN.getValue(), regionList, targetMarket);
targetMarketEn = getTargetMarket(CutEnum.EN.getValue(), regionList, targetMarket);
}
paramsManifestVO.setProjectName(paramsManifestVO.getProjectName() + "-" + targetMarket + "-" + projectVersion); // 项目名称加上 相关项目版本
paramsManifestVO.setProjectName(paramsManifestVO.getProjectName() + "-" + targetMarketCn + "-" + projectVersion); // 项目名称加上 相关项目版本
paramsManifestVO.setProjectNameEn(paramsManifestVO.getProjectNameEn() + "-" + targetMarketEn + "-" + projectVersion); // 项目名称加上 相关项目版本
return paramsManifestVO;
}
@@ -14,6 +14,7 @@ public class ParamsManifestVO {
private String title;
private Integer version;
private String projectName;
private String projectNameEn;
private String targetMarket;
private String projectId;
private String state;
@@ -1065,24 +1065,24 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
Map<String, Object> menuMap = new HashMap<>();
menuMap.put("name",areaName);
result.add(menuMap);
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
for (OnlCgformField onlCgformField : fieldListTemp) {
//字段
String dbFieldName = onlCgformField.getDbFieldName();
//字段类型
String fieldShowType = onlCgformField.getFieldShowType();
if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) {
Map<String, Object> menuMap1 = new HashMap<>();
menuMap1.put("pname",areaName);
if (CutEnum.CN.getValue().equals(cut)) {
menuMap1.put("name",onlCgformField.getDbFieldTxt());
} else {
menuMap1.put("name",onlCgformField.getDbFieldEnName());
}
result.add(menuMap1);
}
}
// List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
// for (OnlCgformField onlCgformField : fieldListTemp) {
// //字段
// String dbFieldName = onlCgformField.getDbFieldName();
// //字段类型
// String fieldShowType = onlCgformField.getFieldShowType();
//
// if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) {
// Map<String, Object> menuMap1 = new HashMap<>();
// menuMap1.put("pname",areaName);
// if (CutEnum.CN.getValue().equals(cut)) {
// menuMap1.put("name",onlCgformField.getDbFieldTxt());
// } else {
// menuMap1.put("name",onlCgformField.getDbFieldEnName());
// }
// result.add(menuMap1);
// }
// }
}
return result;
}
@@ -92,6 +92,29 @@ public enum TemplateInfoEnum2 {
*/
REGULATION_TECHNICAL_ASSESSMENT("法规技术评估","ctp_AArfYGLozU47","Regulation Technical Assessment"),
/**
* 认证参数收集-绿色
*/
HOMO_PARAMETER_COLLECTION_GREEN("认证参数收集","ctp_AArfOz40GZbO","Homo Parameter Collection"),
/**
* 认证参数收集-红色
*/
HOMO_PARAMETER_COLLECTION_RED("认证参数收集","ctp_AArY524rQ7Be","Homo Parameter Collection"),
/**
* 认证参数收集-不含截止时间
*/
HOMO_PARAMETER_COLLECTION_NO_DEADLINE("认证参数收集","ctp_AArf8fDcmoHs","Homo Parameter Collection"),
/**
* 认证参数收集-退回
*/
HOMO_PARAMETER_COLLECTION_BACK("认证参数收集","ctp_AArfMfqLZlqQ","Homo Parameter Collection"),
;
@@ -152,4 +152,11 @@ public interface IFeishuService {
*/
void sendMessageRegulationOpinionCollection(String templeteId,Map<String,Object> params);
/**
* 飞书消息模板--认证参数收集(主题颜色为红色或绿色)
* @param templeteId
* @param params
*/
void sendMessageHomoParameterCollection(String templeteId,Map<String,Object> params);
}
@@ -1473,6 +1473,11 @@ public class FeishuServiceImpl implements IFeishuService {
}
}
/**
* 飞书消息模板--法规预警
* @param templeteId
* @param params
*/
@Override
public void sendMessageLawsWarn(String templeteId, Map<String, Object> params) {
List<String> userIdList = (List<String>) params.get("userIdList");
@@ -1516,6 +1521,11 @@ public class FeishuServiceImpl implements IFeishuService {
}
}
/**
* 飞书消息模板--法规意见收集和法规技术评估
* @param templeteId
* @param params
*/
@Override
public void sendMessageRegulationOpinionCollection(String templeteId, Map<String, Object> params) {
List<String> userIdList = (List<String>) params.get("userIdList");
@@ -1563,7 +1573,55 @@ public class FeishuServiceImpl implements IFeishuService {
log.error("飞书消息推送失败");
}
}
}
/**
* 飞书消息模板--认证参数收集(主题颜色为红色或绿色)
* @param templeteId
* @param params
*/
@Override
public void sendMessageHomoParameterCollection(String templeteId, Map<String, Object> params) {
List<String> userIdList = (List<String>) params.get("userIdList");
if (CollectionUtils.isNotEmpty(userIdList)) {
List<SysUser> userInfoList = this.sysUserService.querySysUserListByIdList(userIdList);
String contentCn = (String) params.get("contentInfoFeiCn");
String contentEn = (String) params.get("contentInfoFeiEn");
String back_url_cn = (String) params.get("back_url_cn");
String back_url_en = (String) params.get("back_url_en");
String projectCn = (String) params.get("projectCn");
String projectEn = (String) params.get("projectEn");
String initiator = (String) params.get("initiator");
// String initiatorEn = (String) params.get("initiatorEn");
String dueDate = (String) params.get("dueDate");
try {
for (String userId : userIdList) {
String thirdId = this.sysUserService.getUserThirdIdByUserId(userInfoList,userId);
if(StringUtils.isNotEmpty(thirdId)){
// 根据结束时间进行排序,获取最近的时间,发消息时使用。
JSONObject larkMesJson = new JSONObject();
larkMesJson.put("template_id", templeteId);
larkMesJson.put("userIds",thirdId);
Map<String,Object> templateVariableMap = new HashMap<>();
templateVariableMap.put("contentInfoFeiCn",contentCn);
templateVariableMap.put("contentInfoFeiEn",contentEn);
templateVariableMap.put("view_url_cn",back_url_cn);
templateVariableMap.put("view_url_en",back_url_en);
templateVariableMap.put("projectCn"," " + projectCn);
templateVariableMap.put("projectEn"," " + projectEn);
templateVariableMap.put("initiator"," " + initiator);
// templateVariableMap.put("initiatorEn",initiatorEn);
templateVariableMap.put("dueDate"," " + dueDate);
larkMesJson.put("templateVariableMap",templateVariableMap);
batchSendLarkCardMsgByTemplate2(larkMesJson);
}
}
} catch (Exception e) {
log.error("飞书消息推送失败");
}
}
}
}
@@ -27,6 +27,13 @@ public enum JumpLinkEnum {
PROBLEM_KNOWLEDGE_BASE_DETAIL("问题知识库,详情页","","/problemKnowledgeBaseView",""),
PROBLEM_KNOWLEDGE_BASE("问题知识库,列表页","","/problemknowledgeBase",""),
//认证参数收集,认证工程师发起,工程接口人接收
// PROBLEM_KNOWLEDGE_BASE("问题知识库,列表页","","/problemknowledgeBase",""),
;
@@ -2216,7 +2216,12 @@
_array.push(item.id)
})
let _this = this
let param = { ids: _array.join(',') }
let param = {
ids: _array.join(',') ,
paramsManifestId:this.$route.query.id,
projectId:this.$route.query.projectId,
}
let url = ''
if (this.currentPersonRole == 'homo') {
url = '/jero-boot/params/collectManifest/mandatoryWithdraw'