From ce70b0634629f7658cb01c3306dc50dab37962b5 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 17:21:14 +0800 Subject: [PATCH 01/13] fix --- .../java/com/iformall/domain/po/WxFinanceReceiveSetoff.java | 5 ++++- .../java/com/iformall/service/impl/WxFinanceServiceImpl.java | 3 ++- .../main/resources/mapper/WxFinanceReceiveSetoffMapper.xml | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveSetoff.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveSetoff.java index 78d4690e5..3137746a1 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveSetoff.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinanceReceiveSetoff.java @@ -28,7 +28,10 @@ public class WxFinanceReceiveSetoff extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="updateTime",name="updateTime") private Date updateTime; - @io.swagger.annotations.ApiModelProperty(value = "预收收款编号", name = "advanceId") + @io.swagger.annotations.ApiModelProperty(value = "收款单编号", name = "advanceId") + private Long receiveId; + + @io.swagger.annotations.ApiModelProperty(value = "收收款编号", name = "advanceId") private Long advanceId; @io.swagger.annotations.ApiModelProperty(value = "账单编号", name = "billId") 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 7e9191c52..25c1ae5c2 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -745,6 +745,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { WxFinanceReceiveSetoff rb = new WxFinanceReceiveSetoff(); rb.updateTenantInfo(addreceive); rb.setAdvanceId(advance.getId()); + rb.setReceiveId(addreceive.getId()); rb.setBillId(bill.getId()); rb.setBillType(bill.getBillType()); rb.setFeesId(bill.getEnergyFeesId()); @@ -990,7 +991,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { rsq.updateTenantInfo(record); rsq.setBillId(bill.getId()); rsq.setBillType(bill.getBillType()); - rsq.setAdvanceId(rb.getReceiveId()); + rsq.setReceiveId(rb.getReceiveId()); List setoffList = wxFinanceReceiveSetoffMapper.findList(rsq); if (null != setoffList) { for (int j = 0 ; j < setoffList.size() ; j ++) { diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveSetoffMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveSetoffMapper.xml index c2bc68dde..80749b468 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveSetoffMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveSetoffMapper.xml @@ -7,6 +7,7 @@ + @@ -20,7 +21,7 @@ `id`,`tenant_id`,`parent_tenant_id`,`create_time`,`update_time`,`bill_id`,`bill_type`,`fees_id`, - `advance_id`,`setoff`,`merchant_id`,`starttime`,`endtime`,`is_del` + `receive_id`,`advance_id`,`setoff`,`merchant_id`,`starttime`,`endtime`,`is_del` @@ -33,6 +34,7 @@ and `parent_tenant_id` = #{parentTenantId} and `bill_id` = #{billId} + and `receive_id` = #{receiveId} and `bill_type` = #{billType} and `fees_id` = #{feesId} and `advance_id` = #{advanceId} From 60e1c72907722de1d1cf61bfc7d075190668bb51 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 18:29:39 +0800 Subject: [PATCH 02/13] fix --- .../market/WxFinanceController.java | 15 ++- .../domain/vo/WxFinanceReceiveVo.java | 1 + .../iformall/service/WxFinanceService.java | 1 + .../service/impl/WxFinanceServiceImpl.java | 126 ++++++++++++------ 4 files changed, 103 insertions(+), 40 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java index a2fbc97ba..4e602d97b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -277,13 +277,26 @@ public class WxFinanceController extends BaseController { return new ResultData(list); } - @ApiOperation("收款记录列表") + @ApiOperation("收款记录列表(收款列表页面,有子账单)") @GetMapping("receiveList") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), }) public ResultData receiveList(@ModelAttribute WxFinanceReceive record, Integer pageNum, Integer pageSize) { + record.updateTenantInfo(getTenantInfo()); + record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); + PageInfo page = wxFinanceService.receiveVoListWithBillsAsPage(record, pageNum, pageSize); + return new ResultData(page); + } + + @ApiOperation("收款记录列表") + @GetMapping("onlyReceiveList") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), + }) + public ResultData onlyReceiveList(@ModelAttribute WxFinanceReceive record, Integer pageNum, Integer pageSize) { record.updateTenantInfo(getTenantInfo()); record.setSortColumns(BaseEntity.SortField.CreateTime_DESC); PageInfo page = wxFinanceService.receiveVoListAsPage(record, pageNum, pageSize); diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java index 1840b277d..291d5e4c4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java @@ -168,6 +168,7 @@ public class WxFinanceReceiveVo implements Serializable { this.remark = receive.getRemark(); this.isPrint = receive.getIsPrint(); this.isFinish = receive.getIsFinish(); + this.merchantName = receive.getMerchantName(); if (null != receiveBill) { this.rid = receiveBill.getId(); this.receiveId = receiveBill.getReceiveId(); diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index b7c372d12..be615a6d2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -28,6 +28,7 @@ public interface WxFinanceService { void payWayInit(TenantEntity tenantInfo); //收付款 + PageInfo receiveVoListWithBillsAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); List findReceiveList(WxFinanceReceive record); Map createReceive(WxFinanceReceive record,MallUserInfo user); 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 25c1ae5c2..0e0edfdf6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -425,8 +425,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { } } - @Override - public PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize) { + private PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize,boolean hasBills) { initQueryParam(record); PageInfo page = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFinanceReceiveMapper.findList(record)); PageInfo pageVo = new PageInfo(); @@ -458,44 +457,50 @@ public class WxFinanceServiceImpl implements WxFinanceService { } } - //查询关联的账单记录 - WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); - rb.updateTenantInfo(record); - rb.setReceiveId(fr.getId()); - List bills = wxFinanceReceiveBillMapper.findList(rb); - if (null != bills && bills.size() > 0 ) { - for (int j = 0 ; j < bills.size(); j ++) { - WxFinanceReceiveBill frb = bills.get(j); - WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); - vo.initByReceive(fr, frb); - if (null != paywayMap && null != frb.getPayWay()) { - WxBillPayWay p = paywayMap.get(vo.getPayWay()); - if (null != p) { - vo.setPayWayName(p.getName()); - } - } - if (null != shopNumberMap && null != frb.getMerchantId()) { - String shopNumber = shopNumberMap.get(vo.getMerchantId()); - vo.setShopNumber(shopNumber); - if (null != merchantMap) { - WxMerchant merchant = merchantMap.get(vo.getMerchantId()); - if (null != merchant) { - vo.setMerchantName(merchant.getName()); - } - } - } - if (null != fmap && null != vo.getFeesId()) { - WxEnergyFees ef = fmap.get(vo.getFeesId()); - if (null != ef) { - vo.setFeesName(ef.getName()); - } - } - volist.add(vo); - } - }else { + if (!hasBills) { WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); vo.initByReceive(fr, null); volist.add(vo); + }else { + //查询关联的账单记录 + WxFinanceReceiveBill rb = new WxFinanceReceiveBill(); + rb.updateTenantInfo(record); + rb.setReceiveId(fr.getId()); + List bills = wxFinanceReceiveBillMapper.findList(rb); + if (null != bills && bills.size() > 0 ) { + for (int j = 0 ; j < bills.size(); j ++) { + WxFinanceReceiveBill frb = bills.get(j); + WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); + vo.initByReceive(fr, frb); + if (null != paywayMap && null != frb.getPayWay()) { + WxBillPayWay p = paywayMap.get(vo.getPayWay()); + if (null != p) { + vo.setPayWayName(p.getName()); + } + } + if (null != shopNumberMap && null != frb.getMerchantId()) { + String shopNumber = shopNumberMap.get(vo.getMerchantId()); + vo.setShopNumber(shopNumber); + if (null != merchantMap) { + WxMerchant merchant = merchantMap.get(vo.getMerchantId()); + if (null != merchant) { + vo.setMerchantName(merchant.getName()); + } + } + } + if (null != fmap && null != vo.getFeesId()) { + WxEnergyFees ef = fmap.get(vo.getFeesId()); + if (null != ef) { + vo.setFeesName(ef.getName()); + } + } + volist.add(vo); + } + }else { + WxFinanceReceiveVo vo = new WxFinanceReceiveVo(); + vo.initByReceive(fr, null); + volist.add(vo); + } } } pageVo.setList(volist); @@ -504,6 +509,16 @@ public class WxFinanceServiceImpl implements WxFinanceService { return pageVo; } + @Override + public PageInfo receiveVoListWithBillsAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize) { + return receiveVoListAsPage(record, pageIndex, pageSize, true); + } + + @Override + public PageInfo receiveVoListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize) { + return receiveVoListAsPage(record, pageIndex, pageSize, false); + } + @Override public List findReceiveList(WxFinanceReceive record) { initQueryParam(record); @@ -1039,13 +1054,46 @@ public class WxFinanceServiceImpl implements WxFinanceService { @Override public void redSetoffReceive(WxFinanceReceive record, MallUserInfo user) { invalidReceive(record, user , true); + copyRedSetOffReceive(record); + } + + private void copyRedSetOffReceive(WxFinanceReceive record) { //新增一个红冲,金额是负数 final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); - record.setReceiveMoney("-"+record.getReceiveMoney()); - record.setSetOffMoney("-"+record.getSetOffMoney()); + if (StringUtils.isNotBlank(record.getReceiveMoney())) { + record.setReceiveMoney("-"+record.getReceiveMoney()); + } + if (StringUtils.isNotBlank(record.getSetOffMoney())) { + record.setSetOffMoney("-"+record.getSetOffMoney()); + } + if (StringUtils.isNotBlank(record.getPayMoney())) { + record.setPayMoney("-"+record.getPayMoney()); + } + if (StringUtils.isNotBlank(record.getUseMoney())) { + record.setUseMoney("-"+record.getUseMoney()); + } record.setStatus(EnumFinanceReceiveStatus.RED_SETOFF.getCode()); wxFinanceReceiveMapper.insert(record); + + WxFinanceReceiveBill rbq = new WxFinanceReceiveBill(); + rbq.updateTenantInfo(record); + rbq.setReceiveId(record.getId()); + rbq.setUpdateTime(new Date()); + List rbList = wxFinanceReceiveBillMapper.findList(rbq); + if (null != rbList ) { + for (int i = 0 ; i < rbList.size() ; i++ ) { + WxFinanceReceiveBill rb = rbList.get(i); + rb.setId(idWorker.nextId()); + if (StringUtils.isNotBlank(rb.getReceive())) { + rb.setReceive("-"+rb.getReceive()); + } + if (StringUtils.isNotBlank(rb.getPay())) { + rb.setPay("-"+rb.getPay()); + } + wxFinanceReceiveBillMapper.insert(rb); + } + } } @Override From 394054f73f147774603a6d4fc231500ed7e86f83 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 18:38:40 +0800 Subject: [PATCH 03/13] fix --- .../java/com/iformall/service/impl/WxFinanceServiceImpl.java | 1 + 1 file changed, 1 insertion(+) 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 0e0edfdf6..560f57581 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -1091,6 +1091,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { if (StringUtils.isNotBlank(rb.getPay())) { rb.setPay("-"+rb.getPay()); } + rb.setReceiveId(record.getId()); wxFinanceReceiveBillMapper.insert(rb); } } From 99a1c2c9ae617bf9c80a2909e5b1bd2083ac3f33 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 18:50:06 +0800 Subject: [PATCH 04/13] fix --- .../java/com/iformall/service/impl/WxFinanceServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 560f57581..3a678dc93 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -1058,6 +1058,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { } private void copyRedSetOffReceive(WxFinanceReceive record) { + Long oldRecordId = record.getId(); //新增一个红冲,金额是负数 final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); @@ -1078,7 +1079,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { WxFinanceReceiveBill rbq = new WxFinanceReceiveBill(); rbq.updateTenantInfo(record); - rbq.setReceiveId(record.getId()); + rbq.setReceiveId(oldRecordId); rbq.setUpdateTime(new Date()); List rbList = wxFinanceReceiveBillMapper.findList(rbq); if (null != rbList ) { From 00acaef5c6fbbfeae1de9d8b5cd3132d4e3e36f1 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 19:58:14 +0800 Subject: [PATCH 05/13] 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(); From 71c08813e392118d92255e4218bf45ac36c398a8 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 20:30:06 +0800 Subject: [PATCH 06/13] fix --- .../print/data/impl/PrintBillDataHandler.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 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 e1be4b8dd..17699675a 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 @@ -23,7 +23,10 @@ public class PrintBillDataHandler implements PrintDataParser{ if (name.equals("id")) { return receive.getId(); }else if (name.equals("createtime")) { - return DateUtils.date2String(receive.getCreatetime()); + if (null != receive.getCreatetime()) { + return DateUtils.date2String(receive.getCreatetime()); + } + return ""; }else if (name.equals("receivePay")) { return receive.getReceivePay(); }else if (name.equals("pay")) { @@ -33,15 +36,21 @@ public class PrintBillDataHandler implements PrintDataParser{ }else if (name.equals("returnPay")) { return receive.getReturnPay(); }else if (name.equals("starttime")) { - return DateUtils.date2String(receive.getStarttime(),DateUtils.DATE_PATTERN); + if (null != receive.getStarttime()) { + return DateUtils.date2String(receive.getStarttime(),DateUtils.DATE_PATTERN); + } + return ""; }else if (name.equals("endtime")) { - return DateUtils.date2String(receive.getEndtime(),DateUtils.DATE_PATTERN); + if (null != receive.getEndtime()) { + return DateUtils.date2String(receive.getEndtime(),DateUtils.DATE_PATTERN); + } + return ""; }else if (name.equals("owe")) { return receive.getOwe(); }else if (name.equals("statusName")) { return receive.getStatusName(); }else if (name.equals("merchantName")) { - if (null != merchantMap) { + if (null != merchantMap && null != receive.getMerchantId()) { WxMerchant m = merchantMap.get(receive.getMerchantId()); if (null != m) { return m.getName(); @@ -49,7 +58,7 @@ public class PrintBillDataHandler implements PrintDataParser{ } return ""; }else if (name.equals("feesName")) { - if (null != feesMap) { + if (null != feesMap && null != receive.getEnergyFeesId()) { WxEnergyFees f = feesMap.get(receive.getEnergyFeesId()); if (null != f) { return f.getName(); @@ -59,7 +68,7 @@ public class PrintBillDataHandler implements PrintDataParser{ }else if (name.equals("billRemark")) { return receive.getBillRemark(); }else if (name.equals("shopNumber")) { - if (null != shopNumber) { + if (null != shopNumber && null != receive.getMerchantId()) { String m = shopNumber.get(receive.getMerchantId()); return m; } From 60ee0f8b51ef91b395c6f26758d764f8a3582e87 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 20:47:46 +0800 Subject: [PATCH 07/13] fix --- .../com/iformall/print/data/impl/PrintBillDataHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 17699675a..7a390dde9 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 @@ -4,6 +4,7 @@ import java.util.Map; import org.springframework.stereotype.Service; +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.WxMerchant; @@ -58,6 +59,9 @@ public class PrintBillDataHandler implements PrintDataParser{ } return ""; }else if (name.equals("feesName")) { + if (StringUtils.isNotBlank(receive.getEnergyFeesName())) { + return receive.getEnergyFeesName(); + } if (null != feesMap && null != receive.getEnergyFeesId()) { WxEnergyFees f = feesMap.get(receive.getEnergyFeesId()); if (null != f) { @@ -68,6 +72,9 @@ public class PrintBillDataHandler implements PrintDataParser{ }else if (name.equals("billRemark")) { return receive.getBillRemark(); }else if (name.equals("shopNumber")) { + if (StringUtils.isNotBlank(receive.getShopNumber())) { + return receive.getShopNumber(); + } if (null != shopNumber && null != receive.getMerchantId()) { String m = shopNumber.get(receive.getMerchantId()); return m; From 405d5af03c3be3db97d155e151eca7ecc54a9cf4 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 21:09:45 +0800 Subject: [PATCH 08/13] fix --- .../market/WxFinancePrintController.java | 27 ++++++++++++++----- .../domain/po/WxFinancePrintTemplate.java | 4 ++- .../mapper/WxFinanceReceiveMapper.java | 2 +- .../service/WxFinancePrintService.java | 1 + .../iformall/service/WxFinanceService.java | 1 + .../impl/WxFinancePrintServiceImpl.java | 14 ++++++++++ .../service/impl/WxFinanceServiceImpl.java | 5 ++++ .../mapper/WxFinanceReceiveMapper.xml | 4 +++ 8 files changed, 50 insertions(+), 8 deletions(-) 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 7da74d9cf..c05c6273b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinancePrintController.java @@ -51,12 +51,16 @@ public class WxFinancePrintController extends BaseController { @GetMapping("types") public ResultData types() { List list = new ArrayList(); - for (EnumFinancePrintDataType t : EnumFinancePrintDataType.values()) { - Map m = new HashMap(); - m.put("id", t.getCode()); - m.put("name", t.getMessage()); - list.add(m); - } + Map m = new HashMap(); + m.put("id", EnumFinancePrintDataType.FINANCE_RECEIVE.getCode()); + m.put("name", EnumFinancePrintDataType.FINANCE_RECEIVE.getMessage()); + list.add(m); +// for (EnumFinancePrintDataType t : EnumFinancePrintDataType.values()) { +// Map m = new HashMap(); +// m.put("id", t.getCode()); +// m.put("name", t.getMessage()); +// list.add(m); +// } return new ResultData(list); } @@ -140,6 +144,17 @@ public class WxFinancePrintController extends BaseController { return new ResultData(wxFinancePrintService.parseTemplateData(record.getTenantId(),record.getId(),record.getDataIds(),null)); } + @ApiOperation("确认打印") + @PostMapping("confirmPrint") + @TenantIgnore + public ResultData confirmPrint(@RequestBody WxFinancePrintTemplate record) { + if (StringUtils.isBlank(record.getTenantId())||null == record.getDataId()) { + return new ResultData(Result.ERROR,"参数不对"); + } + wxFinancePrintService.confirmPrint(record); + return new ResultData(); + } + @ApiOperation("") @GetMapping("needUpdate") @TenantIgnore 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 63ff9e873..4f354f0cc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintTemplate.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFinancePrintTemplate.java @@ -58,6 +58,8 @@ public class WxFinancePrintTemplate extends TenantEntity { @TableField(exist = false) private List tempItems; @TableField(exist = false) - List dataIds; + private List dataIds; + @TableField(exist = false) + private Long dataId; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java index 5d592294c..62a5debd0 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java @@ -28,6 +28,6 @@ public interface WxFinanceReceiveMapper extends CommonMapper getReceivePayWaySum(WxFinanceReceive record); - + void updatePrint(WxFinanceReceive record); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinancePrintService.java b/mallinkService/src/main/java/com/iformall/service/WxFinancePrintService.java index 19e2eb1f7..a5b4a2d05 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinancePrintService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinancePrintService.java @@ -17,4 +17,5 @@ public interface WxFinancePrintService { void copy(WxFinancePrintTemplate record); void setTemplatesDel(WxFinancePrintTemplate record); List parseTemplateData(String tenantId,Long templateId,List dataIds,Object entity); + void confirmPrint(WxFinancePrintTemplate record); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index be615a6d2..092175cdc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -37,6 +37,7 @@ public interface WxFinanceService { void invalidReceive(WxFinanceReceive record,MallUserInfo user,String remark); void redSetoffReceive(WxFinanceReceive record,MallUserInfo user); List getReceiveBillIds(WxFinanceReceiveBill record); + void updateReceivePrint(WxFinanceReceive 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 cc49f0fe9..a52ed032b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -379,5 +379,19 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { return null; } + @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); + } + }else if (record.getType().intValue() == EnumFinancePrintDataType.BILL.getCode()) { + + }else if(record.getType().intValue() == EnumFinancePrintDataType.RENT_OWE.getCode()) { + + } + } + } 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 fb05e87a8..b23fba48a 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -1052,6 +1052,11 @@ public class WxFinanceServiceImpl implements WxFinanceService { return wxFinanceReceiveBillMapper.findBillIdList(record); } + @Override + public void updateReceivePrint(WxFinanceReceive record) { + wxFinanceReceiveMapper.updatePrint(record); + } + @Override public void redSetoffReceive(WxFinanceReceive record, MallUserInfo user) { invalidReceive(record, user , true); diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml index 49c7903ec..c902a3ca4 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml @@ -138,6 +138,10 @@ update wx_finance_receive set is_finish = 1 + + + update wx_finance_receive set is_print = 1 where id = #{id} and tenant_id = #{tenantId} + From 6de2ab31ff9f7f0d38a6b55f379f2ae3a000d23b Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 21:22:16 +0800 Subject: [PATCH 09/13] fix --- .../java/com/iformall/print/PrintComponentHandler.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java b/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java index 25da36645..6695af9da 100644 --- a/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/PrintComponentHandler.java @@ -31,8 +31,8 @@ public class PrintComponentHandler implements Serializable { } public static Object parseComponent(WxFinancePrintData data) { - JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); if("braid-txt".equals(data.getPrintDataType())) { + JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); PrintBraidTxt txt = new PrintBraidTxt(); txt.setTitle(data.getName()); txt.setIsEdit(data.getIsEdit()); @@ -41,6 +41,7 @@ public class PrintComponentHandler implements Serializable { txt.setDefaultValue(txt.getTitle()); return txt; }else if ("braid-table".equals(data.getPrintDataType())) { + JSONObject dataJson = JSON.parseObject(data.getPrintDataJson()); PrintBraidTable table = new PrintBraidTable(); table.setTitle(data.getName()); table.setIsEdit(data.getIsEdit()); @@ -78,14 +79,14 @@ public class PrintComponentHandler implements Serializable { PrintHtml html = new PrintHtml(); html.setTitle(data.getName()); html.setIsEdit(data.getIsEdit()); - html.setValue(dataJson.getString("html")); + html.setValue(data.getPrintDataJson()); html.setDefaultValue(data.getDefaultValue()); return html; }else if ("braid-html-table".equals(data.getPrintDataType())) { PrintHtml html = new PrintHtml(); html.setTitle(data.getName()); html.setIsEdit(data.getIsEdit()); - html.setValue(dataJson.getString("html")); + html.setValue(data.getPrintDataJson()); html.setIsFmCustomizedTable(EnumYesOrNo.YES.getCode()); html.setDefaultValue(data.getDefaultValue()); return html; From e10b3ad9ccb275bf01d367af4316cc9fa2e4abcb Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 21:48:36 +0800 Subject: [PATCH 10/13] fix --- .../data/PrintCustomedTableDataHandler.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) 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 d35303b48..292c72b22 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java @@ -1,11 +1,13 @@ package com.iformall.print.data; +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.nodes.Node; +import org.jsoup.nodes.TextNode; import org.springframework.stereotype.Service; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -42,44 +44,41 @@ public class PrintCustomedTableDataHandler{ } Document doc = Jsoup.parse(componentContent); Element titleTr = doc.getElementById("titletr"); - List titleTds = titleTr.childNodes(); + List titleAllTds = titleTr.childNodes(); + List titleTds = new ArrayList();; + for (int i = 0 ; i < titleAllTds.size() ; i ++) { + Node tatn = titleAllTds.get(i); + if (tatn instanceof Element) { + titleTds.add(tatn); + } + } String trclass = titleTr.attr("class"); String trstyle = titleTr.attr("style"); - StringBuffer sb = new StringBuffer(); 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"); - sb.append(""); for (int j = 0 ; j < titleTds.size() ; j ++) { Node td = titleTds.get(j); Element tre = tr.appendElement("td"); String tdclass = td.attr("class"); String tdstyle = td.attr("style"); String tdcolspan = td.attr("colspan"); - sb.append(""); //取什么属性 String fieldName = td.attr("fieldName"); if (StringUtils.isNotBlank(fieldName)) { @@ -114,10 +113,7 @@ public class PrintCustomedTableDataHandler{ } tre.appendText(tdcontent.toString()); } - sb.append(""); } - sb.append(""); - } return doc.head().html() + doc.body().html(); } From b32c18a30969680c5973ff32b17eddc451397352 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 22:15:38 +0800 Subject: [PATCH 11/13] fix --- .../main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java index 291d5e4c4..559d64592 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveVo.java @@ -148,6 +148,9 @@ public class WxFinanceReceiveVo implements Serializable { @io.swagger.annotations.ApiModelProperty(value = "是否已结账完成", name = "isFinish") private Integer isFinish; + + @io.swagger.annotations.ApiModelProperty(value = "支付给商户金额", name = "payMoney") + private String payMoney; public void initByReceive(WxFinanceReceive receive,WxFinanceReceiveBill receiveBill) { @@ -169,6 +172,7 @@ public class WxFinanceReceiveVo implements Serializable { this.isPrint = receive.getIsPrint(); this.isFinish = receive.getIsFinish(); this.merchantName = receive.getMerchantName(); + this.payMoney = receive.getPayMoney(); if (null != receiveBill) { this.rid = receiveBill.getId(); this.receiveId = receiveBill.getReceiveId(); From f6b72191c036b0edae71bc59e00f2f04b0ceb210 Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 23:11:16 +0800 Subject: [PATCH 12/13] fix --- .../market/WxFinancePrintController.java | 2 +- .../domain/po/WxFinancePrintTemplate.java | 2 - .../iformall/domain/po/WxFinanceReceive.java | 10 +++++ .../data/PrintCustomedTableDataHandler.java | 3 ++ .../impl/PrintFinanceReceiveDataHandler.java | 22 +++++++++++ .../impl/WxFinancePrintServiceImpl.java | 39 +++---------------- 6 files changed, 42 insertions(+), 36 deletions(-) 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()) { From 974d911fb7c15befe31fcdeaf399233417d9c0ae Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 13 Aug 2024 23:42:43 +0800 Subject: [PATCH 13/13] fix --- .../data/PrintCustomedTableDataHandler.java | 3 --- .../impl/WxFinancePrintServiceImpl.java | 19 ++++++++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) 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 9c5796568..292c72b22 100644 --- a/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java +++ b/mallinkService/src/main/java/com/iformall/print/data/PrintCustomedTableDataHandler.java @@ -54,12 +54,10 @@ 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); } @@ -116,7 +114,6 @@ 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/service/impl/WxFinancePrintServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java index 5a7f3162d..e0e48dc0f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinancePrintServiceImpl.java @@ -193,10 +193,10 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { return isSetDefaultValue; } - private PrintVo handleComponentData(Long templateId,JSONObject templateContent,JSONArray items,PrintDataParser objectParser,Object object,PrintDataParser listParser,List listdata,Object... params) { + private PrintVo handleComponentData(Long dataId,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); + vo.setDataId(dataId); for (int j = 0 ; j < items.size() ; j ++) { JSONObject ov = items.getJSONObject(j); //是否是定制化的表格 @@ -278,7 +278,16 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { billList = wxAllBillService.list(billq); } - PrintVo vo = handleComponentData(templateId,o,items, printFinanceReceiveDataHandler,re,printBillDataHandler, billList,merchantMap,feesMap,shopNumber); + if (null != billList) { + WxAllBill billq = new WxAllBill(); + billq.setShopNumber("合计"); + billq.setEnergyFeesName(PriceUtilV2.number2CNMontrayUnit(new BigDecimal(re.getAllReceiveMoney()))); + billq.setReceivePay(re.getReceiveMoney()); + billq.setSetOff(re.getSetOffMoney()); + billList.add(billq); + } + + PrintVo vo = handleComponentData(re.getId(),templateId,o,items, printFinanceReceiveDataHandler,re,printBillDataHandler, billList,merchantMap,feesMap,shopNumber); if (null != vo) { voList.add(vo); } @@ -295,7 +304,7 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { List voList = new ArrayList(); for (int i = 0 ; i < billAllList.size(); i ++) { WxAllBill re = billAllList.get(i); - PrintVo vo = handleComponentData(templateId,o,items, printBillDataHandler,re,null, null,merchantMap,feesMap,shopNumber); + PrintVo vo = handleComponentData(re.getId(),templateId,o,items, printBillDataHandler,re,null, null,merchantMap,feesMap,shopNumber); if (null != vo) { voList.add(vo); } @@ -338,7 +347,7 @@ public class WxFinancePrintServiceImpl implements WxFinancePrintService { owe.setNeedPay(payTotal.toPlainString()); sumlist.add(owe); - PrintVo vo = handleComponentData(templateId,o,items, printMerchantSettleDataHandler,bq,printMerchantSettleDataHandler, sumlist,merchantMap,feesMap,shopNumber); + PrintVo vo = handleComponentData(bq.getMerchantId(),templateId,o,items, printMerchantSettleDataHandler,bq,printMerchantSettleDataHandler, sumlist,merchantMap,feesMap,shopNumber); if (null != vo) { voList.add(vo); }