|
|
@@ -559,6 +559,26 @@ public class contractServiceAdj {
|
|
|
return false;
|
|
|
}
|
|
|
String PERIOD_TYPE = contractService.getString("PURCHASE_PERIOD_TYPE");
|
|
|
+
|
|
|
+ int periodMonths;
|
|
|
+ switch (contractService.getString("PURCHASE_PERIOD_TYPE")) {
|
|
|
+ case "610":
|
|
|
+ periodMonths = 1; // 按月
|
|
|
+ break;
|
|
|
+ case "611":
|
|
|
+ periodMonths = 3; // 按季度
|
|
|
+ break;
|
|
|
+ case "612":
|
|
|
+ periodMonths = 6; // 按半年
|
|
|
+ break;
|
|
|
+ case "613":
|
|
|
+ periodMonths = 12; // 按年
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ periodMonths = 1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
if (StringUtils.isBlank(boName)) {
|
|
|
boName = "BO_EU_DNIVT_ORDER_PAYMENT_PLAN";
|
|
|
} else {
|
|
|
@@ -625,6 +645,12 @@ public class contractServiceAdj {
|
|
|
SERVICE_TOTAL_COST = multiply(SERVICE_UNIT_COST, lastContractService.get("QUANTITY"));
|
|
|
} else {
|
|
|
SERVICE_UNIT_COST = TypeUtil.convert(lastContractService.get("UNIT_COST"), BigDecimal.class);
|
|
|
+
|
|
|
+ //拆算成月成本
|
|
|
+ if (boName.equals("BO_EU_DNIVT_ORDER_PAYMENT_PLAN_MONTH")) {
|
|
|
+ SERVICE_UNIT_COST = SERVICE_UNIT_COST.divide(new BigDecimal(periodMonths), 10, BigDecimal.ROUND_HALF_UP);
|
|
|
+ }
|
|
|
+
|
|
|
SERVICE_TOTAL_COST = multiply(SERVICE_UNIT_COST, lastContractService.get("QUANTITY"));
|
|
|
}
|
|
|
|
|
|
@@ -649,6 +675,10 @@ public class contractServiceAdj {
|
|
|
|
|
|
|
|
|
SERVICE_UNIT_COST = TypeUtil.convert(contractService.get("UNIT_COST"), BigDecimal.class);
|
|
|
+ //拆算成月成本
|
|
|
+ if (boName.equals("BO_EU_DNIVT_ORDER_PAYMENT_PLAN_MONTH")) {
|
|
|
+ SERVICE_UNIT_COST = SERVICE_UNIT_COST.divide(new BigDecimal(periodMonths), 10, BigDecimal.ROUND_HALF_UP);
|
|
|
+ }
|
|
|
|
|
|
SERVICE_TOTAL_COST = multiply(SERVICE_UNIT_COST, contractService.get("QUANTITY"));
|
|
|
RowMap costProduct = DBSql.getMap("select * from BO_EU_DNIVT_ORDER_PRODUCT where CONTRACT_SERVICE_ID=?", new Object[]{contractService.get("CONTRACT_SERVICE_ID")});
|