|
|
@@ -161,8 +161,11 @@ public class contractService {
|
|
|
{
|
|
|
try {
|
|
|
|
|
|
+ contractServiceLogger.info("服务---服务");
|
|
|
+
|
|
|
boolean flag = AddServiceServiceBundle(uc, dto);//新增服务或者服务包
|
|
|
|
|
|
+ contractServiceLogger.info("服务产品---服务产品");
|
|
|
AddContractServiceProduct(uc, dto);//新增服务或者服务包--关联产品
|
|
|
//更新服务产品价格
|
|
|
if (!flag) {
|
|
|
@@ -256,9 +259,7 @@ public class contractService {
|
|
|
* @return
|
|
|
*/
|
|
|
public boolean AddServiceServiceBundle(UserContext uc, RowMap contract) throws SQLException {
|
|
|
-
|
|
|
contractServiceLogger.info("新增服务或服务包");
|
|
|
-
|
|
|
Connection conn = null;
|
|
|
try {
|
|
|
conn = DBSql.open();
|
|
|
@@ -268,11 +269,13 @@ public class contractService {
|
|
|
LocalDate END_DATE = getLocalDate(contract.get("END_DATE"));//合同结束日期
|
|
|
|
|
|
//获取服务列表
|
|
|
- List<BO> serviceList = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_SERVICE").connection(conn).addQuery("BINDID =", contract.get("BINDID")).list();
|
|
|
+ List<BO> serviceList = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_SERVICE").connection(conn).addQuery("CONTRACT_ID =", contract.get("ID")).list();
|
|
|
|
|
|
for (BO service : serviceList) {
|
|
|
AddServiceServiceBundleOne(uc, conn, contract, service);
|
|
|
|
|
|
+ contractServiceLogger.info("判断合同结束日期是否修改");
|
|
|
+
|
|
|
//如果服务周期的结束时间不等于合同的结束时间,则需要延长服务周期或缩短
|
|
|
String PERIOD = service.getString("PERIOD");//服务起止日期
|
|
|
String ADJUST_PERIOD = service.getString("ADJUST_PERIOD");//服务调整的起止日期
|
|
|
@@ -296,8 +299,11 @@ public class contractService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ contractServiceLogger.info("服务周期结束日期--" + LocalDateYYYYMMDD(PERIOD_END));
|
|
|
+ contractServiceLogger.info("合同结束日期--" + LocalDateYYYYMMDD(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.getString("CONTRACT_SERVICE_ID")).addQuery("PERIOD_END_DATE >=", PERIOD_END).orderBy("PERIOD_BEGIN_DATE").desc().list();
|
|
|
|
|
|
@@ -378,6 +384,7 @@ public class contractService {
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
+ contractServiceLogger.info("服务周期缩短--" + service.getString("NAME"));
|
|
|
//缩短
|
|
|
List<BO> servicePeriodList = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD").connection(conn).addQuery("CONTRACT_SERVICE_ID =", service.getString("CONTRACT_SERVICE_ID")).addQuery("PERIOD_END_DATE >=", END_DATE).orderBy("PERIOD_BEGIN_DATE").asc().list();
|
|
|
|
|
|
@@ -434,6 +441,9 @@ public class contractService {
|
|
|
public boolean AddServiceServiceBundleOne(UserContext uc, Connection conn, RowMap contract, BO service) {
|
|
|
if (service == null)
|
|
|
return false;
|
|
|
+
|
|
|
+ contractServiceLogger.info("AddServiceServiceBundleOne--开始");
|
|
|
+
|
|
|
boolean isCreate = false;
|
|
|
// 1、合同开始日期或结束日期变化
|
|
|
LocalDate START_DATE = getLocalDate(contract.get("START_DATE"));//服务开始日期
|
|
|
@@ -1085,9 +1095,6 @@ public class contractService {
|
|
|
contractServiceBO.set("TOTAL_PRICE", editService.get("TOTAL_PRICE"));
|
|
|
contractServiceBO.set("UNIT_COST", editService.get("UNIT_COST"));
|
|
|
contractServiceBO.set("TOTAL_COST", editService.get("TOTAL_COST"));
|
|
|
-
|
|
|
- contractServiceBO.set("EFFECTIVE_DATE", editService.get("EFFECTIVE_DATE"));
|
|
|
-
|
|
|
SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE", contractServiceBO, conn);
|
|
|
|
|
|
contractServiceLogger.info("服务调整成功");
|
|
|
@@ -1209,7 +1216,7 @@ public class contractService {
|
|
|
* @return
|
|
|
*/
|
|
|
public boolean AddContractServiceProduct(UserContext uc, RowMap contract) throws SQLException {
|
|
|
- contractServiceLogger.info("新增服务或服务包");
|
|
|
+ contractServiceLogger.info("一个服务对应添加一个合同产品");
|
|
|
|
|
|
Connection conn = null;
|
|
|
try {
|