From 3c279e0a62bc5aafbc5f6a8f82b3c344b0257ec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Mon, 8 Jan 2024 15:43:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B5=B7=E8=8D=89=E7=BB=84?= =?UTF-8?q?=E5=88=86=E5=8F=91=E8=B5=84=E6=96=99=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ayDraftingGroupSubItemContactsService.java | 5 +- ...aftingGroupSubItemContactsServiceImpl.java | 29 ++++- ...kingGroupDistributionRecordController.java | 46 ++++--- ...ingGroupDistributionRecordServiceImpl.java | 114 ++++++++++++++++-- 4 files changed, 161 insertions(+), 33 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemContactsService.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemContactsService.java index 632c9de8..14895ce2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemContactsService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemContactsService.java @@ -1,9 +1,10 @@ package com.jero.drafting.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.jero.drafting.entity.PayDraftingGroupSubItem; import com.jero.drafting.entity.PayDraftingGroupSubItemContacts; +import java.util.List; + /** *

* 起草组成员企业联系人表 服务类 @@ -13,4 +14,6 @@ import com.jero.drafting.entity.PayDraftingGroupSubItemContacts; * @since 2024-01-02 */ public interface IPayDraftingGroupSubItemContactsService extends IService { + + List getContactsInfo(String projectId); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemContactsServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemContactsServiceImpl.java index 43047b91..90f40a06 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemContactsServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemContactsServiceImpl.java @@ -1,15 +1,18 @@ package com.jero.drafting.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jero.drafting.entity.PayDraftingGroupSubItem; import com.jero.drafting.entity.PayDraftingGroupSubItemContacts; import com.jero.drafting.mapper.PayDraftingGroupSubItemContactsMapper; -import com.jero.drafting.mapper.PayDraftingGroupSubItemMapper; import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService; -import com.jero.drafting.service.IPayDraftingGroupSubItemService; +import com.jero.temporary.entity.PayContactsManagementTemporary; +import com.jero.temporary.service.IPayContactsManagementTemporaryService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** *

@@ -21,4 +24,24 @@ import javax.annotation.Resource; */ @Service public class PayDraftingGroupSubItemContactsServiceImpl extends ServiceImpl implements IPayDraftingGroupSubItemContactsService { + @Resource + private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; + + @Override + public List getContactsInfo(String projectId){ + //1.获取成员信息 + LambdaQueryWrapper queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>(); + queryPayDraftingGroupSubItemContacts.eq(PayDraftingGroupSubItemContacts::getDraftingGroupId,projectId); + List listPayDraftingGroupSubItemContacts = this.list(queryPayDraftingGroupSubItemContacts); + //2.根据成员id获取用户信息 + List temporaryIds = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList()); + List contactsManagementTemporaryList = payContactsManagementTemporaryService.listByIds(temporaryIds); + Map collectMap = contactsManagementTemporaryList.stream().collect(Collectors.toMap(PayContactsManagementTemporary::getId, PayContactsManagementTemporary -> PayContactsManagementTemporary)); + for (PayDraftingGroupSubItemContacts subItemContacts : listPayDraftingGroupSubItemContacts) { + String contactsTemporaryId = subItemContacts.getContactsTemporaryId(); + PayContactsManagementTemporary payContactsManagementTemporary = collectMap.get(contactsTemporaryId); + subItemContacts.setCompanyName(payContactsManagementTemporary.getCompanyName()); + } + return listPayDraftingGroupSubItemContacts; + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDistributionRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDistributionRecordController.java index b8052077..91171183 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDistributionRecordController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayWorkingGroupDistributionRecordController.java @@ -17,6 +17,8 @@ import com.jero.data.entity.PayCaseCouncilSubitem; import com.jero.data.mapper.PayFileEmailRemindRecordMapper; import com.jero.data.service.IPayCaseCommitteeSubitemService; import com.jero.data.service.IPayCaseCouncilSubitemService; +import com.jero.drafting.entity.PayDraftingGroupSubItemContacts; +import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.common.PayProjectCommon; @@ -41,10 +43,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -69,6 +68,8 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< private IPayCaseCouncilSubitemService payCaseCouncilSubitemService; @Resource private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService; + @Resource + private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService; @Resource private IOSSFileService iossFileService; @@ -166,13 +167,13 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< //这里,防止要下载的文件有重名的导致下载失败 zipos.putNextEntry(new ZipEntry(ossFile.getFileName())); os = new DataOutputStream(zipos); - InputStream is = new FileInputStream(file); - byte[] b = new byte[1024]; - int length = 0; - while((length = is.read(b))!= -1){ - os.write(b, 0, length); + try(InputStream is = new FileInputStream(file);){ + byte[] b = new byte[1024]; + int length = 0; + while((length = is.read(b))!= -1){ + os.write(b, 0, length); + } } - is.close(); zipos.closeEntry(); }catch (Exception e){ e.printStackTrace(); @@ -208,13 +209,14 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< if(StringUtils.isBlank(projectId)){ throw new JeroBootException("项目id不能为空!"); } - if(projectType != PayProjectCommon.PROJECT_TYPE_FILE1 - && projectType != PayProjectCommon.PROJECT_TYPE_FILE2 - && projectType != PayProjectCommon.PROJECT_TYPE_FILE3){ + if(!Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE1) + && !Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE2) + && !Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE3) + && !Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE4)){ return Result.error("项目状态不正确!"); } List listData = new ArrayList<>(); - if(projectType == PayProjectCommon.PROJECT_TYPE_FILE1){ + if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE1)){ //LambdaQueryWrapper queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>(); //queryPayWorkingGroupSubItemContacts.eq(PayWorkingGroupSubItemContacts::getWorkingGroupId,projectId); //List list = payWorkingGroupSubItemContactsService.list(queryPayWorkingGroupSubItemContacts); @@ -228,7 +230,7 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< listData.add(payContactsManagement); }); } - }else if(projectType == PayProjectCommon.PROJECT_TYPE_FILE2){ + }else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE2)){ LambdaQueryWrapper queryPayCaseCommitteeSubitem = new LambdaQueryWrapper<>(); queryPayCaseCommitteeSubitem.eq(PayCaseCommitteeSubitem::getCommitteeId,projectId); List list = payCaseCommitteeSubitemService.list(queryPayCaseCommitteeSubitem); @@ -241,7 +243,7 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< listData.add(payContactsManagement); }); } - }else if(projectType == PayProjectCommon.PROJECT_TYPE_FILE3){ + }else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE3)){ LambdaQueryWrapper queryPayCaseCommitteeSubitem = new LambdaQueryWrapper<>(); queryPayCaseCommitteeSubitem.eq(PayCaseCouncilSubitem::getCouncilId,projectId); List list = payCaseCouncilSubitemService.list(queryPayCaseCommitteeSubitem); @@ -255,6 +257,18 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< }); } + }else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE4)){ + List list = payDraftingGroupSubItemContactsService.getContactsInfo(projectId); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(p->{ + PayContactsManagement payContactsManagement = new PayContactsManagement(); + payContactsManagement.setId(p.getContactsTemporaryId()); + payContactsManagement.setName(p.getContactsTemporaryName()); + payContactsManagement.setCompanyName(p.getCompanyName()); + listData.add(payContactsManagement); + }); + } + }else { throw new JeroBootException("项目状态不正确!"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java index 30f9de62..d6501d70 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java @@ -17,9 +17,19 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayContactsManagementService; -import com.jero.data.entity.*; -import com.jero.data.service.*; +import com.jero.data.entity.PayCaseCommittee; +import com.jero.data.entity.PayCaseCommitteeSubitem; +import com.jero.data.entity.PayCaseCouncil; +import com.jero.data.entity.PayCaseCouncilSubitem; +import com.jero.data.service.IPayCaseCommitteeService; +import com.jero.data.service.IPayCaseCommitteeSubitemService; +import com.jero.data.service.IPayCaseCouncilService; +import com.jero.data.service.IPayCaseCouncilSubitemService; import com.jero.data.service.impl.PayFileEmailRemindRecordService; +import com.jero.drafting.entity.PayDraftingGroup; +import com.jero.drafting.entity.PayDraftingGroupSubItemContacts; +import com.jero.drafting.service.IPayDraftingGroupService; +import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.common.PayProjectCommon; @@ -34,6 +44,7 @@ import org.apache.shiro.SecurityUtils; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import javax.annotation.Resource; import java.io.File; import java.util.*; @@ -82,6 +93,11 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl list = new ArrayList<>(); String msg = ""; List listPayWorkingGroupDistributionRecord = new ArrayList<>(); - if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){ + if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){ PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId()); if(Objects.isNull(payWorkingGroup)){ throw new JeroBootException("工作组不存在!"); @@ -134,7 +150,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl queryPayContactsManagement = new LambdaQueryWrapper<>(); queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(contactsIds.split(","))); List listContacts = payContactsManagementService.list(queryPayContactsManagement); @@ -166,7 +182,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl queryPayContactsManagement = new LambdaQueryWrapper<>(); queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(contactsIds.split(","))); List listContacts = payContactsManagementService.list(queryPayContactsManagement); @@ -197,6 +213,26 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl queryPayContactsManagementTemporary = new LambdaQueryWrapper<>(); + queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s)); + List listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary); + if(!CollectionUtils.isEmpty(listContacts)){ + list = listContacts; + } + msg = payDraftingGroup.getDraftingGroupProject(); }else{ throw new JeroBootException("项目状态不正确!"); } @@ -239,9 +275,9 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl list = new ArrayList<>(); List listPayWorkingGroupDistributionRecord = new ArrayList<>(); - if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){ + if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1)){ PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorkingGroupDistributionRecord.getProjectId()); if(Objects.isNull(payWorkingGroup)){ throw new JeroBootException("工作组不存在!"); @@ -321,7 +357,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl queryPayCaseCommitteeSubitem = new LambdaQueryWrapper<>(); queryPayCaseCommitteeSubitem.eq(PayCaseCommitteeSubitem::getCommitteeId,payWorkingGroupDistributionRecord.getProjectId()); @@ -362,7 +398,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(PayCaseCouncilSubitem::getCouncilId,payWorkingGroupDistributionRecord.getProjectId()); @@ -403,6 +439,36 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl{ + OSSFile byId = iossFileService.getById(p.getFileId()); + if(Objects.isNull(byId)){ + throw new JeroBootException("没有找到文件!"); + } + // 文件路径 + String url = byId.getUrl(); + listFile.add(path + url); + payWorkingGroupDistributionRecord.setDataId(p.getId()); + setRecordByDrafting( payWorkingGroupDistributionRecord,s,listPayWorkingGroupDistributionRecord, byId); + }); + LambdaQueryWrapper queryPayContactsManagementTemporary = new LambdaQueryWrapper<>(); + queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s)); + List listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary); + if(!CollectionUtils.isEmpty(listContacts)){ + list = listContacts; + } + msg = payDraftingGroup.getDraftingGroupProject(); }else { throw new JeroBootException("项目状态不正确!"); } @@ -419,7 +485,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl listStr = listPayWorkingGroupDistributionRecord.stream().filter(item-> - (payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1) ? + Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE1) ? Objects.equals(item.getTemporaryContactsId(),p.getId()) : Objects.equals(item.getContactsId(),p.getId())).collect(Collectors.toList()); if(CollectionUtils.isEmpty(listStr)){ @@ -444,9 +510,9 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl listPayWorkingGroupDistributionRecord,OSSFile byId){ + // 查询工作组成员 + LambdaQueryWrapper queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>(); + queryPayDraftingGroupSubItemContacts.eq(PayDraftingGroupSubItemContacts::getDraftingGroupId,payWorkingGroupDistributionRecord.getProjectId()); + queryPayDraftingGroupSubItemContacts.in(PayDraftingGroupSubItemContacts::getContactsTemporaryId,Arrays.asList(s)); + List list = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(p->{ + PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord(); + payWorkingGroupDistributionRecordNew.setDataId(payWorkingGroupDistributionRecord.getDataId()); + payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId()); + payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType()); + payWorkingGroupDistributionRecordNew.setFileId(byId.getId()); + payWorkingGroupDistributionRecordNew.setSubId(p.getDraftingGroupSubId()); + payWorkingGroupDistributionRecordNew.setContactsId(p.getContactsId()); + payWorkingGroupDistributionRecordNew.setContactsName(p.getContactsTemporaryName()); + payWorkingGroupDistributionRecordNew.setTemporaryContactsId(p.getContactsTemporaryId()); + listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew); + }); + } + } }