From fdd04458aa433ed4b9a771e46817116d7c63e32b Mon Sep 17 00:00:00 2001 From: winter Date: Mon, 6 May 2024 16:15:40 +0800 Subject: [PATCH] fix --- .../controller/rent/WxBillAllController.java | 339 ++++++------------ .../service/helper/WxBillAllHelper.java | 196 ++++++++++ .../service/helper/WxRentContractHelper.java | 79 ++-- .../service/impl/WxBillRentServiceImpl.java | 10 +- .../impl/WxRentContractServiceImpl.java | 8 +- 5 files changed, 349 insertions(+), 283 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java 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 f0fe4f8f4..4cb73b7e1 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java @@ -1,6 +1,7 @@ package com.iformall.controller.rent; import com.alibaba.fastjson.JSONArray; +import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; import com.iformall.common.Result; @@ -19,10 +20,13 @@ import com.iformall.domain.po.WxShop; import com.iformall.domain.po.WxUserDataRule; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxBillAll; +import com.iformall.domain.vo.WxBillAllVo; import com.iformall.domain.vo.WxBillExcelTemplate; import com.iformall.domain.vo.WxBillSum; import com.iformall.domain.vo.WxMerchantBillVo; +import com.iformall.domain.vo.WxMerchantMicroPayVo; import com.iformall.domain.vo.WxShopVo; +import com.iformall.service.ExcelService; import com.iformall.service.WxBillAllService; import com.iformall.service.WxBillDailyService; import com.iformall.service.WxBillDepositService; @@ -35,6 +39,7 @@ import com.iformall.service.WxBillRentService; import com.iformall.service.WxMerchantService; import com.iformall.service.WxPayAccountBillService; import com.iformall.service.WxShopService; +import com.iformall.service.helper.WxBillAllHelper; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -65,42 +70,19 @@ public class WxBillAllController extends BaseController { @Autowired private WxBillAllService wxBillAllService; + private Logger logger = LoggerFactory.getLogger(WxBillAllController.class); + @Autowired - private WxMerchantService wxMerchantService; - - @Autowired - private WxBillRentService wxBillRentService; - - @Autowired - private WxBillRentManageService wxBillRentManageService; - - @Autowired - private WxBillDepositService wxBillRentDepositService; - - @Autowired - private WxBillPropertyService wxBillPropertyService; - - @Autowired - private WxBillPropertyDepositService wxBillPropertyDepositService; - - @Autowired - private WxBillDailyService wxBillDailyService; - - @Autowired - private WxBillOtherService wxBillOtherService; + WxPayAccountBillService wxPayAccountBillService; @Autowired - private WxBillOtherDepositService wxBillOtherDepositService; + WxBillAllHelper billAllHelper; @Autowired - private WxShopService wxShopService; - + private WxMerchantService wxMerchantService; - - private Logger logger = LoggerFactory.getLogger(WxBillAllController.class); - @Autowired - WxPayAccountBillService wxPayAccountBillService; + ExcelService excelService; @GetMapping("merchantBillList") @ApiImplicitParams({ @@ -113,175 +95,68 @@ public class WxBillAllController extends BaseController { wxMerchant.setFloorForRule(dataRule.getFloorIds()); wxMerchant.setBusinessForRule(dataRule.getBussinessIds()); } - Date starttime = wxMerchant.getStarttime(); - Date enttime = wxMerchant.getEndtime(); - wxMerchant.setStarttime(null); - wxMerchant.setEndtime(null); - PageInfo merchantPage = wxMerchantService.listAsPage(wxMerchant, pageNum, pageSize); - if (null != merchantPage && null != merchantPage.getList() && merchantPage.getList().size() > 0 ) { - List retList = new ArrayList(); - for (int i = 0 ; i < merchantPage.getList().size(); i ++) { - WxMerchantBillVo vo = new WxMerchantBillVo(); - WxMerchant m = merchantPage.getList().get(i); - vo.setMerchantId(m.getId()); - vo.setMerchantName(m.getName()); - vo.setShopNumber(getMerchantShopNumber(m)); - - WxBillSum rentSum = getBillRentSum(wxMerchant,starttime, enttime); - WxBillSum rentManageSum = getBillRentManage(wxMerchant, starttime, enttime); - WxBillSum rentDepositSum = getBillDeposit(wxMerchant, starttime, enttime); - WxBillSum propertySum = getBillProperty(wxMerchant, starttime, enttime); - WxBillSum propertyDepositSum = getBillPropertyDeposit(wxMerchant, starttime, enttime); - WxBillSum dailySum = getBillDaily(wxMerchant, starttime, enttime); - WxBillSum otherSum = getBillOther(wxMerchant, starttime, enttime); - WxBillSum otherDepositSum = getBillOtherDeposit(wxMerchant, starttime, enttime); - - vo.setNeedPay(calcuteSum(rentSum.getNeedPay(),rentManageSum.getNeedPay(),rentDepositSum.getNeedPay(),propertySum.getNeedPay(), - propertyDepositSum.getNeedPay(),dailySum.getNeedPay(),otherSum.getNeedPay(),otherDepositSum.getNeedPay())); - vo.setPaid(calcuteSum(rentSum.getPaid(),rentManageSum.getPaid(),rentDepositSum.getPaid(),propertySum.getPaid(), - propertyDepositSum.getPaid(),dailySum.getPaid(),otherSum.getPaid(),otherDepositSum.getPaid())); - vo.setOwe(calcuteSum(rentSum.getOwe(),rentManageSum.getOwe(),rentDepositSum.getOwe(),propertySum.getOwe(), - propertyDepositSum.getOwe(),dailySum.getOwe(),otherSum.getOwe(),otherDepositSum.getOwe())); - - retList.add(vo); - } - return new ResultData(retList); - } - return new ResultData(); + return new ResultData(getVoPage(wxMerchant, pageNum, pageSize)); } - private WxBillSum getBillRentSum(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillRent br = new WxBillRent(); - br.updateTenantInfo(tenantEntity); - br.setStarttime(starttime); - br.setEndtime(enttime); - WxBillSum rentSum = wxBillRentService.getBillMonthSum(br); - if (null == rentSum) { - rentSum = new WxBillSum(); - } - rentSum.setBillName("租赁费用"); - return rentSum; + private PageInfo getVoPage(WxMerchant wxMerchant,Integer pageNum, Integer pageSize) { + Date starttime = wxMerchant.getStarttime(); + Date enttime = wxMerchant.getEndtime(); + wxMerchant.setStarttime(null); + wxMerchant.setEndtime(null); + PageInfo merchantPage = wxMerchantService.listAsPage(wxMerchant, pageNum, pageSize); + if (null != merchantPage && null != merchantPage.getList() && merchantPage.getList().size() > 0 ) { + List retList = new ArrayList(); + for (int i = 0 ; i < merchantPage.getList().size(); i ++) { + WxMerchantBillVo vo = new WxMerchantBillVo(); + WxMerchant m = merchantPage.getList().get(i); + vo.setMerchantId(m.getId()); + vo.setMerchantName(m.getName()); + vo.setShopNumber(billAllHelper.getMerchantShopNumber(m)); + + WxBillSum rentSum = billAllHelper.getBillRentSum(wxMerchant,starttime, enttime); + WxBillSum rentManageSum = billAllHelper.getBillRentManage(wxMerchant, starttime, enttime); + WxBillSum rentDepositSum = billAllHelper.getBillDeposit(wxMerchant, starttime, enttime); + WxBillSum propertySum = billAllHelper.getBillProperty(wxMerchant, starttime, enttime); + WxBillSum propertyDepositSum = billAllHelper.getBillPropertyDeposit(wxMerchant, starttime, enttime); + WxBillSum dailySum = billAllHelper.getBillDaily(wxMerchant, starttime, enttime); + WxBillSum otherSum = billAllHelper.getBillOther(wxMerchant, starttime, enttime); + WxBillSum otherDepositSum = billAllHelper.getBillOtherDeposit(wxMerchant, starttime, enttime); + + vo.setNeedPay(billAllHelper.calcuteSum(rentSum.getNeedPay(),rentManageSum.getNeedPay(),rentDepositSum.getNeedPay(),propertySum.getNeedPay(), + propertyDepositSum.getNeedPay(),dailySum.getNeedPay(),otherSum.getNeedPay(),otherDepositSum.getNeedPay())); + vo.setPaid(billAllHelper.calcuteSum(rentSum.getPaid(),rentManageSum.getPaid(),rentDepositSum.getPaid(),propertySum.getPaid(), + propertyDepositSum.getPaid(),dailySum.getPaid(),otherSum.getPaid(),otherDepositSum.getPaid())); + vo.setOwe(billAllHelper.calcuteSum(rentSum.getOwe(),rentManageSum.getOwe(),rentDepositSum.getOwe(),propertySum.getOwe(), + propertyDepositSum.getOwe(),dailySum.getOwe(),otherSum.getOwe(),otherDepositSum.getOwe())); + + retList.add(vo); + } + + PageHelper.startPage(pageNum, pageSize); + return new PageInfo(retList); + } + PageHelper.startPage(pageNum, pageSize); + return new PageInfo(new ArrayList()); } - private WxBillSum getBillRentManage(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillRentManage brm = new WxBillRentManage(); - brm.updateTenantInfo(tenantEntity); - brm.setStarttime(starttime); - brm.setEndtime(enttime); - WxBillSum rentManageSum = wxBillRentManageService.getBillMonthSum(brm); - if (null == rentManageSum) { - rentManageSum = new WxBillSum(); - } - rentManageSum.setBillName("租赁营业&商业管理费费用"); - return rentManageSum; - } - - private WxBillSum getBillDeposit(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillDeposit bd = new WxBillDeposit(); - bd.updateTenantInfo(tenantEntity); - bd.setStarttime(starttime); - bd.setEndtime(enttime); - WxBillSum rentDepositSum = wxBillRentDepositService.getBillMonthSum(bd); - if (null == rentDepositSum) { - rentDepositSum = new WxBillSum(); - } - rentDepositSum.setBillName("租赁押金费用"); - return rentDepositSum; - } - - private WxBillSum getBillProperty(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillProperty bp = new WxBillProperty(); - bp.updateTenantInfo(tenantEntity); - bp.setStarttime(starttime); - bp.setEndtime(enttime); - WxBillSum propertySum = wxBillPropertyService.getBillMonthSum(bp); - if (null == propertySum) { - propertySum = new WxBillSum(); - } - propertySum.setBillName("物业费用"); - return propertySum; - } - private WxBillSum getBillPropertyDeposit(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillPropertyDeposit pd = new WxBillPropertyDeposit(); - pd.updateTenantInfo(tenantEntity); - pd.setStarttime(starttime); - pd.setEndtime(enttime); - WxBillSum propertyDepositSum = wxBillPropertyDepositService.getBillMonthSum(pd); - if (null == propertyDepositSum) { - propertyDepositSum = new WxBillSum(); - } - propertyDepositSum.setBillName("物业押金费用"); - return propertyDepositSum; - } - - private WxBillSum getBillDaily(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillDaily bdd = new WxBillDaily(); - bdd.updateTenantInfo(tenantEntity); - bdd.setStarttime(starttime); - bdd.setEndtime(enttime); - WxBillSum dailySum = wxBillDailyService.getBillMonthSum(bdd); - if (null == dailySum) { - dailySum = new WxBillSum(); - } - dailySum.setBillName("日藏水电空调费用"); - return dailySum; - } - - private WxBillSum getBillOther(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillOther bo = new WxBillOther(); - bo.updateTenantInfo(tenantEntity); - bo.setStarttime(starttime); - bo.setEndtime(enttime); - WxBillSum otherSum = wxBillOtherService.getBillMonthSum(bo); - if (null == otherSum) { - otherSum = new WxBillSum(); - } - otherSum.setBillName("其他费用"); - return otherSum; - } - - private WxBillSum getBillOtherDeposit(TenantEntity tenantEntity,Date starttime, Date enttime) { - WxBillOtherDeposit bod = new WxBillOtherDeposit(); - bod.updateTenantInfo(tenantEntity); - bod.setStarttime(starttime); - bod.setEndtime(enttime); - WxBillSum otherDepositSum = wxBillOtherDepositService.getBillMonthSum(bod); - if (null == otherDepositSum) { - otherDepositSum = new WxBillSum(); - } - otherDepositSum.setBillName("其他押金费用"); - return otherDepositSum; - } - - private String calcuteSum(String... money) { - if (null != money) { - BigDecimal total = new BigDecimal(0); - for (int i = 0 ; i < money.length ; i++) { - String _m = money[i]; - if (StringUtils.isBlank(_m)) { - _m = "0"; - } - total.add(new BigDecimal(_m)); - } - return total.setScale(2,RoundingMode.HALF_UP).toPlainString(); - } - return "0"; - } - - private String getMerchantShopNumber(WxMerchant merchant) { - List shopList = wxShopService.findMerchantShopVoList(merchant, merchant.getId()); - if (null != shopList && shopList.size() > 0 ) { - StringBuffer sb = new StringBuffer(""); - for (int i = 0 ; i < shopList.size() ; i ++) { - WxShopVo v = shopList.get(i); - sb.append(v.getShopNumber()).append(","); - } - return sb.toString(); - } - return null; + @GetMapping("exportMerchantBillList") + public void exportBill(@ModelAttribute WxMerchant wxMerchant, HttpServletRequest request, HttpServletResponse response) { + wxMerchant.updateTenantInfo(getTenantInfo()); + WxUserDataRule dataRule = this.getCurrentDataFloors(); + if (null != dataRule) { + wxMerchant.setFloorForRule(dataRule.getFloorIds()); + wxMerchant.setBusinessForRule(dataRule.getBussinessIds()); + } + PageInfo page = getVoPage(wxMerchant, 1, 10000); + excelService.exportExcel(page.getList(), null, "商户账单总览数据", WxMerchantBillVo.class, "商户账单总览数据.xlsx", response, false); } + /** + * 商户计费详情 + * @param wxMerchant + * @return + */ @GetMapping("oneMerchantBillList") public ResultData oneMerchantBillList(@ModelAttribute WxMerchant wxMerchant) { if (null == wxMerchant.getId()) { @@ -299,22 +174,22 @@ public class WxBillAllController extends BaseController { WxMerchantBillVo vo = new WxMerchantBillVo(); vo.setMerchantId(m.getId()); vo.setMerchantName(m.getName()); - vo.setShopNumber(getMerchantShopNumber(m)); + vo.setShopNumber(billAllHelper.getMerchantShopNumber(m)); - WxBillSum rentSum = getBillRentSum(wxMerchant,starttime, enttime); - WxBillSum rentManageSum = getBillRentManage(wxMerchant, starttime, enttime); - WxBillSum rentDepositSum = getBillDeposit(wxMerchant, starttime, enttime); - WxBillSum propertySum = getBillProperty(wxMerchant, starttime, enttime); - WxBillSum propertyDepositSum = getBillPropertyDeposit(wxMerchant, starttime, enttime); - WxBillSum dailySum = getBillDaily(wxMerchant, starttime, enttime); - WxBillSum otherSum = getBillOther(wxMerchant, starttime, enttime); - WxBillSum otherDepositSum = getBillOtherDeposit(wxMerchant, starttime, enttime); + WxBillSum rentSum = billAllHelper.getBillRentSum(wxMerchant,starttime, enttime); + WxBillSum rentManageSum = billAllHelper.getBillRentManage(wxMerchant, starttime, enttime); + WxBillSum rentDepositSum = billAllHelper.getBillDeposit(wxMerchant, starttime, enttime); + WxBillSum propertySum = billAllHelper.getBillProperty(wxMerchant, starttime, enttime); + WxBillSum propertyDepositSum = billAllHelper.getBillPropertyDeposit(wxMerchant, starttime, enttime); + WxBillSum dailySum = billAllHelper.getBillDaily(wxMerchant, starttime, enttime); + WxBillSum otherSum = billAllHelper.getBillOther(wxMerchant, starttime, enttime); + WxBillSum otherDepositSum = billAllHelper.getBillOtherDeposit(wxMerchant, starttime, enttime); - vo.setNeedPay(calcuteSum(rentSum.getNeedPay(),rentManageSum.getNeedPay(),rentDepositSum.getNeedPay(),propertySum.getNeedPay(), + vo.setNeedPay(billAllHelper.calcuteSum(rentSum.getNeedPay(),rentManageSum.getNeedPay(),rentDepositSum.getNeedPay(),propertySum.getNeedPay(), propertyDepositSum.getNeedPay(),dailySum.getNeedPay(),otherSum.getNeedPay(),otherDepositSum.getNeedPay())); - vo.setPaid(calcuteSum(rentSum.getPaid(),rentManageSum.getPaid(),rentDepositSum.getPaid(),propertySum.getPaid(), + vo.setPaid(billAllHelper.calcuteSum(rentSum.getPaid(),rentManageSum.getPaid(),rentDepositSum.getPaid(),propertySum.getPaid(), propertyDepositSum.getPaid(),dailySum.getPaid(),otherSum.getPaid(),otherDepositSum.getPaid())); - vo.setOwe(calcuteSum(rentSum.getOwe(),rentManageSum.getOwe(),rentDepositSum.getOwe(),propertySum.getOwe(), + vo.setOwe(billAllHelper.calcuteSum(rentSum.getOwe(),rentManageSum.getOwe(),rentDepositSum.getOwe(),propertySum.getOwe(), propertyDepositSum.getOwe(),dailySum.getOwe(),otherSum.getOwe(),otherDepositSum.getOwe())); List sumlist = new ArrayList<>(); @@ -331,6 +206,32 @@ public class WxBillAllController extends BaseController { return new ResultData(vo); } + /** + * 欠缴商户列表 + * @param wxBillAll + * @param pageNum + * @param pageSize + * @return + */ + @GetMapping("oweMerchantlist") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + @SystemControllerLog(description = "费用收缴数据-欠缴商户列表") + public ResultData oweMerchantlist(@ModelAttribute WxBillAll wxBillAll, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxBillAllController::oweMerchantlist"); + if (null == wxBillAll) { + wxBillAll = new WxBillAll(); + } + //默认查当月第一天到今天 + if(StringUtils.isNotBlank(wxBillAll.getEndtime())){ + wxBillAll.setEndtime(wxBillAll.getEndtime()+" 23:59:59"); + } + wxBillAll.updateTenantInfo(getTenantInfo()); + Map result = wxBillAllService.getOweBillAsPage(wxBillAll, pageNum, pageSize); + return new ResultData(result); + } + @GetMapping("oweBillCount") @@ -400,12 +301,6 @@ public class WxBillAllController extends BaseController { return new ResultData(wxBillAllService.allDepositList(wxBillAll)); } - @GetMapping("exportBill") - @SystemControllerLog(description = "账单总览-导出") - public void exportBill(@ModelAttribute WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) { - wxBillAll.updateTenantInfo(getTenantInfo()); - wxBillAllService.exportBill(request, response, wxBillAll); - } // @GetMapping("getBillInfo") // @SystemControllerLog(description = "账单总览-获取账单信息") @@ -416,32 +311,6 @@ public class WxBillAllController extends BaseController { // } - /** - * 欠缴商户列表 - * @param wxBillAll - * @param pageNum - * @param pageSize - * @return - */ - @GetMapping("oweMerchantlist") - @ApiImplicitParams({ - @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) - @SystemControllerLog(description = "费用收缴数据-欠缴商户列表") - public ResultData oweMerchantlist(@ModelAttribute WxBillAll wxBillAll, Integer pageNum, Integer pageSize) { - logger.debug("[" + getIpAddr() + "] WxBillAllController::oweMerchantlist"); - if (null == wxBillAll) { - wxBillAll = new WxBillAll(); - } - //默认查当月第一天到今天 - if(StringUtils.isNotBlank(wxBillAll.getEndtime())){ - wxBillAll.setEndtime(wxBillAll.getEndtime()+" 23:59:59"); - } - wxBillAll.updateTenantInfo(getTenantInfo()); - Map result = wxBillAllService.getOweBillAsPage(wxBillAll, pageNum, pageSize); - return new ResultData(result); - } - /** * 应收、承付商户列表 * @param wxBillAll diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java new file mode 100644 index 000000000..7d98f181e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxBillAllHelper.java @@ -0,0 +1,196 @@ +package com.iformall.service.helper; + +import java.math.BigDecimal; +import java.math.RoundingMode; +import java.util.Date; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.iformall.domain.po.WxBillDaily; +import com.iformall.domain.po.WxBillDeposit; +import com.iformall.domain.po.WxBillOther; +import com.iformall.domain.po.WxBillOtherDeposit; +import com.iformall.domain.po.WxBillProperty; +import com.iformall.domain.po.WxBillPropertyDeposit; +import com.iformall.domain.po.WxBillRent; +import com.iformall.domain.po.WxBillRentManage; +import com.iformall.domain.po.WxMerchant; +import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.WxBillSum; +import com.iformall.domain.vo.WxShopVo; +import com.iformall.service.WxBillDailyService; +import com.iformall.service.WxBillDepositService; +import com.iformall.service.WxBillOtherDepositService; +import com.iformall.service.WxBillOtherService; +import com.iformall.service.WxBillPropertyDepositService; +import com.iformall.service.WxBillPropertyService; +import com.iformall.service.WxBillRentManageService; +import com.iformall.service.WxBillRentService; +import com.iformall.service.WxMerchantService; +import com.iformall.service.WxShopService; + +@Service +public class WxBillAllHelper { + + @Autowired + private WxBillRentService wxBillRentService; + + @Autowired + private WxBillRentManageService wxBillRentManageService; + + @Autowired + private WxBillDepositService wxBillRentDepositService; + + @Autowired + private WxBillPropertyService wxBillPropertyService; + + @Autowired + private WxBillPropertyDepositService wxBillPropertyDepositService; + + @Autowired + private WxBillDailyService wxBillDailyService; + + @Autowired + private WxBillOtherService wxBillOtherService; + + @Autowired + private WxBillOtherDepositService wxBillOtherDepositService; + + @Autowired + private WxShopService wxShopService; + + public WxBillSum getBillRentSum(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillRent br = new WxBillRent(); + br.updateTenantInfo(tenantEntity); + br.setStarttime(starttime); + br.setEndtime(enttime); + WxBillSum rentSum = wxBillRentService.getBillMonthSum(br); + if (null == rentSum) { + rentSum = new WxBillSum(); + } + rentSum.setBillName("租赁费用"); + return rentSum; + } + + public WxBillSum getBillRentManage(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillRentManage brm = new WxBillRentManage(); + brm.updateTenantInfo(tenantEntity); + brm.setStarttime(starttime); + brm.setEndtime(enttime); + WxBillSum rentManageSum = wxBillRentManageService.getBillMonthSum(brm); + if (null == rentManageSum) { + rentManageSum = new WxBillSum(); + } + rentManageSum.setBillName("租赁营业&商业管理费费用"); + return rentManageSum; + } + + public WxBillSum getBillDeposit(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillDeposit bd = new WxBillDeposit(); + bd.updateTenantInfo(tenantEntity); + bd.setStarttime(starttime); + bd.setEndtime(enttime); + WxBillSum rentDepositSum = wxBillRentDepositService.getBillMonthSum(bd); + if (null == rentDepositSum) { + rentDepositSum = new WxBillSum(); + } + rentDepositSum.setBillName("租赁押金费用"); + return rentDepositSum; + } + + public WxBillSum getBillProperty(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillProperty bp = new WxBillProperty(); + bp.updateTenantInfo(tenantEntity); + bp.setStarttime(starttime); + bp.setEndtime(enttime); + WxBillSum propertySum = wxBillPropertyService.getBillMonthSum(bp); + if (null == propertySum) { + propertySum = new WxBillSum(); + } + propertySum.setBillName("物业费用"); + return propertySum; + } + + public WxBillSum getBillPropertyDeposit(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillPropertyDeposit pd = new WxBillPropertyDeposit(); + pd.updateTenantInfo(tenantEntity); + pd.setStarttime(starttime); + pd.setEndtime(enttime); + WxBillSum propertyDepositSum = wxBillPropertyDepositService.getBillMonthSum(pd); + if (null == propertyDepositSum) { + propertyDepositSum = new WxBillSum(); + } + propertyDepositSum.setBillName("物业押金费用"); + return propertyDepositSum; + } + + public WxBillSum getBillDaily(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillDaily bdd = new WxBillDaily(); + bdd.updateTenantInfo(tenantEntity); + bdd.setStarttime(starttime); + bdd.setEndtime(enttime); + WxBillSum dailySum = wxBillDailyService.getBillMonthSum(bdd); + if (null == dailySum) { + dailySum = new WxBillSum(); + } + dailySum.setBillName("日藏水电空调费用"); + return dailySum; + } + + public WxBillSum getBillOther(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillOther bo = new WxBillOther(); + bo.updateTenantInfo(tenantEntity); + bo.setStarttime(starttime); + bo.setEndtime(enttime); + WxBillSum otherSum = wxBillOtherService.getBillMonthSum(bo); + if (null == otherSum) { + otherSum = new WxBillSum(); + } + otherSum.setBillName("其他费用"); + return otherSum; + } + + public WxBillSum getBillOtherDeposit(TenantEntity tenantEntity,Date starttime, Date enttime) { + WxBillOtherDeposit bod = new WxBillOtherDeposit(); + bod.updateTenantInfo(tenantEntity); + bod.setStarttime(starttime); + bod.setEndtime(enttime); + WxBillSum otherDepositSum = wxBillOtherDepositService.getBillMonthSum(bod); + if (null == otherDepositSum) { + otherDepositSum = new WxBillSum(); + } + otherDepositSum.setBillName("其他押金费用"); + return otherDepositSum; + } + + public String calcuteSum(String... money) { + if (null != money) { + BigDecimal total = new BigDecimal(0); + for (int i = 0 ; i < money.length ; i++) { + String _m = money[i]; + if (StringUtils.isBlank(_m)) { + _m = "0"; + } + total.add(new BigDecimal(_m)); + } + return total.setScale(2,RoundingMode.HALF_UP).toPlainString(); + } + return "0"; + } + + public String getMerchantShopNumber(WxMerchant merchant) { + List shopList = wxShopService.findMerchantShopVoList(merchant, merchant.getId()); + if (null != shopList && shopList.size() > 0 ) { + StringBuffer sb = new StringBuffer(""); + for (int i = 0 ; i < shopList.size() ; i ++) { + WxShopVo v = shopList.get(i); + sb.append(v.getShopNumber()).append(","); + } + return sb.toString(); + } + return null; + } +} diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxRentContractHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxRentContractHelper.java index bdf378c4c..437bff1e1 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxRentContractHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxRentContractHelper.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.iformall.domain.po.WxRentContract; import com.iformall.enums.*; import com.iformall.service.impl.WxRentContractServiceImpl; +import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; @@ -62,10 +63,10 @@ public class WxRentContractHelper { if (rentArea == null || rentArea.equalsIgnoreCase("NaN")) { rentArea = "0"; } - priceArr[i] = new BigDecimal(priceStr).multiply(new BigDecimal(rentArea)).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + priceArr[i] = new BigDecimal(priceStr).multiply(new BigDecimal(rentArea)).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } - List priceList = computeRatioByShop(wxRentContract.getDecimalSize(),rentInfoArray,wxRentContract.getBussinessManagementFeeRatioWay(),priceArr,feeRatioField); + List priceList = computeRatioByShop(Constant.default_long_decimal_size,rentInfoArray,wxRentContract.getBussinessManagementFeeRatioWay(),priceArr,feeRatioField); if (null != priceList) { return calcuteRatioByPart(priceList, feeRatioField); }else { @@ -79,8 +80,8 @@ public class WxRentContractHelper { if (rentArea == null || rentArea.equalsIgnoreCase("NaN")) { rentArea = "0"; } - String ratioFirstYearPrice = new BigDecimal(fee).multiply(new BigDecimal(rentArea)).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); - return calcuteRatioByJoin(wxRentContract.getDecimalSize(),ratioWay, ratio, ratioFirstYearPrice); + String ratioFirstYearPrice = new BigDecimal(fee).multiply(new BigDecimal(rentArea)).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); + return calcuteRatioByJoin(Constant.default_long_decimal_size,ratioWay, ratio, ratioFirstYearPrice); } } return null; @@ -115,7 +116,7 @@ public class WxRentContractHelper { } priceArr[i] = priceStr; } - return computeRatioByShop(wxRentContract.getDecimalSize(),rentInfoArray,wxRentContract.getAdjustRatioWay(),priceArr,"adjustRatio"); + return computeRatioByShop(Constant.default_long_decimal_size,rentInfoArray,wxRentContract.getAdjustRatioWay(),priceArr,"adjustRatio"); } //计算每年租金基数(合铺录入) @@ -145,28 +146,28 @@ public class WxRentContractHelper { for (int i = 1; i < size; i++) { BigDecimal divide = priceD.multiply(new BigDecimal(integers.get(i))).divide(new BigDecimal(10000)); priceD = priceD.add(divide); - priceArrs[i] = priceD.setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + priceArrs[i] = priceD.setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } else if (wxRentContract.getAdjustRatioWay().equals(EnumRentContractAdjustRatioWay.MONEY.getCode())) { for (int i = 1; i < size; i++) { priceD = priceD.add(new BigDecimal(integers.get(i))); - priceArrs[i] = priceD.setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + priceArrs[i] = priceD.setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } else if (wxRentContract.getAdjustRatioWay().equals(EnumRentContractAdjustRatioWay.CUSTOM.getCode())){ for (int i = 1; i < size; i++) { if (wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(12)) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { priceArrs[i] = new BigDecimal(integers.get(i)).multiply(new BigDecimal(wxRentContract.getReceivePeriod())) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } } - priceArrs[i] = new BigDecimal(integers.get(i)).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + priceArrs[i] = new BigDecimal(integers.get(i)).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } }else if (wxRentContract.getAdjustRatioWay().equals(EnumRentContractAdjustRatioWay.FIX_RATIO.getCode())){ for (int i = 1; i < size; i++) { @@ -179,16 +180,16 @@ public class WxRentContractHelper { } if (wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { - priceArrs[i] = _p.multiply(new BigDecimal(12)).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + priceArrs[i] = _p.multiply(new BigDecimal(12)).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { priceArrs[i] = _p.multiply(new BigDecimal(wxRentContract.getReceivePeriod())) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } } - priceArrs[i] = _p.setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + priceArrs[i] = _p.setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } @@ -210,7 +211,7 @@ public class WxRentContractHelper { String[] revenuePriceArrs = new String[size]; if (wxRentContract.getType().equals(EnumRentContractType.RENT_BY_AREA_AND_JOINT.getCode())) { String _revenuePriceD = new BigDecimal(wxRentContract.getRevenue()).multiply(new BigDecimal(wxRentContract.getPayRatio())) - .divide(new BigDecimal(10000)).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .divide(new BigDecimal(10000)).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); revenuePriceArrs[0] = _revenuePriceD; BigDecimal revenuePriceD = new BigDecimal(_revenuePriceD); //联营扣点调整比率 @@ -230,31 +231,31 @@ public class WxRentContractHelper { BigDecimal _p = new BigDecimal(revenueYears.get(i)).multiply(new BigDecimal(revenueRationSets.get(i))).divide(new BigDecimal(10000)); revenuePriceD = revenuePriceD.add(_p); } - revenuePriceArrs[i] = revenuePriceD.setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + revenuePriceArrs[i] = revenuePriceD.setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } else if (wxRentContract.getRevenueRatioWay().equals(EnumRentContractAdjustRatioWay.MONEY.getCode())) { for (int i = 1; i < size; i++) { if (revenueYears.size() == size && revenueRationSets.size() == size) { revenuePriceD = revenuePriceD.add(new BigDecimal(revenueRationSets.get(i))); } - revenuePriceArrs[i] = revenuePriceD.setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + revenuePriceArrs[i] = revenuePriceD.setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } else if (wxRentContract.getRevenueRatioWay().equals(EnumRentContractAdjustRatioWay.CUSTOM.getCode())){ for (int i = 1; i < size; i++) { if (wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { revenuePriceArrs[i] = new BigDecimal(revenueRationSets.get(i)).multiply(new BigDecimal(12)) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { revenuePriceArrs[i] = new BigDecimal(revenueRationSets.get(i)).multiply(new BigDecimal(wxRentContract.getReceivePeriod())) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } } revenuePriceArrs[i] = new BigDecimal(revenueRationSets.get(i)) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } }else if (wxRentContract.getRevenueRatioWay().equals(EnumRentContractAdjustRatioWay.FIX_RATIO.getCode())){ for (int i = 1; i < size; i++) { @@ -265,16 +266,16 @@ public class WxRentContractHelper { if (wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode())) { if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { revenuePriceArrs[i] = _p.multiply(new BigDecimal(12)) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } if (EnumMissTimeType.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())) { revenuePriceArrs[i] = _p.multiply(new BigDecimal(wxRentContract.getReceivePeriod())) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); continue; } } - revenuePriceArrs[i] = _p.setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + revenuePriceArrs[i] = _p.setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } } @@ -379,11 +380,11 @@ public class WxRentContractHelper { //按日 if (wxRentContract.getPriceUnit().equals(EnumPriceUnit.D.getCode())){ BigDecimal priceD = new BigDecimal(price); - String needpayD = WxRentContractHelper.getNeedPay(wxRentContract.getDecimalSize(),new BigDecimal(0),priceD,startDate,endDate); + String needpayD = WxRentContractHelper.getNeedPay(Constant.default_long_decimal_size,new BigDecimal(0),priceD,startDate,endDate); //取整 //needpay = new Double(needpayD).longValue(); //四舍五入 - needpay = new BigDecimal(needpayD).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(needpayD).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); }else{ BigDecimal priceD = new BigDecimal(price); if (EnumRentContractType.RENT_BY_JOINT.getCode().equals(wxRentContract.getType())) { @@ -393,12 +394,12 @@ public class WxRentContractHelper { } //年或者设置跳点率为年周期 除12 if (EnumMissTimeType.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())) { - priceD = new BigDecimal(price).divide(new BigDecimal(12),wxRentContract.getDecimalSize(),RoundingMode.HALF_UP).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP); + priceD = new BigDecimal(price).divide(new BigDecimal(12),Constant.default_long_decimal_size,RoundingMode.HALF_UP).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP); } }else{ //年 除12 if(EnumPriceUnit.Y.getCode().equals(wxRentContract.getPriceUnit())){ - priceD = new BigDecimal(price).divide(new BigDecimal(12),wxRentContract.getDecimalSize(),RoundingMode.HALF_UP).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP); + priceD = new BigDecimal(price).divide(new BigDecimal(12),Constant.default_long_decimal_size,RoundingMode.HALF_UP).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP); } } @@ -406,7 +407,7 @@ public class WxRentContractHelper { //生成金额直接计算 if(!saveDb){ //needpay = new Double(getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod,part)).longValue(); - needpay = new BigDecimal(getMonthNeedPay(wxRentContract.getDecimalSize(),priceD, startDate, endDate,dayType,receivePeriod,part)).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(getMonthNeedPay(Constant.default_long_decimal_size,priceD, startDate, endDate,dayType,receivePeriod,part)).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); return needpay; } @@ -421,22 +422,22 @@ public class WxRentContractHelper { instance.add(Calendar.DATE, -1); if(sd.format(instance.getTime()).equals(sd.format(endDate))){ int months = WxRentContractHelper.getMonths(sdM.format(startDate)+"-01",sdM.format(DateUtils.getDaySet(endDate,Calendar.DATE,1))+"-01"); - needpay = new BigDecimal(months).multiply(priceD).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(months).multiply(priceD).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); }else{ //needpay = new Double(getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod,false)).longValue(); - needpay = new BigDecimal(getMonthNeedPay(wxRentContract.getDecimalSize(),priceD, startDate, endDate,dayType,receivePeriod,false)) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(getMonthNeedPay(Constant.default_long_decimal_size,priceD, startDate, endDate,dayType,receivePeriod,false)) + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } }else if(i == 0){//第一期 if(wxRentContract.getAdjustPeriod().equals(EnumRentContractAdjustPeriod.ADJUST_PERIOD_NAR_MONTH.getCode())){ if(isFirstDay(startDate)){ int months = WxRentContractHelper.getMonths(sdM.format(startDate)+"-01",sdM.format(endDate)+"-01"); months++; - needpay = new BigDecimal(months).multiply(priceD).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(months).multiply(priceD).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); }else{ //needpay = new Double(getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod,false)).longValue(); - needpay = new BigDecimal(getMonthNeedPay(wxRentContract.getDecimalSize(),priceD, startDate, endDate,dayType,receivePeriod,false)) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(getMonthNeedPay(Constant.default_long_decimal_size,priceD, startDate, endDate,dayType,receivePeriod,false)) + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } }else{ if(isFirstDay(startDate)){ @@ -444,11 +445,11 @@ public class WxRentContractHelper { if(isFirstDay(startDate)){ months++; } - needpay = new BigDecimal(months).multiply(priceD).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(months).multiply(priceD).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); }else{ //needpay = new Double(getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod,false)).longValue(); - needpay = new BigDecimal(getMonthNeedPay(wxRentContract.getDecimalSize(),priceD, startDate, endDate,dayType,receivePeriod,false)) - .setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(getMonthNeedPay(Constant.default_long_decimal_size,priceD, startDate, endDate,dayType,receivePeriod,false)) + .setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } }else{//中间 @@ -459,10 +460,10 @@ public class WxRentContractHelper { //如果当月费用需要按天计算 if (monthCalDay) { //needpay = new Double(getMonthNeedPay(priceD, startDate, endDate,dayType,receivePeriod,false)).longValue(); - needpay = new BigDecimal(getMonthNeedPay(wxRentContract.getDecimalSize(),priceD, startDate, endDate,dayType,receivePeriod,false)) - .setScale(wxRentContract.getDecimalSize(), BigDecimal.ROUND_HALF_UP).toPlainString(); + needpay = new BigDecimal(getMonthNeedPay(Constant.default_long_decimal_size,priceD, startDate, endDate,dayType,receivePeriod,false)) + .setScale(Constant.default_long_decimal_size, BigDecimal.ROUND_HALF_UP).toPlainString(); }else { - needpay = new BigDecimal(months).multiply(priceD).setScale(wxRentContract.getDecimalSize(), RoundingMode.HALF_UP).toPlainString(); + needpay = new BigDecimal(months).multiply(priceD).setScale(Constant.default_long_decimal_size, RoundingMode.HALF_UP).toPlainString(); } } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index e21d43bad..5b3e6d731 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -349,19 +349,19 @@ public class WxBillRentServiceImpl implements WxBillRentService { if(EnumBusRatioTime.YEAR.getCode().equals(wxRentContract.getBusDiscountTime())){ if(startInt == endInt && months == 12){ //刚好1年 - ratioVo = WxRentContractServiceImpl.getPayRatio(wxRentContract.getDecimalSize(),EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0); + ratioVo = WxRentContractServiceImpl.getPayRatio(Constant.default_long_decimal_size,EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0); }else{ - ratioVo = WxRentContractServiceImpl.getPayRatio(wxRentContract.getDecimalSize(),EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.YEAR.getCode(),dayCount,0); + ratioVo = WxRentContractServiceImpl.getPayRatio(Constant.default_long_decimal_size,EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.YEAR.getCode(),dayCount,0); } }else if(EnumBusRatioTime.MONTH.getCode().equals(wxRentContract.getBusDiscountTime())){ if(startInt == endInt && months == 1){ //刚好1个月 - ratioVo = WxRentContractServiceImpl.getPayRatio(wxRentContract.getDecimalSize(),EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0); + ratioVo = WxRentContractServiceImpl.getPayRatio(Constant.default_long_decimal_size,EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.OTHER.getCode(),dayCount,0); }else{ - ratioVo = WxRentContractServiceImpl.getPayRatio(wxRentContract.getDecimalSize(),EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.MONTH.getCode(),dayCount,0); + ratioVo = WxRentContractServiceImpl.getPayRatio(Constant.default_long_decimal_size,EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.MONTH.getCode(),dayCount,0); } }else if(EnumBusRatioTime.PERIOD.getCode().equals(wxRentContract.getBusDiscountTime())){ - ratioVo = WxRentContractServiceImpl.getPayRatio(wxRentContract.getDecimalSize(),EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.PERIOD.getCode(),dayCount,wxRentContract.getReceivePeriod()); + ratioVo = WxRentContractServiceImpl.getPayRatio(Constant.default_long_decimal_size,EnumGetRatioFrom.BILL.getCode(),wxBillRent.getRevenue(),wxRentContract.getBusDiscountRatio(),EnumMissTimeType.PERIOD.getCode(),dayCount,wxRentContract.getReceivePeriod()); } } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 3e7c500c5..8ac0e91d1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -3278,15 +3278,15 @@ public class WxRentContractServiceImpl implements WxRentContractService { for (int i = 0 ; i <= months ; i++ ) { BigDecimal _money = new BigDecimal(0); if (i == 0 ) { - _money = sumTradeDailyBySameMonthDay(wxRentContract.getDecimalSize(),bq, wxRentContract.getMerchantId(), br.getStarttime(), + _money = sumTradeDailyBySameMonthDay(Constant.default_long_decimal_size,bq, wxRentContract.getMerchantId(), br.getStarttime(), DateUtils.getLastDayForMonth(br.getStarttime())); }else if (i == months){ - _money = sumTradeDailyBySameMonthDay(wxRentContract.getDecimalSize(),bq, wxRentContract.getMerchantId(), + _money = sumTradeDailyBySameMonthDay(Constant.default_long_decimal_size,bq, wxRentContract.getMerchantId(), DateUtils.getFirstDayForCurrMonth(DateUtils.getTimeAfterMonths(i,br.getStarttime())), DateUtils.getDayEnd(DateUtils.getTimeAfterDays(-1, br.getEndtime()))); }else { Date _date = DateUtils.getTimeAfterMonths(i,br.getStarttime()); - _money = sumTradeDailyBySameMonthDay(wxRentContract.getDecimalSize(),bq, wxRentContract.getMerchantId(), + _money = sumTradeDailyBySameMonthDay(Constant.default_long_decimal_size,bq, wxRentContract.getMerchantId(), DateUtils.getFirstDayForCurrMonth(_date), DateUtils.getLastDayForMonth(_date)); } @@ -3295,7 +3295,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { }else { //同一个月 //合同账单结束的时间是00:00:00,取日期要取前一天 - needPay = sumTradeDailyBySameMonthDay(wxRentContract.getDecimalSize(),bq, wxRentContract.getMerchantId(), + needPay = sumTradeDailyBySameMonthDay(Constant.default_long_decimal_size,bq, wxRentContract.getMerchantId(), br.getStarttime(), DateUtils.getDayEnd(br.getEndtime())); } needPay = needPay.multiply(new BigDecimal(wxRentContract.getPayRatio()))