|
|
|
@@ -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<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 |
|
|
|
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<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); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
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; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |