|
@@ -314,6 +314,63 @@ public class ArchiveFileController extends BladeController {
|
|
return R.data(false);
|
|
return R.data(false);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 批量上报2,每行数据单独上报
|
|
|
|
+ */
|
|
|
|
+ @PostMapping("/batchApproval2")
|
|
|
|
+ @ApiOperationSupport(order = 6)
|
|
|
|
+ @ApiOperation(value = "批量上报")
|
|
|
|
+ public R<Boolean> batchApproval2(@RequestBody StartTaskVO startTaskVO) throws IOException {
|
|
|
|
+ String archiveTaskIds = startTaskVO.getIds();
|
|
|
|
+ if(StringUtils.isNotEmpty(archiveTaskIds)){
|
|
|
|
+ String[] ids = archiveTaskIds.split(",");
|
|
|
|
+ for (String id : ids) {
|
|
|
|
+
|
|
|
|
+ //生成流程实体
|
|
|
|
+ TaskVO taskVO = new TaskVO();
|
|
|
|
+ BeanUtils.copyProperties(startTaskVO, taskVO);
|
|
|
|
+ if (taskVO.getUserTasks() != null && taskVO.getUserTasks().size() > 0) {
|
|
|
|
+ //标记为自定义流程
|
|
|
|
+ taskVO.setFixedFlowId(Long.parseLong("0"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ taskVO.setFormDataId(id);
|
|
|
|
+ taskVO.setApprovalType(2);
|
|
|
|
+ ArchiveFile archiveFile = this.archiveFileService.getBaseMapper().selectById(id);
|
|
|
|
+ taskVO.setTaskName(archiveFile.getFileName());
|
|
|
|
+ //启动流程
|
|
|
|
+ this.taskClient.startTask(taskVO);
|
|
|
|
+ //修改状态为待审批
|
|
|
|
+ String[] archiveTaskIdArray = id.split(",");
|
|
|
|
+ boolean update = this.archiveFileService.update(Wrappers.<ArchiveFile>lambdaUpdate().set(ArchiveFile::getStatus, 1).in(ArchiveFile::getId, Arrays.asList(archiveTaskIdArray)));
|
|
|
|
+ if (update) {
|
|
|
|
+ //通过WebSocket推送数量条数
|
|
|
|
+ if (ObjectUtil.isNotEmpty(startTaskVO.getUserTasks())) {
|
|
|
|
+ for (StartTaskVO.CustomUserTask userTask : startTaskVO.getUserTasks()) {
|
|
|
|
+ Map<String, String> stringMap = iTaskService.getTaskCount(startTaskVO.getProjectId(), startTaskVO.getContractId(), userTask.getUserId());
|
|
|
|
+ webSocket.sendMessageByUserId(userTask.getUserId(), JSON.toJSONString(stringMap));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ List<ArchiveFile> archiveFiles = this.archiveFileService.getBaseMapper().selectBatchIds(Arrays.asList(archiveTaskIds.split(",")));
|
|
|
|
+ StringBuilder builder = new StringBuilder();
|
|
|
|
+ if (archiveFiles != null && archiveFiles.size() > 0) {
|
|
|
|
+ for (ArchiveFile archiveFile : archiveFiles) {
|
|
|
|
+ builder.append(archiveFile.getFileName()+"-");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ String title = builder.toString();
|
|
|
|
+ //新增操作日志
|
|
|
|
+ JSONObject json = new JSONObject();
|
|
|
|
+ json.put("operationObjIds", Func.toStrList(archiveTaskIds));
|
|
|
|
+ json.put("operationObjName", title.substring(0,title.length()-1));
|
|
|
|
+ this.operationLogClient.saveUserOperationLog(25, "其它文件", "工程文件", json);
|
|
|
|
+ return R.data(true);
|
|
|
|
+ }
|
|
|
|
+ return R.data(false);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 批量编辑
|
|
* 批量编辑
|
|
*/
|
|
*/
|