From 00acaef5c6fbbfeae1de9d8b5cd3132d4e3e36f1 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 19:58:14 +0800 Subject: [PATCH] fix --- .../com/iformall/domain/po/WxAllBill.java | 4 +- .../impl/WxFinancePrintServiceImpl.java | 40 ++++++++++++++++++- .../service/impl/WxFinanceServiceImpl.java | 5 ++- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java index f148d2418..8b2cf81ff 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java @@ -110,7 +110,7 @@ public class WxAllBill extends TenantEntity { private String starttimeStr; public String getStarttimeStr() { if (null != starttime) { - starttimeStr = DateUtils.date2String(starttime); + starttimeStr = DateUtils.date2String(starttime,DateUtils.DATE_PATTERN); } return starttimeStr; } @@ -128,7 +128,7 @@ public class WxAllBill extends TenantEntity { private String endtimeStr; public String getEndtimeStr() { if (null != endtime) { - endtimeStr = DateUtils.date2String(endtime); + endtimeStr = DateUtils.date2String(endtime,DateUtils.DATE_PATTERN); } return endtimeStr; } 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 b06e08917..cc49f0fe9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -40,6 +40,7 @@ import com.iformall.service.WxFinancePrintService; import com.iformall.service.WxFinanceService; import com.iformall.service.WxMerchantService; import com.iformall.service.WxShopService; +import com.iformall.utils.PriceUtilV2; import java.math.BigDecimal; import java.util.ArrayList; @@ -213,10 +214,14 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { if (StringUtils.isBlank(fieldName)) { }else { + Object or = objectParser.getObjectValue(fieldName,object,params); + if (null == or) { + or = ""; + } if (isSetDefaultValue) { - ov.put("defaultValue", objectParser.getObjectValue(fieldName,object,params)); + ov.put("defaultValue", or); }else { - ov.put("value", objectParser.getObjectValue(fieldName,object,params)); + ov.put("value", or); } } } @@ -272,6 +277,37 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { billq.setIds(billIdList); billList = wxAllBillService.list(billq); } + + if (null != billList) { + BigDecimal receivePayTotal = new BigDecimal(0); + BigDecimal setoffTotal = new BigDecimal(0); + BigDecimal payTotal = new BigDecimal(0); + BigDecimal returnTotal = new BigDecimal(0); + for (int j = 0 ; j < billList.size() ; j++) { + WxAllBill ab = billList.get(j); + if (StringUtils.isNotBlank(ab.getReceivePay())) { + receivePayTotal = receivePayTotal.add(new BigDecimal(ab.getReceivePay())); + } + if (StringUtils.isNotBlank(ab.getSetOff())) { + setoffTotal = setoffTotal.add(new BigDecimal(ab.getSetOff())); + } + if (StringUtils.isNotBlank(ab.getPay())) { + payTotal = payTotal.add(new BigDecimal(ab.getPay())); + } + if (StringUtils.isNotBlank(ab.getReturnPay())) { + returnTotal = returnTotal.add(new BigDecimal(ab.getReturnPay())); + } + } + //合计 + WxAllBill totalab = new WxAllBill(); + totalab.setShopNumber("合计"); + totalab.setReceivePay(receivePayTotal.toPlainString()); + totalab.setSetOff(setoffTotal.toPlainString()); + totalab.setPay(payTotal.toPlainString()); + totalab.setReturnPay(returnTotal.toPlainString()); + totalab.setEnergyFeesName(PriceUtilV2.number2CNMontrayUnit(receivePayTotal)); + billList.add(totalab); + } PrintVo vo = handleComponentData(templateId,o,items, printFinanceReceiveDataHandler,re,printBillDataHandler, billList,merchantMap,feesMap,shopNumber); if (null != vo) { voList.add(vo); 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 3a678dc93..fb05e87a8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -858,8 +858,9 @@ public class WxFinanceServiceImpl implements WxFinanceService { BigDecimal oweDecimal = new BigDecimal(bill.getOwe()); //只有没有有欠款才会支付 if (oweDecimal.compareTo(b0) > 0 ) { - noNeedCreate = true; - return noNeedCreate; + throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"账单有欠缴,不能付款."); + //noNeedCreate = true; + //return noNeedCreate; } if (calcuteDto.getTotalRemainPay().add(oweDecimal).compareTo(b0) > 0 ) { money = oweDecimal.multiply(new BigDecimal(-1)).toPlainString();