Procházet zdrojové kódy

161031

Add:
portfolio 2x3
add func get_portfolio_price
Ray Zhang před 9 roky
rodič
revize
2d5d954a3e

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


+ 234 - 90
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -58,11 +58,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499165113.808898"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "99"
-            endingLineNumber = "99"
+            startingLineNumber = "139"
+            endingLineNumber = "139"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -74,12 +74,12 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499165113.808898"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "84"
-            endingLineNumber = "84"
-            landmarkName = "+prepare_portfolio_data:"
+            startingLineNumber = "124"
+            endingLineNumber = "124"
+            landmarkName = "+portfolio_img:db:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -90,11 +90,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250158.560089"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "327"
-            endingLineNumber = "327"
+            startingLineNumber = "386"
+            endingLineNumber = "386"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -106,11 +106,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499165113.808898"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "110"
-            endingLineNumber = "110"
+            startingLineNumber = "150"
+            endingLineNumber = "150"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -154,11 +154,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250158.560089"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "326"
-            endingLineNumber = "326"
+            startingLineNumber = "385"
+            endingLineNumber = "385"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -186,12 +186,12 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250158.560089"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "338"
-            endingLineNumber = "338"
-            landmarkName = "+offline_request_tearsheet:"
+            startingLineNumber = "399"
+            endingLineNumber = "399"
+            landmarkName = "+get_pdftemplate:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -202,11 +202,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250158.560089"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "343"
-            endingLineNumber = "343"
+            startingLineNumber = "415"
+            endingLineNumber = "415"
             landmarkName = "+offline_request_tearsheet:"
             landmarkType = "7">
          </BreakpointContent>
@@ -218,11 +218,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499227321.805319"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "97"
-            endingLineNumber = "97"
+            startingLineNumber = "137"
+            endingLineNumber = "137"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
             <Locations>
@@ -314,12 +314,12 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499231713.604779"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "80"
-            endingLineNumber = "80"
-            landmarkName = "+prepare_portfolio_data:"
+            startingLineNumber = "120"
+            endingLineNumber = "120"
+            landmarkName = "+portfolio_img:db:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -330,11 +330,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250158.560089"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "138"
-            endingLineNumber = "138"
+            startingLineNumber = "178"
+            endingLineNumber = "178"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -346,11 +346,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250335.781054"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "106"
-            endingLineNumber = "106"
+            startingLineNumber = "146"
+            endingLineNumber = "146"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -362,11 +362,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250347.443399"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "119"
-            endingLineNumber = "119"
+            startingLineNumber = "159"
+            endingLineNumber = "159"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -378,11 +378,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250457.847315"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "220"
-            endingLineNumber = "220"
+            startingLineNumber = "260"
+            endingLineNumber = "260"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -394,11 +394,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499250519.613782"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "223"
-            endingLineNumber = "223"
+            startingLineNumber = "263"
+            endingLineNumber = "263"
             landmarkName = "+prepare_portfolio_data:"
             landmarkType = "7">
          </BreakpointContent>
@@ -534,7 +534,7 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/PDF+Web/PDFViewController.m"
@@ -570,11 +570,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499328814.893429"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10288"
-            endingLineNumber = "10288"
+            startingLineNumber = "10360"
+            endingLineNumber = "10360"
             landmarkName = "+offline_pdfList:"
             landmarkType = "7">
          </BreakpointContent>
@@ -582,15 +582,15 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499325427.399024"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "354"
-            endingLineNumber = "354"
+            startingLineNumber = "426"
+            endingLineNumber = "426"
             landmarkName = "+offline_request_tearsheet:"
             landmarkType = "7">
          </BreakpointContent>
@@ -602,29 +602,13 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/PDF+Web/PDFViewController.m"
-            timestampString = "499325535.15721"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "140"
-            endingLineNumber = "140"
-            landmarkName = "-loadcontent"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            shouldBeEnabled = "No"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "common/Functions/PDF+Web/PDFViewController.m"
-            timestampString = "499326721.494831"
+            timestampString = "499568569.346091"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "465"
-            endingLineNumber = "465"
-            landmarkName = "-webViewDidFinishLoad:"
-            landmarkType = "7">
+            startingLineNumber = "466"
+            endingLineNumber = "466"
+            landmarkName = "@implementation PDFViewController"
+            landmarkType = "3">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
@@ -634,11 +618,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/PDF+Web/PDFViewController.m"
-            timestampString = "499326721.494831"
+            timestampString = "499568569.346091"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "236"
-            endingLineNumber = "236"
+            startingLineNumber = "237"
+            endingLineNumber = "237"
             landmarkName = "-loadcontent"
             landmarkType = "7">
          </BreakpointContent>
