| @@ -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) { | for (WxBillRent wxBillRent : billRentList) { | ||||
| WxBillAction billAction = new WxBillAction(); | WxBillAction billAction = new WxBillAction(); | ||||
| billAction.setId(idWorker.nextId()); | billAction.setId(idWorker.nextId()); | ||||
| billAction.setCreatetime(new Date()); | |||||
| billAction.setUserName("系统端"); | billAction.setUserName("系统端"); | ||||
| billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); | billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); | ||||
| billAction.setBillId(wxBillRent.getId()); | billAction.setBillId(wxBillRent.getId()); | ||||
| BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | 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.setDetails("系统计入"+ divide.toString()+"元"); | ||||
| billAction.setUpdatetime(new Date()); | |||||
| wxBillActionMapper.insertSelective(billAction); | wxBillActionMapper.insertSelective(billAction); | ||||
| } | } | ||||
| @@ -56,13 +54,11 @@ public class LatePayBillActionSchedule { | |||||
| for (WxBillProperty wxBillRent : billPropertyList) { | for (WxBillProperty wxBillRent : billPropertyList) { | ||||
| WxBillAction billAction = new WxBillAction(); | WxBillAction billAction = new WxBillAction(); | ||||
| billAction.setId(idWorker.nextId()); | billAction.setId(idWorker.nextId()); | ||||
| billAction.setCreatetime(new Date()); | |||||
| billAction.setUserName("系统端"); | billAction.setUserName("系统端"); | ||||
| billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); | billAction.setAction(EnumBillAction.UPDATE_LATE_PAY_MONEY.getCode()); | ||||
| billAction.setBillId(wxBillRent.getId()); | billAction.setBillId(wxBillRent.getId()); | ||||
| BigDecimal divide = new BigDecimal(wxBillRent.getOwe()).multiply(new BigDecimal(wxBillRent.getLatePayRatio())).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); | 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.setDetails("系统计入"+ divide.toString()+"元"); | ||||
| billAction.setUpdatetime(new Date()); | |||||
| wxBillActionMapper.insertSelective(billAction); | wxBillActionMapper.insertSelective(billAction); | ||||
| } | } | ||||
| logger.info("账单滞纳金更新结束"); | logger.info("账单滞纳金更新结束"); | ||||
| @@ -58,15 +58,17 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||||
| List<WxBillProperty> billRentList = wxBillPropertyMapper.queryBillPropertyList(record); | List<WxBillProperty> billRentList = wxBillPropertyMapper.queryBillPropertyList(record); | ||||
| PageInfo<WxBillProperty> pageInfo = new PageInfo<>(billRentList); | PageInfo<WxBillProperty> pageInfo = new PageInfo<>(billRentList); | ||||
| billRentList.stream().forEach(b -> { | 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){ | if(b.getLatePayDay() != null){ | ||||
| latePayDay = b.getLatePayDay(); | latePayDay = b.getLatePayDay(); | ||||
| } | } | ||||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | 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; | return pageInfo; | ||||
| @@ -116,7 +118,21 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||||
| public WxBillProperty getById(Long id) { | public WxBillProperty getById(Long id) { | ||||
| WxBillProperty record = new WxBillProperty(); | WxBillProperty record = new WxBillProperty(); | ||||
| record.setId(id); | 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 | @Override | ||||
| @@ -212,6 +228,20 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||||
| updateBillStatus(record); | updateBillStatus(record); | ||||
| PageHelper.startPage(pageIndex, pageSize); | PageHelper.startPage(pageIndex, pageSize); | ||||
| List<WxBillProperty> billRentList = wxBillPropertyMapper.queryBillPropertyList(record); | 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); | PageInfo<WxBillProperty> pageInfo = new PageInfo<>(billRentList); | ||||
| return pageInfo; | return pageInfo; | ||||
| } | } | ||||
| @@ -271,7 +301,24 @@ public class WxBillPropertyServiceImpl implements WxBillPropertyService { | |||||
| @Override | @Override | ||||
| public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty) { | public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillProperty wxBillProperty) { | ||||
| String billName = wxBillProperty.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺物业账单" : "多经点位物业账单"; | 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)); | .collect(Collectors.groupingBy(WxBillProperty::getMerchantId)); | ||||
| Set<Map.Entry<Long, List<WxBillProperty>>> entries = collect.entrySet(); | Set<Map.Entry<Long, List<WxBillProperty>>> entries = collect.entrySet(); | ||||
| List<WxBillProperty> datalist = new ArrayList<>(); | List<WxBillProperty> datalist = new ArrayList<>(); | ||||
| @@ -57,15 +57,17 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||||
| PageHelper.startPage(pageIndex, pageSize); | PageHelper.startPage(pageIndex, pageSize); | ||||
| List<WxBillRent> billRentList = wxBillRentMapper.queryBillRentList(record); | List<WxBillRent> billRentList = wxBillRentMapper.queryBillRentList(record); | ||||
| billRentList.stream().forEach(b -> { | 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){ | if(b.getLatePayDay() != null){ | ||||
| latePayDay = b.getLatePayDay(); | latePayDay = b.getLatePayDay(); | ||||
| } | } | ||||
| Date startPay = DateUtils.getDaySet(b.getReceiveDate(),Calendar.DATE,latePayDay); | 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); | PageInfo<WxBillRent> pageInfo = new PageInfo<>(billRentList); | ||||
| @@ -116,7 +118,21 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||||
| public WxBillRent getById(Long id) { | public WxBillRent getById(Long id) { | ||||
| WxBillRent record = new WxBillRent(); | WxBillRent record = new WxBillRent(); | ||||
| record.setId(id); | 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 | @Override | ||||
| @@ -211,6 +227,20 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||||
| updateBillStatus(record); | updateBillStatus(record); | ||||
| PageHelper.startPage(pageIndex, pageSize); | PageHelper.startPage(pageIndex, pageSize); | ||||
| List<WxBillRent> billRentList = wxBillRentMapper.queryBillRentList(record); | 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); | PageInfo<WxBillRent> pageInfo = new PageInfo<>(billRentList); | ||||
| return pageInfo; | return pageInfo; | ||||
| } | } | ||||
| @@ -307,7 +337,23 @@ public class WxBillRentServiceImpl implements WxBillRentService { | |||||
| @Override | @Override | ||||
| public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent) { | public void exportBill(HttpServletRequest request, HttpServletResponse response, WxBillRent wxBillRent) { | ||||
| String billName = wxBillRent.getRentShopType().equals(EnumRentShopType.SHOP.getCode()) ? "商铺租金账单" : "多经点位租金账单"; | 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)); | .collect(Collectors.groupingBy(WxBillRent::getMerchantId)); | ||||
| Set<Map.Entry<Long, List<WxBillRent>>> entries = collect.entrySet(); | Set<Map.Entry<Long, List<WxBillRent>>> entries = collect.entrySet(); | ||||
| List<WxBillRent> datalist = new ArrayList<>(); | 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, | 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, | 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`, | 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 | r.late_pay_day,r.late_pay_ratio | ||||
| from wx_bill_rent br | from wx_bill_rent br | ||||
| left join wx_shop s on br.shop_id=s.id | left join wx_shop s on br.shop_id=s.id | ||||