From 6cf05624ed2afaf9326c25d7024733de904c40b2 Mon Sep 17 00:00:00 2001 From: winter <664946893@qq.com> Date: Fri, 22 Nov 2024 16:03:05 +0800 Subject: [PATCH] fix --- .../com/iformall/domain/po/WxAllBill.java | 2 ++ .../impl/WxAgileContractServiceImpl.java | 9 ++--- .../service/impl/WxAllBillServiceImpl.java | 36 ++++++++++++------- .../impl/WxPropertyContractServiceImpl.java | 8 ++--- .../impl/WxRentContractServiceImpl.java | 19 +++++----- 5 files changed, 46 insertions(+), 28 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java index 0d079818f..d9cc55500 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxAllBill.java @@ -431,4 +431,6 @@ public class WxAllBill extends TenantEntity { private List shopIdList; @TableField(exist = false) private List cusNameShopIdList; + @TableField(exist = false) + private String queryShopIdStr; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java index 6d126c23c..f82b87efe 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAgileContractServiceImpl.java @@ -60,6 +60,7 @@ import com.iformall.service.WxMerchantService; import com.iformall.service.WxShopService; import com.iformall.service.helper.WxRentContractAgileHelper; import com.iformall.service.helper.WxRentContractHelper; +import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; import org.apache.commons.lang3.StringUtils; @@ -522,7 +523,7 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { for (int j = 0 ; j < shopIdList.size(); j++ ) { Long sid = shopIdList.get(j); BigDecimal shoprentArea = shopAreaRateMap.get(sid); - BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); + BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); String cusName = null; if (null != shopUserMap) { WxShopUsers su = shopUserMap.get(sid); @@ -540,7 +541,7 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { wxBillDeposit.setCanEdit(EnumYesOrNo.NO.getCode()); wxBillDeposit.setPriceDetail(fees.getName()); wxBillDeposit.setPay("0"); - wxBillDeposit.setReceivePay(new BigDecimal(deposit.getPrice()).multiply(shoprate).toPlainString()); + wxBillDeposit.setReceivePay(new BigDecimal(deposit.getPrice()).multiply(shoprate).setScale(wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); wxBillDeposit.setNeedPay(wxBillDeposit.getReceivePay()); wxBillDeposit.setStarttime(wxRentContract.getRentalStartDate()); wxBillDeposit.setEndtime(wxRentContract.getRentalEndDate()); @@ -650,7 +651,7 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { for (int i = 0 ; i < shopIdList.size(); i++) { Long sid= shopIdList.get(i); BigDecimal shoprentArea = shopAreaMap.get(sid); - BigDecimal shoprate = shoprentArea.divide(new BigDecimal(contract.getRentArea()),contract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); + BigDecimal shoprate = shoprentArea.divide(new BigDecimal(contract.getRentArea()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); String cusName = null; if (null != shopUserMap) { WxShopUsers su = shopUserMap.get(sid); @@ -658,7 +659,7 @@ public class WxAgileContractServiceImpl implements WxAgileContractService { cusName = su.getName(); } } - String money = new BigDecimal(needpay).multiply(shoprate).toPlainString(); + String money = new BigDecimal(needpay).multiply(shoprate).setScale(contract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString(); WxAllBill bill = buildUnDepositBill(unDeposit,idWorker,contract.getId(),fees,sid,cusName,start,end,receiveDate,money,shoprentArea.toPlainString(),user); billList.add(bill); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java index aad9806b8..d6966ac4e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAllBillServiceImpl.java @@ -129,18 +129,30 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill wxBillRent.setId(-1L); } } - //List _sids = (List) CollectionUtils.intersection(shopIds, wxBillRent.getShopIdList()); -// if (StringUtils.isNotBlank(wxBillRent.getCusName())) { -// WxShopUsers suq = new WxShopUsers(); -// suq.updateTenantInfo(wxBillRent); -// suq.setName(wxBillRent.getCusName()); -// List shopIds = wxShopService.getUserShopIds(suq); -// if (null != shopIds && shopIds.size() > 0 ) { -// wxBillRent.setCusNameShopIdList(shopIds);; -// }else { -// wxBillRent.setId(-1L); -// } -// } + if (StringUtils.isNotBlank(wxBillRent.getQueryShopIdStr())) { + String[] qsids = wxBillRent.getQueryShopIdStr().split(","); + if (null != qsids && qsids.length > 0 ) { + List shopIdList = new ArrayList(); + for (int i = 0 ; i < qsids.length ; i ++) { + String qsid = qsids[i]; + if (StringUtils.isNotBlank(qsid)) { + shopIdList.add(Long.parseLong(qsid)); + } + } + if (null != shopIdList && shopIdList.size() > 0 ) { + if (null != wxBillRent.getShopIdList()) { + List _sids = (List) CollectionUtils.intersection(shopIdList, wxBillRent.getShopIdList()); + if (null != _sids && _sids.size() > 0 ) { + wxBillRent.setShopIdList(_sids); + }else { + wxBillRent.setId(-1L); + } + }else { + wxBillRent.setShopIdList(shopIdList); + } + } + } + } } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 77ff34a2f..ace9ebe98 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -722,7 +722,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService for (int i = 0 ; i < shopIds.size(); i++) { Long shopId = shopIds.get(i); BigDecimal shoprentArea = shopAreaRateMap.get(shopId); - BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxPropertyContract.getRentArea()),wxPropertyContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); + BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxPropertyContract.getRentArea()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); String cusName = null; if (null != shopUserMap) { WxShopUsers su = shopUserMap.get(shopId); @@ -737,7 +737,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService wxBillDeposit.setPropertyContractId(wxPropertyContract.getId()); wxBillDeposit.setPay("0"); String needpay = wxPropertyContract.getDeposit(); - wxBillDeposit.setNeedPay(new BigDecimal(needpay).multiply(shoprate).toPlainString()); + wxBillDeposit.setNeedPay(new BigDecimal(needpay).multiply(shoprate).setScale(wxPropertyContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); wxBillDeposit.setReceivePay(wxBillDeposit.getNeedPay()); wxBillDeposit.setIsPreview(EnumYesOrNo.NO.getCode()); wxBillDeposit.setCanEdit(EnumYesOrNo.NO.getCode()); @@ -1076,13 +1076,13 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService private void setNewsBills(WxPropertyContract wxPropertyContract,WxAllBill newBill,WxAllBill oldBill,Long shopId,Map shopAreaRateMap,Map shopUserMap) { BigDecimal shoprentArea = shopAreaRateMap.get(shopId); - BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxPropertyContract.getRentArea()),wxPropertyContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); + BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxPropertyContract.getRentArea()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); final IdWorker idWorker = IdWorker.get(); try { BeanUtils.copyProperties(newBill, oldBill); newBill.setId(idWorker.nextId()); newBill.setShopId(shopId); - newBill.setNeedPay(new BigDecimal(oldBill.getNeedPay()).multiply(shoprate).toPlainString()); + newBill.setNeedPay(new BigDecimal(oldBill.getNeedPay()).multiply(shoprate).setScale(wxPropertyContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); newBill.setReceivePay(newBill.getNeedPay()); newBill.setRentArea(shoprentArea.toPlainString()); if (null != shopUserMap ) { 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 347303d1f..458ec7409 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -931,7 +931,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { for (int i = 0 ; i < shopIdList.size(); i++ ) { Long sid = shopIdList.get(i); BigDecimal shoprentArea = shopAreaRateMap.get(sid); - BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); + BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); String cusName = null; if (null != shopUserMap) { WxShopUsers su = shopUserMap.get(sid); @@ -957,7 +957,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { // count = wxRentContract.getRentArea(); // } // String needpay = depositFee.calcuteTotalMoney(wxRentContract.getDecimalSize(), null, null, count, true, null, null); - wxBillDeposit.setReceivePay(new BigDecimal(needpay).multiply(shoprate).toPlainString()); + wxBillDeposit.setReceivePay(new BigDecimal(needpay).multiply(shoprate).setScale(wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); wxBillDeposit.setNeedPay(wxBillDeposit.getReceivePay()); //wxBillDeposit.setOwe(needpay); //找到计租方式 @@ -1477,20 +1477,20 @@ public class WxRentContractServiceImpl implements WxRentContractService { WxAllBill rs = new WxAllBill(); Long sid = shopIdList.get(g); BigDecimal shoprentArea = shopAreaRateMap.get(sid); - BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); + BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); try { BeanUtils.copyProperties(rs, rb); rs.setId(idWorker.nextId()); rs.setShopId(sid); - rs.setNeedPay(new BigDecimal(rb.getNeedPay()).multiply(shoprate).toPlainString()); + rs.setNeedPay(new BigDecimal(rb.getNeedPay()).multiply(shoprate).setScale(wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); rs.setReceivePay(rs.getNeedPay()); rs.setShopId(sid); rs.setRentArea(shoprentArea.toPlainString()); if (StringUtils.isNotBlank(rb.getBussinessManageFeeNeedPay())) { - rs.setBussinessManageFeeNeedPay(new BigDecimal(rb.getBussinessManageFeeNeedPay()).multiply(shoprate).toPlainString()); + rs.setBussinessManageFeeNeedPay(new BigDecimal(rb.getBussinessManageFeeNeedPay()).multiply(shoprate).setScale(wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); } if (StringUtils.isNotBlank(rb.getOperatingManageFeeNeedPay())) { - rs.setOperatingManageFeeNeedPay(new BigDecimal(rb.getOperatingManageFeeNeedPay()).multiply(shoprate).toPlainString()); + rs.setOperatingManageFeeNeedPay(new BigDecimal(rb.getOperatingManageFeeNeedPay()).multiply(shoprate).setScale(wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); } if (null != shopUserMap ) { WxShopUsers wsu = shopUserMap.get(sid); @@ -1517,12 +1517,12 @@ public class WxRentContractServiceImpl implements WxRentContractService { WxAllBill rs = new WxAllBill(); Long sid = shopIdList.get(g); BigDecimal shoprentArea = shopAreaRateMap.get(sid); - BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP); + BigDecimal shoprate = shoprentArea.divide(new BigDecimal(wxRentContract.getRentArea()),Constant.default_long_decimal_size,BigDecimal.ROUND_HALF_UP); try { BeanUtils.copyProperties(rs, rb); rs.setId(idWorker.nextId()); rs.setShopId(sid); - rs.setNeedPay(new BigDecimal(rb.getNeedPay()).multiply(shoprate).toPlainString()); + rs.setNeedPay(new BigDecimal(rb.getNeedPay()).multiply(shoprate).setScale(wxRentContract.getDecimalSize(),BigDecimal.ROUND_HALF_UP).toPlainString()); rs.setReceivePay(rs.getNeedPay()); rs.setShopId(sid); rs.setRentArea(shoprentArea.toPlainString()); @@ -1743,6 +1743,9 @@ public class WxRentContractServiceImpl implements WxRentContractService { } private Map getContractCustomersMap(TenantEntity tenantEntity,List customerIds) { + if (null == customerIds || customerIds.size() <= 0 ) { + return null; + } WxContractCustomers ccq = new WxContractCustomers(); ccq.updateTenantInfo(tenantEntity); ccq.setIds(customerIds);