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