来款开票搜索框

This commit is contained in:
baozhipeng
2021-09-18 17:23:20 +08:00
parent 3f1bc51157
commit 21a476c485
6 changed files with 81 additions and 34 deletions
@@ -227,7 +227,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
for (int i = 0; i < bmpList.size(); i++) {
//之前开票总额
BigDecimal oldInvoiceAmount = new BigDecimal("0");
BigDecimal oldInvoiceAmount ;
//之前开票总额+本次开票金额
BigDecimal invoiceAmount=new BigDecimal("0");
@@ -244,6 +244,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
return "打包开票只能是同一个企业";
}
oldInvoiceAmount = payCommonProject.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
//开票总额>应收
@@ -262,6 +265,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
return "打包开票只能是同一个企业";
}
oldInvoiceAmount = workingGroup.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
//开票总额>应收
@@ -280,6 +286,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
return "打包开票只能是同一个企业";
}
oldInvoiceAmount = meeting.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
//开票总额>应收
@@ -298,6 +307,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
return "打包开票只能是同一个企业";
}
oldInvoiceAmount = memberProject.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
//开票总额>应收
@@ -315,7 +327,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if (!standardCompanyId.equals(tbMemberProject.getCompanyId())) {
return "打包开票只能是同一个企业";
}
oldInvoiceAmount = tbMemberProject.getInvoiceAmount()==null? oldInvoiceAmount:tbMemberProject.getInvoiceAmount();
oldInvoiceAmount = tbMemberProject.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
//开票总额>应收
@@ -342,7 +357,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount ==null){
invoiceAmount=new BigDecimal("0");
}
BigDecimal oldInvoiceAmount=new BigDecimal("0");//开票金额
BigDecimal oldInvoiceAmount;//开票金额
switch (payMailBillProject.getProjectType().toString()) {
// 普通项目
@@ -351,6 +366,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
amountReceivable = payCommonProject.getReceivableAmount();//应收
needInvoice = payCommonProject.getNeedInvoice();//是否需要发票
oldInvoiceAmount = payCommonProject.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
break;
@@ -360,6 +378,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
amountReceivable = workingGroup.getReceivableAmount();//应收
needInvoice = workingGroup.getNeedInvoice();//是否需要发票
oldInvoiceAmount = workingGroup.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
break;
@@ -369,6 +390,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
amountReceivable = meeting.getAmountReceivable();//应收
needInvoice = meeting.getNeedInvoice();//是否需要发票
oldInvoiceAmount = meeting.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
break;
@@ -378,6 +402,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
amountReceivable = memberProject.getAmountReceivable();//应收
needInvoice = memberProject.getNeedInvoice();//是否需要发票
oldInvoiceAmount = memberProject.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
break;
@@ -386,7 +413,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
TbMemberProjectSubitem tbMemberProject = tbMemberProjectSubitemMapper.selectById(payMailBillProject.getProjectId());
amountReceivable = tbMemberProject.getAmountReceivable();//应收
needInvoice = tbMemberProject.getInvoiceRequirements();//是否需要发票
oldInvoiceAmount = tbMemberProject.getInvoiceAmount()!=null?tbMemberProject.getInvoiceAmount():new BigDecimal("0");
oldInvoiceAmount = tbMemberProject.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
break;
@@ -25,6 +25,7 @@ import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.vo.PayCommonProjectOutput;
import io.lettuce.core.dynamic.annotation.Param;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -60,9 +61,10 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
public Result<?> mainList(PayCommonProject payCommonProject,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize
,String projectType
,String paymentDate) {
Page<PayCommonProject> page = new Page<PayCommonProject>(pageNo, pageSize);
List<PayCommonProject> pageList = payPaymentRecordService.mainList(page, payCommonProject,paymentDate);
List<PayCommonProject> pageList = payPaymentRecordService.mainList(page, payCommonProject,projectType,paymentDate);
page.setRecords(pageList);
return Result.OK(page);
}
@@ -185,8 +187,9 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
*/
@ApiOperation(value="导出excel", notes="导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject,String paymentDate) {
return payPaymentRecordService.exportXls(request, payCommonProject, paymentDate, PayCommonProjectOutput.class, "到账开票");
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject,
String projectType, String paymentDate) {
return payPaymentRecordService.exportXls(request, payCommonProject,projectType, paymentDate, PayCommonProjectOutput.class, "到账开票");
}
@@ -25,6 +25,7 @@ public interface PayPaymentRecordMapper extends BaseMapper<PayPaymentRecord> {
*/
List<PayCommonProject> mainList(Page page,
@Param("payCommonProject")PayCommonProject payCommonProject,
@Param("projectType") String projectType,
@Param("paymentDate") String paymentDate);
/**
@@ -33,5 +34,6 @@ public interface PayPaymentRecordMapper extends BaseMapper<PayPaymentRecord> {
*/
List<PayCommonProjectOutput> mainListExportXls(
@Param("payCommonProject")PayCommonProject payCommonProject,
@Param("projectType") String projectType,
@Param("paymentDate") String paymentDate);
}
@@ -16,10 +16,10 @@
AND c.principal_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND c.charge_project = #{payCommonProject.chargeProject}
AND c.charge_project like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND c.charge_company_temporary_name = #{payCommonProject.chargeCompanyTemporaryName}
AND c.charge_company_temporary_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!--工作组项目-->
UNION ALL
@@ -33,10 +33,10 @@
AND g.principal_id_a = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND g.working_group_project = #{payCommonProject.chargeProject}
AND g.working_group_project like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND gsub.charge_company_temporary_name = #{payCommonProject.chargeCompanyTemporaryName}
AND gsub.charge_company_temporary_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!-- 会议项目-->
UNION ALL
@@ -50,10 +50,10 @@
AND meeting.director_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND meeting.meeting_name = #{payCommonProject.chargeProject}
AND meeting.meeting_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND sit.company_name = #{payCommonProject.chargeCompanyTemporaryName}
AND sit.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!-- 会员项目-->
UNION ALL
@@ -67,10 +67,10 @@
AND member.director_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND member.project_name = #{payCommonProject.chargeProject}
AND member.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND msub.company_name = #{payCommonProject.chargeCompanyTemporaryName}
AND msub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!-- 标协会员项目-->
UNION ALL
@@ -80,16 +80,22 @@
where
tmsub.amount_receivable <![CDATA[<>]]> 0
and tmsub.amount_receivable is not null
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND 1=2
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND tmember.project_name = #{payCommonProject.chargeProject}
AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND tmsub.company_name = #{payCommonProject.chargeCompanyTemporaryName}
AND tmsub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
)p
LEFT JOIN pay_payment_record ppr ON ppr.project_id = p.id
where
1=1
<if test="projectType != null and projectType != ''">
AND p.projectType = #{projectType}
</if>
<if test="paymentDate != null and paymentDate != ''">
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
</if>
@@ -110,10 +116,10 @@
AND c.principal_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND c.charge_project = #{payCommonProject.chargeProject}
AND c.charge_project like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND c.charge_company_temporary_name = #{payCommonProject.chargeCompanyTemporaryName}
AND c.charge_company_temporary_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!--工作组项目-->
UNION ALL
@@ -127,10 +133,10 @@
AND g.principal_id_a = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND g.working_group_project = #{payCommonProject.chargeProject}
AND g.working_group_project like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND gsub.charge_company_temporary_name = #{payCommonProject.chargeCompanyTemporaryName}
AND gsub.charge_company_temporary_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!-- 会议项目-->
UNION ALL
@@ -144,10 +150,10 @@
AND meeting.director_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND meeting.meeting_name = #{payCommonProject.chargeProject}
AND meeting.meeting_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND sit.company_name = #{payCommonProject.chargeCompanyTemporaryName}
AND sit.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!-- 会员项目-->
UNION ALL
@@ -161,10 +167,10 @@
AND member.director_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND member.project_name = #{payCommonProject.chargeProject}
AND member.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND msub.company_name = #{payCommonProject.chargeCompanyTemporaryName}
AND msub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
<!-- 标协会员项目-->
UNION ALL
@@ -174,20 +180,25 @@
where
tmsub.amount_receivable <![CDATA[<>]]> 0
and tmsub.amount_receivable is not null
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND 1=2
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND tmember.project_name = #{payCommonProject.chargeProject}
AND tmember.project_name like concat('%',concat(#{payCommonProject.chargeProject},'%'))
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND tmsub.company_name = #{payCommonProject.chargeCompanyTemporaryName}
AND tmsub.company_name like concat('%',concat(#{payCommonProject.chargeCompanyTemporaryName},'%'))
</if>
)p
LEFT JOIN pay_payment_record ppr ON ppr.project_id = p.id
where
1=1
<if test="projectType != null and projectType != ''">
AND p.projectType = #{projectType}
</if>
<if test="paymentDate != null and paymentDate != ''">
AND DATE_FORMAT(ppr.payment_date,'%Y') = #{paymentDate}
</if>
GROUP BY p.id ORDER BY p.create_time
</select>
</mapper>
@@ -25,7 +25,7 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
* @param payCommonProject
* @return
*/
List<PayCommonProject> mainList(Page page, PayCommonProject payCommonProject,String paymentDate);
List<PayCommonProject> mainList(Page page, PayCommonProject payCommonProject,String projectType,String paymentDate);
/**
* 添加来款
@@ -47,5 +47,5 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
* @param title
* @return
*/
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject, String paymentDate, Class<PayCommonProjectOutput> clazz, String title);
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject,String projectType, String paymentDate, Class<PayCommonProjectOutput> clazz, String title);
}
@@ -24,6 +24,7 @@ import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.common.util.AuthenticationUtils;
import com.jero.project.vo.PayCommonProjectOutput;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.commons.beanutils.PropertyUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -74,8 +75,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @return
*/
@Override
public List<PayCommonProject> mainList(Page page, PayCommonProject payCommonProject,String paymentDate){
return payPaymentRecordMapper.mainList(page, payCommonProject, paymentDate);
public List<PayCommonProject> mainList(Page page, PayCommonProject payCommonProject,String projectType,String paymentDate){
return payPaymentRecordMapper.mainList(page, payCommonProject,projectType, paymentDate);
}
@@ -381,11 +382,11 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @return
*/
@Override
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject,String paymentDate, Class<PayCommonProjectOutput> clazz, String title) {
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject,String projectType,String paymentDate, Class<PayCommonProjectOutput> clazz, String title) {
// Step.2 获取导出数据
List<PayCommonProjectOutput> pageList=payPaymentRecordMapper.mainListExportXls(payCommonProject,paymentDate);
List<PayCommonProjectOutput> pageList=payPaymentRecordMapper.mainListExportXls(payCommonProject, projectType,paymentDate);
pageList.forEach(p-> {
if (!Objects.isNull(p.getChargeUse())) {
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use", String.valueOf(p.getChargeUse())));