|
|
@@ -1506,8 +1506,11 @@ public class contractService {
|
|
|
|
|
|
//采购
|
|
|
contractCost.put("PURCHASE_PERIOD_TYPE", service.getString("PURCHASE_PERIOD_TYPE"));//采购周期
|
|
|
- contractCost.put("PURCHASE_START_DATE", service.getString("PURCHASE_START_DATE"));//采购开始日期
|
|
|
- contractCost.put("CONTRACT_START_DATE", service.getString("START_DATE"));
|
|
|
+ String PURCHASE_START_DATE = service.getString("PURCHASE_START_DATE");
|
|
|
+ if (StringUtils.isBlank(PURCHASE_START_DATE))
|
|
|
+ PURCHASE_START_DATE = contract.getString("START_DATE");
|
|
|
+ contractCost.put("PURCHASE_START_DATE", PURCHASE_START_DATE);//采购开始日期
|
|
|
+ contractCost.put("CONTRACT_START_DATE", contract.getString("START_DATE"));
|
|
|
contractCost.put("CONTRACT_END_DATE", contract.getString("END_DATE"));//采购结束日期
|
|
|
|
|
|
|
|
|
@@ -1539,8 +1542,12 @@ public class contractService {
|
|
|
|
|
|
//采购
|
|
|
contractCost.put("PURCHASE_PERIOD_TYPE", service.getString("PURCHASE_PERIOD_TYPE"));//采购周期
|
|
|
- contractCost.put("PURCHASE_START_DATE", service.getString("PURCHASE_START_DATE"));//采购开始日期
|
|
|
- contractCost.put("CONTRACT_START_DATE", service.getString("START_DATE"));
|
|
|
+
|
|
|
+ String PURCHASE_START_DATE = service.getString("PURCHASE_START_DATE");
|
|
|
+ if (StringUtils.isBlank(PURCHASE_START_DATE))
|
|
|
+ PURCHASE_START_DATE = contract.getString("START_DATE");
|
|
|
+
|
|
|
+ contractCost.put("CONTRACT_START_DATE", contract.getString("START_DATE"));
|
|
|
contractCost.put("CONTRACT_END_DATE", contract.getString("END_DATE"));//采购结束日期
|
|
|
|
|
|
PRODUCT_ID = AddContractServiceProduct(uc, conn, contractCost);
|
|
|
@@ -1629,6 +1636,8 @@ public class contractService {
|
|
|
|
|
|
BigDecimal EXTENDED_COST = divideToBigDecimal(service.get("UNIT_COST"), contractCost.get("QUANTITY"));
|
|
|
|
|
|
+ contractServiceLogger.info("计算合同成本周期:" + service);
|
|
|
+
|
|
|
// 需要通过采购计算总成本
|
|
|
List<PeriodCalculationUtil.Period> periodList = PeriodCalculationUtil.getPeriodList(service.get("PURCHASE_PERIOD_TYPE"), LocalDate.parse(service.get("CONTRACT_START_DATE").substring(0, 10)), LocalDate.parse(service.get("PURCHASE_START_DATE").substring(0, 10)), LocalDate.parse(service.get("CONTRACT_END_DATE").substring(0, 10)), service.get("PURCHASE_PERIOD_TYPE").equals("610"));
|
|
|
|
|
|
@@ -1636,6 +1645,9 @@ public class contractService {
|
|
|
EXTENDED_COST = EXTENDED_COST.multiply(rate);
|
|
|
contractCost.set("EXTENDED_COST", EXTENDED_COST);
|
|
|
|
|
|
+ //单元成本
|
|
|
+ contractCost.set("UNIT_COST", divideToBigDecimal(contractCost.get("EXTENDED_COST"), contractCost.get("QUANTITY")));
|
|
|
+
|
|
|
//总价格
|
|
|
contractCost.set("EXTENDED_PRICE", DBSql.getDouble(conn, "SELECT SUM(PERIOD_ADJUSTED_PRICE) as PRICE FROM BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD WHERE CONTRACT_SERVICE_ID='" + service.get("SERVICE_ID") + "'", "PRICE"));
|
|
|
|