This commit is contained in:
baozhipeng
2021-09-13 14:42:11 +08:00
parent 1162e286ae
commit 553183911c
5 changed files with 94 additions and 6 deletions
@@ -30,7 +30,7 @@ import io.swagger.annotations.ApiOperation;
* @Date: 2021-08-31
* @Version: V1.0
*/
@Api(tags="pay_payment_record")
@Api(tags="到账开票")
@RestController
@RequestMapping("/paymentRecord/payPaymentRecord")
@Slf4j
@@ -145,7 +145,8 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
* 导出excel
*
*/
@RequestMapping(value = "/exportXls")
@ApiOperation(value="导出excel", notes="导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject) {
return payPaymentRecordService.exportXls(request, payCommonProject, PayCommonProject.class, "pay_payment_record");
}
@@ -25,9 +25,9 @@ public interface PayPaymentRecordMapper extends BaseMapper<PayPaymentRecord> {
List<PayCommonProject> mainList(Page page, @Param("payCommonProject")PayCommonProject payCommonProject);
/**
* 到账开票主列表
* 到账开票导出
* @param payCommonProject
* @return
*/
List<PayCommonProject> mainList(@Param("payCommonProject")PayCommonProject payCommonProject);
List<PayCommonProject> mainListExportXls(@Param("payCommonProject")PayCommonProject payCommonProject);
}
@@ -87,4 +87,90 @@
order by create_time DESC
</select>
<!-- 到账开票导出-->
<select id="mainListExportXls" resultType="com.jero.project.entity.PayCommonProject">
<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_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
from pay_common_project c
where
(c.receivable_amount <![CDATA[>]]> c.paid_amount
or (c.receivable_amount is not null and c.paid_amount is null))
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND c.principal_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND c.charge_project = #{payCommonProject.chargeProject}
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND c.charge_company_temporary_name = #{payCommonProject.chargeCompanyTemporaryName}
</if>
<!--工作组项目-->
UNION ALL
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,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
from pay_working_group g
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
where
(gsub.receivable_amount <![CDATA[>]]> gsub.paid_amount
or (gsub.receivable_amount is not null and gsub.paid_amount is null))
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND g.principal_id_a = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND g.working_group_project = #{payCommonProject.chargeProject}
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND gsub.charge_company_temporary_name = #{payCommonProject.chargeCompanyTemporaryName}
</if>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_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
from pay_meeting meeting
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
where
(sit.amount_receivable <![CDATA[>]]> sit.paid_amount
or (sit.amount_receivable is not null and sit.paid_amount is null))
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND meeting.director_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND meeting.meeting_name = #{payCommonProject.chargeProject}
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND sit.company_name = #{payCommonProject.chargeCompanyTemporaryName}
</if>
<!-- 会员项目-->
UNION ALL
select msub.id,member.project_name,msub.charge_use,member.director_id,member.director_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
from pay_member_project member
inner join pay_member_project_subitem msub on member.id=msub.project_id
where
(msub.amount_receivable <![CDATA[>]]> msub.paid_amount
or (msub.amount_receivable is not null and msub.paid_amount is null))
<if test="payCommonProject.principalId != null and payCommonProject.principalId != ''">
AND member.director_id = #{payCommonProject.principalId}
</if>
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND member.project_name = #{payCommonProject.chargeProject}
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND msub.company_name = #{payCommonProject.chargeCompanyTemporaryName}
</if>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,'','',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
from tb_member_project tmember
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
where
(tmsub.amount_receivable <![CDATA[>]]> tmsub.paid_amount
or (tmsub.amount_receivable is not null and tmsub.paid_amount))
<if test="payCommonProject.chargeProject != null and payCommonProject.chargeProject != ''">
AND tmember.project_name = #{payCommonProject.chargeProject}
</if>
<if test="payCommonProject.chargeCompanyTemporaryName != null and payCommonProject.chargeCompanyTemporaryName != ''">
AND tmsub.company_name = #{payCommonProject.chargeCompanyTemporaryName}
</if>
order by create_time DESC
</select>
</mapper>
@@ -80,6 +80,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @return
*/
public List<PayCommonProject> mainList(Page page, PayCommonProject payCommonProject){
// List<PayCommonProject> list=payPaymentRecordMapper.mainListExportXls(page, payCommonProject);
return payPaymentRecordMapper.mainList(page, payCommonProject);
}
@@ -327,7 +328,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject, Class<PayCommonProject> clazz, String title) {
// Step.2 获取导出数据
List<PayCommonProject> pageList=payPaymentRecordMapper.mainList(payCommonProject);
List<PayCommonProject> pageList=payPaymentRecordMapper.mainListExportXls(payCommonProject);
List<PayCommonProject> exportList = null;
// 过滤选中数据
@@ -32,7 +32,7 @@ import javax.validation.constraints.*;
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="pay_common_project对象", description="pay_common_project")
public class PayCommonProject extends PayPaymentRecord implements Serializable {
public class PayCommonProject implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/