diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java index 2db15df6c..b9a9b5d7c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillSettleController.java @@ -8,6 +8,7 @@ import com.iformall.controller.base.BaseController; import com.iformall.domain.po.BaseEntity; import com.iformall.domain.po.WxBillSettle; import com.iformall.domain.po.WxBillSettleRecord; +import com.iformall.enums.EnumFilter; import com.iformall.service.WxBillAllService; import com.iformall.service.WxBillSettleRecordService; import com.iformall.service.WxBillSettleService; @@ -59,7 +60,7 @@ public class WxBillSettleController extends BaseController { @SystemControllerLog(description = "账单管理-结算单-id查找") public ResultData findById(Long id) { logger.debug("[" + getIpAddr() + "] WxBillSettleController::findById"); - return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id)); + return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id, EnumFilter.NO.getCode())); } @PostMapping("addOrUpdate") diff --git a/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java b/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java index fdd19daf2..f7293bbbb 100644 --- a/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java +++ b/mallinkAdmin/src/test/java/com/iformall/service/test/Test.java @@ -110,23 +110,23 @@ public class Test { // wxBillAll.setBillTypeValue(10); // log.debug("data:{}", JSON.toJSONString( wxBillAllService.listBill(wxBillAll))); - WxBillSettle wxBillSettle = wxBillSettleService.getById(330875180045271040l); - - - WxBillSettleRecord settleRecord = new WxBillSettleRecord(); - settleRecord.setSettleId(wxBillSettle.getId()); - settleRecord.setSettleMoney(wxBillSettle.getBalance()); - settleRecord.setSettleTime(new Date()); - settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode()); - settleRecord.setTenantId(wxBillSettle.getTenantId()); - - BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); - settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); - wxBillSettleRecordService.saveOrUpdate(settleRecord,null,wxBillSettle.getId()); - - wxBillSettle.setUpdatetime(new Date()); - wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode()); - wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); +// WxBillSettle wxBillSettle = wxBillSettleService.getById(330875180045271040l); +// +// +// WxBillSettleRecord settleRecord = new WxBillSettleRecord(); +// settleRecord.setSettleId(wxBillSettle.getId()); +// settleRecord.setSettleMoney(wxBillSettle.getBalance()); +// settleRecord.setSettleTime(new Date()); +// settleRecord.setSettleWay(EnumSettleRecordWay.WEBCAT.getCode()); +// settleRecord.setTenantId(wxBillSettle.getTenantId()); +// +// BigDecimal money = new BigDecimal(settleRecord.getSettleMoney()).divide(new BigDecimal(100), 2, BigDecimal.ROUND_HALF_UP); +// settleRecord.setDetail(EnumSettleRecordWay.getEnum(settleRecord.getSettleWay()).getMessage()+"收款"+money.toString()+"元"); +// wxBillSettleRecordService.saveOrUpdate(settleRecord,null,wxBillSettle.getId()); +// +// wxBillSettle.setUpdatetime(new Date()); +// wxBillSettle.setStatus(EnumSettleStatus.FINISH.getCode()); +// wxBillSettleMapper.updateByPrimaryKeySelective(wxBillSettle); } @org.junit.Test diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java index f1ba9e950..657b63fdd 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java @@ -6,6 +6,7 @@ import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.vo.WxBillAll; +import com.iformall.enums.EnumFilter; import com.iformall.enums.EnumMerchantStatus; import com.iformall.service.WxBillAllService; import com.iformall.service.WxBillSettleService; @@ -91,7 +92,7 @@ public class WxBillController extends BaseController { @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) @ApiOperation("账单管理-结算单-id查找") public ResultData findById(Long id) { - return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id)); + return new ResultData(Result.SUCCESS, "查询成功", wxBillSettleService.getById(id, EnumFilter.NO.getCode())); } } 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 ee327710d..9fa4cfd63 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxBillSettle.java @@ -97,4 +97,9 @@ public class WxBillSettle extends BaseEntity { private Integer limitStart; @Transient private Integer limitEnd; + + + @Transient + @io.swagger.annotations.ApiModelProperty(value="是否过滤结算历史 1不过滤",name="filterSettleRecord") + private Integer filterSettleRecord =0; } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java b/mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java index 7e7e61da4..2be0c5e73 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillSettleService.java @@ -22,13 +22,14 @@ public interface WxBillSettleService { */ PageInfo listAsPage(WxBillSettle record, Integer pageIndex, Integer pageSize); + /** * 根据Id获得实体 * * @param id * @return */ - WxBillSettle getById(Long id); + WxBillSettle getById(Long id,Integer filterSettleRecord); /** * 保存或更新实体 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java index cd045b6e3..d285f9385 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -127,6 +127,9 @@ public class WxBillAllServiceImpl implements WxBillAllService { @Autowired WxBillSettleService wxBillSettleService; + @Autowired + WxBillSettleRecordMapper wxBillSettleRecordMapper; + @Override public Map listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) { //更新各账单状态 @@ -192,6 +195,16 @@ public class WxBillAllServiceImpl implements WxBillAllService { return new ResultData(pageInfo); } List> maps = wxBillAllMapper.listData(wxBillAll); + for (Map map:maps) { + Integer billType = (Integer)map.get("billTypeValue"); + if(EnumBillType.SETTLE.getCode().equals(billType)){ + Long rp = (Long)map.get("receive_pay"); + WxBillSettle query = new WxBillSettle(); + query.setId((Long)map.get("id")); + Long sum = wxBillSettleRecordMapper.getSumMoneyBySettleId(query); + map.put("owe",rp-sum); + } + } return new ResultData(maps); } @@ -257,7 +270,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { try { logger.info("更新结算单id:{}", JsonUtil.obj2Json(bill)); - WxBillSettle wxBillSettle = wxBillSettleService.getById((Long)bill.get("id")); + WxBillSettle wxBillSettle = wxBillSettleService.getById((Long)bill.get("id"),EnumFilter.NO.getCode()); WxBillSettleRecord settleRecord = new WxBillSettleRecord(); settleRecord.setSettleId((Long)bill.get("id")); @@ -813,7 +826,7 @@ public class WxBillAllServiceImpl implements WxBillAllService { @Override public void exportSettleBill(WxBillSettle wxBillSettle, HttpServletRequest request, HttpServletResponse response) { - wxBillSettle = wxBillSettleService.getById(wxBillSettle.getId()); + wxBillSettle = wxBillSettleService.getById(wxBillSettle.getId(),EnumFilter.NO.getCode()); if(wxBillSettle.getReceiveBillIds() == null) wxBillSettle.setReceiveBillIds(new ArrayList<>()); if(wxBillSettle.getPayBillIds() == null) wxBillSettle.setPayBillIds(new ArrayList<>()); 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 ac271cc96..bc9d228e6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillSettleServiceImpl.java @@ -97,7 +97,7 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { } @Override - public WxBillSettle getById(Long id){ + public WxBillSettle getById(Long id,Integer filterSettleRecord){ WxBillSettle billSettle = wxBillSettleMapper.selectByPrimaryKey(id); if(billSettle != null){ @@ -124,6 +124,7 @@ public class WxBillSettleServiceImpl implements WxBillSettleService { //加载应收、承付、结余 WxBillSettle query = new WxBillSettle(); query.setId(id); + query.setFilterSettleRecord(filterSettleRecord); query = wxBillSettleMapper.findList(query).get(0); billSettle.setReceiveMoney(query.getReceiveMoney()); billSettle.setPayMoney(query.getPayMoney()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index b4abb970c..0b6d424b7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -304,7 +304,7 @@ public class WxFlowServiceImpl implements WxFlowService { wxBillSettle.setApplyStatus(applyStatus); //审批完成,账单解冻 - WxBillSettle settle = wxBillSettleService.getById(businessId); + WxBillSettle settle = wxBillSettleService.getById(businessId,EnumFilter.NO.getCode()); if(EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { wxBillSettle.setStatus(EnumSettleStatus.NOT_FINISH.getCode()); wxBillSettleService.updateFreezeOrStatus(settle.getReceiveBillIds(), EnumFreezeType.DEF.getCode(),EnumBillRentStatus.PAID.getCode()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayBillServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayBillServiceImpl.java index 1ca3f7167..ad9aac386 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayBillServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayBillServiceImpl.java @@ -105,7 +105,7 @@ public class WxPayBillServiceImpl implements WxPayBillService { Integer billTypeValue = ((Long) bill.get("billTypeValue")).intValue(); if(EnumBillType.SETTLE.getCode().equals(billTypeValue)){ - WxBillSettle wxBillSettle = wxBillSettleService.getById(record.getBillId()); + WxBillSettle wxBillSettle = wxBillSettleService.getById(record.getBillId(),EnumFilter.NO.getCode()); owe = wxBillSettle.getBalance(); bill.put("owe",owe); logger.info("wxBillSettle.balance:{}",owe); 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 f16aa55d0..34f50baca 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -279,8 +279,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { return ratioVo; } List ratioList = JSONArray.parseArray(busDiscountRatio, String.class); - - ratioVo.setUseRatio("["); + ratioVo.setUseRatio(busDiscountRatio); for (int i = 0; i < ratioList.size(); i++) { BigDecimal revenue = new BigDecimal(revenueLong).divide(new BigDecimal(1000000)).setScale(8, RoundingMode.HALF_EVEN); @@ -316,7 +315,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (revenue.compareTo(start) >= 0 && revenue.compareTo(end)<= 0){ ratioVo.setRatio(ratio); ratioVo.setPrice(countPrice(ratioVo.getRatio(),revenueLong,timeType,period,from)); - ratioVo.setUseRatio(ratioVo.getUseRatio()+"\""+e+"\","); break; } }else if(e.indexOf(">") >= 0){ @@ -343,7 +341,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { if (revenue.compareTo(end) >= 0){ ratioVo.setRatio(ratio); - ratioVo.setUseRatio(ratioVo.getUseRatio()+"\""+e+"\","); //计算超出部分 BigDecimal payRatio = new BigDecimal(ratio).divide(new BigDecimal(10000)); @@ -375,9 +372,6 @@ public class WxRentContractServiceImpl implements WxRentContractService { } } } - if(!"[".equals(ratioVo.getUseRatio())) { - ratioVo.setUseRatio(ratioVo.getUseRatio().substring(0, ratioVo.getUseRatio().lastIndexOf(",")) + "]"); - } return ratioVo; } diff --git a/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml b/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml index 023d7346c..02a8d5c28 100644 --- a/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillSettleMapper.xml @@ -51,9 +51,16 @@ +