Ray Zhang 10 年之前
父節點
當前提交
98c0e54001

+ 3 - 0
RedAnt ERP Mobile/common/data_provider/iSalesDB.h

@@ -23,6 +23,9 @@
 
 + (void) save_pdf: (NSString*) temp_path filename:(NSString*) filename;
 
+
++ (int) get_recordcount:(sqlite3*)db table:(NSString*) tablename where:(NSString*) whereclause;
+
 + (NSData*) load_cached_img:(NSString*) filename;
 + (void) cache_img: (NSData*) imgData :(NSString*) name;
 

+ 29 - 2
RedAnt ERP Mobile/common/data_provider/iSalesDB.m

@@ -203,11 +203,11 @@
     {
         sqlite3 *db = [self get_db];
         
-        NSString* create_model=@"CREATE TABLE IF NOT EXISTS model ( _id INTEGER PRIMARY KEY, name VARCHAR(20), description VARCHAR(20), product_id INTEGER, color VARCHAR(20), legcolor VARCHAR(20) ,availability INTEGER,  incoming_stock INTEGER , demension VARCHAR(20), seat_height VARCHAR(20), meterial VARCHAR(20), box_dim VARCHAR(20), volume VARCHAR(20), weight VARCHAR(20), model_set VARCHAR(20), load_ability VARCHAR(20),default_category VARCHAR(20), fabric_content VARCHAR(20), assembling VARCHAR(20), made_in VARCHAR(20), special_remarks VARCHAR(20));";
+        NSString* create_model=@"CREATE TABLE IF NOT EXISTS model ( _id INTEGER PRIMARY KEY, name VARCHAR(20), description VARCHAR(20), product_id INTEGER, color VARCHAR(20), legcolor VARCHAR(20) ,availability INTEGER,  incoming_stock INTEGER , demension VARCHAR(20), seat_height VARCHAR(20), meterial VARCHAR(20), box_dim VARCHAR(20), volume VARCHAR(20), weight VARCHAR(20), model_set VARCHAR(20), load_ability VARCHAR(20),default_category VARCHAR(20), category VARCHAR(100),fabric_content VARCHAR(20), assembling VARCHAR(20), made_in VARCHAR(20), special_remarks VARCHAR(20));";
         
         
         
-        NSString* create_image=@"CREATE TABLE IF NOT EXISTS model_image ( _id INTEGER PRIMARY KEY, name VARCHAR(20), url VARCHAR(256));";
+        NSString* create_image=@"CREATE TABLE IF NOT EXISTS model_image ( _id INTEGER PRIMARY KEY, name VARCHAR(20), url VARCHAR(256), type integer, product_id INTEGER);";
         
         NSString* create_image_price=@"CREATE TABLE IF NOT EXISTS model_price ( _id INTEGER PRIMARY KEY, product_id INTEGER,price float , type integer);";
         NSString* create_category=@"CREATE TABLE IF NOT EXISTS category ( _id INTEGER PRIMARY KEY, code VARCHAR(20),name VARCHAR(20));";
@@ -331,6 +331,33 @@
     //    [ApexMobileDB execSql: [NSString stringWithFormat: @"update fields_info set abandon = 1 where user ='%@'",user] db:db];
     return [self get_recordid:tablename where:whereclause order:@"_id"];
 }
++ (int) get_recordcount:(sqlite3*)db table:(NSString*) tablename where:(NSString*) whereclause
+{
+    //sqlite3 *db = [self get_db];
+    
+    int ret = -1;
+    NSString *sqlQuery = [NSString stringWithFormat:@"select count(0) from %@ where %@ ;",tablename,whereclause];
+    sqlite3_stmt * statement;
+    
+    if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK)
+    {
+        if (sqlite3_step(statement) == SQLITE_ROW)
+        {
+            //            char *name = (char*)sqlite3_column_text(statement, 1);
+            //            NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name];
+            
+            ret = sqlite3_column_int(statement, 0);
+            
+            //            char *address = (char*)sqlite3_column_text(statement, 3);
+            //            NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
+            
+            
+        }
+        sqlite3_finalize(statement);
+    }
+ //   sqlite3_close(db);
+    return ret;
+}
 + (int) get_recordid:(NSString*) tablename where:(NSString*) whereclause order:(NSString*) orderby
 {
     sqlite3 *db = [self get_db];

+ 14 - 0
RedAnt ERP Mobile/iSales-NPD/OLDataProvider.h

@@ -0,0 +1,14 @@
+//
+//  OLDataProvider.h
+//  iSales-NPD
+//
+//  Created by Ray on 2/2/16.
+//  Copyright © 2016 United Software Applications, Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface OLDataProvider : NSObject
++(NSDictionary*) get_category :(NSMutableDictionary *) params;
+
+@end

+ 103 - 0
RedAnt ERP Mobile/iSales-NPD/OLDataProvider.m

@@ -0,0 +1,103 @@
+//
+//  OLDataProvider.m
+//  iSales-NPD
+//
+//  Created by Ray on 2/2/16.
+//  Copyright © 2016 United Software Applications, Inc. All rights reserved.
+//
+
+#import "OLDataProvider.h"
+#import "iSalesDB.h"
+@interface OLDataProvider ()
+
+@end
+
+@implementation OLDataProvider
++(NSDictionary*) get_category :(NSMutableDictionary *) params
+{
+    
+//    if(appDelegate.user!=nil)
+//        [params setValue:appDelegate.user forKey:@"user"];
+//    if(appDelegate.contact_id!=nil)
+//        [params setValue:appDelegate.contact_id forKey:@"contactId"];
+//    if(appDelegate.password!=nil)
+//        [params setValue:appDelegate.password forKey:@"password"];
+//    if(appDelegate.order_code!=nil)
+//        [params setValue:appDelegate.order_code forKey:@"orderCode"];
+//    [params setValue:[NSString stringWithFormat:@"%d",price_template]  forKey:@"price_template"];
+//    [params setValue:[NSString stringWithFormat:@"%d",customid]  forKey:@"custom_id"];
+//    [params setValue:[NSString stringWithFormat:@"%@",category]  forKey:@"category"];
+//    [params setValue:[NSString stringWithFormat:@"%d",sort_by]  forKey:@"sort_by"];
+//    [params setValue:[NSString stringWithFormat:@"%d",sort_by]  forKey:@"sort_by"];
+//    [params setValue:[NSString stringWithFormat:@"%ld",limit]  forKey:@"limit"];
+//    [params setValue:[NSString stringWithFormat:@"%ld",offset]  forKey:@"offset"];
+//    [params setValue:filter forKey:@"filter"];
+//    [params setValue:keyword forKey:@"keyword"];
+    
+    
+    
+    NSString* orderCode = [params valueForKey:@"orderCode"];
+    
+    NSString* category = [params valueForKey:@"category"];
+    
+    int limit = [[params valueForKey:@"limit"] intValue];
+    int offset = [[params valueForKey:@"offset"] intValue];
+    
+    NSMutableDictionary* ret = [[NSMutableDictionary alloc] init];
+    
+    
+    
+    
+    
+    
+    sqlite3 *db = [iSalesDB get_db];
+    
+    int count = [iSalesDB get_recordcount:db table:@"model" where:[NSString stringWithFormat:@"category like'#%@%#'",category]];
+    
+    
+    NSString *sqlQuery = @"select m.name,m.description,m.product_id,i.name from model m LEFT join model_image i on m.product_id = i.product_id";
+    sqlite3_stmt * statement;
+//    int count=0;
+    if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK)
+    {
+        
+        while (sqlite3_step(statement) == SQLITE_ROW)
+        {
+            //            char *name = (char*)sqlite3_column_text(statement, 1);
+            //            NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name];
+            
+            char *name = (char*)sqlite3_column_text(statement, 0);
+            NSString *nsname = [[NSString alloc]initWithUTF8String:name];
+            
+            char *description = (char*)sqlite3_column_text(statement, 1);
+            NSString *nsdescription = [[NSString alloc]initWithUTF8String:description];
+            
+            
+//            NSLog(@"product name:%@ price:%@",nsname,nsprice);
+            
+            //            NSData* img_data=[ApexMobileDB load_cached_img:nsname];
+            //
+            //            if(img_data!=nil)
+            //            {
+            //
+            //                UIImage * img =[UIImage imageWithData:img_data];
+            //                self.imageView.image = img;
+            //            }
+            //
+            //            char *address = (char*)sqlite3_column_text(statement, 3);
+            //            NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
+            
+            
+        }
+        sqlite3_finalize(statement);
+    }
+    NSLog(@"count:%d",count);
+    
+    
+    sqlite3_close(db);
+    
+    
+    return ret;
+}
+
+@end