|
|
|
@@ -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<PrintVo> voList = new ArrayList<PrintVo>(); |
|
|
|
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<PrintVo> voList = new ArrayList<PrintVo>(); |
|
|
|
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<Long> feesId = dataIds; |
|
|
|
List<PrintVo> voList = new ArrayList<PrintVo>(); |
|
|
|
|
|
|
|
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<WxBillSum> sumlist = new ArrayList<WxBillSum>(); |
|
|
|
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<WxBillSum> sumlist = new ArrayList<WxBillSum>(); |
|
|
|
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; |
|
|
|
|