Commit efb95a66 authored by neo's avatar neo

[DEV] cacls job status from task status

parent fd4a320a
......@@ -48,8 +48,8 @@ public class ReportController {
@RequestMapping(value = "getJobStatus/{projectId}//{period}/{jobId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@ResponseBody
public PeriodJob getJobStatus(@PathVariable String projectId, @PathVariable Integer period, @PathVariable String jobId) {
return reportService.getJobStatus(projectId, period, jobId);
public PeriodJobDto getJobStatus(@PathVariable String projectId, @PathVariable Integer period, @PathVariable String jobId) {
return new PeriodJobDto().copyFromPeriodJob(reportService.getJobStatus(projectId, period, jobId));
}
@RequestMapping(value = "templateReferences/{period}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
......
package pwc.taxtech.atms.dto.vatdto;
import io.jsonwebtoken.lang.Collections;
import org.apache.commons.lang3.StringUtils;
import pwc.taxtech.atms.common.util.MyAsserts;
import pwc.taxtech.atms.exception.Exceptions;
import pwc.taxtech.atms.vat.entity.PeriodJob;
import java.util.Date;
import java.util.List;
import static pwc.taxtech.atms.dto.vatdto.WrapPeriodJobDto.*;
public class PeriodJobDto {
private String id;
private String name;
private String currentStep;
private String projectId;
private Integer period;
private String stepsCode;
private Date createTime;
private String status;
private String errorMsg;
private String jotStatus;
public PeriodJobDto copyFromPeriodJob(PeriodJob job) {
this.id = job.getId();
this.name = job.getName();
this.currentStep = job.getCurrentStep();
this.projectId = job.getProjectId();
this.period = job.getPeriod();
this.stepsCode = job.getStepsCode();
this.createTime = job.getCreateTime();
this.status = job.getStatus();
this.errorMsg = job.getErrorMsg();
MyAsserts.assertNotEmpty(stepsCode, Exceptions.SERVER_ERROR_EXCEPTION);
if (StringUtils.isBlank(status)) this.jotStatus = STATUS_BEGIN;
else {
List<WrapPeriodJobDto.Task> tasks = WrapPeriodJobDto.fromJson(status);
if (Collections.isEmpty(tasks)) this.jotStatus = STATUS_BEGIN;
else {
String[] codes = stepsCode.split(",");
if (tasks.size() < codes.length) this.jotStatus = STATUS_RUNNING;
else {
this.jotStatus = tasks.stream().anyMatch(m -> m.status.equals(STATUS_ERROR)) ? STATUS_ERROR : STATUS_END;
}
}
}
return this;
}
}
......@@ -20,6 +20,7 @@ import java.util.UUID;
public class WrapPeriodJobDto {
public static final String STATUS_BEGIN = "Begin";
public static final String STATUS_RUNNING = "Running";
public static final String STATUS_CANCEL = "Cancel";
public static final String STATUS_ERROR = "Error";
public static final String STATUS_END = "End";
......
......@@ -94,6 +94,7 @@ public class ReportGeneratorImpl {
String code = sheet.getSheetName();
logger.info("-------------------------------------Begin Job [{}]------------------------------------------------------", code);
setStatus(job,code,STATUS_BEGIN);
job.setCurrentStep(code);
periodJobMapper.updateByPrimaryKey(job);
Optional<PeriodTemplate> periodTemplate = resources.getPeriodTemplates().stream()
......
......@@ -492,7 +492,7 @@ public class ReportServiceImpl {
}
}
}).start();
operationResultDto.setData(genJob);
operationResultDto.setData(new PeriodJobDto().copyFromPeriodJob(genJob));
operationResultDto.setResult(true);
} catch (Exception ex) {
operationResultDto.setResult(false);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment