| @@ -431,4 +431,6 @@ public class WxAllBill extends TenantEntity { | |||
| private List<Long> shopIdList; | |||
| @TableField(exist = false) | |||
| private List<Long> cusNameShopIdList; | |||
| @TableField(exist = false) | |||
| private String queryShopIdStr; | |||
| } | |||
| @@ -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); | |||
| } | |||
| @@ -129,18 +129,30 @@ public class WxAllBillServiceImpl extends WxBillBaseService implements WxAllBill | |||
| wxBillRent.setId(-1L); | |||
| } | |||
| } | |||
| //List<Long> _sids = (List<Long>) CollectionUtils.intersection(shopIds, wxBillRent.getShopIdList()); | |||
| // if (StringUtils.isNotBlank(wxBillRent.getCusName())) { | |||
| // WxShopUsers suq = new WxShopUsers(); | |||
| // suq.updateTenantInfo(wxBillRent); | |||
| // suq.setName(wxBillRent.getCusName()); | |||
| // List<Long> 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<Long> shopIdList = new ArrayList<Long>(); | |||
| 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<Long> _sids = (List<Long>) CollectionUtils.intersection(shopIdList, wxBillRent.getShopIdList()); | |||
| if (null != _sids && _sids.size() > 0 ) { | |||
| wxBillRent.setShopIdList(_sids); | |||
| }else { | |||
| wxBillRent.setId(-1L); | |||
| } | |||
| }else { | |||
| wxBillRent.setShopIdList(shopIdList); | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| @Override | |||
| @@ -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<Long, BigDecimal> shopAreaRateMap,Map<Long,WxShopUsers> 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 ) { | |||
| @@ -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<Long,WxContractCustomers> getContractCustomersMap(TenantEntity tenantEntity,List<Long> customerIds) { | |||
| if (null == customerIds || customerIds.size() <= 0 ) { | |||
| return null; | |||
| } | |||
| WxContractCustomers ccq = new WxContractCustomers(); | |||
| ccq.updateTenantInfo(tenantEntity); | |||
| ccq.setIds(customerIds); | |||