@@ -650,11 +634,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499326794.151895"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10253"
-            endingLineNumber = "10253"
+            startingLineNumber = "10325"
+            endingLineNumber = "10325"
             landmarkName = "+offline_pdfList:"
             landmarkType = "7">
             <Locations>
@@ -698,12 +682,12 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499327137.823983"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10082"
-            endingLineNumber = "10082"
-            landmarkName = "+offline_savePDF:direct:"
+            startingLineNumber = "10154"
+            endingLineNumber = "10154"
+            landmarkName = "+offline_portfolioList:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -714,11 +698,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499327270.008428"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10184"
-            endingLineNumber = "10184"
+            startingLineNumber = "10256"
+            endingLineNumber = "10256"
             landmarkName = "+offline_savePDF:direct:"
             landmarkType = "7">
          </BreakpointContent>
@@ -730,11 +714,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "499327346.423104"
+            timestampString = "499568343.756337"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10224"
-            endingLineNumber = "10224"
+            startingLineNumber = "10296"
+            endingLineNumber = "10296"
             landmarkName = "+offline_savePDF:direct:"
             landmarkType = "7">
          </BreakpointContent>
@@ -771,5 +755,165 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499332006.091882"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "23"
+            endingLineNumber = "23"
+            landmarkName = "-setDrawableTemplate:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499332278.377343"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "413"
+            endingLineNumber = "413"
+            landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/RAUtils.m"
+            timestampString = "499332075.882414"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "225"
+            endingLineNumber = "225"
+            landmarkName = "+rectVAlign:rect:vAlign:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/pdfCreator/TextDrawable.m"
+            timestampString = "499332814.823349"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "401"
+            endingLineNumber = "401"
+            landmarkName = "-Draw:dataSource:ParentRect:startX:startY:flipHeight:range:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "499568343.756337"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "329"
+            endingLineNumber = "329"
+            landmarkName = "+prepare_portfolio_data:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "499568343.756337"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "180"
+            endingLineNumber = "180"
+            landmarkName = "+prepare_portfolio_data:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "499568343.756337"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "181"
+            endingLineNumber = "181"
+            landmarkName = "+prepare_portfolio_data:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "499568343.756337"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "182"
+            endingLineNumber = "182"
+            landmarkName = "+prepare_portfolio_data:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "499568343.756337"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "309"
+            endingLineNumber = "309"
+            landmarkName = "+prepare_portfolio_data:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "499568616.350837"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "32"
+            endingLineNumber = "32"
+            landmarkName = "+get_portfolio_price:item_id:price:db:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 2 - 1
RedAnt ERP Mobile/common/Functions/PDF+Web/PDFViewController.m

