Merge remote-tracking branch 'origin/dev' into dev

dev
luotaiqian 2026-07-23 18:20:50 +08:00
commit 5964ba6769
7 changed files with 23 additions and 14 deletions

View File

@ -178,17 +178,18 @@ public class EvalProjectExecutor implements EvalProjectApi {
EvalProjectMemberQuery query = new EvalProjectMemberQuery();
query.setOrgId(ThreadLocalUserInfoAdapter.getOrgId());
query.setPersonnelId(AuthUserContextAdapter.getCurrentUserId());
query.setProjectIds(null);
query.setPageNum(1L);
query.setPageSize(200L);
query.setProjectIds(data.stream().map(EvalProjectCO::getId).map(Long::valueOf).collect(Collectors.toList()));
List<Long> pIds = evalProjectMemberGateway.page(query).getRecords().stream().map(EvalProjectMemberEntity::getProjectId).distinct().collect(Collectors.toList());
if (!CollectionUtils.isEmpty(pIds)) {
long onSiteTaskSum = evalProjectMapper.onSiteTaskSum(pIds, ProjectStageEnum.SITE_SURVEY.getVal());
co.setOnSiteTaskSum(onSiteTaskSum);
}
}
co.setPendingMyHandlingSum(data.stream().filter(item -> "NORMAL".equals(item.getProjectPhaseCode()) && item.getArchiveFlag() == 0).count());
co.setParticipatingProjectSum((long) data.size());
return null;
return SingleResponse.success(co);
}
/**

View File

@ -5,8 +5,10 @@ import org.qinan.safetyeval.client.api.institution.EvalSurveyAttachApi;
import org.qinan.safetyeval.client.co.institution.EvalSurveyAttachCO;
import org.qinan.safetyeval.client.dto.SingleResponse;
import org.qinan.safetyeval.client.dto.institution.EvalSurveyAttachSaveCmd;
import org.qinan.safetyeval.domain.constant.ProjectStageEnum;
import org.qinan.safetyeval.domain.entity.EvalSurveyAttachEntity;
import org.qinan.safetyeval.domain.service.EvalSurveyDomainService;
import org.qinan.safetyeval.domain.service.ProjectStageSyncService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@ -24,6 +26,8 @@ public class EvalSurveyAttachExecutor implements EvalSurveyAttachApi {
@Lazy
@Autowired(required = false)
private EvalSurveyCmdConvertor evalSurveyCmdConvertor;
@Autowired
private ProjectStageSyncService projectStageSyncService;
@Override
@Transactional(rollbackFor = Exception.class)
@ -32,6 +36,9 @@ public class EvalSurveyAttachExecutor implements EvalSurveyAttachApi {
EvalSurveyAttachEntity entity = evalSurveyCmdConvertor.convertAttachSaveCmdToE(cmd);
evalSurveyDomainService.saveOrUpdateAttach(entity);
}
if (cmdList.get(0).getProjectId() != null) {
projectStageSyncService.onNodeCompleted(Long.valueOf(cmdList.get(0).getProjectId()), ProjectStageEnum.SITE_SURVEY.getNode());
}
return SingleResponse.success(true);
}

View File

@ -64,6 +64,7 @@ public class EvalProjectNodeSupport {
*/
public void afterNodeSaved(Long projectId, String nodeCode, Integer statusCode) {
// NODE_011暂存 2已完成NODE_02保存即完成(2);其余节点仍为 3已完成
if (EvalNodeCodes.NODE_01.equals(nodeCode) || EvalNodeCodes.NODE_02.equals(nodeCode)) {
boolean completed = true;
if (EvalNodeCodes.NODE_01.equals(nodeCode)) {
completed = statusCode == 2;
@ -72,6 +73,7 @@ public class EvalProjectNodeSupport {
projectStageSyncService.onNodeCompleted(projectId, nodeCode);
}
}
}
/** NODE_01 支持暂存NODE_02 合同无暂存但完成态同为 status=2 */
public static boolean isDraftStyleNode(String nodeCode) {

View File

@ -34,6 +34,7 @@ public enum ProjectDocumentEnum {
}
/**
*
*
*/
public static ProjectDocumentEnum fromValIgnoreCase(String val) {

View File

@ -39,6 +39,6 @@ public class EvalContractEntity {
private Integer staffCount;
private String scanFileUrl;
/** 2已完成合同无暂存保存即完成 */
private Integer statusCode;
private Integer statusCode = 2;
private Long tenantId;
}

View File

@ -125,8 +125,6 @@ public class EvalProjectGatewayImpl implements EvalProjectGateway {
for (ProjectNodeCO projectNodeCO : projectNodeCOS) {
if (projectNodeCO.getType().equals(val)) {
projectNodeCO.setState(1);
} else {
projectNodeCO.setState(0);
}
}
evalProjectMapper.update(new LambdaUpdateWrapper<EvalProjectDO>()

View File

@ -75,7 +75,7 @@
#{id}
</foreach>
and
JSON_CONTAINS(project_node, JSON_OBJECT('type', #{val},'state', 1))
JSON_CONTAINS(project_node, JSON_OBJECT('type', #{val},'state', 0))
</select>
</mapper>