|
@@ -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"));
|