From 96264ee32594bfb5b770453b9442cda1ef8f7dda Mon Sep 17 00:00:00 2001 From: winter Date: Tue, 7 May 2024 17:45:01 +0800 Subject: [PATCH] fix --- .../controller/rent/WxBillAllController.java | 99 +++++++++++++++--- .../com/iformall/domain/po/WxMerchant.java | 1 + .../domain/po/base/WxBillBaseEntity.java | 9 +- .../iformall/domain/vo/WxBillHotNotify.java | 34 ++++++ .../service/helper/WxBillAllHelper.java | 83 +++++++++++++++ .../contract-word-template/bill_owe.docx | Bin 16914 -> 17070 bytes .../contract-word-template/bill_owe_one.docx | Bin 0 -> 17087 bytes 7 files changed, 205 insertions(+), 21 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxBillHotNotify.java create mode 100644 mallinkService/src/main/resources/contract-word-template/bill_owe_one.docx diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java index dfee69e20..2da84c379 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java @@ -89,6 +89,13 @@ public class WxBillAllController extends BaseController { @Autowired ExcelService excelService; + /** + * 商户账单汇总计费列表 + * @param wxMerchant + * @param pageNum + * @param pageSize + * @return + */ @GetMapping("merchantBillList") @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @@ -153,7 +160,12 @@ public class WxBillAllController extends BaseController { return new PageInfo(new ArrayList()); } - + /** + * 导出商户账单汇总计费 + * @param wxMerchant + * @param request + * @param response + */ @GetMapping("exportMerchantBillList") public void exportBill(@ModelAttribute WxMerchant wxMerchant, HttpServletRequest request, HttpServletResponse response) { wxMerchant.updateTenantInfo(getTenantInfo()); @@ -167,7 +179,7 @@ public class WxBillAllController extends BaseController { } /** - * 商户计费详情 + * 商户汇总计费详情 * @param wxMerchant * @return */ @@ -222,6 +234,10 @@ public class WxBillAllController extends BaseController { return new ResultData(vo); } + /** + * 账单类型 + * @return + */ @GetMapping("billTypes") public ResultData billTypes() { Map tmap = new HashMap(); @@ -231,6 +247,30 @@ public class WxBillAllController extends BaseController { return new ResultData(tmap); } + /** + * 欠缴账单统计-红灯区 + * @param wxBillAll + * @param pageNum + * @param pageSize + * @return + */ +// @GetMapping("oweBillHot") +// public ResultData oweBillHot() { +// wxMerchant.updateTenantInfo(getTenantInfo()); +// WxUserDataRule dataRule = this.getCurrentDataFloors(); +// if (null != dataRule) { +// wxMerchant.setFloorForRule(dataRule.getFloorIds()); +// wxMerchant.setBusinessForRule(dataRule.getBussinessIds()); +// } +// wxMerchant.setOnlyOwe(EnumYesOrNo.YES.getCode()); +// EnumBillAllType btype = EnumBillAllType.getEnum(billType); +// if (null == btype) { +// return new ResultData(Result.ERROR,"分类非法"); +// } +// Date starttime = wxMerchant.getStarttime(); +// Date enttime = wxMerchant.getEndtime(); +// return new ResultData(billAllHelper.getBillSum(btype, wxMerchant,starttime,enttime)); +// } /** * 欠缴账单统计 @@ -316,6 +356,46 @@ public class WxBillAllController extends BaseController { excelService.exportExcel(page.getList(), null, "商户账单总览数据", WxBillBaseEntity.class, "商户欠缴账单_"+btype.getMessage()+".xlsx", response, false); } + /** + * 生成单账单催缴 + * @param wxBillAll + * @param pageNum + * @param pageSize + * @return + */ + @GetMapping("exportOneOweBill") + public void exportOneOweBill(Long id,Integer billType, HttpServletRequest request, HttpServletResponse response) { + if (null == billType) { + return ; + } + EnumBillAllType btype = EnumBillAllType.getEnum(billType); + if (null == btype) { + return ; + } + WxBillBaseEntity bill = billAllHelper.getOneBill(getTenantInfo(), btype, id); + if (null == bill) { + return; + } + billAllHelper.exportOneBillOweWord(bill, request, response); + } + + //###################################### 老代码 ###################################### + + @GetMapping("exportOweBill") + @SystemControllerLog(description = "费用收缴数据-生成催缴单") + public void exportOweBill(@ModelAttribute WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) { + logger.debug("[" + getIpAddr() + "] WxBillAllController::exportOweBill"); + if (null == wxBillAll) { + wxBillAll = new WxBillAll(); + } + //默认查当月第一天到今天 + if (StringUtils.isNotBlank(wxBillAll.getEndtime())) { + wxBillAll.setEndtime(wxBillAll.getEndtime() + " 23:59:59"); + } + wxBillAll.updateTenantInfo(getTenantInfo()); + + wxBillAllService.exportOweBill(wxBillAll, request, response); + } /** * 欠缴商户列表 @@ -498,21 +578,6 @@ public class WxBillAllController extends BaseController { } - @GetMapping("exportOweBill") - @SystemControllerLog(description = "费用收缴数据-生成催缴单") - public void exportOweBill(@ModelAttribute WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) { - logger.debug("[" + getIpAddr() + "] WxBillAllController::exportOweBill"); - if (null == wxBillAll) { - wxBillAll = new WxBillAll(); - } - //默认查当月第一天到今天 - if (StringUtils.isNotBlank(wxBillAll.getEndtime())) { - wxBillAll.setEndtime(wxBillAll.getEndtime() + " 23:59:59"); - } - wxBillAll.updateTenantInfo(getTenantInfo()); - - wxBillAllService.exportOweBill(wxBillAll, request, response); - } @PostMapping("updateReceivePay") @SystemControllerLog(description = "账单-更新") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index fc0176061..94a97394a 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -447,4 +447,5 @@ public class WxMerchant extends TenantEntity { @TableField(exist = false) private Integer onlyOwe; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/base/WxBillBaseEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/base/WxBillBaseEntity.java index fb0404e2d..17f5e26e9 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/base/WxBillBaseEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/base/WxBillBaseEntity.java @@ -36,6 +36,7 @@ public class WxBillBaseEntity extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "租赁商铺类型", name = "rentShopType") protected Integer rentShopType; + @Excel(name = "实际应收总金额(元)", width = 20, orderNum = "8") @io.swagger.annotations.ApiModelProperty(value="实际应收金额(做了减免之后和need可能不一样)",name="receivePay") protected String receivePay; @@ -59,16 +60,16 @@ public class WxBillBaseEntity extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="欠缴",name="owe") protected String owe; - @Excel(name = "实际应收总金额(元)(包括滞纳金服务费等)", width = 20, orderNum = "8") - @io.swagger.annotations.ApiModelProperty(value="实际应收金额",name="realReceivePay") + //@Excel(name = "实际应收总金额(元)", width = 20, orderNum = "8") + @io.swagger.annotations.ApiModelProperty(value="实际应收金额(加上了滞纳金服务费等费用)",name="realReceivePay") @TableField(exist = false) protected String realReceivePay; - @Excel(name = "实际应收总金额(元)(包括滞纳金服务费等)", width = 20, orderNum = "8") + @Excel(name = "账单类型名称", width = 20, orderNum = "8") @io.swagger.annotations.ApiModelProperty(value="账单类型名称",name="billTypeName") protected String billTypeName; - @Excel(name = "实际应收总金额(元)(包括滞纳金服务费等)", width = 20, orderNum = "9") + @Excel(name = "备注", width = 20, orderNum = "9") @io.swagger.annotations.ApiModelProperty(value="备注",name="billRemark") protected String billRemark; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillHotNotify.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillHotNotify.java new file mode 100644 index 000000000..8f38c2fc6 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillHotNotify.java @@ -0,0 +1,34 @@ +package com.iformall.domain.vo; + +import lombok.Data; +import java.io.Serializable; +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Date; + +import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; + +@Data +public class WxBillHotNotify implements Serializable { + + private static final long serialVersionUID = 1L; + + //EnumBillAllType; + private Integer billType; + private String billTypeName; + private Integer totalCount = 0; + private String totalMoney = "0"; + private BigDecimal totalMoneyNumber; + private Date minBeginTime; + + public BigDecimal getTotalMoneyNumber() { + if (StringUtils.isNotBlank(totalMoney)) { + this.totalMoneyNumber = new BigDecimal(totalMoney).setScale(2, RoundingMode.HALF_UP); + }else { + this.totalMoneyNumber = new BigDecimal(0); + } + return totalMoneyNumber; + } + + +} diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java index 8d445cebc..58ab26edd 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java @@ -5,7 +5,13 @@ import java.math.RoundingMode; import java.util.ArrayList; import java.util.Collection; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.UUID; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -24,6 +30,7 @@ import com.iformall.domain.po.WxBillRentManage; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.WxBillBaseEntity; +import com.iformall.domain.vo.WxBillHotNotify; import com.iformall.domain.vo.WxBillSum; import com.iformall.domain.vo.WxShopVo; import com.iformall.enums.EnumBillAllType; @@ -39,10 +46,18 @@ import com.iformall.service.WxBillPropertyDepositService; import com.iformall.service.WxBillPropertyService; import com.iformall.service.WxBillRentManageService; import com.iformall.service.WxBillRentService; +import com.iformall.service.WxMallService; +import com.iformall.service.WxMerchantService; import com.iformall.service.WxShopService; +import com.iformall.utils.DateUtils; +import com.iformall.utils.PriceUtil; +import com.iformall.utils.WordUtil; @Service public class WxBillAllHelper { + + @Autowired + private String fmUploadDir; @Autowired private WxBillRentService wxBillRentService; @@ -71,6 +86,12 @@ public class WxBillAllHelper { @Autowired private WxShopService wxShopService; + @Autowired + private WxMerchantService wxMerchantService; + + @Autowired + private WxMallService wxMallService; + private void updateQueryParm(WxMerchant wxMerchant,WxBillBaseEntity bill,Date starttime,Date enttime) { bill.updateTenantInfo(wxMerchant); @@ -103,6 +124,11 @@ public class WxBillAllHelper { return wxBillRentService.getMerchantIds(br); } +// public WxBillHotNotify getBillRentHotNotify(WxMerchant wxMerchant,Date starttime, Date enttime) { +// WxBillRent br = new WxBillRent(); +// updateQueryParm(wxMerchant, br,starttime,enttime); +// } + public WxBillSum getBillRentManageSum(WxMerchant wxMerchant,Date starttime, Date enttime,EnumRentContractManageFeeType manageFeeType) { WxBillRentManage brm = new WxBillRentManage(); if (null != manageFeeType) { @@ -362,4 +388,61 @@ public class WxBillAllHelper { } return null; } + + public WxBillBaseEntity getOneBill(TenantEntity tenantEntity,EnumBillAllType billType,Long id) { + if (billType == EnumBillAllType.RENT) { + return wxBillRentService.getById(tenantEntity, id); + }else if (billType == EnumBillAllType.RENT_BUSSINESS_MANAGE) { + return wxBillRentManageService.getById(tenantEntity, id); + }else if (billType == EnumBillAllType.RENT_OPERATION_MANAGE) { + return wxBillRentManageService.getById(tenantEntity, id); + }else if (billType == EnumBillAllType.RENT_DEPOSIT) { + return wxBillRentDepositService.getById(id); + }else if (billType == EnumBillAllType.PROPERTY) { + return wxBillPropertyService.getById(tenantEntity, id); + }else if (billType == EnumBillAllType.PROPERTY_DEPOSIT) { + return wxBillPropertyDepositService.getById(id); + }else if (billType == EnumBillAllType.DAILY) { + return wxBillDailyService.getById(tenantEntity, id); + }else if (billType == EnumBillAllType.OTHER) { + return wxBillOtherService.getById(tenantEntity, id); + }else if (billType == EnumBillAllType.OTHER_DEPOSIT) { + return wxBillOtherDepositService.getById(tenantEntity, id); + } + return null; + } + + public void exportOneBillOweWord(WxBillBaseEntity bill,HttpServletRequest request, HttpServletResponse response) { + String templatePath = "contract-word-template/bill_owe_one.docx"; + String filepath = fmUploadDir; + String filename = UUID.randomUUID() + ".docx"; + String exportFileName = "催缴单"; + Map result = new HashMap<>(); + result.put("starttime", DateUtils.date2String(bill.getStarttime(),DateUtils.DATE_PATTERN)); + result.put("endtime", DateUtils.date2String(bill.getEndtime(),DateUtils.DATE_PATTERN)); + WxMerchant m = wxMerchantService.selectById(bill.getMerchantId()); + if (null != m) { + result.put("shopNumber", getMerchantShopNumber(m)); + result.put("merchantName", m.getName()); + result.put("linkPerson", m.getLinkPerson()); + result.put("linkPhone", m.getLinkPhone()); + exportFileName = exportFileName+"_"+m.getName(); + } + result.put("billTypeName", bill.getBillTypeName()); + exportFileName = exportFileName +"_"+ bill.getBillTypeName(); + result.put("billRemark", bill.getBillRemark()); + result.put("receivePay", bill.getReceivePay()); + result.put("pay", bill.getPay()); + result.put("owe", bill.getOwe()); + result.put("number", "JF" + DateUtils.getSystemTime("yyyyMMddHHmmss")); + result.put("summaryUpper", PriceUtil.number2CNMontrayUnit(new BigDecimal(bill.getOwe()).setScale(2,RoundingMode.HALF_UP))); + result.put("mall", wxMallService.getByTenantInfo(bill).getName()); + result.put("createtime", DateUtils.date2String(new Date())); + exportFileName = exportFileName +".docx"; + WordUtil.exportWord(templatePath, filepath, filename, exportFileName, result, request, response, null); + } + +// public WxBillHotNotify getHotNotify() { +// +// } } diff --git a/mallinkService/src/main/resources/contract-word-template/bill_owe.docx b/mallinkService/src/main/resources/contract-word-template/bill_owe.docx index d3f1ba1d41f24c58155c1882ef0c9305fb7abab0..63718a79eba41dae4089ef31b6de83617b19fa7a 100644 GIT binary patch delta 12253 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 PQc#c>Ei9YhKMMaJ9tise diff --git a/mallinkService/src/main/resources/contract-word-template/bill_owe_one.docx b/mallinkService/src/main/resources/contract-word-template/bill_owe_one.docx new file mode 100644 index 0000000000000000000000000000000000000000..0d64017c026593cec8db3b5e663a1a8b78f70689 GIT binary patch literal 17087 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