Преглед на файлове

修复Copy Order失败时未关闭数据库

Pen Li преди 9 години
родител
ревизия
f00a9dc457

BIN
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/macmini1.xcuserdatad/UserInterfaceState.xcuserstate


+ 13 - 2
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m

@@ -9097,6 +9097,8 @@
     }];
     if (!customer_is_active) {
         [ret setObject:[NSNumber numberWithInteger:RESULT_FALSE] forKey:@"result"];
+        [iSalesDB execSql:@"END TRANSACTION" db:db];
+        [iSalesDB close_db:db];
         return [RAUtils dict2data:ret];
     }
     
@@ -9108,11 +9110,20 @@
     
     NSString *insert_order_sql = [NSString stringWithFormat:@"insert into offline_order (so_id,status,submit_as,internal_notes,sales_rep,create_by,total_price,logist,lift_gate,logistic_note,customer_cid,customer_contact,customer_email,customer_phone,customer_fax,receive_cid,receive_name,receive_ext,receive_contact,receive_phone,receive_fax,receive_email,sender_cid,sender_name,sender_ext,sender_contact,sender_phone,sender_fax,sender_email,shipping_billto_cid,shipping_billto_name,shipping_billto_ext,shipping_billto_contact,shipping_billto_phone,shipping_billto_fax,shipping_billto_email,billing_cid,billing_name,billing_ext,billing_contact,billing_phone,billing_fax,billing_email,returnto_cid,returnto_name,returnto_ext,returnto_contact,returnto_phone,returnto_fax,returnto_email,must_call,poNumber,comments,comments_ext) select '%@',1,submit_as,internal_notes,sales_rep,'%@',total_price,logist,lift_gate,logistic_note,customer_cid,customer_contact,customer_email,customer_phone,customer_fax,receive_cid,receive_name,receive_ext,receive_contact,receive_phone,receive_fax,receive_email,sender_cid,sender_name,sender_ext,sender_contact,sender_phone,sender_fax,sender_email,shipping_billto_cid,shipping_billto_name,shipping_billto_ext,shipping_billto_contact,shipping_billto_phone,shipping_billto_fax,shipping_billto_email,billing_cid,billing_name,billing_ext,billing_contact,billing_phone,billing_fax,billing_email,returnto_cid,returnto_name,returnto_ext,returnto_contact,returnto_phone,returnto_fax,returnto_email,must_call,poNumber,comments,comments_ext from offline_order where so_id = '%@';",new_order_code,user,order_code]; // ,paymentsAndCredits,shipping,lift_gate_value,handling_fee_value
     
-    [iSalesDB execSql:insert_order_sql db:db];
+    __block int result = 1;
+    result = [iSalesDB execSql:insert_order_sql db:db];
+    
+    if (!result) {
+        [ret setObject:[NSNumber numberWithInteger:RESULT_FALSE] forKey:@"result"];
+        [iSalesDB execSql:@"END TRANSACTION" db:db];
+        [iSalesDB close_db:db];
+        return [RAUtils dict2data:ret];
+    }
+
     
     // 查询product_id 及其对应的 is_active,若is_active = 0,那么就忽略之
 //    __block NSString *product_id = @"";
-    __block int result = 1;
+    
     __weak typeof(self) weakSelf = self;
     NSString *product_id_sql = [NSString stringWithFormat:@"select product_id,is_active from product WHERE product_id in (select product_id from offline_cart where so_no = '%@');",order_code];
     [iSalesDB jk_query:product_id_sql db:db close:NO completion:^(sqlite3_stmt *stmt, NSMutableDictionary *container, long *count) {