|
@@ -143,21 +143,21 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
if (!DistributedRedisLock.getLockStatus(taskApprovalVO.getFormDataId())) {
|
|
|
//如果不存在,直接获取并上锁,由于这个查询方法是任务方面使用,所以解锁需要在对应数据使用结束后
|
|
|
DistributedRedisLock.acquire(taskApprovalVO.getFormDataId(), 20);*/
|
|
|
- switch (taskApprovalVO.getApprovalType()) {
|
|
|
- case 1:
|
|
|
- //填报数据
|
|
|
- return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), true);
|
|
|
- case 2:
|
|
|
- //工程文件
|
|
|
- return this.queryArchiveFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
- case 3:
|
|
|
- //日志资料
|
|
|
- return this.queryTheLogFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
- default:
|
|
|
- //未找到数据,解锁
|
|
|
- DistributedRedisLock.release(taskApprovalVO.getFormDataId());
|
|
|
- return null;
|
|
|
- }
|
|
|
+ switch (taskApprovalVO.getApprovalType()) {
|
|
|
+ case 1:
|
|
|
+ //填报数据
|
|
|
+ return this.queryProcessSubmitBusinessData(taskApprovalVO.getFormDataId(), true);
|
|
|
+ case 2:
|
|
|
+ //工程文件
|
|
|
+ return this.queryArchiveFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
+ case 3:
|
|
|
+ //日志资料
|
|
|
+ return this.queryTheLogFileBusinessData(taskApprovalVO.getFormDataId());
|
|
|
+ default:
|
|
|
+ //未找到数据,解锁
|
|
|
+ DistributedRedisLock.release(taskApprovalVO.getFormDataId());
|
|
|
+ return null;
|
|
|
+ }
|
|
|
/*} else {
|
|
|
try {
|
|
|
if (foreachNumber < 10) {
|
|
@@ -237,22 +237,56 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
} else if (new Integer("1").equals(query.getType())) {
|
|
|
//资料填报
|
|
|
if (StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl()) || StringUtils.isNotEmpty(query.getPdfTrialUrl()) || StringUtils.isNotEmpty(query.getPdfTrialUrlPosition())) {
|
|
|
+ if (StringUtils.isNotEmpty(query.getEVisaPdfUrl())) {
|
|
|
+ String replaceHTTPURL = this.getReplaceHttpURL(query.getEVisaPdfUrl());
|
|
|
+ if (StringUtils.isNotEmpty(replaceHTTPURL)) {
|
|
|
+ query.setEVisaPdfUrl(replaceHTTPURL);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(query.getPdfUrl())) {
|
|
|
+ String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfUrl());
|
|
|
+ if (StringUtils.isNotEmpty(replaceHTTPURL)) {
|
|
|
+ query.setPdfUrl(replaceHTTPURL);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//资料填报原始pdf
|
|
|
vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
|
|
|
|
|
|
//试验关联文件合并pdf
|
|
|
if (StringUtils.isNotEmpty(query.getPdfTrialUrl())) {
|
|
|
+ String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfTrialUrl());
|
|
|
+ if (StringUtils.isNotEmpty(replaceHTTPURL)) {
|
|
|
+ query.setPdfTrialUrl(replaceHTTPURL);
|
|
|
+ }
|
|
|
vo.setApprovalFileList(query.getName() + "(关联试验文件)", StringUtils.isNotEmpty(query.getPdfTrialUrl()) ? query.getPdfTrialUrl() : null);
|
|
|
}
|
|
|
|
|
|
//试验关联的工程部位信息合并pdf
|
|
|
if (StringUtils.isNotEmpty(query.getPdfTrialUrlPosition())) {
|
|
|
+ String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfTrialUrlPosition());
|
|
|
+ if (StringUtils.isNotEmpty(replaceHTTPURL)) {
|
|
|
+ query.setPdfTrialUrlPosition(replaceHTTPURL);
|
|
|
+ }
|
|
|
vo.setApprovalFileList(query.getName() + "(关联试验工程部位信息文件)", StringUtils.isNotEmpty(query.getPdfTrialUrlPosition()) ? query.getPdfTrialUrlPosition() : null);
|
|
|
}
|
|
|
}
|
|
|
} else if (new Integer("2").equals(query.getType())) {
|
|
|
//试验
|
|
|
if (StringUtils.isNotEmpty(query.getEVisaPdfUrl()) || StringUtils.isNotEmpty(query.getPdfUrl())) {
|
|
|
+ if (StringUtils.isNotEmpty(query.getEVisaPdfUrl())) {
|
|
|
+ String replaceHTTPURL = this.getReplaceHttpURL(query.getEVisaPdfUrl());
|
|
|
+ if (StringUtils.isNotEmpty(replaceHTTPURL)) {
|
|
|
+ query.setEVisaPdfUrl(replaceHTTPURL);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotEmpty(query.getPdfUrl())) {
|
|
|
+ String replaceHTTPURL = this.getReplaceHttpURL(query.getPdfUrl());
|
|
|
+ if (StringUtils.isNotEmpty(replaceHTTPURL)) {
|
|
|
+ query.setPdfUrl(replaceHTTPURL);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//试验原始pdf
|
|
|
vo.setApprovalFileList(query.getName(), StringUtils.isNotEmpty(query.getEVisaPdfUrl()) ? query.getEVisaPdfUrl() : query.getPdfUrl());
|
|
|
|
|
@@ -260,6 +294,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
String sqlRecord = "select old_pdf_url from u_trial_raw_material_self_record where self_record_id =" + query.getWbsId();
|
|
|
TrialRawMaterialSelfRecord recordObj = jdbcTemplate.query(sqlRecord, new BeanPropertyRowMapper<>(TrialRawMaterialSelfRecord.class)).stream().findAny().orElse(null);
|
|
|
if (recordObj != null) {
|
|
|
+ if (StringUtils.isNotEmpty(recordObj.getOldPdfUrl())) {
|
|
|
+ String replaceHTTPURL = this.getReplaceHttpURL(recordObj.getOldPdfUrl());
|
|
|
+ if (StringUtils.isNotEmpty(replaceHTTPURL)) {
|
|
|
+ recordObj.setOldPdfUrl(replaceHTTPURL);
|
|
|
+ }
|
|
|
+ }
|
|
|
vo.setApprovalFileList(query.getName() + "(原材料检测报告)", StringUtils.isNotEmpty(recordObj.getOldPdfUrl()) ? recordObj.getOldPdfUrl() : null);
|
|
|
}
|
|
|
}
|
|
@@ -284,6 +324,13 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ private String getReplaceHttpURL(String url) {
|
|
|
+ if (!url.contains("https:")) {
|
|
|
+ return url.replace("http:", "https:");
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public List<Task> queryTaskListByFormDataId(String formDataIds) {
|
|
|
List<Task> result = new ArrayList<>();
|
|
@@ -426,53 +473,53 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
*/
|
|
|
@Override
|
|
|
public void batchCompleteApprovalTask(List<TaskApprovalVO> taskApprovalVOS) {
|
|
|
- Long userId =AuthUtil.getUserId();
|
|
|
- String nickName =AuthUtil.getNickName();
|
|
|
+ Long userId = AuthUtil.getUserId();
|
|
|
+ String nickName = AuthUtil.getNickName();
|
|
|
List<String> taskIds = taskApprovalVOS.stream().map(TaskApprovalVO::getParallelProcessInstanceId).distinct().collect(Collectors.toList());
|
|
|
this.taskParallelService.update(Wrappers.<TaskParallel>lambdaUpdate()
|
|
|
- .set(TaskParallel::getEVisaContent, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........")
|
|
|
- .in(TaskParallel::getParallelProcessInstanceId, taskIds));
|
|
|
- //保存批次
|
|
|
+ .set(TaskParallel::getEVisaContent, "当前等待电签的批次较多,请等待几分钟后刷新页面查看........")
|
|
|
+ .in(TaskParallel::getParallelProcessInstanceId, taskIds));
|
|
|
+ //保存批次
|
|
|
TaskBatch taskBatch = new TaskBatch(null, JSONObject.toJSONString(taskApprovalVOS));
|
|
|
- taskBatch.setCreateUser(userId);
|
|
|
- taskBatch.setNickName(nickName);
|
|
|
- taskBatch.setCreateTime(new Date());
|
|
|
-
|
|
|
- this.taskBatchService.save(taskBatch);
|
|
|
- String taskBatchId = taskBatch.getId().toString();
|
|
|
-
|
|
|
- // 电签
|
|
|
- Boolean istrue = true;
|
|
|
- for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
|
|
|
- Boolean aBoolean = RedisTemplate.hasKey("sign-" + taskApprovalVO.getFormDataId());
|
|
|
- if(aBoolean){
|
|
|
- istrue =false;
|
|
|
- break;
|
|
|
- }
|
|
|
+ taskBatch.setCreateUser(userId);
|
|
|
+ taskBatch.setNickName(nickName);
|
|
|
+ taskBatch.setCreateTime(new Date());
|
|
|
+
|
|
|
+ this.taskBatchService.save(taskBatch);
|
|
|
+ String taskBatchId = taskBatch.getId().toString();
|
|
|
+
|
|
|
+ // 电签
|
|
|
+ Boolean istrue = true;
|
|
|
+ for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
|
|
|
+ Boolean aBoolean = RedisTemplate.hasKey("sign-" + taskApprovalVO.getFormDataId());
|
|
|
+ if (aBoolean) {
|
|
|
+ istrue = false;
|
|
|
+ break;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- // 添加到 线程中
|
|
|
- if(istrue){
|
|
|
- CompletableFuture<Void> runAsync = CompletableFuture.runAsync(() -> {
|
|
|
- try {
|
|
|
- this.checkIsExsitTaskBatch(taskApprovalVOS, taskBatchId,userId,nickName);
|
|
|
- } catch (FileNotFoundException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }, executor);
|
|
|
- }
|
|
|
+ // 添加到 线程中
|
|
|
+ if (istrue) {
|
|
|
+ CompletableFuture<Void> runAsync = CompletableFuture.runAsync(() -> {
|
|
|
+ try {
|
|
|
+ this.checkIsExsitTaskBatch(taskApprovalVOS, taskBatchId, userId, nickName);
|
|
|
+ } catch (FileNotFoundException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }, executor);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
@Scheduled(cron = "0 */3 * * * ?")
|
|
|
- public void SignInfo() {
|
|
|
+ public void SignInfo() {
|
|
|
//执行代码
|
|
|
logger.debug("扫描开始");
|
|
|
List<TaskBatch> maps = taskBatchService.getBaseMapper().selectList(Wrappers.<TaskBatch>lambdaQuery().eq(TaskBatch::getIsDeleted, 0));
|
|
|
- if(maps!=null && maps.size()>=1){
|
|
|
- for (TaskBatch dataInfo:maps){
|
|
|
+ if (maps != null && maps.size() >= 1) {
|
|
|
+ for (TaskBatch dataInfo : maps) {
|
|
|
String jsonData = dataInfo.getJsonData();
|
|
|
- List<TaskApprovalVO> list=JSONArray.parseArray(jsonData,TaskApprovalVO.class);
|
|
|
+ List<TaskApprovalVO> list = JSONArray.parseArray(jsonData, TaskApprovalVO.class);
|
|
|
String taskBatchId = dataInfo.getId().toString();
|
|
|
Long userId = dataInfo.getCreateUser();
|
|
|
String nickName = dataInfo.getNickName();
|
|
@@ -480,17 +527,17 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
Boolean istrue = true;
|
|
|
for (TaskApprovalVO taskApprovalVO : list) {
|
|
|
Boolean aBoolean = RedisTemplate.hasKey("sign-" + taskApprovalVO.getFormDataId());
|
|
|
- if(aBoolean){
|
|
|
- istrue =false;
|
|
|
+ if (aBoolean) {
|
|
|
+ istrue = false;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 添加到 线程中
|
|
|
- if(istrue){
|
|
|
+ if (istrue) {
|
|
|
CompletableFuture<Void> runAsync = CompletableFuture.runAsync(() -> {
|
|
|
try {
|
|
|
- this.checkIsExsitTaskBatch(list, taskBatchId,userId,nickName);
|
|
|
+ this.checkIsExsitTaskBatch(list, taskBatchId, userId, nickName);
|
|
|
} catch (FileNotFoundException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -501,7 +548,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId,Long userId,String nickName) throws FileNotFoundException {
|
|
|
+ private void checkIsExsitTaskBatch(List<TaskApprovalVO> taskApprovalVOS, String batchId, Long userId, String nickName) throws FileNotFoundException {
|
|
|
boolean isContinue = true;
|
|
|
while (isContinue) {
|
|
|
logger.info("【任务审核】当前批次开始电签。批次ID:" + batchId);
|
|
@@ -509,7 +556,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
|
|
|
taskApprovalVO.setUserId(userId);
|
|
|
taskApprovalVO.setNickName(nickName);
|
|
|
- RedisTemplate.opsForValue().set("sign-"+taskApprovalVO.getFormDataId(),"1",300, TimeUnit.SECONDS);
|
|
|
+ RedisTemplate.opsForValue().set("sign-" + taskApprovalVO.getFormDataId(), "1", 300, TimeUnit.SECONDS);
|
|
|
|
|
|
String pdfUrlEVisa = this.completeApprovalTask(taskApprovalVO);
|
|
|
//TODO ============== 电签成功,修改试验状态,关联工程部位信息pdf(只有电签成功,才修改) liuYc 2023-03-16 ==============
|
|
@@ -526,7 +573,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
//executor删除掉对应批次
|
|
|
this.taskBatchService.deletedById(batchId);
|
|
|
for (TaskApprovalVO taskApprovalVO : taskApprovalVOS) {
|
|
|
- RedisTemplate.delete("sign-"+taskApprovalVO.getFormDataId());
|
|
|
+ RedisTemplate.delete("sign-" + taskApprovalVO.getFormDataId());
|
|
|
}
|
|
|
isContinue = false;
|
|
|
}
|