参数收集-催办

This commit is contained in:
zhn
2023-12-21 16:11:04 +08:00
parent 0efc53eef6
commit 2396a365e1
5 changed files with 112 additions and 0 deletions
@@ -729,4 +729,10 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
return Result.OK(sdtList);
}
@ApiOperation(value="催办", notes="催办")
@PostMapping(value = "/urge")
public void urge(String ids,String projectId,String title,String inventoryName,String url){
paramsCollectManifestEOService.urge(ids,projectId,title,inventoryName,url);
}
}
@@ -205,6 +205,7 @@
select tmp_tb.* from(
select
plb.id as project_id,
plb.project_version as project_version,
target_market as targetMarket,
concat(pni.project_name,'-',pyni.year_name) as project_name,
concat(pni.project_name,'-',pyni.year_name) as project_name_en
@@ -207,4 +207,6 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
Result<?> queryDutyTerritory(String id);
Result<?> queryDutyTerritoryHistory(String id);
void urge(String ids,String projectId,String title,String inventoryName,String url);
}
@@ -8091,4 +8091,104 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
return Result.OK(resList);
}
/**
*
* @param ids
* @param projectId
* @param title 清单标题
* @param inventoryVersion 清单版本
* @param url
*/
@Override
public void urge(String ids, String projectId,String title, String inventoryVersion, String url) {
ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(projectId, null, null);
//项目名称中英文
String projectNameCn = projectInfo.getProjectName();
String projectNameEn = projectInfo.getProjectNameEn();
//清单中英文 参数项收集清单(Rosa-G1.1-中国香港-00) ttt 1
String inventoryNameCn = "参数项收集清单("+projectInfo.getProjectName()+")"+" - " + title + " - " + inventoryVersion;
String inventoryNameEn = "Parameter Collection List("+projectInfo.getProjectName()+")"+" - " + title + " - " + inventoryVersion;
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
LambdaQueryWrapper<ParamsCollectManifestEO> wrapper = new LambdaQueryWrapper<>();
wrapper.in(ParamsCollectManifestEO::getId,Arrays.asList(ids.split(",")));
List<ParamsCollectManifestEO> paramsCollectManifestEOList = this.list(wrapper);
if(ObjectUtils.isEmpty(paramsCollectManifestEOList)){
return;
}
//催办状态为待工程接口人处理给工程接口人发消息
List<ParamsCollectManifestEO> paramsCollectManifestEOSdtList = paramsCollectManifestEOList.stream()
.filter(e -> CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState())).collect(Collectors.toList());
//催办状态为待填写的给填写人发消息
List<ParamsCollectManifestEO> paramsCollectManifestEOFillList = paramsCollectManifestEOList.stream()
.filter(e -> CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState())).collect(Collectors.toList());
List<String> userNameList = new ArrayList<>();
//给工程接口人发消息
if(ObjectUtils.isNotEmpty(paramsCollectManifestEOSdtList)){
List<String> sdtList = paramsCollectManifestEOSdtList.stream()
.filter(e -> StringUtils.isNotBlank(e.getSdt())).map(ParamsCollectManifestEO::getSdt).distinct().collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(sdtList)){
userNameList.addAll(sdtList);
}
}
//给填写人发消息
if(ObjectUtils.isNotEmpty(paramsCollectManifestEOFillList)){
List<String> dreList = paramsCollectManifestEOFillList.stream()
.filter(e -> StringUtils.isNotBlank(e.getDre())).map(ParamsCollectManifestEO::getDre).distinct().collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(dreList)){
userNameList.addAll(dreList);
}
}
//最新的截止时间
List<Date> deadlineList = paramsCollectManifestEOList.stream()
.filter(e -> ObjectUtils.isEmpty(e.getDeadline())).map(ParamsCollectManifestEO::getDeadline).collect(Collectors.toList());
Date deadline = null;
if(ObjectUtils.isNotEmpty(deadlineList)){
Collections.sort(deadlineList, new Comparator<Date>() {
@Override
public int compare(Date o1, Date o2) {
return o2.compareTo(o1);
}
});
deadline = deadlineList.get(0);
}
if(ObjectUtils.isEmpty(userNameList)){
return;
}
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysUser::getUsername,userNameList);
List<SysUser> sysUserList = sysUserService.list();
List<String> userIdList = sysUserList.stream().map(SysUser::getId).collect(Collectors.toList());
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String contentInfoFeiCn = "您好,您参与填写的" + inventoryNameCn + ",请及时查看处理,谢谢!";
String contentInfoFeiEn = "Hello! Please fill in the " + inventoryNameEn + " in a timely manner. Thank you!";
//飞书消息模板-20230410
Map<String,Object> params = new HashMap<>();
params.put("contentInfoFeiCn",contentInfoFeiCn);
params.put("contentInfoFeiEn",contentInfoFeiEn);
params.put("userIdList",userIdList);
params.put("projectCn",projectNameCn);
params.put("projectEn",projectNameEn);
params.put("initiatorCn",currentUser.getUsername());
params.put("initiatorEn",currentUser.getUsername());
params.put("dueDate",sdf.format(deadline));
// params.put("back_url_cn",hrefFeishuCn);
// params.put("back_url_en",hrefFeishuEn);
// params.put("back_url_phone",backUrlPhone + "/phoneTaskData?activeTab=parametercollection");
feishuService.sendMessageHomoParameterCollection(TemplateInfoEnum2.HOMO_PARAMETER_COLLECTION_GREEN.getValue(),params,null);
} catch (Exception e) {
log.error("飞书消息推送失败");
}
}
}
@@ -1155,6 +1155,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Override
public ParamsManifestVO getProjectById(String projectId, String projectVersion, String cut) {
ParamsManifestVO paramsManifestVO = paramsManifestEOMapper.getProjectById(projectId);
if(StringUtils.isBlank(projectVersion)){
projectVersion = paramsManifestVO.getProjectVersion();
}
String targetMarket = paramsManifestVO.getTargetMarket();//目标市场
String targetMarketCn = "";//目标市场
String targetMarketEn = "";//目标市场