diff --git a/backend/crm/src/main/java/cn/cordys/crm/contract/service/ContractService.java b/backend/crm/src/main/java/cn/cordys/crm/contract/service/ContractService.java index 2066eb9e5..2aeb5ced6 100644 --- a/backend/crm/src/main/java/cn/cordys/crm/contract/service/ContractService.java +++ b/backend/crm/src/main/java/cn/cordys/crm/contract/service/ContractService.java @@ -10,7 +10,6 @@ import cn.cordys.common.constants.PermissionConstants; import cn.cordys.common.domain.BaseModuleFieldValue; import cn.cordys.common.dto.*; -import cn.cordys.common.dto.condition.CombineSearch; import cn.cordys.common.dto.condition.FilterCondition; import cn.cordys.common.exception.GenericException; import cn.cordys.common.pager.PageUtils; @@ -35,7 +34,6 @@ import cn.cordys.crm.contract.mapper.ExtContractSnapshotMapper; import cn.cordys.crm.customer.domain.Customer; import cn.cordys.crm.opportunity.constants.ApprovalState; -import cn.cordys.crm.system.constants.FieldType; import cn.cordys.crm.system.constants.NotificationConstants; import cn.cordys.crm.system.domain.Attachment; import cn.cordys.crm.system.domain.MessageTaskConfig; @@ -717,29 +715,25 @@ public List getContractListByNames(List names) { * 设置默认的数据源搜索条件 * @return 搜索条件 */ - public CombineSearch setDefaultSourceCombine() { + public List getDefaultSourceFilters() { // 只展示状态为通过且非作废/归档阶段的合同 - CombineSearch combineSearch = new CombineSearch(); - combineSearch.setSearchMode("AND"); List conditions = new ArrayList<>(); FilterCondition statusCondition = new FilterCondition(); - statusCondition.setMultipleValue(true); + statusCondition.setMultipleValue(false); statusCondition.setName("approvalStatus"); statusCondition.setOperator(FilterCondition.CombineConditionOperator.IN.name()); statusCondition.setValue(List.of(ContractApprovalStatus.APPROVED.name())); - statusCondition.setType(FieldType.SELECT_MULTIPLE.name()); conditions.add(statusCondition); FilterCondition stageCondition = new FilterCondition(); - stageCondition.setMultipleValue(true); + stageCondition.setMultipleValue(false); stageCondition.setName("stage"); - stageCondition.setOperator(FilterCondition.CombineConditionOperator.NOT_IN.name()); - stageCondition.setValue(List.of(ContractStage.ARCHIVED.name(), ContractStage.VOID.name())); - statusCondition.setType(FieldType.SELECT_MULTIPLE.name()); + stageCondition.setOperator(FilterCondition.CombineConditionOperator.IN.name()); + stageCondition.setValue(List.of(ContractStage.PENDING_SIGNING.name(), ContractStage.SIGNED.name(), + ContractStage.IN_PROGRESS.name(), ContractStage.COMPLETED_PERFORMANCE.name())); conditions.add(stageCondition); - combineSearch.setConditions(conditions); - return combineSearch; + return conditions; } } diff --git a/backend/crm/src/main/java/cn/cordys/crm/system/controller/ModuleFieldController.java b/backend/crm/src/main/java/cn/cordys/crm/system/controller/ModuleFieldController.java index ac2b775cd..2b77a0f3a 100644 --- a/backend/crm/src/main/java/cn/cordys/crm/system/controller/ModuleFieldController.java +++ b/backend/crm/src/main/java/cn/cordys/crm/system/controller/ModuleFieldController.java @@ -54,6 +54,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; +import org.apache.commons.collections4.ListUtils; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -157,7 +158,7 @@ public Pager> sourceOpportunityQuotationP @PostMapping("/source/contract") @Operation(summary = "分页获取合同") public Pager> sourceContractPage(@Valid @RequestBody ContractPageRequest request) { - request.setCombineSearch(contractService.setDefaultSourceCombine()); + request.setFilters(ListUtils.union(contractService.getDefaultSourceFilters(), request.getFilters())); request.setCombineSearch(request.getCombineSearch().convert()); DeptDataPermissionDTO deptDataPermission = dataScopeService.getDeptDataPermission(SessionUtils.getUserId(), OrganizationContext.getOrganizationId(), InternalUserView.ALL.name(), PermissionConstants.CONTRACT_READ);