@@ -137,11 +137,12 @@
     
     if(self.isLocalfile)
     {
+        /*
         NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
         NSString *cachefolder = [paths objectAtIndex:0];
         NSString *pdfFolder = [cachefolder stringByAppendingPathComponent:@"pdf_cache"];
         self.url = [pdfFolder stringByAppendingPathComponent:self.url];
-        
+        */
         self.content= [NSData dataWithContentsOfFile:self.url];
         [self.webView loadData:self.content MIMEType:@"application/pdf" textEncodingName:nil baseURL:nil];
         [waitalert dismissWithClickedButtonIndex:0 animated:FALSE];

+ 113 - 29
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m

@@ -26,7 +26,58 @@
 @implementation OLDataProvider
 
 
++(NSString*) get_portfolio_price:(NSString*) contact_id item_id:(int) item_id  price:(int)price_id db:(sqlite3*)db
+{
+    
+    NSString * sqlQuery = [NSString stringWithFormat:@"select decrypt(price) from model_price where item_id=%d and price_name in (select name from price where type=%d) ",item_id,price_id];
 
+
+    
+    NSString* ret=@"No Price.";
+    sqlite3_stmt * statement;
+    
+    //    int count=0;
+    if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK)
+    {
+        
+        
+        if (sqlite3_step(statement) == SQLITE_ROW)
+        {
+            
+            
+            char *price = (char*)sqlite3_column_text(statement, 0);
+            if(price==nil)
+                price="";
+            NSString *nsprice = [[NSString alloc]initWithUTF8String:price];
+            double dp= [nsprice doubleValue];
+            
+            ret=[NSString stringWithFormat:@"%.2f",dp];
+            
+            
+        }
+        
+        sqlite3_finalize(statement);
+    }
+
+    
+
+    
+
+
+    
+    
+    return ret;
+    
+    
+//    //  [iSalesDB close_db:db];
+//
+//    return nil;
+////    if(dprice==DBL_MAX)
+////        ret= nil;
+////    else
+////        ret= [NSNumber numberWithDouble:dprice];
+////    return ret;
+}
 + (NSString *)portfolio_img:(NSString *)item_id db:(sqlite3 *)db
 {
     
@@ -245,11 +296,16 @@
         
         
         // qr image
-        NSString* temp = NSTemporaryDirectory();
-        NSString* filename =[NSString stringWithFormat:@"%@.png", [[NSUUID UUID] UUIDString]];
-        NSString* qrpath=[temp stringByAppendingPathComponent:filename];
-        UIImage* qrimg=[QRCodeGenerator qrImageForString:name imageSize:240];
-        [UIImagePNGRepresentation(qrimg)writeToFile: qrpath    atomically:YES];
+         NSString* qrpath=nil;
+         if([params[@"show_barcode"] boolValue])
+         {
+             NSString* temp = NSTemporaryDirectory();
+             NSString* filename =[NSString stringWithFormat:@"%@.png", [[NSUUID UUID] UUIDString]];
+             qrpath=[temp stringByAppendingPathComponent:filename];
+             UIImage* qrimg=[QRCodeGenerator qrImageForString:name imageSize:240];
+             [UIImagePNGRepresentation(qrimg)writeToFile: qrpath    atomically:YES];
+         }
+
         
         
         NSString* set_price=@"";
@@ -263,34 +319,48 @@
         }
         NSString* get_price=@"";
         {
-            NSNumber* price = [self get_model_default_price:appDelegate.contact_id product_id:nil item_id:@(item_id) db:db];
+            
+//            NSNumber* price = [self get_model_default_price:appDelegate.contact_id product_id:nil item_id:@(item_id) db:db];
+            
+            NSString* price = [self get_portfolio_price :appDelegate.contact_id item_id:item_id   price:[params[@"regular_price"] intValue] db:db];
             //                DebugLog(@"price time interval");
             //                [self printTimeIntervalBetween:price_date and:[NSDate date]];
-            
-            if(price!=nil)
-                get_price=[NSString stringWithFormat:@"Price: $ %.2f",price.floatValue];
+            if(price==nil)
+                get_price=@"Price:No Price.";
+            else
+                get_price=[NSString stringWithFormat:@"Price: $ %@",price];
         }
         
         
 
         
         
