| @@ -0,0 +1,2 @@ | |||
| alter table wx_bill_action modify `createtime` DATETIME NULL DEFAULT CURRENT_TIMESTAMP; | |||
| alter table wx_bill_action modify `updatetime` DATETIME NULL DEFAULT CURRENT_TIMESTAMP; | |||
| @@ -42,13 +42,11 @@ public class LatePayBillActionSchedule { | |||
| for (WxBillRent wxBillRent : billRentList) { | |||
| WxBillAction billAction = new WxBillAction(); | |||
| billAction.setId(idWorker.nextId()); | |||
| billAction.setCreatetime(new Date()); | |||
| billAction.setUserName("系统端"); | |||
| billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); | |||
| billAction.setBillId(wxBillRent.getId()); | |||
| BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| billAction.setDetails("系统计入"+ divide.toString()+"元"); | |||
| billAction.setUpdatetime(new Date()); | |||
| wxBillActionMapper.insertSelective(billAction); | |||
| } | |||
| @@ -56,13 +54,11 @@ public class LatePayBillActionSchedule { | |||
| for (WxBillProperty wxBillRent : billPropertyList) { | |||
| WxBillAction billAction = new WxBillAction(); | |||
| billAction.setId(idWorker.nextId()); | |||
| billAction.setCreatetime(new Date()); | |||
| billAction.setUserName("系统端"); | |||
| billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); | |||
| billAction.setBillId(wxBillRent.getId()); | |||
| BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| billAction.setDetails("系统计入"+ divide.toString()+"元"); | |||
| billAction.setUpdatetime(new Date()); | |||
| wxBillActionMapper.insertSelective(billAction); | |||
| } | |||
| logger.info("账单滞纳金更新结束"); | |||
| @@ -58,15 +58,17 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||
| List<WxBillProperty> billRentList = wxBillPropertyMapper.queryBillPropertyList(record); | |||
| PageInfo<WxBillProperty> pageInfo = new PageInfo<>(billRentList); | |||
| billRentList.stream().forEach(b -> { | |||
| if(EnumBillRentStatus.WAIT_PAY.getCode().equals(b.getLatePayStatus()) && b.getLatePayRatio() != null){ | |||
| int latePayDay = 1; //默认第二天开始叫滞纳金 | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(new Date(),startPay); | |||
| Double d = new Double(dayCount * b.getLatePayRatio()/10000 * b.getOwe()); | |||
| b.setLatePayPrice(d.longValue()); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| }); | |||
| return pageInfo; | |||
| @@ -116,7 +118,21 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||
| public WxBillProperty getById(Long id) { | |||
| WxBillProperty record = new WxBillProperty(); | |||
| record.setId(id); | |||
| return wxBillPropertyMapper.queryBillPropertyList(record).get(0); | |||
| WxBillProperty b = wxBillPropertyMapper.queryBillPropertyList(record).get(0); | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| return b; | |||
| } | |||
| @Override | |||
| @@ -212,6 +228,20 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||
| updateBillStatus(record); | |||
| PageHelper.startPage(pageIndex, pageSize); | |||
| List<WxBillProperty> billRentList = wxBillPropertyMapper.queryBillPropertyList(record); | |||
| billRentList.stream().forEach(b -> { | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| }); | |||
| PageInfo<WxBillProperty> pageInfo = new PageInfo<>(billRentList); | |||
| return pageInfo; | |||
| } | |||
| @@ -271,7 +301,24 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||
| @Override | |||
| public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty) { | |||
| String billName = wxBillProperty.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺物业账单" : "多经点位物业账单"; | |||
| Map<Long, List<WxBillProperty>> collect = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty).parallelStream() | |||
| List<WxBillProperty> billPropertyList = wxBillPropertyMapper.queryBillPropertyList(wxBillProperty); | |||
| billPropertyList.stream().forEach(b -> { | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| }); | |||
| Map<Long, List<WxBillProperty>> collect = billPropertyList.parallelStream() | |||
| .collect(Collectors.groupingBy(WxBillProperty::getMerchantId)); | |||
| Set<Map.Entry<Long, List<WxBillProperty>>> entries = collect.entrySet(); | |||
| List<WxBillProperty> datalist = new ArrayList<>(); | |||
| @@ -57,15 +57,17 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||
| PageHelper.startPage(pageIndex, pageSize); | |||
| List<WxBillRent> billRentList = wxBillRentMapper.queryBillRentList(record); | |||
| billRentList.stream().forEach(b -> { | |||
| if(EnumBillRentStatus.WAIT_PAY.getCode().equals(b.getLatePayStatus()) && b.getLatePayRatio() != null){ | |||
| int latePayDay = 1; //默认第二天开始叫滞纳金 | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(new Date(),startPay); | |||
| Double d = new Double(dayCount * b.getLatePayRatio()/10000 * b.getOwe()); | |||
| b.setLatePayPrice(d.longValue()); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| }); | |||
| PageInfo<WxBillRent> pageInfo = new PageInfo<>(billRentList); | |||
| @@ -116,7 +118,21 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||
| public WxBillRent getById(Long id) { | |||
| WxBillRent record = new WxBillRent(); | |||
| record.setId(id); | |||
| return wxBillRentMapper.queryBillRentList(record).get(0); | |||
| WxBillRent b = wxBillRentMapper.queryBillRentList(record).get(0); | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| return b; | |||
| } | |||
| @Override | |||
| @@ -211,6 +227,20 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||
| updateBillStatus(record); | |||
| PageHelper.startPage(pageIndex, pageSize); | |||
| List<WxBillRent> billRentList = wxBillRentMapper.queryBillRentList(record); | |||
| billRentList.stream().forEach(b -> { | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| }); | |||
| PageInfo<WxBillRent> pageInfo = new PageInfo<>(billRentList); | |||
| return pageInfo; | |||
| } | |||
| @@ -307,7 +337,23 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||
| @Override | |||
| public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent) { | |||
| String billName = wxBillRent.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺租金账单" : "多经点位租金账单"; | |||
| Map<Long, List<WxBillRent>> collect = wxBillRentMapper.queryBillRentList(wxBillRent).parallelStream() | |||
| List<WxBillRent> billRentList = wxBillRentMapper.queryBillRentList(wxBillRent); | |||
| billRentList.stream().forEach(b -> { | |||
| if(b.getLatePayRatio() != null && b.getLatePayRatio() > 0){ | |||
| int latePayDay = 1; //默认第次日开始交滞纳金 | |||
| if(b.getLatePayDay() != null){ | |||
| latePayDay = b.getLatePayDay(); | |||
| } | |||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | |||
| long dayCount = DateUtils.startToEnd(startPay,new Date()); | |||
| if(dayCount >0) { | |||
| BigDecimal divide = new BigDecimal(b.getOwe()).multiply(new BigDecimal(b.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | |||
| b.setLatePayPrice(divide.longValue()); | |||
| } | |||
| } | |||
| }); | |||
| Map<Long, List<WxBillRent>> collect = billRentList.parallelStream() | |||
| .collect(Collectors.groupingBy(WxBillRent::getMerchantId)); | |||
| Set<Map.Entry<Long, List<WxBillRent>>> entries = collect.entrySet(); | |||
| List<WxBillRent> datalist = new ArrayList<>(); | |||
| @@ -97,8 +97,7 @@ | |||
| case when br.status=1 then br.owe else 0 end owe,br.`status`,br.`need_pay`,r.merchant_name, | |||
| s.shop_number,br.`updatetime`,br.`merchant_id`,br.`rent_shop_type`,r.type as rent_type, | |||
| r.pay_ratio,br.`revenue`,br.`late_pay_ratio`,br.`late_pay_time`,br.`period`,br.`rent_contract_id`, | |||
| d.receive_pay deposit,d.`status`,br.late_pay_price | |||
| deposit_status,br.shop_info,br.pay_way,br.late_pay_status,br.`comments`,br.starttime,br.endtime, | |||
| d.receive_pay deposit,d.`status`,br.late_pay_price,br.shop_info,br.pay_way,br.late_pay_status,br.`comments`,br.starttime,br.endtime, | |||
| r.late_pay_day,r.late_pay_ratio | |||
| from wx_bill_rent br | |||
| left join wx_shop s on br.shop_id=s.id | |||