From 1d7d468c65359d80291de5411e6a30014e05e044 Mon Sep 17 00:00:00 2001 From: winter Date: Mon, 18 Mar 2024 13:29:13 +0800 Subject: [PATCH] fix --- .../market/WxSettleMerchantController.java | 29 +++- .../db/migration/V20240300001_settle.sql | 5 + .../src/main/resources/excel/settle.xlsx | Bin 12609 -> 12881 bytes .../iformall/domain/po/WxSettleMerchant.java | 4 + .../service/WxSettleMerchantService.java | 9 +- .../impl/WxSettleMerchantServiceImpl.java | 161 +++++++++--------- .../mapper/WxSettleMerchantMapper.xml | 6 +- 7 files changed, 126 insertions(+), 88 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java index 032a2797c..ea2b8045f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java @@ -1,22 +1,17 @@ package com.iformall.controller.market; import com.github.pagehelper.PageInfo; -import com.iformall.annotation.SystemControllerLog; -import com.iformall.annotation.TenantIgnore; -import com.iformall.common.ErrorCode; +import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxSettleMerchant; import com.iformall.domain.po.base.BaseEntity; -import com.iformall.domain.po.base.TenantEntity; import com.iformall.exception.MallinkException; import com.iformall.service.WxSettleMerchantService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -59,8 +54,26 @@ public class WxSettleMerchantController extends BaseController { return new ResultData(e.getErrorCode(), e.getMessage()); } } + + @ApiOperation("详细") + @GetMapping("/detail") + public ResultData detail(Long id) { + if (null == id) { + return new ResultData(Result.ERROR,"参数错误"); + } + WxSettleMerchant wxSettleMerchant = wxSettleMerchantService.getById(getTenantInfo(), id); + if (null == wxSettleMerchant) { + return new ResultData(Result.ERROR,"参数错误"); + } + return new ResultData(wxSettleMerchantService.getMapDetail(wxSettleMerchant)); + } + + @ApiOperation("计算周期性费用") + @GetMapping("/calcute") + public ResultData calcutePeriodicity(@ModelAttribute WxSettleMerchant wxSettleMerchant) { + return new ResultData(wxSettleMerchantService.getMapDetail(wxSettleMerchant)); + } - @TenantIgnore @ApiOperation("导出") @GetMapping("/exportData") public void exportData(@ModelAttribute WxSettleMerchant wxSettleMerchant, HttpServletRequest request, HttpServletResponse response) { @@ -73,5 +86,7 @@ public class WxSettleMerchantController extends BaseController { } wxSettleMerchantService.exportData(record, request, response); } + + } diff --git a/mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql b/mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql index 6bcde5c74..6067f1920 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql @@ -16,6 +16,9 @@ CREATE TABLE `wx_settle_merchant` ( `zfb_sale_money` decimal(10,3) DEFAULT NULL COMMENT '支付宝销售金额', `zfb_rate` decimal(10,3) DEFAULT NULL COMMENT '支付宝扣款费率', `zfb_money` decimal(10,3) DEFAULT NULL COMMENT '支付宝结算金额', + `union_sale_money` decimal(10,3) DEFAULT NULL COMMENT '银联销售金额', + `union_rate` decimal(10,3) DEFAULT NULL COMMENT '银联扣款费率', + `union_money` decimal(10,3) DEFAULT NULL COMMENT '银联结算金额', `wx_sale_money` decimal(10,3) DEFAULT NULL COMMENT '微信销售金额', `wx_rate` decimal(10,3) DEFAULT NULL COMMENT '微信扣款费率', `wx_money` decimal(10,3) DEFAULT NULL COMMENT '微信结算金额', @@ -33,6 +36,8 @@ CREATE TABLE `wx_settle_merchant` ( `earnest_money` decimal(10,3) DEFAULT NULL COMMENT '保证金', `other_money` decimal(10,3) DEFAULT NULL COMMENT '其他', `last_remaining` decimal(10,3) DEFAULT NULL COMMENT '上次未结清', + `points_rate` decimal(10,3) DEFAULT NULL COMMENT '扣点费率', + `points_money` decimal(10,3) DEFAULT NULL COMMENT '扣点费用', `merchant_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户名称', `merchant_code` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户代码', `merchant_person` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户联系人', diff --git a/mallinkAdmin/src/main/resources/excel/settle.xlsx b/mallinkAdmin/src/main/resources/excel/settle.xlsx index b952843f2d9ee10076263e3db8fd80dc2549a2c3..2dc7e871b9ab0eca37cae3c5f5c93bec2da532f5 100644 GIT binary patch delta 6839 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 aLW0=SB>!BOg#@ws5ahyqcqP!k(EkAtQ5*OG delta 6576 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 diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java index 547c5a7f6..97ca30b30 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java @@ -85,6 +85,10 @@ public class WxSettleMerchant extends TenantEntity { private BigDecimal otherMoney; @io.swagger.annotations.ApiModelProperty(value = "上次未结清", name = "lastRemaining") private BigDecimal lastRemaining; + @io.swagger.annotations.ApiModelProperty(value = "扣点费率", name = "pointsRate") + private BigDecimal pointsRate; + @io.swagger.annotations.ApiModelProperty(value = "扣点费用", name = "pointsMoney") + private BigDecimal pointsMoney; @io.swagger.annotations.ApiModelProperty(value = "商户名称", name = "lastRemaining") private String merchantName; @io.swagger.annotations.ApiModelProperty(value = "商户代码", name = "merchantCode") diff --git a/mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java index 0df487aec..b46bc67cc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java @@ -1,9 +1,13 @@ package com.iformall.service; +import java.math.BigDecimal; +import java.util.Map; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.github.pagehelper.PageInfo; +import com.iformall.domain.dto.WxSettleMerchantDto; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.WxSettleMerchant; import com.iformall.domain.po.base.TenantEntity; @@ -27,7 +31,9 @@ public interface WxSettleMerchantService { * @return */ WxSettleMerchant getById(TenantEntity tenantEntity,Long id); - + Map getMapDetail(WxSettleMerchant record); + + /** * 保存或更新实体 * @@ -38,4 +44,5 @@ public interface WxSettleMerchantService { void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java index 8995267bb..8c629ade3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java @@ -4,30 +4,18 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.po.MallUserInfo; -import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxSettleMerchant; import com.iformall.domain.po.base.TenantEntity; -import com.iformall.domain.vo.WxCUserBasicInfoVo; import com.iformall.mapper.WxSettleMerchantMapper; -import com.iformall.service.ExcelService; import com.iformall.service.WxSettleMerchantService; import com.iformall.utils.DateUtils; import com.iformall.utils.ExcelExportUtils; - -import cn.afterturn.easypoi.cache.manager.FileLoaderImpl; -import cn.afterturn.easypoi.cache.manager.POICacheManager; -import cn.afterturn.easypoi.excel.ExcelExportUtil; -import cn.afterturn.easypoi.excel.entity.TemplateExportParams; -import cn.afterturn.easypoi.handler.inter.IExcelExportServer; - -import org.apache.poi.ss.usermodel.Workbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.*; -import java.util.stream.Collectors; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -50,7 +38,86 @@ public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{ public WxSettleMerchant getById(TenantEntity tenantEntity,Long id) { return wxSettleMerchantMapper.selectById(id, tenantEntity.getTenantId()); } - + + @Override + public Map getMapDetail(WxSettleMerchant record) { + Map valueMap = new HashMap(); + valueMap.put("beginTime", DateUtils.format(record.getBeginTime())); + valueMap.put("endTime", DateUtils.format(record.getEndTime())); + valueMap.put("confirmTime", DateUtils.format(record.getConfirmTime())); + valueMap.put("merchantName", record.getMerchantName()); + valueMap.put("merchantCode", record.getMerchantCode()); + valueMap.put("merchantPerson", record.getMerchantPerson()); + valueMap.put("merchantPhone", record.getMerchantPhone()); + valueMap.put("totalMoney", record.getTotalMoney()); + + + valueMap.put("cardSaleMoney", handleExcelData(record.getCardSaleMoney())); + valueMap.put("cardRate", handleExcelData(record.getCardRate())); + valueMap.put("cardMoney", handleExcelData(record.getCardMoney())); + valueMap.put("zfbSaleMoney", handleExcelData(record.getZfbSaleMoney())); + valueMap.put("zfbRate", handleExcelData(record.getZfbRate())); + valueMap.put("zfbMoney", handleExcelData(record.getZfbMoney())); + valueMap.put("unionSaleMoney", handleExcelData(record.getUnionSaleMoney())); + valueMap.put("unionRate", handleExcelData(record.getUnionRate())); + valueMap.put("unionMoney", handleExcelData(record.getUnionMoney())); + valueMap.put("wxSaleMoney", handleExcelData(record.getWxSaleMoney())); + valueMap.put("wxRate", handleExcelData(record.getWxRate())); + valueMap.put("wxMoney", handleExcelData(record.getWxMoney())); + valueMap.put("eraseZeroSaleMoney", handleExcelData(record.getEraseZeroSaleMoney())); + valueMap.put("eraseZeroRate", handleExcelData(record.getEraseZeroRate())); + valueMap.put("eraseZeroMoney", handleExcelData(record.getEraseZeroMoney())); + valueMap.put("cashSaleMoney", handleExcelData(record.getCashSaleMoney())); + valueMap.put("cashRate", handleExcelData(record.getCashRate())); + valueMap.put("cashMoney", handleExcelData(record.getCashMoney())); + valueMap.put("totalSaleMoney", calcuteAdd(record.getCardSaleMoney(),record.getZfbSaleMoney(),record.getUnionSaleMoney(), + record.getWxSaleMoney(),record.getEraseZeroSaleMoney(),record.getCashSaleMoney())); + valueMap.put("totalReduceMoney", calcuteAdd(record.getCardMoney(),record.getZfbMoney(),record.getUnionMoney(),record.getWxMoney(), + record.getEraseZeroMoney(),record.getCashMoney())); + + + valueMap.put("rentMoney", handleExcelData(record.getRentMoney())); + valueMap.put("rentContractMoney", handleExcelData(record.getRentContractMoney())); + valueMap.put("employeeManageMoney", handleExcelData(record.getEmployeeManageMoney())); + valueMap.put("salesSlipMoney", handleExcelData(record.getSalesSlipMoney())); + valueMap.put("salary", handleExcelData(record.getSalary())); + valueMap.put("earnestMoney", handleExcelData(record.getEarnestMoney())); + valueMap.put("otherMoney", handleExcelData(record.getOtherMoney())); + valueMap.put("lastRemaining", handleExcelData(record.getLastRemaining())); + valueMap.put("pointsRate", handleExcelData(record.getPointsRate())); + valueMap.put("pointsMoney", handleExcelData(record.getPointsMoney())); + valueMap.put("totalTempMoney", calcuteAdd(record.getRentMoney(),record.getRentContractMoney(),record.getEmployeeManageMoney(),record.getSalesSlipMoney(), + record.getSalary(),record.getEarnestMoney(),record.getOtherMoney(),record.getLastRemaining(),record.getPointsMoney())); + + valueMap.put("totalMoneyDX", valueMap); + valueMap.put("actualMoneyDX", valueMap); + valueMap.put("actualMoney", record.getActualMoney()); + + valueMap.put("accountName", record.getAccountName()); + valueMap.put("accountBank", record.getAccountBank()); + valueMap.put("accountNumber", record.getAccountNumber()); + return valueMap; + } + + private BigDecimal calcuteAdd(BigDecimal... args) { + BigDecimal result = new BigDecimal(0); + for (int i = 0 ; i < args.length ; i ++) { + BigDecimal _c = args[i]; + if (null != _c) { + result.add(_c); + } + } + return result.setScale(3,BigDecimal.ROUND_HALF_UP); + } + + + private Object handleExcelData(Object value) { + if (null == value) { + return "-"; + } + return value; + } + @Override public void saveOrUpdate(WxSettleMerchant record,MallUserInfo operator) { Date date = new Date(); @@ -68,76 +135,14 @@ public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{ wxSettleMerchantMapper.updateById(record); } } - + @Override public void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response) { - Map valueMap = new HashMap(); - valueMap.put("beginTime", DateUtils.format(record.getBeginTime())); - valueMap.put("endTime", DateUtils.format(record.getEndTime())); - valueMap.put("confirmTime", DateUtils.format(record.getConfirmTime())); - valueMap.put("merchantName", record.getMerchantName()); - valueMap.put("merchantCode", record.getMerchantCode()); - valueMap.put("merchantPerson", record.getMerchantPerson()); - valueMap.put("merchantPhone", record.getMerchantPhone()); - valueMap.put("totalMoney", record.getTotalMoney()); - - - valueMap.put("cardSaleMoney", valueMap); - valueMap.put("cardRate", valueMap); - valueMap.put("cardMoney", valueMap); - valueMap.put("zfbSaleMoney", valueMap); - valueMap.put("zfbRate", valueMap); - valueMap.put("zfbMoney", valueMap); - valueMap.put("unionSaleMoney", valueMap); - valueMap.put("unionRate", valueMap); - valueMap.put("unionMoney", valueMap); - valueMap.put("wxSaleMoney", valueMap); - valueMap.put("wxRate", valueMap); - valueMap.put("wxMoney", valueMap); - valueMap.put("eraseZeroSaleMoney", valueMap); - valueMap.put("eraseZeroRate", valueMap); - valueMap.put("eraseZeroMoney", valueMap); - valueMap.put("cashSaleMoney", valueMap); - valueMap.put("cashRate", valueMap); - valueMap.put("cashMoney", valueMap); - valueMap.put("totalSaleMoney", valueMap); - valueMap.put("totalReduceMoney", valueMap); - - - valueMap.put("rentMoney", valueMap); - valueMap.put("rentContractMoney", valueMap); - valueMap.put("employeeManageMoney", valueMap); - valueMap.put("salesSlipMoney", valueMap); - valueMap.put("salary", valueMap); - valueMap.put("earnestMoney", valueMap); - valueMap.put("otherMoney", valueMap); - valueMap.put("lastRemaining", valueMap); - valueMap.put("totalTempMoney", valueMap); - - valueMap.put("totalMoneyDX", valueMap); - valueMap.put("actualMoneyDX", valueMap); - valueMap.put("actualMoney", valueMap); - - valueMap.put("accountName", valueMap); - valueMap.put("accountBank", valueMap); - valueMap.put("accountNumber", valueMap); - + Map valueMap = getMapDetail(record); ExcelExportUtils.exportByModel("excel/settle.xlsx","供应商结算单_"+record.getMerchantName(),"供应商结算单", valueMap,request,response); } - public List selectListForExcelExport(Object queryParams, int page) { - WxSettleMerchant record = (WxSettleMerchant) queryParams; - WxSettleMerchant _r = wxSettleMerchantMapper.selectById(record.getId(), record.getTenantId()); - if (null == _r) { - return null; - } - List retList = new ArrayList(); - retList.add(_r); - return retList; - } - - } diff --git a/mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml index 5cd20e361..57dee57ac 100644 --- a/mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml @@ -39,6 +39,8 @@ + + @@ -55,8 +57,8 @@ `actual_money`,`card_sale_money`,`card_rate`,`card_money`,`zfb_sale_money`,`zfb_rate`,`zfb_money`,`union_sale_money`,`union_rate`, `union_money`,`wx_sale_money`,`wx_rate`,`wx_money`,`erase_zero_sale_money`,`erase_zero_rate`,`erase_zero_money`,`cash_sale_money`, `cash_rate`,`cash_money`,`rent_money`,`rent_contract_money`,`employee_manage_money`,`sales_slip_money`,`salary`,`earnest_money`, - `other_money`,`last_remaining`,`merchant_name`,`merchant_code`,`merchant_person`,`merchant_phone`,`account_name`,`account_bank`, - `account_number`,`create_by`,`update_by` + `other_money`,`last_remaining`,`points_rate`,`points_money`,`merchant_name`,`merchant_code`,`merchant_person`,`merchant_phone`, + `account_name`,`account_bank`,`account_number`,`create_by`,`update_by`