-        NSMutableDictionary *item = @{
-                                      //@"linenotes": line_note,
-//                                      @"product_id": product_id_string,
-//                                      @"available_qty": @(qty),
-//                                      @"available_percent" : @(percent),
-//                                      @"description": [NSString stringWithFormat:@"%@\n%@",name,description],
-//                                      @"item_id": [NSString stringWithFormat:@"%d",item_id],
-//                                      @"fashion_id": [NSString stringWithFormat:@"%d",product_id],
-                                      @"img": img_path,
-                                      @"img_qr": qrpath,
-                                      @"special_price": set_price,
-                                      @"price": get_price,
-                                      @"name": name,
-                                      @"description": description,
-                                      @"detail": detail
-                                      }.mutableCopy;
+         NSMutableDictionary *item = [[NSMutableDictionary alloc] init];
+         item[@"img"]=img_path;
+         item[@"img_qr"]=qrpath;
+         item[@"special_price"]=set_price;
+         item[@"price"]=get_price;
+         item[@"name"]=name;
+         item[@"description"]=description;
+         item[@"detail"]=detail;
+         item[@"img"]=img_path;
+  
+//  @{
+//                                      //@"linenotes": line_note,
+////                                      @"product_id": product_id_string,
+////                                      @"available_qty": @(qty),
+////                                      @"available_percent" : @(percent),
+////                                      @"description": [NSString stringWithFormat:@"%@\n%@",name,description],
+////                                      @"item_id": [NSString stringWithFormat:@"%d",item_id],
+////                                      @"fashion_id": [NSString stringWithFormat:@"%d",product_id],
+//                                      @"": ,
+//                                      @"": ,
+//                                      @"": ,
+//                                      @"": ,
+//                                      @"": ,
+//                                      @"": ,
+//                                      @"":
+//                                      }.mutableCopy;
 //        if (percentage) {
 //            [item removeObjectForKey:@"available_qty"];
 //        } else {
@@ -335,7 +405,20 @@
 }
 +(NSData*) offline_request_tearsheet :(NSMutableDictionary *) params
 {
-    NSString* template_file=@"portfolio_3x2.json";
+    
+    NSString* template_file=nil;
+    switch([params[@"pdf_style"] intValue])
+    {
+        case 0:
+            template_file= @"portfolio_2x3.json";
+            break;
+        case 1:
+            template_file= @"portfolio_3x2.json";
+            break;
+        default:
+            template_file= @"portfolio_3x2.json";
+    }
+   
     NSMutableDictionary* data = [self prepare_portfolio_data:params];
     NSMutableDictionary* template = [self get_pdftemplate:template_file];
     
@@ -1317,9 +1400,9 @@
     
     NSString* sqlQuery = nil;
     if(appDelegate.contact_id==nil)
-        sqlQuery=[NSString stringWithFormat:@"select a.name,b.price from price as a left join model_price as b on a.name=b.price_name and b.item_id=%d  order by a.order_by;",item_id];
+        sqlQuery=[NSString stringWithFormat:@"select a.name,b.price,b.type from price as a left join model_price as b on a.name=b.price_name and b.item_id=%d  order by a.order_by;",item_id];
     else
-        sqlQuery=[NSString stringWithFormat:@"select a.name,b.price from price as a left join model_price as b on a.name=b.price_name and b.item_id=%d and b.price_name in(%@) order by a.order_by;",item_id,whereprice];
+        sqlQuery=[NSString stringWithFormat:@"select a.name,b.price,b.type from price as a left join model_price as b on a.name=b.price_name and b.item_id=%d and b.price_name in(%@) order by a.order_by;",item_id,whereprice];
     sqlite3_stmt * statement;
     
     
@@ -1367,7 +1450,8 @@
                 item[nsname]= @"No Price";
             }
             
-            
+//            int type= sqlite3_column_int(statement, 2);
+//            item[@"type"]=[NSNumber numberWithInt:type ];
             // item[nsname]= nsprice;
             
             ret[[NSString stringWithFormat:@"item_%d",count]]= item;

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

@@ -559,7 +559,8 @@ void decryptfield (sqlite3_context *context, int argc, sqlite3_value **argv) {
 }
 + (NSData*) load_cached_img:(NSString*) filename loadFrom:(NSString*) path
 {
-    
+    if(path.length==0)
+        return nil;
     
     path=[path stringByReplacingOccurrencesOfString:@"https://" withString:@""];
     path=[path stringByReplacingOccurrencesOfString:@"http://" withString:@""];

+ 21 - 10
RedAnt ERP Mobile/common/pdfCreator/ImageDrawable.m

@@ -49,21 +49,32 @@
         
         NSString* file_name=[url lastPathComponent];
         file_name=url;
-        
-        NSData* img_data=[iSalesDB load_cached_img:file_name loadFrom:url];
-        if([self.drawableTemplate[@"source_path_type"] isEqualToString:@"local"])
-        {
-           img_data= [NSData dataWithContentsOfFile: file_name];
-        }
-        if(img_data!=nil)
+        if(url.length==0)
         {
+            image=nil;
+                CGRect parentrect = [self to_parent_rect:p_rect pos:self.rect offsetX:0 offsetY:0];
+            [self DrawBound:context dataSource:data ParentRect:p_rect startX:x startY:y flipHeight:flip_height range:between_header_and_footer];
             
-            image=[UIImage imageWithData:img_data];
-            
+            return parentrect;
         }
         else
         {
-            image= [UIImage imageNamed:@"portfolio_img_404"];
+            NSData* img_data=[iSalesDB load_cached_img:file_name loadFrom:url];
+            if([self.drawableTemplate[@"source_path_type"] isEqualToString:@"local"])
+            {
+                img_data= [NSData dataWithContentsOfFile: file_name];
+            }
+            if(img_data!=nil)
+            {
+                
+                image=[UIImage imageWithData:img_data];
+                
+            }
+            else
+            {
+                image= [UIImage imageNamed:@"portfolio_img_404"];
+            }
+
         }
 
     }

