|
|
@@ -118,16 +118,12 @@ public class ItemPrice extends BaseClass {
|
|
|
* 第一步:查询框架合同并试图获取价格:优先级 商品价格、商品折扣==》类别折扣==》合同折扣
|
|
|
*/
|
|
|
{
|
|
|
- Rows contractRows;
|
|
|
-// if (contractRowscacheMap.containsKey(cachekey)) {
|
|
|
-// contractRows = contractRowscacheMap.get(cachekey);
|
|
|
-// } else {
|
|
|
+
|
|
|
SQLFactory contractQuery = new SQLFactory(this, "商户框架合同查询");
|
|
|
contractQuery.addParameter("siteid", controller.siteid);
|
|
|
contractQuery.addParameter("sys_enterpriseid", sys_enterpriseid);
|
|
|
- contractRows = dbConnect.runSqlQuery(contractQuery.getSQL());
|
|
|
-// contractRowscacheMap.put(cachekey, contractRows);
|
|
|
-// }
|
|
|
+ Rows contractRows = dbConnect.runSqlQuery(contractQuery.getSQL());
|
|
|
+
|
|
|
if (contractRows.size() > 1) {
|
|
|
throw new YosException("存在一个以上的价格协议信息:" + itemid);
|
|
|
} else if (contractRows.size() == 1) {
|
|
|
@@ -139,15 +135,13 @@ public class ItemPrice extends BaseClass {
|
|
|
/*
|
|
|
*第三步:如果商品价格还是小于0,则尝试从合同类别折扣协议中去获取价格
|
|
|
*/
|
|
|
-// stepThree(sa_contractid, getGraderateprice());
|
|
|
- stepThree(sa_contractid, getMarketprice());
|
|
|
+ stepThree(sa_contractid, getGraderateprice());
|
|
|
/*
|
|
|
* 第四步:如果商品价格还是小于0,则从合同折扣协议中去获取价格
|
|
|
*/
|
|
|
BigDecimal discountrate = contractRows.get(0).getBigDecimal("discountrate");//折扣率
|
|
|
if (contractprice.compareTo(BigDecimal.ZERO) <= 0 && discountrate.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
-// contractprice = getScalePrice(getGraderateprice().multiply(discountrate));
|
|
|
- contractprice = getScalePrice(getMarketprice().multiply(discountrate));
|
|
|
+ contractprice = getScalePrice(getGraderateprice().multiply(discountrate));
|
|
|
|
|
|
|
|
|
}
|
|
|
@@ -157,19 +151,17 @@ public class ItemPrice extends BaseClass {
|
|
|
* 如果框架合同中没有获取到有效的价格,则返回商户等级价格信息
|
|
|
*/
|
|
|
if (contractprice.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
-// contractprice = getGraderateprice();
|
|
|
- contractprice = getMarketprice();
|
|
|
+ contractprice = getGraderateprice();
|
|
|
}
|
|
|
/*
|
|
|
* 如果没有获取到有效的价格,则返回原价格信息
|
|
|
*/
|
|
|
if (contractprice.compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
-// contractprice = getPrice();
|
|
|
- contractprice = getMarketprice();
|
|
|
+ contractprice = getPrice();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// setScalePrice();
|
|
|
+
|
|
|
|
|
|
|
|
|
return contractprice;
|
|
|
@@ -225,7 +217,6 @@ public class ItemPrice extends BaseClass {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// setScalePrice();
|
|
|
|
|
|
return contractprice;
|
|
|
}
|
|
|
@@ -255,8 +246,7 @@ public class ItemPrice extends BaseClass {
|
|
|
|
|
|
if (type.equals("折扣系数") && discountrate_item.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
|
|
-// contractprice = getScalePrice(getGraderateprice().multiply(discountrate_item));
|
|
|
- contractprice = getScalePrice(getMarketprice().multiply(discountrate_item));
|
|
|
+ contractprice = getScalePrice(getGraderateprice().multiply(discountrate_item));
|
|
|
|
|
|
|
|
|
} else if (type.equals("指定单价") && price.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
@@ -447,27 +437,14 @@ public class ItemPrice extends BaseClass {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 对于是乘以折扣的,海盐取整,其他取2位
|
|
|
- *
|
|
|
* @param price
|
|
|
* @return
|
|
|
*/
|
|
|
public BigDecimal getScalePrice(BigDecimal price) {
|
|
|
- if (controller.siteid.equals("HY")) {
|
|
|
- return (price).setScale(0, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
- } else {
|
|
|
- return (price).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- }
|
|
|
- }
|
|
|
+ return (price).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
|
|
|
+ }
|
|
|
|
|
|
-// public void setScalePrice() {
|
|
|
-// if (controller.siteid.equals("HY")) {
|
|
|
-// contractprice = contractprice.setScale(0, BigDecimal.ROUND_HALF_UP);
|
|
|
-// } else {
|
|
|
-// contractprice = contractprice.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
-// }
|
|
|
-// }
|
|
|
|
|
|
}
|