|  | @@ -11,16 +11,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.constant.ErrorMsgConstants;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.constant.SecurityConstants;
 | 
	
		
			
				|  |  | -import com.xunmei.common.core.domain.letter.domain.CoreIntroduceLetter;
 | 
	
		
			
				|  |  | -import com.xunmei.common.core.domain.letter.domain.CoreIntroduceLetterApproveLog;
 | 
	
		
			
				|  |  | -import com.xunmei.common.core.domain.letter.domain.CoreIntroduceLetterToOrg;
 | 
	
		
			
				|  |  | -import com.xunmei.common.core.domain.letter.domain.CoreIntroduceLetterUser;
 | 
	
		
			
				|  |  | +import com.xunmei.common.core.domain.letter.domain.*;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.letter.dto.*;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.letter.vo.*;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.util.BeanHelper;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.web.page.TableDataInfo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.security.utils.SecurityUtils;
 | 
	
		
			
				|  |  |  import com.xunmei.core.letter.mapper.CoreIntroduceLetterMapper;
 | 
	
		
			
				|  |  | +import com.xunmei.core.letter.mapper.CoreOutInRecordMapper;
 | 
	
		
			
				|  |  |  import com.xunmei.core.letter.service.ICoreIntroduceLetterService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteOrgService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.domain.SysOrg;
 | 
	
	
		
			
				|  | @@ -42,6 +40,11 @@ import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLetterMapper, CoreIntroduceLetter> implements ICoreIntroduceLetterService {
 | 
	
		
			
				|  |  |      @Resource
 | 
	
		
			
				|  |  |      private CoreIntroduceLetterMapper coreIntroduceLetterMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Resource
 | 
	
		
			
				|  |  | +    private CoreOutInRecordMapper coreOutInRecordMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Resource
 | 
	
		
			
				|  |  |      private RemoteOrgService orgService;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -128,15 +131,19 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private Page<CoreIntroduceLetterVo> buildPageVo(Page<CoreIntroduceLetterVo> page, List<SysOrg> orgList) {
 | 
	
		
			
				|  |  | -        List<CoreIntroduceLetterToOrg> toOrgList = coreIntroduceLetterMapper.findToOrgListA(page.getRecords());
 | 
	
		
			
				|  |  |          List<CoreIntroduceLetterVo> records = page.getRecords();
 | 
	
		
			
				|  |  | -        for (CoreIntroduceLetterVo record : records) {
 | 
	
		
			
				|  |  | -             List<Long> orgIds = toOrgList.stream().filter(toOrg -> toOrg.getLetterId().equals(record.getId())).map(CoreIntroduceLetterToOrg::getOrgId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | -             String  orgNames = orgIds.stream().map(orgId -> orgList.stream().filter(org -> org.getId().equals(orgId)).findFirst().get().getShortName()).collect(Collectors.joining(","));
 | 
	
		
			
				|  |  | -             record.setReceptionOrgIds(orgIds);
 | 
	
		
			
				|  |  | -             record.setReceptionOrgNames(orgNames);
 | 
	
		
			
				|  |  | +        if (ObjectUtil.isNotEmpty(records)) {
 | 
	
		
			
				|  |  | +            List<CoreIntroduceLetterToOrg> toOrgList = coreIntroduceLetterMapper.findToOrgListA(page.getRecords());
 | 
	
		
			
				|  |  | +            List<CoreOutInRecord> letterOutInRecordList = coreOutInRecordMapper.findLetterOutInRecordList(records.stream().map(x -> x.getId()).collect(Collectors.toList()).toArray(new Long[records.size()]));
 | 
	
		
			
				|  |  | +            for (CoreIntroduceLetterVo record : records) {
 | 
	
		
			
				|  |  | +                List<Long> orgIds = toOrgList.stream().filter(toOrg -> toOrg.getLetterId().equals(record.getId())).map(CoreIntroduceLetterToOrg::getOrgId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +                String orgNames = orgIds.stream().map(orgId -> orgList.stream().filter(org -> org.getId().equals(orgId)).findFirst().get().getShortName()).collect(Collectors.joining(","));
 | 
	
		
			
				|  |  | +                record.setReceptionOrgIds(orgIds);
 | 
	
		
			
				|  |  | +                record.setReceptionOrgNames(orgNames);
 | 
	
		
			
				|  |  | +                record.setHaveOutInRecord(letterOutInRecordList.stream().anyMatch(x->ObjectUtil.equal(x.getLetterId(),record.getId())));
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      return page;
 | 
	
		
			
				|  |  | +        return page;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 |