消息变更

This commit is contained in:
梁琦涛
2021-11-01 18:33:09 +08:00
parent 3eaa21bd7a
commit afe75bd075
10 changed files with 480 additions and 56 deletions
@@ -24,9 +24,10 @@ public enum CompanyMessageEnums {
MSG10("QY_10_YJTZ_MAIL_CONTRACT","邮寄通知","contractName"),//查看该物流信息,contractName
MSG11("QY_11_CKTZ_PAY","催款通知","projectName"),//弹窗:查看该项目详情
MSG12("QY_12_WJTZ_WORK_GROUP_SEND","文件通知","workGroupName,systemAddress,wxName"),//弹窗:查看该项目详情,workGroupName,systemUrl,wxName
MSG13("QY_13_JFTZ_DZ_CREATE","缴费通知","projectName,amount"),//弹窗:查看该项目详情,projectName,amount
MSG14("QY_14_KPTZ_KP_CREATE","开票通知","projectName"),//弹窗:查看该项目详情,projectName
MSG15("QY_15_HYTZ_NOT_AUDIT_CREATE","会议通知","");//弹窗:查看该会议详情
MSG13("QY_13_HYTZ_FBW_CREATE","会议通知","meetingName,busId"),//点击跳转到报名页面,meetingName,busId
MSG14("QY_14_JFTZ_DZ_CREATE","缴费通知","projectName,amount"),//弹窗:查看该项目详情,projectName,amount
MSG15("QY_15_KPTZ_KP_CREATE","开票通知","projectName"),//弹窗:查看该项目详情,projectName
MSG16("QY_16_HYTZ_NOT_AUDIT_CREATE","会议通知","");//弹窗:查看该会议详情
@@ -21,11 +21,11 @@ public enum MessageUrlEnums {
M_OPEN_TYPE7("M_OPEN_TYPE7","component","@comp/ProjectDetailModal"),
M_OPEN_TYPE8("M_OPEN_TYPE8","url","/incomePayments/meetManage/SignUpInfoDetail"),
M_OPEN_TYPE9("M_OPEN_TYPE9","url","/businessManagement/BusinessManagement"),
M_OPEN_TYPE10("M_OPEN_TYPE10","url","/businessManagement/BusinessManagement"),// todo 未改
M_OPEN_TYPE11("M_OPEN_TYPE11","url","/businessManagement/BusinessManagement"),// todo 未改
M_OPEN_TYPE12("M_OPEN_TYPE12","url","/businessManagement/BusinessManagement"),// todo 未改
M_OPEN_TYPE13("M_OPEN_TYPE13","url","/businessManagement/BusinessManagement"),// todo 未改
M_OPEN_TYPE14("M_OPEN_TYPE14","url","/businessManagement/BusinessManagement"),// todo 未改
M_OPEN_TYPE10("M_OPEN_TYPE10","url","/incomePayments/meetManage/AttendanceInternalMeeting"),
M_OPEN_TYPE11("M_OPEN_TYPE11","component","@comp/ProjectDetailModal"),
M_OPEN_TYPE12("M_OPEN_TYPE12","component","@comp/ProjectDetailModal"),
M_OPEN_TYPE13("M_OPEN_TYPE13","component","@comp/ProjectDetailModal"),
M_OPEN_TYPE14("M_OPEN_TYPE14","url","/contractManagement/RevenueContractDetail"),
// todo 待定企业端
C_OPEN_TYPE1("C_OPEN_TYPE1","href",""),
C_OPEN_TYPE2("C_OPEN_TYPE2","component","MessagePage/MeetingDetailModal"),
@@ -39,9 +39,10 @@ public enum MessageUrlEnums {
C_OPEN_TYPE10("C_OPEN_TYPE10","href","https://www.kuaidi100.com/all/hhair56.shtml?mscomnu"),
C_OPEN_TYPE11("C_OPEN_TYPE11","component","MessagePage/ProjectDetailModal"),
C_OPEN_TYPE12("C_OPEN_TYPE12","component","MessagePage/ProjectDetailModal"),
C_OPEN_TYPE13("C_OPEN_TYPE13","href",""),// todo 未改
C_OPEN_TYPE14("C_OPEN_TYPE14","href",""),// todo 未改
C_OPEN_TYPE15("C_OPEN_TYPE15","href","");// todo 未改
C_OPEN_TYPE13("C_OPEN_TYPE13","href",""),
C_OPEN_TYPE14("C_OPEN_TYPE14","component","MessagePage/ProjectDetailModal"),
C_OPEN_TYPE15("C_OPEN_TYPE15","component","MessagePage/ProjectDetailModal"),
C_OPEN_TYPE16("C_OPEN_TYPE16","component","MessagePage/ProjectDetailModal");
/**
@@ -32,7 +32,9 @@ import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupDistributionRecord;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayWorkingGroupDistributionRecordService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
@@ -76,6 +78,8 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
private IPayWorkingGroupDistributionRecordService payWorkingGroupDistributionRecordService;
@Resource
private ISysUserService sysUserService;
@Resource
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Override
public ProjectDetailVO getProjectDetail(String projectId) {
@@ -226,6 +230,58 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
}
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
// 工作组 添加企业联系人2,联系人3
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
PayWorkingGroupSubItem payWorkingGroupSubItem = payWorkingGroupSubItemService.getById(projectId);
if(Objects.isNull(payWorkingGroupSubItem)){
throw new JeroBootException("项目不存在!");
}
projectDetailVO.setRemarksOne(payWorkingGroupSubItem.getRemarksOne());
if(!StringUtils.isEmpty(payWorkingGroupSubItem.getContactsIdTwo())){
projectDetailVO.setRemarksTwo(payWorkingGroupSubItem.getRemarksTwo());
PayContactsManagementTemporary payContactsManagementTemporary2 = payContactsManagementTemporaryService.getById(payWorkingGroupSubItem.getContactsTemporaryIdTwo());
if(Objects.isNull(payContactsManagementTemporary2)){
throw new JeroBootException("联系人2不存在!");
}
projectDetailVO.setNameTwo(payContactsManagementTemporary2.getName());
projectDetailVO.setGenderTwo(payContactsManagementTemporary2.getGender());
if(!Objects.isNull(payContactsManagementTemporary2.getGender())){
projectDetailVO.setGenderTwo_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
}
projectDetailVO.setPostTwo(payContactsManagementTemporary2.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary2.getPhone())){
projectDetailVO.setPhoneTwo(PasswordUtil.decrypt(payContactsManagementTemporary2.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary2.getEmail())){
projectDetailVO.setEmailTwo(PasswordUtil.decrypt(payContactsManagementTemporary2.getEmail()));
}
projectDetailVO.setPostalCodeContactsTwo(payContactsManagementTemporary2.getPostalCode());
projectDetailVO.setContactAddressTwo(payContactsManagementTemporary2.getContactAddress());
}
if(!StringUtils.isEmpty(payWorkingGroupSubItem.getContactsIdThree())){
projectDetailVO.setRemarksThree(payWorkingGroupSubItem.getRemarksThree());
PayContactsManagementTemporary payContactsManagementTemporary3 = payContactsManagementTemporaryService.getById(payWorkingGroupSubItem.getContactsTemporaryIdThree());
if(Objects.isNull(payContactsManagementTemporary3)){
throw new JeroBootException("联系人3不存在!");
}
projectDetailVO.setNameThree(payContactsManagementTemporary3.getName());
projectDetailVO.setGenderThree(payContactsManagementTemporary3.getGender());
if(!Objects.isNull(payContactsManagementTemporary3.getGender())){
projectDetailVO.setGenderThree_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary3.getGender())));
}
projectDetailVO.setPostThree(payContactsManagementTemporary3.getPost());
if(!StringUtils.isBlank(payContactsManagementTemporary3.getPhone())){
projectDetailVO.setPhoneThree(PasswordUtil.decrypt(payContactsManagementTemporary3.getPhone()));
}
if(!StringUtils.isBlank(payContactsManagementTemporary3.getEmail())){
projectDetailVO.setEmailThree(PasswordUtil.decrypt(payContactsManagementTemporary3.getEmail()));
}
projectDetailVO.setPostalCodeContactsThree(payContactsManagementTemporary3.getPostalCode());
projectDetailVO.setContactAddressThree(payContactsManagementTemporary3.getContactAddress());
}
}
}
// 到账信息
LambdaQueryWrapper<PayPaymentRecord> queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>();
@@ -401,23 +401,29 @@ public class SendMessageServiceImpl implements SendMessageService {
signature = "中汽中心标准所";
templateId = "e1a089109aaa4820927d488613171b54";
break;
case "QY_13_JFTZ_DZ_CREATE":
case "QY_13_HYTZ_FBW_CREATE":
//中汽中心标准所-企业端-缴费通知-13
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "8beb893a9ce64444a71019c9eec6e310";
templateId = "926e49e09008438b88d80849fe9f5bbb";
break;
case "QY_14_KPTZ_KP_CREATE":
//中汽中心标准所-企业端-开票通知-14
case "QY_14_JFTZ_DZ_CREATE":
//中汽中心标准所-企业端-缴费通知-14
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "9895707d70584324b3ff398b362a83e6";
templateId = "";// todo id
break;
case "QY_15_HYTZ_NOT_AUDIT_CREATE":
//中汽中心标准所-企业端-会议通知-15
case "QY_15_KPTZ_KP_CREATE":
//中汽中心标准所-企业端-开票通知-15
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "5f438a655ed148c69f9d17e881112017";
templateId = "";// todo id
break;
case "QY_16_HYTZ_NOT_AUDIT_CREATE":
//中汽中心标准所-企业端-会议通知-16
sender = "8821092414406";
signature = "中汽中心标准所";
templateId = "";// todo id
break;
default:
throw new JeroBootException("codeType flase.");
@@ -5,6 +5,7 @@ import com.jero.mail.entity.PayMailBill;
import com.jero.payment.entity.PayPaymentRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import javax.validation.constraints.Size;
import java.io.Serializable;
@@ -89,6 +90,8 @@ public class ProjectDetailVO implements Serializable {
*/
@ApiModelProperty(value = "企业地址")
private String companyAddress;
/**
* 企业联系人
*/
@@ -129,6 +132,103 @@ public class ProjectDetailVO implements Serializable {
*/
@ApiModelProperty(value = "企业联系人地址")
private String contactAddress;
/**联系人1备注*/
@ApiModelProperty(value = "联系人1备注")
private String remarksOne;
/**
* 企业联系人2
*/
@ApiModelProperty(value = "企业联系人2")
private String nameTwo;
/**
* 企业联系人性别2
*/
@ApiModelProperty(value = "企业联系人性别2")
private String genderTwo;
/**
* 企业联系人性别2
*/
@ApiModelProperty(value = "企业联系人性别2")
private String genderTwo_dictText;
/**
* 企业联系人职务2
*/
@ApiModelProperty(value = "企业联系人职务2")
private String postTwo;
/**
* 企业联系人电话2
*/
@ApiModelProperty(value = "企业联系人电话2")
private String phoneTwo;
/**
* 企业联系人邮箱2
*/
@ApiModelProperty(value = "企业联系人邮箱2")
private String emailTwo;
/**
* 企业联系人邮编2
*/
@ApiModelProperty(value = "企业联系人邮编2")
private String postalCodeContactsTwo;
/**
* 企业联系人地址2
*/
@ApiModelProperty(value = "企业联系人地址2")
private String contactAddressTwo;
/**联系人2备注*/
@ApiModelProperty(value = "联系人2备注")
private String remarksTwo;
/**
* 企业联系人3
*/
@ApiModelProperty(value = "企业联系人3")
private String nameThree;
/**
* 企业联系人性别3
*/
@ApiModelProperty(value = "企业联系人性别3")
private String genderThree;
/**
* 企业联系人性别3
*/
@ApiModelProperty(value = "企业联系人性别3")
private String genderThree_dictText;
/**
* 企业联系人职务3
*/
@ApiModelProperty(value = "企业联系人职务3")
private String postThree;
/**
* 企业联系人电话3
*/
@ApiModelProperty(value = "企业联系人电话3")
private String phoneThree;
/**
* 企业联系人邮箱3
*/
@ApiModelProperty(value = "企业联系人邮箱3")
private String emailThree;
/**
* 企业联系人邮编3
*/
@ApiModelProperty(value = "企业联系人邮编3")
private String postalCodeContactsThree;
/**
* 企业联系人地址3
*/
@ApiModelProperty(value = "企业联系人地址3")
private String contactAddressThree;
/**联系人3备注*/
@ApiModelProperty(value = "联系人3备注")
private String remarksThree;
/** 资料id,多个资料文件,逗号分隔 **/
@ApiModelProperty(value = "资料id,多个资料文件,逗号分隔")
private String files;
@@ -1,6 +1,7 @@
package com.jero.mail.service.impl;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -10,6 +11,7 @@ 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.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
@@ -37,6 +39,7 @@ import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingMapper;
import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.member.entity.PayMemberProject;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProject;
@@ -45,18 +48,24 @@ import com.jero.member.mapper.PayMemberProjectMapper;
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
import com.jero.member.mapper.TbMemberProjectMapper;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.IPayMemberProjectService;
import com.jero.member.service.ITbMemberProjectService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.payment.vo.TbCheckVo;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.project.service.IPayWorkingGroupService;
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 org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -114,6 +123,18 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
private SendMessageService sendMessageService;
@Resource
private ISysUserService sysUserService;
@Resource
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private ITbMemberProjectService tbMemberProjectService;
@Resource
private IPayWorkingGroupService payWorkingGroupService;
@Resource
private IPayMeetingService payMeetingService;
@Resource
private IPayMemberProjectService memberProjectService;
@Override
@@ -204,36 +225,165 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
// 获取项目负责人,发送消息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!StringUtils.isEmpty(principalId)){
SysUser sysUserInfo = sysUserService.getById(payMailBill.getPrincipalId());
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserInfo.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
String[] str = principalId.toString().split(",");
for (int i = 0; i < str.length; i++) {
SysUser sysUserInfo = sysUserService.getById(str[i]);
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserInfo.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
}
if(!StringUtils.isEmpty(sysUserInfo.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", payMailBill.getProjectName());
map.put("time", sdf.format(payMailBill.getCreateTime()));
map.put("amount", String.valueOf(payMailBill.getInvoiceAmount()));
map.put("num", String.valueOf(payMailBill.getBillNo()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG12.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE12");
JSONObject json = new JSONObject();
json.put("id",bmpList.get(0).getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
if(!StringUtils.isEmpty(sysUserInfo.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", payMailBill.getProjectName());
map.put("time", sdf.format(payMailBill.getCreateTime()));
map.put("amount", String.valueOf(payMailBill.getInvoiceAmount()));
map.put("num", String.valueOf(payMailBill.getBillNo()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG12.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE12");
// JSONObject json = new JSONObject();
// if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
// json.put("id",listStr.get(0).getSubId());
// }else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
// json.put("id",listStr.get(0).getProjectId());
// }
// sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
if(!CollectionUtils.isEmpty(bmpList)){
// 获取项目企业联系人 发消息
bmpList.forEach(p->{
String project = "";
List<PayContactsManagementTemporary> listId = new ArrayList<>();
//累加主列表实收金额
switch (String.valueOf(p.getProjectType())){
// 普通项目
case PayIncomeContractCommon.PROJECT_TYPE1:
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(p.getProjectId());
if(Objects.isNull(payCommonProject)){
throw new JeroBootException("项目不存在!");
}
PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
if(!Objects.isNull(payCommonProjectTemporary)){
listId.add(payCommonProjectTemporary);
}
project = payCommonProject.getChargeProject();
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(p.getProjectId());
if(Objects.isNull(payWorking)){
throw new JeroBootException("项目不存在!");
}
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorking.getWorkingGroupId());
if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在!");
}
PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdOne());
if(!Objects.isNull(payWorkingTemporaryOne)){
listId.add(payWorkingTemporaryOne);
}
if(!StringUtils.isBlank(payWorking.getContactsTemporaryIdTwo())){
PayContactsManagementTemporary payWorkingTemporaryTwo = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdTwo());
if(!Objects.isNull(payWorkingTemporaryTwo)){
listId.add(payWorkingTemporaryTwo);
}
}
if(!StringUtils.isBlank(payWorking.getContactsTemporaryIdThree())){
PayContactsManagementTemporary payWorkingTemporaryThree = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdThree());
if(!Objects.isNull(payWorkingTemporaryThree)){
listId.add(payWorkingTemporaryThree);
}
}
project = payWorkingGroup.getWorkingGroupProject();
break;
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(p.getProjectId());
if(Objects.isNull(meeting)){
throw new JeroBootException("项目不存在!");
}
PayMeeting payMeeting = payMeetingService.getById(meeting.getMeetingId());
if(Objects.isNull(payMeeting)){
throw new JeroBootException("会议不存在!");
}
PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meeting.getContractId());
if(!Objects.isNull(meetingPayContactsManagement)){
String str = JSON.toJSONString(meetingPayContactsManagement);
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
listId.add(meetingTemporary);
}
project = payMeeting.getMeetingName();
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(p.getProjectId());
if(Objects.isNull(member)){
throw new JeroBootException("项目不存在!");
}
PayMemberProject payMemberProject = memberProjectService.getById(member.getProjectId());
if(Objects.isNull(payMemberProject)){
throw new JeroBootException("会员项目不存在!");
}
PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(member.getCompanyContactTemporaryId());
if(!Objects.isNull(memberTemporary)){
listId.add(memberTemporary);
}
project = payMemberProject.getProjectName();
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(p.getProjectId());
if(Objects.isNull(tbMember)){
throw new JeroBootException("标协会员成员不存在!");
}
TbMemberProject tbMemberProject = tbMemberProjectService.getById(tbMember.getProjectId());
if(Objects.isNull(tbMemberProject)){
throw new JeroBootException("标协会员不存在!");
}
project = tbMemberProject.getProjectName();
PayContactsManagement tbMemberPayContactsManagement = payContactsManagementService.getById(tbMember.getLiaisonManId());
if(!Objects.isNull(tbMemberPayContactsManagement)){
String str = JSON.toJSONString(tbMemberPayContactsManagement);
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
listId.add(meetingTemporary);
}
break;
default:break;
}
// 发送给项目企业联系人
if(!CollectionUtils.isEmpty(listId)){
String finalProject = project;
listId.forEach(p1->{
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(p1.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(p1.getEmail()));
}
if(!StringUtils.isEmpty(p1.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(p1.getPhone()));
sendMessageDTO.setToUser(PasswordUtil.decrypt(p1.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", finalProject);
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG15.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE15");
JSONObject json = new JSONObject();
json.put("id",p.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
});
}
return Result.OK("添加成功!");
}
@@ -353,7 +503,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
return "打包开票只能是同一个企业";
}
oldInvoiceAmount = payCommonProject.getInvoiceAmount();
if(oldInvoiceAmount==null){
if(oldInvoiceAmount == null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
@@ -64,4 +64,12 @@ public class TbMemberProject implements Serializable {
@Excel(name = "运行年份", width = 15)
@ApiModelProperty(value = "运行年份")
private String year;
/**负责人id*/
// @Excel(name = "负责人id", width = 15)
@ApiModelProperty(value = "负责人id")
private String directorId;
/**负责人*/
@Excel(name = "负责人", width = 15)
@ApiModelProperty(value = "负责人")
private String directorName;
}
@@ -1,5 +1,6 @@
package com.jero.payment.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.common.RoleCommon;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.SendMessageService;
@@ -15,7 +17,9 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
@@ -23,10 +27,12 @@ import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.member.entity.PayMemberProject;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.jero.member.entity.TbMemberProject;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
import com.jero.member.service.IPayMemberProjectService;
import com.jero.member.service.ITbMemberProjectService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.payment.entity.PayPaymentRecord;
@@ -44,7 +50,9 @@ import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.vo.PayCommonProjectOutput;
import com.jero.standards.memberinfo.entity.MemberInfo;
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 org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -53,6 +61,7 @@ import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -90,6 +99,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
@Resource
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Resource
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Resource
private IPayCompanyManagementService payCompanyManagementService;
@Resource
private IPayWorkingGroupService payWorkingGroupService;
@@ -101,6 +112,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
private ISysUserService sysUserService;
@Resource
private SendMessageService sendMessageService;
@Resource
private IPayContactsManagementService payContactsManagementService;
@Resource
private ITbMemberProjectService tbMemberProjectService;
@Value("${jero.path.upload}")
private String upLoadPath;
@@ -158,6 +173,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
Integer inAccount;
String principalId = "";
String project = "";
List<PayContactsManagementTemporary> listId = new ArrayList<>();
//累加主列表实收金额
switch (String.valueOf(payPaymentRecord.getProjectType())){
@@ -171,6 +187,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(!Objects.isNull(payCompanyManagement) && "2".equals(payCompanyManagement.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
if(!Objects.isNull(payCommonProjectTemporary)){
listId.add(payCommonProjectTemporary);
}
principalId = payCommonProject.getPrincipalId();
project = payCommonProject.getChargeProject();
receivableAmount = payCommonProject.getReceivableAmount();//应收
@@ -203,6 +223,23 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(!Objects.isNull(payCompanyManagementWorkingGroup) && "2".equals(payCompanyManagementWorkingGroup.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdOne());
if(!Objects.isNull(payWorkingTemporaryOne)){
listId.add(payWorkingTemporaryOne);
}
if(!StringUtils.isBlank(payWorking.getContactsTemporaryIdTwo())){
PayContactsManagementTemporary payWorkingTemporaryTwo = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdTwo());
if(!Objects.isNull(payWorkingTemporaryTwo)){
listId.add(payWorkingTemporaryTwo);
}
}
if(!StringUtils.isBlank(payWorking.getContactsTemporaryIdThree())){
PayContactsManagementTemporary payWorkingTemporaryThree = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdThree());
if(!Objects.isNull(payWorkingTemporaryThree)){
listId.add(payWorkingTemporaryThree);
}
}
principalId = payWorkingGroup.getPrincipalIdA();
project = payWorkingGroup.getWorkingGroupProject();
receivableAmount = payWorking.getReceivableAmount();//应收
@@ -241,6 +278,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(!Objects.isNull(payCompanyManagementMeeting) && "2".equals(payCompanyManagementMeeting.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款!");
}
PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meeting.getContractId());
if(!Objects.isNull(meetingPayContactsManagement)){
String str = JSON.toJSONString(meetingPayContactsManagement);
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
listId.add(meetingTemporary);
}
principalId = payMeeting.getDirectorId();
project = payMeeting.getMeetingName();
receivableAmount = meeting.getAmountReceivable();//应收
@@ -275,6 +318,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(!Objects.isNull(payCompanyManagementMember) && "2".equals(payCompanyManagementMember.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(member.getCompanyContactTemporaryId());
if(!Objects.isNull(memberTemporary)){
listId.add(memberTemporary);
}
principalId = payMemberProject.getDirectorId();
project = payMemberProject.getProjectName();
receivableAmount = member.getAmountReceivable();//应收
@@ -308,6 +355,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(!Objects.isNull(payCompanyManagementTbMember) && "2".equals(payCompanyManagementTbMember.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
TbMemberProject tbMemberProject = tbMemberProjectService.getById(tbMember.getProjectId());
if(Objects.isNull(tbMemberProject)){
throw new JeroBootException("标协会员不存在!");
}
//是否还能再添加来款
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
if(isAdd){
@@ -327,6 +378,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
principalId = tbMemberProject.getDirectorId();
project = tbMemberProject.getProjectName();
receivableAmount = tbMember.getAmountReceivable();//应收
paidAmount=tbMember.getPaidAmount();//实收
PayContactsManagement tbMemberPayContactsManagement = payContactsManagementService.getById(tbMember.getLiaisonManId());
if(!Objects.isNull(tbMemberPayContactsManagement)){
String str = JSON.toJSONString(tbMemberPayContactsManagement);
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
listId.add(meetingTemporary);
}
break;
default:break;
@@ -357,15 +418,38 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG11.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE11");
// JSONObject json = new JSONObject();
// if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
// json.put("id",listStr.get(0).getSubId());
// }else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
// json.put("id",listStr.get(0).getProjectId());
// }
// sendMessageDTO.setBusId(json.toJSONString());
JSONObject json = new JSONObject();
json.put("id",payPaymentRecord.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
// 发送给项目企业联系人
if(!CollectionUtils.isEmpty(listId)){
String finalProject = project;
listId.forEach(p->{
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(p.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if(!StringUtils.isEmpty(p.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone()));
sendMessageDTO.setToUser(PasswordUtil.decrypt(p.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", finalProject);
map.put("amount", String.valueOf(payPaymentRecord.getAmountReceived()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG14.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE14");
JSONObject json = new JSONObject();
json.put("id",payPaymentRecord.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
}
/**
@@ -69,17 +69,27 @@ public class PayWorkingGroupSubItem implements Serializable {
@Excel(name = "企业联系人1", width = 15)
@ApiModelProperty(value = "临时企业联系人1名称")
private java.lang.String contactsTemporaryNameOne;
/**联系人1备注*/
@Excel(name = "联系人1备注", width = 15)
@ApiModelProperty(value = "联系人1备注")
@Size(max = 50,message = "联系人1备注长度不能大于50个字符")
private java.lang.String remarksOne;
/**企业联系人2id*/
@ApiModelProperty(value = "企业联系人2id")
@Size(max = 32,message = "企业联系人2id长度不能大于32个字符")
private java.lang.String contactsIdTwo;
/**临时企业联系人3id*/
@ApiModelProperty(value = "临时企业联系人3id")
/**临时企业联系人2id*/
@ApiModelProperty(value = "临时企业联系人2id")
private java.lang.String contactsTemporaryIdTwo;
/**临时企业联系人2名称*/
@Excel(name = "企业联系人2", width = 15)
@ApiModelProperty(value = "临时企业联系人2名称")
private java.lang.String contactsTemporaryNameTwo;
/**联系人2备注*/
@Excel(name = "联系人2备注", width = 15)
@ApiModelProperty(value = "联系人2备注")
@Size(max = 50,message = "联系人2备注长度不能大于50个字符")
private java.lang.String remarksTwo;
/**企业联系人3id*/
@ApiModelProperty(value = "企业联系人3id")
@Size(max = 32,message = "企业联系人3id长度不能大于32个字符")
@@ -91,6 +101,11 @@ public class PayWorkingGroupSubItem implements Serializable {
@Excel(name = "企业联系人3", width = 15)
@ApiModelProperty(value = "临时企业联系人3名称")
private java.lang.String contactsTemporaryNameThree;
/**联系人3备注*/
@Excel(name = "联系人3备注", width = 15)
@ApiModelProperty(value = "联系人3备注")
@Size(max = 50,message = "联系人3备注长度不能大于50个字符")
private java.lang.String remarksThree;
/**临时邮寄联系人名称*/
@Excel(name = "邮寄联系人", width = 15)
@ApiModelProperty(value = "临时邮寄联系人名称")
@@ -557,6 +557,9 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
payWorkingGroupSubItemService.saveBatch(list);
list.forEach(p->{
PayIncomeContract payIncomeContract = p.getPayIncomeContract();
if(Objects.isNull(payIncomeContract)){
return;
}
// 合同存在 && 合同状态不为草稿,不为未通过 关联合同
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
payIncomeContractAssociated.setContractId(payIncomeContract.getId());