/** * 获取单元折扣dialog关闭要设置的值 * * @param request * @return */ public static Map<String, String> getUnitDiscountManagerCloseShowAndMultiplyByDiscountId( HttpServletRequest request) { int discountId = Integer.parseInt(request.getParameter("unitDiscountId")); Map<String, String> retMap = new HashMap<String, String>(); StringBuffer sb = new StringBuffer(); BigDecimal multiply = new BigDecimal(1); // 具体的折扣 UnitDiscount unitDiscount = unitDiscountServices.findUnitDiscountById(discountId); try { List<PayWayDiscount> discountList = payWayDiscountServices.findPayWayDiscountByUnitDiscountId(discountId); if (!CommonUtils.isCollectionEmpty(discountList)) { for (PayWayDiscount discount : discountList) { sb.append(discount.getDiscountPercent()).append("*"); multiply = multiply.multiply(discount.getDiscountPercent().divide(new BigDecimal(100))); } } else { sb.append(unitDiscount.getDiscountName()); } retMap = initSumMoneyAndContractMoney(request, discountId, multiply, retMap); // 设置其他的相关金额 } catch (Exception e) { e.printStackTrace(); } String detail = sb.toString(); if (detail.endsWith("*")) { detail = detail.substring(0, detail.length() - 1); } // 增加折扣对应的说明 String computeWay = unitDiscount.getComputeWay(); String wayValue = computeWayMap.get(computeWay); if (!CommonUtils.isStrEmpty(wayValue)) { detail += wayValue; } retMap.put("detail", detail); // 折扣显示 retMap.put("multiply", multiply.toString()); // 具体的折扣 return retMap; }
/** * 根据payWayId获取具体的折扣(百分比)多选框 * * @param payWayId * @return */ public static Map<String, String> initSelPayWayDiscountByPayWayId(int payWayId) { List<PayWayDiscount> list = payWayDiscountServices.findPayWayDiscountByPayWayId(payWayId); Map<String, String> map = new HashMap<String, String>(); if (CommonUtils.isCollectionEmpty(list)) return map; for (PayWayDiscount discount : list) { String key = discount.getId() + ""; String value = discount.getDescDiscountType() + "(" + discount.getDiscountPercent() + ")"; map.put(key, value); } return map; }
/** * 获取折扣记忆名称 * * @param payWayDiscountIds * @return */ public static String initUnitDiscountDiscountNameByPayWayDiscountIds(String[] payWayDiscountIds) { StringBuffer sb = new StringBuffer(); if (payWayDiscountIds != null) { for (String payWayDiscountId : payWayDiscountIds) { PayWayDiscount discount = payWayDiscountServices.findPayWayDiscountById(Integer.parseInt(payWayDiscountId)); sb.append(discount.getDiscountPercent()); } } String ret = sb.toString(); ret = CommonUtils.removeLastChar(ret); return ret + "_" + CommonUtils.getNowForString(); }