|
|
@@ -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;
|
|
|
}
|
|
|
|
|
|
|