dev
parent
1d7c79da29
commit
677042a75d
|
|
@ -4,6 +4,7 @@ import io.swagger.annotations.Api;
|
|||
import io.swagger.annotations.ApiOperation;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
|
||||
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.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
||||
|
|
@ -37,4 +38,10 @@ public class AppEvalSignTaskController {
|
|||
public SingleResponse<Boolean> signAndUpload(@RequestBody EditSignTaskSaveCmd 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.EvalSignTaskCO;
|
||||
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.SingleResponse;
|
||||
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.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
|
|
@ -91,8 +93,9 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
EvalSignTaskQuery domainQuery = evalSignTaskCmdConvertor.convertPageQueryToQ(query);
|
||||
domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId());
|
||||
PageResult<EvalSignTaskEntity> pageResult = evalSignTaskDomainService.page(domainQuery);
|
||||
List<EvalSignTaskCO> co = evalSignTaskCmdConvertor.convertEListToCOList(pageResult.getRecords());
|
||||
for (EvalSignTaskCO evalSignTaskCO : co) {
|
||||
List<EvalSignTaskCO> co = pageResult.getRecords().stream().map(item -> {
|
||||
EvalSignTaskCO evalSignTaskCO = evalSignTaskCmdConvertor.convertEToCO(item);
|
||||
evalSignTaskCO.setProjectId(String.valueOf(item.getProjectId()));
|
||||
EvalProjectDO evalProjectDO = evalProjectMapper.selectById(evalSignTaskCO.getProjectId());
|
||||
evalSignTaskCO.setProjectName(evalProjectDO.getProjectName());
|
||||
evalSignTaskCO.setNodeName(Objects.requireNonNull(ProjectStageEnum.fromVal(evalSignTaskCO.getNodeCode())).getMsg());
|
||||
|
|
@ -103,7 +106,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
.last("limit 1"));
|
||||
evalSignTaskCO.setSignerPersonnelName(evalProjectMemberDOS.get(0).getPersonnelName());
|
||||
evalSignTaskCO.setSignerRoles(ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole()));
|
||||
}
|
||||
return evalSignTaskCO;
|
||||
}).collect(Collectors.toList());
|
||||
return PageResponse.of(
|
||||
co ,
|
||||
pageResult.getTotal());
|
||||
|
|
@ -161,4 +165,21 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
|
|||
}
|
||||
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.EvalSignTaskEnumsCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskStatisticsCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
||||
|
|
@ -17,4 +18,6 @@ public interface EvalSignTaskApi {
|
|||
SingleResponse<EvalSignTaskEnumsCO> enums();
|
||||
|
||||
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