完成起草组项目的复制
This commit is contained in:
@@ -37,6 +37,10 @@ public class ProjectCommon {
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书)
|
||||
*/
|
||||
public final static String PROJECT_TYPE6 = "6";
|
||||
/**
|
||||
* 项目类型(1:普通项目,2:工作组项目,3:会议项目,4:会员项目,5:标协会员项目,6:证书,7: 起草组项目)
|
||||
*/
|
||||
public final static String PROJECT_TYPE7 = "7";
|
||||
/**
|
||||
* 来源(1:收入合同,2:打包管理)
|
||||
*/
|
||||
|
||||
+142
-14
@@ -1,17 +1,28 @@
|
||||
package com.jero.drafting.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.common.ProjectCommon;
|
||||
import com.jero.common.dto.PaySendContactsMessageDTO;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.ContractCreateProjectSendMessageService;
|
||||
import com.jero.common.service.RolePermissionService;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.drafting.entity.PayDraftingGroup;
|
||||
import com.jero.drafting.entity.PayDraftingGroupResearchProject;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItem;
|
||||
import com.jero.drafting.entity.PayDraftingGroupSubItemContacts;
|
||||
import com.jero.drafting.mapper.PayDraftingGroupMapper;
|
||||
import com.jero.drafting.mapper.PayDraftingGroupSubItemContactsMapper;
|
||||
import com.jero.drafting.service.IPayDraftingGroupResearchProjectService;
|
||||
import com.jero.drafting.service.IPayDraftingGroupService;
|
||||
import com.jero.drafting.service.IPayDraftingGroupSubItemService;
|
||||
import com.jero.drafting.vo.PayDraftingGroupVo;
|
||||
@@ -21,22 +32,30 @@ import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysUserServiceImpl;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayResearchProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
|
||||
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.project.vo.PayWorkingGroupVO;
|
||||
import com.jero.temporary.entity.PayCompanyManagementTemporary;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import com.sun.xml.bind.v2.TODO;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@@ -64,6 +83,20 @@ public class PayDraftingGroupServiceImpl extends ServiceImpl<PayDraftingGroupMap
|
||||
private IPayDraftingGroupSubItemService payDraftingGroupSubItemService;
|
||||
@Resource
|
||||
private IPayMeetingService payMeetingService;
|
||||
@Resource
|
||||
private IPayDraftingGroupService payDraftingGroupService;
|
||||
@Resource
|
||||
private IPayDraftingGroupResearchProjectService payDraftingGroupResearchProjectService;
|
||||
@Resource
|
||||
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
|
||||
@Resource
|
||||
private PayDraftingGroupSubItemContactsMapper payDraftingGroupSubItemContactsMapper;
|
||||
@Resource
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
@Resource
|
||||
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
|
||||
|
||||
/**
|
||||
@@ -206,10 +239,10 @@ public class PayDraftingGroupServiceImpl extends ServiceImpl<PayDraftingGroupMap
|
||||
if(Objects.isNull(payDraftingGroupOld)){
|
||||
throw new JeroBootException("起草组不存在!");
|
||||
}
|
||||
if(payDraftingGroup.getDraftingGroupProject().length() == 50){
|
||||
if(payDraftingGroupOld.getDraftingGroupProject().length() == 50){
|
||||
throw new JeroBootException("起草组名称长度为50位,不可复制,请修改之后再复制!");
|
||||
}
|
||||
String str = payDraftingGroup.getDraftingGroupProject() + "-副本";
|
||||
String str = payDraftingGroupOld.getDraftingGroupProject() + "-副本";
|
||||
LambdaQueryWrapper<PayDraftingGroup> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(PayDraftingGroup::getDraftingGroupProject,str);
|
||||
List<PayDraftingGroup> listPayDraftingGroup = list(queryWrapper);
|
||||
@@ -236,13 +269,108 @@ public class PayDraftingGroupServiceImpl extends ServiceImpl<PayDraftingGroupMap
|
||||
str = str + 1;
|
||||
}
|
||||
|
||||
// payDraftingGroupOld.setId(null);
|
||||
// payDraftingGroupOld.setDraftingGroupProject(str);
|
||||
// payDraftingGroupOld.setCreateBy(null);
|
||||
// payDraftingGroupOld.setCreateTime(null);
|
||||
// payDraftingGroupOld.setUpdateBy(null);
|
||||
// payDraftingGroupOld.setUpdateTime(null);
|
||||
// (payDraftingGroupOld);
|
||||
// payWorkingGroupService.save(payDraftingGroupOld);
|
||||
payDraftingGroupOld.setId(null);
|
||||
payDraftingGroupOld.setDraftingGroupProject(str);
|
||||
payDraftingGroupOld.setCreateBy(null);
|
||||
payDraftingGroupOld.setCreateTime(null);
|
||||
payDraftingGroupOld.setUpdateBy(null);
|
||||
payDraftingGroupOld.setUpdateTime(null);
|
||||
setPayDraftingGroup(payDraftingGroupOld);
|
||||
payDraftingGroupService.save(payDraftingGroupOld);
|
||||
//拷贝在研项目
|
||||
QueryWrapper<PayDraftingGroupResearchProject> researchProjectQueryWrapper = new QueryWrapper<>();
|
||||
researchProjectQueryWrapper.eq("drafting_group_id",payDraftingGroup.getId());
|
||||
List<PayDraftingGroupResearchProject> list = payDraftingGroupResearchProjectService.list(researchProjectQueryWrapper);
|
||||
if(ObjectUtils.isNotEmpty(list)){
|
||||
for(PayDraftingGroupResearchProject payResearchProject:list){
|
||||
payResearchProject.setDraftingGroupId(payDraftingGroupOld.getId());
|
||||
payResearchProject.setId(null);
|
||||
payDraftingGroupResearchProjectService.save(payResearchProject);
|
||||
//复制在研关联文件表
|
||||
if(StringUtils.isNotBlank(payResearchProject.getFiles())){
|
||||
String files = payResearchProject.getFiles();
|
||||
List<String> filesList = Arrays.asList(files.split(","));
|
||||
for(String s:filesList){
|
||||
UUID uuid = UUID.randomUUID();
|
||||
payDraftingGroupResearchProjectService.saveFile(uuid.toString(),s,payResearchProject.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 拷贝起草组成员
|
||||
LambdaQueryWrapper<PayDraftingGroupSubItem> query = new LambdaQueryWrapper<>();
|
||||
query.eq(PayDraftingGroupSubItem::getDraftingGroupId,payDraftingGroup.getId());
|
||||
List<PayDraftingGroupSubItem> listPayDraftGroupSubItem = payDraftingGroupSubItemService.list(query);
|
||||
if(!CollectionUtils.isEmpty(listPayDraftGroupSubItem)){
|
||||
listPayDraftGroupSubItem.forEach(p->{
|
||||
String draftingGroupSubItemId = p.getId();
|
||||
// 添加企业临时数据
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(p.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagementTemporary)){
|
||||
payCompanyManagementTemporary = payCompanyManagementTemporaryService.insertCompanyManagementTemporary(p.getChargeCompanyId());
|
||||
}else{
|
||||
payCompanyManagementTemporary.setCompanyId(payCompanyManagementTemporary.getCompanyId());
|
||||
payCompanyManagementTemporary.setId(null);
|
||||
payCompanyManagementTemporaryService.save(payCompanyManagementTemporary);
|
||||
}
|
||||
//暂存历史联系人
|
||||
List<PayDraftingGroupSubItemContacts> subItemContacts = payDraftingGroupSubItemContactsMapper.getSubItemContacts(draftingGroupSubItemId);
|
||||
p.setPayDraftingGroupSubItemContactsList(subItemContacts);
|
||||
|
||||
p.setChargeCompanyTemporaryId(payCompanyManagementTemporary.getId());
|
||||
p.setId(null);
|
||||
p.setCreateBy(null);
|
||||
p.setCreateTime(null);
|
||||
p.setUpdateBy(null);
|
||||
p.setUpdateTime(null);
|
||||
p.setDraftingGroupId(payDraftingGroupOld.getId());
|
||||
});
|
||||
payDraftingGroupSubItemService.saveBatch(listPayDraftGroupSubItem);
|
||||
//拷贝起草组成员联系人
|
||||
listPayDraftGroupSubItem.forEach(p->{
|
||||
List<PayDraftingGroupSubItemContacts> itemContactsList = p.getPayDraftingGroupSubItemContactsList();
|
||||
for (PayDraftingGroupSubItemContacts subItemContacts : itemContactsList) {
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(subItemContacts.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagementTemporary)){
|
||||
payContactsManagementTemporary = payContactsManagementTemporaryService.insertContactsManagementTemporary(subItemContacts.getContactsId());
|
||||
}else{
|
||||
payContactsManagementTemporary.setId(null);
|
||||
payContactsManagementTemporary.setCompanyId(p.getChargeCompanyTemporaryId());
|
||||
payContactsManagementTemporaryService.save(payContactsManagementTemporary);
|
||||
}
|
||||
|
||||
subItemContacts.setId(null);
|
||||
subItemContacts.setDraftingGroupId(p.getDraftingGroupId());
|
||||
subItemContacts.setContactsTemporaryId(payContactsManagementTemporary.getId());
|
||||
subItemContacts.setDraftingGroupSubId(p.getId());
|
||||
payDraftingGroupSubItemContactsMapper.insert(subItemContacts);
|
||||
}
|
||||
});
|
||||
|
||||
// TODO 待确定发送消息的path路径
|
||||
// listPayDraftGroupSubItem.forEach(p->{
|
||||
// JSONObject json = new JSONObject();
|
||||
// json.put("type", ProjectCommon.PROJECT_TYPE7);
|
||||
// json.put("DraftingGroupId",p.getDraftingGroupId());
|
||||
// json.put("projectId",p.getId());
|
||||
// json.put("path","/workTeam/WorkTeamDetail");
|
||||
// //新建项目 给企业联系人发消息
|
||||
// List<PayDraftingGroupSubItemContacts> itemContactsList = p.getPayDraftingGroupSubItemContactsList();
|
||||
// for (PayDraftingGroupSubItemContacts subItemContacts : itemContactsList) {
|
||||
// PayContactsManagement payContactsManagement = payContactsManagementService.getById(subItemContacts.getContactsId());
|
||||
// if (!Objects.isNull(payContactsManagement)) {
|
||||
// PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
|
||||
// paySendContactsMessageDTO.setProjectName(payDraftingGroupOld.getDraftingGroupProject());
|
||||
// paySendContactsMessageDTO.setProjectId(p.getId());
|
||||
// paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
|
||||
// paySendContactsMessageDTO.setUserId(payDraftingGroupOld.getPrincipalIdA());
|
||||
// paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
|
||||
// paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
||||
// paySendContactsMessageDTO.setJson(json);
|
||||
// contractCreateProjectSendMessageService.createProjectSendMessageToContactsService(paySendContactsMessageDTO);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user