diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java index 1c462fa4d..90709370b 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillRent.java @@ -192,7 +192,6 @@ public class WxBillRent extends BaseEntity { private String latePayMoneyBefore; @Transient private String latePayMoneyUpdate; - @Transient private String busDiscountRatio; @io.swagger.annotations.ApiModelProperty(value = "冻结状态,0正常1冻结", name = "freeze") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java b/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java index 1ddf6ea68..ee327710d 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java @@ -93,4 +93,8 @@ public class WxBillSettle extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="流向 0流入 1流出",name="direction") private Integer direction; + @Transient + private Integer limitStart; + @Transient + private Integer limitEnd; } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleMapper.java index 16790bcfa..8e3148041 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillSettleMapper.java @@ -11,6 +11,7 @@ public interface WxBillSettleMapper extends CommonMapper { List findList(WxBillSettle wxBillSettle); + void update(WxBillSettle record); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java index 21b3513d5..f759c8796 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java @@ -12,6 +12,7 @@ import com.iformall.service.ExcelService; import com.iformall.service.WxBillSettleService; import com.iformall.service.WxFlowService; import com.iformall.utils.DateUtils; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +21,7 @@ import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * @author luozukai @@ -58,7 +60,36 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { @Override public PageInfo listAsPage(WxBillSettle record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBillSettleMapper.findList(record)); + record.setLimitStart(0); + record.setLimitEnd(Integer.MAX_VALUE); + List totalList = wxBillSettleMapper.findList(record); + if(CollectionUtils.isEmpty(totalList)){ + PageHelper.startPage(pageIndex, pageSize); + PageInfo pageInfo = new PageInfo(new ArrayList()); + pageInfo.setPages(0); + pageInfo.setTotal(0); + PageHelper.clearPage(); + return pageInfo; + } + + int total = totalList.size(); + int pages; + if(total % pageSize == 0){ + pages = total / pageSize; + }else{ + pages = total / pageSize +1; + } + record.setLimitStart((pageIndex -1) * pageSize); + record.setLimitEnd(pageSize); + List list = wxBillSettleMapper.findList(record); + + PageHelper.startPage(pageIndex, pageSize); + PageInfo pageInfo = new PageInfo(list); + pageInfo.setPages(pages); + pageInfo.setTotal(total); + PageHelper.clearPage(); + return pageInfo; + } @Override diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index bf495da28..dfdaec754 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -105,7 +105,7 @@ r.pay_ratio,br.`revenue`,r.`late_pay_ratio`,br.`late_pay_time`,br.`period`,br.`rent_contract_id`, d.receive_pay deposit,d.`status` deposit_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,br.bus_discount_ratio,br.freeze + r.late_pay_day,r.late_pay_ratio,br.bus_discount_ratio,br.freeze,br.join_rent_price from wx_bill_rent br left join wx_shop s on br.shop_id=s.id left join wx_rent_contract r on br.rent_contract_id=r.id diff --git a/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml b/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml index 0e4536668..96dc95967 100644 --- a/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml @@ -36,13 +36,15 @@ and tt.`settle_number` = #{settleNumber} and tt.`status` = #{status} and tt.`apply_status` = #{applyStatus} - - - balance >0 - - - balance <0 - + + and (tt.receiveMoney-tt.payMoney- + (select IFNULL(sum(settle_money),0) from wx_bill_settle_record where settle_id = tt.id) + ) >0 + + + and (tt.receiveMoney-tt.payMoney- + (select IFNULL(sum(settle_money),0) from wx_bill_settle_record where settle_id = tt.id) + ) <0 order by ${sortColumns} @@ -133,6 +135,9 @@ ) tt + + limit #{limitStart},#{limitEnd} +