diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillDetailVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillDetailVo.java new file mode 100644 index 0000000000..3a44a06420 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillDetailVo.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppCustomerBillDetailVo implements Vo { + + @ApiModelProperty("实收金额") + private String money; + @ApiModelProperty("款项类型") + private String paymentType; + @ApiModelProperty("创建人") + private String handle; + @ApiModelProperty("创建人Sid") + private String staffSid; + @ApiModelProperty("创建时间") + private String date; + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("客户类型") + private String customerKey; + @ApiModelProperty("客户头像") + private String customerImage; + @ApiModelProperty("合同sid") + private String contractSid; + @ApiModelProperty("应收项目名称") + private String receivablesName; + + +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryDetailsVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryDetailsVo.java new file mode 100644 index 0000000000..a84fb83e52 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryDetailsVo.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppCustomerBillSummaryDetailsVo implements Vo { + + @ApiModelProperty("合同sid") + private String contractSid; + + @ApiModelProperty("合同编号") + private String contractId; + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("客户类型") + private String customerKey; + + @ApiModelProperty("客户头像") + private String customerImage; + + @ApiModelProperty("合同日期") + private String date; + + @ApiModelProperty("未收费用") + private String unReceivable; + + @ApiModelProperty("应收费用") + private String receivable; + + @ApiModelProperty("实缴费用") + private String paid; + + @ApiModelProperty("应收项目名称") + private String receivablesName; + +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryQuery.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryQuery.java new file mode 100644 index 0000000000..a5de7c5740 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryQuery.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppCustomerBillSummaryQuery implements Query { + + @ApiModelProperty("合同sid") + private String contractSid; +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryVo.java new file mode 100644 index 0000000000..6622d2ec54 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppCustomerBillSummaryVo.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppCustomerBillSummaryVo implements Vo { + + @ApiModelProperty("应收") + private String receivable; + + @ApiModelProperty("未收") + private String unReceivable; + + @ApiModelProperty("时间") + private String date; + + @ApiModelProperty("实收") + private String paid; + + @ApiModelProperty("付款sid") + private String paymentSid; + + @ApiModelProperty("状态") + private String state; + + @ApiModelProperty("款项类型") + private String payType; + + @ApiModelProperty("应收项目名称") + private String receivablesName; + +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedQuery.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedQuery.java new file mode 100644 index 0000000000..81bfc7fcca --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/AppFinUncollectedReceivablesDetailedQuery.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppFinUncollectedReceivablesDetailedQuery implements Query { + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("分公司sid") + private String useOrgSid; + +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java index aaeffe2d44..846315f407 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java @@ -66,7 +66,7 @@ public interface FinUncollectedReceivablesDetailedFeign { @ApiOperation("新增或修改保存") @PostMapping("/saveOrUpdate") public ResultBean saveOrUpdate(@RequestBody FinUncollectedReceivablesDetailedDto dto); - + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); @@ -79,4 +79,15 @@ public interface FinUncollectedReceivablesDetailedFeign { @PostMapping("/customerBillDetailedListPage") public ResultBean> customerBillDetailedListPage(@RequestBody PagerQuery pq); + @ApiOperation("app获取客户账单列表") + @PostMapping("/getCustomerBillList") + public ResultBean> getCustomerBillList(@RequestBody PagerQuery pq); + + @ApiOperation("app获取客户合同账单列表") + @PostMapping("/getCustomerBill2List") + public ResultBean> getCustomerBill2List(@RequestBody PagerQuery pq); + + @ApiOperation("app获取账单详情") + @PostMapping("/getCustomerBillDetail/{paymentSid}") + public ResultBean> getCustomerBillDetail(@PathVariable("paymentSid") String paymentSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java index 565f9cf80d..360914eef3 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java @@ -74,4 +74,20 @@ public class FinUncollectedReceivablesDetailedFeignFallback implements FinUncoll public ResultBean> customerBillDetailedListPage(PagerQuery pq) { return null; } + + @Override + public ResultBean> getCustomerBillList(PagerQuery pq) { + return null; + } + + + @Override + public ResultBean> getCustomerBill2List(PagerQuery pq) { + return null; + } + + @Override + public ResultBean> getCustomerBillDetail(String paymentSid) { + return null; + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java index 28ac149ba4..2256e69f62 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.java @@ -26,12 +26,11 @@ package com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.DetailsOfReceivablesAndUncollectedItemsVo; -import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; -import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -56,23 +55,29 @@ import java.util.List; @Mapper public interface FinUncollectedReceivablesDetailedMapper extends BaseMapper { - //@Update("update fin_uncollected_receivables_detailed set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from fin_uncollected_receivables_detailed") - List selectListVo(); + //@Update("update fin_uncollected_receivables_detailed set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from fin_uncollected_receivables_detailed") + List selectListVo(); FinUncollectedReceivablesDetailedVo fetchByVinAndRecName(@Param("vin") String vin, @Param("receivablesName") String receivablesName); - @Update("update fin_uncollected_receivables_detailed set currentReceivableMoney = #{curRecMoney} where sid = #{sid}") - void updateCurRecMoneyBySid(@Param("curRecMoney") String curRecMoney,@Param("sid") String sid); + @Update("update fin_uncollected_receivables_detailed set currentReceivableMoney = #{curRecMoney} where sid = #{sid}") + void updateCurRecMoneyBySid(@Param("curRecMoney") String curRecMoney, @Param("sid") String sid); + + List selectGroupConAndRecAndPay(String contractNo, String receivablesName, String paymentTypeValue); + + @Update("update fin_uncollected_receivables_detailed set subscriptionState = #{subscriptionState} where sid = #{sid2}") + void updateSubscriptionStateBySid(@Param("sid2") String sid2, @Param("subscriptionState") int subscriptionState); + + IPage getCustomerBillList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - List selectGroupConAndRecAndPay(String contractNo, String receivablesName, String paymentTypeValue); + IPage getCustomerBill2List(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - @Update("update fin_uncollected_receivables_detailed set subscriptionState = #{subscriptionState} where sid = #{sid2}") - void updateSubscriptionStateBySid(@Param("sid2") String sid2, @Param("subscriptionState") int subscriptionState); + AppCustomerBillDetailVo selectBySid(@Param("paymentSid") String paymentSid); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml index 6d093cb490..931a3d1d8b 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml @@ -1,45 +1,88 @@ - - - - + + + + + + - + SELECT receivablesName, + SUM(subscriptionMoney) subscriptionMoney + FROM fin_selected_receivables_detailed fsrd + WHERE auditState = 3 + GROUP BY contractNo, receivablesName + + + + + - + - + \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java index f274e4ca0d..97092dc014 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedRest.java @@ -96,4 +96,25 @@ public class FinUncollectedReceivablesDetailedRest implements FinUncollectedRece PagerVo pv = finUncollectedReceivablesDetailedService.detailedListPageVo(pq); return rb.success().setData(pv); } + + @Override + public ResultBean> getCustomerBillList(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = finUncollectedReceivablesDetailedService.getCustomerBillList(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean> getCustomerBill2List(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = finUncollectedReceivablesDetailedService.getCustomerBill2List(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean> getCustomerBillDetail(String paymentSid) { + ResultBean rb = ResultBean.fireFail(); + AppCustomerBillDetailVo vo = finUncollectedReceivablesDetailedService.getCustomerBillDetail(paymentSid); + return rb.success().setData(vo); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java index b050d64adb..0cb9ed2361 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedService.java @@ -27,6 +27,8 @@ package com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.commonappendix.CommonAppendix; +import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign; import com.yxt.anrui.base.api.commoncontract.CommonContract; import com.yxt.anrui.base.api.commoncontract.CommonContractFeign; import com.yxt.anrui.base.api.commoncontract.CommonContractVo; @@ -40,6 +42,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; +import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -73,6 +76,8 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService @Autowired private CommonContractFeign commonContractFeign; @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService; @Autowired private SysStaffOrgFeign sysStaffOrgFeign; @@ -88,7 +93,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService qw.eq("useOrgSid", query.getUseOrgSid()); qw.eq("createBySid", query.getCreateBySid()); String[] sids = query.getSids(); - if (sids != null){ + if (sids != null) { for (String sid : sids) { if (StringUtils.isNotBlank(sid)) { qw.ne("sid", sid); @@ -131,7 +136,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); Integer isDept = data1.getIsDept(); String psid = data1.getPsid(); - if (isDept == 0 && !psid.equals(0)){ + if (isDept == 0 && !psid.equals(0)) { orgSidPath = s; break; } @@ -177,7 +182,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); Integer isDept = data1.getIsDept(); String psid = data1.getPsid(); - if (isDept == 0 && !psid.equals(0)){ + if (isDept == 0 && !psid.equals(0)) { orgSidPath = s; break; } @@ -255,7 +260,7 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); Integer isDept = data1.getIsDept(); String psid = data1.getPsid(); - if (isDept == 0 && !psid.equals(0)){ + if (isDept == 0 && !psid.equals(0)) { orgSidPath = s; break; } @@ -315,6 +320,161 @@ public class FinUncollectedReceivablesDetailedService extends MybatisBaseService } public void updateSubscriptionStateBySid(String sid2, int subscriptionState) { - baseMapper.updateSubscriptionStateBySid(sid2,subscriptionState); + baseMapper.updateSubscriptionStateBySid(sid2, subscriptionState); + } + + /** + * app获取客户账单列表 + * + * @param pq + * @return + */ + public PagerVo getCustomerBillList(PagerQuery pq) { + String userSid = pq.getParams().getUserSid(); + String useOrgSid = sysOrganizationFeign.getUseOrgByUserSid(userSid).getData().getSid(); + if (StringUtils.isNotBlank(useOrgSid)) { + pq.getParams().setUseOrgSid(useOrgSid); + } + QueryWrapper qw = appCreateQueryWrapper(pq.getParams()); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.getCustomerBillList(page, qw); + for (AppCustomerBillSummaryDetailsVo record : pagging.getRecords()) { + BigDecimal totalDeposit = new BigDecimal(0); + BigDecimal totalPrice = new BigDecimal(0); + BigDecimal noSubscriptionMoney = new BigDecimal(0); + String sid = record.getContractSid(); + String receivablesName = record.getReceivablesName(); + ResultBean commonContractVoResultBean = commonContractFeign.fetchBySid(sid); + CommonContractVo data = commonContractVoResultBean.getData(); + if (receivablesName.equals("订金")) { + BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); + BigDecimal num = new BigDecimal(data.getNum()); + totalDeposit = oneDeposit.multiply(num); + record.setReceivable(String.valueOf(totalDeposit)); + } else if (receivablesName.equals("车款")) { + BigDecimal price = new BigDecimal(data.getPrice()); + BigDecimal num = new BigDecimal(data.getNum()); + totalPrice = price.multiply(num); + record.setReceivable(String.valueOf(totalPrice)); + } + List finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectGroupConAndRecAndPay(); + for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { + String receivablesName1 = finSelectedReceivablesDetailedVo.getReceivablesName(); + String subscriptionMoney = finSelectedReceivablesDetailedVo.getSubscriptionMoney(); + if (receivablesName1.equals("订金")) { + record.setPaid(subscriptionMoney); + noSubscriptionMoney = totalDeposit.subtract(new BigDecimal(subscriptionMoney)); + record.setUnReceivable(String.valueOf(noSubscriptionMoney)); + } else if (receivablesName1.equals("车款")) { + noSubscriptionMoney = totalPrice.subtract(new BigDecimal(subscriptionMoney)); + record.setUnReceivable(String.valueOf(noSubscriptionMoney)); + } + } + } + + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + private QueryWrapper appCreateQueryWrapper(AppFinUncollectedReceivablesDetailedQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("contractName", query.getName()); + } + if (StringUtils.isNotBlank(query.getName())) { + qw.like("contractNo", query.getName()); + } + if (StringUtils.isNotBlank(query.getUseOrgSid())) { + qw.eq("useOrgSid", query.getUseOrgSid()); + } + return qw; + } + + private QueryWrapper app2createQueryWrapper(AppCustomerBillSummaryQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getContractSid())) { + qw.eq("contractSid", query.getContractSid()); + } + return qw; + } + + public PagerVo getCustomerBill2List(PagerQuery pq) { + QueryWrapper qw = app2createQueryWrapper(pq.getParams()); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.getCustomerBill2List(page, qw); + List records = pagging.getRecords(); + for (AppCustomerBillSummaryVo record : records) { + BigDecimal totalDeposit = new BigDecimal(0); + BigDecimal totalPrice = new BigDecimal(0); + BigDecimal noSubscriptionMoney = new BigDecimal(0); + String sid = pq.getParams().getContractSid(); + String receivablesName = record.getReceivablesName(); + ResultBean commonContractVoResultBean = commonContractFeign.fetchBySid(sid); + CommonContractVo data = commonContractVoResultBean.getData(); + + if (receivablesName.equals("订金")) { + BigDecimal oneDeposit = new BigDecimal(data.getOneDeposit()); + BigDecimal num = new BigDecimal(data.getNum()); + totalDeposit = oneDeposit.multiply(num); + record.setReceivable(String.valueOf(totalDeposit)); + record.setPaid("0"); + record.setUnReceivable(String.valueOf(totalDeposit)); + List finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); + BigDecimal lastSubscriptionMoney = new BigDecimal(0); + for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { + BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); + noSubscriptionMoney = totalDeposit.subtract(subscriptionMoney.add(lastSubscriptionMoney)); + lastSubscriptionMoney = subscriptionMoney.add(lastSubscriptionMoney); + finSelectedReceivablesDetailedVo.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); + } + } else if (receivablesName.equals("车款")) { + BigDecimal price = new BigDecimal(data.getPrice()); + BigDecimal num = new BigDecimal(data.getNum()); + totalPrice = price.multiply(num); + record.setReceivable(String.valueOf(totalPrice)); + record.setPaid("0"); + record.setUnReceivable(String.valueOf(totalPrice)); + List finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.selectDetailedGroupConAndRecAndPay(); + BigDecimal lastSubscriptionMoney = new BigDecimal(0); + for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) { + BigDecimal subscriptionMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney()); + noSubscriptionMoney = totalPrice.subtract(subscriptionMoney.add(lastSubscriptionMoney)); + lastSubscriptionMoney = subscriptionMoney.add(lastSubscriptionMoney); + finSelectedReceivablesDetailedVo.setNoSubscriptionMoney(String.valueOf(noSubscriptionMoney)); + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public AppCustomerBillDetailVo getCustomerBillDetail(String paymentSid) { + AppCustomerBillDetailVo vo = baseMapper.selectBySid(paymentSid); + String customerImage = fileUploadComponent.getUrlPrefix() + vo.getCustomerImage(); + vo.setCustomerImage(customerImage); + List data = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(vo.getStaffSid()).getData(); + for (SysStaffOrgVo datum : data) { + vo.setHandle(datum.getStaffName()); + } + ResultBean commonContractVoResultBean = commonContractFeign.fetchBySid(vo.getContractSid()); + CommonContractVo commonContractVo = commonContractVoResultBean.getData(); + BigDecimal totalDeposit = new BigDecimal(0); + BigDecimal totalPrice = new BigDecimal(0); + if (vo.getReceivablesName().equals("订金")) { + BigDecimal oneDeposit = new BigDecimal(commonContractVo.getOneDeposit()); + BigDecimal num = new BigDecimal(commonContractVo.getNum()); + totalDeposit = oneDeposit.multiply(num); + vo.setMoney(String.valueOf(totalDeposit)); + } else if (vo.getReceivablesName().equals("车款")) { + BigDecimal price = new BigDecimal(commonContractVo.getPrice()); + BigDecimal num = new BigDecimal(commonContractVo.getNum()); + totalPrice = price.multiply(num); + vo.setMoney(String.valueOf(totalPrice)); + } + return vo; } } \ No newline at end of file