zhangyao 1 kuukausi sitten
vanhempi
commit
e9fda16374

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

@@ -1,6 +1,7 @@
 package com.awspaas.user.apps.donenow_ctt.controller;
 
 import com.actionsoft.bpms.bo.engine.BO;
+import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
 import com.actionsoft.bpms.commons.mvc.view.ResponseObject;
 import com.actionsoft.bpms.server.UserContext;
 import com.actionsoft.bpms.server.bind.annotation.Controller;
@@ -10,6 +11,7 @@ import com.actionsoft.sdk.local.SDK;
 import com.actionsoft.sdk.local.api.Logger;
 import com.awspaas.user.apps.donenow_ctt.cttConstant;
 import com.awspaas.user.apps.donenow_ctt.service.contractServiceAdj;
+import org.apache.commons.lang3.StringUtils;
 
 import java.time.LocalDate;
 
@@ -141,4 +143,21 @@ public class contractServiceController {
         }
         return ResponseObject.newOkResponse();
     }
+
+    @Mapping(value = "com.awspaas.user.apps.donenow_ctt.service_period_detail")
+    public ResponseObject getServicePeriodDetail(UserContext uc, String serviceId) {
+        String bindid = DBSql.getString("select BINDID from BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD_SHOW where CONTRACT_SERVICE_ID=?", new Object[]{serviceId});
+        if (StringUtils.isNotBlank(bindid))
+            return ResponseObject.newOkResponse().put("BINDID", bindid);
+
+        //新的调整单
+        ProcessInstance contractInstance = SDK.getProcessAPI().createBOProcessInstance("obj_e70c97f1244c4107ae421f3b4a650518", uc.getUID(), serviceId);
+        BO editBO = new BO();
+        editBO.set("CONTRACT_SERVICE_ID", serviceId);
+        editBO.setBindId(contractInstance.getId());
+        SDK.getBOAPI().create("BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD_SHOW", editBO, contractInstance, uc);
+        return ResponseObject.newOkResponse().put("BINDID", contractInstance.getId());
+    }
+
+
 }

+ 5 - 0
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/contractService.java

@@ -385,7 +385,12 @@ public class contractService {
             List<String> serviceIdList = DBSql.getList("select ID from BO_EU_DNCTT_CONTRACT_SERVICE where CONTRACT_ID=?", String.class, new Object[]{contract.get("ID")});
 
             for (String contractServiceId : serviceIdList) {
+
+                //销售服务
                 contractServiceAdj.getInstance().editServiceSaleEndDate(uc, contractServiceId, END_DATE);
+
+                //采购--付款计划
+                contractServiceAdj.getInstance().editServicePurchaseEndDate(uc, contractServiceId, END_DATE);
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 29 - 14
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/service/contractServiceAdj.java

@@ -235,6 +235,7 @@ public class contractServiceAdj {
 
             contractService.set("IS_EFFECTIVE", "已执行");
             SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST", contractService, conn);
+
             DBSql.update(conn, "update BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST set IS_EFFECTIVE='作废' where CONTRACT_SERVICE_ID=? and EFFECTIVE_DATE >?", new Object[]{contractService.get("CONTRACT_SERVICE_ID"), LocalDateYYYYMMDD(EFFECTIVE_DATE)});
 
             orgContractService.set("END_DATE", contractService.get("END_DATE"));
@@ -297,6 +298,7 @@ public class contractServiceAdj {
             SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE", orgContractService, conn);
 
             conn.commit();
+            return true;
         } catch (SQLException e) {
 
             e.printStackTrace();
@@ -305,11 +307,11 @@ public class contractServiceAdj {
             } catch (SQLException e1) {
                 e1.printStackTrace();
             }
+            return false;
         } finally {
-            if (conn != null) DBSql.close(conn);
+            if (conn != null)
+                DBSql.close(conn);
         }
-
-        return true;
     }
 
     /**
@@ -373,16 +375,18 @@ public class contractServiceAdj {
             } else {
                 adjBO.set("EFFECTIVE_DATE", PERIOD_BEGIN_DATE);
             }
-            adjBO.set("REMARK", "修改结束日期");
         }
-        adjBO.set("END_DATE", newEndDate);
 
-        SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST", adjBO);
-
-        execServiceSaleAdj(uc, adjBO.getId());
+        adjBO.set("REMARK", "服务延期:" + LocalDateYYYYMMDD(PERIOD_END_DATE) + "->" + LocalDateYYYYMMDD(newEndDate));
 
-        DBSql.update("update bo_eu_dnctt_contract_service set END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
+        adjBO.set("END_DATE", newEndDate);
+        SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST", adjBO);
 
+        if (execServiceSaleAdj(uc, adjBO.getId()) == false) {
+            DBSql.update("delete from BO_EU_DNCTT_CONTRACT_SERVICE_SALE_ADJUST where ID=? AND IS_EFFECTIVE<>'已执行'", new Object[]{adjBO.getId()});
+        } else {
+            DBSql.update("update bo_eu_dnctt_contract_service set END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
+        }
         return "ok";
     }
 
@@ -500,11 +504,20 @@ public class contractServiceAdj {
                 adjBO.set("PURCHASE_START_DATE", PERIOD_BEGIN_DATE);
             }
         }
-        adjBO.set("REMARK", "修改结束日期");
+
+        adjBO.set("REMARK", "服务延期:" + LocalDateYYYYMMDD(PERIOD_END_DATE) + "->" + LocalDateYYYYMMDD(newEndDate));
         adjBO.set("PURCHASE_END_DATE", newEndDate);
         SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST", adjBO);
-        execServicePurchaseAdj(uc, adjBO.getId());
-        DBSql.update("update bo_eu_dnctt_contract_service set PURCHASE_END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
+
+        //execServicePurchaseAdj(uc, adjBO.getId());
+        //DBSql.update("update bo_eu_dnctt_contract_service set PURCHASE_END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
+
+        if (execServicePurchaseAdj(uc, adjBO.getId()) == false) {
+            DBSql.update("delete from BO_EU_DNCTT_CONTRACT_SERVICE_PURCHASE_ADJUST where ID=? AND IS_EFFECTIVE<>'已执行'", new Object[]{adjBO.getId()});
+        } else {
+            DBSql.update("update bo_eu_dnctt_contract_service set PURCHASE_END_DATE=? where ID=?", new Object[]{LocalDateYYYYMMDD(newEndDate), serviceId});
+        }
+
 
         return "ok";
     }
@@ -662,8 +675,9 @@ public class contractServiceAdj {
 
             SDK.getBOAPI().update("BO_EU_DNCTT_CONTRACT_SERVICE", orgContractService, conn);
 
-
             conn.commit();
+
+            return true;
         } catch (SQLException e) {
 
             e.printStackTrace();
@@ -672,11 +686,12 @@ public class contractServiceAdj {
             } catch (SQLException e1) {
                 e1.printStackTrace();
             }
+            return false;
         } finally {
             if (conn != null)
                 DBSql.close(conn);
         }
-        return true;
+
     }