winter пре 2 година
родитељ
комит
1d7d468c65
7 измењених фајлова са 126 додато и 88 уклоњено
  1. +22
    -7
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java
  2. +5
    -0
      mallinkAdmin/src/main/resources/db/migration/V20240300001_settle.sql
  3. BIN
      mallinkAdmin/src/main/resources/excel/settle.xlsx
  4. +4
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java
  5. +8
    -1
      mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java
  6. +83
    -78
      mallinkService/src/main/java/com/iformall/service/impl/WxSettleMerchantServiceImpl.java
  7. +4
    -2
      mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml

+ 22
- 7
mallinkAdmin/src/main/java/com/iformall/controller/market/WxSettleMerchantController.java Прегледај датотеку

@@ -1,22 +1,17 @@
package com.iformall.controller.market; package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; 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.common.ResultData;
import com.iformall.controller.base.BaseController; import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxSettleMerchant; import com.iformall.domain.po.WxSettleMerchant;
import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxSettleMerchantService; import com.iformall.service.WxSettleMerchantService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;


@@ -59,8 +54,26 @@ public class WxSettleMerchantController extends BaseController {
return new ResultData(e.getErrorCode(), e.getMessage()); 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("导出") @ApiOperation("导出")
@GetMapping("/exportData") @GetMapping("/exportData")
public void exportData(@ModelAttribute WxSettleMerchant wxSettleMerchant, HttpServletRequest request, HttpServletResponse response) { public void exportData(@ModelAttribute WxSettleMerchant wxSettleMerchant, HttpServletRequest request, HttpServletResponse response) {
@@ -73,5 +86,7 @@ public class WxSettleMerchantController extends BaseController {
} }
wxSettleMerchantService.exportData(record, request, response); wxSettleMerchantService.exportData(record, request, response);
} }



} }

+ 5
- 0
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_sale_money` decimal(10,3) DEFAULT NULL COMMENT '支付宝销售金额',
`zfb_rate` decimal(10,3) DEFAULT NULL COMMENT '支付宝扣款费率', `zfb_rate` decimal(10,3) DEFAULT NULL COMMENT '支付宝扣款费率',
`zfb_money` 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_sale_money` decimal(10,3) DEFAULT NULL COMMENT '微信销售金额',
`wx_rate` decimal(10,3) DEFAULT NULL COMMENT '微信扣款费率', `wx_rate` decimal(10,3) DEFAULT NULL COMMENT '微信扣款费率',
`wx_money` 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 '保证金', `earnest_money` decimal(10,3) DEFAULT NULL COMMENT '保证金',
`other_money` decimal(10,3) DEFAULT NULL COMMENT '其他', `other_money` decimal(10,3) DEFAULT NULL COMMENT '其他',
`last_remaining` 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_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户名称',
`merchant_code` varchar(30) 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 '商户联系人', `merchant_person` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商户联系人',


BIN
mallinkAdmin/src/main/resources/excel/settle.xlsx Прегледај датотеку


+ 4
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxSettleMerchant.java Прегледај датотеку

