update 功能安全中心 资料分发
This commit is contained in:
+12
@@ -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;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
|
||||
+32
@@ -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<SafetyCenterSubitemContactsMapper, SafetyCenterSubitemContacts> {
|
||||
@Resource
|
||||
private IPayContactsManagementService contactsManagementService;
|
||||
|
||||
public void deleteBySubitemId(String subitemId){
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getSubitemId,subitemId);
|
||||
@@ -39,4 +48,27 @@ public class SafetyCenterSubitemContactsService extends ServiceImpl<SafetyCenter
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getContactsId,contactsId);
|
||||
return count(wrapper) > 0;
|
||||
}
|
||||
|
||||
public List<SafetyCenterSubitemContacts> getContactsInfo(String projectId) {
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getProjectId,projectId);
|
||||
wrapper.orderByDesc(SafetyCenterSubitemContacts::getSubitemId);
|
||||
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
|
||||
List<SafetyCenterSubitemContacts> contactsList = this.list(wrapper);
|
||||
if (contactsList.isEmpty()){
|
||||
return contactsList;
|
||||
}
|
||||
List<String> contactsIdList = contactsList.stream().map(SafetyCenterSubitemContacts::getContactsId).distinct().collect(Collectors.toList());
|
||||
List<PayContactsManagement> payContactsManagements = contactsManagementService.listByIds(contactsIdList);
|
||||
Map<String, PayContactsManagement> 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;
|
||||
}
|
||||
}
|
||||
|
||||
+17
-5
@@ -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<PayContactsManagement> 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<SafetyCenterSubitemContacts> 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("项目状态不正确!");
|
||||
}
|
||||
|
||||
+88
@@ -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<Pa
|
||||
private IPayDraftingGroupService payDraftingGroupService;
|
||||
@Resource
|
||||
private IPayDraftingGroupSubItemContactsService payDraftingGroupSubItemContactsService;
|
||||
@Resource
|
||||
private SafetyCenterService safetyCenterService;
|
||||
@Resource
|
||||
private SafetyCenterSubitemContactsService safetyCenterSubitemContactsService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -232,6 +241,30 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
|
||||
list = listContacts;
|
||||
}
|
||||
msg = payDraftingGroup.getDraftingGroupProject();
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE5)){
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(payWorkingGroupDistributionRecord.getProjectId());
|
||||
if(Objects.isNull(safetyCenter)){
|
||||
throw new JeroBootException("功能安全中心项目不存在!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!rolePermissionService.getRolePermission("fileMaintenance:distribute")
|
||||
&& !Objects.equals(safetyCenter.getPrincipalId(),sysUser.getId())){
|
||||
throw new JeroBootException("资料不可操作!");
|
||||
}
|
||||
setRecordBySafetyCenter( payWorkingGroupDistributionRecord,s,listPayWorkingGroupDistributionRecord, byId);
|
||||
LambdaQueryWrapper<PayContactsManagement> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(PayContactsManagement::getId, Arrays.asList(s));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(wrapper);
|
||||
List<PayContactsManagementTemporary> 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<Pa
|
||||
list = listContacts;
|
||||
}
|
||||
msg = payDraftingGroup.getDraftingGroupProject();
|
||||
}else if(Objects.equals(payWorkingGroupDistributionRecord.getProjectType(),PayProjectCommon.PROJECT_TYPE_FILE5)){
|
||||
SafetyCenter safetyCenter = safetyCenterService.getById(payWorkingGroupDistributionRecord.getProjectId());
|
||||
if(Objects.isNull(safetyCenter)){
|
||||
throw new JeroBootException("功能安全中心项目不存在!");
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!rolePermissionService.getRolePermission("fileMaintenance:distribute")
|
||||
&& !Objects.equals(safetyCenter.getPrincipalId(),sysUser.getId())){
|
||||
throw new JeroBootException("资料不可操作!");
|
||||
}
|
||||
listPayWorkingGroupDataFile.forEach(p->{
|
||||
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<PayContactsManagement> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(PayContactsManagement::getId, Arrays.asList(s));
|
||||
List<PayContactsManagement> listContacts = payContactsManagementService.list(wrapper);
|
||||
List<PayContactsManagementTemporary> 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<Pa
|
||||
});
|
||||
}
|
||||
}
|
||||
private void setRecordBySafetyCenter(PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecord,String[] s,List<PayWorkingGroupDistributionRecord> listPayWorkingGroupDistributionRecord,OSSFile byId){
|
||||
// 查询工作组成员
|
||||
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SafetyCenterSubitemContacts::getProjectId,payWorkingGroupDistributionRecord.getProjectId());
|
||||
wrapper.in(SafetyCenterSubitemContacts::getContactsId,Arrays.asList(s));
|
||||
List<SafetyCenterSubitemContacts> 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);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user