zhangyao 1 месяц назад
Родитель
Сommit
123b352ed6

+ 10 - 7
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/contractServiceAdj.java

@@ -417,12 +417,12 @@ public class contractServiceAdj {
                 LocalDate EFFECTIVE_DATE1 = null;
                 if (StringUtils.isBlank(EFFECTIVE_DATE)) {
                     EFFECTIVE_DATE = DBSql.getString("SELECT max(PERIOD_END_DATE) as PERIOD_END_DATE FROM BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD WHERE  CONTRACT_SERVICE_ID=? AND  PERIOD_BEGIN_DATE <=?", new Object[]{serviceId, LocalDateYYYYMMDD(newEndDate)});
-                    EFFECTIVE_DATE= EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
+                    EFFECTIVE_DATE = EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
                     EFFECTIVE_DATE1 = TypeUtil.convert(EFFECTIVE_DATE, LocalDate.class);
                     EFFECTIVE_DATE1 = EFFECTIVE_DATE1.plusDays(1);
 
                 } else {
-                    EFFECTIVE_DATE= EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
+                    EFFECTIVE_DATE = EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
                     EFFECTIVE_DATE1 = TypeUtil.convert(EFFECTIVE_DATE, LocalDate.class);
                 }
 
@@ -529,6 +529,8 @@ public class contractServiceAdj {
      */
     public String editServicePurchaseEndDate(UserContext uc, String serviceId, LocalDate newEndDate) {
         RowMap lastServicePeriod = DBSql.getMap("SELECT * FROM BO_EU_DNIVT_ORDER_PAYMENT_PLAN WHERE CONTRACT_SERVICE_ID=? ORDER BY PERIOD_BEGIN_DATE DESC", new Object[]{serviceId});//最后一笔服务周期
+        if (lastServicePeriod == null)
+            return "无需修改";
 
         //一次性收费,无需修改
         if (DBSql.getString("select PURCHASE_PERIOD_TYPE from BO_EU_DNCTT_CONTRACT_SERVICE where ID=?", new Object[]{serviceId}).equals("609")) {
@@ -540,9 +542,10 @@ public class contractServiceAdj {
 
         if (PERIOD_END_DATE.equals(newEndDate)) return "无需修改";
 
-        String EFFECTIVE_DATE = DBSql.getString("SELECT max(PERIOD_BEGIN_DATE) as PERIOD_BEGIN_DATE FROM BO_EU_DNIVT_ORDER_PAYMENT_PLAN WHERE  PAY_AMOUNT<>0 and PAY_AMOUNT is not NULL  and CONTRACT_SERVICE_ID=? AND  PERIOD_BEGIN_DATE >=?", new Object[]{serviceId, LocalDateYYYYMMDD(newEndDate)});
+        String EFFECTIVE_DATE = DBSql.getString("SELECT max(PERIOD_BEGIN_DATE) as PERIOD_BEGIN_DATE FROM BO_EU_DNIVT_ORDER_PAYMENT_PLAN WHERE  PAY_AMOUNT>0 and PAY_AMOUNT is not NULL  and CONTRACT_SERVICE_ID=? AND  PERIOD_BEGIN_DATE >=?", new Object[]{serviceId, LocalDateYYYYMMDD(newEndDate)});
 
-        if (StringUtils.isNotBlank(EFFECTIVE_DATE)) return "已审批不能修改了";
+        if (StringUtils.isNotBlank(EFFECTIVE_DATE))
+            return "已审批不能修改了";
 
 
         String bindId = editServicePurchase(uc, serviceId, "修改结束日期");
@@ -557,19 +560,19 @@ public class contractServiceAdj {
                 adjBO.set("PURCHASE_START_DATE", PERIOD_BEGIN_DATE);
             } else {
 
-                EFFECTIVE_DATE = DBSql.getString("SELECT max(PERIOD_BEGIN_DATE) as PERIOD_BEGIN_DATE FROM BO_EU_DNIVT_ORDER_PAYMENT_PLAN WHERE PAY_AMOUNT<>0 and PAY_AMOUNT is not NULL and CONTRACT_SERVICE_ID=? AND  PERIOD_BEGIN_DATE <=?", new Object[]{serviceId, LocalDateYYYYMMDD(newEndDate)});
+                EFFECTIVE_DATE = DBSql.getString("SELECT max(PERIOD_BEGIN_DATE) as PERIOD_BEGIN_DATE FROM BO_EU_DNIVT_ORDER_PAYMENT_PLAN WHERE PAY_AMOUNT>0 and PAY_AMOUNT is not NULL and CONTRACT_SERVICE_ID=? AND  PERIOD_BEGIN_DATE <=?", new Object[]{serviceId, LocalDateYYYYMMDD(newEndDate)});
 
                 LocalDate EFFECTIVE_DATE1 = null;
                 if (StringUtils.isBlank(EFFECTIVE_DATE)) {
                     EFFECTIVE_DATE = DBSql.getString("SELECT max(PERIOD_END_DATE) as PERIOD_END_DATE FROM BO_EU_DNIVT_ORDER_PAYMENT_PLAN WHERE  CONTRACT_SERVICE_ID=? AND  PERIOD_BEGIN_DATE <=?", new Object[]{serviceId, LocalDateYYYYMMDD(newEndDate)});
 
-                    EFFECTIVE_DATE= EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
+                    EFFECTIVE_DATE = EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
 
                     EFFECTIVE_DATE1 = TypeUtil.convert(EFFECTIVE_DATE, LocalDate.class);
                     EFFECTIVE_DATE1 = EFFECTIVE_DATE1.plusDays(1);
 
                 } else {
-                    EFFECTIVE_DATE= EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
+                    EFFECTIVE_DATE = EFFECTIVE_DATE.length() >= 10 ? EFFECTIVE_DATE.substring(0, 10) : EFFECTIVE_DATE;
 
                     EFFECTIVE_DATE1 = TypeUtil.convert(EFFECTIVE_DATE, LocalDate.class);
                 }