@@ -85,6 +85,10 @@ public class WxSettleMerchant extends TenantEntity {
private BigDecimal otherMoney; private BigDecimal otherMoney;
@io.swagger.annotations.ApiModelProperty(value = "上次未结清", name = "lastRemaining") @io.swagger.annotations.ApiModelProperty(value = "上次未结清", name = "lastRemaining")
private BigDecimal 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") @io.swagger.annotations.ApiModelProperty(value = "商户名称", name = "lastRemaining")
private String merchantName; private String merchantName;
@io.swagger.annotations.ApiModelProperty(value = "商户代码", name = "merchantCode") @io.swagger.annotations.ApiModelProperty(value = "商户代码", name = "merchantCode")


+ 8
- 1
mallinkService/src/main/java/com/iformall/service/WxSettleMerchantService.java Прегледај датотеку

@@ -1,9 +1,13 @@
package com.iformall.service; package com.iformall.service;


import java.math.BigDecimal;
import java.util.Map;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.domain.dto.WxSettleMerchantDto;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxSettleMerchant; import com.iformall.domain.po.WxSettleMerchant;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
@@ -27,7 +31,9 @@ public interface WxSettleMerchantService {
* @return * @return
*/ */
WxSettleMerchant getById(TenantEntity tenantEntity,Long id); WxSettleMerchant getById(TenantEntity tenantEntity,Long id);

Map<String,Object> getMapDetail(WxSettleMerchant record);
/** /**
* 保存或更新实体 * 保存或更新实体
* *
@@ -38,4 +44,5 @@ public interface WxSettleMerchantService {
void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response); void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response);



} }

+ 83
- 78
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.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxSettleMerchant; import com.iformall.domain.po.WxSettleMerchant;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxCUserBasicInfoVo;
import com.iformall.mapper.WxSettleMerchantMapper; import com.iformall.mapper.WxSettleMerchantMapper;
import com.iformall.service.ExcelService;
import com.iformall.service.WxSettleMerchantService; import com.iformall.service.WxSettleMerchantService;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import com.iformall.utils.ExcelExportUtils; 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.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;


@@ -50,7 +38,86 @@ public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{
public WxSettleMerchant getById(TenantEntity tenantEntity,Long id) { public WxSettleMerchant getById(TenantEntity tenantEntity,Long id) {
return wxSettleMerchantMapper.selectById(id, tenantEntity.getTenantId()); return wxSettleMerchantMapper.selectById(id, tenantEntity.getTenantId());
} }

@Override
public Map<String,Object> getMapDetail(WxSettleMerchant record) {
Map<String,Object> valueMap = new HashMap<String,Object>();
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 @Override
public void saveOrUpdate(WxSettleMerchant record,MallUserInfo operator) { public void saveOrUpdate(WxSettleMerchant record,MallUserInfo operator) {
Date date = new Date(); Date date = new Date();
@@ -68,76 +135,14 @@ public class WxSettleMerchantServiceImpl implements WxSettleMerchantService{
wxSettleMerchantMapper.updateById(record); wxSettleMerchantMapper.updateById(record);
} }
} }
@Override @Override
public void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response) { public void exportData(WxSettleMerchant record, HttpServletRequest request, HttpServletResponse response) {
Map<String,Object> valueMap = new HashMap<String,Object>();
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<String,Object> valueMap = getMapDetail(record);
ExcelExportUtils.exportByModel("excel/settle.xlsx","供应商结算单_"+record.getMerchantName(),"供应商结算单", valueMap,request,response); ExcelExportUtils.exportByModel("excel/settle.xlsx","供应商结算单_"+record.getMerchantName(),"供应商结算单", valueMap,request,response);
} }


public List<Object> selectListForExcelExport(Object queryParams, int page) {
WxSettleMerchant record = (WxSettleMerchant) queryParams;
WxSettleMerchant _r = wxSettleMerchantMapper.selectById(record.getId(), record.getTenantId());
if (null == _r) {
return null;
}
List<Object> retList = new ArrayList<Object>();
retList.add(_r);
return retList;
}



} }

+ 4
- 2
mallinkService/src/main/resources/mapper/WxSettleMerchantMapper.xml Прегледај датотеку

@@ -39,6 +39,8 @@
<result column="earnest_money" jdbcType="DECIMAL" property="earnestMoney" /> <result column="earnest_money" jdbcType="DECIMAL" property="earnestMoney" />
<result column="other_money" jdbcType="DECIMAL" property="otherMoney" /> <result column="other_money" jdbcType="DECIMAL" property="otherMoney" />
<result column="last_remaining" jdbcType="DECIMAL" property="lastRemaining" /> <result column="last_remaining" jdbcType="DECIMAL" property="lastRemaining" />
<result column="points_rate" jdbcType="DECIMAL" property="pointsRate" />
<result column="points_money" jdbcType="DECIMAL" property="pointsMoney" />
<result column="merchant_name" jdbcType="VARCHAR" property="merchantName" /> <result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
<result column="merchant_code" jdbcType="VARCHAR" property="merchantCode" /> <result column="merchant_code" jdbcType="VARCHAR" property="merchantCode" />
<result column="merchant_person" jdbcType="VARCHAR" property="merchantPerson" /> <result column="merchant_person" jdbcType="VARCHAR" property="merchantPerson" />
@@ -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`, `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`, `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`, `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`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


Loading…
Откажи
Сачувај