+ 11 - 5
RedAnt ERP Mobile/common/pdfCreator/TextDrawable.m

@@ -274,10 +274,10 @@
         self.text=@"";
     
     
-//    if([self.text isEqualToString:@"Special: $ 185.00"])
-//    {
-//        int debug=0;
-//    }
+    if([self.text isEqualToString:@"www.newpacificdirect.com"])
+    {
+        int debug=0;
+    }
     
     
     bool bold = [self.drawableTemplate[@"bold"] boolValue];
@@ -401,7 +401,13 @@
     CGRect parentrect = [self to_parent_rect:p_rect pos:self.rect offsetX:0 offsetY:0];
     
     
-    CGRect rect=CGRectMake(parentrect.origin.x, parentrect.origin.y, parentrect.size.width, /*tmpSize.height*/parentrect.size.height);
+    double height =0;
+    if(tmpSize.height<parentrect.size.height)
+        height=tmpSize.height;
+    else
+        height=parentrect.size.height;
+    
+    CGRect rect=CGRectMake(parentrect.origin.x, parentrect.origin.y, parentrect.size.width, height);
     
     //    CGRect rect=[RAUtils rectAlign:parentrect rect:scalerect hAlign:self.hAlign vAlign:self.vAlign];
     rect=[RAUtils rectVAlign:parentrect rect:rect vAlign:self.vAlign];

+ 4 - 0
RedAnt ERP Mobile/iSales-NPD.xcodeproj/project.pbxproj

@@ -189,6 +189,7 @@
 		71D30A211CFBEDC6006F9477 /* default_appearance.json in Resources */ = {isa = PBXBuildFile; fileRef = 71D30A201CFBEDC6006F9477 /* default_appearance.json */; };
 		71D30A2D1CFC0EF8006F9477 /* DefaultImageButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */; };
 		71D46D111CE1D9EF00A081AC /* OLM.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71D46D0F1CE1D9EF00A081AC /* OLM.storyboard */; };
+		71D5016C1DC32C3300971FBB /* portfolio_2x3.json in Resources */ = {isa = PBXBuildFile; fileRef = 71D5016B1DC32C3300971FBB /* portfolio_2x3.json */; };
 		71D99D301CEF02E700CA32DE /* CustomIOSAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 71D99D2F1CEF02E700CA32DE /* CustomIOSAlertView.m */; };
 		71DEE874192DE003003F645F /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71DEE873192DE003003F645F /* QuartzCore.framework */; };
 		71DEE876192DE00E003F645F /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71DEE875192DE00E003F645F /* Accelerate.framework */; };
