通用项目详情完善
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.common.mapper;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
|
||||
public interface ProjectDetailMapper {
|
||||
/**
|
||||
* @Description 查询项目信息
|
||||
* @Author lqt
|
||||
* @Date 2021/9/14
|
||||
* @Param projectId 项目id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
PayCommonProject queryProject(String projectId);
|
||||
}
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
<?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.common.mapper.ProjectDetailMapper">
|
||||
|
||||
<select id="queryProject" resultType="com.jero.project.entity.PayCommonProject">
|
||||
<!-- 普通项目-->
|
||||
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email,c.remarks,c.contract_num,c.charge_company_temporary_id
|
||||
from pay_common_project c
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND c.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!--工作组项目-->
|
||||
UNION ALL
|
||||
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id
|
||||
from pay_working_group g
|
||||
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND gsub.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 会议项目-->
|
||||
UNION ALL
|
||||
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'','',sit.remark,'',sit.company_temporary_id
|
||||
from pay_meeting meeting
|
||||
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND sit.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 会员项目-->
|
||||
UNION ALL
|
||||
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','',msub.remark,msub.contract_no,msub.company_temporary_id
|
||||
from pay_member_project pmp
|
||||
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND msub.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
<!-- 标协会员项目-->
|
||||
UNION ALL
|
||||
select tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.mobile,tmsub.email,'','',tmsub.company_id
|
||||
from tb_member_project tmember
|
||||
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
|
||||
<where>
|
||||
<if test="projectId != null and projectId != ''">
|
||||
AND tmsub.id = #{projectId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
+3
-5
@@ -1,18 +1,16 @@
|
||||
package com.jero.common.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.vo.ProjectDetailVO;
|
||||
|
||||
public interface ProjectDetailService {
|
||||
|
||||
/**
|
||||
* @Description 获取企业信息,联系人信息,到账信息,开票邮寄记录
|
||||
* @Description 获取项目详情
|
||||
* @Author lqt
|
||||
* @Date 2021/9/2
|
||||
* @Param projectId项目id
|
||||
* @Param companyId 企业id
|
||||
* @Param contactsId 联系人id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
JSONObject getProjectDetail(String projectId,String companyId,String contactsId);
|
||||
ProjectDetailVO getProjectDetail(String projectId);
|
||||
}
|
||||
|
||||
+111
-19
@@ -1,22 +1,32 @@
|
||||
package com.jero.common.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.common.ProjectCommon;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.mapper.ProjectDetailMapper;
|
||||
import com.jero.common.service.ProjectDetailService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.vo.ProjectDetailVO;
|
||||
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.mail.entity.PayMailBill;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.pack.common.PackCommon;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
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.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -24,34 +34,116 @@ import java.util.Objects;
|
||||
public class ProjectDetailServiceImpl implements ProjectDetailService {
|
||||
|
||||
@Autowired
|
||||
IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
|
||||
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
|
||||
@Autowired
|
||||
IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
@Autowired
|
||||
IPayPaymentRecordService payPaymentRecordService;
|
||||
private IPayCompanyManagementService payCompanyManagementService;
|
||||
@Autowired
|
||||
IPayMailBillService payMailBillService;
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
@Autowired
|
||||
private IPayPaymentRecordService payPaymentRecordService;
|
||||
@Autowired
|
||||
private IPayMailBillService payMailBillService;
|
||||
@Resource
|
||||
private ProjectDetailMapper projectDetailMapper;
|
||||
@Autowired
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
|
||||
@Override
|
||||
public JSONObject getProjectDetail(String projectId, String companyId, String contactsId) {
|
||||
if(StringUtils.isBlank(projectId) || StringUtils.isBlank(companyId) || StringUtils.isBlank(contactsId)){
|
||||
throw new JeroBootException("项目id、企业id、联系人id不能为空!");
|
||||
public ProjectDetailVO getProjectDetail(String projectId) {
|
||||
if(StringUtils.isBlank(projectId)){
|
||||
throw new JeroBootException("项目id不能为空!");
|
||||
}
|
||||
// 获取项目信息
|
||||
PayCommonProject payCommonProject = projectDetailMapper.queryProject(projectId);
|
||||
if(Objects.isNull(payCommonProject)){
|
||||
throw new JeroBootException("项目不存在!");
|
||||
}
|
||||
ProjectDetailVO projectDetailVO = new ProjectDetailVO();
|
||||
projectDetailVO.setPrincipalName(payCommonProject.getPrincipalName());
|
||||
projectDetailVO.setReceivableAmount(payCommonProject.getReceivableAmount());
|
||||
projectDetailVO.setRemarks(payCommonProject.getRemarks());
|
||||
projectDetailVO.setChargeWay(payCommonProject.getChargeWay());
|
||||
if(!Objects.isNull(payCommonProject.getChargeWay())){
|
||||
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(payCommonProject.getChargeWay())));
|
||||
}
|
||||
projectDetailVO.setContractNum(payCommonProject.getContractNum());
|
||||
projectDetailVO.setNeedInvoice(payCommonProject.getNeedInvoice());
|
||||
if(!Objects.isNull(payCommonProject.getNeedInvoice())){
|
||||
projectDetailVO.setNeedInvoice_dictText(sysBaseAPI.translateDict("invoice_type",String.valueOf(payCommonProject.getNeedInvoice())));
|
||||
}
|
||||
projectDetailVO.setPack(payCommonProject.getPack());
|
||||
if(!Objects.isNull(payCommonProject.getPack())){
|
||||
projectDetailVO.setPack_dictText(sysBaseAPI.translateDict("yn",String.valueOf(payCommonProject.getPack())));
|
||||
}
|
||||
// 标协会员,直接查询企业,联系人
|
||||
if(Objects.equals(payCommonProject.getProjectType(), ProjectCommon.PROJECT_TYPE5)){
|
||||
PayCompanyManagement payCompanyManagement = payCompanyManagementService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagement)){
|
||||
throw new JeroBootException("企业不存在!");
|
||||
}
|
||||
projectDetailVO.setCompanyName(payCompanyManagement.getCompanyName());
|
||||
projectDetailVO.setPostalCodeCompany(payCompanyManagement.getPostalCode());
|
||||
projectDetailVO.setCompanyAddress(payCompanyManagement.getCompanyAddress());
|
||||
PayContactsManagement payContactsManagement = payContactsManagementService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagement)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
projectDetailVO.setName(payContactsManagement.getName());
|
||||
projectDetailVO.setGender(payContactsManagement.getGender());
|
||||
if(!Objects.isNull(payContactsManagement.getGender())){
|
||||
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagement.getGender())));
|
||||
}
|
||||
projectDetailVO.setPost(payContactsManagement.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagement.getPhone())){
|
||||
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagement.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagement.getEmail())){
|
||||
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagement.getEmail()));
|
||||
}
|
||||
projectDetailVO.setPostalCodeContacts(payContactsManagement.getPostalCode());
|
||||
projectDetailVO.setContactAddress(payContactsManagement.getContactAddress());
|
||||
|
||||
}else{
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
|
||||
if(Objects.isNull(payCompanyManagementTemporary)){
|
||||
throw new JeroBootException("企业不存在!");
|
||||
}
|
||||
projectDetailVO.setCompanyName(payCompanyManagementTemporary.getCompanyName());
|
||||
projectDetailVO.setPostalCodeCompany(payCompanyManagementTemporary.getPostalCode());
|
||||
projectDetailVO.setCompanyAddress(payCompanyManagementTemporary.getCompanyAddress());
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(Objects.isNull(payContactsManagementTemporary)){
|
||||
throw new JeroBootException("联系人不存在!");
|
||||
}
|
||||
projectDetailVO.setName(payContactsManagementTemporary.getName());
|
||||
projectDetailVO.setGender(payContactsManagementTemporary.getGender());
|
||||
if(!Objects.isNull(payContactsManagementTemporary.getGender())){
|
||||
projectDetailVO.setGender_dictText(sysBaseAPI.translateDict("sex",String.valueOf(payContactsManagementTemporary.getGender())));
|
||||
}
|
||||
projectDetailVO.setPost(payContactsManagementTemporary.getPost());
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getPhone())){
|
||||
projectDetailVO.setPhone(PasswordUtil.decrypt(payContactsManagementTemporary.getPhone()));
|
||||
}
|
||||
if(!StringUtils.isBlank(payContactsManagementTemporary.getEmail())){
|
||||
projectDetailVO.setEmail(PasswordUtil.decrypt(payContactsManagementTemporary.getEmail()));
|
||||
}
|
||||
projectDetailVO.setPostalCodeContacts(payContactsManagementTemporary.getPostalCode());
|
||||
projectDetailVO.setContactAddress(payContactsManagementTemporary.getContactAddress());
|
||||
}
|
||||
JSONObject json = new JSONObject();
|
||||
// 企业信息
|
||||
PayCompanyManagementTemporary payCompanyManagementTemporary = payCompanyManagementTemporaryService.getById(companyId);
|
||||
json.put("company",payCompanyManagementTemporary);
|
||||
// 联系人信息
|
||||
PayContactsManagementTemporary payContactsManagementTemporary = payContactsManagementTemporaryService.getById(contactsId);
|
||||
json.put("contacts",payContactsManagementTemporary);
|
||||
// 到账信息
|
||||
LambdaQueryWrapper<PayPaymentRecord> queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>();
|
||||
queryWrapperPayPaymentRecord.eq(PayPaymentRecord::getProjectId,projectId);
|
||||
List<PayPaymentRecord> payPaymentRecordList = payPaymentRecordService.list(queryWrapperPayPaymentRecord);
|
||||
json.put("paymentRecord",payPaymentRecordList);
|
||||
if(!CollectionUtils.isEmpty(payPaymentRecordList)){
|
||||
projectDetailVO.setPaymentRecord(payPaymentRecordList);
|
||||
}
|
||||
// 开票邮寄记录
|
||||
List<PayMailBill> listMailBillVO = payMailBillService.selectMailBillVO(projectId);
|
||||
json.put("mailBill",listMailBillVO);
|
||||
return json;
|
||||
if(!CollectionUtils.isEmpty(listMailBillVO)){
|
||||
projectDetailVO.setMailBill(listMailBillVO);
|
||||
}
|
||||
return projectDetailVO;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
package com.jero.common.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.payment.entity.PayPaymentRecord;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class ProjectDetailVO implements Serializable {
|
||||
/**
|
||||
* 项目负责人
|
||||
*/
|
||||
@ApiModelProperty(value = "项目负责人")
|
||||
private String principalName;
|
||||
/**
|
||||
* 应收金额
|
||||
*/
|
||||
@ApiModelProperty(value = "应收金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal receivableAmount;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
/**
|
||||
* 来款方式
|
||||
*/
|
||||
@ApiModelProperty(value = "来款方式")
|
||||
private Integer chargeWay;
|
||||
/**
|
||||
* 来款方式
|
||||
*/
|
||||
@ApiModelProperty(value = "来款方式")
|
||||
private String chargeWay_dictText;
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@ApiModelProperty(value = "合同编号")
|
||||
private String contractNum;
|
||||
/**
|
||||
* 是否需要发票
|
||||
*/
|
||||
@ApiModelProperty(value = "是否需要发票")
|
||||
private Integer needInvoice;
|
||||
/**
|
||||
* 是否需要发票
|
||||
*/
|
||||
@ApiModelProperty(value = "是否需要发票")
|
||||
private String needInvoice_dictText;
|
||||
/**
|
||||
* 是否打包
|
||||
*/
|
||||
@ApiModelProperty(value = "是否打包")
|
||||
private Integer pack;
|
||||
/**
|
||||
* 是否打包
|
||||
*/
|
||||
@ApiModelProperty(value = "是否打包")
|
||||
private String pack_dictText;
|
||||
/**
|
||||
* 来款企业
|
||||
*/
|
||||
@ApiModelProperty(value = "来款企业")
|
||||
private String companyName;
|
||||
/**
|
||||
* 企业邮编
|
||||
*/
|
||||
@ApiModelProperty(value = "企业邮编")
|
||||
private String postalCodeCompany;
|
||||
/**
|
||||
* 企业地址
|
||||
*/
|
||||
@ApiModelProperty(value = "企业地址")
|
||||
private String companyAddress;
|
||||
/**
|
||||
* 企业联系人
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人")
|
||||
private String name;
|
||||
/**
|
||||
* 企业联系人性别
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人性别")
|
||||
private Integer gender;
|
||||
/**
|
||||
* 企业联系人性别
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人性别")
|
||||
private String gender_dictText;
|
||||
/**
|
||||
* 企业联系人职务
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人职务")
|
||||
private String post;
|
||||
/**
|
||||
* 企业联系人电话
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人电话")
|
||||
private String phone;
|
||||
/**
|
||||
* 企业联系人邮箱
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人邮箱")
|
||||
private String email;
|
||||
/**
|
||||
* 企业联系人邮编
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人邮编")
|
||||
private String postalCodeContacts;
|
||||
/**
|
||||
* 企业联系人地址
|
||||
*/
|
||||
@ApiModelProperty(value = "企业联系人地址")
|
||||
private String contactAddress;
|
||||
/**
|
||||
* 到账信息
|
||||
*/
|
||||
@ApiModelProperty(value = "到账信息")
|
||||
private List<PayPaymentRecord> paymentRecord;
|
||||
/**
|
||||
* 开票邮寄记录
|
||||
*/
|
||||
@ApiModelProperty(value = "开票邮寄记录")
|
||||
private List<PayMailBill> mailBill;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user