From 45bf5b652b07adc9f8ce6d263727efca809e3a85 Mon Sep 17 00:00:00 2001 From: winter Date: Fri, 9 Aug 2024 17:20:39 +0800 Subject: [PATCH] fix --- .../domain/po/WxFinancePrintData.java | 4 --- .../mapper/WxFinanceReceiveBillMapper.java | 2 ++ .../iformall/print/PrintComponentHandler.java | 6 +++++ .../data/PrintFinanceReceiveDataHandler.java | 11 +++++--- .../iformall/service/WxFinanceService.java | 2 ++ .../impl/WxFinancePrintServiceImpl.java | 25 +++++++++++++++++-- .../service/impl/WxFinanceServiceImpl.java | 6 ++++- .../mapper/WxFinanceReceiveBillMapper.xml | 6 +++++ 8 files changed, 51 insertions(+), 11 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintData.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintData.java index ebbb035f7..8bbaac082 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintData.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintData.java @@ -41,8 +41,4 @@ public class WxFinancePrintData extends BaseEntity { @TableField(exist = false) private Object printComponents; - public Object getPrintComponents() { - printComponents = PrintComponentHandler.parseComponent(this); - return printComponents; - } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java index 7f4e1bc1c..951925fb6 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveBillMapper.java @@ -14,5 +14,7 @@ public interface WxFinanceReceiveBillMapper extends CommonMapper findBillIdList(WxFinanceReceiveBill wxBillRent); } diff --git a/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java b/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java index 3c99d2448..46c450887 100644 --- a/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java @@ -24,6 +24,12 @@ public class PrintComponentHandler implements Serializable { private static final long serialVersionUID = 1L; + public static void main(String[] args) { + String s = "{\"columns\": [{\"title\": \"房间名称\", \"fieldName\": \"starttime\"}, {\"title\": \"费用科目\", \"fieldName\": \"endtime\"}, {\"title\": \"费用区间\", \"fieldName\": \"feesName\"},{\"title\": \"应收金额\", \"fieldName\": \"needpay\"},{\"title\": \"冲抵金额\", \"fieldName\": \"setoff\"},{\"title\": \"优惠金额\", \"fieldName\": \"youhui\"},{\"title\": \"实收金额\", \"fieldName\": \"receive\"}], \"fieldName\": \"billList\", \"tableHtml\": \"\"}"; + JSONObject dataJson = JSON.parseObject(s); + System.out.println(dataJson); + } + public static Object parseComponent(WxFinancePrintData data) { JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); if("braid-txt".equals(data.getPrintDataType())) { diff --git a/mallinkService/src/main/java/com/iformall/print/data/PrintFinanceReceiveDataHandler.java b/mallinkService/src/main/java/com/iformall/print/data/PrintFinanceReceiveDataHandler.java index 1635e8bb2..8bb542c57 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/PrintFinanceReceiveDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/PrintFinanceReceiveDataHandler.java @@ -1,10 +1,13 @@ package com.iformall.print.data; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import org.springframework.stereotype.Service; import com.alibaba.fastjson.JSONObject; +import com.iformall.domain.po.WxAllBill; import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.WxMerchant; @@ -20,7 +23,7 @@ import com.iformall.utils.DateUtils; @Service public class PrintFinanceReceiveDataHandler { - public Object getObjectValue(String name, Object o,Map merchantMap,Map feesMap,Map shopNumber) { + public Object getObjectValue(String name, Object o,Map merchantMap,Map feesMap,Map shopNumber,List billList) { WxFinanceReceive receive = (WxFinanceReceive) o; if (name.equals("id")) { return receive.getId(); @@ -56,10 +59,10 @@ public class PrintFinanceReceiveDataHandler { } return ""; }else if (name.equals("billList")) { - if (null != shopNumber) { - return shopNumber.get(receive.getMerchantId()); + if (null == billList) { + return new ArrayList(); } - return ""; + return billList; } return null; } diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index 392bf8e7d..6237c6125 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -9,6 +9,7 @@ import com.iformall.domain.po.WxAllBill; import com.iformall.domain.po.WxBillPayWay; import com.iformall.domain.po.WxFinanceFinish; import com.iformall.domain.po.WxFinanceReceive; +import com.iformall.domain.po.WxFinanceReceiveBill; import com.iformall.domain.po.WxFinanceReceiveSetoff; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.FinanceBillSetoffSum; @@ -34,6 +35,7 @@ public interface WxFinanceService { WxFinanceReceive getReceiveById(TenantEntity tenantEntity,Long id); void invalidReceive(WxFinanceReceive record,MallUserInfo user,String remark); void redSetoffReceive(WxFinanceReceive record,MallUserInfo user); + List getReceiveBillIds(WxFinanceReceiveBill record); //预收款 List calcuetSetOff(FinanceSetOffDTO dto,MallUserInfo user); FinanceBillSetoffSum getBillSetoffSum(WxFinanceReceive record); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java index fc6fb79fa..84c702022 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -17,6 +17,7 @@ import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxFinancePrintData; import com.iformall.domain.po.WxFinancePrintTemplate; import com.iformall.domain.po.WxFinanceReceive; +import com.iformall.domain.po.WxFinanceReceiveBill; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.TenantEntity; @@ -27,6 +28,7 @@ import com.iformall.enums.EnumYesOrNo; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxFinancePrintDataMapper; import com.iformall.mapper.WxFinancePrintTemplateMapper; +import com.iformall.print.PrintComponentHandler; import com.iformall.print.data.PrintBillDataHandler; import com.iformall.print.data.PrintFinanceReceiveDataHandler; import com.iformall.print.data.PrintMerchantSettleDataHandler; @@ -85,7 +87,14 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { @Override public List printDataList(WxFinancePrintData record) { - return wxFinancePrintDataMapper.findList(record); + List list = wxFinancePrintDataMapper.findList(record); + if (null != list) { + for (int i = 0 ; i < list.size() ; i ++) { + WxFinancePrintData pd = list.get(i); + pd.setPrintComponents(PrintComponentHandler.parseComponent(pd)); + } + } + return list; } @Override @@ -205,10 +214,22 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { WxFinanceReceive re = receiveList.get(i); PrintVo vo = new PrintVo(); vo.setDataId(templateId); + + WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); + rb.updateTenantInfo(re); + rb.setReceiveId(re.getId()); + List billIdList = wxFinanceService.getReceiveBillIds(rb); + List billList = null; + if (null != billIdList && billIdList.size() > 0 ) { + WxAllBill billq = new WxAllBill(); + billq.updateTenantInfo(re); + billq.setIds(billIdList); + billList = wxAllBillService.list(billq); + } if (null != items) { for (int j = 0 ; j < items.size() ; j ++) { JSONObject ov = items.getJSONObject(j); - ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); + ov.put("value", printFinanceReceiveDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber,billList)); } } vo.setTemplate(o); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index 23b6c6a8c..59c93128d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -968,7 +968,11 @@ public class WxFinanceServiceImpl implements WxFinanceService { } } - @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) + @Override + public List getReceiveBillIds(WxFinanceReceiveBill record) { + return wxFinanceReceiveBillMapper.findBillIdList(record); + } + @Override public void redSetoffReceive(WxFinanceReceive record, MallUserInfo user) { invalidReceive(record, user , true); diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml index 544b731b9..413ccfd7d 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveBillMapper.xml @@ -68,6 +68,12 @@ + +