Explorar el Código

修复Check For Saved Order呈现的Saved Order List与Order History的Order类型不一致导致Order Status显示不正确。
修改保存订单时更新SO#,使之在超时情况下不会将So置空。
修复离线Cancel Order失败,原因是在Cart中Cancel和Order List Cancel传的参数不同。
修复Order Detail Release按钮在离线模式下不可用。
修复Order List在编辑状态下切换到其他页面再回到Order List时列表不正确。
修改Order List取Order Status。

Pen Li hace 9 años
padre
commit
5b466e9fe8

BIN
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.FileBreakpoint">
-         <BreakpointContent
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "507891192.616499"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "406"
-            endingLineNumber = "406"
-            landmarkName = "-SetSo:"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
-         <BreakpointContent
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            scope = "0"
-            stopOnStyle = "0">
-         </BreakpointContent>
-      </BreakpointProxy>
-   </Breakpoints>
 </Bucket>

+ 5 - 3
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m

@@ -10859,10 +10859,12 @@ NSString* gprice = [self get_portfolio_price :appDelegate.contact_id item_id:ite
 
 +(NSData*) offline_cancelorder :(NSMutableDictionary *) params
 {
-//    NSString *orderCode = [self valueInParams:params key:@"orderCode"];
+    NSString *orderCode = [self valueInParams:params key:@"orderCode"];
     NSString *order_id = [self valueInParams:params key:@"orderId"];
-//    NSString *sql = [NSString stringWithFormat:@"update offline_order set status = 2,erpOrderStatus = 15 where so_id = '%@';",orderCode];
-    NSString *sql = [NSString stringWithFormat:@"update offline_order set status = 2,erpOrderStatus = 15 where _id = %@;",order_id];
+    NSString *sql = [NSString stringWithFormat:@"update offline_order set status = 2,erpOrderStatus = 15 where so_id = '%@';",orderCode];
+    if (order_id.length) {
+        sql = [NSString stringWithFormat:@"update offline_order set status = 2,erpOrderStatus = 15 where _id = %@;",order_id];
+    }
     
     int ret = [iSalesDB execSql:sql];
     

+ 1 - 1
RedAnt ERP Mobile/common/Functions/order/OrderDetailViewController.m

@@ -1045,7 +1045,7 @@
                         //                    self.btnCommit.enabled =false;
                     }
                 
-                if([lock_user isEqualToString:appDelegate.user]&& (status_code==1||status_code==0))
+                if(((!appDelegate.offline_mode && [lock_user isEqualToString:appDelegate.user]) || (appDelegate.offline_mode && [self.order_code isEqualToString:appDelegate.order_code]))&& (status_code==1||status_code==0))
                 {
                     //                [self.btnRelease setImage:[[UIImage imageNamed:@"order"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
                     

+ 15 - 18
RedAnt ERP Mobile/common/Functions/order/OrderListViewController.m

@@ -312,6 +312,11 @@
     
     if(appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER) {
         
+        //  Check for Saved Order中Type和History Type不一致导致Status不正确
+        [Singleton sharedInstance].customer_order_type = self.orderType;
+//        if (!self.table_order.isEditing) { // 在编辑状态下不能change Type否则显示混乱
+//            [self changeOrderType:self.orderType];
+//        }
         
         // 合并订单的权限
         if ([Singleton sharedInstance].permissions_merge_order) { // 能够合并
@@ -320,17 +325,11 @@
             if (![items containsObject:self.editOrderListButton]) { // 没显示button
                 [items insertObject:self.editOrderListButton atIndex:4];
             }
-            
-//            if (![items containsObject:self.mergeListButton]) { // 没显示button
-//                [items insertObject:self.mergeListButton atIndex:6];
-//            }
 
             self.toolbarView.items = items;
             
         } else { // 不能合并
-//            if ([items containsObject:self.mergeListButton]) { // 显示button
-//                [items removeObject:self.mergeListButton];
-//            }
+
             if ([items containsObject:self.editOrderListButton]) { // 显示button
                 [items removeObject:self.editOrderListButton];
             }
@@ -340,9 +339,7 @@
         
         // Check For Saved Order 不能合并
         if(self.init_style==OL_OPEN || self.orderType == 1) {
-//            if ([items containsObject:self.mergeListButton]) { // 显示button
-//                [items removeObject:self.mergeListButton];
-//            }
+
             if ([items containsObject:self.editOrderListButton]) { // 显示button
                 [items removeObject:self.editOrderListButton];
             }
@@ -353,10 +350,7 @@
 
     } else {
         
-//        self.mergeListButton.hidden = YES;
-//        if ([items containsObject:self.mergeListButton]) { // 显示button
-//            [items removeObject:self.mergeListButton];
-//        }
+
         if ([items containsObject:self.editOrderListButton]) { // 显示button
             [items removeObject:self.editOrderListButton];
         }
@@ -392,10 +386,11 @@
         if ([Singleton sharedInstance].global_lock || ![Singleton sharedInstance].customer_can_see_sales_Order) { // 是否解锁,是否有查看Sales Order权限
             if (self.orderTypeSegmentControl.numberOfSegments > 1) {
                 [self.orderTypeSegmentControl removeSegmentAtIndex:1 animated:YES];
+                [self changeOrderType:0];
             }
         } else {
             
-            if (self.orderTypeSegmentControl.numberOfSegments == 1) {
+            if (self.orderTypeSegmentControl.numberOfSegments == 1 && !self.table_order.isEditing) {
                 [self.orderTypeSegmentControl insertSegmentWithTitle:@"Purchase Order to NPD" atIndex:1 animated:YES];
             }
             
@@ -1069,10 +1064,10 @@
             price=nil;
         }
         
-        NSInteger statusCode = [[self.content_data[indexPath.row] valueForKey:@"orderStatus"] integerValue];
+//        NSInteger statusCode = [[self.content_data[indexPath.row] valueForKey:@"orderStatus"] integerValue];
         NSString* purchase_time= [self.content_data[indexPath.row] valueForKey:@"purchase_time"];
-//        NSString* status = [self.content_data[indexPath.row] valueForKey:@"order_status"] ;
-        NSString* status = [RAUtils orderStatus:statusCode];
+        NSString* status = [self.content_data[indexPath.row] valueForKey:@"order_status"] ;
+//        NSString* status = [RAUtils orderStatus:statusCode];
         NSString* customer_name = [self.content_data[indexPath.row] valueForKey:@"customer_name"];
         NSString* model_count = [self.content_data[indexPath.row] valueForKey:@"model_count"];
         NSString* sales = [self.content_data[indexPath.row] valueForKey:@"sales_rep"];
@@ -1967,6 +1962,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
         // 选择时不能选择Sales Order
         if(self.orderTypeSegmentControl.numberOfSegments > 1) {
             [self.orderTypeSegmentControl removeSegmentAtIndex:1 animated:YES];
+            [self changeOrderType:0];
         }
         // 切换filter
         NSData *data=[NSData dataWithContentsOfFile:[[NSBundle mainBundle]  pathForResource:@"status_filter_cadedate_open" ofType:@"json" ]];
@@ -2130,6 +2126,7 @@ commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:
         
         if(self.orderTypeSegmentControl.numberOfSegments > 1) {
             [self.orderTypeSegmentControl removeSegmentAtIndex:1 animated:YES];
+//            [self changeOrderType:0];
         }
     } else { // 解锁
         if ([Singleton sharedInstance].customer_can_see_sales_Order) { // 有查看Sales order 权限

+ 1 - 2
RedAnt ERP Mobile/common/Singleton.h

@@ -27,14 +27,13 @@ typedef enum {
 @property (nonatomic,assign) NSInteger npd_shop_price_type;///<Shop设置的价格类型,0提货价、1统一卖价、 2计算价
 @property (nonatomic,  copy) NSString *deliveryString;///<登陆成功后接收的提货价名称
 // 使用枚举吗?Customer_Oder_Type
-@property (nonatomic,assign) NSInteger customer_order_type;///< 0 Shop Order/ 1 Sales Order,
+@property (nonatomic,assign) NSInteger customer_order_type;///< 0 Shop Order/ 1 Sales Order,表示Order List Segment
 @property (nonatomic,assign) BOOL global_lock;///<全局锁,Yes表示订单不能查看Detail,需要密码验证Price Setting,Hide Price
 @property (nonatomic,assign) BOOL customer_can_see_sales_Order;///<是否有权查看Sales Order,控制Order List
 @property (nonatomic,strong) NSMutableDictionary *shop_order_status_filter;///<Shop Order Status
 @property (nonatomic,strong) NSMutableDictionary *sales_order_status_filter;///<Sales Order Status
 @property (nonatomic,  copy) NSString *specialInstruction;///<登陆时传的Special Instruction,在提交订单时显示
 @property (nonatomic,assign) BOOL currentOrderIsMerged;///<当前打开的订单是否为Purchas Order
-@property (nonatomic,  copy) NSString *customer_email;///<Customer邮箱地址,登录时保存
 @property (nonatomic,strong) NSDictionary *customerInfo;///<登录账号信息
 
 #pragma mark - Employee

+ 4 - 3
RedAnt ERP Mobile/common/data_provider/iSalesNetwork.m

@@ -1283,8 +1283,10 @@ repeat:
     {
         NSError *error=nil;
         NSDictionary *jsobj = [NSJSONSerialization JSONObjectWithData:json options:NSJSONReadingMutableLeaves error:&error];
-        
-//        [appDelegate SetSo:[jsobj valueForKey:@"so#"]];
+        NSString *so = [jsobj valueForKey:@"so#"];
+        if (so) {
+            [appDelegate SetSo:so];
+        }
         return jsobj;
     }
     else
@@ -3654,7 +3656,6 @@ repeat:
             [Singleton sharedInstance].deliveryString = [objheader valueForKey:@"delivery_price"];
             [[Singleton sharedInstance] resetGlobalLock];
             [Singleton sharedInstance].customer_can_see_sales_Order = [[objheader valueForKey:@"can_see_salesorder"] boolValue];
-            [Singleton sharedInstance].customer_email = [appDelegate.customerInfo valueForKey:@"customer_email"];
             [Singleton sharedInstance].customerInfo = [objheader objectForKeyedSubscript:@"customerInfo"];
         }