合同管理-去掉审核流程,添加作废功能,添加消息功能

This commit is contained in:
liangqitao
2021-12-15 16:01:12 +08:00
parent 41c4908738
commit af401f3fea
11 changed files with 343 additions and 40 deletions
@@ -155,5 +155,12 @@ public class ProjectCommon {
* flag 1为会议审核来款,2为正常来款
*/
public final static Integer PAYMENT_FLAG2 = 2;
/**
* 条件 0为发送创建通知,1为发送缴费通知
*/
public final static String FLAG0 = "0";
/**
* 条件 0为发送创建通知,1为发送缴费通知
*/
public final static String FLAG1 = "1";
}
@@ -0,0 +1,33 @@
package com.jero.common.dto;
import lombok.Data;
import java.io.Serializable;
@Data
public class PaySendContactsMessageDTO implements Serializable {
/**
* 项目名称
*/
private String projectName;
/**
* 项目id
*/
private String projectId;
/**
* 负责人id
*/
private String userId;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String phone;
/**
* 条件 0为发送创建通知,1为发送缴费通知
*/
private String flag;
}
@@ -1,5 +1,7 @@
package com.jero.common.service;
import com.jero.common.dto.PaySendContactsMessageDTO;
public interface ContractCreateProjectSendMessageService {
/**
* @Description 合同创建项目发送消息,通知项目负责人
@@ -12,4 +14,13 @@ public interface ContractCreateProjectSendMessageService {
* @Exception
*/
void ContractCreateProjectSendMessageService(String projectName,String projectId,String userId);
/**
* @Description 创建项目发送消息,通知企业联系人
* @Author lqt
* @Date 2021/9/24
* @Param paySendContactsMessageDTO
* @Return
* @Exception
*/
void CreateProjectSendMessageToContactsService(PaySendContactsMessageDTO paySendContactsMessageDTO);
}
@@ -1,7 +1,8 @@
package com.jero.common.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.common.RoleCommon;
import com.jero.common.common.ProjectCommon;
import com.jero.common.dto.PaySendContactsMessageDTO;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.enums.ManagementMessageEnums;
@@ -11,23 +12,19 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
@Service
public class ContractCreateProjectSendMessageServiceImpl implements ContractCreateProjectSendMessageService {
@Autowired
@Resource
private ISysUserService sysUserService;
@Autowired
@Resource
private SendMessageService sendMessageService;
@Override
@@ -40,7 +37,6 @@ public class ContractCreateProjectSendMessageServiceImpl implements ContractCrea
return;
}
// 获取项目负责人,发送消息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserDetail.getEmail())){
@@ -51,7 +47,7 @@ public class ContractCreateProjectSendMessageServiceImpl implements ContractCrea
}
HashMap<String,String> map = new HashMap<>();
map.put("projectName",projectName);
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setFromUser(sysUserDetail.getUsername());
sendMessageDTO.setToUser(sysUserDetail.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG1.getCode());
sendMessageDTO.setTemplateParam(map);
@@ -61,4 +57,62 @@ public class ContractCreateProjectSendMessageServiceImpl implements ContractCrea
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
@Override
public void CreateProjectSendMessageToContactsService(PaySendContactsMessageDTO paySendContactsMessageDTO) {
if(StringUtils.isBlank(paySendContactsMessageDTO.getFlag())){
return;
}
if(StringUtils.isBlank(paySendContactsMessageDTO.getUserId())){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
paySendContactsMessageDTO.setUserId(sysUser.getId());
}
SysUser sysUser = sysUserService.getById(paySendContactsMessageDTO.getUserId());
if(Objects.isNull(sysUser)){
return;
}
// 发送消息
if(paySendContactsMessageDTO.getFlag().contains(ProjectCommon.FLAG0)){
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(paySendContactsMessageDTO.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(paySendContactsMessageDTO.getEmail()));
}
if(!StringUtils.isEmpty(paySendContactsMessageDTO.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(paySendContactsMessageDTO.getPhone()));
sendMessageDTO.setToUser(PasswordUtil.decrypt(paySendContactsMessageDTO.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
map.put("projectName",paySendContactsMessageDTO.getProjectName());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG20.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE20");
JSONObject json = new JSONObject();
json.put("id",paySendContactsMessageDTO.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
// 发送缴费通知
if(paySendContactsMessageDTO.getFlag().contains(ProjectCommon.FLAG1)){
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(paySendContactsMessageDTO.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(paySendContactsMessageDTO.getEmail()));
}
if(!StringUtils.isEmpty(paySendContactsMessageDTO.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(paySendContactsMessageDTO.getPhone()));
sendMessageDTO.setToUser(PasswordUtil.decrypt(paySendContactsMessageDTO.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
map.put("projectName",paySendContactsMessageDTO.getProjectName());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG17.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE17");
JSONObject json = new JSONObject();
json.put("id",paySendContactsMessageDTO.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
}
}
@@ -16,6 +16,8 @@ import com.jero.common.service.SendMessageService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.contract.entity.*;
import com.jero.contract.mapper.PayIncomeContractMapper;
@@ -115,6 +117,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
private IPayMailContractService payMailContractService;
@Resource
private IPayIncomeContractAssociatedCancellationService payIncomeContractAssociatedCancellationService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Override
public IPage<PayIncomeContract> queryPageList(Page<PayIncomeContract> page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) {
@@ -176,24 +180,27 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
// 校验金额
checkPayIncomeContractInstallment(listPayIncomeContractInstallment,payIncomeContract);
// 选择了打包,创建打包企业
// if(Objects.equals(payIncomeContract.getPack(),PayIncomeContractCommon.PACK1)){
// LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
// queryPayPackCompany.eq(PayPackCompany::getCompanyId,payIncomeContract.getSignedCompanyId());
// queryPayPackCompany.eq(PayPackCompany::getPackYear,payIncomeContract.getPackYear());
// List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
// //不存在打包企业 添加打包企业
// if(CollectionUtils.isEmpty(listPayPackCompany)){
// PayPackCompany payPackCompanyData = new PayPackCompany();
// payPackCompanyData.setCompanyId(payIncomeContract.getSignedCompanyId());
// payPackCompanyData.setCompanyContactId(payIncomeContract.getSignedContactsId());
// payPackCompanyData.setPackYear(payIncomeContract.getPackYear());
// payPackCompanyData.setPackContactId(payIncomeContract.getSignedContactsId());
// payPackCompanyService.addPayPackCompany(payPackCompanyData);
// }
// }
// 新建项目 给企业联系人发送消息
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payIncomeContract.getSignedContactsId());
// 合同负责人 发送消息给签订单位联系人
SysUser sysUser = sysUserService.getById(payIncomeContract.getPrincipalId());
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(payContactsManagement.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail()));
}
if(!StringUtils.isBlank(sysUser.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone()));
sendMessageDTO.setToUser(PasswordUtil.decrypt(payContactsManagement.getPhone()));
}
HashMap<String,String> map = new HashMap<>();
map.put("contractNum", payIncomeContract.getContractNum());
map.put("contractName", payIncomeContract.getContractName());
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG21.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE21");
sendMessageService.SendMessageService(sendMessageDTO);
return payIncomeContract;
}
@@ -1,8 +1,5 @@
package com.jero.data.controller;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -13,14 +10,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.DictPoint;
import com.jero.common.common.ProjectCommon;
import com.jero.common.dto.PaySendContactsMessageDTO;
import com.jero.common.service.ContractCreateProjectSendMessageService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.data.entity.*;
import com.jero.data.entity.DTO.PayCaseCommitteeSubitemDTO;
import com.jero.data.entity.VO.payCaseCommitteeSubitemVO;
import com.jero.data.mapper.PayCaseCommitteeSubitemMapper;
import com.jero.data.service.IPayCaseCommitteeService;
import com.jero.data.service.IPayCaseCommitteeSubitemService;
import com.jero.mail.commont.constant;
import com.jero.meeting.entity.PayMeetingRemindRecord;
@@ -63,6 +66,12 @@ public class PayCaseCommitteeSubitemController extends JeroController<PayCaseCom
private IPayCaseCommitteeSubitemService payCaseCommitteeSubitemService;
@Resource
private IPayMeetingRemindRecordService payMeetingRemindRecordService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
@Resource
private IPayCaseCommitteeService payCaseCommitteeService;
@@ -257,6 +266,18 @@ public class PayCaseCommitteeSubitemController extends JeroController<PayCaseCom
} else {
payCaseCommitteeSubitemService.save(payCaseCommitteeSubitem);
}
PayCaseCommittee payCaseCommittee = payCaseCommitteeService.getById(payCaseCommitteeSubitem.getCommitteeId());
// 新建项目 给企业联系人发送消息
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCaseCommitteeSubitem.getContactsId());
if(!Objects.isNull(payContactsManagement)){
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payCaseCommittee.getName());
paySendContactsMessageDTO.setProjectId(payCaseCommitteeSubitem.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
contractCreateProjectSendMessageService.CreateProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
return Result.OK("添加成功!");
}
@@ -1,8 +1,10 @@
package com.jero.data.controller;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -14,13 +16,19 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.DictPoint;
import com.jero.common.common.ProjectCommon;
import com.jero.common.dto.PaySendContactsMessageDTO;
import com.jero.common.service.ContractCreateProjectSendMessageService;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.data.entity.*;
import com.jero.data.entity.DTO.PayCaseCommitteeSubitemDTO;
import com.jero.data.service.IPayCaseCouncilService;
import com.jero.data.service.IPayCaseCouncilSubitemService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -59,6 +67,12 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
private IPayCaseCouncilSubitemService payCaseCouncilSubitemService;
@Resource
private IPayMeetingRemindRecordService payMeetingRemindRecordService;
@Resource
private IPayCaseCouncilService payCaseCouncilService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
/**
* 理事会成员表
@@ -150,9 +164,7 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
@ApiOperation(value="理事会成员表-添加", notes="理事会成员表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Valid @RequestBody PayCaseCouncilSubitem payCaseCouncilSubitem) {
PayCaseCouncilSubitem payCaseCouncilSubitem1 = new PayCaseCouncilSubitem();
BeanUtils.copyProperties(payCaseCouncilSubitem,payCaseCouncilSubitem1);
// 新增时校验重复
// 新增时校验重复ne
LambdaQueryWrapper<PayCaseCouncilSubitem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(PayCaseCouncilSubitem::getContactsId, payCaseCouncilSubitem.getContactsId());
lambdaQueryWrapper.eq(PayCaseCouncilSubitem::getCouncilId, payCaseCouncilSubitem.getCouncilId());
@@ -160,7 +172,19 @@ public class PayCaseCouncilSubitemController extends JeroController<PayCaseCounc
if (count > 0) {
return Result.error("联系人重复,请重新选择");
} else {
payCaseCouncilSubitemService.save(payCaseCouncilSubitem1);
payCaseCouncilSubitemService.save(payCaseCouncilSubitem);
}
PayCaseCouncil payCaseCouncil = payCaseCouncilService.getById(payCaseCouncilSubitem.getCouncilId());
// 新建项目 给企业联系人发送消息
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCaseCouncilSubitem.getContactsId());
if(!Objects.isNull(payContactsManagement)){
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payCaseCouncil.getName());
paySendContactsMessageDTO.setProjectId(payCaseCouncilSubitem.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
contractCreateProjectSendMessageService.CreateProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
return Result.OK("添加成功!");
}
@@ -6,6 +6,7 @@ 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.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.ProjectDetailService;
@@ -129,6 +130,21 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
if(Objects.equals(ProjectCommon.FLAG,payMemberProjectSubitem.getFlag())){
contractCreateProjectSendMessageService.ContractCreateProjectSendMessageService(memberProject.getProjectName() + "的" + payMemberProjectSubitem.getCompanyName(),payMemberProjectSubitem.getId(),memberProject.getDirectorId());
}
// 新建项目 给企业联系人发送消息
PayContactsManagement payContactsManagement = contactsManagementService.getById(payMemberProjectSubitem.getCompanyContactId());
if(!Objects.isNull(payContactsManagement)){
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(memberProject.getProjectName());
paySendContactsMessageDTO.setProjectId(payMemberProjectSubitem.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(payMemberProjectSubitem.getAmountReceivable().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
contractCreateProjectSendMessageService.CreateProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
/**
@@ -6,13 +6,15 @@ 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.jero.common.common.ProjectCommon;
import com.jero.common.common.RoleCommon;
import com.jero.common.dto.PaySendContactsMessageDTO;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ContractCreateProjectSendMessageService;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.service.RolePermissionService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.vo.ProjectStatusVO;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
@@ -37,6 +39,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
/**
@@ -60,6 +63,8 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
@Resource
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private IPayIncomeContractService payIncomeContractService;
@Resource
private IPayPackCompanyProjectService payPackCompanyProjectService;
@@ -123,7 +128,22 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
if(Objects.equals(ProjectCommon.FLAG,payCommonProject.getFlag())){
contractCreateProjectSendMessageService.ContractCreateProjectSendMessageService(payCommonProject.getChargeProject(),payCommonProject.getId(),payCommonProject.getPrincipalId());
}
// 新建项目 给企业联系人发送消息
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCommonProject.getContactsId());
if(!Objects.isNull(payContactsManagement)){
PaySendContactsMessageDTO paySendContactsMessageDTO = new PaySendContactsMessageDTO();
paySendContactsMessageDTO.setProjectName(payCommonProject.getChargeProject());
paySendContactsMessageDTO.setProjectId(payCommonProject.getId());
paySendContactsMessageDTO.setEmail(payContactsManagement.getEmail());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setUserId(payCommonProject.getPrincipalId());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(payCommonProject.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
contractCreateProjectSendMessageService.CreateProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
@Override
@@ -7,11 +7,15 @@ 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.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.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.modules.oss.service.IOSSFileService;
@@ -41,6 +45,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -74,7 +79,9 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
@Resource
private IPayResearchProjectService payResearchProjectService;
@Resource
private IOSSFileService iossFileService;
private IPayContactsManagementService payContactsManagementService;
@Resource
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
@Override
public IPage<PayWorkingGroupVO> queryPageList(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) {
@@ -317,6 +324,53 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
p.setWorkingGroupId(payWorkingGroupOld.getId());
});
payWorkingGroupSubItemService.saveBatch(listPayWorkingGroupSubItem);
listPayWorkingGroupSubItem.forEach(p->{
// 项目的应收金额>0 发送缴费通知
if(p.getReceivableAmount().compareTo(new BigDecimal("0")) > 0) {
// 新建项目 给企业联系人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.FLAG1);
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.FLAG1);
contractCreateProjectSendMessageService.CreateProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
// 新建项目 给企业联系人3发送消息
if (!StringUtils.isBlank(p.getContactsIdThree())) {
PayContactsManagement payContactsManagement = payContactsManagementService.getById(p.getContactsIdThree());
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.FLAG1);
contractCreateProjectSendMessageService.CreateProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
}
});
}
}
/**
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.ProjectDetailService;
@@ -49,6 +50,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -181,6 +183,60 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
if(Objects.equals(ProjectCommon.FLAG,payWorkingGroupSubItem.getFlag())){
contractCreateProjectSendMessageService.ContractCreateProjectSendMessageService(payWorkingGroup.getWorkingGroupProject() + "的" + payWorkingGroupSubItem.getChargeCompanyTemporaryName(),payWorkingGroupSubItem.getId(),payWorkingGroup.getPrincipalIdA());
}
// 新建项目 给企业联系人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());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
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());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
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());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的应收金额>0 发送缴费通知
if(payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
contractCreateProjectSendMessageService.CreateProjectSendMessageToContactsService(paySendContactsMessageDTO);
}
}
}
@Override