zhangyao hai 1 mes
pai
achega
79760f92fd

+ 2 - 2
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/controller/contractServiceController.java

@@ -85,7 +85,7 @@ public class contractServiceController {
         }
         }
 
 
 
 
-        if (contractServiceAdj.getInstance().execServiceSaleAdj(uc, boId))
+        if (contractServiceAdj.getInstance().execServiceSaleAdj(uc, boId,false))
 
 
             return ResponseObject.newOkResponse();
             return ResponseObject.newOkResponse();
 
 
@@ -138,7 +138,7 @@ public class contractServiceController {
         }
         }
 
 
 
 
-        if (contractServiceAdj.getInstance().execServicePurchaseAdj(uc, boId, null)) {
+        if (contractServiceAdj.getInstance().execServicePurchaseAdj(uc, boId, null,false)) {
             return ResponseObject.newOkResponse();
             return ResponseObject.newOkResponse();
         }
         }
         return ResponseObject.newOkResponse();
         return ResponseObject.newOkResponse();

+ 18 - 9
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/contractServiceAdj.java

@@ -115,7 +115,7 @@ public class contractServiceAdj {
      * @param boId
      * @param boId
      * @return
      * @return
      */
      */
-    public boolean execServiceSaleAdj(UserContext uc, String boId) {
+    public boolean execServiceSaleAdj(UserContext uc, String boId,boolean isEditEnd) {
         BO contractService = SDK.getBOAPI().get("BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST", boId);
         BO contractService = SDK.getBOAPI().get("BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST", boId);
         LocalDate EFFECTIVE_DATE = getLocalDate(contractService.get("EFFECTIVE_DATE"));//服务生效日期
         LocalDate EFFECTIVE_DATE = getLocalDate(contractService.get("EFFECTIVE_DATE"));//服务生效日期
         LocalDate EFFECTIVE_END_DATE = getLocalDate(contractService.get("END_DATE"));//服务结束日期
         LocalDate EFFECTIVE_END_DATE = getLocalDate(contractService.get("END_DATE"));//服务结束日期
@@ -348,8 +348,12 @@ public class contractServiceAdj {
             }
             }
 
 
             //如果合同服务上面的生效日期小于服务调整的生效日期,则将合同服务生效日期改为服务调整的生效日期
             //如果合同服务上面的生效日期小于服务调整的生效日期,则将合同服务生效日期改为服务调整的生效日期
-            if (orgContractService.get("EFFECTIVE_DATE", LocalDate.class).compareTo(contractService.get("EFFECTIVE_DATE", LocalDate.class)) < 0)
-                orgContractService.set("EFFECTIVE_DATE", contractService.get("EFFECTIVE_DATE"));
+            if(isEditEnd==false)
+            {
+                if (orgContractService.get("EFFECTIVE_DATE", LocalDate.class).compareTo(contractService.get("EFFECTIVE_DATE", LocalDate.class)) < 0)
+                    orgContractService.set("EFFECTIVE_DATE", contractService.get("EFFECTIVE_DATE"));
+            }
+
 
 
             SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE", orgContractService, conn);
             SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE", orgContractService, conn);
 
 
@@ -457,7 +461,7 @@ public class contractServiceAdj {
         adjBO.set("END_DATE", newEndDate);
         adjBO.set("END_DATE", newEndDate);
         SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST", adjBO);
         SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST", adjBO);
 
 
-        if (execServiceSaleAdj(uc, adjBO.getId()) == false) {
+        if (execServiceSaleAdj(uc, adjBO.getId(),true) == false) {
             DBSql.update("delete from BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST where ID=? AND IS_EFFECTIVE<>'已执行'", new Object[]{adjBO.getId()});
             DBSql.update("delete from BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST where ID=? AND IS_EFFECTIVE<>'已执行'", new Object[]{adjBO.getId()});
         } else {
         } else {
             DBSql.update("update bo_eu_dnctt_contract_service set END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
             DBSql.update("update bo_eu_dnctt_contract_service set END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
@@ -604,7 +608,7 @@ public class contractServiceAdj {
         adjBO.set("PURCHASE_END_DATE", newEndDate);
         adjBO.set("PURCHASE_END_DATE", newEndDate);
         SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST", adjBO);
         SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST", adjBO);
 
 
-        if (execServicePurchaseAdj(uc, adjBO.getId(), null) == false) {
+        if (execServicePurchaseAdj(uc, adjBO.getId(), null,true) == false) {
             DBSql.update("delete from BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST where ID=? AND IS_EFFECTIVE<>'已执行'", new Object[]{adjBO.getId()});
             DBSql.update("delete from BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST where ID=? AND IS_EFFECTIVE<>'已执行'", new Object[]{adjBO.getId()});
         } else {
         } else {
             DBSql.update("update bo_eu_dnctt_contract_service set PURCHASE_END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
             DBSql.update("update bo_eu_dnctt_contract_service set PURCHASE_END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
@@ -622,7 +626,7 @@ public class contractServiceAdj {
      * @param boName
      * @param boName
      * @return
      * @return
      */
      */
-    public boolean execServicePurchaseAdj(UserContext uc, String boId, String boName) {
+    public boolean execServicePurchaseAdj(UserContext uc, String boId, String boName,boolean isEditEnd) {
         //调整 服务
         //调整 服务
         BO contractService = SDK.getBOAPI().get("BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST", boId);
         BO contractService = SDK.getBOAPI().get("BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST", boId);
 
 
@@ -854,8 +858,13 @@ public class contractServiceAdj {
                 orgContractService.set("PURCHASE_END_DATE", contractService.get("PURCHASE_END_DATE"));
                 orgContractService.set("PURCHASE_END_DATE", contractService.get("PURCHASE_END_DATE"));
 
 
                 //如果合同服务上面的生效日期小于服务调整的生效日期,则将合同服务生效日期改为服务调整的生效日期
                 //如果合同服务上面的生效日期小于服务调整的生效日期,则将合同服务生效日期改为服务调整的生效日期
-                if (orgContractService.get("PURCHASE_START_DATE", LocalDate.class).compareTo(contractService.get("PURCHASE_START_DATE", LocalDate.class)) < 0)
-                    orgContractService.set("PURCHASE_START_DATE", contractService.get("PURCHASE_START_DATE"));
+                //如果只修改了 结束日期则不需要修改
+                if(isEditEnd==false)
+                {
+                    if (orgContractService.get("PURCHASE_START_DATE", LocalDate.class).compareTo(contractService.get("PURCHASE_START_DATE", LocalDate.class)) < 0)
+                        orgContractService.set("PURCHASE_START_DATE", contractService.get("PURCHASE_START_DATE"));
+                }
+
 
 
                 SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE", orgContractService, conn);
                 SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE", orgContractService, conn);
 
 
@@ -878,7 +887,7 @@ public class contractServiceAdj {
 
 
         //生成每月的采购计划
         //生成每月的采购计划
         if (boName.equals("BO_EU_DNIVT_ORDER_PAYMENT_PLAN")) {
         if (boName.equals("BO_EU_DNIVT_ORDER_PAYMENT_PLAN")) {
-            execServicePurchaseAdj(uc, boId, "BO_EU_DNIVT_ORDER_PAYMENT_PLAN_MONTH");
+            execServicePurchaseAdj(uc, boId, "BO_EU_DNIVT_ORDER_PAYMENT_PLAN_MONTH",isEditEnd);
 
 
             //分摊采购成本
             //分摊采购成本
             paySplitServiceMonth(uc, contractService.getString("CONTRACT_SERVICE_ID"));
             paySplitServiceMonth(uc, contractService.getString("CONTRACT_SERVICE_ID"));