diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java index c05c6273b..75dbff774 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java @@ -148,7 +148,7 @@ public class WxFinancePrintController extends BaseController { @PostMapping("confirmPrint") @TenantIgnore public ResultData confirmPrint(@RequestBody WxFinancePrintTemplate record) { - if (StringUtils.isBlank(record.getTenantId())||null == record.getDataId()) { + if (StringUtils.isBlank(record.getTenantId())||null == record.getDataIds() || record.getDataIds().size() <= 0 ) { return new ResultData(Result.ERROR,"参数不对"); } wxFinancePrintService.confirmPrint(record); diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintTemplate.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintTemplate.java index 4f354f0cc..7bc59b1bc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintTemplate.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintTemplate.java @@ -59,7 +59,5 @@ public class WxFinancePrintTemplate extends TenantEntity { private List tempItems; @TableField(exist = false) private List dataIds; - @TableField(exist = false) - private Long dataId; } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java index 2be653253..5668d9061 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceive.java @@ -69,6 +69,16 @@ public class WxFinanceReceive extends TenantEntity { return new BigDecimal(receiveMoney).subtract(new BigDecimal(useMoney)).toPlainString(); } + public String getAllReceiveMoney() { + if (StringUtils.isBlank(receiveMoney)) { + receiveMoney = "0"; + } + if (StringUtils.isBlank(setOffMoney)) { + setOffMoney = "0"; + } + return new BigDecimal(receiveMoney).add(new BigDecimal(setOffMoney)).toPlainString(); + } + @io.swagger.annotations.ApiModelProperty(value = "状态EnumFinanceReceiveStatus", name = "status") private Integer status; @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java b/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java index 292c72b22..9c5796568 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java @@ -54,10 +54,12 @@ public class PrintCustomedTableDataHandler{ } String trclass = titleTr.attr("class"); String trstyle = titleTr.attr("style"); + Element currentIndexElement = titleTr; for (int i = 0 ; i < listdata.size(); i ++) { Object object = listdata.get(i); JSONObject o = JSON.parseObject(JSON.toJSONString(object)); Element tr = titleTr.parent().appendElement("tr"); + tr.after(currentIndexElement); if (StringUtils.isNotBlank(trclass)) { tr.attr("class", trclass); } @@ -114,6 +116,7 @@ public class PrintCustomedTableDataHandler{ tre.appendText(tdcontent.toString()); } } + currentIndexElement = tr; } return doc.head().html() + doc.body().html(); } diff --git a/mallinkService/src/main/java/com/iformall/print/data/impl/PrintFinanceReceiveDataHandler.java b/mallinkService/src/main/java/com/iformall/print/data/impl/PrintFinanceReceiveDataHandler.java index 3573fdd10..af34c83ea 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/impl/PrintFinanceReceiveDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/impl/PrintFinanceReceiveDataHandler.java @@ -1,5 +1,6 @@ package com.iformall.print.data.impl; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -7,12 +8,14 @@ import java.util.Map; import org.springframework.stereotype.Service; import com.alibaba.fastjson.JSONObject; +import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.iformall.domain.po.WxAllBill; import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.WxMerchant; import com.iformall.print.data.PrintDataParser; import com.iformall.utils.DateUtils; +import com.iformall.utils.PriceUtilV2; /** * 财务数据解析 @@ -36,10 +39,29 @@ public class PrintFinanceReceiveDataHandler implements PrintDataParser{ return DateUtils.date2String(receive.getCreateTime()); }else if (name.equals("receiveMoney")) { return receive.getReceiveMoney(); + }else if (name.equals("receiveMoneyChinese")) { + if (StringUtils.isNotBlank(receive.getReceiveMoney())) { + return PriceUtilV2.number2CNMontrayUnit(new BigDecimal(receive.getReceiveMoney())); + } + return ""; }else if (name.equals("payMoney")) { return receive.getPayMoney(); + }else if (name.equals("payMoneyChinese")) { + if (StringUtils.isNotBlank(receive.getPayMoney())) { + return PriceUtilV2.number2CNMontrayUnit(new BigDecimal(receive.getPayMoney())); + } + return ""; }else if (name.equals("setOffMoney")) { return receive.getSetOffMoney(); + }else if (name.equals("setOffMoneyChinese")) { + if (StringUtils.isNotBlank(receive.getSetOffMoney())) { + return PriceUtilV2.number2CNMontrayUnit(new BigDecimal(receive.getSetOffMoney())); + } + return ""; + }else if (name.equals("allReceiveMoney")) { + return receive.getAllReceiveMoney(); + }else if (name.equals("allReceiveMoneyChinese")) { + return PriceUtilV2.number2CNMontrayUnit(new BigDecimal(receive.getAllReceiveMoney())); }else if (name.equals("useMoney")) { return receive.getUseMoney(); }else if (name.equals("receiveTypeName")) { 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 a52ed032b..5a7f3162d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -278,36 +278,6 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { 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); @@ -382,9 +352,12 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { @Override public void confirmPrint(WxFinancePrintTemplate record) { if (record.getType().intValue() == EnumFinancePrintDataType.FINANCE_RECEIVE.getCode()) { - WxFinanceReceive receive = wxFinanceService.getReceiveById(record, record.getDataId()); - if (null != receive) { - wxFinanceService.updateReceivePrint(receive); + for (int i = 0 ; i < record.getDataIds().size() ; i ++) { + Long dataId = record.getDataIds().get(i); + WxFinanceReceive receive = wxFinanceService.getReceiveById(record, dataId); + if (null != receive) { + wxFinanceService.updateReceivePrint(receive); + } } }else if (record.getType().intValue() == EnumFinancePrintDataType.BILL.getCode()) {