@@ -565,6 +566,7 @@
 		71D30A2B1CFC0EF8006F9477 /* DefaultImageButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DefaultImageButton.h; path = common/Functions/DefaultImageButton.h; sourceTree = SOURCE_ROOT; };
 		71D30A2C1CFC0EF8006F9477 /* DefaultImageButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DefaultImageButton.m; path = common/Functions/DefaultImageButton.m; sourceTree = SOURCE_ROOT; };
 		71D46D101CE1D9EF00A081AC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/OLM.storyboard; sourceTree = "<group>"; };
+		71D5016B1DC32C3300971FBB /* portfolio_2x3.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = portfolio_2x3.json; sourceTree = "<group>"; };
 		71D99D2E1CEF02E700CA32DE /* CustomIOSAlertView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomIOSAlertView.h; path = common/customUI/CustomIOSAlertView.h; sourceTree = SOURCE_ROOT; };
 		71D99D2F1CEF02E700CA32DE /* CustomIOSAlertView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CustomIOSAlertView.m; path = common/customUI/CustomIOSAlertView.m; sourceTree = SOURCE_ROOT; };
 		71DEE873192DE003003F645F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
@@ -904,6 +906,7 @@
 			isa = PBXGroup;
 			children = (
 				712AFEE61DBDB48000254965 /* portfolio_3x2.json */,
+				71D5016B1DC32C3300971FBB /* portfolio_2x3.json */,
 			);
 			name = template;
 			sourceTree = "<group>";
@@ -1510,6 +1513,7 @@
 				713F76B41929F4A7006A7305 /* InfoPlist.strings in Resources */,
 				7162A5A01C58733400AB630E /* status_filter_cadedate_open.json in Resources */,
 				71D30A211CFBEDC6006F9477 /* default_appearance.json in Resources */,
+				71D5016C1DC32C3300971FBB /* portfolio_2x3.json in Resources */,
 				42969C021D52F31C00FF190A /* editContact.json in Resources */,
 				42A51BF61D62F9AB00F13667 /* orderDetail.json in Resources */,
 				7161FEB71D61B24900157EE1 /* orderinfo.html in Resources */,

+ 1 - 1
RedAnt ERP Mobile/iSales-NPD/config.h

@@ -13,7 +13,7 @@
 #define test_server
 #define exception_switch 0
 
-#define PDF_DEBUG false
+#define PDF_DEBUG true
 
 //#define ENCRYPT_OFF
  

+ 264 - 0
RedAnt ERP Mobile/iSales-NPD/portfolio_2x3.json

