|
|
@@ -341,174 +341,196 @@ public class contractService {
|
|
|
|
|
|
for (BO service : serviceList) {
|
|
|
AddServiceServiceBundleOne(uc, conn, contract, service);
|
|
|
- //一次性收费服务 不受开始日期或结束日期影响
|
|
|
- if (service.getString("PERIOD_TYPE").equals(cttConstant.PERIOD_TYPE_ONE_TIME)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- contractServiceLogger.info("判断合同结束日期是否修改");
|
|
|
- //如果服务周期的结束时间不等于合同的结束时间,则需要延长服务周期或缩短
|
|
|
- String PERIOD = service.getString("PERIOD");//服务起止日期
|
|
|
- String ADJUST_PERIOD = service.getString("ADJUST_PERIOD");//服务调整的起止日期
|
|
|
|
|
|
- contractServiceLogger.info("PERIOD---" + PERIOD);
|
|
|
- contractServiceLogger.info("ADJUST_PERIOD---" + ADJUST_PERIOD);
|
|
|
+ ServiceAutoRenew(uc, service, END_DATE, conn);
|
|
|
+ }
|
|
|
|
|
|
- LocalDate PERIOD_END;
|
|
|
- if (StringUtils.isNotBlank(PERIOD)) {
|
|
|
- PERIOD_END = getLocalDate(PERIOD.split("~")[1]);
|
|
|
- PERIOD = PERIOD.split("~")[0] + "~" + LocalDateYYYYMMDD(END_DATE);
|
|
|
- } else {
|
|
|
- PERIOD_END = getLocalDate(ADJUST_PERIOD.split("~")[1]);
|
|
|
- ADJUST_PERIOD = ADJUST_PERIOD.split("~")[0] + "~" + LocalDateYYYYMMDD(END_DATE);
|
|
|
- }
|
|
|
|
|
|
- //缩短
|
|
|
- if (PERIOD_END.isAfter(END_DATE)) {
|
|
|
- if (StringUtils.isNotBlank(ADJUST_PERIOD)) {
|
|
|
- LocalDate ADJUST_PERIOD_END = getLocalDate(ADJUST_PERIOD.split("~")[1]);
|
|
|
- if (ADJUST_PERIOD_END.isAfter(END_DATE)) {
|
|
|
- PERIOD = null;
|
|
|
- ADJUST_PERIOD = ADJUST_PERIOD.split("~")[0] + "~" + LocalDateYYYYMMDD(END_DATE);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ conn.commit();
|
|
|
+ return true;
|
|
|
+ } catch (SQLException e) {
|
|
|
|
|
|
- contractServiceLogger.info("服务周期结束日期--" + LocalDateYYYYMMDD(PERIOD_END));
|
|
|
- contractServiceLogger.info("合同结束日期--" + LocalDateYYYYMMDD(END_DATE));
|
|
|
+ contractServiceLogger.info("AddServiceServiceBundle--error--失败。。。" + e.getMessage());
|
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
|
- if (!PERIOD_END.isEqual(END_DATE)) {
|
|
|
- if (PERIOD_END.isBefore(END_DATE)) {
|
|
|
- contractServiceLogger.info("服务周期延长--" + service.getString("NAME"));
|
|
|
- //延长
|
|
|
- List<BO> servicePeriodList = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD").connection(conn).addQuery("CONTRACT_SERVICE_ID =", service.getId()).addQuery("PERIOD_END_DATE >=", LocalDateYYYYMMDD(PERIOD_END)).orderBy("PERIOD_BEGIN_DATE").desc().list();
|
|
|
+ conn.rollback();
|
|
|
|
|
|
- BO servicePeriod = servicePeriodList.get(0);
|
|
|
- LocalDate period_begin_date = getLocalDate(servicePeriod.get("PERIOD_BEGIN_DATE"));
|
|
|
- LocalDate period_end_date = getLocalDate(servicePeriod.get("PERIOD_END_DATE"));
|
|
|
+ } finally {
|
|
|
+ if (conn != null) DBSql.close(conn);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- String maxPeriod = servicePeriod.getString("PERIOD_TYPE");
|
|
|
- LocalDate firstPeriodEnd = getNextPeriodStart(period_begin_date, maxPeriod).minusDays(1);//本周期结束时间
|
|
|
- LocalDate SATRT_DATE = null;
|
|
|
- if (period_end_date.isBefore(firstPeriodEnd)) {
|
|
|
- LocalDate new_period_end_date;
|
|
|
- if (END_DATE.isBefore(firstPeriodEnd)) {
|
|
|
- new_period_end_date = END_DATE;
|
|
|
- } else {
|
|
|
- new_period_end_date = firstPeriodEnd;
|
|
|
- SATRT_DATE = firstPeriodEnd.plusDays(1);
|
|
|
- }
|
|
|
- servicePeriod.set("PERIOD_END_DATE", new_period_end_date);
|
|
|
- BigDecimal periodRate = divideToBigDecimal(GetPeriodDays(period_begin_date, new_period_end_date), GetPeriodDays(period_begin_date, period_end_date));
|
|
|
- servicePeriod.set("PERIOD_PRICE", multiply(servicePeriod.get("PERIOD_PRICE"), periodRate));
|
|
|
- servicePeriod.set("PERIOD_COST", multiply(servicePeriod.get("PERIOD_COST"), periodRate));
|
|
|
- servicePeriod.set("PARTYA_PERIOD_PRICE", multiply(servicePeriod.get("PARTYA_PERIOD_PRICE"), periodRate));
|
|
|
- servicePeriod.set("PERIOD_ADJUSTED_PRICE", servicePeriod.get("PERIOD_PRICE"));
|
|
|
- SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD", servicePeriod, conn);
|
|
|
- } else {
|
|
|
- SATRT_DATE = period_end_date.plusDays(1);
|
|
|
- }
|
|
|
|
|
|
- if (SATRT_DATE != null && SATRT_DATE.isBefore(END_DATE)) {
|
|
|
+ /**
|
|
|
+ * 服务自动线续约
|
|
|
+ * @param uc
|
|
|
+ * @param service
|
|
|
+ * @param END_DATE
|
|
|
+ * @param conn
|
|
|
+ * @return
|
|
|
+ * @throws SQLException
|
|
|
+ */
|
|
|
+ public boolean ServiceAutoRenew(UserContext uc, BO service, LocalDate END_DATE, Connection conn) {
|
|
|
+ try {
|
|
|
+
|
|
|
+ //一次性收费服务 不受开始日期或结束日期影响
|
|
|
+ if (service.getString("PERIOD_TYPE").equals(cttConstant.PERIOD_TYPE_ONE_TIME)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ contractServiceLogger.info("判断合同结束日期是否修改");
|
|
|
+ //如果服务周期的结束时间不等于合同的结束时间,则需要延长服务周期或缩短
|
|
|
+ String PERIOD = service.getString("PERIOD");//服务起止日期
|
|
|
+ String ADJUST_PERIOD = service.getString("ADJUST_PERIOD");//服务调整的起止日期
|
|
|
+
|
|
|
+ contractServiceLogger.info("PERIOD---" + PERIOD);
|
|
|
+ contractServiceLogger.info("ADJUST_PERIOD---" + ADJUST_PERIOD);
|
|
|
+
|
|
|
+ LocalDate PERIOD_END;
|
|
|
+ if (StringUtils.isNotBlank(PERIOD)) {
|
|
|
+ PERIOD_END = getLocalDate(PERIOD.split("~")[1]);
|
|
|
+ PERIOD = PERIOD.split("~")[0] + "~" + LocalDateYYYYMMDD(END_DATE);
|
|
|
+ } else {
|
|
|
+ PERIOD_END = getLocalDate(ADJUST_PERIOD.split("~")[1]);
|
|
|
+ ADJUST_PERIOD = ADJUST_PERIOD.split("~")[0] + "~" + LocalDateYYYYMMDD(END_DATE);
|
|
|
+ }
|
|
|
|
|
|
- //服务包上的服务
|
|
|
- List<String> sbsList = null;
|
|
|
- String serviceIds = DBSql.getString("select SERVICE_ID from BO_EU_DNIVT_SERVICE_BUNDLE where ID=?", new Object[]{service.get("OBJECT_ID")});
|
|
|
- if (StringUtils.isNotBlank(serviceIds)) {
|
|
|
- sbsList = Arrays.asList(serviceIds.split(","));
|
|
|
- }
|
|
|
+ //缩短
|
|
|
+ if (PERIOD_END.isAfter(END_DATE)) {
|
|
|
+ if (StringUtils.isNotBlank(ADJUST_PERIOD)) {
|
|
|
+ LocalDate ADJUST_PERIOD_END = getLocalDate(ADJUST_PERIOD.split("~")[1]);
|
|
|
+ if (ADJUST_PERIOD_END.isAfter(END_DATE)) {
|
|
|
+ PERIOD = null;
|
|
|
+ ADJUST_PERIOD = ADJUST_PERIOD.split("~")[0] + "~" + LocalDateYYYYMMDD(END_DATE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- //循环添加全部周期
|
|
|
- while (!SATRT_DATE.isAfter(END_DATE)) {
|
|
|
- BigDecimal periodRate = BigDecimal.ONE;
|
|
|
- LocalDate periodEnd = getNextPeriodStart(SATRT_DATE, maxPeriod).minusDays(1);//本周期结束时间
|
|
|
- if (periodEnd.isAfter(END_DATE)) {//如果结束日期大于合同结束日期,则计算结束日期和合同结束日期的差值,并计算该差值占整周期的比例
|
|
|
- periodRate = divideToBigDecimal(GetPeriodDays(SATRT_DATE, END_DATE), GetPeriodDays(SATRT_DATE, periodEnd));
|
|
|
- periodEnd = END_DATE;
|
|
|
- }
|
|
|
- BO csp = new BO();//服务周期
|
|
|
- csp.setAll(servicePeriod.asMap());
|
|
|
- csp.set("PERIOD_BEGIN_DATE", SATRT_DATE);
|
|
|
- csp.set("PERIOD_END_DATE", periodEnd);
|
|
|
- BigDecimal period_price = multiply(service.get("UNIT_PRICE"), service.get("QUANTITY"));
|
|
|
- period_price = periodRate.multiply(period_price);
|
|
|
- csp.set("PERIOD_PRICE", period_price);
|
|
|
- BigDecimal period_cost = multiply(service.get("UNIT_COST"), service.get("QUANTITY"));
|
|
|
- period_cost = periodRate.multiply(period_cost);
|
|
|
- csp.set("PERIOD_COST", period_cost);
|
|
|
- csp.set("PERIOD_ADJUSTED_PRICE", csp.get("PERIOD_PRICE"));
|
|
|
-
|
|
|
- csp.set("PARTYA_PERIOD_PRICE", multiply(service.get("PARTYA_TOTAL_PRICE"), periodRate));
|
|
|
-
|
|
|
- SDK.getBOAPI().createDataBO("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD", csp, uc, conn);
|
|
|
-
|
|
|
- if (service.getString("OBJECT_TYPE").equals("2"))//服务包
|
|
|
- {
|
|
|
- //本周期成本
|
|
|
- String prorated_cost_change = DBSql.getString(conn, "select UNIT_COST from BO_EU_DNIVT_SERVICE where ID=?", new Object[]{service.getString("OBJECT_ID")});//供应商账号
|
|
|
- if (sbsList != null) {
|
|
|
- for (String sbs : sbsList) {
|
|
|
- BO cspbs = new BO();
|
|
|
- cspbs.set("CONTRACT_SERVICE_PERIOD_ID", csp.getId());
|
|
|
- cspbs.set("SERVICE_ID", sbs);
|
|
|
- cspbs.set("VENDOR_ACCOUNT_ID", csp.get("VENDOR_ACCOUNT_ID"));
|
|
|
- cspbs.set("PERIOD_COST", prorated_cost_change);
|
|
|
- cspbs.setBindId(csp.getString("BINDID"));
|
|
|
- SDK.getBOAPI().createDataBO("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD_BUNDLE_SERVICE", cspbs, uc, conn);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (periodEnd != null) {
|
|
|
- SATRT_DATE = periodEnd.plusDays(1);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } else if (PERIOD_END.isAfter(END_DATE)) {
|
|
|
- contractServiceLogger.info("服务周期缩短--" + service.getString("NAME"));
|
|
|
- //缩短
|
|
|
- List<BO> servicePeriodList = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD").connection(conn).addQuery("CONTRACT_SERVICE_ID =", service.getId()).addQuery("PERIOD_END_DATE >=", LocalDateYYYYMMDD(END_DATE)).orderBy("PERIOD_BEGIN_DATE").asc().list();
|
|
|
+ contractServiceLogger.info("服务周期结束日期--" + LocalDateYYYYMMDD(PERIOD_END));
|
|
|
+ contractServiceLogger.info("合同结束日期--" + LocalDateYYYYMMDD(END_DATE));
|
|
|
|
|
|
- BO servicePeriod = servicePeriodList.get(0);
|
|
|
- servicePeriod.set("PERIOD_END_DATE", END_DATE);
|
|
|
- LocalDate period_begin_date = getLocalDate(servicePeriod.get("PERIOD_BEGIN_DATE"));
|
|
|
- LocalDate period_end_date = getLocalDate(servicePeriod.get("PERIOD_END_DATE"));
|
|
|
- BigDecimal periodRate = divideToBigDecimal(GetPeriodDays(period_begin_date, END_DATE), GetPeriodDays(period_begin_date, period_end_date));
|
|
|
+
|
|
|
+ if (!PERIOD_END.isEqual(END_DATE)) {
|
|
|
+ if (PERIOD_END.isBefore(END_DATE)) {
|
|
|
+ contractServiceLogger.info("服务周期延长--" + service.getString("NAME"));
|
|
|
+ //延长
|
|
|
+ List<BO> servicePeriodList = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD").connection(conn).addQuery("CONTRACT_SERVICE_ID =", service.getId()).addQuery("PERIOD_END_DATE >=", LocalDateYYYYMMDD(PERIOD_END)).orderBy("PERIOD_BEGIN_DATE").desc().list();
|
|
|
+
|
|
|
+ BO servicePeriod = servicePeriodList.get(0);
|
|
|
+ LocalDate period_begin_date = getLocalDate(servicePeriod.get("PERIOD_BEGIN_DATE"));
|
|
|
+ LocalDate period_end_date = getLocalDate(servicePeriod.get("PERIOD_END_DATE"));
|
|
|
+
|
|
|
+ String maxPeriod = servicePeriod.getString("PERIOD_TYPE");
|
|
|
+ LocalDate firstPeriodEnd = getNextPeriodStart(period_begin_date, maxPeriod).minusDays(1);//本周期结束时间
|
|
|
+ LocalDate SATRT_DATE = null;
|
|
|
+ if (period_end_date.isBefore(firstPeriodEnd)) {
|
|
|
+ LocalDate new_period_end_date;
|
|
|
+ if (END_DATE.isBefore(firstPeriodEnd)) {
|
|
|
+ new_period_end_date = END_DATE;
|
|
|
+ } else {
|
|
|
+ new_period_end_date = firstPeriodEnd;
|
|
|
+ SATRT_DATE = firstPeriodEnd.plusDays(1);
|
|
|
+ }
|
|
|
+ servicePeriod.set("PERIOD_END_DATE", new_period_end_date);
|
|
|
+ BigDecimal periodRate = divideToBigDecimal(GetPeriodDays(period_begin_date, new_period_end_date), GetPeriodDays(period_begin_date, period_end_date));
|
|
|
servicePeriod.set("PERIOD_PRICE", multiply(servicePeriod.get("PERIOD_PRICE"), periodRate));
|
|
|
servicePeriod.set("PERIOD_COST", multiply(servicePeriod.get("PERIOD_COST"), periodRate));
|
|
|
servicePeriod.set("PARTYA_PERIOD_PRICE", multiply(servicePeriod.get("PARTYA_PERIOD_PRICE"), periodRate));
|
|
|
servicePeriod.set("PERIOD_ADJUSTED_PRICE", servicePeriod.get("PERIOD_PRICE"));
|
|
|
SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD", servicePeriod, conn);
|
|
|
+ } else {
|
|
|
+ SATRT_DATE = period_end_date.plusDays(1);
|
|
|
+ }
|
|
|
|
|
|
- for (BO period : servicePeriodList) {
|
|
|
- //删除
|
|
|
- if (period.getString("ID").equals(servicePeriod.getString("ID")) == false) {
|
|
|
+ if (SATRT_DATE != null && SATRT_DATE.isBefore(END_DATE)) {
|
|
|
|
|
|
- DBSql.update(conn, "DELETE FROM BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD_BUNDLE_SERVICE WHERE CONTRACT_SERVICE_PERIOD_ID=?", new Object[]{period.getString("ID")});
|
|
|
- DBSql.update(conn, "DELETE FROM BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD WHERE ID=?", new Object[]{period.getString("ID")});
|
|
|
+ //服务包上的服务
|
|
|
+ List<String> sbsList = null;
|
|
|
+ String serviceIds = DBSql.getString("select SERVICE_ID from BO_EU_DNIVT_SERVICE_BUNDLE where ID=?", new Object[]{service.get("OBJECT_ID")});
|
|
|
+ if (StringUtils.isNotBlank(serviceIds)) {
|
|
|
+ sbsList = Arrays.asList(serviceIds.split(","));
|
|
|
+ }
|
|
|
+
|
|
|
+ //循环添加全部周期
|
|
|
+ while (!SATRT_DATE.isAfter(END_DATE)) {
|
|
|
+ BigDecimal periodRate = BigDecimal.ONE;
|
|
|
+ LocalDate periodEnd = getNextPeriodStart(SATRT_DATE, maxPeriod).minusDays(1);//本周期结束时间
|
|
|
+ if (periodEnd.isAfter(END_DATE)) {//如果结束日期大于合同结束日期,则计算结束日期和合同结束日期的差值,并计算该差值占整周期的比例
|
|
|
+ periodRate = divideToBigDecimal(GetPeriodDays(SATRT_DATE, END_DATE), GetPeriodDays(SATRT_DATE, periodEnd));
|
|
|
+ periodEnd = END_DATE;
|
|
|
+ }
|
|
|
+ BO csp = new BO();//服务周期
|
|
|
+ csp.setAll(servicePeriod.asMap());
|
|
|
+ csp.set("PERIOD_BEGIN_DATE", SATRT_DATE);
|
|
|
+ csp.set("PERIOD_END_DATE", periodEnd);
|
|
|
+ BigDecimal period_price = multiply(service.get("UNIT_PRICE"), service.get("QUANTITY"));
|
|
|
+ period_price = periodRate.multiply(period_price);
|
|
|
+ csp.set("PERIOD_PRICE", period_price);
|
|
|
+ BigDecimal period_cost = multiply(service.get("UNIT_COST"), service.get("QUANTITY"));
|
|
|
+ period_cost = periodRate.multiply(period_cost);
|
|
|
+ csp.set("PERIOD_COST", period_cost);
|
|
|
+ csp.set("PERIOD_ADJUSTED_PRICE", csp.get("PERIOD_PRICE"));
|
|
|
+
|
|
|
+ csp.set("PARTYA_PERIOD_PRICE", multiply(service.get("PARTYA_TOTAL_PRICE"), periodRate));
|
|
|
+
|
|
|
+ SDK.getBOAPI().createDataBO("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD", csp, uc, conn);
|
|
|
+
|
|
|
+ if (service.getString("OBJECT_TYPE").equals("2"))//服务包
|
|
|
+ {
|
|
|
+ //本周期成本
|
|
|
+ String prorated_cost_change = DBSql.getString(conn, "select UNIT_COST from BO_EU_DNIVT_SERVICE where ID=?", new Object[]{service.getString("OBJECT_ID")});//供应商账号
|
|
|
+ if (sbsList != null) {
|
|
|
+ for (String sbs : sbsList) {
|
|
|
+ BO cspbs = new BO();
|
|
|
+ cspbs.set("CONTRACT_SERVICE_PERIOD_ID", csp.getId());
|
|
|
+ cspbs.set("SERVICE_ID", sbs);
|
|
|
+ cspbs.set("VENDOR_ACCOUNT_ID", csp.get("VENDOR_ACCOUNT_ID"));
|
|
|
+ cspbs.set("PERIOD_COST", prorated_cost_change);
|
|
|
+ cspbs.setBindId(csp.getString("BINDID"));
|
|
|
+ SDK.getBOAPI().createDataBO("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD_BUNDLE_SERVICE", cspbs, uc, conn);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (periodEnd != null) {
|
|
|
+ SATRT_DATE = periodEnd.plusDays(1);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- DBSql.update(conn, "update BO_EU_DNCTT_CONTRACT_SERVICE set PERIOD=?,ADJUST_PERIOD=? where ID=? and BINDID=?", new Object[]{PERIOD, ADJUST_PERIOD, service.get("ID"), service.get("BINDID")});
|
|
|
+ } else if (PERIOD_END.isAfter(END_DATE)) {
|
|
|
+ contractServiceLogger.info("服务周期缩短--" + service.getString("NAME"));
|
|
|
+ //缩短
|
|
|
+ List<BO> servicePeriodList = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD").connection(conn).addQuery("CONTRACT_SERVICE_ID =", service.getId()).addQuery("PERIOD_END_DATE >=", LocalDateYYYYMMDD(END_DATE)).orderBy("PERIOD_BEGIN_DATE").asc().list();
|
|
|
+
|
|
|
+ BO servicePeriod = servicePeriodList.get(0);
|
|
|
+ servicePeriod.set("PERIOD_END_DATE", END_DATE);
|
|
|
+ LocalDate period_begin_date = getLocalDate(servicePeriod.get("PERIOD_BEGIN_DATE"));
|
|
|
+ LocalDate period_end_date = getLocalDate(servicePeriod.get("PERIOD_END_DATE"));
|
|
|
+ BigDecimal periodRate = divideToBigDecimal(GetPeriodDays(period_begin_date, END_DATE), GetPeriodDays(period_begin_date, period_end_date));
|
|
|
+ servicePeriod.set("PERIOD_PRICE", multiply(servicePeriod.get("PERIOD_PRICE"), periodRate));
|
|
|
+ servicePeriod.set("PERIOD_COST", multiply(servicePeriod.get("PERIOD_COST"), periodRate));
|
|
|
+ servicePeriod.set("PARTYA_PERIOD_PRICE", multiply(servicePeriod.get("PARTYA_PERIOD_PRICE"), periodRate));
|
|
|
+ servicePeriod.set("PERIOD_ADJUSTED_PRICE", servicePeriod.get("PERIOD_PRICE"));
|
|
|
+ SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD", servicePeriod, conn);
|
|
|
+
|
|
|
+ for (BO period : servicePeriodList) {
|
|
|
+ //删除
|
|
|
+ if (period.getString("ID").equals(servicePeriod.getString("ID")) == false) {
|
|
|
+
|
|
|
+ DBSql.update(conn, "DELETE FROM BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD_BUNDLE_SERVICE WHERE CONTRACT_SERVICE_PERIOD_ID=?", new Object[]{period.getString("ID")});
|
|
|
+ DBSql.update(conn, "DELETE FROM BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD WHERE ID=?", new Object[]{period.getString("ID")});
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ DBSql.update(conn, "update BO_EU_DNCTT_CONTRACT_SERVICE set PERIOD=?,ADJUST_PERIOD=? where ID=? and BINDID=?", new Object[]{PERIOD, ADJUST_PERIOD, service.get("ID"), service.get("BINDID")});
|
|
|
}
|
|
|
|
|
|
|
|
|
- conn.commit();
|
|
|
- return true;
|
|
|
- } catch (SQLException e) {
|
|
|
-
|
|
|
- contractServiceLogger.info("AddServiceServiceBundle--error--失败。。。" + e.getMessage());
|
|
|
-
|
|
|
- e.printStackTrace();
|
|
|
-
|
|
|
- conn.rollback();
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
|
- } finally {
|
|
|
- if (conn != null) DBSql.close(conn);
|
|
|
}
|
|
|
- return false;
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1525,7 +1547,7 @@ public class contractService {
|
|
|
return contractCost.getId();
|
|
|
}
|
|
|
|
|
|
- private static String LocalDateYYYYMMDD(LocalDate date) {
|
|
|
+ public static String LocalDateYYYYMMDD(LocalDate date) {
|
|
|
return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
|
|
}
|
|
|
|