|
@@ -28,6 +28,7 @@ import org.springblade.core.tool.utils.DateUtil;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
@@ -111,4 +112,41 @@ public class TaskSplitServiceImpl extends BaseServiceImpl<TaskSplitMapper, TaskS
|
|
|
return R.data(200,data,"操作成功");
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R<Map<String, Object>> getSaveInfo(TaskSplit taskSplit) {
|
|
|
+ Random random = new Random();
|
|
|
+ // 数据校验区
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
+ String contractId = taskSplit.getContractId();
|
|
|
+ String splitIds = taskSplit.getIds();
|
|
|
+ if (StringUtils.isEmpty(contractId)) {
|
|
|
+ return R.fail("合同段Id为空");
|
|
|
+ }
|
|
|
+ // 代表整个合同解析
|
|
|
+ if (StringUtils.isEmpty(splitIds) || Func.isEmpty(splitIds)) {
|
|
|
+ // 查询整个合同段下的所有文件
|
|
|
+ Integer spliteTaskCount = baseMapper.getSpliteTaskCount(contractId);
|
|
|
+ if (spliteTaskCount >= 1) {
|
|
|
+ return R.fail("该合同已经添加任务,无需重复操作");
|
|
|
+ }
|
|
|
+ // 生成10到20之间的随机数
|
|
|
+ int randomNumber = random.nextInt(30) + 150;
|
|
|
+ int i = (int) Math.ceil(randomNumber * spliteTaskCount / 60.0);
|
|
|
+
|
|
|
+ Integer archiveCount = baseMapper.getArchiveCount(contractId);
|
|
|
+ data.put("fileCount", archiveCount);
|
|
|
+ data.put("taskTime", i);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ // 指定文件解析
|
|
|
+ List<String> split = Func.toStrList(splitIds);
|
|
|
+ // 生成10到20之间的随机数
|
|
|
+ int randomNumber = random.nextInt(30) + 150;
|
|
|
+ int i = (int) Math.ceil(randomNumber * split.size() / 60.0);
|
|
|
+ data.put("fileCount", split.size());
|
|
|
+ data.put("taskTime", i);
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.data(200, data, "操作成功");
|
|
|
+ }
|
|
|
}
|