dev
parent
1d7c79da29
commit
677042a75d
|
|
@ -4,6 +4,7 @@ import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
|
import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
|
||||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
|
||||||
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskStatisticsCO;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||||
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
||||||
|
|
@ -37,4 +38,10 @@ public class AppEvalSignTaskController {
|
||||||
public SingleResponse<Boolean> signAndUpload(@RequestBody EditSignTaskSaveCmd cmd) {
|
public SingleResponse<Boolean> signAndUpload(@RequestBody EditSignTaskSaveCmd cmd) {
|
||||||
return evalSignTaskApi.signAndUpload(cmd);
|
return evalSignTaskApi.signAndUpload(cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("签字统计")
|
||||||
|
@PostMapping("/signStatistics")
|
||||||
|
public SingleResponse<EvalSignTaskStatisticsCO> signStatistics(@RequestBody EvalSignTaskPageQuery cmd) {
|
||||||
|
return evalSignTaskApi.signStatistics(cmd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
|
||||||
import org.qinan.safetyeval.client.co.institution.EnumOptionCO;
|
import org.qinan.safetyeval.client.co.institution.EnumOptionCO;
|
||||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
|
||||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskEnumsCO;
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskEnumsCO;
|
||||||
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskStatisticsCO;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||||
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
||||||
|
|
@ -28,6 +29,7 @@ import org.qinan.safetyeval.infrastructure.support.InstitutionOrgSupport;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
@ -91,8 +93,9 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
||||||
EvalSignTaskQuery domainQuery = evalSignTaskCmdConvertor.convertPageQueryToQ(query);
|
EvalSignTaskQuery domainQuery = evalSignTaskCmdConvertor.convertPageQueryToQ(query);
|
||||||
domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId());
|
domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId());
|
||||||
PageResult<EvalSignTaskEntity> pageResult = evalSignTaskDomainService.page(domainQuery);
|
PageResult<EvalSignTaskEntity> pageResult = evalSignTaskDomainService.page(domainQuery);
|
||||||
List<EvalSignTaskCO> co = evalSignTaskCmdConvertor.convertEListToCOList(pageResult.getRecords());
|
List<EvalSignTaskCO> co = pageResult.getRecords().stream().map(item -> {
|
||||||
for (EvalSignTaskCO evalSignTaskCO : co) {
|
EvalSignTaskCO evalSignTaskCO = evalSignTaskCmdConvertor.convertEToCO(item);
|
||||||
|
evalSignTaskCO.setProjectId(String.valueOf(item.getProjectId()));
|
||||||
EvalProjectDO evalProjectDO = evalProjectMapper.selectById(evalSignTaskCO.getProjectId());
|
EvalProjectDO evalProjectDO = evalProjectMapper.selectById(evalSignTaskCO.getProjectId());
|
||||||
evalSignTaskCO.setProjectName(evalProjectDO.getProjectName());
|
evalSignTaskCO.setProjectName(evalProjectDO.getProjectName());
|
||||||
evalSignTaskCO.setNodeName(Objects.requireNonNull(ProjectStageEnum.fromVal(evalSignTaskCO.getNodeCode())).getMsg());
|
evalSignTaskCO.setNodeName(Objects.requireNonNull(ProjectStageEnum.fromVal(evalSignTaskCO.getNodeCode())).getMsg());
|
||||||
|
|
@ -103,7 +106,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
evalSignTaskCO.setSignerPersonnelName(evalProjectMemberDOS.get(0).getPersonnelName());
|
evalSignTaskCO.setSignerPersonnelName(evalProjectMemberDOS.get(0).getPersonnelName());
|
||||||
evalSignTaskCO.setSignerRoles(ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole()));
|
evalSignTaskCO.setSignerRoles(ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole()));
|
||||||
}
|
return evalSignTaskCO;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
return PageResponse.of(
|
return PageResponse.of(
|
||||||
co ,
|
co ,
|
||||||
pageResult.getTotal());
|
pageResult.getTotal());
|
||||||
|
|
@ -161,4 +165,21 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
||||||
}
|
}
|
||||||
return SingleResponse.success(true);
|
return SingleResponse.success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SingleResponse<EvalSignTaskStatisticsCO> signStatistics(EvalSignTaskPageQuery cmd) {
|
||||||
|
EvalSignTaskStatisticsCO evalSignTaskStatisticsCO = new EvalSignTaskStatisticsCO();
|
||||||
|
List<EvalSignTaskDO> evalSignTaskDOS = evalSignTaskMapper.selectList(new LambdaQueryWrapper<EvalSignTaskDO>()
|
||||||
|
.eq(EvalSignTaskDO::getProjectId, cmd.getProjectId())
|
||||||
|
.eq(EvalSignTaskDO::getSignerPersonnelId, cmd.getSignerPersonnelId()));
|
||||||
|
if (!CollectionUtils.isEmpty(evalSignTaskDOS)) {
|
||||||
|
long pendingSign = evalSignTaskDOS.stream().filter(f -> f.getTaskStatusCode() == 1).count();
|
||||||
|
long completed = evalSignTaskDOS.stream().filter(f -> f.getTaskStatusCode() == 2).count();
|
||||||
|
long allTasks = evalSignTaskDOS.size();
|
||||||
|
evalSignTaskStatisticsCO.setPendingSign(Math.toIntExact(pendingSign));
|
||||||
|
evalSignTaskStatisticsCO.setCompleted(Math.toIntExact(completed));
|
||||||
|
evalSignTaskStatisticsCO.setAllTasks(Math.toIntExact(allTasks));
|
||||||
|
}
|
||||||
|
return SingleResponse.success(evalSignTaskStatisticsCO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.qinan.safetyeval.client.api.institution;
|
||||||
|
|
||||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
|
||||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskEnumsCO;
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskEnumsCO;
|
||||||
|
import org.qinan.safetyeval.client.co.institution.EvalSignTaskStatisticsCO;
|
||||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||||
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
||||||
|
|
@ -17,4 +18,6 @@ public interface EvalSignTaskApi {
|
||||||
SingleResponse<EvalSignTaskEnumsCO> enums();
|
SingleResponse<EvalSignTaskEnumsCO> enums();
|
||||||
|
|
||||||
SingleResponse<Boolean> signAndUpload(EditSignTaskSaveCmd cmd);
|
SingleResponse<Boolean> signAndUpload(EditSignTaskSaveCmd cmd);
|
||||||
|
|
||||||
|
SingleResponse<EvalSignTaskStatisticsCO> signStatistics(EvalSignTaskPageQuery cmd);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package org.qinan.safetyeval.client.co.institution;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class EvalSignTaskStatisticsCO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待签字数量
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("待签字数量")
|
||||||
|
private int pendingSign = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已完成数量
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("已完成数量")
|
||||||
|
private int completed = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 全部任务数量
|
||||||
|
*/
|
||||||
|
@ApiModelProperty("全部任务数量")
|
||||||
|
private int allTasks = 0;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue