Procházet zdrojové kódy

实现PDF删除接口。

Pen Li před 9 roky
rodič
revize
f15b6ab17e

binární
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/macmini1.xcuserdatad/UserInterfaceState.xcuserstate


+ 0 - 28
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/macmini1.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -2,32 +2,4 @@
 <Bucket
    type = "0"
    version = "2.0">
-   <Breakpoints>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
-         <BreakpointContent
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            scope = "0"
-            stopOnStyle = "0">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "common/data_provider/iSalesNetwork.m"
-            timestampString = "498379632.529538"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1337"
-            endingLineNumber = "1337"
-            landmarkName = "+request_Editor:params:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-   </Breakpoints>
 </Bucket>

+ 5 - 1
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.h

@@ -94,7 +94,7 @@
 //+(NSDictionary*) model_img :(int)product_id;
 //+(NSDictionary*) model_property :(int)product_id field:(NSString*) value ;
 
-#pragma mark - portlio
+#pragma mark - portfolio
 
 + (NSData *)offline_portfolioList:(NSMutableDictionary *)params;
 
@@ -110,4 +110,8 @@
 
 + (NSData *)offline_editPortfolio:(NSMutableDictionary *)params;
 
++ (NSData *)offline_removePortfolio:(NSMutableDictionary *)params;
+
++ (NSData *)offline_removePDF:(NSMutableDictionary *)params;
+
 @end

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

@@ -6011,7 +6011,8 @@
     NSDate *date = [formatter dateFromString:dateTime];
     
     formatter.dateFormat = newFormate;
-    return [formatter stringFromDate:date];
+    NSString *result = [formatter stringFromDate:date];
+    return result ? result : @"";
     
 }
 
@@ -9773,7 +9774,7 @@
         time = [time stringByAppendingString:@" PST"];
         
         
-        int sheet_id = sqlite3_column_int(stmt, 0);
+        int sheet_id = sqlite3_column_int(stmt, 5);
         
         
         NSMutableDictionary *item = @{
@@ -9945,4 +9946,55 @@
     return [RAUtils dict2data:dic];
 }
 
++ (NSData *)offline_removePortfolio:(NSMutableDictionary *)params {
+    
+    NSString *portfolio_ids = [params objectForKey:@"portfolioId"];
+    
+    NSMutableDictionary *dic = [NSMutableDictionary dictionary];
+    
+    sqlite3 *db = [iSalesDB get_db];
+    
+    NSString *sql = [NSString stringWithFormat:@"delete from offline_portfolio where item_id in (%@);",portfolio_ids];
+    
+    int result = [iSalesDB execSql:sql db:db];
+    
+    [dic setObject:[NSNumber numberWithInt:result] forKey:@"result"];
+    [dic setObject:@"Regular Mode" forKey:@"mode"];
+    
+    int count = [iSalesDB get_recordcount:db table:@"offline_portfolio" where:@"1=1"];
+    
+    [dic setObject:[NSNumber numberWithInt:count] forKey:@"portfolio_count"];
+    
+    [iSalesDB close_db:db];
+    
+    return [RAUtils dict2data:dic];
+    
+}
+
++ (NSData *)offline_removePDF:(NSMutableDictionary *)params {
+    
+    NSMutableDictionary *dic = [NSMutableDictionary dictionary];
+    
+    NSInteger tearsheetsId = [[params objectForKey:@"tearsheetsId"] integerValue];
+    NSString *user = [params objectForKey:@"user"];
+    
+    NSString *create_user = [iSalesDB jk_queryText:[NSString stringWithFormat:@"select create_user from offline_pdf where tearsheets_id = %d;",tearsheetsId]];
+    if (![create_user isEqualToString:user]) {
+        [dic setObject:[NSNumber numberWithInt:RESULT_FALSE] forKey:@"result"];
+        [dic setObject:@"Regular Mode" forKey:@"mode"];
+        [dic setObject:@"Only Delete Your Owns" forKey:@"err_msg"];
+        return [RAUtils dict2data:dic];
+    }
+    
+    NSString *sql = [NSString stringWithFormat:@"delete from offline_pdf where tearsheets_id = %d and create_user = '%@';",tearsheetsId,[self translateSingleQuote:user]];
+    
+    
+    int result = [iSalesDB execSql:sql];
+    
+    [dic setObject:[NSNumber numberWithInt:result] forKey:@"result"];
+    [dic setObject:@"Regular Mode" forKey:@"mode"];
+    
+    return [RAUtils dict2data:dic];
+}
+
 @end

+ 1 - 1
RedAnt ERP Mobile/common/data_provider/iSalesDB.m

@@ -722,7 +722,7 @@ void decryptfield (sqlite3_context *context, int argc, sqlite3_value **argv) {
     NSString* create_offline_salesrep=@"CREATE TABLE IF NOT EXISTS offline_salesrep ( _id INTEGER PRIMARY KEY, name text, code text,salesrep_id integer);";
     
     
-    NSString *create_offline_portfolio = @"create table if not exists offline_portfolio (_id integer primary key,product_id integer,name text,description tex,item_id integer,fashion_id integer,available_qty integer,percentage integer,percent double,sheet_price double,sheet_discount double,img text,line_note text,createtime timestamp default(datetime('now','localtime')),modifytime timestamp default(datetime('now','localtime')));";
+    NSString *create_offline_portfolio = @"CREATE TABLE IF NOT EXISTS offline_portfolio (_id integer PRIMARY KEY,product_id integer,name text,description tex,item_id integer,fashion_id integer,available_qty integer,percentage integer,percent double,sheet_price double,sheet_discount double,img text,line_note text,is_delete integer,createtime timestamp DEFAULT(datetime('now','localtime')),modifytime timestamp DEFAULT(datetime('now','localtime')));";
     
     NSString *create_offline_pdf = @"create table if not exists offline_pdf (_id integer primary key,tearsheets_id integer,pdf_path text,create_user text,tear_note text,tear_name text,createtime timestamp default(datetime('now','localtime')));";
     

+ 13 - 8
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.m

@@ -382,13 +382,16 @@ repeat:
         [params setValue:appDelegate.password forKey:@"password"];
     [params setValue:listid forKey:@"tearsheetsId"];
     //    [params setValue:editor forKey:@"editor"];
+    NSData* json = nil;
     if(appDelegate.offline_mode)
     {
-        return [OLDataProvider offline_notimpl];
+        json = [OLDataProvider offline_removePDF:params];
+    } else {
+        if(![self IsNetworkAvailable])
+            return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
+        
+        json=[self get_json:URL_PORTFOLIOLIST_REMOVE parameters:params];
     }
-    if(![self IsNetworkAvailable])
-        return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
-    NSData* json=[self get_json:URL_PORTFOLIOLIST_REMOVE parameters:params];
     if(json!=nil)
     {
         NSError *error=nil;
@@ -414,13 +417,15 @@ repeat:
         [params setValue:appDelegate.password forKey:@"password"];
     [params setValue:item_ids forKey:@"portfolioId"];
     //    [params setValue:editor forKey:@"editor"];
+    NSData* json = nil;
     if(appDelegate.offline_mode)
     {
-        return [OLDataProvider offline_notimpl];
+        json = [OLDataProvider offline_removePortfolio:params];
+    } else {
+        if(![self IsNetworkAvailable])
+            return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
+        json=[self get_json:URL_PORTFOLIO_REMOVE parameters:params];
     }
-    if(![self IsNetworkAvailable])
-        return [RAUtils error_json:RESULT_NET_NOTAVAILABLE err_msg:nil];
-    NSData* json=[self get_json:URL_PORTFOLIO_REMOVE parameters:params];
     if(json!=nil)
     {
         NSError *error=nil;