@@ -0,0 +1,264 @@
+{
+    "paper": {
+        "width": 612,
+        "height": 792
+    },
+    "pages": {
+        "count": 2,
+        "page_0": {
+            "name": "cover page",
+            "header": {},
+            "footer": {},
+            "margin_left": 20,
+            "margin_right": 20,
+            "margin_top": 20,
+            "margin_bottom": 20,
+            "contents": {
+                "count": 6,
+                "item_0": {
+                    "type": "img",
+                    "hAlign": "Center",
+                    "vAlign": "Middle",
+                    "source": "portfolio_cover_title",
+                    "source_type": "const",
+                    "x": 17,
+                    "y": 47,
+                    "width": 539,
+                    "height": 77
+                },
+                "item_1": {
+                    "type": "img",
+                    "hAlign": "Center",
+                    "vAlign": "Middle",
+                    "source": "portfolio_cover_logo",
+                    "source_type": "const",
+                    "x": 152,
+                    "y": 166,
+                    "width": 268,
+                    "height": 117
+                },
+                "item_2": {
+                    "type": "text",
+                    "source": "npd_url",
+                    "source_type": "data",
+                    "font": "Kalinga",
+                    "size": "14",
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 192,
+                    "y": 533,
+                    "width": 190,
+                    "height": 33
+                },
+                "item_3": {
+                    "type": "text",
+                    "source": "create_month",
+                    "source_type": "data",
+                    "font": "Kalinga",
+                    "size": "14",
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 192,
+                    "y": 566,
+                    "width": 190,
+                    "height": 29
+                },
+                "item_4": {
+                    "type": "text",
+                    "source": "company_name",
+                    "source_type": "data",
+                    "font": "Kalinga",
+                    "size": "22",
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 15,
+                    "y": 324,
+                    "width": 544,
+                    "height": 46,
+                    "bold": true
+                },
+                "item_5": {
+                    "type": "text",
+                    "source": "catalog_name",
+                    "source_type": "data",
+                    "font": "Kalinga",
+                    "size": "22",
+                    "textAlignment": "center",
+                    "vAlign": "Middle",
+                    "x": 16,
+                    "y": 369,
+                    "width": 543,
+                    "height": 38,
+                    "bold": false
+                }
+            }
+        },
+        "page_1": {
+            "name": "content page",
+            "header": {
+                "type": "group",
+                "x": 0,
+                "y": 0,
+                "width": 572,
+                "height": 40,
+                "items": {
+                    "count": 1,
+                    "item_0": {
+                        "type": "img",
+                        "hAlign": "Left",
+                        "vAlign": "Middle",
+                        "source": "portfolio_logo_s",
+                        "source_type": "const",
+                        "x": 2,
+                        "y": 1,
+                        "width": 47,
+                        "height": 34
+                    }
+                }
+            },
+            "footer": {
+                "type": "group",
+                "x": 0,
+                "y": 734,
+                "width": 572,
+                "height": 18,
+                "items": {
+                    "count": 2,
+                    "item_0": {
+                        "type": "text",
+                        "source": "create_month",
+                        "source_type": "data",
+                        "textAlignment": "Left",
+                        "vAlign": "Middle",
+                        "x": 5,
+                        "y": 2,
+                        "width": 119,
+                        "height": 14
+                    },
+                    "item_1": {
+                        "type": "text",
+                        "source": "PAGE_INDEX",
+                        "source_type": "data",
+                        "source_isexpression":true,
+                        "textAlignment": "Right",
+                        "vAlign": "Middle",
+                        "x": 468,
+                        "y": 2,
+                        "width": 104,
+                        "height": 14
+                    }
+                }
+            },
+            "margin_left": 20,
+            "margin_right": 20,
+            "margin_top": 20,
+            "margin_bottom": 20,
+            "contents": {
+                "count": 1,
+                "item_0": {
+                    "type": "grid",
+                    "data_source": "grid0",
+                    "cell": {
+                        "direction": "H",
+                        "duplicate": 0,
+                        "data_source": "cell0",
+                        
+                        "type": "group",
+                        "x": 0,
+                        "y": 0,
+                        "width": 286,
+                        "height": 231,
+                        "items": {
+                            "count": 7,
+                            "item_1": {
+                                "type": "img",
+                                "source": "img_qr",
+                                "source_type": "data",
+                                "source_path_type": "local",
+                                "hAlign": "Center",
+                                "vAlign": "Middle",
+                                "x": 20,
+                                "y": 20,
+                                "width": 51,
+                                "height": 51
+                            },
+                            "item_0": {
+                                "type": "img",
+                                "source": "img",
+                                "source_type": "data",
+                                "hAlign": "Center",
+                                "vAlign": "Middle",
+                                "x": 101,
+                                "y": 0,
+                                "width": 93,
+                                "height": 101
+                            },
+                            "item_2": {
+                                "type": "text",
+                                "source": "special_price",
+                                "source_type": "data",
+                                "size":"10",
+                                "bold": true,
+                                "color":"0xff0000",
+                                "x": 195,
+                                "y": 87,
+                                "width": 90,
+                                "height": 20
+                            },
+                            "item_3": {
+                                "type": "text",
+                                "source": "name",
+                                "source_type": "data",
+                                "size":"12",
+                                "bold": true,
+                                "x": 4,
+                                "y": 103,
+                                "width": 188,
+                                "height": 23
+                            },
+                            "item_4": {
+                                "type": "text",
+                                "source": "description",
+                                "source_type": "data",
+                                "size":"9",
+                                "bold": true,
+                                "x": 4,
+                                "y": 126,
+                                "width": 282,
+                                "height": 31
+                            },
+                            "item_5": {
+                                "type": "text",
+                                "source": "price",
+                                "source_type": "data",
+                                "size":"10",
+                                "bold": true,
+                                "x": 195,
+                                "y": 106,
+                                "width": 90,
+                                "height": 20
+                            },
+                            "item_6": {
+                                "type": "text",
+                                "source": "detail",
+                                "source_type": "data",
+                                "ishtml":true,
+                                "size":"8",
+                                "bold": false,
+                                "x": 4,
+                                "y": 157,
+                                "width": 282,
+                                "height": 72
+                            }
+                            
+                        }
+                    },
+                    "x": 0,
+                    "y": 0,
+                    "width": 752,
+                    "height": 491
+                }
+            }
+        }
+    }
+}