From 4e09b531d890649d598e48fad32fd1810e9840ec Mon Sep 17 00:00:00 2001 From: linfso Date: Wed, 14 May 2025 09:50:19 +0800 Subject: [PATCH 01/33] md --- .../web/emis/EmisCommissionDtlController.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java index 1d05fd1f3..04b37587a 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java @@ -16,6 +16,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; +import com.xdadan.erp.emis.domain.EmisWaybill; import com.xdadan.erp.emis.utils.WaybillHelper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -61,19 +62,21 @@ public class EmisCommissionDtlController extends BaseController @JacksonFilter(include= { "id","feeType","money","billMonth", "billType","billCode","quoteId","quoteName" ,"exprId","calcExpr","feeRemark","empCode","empName","createTime" - ,"waybillDetail.sendSiteName","waybillDetail.dispatchUnderlingSiteName" - ,"waybillDetail.sendCountryName","waybillDetail.receiveCountryName" - ,"waybillDetail.paymentType","waybillDetail.sendDate" - ,"waybillDetail.sendCompany","waybillDetail.transLineTypeName" - ,"waybillDetail.productTypeName","waybillDetail.timeType" - ,"waybillDetail.sendName","waybillDetail.parcelQty" - ,"waybillDetail.billWeight","waybillDetail.totalVolume" - ,"waybillDetail.volumeWeight","waybillDetail.settlementWeight" - ,"waybillDetail.billFee","waybillDetail.realFee" - ,"waybillDetail.freight","waybillDetail.paymentStatus" - ,"waybillDetail.feeRemark","waybillDetail.remark" - ,"waybillDetail.payee","waybillDetail.salesmen" },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) + @JacksonFilter(include= { + "sendSiteName","dispatchUnderlingSiteName" + ,"sendCountryName","receiveCountryName" + ,"paymentType","sendDate" + ,"sendCompany","transLineTypeName" + ,"productTypeName","timeType" + ,"sendName","parcelQty" + ,"billWeight","totalVolume" + ,"volumeWeight","settlementWeight" + ,"billFee","realFee" + ,"freight","paymentStatus" + ,"feeRemark","remark" + ,"payee","salesmen" + },value= EmisWaybill.class,type= JacksonFilter.JscksonFilterType.RESPONSE) @GetMapping("/list") public TableDataInfo list(EmisCommissionDtl emisCommissionDtl) { From 381477e97db359bd21236c99045209752aaabf1a Mon Sep 17 00:00:00 2001 From: linfso Date: Wed, 14 May 2025 10:55:38 +0800 Subject: [PATCH 02/33] md --- .../xdadan/erp/web/emis/EmisCommissionDtlController.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java index 04b37587a..651c71868 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java @@ -59,10 +59,10 @@ public class EmisCommissionDtlController extends BaseController * */ @PreAuthorize("@ss.hasPermi('emis:emisCommissionDtl:list')") - @JacksonFilter(include= { - "id","feeType","money","billMonth", "billType","billCode","quoteId","quoteName" - ,"exprId","calcExpr","feeRemark","empCode","empName","createTime" - },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) +// @JacksonFilter(include= { +// "id","feeType","money","billMonth", "billType","billCode","quoteId","quoteName" +// ,"exprId","calcExpr","feeRemark","empCode","empName","createTime" +// },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) @JacksonFilter(include= { "sendSiteName","dispatchUnderlingSiteName" ,"sendCountryName","receiveCountryName" From 7b8f7f97a0f482b0e98cc2b3242c5631cd7334db Mon Sep 17 00:00:00 2001 From: linfso Date: Wed, 14 May 2025 11:03:55 +0800 Subject: [PATCH 03/33] md --- .../com/xdadan/erp/web/emis/EmisCommissionDtlController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java index 651c71868..3f94bbb4d 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java @@ -76,7 +76,7 @@ public class EmisCommissionDtlController extends BaseController ,"freight","paymentStatus" ,"feeRemark","remark" ,"payee","salesmen" - },value= EmisWaybill.class,type= JacksonFilter.JscksonFilterType.RESPONSE) + },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) @GetMapping("/list") public TableDataInfo list(EmisCommissionDtl emisCommissionDtl) { From 979d35073fbf89c5acd3b3ebcf89baed51623e0b Mon Sep 17 00:00:00 2001 From: linfso Date: Wed, 14 May 2025 11:07:38 +0800 Subject: [PATCH 04/33] md --- .../web/emis/EmisCommissionDtlController.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java index 3f94bbb4d..693ca002d 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java @@ -64,18 +64,18 @@ public class EmisCommissionDtlController extends BaseController // ,"exprId","calcExpr","feeRemark","empCode","empName","createTime" // },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) @JacksonFilter(include= { - "sendSiteName","dispatchUnderlingSiteName" - ,"sendCountryName","receiveCountryName" - ,"paymentType","sendDate" - ,"sendCompany","transLineTypeName" - ,"productTypeName","timeType" - ,"sendName","parcelQty" - ,"billWeight","totalVolume" - ,"volumeWeight","settlementWeight" - ,"billFee","realFee" - ,"freight","paymentStatus" - ,"feeRemark","remark" - ,"payee","salesmen" + "waybillDetail.sendSiteName","waybillDetail.dispatchUnderlingSiteName" + ,"waybillDetail.sendCountryName","waybillDetail.receiveCountryName" + ,"waybillDetail.paymentType","waybillDetail.sendDate" + ,"waybillDetail.sendCompany","waybillDetail.transLineTypeName" + ,"waybillDetail.productTypeName","waybillDetail.timeType" + ,"waybillDetail.sendName","waybillDetail.parcelQty" + ,"waybillDetail.billWeight","waybillDetail.totalVolume" + ,"waybillDetail.volumeWeight","waybillDetail.settlementWeight" + ,"waybillDetail.billFee","waybillDetail.realFee" + ,"waybillDetail.freight","waybillDetail.paymentStatus" + ,"waybillDetail.feeRemark","waybillDetail.remark" + ,"waybillDetail.payee","waybillDetail.salesmen" },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) @GetMapping("/list") public TableDataInfo list(EmisCommissionDtl emisCommissionDtl) From ae783ac89421e9892480233d2ed3aa912f2af30b Mon Sep 17 00:00:00 2001 From: linfso Date: Wed, 14 May 2025 13:15:00 +0800 Subject: [PATCH 05/33] md --- .../web/emis/EmisCommissionDtlController.java | 103 +++++++++++++++--- .../emis/mapper/EmisCommissionDtlMapper.java | 3 + .../service/IEmisCommissionDtlService.java | 4 + .../impl/EmisCommissionDtlServiceImpl.java | 9 ++ .../mapper/EmisCommissionDtlMapper.xml | 82 ++++++++++++++ 5 files changed, 187 insertions(+), 14 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java index 693ca002d..620b2dd5b 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommissionDtlController.java @@ -11,13 +11,17 @@ package com.xdadan.erp.web.emis; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletResponse; +import cn.hutool.json.JSONObject; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; import com.xdadan.erp.emis.domain.EmisWaybill; import com.xdadan.erp.emis.utils.WaybillHelper; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -63,20 +67,20 @@ public class EmisCommissionDtlController extends BaseController // "id","feeType","money","billMonth", "billType","billCode","quoteId","quoteName" // ,"exprId","calcExpr","feeRemark","empCode","empName","createTime" // },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) - @JacksonFilter(include= { - "waybillDetail.sendSiteName","waybillDetail.dispatchUnderlingSiteName" - ,"waybillDetail.sendCountryName","waybillDetail.receiveCountryName" - ,"waybillDetail.paymentType","waybillDetail.sendDate" - ,"waybillDetail.sendCompany","waybillDetail.transLineTypeName" - ,"waybillDetail.productTypeName","waybillDetail.timeType" - ,"waybillDetail.sendName","waybillDetail.parcelQty" - ,"waybillDetail.billWeight","waybillDetail.totalVolume" - ,"waybillDetail.volumeWeight","waybillDetail.settlementWeight" - ,"waybillDetail.billFee","waybillDetail.realFee" - ,"waybillDetail.freight","waybillDetail.paymentStatus" - ,"waybillDetail.feeRemark","waybillDetail.remark" - ,"waybillDetail.payee","waybillDetail.salesmen" - },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) +// @JacksonFilter(include= { +// "waybillDetail.sendSiteName","waybillDetail.dispatchUnderlingSiteName" +// ,"waybillDetail.sendCountryName","waybillDetail.receiveCountryName" +// ,"waybillDetail.paymentType","waybillDetail.sendDate" +// ,"waybillDetail.sendCompany","waybillDetail.transLineTypeName" +// ,"waybillDetail.productTypeName","waybillDetail.timeType" +// ,"waybillDetail.sendName","waybillDetail.parcelQty" +// ,"waybillDetail.billWeight","waybillDetail.totalVolume" +// ,"waybillDetail.volumeWeight","waybillDetail.settlementWeight" +// ,"waybillDetail.billFee","waybillDetail.realFee" +// ,"waybillDetail.freight","waybillDetail.paymentStatus" +// ,"waybillDetail.feeRemark","waybillDetail.remark" +// ,"waybillDetail.payee","waybillDetail.salesmen" +// },value= EmisCommissionDtl.class,type= JacksonFilter.JscksonFilterType.RESPONSE) @GetMapping("/list") public TableDataInfo list(EmisCommissionDtl emisCommissionDtl) { @@ -93,6 +97,77 @@ public class EmisCommissionDtlController extends BaseController return getDataTable(list); } + /** + * 导出JSON数据 + * @param emisCommissionDtl + * @return + */ + @GetMapping("/mapDtlList") + public TableDataInfo mapDtlList(EmisCommissionDtl emisCommissionDtl) + { + startPage(); + if(!StringUtils.isEmpty(emisCommissionDtl.getBillCode())){ + emisCommissionDtl.setBillCode(WaybillHelper.formatQueryValue(emisCommissionDtl.getBillCode())); + String[] billCodeSortList = emisCommissionDtl.getBillCode().split(","); + if(billCodeSortList.length>1){ + emisCommissionDtl.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList)); + } + } + + List list = emisCommissionDtlService.selectCommissionDtlMapList(emisCommissionDtl); + +// if(!CollectionUtils.isEmpty(list)) { +// // 数据压缩过滤 +// List expList = new ArrayList<>(); +// for (EmisCommissionDtl item:list) { +// JSONObject objItem = new JSONObject(); +// +// objItem.putOpt("id",item.getId()); +// objItem.putOpt("feeType",item.getFeeType()); +// objItem.putOpt("money",item.getMoney()); +// objItem.putOpt("billMonth",item.getBillMonth()); +// objItem.putOpt("billType",item.getBillType()); +// objItem.putOpt("billCode",item.getBillCode()); +// objItem.putOpt("quoteId",item.getQuoteId()); +// objItem.putOpt("quoteName",item.getQuoteName()); +// objItem.putOpt("exprId",item.getExprId()); +// objItem.putOpt("calcExpr",item.getCalcExpr()); +// objItem.putOpt("feeRemark",item.getFeeRemark()); +// objItem.putOpt("empCode",item.getEmpCode()); +// objItem.putOpt("empName",item.getEmpName()); +// objItem.putOpt("createTime",item.getCreateTime()); +// +// EmisWaybill emisItem=item.getWaybillDetail(); +// JSONObject objWaybillItem= new JSONObject(); +// objWaybillItem.putOpt("sendSiteName",emisItem.getSendSiteName()); +// objWaybillItem.putOpt("dispatchUnderlingSiteName",emisItem.getSendSiteName()); +// objWaybillItem.putOpt("sendSiteName",emisItem.getSendSiteName()); +// objWaybillItem.putOpt("sendSiteName",emisItem.getSendSiteName()); +// objWaybillItem.putOpt("sendSiteName",emisItem.getSendSiteName()); +// +// // "waybillDetail.sendSiteName","waybillDetail.dispatchUnderlingSiteName" +//// ,"waybillDetail.sendCountryName","waybillDetail.receiveCountryName" +//// ,"waybillDetail.paymentType","waybillDetail.sendDate" +//// ,"waybillDetail.sendCompany","waybillDetail.transLineTypeName" +//// ,"waybillDetail.productTypeName","waybillDetail.timeType" +//// ,"waybillDetail.sendName","waybillDetail.parcelQty" +//// ,"waybillDetail.billWeight","waybillDetail.totalVolume" +//// ,"waybillDetail.volumeWeight","waybillDetail.settlementWeight" +//// ,"waybillDetail.billFee","waybillDetail.realFee" +//// ,"waybillDetail.freight","waybillDetail.paymentStatus" +//// ,"waybillDetail.feeRemark","waybillDetail.remark" +//// ,"waybillDetail.payee","waybillDetail.salesmen" +// +// +// +// } +// } + + + return getDataTable(list); + } + + /** * 按批次查询明细 * @param emisCommissionDtl diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCommissionDtlMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCommissionDtlMapper.java index e3a07c631..241e5b534 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCommissionDtlMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisCommissionDtlMapper.java @@ -11,6 +11,8 @@ package com.xdadan.erp.emis.mapper; import java.util.List; +import java.util.Map; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xdadan.erp.emis.domain.EmisCommissionDtl; /** @@ -36,6 +38,7 @@ public interface EmisCommissionDtlMapper extends BaseMapper */ public List selectEmisCommissionDtlList(EmisCommissionDtl emisCommissionDtl); + public List selectCommissionDtlMapList(EmisCommissionDtl emisCommissionDtl); /** * 批次提成明细 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionDtlService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionDtlService.java index bd56ef11a..a4794ae0c 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionDtlService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisCommissionDtlService.java @@ -10,6 +10,8 @@ package com.xdadan.erp.emis.service; import java.util.List; +import java.util.Map; + import com.xdadan.erp.emis.domain.EmisCommissionDtl; /** @@ -35,6 +37,8 @@ public interface IEmisCommissionDtlService */ public List selectEmisCommissionDtlList(EmisCommissionDtl emisCommissionDtl); + public List selectCommissionDtlMapList(EmisCommissionDtl emisCommissionDtl); + /** * 批次提成明细 * @param emisCommissionDtl diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionDtlServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionDtlServiceImpl.java index c1362627d..ccb53a57b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionDtlServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisCommissionDtlServiceImpl.java @@ -11,6 +11,8 @@ package com.xdadan.erp.emis.service.impl; import java.util.List; +import java.util.Map; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xdadan.erp.emis.domain.EmisCommissionDtl; @@ -54,6 +56,13 @@ public class EmisCommissionDtlServiceImpl implements IEmisCommissionDtlService return emisCommissionDtlMapper.selectEmisCommissionDtlList(emisCommissionDtl); } + @Override + public List selectCommissionDtlMapList(EmisCommissionDtl emisCommissionDtl) + { + return emisCommissionDtlMapper.selectCommissionDtlMapList(emisCommissionDtl); + } + + /** * 查询批次提成明细表列表 diff --git a/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml b/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml index 95bef05ce..33a286051 100644 --- a/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml @@ -86,6 +86,88 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by create_time desc + + @@ -199,6 +208,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and update_time = #{updateTime} and create_site like concat('%', #{createSite}, '%') and update_site like concat('%', #{updateSite}, '%') + order by create_time desc From 26906d64c30f421717c1fb47c49507a92a0aa03d Mon Sep 17 00:00:00 2001 From: linfso Date: Thu, 15 May 2025 06:33:00 +0800 Subject: [PATCH 07/33] md --- .../web/emis/EmisSettleBillController.java | 33 +++--- .../emis/EmisSettlePayRecordController.java | 15 +++ .../mapper/EmisSettlePayRecordMapper.java | 2 + .../service/IEmisSettlePayRecordService.java | 2 + .../impl/EmisSettlePayRecordServiceImpl.java | 6 ++ .../mapper/EmisSettlePayRecordMapper.xml | 101 ++++++++++++++++++ 6 files changed, 145 insertions(+), 14 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java index 29c1eefd2..0255f3c88 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java @@ -106,21 +106,7 @@ public class EmisSettleBillController extends BaseController return getDataTable(list); } - /** - * 收款统计 - * @param emisSettleBill - * @return - */ - @GetMapping("/queryPayBackStatList") - public TableDataInfo queryPayBackStatList(EmisSettleBill emisSettleBill) - { - startPage(); - setPrivParams(emisSettleBill); - - List list = emisSettleBillService.queryPayBackStatList(emisSettleBill); - return getDataTable(list); - } @@ -300,6 +286,25 @@ public class EmisSettleBillController extends BaseController return AjaxResult.success(result); } + + /** + * 收款统计 + * @param emisSettleBill + * @return + */ + @GetMapping("/queryPayBackStatList") + public TableDataInfo queryPayBackStatList(EmisSettleBill emisSettleBill) + { + startPage(); + + setPrivParams(emisSettleBill); + + List list = emisSettleBillService.queryPayBackStatList(emisSettleBill); + return getDataTable(list); + } + + + /** * 新增运单总账单 */ diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java index c2d81b059..20341675a 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java @@ -92,6 +92,18 @@ public class EmisSettlePayRecordController extends BaseController return getDataTable(list); } + /** + * 收款统计Map + */ + @GetMapping("/getSettlePayStatInfoMap") + public AjaxResult getSettlePayStatInfoMap(EmisSettlePayRecord emisSettlePayRecord) + { + setPrivParams(emisSettlePayRecord); + + Map rstMap = emisSettlePayRecordService.getSettlePayStatInfoMap(emisSettlePayRecord); + return AjaxResult.success("查询成功",rstMap); + } + @GetMapping("/queryPayBackRecordList") public TableDataInfo queryPayBackRecordList(EmisSettlePayRecord emisSettlePayRecord) { @@ -115,6 +127,9 @@ public class EmisSettlePayRecordController extends BaseController } + + + /** * 检查是否重复 * diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettlePayRecordMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettlePayRecordMapper.java index 91f0a57cc..34bf56cbb 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettlePayRecordMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisSettlePayRecordMapper.java @@ -41,6 +41,8 @@ public interface EmisSettlePayRecordMapper extends BaseMapper selectEmisSettlePayRecordList(EmisSettlePayRecord emisSettlePayRecord); + public Map getSettlePayStatInfoMap(EmisSettlePayRecord emisSettlePayRecord); + public List selectSettlePayRecordListBySettleBillNo(String settleBillNo); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java index f1b646d56..d273e03d4 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java @@ -40,6 +40,8 @@ public interface IEmisSettlePayRecordService */ public List selectEmisSettlePayRecordList(EmisSettlePayRecord emisSettlePayRecord); + public Map getSettlePayStatInfoMap(EmisSettlePayRecord emisSettlePayRecord); + public List queryPayBackRecordList(EmisSettlePayRecord emisSettlePayRecord); public List queryNoPayBackRecordList(EmisSettlePayRecord emisSettlePayRecord); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java index 8579c17fb..6089e1f41 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java @@ -92,6 +92,12 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I return emisSettlePayRecordMapper.selectEmisSettlePayRecordList(emisSettlePayRecord); } + @Override + public Map getSettlePayStatInfoMap(EmisSettlePayRecord emisSettlePayRecord) + { + return emisSettlePayRecordMapper.getSettlePayStatInfoMap(emisSettlePayRecord); + } + @Override public List queryPayBackRecordList(EmisSettlePayRecord emisSettlePayRecord) { diff --git a/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml index d8a7a17d3..ec33ad569 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml @@ -85,6 +85,107 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, pay_id, pay_type, rec_type, pay_man, pay_man_code, settle_bill_no, bl_audit, audit_date, audit_man_code, audit_site_code, customer_code, customer_name, pay_money, pay_status, pay_status_desc, break_type, break_reason, break_emp_code, rec_man_code, settle_type, refund_date, refund_man_code, refund_seq, refund_mode, refund_money, refund_reason, refund_remark, refund_op_man_code, refund_register_site_code, refund_register_man_code, satisfy_money, satisfy_reason, allowance_money, allowance_reason, deduction_money, deduction_reason, other_money, other_reason, trade_date, remark, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_settle_pay_record + + + SELECT + bill_month as billMonth, + round(sum(rec_money),2) as recMoney, + round(sum(reced_money),2) as recedMoney, + (round(sum(rec_money),2)-round(sum(reced_money),2) ) as noRecedMoney + FROM emis_settle_bill + WHERE del_flag = '0' + GROUP BY bill_month + ORDER BY bill_month + From 6c4af74f317386af9ce3185d7e6358c66b29dfa4 Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 18 May 2025 23:46:43 +0800 Subject: [PATCH 25/33] md --- .../erp/web/emis/EmisCommonController.java | 2 +- .../service/IEmisSettlePayRecordService.java | 2 +- .../impl/EmisSettleBillPayLogServiceImpl.java | 77 ++++++++++++++++++- .../impl/EmisSettlePayRecordServiceImpl.java | 8 +- 4 files changed, 81 insertions(+), 8 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index 8cddd04f9..1c158eaad 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -125,7 +125,7 @@ public class EmisCommonController extends EmisBaseController * 在线支付回调 * @param method * @param data - * @param signType + * @param sign_type * @param sign * @return */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java index d273e03d4..247c74241 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettlePayRecordService.java @@ -60,7 +60,7 @@ public interface IEmisSettlePayRecordService * @param emisSettlePayRecord 账单收退款记录 * @return 结果 */ - public int insertEmisSettlePayRecord(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError; + public int insertEmisSettlePayRecord(EmisSettlePayRecord emisSettlePayRecord,String payId) throws EmisBizError; /** * 修改账单收退款记录 diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java index 48e58c0c2..7f86bf549 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java @@ -12,6 +12,7 @@ package com.xdadan.erp.emis.service.impl; import java.io.IOException; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -23,17 +24,20 @@ import com.xdadan.erp.common.core.pay.vitepay.sdk.ApiRes; import com.xdadan.erp.common.core.pay.vitepay.sdk.Config; import com.xdadan.erp.common.core.pay.vitepay.sdk.VitePayOnlineSdk; import com.xdadan.erp.common.utils.idgen.SnowflakeIdUtils; -import com.xdadan.erp.emis.domain.EmisSettleBill; +import com.xdadan.erp.emis.domain.*; import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.mapper.EmisSettleBillMapper; +import com.xdadan.erp.emis.mapper.EmisSettlePayRelMapper; +import com.xdadan.erp.emis.mapper.EmisSettleSubBillMapper; +import com.xdadan.erp.emis.service.IEmisSettlePayRecordService; import com.xdadan.erp.emis.utils.WaybillHelper; import com.xdadan.erp.system.domain.SysAccount; import com.xdadan.erp.system.domain.SysPayOrder; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.xdadan.erp.emis.domain.EmisSettleBillPayLog; import com.xdadan.erp.emis.mapper.EmisSettleBillPayLogMapper; import com.xdadan.erp.emis.service.IEmisSettleBillPayLogService; @@ -53,6 +57,16 @@ public class EmisSettleBillPayLogServiceImpl implements IEmisSettleBillPayLogSer @Autowired private EmisSettleBillMapper emisSettleBillMapper; + + @Autowired + private IEmisSettlePayRecordService emisSettlePayRecordService; + + @Autowired + private EmisSettlePayRelMapper emisSettlePayRelMapper; + + @Autowired + private EmisSettleSubBillMapper emisSettleSubBillMapper; + /** * 查询支付订单表 * @@ -224,6 +238,7 @@ public class EmisSettleBillPayLogServiceImpl implements IEmisSettleBillPayLogSer EmisSettleBillPayLog emisSettleBillPayLog=emisSettleBillPayLogMapper.selectEmisSettleBillPayLogByPayId(payId); + if(emisSettleBillPayLog == null){ throw new EmisBizError(EmisBizErrorType.FAIL,"支付单不存在"); } @@ -241,6 +256,19 @@ public class EmisSettleBillPayLogServiceImpl implements IEmisSettleBillPayLogSer String status=rstObj.getString("status"); String errMsg=rstObj.getString("err_msg"); if("20".equals(status)){ + EmisSettleBill oldSettleBill=emisSettleBillMapper.selectSettleBillBySettleBillNo(emisSettleBillPayLog.getSettleBillNo()); + if(oldSettleBill==null){ + throw new EmisBizError(EmisBizErrorType.FAIL,"账单不存在"); + } + + String payMan=""; + // 现金账单支付人为寄件公司,月结账单支付人为客户 + if("1".equals(oldSettleBill.getSettleType())){ + payMan=oldSettleBill.getCustomerName(); + }else{ + payMan=oldSettleBill.getCustName(); + } + // 更新状态 emisSettleBillPayLog.setPaid(1); emisSettleBillPayLog.setStatus(20); @@ -248,8 +276,49 @@ public class EmisSettleBillPayLogServiceImpl implements IEmisSettleBillPayLogSer emisSettleBillPayLog.setPaySuccTime(new Date()); emisSettleBillPayLogMapper.updateEmisSettleBillPayLog(emisSettleBillPayLog); - // 获取支付账单,核销账单 - emisSettleBillPayLogMapper.selectEmisSettleBillPayLogByPayId(payId); + // 获取支付账单,转为为真实支付单 + EmisSettlePayRecord emisSettlePayRecord=new EmisSettlePayRecord(); + emisSettlePayRecord.setSettleBillNo(emisSettleBillPayLog.getSettleBillNo()); + emisSettlePayRecord.setPayId(emisSettleBillPayLog.getPayId()); + emisSettlePayRecord.setPayType("7"); // 在线支付(微信) + emisSettlePayRecord.setPayMan(payMan); + emisSettlePayRecord.setPayMoney(new BigDecimal(emisSettleBillPayLog.getAmount()).divide(new BigDecimal(100))); + emisSettlePayRecord.setTradeDate(emisSettleBillPayLog.getPaySuccTime()); + emisSettlePayRecord.setRecType("1"); + emisSettlePayRecord.setPayStatus("2"); + emisSettlePayRecord.setSettleType(oldSettleBill.getSettleType()); + emisSettlePayRecord.setRecManCode("1"); + emisSettlePayRecord.setCustomerCode(oldSettleBill.getCustomerCode()); + emisSettlePayRecord.setCustomerName(oldSettleBill.getCustomerName()); + emisSettlePayRecord.setCreateBy("1"); + emisSettlePayRecord.setCreateTime(new Date()); + + // 设置为支付的单子 + List payRelList=new ArrayList(); + + EmisSettleSubBill qParam = new EmisSettleSubBill(); + qParam.setSettleBillNo(emisSettleBillPayLog.getSettleBillNo()); + List listSubBill=emisSettleSubBillMapper.selectEmisSettleSubBillList(qParam); + if(!CollectionUtils.isEmpty(listSubBill)){ + for (EmisSettleSubBill itemSubBill:listSubBill) { + BigDecimal hasPayMoney = itemSubBill.getRecedMoney(); + if(hasPayMoney==null){ + hasPayMoney=BigDecimal.ZERO; + } + + BigDecimal noPayMoney=itemSubBill.getBillFee().subtract(hasPayMoney); + if(noPayMoney.compareTo(BigDecimal.ZERO)>0){ + EmisSettlePayRel payRel = new EmisSettlePayRel(); + payRel.setPayId(emisSettleBillPayLog.getPayId()); + payRel.setBillNo(itemSubBill.getBillNo()); + payRel.setPayMoney(noPayMoney); + payRelList.add(payRel); + } + } + } + emisSettlePayRecord.setPayRelList(payRelList); + + emisSettlePayRecordService.insertEmisSettlePayRecord(emisSettlePayRecord,emisSettleBillPayLog.getPayId()); }else if("10".equals(status)){ emisSettleBillPayLog.setPaid(0); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java index 6089e1f41..9e7692aa7 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettlePayRecordServiceImpl.java @@ -130,7 +130,7 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I * @return 结果 */ @Override - public int insertEmisSettlePayRecord(EmisSettlePayRecord emisSettlePayRecord) throws EmisBizError { + public int insertEmisSettlePayRecord(EmisSettlePayRecord emisSettlePayRecord,String payId) throws EmisBizError { if(StringUtils.isEmpty(emisSettlePayRecord.getSettleBillNo())){ throw new EmisBizError(EmisBizErrorType.FAIL,"账单编号不能为空"); @@ -165,7 +165,11 @@ public class EmisSettlePayRecordServiceImpl extends EmisBaseService implements I } // 不重复的 id流水号 - String payId= WaybillHelper.genPayId(); + // 如果支付单是空的则生成新的支付单 + if(StringUtils.isEmpty(payId)) { + payId = WaybillHelper.genPayId(); + } + emisSettlePayRecord.setPayId(payId); // 退款时支付金额记录负值 From 1703799c03cd482ca8589117820e9ad891479b49 Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 18 May 2025 23:50:11 +0800 Subject: [PATCH 26/33] md --- .../com/xdadan/erp/web/emis/EmisSettlePayRecordController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java index 9a80799fa..89f361884 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java @@ -173,7 +173,7 @@ public class EmisSettlePayRecordController extends BaseController public AjaxResult add(@RequestBody EmisSettlePayRecord emisSettlePayRecord) { try { - return toAjax(emisSettlePayRecordService.insertEmisSettlePayRecord(emisSettlePayRecord)); + return toAjax(emisSettlePayRecordService.insertEmisSettlePayRecord(emisSettlePayRecord,null)); } catch (DuplicateKeyException e) { e.printStackTrace(); From a3de735a8b90720c5da9c251c1a2ce04fbbee7f3 Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 18 May 2025 23:54:46 +0800 Subject: [PATCH 27/33] md --- .../com/xdadan/erp/web/emis/EmisCommonController.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index 1c158eaad..d2281bcec 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -131,8 +131,8 @@ public class EmisCommonController extends EmisBaseController */ @PostMapping("/payNotifyCallback") public String payNotifyCallback(String method,String data,String sign_type,String sign){ - log.info("payNotifyCallback start"); + log.info("payNotifyCallback start"); if(StringUtils.isAnyEmpty(method,data,sign)){ return "fail"; } @@ -162,20 +162,26 @@ public class EmisCommonController extends EmisBaseController err_msg String 错误消息 */ + + + JSONObject jobjRst = JSONObject.parseObject(data); String payId = jobjRst.getString("order_no"); if(StringUtils.isEmpty(payId)){ return "fail"; } + String lockKey="payNotifyCallback_"+payId; + redissonService.lock(lockKey,300); try { log.info("payNotifyCallback start"); emisSettleBillPayLogService.checkPayStatus(payId); } catch (EmisBizError emisBizError) { + redissonService.unlock(lockKey); emisBizError.printStackTrace(); return emisBizError.getMessage(); } - + redissonService.unlock(lockKey); log.info("payNotifyCallback end"); return "success"; } From f7b1527314f835fad96aa2c616d9221d1c5b8d54 Mon Sep 17 00:00:00 2001 From: linfso Date: Mon, 19 May 2025 00:00:15 +0800 Subject: [PATCH 28/33] md --- .../java/com/xdadan/erp/web/emis/EmisCommonController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index d2281bcec..c82a535bd 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -134,7 +134,7 @@ public class EmisCommonController extends EmisBaseController log.info("payNotifyCallback start"); if(StringUtils.isAnyEmpty(method,data,sign)){ - return "fail"; + return "param error"; } /* @@ -168,7 +168,7 @@ public class EmisCommonController extends EmisBaseController JSONObject jobjRst = JSONObject.parseObject(data); String payId = jobjRst.getString("order_no"); if(StringUtils.isEmpty(payId)){ - return "fail"; + return "payId error"; } String lockKey="payNotifyCallback_"+payId; From 2fc9d73e3191f30a29225fa37a3ffcfa8fe7b93f Mon Sep 17 00:00:00 2001 From: linfso Date: Mon, 19 May 2025 18:04:47 +0800 Subject: [PATCH 29/33] md --- emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml b/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml index f1a5615e4..76a270da9 100644 --- a/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisCommissionDtlMapper.xml @@ -119,6 +119,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" b.payment_status AS paymentStatus, b.fee_remark AS waybillFeeRemark, b.remark as waybillRemark, + b.cust_name as custName, b.payee, b.salesmen, c.site_name AS sendSiteName, From 4f5eb76f33cdb41174aa64250098bfaf21ed9602 Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 20 May 2025 09:50:02 +0800 Subject: [PATCH 30/33] md --- .../mapper/EmisSettlePayRecordMapper.xml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml index 7de588361..12de8f69a 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml @@ -324,9 +324,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and ( ( esb.settle_type='2' and esb.credit_period = ]]> 30 and b.trade_date ]]> esb.payment_due_date and b.trade_date = ]]> DATE_SUB( esb.payment_due_date, INTERVAL (esb.credit_period-60) DAY ) ) or ( ( (esb.settle_type='2' and esb.credit_period 30) or esb.settle_type='1' ) and b.trade_date ]]> esb.payment_due_date ) ) - and espbr.settle_bill_no=#{settleBillNo} + + + and espbr.settle_bill_no=#{settleBillNo} + + + and espbr.pay_id=#{payId} + ) - and a.settle_bill_no=#{settleBillNo} + + and a.settle_bill_no=#{settleBillNo} + + + and b.pay_id=#{payId} + + order by b.create_time desc From 0f4e5a505fc844d61d056ca5626d666a6e89686a Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 20 May 2025 10:46:44 +0800 Subject: [PATCH 31/33] md --- .../src/main/resources/mapper/EmisSettlePayRecordMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml index 12de8f69a..a7004c9cb 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettlePayRecordMapper.xml @@ -157,7 +157,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pay_id in( select pay_id from emis_settle_pay_rel espr where espr.del_flag='0' - and FIND_IN_SET(espr.`bill_code`,#{params.billCode}) + and FIND_IN_SET(espr.`bill_no`,#{params.billCode}) ) @@ -257,7 +257,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pay_id in( select pay_id from emis_settle_pay_rel espr where espr.del_flag='0' - and FIND_IN_SET(espr.`bill_code`,#{params.billCode}) + and FIND_IN_SET(espr.`bill_no`,#{params.billCode}) ) From 500c5373d027cfe1525fa14d3257a63dcdae242f Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 20 May 2025 11:11:54 +0800 Subject: [PATCH 32/33] md --- .../emis/EmisSettlePayRecordController.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java index 89f361884..3a2b63107 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettlePayRecordController.java @@ -100,6 +100,25 @@ public class EmisSettlePayRecordController extends BaseController { setPrivParams(emisSettlePayRecord); + + String billCodeStr = MapUtil.getStr(emisSettlePayRecord.getParams(),"billCode"); + if(!StringUtils.isEmpty(billCodeStr)){ + emisSettlePayRecord.getParams().put("billCode", WaybillHelper.formatQueryValue(billCodeStr)); + String[] billCodeSortList = billCodeStr.split(","); + if(billCodeSortList.length>1){ + emisSettlePayRecord.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList)); + } + } + + + if(!StringUtils.isEmpty(emisSettlePayRecord.getSettleBillNo())){ + emisSettlePayRecord.setSettleBillNo(WaybillHelper.formatQueryValue(emisSettlePayRecord.getSettleBillNo())); + String[] settleBillNoSortList = emisSettlePayRecord.getSettleBillNo().split(","); + if(settleBillNoSortList.length>1){ + emisSettlePayRecord.getParams().put("settleBillNoSortList",Arrays.asList(settleBillNoSortList)); + } + } + Map rstMap = emisSettlePayRecordService.getSettlePayStatInfoMap(emisSettlePayRecord); return AjaxResult.success("查询成功",rstMap); } From 2e030c5bd1db2e1b7c140e2aae387dcdb4c71c0e Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 20 May 2025 17:07:21 +0800 Subject: [PATCH 33/33] md --- .../web/emis/EmisSettleBillController.java | 17 ++++ .../web/emis/EmisTmsCostProfitController.java | 11 ++- .../erp/emis/domain/EmisSettleBill.java | 3 +- .../service/IEmisSettleBillPayLogService.java | 10 +++ .../impl/EmisSettleBillPayLogServiceImpl.java | 78 +++++++++++++++++++ 5 files changed, 114 insertions(+), 5 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java index 808ef3a29..709e9806b 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java @@ -240,6 +240,23 @@ public class EmisSettleBillController extends BaseController } } + /** + * 微信小程序支付 + * @param emisSettleBill + * @return + */ + @GetMapping(value = "/genWxPayFromWxApp") + public AjaxResult genWxPayFromWxApp(EmisSettleBill emisSettleBill) + { + try { + String qrPicUrl=emisSettleBillPayLogService.genWxPayFromWxApp(emisSettleBill.getSettleBillNo(),emisSettleBill.getOpenId()); + return AjaxResult.success("成功",qrPicUrl); + } catch (EmisBizError emisBizError) { + emisBizError.printStackTrace(); + return AjaxResult.error(emisBizError.getMessage()); + } + } + @PostMapping(value = "/sumbitWxPay") public AjaxResult sumbitWxPay(@RequestBody EmisSettleBill emisSettleBill) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCostProfitController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCostProfitController.java index f8aebce8f..d78f7bfb4 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCostProfitController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisTmsCostProfitController.java @@ -59,10 +59,13 @@ public class EmisTmsCostProfitController extends BaseController public TableDataInfo list(EmisTmsCostProfit emisTmsCostProfit) { startPage(); - emisTmsCostProfit.setBillCode(WaybillHelper.formatQueryValue(emisTmsCostProfit.getBillCode())); - String[] billCodeSortList = emisTmsCostProfit.getBillCode().split(","); - if(billCodeSortList.length>1){ - emisTmsCostProfit.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList)); + + if(!StringUtils.isEmpty(emisTmsCostProfit.getBillCode())) { + emisTmsCostProfit.setBillCode(WaybillHelper.formatQueryValue(emisTmsCostProfit.getBillCode())); + String[] billCodeSortList = emisTmsCostProfit.getBillCode().split(","); + if (billCodeSortList.length > 1) { + emisTmsCostProfit.getParams().put("billCodeSortList", Arrays.asList(billCodeSortList)); + } } List list = emisTmsCostProfitService.selectEmisTmsCostProfitList(emisTmsCostProfit); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleBill.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleBill.java index 9e5950f80..6ff417dc7 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleBill.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleBill.java @@ -193,7 +193,8 @@ public class EmisSettleBill extends BaseEntity // 支付二维码图片 private String qrCodePayPicUrl; - + // 支付人openId + private String openId; List subBillList; diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillPayLogService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillPayLogService.java index 76f360004..ddd1127c6 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillPayLogService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillPayLogService.java @@ -87,6 +87,16 @@ public interface IEmisSettleBillPayLogService public String genWxPayQR(String settleBillNo) throws EmisBizError; + /** + * 公众号/小程序支付 + * @param settleBillNo + * @param openId + * @return + * @throws EmisBizError + */ + public String genWxPayFromWxApp(String settleBillNo,String openId) throws EmisBizError; + + /** * 检查支付状态 * @param orderNo diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java index 7f86bf549..8bd03596e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillPayLogServiceImpl.java @@ -228,6 +228,84 @@ public class EmisSettleBillPayLogServiceImpl implements IEmisSettleBillPayLogSer } } + + /** + * 微信小程序支付 + * @param settleBillNo + * @return + * @throws EmisBizError + */ + @Override + public String genWxPayFromWxApp(String settleBillNo,String openId) throws EmisBizError { + + EmisSettleBill emisSettleBill=emisSettleBillMapper.selectSettleBillBySettleBillNo(settleBillNo); + + BigDecimal thisPayMoney=emisSettleBill.getRecMoney().subtract(emisSettleBill.getRecedMoney()); + + int amount= (int) (thisPayMoney.floatValue()*100.0f); + + String merId="1"; + float feeRate=0.0065f; + + int fee= (int) (thisPayMoney.floatValue()*feeRate); + String authCode=""; + + String payId= WaybillHelper.genPayId(); + // 产生支付订单 + EmisSettleBillPayLog emisSettleBillPayLog = new EmisSettleBillPayLog(); + emisSettleBillPayLog.setPayId(payId); + emisSettleBillPayLog.setSettleBillNo(settleBillNo); + emisSettleBillPayLog.setAmount(amount); + emisSettleBillPayLog.setPayType("wx"); + emisSettleBillPayLog.setStatus(0); + emisSettleBillPayLog.setStatusDesc("初始"); + emisSettleBillPayLog.setFee(fee); + emisSettleBillPayLog.setCurrency("CNY"); + emisSettleBillPayLog.setSubject("账单支付"); + emisSettleBillPayLog.setBody("账单支付"); + emisSettleBillPayLog.setRemark("账单支付"); + + emisSettleBillPayLogMapper.insertEmisSettleBillPayLog(emisSettleBillPayLog); + + // 公众号及小程序支付 + String channel="wxpay_pub"; + String appId=""; + String notifyUrl= Config.ERP_API_PAY_NOTIFY_URL; + ApiRes res= null; + + EmisSettleBillPayLog emisSettleBillPayLogUpd = new EmisSettleBillPayLog(); + emisSettleBillPayLogUpd.setId(emisSettleBillPayLog.getId()); + try { + res = VitePayOnlineSdk.onlinePay(channel,payId,merId,amount,fee,notifyUrl,appId,authCode,openId,"运费",emisSettleBill.getSettleBillName()+"-运费"); + log.info("支付代码生成==>{}",JSONObject.toJSONString(res)); + emisSettleBillPayLogUpd.setResponseExtra(JSON.toJSONString(res)); + if(res.isSuccess()){ + String payCode=((Map)res.getData().get("credential")).get("qr_image_url").toString(); + emisSettleBillPayLogUpd.setCredential(JSON.toJSONString(res.getData().get("credential"))); + + emisSettleBillPayLogUpd.setStatus(10); + emisSettleBillPayLogUpd.setStatusDesc("支付中"); + emisSettleBillPayLogMapper.updateEmisSettleBillPayLog(emisSettleBillPayLogUpd); + + return payCode; + } + else{ + emisSettleBillPayLogUpd.setStatus(40); + emisSettleBillPayLogUpd.setStatusDesc(res.getMessage()); + emisSettleBillPayLogMapper.updateEmisSettleBillPayLog(emisSettleBillPayLogUpd); + throw new EmisBizError(EmisBizErrorType.FAIL,res.getMessage()); + } + + } catch (Exception e) { + e.printStackTrace(); + emisSettleBillPayLogUpd.setStatus(40); + emisSettleBillPayLogUpd.setStatusDesc("exception:"+e.getMessage()); + emisSettleBillPayLogMapper.updateEmisSettleBillPayLog(emisSettleBillPayLogUpd); + throw new EmisBizError(EmisBizErrorType.FAIL,"支付异常"); + } + } + + /** * 检查支付订单 * @param payId