Просмотр исходного кода

HMLG Scan Order 1.34

Add stock display function
Ray Zhang 3 лет назад
Родитель
Сommit
9750ca8dae
25 измененных файлов с 629 добавлено и 181 удалено
  1. 4 4
      RA Image/RA Image.xcodeproj/project.pbxproj
  2. 4 4
      RedAnt ERP Mobile/HMLG Scan Order.xcodeproj/project.pbxproj
  3. 1 1
      RedAnt ERP Mobile/HMLG Scan Order.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcschemes/xcschememanagement.plist
  4. 211 120
      RedAnt ERP Mobile/HMLG Scan Order/SO.storyboard
  5. 1 0
      RedAnt ERP Mobile/HMLG Scan Order/ScanHistoryViewController.h
  6. 28 1
      RedAnt ERP Mobile/HMLG Scan Order/ScanHistoryViewController.m
  7. 3 0
      RedAnt ERP Mobile/HMLG Scan Order/ScanHomeViewController.m
  8. 1 0
      RedAnt ERP Mobile/HMLG Scan Order/ScanListCell.h
  9. 1 0
      RedAnt ERP Mobile/HMLG Scan Order/ScanModelListCell.h
  10. 2 0
      RedAnt ERP Mobile/HMLG Scan Order/ScanOrderModelListViewController.h
  11. 26 0
      RedAnt ERP Mobile/HMLG Scan Order/ScanOrderModelListViewController.m
  12. 1 0
      RedAnt ERP Mobile/HMLG Scan Order/ScanSearchViewController.h
  13. 38 1
      RedAnt ERP Mobile/HMLG Scan Order/ScanSearchViewController.m
  14. 2 0
      RedAnt ERP Mobile/HMLG Scan Order/ServerSettingViewController.h
  15. 40 0
      RedAnt ERP Mobile/HMLG Scan Order/ServerSettingViewController.m
  16. 4 1
      RedAnt ERP Mobile/HMLG Scan Order/config.h
  17. 1 1
      RedAnt ERP Mobile/common/Functions/camscan/ScannerViewController.m
  18. 2 0
      RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.h
  19. 16 0
      RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m
  20. 5 0
      RedAnt ERP Mobile/common/Functions/offline/OfflineSettingViewController.m
  21. 4 2
      RedAnt ERP Mobile/common/data_provider/RADataProvider.h
  22. 190 1
      RedAnt ERP Mobile/common/data_provider/RADataProvider.m
  23. 1 1
      RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcschemes/xcschememanagement.plist
  24. 42 44
      RedAnt ERP Mobile/iSales-NPD/Base.lproj/OLM.storyboard
  25. 1 0
      common/NetworkUtils.m

+ 4 - 4
RA Image/RA Image.xcodeproj/project.pbxproj

