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 ab5727c8b..89db7a8b8 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -16,6 +16,7 @@ import com.iformall.domain.po.WxEnergyFees; import com.iformall.domain.po.WxFinanceFinish; import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.WxFinanceReceiveBill; +import com.iformall.domain.po.WxFinanceReceivePayway; import com.iformall.domain.po.WxFinanceReceiveSetoff; import com.iformall.domain.po.WxFlowModel; import com.iformall.domain.po.base.BaseEntity; @@ -561,7 +562,7 @@ public class WxFinanceController extends BaseController { return new ResultData(page); } - @ApiOperation("结账列表") + @ApiOperation("批次结账统计合计") @GetMapping("finishReceiveSum") public ResultData finishReceiveSum(@ModelAttribute WxFinanceReceive record, Integer pageNum, Integer pageSize) { if (null == record.getFinishId()) { @@ -572,6 +573,28 @@ public class WxFinanceController extends BaseController { return new ResultData(page); } + @ApiOperation("批次结账支付方式统计") + @GetMapping("finishReceivePaywaysSum") + public ResultData finishReceivePaywaysSum(@ModelAttribute WxFinanceReceive record, Integer pageNum, Integer pageSize) { + if (null == record.getFinishId()) { + return new ResultData(Result.ERROR,"finishId参数不能为空"); + } + record.updateTenantInfo(getTenantInfo()); + List page = wxFinanceService.getReceivePaywaysSum(record); + return new ResultData(page); + } + + @ApiOperation("批次结账科目统计") + @GetMapping("finishReceiveFeesSum") + public ResultData finishReceiveFeesSum(@ModelAttribute WxFinanceReceive record, Integer pageNum, Integer pageSize) { + if (null == record.getFinishId()) { + return new ResultData(Result.ERROR,"finishId参数不能为空"); + } + record.updateTenantInfo(getTenantInfo()); + List page = wxFinanceService.getReceiveFeesSum(record); + return new ResultData(page); + } + @ApiOperation("结账") @PostMapping("receiveFinish") public ResultData receiveFinish(@RequestBody WxFinanceFinish record) { diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveSumVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveSumVo.java index f52602e1c..ed16548c1 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveSumVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxFinanceReceiveSumVo.java @@ -2,8 +2,6 @@ package com.iformall.domain.vo; import lombok.Data; import java.io.Serializable; -import java.util.List; -import com.iformall.domain.po.WxFinanceReceivePayway; @Data public class WxFinanceReceiveSumVo implements Serializable { @@ -13,6 +11,4 @@ public class WxFinanceReceiveSumVo implements Serializable { String totalReceive; String totalSetoff; String totalPay; - - List payWays; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java index 00a711e83..afdf040d0 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxFinanceReceiveMapper.java @@ -2,6 +2,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxFinanceReceive; +import com.iformall.domain.po.WxFinanceReceiveBill; import com.iformall.domain.po.WxFinanceReceivePayway; import com.iformall.domain.vo.WxFinanceReceiveSumVo; @@ -24,7 +25,12 @@ public interface WxFinanceReceiveMapper extends CommonMapper getReceivePayWaySum(WxFinanceReceive record); + List getReceivePayWayReceiveSum(WxFinanceReceive record); + List getReceivePayWayPaySum(WxFinanceReceive record); + + List getReceiveFeesReceiveSum(WxFinanceReceive record); + List getReceiveFeesPaySum(WxFinanceReceive record); + void updatePrint(WxFinanceReceive record); diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index 9de0f1176..34ed32bd0 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -15,6 +15,7 @@ import com.iformall.domain.po.WxBillPayWay; import com.iformall.domain.po.WxFinanceFinish; import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.WxFinanceReceiveBill; +import com.iformall.domain.po.WxFinanceReceivePayway; import com.iformall.domain.po.WxFinanceReceiveSetoff; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.FinanceBillSetoffSum; @@ -62,6 +63,9 @@ public interface WxFinanceService { WxFinanceFinish getFinishById(TenantEntity tenantEntity,Long id); void saveOrUpdateFinish(WxFinanceFinish record,MallUserInfo user); WxFinanceReceiveSumVo getReceiveSum(WxFinanceReceive record); + List getReceivePaywaysSum(WxFinanceReceive record); + List getReceiveFeesSum(WxFinanceReceive record); + void finishReceive(WxFinanceFinish record,MallUserInfo user); Integer getReceiveUnFinisedCount(WxFinanceReceive record); void batchFinishReceive(WxFinanceFinish record,MallUserInfo user,boolean isAll); 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 340401d50..471bd7ba1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -1478,25 +1478,65 @@ public class WxFinanceServiceImpl implements WxFinanceService { public WxFinanceReceiveSumVo getReceiveSum(WxFinanceReceive record) { initQueryParam(record); WxFinanceReceiveSumVo vo = wxFinanceReceiveMapper.getReceiveSum(record); - if (null != vo ) { - List pays = wxFinanceReceiveMapper.getReceivePayWaySum(record); - if (null != pays) { - WxBillPayWay pq = new WxBillPayWay(); - pq.updateTenantInfo(record); - Map paywayMap = this.getPayWayMap(pq); - for (int i = 0 ; i < pays.size() ; i ++) { - WxFinanceReceivePayway rpw = pays.get(i); - if (null != paywayMap && null != rpw.getPayWay()) { - WxBillPayWay pw = paywayMap.get(rpw.getPayWay()); - if (null != pw) { - rpw.setPayWayName(pw.getName()); - } + return vo; + } + + @Override + public List getReceivePaywaysSum(WxFinanceReceive record) { + initQueryParam(record); + if (null == record.getType()) { + record.setType(EnumFinanceCashierType.RECEIVE.getCode()); + } + List pays = null; + if (record.getType() == EnumFinanceCashierType.RECEIVE.getCode()) { + pays = wxFinanceReceiveMapper.getReceivePayWayReceiveSum(record); + }else { + pays = wxFinanceReceiveMapper.getReceivePayWayPaySum(record); + } + if (null != pays) { + WxBillPayWay pq = new WxBillPayWay(); + pq.updateTenantInfo(record); + Map paywayMap = this.getPayWayMap(pq); + for (int i = 0 ; i < pays.size() ; i ++) { + WxFinanceReceivePayway rpw = pays.get(i); + if (null != paywayMap && null != rpw.getPayWay()) { + WxBillPayWay pw = paywayMap.get(rpw.getPayWay()); + if (null != pw) { + rpw.setPayWayName(pw.getName()); } } - vo.setPayWays(pays); } } - return vo; + return pays; + } + + @Override + public List getReceiveFeesSum(WxFinanceReceive record) { + initQueryParam(record); + if (null == record.getType()) { + record.setType(EnumFinanceCashierType.RECEIVE.getCode()); + } + List pays = null; + if (record.getType() == EnumFinanceCashierType.RECEIVE.getCode()) { + pays = wxFinanceReceiveMapper.getReceiveFeesReceiveSum(record); + }else { + pays = wxFinanceReceiveMapper.getReceiveFeesPaySum(record); + } + if (null != pays) { + WxEnergyFees fq = new WxEnergyFees(); + fq.updateTenantInfo(record); + Map feesMap = wxEnergyService.getFeesMap(fq); + for (int i = 0 ; i < pays.size() ; i ++) { + WxFinanceReceiveBill rpw = pays.get(i); + if (null != feesMap && null != rpw.getFeesId()) { + WxEnergyFees pw = feesMap.get(rpw.getFeesId()); + if (null != pw) { + rpw.setFeesName(pw.getName()); + } + } + } + } + return pays; } @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) diff --git a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml index 06a53bc3f..2c144bfd3 100644 --- a/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxFinanceReceiveMapper.xml @@ -111,18 +111,50 @@ from wx_finance_receive + + - select pay_way, sum(CAST(ifnull(receive,'0') AS DECIMAL(20,2))) receive from wx_finance_receive_payway where is_del = 0 and receive_id in ( select id from wx_finance_receive ) group by pay_way - + + + + + + + + + + update wx_finance_receive set is_finish = 1