fix 修改企业联系人123没有处理干净,相关功能丢失的遗留bug

This commit is contained in:
lijiarao
2022-09-05 16:10:47 +08:00
parent 8938e0c083
commit ef6eabb5c7
7 changed files with 172 additions and 200 deletions
@@ -28,7 +28,9 @@ import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.entity.PayWorkingGroupSubItemContacts;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.standards.memberinfo.service.IMemberInfoService;
import io.swagger.annotations.Api;
@@ -91,6 +93,8 @@ public class PayContactsManagementController extends JeroController<PayContactsM
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private IMemberInfoService memberInfoService;
@Resource
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
@Value("${defaultPassword}")
private String defaultPassword;
@@ -429,15 +433,19 @@ public class PayContactsManagementController extends JeroController<PayContactsM
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getContactsIdOne,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdTwo,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdThree,p.getId()).or()
.eq(PayWorkingGroupSubItem::getMailContactsId,p.getId());
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getMailContactsId,p.getId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsLambdaQueryWrapper = new LambdaQueryWrapper<>();
payWorkingGroupSubItemContactsLambdaQueryWrapper.eq(PayWorkingGroupSubItemContacts::getContactsId,p.getId());
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(payWorkingGroupSubItemContactsLambdaQueryWrapper);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMeetingSituation> queryPayMeetingSituation = new LambdaQueryWrapper<>();
queryPayMeetingSituation.eq(PayMeetingSituation::getCompanyContactId,p.getId()).or().eq(PayMeetingSituation::getPostContactId,p.getId());
List<PayMeetingSituation> listPayMeetingSituation = payMeetingSituationService.list(queryPayMeetingSituation);
@@ -511,15 +519,19 @@ public class PayContactsManagementController extends JeroController<PayContactsM
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getContactsIdOne,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdTwo,p.getId()).or()
.eq(PayWorkingGroupSubItem::getContactsIdThree,p.getId()).or()
.eq(PayWorkingGroupSubItem::getMailContactsId,p.getId());
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getMailContactsId,p.getId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> payWorkingGroupSubItemContactsLambdaQueryWrapper = new LambdaQueryWrapper<>();
payWorkingGroupSubItemContactsLambdaQueryWrapper.eq(PayWorkingGroupSubItemContacts::getContactsId,p.getId());
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = payWorkingGroupSubItemContactsService.list(payWorkingGroupSubItemContactsLambdaQueryWrapper);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
msg.append(p.getName() + "已关联项目,不可删除!<br/>");
return;
}
LambdaQueryWrapper<PayMeetingSituation> queryPayMeetingSituation = new LambdaQueryWrapper<>();
queryPayMeetingSituation.eq(PayMeetingSituation::getCompanyContactId,p.getId()).or().eq(PayMeetingSituation::getPostContactId,p.getId());
List<PayMeetingSituation> listPayMeetingSituation = payMeetingSituationService.list(queryPayMeetingSituation);
@@ -47,8 +47,10 @@ import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
@@ -119,6 +121,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
private IPayIncomeContractAssociatedCancellationService payIncomeContractAssociatedCancellationService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private PayWorkingGroupSubItemContactsMapper payWorkingGroupSubItemContactsMapper;
@Override
public IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) {
@@ -403,6 +407,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroup.getId());
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getChargeCompanyId,payIncomeContract.getSignedCompanyId());
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem);
String workingGroupSubItemId = listPayWorkingGroupSubItem.get(0).getId();
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
throw new JeroBootException("工作组成员单位不存在!");
}
@@ -413,12 +418,12 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
// 验证项目是否已被关联
getIncomeContractAssociated(p.getContractId(),listPayWorkingGroupSubItem.get(0).getId());
getIncomeContractAssociated(p.getContractId(), workingGroupSubItemId);
// 关联合同,项目选了合同,变更合同编号
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateBy,sysUser.getUsername());
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getUpdateTime,new Date());
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,listPayWorkingGroupSubItem.get(0).getId());
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId, workingGroupSubItemId);
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getContractNum,payIncomeContract.getContractNum());
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getChargeWay,PayIncomeContractCommon.CHARGE_WAY2);
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getCharge,null);
@@ -427,13 +432,14 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
// 合同选择了打包,查看打包年份&&打包企业是否存在
if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getPack,PayIncomeContractCommon.PACK1);
payPackCompanyProjectService.setPack(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),listPayWorkingGroupSubItem.get(0).getContactsIdOne(),payIncomeContract.getPackYear(),listPayWorkingGroupSubItem.get(0).getId(),PayIncomeContractCommon.PROJECT_TYPE2,payIncomeContract.getPack());
String masterContactsId = payWorkingGroupSubItemContactsMapper.getMasterContactsId(workingGroupSubItemId);
payPackCompanyProjectService.setPack(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),masterContactsId,payIncomeContract.getPackYear(), workingGroupSubItemId,PayIncomeContractCommon.PROJECT_TYPE2,payIncomeContract.getPack());
}
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
principalId = payWorkingGroup.getPrincipalIdA();
projectName = payWorkingGroup.getWorkingGroupProject();
// 更新项目id
p.setProjectId(listPayWorkingGroupSubItem.get(0).getId());
p.setProjectId(workingGroupSubItemId);
break;
case PayIncomeContractCommon.PROJECT_TYPE3:
// 会议项目
@@ -46,6 +46,8 @@ import com.jero.modules.system.service.ISysUserService;
import com.jero.project.entity.PayCommonProject;
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.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
@@ -110,7 +112,8 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
private ITbCertificatePaymentService tbCertificatePaymentService;
@Resource
private ISysUserService sysUserService;
@Resource
private PayWorkingGroupSubItemContactsMapper payWorkingGroupSubItemContactsMapper;
/**
* 分页列表查询
@@ -205,20 +208,11 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorkingGroupSubItemOld.getContactsTemporaryIdOne());
if(!Objects.isNull(payWorkingTemporaryOne)){
listId.add(payWorkingTemporaryOne);
}
if(!org.apache.commons.lang3.StringUtils.isBlank(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo())){
PayContactsManagementTemporary payWorkingTemporaryTwo = payContactsManagementTemporaryService.getById(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo());
if(!Objects.isNull(payWorkingTemporaryTwo)){
listId.add(payWorkingTemporaryTwo);
}
}
if(!org.apache.commons.lang3.StringUtils.isBlank(payWorkingGroupSubItemOld.getContactsTemporaryIdThree())){
PayContactsManagementTemporary payWorkingTemporaryThree = payContactsManagementTemporaryService.getById(payWorkingGroupSubItemOld.getContactsTemporaryIdThree());
if(!Objects.isNull(payWorkingTemporaryThree)){
listId.add(payWorkingTemporaryThree);
List<PayWorkingGroupSubItemContacts> subItemContacts = payWorkingGroupSubItemContactsMapper.getSubItemContacts(one.getProjectId());
for (PayWorkingGroupSubItemContacts subItemContact : subItemContacts) {
PayContactsManagementTemporary payWorkingTemporary = payContactsManagementTemporaryService.getById(subItemContact.getContactsTemporaryId());
if(!Objects.isNull(payWorkingTemporary)){
listId.add(payWorkingTemporary);
}
}
project = payWorkingGroup.getWorkingGroupProject();
@@ -430,20 +424,11 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorkingGroupSubItemOld.getContactsTemporaryIdOne());
if(!Objects.isNull(payWorkingTemporaryOne)){
listId.add(payWorkingTemporaryOne);
}
if(!org.apache.commons.lang3.StringUtils.isBlank(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo())){
PayContactsManagementTemporary payWorkingTemporaryTwo = payContactsManagementTemporaryService.getById(payWorkingGroupSubItemOld.getContactsTemporaryIdTwo());
if(!Objects.isNull(payWorkingTemporaryTwo)){
listId.add(payWorkingTemporaryTwo);
}
}
if(!org.apache.commons.lang3.StringUtils.isBlank(payWorkingGroupSubItemOld.getContactsTemporaryIdThree())){
PayContactsManagementTemporary payWorkingTemporaryThree = payContactsManagementTemporaryService.getById(payWorkingGroupSubItemOld.getContactsTemporaryIdThree());
if(!Objects.isNull(payWorkingTemporaryThree)){
listId.add(payWorkingTemporaryThree);
List<PayWorkingGroupSubItemContacts> subItemContacts = payWorkingGroupSubItemContactsMapper.getSubItemContacts(one.getProjectId());
for (PayWorkingGroupSubItemContacts subItemContact : subItemContacts) {
PayContactsManagementTemporary payWorkingTemporary = payContactsManagementTemporaryService.getById(subItemContact.getContactsTemporaryId());
if(!Objects.isNull(payWorkingTemporary)){
listId.add(payWorkingTemporary);
}
}
project = payWorkingGroup.getWorkingGroupProject();
@@ -1,4 +1,6 @@
package com.jero.project.mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -11,5 +13,12 @@ import com.jero.project.entity.PayWorkingGroupSubItemContacts;
* @Version: V1.0
*/
public interface PayWorkingGroupSubItemContactsMapper extends BaseMapper<PayWorkingGroupSubItemContacts> {
/**
* 根据成员id获得主联系人
*/
String getMasterContactsId(@Param("workingGroupSubId")String workingGroupSubId);
List<PayWorkingGroupSubItemContacts> getSubItemContacts(@Param("workingGroupSubId")String workingGroupSubId);
}
@@ -1,5 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper">
<sql id="Base_Column_List">
id,
working_group_id,
working_group_sub_id,
contacts_id,
contacts_temporary_id,
contacts_temporary_name,
remarks,
order_num,
create_by,
create_time,
update_by,
update_time
</sql>
<resultMap id="BaseResultMap" type="com.jero.project.entity.PayWorkingGroupSubItemContacts">
<result column="id" property="id"/>
<result column="working_group_id" property="workingGroupId"/>
<result column="working_group_sub_id" property="workingGroupSubId"/>
<result column="contacts_id" property="contactsId"/>
<result column="contacts_temporary_id" property="contactsTemporaryId"/>
<result column="contacts_temporary_name" property="contactsTemporaryName"/>
<result column="remarks" property="remarks"/>
<result column="order_num" property="orderNum"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<!--auto generated by MybatisCodeHelper on 2022-09-05-->
<select id="getMasterContactsId" resultType="java.lang.String">
select contacts_id
from pay_working_group_subitem_contacts
where working_group_sub_id=#{workingGroupSubId} order by order_num asc limit 1
</select>
<!--auto generated by MybatisCodeHelper on 2022-09-05-->
<select id="getSubItemContacts" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from pay_working_group_subitem_contacts
where working_group_sub_id=#{workingGroupSubId}
</select>
</mapper>
@@ -24,6 +24,7 @@ import com.jero.modules.system.service.ISysUserService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.*;
import com.jero.project.mapper.PayWorkingGroupMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
import com.jero.project.service.IPayResearchProjectService;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
@@ -79,6 +80,8 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
private IPayContactsManagementService payContactsManagementService;
@Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
@Resource
private PayWorkingGroupSubItemContactsMapper payWorkingGroupSubItemContactsMapper;
@Override
public IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) {
@@ -240,6 +243,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(query);
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
listPayWorkingGroupSubItem.forEach(p->{
String workingGroupSubItemId = p.getId();
// 添加企业临时数据
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(p.getChargeCompanyTemporaryId());
if(Objects.isNull(payCompanyManagementTemporary)){
@@ -249,44 +253,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
payCompanyManagementTemporary.setId(null);
payCompanyManagementTemporaryService.save(payCompanyManagementTemporary);
}
// 添加联系人一临时数据
PayContactsManagementTemporary payContactsManagementTemporaryOne = payContactsManagementTemporaryService.getById(p.getContactsTemporaryIdOne());
if(Objects.isNull(payContactsManagementTemporaryOne)){
payContactsManagementTemporaryOne = payContactsManagementTemporaryService.insertContactsManagementTemporary(p.getContactsIdOne());
}else{
payContactsManagementTemporaryOne.setCompanyId(payContactsManagementTemporaryOne.getId());
payContactsManagementTemporaryOne.setId(null);
payContactsManagementTemporaryService.save(payContactsManagementTemporaryOne);
}
// 添加联系人二临时数据
if(!StringUtils.isEmpty(p.getContactsTemporaryIdTwo())){
PayContactsManagementTemporary payContactsManagementTemporaryTwo = payContactsManagementTemporaryService.getById(p.getContactsTemporaryIdTwo());
if(Objects.isNull(payContactsManagementTemporaryTwo)){
payContactsManagementTemporaryTwo = payContactsManagementTemporaryService.insertContactsManagementTemporary(p.getContactsIdTwo());
} else {
payContactsManagementTemporaryTwo.setCompanyId(payContactsManagementTemporaryTwo.getId());
payContactsManagementTemporaryTwo.setId(null);
payContactsManagementTemporaryService.save(payContactsManagementTemporaryTwo);
}
p.setContactsTemporaryIdTwo(payContactsManagementTemporaryTwo.getId());
}
// 添加联系人三临时数据
if(!StringUtils.isEmpty(p.getContactsTemporaryIdThree())){
PayContactsManagementTemporary payContactsManagementTemporaryThree = payContactsManagementTemporaryService.getById(p.getContactsTemporaryIdThree());
if(Objects.isNull(payContactsManagementTemporaryThree)){
payContactsManagementTemporaryThree = payContactsManagementTemporaryService.insertContactsManagementTemporary(p.getContactsIdThree());
}else {
payContactsManagementTemporaryThree.setCompanyId(payContactsManagementTemporaryThree.getId());
payContactsManagementTemporaryThree.setId(null);
payContactsManagementTemporaryService.save(payContactsManagementTemporaryThree);
}
p.setContactsTemporaryIdThree(payContactsManagementTemporaryThree.getId());
}
//暂存历史联系人
List<PayWorkingGroupSubItemContacts> subItemContacts = payWorkingGroupSubItemContactsMapper.getSubItemContacts(workingGroupSubItemId);
p.setPayWorkingGroupSubItemContactsList(subItemContacts);
// 添加邮寄联系人临时数据
PayContactsManagementTemporary payContactsManagementTemporaryMail = payContactsManagementTemporaryService.getById(p.getMailContactsId());
@@ -307,7 +276,6 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
p.setChargeNoticeId(null);
}
p.setChargeCompanyTemporaryId(payCompanyManagementTemporary.getId());
p.setContactsTemporaryIdOne(payContactsManagementTemporaryOne.getId());
p.setMailContactsTemporaryId(payContactsManagementTemporaryMail.getId());
p.setPack(PayProjectCommon.PACKAGING0);
p.setInAccount(PayProjectCommon.IN_ACCOUNT0);
@@ -327,53 +295,37 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
p.setWorkingGroupId(payWorkingGroupOld.getId());
});
payWorkingGroupSubItemService.saveBatch(listPayWorkingGroupSubItem);
//拷贝工作组成员联系人
listPayWorkingGroupSubItem.forEach(p->{
List<PayWorkingGroupSubItemContacts> itemContactsList = p.getPayWorkingGroupSubItemContactsList();
for (PayWorkingGroupSubItemContacts 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.setWorkingGroupId(p.getWorkingGroupId());
subItemContacts.setContactsTemporaryId(payContactsManagementTemporary.getId());
subItemContacts.setWorkingGroupSubId(p.getId());
payWorkingGroupSubItemContactsMapper.insert(subItemContacts);
}
});
listPayWorkingGroupSubItem.forEach(p->{
JSONObject json = new JSONObject();
json.put("type",ProjectCommon.PROJECT_TYPE2);
json.put("workingGroupId",p.getWorkingGroupId());
json.put("projectId",p.getId());
json.put("path","/workTeam/WorkTeamDetail");
// 新建项目 给企业联系人1发送消息
if (!StringUtils.isBlank(p.getContactsIdOne())) {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(p.getContactsIdOne());
if (!Objects.isNull(payContactsManagement)) {
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payWorkingGroupOld.getWorkingGroupProject());
paySendContactsMessageDTO.setProjectId(p.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setUserId(payWorkingGroupOld.getPrincipalIdA());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(!Objects.isNull(p.getReceivableAmount()) && p.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
paySendContactsMessageDTO.setJson(json);
contractCreateProjectSendMessageService.createProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
// 新建项目 给企业联系人2发送消息
if (!StringUtils.isBlank(p.getContactsIdTwo())) {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(p.getContactsIdTwo());
if (!Objects.isNull(payContactsManagement)) {
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payWorkingGroupOld.getWorkingGroupProject());
paySendContactsMessageDTO.setProjectId(p.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setUserId(payWorkingGroupOld.getPrincipalIdA());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(!Objects.isNull(p.getReceivableAmount()) && p.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
paySendContactsMessageDTO.setJson(json);
contractCreateProjectSendMessageService.createProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
// 新建项目 给企业联系人3发送消息
if (!StringUtils.isBlank(p.getContactsIdThree())) {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(p.getContactsIdThree());
//新建项目 给企业联系人消息
List<PayWorkingGroupSubItemContacts> itemContactsList = p.getPayWorkingGroupSubItemContactsList();
for (PayWorkingGroupSubItemContacts subItemContacts : itemContactsList) {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(subItemContacts.getContactsId());
if (!Objects.isNull(payContactsManagement)) {
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payWorkingGroupOld.getWorkingGroupProject());
@@ -40,6 +40,7 @@ import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.payment.service.IPayPaymentCheckService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.*;
import com.jero.project.mapper.PayWorkingGroupSubItemContactsMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemContactsService;
@@ -122,6 +123,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
private Environment env;
@Resource
private IPayMailBillService payMailBillService;
@Resource
PayWorkingGroupSubItemContactsMapper payWorkingGroupSubItemContactsMapper;
@Override
@@ -274,70 +277,28 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
json.put("workingGroupId",payWorkingGroupSubItem.getWorkingGroupId());
json.put("projectId",payWorkingGroupSubItem.getId());
json.put("path","/workTeam/WorkTeamDetail");
// 新建项目 给企业联系人1发送消息
if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdOne())){
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payWorkingGroupSubItem.getContactsIdOne());
if(!Objects.isNull(payContactsManagement)){
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payWorkingGroup.getWorkingGroupProject());
paySendContactsMessageDTO.setProjectId(payWorkingGroupSubItem.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setUserId(payWorkingGroup.getPrincipalIdA());
if(!CollectionUtils.isEmpty(listFile)){
paySendContactsMessageDTO.setListFile(listFile);
//新建项目 给企业联系人消息
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContactsNew)){
for (PayWorkingGroupSubItemContacts subItemContacts : listPayWorkingGroupSubItemContactsNew) {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(subItemContacts.getContactsId());
if (!Objects.isNull(payContactsManagement)) {
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payWorkingGroup.getWorkingGroupProject());
paySendContactsMessageDTO.setProjectId(payWorkingGroupSubItem.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setUserId(payWorkingGroup.getPrincipalIdA());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
if(!CollectionUtils.isEmpty(listFile)){
paySendContactsMessageDTO.setListFile(listFile);
}
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
paySendContactsMessageDTO.setJson(json);
contractCreateProjectSendMessageService.createProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
paySendContactsMessageDTO.setJson(json);
contractCreateProjectSendMessageService.createProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
// 新建项目 给企业联系人2发送消息
if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdTwo())){
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payWorkingGroupSubItem.getContactsIdTwo());
if(!Objects.isNull(payContactsManagement)){
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payWorkingGroup.getWorkingGroupProject());
paySendContactsMessageDTO.setProjectId(payWorkingGroupSubItem.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setUserId(payWorkingGroup.getPrincipalIdA());
if(!CollectionUtils.isEmpty(listFile)){
paySendContactsMessageDTO.setListFile(listFile);
}
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
paySendContactsMessageDTO.setJson(json);
contractCreateProjectSendMessageService.createProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
// 新建项目 给企业联系人3发送消息
if(!StringUtils.isBlank(payWorkingGroupSubItem.getContactsIdThree())){
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payWorkingGroupSubItem.getContactsIdThree());
if(!Objects.isNull(payContactsManagement)){
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payWorkingGroup.getWorkingGroupProject());
paySendContactsMessageDTO.setProjectId(payWorkingGroupSubItem.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setUserId(payWorkingGroup.getPrincipalIdA());
if(!CollectionUtils.isEmpty(listFile)){
paySendContactsMessageDTO.setListFile(listFile);
}
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
paySendContactsMessageDTO.setJson(json);
contractCreateProjectSendMessageService.createProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
}
@@ -345,8 +306,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
@Override
@Transactional
public void editPayWorkingGroupSubItem(PayWorkingGroupSubItem payWorkingGroupSubItem) {
PayWorkingGroupSubItem payWorkingGroupSubItemOld = payWorkingGroupSubItemService.getById(payWorkingGroupSubItem.getId());
String workingGroupSubItemId = payWorkingGroupSubItem.getId();
PayWorkingGroupSubItem payWorkingGroupSubItemOld = payWorkingGroupSubItemService.getById(workingGroupSubItemId);
if(Objects.isNull(payWorkingGroupSubItemOld)){
throw new JeroBootException("项目不存在!");
}
@@ -394,7 +355,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
PayWorkingGroupSubItem payWorkingGroupSubItemNew = payWorkingGroupSubItemService.getOne(queryWrapper);
// 来款项目存在,并且编辑id与查询不同,则校验不通过
if(!Objects.isNull(payWorkingGroupSubItemNew)
&& !Objects.equals(payWorkingGroupSubItemNew.getId(),payWorkingGroupSubItem.getId())) {
&& !Objects.equals(payWorkingGroupSubItemNew.getId(), workingGroupSubItemId)) {
throw new JeroBootException("工作组成员单位已存在!");
}
}catch (Exception e){
@@ -402,7 +363,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
throw new JeroBootException("工作组成员单位已存在!");
}
// 校验项目是否已关联合同
PayIncomeContract payIncomeContract = payIncomeContractService.checkPayIncomeContractAssociated(payWorkingGroupSubItem.getId());
PayIncomeContract payIncomeContract = payIncomeContractService.checkPayIncomeContractAssociated(workingGroupSubItemId);
if(!Objects.isNull(payIncomeContract)){
if(!Objects.equals(payWorkingGroupSubItem.getChargeWay(),payWorkingGroupSubItemOld.getChargeWay())){
throw new JeroBootException("项目已关联合同,来款方式不可修改!");
@@ -414,11 +375,11 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
PayIncomeContract payIncomeContractAdd = null;
// 来款方式为合同,校验合同编号
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(), workingGroupSubItemId);
}
if(!Objects.isNull(payIncomeContractAdd)){
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
payIncomeContractService.insertPayIncomeContract(payIncomeContractAdd,payWorkingGroupSubItem.getId(),Integer.parseInt(PayProjectCommon.PROJECT_TYPE2));
payIncomeContractService.insertPayIncomeContract(payIncomeContractAdd, workingGroupSubItemId,Integer.parseInt(PayProjectCommon.PROJECT_TYPE2));
Integer pack = payIncomeContractAdd.getPack();
if (Objects.equals(pack,PayProjectCommon.PACKAGING1)){
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
@@ -428,7 +389,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContractAdd.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContractAdd.getPack());
String masterContactsId = payWorkingGroupSubItemContactsMapper.getMasterContactsId(workingGroupSubItemId);
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),masterContactsId,payIncomeContractAdd.getPackYear(), workingGroupSubItemId,PayProjectCommon.PROJECT_TYPE2,payIncomeContractAdd.getPack());
}
}
LambdaQueryWrapper<PayWorkingGroupSubItemContacts> queryPayWorkingGroupSubItemContacts = new LambdaQueryWrapper<>();
@@ -444,13 +406,13 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
for (int i = 0; i < listPayWorkingGroupSubItemContactsNew.size(); i++) {
listPayWorkingGroupSubItemContactsNew.get(i).setOrderNum(i+1);
listPayWorkingGroupSubItemContactsNew.get(i).setWorkingGroupId(payWorkingGroupSubItem.getWorkingGroupId());
listPayWorkingGroupSubItemContactsNew.get(i).setWorkingGroupSubId(payWorkingGroupSubItem.getId());
listPayWorkingGroupSubItemContactsNew.get(i).setWorkingGroupSubId(workingGroupSubItemId);
}
payWorkingGroupSubItemContactsService.saveBatch(listPayWorkingGroupSubItemContactsNew);
}
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
// 变更应收金额,重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payWorkingGroupSubItem.getId(),payWorkingGroupSubItem.getReceivableAmount(),payWorkingGroupSubItem.getNeedInvoice());
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(workingGroupSubItemId,payWorkingGroupSubItem.getReceivableAmount(),payWorkingGroupSubItem.getNeedInvoice());
if(!Objects.isNull(projectStatusVO)){
if(!Objects.isNull(projectStatusVO.getInAccount())){
payWorkingGroupSubItem.setInAccount(projectStatusVO.getInAccount());
@@ -466,7 +428,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
payWorkingGroupSubItem.setPaymentStatus(paymentStatus);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId,payWorkingGroupSubItem.getId());
updatePayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getId, workingGroupSubItemId);
// 选择无
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY1)){
//updatePayWorkingGroupSubItem.set(PayWorkingGroupSubItem::getReceivableAmount,null);
@@ -488,7 +450,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
payWorkingGroupSubItemService.update(updatePayWorkingGroupSubItem);
// 如果有邮寄信息更新邮寄联系人信息
String mailContactsId = payWorkingGroupSubItem.getMailContactsId();
payMailBillService.updateContactByProjectId(mailContactsId,payWorkingGroupSubItem.getId());
payMailBillService.updateContactByProjectId(mailContactsId, workingGroupSubItemId);
}
@Override
@@ -718,11 +680,12 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
// 更新数据
payWorkingGroupSubItemService.saveBatch(list);
list.forEach(p->{
String workingGroupSubItemId = p.getId();
List<PayWorkingGroupSubItemContacts> listPayWorkingGroupSubItemContacts = p.getPayWorkingGroupSubItemContactsList();
if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItemContacts)){
for (int i = 0; i < listPayWorkingGroupSubItemContacts.size(); i++) {
listPayWorkingGroupSubItemContacts.get(i).setWorkingGroupId(p.getWorkingGroupId());
listPayWorkingGroupSubItemContacts.get(i).setWorkingGroupSubId(p.getId());
listPayWorkingGroupSubItemContacts.get(i).setWorkingGroupSubId(workingGroupSubItemId);
listPayWorkingGroupSubItemContacts.get(i).setOrderNum(i + 1);
}
payWorkingGroupSubItemContactsService.saveBatch(listPayWorkingGroupSubItemContacts);
@@ -735,13 +698,14 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE2));
payIncomeContractAssociated.setProjectId(p.getId());
payIncomeContractAssociated.setProjectId(workingGroupSubItemId);
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if(Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(p.getChargeCompanyId(),p.getContactsIdOne(),payIncomeContract.getPackYear(),p.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
String masterContactsId = payWorkingGroupSubItemContactsMapper.getMasterContactsId(workingGroupSubItemId);
payPackCompanyProjectService.setPack(p.getChargeCompanyId(),masterContactsId,payIncomeContract.getPackYear(), workingGroupSubItemId,PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
LambdaUpdateWrapper<PayWorkingGroupSubItem> update = new LambdaUpdateWrapper<>();
update.eq(PayWorkingGroupSubItem::getId,p.getId());
update.eq(PayWorkingGroupSubItem::getId, workingGroupSubItemId);
update.set(PayWorkingGroupSubItem::getPack,PayProjectCommon.PACKAGING1);
payWorkingGroupSubItemService.update(update);
}
@@ -1084,7 +1048,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
payPackCompanyProjectService.remove(update);
// 删除企业联系人临时数据
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItem.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payWorkingGroupSubItem.getContactsTemporaryIdOne(),payWorkingGroupSubItem.getContactsTemporaryIdTwo(),payWorkingGroupSubItem.getContactsTemporaryIdThree(),payWorkingGroupSubItem.getMailContactsTemporaryId()));
List<PayWorkingGroupSubItemContacts> subItemContacts = payWorkingGroupSubItemContactsMapper.getSubItemContacts(id);
List<String> temporaryIds = subItemContacts.stream().map(PayWorkingGroupSubItemContacts::getContactsTemporaryId).collect(Collectors.toList());
payContactsManagementTemporaryService.removeByIds(temporaryIds);
}
/**