From 71a11d44f582dbefbb04d52d31e69844132da068 Mon Sep 17 00:00:00 2001 From: winter Date: Sat, 10 Aug 2024 22:05:44 +0800 Subject: [PATCH] fix --- .../print/data/impl/PrintBillDataHandler.java | 16 +- .../impl/WxFinancePrintServiceImpl.java | 148 ++++++------------ 2 files changed, 62 insertions(+), 102 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/print/data/impl/PrintBillDataHandler.java b/mallinkService/src/main/java/com/iformall/print/data/impl/PrintBillDataHandler.java index 4ba405ebb..e1be4b8dd 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/impl/PrintBillDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/impl/PrintBillDataHandler.java @@ -30,10 +30,12 @@ public class PrintBillDataHandler implements PrintDataParser{ return receive.getPay(); }else if (name.equals("setOff")) { return receive.getSetOff(); + }else if (name.equals("returnPay")) { + return receive.getReturnPay(); }else if (name.equals("starttime")) { - return DateUtils.date2String(receive.getStarttime()); + return DateUtils.date2String(receive.getStarttime(),DateUtils.DATE_PATTERN); }else if (name.equals("endtime")) { - return DateUtils.date2String(receive.getEndtime()); + return DateUtils.date2String(receive.getEndtime(),DateUtils.DATE_PATTERN); }else if (name.equals("owe")) { return receive.getOwe(); }else if (name.equals("statusName")) { @@ -46,7 +48,7 @@ public class PrintBillDataHandler implements PrintDataParser{ } } return ""; - }else if (name.equals("energyFeesName")) { + }else if (name.equals("feesName")) { if (null != feesMap) { WxEnergyFees f = feesMap.get(receive.getEnergyFeesId()); if (null != f) { @@ -54,10 +56,14 @@ public class PrintBillDataHandler implements PrintDataParser{ } } return ""; - }else if (name.equals("returnPay")) { - return receive.getReturnPay(); }else if (name.equals("billRemark")) { return receive.getBillRemark(); + }else if (name.equals("shopNumber")) { + if (null != shopNumber) { + String m = shopNumber.get(receive.getMerchantId()); + return m; + } + return ""; } return null; } 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 f602a248c..9e7950890 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -192,8 +192,10 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { return isSetDefaultValue; } - private void handleComponentData(JSONArray items,PrintDataParser objectParser,Object object,PrintDataParser listParser,List listdata,Object... params) { + private PrintVo handleComponentData(Long templateId,JSONObject templateContent,JSONArray items,PrintDataParser objectParser,Object object,PrintDataParser listParser,List listdata,Object... params) { if (null != items) { + PrintVo vo = new PrintVo(); + vo.setDataId(templateId); for (int j = 0 ; j < items.size() ; j ++) { JSONObject ov = items.getJSONObject(j); //是否是定制化的表格 @@ -205,7 +207,6 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { String componentContent = ov.getString("value"); if (null != listdata) { ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, objectParser,object,listParser,listdata,params)); - ov.put("value", ""); } }else { String fieldName = ov.getString("name"); @@ -214,14 +215,16 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { }else { if (isSetDefaultValue) { ov.put("defaultValue", objectParser.getObjectValue(fieldName,object,params)); - ov.put("value", ""); }else { ov.put("value", objectParser.getObjectValue(fieldName,object,params)); } } } } + vo.setTemplate(templateContent); + return vo; } + return null; } @Override @@ -258,9 +261,6 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { List voList = new ArrayList(); for (int i = 0 ; i < receiveList.size(); i ++) { WxFinanceReceive re = receiveList.get(i); - PrintVo vo = new PrintVo(); - vo.setDataId(templateId); - WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); rb.updateTenantInfo(re); rb.setReceiveId(re.getId()); @@ -272,9 +272,10 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { billq.setIds(billIdList); billList = wxAllBillService.list(billq); } - handleComponentData(items, printFinanceReceiveDataHandler,re,printBillDataHandler, billList,merchantMap,feesMap,feesMap); - vo.setTemplate(o); - voList.add(vo); + PrintVo vo = handleComponentData(templateId,o,items, printFinanceReceiveDataHandler,re,printBillDataHandler, billList,merchantMap,feesMap,feesMap); + if (null != vo) { + voList.add(vo); + } } return voList; }else if (printDatatype.getCode().intValue() == EnumFinancePrintDataType.BILL.getCode()) { @@ -288,34 +289,10 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { List voList = new ArrayList(); for (int i = 0 ; i < billAllList.size(); i ++) { WxAllBill re = billAllList.get(i); - PrintVo vo = new PrintVo(); - vo.setDataId(templateId); - if (null != items) { - for (int j = 0 ; j < items.size() ; j ++) { - JSONObject ov = items.getJSONObject(j); - //是否是定制化的表格 - Integer isCustomedTable = ov.getInteger("isFmCustomizedTable"); - - boolean isSetDefaultValue = isSetDefaultValue(ov); - if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) { - //表格解析 - String componentContent = ov.getString("value"); - //if (null != billList) { - // printCustomedTableDataHandler.getTableContent(componentContent, JSON.parseArray(JSON.toJSONString(billList))); - //} - }else { - if (isSetDefaultValue) { - ov.put("defaultValue", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); - ov.put("value", ""); - }else { - ov.put("value", printBillDataHandler.getObjectValue(ov.getString("name"),re,merchantMap,feesMap,shopNumber)); - } - } - - } - } - vo.setTemplate(o); - voList.add(vo); + PrintVo vo = handleComponentData(templateId,o,items, printBillDataHandler,re,null, null,merchantMap,feesMap,feesMap); + if (null != vo) { + voList.add(vo); + } } return voList; }else if (printDatatype.getCode().intValue() == EnumFinancePrintDataType.RENT_OWE.getCode()) { @@ -324,66 +301,43 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { List feesId = dataIds; List voList = new ArrayList(); - PrintVo vo = new PrintVo(); - vo.setDataId(templateId); - if (null != items) { - for (int j = 0 ; j < items.size() ; j ++) { - JSONObject ov = items.getJSONObject(j); - //是否是定制化的表格 - Integer isCustomedTable = ov.getInteger("isFmCustomizedTable"); - boolean isSetDefaultValue = isSetDefaultValue(ov); - if (null != isCustomedTable && EnumYesOrNo.YES.getCode().intValue() == isCustomedTable.intValue()) { - //表格解析 - List sumlist = new ArrayList(); - BigDecimal receiveTotal = new BigDecimal(0); - BigDecimal payTotal = new BigDecimal(0); - BigDecimal oweTotal = new BigDecimal(0); - for (int k = 0 ; k< bq.getBillSumList().size() ; k++) { - WxBillSum billSum = bq.getBillSumList().get(k); - if (feesId.contains(billSum.getEnergyFeesId())) { - WxEnergyFees fee = feesMap.get(billSum.getEnergyFeesId()); - billSum.setTaxRate(fee.getTaxRate()); - sumlist.add(billSum); - receiveTotal = receiveTotal.add(billSum.getNeedPayNumber()); - payTotal = payTotal.add(billSum.getPaidNumber()); - oweTotal = oweTotal.add(billSum.getOweNumber()); - - } - } - WxBillSum heji = new WxBillSum(); - heji.setBillName("合计"); - heji.setNeedPay(receiveTotal.toPlainString()); - sumlist.add(heji); - - WxBillSum yishou = new WxBillSum(); - yishou.setBillName("已收"); - yishou.setNeedPay(payTotal.toPlainString()); - sumlist.add(yishou); - - WxBillSum owe = new WxBillSum(); - owe.setBillName("本期应收"); - owe.setNeedPay(payTotal.toPlainString()); - sumlist.add(owe); - - String componentContent = ov.getString("value"); - if (null != sumlist && sumlist.size() > 0 ) { - ov.put("defaultValue",printCustomedTableDataHandler.getTableContent(componentContent, printMerchantSettleDataHandler,bq, - printMerchantSettleDataHandler,sumlist,merchantMap,feesMap,shopNumber)); - ov.put("value", ""); - } - }else { - if (isSetDefaultValue) { - ov.put("defaultValue", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap,shopNumber)); - ov.put("value", ""); - }else { - ov.put("value", printMerchantSettleDataHandler.getObjectValue(ov.getString("name"),bq,merchantMap,feesMap,shopNumber)); - } - } - - } - } - vo.setTemplate(o); - voList.add(vo); + List sumlist = new ArrayList(); + BigDecimal receiveTotal = new BigDecimal(0); + BigDecimal payTotal = new BigDecimal(0); + BigDecimal oweTotal = new BigDecimal(0); + for (int k = 0 ; k< bq.getBillSumList().size() ; k++) { + WxBillSum billSum = bq.getBillSumList().get(k); + if (feesId.contains(billSum.getEnergyFeesId())) { + WxEnergyFees fee = feesMap.get(billSum.getEnergyFeesId()); + billSum.setTaxRate(fee.getTaxRate()); + sumlist.add(billSum); + receiveTotal = receiveTotal.add(billSum.getNeedPayNumber()); + payTotal = payTotal.add(billSum.getPaidNumber()); + oweTotal = oweTotal.add(billSum.getOweNumber()); + + } + } + WxBillSum heji = new WxBillSum(); + heji.setBillName("合计"); + heji.setNeedPay(receiveTotal.toPlainString()); + sumlist.add(heji); + + WxBillSum yishou = new WxBillSum(); + yishou.setBillName("已收"); + yishou.setNeedPay(payTotal.toPlainString()); + sumlist.add(yishou); + + WxBillSum owe = new WxBillSum(); + owe.setBillName("本期应收"); + owe.setNeedPay(payTotal.toPlainString()); + sumlist.add(owe); + + PrintVo vo = handleComponentData(templateId,o,items, printMerchantSettleDataHandler,bq,printMerchantSettleDataHandler, sumlist,merchantMap,feesMap,feesMap); + if (null != vo) { + voList.add(vo); + } + + return voList; } return null;