diff --git a/db/24年2月变更.sql b/db/24年2月变更.sql index 4749229e..2bae9e2a 100644 --- a/db/24年2月变更.sql +++ b/db/24年2月变更.sql @@ -74,4 +74,24 @@ INSERT INTO sys_sms_template ( id, template_code, template_name, template_conten update income_payments.tb_member_project_subitem tmps left join standards_association.tb_member_info tmi on tmps.company_name = tmi.company_name set tmps.effective_date = tmi.effective_date, tmps.invalidation_date = tmi.invalidation_date -where 1=1; \ No newline at end of file +where 1=1; +# 会议打包统计视图 +create view v_meeting_pack_statistical as +SELECT + p1.id, + p1.meeting_id, + p1.company_name, + p1.company_contact_name, + p1.pay_mode, + p1.amount_receivable AS allMoney, + p1.confirm_amount AS confirm_amount, + p1.invoice_amount AS billMoney, + p1.paid_amount AS comeAllMoney, + ifnull(p2.meeting_costs,p2.meeting_costs_two_topic) meeting_costs_a, + ifnull(p2.meeting_costs_vip,p2.meeting_costs_three_topic) meeting_costs_b, + p2.meeting_name, + p2.meeting_type, + ( SELECT DATE_FORMAT( payment_date, '%Y' ) FROM pay_confirm_payment_record p3 WHERE p3.project_id = p1.id LIMIT 1 ) AS payment_year +FROM + pay_meeting_situation p1 + LEFT JOIN pay_meeting p2 ON p1.meeting_id = p2.id; \ No newline at end of file diff --git a/db/统计视图(新).sql b/db/统计视图(新).sql index adfda65b..7b94abbe 100644 --- a/db/统计视图(新).sql +++ b/db/统计视图(新).sql @@ -759,4 +759,25 @@ from (SELECT pwgs.id, left join v_mail_bill_project vmbp on tcp.id = vmbp.project_id group by tcp.id ) pp -order by pp.createTime; \ No newline at end of file +order by pp.createTime; + +drop view v_meeting_pack_statistical; +create view v_meeting_pack_statistical as +SELECT + p1.id, + p1.meeting_id, + p1.company_name, + p1.company_contact_name, + p1.pay_mode, + p1.amount_receivable AS allMoney, + p1.confirm_amount AS confirm_amount, + p1.invoice_amount AS billMoney, + p1.paid_amount AS comeAllMoney, + ifnull(p2.meeting_costs,p2.meeting_costs_two_topic) meeting_costs_a, + ifnull(p2.meeting_costs_vip,p2.meeting_costs_three_topic) meeting_costs_b, + p2.meeting_name, + p2.meeting_type, + ( SELECT DATE_FORMAT( payment_date, '%Y' ) FROM pay_confirm_payment_record p3 WHERE p3.project_id = p1.id LIMIT 1 ) AS payment_year +FROM + pay_meeting_situation p1 + LEFT JOIN pay_meeting p2 ON p1.meeting_id = p2.id; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml index cdb66042..741953cb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingSituationMapper.xml @@ -180,20 +180,16 @@ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java index eafc510e..6c6aead5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java @@ -110,5 +110,5 @@ public interface IPayMeetingSituationService extends IService hashMap = new HashMap<>(); hashMap.put("sumOfMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getAllMoney())) ? 0 : count.getAllMoney()); hashMap.put("sumOfReallyMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getComeAllMoney())) ? 0 : count.getComeAllMoney()); - hashMap.put("sumOfBillMoney", (Objects.isNull(count) || StringUtils.isBlank(count.getBillMoney())) ? 0 : count.getBillMoney()); - hashMap.put("sumOfConfirmAmount", (Objects.isNull(count) || StringUtils.isBlank(count.getConfirmAmount())) ? 0 : count.getConfirmAmount()); + hashMap.put("sumOfMeetingCostsA", (Objects.isNull(count) || StringUtils.isBlank(count.getMeetingCostsA())) ? 0 : count.getMeetingCostsA()); + hashMap.put("sumOfMeetingCostsB", (Objects.isNull(count) || StringUtils.isBlank(count.getMeetingCostsB())) ? 0 : count.getMeetingCostsB()); hashMap.put("pageList", pageList); return hashMap; } @Override - public ModelAndView excelMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch) { + public ModelAndView excelMeetingPackStatistics(HttpServletRequest request, MeetingPackStatisticsSearch metingPackStatisticsSearch) { QueryWrapper query = getPayMeetingSituationQueryWrapper(metingPackStatisticsSearch); addOrder(metingPackStatisticsSearch, query); List list = payMeetingSituationMapper.getMeetingPackStatistics(query); - + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + list = list.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); + } // Step.3 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); mv.addObject(NormalExcelConstants.FILE_NAME, "会议打包统计"); //此处设置的filename无效 ,前端会重更新设置一下 @@ -2010,28 +2015,24 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl query) { - query.select("p1.id,p1.meeting_id,p1.company_name,p1.company_contact_name,sum(p1.amount_receivable) as allMoney," + - "sum(p1.confirm_amount) as confirm_amount,sum(p1.invoice_amount) as billMoney,sum(p1.paid_amount) as comeAllMoney," + - "p2.meeting_name,p2.meeting_type,DATE_FORMAT(p3.payment_date,'%Y') as payment_year"); // 排序 if(!StringUtils.isBlank(metingPackStatisticsSearch.getColumn()) && !StringUtils.isBlank(metingPackStatisticsSearch.getOrder())){ String column = ""; switch (metingPackStatisticsSearch.getColumn()){ - case "allMoney": column = "p1.amount_receivable";break; - case "confirmAmount": column = "p1.confirm_amount";break; - case "billMoney": column = "p1.invoice_amount";break; - case "comeAllMoney": column = "p1.paid_amount";break; + case "allMoney": column = "amount_receivable";break; + case "confirmAmount": column = "confirm_amount";break; + case "billMoney": column = "invoice_amount";break; + case "comeAllMoney": column = "paid_amount";break; default:break; } if(!StringUtils.isBlank(column)){ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/MeetingPackStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/MeetingPackStatisticsController.java index f6c51a97..e2be9b2a 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/MeetingPackStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/MeetingPackStatisticsController.java @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; /** @@ -59,7 +60,7 @@ public class MeetingPackStatisticsController { @AutoLog(value = "会议打包统计-导出统计") @ApiOperation(value = "会议打包统计-导出统计", notes = "会议打包统计-导出统计") @GetMapping(value = "/excelMeetingPackStatistics") - public ModelAndView excelMeetingPackStatistics(MeetingPackStatisticsSearch metingPackStatisticsSearch) { - return payMeetingSituationService.excelMeetingPackStatistics(metingPackStatisticsSearch); + public ModelAndView excelMeetingPackStatistics(HttpServletRequest request, MeetingPackStatisticsSearch metingPackStatisticsSearch) { + return payMeetingSituationService.excelMeetingPackStatistics(request,metingPackStatisticsSearch); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatistics.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatistics.java index 5538d33b..ffe7ee5b 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatistics.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/MeetingPackStatistics.java @@ -45,14 +45,20 @@ public class MeetingPackStatistics implements Serializable { @ApiModelProperty(value = "确认金额") private String confirmAmount; - @Excel(name = "开票金额", width = 15) @ApiModelProperty(value = "开票金额") private String billMoney; - @Excel(name = "到账金额", width = 15) @ApiModelProperty(value = "到账金额") private String comeAllMoney; + @Excel(name = "会议金额A", width = 15) + @ApiModelProperty(value = "会议金额A") + private String meetingCostsA; + + @Excel(name = "会议金额B", width = 15) + @ApiModelProperty(value = "会议金额B") + private String meetingCostsB; + @ApiModelProperty(value = "确认年份") private BigDecimal paymentYear;