@@ -1008,12 +1008,12 @@
 			buildSettings = {
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 52472;
+				CURRENT_PROJECT_VERSION = 52795;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				INFOPLIST_FILE = "RA Image/Info.plist";
 				INFOPLIST_FILE = "RA Image/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
 				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-				MARKETING_VERSION = 1.19;
+				MARKETING_VERSION = 1.20;
 				PRODUCT_BUNDLE_IDENTIFIER = "usai.redant.RA-Image";
 				PRODUCT_BUNDLE_IDENTIFIER = "usai.redant.RA-Image";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
 				PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1025,12 +1025,12 @@
 			buildSettings = {
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 52472;
+				CURRENT_PROJECT_VERSION = 52795;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				INFOPLIST_FILE = "RA Image/Info.plist";
 				INFOPLIST_FILE = "RA Image/Info.plist";
 				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
 				IPHONEOS_DEPLOYMENT_TARGET = 11.0;
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-				MARKETING_VERSION = 1.19;
+				MARKETING_VERSION = 1.20;
 				PRODUCT_BUNDLE_IDENTIFIER = "usai.redant.RA-Image";
 				PRODUCT_BUNDLE_IDENTIFIER = "usai.redant.RA-Image";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
 				PROVISIONING_PROFILE_SPECIFIER = "";

+ 4 - 4
RedAnt ERP Mobile/HMLG Scan Order.xcodeproj/project.pbxproj

@@ -2520,7 +2520,7 @@
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO;
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 52652;
+				CURRENT_PROJECT_VERSION = 52654;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				FRAMEWORK_SEARCH_PATHS = (
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
@@ -2537,7 +2537,7 @@
 					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
 					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
 					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
 					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
 				);
 				);
-				MARKETING_VERSION = 1.33;
+				MARKETING_VERSION = 1.34;
 				OTHER_LDFLAGS = (
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"$(inherited)",
 					"-ObjC",
 					"-ObjC",
@@ -2569,7 +2569,7 @@
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO;
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO;
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CURRENT_PROJECT_VERSION = 52652;
+				CURRENT_PROJECT_VERSION = 52654;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				DEVELOPMENT_TEAM = HXWLAA5YN5;
 				FRAMEWORK_SEARCH_PATHS = (
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
 					"$(inherited)",
@@ -2586,7 +2586,7 @@
 					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
 					"$(PROJECT_DIR)/ScanApiSDK-10.2.227-2/lib",
 					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
 					"$(PROJECT_DIR)/GoogleAnalytics/GoogleAnalytics/Libraries",
 				);
 				);
-				MARKETING_VERSION = 1.33;
+				MARKETING_VERSION = 1.34;
 				OTHER_LDFLAGS = (
 				OTHER_LDFLAGS = (
 					"$(inherited)",
 					"$(inherited)",
 					"-ObjC",
 					"-ObjC",

+ 1 - 1
RedAnt ERP Mobile/HMLG Scan Order.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,7 +7,7 @@
 		<key>HMLG Scan Order.xcscheme_^#shared#^_</key>
 		<key>HMLG Scan Order.xcscheme_^#shared#^_</key>
 		<dict>
 		<dict>
 			<key>orderHint</key>
 			<key>orderHint</key>
-			<integer>1</integer>
+			<integer>3</integer>
 		</dict>
 		</dict>
 	</dict>
 	</dict>
 </dict>
 </dict>

+ 211 - 120
RedAnt ERP Mobile/HMLG Scan Order/SO.storyboard

@@ -95,15 +95,15 @@
                                 <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
                                 <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
                             </textField>
                             </textField>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="vDu-zF-Fre"/>
+                        <viewLayoutGuide key="safeArea" id="j2n-WV-y9L"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
                             <constraint firstItem="gGe-DV-etn" firstAttribute="top" secondItem="G7K-ET-ViD" secondAttribute="bottom" constant="20" id="3GU-k4-ifh"/>
                             <constraint firstItem="gGe-DV-etn" firstAttribute="top" secondItem="G7K-ET-ViD" secondAttribute="bottom" constant="20" id="3GU-k4-ifh"/>
                             <constraint firstItem="zIY-Ho-SNj" firstAttribute="centerY" secondItem="gGe-DV-etn" secondAttribute="centerY" id="4LP-ex-cNh"/>
                             <constraint firstItem="zIY-Ho-SNj" firstAttribute="centerY" secondItem="gGe-DV-etn" secondAttribute="centerY" id="4LP-ex-cNh"/>
-                            <constraint firstItem="vDu-zF-Fre" firstAttribute="bottom" secondItem="mGr-dd-c4r" secondAttribute="bottom" constant="20" id="58c-Jv-wgG"/>
+                            <constraint firstItem="j2n-WV-y9L" firstAttribute="bottom" secondItem="mGr-dd-c4r" secondAttribute="bottom" constant="20" id="58c-Jv-wgG"/>
                             <constraint firstItem="jKb-jW-Rds" firstAttribute="centerY" secondItem="j28-du-bFd" secondAttribute="centerY" id="5Pu-Nk-VwB"/>
                             <constraint firstItem="jKb-jW-Rds" firstAttribute="centerY" secondItem="j28-du-bFd" secondAttribute="centerY" id="5Pu-Nk-VwB"/>
-                            <constraint firstItem="gGe-DV-etn" firstAttribute="leading" secondItem="vDu-zF-Fre" secondAttribute="leading" constant="20" id="6fi-Oz-HkC"/>
-                            <constraint firstItem="vDu-zF-Fre" firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="z2t-CO-48M" secondAttribute="trailing" constant="20" id="8jD-tF-gTK"/>
+                            <constraint firstItem="gGe-DV-etn" firstAttribute="leading" secondItem="j2n-WV-y9L" secondAttribute="leading" constant="20" id="6fi-Oz-HkC"/>
+                            <constraint firstItem="j2n-WV-y9L" firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="z2t-CO-48M" secondAttribute="trailing" constant="20" id="8jD-tF-gTK"/>
                             <constraint firstItem="cgR-Wk-NQr" firstAttribute="centerY" secondItem="mGr-dd-c4r" secondAttribute="centerY" id="9xE-KH-OIN"/>
                             <constraint firstItem="cgR-Wk-NQr" firstAttribute="centerY" secondItem="mGr-dd-c4r" secondAttribute="centerY" id="9xE-KH-OIN"/>
                             <constraint firstItem="6Gl-5w-SXW" firstAttribute="leading" secondItem="gGe-DV-etn" secondAttribute="trailing" constant="20" id="GSW-ov-hBX"/>
                             <constraint firstItem="6Gl-5w-SXW" firstAttribute="leading" secondItem="gGe-DV-etn" secondAttribute="trailing" constant="20" id="GSW-ov-hBX"/>
                             <constraint firstItem="zIY-Ho-SNj" firstAttribute="leading" secondItem="j28-du-bFd" secondAttribute="leading" id="HmV-uz-Xuf"/>
                             <constraint firstItem="zIY-Ho-SNj" firstAttribute="leading" secondItem="j28-du-bFd" secondAttribute="leading" id="HmV-uz-Xuf"/>
@@ -111,17 +111,17 @@
                             <constraint firstItem="PRk-Ka-jS0" firstAttribute="leading" secondItem="G7K-ET-ViD" secondAttribute="trailing" constant="24" id="QLn-1y-I6u"/>
                             <constraint firstItem="PRk-Ka-jS0" firstAttribute="leading" secondItem="G7K-ET-ViD" secondAttribute="trailing" constant="24" id="QLn-1y-I6u"/>
                             <constraint firstItem="j28-du-bFd" firstAttribute="top" secondItem="zIY-Ho-SNj" secondAttribute="bottom" constant="20" id="RVa-FV-loq"/>
                             <constraint firstItem="j28-du-bFd" firstAttribute="top" secondItem="zIY-Ho-SNj" secondAttribute="bottom" constant="20" id="RVa-FV-loq"/>
                             <constraint firstItem="PRk-Ka-jS0" firstAttribute="bottom" secondItem="G7K-ET-ViD" secondAttribute="bottom" id="aRe-X1-y7i"/>
                             <constraint firstItem="PRk-Ka-jS0" firstAttribute="bottom" secondItem="G7K-ET-ViD" secondAttribute="bottom" id="aRe-X1-y7i"/>
-                            <constraint firstItem="mGr-dd-c4r" firstAttribute="leading" secondItem="vDu-zF-Fre" secondAttribute="leading" constant="24" id="aUg-jz-E4l"/>
+                            <constraint firstItem="mGr-dd-c4r" firstAttribute="leading" secondItem="j2n-WV-y9L" secondAttribute="leading" constant="24" id="aUg-jz-E4l"/>
                             <constraint firstItem="gOI-tN-7Fh" firstAttribute="centerY" secondItem="j28-du-bFd" secondAttribute="centerY" id="cIa-HA-X5q"/>
                             <constraint firstItem="gOI-tN-7Fh" firstAttribute="centerY" secondItem="j28-du-bFd" secondAttribute="centerY" id="cIa-HA-X5q"/>
-                            <constraint firstItem="G7K-ET-ViD" firstAttribute="leading" secondItem="vDu-zF-Fre" secondAttribute="leading" constant="24" id="fMj-BF-B9w"/>
-                            <constraint firstAttribute="trailing" secondItem="PRk-Ka-jS0" secondAttribute="trailing" constant="24" id="gn5-Dq-cBI"/>
-                            <constraint firstItem="vDu-zF-Fre" firstAttribute="trailing" secondItem="cgR-Wk-NQr" secondAttribute="trailing" constant="24" id="hQT-d0-UO8"/>
-                            <constraint firstItem="vDu-zF-Fre" firstAttribute="trailing" secondItem="jKb-jW-Rds" secondAttribute="trailing" constant="20" id="iSh-ii-5V7"/>
+                            <constraint firstItem="G7K-ET-ViD" firstAttribute="leading" secondItem="j2n-WV-y9L" secondAttribute="leading" constant="24" id="fMj-BF-B9w"/>
+                            <constraint firstItem="j2n-WV-y9L" firstAttribute="trailing" secondItem="PRk-Ka-jS0" secondAttribute="trailing" constant="24" id="gn5-Dq-cBI"/>
+                            <constraint firstItem="j2n-WV-y9L" firstAttribute="trailing" secondItem="cgR-Wk-NQr" secondAttribute="trailing" constant="24" id="hQT-d0-UO8"/>
+                            <constraint firstItem="j2n-WV-y9L" firstAttribute="trailing" secondItem="jKb-jW-Rds" secondAttribute="trailing" constant="20" id="iSh-ii-5V7"/>
                             <constraint firstItem="z2t-CO-48M" firstAttribute="leading" secondItem="zIY-Ho-SNj" secondAttribute="trailing" constant="20" id="jda-JG-ryM"/>
                             <constraint firstItem="z2t-CO-48M" firstAttribute="leading" secondItem="zIY-Ho-SNj" secondAttribute="trailing" constant="20" id="jda-JG-ryM"/>
-                            <constraint firstItem="G7K-ET-ViD" firstAttribute="top" secondItem="vDu-zF-Fre" secondAttribute="top" id="kwA-bE-daq"/>
+                            <constraint firstItem="G7K-ET-ViD" firstAttribute="top" secondItem="j2n-WV-y9L" secondAttribute="top" id="kwA-bE-daq"/>
                             <constraint firstItem="jKb-jW-Rds" firstAttribute="leading" secondItem="gOI-tN-7Fh" secondAttribute="trailing" constant="15" id="sGw-T2-LQO"/>
                             <constraint firstItem="jKb-jW-Rds" firstAttribute="leading" secondItem="gOI-tN-7Fh" secondAttribute="trailing" constant="15" id="sGw-T2-LQO"/>
                             <constraint firstItem="zIY-Ho-SNj" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="6Gl-5w-SXW" secondAttribute="trailing" constant="20" id="t5O-Yw-eva"/>
                             <constraint firstItem="zIY-Ho-SNj" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="6Gl-5w-SXW" secondAttribute="trailing" constant="20" id="t5O-Yw-eva"/>
-                            <constraint firstItem="zIY-Ho-SNj" firstAttribute="leading" secondItem="5EZ-qb-Rvc" secondAttribute="leading" constant="240" id="u1d-JP-AUm"/>
+                            <constraint firstItem="zIY-Ho-SNj" firstAttribute="leading" secondItem="j2n-WV-y9L" secondAttribute="leading" constant="240" id="u1d-JP-AUm"/>
                             <constraint firstItem="6Gl-5w-SXW" firstAttribute="centerY" secondItem="gGe-DV-etn" secondAttribute="centerY" id="uD0-dH-GtW"/>
                             <constraint firstItem="6Gl-5w-SXW" firstAttribute="centerY" secondItem="gGe-DV-etn" secondAttribute="centerY" id="uD0-dH-GtW"/>
                             <constraint firstItem="gOI-tN-7Fh" firstAttribute="leading" secondItem="j28-du-bFd" secondAttribute="trailing" constant="15" id="wUj-99-2IP"/>
                             <constraint firstItem="gOI-tN-7Fh" firstAttribute="leading" secondItem="j28-du-bFd" secondAttribute="trailing" constant="15" id="wUj-99-2IP"/>
                             <constraint firstItem="z2t-CO-48M" firstAttribute="centerY" secondItem="zIY-Ho-SNj" secondAttribute="centerY" id="yMs-sK-Llu"/>
                             <constraint firstItem="z2t-CO-48M" firstAttribute="centerY" secondItem="zIY-Ho-SNj" secondAttribute="centerY" id="yMs-sK-Llu"/>
@@ -265,24 +265,24 @@
                                 </connections>
                                 </connections>
                             </button>
                             </button>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="Ub5-6j-V9f"/>
+                        <viewLayoutGuide key="safeArea" id="Ecz-Mj-Fo1"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="Ub5-6j-V9f" firstAttribute="bottom" secondItem="mWZ-UV-2uq" secondAttribute="bottom" constant="11" id="0Bx-r1-tWP"/>
+                            <constraint firstItem="Ecz-Mj-Fo1" firstAttribute="bottom" secondItem="mWZ-UV-2uq" secondAttribute="bottom" constant="11" id="0Bx-r1-tWP"/>
                             <constraint firstItem="qvG-pb-38K" firstAttribute="centerY" secondItem="sCj-Br-UXR" secondAttribute="centerY" id="3MW-AO-xnD"/>
                             <constraint firstItem="qvG-pb-38K" firstAttribute="centerY" secondItem="sCj-Br-UXR" secondAttribute="centerY" id="3MW-AO-xnD"/>
                             <constraint firstItem="grH-Ll-jqG" firstAttribute="leading" secondItem="sCj-Br-UXR" secondAttribute="trailing" constant="40" id="4LU-vF-cLU"/>
                             <constraint firstItem="grH-Ll-jqG" firstAttribute="leading" secondItem="sCj-Br-UXR" secondAttribute="trailing" constant="40" id="4LU-vF-cLU"/>
-                            <constraint firstItem="Ub5-6j-V9f" firstAttribute="bottom" secondItem="GSH-xU-ZC2" secondAttribute="bottom" constant="11" id="9RE-6A-fEs"/>
-                            <constraint firstItem="Ub5-6j-V9f" firstAttribute="trailing" secondItem="qvG-pb-38K" secondAttribute="trailing" constant="191" id="FFg-UJ-ykr"/>
-                            <constraint firstItem="sPq-7c-wJs" firstAttribute="leading" secondItem="Ub5-6j-V9f" secondAttribute="leading" constant="10" id="KSX-1U-dOP"/>
-                            <constraint firstItem="sCj-Br-UXR" firstAttribute="leading" secondItem="Ub5-6j-V9f" secondAttribute="leading" constant="26" id="NHY-bC-Z4F"/>
-                            <constraint firstItem="Ub5-6j-V9f" firstAttribute="trailing" secondItem="mWZ-UV-2uq" secondAttribute="trailing" constant="79" id="OQ1-mK-4Ok"/>
+                            <constraint firstItem="Ecz-Mj-Fo1" firstAttribute="bottom" secondItem="GSH-xU-ZC2" secondAttribute="bottom" constant="11" id="9RE-6A-fEs"/>
+                            <constraint firstItem="Ecz-Mj-Fo1" firstAttribute="trailing" secondItem="qvG-pb-38K" secondAttribute="trailing" constant="191" id="FFg-UJ-ykr"/>
+                            <constraint firstItem="sPq-7c-wJs" firstAttribute="leading" secondItem="Ecz-Mj-Fo1" secondAttribute="leading" constant="10" id="KSX-1U-dOP"/>
+                            <constraint firstItem="sCj-Br-UXR" firstAttribute="leading" secondItem="Ecz-Mj-Fo1" secondAttribute="leading" constant="26" id="NHY-bC-Z4F"/>
+                            <constraint firstItem="Ecz-Mj-Fo1" firstAttribute="trailing" secondItem="mWZ-UV-2uq" secondAttribute="trailing" constant="79" id="OQ1-mK-4Ok"/>
                             <constraint firstItem="sPq-7c-wJs" firstAttribute="top" secondItem="sCj-Br-UXR" secondAttribute="bottom" id="RaJ-QC-85Q"/>
                             <constraint firstItem="sPq-7c-wJs" firstAttribute="top" secondItem="sCj-Br-UXR" secondAttribute="bottom" id="RaJ-QC-85Q"/>
                             <constraint firstItem="grH-Ll-jqG" firstAttribute="centerY" secondItem="sCj-Br-UXR" secondAttribute="centerY" id="SDu-WD-weN"/>
                             <constraint firstItem="grH-Ll-jqG" firstAttribute="centerY" secondItem="sCj-Br-UXR" secondAttribute="centerY" id="SDu-WD-weN"/>
                             <constraint firstItem="qvG-pb-38K" firstAttribute="leading" secondItem="grH-Ll-jqG" secondAttribute="trailing" constant="40" id="Vqg-24-M3L"/>
                             <constraint firstItem="qvG-pb-38K" firstAttribute="leading" secondItem="grH-Ll-jqG" secondAttribute="trailing" constant="40" id="Vqg-24-M3L"/>
-                            <constraint firstItem="GSH-xU-ZC2" firstAttribute="leading" secondItem="Ub5-6j-V9f" secondAttribute="leading" constant="79" id="d8f-BY-CMF"/>
-                            <constraint firstItem="Ub5-6j-V9f" firstAttribute="trailing" secondItem="sPq-7c-wJs" secondAttribute="trailing" constant="10" id="ipE-3u-z1U"/>
-                            <constraint firstItem="sCj-Br-UXR" firstAttribute="top" secondItem="Ub5-6j-V9f" secondAttribute="top" constant="10" id="plf-xG-nMu"/>
-                            <constraint firstItem="Ub5-6j-V9f" firstAttribute="bottom" secondItem="sPq-7c-wJs" secondAttribute="bottom" constant="50" id="vyK-ij-CMW"/>
+                            <constraint firstItem="GSH-xU-ZC2" firstAttribute="leading" secondItem="Ecz-Mj-Fo1" secondAttribute="leading" constant="79" id="d8f-BY-CMF"/>
+                            <constraint firstItem="Ecz-Mj-Fo1" firstAttribute="trailing" secondItem="sPq-7c-wJs" secondAttribute="trailing" constant="10" id="ipE-3u-z1U"/>
+                            <constraint firstItem="sCj-Br-UXR" firstAttribute="top" secondItem="Ecz-Mj-Fo1" secondAttribute="top" constant="10" id="plf-xG-nMu"/>
+                            <constraint firstItem="Ecz-Mj-Fo1" firstAttribute="bottom" secondItem="sPq-7c-wJs" secondAttribute="bottom" constant="50" id="vyK-ij-CMW"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <value key="contentSizeForViewInPopover" type="size" width="480" height="320"/>
                     <value key="contentSizeForViewInPopover" type="size" width="480" height="320"/>
@@ -388,7 +388,7 @@
                                 </connections>
                                 </connections>
                             </button>
                             </button>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="KlS-KE-AcV"/>
+                        <viewLayoutGuide key="safeArea" id="jcg-Mc-NdC"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
                             <constraint firstItem="XyX-ZJ-w5O" firstAttribute="width" secondItem="j4k-ge-lGR" secondAttribute="width" id="23P-rg-3ir"/>
                             <constraint firstItem="XyX-ZJ-w5O" firstAttribute="width" secondItem="j4k-ge-lGR" secondAttribute="width" id="23P-rg-3ir"/>
@@ -398,20 +398,20 @@
                             <constraint firstItem="Yd7-ed-ROM" firstAttribute="centerY" secondItem="c2l-a1-1N7" secondAttribute="centerY" id="M0h-dZ-Krs"/>
                             <constraint firstItem="Yd7-ed-ROM" firstAttribute="centerY" secondItem="c2l-a1-1N7" secondAttribute="centerY" id="M0h-dZ-Krs"/>
                             <constraint firstItem="C8q-nA-CQp" firstAttribute="leading" secondItem="rGb-d5-ylx" secondAttribute="trailing" constant="11" id="OoD-kO-8ua"/>
                             <constraint firstItem="C8q-nA-CQp" firstAttribute="leading" secondItem="rGb-d5-ylx" secondAttribute="trailing" constant="11" id="OoD-kO-8ua"/>
                             <constraint firstItem="C8q-nA-CQp" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="PAp-MT-OuU"/>
                             <constraint firstItem="C8q-nA-CQp" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="PAp-MT-OuU"/>
-                            <constraint firstItem="KlS-KE-AcV" firstAttribute="bottom" secondItem="c2l-a1-1N7" secondAttribute="bottom" constant="60" id="PUW-RR-bBg"/>
+                            <constraint firstItem="jcg-Mc-NdC" firstAttribute="bottom" secondItem="c2l-a1-1N7" secondAttribute="bottom" constant="60" id="PUW-RR-bBg"/>
                             <constraint firstItem="duu-Y5-mBR" firstAttribute="top" secondItem="WFI-Em-MeJ" secondAttribute="top" constant="45" id="UcA-sh-ZlQ"/>
                             <constraint firstItem="duu-Y5-mBR" firstAttribute="top" secondItem="WFI-Em-MeJ" secondAttribute="top" constant="45" id="UcA-sh-ZlQ"/>
                             <constraint firstItem="rGb-d5-ylx" firstAttribute="leading" secondItem="j4k-ge-lGR" secondAttribute="trailing" constant="11" id="WAO-6y-5ZS"/>
                             <constraint firstItem="rGb-d5-ylx" firstAttribute="leading" secondItem="j4k-ge-lGR" secondAttribute="trailing" constant="11" id="WAO-6y-5ZS"/>
                             <constraint firstItem="TM5-qF-w8m" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="YkY-ry-pd0"/>
                             <constraint firstItem="TM5-qF-w8m" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="YkY-ry-pd0"/>
-                            <constraint firstItem="KlS-KE-AcV" firstAttribute="trailing" secondItem="Yd7-ed-ROM" secondAttribute="trailing" constant="90" id="ecW-xW-YfS"/>
-                            <constraint firstItem="c2l-a1-1N7" firstAttribute="leading" secondItem="KlS-KE-AcV" secondAttribute="leading" constant="90" id="epF-ls-BLB"/>
+                            <constraint firstItem="jcg-Mc-NdC" firstAttribute="trailing" secondItem="Yd7-ed-ROM" secondAttribute="trailing" constant="90" id="ecW-xW-YfS"/>
+                            <constraint firstItem="c2l-a1-1N7" firstAttribute="leading" secondItem="jcg-Mc-NdC" secondAttribute="leading" constant="90" id="epF-ls-BLB"/>
                             <constraint firstItem="rGb-d5-ylx" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="fYs-3Y-Ou9"/>
                             <constraint firstItem="rGb-d5-ylx" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="fYs-3Y-Ou9"/>
-                            <constraint firstItem="KlS-KE-AcV" firstAttribute="trailing" secondItem="TM5-qF-w8m" secondAttribute="trailing" constant="30" id="g90-gR-zbZ"/>
+                            <constraint firstItem="jcg-Mc-NdC" firstAttribute="trailing" secondItem="TM5-qF-w8m" secondAttribute="trailing" constant="30" id="g90-gR-zbZ"/>
                             <constraint firstItem="rGb-d5-ylx" firstAttribute="width" secondItem="j4k-ge-lGR" secondAttribute="width" id="inh-LO-vrm"/>
                             <constraint firstItem="rGb-d5-ylx" firstAttribute="width" secondItem="j4k-ge-lGR" secondAttribute="width" id="inh-LO-vrm"/>
                             <constraint firstItem="C8q-nA-CQp" firstAttribute="width" secondItem="j4k-ge-lGR" secondAttribute="width" id="nA3-ez-FOO"/>
                             <constraint firstItem="C8q-nA-CQp" firstAttribute="width" secondItem="j4k-ge-lGR" secondAttribute="width" id="nA3-ez-FOO"/>
                             <constraint firstItem="XyX-ZJ-w5O" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="s2J-Ra-NlF"/>
                             <constraint firstItem="XyX-ZJ-w5O" firstAttribute="centerY" secondItem="j4k-ge-lGR" secondAttribute="centerY" id="s2J-Ra-NlF"/>
-                            <constraint firstItem="j4k-ge-lGR" firstAttribute="leading" secondItem="KlS-KE-AcV" secondAttribute="leading" constant="30" id="wpy-Wq-lid"/>
+                            <constraint firstItem="j4k-ge-lGR" firstAttribute="leading" secondItem="jcg-Mc-NdC" secondAttribute="leading" constant="30" id="wpy-Wq-lid"/>
                             <constraint firstItem="TM5-qF-w8m" firstAttribute="leading" secondItem="XyX-ZJ-w5O" secondAttribute="trailing" priority="750" constant="11" id="ywr-th-P1g"/>
                             <constraint firstItem="TM5-qF-w8m" firstAttribute="leading" secondItem="XyX-ZJ-w5O" secondAttribute="trailing" priority="750" constant="11" id="ywr-th-P1g"/>
-                            <constraint firstItem="duu-Y5-mBR" firstAttribute="centerX" secondItem="WFI-Em-MeJ" secondAttribute="centerX" id="zZ0-pq-ceO"/>
+                            <constraint firstItem="duu-Y5-mBR" firstAttribute="centerX" secondItem="jcg-Mc-NdC" secondAttribute="centerX" id="zZ0-pq-ceO"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <value key="contentSizeForViewInPopover" type="size" width="480" height="320"/>
                     <value key="contentSizeForViewInPopover" type="size" width="480" height="320"/>
@@ -438,7 +438,7 @@
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                         <subviews>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="aHE-X4-VOt">
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="aHE-X4-VOt">
-                                <rect key="frame" x="15" y="15" width="780" height="1050"/>
+                                <rect key="frame" x="15" y="67" width="780" height="998"/>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                 <prototypes>
                                 <prototypes>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="ScanListCell" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="ScanListCell" rowHeight="166" id="YfV-Cl-5Tu" customClass="ScanListCell">
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="ScanListCell" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="ScanListCell" rowHeight="166" id="YfV-Cl-5Tu" customClass="ScanListCell">
@@ -448,7 +448,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="780" height="166"/>
                                             <rect key="frame" x="0.0" y="0.0" width="780" height="166"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                             <subviews>
-                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Model" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="w8x-0O-3TJ" userLabel="item label">
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="253" verticalHuggingPriority="251" text="Model" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="w8x-0O-3TJ" userLabel="item label">
                                                     <rect key="frame" x="16" y="13" width="50.5" height="21"/>
                                                     <rect key="frame" x="16" y="13" width="50.5" height="21"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
@@ -689,6 +689,7 @@
                                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qoy-vW-xRS">
                                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qoy-vW-xRS">
                                                     <rect key="frame" x="656.5" y="3" width="108.5" height="41"/>
                                                     <rect key="frame" x="656.5" y="3" width="108.5" height="41"/>
                                                     <constraints>
                                                     <constraints>
+                                                        <constraint firstAttribute="width" constant="108.5" id="WcD-3E-U81"/>
                                                         <constraint firstAttribute="height" constant="41" id="qRl-e7-gJa"/>
                                                         <constraint firstAttribute="height" constant="41" id="qRl-e7-gJa"/>
                                                     </constraints>
                                                     </constraints>
                                                     <state key="normal" title="Button"/>
                                                     <state key="normal" title="Button"/>
@@ -697,8 +698,8 @@
                                                         <action selector="onAddToCart:" destination="YfV-Cl-5Tu" eventType="touchUpInside" id="Jm6-n3-clg"/>
                                                         <action selector="onAddToCart:" destination="YfV-Cl-5Tu" eventType="touchUpInside" id="Jm6-n3-clg"/>
                                                     </connections>
                                                     </connections>
                                                 </button>
                                                 </button>
-                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="42.8 x 68.3 x 30.5H" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qAW-4E-Lac" userLabel="item label">
-                                                    <rect key="frame" x="86.5" y="14.5" width="135" height="18"/>
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="252" text="42.8 x 68.3 x 30.5H" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qAW-4E-Lac" userLabel="item label">
+                                                    <rect key="frame" x="86.5" y="14.5" width="461.5" height="18"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
                                                     <nil key="highlightedColor"/>
@@ -727,6 +728,12 @@ line 3</string>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 </label>
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text="Stock:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1X6-wZ-4ID">
+                                                    <rect key="frame" x="578" y="13" width="48.5" height="21"/>
+                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                                    <nil key="textColor"/>
+                                                    <nil key="highlightedColor"/>
+                                                </label>
                                             </subviews>
                                             </subviews>
                                             <constraints>
                                             <constraints>
                                                 <constraint firstAttribute="trailing" secondItem="qoy-vW-xRS" secondAttribute="trailing" constant="15" id="0N9-nj-8aK"/>
                                                 <constraint firstAttribute="trailing" secondItem="qoy-vW-xRS" secondAttribute="trailing" constant="15" id="0N9-nj-8aK"/>
@@ -759,6 +766,7 @@ line 3</string>
                                                 <constraint firstItem="xLb-sH-DDc" firstAttribute="width" secondItem="7Cf-ao-6dF" secondAttribute="width" id="N92-Iw-1dK"/>
                                                 <constraint firstItem="xLb-sH-DDc" firstAttribute="width" secondItem="7Cf-ao-6dF" secondAttribute="width" id="N92-Iw-1dK"/>
                                                 <constraint firstItem="826-Bv-Afw" firstAttribute="top" secondItem="7Cf-ao-6dF" secondAttribute="top" id="SMH-xM-Uii"/>
                                                 <constraint firstItem="826-Bv-Afw" firstAttribute="top" secondItem="7Cf-ao-6dF" secondAttribute="top" id="SMH-xM-Uii"/>
                                                 <constraint firstItem="Gl3-BN-9JK" firstAttribute="width" secondItem="7Cf-ao-6dF" secondAttribute="width" id="Sh5-s5-3HX"/>
                                                 <constraint firstItem="Gl3-BN-9JK" firstAttribute="width" secondItem="7Cf-ao-6dF" secondAttribute="width" id="Sh5-s5-3HX"/>
+                                                <constraint firstItem="1X6-wZ-4ID" firstAttribute="centerY" secondItem="qAW-4E-Lac" secondAttribute="centerY" id="Tan-HD-4bf"/>
                                                 <constraint firstItem="e4y-a4-rZx" firstAttribute="height" secondItem="7Cf-ao-6dF" secondAttribute="height" id="UEL-6b-SF9"/>
                                                 <constraint firstItem="e4y-a4-rZx" firstAttribute="height" secondItem="7Cf-ao-6dF" secondAttribute="height" id="UEL-6b-SF9"/>
                                                 <constraint firstItem="2me-vx-6M3" firstAttribute="width" secondItem="ybo-Ex-ZSL" secondAttribute="width" id="V5D-Hs-R9w"/>
                                                 <constraint firstItem="2me-vx-6M3" firstAttribute="width" secondItem="ybo-Ex-ZSL" secondAttribute="width" id="V5D-Hs-R9w"/>
                                                 <constraint firstItem="2me-vx-6M3" firstAttribute="leading" secondItem="w2F-g1-5dN" secondAttribute="trailing" id="VC4-m8-o3w"/>
                                                 <constraint firstItem="2me-vx-6M3" firstAttribute="leading" secondItem="w2F-g1-5dN" secondAttribute="trailing" id="VC4-m8-o3w"/>
@@ -797,11 +805,13 @@ line 3</string>
                                                 <constraint firstItem="w2F-g1-5dN" firstAttribute="centerY" secondItem="ybo-Ex-ZSL" secondAttribute="centerY" id="qyK-RA-Y2e"/>
                                                 <constraint firstItem="w2F-g1-5dN" firstAttribute="centerY" secondItem="ybo-Ex-ZSL" secondAttribute="centerY" id="qyK-RA-Y2e"/>
                                                 <constraint firstItem="Snb-I4-W0D" firstAttribute="leading" secondItem="xLb-sH-DDc" secondAttribute="trailing" id="s1L-QR-DcJ"/>
                                                 <constraint firstItem="Snb-I4-W0D" firstAttribute="leading" secondItem="xLb-sH-DDc" secondAttribute="trailing" id="s1L-QR-DcJ"/>
                                                 <constraint firstItem="qAW-4E-Lac" firstAttribute="leading" secondItem="w8x-0O-3TJ" secondAttribute="trailing" constant="20" id="sro-cg-Ruk"/>
                                                 <constraint firstItem="qAW-4E-Lac" firstAttribute="leading" secondItem="w8x-0O-3TJ" secondAttribute="trailing" constant="20" id="sro-cg-Ruk"/>
+                                                <constraint firstItem="qoy-vW-xRS" firstAttribute="leading" secondItem="1X6-wZ-4ID" secondAttribute="trailing" constant="30" id="tEH-XQ-bvL"/>
                                                 <constraint firstItem="Pat-j4-mh1" firstAttribute="height" secondItem="7Cf-ao-6dF" secondAttribute="height" id="tme-Ds-cUD"/>
                                                 <constraint firstItem="Pat-j4-mh1" firstAttribute="height" secondItem="7Cf-ao-6dF" secondAttribute="height" id="tme-Ds-cUD"/>
                                                 <constraint firstItem="2me-vx-6M3" firstAttribute="centerY" secondItem="ybo-Ex-ZSL" secondAttribute="centerY" id="vhW-qI-JaW"/>
                                                 <constraint firstItem="2me-vx-6M3" firstAttribute="centerY" secondItem="ybo-Ex-ZSL" secondAttribute="centerY" id="vhW-qI-JaW"/>
                                                 <constraint firstItem="JzP-1G-jcR" firstAttribute="leading" secondItem="fkA-kv-8ja" secondAttribute="trailing" id="wQb-My-Pz4"/>
                                                 <constraint firstItem="JzP-1G-jcR" firstAttribute="leading" secondItem="fkA-kv-8ja" secondAttribute="trailing" id="wQb-My-Pz4"/>
                                                 <constraint firstItem="Gl3-BN-9JK" firstAttribute="height" secondItem="ybo-Ex-ZSL" secondAttribute="height" id="x0d-9d-JjT"/>
                                                 <constraint firstItem="Gl3-BN-9JK" firstAttribute="height" secondItem="ybo-Ex-ZSL" secondAttribute="height" id="x0d-9d-JjT"/>
                                                 <constraint firstItem="bh0-td-ws6" firstAttribute="top" secondItem="ZgQ-DK-Xnp" secondAttribute="bottom" constant="8" id="xCs-Bc-QH0"/>
                                                 <constraint firstItem="bh0-td-ws6" firstAttribute="top" secondItem="ZgQ-DK-Xnp" secondAttribute="bottom" constant="8" id="xCs-Bc-QH0"/>
+                                                <constraint firstItem="1X6-wZ-4ID" firstAttribute="leading" secondItem="qAW-4E-Lac" secondAttribute="trailing" constant="30" id="yF5-kX-CKx"/>
                                             </constraints>
                                             </constraints>
                                         </tableViewCellContentView>
                                         </tableViewCellContentView>
                                         <connections>
                                         <connections>
@@ -820,6 +830,7 @@ line 3</string>
                                             <outlet property="labelPriceNCA" destination="fkA-kv-8ja" id="xAX-Ba-wYC"/>
                                             <outlet property="labelPriceNCA" destination="fkA-kv-8ja" id="xAX-Ba-wYC"/>
                                             <outlet property="labelPriceNet" destination="e4y-a4-rZx" id="Prz-Ev-JeU"/>
                                             <outlet property="labelPriceNet" destination="e4y-a4-rZx" id="Prz-Ev-JeU"/>
                                             <outlet property="labelPriceSpecial" destination="JzP-1G-jcR" id="L5Y-kt-tMD"/>
                                             <outlet property="labelPriceSpecial" destination="JzP-1G-jcR" id="L5Y-kt-tMD"/>
+                                            <outlet property="labelStock" destination="1X6-wZ-4ID" id="LH0-U1-Xt1"/>
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                 </prototypes>
                                 </prototypes>
@@ -828,23 +839,43 @@ line 3</string>
                                     <outlet property="delegate" destination="15s-Fk-XvT" id="Jhs-s8-iXH"/>
                                     <outlet property="delegate" destination="15s-Fk-XvT" id="Jhs-s8-iXH"/>
                                 </connections>
                                 </connections>
                             </tableView>
                             </tableView>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DoD-YM-ccb">
+                                <rect key="frame" x="464" y="16" width="146" height="35"/>
+                                <state key="normal" title="Button"/>
+                                <buttonConfiguration key="configuration" style="plain" title="Sync Availability"/>
+                                <connections>
+                                    <action selector="onUpdateStock:" destination="p2v-UD-wPL" eventType="touchUpInside" id="dPW-aT-XeT"/>
+                                    <action selector="onUpdateStock:" destination="15s-Fk-XvT" eventType="touchUpInside" id="htz-4h-0Hb"/>
+                                </connections>
+                            </button>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Last Update Unknown" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="i5z-Uy-CJa">
+                                <rect key="frame" x="626" y="23" width="169" height="21"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <nil key="textColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="wVu-7y-EsC"/>
+                        <viewLayoutGuide key="safeArea" id="yCO-Fp-1MS"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="aHE-X4-VOt" firstAttribute="top" secondItem="mJj-rg-l2T" secondAttribute="top" constant="15" id="M5r-zh-Fhf"/>
-                            <constraint firstItem="aHE-X4-VOt" firstAttribute="leading" secondItem="wVu-7y-EsC" secondAttribute="leading" constant="15" id="Pp5-iB-lwc"/>
-                            <constraint firstItem="wVu-7y-EsC" firstAttribute="trailing" secondItem="aHE-X4-VOt" secondAttribute="trailing" constant="15" id="aFz-Ah-AWz"/>
-                            <constraint firstItem="wVu-7y-EsC" firstAttribute="bottom" secondItem="aHE-X4-VOt" secondAttribute="bottom" constant="15" id="c3n-4O-S2T"/>
+                            <constraint firstItem="aHE-X4-VOt" firstAttribute="leading" secondItem="yCO-Fp-1MS" secondAttribute="leading" constant="15" id="Pp5-iB-lwc"/>
+                            <constraint firstItem="yCO-Fp-1MS" firstAttribute="trailing" secondItem="aHE-X4-VOt" secondAttribute="trailing" constant="15" id="aFz-Ah-AWz"/>
+                            <constraint firstItem="yCO-Fp-1MS" firstAttribute="bottom" secondItem="aHE-X4-VOt" secondAttribute="bottom" constant="15" id="c3n-4O-S2T"/>
+                            <constraint firstItem="DoD-YM-ccb" firstAttribute="top" secondItem="mJj-rg-l2T" secondAttribute="top" constant="16" id="geP-Xg-Xx5"/>
+                            <constraint firstItem="i5z-Uy-CJa" firstAttribute="centerY" secondItem="DoD-YM-ccb" secondAttribute="centerY" id="gvY-Zz-a4d"/>
+                            <constraint firstItem="aHE-X4-VOt" firstAttribute="top" secondItem="DoD-YM-ccb" secondAttribute="bottom" constant="16" id="rzB-U7-7cs"/>
+                            <constraint firstItem="i5z-Uy-CJa" firstAttribute="trailing" secondItem="aHE-X4-VOt" secondAttribute="trailing" id="tAL-iT-IRB"/>
+                            <constraint firstItem="i5z-Uy-CJa" firstAttribute="leading" secondItem="DoD-YM-ccb" secondAttribute="trailing" constant="16" id="vJ3-QB-Fl5"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <connections>
                     <connections>
+                        <outlet property="labelStock" destination="i5z-Uy-CJa" id="jKT-dy-pWY"/>
                         <outlet property="tableview" destination="aHE-X4-VOt" id="MNw-1b-ccZ"/>
                         <outlet property="tableview" destination="aHE-X4-VOt" id="MNw-1b-ccZ"/>
                     </connections>
                     </connections>
                 </viewController>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="zJm-0S-zhX" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="zJm-0S-zhX" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
             </objects>
             </objects>
-            <point key="canvasLocation" x="-2201" y="96"/>
+            <point key="canvasLocation" x="-2201.4814814814813" y="95.555555555555557"/>
         </scene>
         </scene>
         <!--Scan Order Model List View Controller-->
         <!--Scan Order Model List View Controller-->
         <scene sceneID="yPs-Ny-frH">
         <scene sceneID="yPs-Ny-frH">
@@ -854,8 +885,38 @@ line 3</string>
                         <rect key="frame" x="0.0" y="0.0" width="810" height="1080"/>
                         <rect key="frame" x="0.0" y="0.0" width="810" height="1080"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                         <subviews>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="N1G-LR-2o5">
+                                <rect key="frame" x="661.5" y="1005.5" width="108.5" height="34.5"/>
+                                <state key="normal" title="Button"/>
+                                <buttonConfiguration key="configuration" style="plain" title="Add to cart"/>
+                                <connections>
+                                    <action selector="onAddToCart:" destination="p2v-UD-wPL" eventType="touchUpInside" id="uj2-9t-r7x"/>
+                                </connections>
+                            </button>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zM0-LF-q8I">
+                                <rect key="frame" x="522.5" y="1005.5" width="99" height="34.5"/>
+                                <state key="normal" title="Button"/>
+                                <buttonConfiguration key="configuration" style="plain" title="Scan next"/>
+                                <connections>
+                                    <action selector="onScanNext:" destination="p2v-UD-wPL" eventType="touchUpInside" id="OMw-WQ-nsL"/>
+                                </connections>
+                            </button>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wgc-2E-fLG">
+                                <rect key="frame" x="464" y="16" width="146" height="35"/>
+                                <state key="normal" title="Button"/>
+                                <buttonConfiguration key="configuration" style="plain" title="Sync Availability"/>
+                                <connections>
+                                    <action selector="onUpdateStock:" destination="p2v-UD-wPL" eventType="touchUpInside" id="w5p-7S-GOT"/>
+                                </connections>
+                            </button>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Last Update Unknown" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XSY-X8-3ee">
+                                <rect key="frame" x="626" y="23" width="169" height="21"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <nil key="textColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="bW9-lh-e8E">
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="bW9-lh-e8E">
-                                <rect key="frame" x="15" y="40" width="780" height="945.5"/>
+                                <rect key="frame" x="15" y="67" width="780" height="918.5"/>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                 <prototypes>
                                 <prototypes>
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="ScanModelListCell" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="ScanModelListCell" rowHeight="166" id="di6-XI-avZ" customClass="ScanModelListCell">
                                     <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="ScanModelListCell" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="ScanModelListCell" rowHeight="166" id="di6-XI-avZ" customClass="ScanModelListCell">
@@ -865,7 +926,7 @@ line 3</string>
                                             <rect key="frame" x="0.0" y="0.0" width="780" height="166"/>
                                             <rect key="frame" x="0.0" y="0.0" width="780" height="166"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                             <subviews>
-                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Model" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z2Y-LD-RFG" userLabel="item label">
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text="Model" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Z2Y-LD-RFG" userLabel="item label">
                                                     <rect key="frame" x="16" y="13" width="50.5" height="21"/>
                                                     <rect key="frame" x="16" y="13" width="50.5" height="21"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
@@ -1012,8 +1073,8 @@ line 3</string>
                                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                                     <textInputTraits key="textInputTraits"/>
                                                     <textInputTraits key="textInputTraits"/>
                                                 </textField>
                                                 </textField>
-                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text="42.8 x 68.3 x 30.5H" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2JG-Qa-LOy" userLabel="item label">
-                                                    <rect key="frame" x="86.5" y="14.5" width="135" height="18"/>
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="42.8 x 68.3 x 30.5H" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2JG-Qa-LOy" userLabel="item label">
+                                                    <rect key="frame" x="86.5" y="14.5" width="366" height="18"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
                                                     <nil key="highlightedColor"/>
@@ -1153,6 +1214,12 @@ line 3</string>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 </label>
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Stock:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k8U-Ey-RSG">
+                                                    <rect key="frame" x="482.5" y="13" width="48.5" height="21"/>
+                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                                    <nil key="textColor"/>
+                                                    <nil key="highlightedColor"/>
+                                                </label>
                                             </subviews>
                                             </subviews>
                                             <constraints>
                                             <constraints>
                                                 <constraint firstItem="dpT-CT-Ret" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="04f-dU-ROg"/>
                                                 <constraint firstItem="dpT-CT-Ret" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="04f-dU-ROg"/>
@@ -1188,6 +1255,7 @@ line 3</string>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="height" secondItem="ygm-0i-NY3" secondAttribute="height" id="QS4-jg-FTy"/>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="height" secondItem="ygm-0i-NY3" secondAttribute="height" id="QS4-jg-FTy"/>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="centerY" secondItem="ygm-0i-NY3" secondAttribute="centerY" id="RNH-TB-mMa"/>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="centerY" secondItem="ygm-0i-NY3" secondAttribute="centerY" id="RNH-TB-mMa"/>
                                                 <constraint firstItem="bVe-RI-TAM" firstAttribute="width" secondItem="AK1-ap-AfF" secondAttribute="width" id="Rf4-wO-9zn"/>
                                                 <constraint firstItem="bVe-RI-TAM" firstAttribute="width" secondItem="AK1-ap-AfF" secondAttribute="width" id="Rf4-wO-9zn"/>
+                                                <constraint firstItem="oVz-hr-vFh" firstAttribute="leading" secondItem="k8U-Ey-RSG" secondAttribute="trailing" constant="30" id="SDY-5j-jAi"/>
                                                 <constraint firstItem="Nnj-5b-sBF" firstAttribute="trailing" secondItem="DVA-Pi-NA3" secondAttribute="trailing" id="T6f-bO-s8P"/>
                                                 <constraint firstItem="Nnj-5b-sBF" firstAttribute="trailing" secondItem="DVA-Pi-NA3" secondAttribute="trailing" id="T6f-bO-s8P"/>
                                                 <constraint firstItem="9hH-Br-ZKJ" firstAttribute="centerY" secondItem="AK1-ap-AfF" secondAttribute="centerY" id="Uxm-ni-sbR"/>
                                                 <constraint firstItem="9hH-Br-ZKJ" firstAttribute="centerY" secondItem="AK1-ap-AfF" secondAttribute="centerY" id="Uxm-ni-sbR"/>
                                                 <constraint firstItem="vwr-od-ENo" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="UyU-FH-Q06"/>
                                                 <constraint firstItem="vwr-od-ENo" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="UyU-FH-Q06"/>
@@ -1200,6 +1268,7 @@ line 3</string>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="width" secondItem="ygm-0i-NY3" secondAttribute="width" id="YOx-Yp-ZNh"/>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="width" secondItem="ygm-0i-NY3" secondAttribute="width" id="YOx-Yp-ZNh"/>
                                                 <constraint firstItem="bVe-RI-TAM" firstAttribute="centerY" secondItem="AK1-ap-AfF" secondAttribute="centerY" id="Zav-cy-CJ2"/>
                                                 <constraint firstItem="bVe-RI-TAM" firstAttribute="centerY" secondItem="AK1-ap-AfF" secondAttribute="centerY" id="Zav-cy-CJ2"/>
                                                 <constraint firstItem="1kO-eZ-rr3" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="aCz-0h-Qfg"/>
                                                 <constraint firstItem="1kO-eZ-rr3" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="aCz-0h-Qfg"/>
+                                                <constraint firstItem="k8U-Ey-RSG" firstAttribute="leading" secondItem="2JG-Qa-LOy" secondAttribute="trailing" constant="30" id="awj-pL-4yV"/>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="axG-6D-yld"/>
                                                 <constraint firstItem="IEa-T1-E8F" firstAttribute="height" secondItem="AK1-ap-AfF" secondAttribute="height" id="axG-6D-yld"/>
                                                 <constraint firstItem="9hH-Br-ZKJ" firstAttribute="width" secondItem="AK1-ap-AfF" secondAttribute="width" id="cFb-2x-2cO"/>
                                                 <constraint firstItem="9hH-Br-ZKJ" firstAttribute="width" secondItem="AK1-ap-AfF" secondAttribute="width" id="cFb-2x-2cO"/>
                                                 <constraint firstItem="dpT-CT-Ret" firstAttribute="top" secondItem="DVA-Pi-NA3" secondAttribute="bottom" constant="8" id="cII-zH-9oV"/>
                                                 <constraint firstItem="dpT-CT-Ret" firstAttribute="top" secondItem="DVA-Pi-NA3" secondAttribute="bottom" constant="8" id="cII-zH-9oV"/>
@@ -1220,6 +1289,7 @@ line 3</string>
                                                 <constraint firstItem="N3z-jY-g8U" firstAttribute="leading" secondItem="Mbc-CV-To1" secondAttribute="trailing" id="ldj-n7-udx"/>
                                                 <constraint firstItem="N3z-jY-g8U" firstAttribute="leading" secondItem="Mbc-CV-To1" secondAttribute="trailing" id="ldj-n7-udx"/>
                                                 <constraint firstItem="N3z-jY-g8U" firstAttribute="height" secondItem="ygm-0i-NY3" secondAttribute="height" id="lm9-hK-V9h"/>
                                                 <constraint firstItem="N3z-jY-g8U" firstAttribute="height" secondItem="ygm-0i-NY3" secondAttribute="height" id="lm9-hK-V9h"/>
                                                 <constraint firstItem="Z2Y-LD-RFG" firstAttribute="leading" secondItem="Ajw-zF-nXf" secondAttribute="leading" constant="16" id="mHY-qN-zBd"/>
                                                 <constraint firstItem="Z2Y-LD-RFG" firstAttribute="leading" secondItem="Ajw-zF-nXf" secondAttribute="leading" constant="16" id="mHY-qN-zBd"/>
+                                                <constraint firstItem="oVz-hr-vFh" firstAttribute="centerY" secondItem="k8U-Ey-RSG" secondAttribute="centerY" id="mw2-L2-Gko"/>
                                                 <constraint firstItem="4MP-XW-NEm" firstAttribute="height" secondItem="ygm-0i-NY3" secondAttribute="height" id="nus-Gg-DnE"/>
                                                 <constraint firstItem="4MP-XW-NEm" firstAttribute="height" secondItem="ygm-0i-NY3" secondAttribute="height" id="nus-Gg-DnE"/>
                                                 <constraint firstItem="pMY-tU-GDI" firstAttribute="width" secondItem="AK1-ap-AfF" secondAttribute="width" id="nvI-dk-FGN"/>
                                                 <constraint firstItem="pMY-tU-GDI" firstAttribute="width" secondItem="AK1-ap-AfF" secondAttribute="width" id="nvI-dk-FGN"/>
                                                 <constraint firstAttribute="trailing" secondItem="pMY-tU-GDI" secondAttribute="trailing" constant="16" id="nyY-7h-uqk"/>
                                                 <constraint firstAttribute="trailing" secondItem="pMY-tU-GDI" secondAttribute="trailing" constant="16" id="nyY-7h-uqk"/>
@@ -1258,6 +1328,7 @@ line 3</string>
                                             <outlet property="labelPriceNCA" destination="IEa-T1-E8F" id="TZm-Xx-1VY"/>
                                             <outlet property="labelPriceNCA" destination="IEa-T1-E8F" id="TZm-Xx-1VY"/>
                                             <outlet property="labelPriceNet" destination="NfL-2K-HAE" id="GNR-hm-VP6"/>
                                             <outlet property="labelPriceNet" destination="NfL-2K-HAE" id="GNR-hm-VP6"/>
                                             <outlet property="labelPriceSpecial" destination="6jj-I8-3Vs" id="fDM-Ps-CfE"/>
                                             <outlet property="labelPriceSpecial" destination="6jj-I8-3Vs" id="fDM-Ps-CfE"/>
+                                            <outlet property="labelStock" destination="k8U-Ey-RSG" id="QFV-eg-36Y"/>
                                             <outlet property="steper" destination="Nnj-5b-sBF" id="Lba-IX-lJj"/>
                                             <outlet property="steper" destination="Nnj-5b-sBF" id="Lba-IX-lJj"/>
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
@@ -1267,39 +1338,29 @@ line 3</string>
                                     <outlet property="delegate" destination="p2v-UD-wPL" id="kvt-ru-Td0"/>
                                     <outlet property="delegate" destination="p2v-UD-wPL" id="kvt-ru-Td0"/>
                                 </connections>
                                 </connections>
                             </tableView>
                             </tableView>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="N1G-LR-2o5">
-                                <rect key="frame" x="661.5" y="1005.5" width="108.5" height="34.5"/>
-                                <state key="normal" title="Button"/>
-                                <buttonConfiguration key="configuration" style="plain" title="Add to cart"/>
-                                <connections>
-                                    <action selector="onAddToCart:" destination="p2v-UD-wPL" eventType="touchUpInside" id="uj2-9t-r7x"/>
-                                </connections>
-                            </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zM0-LF-q8I">
-                                <rect key="frame" x="522.5" y="1005.5" width="99" height="34.5"/>
-                                <state key="normal" title="Button"/>
-                                <buttonConfiguration key="configuration" style="plain" title="Scan next"/>
-                                <connections>
-                                    <action selector="onScanNext:" destination="p2v-UD-wPL" eventType="touchUpInside" id="OMw-WQ-nsL"/>
-                                </connections>
-                            </button>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="awB-eh-iQ1"/>
+                        <viewLayoutGuide key="safeArea" id="kJK-2I-SQO"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="awB-eh-iQ1" firstAttribute="trailing" secondItem="bW9-lh-e8E" secondAttribute="trailing" constant="15" id="9XJ-w6-Rom"/>
-                            <constraint firstItem="bW9-lh-e8E" firstAttribute="top" secondItem="awB-eh-iQ1" secondAttribute="top" constant="20" id="9nV-jB-QcH"/>
+                            <constraint firstItem="kJK-2I-SQO" firstAttribute="trailing" secondItem="bW9-lh-e8E" secondAttribute="trailing" constant="15" id="9XJ-w6-Rom"/>
                             <constraint firstItem="N1G-LR-2o5" firstAttribute="centerY" secondItem="zM0-LF-q8I" secondAttribute="centerY" id="CyQ-E6-Xas"/>
                             <constraint firstItem="N1G-LR-2o5" firstAttribute="centerY" secondItem="zM0-LF-q8I" secondAttribute="centerY" id="CyQ-E6-Xas"/>
                             <constraint firstItem="N1G-LR-2o5" firstAttribute="top" secondItem="bW9-lh-e8E" secondAttribute="bottom" constant="20" id="DjH-DK-l5t"/>
                             <constraint firstItem="N1G-LR-2o5" firstAttribute="top" secondItem="bW9-lh-e8E" secondAttribute="bottom" constant="20" id="DjH-DK-l5t"/>
-                            <constraint firstItem="awB-eh-iQ1" firstAttribute="trailing" secondItem="N1G-LR-2o5" secondAttribute="trailing" constant="40" id="JMN-mC-Jp7"/>
+                            <constraint firstItem="bW9-lh-e8E" firstAttribute="top" secondItem="wgc-2E-fLG" secondAttribute="bottom" constant="16" id="Dzd-6G-XNl"/>
+                            <constraint firstItem="kJK-2I-SQO" firstAttribute="trailing" secondItem="N1G-LR-2o5" secondAttribute="trailing" constant="40" id="JMN-mC-Jp7"/>
                             <constraint firstItem="N1G-LR-2o5" firstAttribute="leading" secondItem="zM0-LF-q8I" secondAttribute="trailing" constant="40" id="Lk7-5c-XO9"/>
                             <constraint firstItem="N1G-LR-2o5" firstAttribute="leading" secondItem="zM0-LF-q8I" secondAttribute="trailing" constant="40" id="Lk7-5c-XO9"/>
-                            <constraint firstItem="bW9-lh-e8E" firstAttribute="leading" secondItem="awB-eh-iQ1" secondAttribute="leading" constant="15" id="NU7-9g-SxT"/>
-                            <constraint firstItem="awB-eh-iQ1" firstAttribute="bottom" secondItem="N1G-LR-2o5" secondAttribute="bottom" constant="40" id="ZGa-sj-pwl"/>
+                            <constraint firstItem="bW9-lh-e8E" firstAttribute="leading" secondItem="kJK-2I-SQO" secondAttribute="leading" constant="15" id="NU7-9g-SxT"/>
+                            <constraint firstItem="XSY-X8-3ee" firstAttribute="trailing" secondItem="bW9-lh-e8E" secondAttribute="trailing" id="Ud8-aI-4EP"/>
+                            <constraint firstItem="kJK-2I-SQO" firstAttribute="bottom" secondItem="N1G-LR-2o5" secondAttribute="bottom" constant="40" id="ZGa-sj-pwl"/>
+                            <constraint firstItem="XSY-X8-3ee" firstAttribute="centerY" secondItem="wgc-2E-fLG" secondAttribute="centerY" id="ldh-Yn-10z"/>
+                            <constraint firstItem="wgc-2E-fLG" firstAttribute="top" secondItem="IpQ-Py-Irh" secondAttribute="top" constant="16" id="vCL-3M-6R2"/>
+                            <constraint firstItem="XSY-X8-3ee" firstAttribute="leading" secondItem="wgc-2E-fLG" secondAttribute="trailing" constant="16" id="xKM-41-YA3"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <value key="contentSizeForViewInPopover" type="size" width="480" height="320"/>
                     <value key="contentSizeForViewInPopover" type="size" width="480" height="320"/>
                     <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
                     <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
                     <connections>
                     <connections>
+                        <outlet property="btnUpdateStoc" destination="wgc-2E-fLG" id="P1G-S4-18m"/>
+                        <outlet property="labelStock" destination="XSY-X8-3ee" id="6vF-yn-yrd"/>
                         <outlet property="tableView" destination="bW9-lh-e8E" id="N4g-Py-fjm"/>
                         <outlet property="tableView" destination="bW9-lh-e8E" id="N4g-Py-fjm"/>
                     </connections>
                     </connections>
                 </viewController>
                 </viewController>
@@ -2041,19 +2102,19 @@ Stock</string>
                                 </constraints>
                                 </constraints>
                             </view>
                             </view>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="ioz-jR-kgv"/>
+                        <viewLayoutGuide key="safeArea" id="Rgg-vQ-7HT"/>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="G78-MN-iaL" firstAttribute="leading" secondItem="ioz-jR-kgv" secondAttribute="leading" id="Csg-gU-nMR"/>
-                            <constraint firstItem="Rxh-S5-42X" firstAttribute="trailing" secondItem="ioz-jR-kgv" secondAttribute="trailing" id="CzP-Jh-hTJ"/>
-                            <constraint firstItem="G78-MN-iaL" firstAttribute="trailing" secondItem="ioz-jR-kgv" secondAttribute="trailing" id="PsF-zy-5j9"/>
+                            <constraint firstItem="G78-MN-iaL" firstAttribute="leading" secondItem="Rgg-vQ-7HT" secondAttribute="leading" id="Csg-gU-nMR"/>
+                            <constraint firstItem="Rxh-S5-42X" firstAttribute="trailing" secondItem="Rgg-vQ-7HT" secondAttribute="trailing" id="CzP-Jh-hTJ"/>
+                            <constraint firstItem="G78-MN-iaL" firstAttribute="trailing" secondItem="Rgg-vQ-7HT" secondAttribute="trailing" id="PsF-zy-5j9"/>
                             <constraint firstItem="RmD-zr-fSi" firstAttribute="top" secondItem="Nru-ZY-H46" secondAttribute="top" constant="40" id="UKn-4r-EAA"/>
                             <constraint firstItem="RmD-zr-fSi" firstAttribute="top" secondItem="Nru-ZY-H46" secondAttribute="top" constant="40" id="UKn-4r-EAA"/>
                             <constraint firstAttribute="bottom" secondItem="Rxh-S5-42X" secondAttribute="bottom" id="VEG-dD-rtz"/>
                             <constraint firstAttribute="bottom" secondItem="Rxh-S5-42X" secondAttribute="bottom" id="VEG-dD-rtz"/>
-                            <constraint firstItem="RmD-zr-fSi" firstAttribute="trailing" secondItem="ioz-jR-kgv" secondAttribute="trailing" id="dlJ-VB-4yv"/>
+                            <constraint firstItem="RmD-zr-fSi" firstAttribute="trailing" secondItem="Rgg-vQ-7HT" secondAttribute="trailing" id="dlJ-VB-4yv"/>
                             <constraint firstAttribute="bottom" secondItem="G78-MN-iaL" secondAttribute="bottom" id="hQL-5t-ea5"/>
                             <constraint firstAttribute="bottom" secondItem="G78-MN-iaL" secondAttribute="bottom" id="hQL-5t-ea5"/>
                             <constraint firstItem="G78-MN-iaL" firstAttribute="top" secondItem="RmD-zr-fSi" secondAttribute="bottom" id="i1b-ep-UGk"/>
                             <constraint firstItem="G78-MN-iaL" firstAttribute="top" secondItem="RmD-zr-fSi" secondAttribute="bottom" id="i1b-ep-UGk"/>
-                            <constraint firstItem="Rxh-S5-42X" firstAttribute="leading" secondItem="ioz-jR-kgv" secondAttribute="leading" id="uIx-NR-Elx"/>
-                            <constraint firstItem="RmD-zr-fSi" firstAttribute="leading" secondItem="ioz-jR-kgv" secondAttribute="leading" id="wYp-iY-BFK"/>
+                            <constraint firstItem="Rxh-S5-42X" firstAttribute="leading" secondItem="Rgg-vQ-7HT" secondAttribute="leading" id="uIx-NR-Elx"/>
+                            <constraint firstItem="RmD-zr-fSi" firstAttribute="leading" secondItem="Rgg-vQ-7HT" secondAttribute="leading" id="wYp-iY-BFK"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <connections>
                     <connections>
@@ -2096,29 +2157,6 @@ Stock</string>
                         <rect key="frame" x="0.0" y="0.0" width="810" height="1080"/>
                         <rect key="frame" x="0.0" y="0.0" width="810" height="1080"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                         <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6GX-om-hTb" userLabel="searchbar">
-                                <rect key="frame" x="0.0" y="20" width="810" height="44"/>
-                                <subviews>
-                                    <searchBar contentMode="redraw" searchBarStyle="minimal" placeholder="Enter keyword" translatesAutoresizingMaskIntoConstraints="NO" id="XiM-yi-Oqa">
-                                        <rect key="frame" x="555" y="0.0" width="240" height="44"/>
-                                        <constraints>
-                                            <constraint firstAttribute="width" constant="240" id="6hL-oJ-3XL"/>
-                                            <constraint firstAttribute="height" constant="44" id="EnJ-0T-fkB"/>
-                                        </constraints>
-                                        <textInputTraits key="textInputTraits"/>
-                                        <connections>
-                                            <outlet property="delegate" destination="lUM-3R-fk4" id="yNI-Ub-tGq"/>
-                                        </connections>
-                                    </searchBar>
-                                </subviews>
-                                <viewLayoutGuide key="safeArea" id="fNb-CL-FsK"/>
-                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="44" id="Jsa-vZ-v8r"/>
-                                    <constraint firstItem="fNb-CL-FsK" firstAttribute="trailing" secondItem="XiM-yi-Oqa" secondAttribute="trailing" constant="15" id="RcI-eJ-h3J"/>
-                                    <constraint firstItem="XiM-yi-Oqa" firstAttribute="centerY" secondItem="6GX-om-hTb" secondAttribute="centerY" id="bHO-nA-5Hc"/>
-                                </constraints>
-                            </view>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="Zxn-QV-WBs">
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="-1" estimatedSectionHeaderHeight="-1" sectionFooterHeight="-1" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="Zxn-QV-WBs">
                                 <rect key="frame" x="0.0" y="64" width="810" height="1016"/>
                                 <rect key="frame" x="0.0" y="64" width="810" height="1016"/>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
@@ -2129,7 +2167,7 @@ Stock</string>
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="RBD-TT-DqV" translatesAutoresizingMaskIntoConstraints="NO" id="h6v-P5-Y6J">
                                         <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="RBD-TT-DqV" translatesAutoresizingMaskIntoConstraints="NO" id="h6v-P5-Y6J">
                                             <rect key="frame" x="0.0" y="0.0" width="810" height="166"/>
                                             <rect key="frame" x="0.0" y="0.0" width="810" height="166"/>
                                             <subviews>
                                             <subviews>
-                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Model" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ToU-Mo-Rx3" userLabel="item label">
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="252" verticalHuggingPriority="251" text="Model" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ToU-Mo-Rx3" userLabel="item label">
                                                     <rect key="frame" x="16" y="13" width="50.5" height="21"/>
                                                     <rect key="frame" x="16" y="13" width="50.5" height="21"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <fontDescription key="fontDescription" type="boldSystem" pointSize="17"/>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
@@ -2380,6 +2418,7 @@ line 3</string>
                                                     <rect key="frame" x="685.5" y="6.5" width="108.5" height="34"/>
                                                     <rect key="frame" x="685.5" y="6.5" width="108.5" height="34"/>
                                                     <constraints>
                                                     <constraints>
                                                         <constraint firstAttribute="height" constant="34" id="THg-oZ-qqR"/>
                                                         <constraint firstAttribute="height" constant="34" id="THg-oZ-qqR"/>
+                                                        <constraint firstAttribute="width" constant="108.5" id="X0W-EQ-UiB"/>
                                                     </constraints>
                                                     </constraints>
                                                     <state key="normal" title="Button"/>
                                                     <state key="normal" title="Button"/>
                                                     <buttonConfiguration key="configuration" style="plain" title="Add to cart"/>
                                                     <buttonConfiguration key="configuration" style="plain" title="Add to cart"/>
@@ -2402,12 +2441,18 @@ line 3</string>
                                                         <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
                                                         <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
                                                     </userDefinedRuntimeAttributes>
                                                     </userDefinedRuntimeAttributes>
                                                 </label>
                                                 </label>
-                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="42.8 x 68.3 x 30.5H" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CXZ-rU-fI4" userLabel="item label">
-                                                    <rect key="frame" x="76.5" y="14.5" width="135" height="18"/>
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="42.8 x 68.3 x 30.5H" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CXZ-rU-fI4" userLabel="item label">
+                                                    <rect key="frame" x="76.5" y="14.5" width="500.5" height="18"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                                     <nil key="textColor"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
                                                 </label>
+                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Stock:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yG2-aU-fHH">
+                                                    <rect key="frame" x="607" y="13" width="48.5" height="21"/>
+                                                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                                    <nil key="textColor"/>
+                                                    <nil key="highlightedColor"/>
+                                                </label>
                                             </subviews>
                                             </subviews>
                                             <constraints>
                                             <constraints>
                                                 <constraint firstItem="rL8-9w-zqg" firstAttribute="leading" secondItem="ToU-Mo-Rx3" secondAttribute="leading" id="0Eg-8G-CwM"/>
                                                 <constraint firstItem="rL8-9w-zqg" firstAttribute="leading" secondItem="ToU-Mo-Rx3" secondAttribute="leading" id="0Eg-8G-CwM"/>
@@ -2417,7 +2462,9 @@ line 3</string>
                                                 <constraint firstAttribute="bottom" secondItem="W0g-JU-H8J" secondAttribute="bottom" constant="8" id="3gf-R6-rDT"/>
                                                 <constraint firstAttribute="bottom" secondItem="W0g-JU-H8J" secondAttribute="bottom" constant="8" id="3gf-R6-rDT"/>
                                                 <constraint firstItem="51Y-wy-2ET" firstAttribute="height" secondItem="rL8-9w-zqg" secondAttribute="height" id="47y-9B-Agq"/>
                                                 <constraint firstItem="51Y-wy-2ET" firstAttribute="height" secondItem="rL8-9w-zqg" secondAttribute="height" id="47y-9B-Agq"/>
                                                 <constraint firstItem="dPf-p7-b3A" firstAttribute="top" secondItem="P0q-Yt-GXv" secondAttribute="top" id="56B-OM-0Va"/>
                                                 <constraint firstItem="dPf-p7-b3A" firstAttribute="top" secondItem="P0q-Yt-GXv" secondAttribute="top" id="56B-OM-0Va"/>
+                                                <constraint firstItem="LEh-OL-gzO" firstAttribute="leading" secondItem="yG2-aU-fHH" secondAttribute="trailing" constant="30" id="5Nb-dd-2lu"/>
                                                 <constraint firstItem="dPf-p7-b3A" firstAttribute="leading" secondItem="TEW-3R-q3j" secondAttribute="trailing" id="83R-5x-6dD"/>
                                                 <constraint firstItem="dPf-p7-b3A" firstAttribute="leading" secondItem="TEW-3R-q3j" secondAttribute="trailing" id="83R-5x-6dD"/>
+                                                <constraint firstItem="LEh-OL-gzO" firstAttribute="centerY" secondItem="yG2-aU-fHH" secondAttribute="centerY" id="8OT-bM-Vzv"/>
                                                 <constraint firstItem="MB0-nt-BnH" firstAttribute="leading" secondItem="6Or-u7-4VU" secondAttribute="trailing" id="8gj-lP-RRH"/>
                                                 <constraint firstItem="MB0-nt-BnH" firstAttribute="leading" secondItem="6Or-u7-4VU" secondAttribute="trailing" id="8gj-lP-RRH"/>
                                                 <constraint firstItem="Ua7-Qu-TE2" firstAttribute="width" secondItem="P0q-Yt-GXv" secondAttribute="width" id="A9e-Ig-BKf"/>
                                                 <constraint firstItem="Ua7-Qu-TE2" firstAttribute="width" secondItem="P0q-Yt-GXv" secondAttribute="width" id="A9e-Ig-BKf"/>
                                                 <constraint firstItem="W0g-JU-H8J" firstAttribute="top" secondItem="P0q-Yt-GXv" secondAttribute="top" id="AgZ-NT-RlH"/>
                                                 <constraint firstItem="W0g-JU-H8J" firstAttribute="top" secondItem="P0q-Yt-GXv" secondAttribute="top" id="AgZ-NT-RlH"/>
@@ -2451,6 +2498,7 @@ line 3</string>
                                                 <constraint firstItem="51Y-wy-2ET" firstAttribute="width" secondItem="rL8-9w-zqg" secondAttribute="width" id="VY5-j0-3Gd"/>
                                                 <constraint firstItem="51Y-wy-2ET" firstAttribute="width" secondItem="rL8-9w-zqg" secondAttribute="width" id="VY5-j0-3Gd"/>
                                                 <constraint firstItem="CZn-lW-zFb" firstAttribute="height" secondItem="rL8-9w-zqg" secondAttribute="height" id="Vrp-1L-mgj"/>
                                                 <constraint firstItem="CZn-lW-zFb" firstAttribute="height" secondItem="rL8-9w-zqg" secondAttribute="height" id="Vrp-1L-mgj"/>
                                                 <constraint firstItem="56k-bL-ui2" firstAttribute="height" secondItem="rL8-9w-zqg" secondAttribute="height" id="VvH-Ts-8Ws"/>
                                                 <constraint firstItem="56k-bL-ui2" firstAttribute="height" secondItem="rL8-9w-zqg" secondAttribute="height" id="VvH-Ts-8Ws"/>
+                                                <constraint firstItem="yG2-aU-fHH" firstAttribute="leading" secondItem="CXZ-rU-fI4" secondAttribute="trailing" constant="30" id="XOs-n1-ApE"/>
                                                 <constraint firstItem="MB0-nt-BnH" firstAttribute="centerY" secondItem="rL8-9w-zqg" secondAttribute="centerY" id="XsH-re-zVi"/>
                                                 <constraint firstItem="MB0-nt-BnH" firstAttribute="centerY" secondItem="rL8-9w-zqg" secondAttribute="centerY" id="XsH-re-zVi"/>
                                                 <constraint firstItem="TEW-3R-q3j" firstAttribute="height" secondItem="P0q-Yt-GXv" secondAttribute="height" id="YqC-Dt-t0c"/>
                                                 <constraint firstItem="TEW-3R-q3j" firstAttribute="height" secondItem="P0q-Yt-GXv" secondAttribute="height" id="YqC-Dt-t0c"/>
                                                 <constraint firstItem="Raa-F8-Tim" firstAttribute="width" secondItem="rL8-9w-zqg" secondAttribute="width" id="YuQ-r3-y0u"/>
                                                 <constraint firstItem="Raa-F8-Tim" firstAttribute="width" secondItem="rL8-9w-zqg" secondAttribute="width" id="YuQ-r3-y0u"/>
@@ -2507,6 +2555,7 @@ line 3</string>
                                             <outlet property="labelPriceNCA" destination="dvh-cr-GdM" id="jEe-lE-SjP"/>
                                             <outlet property="labelPriceNCA" destination="dvh-cr-GdM" id="jEe-lE-SjP"/>
                                             <outlet property="labelPriceNet" destination="Ua7-Qu-TE2" id="3aE-lD-fYf"/>
                                             <outlet property="labelPriceNet" destination="Ua7-Qu-TE2" id="3aE-lD-fYf"/>
                                             <outlet property="labelPriceSpecial" destination="Fgw-LJ-KR5" id="x2v-ab-5WD"/>
                                             <outlet property="labelPriceSpecial" destination="Fgw-LJ-KR5" id="x2v-ab-5WD"/>
+                                            <outlet property="labelStock" destination="yG2-aU-fHH" id="zrg-82-hkh"/>
                                         </connections>
                                         </connections>
                                     </tableViewCell>
                                     </tableViewCell>
                                 </prototypes>
                                 </prototypes>
@@ -2515,21 +2564,63 @@ line 3</string>
                                     <outlet property="delegate" destination="lUM-3R-fk4" id="5Hl-c5-5St"/>
                                     <outlet property="delegate" destination="lUM-3R-fk4" id="5Hl-c5-5St"/>
                                 </connections>
                                 </connections>
                             </tableView>
                             </tableView>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6GX-om-hTb" userLabel="searchbar">
+                                <rect key="frame" x="0.0" y="20" width="810" height="44"/>
+                                <subviews>
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4ma-Om-aYp">
+                                        <rect key="frame" x="0.0" y="4.5" width="146" height="35"/>
+                                        <state key="normal" title="Button"/>
+                                        <buttonConfiguration key="configuration" style="plain" title="Sync Availability"/>
+                                        <connections>
+                                            <action selector="onUpdateStock:" destination="lUM-3R-fk4" eventType="touchUpInside" id="DME-yR-0QG"/>
+                                            <action selector="onUpdateStock:" destination="p2v-UD-wPL" eventType="touchUpInside" id="cns-jN-A3D"/>
+                                        </connections>
+                                    </button>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Last Update Unknown" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k4X-6G-CnI">
+                                        <rect key="frame" x="176" y="11.5" width="169" height="21"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                        <nil key="textColor"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                    <searchBar contentMode="redraw" searchBarStyle="minimal" placeholder="Enter keyword" translatesAutoresizingMaskIntoConstraints="NO" id="XiM-yi-Oqa">
+                                        <rect key="frame" x="555" y="0.0" width="240" height="44"/>
+                                        <constraints>
+                                            <constraint firstAttribute="width" constant="240" id="6hL-oJ-3XL"/>
+                                            <constraint firstAttribute="height" constant="44" id="EnJ-0T-fkB"/>
+                                        </constraints>
+                                        <textInputTraits key="textInputTraits"/>
+                                        <connections>
+                                            <outlet property="delegate" destination="lUM-3R-fk4" id="yNI-Ub-tGq"/>
+                                        </connections>
+                                    </searchBar>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstItem="k4X-6G-CnI" firstAttribute="leading" secondItem="4ma-Om-aYp" secondAttribute="trailing" constant="30" id="7N4-FO-rVO"/>
+                                    <constraint firstAttribute="height" constant="44" id="Jsa-vZ-v8r"/>
+                                    <constraint firstAttribute="trailing" secondItem="XiM-yi-Oqa" secondAttribute="trailing" constant="15" id="RcI-eJ-h3J"/>
+                                    <constraint firstItem="k4X-6G-CnI" firstAttribute="centerY" secondItem="4ma-Om-aYp" secondAttribute="centerY" id="STh-gi-m0K"/>
+                                    <constraint firstItem="XiM-yi-Oqa" firstAttribute="centerY" secondItem="6GX-om-hTb" secondAttribute="centerY" id="bHO-nA-5Hc"/>
+                                    <constraint firstItem="XiM-yi-Oqa" firstAttribute="centerY" secondItem="4ma-Om-aYp" secondAttribute="centerY" id="oCq-4i-OZP"/>
+                                </constraints>
+                            </view>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="Ze6-Is-6dX"/>
+                        <viewLayoutGuide key="safeArea" id="Tvp-1a-lIR"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="Ze6-Is-6dX" firstAttribute="bottom" secondItem="Zxn-QV-WBs" secondAttribute="bottom" id="8Bl-lK-rgd"/>
-                            <constraint firstItem="6GX-om-hTb" firstAttribute="leading" secondItem="0fB-og-gMM" secondAttribute="leading" id="WAy-la-TKm"/>
-                            <constraint firstItem="Ze6-Is-6dX" firstAttribute="trailing" secondItem="Zxn-QV-WBs" secondAttribute="trailing" id="WF3-hF-mle"/>
-                            <constraint firstItem="Zxn-QV-WBs" firstAttribute="leading" secondItem="Ze6-Is-6dX" secondAttribute="leading" id="afS-hg-asP"/>
+                            <constraint firstItem="Tvp-1a-lIR" firstAttribute="bottom" secondItem="Zxn-QV-WBs" secondAttribute="bottom" id="8Bl-lK-rgd"/>
+                            <constraint firstItem="4ma-Om-aYp" firstAttribute="leading" secondItem="Zxn-QV-WBs" secondAttribute="leading" id="T3Z-tw-rVJ"/>
+                            <constraint firstItem="6GX-om-hTb" firstAttribute="leading" secondItem="Tvp-1a-lIR" secondAttribute="leading" id="WAy-la-TKm"/>
+                            <constraint firstItem="Tvp-1a-lIR" firstAttribute="trailing" secondItem="Zxn-QV-WBs" secondAttribute="trailing" id="WF3-hF-mle"/>
+                            <constraint firstItem="Zxn-QV-WBs" firstAttribute="leading" secondItem="Tvp-1a-lIR" secondAttribute="leading" id="afS-hg-asP"/>
                             <constraint firstItem="Zxn-QV-WBs" firstAttribute="top" secondItem="6GX-om-hTb" secondAttribute="bottom" id="eL1-cg-g69"/>
                             <constraint firstItem="Zxn-QV-WBs" firstAttribute="top" secondItem="6GX-om-hTb" secondAttribute="bottom" id="eL1-cg-g69"/>
-                            <constraint firstAttribute="trailing" secondItem="6GX-om-hTb" secondAttribute="trailing" id="ild-BP-4V2"/>
-                            <constraint firstItem="6GX-om-hTb" firstAttribute="top" secondItem="Ze6-Is-6dX" secondAttribute="top" id="nfF-ch-ag6"/>
+                            <constraint firstItem="Tvp-1a-lIR" firstAttribute="trailing" secondItem="6GX-om-hTb" secondAttribute="trailing" id="ild-BP-4V2"/>
+                            <constraint firstItem="6GX-om-hTb" firstAttribute="top" secondItem="Tvp-1a-lIR" secondAttribute="top" id="nfF-ch-ag6"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <connections>
                     <connections>
                         <outlet property="headerView" destination="6GX-om-hTb" id="Iqv-GJ-Dqy"/>
                         <outlet property="headerView" destination="6GX-om-hTb" id="Iqv-GJ-Dqy"/>
+                        <outlet property="labelStock" destination="k4X-6G-CnI" id="0mp-Kg-0Jg"/>
                         <outlet property="searchBar" destination="XiM-yi-Oqa" id="NvG-2e-RVh"/>
                         <outlet property="searchBar" destination="XiM-yi-Oqa" id="NvG-2e-RVh"/>
                         <outlet property="tableview" destination="Zxn-QV-WBs" id="D9e-aP-h09"/>
                         <outlet property="tableview" destination="Zxn-QV-WBs" id="D9e-aP-h09"/>
                     </connections>
                     </connections>
@@ -2616,16 +2707,16 @@ line 3</string>
                                 </constraints>
                                 </constraints>
                             </view>
                             </view>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="XV0-bs-Lf0"/>
+                        <viewLayoutGuide key="safeArea" id="m60-Iy-Zef"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="c9q-te-KHg" firstAttribute="centerX" secondItem="uQc-Lh-Rs6" secondAttribute="centerX" id="5py-rA-UQR"/>
+                            <constraint firstItem="c9q-te-KHg" firstAttribute="centerX" secondItem="m60-Iy-Zef" secondAttribute="centerX" id="5py-rA-UQR"/>
                             <constraint firstItem="Fch-tn-bXo" firstAttribute="top" secondItem="uQc-Lh-Rs6" secondAttribute="top" id="SfD-fe-Ur7"/>
                             <constraint firstItem="Fch-tn-bXo" firstAttribute="top" secondItem="uQc-Lh-Rs6" secondAttribute="top" id="SfD-fe-Ur7"/>
                             <constraint firstItem="c9q-te-KHg" firstAttribute="centerY" secondItem="uQc-Lh-Rs6" secondAttribute="centerY" priority="750" id="dWN-tt-I2P"/>
                             <constraint firstItem="c9q-te-KHg" firstAttribute="centerY" secondItem="uQc-Lh-Rs6" secondAttribute="centerY" priority="750" id="dWN-tt-I2P"/>
-                            <constraint firstItem="Fch-tn-bXo" firstAttribute="leading" secondItem="XV0-bs-Lf0" secondAttribute="leading" id="ecu-14-4j6"/>
-                            <constraint firstItem="XV0-bs-Lf0" firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="c9q-te-KHg" secondAttribute="bottom" constant="420" id="qJH-sf-KLA"/>
+                            <constraint firstItem="Fch-tn-bXo" firstAttribute="leading" secondItem="m60-Iy-Zef" secondAttribute="leading" id="ecu-14-4j6"/>
+                            <constraint firstItem="m60-Iy-Zef" firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="c9q-te-KHg" secondAttribute="bottom" constant="420" id="qJH-sf-KLA"/>
                             <constraint firstAttribute="bottom" secondItem="Fch-tn-bXo" secondAttribute="bottom" id="rSE-qk-tFf"/>
                             <constraint firstAttribute="bottom" secondItem="Fch-tn-bXo" secondAttribute="bottom" id="rSE-qk-tFf"/>
-                            <constraint firstAttribute="trailing" secondItem="Fch-tn-bXo" secondAttribute="trailing" id="xc6-v5-vy7"/>
+                            <constraint firstItem="m60-Iy-Zef" firstAttribute="trailing" secondItem="Fch-tn-bXo" secondAttribute="trailing" id="xc6-v5-vy7"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <connections>
                     <connections>
@@ -2665,13 +2756,13 @@ line 3</string>
                                 </connections>
                                 </connections>
                             </tableView>
                             </tableView>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="FIq-lf-MSt"/>
+                        <viewLayoutGuide key="safeArea" id="JPn-WP-YuD"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="AOw-ME-gdy" firstAttribute="leading" secondItem="FIq-lf-MSt" secondAttribute="leading" id="Hv8-2s-lzO"/>
-                            <constraint firstItem="FIq-lf-MSt" firstAttribute="bottom" secondItem="AOw-ME-gdy" secondAttribute="bottom" id="f2E-4b-Ds8"/>
-                            <constraint firstItem="AOw-ME-gdy" firstAttribute="top" secondItem="FIq-lf-MSt" secondAttribute="top" id="pN1-dS-LZR"/>
-                            <constraint firstItem="FIq-lf-MSt" firstAttribute="trailing" secondItem="AOw-ME-gdy" secondAttribute="trailing" id="qsG-wx-8MN"/>
+                            <constraint firstItem="AOw-ME-gdy" firstAttribute="leading" secondItem="JPn-WP-YuD" secondAttribute="leading" id="Hv8-2s-lzO"/>
+                            <constraint firstItem="JPn-WP-YuD" firstAttribute="bottom" secondItem="AOw-ME-gdy" secondAttribute="bottom" id="f2E-4b-Ds8"/>
+                            <constraint firstItem="AOw-ME-gdy" firstAttribute="top" secondItem="JPn-WP-YuD" secondAttribute="top" id="pN1-dS-LZR"/>
+                            <constraint firstItem="JPn-WP-YuD" firstAttribute="trailing" secondItem="AOw-ME-gdy" secondAttribute="trailing" id="qsG-wx-8MN"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                 </viewController>
                 </viewController>
@@ -2706,13 +2797,13 @@ line 3</string>
                                 </connections>
                                 </connections>
                             </tableView>
                             </tableView>
                         </subviews>
                         </subviews>
-                        <viewLayoutGuide key="safeArea" id="1zl-lL-LWR"/>
+                        <viewLayoutGuide key="safeArea" id="QI8-Ar-oqS"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                         <constraints>
-                            <constraint firstItem="P62-AP-fR0" firstAttribute="leading" secondItem="1zl-lL-LWR" secondAttribute="leading" id="0Wy-zY-psD"/>
-                            <constraint firstItem="1zl-lL-LWR" firstAttribute="trailing" secondItem="P62-AP-fR0" secondAttribute="trailing" id="R51-2a-S9F"/>
-                            <constraint firstItem="1zl-lL-LWR" firstAttribute="bottom" secondItem="P62-AP-fR0" secondAttribute="bottom" id="jcD-Db-jtl"/>
-                            <constraint firstItem="P62-AP-fR0" firstAttribute="top" secondItem="1zl-lL-LWR" secondAttribute="top" id="vX1-Ms-DjO"/>
+                            <constraint firstItem="P62-AP-fR0" firstAttribute="leading" secondItem="QI8-Ar-oqS" secondAttribute="leading" id="0Wy-zY-psD"/>
+                            <constraint firstItem="QI8-Ar-oqS" firstAttribute="trailing" secondItem="P62-AP-fR0" secondAttribute="trailing" id="R51-2a-S9F"/>
+                            <constraint firstItem="QI8-Ar-oqS" firstAttribute="bottom" secondItem="P62-AP-fR0" secondAttribute="bottom" id="jcD-Db-jtl"/>
+                            <constraint firstItem="P62-AP-fR0" firstAttribute="top" secondItem="QI8-Ar-oqS" secondAttribute="top" id="vX1-Ms-DjO"/>
                         </constraints>
                         </constraints>
                     </view>
                     </view>
                     <simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>
                     <simulatedNavigationBarMetrics key="simulatedTopBarMetrics" prompted="NO"/>

+ 1 - 0
RedAnt ERP Mobile/HMLG Scan Order/ScanHistoryViewController.h

@@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 
 @interface ScanHistoryViewController : ActiveViewController
 @interface ScanHistoryViewController : ActiveViewController
 @property (weak, nonatomic) IBOutlet UITableView *tableview;
 @property (weak, nonatomic) IBOutlet UITableView *tableview;
+@property (weak, nonatomic) IBOutlet UILabel *labelStock;
 
 
 @end
 @end
 
 

+ 28 - 1
RedAnt ERP Mobile/HMLG Scan Order/ScanHistoryViewController.m

@@ -9,6 +9,7 @@
 #import "ScanHistoryViewController.h"
 #import "ScanHistoryViewController.h"
 #import "ScanListCell.h"
 #import "ScanListCell.h"
 #import "RASingleton.h"
 #import "RASingleton.h"
+#import "RADataProvider.h"
 
 
 @interface ScanHistoryViewController ()
 @interface ScanHistoryViewController ()
 
 
@@ -19,8 +20,34 @@
 - (void)viewDidLoad {
 - (void)viewDidLoad {
     [super viewDidLoad];
     [super viewDidLoad];
     // Do any additional setup after loading the view.
     // Do any additional setup after loading the view.
+    
+//    [self refreshStock];
+}
+- (IBAction)onUpdateStock:(id)sender {
+    [RADataProvider updateStock:self];
 }
 }
 
 
+
+- (void)viewWillAppear:(BOOL)animated
+{
+    [super viewWillAppear:animated];
+    self.labelStock.text = [RADataProvider queryStockUpdateTime];
+}
+
+
+-(void) refreshStock
+{
+    
+    
+//    NSDictionary *addressDic1 = [[NSUserDefaults standardUserDefaults] valueForKey:@"ScanStock"];
+//    if (addressDic1) {
+//        NSString* updatetime=addressDic1[@"updatetime"];
+//        self.labelStock.text = updatetime;
+//    }
+//
+    self.labelStock.text = [RADataProvider queryStockUpdateTime];
+    [self.tableview reloadData];
+}
 /*
 /*
 #pragma mark - Navigation
 #pragma mark - Navigation
 
 
@@ -53,7 +80,7 @@
     
     
     [cell setModelJson:arr[indexPath.row]];
     [cell setModelJson:arr[indexPath.row]];
    
    
-    
+    cell.labelStock.text = [RADataProvider queryStock:cell.labelModel.text];
     return cell;
     return cell;
 }
 }
 
 

+ 3 - 0
RedAnt ERP Mobile/HMLG Scan Order/ScanHomeViewController.m

@@ -116,8 +116,11 @@
     [ActiveViewController Notify:@"ScanOrderListViewController" Message:@"ShowUnSubmit"];
     [ActiveViewController Notify:@"ScanOrderListViewController" Message:@"ShowUnSubmit"];
     [mainvc switchToOrder];
     [mainvc switchToOrder];
 }
 }
+
+
 -(void) loadNewsList
 -(void) loadNewsList
 {
 {
+
     
     
     {
     {
         [RADataProvider request_scan_news:^(NSMutableDictionary *result) {
         [RADataProvider request_scan_news:^(NSMutableDictionary *result) {

+ 1 - 0
RedAnt ERP Mobile/HMLG Scan Order/ScanListCell.h

@@ -23,6 +23,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (weak, nonatomic) IBOutlet UILabel *labelAvailable;
 @property (weak, nonatomic) IBOutlet UILabel *labelAvailable;
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceNet;
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceNet;
 
 
+@property (weak, nonatomic) IBOutlet UILabel *labelStock;
 
 
 
 
 @property (weak, nonatomic) IBOutlet UILabel *labelPrice0;
 @property (weak, nonatomic) IBOutlet UILabel *labelPrice0;

+ 1 - 0
RedAnt ERP Mobile/HMLG Scan Order/ScanModelListCell.h

@@ -26,6 +26,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceNet;
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceNet;
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceSpecial;
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceSpecial;
 @property (weak, nonatomic) IBOutlet UIStepper *steper;
 @property (weak, nonatomic) IBOutlet UIStepper *steper;
+@property (weak, nonatomic) IBOutlet UILabel *labelStock;
 
 
 //@property int pre_val;
 //@property int pre_val;
 @property (weak, nonatomic) IBOutlet UILabel *labelPrice0;
 @property (weak, nonatomic) IBOutlet UILabel *labelPrice0;

+ 2 - 0
RedAnt ERP Mobile/HMLG Scan Order/ScanOrderModelListViewController.h

@@ -17,6 +17,8 @@ NS_ASSUME_NONNULL_BEGIN
 @property (strong, nonatomic) UITextField* lastedit;
 @property (strong, nonatomic) UITextField* lastedit;
 @property bool edit_check;
 @property bool edit_check;
 @property int pre_val;
 @property int pre_val;
+@property (weak, nonatomic) IBOutlet UILabel *labelStock;
+@property (weak, nonatomic) IBOutlet UIButton *btnUpdateStoc;
 @end
 @end
 
 
 NS_ASSUME_NONNULL_END
 NS_ASSUME_NONNULL_END

+ 26 - 0
RedAnt ERP Mobile/HMLG Scan Order/ScanOrderModelListViewController.m

@@ -23,8 +23,32 @@
 - (void)viewDidLoad {
 - (void)viewDidLoad {
     [super viewDidLoad];
     [super viewDidLoad];
     self.edit_check = true;
     self.edit_check = true;
+    
+//    [self refreshStock];
     // Do any additional setup after loading the view.
     // Do any additional setup after loading the view.
 }
 }
+- (void)viewWillAppear:(BOOL)animated
+{
+    [super viewWillAppear:animated];
+    self.labelStock.text = [RADataProvider queryStockUpdateTime];
+}
+- (IBAction)onUpdateStock:(id)sender {
+    [RADataProvider updateStock:self];
+}
+
+-(void) refreshStock
+{
+    
+    
+//    NSDictionary *addressDic1 = [[NSUserDefaults standardUserDefaults] valueForKey:@"ScanStock"];
+//    if (addressDic1) {
+//        NSString* updatetime=addressDic1[@"updatetime"];
+//        self.labelStock.text = updatetime;
+//    }
+    self.labelStock.text = [RADataProvider queryStockUpdateTime];
+    
+    [self.tableView reloadData];
+}
 - (IBAction)stepChange:(id)sender {
 - (IBAction)stepChange:(id)sender {
     
     
     UIStepper * stepper = (UIStepper *) sender;
     UIStepper * stepper = (UIStepper *) sender;
@@ -271,6 +295,8 @@
     [cell setModelJson:arr[indexPath.row]];
     [cell setModelJson:arr[indexPath.row]];
     cell.editQTY.delegate = self;
     cell.editQTY.delegate = self;
     
     
+    cell.labelStock.text = [RADataProvider queryStock:cell.labelModel.text];
+    
     return cell;
     return cell;
 }
 }
 
 

+ 1 - 0
RedAnt ERP Mobile/HMLG Scan Order/ScanSearchViewController.h

@@ -17,6 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (strong,nonatomic) NSString* keywords;
 @property (strong,nonatomic) NSString* keywords;
 @property (weak, nonatomic) IBOutlet UIView *headerView;
 @property (weak, nonatomic) IBOutlet UIView *headerView;
 @property (strong,nonatomic) NSString* load_more_hint;
 @property (strong,nonatomic) NSString* load_more_hint;
+@property (weak, nonatomic) IBOutlet UILabel *labelStock;
 
 
 
 
 @property long offset;
 @property long offset;

+ 38 - 1
RedAnt ERP Mobile/HMLG Scan Order/ScanSearchViewController.m

@@ -37,6 +37,30 @@
     }
     }
     return _dataOperationQueue;
     return _dataOperationQueue;
 }
 }
+- (IBAction)onUpdateStock:(id)sender {
+    [RADataProvider updateStock:self];
+}
+
+- (void)viewWillAppear:(BOOL)animated
+{
+    [super viewWillAppear:animated];
+    self.labelStock.text = [RADataProvider queryStockUpdateTime];
+}
+
+-(void) refreshStock
+{
+    
+    
+//    NSDictionary *addressDic1 = [[NSUserDefaults standardUserDefaults] valueForKey:@"ScanStock"];
+//    if (addressDic1) {
+//        NSString* updatetime=addressDic1[@"updatetime"];
+//        self.labelStock.text = updatetime;
+//    }
+    self.labelStock.text = [RADataProvider queryStockUpdateTime];
+    
+    [self.tableview reloadData];
+}
+
 #ifndef RA_NOTIFICATION
 #ifndef RA_NOTIFICATION
 -(void) reload_container_getdata:(bool)update_data
 -(void) reload_container_getdata:(bool)update_data
 {
 {
@@ -105,6 +129,8 @@
     
     
     
     
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(clear) name:@"Clear" object:nil];
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(clear) name:@"Clear" object:nil];
+    
+//    [self refreshStock];
 }
 }
 -(void)clear
 -(void)clear
 {
 {
@@ -226,7 +252,7 @@
     
     
     [cell setModelJson:arr[indexPath.row]];
     [cell setModelJson:arr[indexPath.row]];
    
    
-    
+        cell.labelStock.text = [RADataProvider queryStock:cell.labelModel.text];
     return cell;
     return cell;
     }
     }
 }
 }
@@ -472,8 +498,19 @@
     
     
     self.keywords=searchBar.text;
     self.keywords=searchBar.text;
     self.offset = 0;
     self.offset = 0;
+    
+    
+    
+    if(self.modellist.count>0)
+    {
+        NSIndexPath *indexPathOne = [NSIndexPath indexPathForRow:0 inSection:0];
+        [self.tableview scrollToRowAtIndexPath:indexPathOne atScrollPosition:UITableViewScrollPositionTop animated:YES];
+    }
+    
     [self.modellist removeAllObjects];
     [self.modellist removeAllObjects];
+    
     [self.tableview reloadData];
     [self.tableview reloadData];
+    
     //  [self.content_data removeAllObjects];
     //  [self.content_data removeAllObjects];
     [self reload];
     [self reload];
     
     

+ 2 - 0
RedAnt ERP Mobile/HMLG Scan Order/ServerSettingViewController.h

@@ -25,5 +25,7 @@ static NSString *kScanAddress = @"ScanAddress";
 @property (weak, nonatomic) IBOutlet UILabel *labelUpdate;
 @property (weak, nonatomic) IBOutlet UILabel *labelUpdate;
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceGroup;
 @property (weak, nonatomic) IBOutlet UILabel *labelPriceGroup;
 @property (weak, nonatomic) IBOutlet UIButton *btnSetPriceGroup;
 @property (weak, nonatomic) IBOutlet UIButton *btnSetPriceGroup;
+@property (weak, nonatomic) IBOutlet UIButton *btnSync;
+@property (weak, nonatomic) IBOutlet UILabel *labelStock;
 
 
 @end
 @end

+ 40 - 0
RedAnt ERP Mobile/HMLG Scan Order/ServerSettingViewController.m

@@ -111,6 +111,13 @@
         self.btnSetPriceGroup.hidden =true;
         self.btnSetPriceGroup.hidden =true;
     else
     else
         self.btnSetPriceGroup.hidden =false;
         self.btnSetPriceGroup.hidden =false;
+    
+    
+    
+    
+        self.labelStock.text = [RADataProvider queryStockUpdateTime];
+
+
 }
 }
 - (void)viewDidLoad {
 - (void)viewDidLoad {
     [super viewDidLoad];
     [super viewDidLoad];
@@ -210,6 +217,15 @@
         NSString* updatetime=addressDic[@"updatetime"];
         NSString* updatetime=addressDic[@"updatetime"];
         self.labelUpdate.text = updatetime;
         self.labelUpdate.text = updatetime;
     }
     }
+//    NSDictionary *addressDic1 = [self userDefaultsValue:@"ScanStock"];
+//    if (addressDic1) {
+//        NSString* updatetime=addressDic1[@"updatetime"];
+//        self.labelStock.text = updatetime;
+//    }
+//
+    
+    self.labelStock.text = [RADataProvider queryStockUpdateTime];
+    
 }
 }
 
 
 #pragma mark - Button Click
 #pragma mark - Button Click
@@ -262,8 +278,21 @@
 
 
 
 
 }
 }
+- (IBAction)onSyncStock:(id)sender {
+    if(self.internalText.length>0)
+    {
+        [RADataProvider updateStock:self];
+    }
+    else
+    {
+        [RAUtils message_alert:@"Please setup the server first." title:@"Warrning" controller:self];
+    }
+}
+
+
 - (IBAction)onUpdateClick:(id)sender {
 - (IBAction)onUpdateClick:(id)sender {
     
     
+  
     if(self.internalText.length>0)
     if(self.internalText.length>0)
     {
     {
         
         
@@ -730,6 +759,17 @@
             [self setUserDefaultsValue:addressDic forKey:kScanAddress];
             [self setUserDefaultsValue:addressDic forKey:kScanAddress];
     AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
     AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
     appDelegate.address = [addressDic objectForKey:@"serverAddress"];
     appDelegate.address = [addressDic objectForKey:@"serverAddress"];
+    
+//
+//    NSMutableDictionary *templateDic = [NSMutableDictionary dictionary];
+//    NSString* datetime= [RAUtils current_date_time];
+//    templateDic[@"updatetime"]= datetime;
+//
+//
+//    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
+//    [userDefaults setValue:templateDic forKey:@"ScanStock"];
+    
+    
 }
 }
 
 
 - (IBAction)onAutoUpload:(id)sender {
 - (IBAction)onAutoUpload:(id)sender {

+ 4 - 1
RedAnt ERP Mobile/HMLG Scan Order/config.h

@@ -10,7 +10,7 @@
 #define RedAnt_ERP_Mobile_config_h
 #define RedAnt_ERP_Mobile_config_h
 #define BUILD_HMLG_SCAN_ORDER
 #define BUILD_HMLG_SCAN_ORDER
 #define BACKORDER_PROCESS // 允许backorder process
 #define BACKORDER_PROCESS // 允许backorder process
-#define JSON_TIMEOUT 30 //接口超时
+#define JSON_TIMEOUT 60 //接口超时
 
 
 #define GLES_SILENCE_DEPRECATION //关闭glkview警告
 #define GLES_SILENCE_DEPRECATION //关闭glkview警告
 
 
@@ -213,6 +213,9 @@
 
 
 #define URL_SERVER_LIST BASE_URL@"offlineorder_isales.php"
 #define URL_SERVER_LIST BASE_URL@"offlineorder_isales.php"
 #define URL_SCAN_NEWS @"offlineorder_isales.php"
 #define URL_SCAN_NEWS @"offlineorder_isales.php"
+
+
+#define URL_SCAN_STOCK @"offlineorder_isales.php"
 #define URL_SERVER_CHECK @"offlineorder_isales.php"
 #define URL_SERVER_CHECK @"offlineorder_isales.php"
 #define URL_SIGN_UP @"offlineorder_isales.php"
 #define URL_SIGN_UP @"offlineorder_isales.php"
 #define URL_CHECK_STOCK @"offlineorder_isales.php"
 #define URL_CHECK_STOCK @"offlineorder_isales.php"

+ 1 - 1
RedAnt ERP Mobile/common/Functions/camscan/ScannerViewController.m

@@ -243,7 +243,7 @@
     {
     {
 //        self.scan_val = @"[[\"1111\",\"name0\",\"description\",\"10.1 X 20.2 X 30.3\",\"2\",\"12.34\",\"VIET\",\"VCSF\",\"May\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\"],[\"2222\",\"name1\",\"description\",\"10.1 X 20.2 X 30.3\",\"2\",\"12.34\",\"VIET\",\"VCSF\",\"May\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\"]]";
 //        self.scan_val = @"[[\"1111\",\"name0\",\"description\",\"10.1 X 20.2 X 30.3\",\"2\",\"12.34\",\"VIET\",\"VCSF\",\"May\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\"],[\"2222\",\"name1\",\"description\",\"10.1 X 20.2 X 30.3\",\"2\",\"12.34\",\"VIET\",\"VCSF\",\"May\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\",\"123.45\",\"234.56\"]]";
         
         
-        self.scan_val =@"[\"normal\",\"normal+\",\"special\",\"special+\"]";// @"[\"1002A70BK\"]";// 
+        self.scan_val =@"[\"1689-96*5\",\"normal+\",\"special\",\"special+\"]";// @"[\"1002A70BK\"]";// 
         [self addtocart];
         [self addtocart];
     }
     }
 
 

+ 2 - 0
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.h

@@ -165,7 +165,9 @@ typedef void(^resultHandler)(NSMutableDictionary *result);
 //+(void) createScanTempFolder;
 //+(void) createScanTempFolder;
 //+(NSString*) getScanOrderPath;
 //+(NSString*) getScanOrderPath;
 +(NSString*) getUserPath;
 +(NSString*) getUserPath;
++(NSString*) getServerPath;
 +(NSString*) getScanPath;
 +(NSString*) getScanPath;
+
 //+(void) moveScanTemp2Order;
 //+(void) moveScanTemp2Order;
 +(void) realguestLogin;
 +(void) realguestLogin;
 +(NSString*) getScanOrderPath;
 +(NSString*) getScanOrderPath;

+ 16 - 0
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m

@@ -2311,6 +2311,22 @@
 //    userpath = [userpath stringByAppendingPathComponent:user];
 //    userpath = [userpath stringByAppendingPathComponent:user];
 //    return userpath;
 //    return userpath;
 //}
 //}
+
++(NSString*) getServerPath
+{
+    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+    NSString *documents = [paths objectAtIndex:0];
+    
+    NSDictionary *addressDic = [[NSUserDefaults standardUserDefaults] valueForKey:@"ScanAddress"];
+    
+    NSString* servername = addressDic[@"name"];
+//    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+//    NSString* user = appDelegate.user;
+//    NSString* user = RASingleton.sharedInstance.user;
+    NSString* serverpath = [documents stringByAppendingPathComponent:servername];
+//    userpath = [userpath stringByAppendingPathComponent:user];
+    return serverpath;
+}
 +(NSString*) getUserPath
 +(NSString*) getUserPath
 {
 {
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

+ 5 - 0
RedAnt ERP Mobile/common/Functions/offline/OfflineSettingViewController.m

@@ -178,7 +178,12 @@
     
     
     
     
 }
 }
+
+
+
 - (IBAction)OnCheckUpdate:(id)sender {
 - (IBAction)OnCheckUpdate:(id)sender {
+    
+    
     UIApplication * app = [UIApplication sharedApplication];
     UIApplication * app = [UIApplication sharedApplication];
     AppDelegate *appDelegate = (AppDelegate *)[app delegate];
     AppDelegate *appDelegate = (AppDelegate *)[app delegate];
     
     

+ 4 - 2
RedAnt ERP Mobile/common/data_provider/RADataProvider.h

@@ -22,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
 +(void)request_scansearch:(long ) offset limit :(long)limit keywords :(NSString*) keywords completionHandler:(resultHandler)result;
 +(void)request_scansearch:(long ) offset limit :(long)limit keywords :(NSString*) keywords completionHandler:(resultHandler)result;
 +(void)request_scan_server:(resultHandler)result;
 +(void)request_scan_server:(resultHandler)result;
 +(void)request_scan_news:(resultHandler)result;
 +(void)request_scan_news:(resultHandler)result;
++(void) request_scan_stock:(resultHandler)result;
 +(void)request_scan_stock:(NSMutableDictionary*)param completionHandler:(resultHandler)result;
 +(void)request_scan_stock:(NSMutableDictionary*)param completionHandler:(resultHandler)result;
 +(void)request_autocomplete:(NSMutableDictionary*)param completionHandler:(resultHandler)result;
 +(void)request_autocomplete:(NSMutableDictionary*)param completionHandler:(resultHandler)result;
 //+(void)request_scan_cid:(NSMutableDictionary*)param completionHandler:(resultHandler)result;
 //+(void)request_scan_cid:(NSMutableDictionary*)param completionHandler:(resultHandler)result;
@@ -34,10 +35,11 @@ NS_ASSUME_NONNULL_BEGIN
 +(void)load_scan_models;
 +(void)load_scan_models;
 +(NSArray*)request_scan_model_by_names:(NSString*)names;
 +(NSArray*)request_scan_model_by_names:(NSString*)names;
 +(void) updateTemplate:(UIViewController*) vc;
 +(void) updateTemplate:(UIViewController*) vc;
++(void) updateStock:(UIViewController*) vc;
 //+(void)encrypt_scan_models;
 //+(void)encrypt_scan_models;
 +(bool) scanRtime;
 +(bool) scanRtime;
-
-
++(NSString*) queryStock:(NSString*)modelname;
++(NSString*) queryStockUpdateTime;
 +(void)default_price_group;
 +(void)default_price_group;
 +(NSDictionary*)get_price_group:(NSString*) groupname;
 +(NSDictionary*)get_price_group:(NSString*) groupname;
 +(NSMutableDictionary*)all_price_group;
 +(NSMutableDictionary*)all_price_group;

+ 190 - 1
RedAnt ERP Mobile/common/data_provider/RADataProvider.m

@@ -130,6 +130,182 @@ NSDate * ddate =[dateFormatter dateFromString:@"2023-1-21"];
 //#endif
 //#endif
     return sec<0;
     return sec<0;
 }
 }
+
++(NSString*) queryStockUpdateTime
+{
+    
+    NSString* serverpath = [OLDataProvider getServerPath];
+   
+//    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+//    NSString *documents = [paths objectAtIndex:0];
+    NSString* path = [serverpath stringByAppendingPathComponent:@"stock.json"];
+    
+    
+    
+    NSFileManager *fileManager = [NSFileManager defaultManager];
+   
+    NSError* error;
+    NSDictionary *fileAttributes =[fileManager attributesOfItemAtPath:path error:&error];
+     
+
+    if (fileAttributes != nil) {
+           
+           NSDate *creationDate;
+           
+       //NSString *NSFileCreationDate
+
+    //文件创建日期
+        creationDate = [fileAttributes objectForKey:NSFileCreationDate];
+
+        
+        
+        NSDateFormatter * df = [[NSDateFormatter alloc] init ];
+        [df setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
+        NSString * na = [df stringFromDate:creationDate];
+        return na;
+
+     }
+    else {
+        return @"Last Update Unknown";
+       }
+    
+    
+}
++(NSString*) queryStock:(NSString*)modelname
+{
+    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+    NSString* user =appDelegate.user;
+    if(user.length==0||[user.lowercaseString isEqualToString:@"guest"])
+        return @"Stock:0";
+    
+    NSString* serverpath = [OLDataProvider getServerPath];
+   
+//    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+//    NSString *documents = [paths objectAtIndex:0];
+    NSString* path = [serverpath stringByAppendingPathComponent:@"stock.json"];
+    
+    NSDictionary* map=[RAUtils dictfromfile:path];
+    
+    int stock = [map[modelname] intValue];
+    if(stock<0)
+        stock=0;
+    
+    return [NSString stringWithFormat:@"Stock: %d",stock];
+    
+    
+    
+}
++(void) updateStock:(UIViewController*) vc
+{
+    
+    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
+    
+    
+    NSString* user =appDelegate.user;
+    
+
+    if(user.length==0||[user.lowercaseString isEqualToString:@"guest"])
+    {
+        [RAUtils message_alert:@"Can not update inventory, you must login first." title:@"Warrning" controller:vc];
+        return;
+    }
+    
+    bool haserp = [self getSiteHasERP];
+    if(!haserp)
+    {
+        [RAUtils message_alert:@"Can not update inventory, current site dosen't have ERP." title:@"Warrning" controller:vc];
+        return;
+    }
+    
+//    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
+//    NSString *documents = [paths objectAtIndex:0];
+    NSString* serverpath = [OLDataProvider getServerPath];
+    [RAUtils deletefiles:[serverpath stringByAppendingPathComponent:@"stock.json"]];
+    
+    
+    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Inventory update" message:@"Inventory update will take 60s or longer" preferredStyle:UIAlertControllerStyleAlert];
+
+    UIAlertAction *action_1 = [UIAlertAction actionWithTitle:@"Yes, proceed" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
+    
+        
+        
+        
+        __block UIAlertController * waitalert = [RAUtils waiting_alert:vc title:@"Update stock" completion:^{
+            
+            
+            
+            [RADataProvider request_scan_stock:^(NSMutableDictionary *result) {
+                
+                NSMutableDictionary* return_json = result;
+                
+                [waitalert dismissViewControllerAnimated:false completion:^{
+                    
+                    if([[return_json valueForKey:@"result"] intValue]==2)
+                    {
+//                        NSString* file_name=[appDelegate.downloadurl lastPathComponent];
+                        NSString* path = [serverpath stringByAppendingPathComponent:@"stock.json"];
+                        
+                        [RAUtils dicttofile:path dict:result];
+                        
+                        
+//                        NSMutableDictionary *templateDic = [NSMutableDictionary dictionary];
+//                        NSString* datetime= [RAUtils current_date_time];
+//                        templateDic[@"updatetime"]= datetime;
+//                        
+//                        
+//                        NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
+//                        [userDefaults setValue:templateDic forKey:@"ScanStock"];
+//                        [userDefaults synchronize];
+                        
+                        
+                        if([vc respondsToSelector:@selector(refreshStock)])
+                        {
+                            [vc performSelector:@selector(refreshStock) withObject:nil afterDelay:0];
+                        }
+          
+                    }
+                    else
+                        [RAUtils message_alert:@"Can not update inventory, you can try again later." title:@"Warrning" controller:vc];
+                    
+                    
+                    [ActiveViewController Notify:@"ScanSearchViewController" Message:@"Clear"];
+                    [ActiveViewController Notify:@"ServerSettingViewController" Message:RA_NOTIFICATION_REFRESH_UI];
+                    
+                    
+                }];
+
+                
+                   
+            }];
+            
+            
+
+            
+            
+        }];
+        
+    }];
+     UIAlertAction *action_2 = [UIAlertAction actionWithTitle:@"No" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
+         //create new;
+
+    
+
+     }];
+    
+     [alertController addAction:action_1];
+     [alertController addAction:action_2];
+
+
+
+     [vc presentViewController:alertController animated:YES completion:nil];
+    
+    
+   
+    
+    
+    ;
+
+}
 +(void) updateTemplate:(UIViewController*) vc
 +(void) updateTemplate:(UIViewController*) vc
 {
 {
     
     
@@ -473,7 +649,20 @@ NSDate * ddate =[dateFormatter dateFromString:@"2023-1-21"];
 //    }
 //    }
 //    NSLog(@"valueArray:%@",valueArray);
 //    NSLog(@"valueArray:%@",valueArray);
 }
 }
-
++(void) request_scan_stock:(resultHandler)result
+{
+    
+    NSMutableDictionary* param = [NSMutableDictionary new];
+    param[@"_method"]=@"offlineModelCheckStock";
+    AppDelegate *appDelegate = nil;
+    
+    appDelegate=(AppDelegate*)[[UIApplication sharedApplication] delegate];
+    if(appDelegate.address==nil)
+        return;
+    NSString* url = [appDelegate.address stringByAppendingPathComponent:URL_SCAN_NEWS];
+    param[@"site_name"]=[RADataProvider getSiteName];
+    [self request_interface:url parameters:param err_record_url:nil completionHandler:result retry:0];
+}
 +(void) request_scan_news:(resultHandler)result
 +(void) request_scan_news:(resultHandler)result
 {
 {
     
     

+ 1 - 1
RedAnt ERP Mobile/iSales-CONTRAST.xcodeproj/xcuserdata/ruizhang.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -7,7 +7,7 @@
 		<key>iSales-CONTRAST.xcscheme_^#shared#^_</key>
 		<key>iSales-CONTRAST.xcscheme_^#shared#^_</key>
 		<dict>
 		<dict>
 			<key>orderHint</key>
 			<key>orderHint</key>
-			<integer>4</integer>
+			<integer>2</integer>
 		</dict>
 		</dict>
 		<key>iSales-USAI.xcscheme_^#shared#^_</key>
 		<key>iSales-USAI.xcscheme_^#shared#^_</key>
 		<dict>
 		<dict>

+ 42 - 44
RedAnt ERP Mobile/iSales-NPD/Base.lproj/OLM.storyboard

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21225" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
     <device id="ipad9_7" orientation="portrait" layout="fullscreen" appearance="light"/>
     <device id="ipad9_7" orientation="portrait" layout="fullscreen" appearance="light"/>
     <dependencies>
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21207"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     </dependencies>
@@ -76,7 +76,7 @@
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
                             <button hidden="YES" opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kdt-hI-Mna">
                             <button hidden="YES" opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kdt-hI-Mna">
-                                <rect key="frame" x="663" y="244" width="85" height="30"/>
+                                <rect key="frame" x="661" y="244" width="86" height="30"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <state key="normal" title="Submit local"/>
                                 <state key="normal" title="Submit local"/>
                             </button>
                             </button>
@@ -95,12 +95,12 @@
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
                             <button hidden="YES" opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vzg-50-bc2">
                             <button hidden="YES" opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vzg-50-bc2">
-                                <rect key="frame" x="666" y="196" width="82" height="30"/>
+                                <rect key="frame" x="664" y="196" width="83" height="30"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <state key="normal" title="Clear cache"/>
                                 <state key="normal" title="Clear cache"/>
                             </button>
                             </button>
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jns-5C-X4w">
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jns-5C-X4w">
-                                <rect key="frame" x="616" y="147" width="132" height="30"/>
+                                <rect key="frame" x="614" y="147" width="133" height="30"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <state key="normal" title="Sync"/>
                                 <state key="normal" title="Sync"/>
                                 <connections>
                                 <connections>
@@ -112,7 +112,7 @@
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                             </switch>
                             </switch>
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cIN-uF-BHa">
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cIN-uF-BHa">
-                                <rect key="frame" x="666" y="294" width="82" height="30"/>
+                                <rect key="frame" x="664" y="294" width="83" height="30"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <state key="normal" title="Unlock"/>
                                 <state key="normal" title="Unlock"/>
                                 <connections>
                                 <connections>
@@ -168,7 +168,7 @@
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                         <subviews>
                             <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" textAlignment="justified" translatesAutoresizingMaskIntoConstraints="NO" id="VRj-M1-sDm">
                             <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" textAlignment="justified" translatesAutoresizingMaskIntoConstraints="NO" id="VRj-M1-sDm">
-                                <rect key="frame" x="5" y="0.0" width="758" height="984"/>
+                                <rect key="frame" x="3" y="-2" width="759" height="985"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
                                 <string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
@@ -176,7 +176,7 @@
                                 <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
                                 <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
                             </textView>
                             </textView>
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yLy-4Y-3J0">
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yLy-4Y-3J0">
-                                <rect key="frame" x="0.0" y="989" width="768" height="30"/>
+                                <rect key="frame" x="-2" y="987" width="769" height="30"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
                                 <state key="normal" title="Close">
                                 <state key="normal" title="Close">
                                     <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
                                     <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
@@ -216,11 +216,11 @@
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
                             <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qll-0O-PAI">
                             <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qll-0O-PAI">
-                                <rect key="frame" x="20" y="93" width="728" height="2"/>
+                                <rect key="frame" x="18" y="93" width="729" height="2"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                             </progressView>
                             </progressView>
                             <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jJD-lt-Uuj">
                             <progressView opaque="NO" contentMode="scaleToFill" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jJD-lt-Uuj">
-                                <rect key="frame" x="20" y="132" width="728" height="2"/>
+                                <rect key="frame" x="18" y="132" width="729" height="2"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                             </progressView>
                             </progressView>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Overall progress" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6P9-Se-W27">
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Overall progress" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6P9-Se-W27">
@@ -231,14 +231,14 @@
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sEa-AW-QiJ">
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sEa-AW-QiJ">
-                                <rect key="frame" x="219" y="20" width="330" height="24"/>
+                                <rect key="frame" x="219" y="20" width="329" height="24"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="20"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="20"/>
                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0lX-Gd-bGG">
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0lX-Gd-bGG">
-                                <rect key="frame" x="639" y="974" width="109" height="30"/>
+                                <rect key="frame" x="639" y="972" width="108" height="30"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
                                 <state key="normal" title="Send log"/>
                                 <state key="normal" title="Send log"/>
                                 <connections>
                                 <connections>
@@ -246,7 +246,7 @@
                                 </connections>
                                 </connections>
                             </button>
                             </button>
                             <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="e3H-tp-xCS">
                             <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="e3H-tp-xCS">
-                                <rect key="frame" x="20" y="151" width="728" height="815"/>
+                                <rect key="frame" x="18" y="149" width="729" height="816"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="14"/>
@@ -278,7 +278,7 @@
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                         <subviews>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="68" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="lRS-dn-XTu">
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="68" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="lRS-dn-XTu">
-                                <rect key="frame" x="0.0" y="0.0" width="768" height="934"/>
+                                <rect key="frame" x="-2" y="-1" width="768" height="933"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <prototypes>
                                 <prototypes>
@@ -300,7 +300,7 @@
                                                     <rect key="frame" x="10" y="32" width="21" height="21"/>
                                                     <rect key="frame" x="10" y="32" width="21" height="21"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                                     <state key="normal" image="button:hrK-DY-RbO:image"/>
                                                     <state key="normal" image="button:hrK-DY-RbO:image"/>
-                                                    <state key="selected" image="BF2E3A5D-6D1A-445C-A728-2FB46082F510"/>
+                                                    <state key="selected" image="4D9BDF16-516E-45D5-BD53-324B3B5C6B8E"/>
                                                     <connections>
                                                     <connections>
                                                         <action selector="checkButtonClick:" destination="XXr-fU-67o" eventType="touchUpInside" id="KeU-ld-H4J"/>
                                                         <action selector="checkButtonClick:" destination="XXr-fU-67o" eventType="touchUpInside" id="KeU-ld-H4J"/>
                                                     </connections>
                                                     </connections>
@@ -335,7 +335,7 @@
                                 </connections>
                                 </connections>
                             </tableView>
                             </tableView>
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NKA-5N-u0m">
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NKA-5N-u0m">
-                                <rect key="frame" x="612" y="974" width="156" height="30"/>
+                                <rect key="frame" x="612" y="974" width="154" height="29"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
                                 <state key="normal" image="btn_ok"/>
                                 <state key="normal" image="btn_ok"/>
                                 <connections>
                                 <connections>
@@ -367,7 +367,7 @@
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                         <subviews>
                         <subviews>
                             <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="User" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="OGq-ht-S8t">
                             <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="User" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="OGq-ht-S8t">
-                                <rect key="frame" x="60" y="103" width="360" height="30"/>
+                                <rect key="frame" x="58" y="103" width="361" height="30"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
@@ -377,7 +377,7 @@
                                 </connections>
                                 </connections>
                             </textField>
                             </textField>
                             <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Password" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="l8b-7U-g6s">
                             <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Password" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="l8b-7U-g6s">
-                                <rect key="frame" x="60" y="142" width="360" height="30"/>
+                                <rect key="frame" x="58" y="142" width="361" height="30"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
@@ -411,7 +411,7 @@
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
                             <button hidden="YES" opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="snZ-xL-t2m">
                             <button hidden="YES" opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="right" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="snZ-xL-t2m">
-                                <rect key="frame" x="248" y="65" width="172" height="30"/>
+                                <rect key="frame" x="247" y="65" width="172" height="30"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <state key="normal" title="Retrieve password">
                                 <state key="normal" title="Retrieve password">
                                     <color key="titleColor" red="0.59999999999999998" green="0.40000000000000002" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <color key="titleColor" red="0.59999999999999998" green="0.40000000000000002" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -419,7 +419,7 @@
                                 </state>
                                 </state>
                             </button>
                             </button>
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="06f-pS-V71">
                             <button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="06f-pS-V71">
-                                <rect key="frame" x="358" y="267" width="102" height="36"/>
+                                <rect key="frame" x="358" y="267" width="100" height="36"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="20"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="20"/>
                                 <state key="normal" title="Unlock">
                                 <state key="normal" title="Unlock">
@@ -890,37 +890,26 @@
                                 <nil key="textColor"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
-                            <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Upload Setting" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zhm-2h-vLW">
-                                <rect key="frame" x="30" y="461" width="128.5" height="21"/>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Live Inventory" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zhm-2h-vLW">
+                                <rect key="frame" x="30" y="396" width="121" height="22"/>
                                 <fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
                                 <fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
                                 <nil key="textColor"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
-                            <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Max Retry Count" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ao6-r1-uXr">
-                                <rect key="frame" x="30" y="502" width="127.5" height="20.5"/>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Unknown" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ao6-r1-uXr">
+                                <rect key="frame" x="30" y="438" width="71.5" height="21"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <nil key="textColor"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
-                            <textField hidden="YES" opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Rj3-QR-Agk">
-                                <rect key="frame" x="688" y="495.5" width="50" height="34"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="50" id="vR6-EP-Mmm"/>
-                                </constraints>
-                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                                <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
-                                <connections>
-                                    <action selector="onRetryChange:" destination="4E6-80-nis" eventType="editingChanged" id="tsc-b4-Uot"/>
-                                </connections>
-                            </textField>
                             <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Retry Wait TimeInterval" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bt3-RG-tEN">
                             <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Retry Wait TimeInterval" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bt3-RG-tEN">
-                                <rect key="frame" x="30" y="542.5" width="177" height="20.5"/>
+                                <rect key="frame" x="30" y="479" width="177" height="20.5"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <nil key="textColor"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             </label>
                             <textField hidden="YES" opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="yzC-7l-hc0">
                             <textField hidden="YES" opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="center" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="yzC-7l-hc0">
-                                <rect key="frame" x="688" y="536" width="50" height="34"/>
+                                <rect key="frame" x="688" y="472.5" width="50" height="34"/>
                                 <constraints>
                                 <constraints>
                                     <constraint firstAttribute="width" constant="50" id="XIG-Hs-C1i"/>
                                     <constraint firstAttribute="width" constant="50" id="XIG-Hs-C1i"/>
                                 </constraints>
                                 </constraints>
@@ -947,13 +936,13 @@
                                 </connections>
                                 </connections>
                             </button>
                             </button>
                             <switch hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tKv-XG-Ugr">
                             <switch hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tKv-XG-Ugr">
-                                <rect key="frame" x="689" y="578" width="51" height="31"/>
+                                <rect key="frame" x="689" y="514.5" width="51" height="31"/>
                                 <connections>
                                 <connections>
                                     <action selector="onAutoUpload:" destination="4E6-80-nis" eventType="valueChanged" id="9a0-gt-v8G"/>
                                     <action selector="onAutoUpload:" destination="4E6-80-nis" eventType="valueChanged" id="9a0-gt-v8G"/>
                                 </connections>
                                 </connections>
                             </switch>
                             </switch>
                             <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Auto Start Upload" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vel-ZT-H2H">
                             <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Auto Start Upload" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Vel-ZT-H2H">
-                                <rect key="frame" x="30" y="583" width="136" height="20.5"/>
+                                <rect key="frame" x="30" y="519.5" width="136" height="20.5"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                 <nil key="textColor"/>
                                 <nil key="textColor"/>
                                 <nil key="highlightedColor"/>
                                 <nil key="highlightedColor"/>
@@ -982,6 +971,14 @@
                                     <action selector="onSetPriceGroup:" destination="4E6-80-nis" eventType="touchUpInside" id="nMX-8I-sl9"/>
                                     <action selector="onSetPriceGroup:" destination="4E6-80-nis" eventType="touchUpInside" id="nMX-8I-sl9"/>
                                 </connections>
                                 </connections>
                             </button>
                             </button>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Thl-1o-t2R">
+                                <rect key="frame" x="676" y="431" width="62" height="35"/>
+                                <state key="normal" title="Button"/>
+                                <buttonConfiguration key="configuration" style="plain" title="Sync"/>
+                                <connections>
+                                    <action selector="onSyncStock:" destination="4E6-80-nis" eventType="touchUpInside" id="j6o-75-JJJ"/>
+                                </connections>
+                            </button>
                         </subviews>
                         </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                         <constraints>
                         <constraints>
@@ -1005,9 +1002,9 @@
                             <constraint firstItem="3vw-sE-OsA" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="R0K-zW-L9z" secondAttribute="trailing" constant="8" symbolic="YES" id="M1R-Ft-RMd"/>
                             <constraint firstItem="3vw-sE-OsA" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="R0K-zW-L9z" secondAttribute="trailing" constant="8" symbolic="YES" id="M1R-Ft-RMd"/>
                             <constraint firstItem="ao6-r1-uXr" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="Mdq-Ji-FxD"/>
                             <constraint firstItem="ao6-r1-uXr" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="Mdq-Ji-FxD"/>
                             <constraint firstItem="TJI-TK-yrX" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Obj-1G-kcW" secondAttribute="trailing" constant="8" symbolic="YES" id="P60-Yg-CB1"/>
                             <constraint firstItem="TJI-TK-yrX" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Obj-1G-kcW" secondAttribute="trailing" constant="8" symbolic="YES" id="P60-Yg-CB1"/>
-                            <constraint firstItem="zhm-2h-vLW" firstAttribute="top" secondItem="Obj-1G-kcW" secondAttribute="bottom" constant="200" id="QCw-tU-FSW"/>
                             <constraint firstItem="Xvn-bA-km7" firstAttribute="top" secondItem="Obj-1G-kcW" secondAttribute="bottom" constant="36" id="QTy-BO-nXN"/>
                             <constraint firstItem="Xvn-bA-km7" firstAttribute="top" secondItem="Obj-1G-kcW" secondAttribute="bottom" constant="36" id="QTy-BO-nXN"/>
                             <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="I4e-nd-eUd" secondAttribute="trailing" constant="20" symbolic="YES" id="Quu-V1-6oq"/>
                             <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="I4e-nd-eUd" secondAttribute="trailing" constant="20" symbolic="YES" id="Quu-V1-6oq"/>
+                            <constraint firstItem="Thl-1o-t2R" firstAttribute="centerY" secondItem="ao6-r1-uXr" secondAttribute="centerY" id="SW9-ph-XOP"/>
                             <constraint firstItem="I4e-nd-eUd" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="TFg-oq-D04"/>
                             <constraint firstItem="I4e-nd-eUd" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="TFg-oq-D04"/>
                             <constraint firstItem="Obj-1G-kcW" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="U5C-06-qZ9"/>
                             <constraint firstItem="Obj-1G-kcW" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="U5C-06-qZ9"/>
                             <constraint firstItem="BqX-sY-rTI" firstAttribute="top" secondItem="SRC-EL-dQp" secondAttribute="bottom" constant="36" id="UZd-w1-DlX"/>
                             <constraint firstItem="BqX-sY-rTI" firstAttribute="top" secondItem="SRC-EL-dQp" secondAttribute="bottom" constant="36" id="UZd-w1-DlX"/>
@@ -1016,10 +1013,10 @@
                             <constraint firstItem="bSV-E3-6Kl" firstAttribute="top" secondItem="Xvn-bA-km7" secondAttribute="bottom" constant="20" id="Xnd-6C-RgU"/>
                             <constraint firstItem="bSV-E3-6Kl" firstAttribute="top" secondItem="Xvn-bA-km7" secondAttribute="bottom" constant="20" id="Xnd-6C-RgU"/>
                             <constraint firstItem="ao6-r1-uXr" firstAttribute="top" secondItem="zhm-2h-vLW" secondAttribute="bottom" constant="20" id="YLl-pj-Cd7"/>
                             <constraint firstItem="ao6-r1-uXr" firstAttribute="top" secondItem="zhm-2h-vLW" secondAttribute="bottom" constant="20" id="YLl-pj-Cd7"/>
                             <constraint firstItem="i1w-0J-KZf" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="ZUW-IV-Lwd"/>
                             <constraint firstItem="i1w-0J-KZf" firstAttribute="leading" secondItem="R0K-zW-L9z" secondAttribute="leading" id="ZUW-IV-Lwd"/>
-                            <constraint firstItem="Rj3-QR-Agk" firstAttribute="centerY" secondItem="ao6-r1-uXr" secondAttribute="centerY" id="ZyE-8y-M9t"/>
                             <constraint firstItem="Hrq-La-ta7" firstAttribute="centerX" secondItem="7d3-Km-gpZ" secondAttribute="centerX" id="b52-iN-T1G"/>
                             <constraint firstItem="Hrq-La-ta7" firstAttribute="centerX" secondItem="7d3-Km-gpZ" secondAttribute="centerX" id="b52-iN-T1G"/>
                             <constraint firstItem="5EI-0x-Aa2" firstAttribute="top" secondItem="pjl-GE-L5s" secondAttribute="bottom" constant="321" id="buo-Y2-8Dj"/>
                             <constraint firstItem="5EI-0x-Aa2" firstAttribute="top" secondItem="pjl-GE-L5s" secondAttribute="bottom" constant="321" id="buo-Y2-8Dj"/>
                             <constraint firstItem="tKv-XG-Ugr" firstAttribute="centerY" secondItem="Vel-ZT-H2H" secondAttribute="centerY" id="d4b-Fa-8gv"/>
                             <constraint firstItem="tKv-XG-Ugr" firstAttribute="centerY" secondItem="Vel-ZT-H2H" secondAttribute="centerY" id="d4b-Fa-8gv"/>
+                            <constraint firstItem="Thl-1o-t2R" firstAttribute="trailing" secondItem="veN-AT-j6e" secondAttribute="trailing" id="dFo-jW-Qya"/>
                             <constraint firstItem="nFJ-HW-wWn" firstAttribute="trailing" secondItem="3vw-sE-OsA" secondAttribute="trailing" id="ddH-L0-dQH"/>
                             <constraint firstItem="nFJ-HW-wWn" firstAttribute="trailing" secondItem="3vw-sE-OsA" secondAttribute="trailing" id="ddH-L0-dQH"/>
                             <constraint firstItem="SRC-EL-dQp" firstAttribute="centerX" secondItem="7d3-Km-gpZ" secondAttribute="centerX" id="fOb-y7-QHB"/>
                             <constraint firstItem="SRC-EL-dQp" firstAttribute="centerX" secondItem="7d3-Km-gpZ" secondAttribute="centerX" id="fOb-y7-QHB"/>
                             <constraint firstItem="yuq-p9-cMU" firstAttribute="top" secondItem="i1w-0J-KZf" secondAttribute="bottom" constant="36" id="fQF-nn-k42"/>
                             <constraint firstItem="yuq-p9-cMU" firstAttribute="top" secondItem="i1w-0J-KZf" secondAttribute="bottom" constant="36" id="fQF-nn-k42"/>
@@ -1028,7 +1025,6 @@
                             <constraint firstItem="3vw-sE-OsA" firstAttribute="centerY" secondItem="R0K-zW-L9z" secondAttribute="centerY" id="jDM-CV-sia"/>
                             <constraint firstItem="3vw-sE-OsA" firstAttribute="centerY" secondItem="R0K-zW-L9z" secondAttribute="centerY" id="jDM-CV-sia"/>
                             <constraint firstItem="yzC-7l-hc0" firstAttribute="trailing" secondItem="tKv-XG-Ugr" secondAttribute="trailing" id="jlR-Rk-9k1"/>
                             <constraint firstItem="yzC-7l-hc0" firstAttribute="trailing" secondItem="tKv-XG-Ugr" secondAttribute="trailing" id="jlR-Rk-9k1"/>
                             <constraint firstItem="yzC-7l-hc0" firstAttribute="centerY" secondItem="bt3-RG-tEN" secondAttribute="centerY" id="kBD-OQ-oop"/>
                             <constraint firstItem="yzC-7l-hc0" firstAttribute="centerY" secondItem="bt3-RG-tEN" secondAttribute="centerY" id="kBD-OQ-oop"/>
-                            <constraint firstItem="Rj3-QR-Agk" firstAttribute="trailing" secondItem="tKv-XG-Ugr" secondAttribute="trailing" id="kbY-QM-OPq"/>
                             <constraint firstItem="bt3-RG-tEN" firstAttribute="top" secondItem="ao6-r1-uXr" secondAttribute="bottom" constant="20" id="mPR-xw-2aK"/>
                             <constraint firstItem="bt3-RG-tEN" firstAttribute="top" secondItem="ao6-r1-uXr" secondAttribute="bottom" constant="20" id="mPR-xw-2aK"/>
                             <constraint firstItem="Obj-1G-kcW" firstAttribute="top" secondItem="yuq-p9-cMU" secondAttribute="bottom" constant="20" id="mz2-QM-vNd"/>
                             <constraint firstItem="Obj-1G-kcW" firstAttribute="top" secondItem="yuq-p9-cMU" secondAttribute="bottom" constant="20" id="mz2-QM-vNd"/>
                             <constraint firstItem="3vw-sE-OsA" firstAttribute="trailing" secondItem="i1w-0J-KZf" secondAttribute="trailing" id="neN-ot-wfg"/>
                             <constraint firstItem="3vw-sE-OsA" firstAttribute="trailing" secondItem="i1w-0J-KZf" secondAttribute="trailing" id="neN-ot-wfg"/>
@@ -1038,6 +1034,7 @@
                             <constraint firstItem="i1w-0J-KZf" firstAttribute="top" secondItem="I4e-nd-eUd" secondAttribute="bottom" constant="10" id="qfP-6Q-JBd"/>
                             <constraint firstItem="i1w-0J-KZf" firstAttribute="top" secondItem="I4e-nd-eUd" secondAttribute="bottom" constant="10" id="qfP-6Q-JBd"/>
                             <constraint firstAttribute="trailingMargin" secondItem="3vw-sE-OsA" secondAttribute="trailing" constant="10" id="rDV-kc-ko1"/>
                             <constraint firstAttribute="trailingMargin" secondItem="3vw-sE-OsA" secondAttribute="trailing" constant="10" id="rDV-kc-ko1"/>
                             <constraint firstItem="SRC-EL-dQp" firstAttribute="top" secondItem="Hrq-La-ta7" secondAttribute="bottom" constant="10" id="raN-Nz-TAV"/>
                             <constraint firstItem="SRC-EL-dQp" firstAttribute="top" secondItem="Hrq-La-ta7" secondAttribute="bottom" constant="10" id="raN-Nz-TAV"/>
+                            <constraint firstItem="zhm-2h-vLW" firstAttribute="top" secondItem="bSV-E3-6Kl" secondAttribute="bottom" constant="36" id="unc-R7-Kw8"/>
                             <constraint firstItem="Vel-ZT-H2H" firstAttribute="top" secondItem="bt3-RG-tEN" secondAttribute="bottom" constant="20" id="vwp-Tm-MLJ"/>
                             <constraint firstItem="Vel-ZT-H2H" firstAttribute="top" secondItem="bt3-RG-tEN" secondAttribute="bottom" constant="20" id="vwp-Tm-MLJ"/>
                             <constraint firstItem="5EI-0x-Aa2" firstAttribute="top" secondItem="OM7-ch-z2g" secondAttribute="bottom" constant="36" id="wob-ev-E1S"/>
                             <constraint firstItem="5EI-0x-Aa2" firstAttribute="top" secondItem="OM7-ch-z2g" secondAttribute="bottom" constant="36" id="wob-ev-E1S"/>
                             <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="TQb-CN-2tn" secondAttribute="trailing" constant="20" symbolic="YES" id="x3D-8R-lg2"/>
                             <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="TQb-CN-2tn" secondAttribute="trailing" constant="20" symbolic="YES" id="x3D-8R-lg2"/>
@@ -1049,10 +1046,11 @@
                         <outlet property="autoSwitch" destination="tKv-XG-Ugr" id="2ty-AC-KoQ"/>
                         <outlet property="autoSwitch" destination="tKv-XG-Ugr" id="2ty-AC-KoQ"/>
                         <outlet property="btnSetPriceGroup" destination="veN-AT-j6e" id="s5f-zt-AVT"/>
                         <outlet property="btnSetPriceGroup" destination="veN-AT-j6e" id="s5f-zt-AVT"/>
                         <outlet property="btnSetServer" destination="3vw-sE-OsA" id="yRg-7s-xXh"/>
                         <outlet property="btnSetServer" destination="3vw-sE-OsA" id="yRg-7s-xXh"/>
+                        <outlet property="btnSync" destination="Thl-1o-t2R" id="V5C-cE-d8y"/>
                         <outlet property="labelPriceGroup" destination="bSV-E3-6Kl" id="dgq-9V-UhN"/>
                         <outlet property="labelPriceGroup" destination="bSV-E3-6Kl" id="dgq-9V-UhN"/>
+                        <outlet property="labelStock" destination="ao6-r1-uXr" id="jsJ-F5-Qqw"/>
                         <outlet property="labelUpdate" destination="Obj-1G-kcW" id="hgR-GJ-jxc"/>
                         <outlet property="labelUpdate" destination="Obj-1G-kcW" id="hgR-GJ-jxc"/>
                         <outlet property="nameTextField" destination="i1w-0J-KZf" id="Wp0-8i-mDx"/>
                         <outlet property="nameTextField" destination="i1w-0J-KZf" id="Wp0-8i-mDx"/>
-                        <outlet property="retryCountBox" destination="Rj3-QR-Agk" id="DLa-KS-G1a"/>
                         <outlet property="retryTimeIntervalBox" destination="yzC-7l-hc0" id="dQ0-hZ-fEm"/>
                         <outlet property="retryTimeIntervalBox" destination="yzC-7l-hc0" id="dQ0-hZ-fEm"/>
                     </connections>
                     </connections>
                 </viewController>
                 </viewController>
@@ -1118,7 +1116,7 @@
         </scene>
         </scene>
     </scenes>
     </scenes>
     <resources>
     <resources>
-        <image name="BF2E3A5D-6D1A-445C-A728-2FB46082F510" width="24" height="24">
+        <image name="4D9BDF16-516E-45D5-BD53-324B3B5C6B8E" width="24" height="24">
             <mutableData key="keyedArchiveRepresentation">
             <mutableData key="keyedArchiveRepresentation">
 YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05T
 YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGGoF8QD05T
 S2V5ZWRBcmNoaXZlctEICVRyb290gAGuCwwZGh8UJCkqMTQ3PUBVJG51bGzWDQ4PEBESExQVFhcYVk5T
 S2V5ZWRBcmNoaXZlctEICVRyb290gAGuCwwZGh8UJCkqMTQ3PUBVJG51bGzWDQ4PEBESExQVFhcYVk5T

+ 1 - 0
common/NetworkUtils.m

@@ -765,6 +765,7 @@ repeat:
         NSURLSessionDataTask *dataTask =[urlSession dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
         NSURLSessionDataTask *dataTask =[urlSession dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
             
             
                         NSData *responseData =data;
                         NSData *responseData =data;
+            NSLog(@"request_interface response");
             DebugLog(@"request_interface result length:%ld", data.length);
             DebugLog(@"request_interface result length:%ld", data.length);
                         NSHTTPURLResponse* urlResponse =(NSHTTPURLResponse*)response;
                         NSHTTPURLResponse* urlResponse =(NSHTTPURLResponse*)response;
                         if (responseData==nil) {
                         if (responseData==nil) {