diff --git a/src/main/java/common/repository/ContractRepository.java b/src/main/java/common/repository/ContractRepository.java
index 222cf83..e6e819d 100644
--- a/src/main/java/common/repository/ContractRepository.java
+++ b/src/main/java/common/repository/ContractRepository.java
@@ -147,4 +147,7 @@ public interface ContractRepository extends JpaRepository<Contract, Long> {
 
     @Query(value = "select * from contract where contract_code = ?1 and status != 'del'", nativeQuery = true)
     Contract findByCodeAndNotDel(String contractCode);
+
+    @Query(value = "select * from contract where relation_code = ?1 and status != 'del'", nativeQuery = true)
+    List<Contract> findByRelationCode(String contractCode);
 }
diff --git a/src/main/java/common/service/impl/ShareIncomeServiceImpl.java b/src/main/java/common/service/impl/ShareIncomeServiceImpl.java
index 929035b..6841bd0 100644
--- a/src/main/java/common/service/impl/ShareIncomeServiceImpl.java
+++ b/src/main/java/common/service/impl/ShareIncomeServiceImpl.java
@@ -535,10 +535,21 @@ public class ShareIncomeServiceImpl implements ShareIncomeService {
                     //if(contract==null){
                     List<Contract> contractList = contractRepository.findByCreateTimeAndCodeNotOwn(groupContract.getRelationCode(), DateUtil.format(groupContract.getCreateTime(), DateUtil.C_TIME_PATTON_DEFAULT), groupContract.getId());
                     for (Contract contract1 : contractList) {
-                        map.put(contract1.getContractCode(), contract1);
+                        if(StringUtils.isEmpty(map.get(contract1.getContractCode()))){
+                            map.put(contract1.getContractCode(), contract1);
+                        }
                     }
                     groupContracts = map.values();//只要不加入传进来的那个list里面就不会影响查询的列表
                     break;
+                }else if((groupContracts.size()==1&&!StringUtils.isEmpty(groupContract.getNextSignedDate()))||(!"2".equals(groupContract.getContractType()) && map.get(groupContract.getNextSignedContractCode())==null)){
+                    List<Contract> contractList = contractRepository.findByRelationCode(groupContract.getContractCode());
+                    for (Contract contract1 : contractList) {
+                        if(StringUtils.isEmpty(map.get(contract1.getContractCode()))){
+                            map.put(contract1.getContractCode(), contract1);
+                        }
+                    }
+                    groupContracts = map.values();
+                    break;
                 }
             }