This commit is contained in:
baozhipeng
2021-09-24 16:03:17 +08:00
parent 428a0ddd79
commit fc28d2e7c8
5 changed files with 99 additions and 54 deletions
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.mail.PayMailBillVO;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillSearch;
import io.lettuce.core.dynamic.annotation.Param;
@@ -29,6 +30,8 @@ public interface PayMailBillMapper extends BaseMapper<PayMailBill> {
*/
List<PayMailBill> selectCommonProjectMailBillVO(@Param("projectId") String projectId);
List<PayMailBill> selectInvoicingStage(@Param("projectId")String projectId);
}
@@ -13,8 +13,9 @@
<result property="sendMethod" column="send_method"></result>
<result property="postNo" column="post_no"></result>
<result property="postNo" column="post_no"></result>
<result property="liaisonMan" column="liaison_man"></result>
<result property="mobile" column="mobile"></result>
<result property="contactId" column="contact_id"></result>
<result property="contactName" column="contact_name"></result>
<result property="contactMobile" column="contact_mobile"></result>
<result property="billDate" column="bill_date"></result>
<result property="sendDate" column="send_date"></result>
<result property="remark" column="remark"></result>
@@ -32,8 +33,8 @@
pmb.post_status,
pmb.send_method,
pmb.post_no,
pmb.liaison_man,
pmb.mobile,
pmb.contact_name,
pmb.contact_mobile,
pmb.bill_date,
pmb.send_date,
pmb.remark,
@@ -42,5 +43,12 @@
WHERE pmb.id IN (SELECT bill_id FROM pay_mail_bill_project WHERE project_id=#{projectId})
</select>
<select id="selectInvoicingStage" resultType="com.jero.mail.entity.PayMailBill">
select pmb.project_name,pmbp.invoice_amount,pmb.bill_no,pmb.bill_date,pmbp.remark
from pay_mail_bill pmb
inner JOIN pay_mail_bill_project pmbp on pmb.id = pmbp.bill_id
where pmbp.project_id=#{projectId}
</select>
</mapper>
@@ -30,6 +30,13 @@ public interface IPayMailBillService extends IService<PayMailBill> {
*/
List<PayMailBill> selectMailBillVO(String projectId);
/**
* 查询开票阶段
* @param projectId
* @return
*/
List<PayMailBill> selectInvoicingStage(String projectId);
/**
* 添加开票
* @param payMailBill
@@ -82,6 +82,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
private TbMemberProjectMapper tbMemberProjectMapper;
@Resource
private PayContactsManagementMapper payContactsManagementMapper;
@Resource
private PayMailBillMapper payMailBillMapper;
@Override
public List<PayMailBill> selectMailBillVO(String projectId) {
@@ -101,6 +103,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
return list;
}
@Override
public List<PayMailBill> selectInvoicingStage(String projectId) {
return payMailBillMapper.selectInvoicingStage(projectId);
}
/**
* 添加开票
*
@@ -135,13 +143,30 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
}
}
//更新项目表开票状态,逗号拼接邮寄信息
StringBuilder projectName = new StringBuilder();
StringBuilder chargeCompanyName = new StringBuilder();
StringBuilder principalName = new StringBuilder();
StringBuilder principalId = new StringBuilder();
for(int i=0; i<bmpList.size();i++){
bmpList.get(i).setBillId(payMailBill.getId());
//更新项目表开票状态,逗号拼接邮寄信息
getMakeInvoice(bmpList.get(i),payMailBill,i,bmpList.size());
getMakeInvoice(bmpList.get(i),
projectName,chargeCompanyName,principalName,principalId,
i,bmpList.size());
}
payMailBill.setProjectName(projectName.toString());
payMailBill.setChargeCompanyName(chargeCompanyName.toString());
payMailBill.setPrincipalName(principalName.toString());
payMailBill.setPrincipalId(principalId.toString());
//新增票据邮寄表
payMailBillInsert(payMailBill);
//填充billId
for(int i=0; i<bmpList.size();i++){
bmpList.get(i).setBillId(payMailBill.getId());
}
//批量插入票据关联项目表
payMailBillProjectService.saveBatch(bmpList);
@@ -366,7 +391,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
* 更新项目表开票状态,逗号拼接邮寄信息
* @return
*/
private void getMakeInvoice(PayMailBillProject payMailBillProject,PayMailBillVO payMailBill,int i,int size) {
private void getMakeInvoice(PayMailBillProject payMailBillProject,
StringBuilder projectName,StringBuilder chargeCompanyName,StringBuilder principalName,StringBuilder principalId,
int i,int size) {
int makeInvoice=4;
BigDecimal amountReceivable=new BigDecimal("0");//应收金额
Integer needInvoice = 0;//是否需要发票
@@ -389,16 +416,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(payCommonProject.getChargeProject());
payMailBill.setChargeCompanyName(payCommonProject.getChargeCompanyTemporaryName());
payMailBill.setPrincipalName(payCommonProject.getPrincipalName());
payMailBill.setPrincipalId(payCommonProject.getPrincipalId());
if(i==0){
projectName.append(payCommonProject.getChargeProject());
chargeCompanyName.append(payCommonProject.getChargeCompanyTemporaryName());
principalName.append(payCommonProject.getPrincipalId());
principalId.append(payCommonProject.getPrincipalId());
}else{
payMailBill.setProjectName(payCommonProject.getChargeProject()+",");
payMailBill.setChargeCompanyName(payCommonProject.getChargeCompanyTemporaryName()+",");
payMailBill.setPrincipalName(payCommonProject.getPrincipalName()+",");
payMailBill.setPrincipalId(payCommonProject.getPrincipalId()+",");
projectName.append(",").append(payCommonProject.getChargeProject());
chargeCompanyName.append(",").append(payCommonProject.getChargeCompanyTemporaryName());
principalName.append(",").append(payCommonProject.getPrincipalId());
principalId.append(",").append(payCommonProject.getPrincipalId());
}
break;
// 工作组项目
@@ -416,16 +443,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//查父表
PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroup.getWorkingGroupId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(payWorkingGroup.getWorkingGroupProject());
payMailBill.setChargeCompanyName(workingGroup.getChargeCompanyTemporaryName());
payMailBill.setPrincipalName(payWorkingGroup.getPrincipalNameA());
payMailBill.setPrincipalId(payWorkingGroup.getPrincipalIdA());
}else {
payMailBill.setProjectName(payWorkingGroup.getWorkingGroupProject() + ",");
payMailBill.setChargeCompanyName(workingGroup.getChargeCompanyTemporaryName() + ",");
payMailBill.setPrincipalName(payWorkingGroup.getPrincipalNameA() + ",");
payMailBill.setPrincipalId(payWorkingGroup.getPrincipalIdA() + ",");
if(i==0){
projectName.append(payWorkingGroup.getWorkingGroupProject());
chargeCompanyName.append(workingGroup.getChargeCompanyTemporaryName());
principalName.append(workingGroup.getChargeCompanyTemporaryName());
principalId.append(payWorkingGroup.getPrincipalNameA());
}else{
projectName.append(",").append(payWorkingGroup.getWorkingGroupProject());
chargeCompanyName.append(",").append(workingGroup.getChargeCompanyTemporaryName());
principalName.append(",").append(workingGroup.getChargeCompanyTemporaryName());
principalId.append(",").append(payWorkingGroup.getPrincipalNameA());
}
break;
//会议项目
@@ -443,16 +470,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//查父表
PayMeeting payMeeting = payMeetingMapper.selectById(meeting.getMeetingId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(payMeeting.getMeetingName());
payMailBill.setChargeCompanyName(meeting.getCompanyName());
payMailBill.setPrincipalName(payMeeting.getDirectorName());
payMailBill.setPrincipalId(payMeeting.getDirectorId());
}else {
payMailBill.setProjectName(payMeeting.getMeetingName() + ",");
payMailBill.setChargeCompanyName(meeting.getCompanyName() + ",");
payMailBill.setPrincipalName(payMeeting.getDirectorName() + ",");
payMailBill.setPrincipalId(payMeeting.getDirectorId() + ",");
if(i==0){
projectName.append(payMeeting.getMeetingName());
chargeCompanyName.append(meeting.getCompanyName());
principalName.append(payMeeting.getDirectorName());
principalId.append(payMeeting.getDirectorId());
}else{
projectName.append(",").append(payMeeting.getMeetingName());
chargeCompanyName.append(",").append(meeting.getCompanyName());
principalName.append(",").append(payMeeting.getDirectorName());
principalId.append(",").append(payMeeting.getDirectorId());
}
break;
//会员项目
@@ -470,16 +497,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//查父表
PayMemberProject payMemberProject = payMemberProjectMapper.selectById(memberProject.getProjectId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(payMemberProject.getProjectName());
payMailBill.setChargeCompanyName(memberProject.getCompanyName());
payMailBill.setPrincipalName(payMemberProject.getDirectorName());
payMailBill.setPrincipalId(payMemberProject.getDirectorId());
}else {
payMailBill.setProjectName(payMemberProject.getProjectName() + ",");
payMailBill.setChargeCompanyName(memberProject.getCompanyName() + ",");
payMailBill.setPrincipalName(payMemberProject.getDirectorName() + ",");
payMailBill.setPrincipalId(payMemberProject.getDirectorId() + ",");
if(i==0){
projectName.append(payMemberProject.getProjectName());
chargeCompanyName.append(memberProject.getCompanyName());
principalName.append(payMemberProject.getDirectorName());
principalId.append(payMemberProject.getDirectorId());
}else{
projectName.append(",").append(payMemberProject.getProjectName());
chargeCompanyName.append(",").append(memberProject.getCompanyName());
principalName.append(",").append(payMemberProject.getDirectorName());
principalId.append(",").append(payMemberProject.getDirectorId());
}
break;
//标协会员
@@ -497,12 +524,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//查父表
TbMemberProject tbProject = tbMemberProjectMapper.selectById(tbMemberProject.getProjectId());
//逗号拼接邮寄信息
if(i==size-1){
payMailBill.setProjectName(tbProject.getProjectName());
payMailBill.setChargeCompanyName(tbMemberProject.getCompanyName());
}else {
payMailBill.setProjectName(tbProject.getProjectName() + ",");
payMailBill.setChargeCompanyName(tbMemberProject.getCompanyName() + ",");
if(i==0){
projectName.append(tbProject.getProjectName());
chargeCompanyName.append(tbMemberProject.getCompanyName());
}else{
projectName.append(",").append(tbProject.getProjectName());
chargeCompanyName.append(",").append(tbMemberProject.getCompanyName());
}
break;
default:
@@ -156,7 +156,7 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
@PostMapping(value = "/payBillList")
public Result<?> payBillList(String id) {
return Result.OK(payMailBillService.selectMailBillVO(id));
return Result.OK(payMailBillService.selectInvoicingStage(id));
}
/**