From 285e58987eb0ac429efd4b0027f09a1abc16961f Mon Sep 17 00:00:00 2001 From: lijiarao Date: Fri, 5 Jul 2024 11:33:49 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=8A=9F=E8=83=BD=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=20=E8=B5=84=E6=96=99=E5=88=86=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/SafetyCenterSubitemContacts.java | 12 +++ .../SafetyCenterSubitemContactsService.java | 32 +++++++ ...kingGroupDistributionRecordController.java | 22 +++-- ...ingGroupDistributionRecordServiceImpl.java | 88 +++++++++++++++++++ 4 files changed, 149 insertions(+), 5 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/entity/SafetyCenterSubitemContacts.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/entity/SafetyCenterSubitemContacts.java index 34b4a2cb..549f86b7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/entity/SafetyCenterSubitemContacts.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/entity/SafetyCenterSubitemContacts.java @@ -46,6 +46,12 @@ public class SafetyCenterSubitemContacts { @TableField(value = "company_id") @ApiModelProperty(value="成员单位id") private String companyId; + /** + * 成员单位名称 + */ + @TableField(exist = false) + @ApiModelProperty(value="成员单位名称") + private String companyName; /** * 企业联系人id @@ -54,6 +60,12 @@ public class SafetyCenterSubitemContacts { @ApiModelProperty(value="企业联系人id") @Excel(name = "企业联系人",dictTable = "pay_contacts_management", dicText = "name", dicCode = "id") private String contactsId; + /** + * 企业联系人姓名 + */ + @TableField(exist = false) + @ApiModelProperty(value="企业联系人姓名") + private String contactsName; /** * 备注 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java index fd158e09..6a8e12f7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/functionalsafetycenter/service/SafetyCenterSubitemContactsService.java @@ -1,12 +1,18 @@ package com.jero.functionalsafetycenter.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.jero.company.controller.PayContactsManagementController; +import com.jero.company.entity.PayContactsManagement; +import com.jero.company.service.IPayContactsManagementService; +import com.jero.temporary.entity.PayContactsManagementTemporary; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts; import com.jero.functionalsafetycenter.mapper.SafetyCenterSubitemContactsMapper; +import javax.annotation.Resource; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -16,6 +22,9 @@ import java.util.stream.Collectors; */ @Service public class SafetyCenterSubitemContactsService extends ServiceImpl { + @Resource + private IPayContactsManagementService contactsManagementService; + public void deleteBySubitemId(String subitemId){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId); @@ -39,4 +48,27 @@ public class SafetyCenterSubitemContactsService extends ServiceImpl 0; } + + public List getContactsInfo(String projectId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SafetyCenterSubitemContacts::getProjectId,projectId); + wrapper.orderByDesc(SafetyCenterSubitemContacts::getSubitemId); + wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum); + List contactsList = this.list(wrapper); + if (contactsList.isEmpty()){ + return contactsList; + } + List contactsIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList()); + List payContactsManagements = contactsManagementService.listByIds(contactsIdList); + Map collectMap = payContactsManagements.stream().collect(Collectors.toMap(PayContactsManagement::getId, payContactsManagement -> payContactsManagement)); + + for (SafetyCenterSubitemContacts contacts : contactsList) { + String contactsId = contacts.getContactsId(); + PayContactsManagement payContactsManagement = collectMap.get(contactsId); + contacts.setContactsName(payContactsManagement.getName()); + contacts.setCompanyName(payContactsManagement.getCompanyName()); + } + + return contactsList; + } } 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 a79c52a7..9100be83 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 @@ -19,12 +19,15 @@ 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.functionalsafetycenter.entity.SafetyCenterSubitemContacts; +import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.DownloadFileRecord; import com.jero.project.entity.PayWorkingGroupDistributionRecord; import com.jero.project.entity.PayWorkingGroupSubItemContacts; +import com.jero.project.enums.ProjectTypeEnum; import com.jero.project.service.IPayWorkingGroupDistributionRecordService; import com.jero.project.service.IPayWorkingGroupSubItemContactsService; import com.jero.project.service.IPayWorkingGroupSubItemService; @@ -70,6 +73,8 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService; @Resource private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService; + @Resource + private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService; @Resource private IOSSFileService iossFileService; @@ -209,10 +214,7 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< if(StringUtils.isBlank(projectId)){ throw new JeroBootException("项目id不能为空!"); } - 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)){ + if(!ProjectTypeEnum.hasValue(projectType)){ return Result.error("项目状态不正确!"); } List listData = new ArrayList<>(); @@ -267,7 +269,17 @@ public class PayWorkingGroupDistributionRecordController extends JeroController< listData.add(payContactsManagement); }); } - + }else if(Objects.equals(projectType,PayProjectCommon.PROJECT_TYPE_FILE5)){ + List list = safetyCenterSubitemContactsService.getContactsInfo(projectId); + if(!CollectionUtils.isEmpty(list)){ + list.forEach(p->{ + PayContactsManagement payContactsManagement = new PayContactsManagement(); + payContactsManagement.setId(p.getContactsId()); + payContactsManagement.setName(p.getContactsName()); + 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 edaf7bf3..3a1d26b7 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 @@ -30,6 +30,10 @@ 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.functionalsafetycenter.entity.SafetyCenter; +import com.jero.functionalsafetycenter.entity.SafetyCenterSubitemContacts; +import com.jero.functionalsafetycenter.service.SafetyCenterService; +import com.jero.functionalsafetycenter.service.SafetyCenterSubitemContactsService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.common.PayProjectCommon; @@ -41,6 +45,7 @@ import com.jero.temporary.service.IPayContactsManagementTemporaryService; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.springframework.beans.BeanUtils; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -97,6 +102,10 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.in(PayContactsManagement::getId, Arrays.asList(s)); + List listContacts = payContactsManagementService.list(wrapper); + List listContactsTemporary = new ArrayList<>(); + for (PayContactsManagement contactsManagement : listContacts) { + PayContactsManagementTemporary temporary = new PayContactsManagementTemporary(); + BeanUtils.copyProperties(contactsManagement,temporary); + listContactsTemporary.add(temporary); + } + if(!CollectionUtils.isEmpty(listContactsTemporary)){ + list = listContactsTemporary; + } + msg = safetyCenter.getProjectName(); }else{ throw new JeroBootException("项目状态不正确!"); } @@ -484,6 +517,40 @@ 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 wrapper = new LambdaQueryWrapper<>(); + wrapper.in(PayContactsManagement::getId, Arrays.asList(s)); + List listContacts = payContactsManagementService.list(wrapper); + List listContactsTemporary = new ArrayList<>(); + for (PayContactsManagement contactsManagement : listContacts) { + PayContactsManagementTemporary temporary = new PayContactsManagementTemporary(); + BeanUtils.copyProperties(contactsManagement,temporary); + listContactsTemporary.add(temporary); + } + if(!CollectionUtils.isEmpty(listContactsTemporary)){ + list = listContactsTemporary; + } + msg = safetyCenter.getProjectName(); }else { throw new JeroBootException("项目状态不正确!"); } @@ -595,4 +662,25 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl listPayWorkingGroupDistributionRecord,OSSFile byId){ + // 查询工作组成员 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SafetyCenterSubitemContacts::getProjectId,payWorkingGroupDistributionRecord.getProjectId()); + wrapper.in(SafetyCenterSubitemContacts::getContactsId,Arrays.asList(s)); + List list = safetyCenterSubitemContactsService.list(wrapper); + 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.getSubitemId()); + payWorkingGroupDistributionRecordNew.setContactsId(p.getContactsId()); + //payWorkingGroupDistributionRecordNew.setContactsName(p.getContactsTemporaryName()); + //payWorkingGroupDistributionRecordNew.setTemporaryContactsId(p.getContactsTemporaryId()); + listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew); + }); + } + } }