diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/ProjectDetailMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/ProjectDetailMapper.java
new file mode 100644
index 00000000..b47879c8
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/ProjectDetailMapper.java
@@ -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);
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml
new file mode 100644
index 00000000..155df450
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java
index e8e3afae..1441483b 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java
@@ -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);
}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java
index 6f20eb30..ffde459b 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java
@@ -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 queryWrapperPayPaymentRecord = new LambdaQueryWrapper<>();
queryWrapperPayPaymentRecord.eq(PayPaymentRecord::getProjectId,projectId);
List payPaymentRecordList = payPaymentRecordService.list(queryWrapperPayPaymentRecord);
- json.put("paymentRecord",payPaymentRecordList);
+ if(!CollectionUtils.isEmpty(payPaymentRecordList)){
+ projectDetailVO.setPaymentRecord(payPaymentRecordList);
+ }
// 开票邮寄记录
List listMailBillVO = payMailBillService.selectMailBillVO(projectId);
- json.put("mailBill",listMailBillVO);
- return json;
+ if(!CollectionUtils.isEmpty(listMailBillVO)){
+ projectDetailVO.setMailBill(listMailBillVO);
+ }
+ return projectDetailVO;
}
}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/vo/ProjectDetailVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/vo/ProjectDetailVO.java
new file mode 100644
index 00000000..7411ed93
--- /dev/null
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/vo/ProjectDetailVO.java
@@ -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 paymentRecord;
+ /**
+ * 开票邮寄记录
+ */
+ @ApiModelProperty(value = "开票邮寄记录")
+ private List mailBill;
+
+}
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java
index ea951a94..ff4da928 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/contract/service/impl/PayIncomeContractServiceImpl.java
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
-import com.jero.common.service.ProjectPackService;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ValidUtil;
import com.jero.contract.common.PayIncomeContractCommon;
@@ -21,6 +20,7 @@ import com.jero.contract.service.IPayIncomeContractInstallmentService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.contract.vo.PayIncomeContractInput;
import com.jero.contract.vo.ProjectOutput;
+import com.jero.meeting.service.IPayMeetingService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.entity.PayPackCompany;
@@ -44,9 +44,7 @@ import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-
import javax.annotation.Resource;
-import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -89,6 +87,8 @@ public class PayIncomeContractServiceImpl extends ServiceImpl queryPageList(Page page, PayIncomeContract payIncomeContract, String chargeStatus,String projectName, String startTime, String endTime) {
@@ -306,6 +306,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl updatePayCommonProject = new LambdaUpdateWrapper<>();
@@ -381,6 +382,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl payMailBillProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
payMailBillProjectLambdaQueryWrapper.eq(PayMailBillProject::getBillId,keyId);
PayMailBillProject one1 = iPayMailBillProjectService.getOne(payMailBillProjectLambdaQueryWrapper);
- JSONObject projectDetail = projectDetailService.getProjectDetail(one1.getProjectId(), one.getCompanyId(), one.getId());
- //根据项目id企业id和联系人id获取项目详情
- LambdaQueryWrapper payMemberProjectSubitemLambdaQueryWrapper = new LambdaQueryWrapper<>();
- payMemberProjectSubitemLambdaQueryWrapper.eq(PayMemberProjectSubitem::getCompanyId,one.getCompanyId());
- payMemberProjectSubitemLambdaQueryWrapper.eq(PayMemberProjectSubitem::getCompanyContactId,one.getId());
- payMemberProjectSubitemLambdaQueryWrapper.eq(PayMemberProjectSubitem::getProjectId,one1.getProjectId());
- PayMemberProjectSubitem payMemberProjectSubitem = iPayMemberProjectSubitemService.getOne(payMemberProjectSubitemLambdaQueryWrapper, false);
- projectDetail.put("payMemberProjectSubitem",payMemberProjectSubitem);
- return Result.OK(projectDetail);
+ ProjectDetailVO projectDetailVO = projectDetailService.getProjectDetail(one1.getProjectId());
+ return Result.OK(projectDetailVO);
}
/**
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java
index 9111d07f..8ae7fa7c 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java
@@ -69,6 +69,9 @@ public class PayPackCompanyServiceImpl extends ServiceImpl query = new LambdaQueryWrapper<>();
query.eq(PayPackCompany::getCompanyId,payPackCompany.getCompanyId());
diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java
index 811f4cba..bbd8402d 100644
--- a/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java
+++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/controller/PayCommonProjectController.java
@@ -19,6 +19,7 @@ import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
+import com.jero.common.vo.ProjectDetailVO;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
@@ -282,16 +283,12 @@ public class PayCommonProjectController extends JeroController