Prechádzať zdrojové kódy

Merge branch 'origin'

zhangyao 2 mesiacov pred
rodič
commit
8f87693c3e

+ 11 - 1
com.awspaas.user.apps.donenow_ctt/src/com/awspaas/user/apps/donenow_ctt/controller/contractCreateController.java

@@ -278,6 +278,15 @@ public class contractCreateController {
             if (DBSql.getInt("SELECT count(1) FROM BO_EU_DNCTT_CONTRACT_SERVICE_PERIOD WHERE APPROVE_AND_POST_USER_ID IS NOT NULL AND LENGTH(APPROVE_AND_POST_USER_ID)>1 AND APPROVE_AND_POST_DATE IS NOT NULL and CONTRACT_ID=? and CONTRACT_SERVICE_ID=? ", new Object[]{service.get("CONTRACT_ID"), service.get("ID")}) > 0) {
                 return ResponseObject.newErrResponse("已审批合同服务,无法删除!");
             }
+
+            String CONTRACT_COST_ID = DBSql.getString("SELECT ID FROM BO_EU_DNCTT_CONTRACT_COST WHERE IS_SERVICE_PRODUCT=1 AND SERVICE_ID=?", new Object[]{service.get("ID")});
+
+            if (StringUtils.isNotBlank(CONTRACT_COST_ID)) {
+                //采购订单相关也有删除
+                List<BO> costProducts = SDK.getBOAPI().query("BO_EU_DNCTT_CONTRACT_COST_PRODUCT").addQuery("CONTRACT_COST_ID =", CONTRACT_COST_ID).list();
+                if (costProducts.size() > 0)
+                    return ResponseObject.newErrResponse("已经生成采购订单,请先删除采购订单");
+            }
         }
 
         for (RowMap service : serviceList) {
@@ -301,7 +310,8 @@ public class contractCreateController {
 
             DBSql.update("delete from BO_EU_DNCTT_CONTRACT_SERVICE_EDIT where  CONTRACT_SERVICE_ID=?", new Object[]{service.get("ID")});
 
-            DBSql.update("delete from BO_EU_DNCTT_CONTRACT_COST where  IS_SERVICE_PRODUCT=1 AND SERVICE_ID=?", new Object[]{service.get("ID")});
+            DBSql.update("delete from BO_EU_DNCTT_CONTRACT_COST where IS_SERVICE_PRODUCT=1 AND SERVICE_ID=?", new Object[]{service.get("ID")});
+
         }
 
         return ResponseObject.newOkResponse();

+ 34 - 0
com.awspaas.user.apps.donenow_ivt/src/com/awspaas/user/apps/donenow_ivt/controller/ivtOrderController.java

@@ -29,6 +29,7 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.HashMap;
 import java.util.Map;
+
 @Controller
 public class ivtOrderController {
     /**
@@ -871,4 +872,37 @@ public class ivtOrderController {
         return ResponseObject.newOkResponse();
     }
 
+
+    /**
+     * 删除采购订单
+     * @param uc
+     * @param bindId
+     * @return
+     */
+    @Mapping("com.awspaas.user.apps.donenow_ivt.deleteOrder")
+    public ResponseObject deleteOrder(UserContext uc, String bindId) {
+        BO order = SDK.getBOAPI().getByProcess("BO_EU_DNIVT_ORDER", bindId);
+
+        List<BO> orderProducts = SDK.getBOAPI().query("BO_EU_DNIVT_ORDER_PRODUCT").addQuery("BINDID =", bindId).list();
+
+        if (order.isEnd())
+            return ResponseObject.newErrResponse("采购订单已结束,不能删除");
+
+        if (order.getString("ISEND").equals("1"))
+            return ResponseObject.newErrResponse("采购订单已结束,不能删除");
+
+        SDK.getProcessAPI().deleteById(bindId, uc.getUID());
+
+        for (BO op : orderProducts) {
+            String costProductID = DBSql.getString("SELECT ID FROM BO_EU_DNCTT_CONTRACT_COST_PRODUCT WHERE ORDER_ID=? AND CONTRACT_COST_ID=?", new Object[]{op.getString("ORDER_ID"), op.getString("CONTRACT_COST_ID")});
+
+            if (StringUtils.isNotBlank(costProductID))
+                DBSql.update("delete from BO_EU_DNCTT_CONTRACT_COST_PRODUCT where ID=?", new Object[]{costProductID});
+        }
+
+        SDK.getBOAPI().removeByBindId("BO_EU_DNIVT_ORDER", bindId);
+        SDK.getBOAPI().removeByBindId("BO_EU_DNIVT_ORDER_PRODUCT", bindId);
+        return ResponseObject.newOkResponse();
+    }
+
 }