Commit 5fa396de authored by Sandy's avatar Sandy

修改金额计算精度问题

parent b832e80a
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
04B4A3871B9CAAD700D88D68 /* ShopDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 04B4A3861B9CAAD700D88D68 /* ShopDetail.m */; }; 04B4A3871B9CAAD700D88D68 /* ShopDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 04B4A3861B9CAAD700D88D68 /* ShopDetail.m */; };
04E721E31BA755FD008F9158 /* ProductUnit.m in Sources */ = {isa = PBXBuildFile; fileRef = 04E721E21BA755FD008F9158 /* ProductUnit.m */; }; 04E721E31BA755FD008F9158 /* ProductUnit.m in Sources */ = {isa = PBXBuildFile; fileRef = 04E721E21BA755FD008F9158 /* ProductUnit.m */; };
04F6E70A1B9B08A500550849 /* PurchaseNoticeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F6E7091B9B08A500550849 /* PurchaseNoticeViewController.m */; }; 04F6E70A1B9B08A500550849 /* PurchaseNoticeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F6E7091B9B08A500550849 /* PurchaseNoticeViewController.m */; };
19605F981D377CA500C20590 /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 19605F971D377CA500C20590 /* CalculateHelper.m */; };
19D20B8B1D1BC11000BF7FE2 /* NSDictionary+Category.m in Sources */ = {isa = PBXBuildFile; fileRef = 19D20B8A1D1BC11000BF7FE2 /* NSDictionary+Category.m */; }; 19D20B8B1D1BC11000BF7FE2 /* NSDictionary+Category.m in Sources */ = {isa = PBXBuildFile; fileRef = 19D20B8A1D1BC11000BF7FE2 /* NSDictionary+Category.m */; };
300DD94A1B184B450080EE12 /* ICRPatrolPlan.m in Sources */ = {isa = PBXBuildFile; fileRef = 300DD9491B184B450080EE12 /* ICRPatrolPlan.m */; }; 300DD94A1B184B450080EE12 /* ICRPatrolPlan.m in Sources */ = {isa = PBXBuildFile; fileRef = 300DD9491B184B450080EE12 /* ICRPatrolPlan.m */; };
300DD94B1B184B450080EE12 /* ICRPatrolPlan.m in Sources */ = {isa = PBXBuildFile; fileRef = 300DD9491B184B450080EE12 /* ICRPatrolPlan.m */; }; 300DD94B1B184B450080EE12 /* ICRPatrolPlan.m in Sources */ = {isa = PBXBuildFile; fileRef = 300DD9491B184B450080EE12 /* ICRPatrolPlan.m */; };
...@@ -428,7 +427,6 @@ ...@@ -428,7 +427,6 @@
8F0F9ADD1F2A3AE7004FB434 /* ICRQuestionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C123A9211B26ED85003C0C36 /* ICRQuestionManager.m */; }; 8F0F9ADD1F2A3AE7004FB434 /* ICRQuestionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C123A9211B26ED85003C0C36 /* ICRQuestionManager.m */; };
8F0F9ADE1F2A3AE7004FB434 /* UIApplication+CheckFirstRun.m in Sources */ = {isa = PBXBuildFile; fileRef = C159187F1AC4362D0013B391 /* UIApplication+CheckFirstRun.m */; }; 8F0F9ADE1F2A3AE7004FB434 /* UIApplication+CheckFirstRun.m in Sources */ = {isa = PBXBuildFile; fileRef = C159187F1AC4362D0013B391 /* UIApplication+CheckFirstRun.m */; };
8F0F9ADF1F2A3AE7004FB434 /* NewReceiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72A813FF1BCD3B0A003631F3 /* NewReceiveViewController.m */; }; 8F0F9ADF1F2A3AE7004FB434 /* NewReceiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72A813FF1BCD3B0A003631F3 /* NewReceiveViewController.m */; };
8F0F9AE01F2A3AE7004FB434 /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 19605F971D377CA500C20590 /* CalculateHelper.m */; };
8F0F9AE11F2A3AE7004FB434 /* FollowUpRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0460F6701BA8B3FC004A073D /* FollowUpRecordViewController.m */; }; 8F0F9AE11F2A3AE7004FB434 /* FollowUpRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0460F6701BA8B3FC004A073D /* FollowUpRecordViewController.m */; };
8F0F9AE21F2A3AE7004FB434 /* BottomPurchaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 049957E41C8C1CFD003388D3 /* BottomPurchaseView.m */; }; 8F0F9AE21F2A3AE7004FB434 /* BottomPurchaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 049957E41C8C1CFD003388D3 /* BottomPurchaseView.m */; };
8F0F9AE31F2A3AE7004FB434 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F696081AB870B400F9F5DD /* main.m */; }; 8F0F9AE31F2A3AE7004FB434 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F696081AB870B400F9F5DD /* main.m */; };
...@@ -777,7 +775,6 @@ ...@@ -777,7 +775,6 @@
8F250C471F2891C60031B4BC /* ICRQuestionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C123A9211B26ED85003C0C36 /* ICRQuestionManager.m */; }; 8F250C471F2891C60031B4BC /* ICRQuestionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C123A9211B26ED85003C0C36 /* ICRQuestionManager.m */; };
8F250C481F2891C60031B4BC /* UIApplication+CheckFirstRun.m in Sources */ = {isa = PBXBuildFile; fileRef = C159187F1AC4362D0013B391 /* UIApplication+CheckFirstRun.m */; }; 8F250C481F2891C60031B4BC /* UIApplication+CheckFirstRun.m in Sources */ = {isa = PBXBuildFile; fileRef = C159187F1AC4362D0013B391 /* UIApplication+CheckFirstRun.m */; };
8F250C491F2891C60031B4BC /* NewReceiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72A813FF1BCD3B0A003631F3 /* NewReceiveViewController.m */; }; 8F250C491F2891C60031B4BC /* NewReceiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72A813FF1BCD3B0A003631F3 /* NewReceiveViewController.m */; };
8F250C4A1F2891C60031B4BC /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 19605F971D377CA500C20590 /* CalculateHelper.m */; };
8F250C4B1F2891C60031B4BC /* FollowUpRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0460F6701BA8B3FC004A073D /* FollowUpRecordViewController.m */; }; 8F250C4B1F2891C60031B4BC /* FollowUpRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0460F6701BA8B3FC004A073D /* FollowUpRecordViewController.m */; };
8F250C4C1F2891C60031B4BC /* BottomPurchaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 049957E41C8C1CFD003388D3 /* BottomPurchaseView.m */; }; 8F250C4C1F2891C60031B4BC /* BottomPurchaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 049957E41C8C1CFD003388D3 /* BottomPurchaseView.m */; };
8F250C4D1F2891C60031B4BC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F696081AB870B400F9F5DD /* main.m */; }; 8F250C4D1F2891C60031B4BC /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F696081AB870B400F9F5DD /* main.m */; };
...@@ -915,6 +912,10 @@ ...@@ -915,6 +912,10 @@
8F3EB1A41F21AABC00F3A669 /* PurchaseReceiveProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F3EB1A31F21AABC00F3A669 /* PurchaseReceiveProductViewController.m */; }; 8F3EB1A41F21AABC00F3A669 /* PurchaseReceiveProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F3EB1A31F21AABC00F3A669 /* PurchaseReceiveProductViewController.m */; };
8F67988A1DB8CC9400348267 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F6798891DB8CC9400348267 /* WebKit.framework */; }; 8F67988A1DB8CC9400348267 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F6798891DB8CC9400348267 /* WebKit.framework */; };
8F67988C1DB8CC9E00348267 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F67988B1DB8CC9E00348267 /* WebKit.framework */; }; 8F67988C1DB8CC9E00348267 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F67988B1DB8CC9E00348267 /* WebKit.framework */; };
8F8D43CB1F63C26C00E8636F /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F8D43CA1F63C26C00E8636F /* CalculateHelper.m */; };
8F8D43CC1F63C26C00E8636F /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F8D43CA1F63C26C00E8636F /* CalculateHelper.m */; };
8F8D43CD1F63C26C00E8636F /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F8D43CA1F63C26C00E8636F /* CalculateHelper.m */; };
8F8D43CE1F63C26C00E8636F /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F8D43CA1F63C26C00E8636F /* CalculateHelper.m */; };
8FC3755A1F5D22AA00FD43EA /* ReceiveOwnProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */; }; 8FC3755A1F5D22AA00FD43EA /* ReceiveOwnProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */; };
8FC3755B1F5D22AA00FD43EA /* ReceiveOwnProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */; }; 8FC3755B1F5D22AA00FD43EA /* ReceiveOwnProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */; };
8FC3755C1F5D22AA00FD43EA /* ReceiveOwnProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */; }; 8FC3755C1F5D22AA00FD43EA /* ReceiveOwnProductViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */; };
...@@ -1131,7 +1132,6 @@ ...@@ -1131,7 +1132,6 @@
8FEE26AA1DB60B570099B596 /* ICRQuestionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C123A9211B26ED85003C0C36 /* ICRQuestionManager.m */; }; 8FEE26AA1DB60B570099B596 /* ICRQuestionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C123A9211B26ED85003C0C36 /* ICRQuestionManager.m */; };
8FEE26AB1DB60B570099B596 /* UIApplication+CheckFirstRun.m in Sources */ = {isa = PBXBuildFile; fileRef = C159187F1AC4362D0013B391 /* UIApplication+CheckFirstRun.m */; }; 8FEE26AB1DB60B570099B596 /* UIApplication+CheckFirstRun.m in Sources */ = {isa = PBXBuildFile; fileRef = C159187F1AC4362D0013B391 /* UIApplication+CheckFirstRun.m */; };
8FEE26AC1DB60B570099B596 /* NewReceiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72A813FF1BCD3B0A003631F3 /* NewReceiveViewController.m */; }; 8FEE26AC1DB60B570099B596 /* NewReceiveViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72A813FF1BCD3B0A003631F3 /* NewReceiveViewController.m */; };
8FEE26AD1DB60B570099B596 /* CalculateHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 19605F971D377CA500C20590 /* CalculateHelper.m */; };
8FEE26AE1DB60B570099B596 /* FollowUpRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0460F6701BA8B3FC004A073D /* FollowUpRecordViewController.m */; }; 8FEE26AE1DB60B570099B596 /* FollowUpRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0460F6701BA8B3FC004A073D /* FollowUpRecordViewController.m */; };
8FEE26AF1DB60B570099B596 /* BottomPurchaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 049957E41C8C1CFD003388D3 /* BottomPurchaseView.m */; }; 8FEE26AF1DB60B570099B596 /* BottomPurchaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 049957E41C8C1CFD003388D3 /* BottomPurchaseView.m */; };
8FEE26B01DB60B570099B596 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F696081AB870B400F9F5DD /* main.m */; }; 8FEE26B01DB60B570099B596 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F696081AB870B400F9F5DD /* main.m */; };
...@@ -1595,8 +1595,6 @@ ...@@ -1595,8 +1595,6 @@
04E721E21BA755FD008F9158 /* ProductUnit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProductUnit.m; sourceTree = "<group>"; }; 04E721E21BA755FD008F9158 /* ProductUnit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProductUnit.m; sourceTree = "<group>"; };
04F6E7081B9B08A500550849 /* PurchaseNoticeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PurchaseNoticeViewController.h; sourceTree = "<group>"; }; 04F6E7081B9B08A500550849 /* PurchaseNoticeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PurchaseNoticeViewController.h; sourceTree = "<group>"; };
04F6E7091B9B08A500550849 /* PurchaseNoticeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PurchaseNoticeViewController.m; sourceTree = "<group>"; }; 04F6E7091B9B08A500550849 /* PurchaseNoticeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PurchaseNoticeViewController.m; sourceTree = "<group>"; };
19605F961D377CA500C20590 /* CalculateHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CalculateHelper.h; sourceTree = "<group>"; };
19605F971D377CA500C20590 /* CalculateHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CalculateHelper.m; sourceTree = "<group>"; };
19D20B891D1BC11000BF7FE2 /* NSDictionary+Category.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Category.h"; sourceTree = "<group>"; }; 19D20B891D1BC11000BF7FE2 /* NSDictionary+Category.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Category.h"; sourceTree = "<group>"; };
19D20B8A1D1BC11000BF7FE2 /* NSDictionary+Category.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Category.m"; sourceTree = "<group>"; }; 19D20B8A1D1BC11000BF7FE2 /* NSDictionary+Category.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Category.m"; sourceTree = "<group>"; };
1B0B22845F5CD40B5CF655F2 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = "<group>"; }; 1B0B22845F5CD40B5CF655F2 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = "<group>"; };
...@@ -1945,6 +1943,8 @@ ...@@ -1945,6 +1943,8 @@
8F3EB1A31F21AABC00F3A669 /* PurchaseReceiveProductViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PurchaseReceiveProductViewController.m; sourceTree = "<group>"; }; 8F3EB1A31F21AABC00F3A669 /* PurchaseReceiveProductViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PurchaseReceiveProductViewController.m; sourceTree = "<group>"; };
8F6798891DB8CC9400348267 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/PrivateFrameworks/WebKit.framework; sourceTree = SDKROOT; }; 8F6798891DB8CC9400348267 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/PrivateFrameworks/WebKit.framework; sourceTree = SDKROOT; };
8F67988B1DB8CC9E00348267 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; 8F67988B1DB8CC9E00348267 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
8F8D43C91F63C26C00E8636F /* CalculateHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CalculateHelper.h; sourceTree = "<group>"; };
8F8D43CA1F63C26C00E8636F /* CalculateHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CalculateHelper.m; sourceTree = "<group>"; };
8FC375581F5D22AA00FD43EA /* ReceiveOwnProductViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReceiveOwnProductViewController.h; sourceTree = "<group>"; }; 8FC375581F5D22AA00FD43EA /* ReceiveOwnProductViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ReceiveOwnProductViewController.h; sourceTree = "<group>"; };
8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReceiveOwnProductViewController.m; sourceTree = "<group>"; }; 8FC375591F5D22AA00FD43EA /* ReceiveOwnProductViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReceiveOwnProductViewController.m; sourceTree = "<group>"; };
8FD12B511EC4737200845F9B /* ProductStockModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProductStockModel.h; sourceTree = "<group>"; }; 8FD12B511EC4737200845F9B /* ProductStockModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProductStockModel.h; sourceTree = "<group>"; };
...@@ -3287,8 +3287,6 @@ ...@@ -3287,8 +3287,6 @@
C142D2911AC3A154000109A7 /* Categories */, C142D2911AC3A154000109A7 /* Categories */,
C142D2901AC3A12C000109A7 /* Classes */, C142D2901AC3A12C000109A7 /* Classes */,
C142D28F1AC3A10F000109A7 /* Views */, C142D28F1AC3A10F000109A7 /* Views */,
19605F961D377CA500C20590 /* CalculateHelper.h */,
19605F971D377CA500C20590 /* CalculateHelper.m */,
); );
path = General; path = General;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -3339,6 +3337,8 @@ ...@@ -3339,6 +3337,8 @@
C142D2901AC3A12C000109A7 /* Classes */ = { C142D2901AC3A12C000109A7 /* Classes */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
8F8D43C91F63C26C00E8636F /* CalculateHelper.h */,
8F8D43CA1F63C26C00E8636F /* CalculateHelper.m */,
C18AEA8E1AC9B87800A1DB7B /* UIAppearance */, C18AEA8E1AC9B87800A1DB7B /* UIAppearance */,
C15918791AC435BD0013B391 /* AdditionObserver */, C15918791AC435BD0013B391 /* AdditionObserver */,
C142D2C21AC3A16C000109A7 /* BaseViewController */, C142D2C21AC3A16C000109A7 /* BaseViewController */,
...@@ -4559,6 +4559,7 @@ ...@@ -4559,6 +4559,7 @@
8F0F9AAE1F2A3AE7004FB434 /* NewPurchaseViewController.m in Sources */, 8F0F9AAE1F2A3AE7004FB434 /* NewPurchaseViewController.m in Sources */,
8F0F9AAF1F2A3AE7004FB434 /* PassengerViewController.m in Sources */, 8F0F9AAF1F2A3AE7004FB434 /* PassengerViewController.m in Sources */,
8F0F9AB01F2A3AE7004FB434 /* ICRFunctionItemControl.m in Sources */, 8F0F9AB01F2A3AE7004FB434 /* ICRFunctionItemControl.m in Sources */,
8F8D43CE1F63C26C00E8636F /* CalculateHelper.m in Sources */,
8F0F9AB11F2A3AE7004FB434 /* GXFProcessProductTableViewCell.m in Sources */, 8F0F9AB11F2A3AE7004FB434 /* GXFProcessProductTableViewCell.m in Sources */,
8F0F9AB21F2A3AE7004FB434 /* PassengerHeaderCell.m in Sources */, 8F0F9AB21F2A3AE7004FB434 /* PassengerHeaderCell.m in Sources */,
8F0F9AB31F2A3AE7004FB434 /* IBTTableViewUserInfo.m in Sources */, 8F0F9AB31F2A3AE7004FB434 /* IBTTableViewUserInfo.m in Sources */,
...@@ -4606,7 +4607,6 @@ ...@@ -4606,7 +4607,6 @@
8F0F9ADD1F2A3AE7004FB434 /* ICRQuestionManager.m in Sources */, 8F0F9ADD1F2A3AE7004FB434 /* ICRQuestionManager.m in Sources */,
8F0F9ADE1F2A3AE7004FB434 /* UIApplication+CheckFirstRun.m in Sources */, 8F0F9ADE1F2A3AE7004FB434 /* UIApplication+CheckFirstRun.m in Sources */,
8F0F9ADF1F2A3AE7004FB434 /* NewReceiveViewController.m in Sources */, 8F0F9ADF1F2A3AE7004FB434 /* NewReceiveViewController.m in Sources */,
8F0F9AE01F2A3AE7004FB434 /* CalculateHelper.m in Sources */,
8F0F9AE11F2A3AE7004FB434 /* FollowUpRecordViewController.m in Sources */, 8F0F9AE11F2A3AE7004FB434 /* FollowUpRecordViewController.m in Sources */,
8F0F9AE21F2A3AE7004FB434 /* BottomPurchaseView.m in Sources */, 8F0F9AE21F2A3AE7004FB434 /* BottomPurchaseView.m in Sources */,
8F0F9AE31F2A3AE7004FB434 /* main.m in Sources */, 8F0F9AE31F2A3AE7004FB434 /* main.m in Sources */,
...@@ -4889,6 +4889,7 @@ ...@@ -4889,6 +4889,7 @@
8F250C181F2891C60031B4BC /* NewPurchaseViewController.m in Sources */, 8F250C181F2891C60031B4BC /* NewPurchaseViewController.m in Sources */,
8F250C191F2891C60031B4BC /* PassengerViewController.m in Sources */, 8F250C191F2891C60031B4BC /* PassengerViewController.m in Sources */,
8F250C1A1F2891C60031B4BC /* ICRFunctionItemControl.m in Sources */, 8F250C1A1F2891C60031B4BC /* ICRFunctionItemControl.m in Sources */,
8F8D43CD1F63C26C00E8636F /* CalculateHelper.m in Sources */,
8F250C1B1F2891C60031B4BC /* GXFProcessProductTableViewCell.m in Sources */, 8F250C1B1F2891C60031B4BC /* GXFProcessProductTableViewCell.m in Sources */,
8F250C1C1F2891C60031B4BC /* PassengerHeaderCell.m in Sources */, 8F250C1C1F2891C60031B4BC /* PassengerHeaderCell.m in Sources */,
8F250C1D1F2891C60031B4BC /* IBTTableViewUserInfo.m in Sources */, 8F250C1D1F2891C60031B4BC /* IBTTableViewUserInfo.m in Sources */,
...@@ -4936,7 +4937,6 @@ ...@@ -4936,7 +4937,6 @@
8F250C471F2891C60031B4BC /* ICRQuestionManager.m in Sources */, 8F250C471F2891C60031B4BC /* ICRQuestionManager.m in Sources */,
8F250C481F2891C60031B4BC /* UIApplication+CheckFirstRun.m in Sources */, 8F250C481F2891C60031B4BC /* UIApplication+CheckFirstRun.m in Sources */,
8F250C491F2891C60031B4BC /* NewReceiveViewController.m in Sources */, 8F250C491F2891C60031B4BC /* NewReceiveViewController.m in Sources */,
8F250C4A1F2891C60031B4BC /* CalculateHelper.m in Sources */,
8F250C4B1F2891C60031B4BC /* FollowUpRecordViewController.m in Sources */, 8F250C4B1F2891C60031B4BC /* FollowUpRecordViewController.m in Sources */,
8F250C4C1F2891C60031B4BC /* BottomPurchaseView.m in Sources */, 8F250C4C1F2891C60031B4BC /* BottomPurchaseView.m in Sources */,
8F250C4D1F2891C60031B4BC /* main.m in Sources */, 8F250C4D1F2891C60031B4BC /* main.m in Sources */,
...@@ -5078,6 +5078,7 @@ ...@@ -5078,6 +5078,7 @@
8FEE25F11DB60B570099B596 /* IBTAVAudioPlayWrapper.m in Sources */, 8FEE25F11DB60B570099B596 /* IBTAVAudioPlayWrapper.m in Sources */,
8FEE25F21DB60B570099B596 /* HPTextViewInternal.m in Sources */, 8FEE25F21DB60B570099B596 /* HPTextViewInternal.m in Sources */,
8FEE25F31DB60B570099B596 /* IBTTabBarController.m in Sources */, 8FEE25F31DB60B570099B596 /* IBTTabBarController.m in Sources */,
8F8D43CC1F63C26C00E8636F /* CalculateHelper.m in Sources */,
8FEE25F41DB60B570099B596 /* UIView+FindUIViewController.m in Sources */, 8FEE25F41DB60B570099B596 /* UIView+FindUIViewController.m in Sources */,
8FEE25F51DB60B570099B596 /* UIImage+Rotate.m in Sources */, 8FEE25F51DB60B570099B596 /* UIImage+Rotate.m in Sources */,
8FEE25F61DB60B570099B596 /* PurchaseNoticeViewController.m in Sources */, 8FEE25F61DB60B570099B596 /* PurchaseNoticeViewController.m in Sources */,
...@@ -5262,7 +5263,6 @@ ...@@ -5262,7 +5263,6 @@
8FEE26AA1DB60B570099B596 /* ICRQuestionManager.m in Sources */, 8FEE26AA1DB60B570099B596 /* ICRQuestionManager.m in Sources */,
8FEE26AB1DB60B570099B596 /* UIApplication+CheckFirstRun.m in Sources */, 8FEE26AB1DB60B570099B596 /* UIApplication+CheckFirstRun.m in Sources */,
8FEE26AC1DB60B570099B596 /* NewReceiveViewController.m in Sources */, 8FEE26AC1DB60B570099B596 /* NewReceiveViewController.m in Sources */,
8FEE26AD1DB60B570099B596 /* CalculateHelper.m in Sources */,
8FEE26AE1DB60B570099B596 /* FollowUpRecordViewController.m in Sources */, 8FEE26AE1DB60B570099B596 /* FollowUpRecordViewController.m in Sources */,
8FEE26AF1DB60B570099B596 /* BottomPurchaseView.m in Sources */, 8FEE26AF1DB60B570099B596 /* BottomPurchaseView.m in Sources */,
8FEE26B01DB60B570099B596 /* main.m in Sources */, 8FEE26B01DB60B570099B596 /* main.m in Sources */,
...@@ -5546,6 +5546,7 @@ ...@@ -5546,6 +5546,7 @@
7281A0B31B8974120052B1AC /* NewPurchaseViewController.m in Sources */, 7281A0B31B8974120052B1AC /* NewPurchaseViewController.m in Sources */,
728899E81BEF41FC003CC41E /* PassengerViewController.m in Sources */, 728899E81BEF41FC003CC41E /* PassengerViewController.m in Sources */,
C10214DF1AD90A3F0024637E /* ICRFunctionItemControl.m in Sources */, C10214DF1AD90A3F0024637E /* ICRFunctionItemControl.m in Sources */,
8F8D43CB1F63C26C00E8636F /* CalculateHelper.m in Sources */,
358432F11B993BD8007E73ED /* GXFProcessProductTableViewCell.m in Sources */, 358432F11B993BD8007E73ED /* GXFProcessProductTableViewCell.m in Sources */,
728899F11BEF4A8A003CC41E /* PassengerHeaderCell.m in Sources */, 728899F11BEF4A8A003CC41E /* PassengerHeaderCell.m in Sources */,
C15918431AC062460013B391 /* IBTTableViewUserInfo.m in Sources */, C15918431AC062460013B391 /* IBTTableViewUserInfo.m in Sources */,
...@@ -5593,7 +5594,6 @@ ...@@ -5593,7 +5594,6 @@
C123A9221B26ED85003C0C36 /* ICRQuestionManager.m in Sources */, C123A9221B26ED85003C0C36 /* ICRQuestionManager.m in Sources */,
C15918801AC4362D0013B391 /* UIApplication+CheckFirstRun.m in Sources */, C15918801AC4362D0013B391 /* UIApplication+CheckFirstRun.m in Sources */,
72A814001BCD3B0A003631F3 /* NewReceiveViewController.m in Sources */, 72A814001BCD3B0A003631F3 /* NewReceiveViewController.m in Sources */,
19605F981D377CA500C20590 /* CalculateHelper.m in Sources */,
0460F6711BA8B3FC004A073D /* FollowUpRecordViewController.m in Sources */, 0460F6711BA8B3FC004A073D /* FollowUpRecordViewController.m in Sources */,
049957E51C8C1CFD003388D3 /* BottomPurchaseView.m in Sources */, 049957E51C8C1CFD003388D3 /* BottomPurchaseView.m in Sources */,
C1F696091AB870B400F9F5DD /* main.m in Sources */, C1F696091AB870B400F9F5DD /* main.m in Sources */,
......
//
// CalculateHelper.m
// XFFruit
//
// Created by Z on 16/7/14.
// Copyright © 2016年 Xummer. All rights reserved.
//
#import "CalculateHelper.h"
@implementation CalculateHelper
+ (NSDecimalNumber *)calculateNum1:(id)num1 num2:(id)num2 type:(CalculateType)type roundingType:(NSRoundingMode)roundingType cutLenth:(NSInteger)coutLenth {
NSDecimalNumberHandler *roundUp = [NSDecimalNumberHandler
decimalNumberHandlerWithRoundingMode:roundingType
scale:coutLenth
raiseOnExactness:NO
raiseOnOverflow:NO
raiseOnUnderflow:NO
raiseOnDivideByZero:YES];
NSDecimalNumber *decimalNum1 = [self changeType:num1];
NSDecimalNumber *decimalNum2 = [self changeType:num2];
NSDecimalNumber *decimalResult;
NSString *result;
switch (type) {
case CalculateTypeAdd: {
decimalResult = [decimalNum1 decimalNumberByAdding:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
break;
}
case CalculateTypeSub: {
decimalResult = [decimalNum1 decimalNumberBySubtracting:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
break;
}
case CalculateTypeMul: {
decimalResult = [decimalNum1 decimalNumberByMultiplyingBy:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
break;
}
case CalculateTypeDiv: {
decimalResult = [decimalNum1 decimalNumberByDividingBy:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
break;
}
}
return decimalResult;
}
+ (NSDecimalNumber *)changeType:(id)num1 {
NSDecimalNumber *decimalNum1;
if ([num1 isKindOfClass:[NSDecimalNumber class]]) {
decimalNum1 = num1;
}else if([num1 isKindOfClass:[NSString class]]){
decimalNum1 = [NSDecimalNumber decimalNumberWithString:num1];
}else if ([num1 isKindOfClass:[NSNumber class]]){
decimalNum1 = [NSDecimalNumber decimalNumberWithDecimal:[num1 decimalValue]];
}else if(num1 == nil){
decimalNum1 = [NSDecimalNumber decimalNumberWithString:@"0"];
}
return decimalNum1;
}
+ (NSString *)getMoneyStringFrom:(id)num Lenth:(NSInteger)cutLenth {
NSDecimalNumberHandler *roundUp = [NSDecimalNumberHandler
decimalNumberHandlerWithRoundingMode:NSRoundBankers
scale:cutLenth ? cutLenth : 2
raiseOnExactness:NO
raiseOnOverflow:NO
raiseOnUnderflow:NO
raiseOnDivideByZero:YES];
NSDecimalNumber *decimal = [self changeType:num];
NSDecimalNumber *result = [decimal decimalNumberByAdding:[NSDecimalNumber decimalNumberWithString:@"0"] withBehavior:roundUp];
return [result stringValue];
}
+ (NSString *)getMoneyStringFrom:(id)num{
NSString *originString = [self getMoneyStringFrom:num Lenth:2];
NSArray *array = [originString componentsSeparatedByString:@"."];
NSString *top = array[0];
NSString *result;
if (array.count == 1) {
result = [NSString stringWithFormat:@"%@.00",top];
}else if(array.count == 2){
NSString *bottom = array[1];
if (bottom.length == 2) {
result = originString;
}
NSString *chr;
for (NSInteger i = bottom.length; i < 2; i++) {
chr =[bottom substringWithRange:NSMakeRange(i, 1)];
if ([chr isEqualToString:@"0"]) {
result = [top stringByAppendingString:chr];
}
}
}
return result;
}
@end
...@@ -17,8 +17,11 @@ typedef NS_ENUM(NSInteger, CalculateType) { ...@@ -17,8 +17,11 @@ typedef NS_ENUM(NSInteger, CalculateType) {
/* /*
NSRoundPlain, // Round up on a tie //貌似取整 NSRoundPlain, // Round up on a tie //貌似取整
NSRoundDown, // Always down == truncate //只舍不入 NSRoundDown, // Always down == truncate //只舍不入
NSRoundUp, // Always up // 只入不舍 NSRoundUp, // Always up // 只入不舍
NSRoundBankers // on a tie round so last digit is even 貌似四舍五入 NSRoundBankers // on a tie round so last digit is even 貌似四舍五入
*/ */
/** /**
...@@ -33,7 +36,41 @@ typedef NS_ENUM(NSInteger, CalculateType) { ...@@ -33,7 +36,41 @@ typedef NS_ENUM(NSInteger, CalculateType) {
* @return 结算结果 * @return 结算结果
*/ */
+ (NSDecimalNumber *)calculateNum1:(id)num1 num2:(id)num2 type:(CalculateType)type roundingType:(NSRoundingMode)roundingType cutLenth:(NSInteger)coutLenth; + (NSDecimalNumber *)calculateNum1:(id)num1 num2:(id)num2 type:(CalculateType)type roundingType:(NSRoundingMode)roundingType cutLenth:(NSInteger)coutLenth;
+ (NSString *)getMoneyStringFrom:(id)num Lenth:(NSInteger)cutLenth; + (NSDecimalNumber *)calculateNum1:(id)num1 num2:(id)num2 type:(CalculateType)type;
/** add */
+ (NSDecimalNumber *)add:(id)num1 num2:(id)num2;
/** sub */
+ (NSDecimalNumber *)sub:(id)num1 num2:(id)num2;
/** mul */
+ (NSDecimalNumber *)mul:(id)num1 num2:(id)num2;
/** div */
+ (NSDecimalNumber *)div:(id)num1 num2:(id)num2;
/** 一百倍 */
+ (NSDecimalNumber *)oneHundredTimes:(id)num;
/** 计算百分比 */
+ (NSString *)getPercent:(id)num1 num:(id)num2;
/** 获取金额 保留两位小数*/
+ (NSString *)getMoneyStringFrom:(id)num; + (NSString *)getMoneyStringFrom:(id)num;
+ (NSDecimalNumber *)changeType:(id)num1; /** 获取金额 */
+ (NSString *)getMoneyStringFrom:(id)num Lenth:(NSInteger)cutLenth isSeparate:(BOOL)isSeparate;
+ (NSString *)getMoneyStringFromString:(NSString *)originString;
//获得绝对值
+ (NSString *)getABSValue:(NSString *)string;
/** 每3位加逗号 */
+ (NSString *)separateMoney:(id)num;
/** 把非decimalNumber转化 */
+ (NSDecimalNumber *)decimalNumber:(id)number;
/**
* 判断数字是否在给定的范围内,num1和num2的顺序不影响判断
*
* @param num 需要判断的数字
* @param num1 范围区间
* @param num2 范围区间
*
* @return 是否在区间内
*/
+ (BOOL)number:(id)num isInNum1:(id)num1 num2:(id)num2;
@end @end
//
// CalculateHelper.m
// XFFruit
//
// Created by Z on 16/7/14.
// Copyright © 2016年 Xummer. All rights reserved.
//
#import "CalculateHelper.h"
@implementation CalculateHelper
+ (NSDecimalNumber *)calculateNum1:(id)num1 num2:(id)num2 type:(CalculateType)type roundingType:(NSRoundingMode)roundingType cutLenth:(NSInteger)coutLenth {
NSDecimalNumberHandler *roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:roundingType scale:coutLenth raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:YES];
NSDecimalNumber *decimalNum1 = [self changeType:num1];
NSDecimalNumber *decimalNum2 = [self changeType:num2];
if (decimalNum1 == nil || decimalNum2 == nil) {
return nil;
}
NSDecimalNumber *decimalResult;
NSString *result;
switch (type) {
case CalculateTypeAdd: {
decimalResult = [decimalNum1 decimalNumberByAdding:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
break;
}
case CalculateTypeSub: {
decimalResult = [decimalNum1 decimalNumberBySubtracting:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
break;
}
case CalculateTypeMul: {
decimalResult = [decimalNum1 decimalNumberByMultiplyingBy:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
break;
}
case CalculateTypeDiv: {
if ([decimalNum2 isEqualToNumber:@0]) {
decimalResult = [NSDecimalNumber decimalNumberWithString:@"0"];
} else {
decimalResult = [decimalNum1 decimalNumberByDividingBy:decimalNum2 withBehavior:roundUp];
result = [decimalResult stringValue];
}
break;
}
}
return decimalResult;
}
+ (NSDecimalNumber *)calculateNum1:(id)num1 num2:(id)num2 type:(CalculateType)type {
NSDecimalNumber *decimalNum1 = [self changeType:num1];
NSDecimalNumber *decimalNum2 = [self changeType:num2];
if (decimalNum1 == nil || decimalNum2 == nil) {
return nil;
}
NSDecimalNumber *decimalResult;
NSString *result;
switch (type) {
case CalculateTypeAdd: {
decimalResult = [decimalNum1 decimalNumberByAdding:decimalNum2];
result = [decimalResult stringValue];
break;
}
case CalculateTypeSub: {
decimalResult = [decimalNum1 decimalNumberBySubtracting:decimalNum2];
result = [decimalResult stringValue];
break;
}
case CalculateTypeMul: {
decimalResult = [decimalNum1 decimalNumberByMultiplyingBy:decimalNum2];
result = [decimalResult stringValue];
break;
}
case CalculateTypeDiv: {
if ([decimalNum2 isEqualToNumber:@0]) {
decimalResult = [NSDecimalNumber decimalNumberWithString:@"0"];
} else {
decimalResult = [decimalNum1 decimalNumberByDividingBy:decimalNum2];
result = [decimalResult stringValue];
}
break;
}
}
return decimalResult;
}
//把传入的类型变成NSDecimalNumber
+ (NSDecimalNumber *)changeType:(id)num1 {
NSDecimalNumber *decimalNum1;
if ([num1 isKindOfClass:[NSDecimalNumber class]]) {
decimalNum1 = num1;
} else if ([num1 isKindOfClass:[NSString class]]) {
if ([num1 isEqualToString:@""]) {
decimalNum1 = [NSDecimalNumber decimalNumberWithString:@"0"];
} else {
decimalNum1 = [NSDecimalNumber decimalNumberWithString:num1];
}
} else if ([num1 isKindOfClass:[NSNumber class]]) {
decimalNum1 = [NSDecimalNumber decimalNumberWithDecimal:[num1 decimalValue]];
} else if (num1 == nil) {
decimalNum1 = [NSDecimalNumber decimalNumberWithString:@"0"];
} else {
decimalNum1 = [NSDecimalNumber decimalNumberWithString:@"0"];
}
return decimalNum1;
}
+ (NSDecimalNumber *)decimalNumber:(id)number {
return [self changeType:number];
}
+ (NSDecimalNumber *)oneHundredTimes:(id)num {
return [self calculateNum1:num num2:@100 type:CalculateTypeMul roundingType:NSRoundPlain cutLenth:10];
}
+ (NSString *)getPercent:(id)num1 num:(id)num2 {
[self calculateNum1:num1 num2:num1 type:CalculateTypeDiv roundingType:NSRoundPlain cutLenth:4];
NSDecimalNumber *result = [self oneHundredTimes:[self calculateNum1:num1 num2:num2 type:CalculateTypeDiv roundingType:NSRoundPlain cutLenth:4]];
return [NSString stringWithFormat:@"%@%%", [self getMoneyStringFromString:result.stringValue]];
}
+ (NSString *)getMoneyStringFrom:(id)num Lenth:(NSInteger)cutLenth isSeparate:(BOOL)isSeparate {
NSDecimalNumberHandler *roundUp = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundPlain
scale:cutLenth
raiseOnExactness:NO
raiseOnOverflow:NO
raiseOnUnderflow:NO
raiseOnDivideByZero:YES];
NSDecimalNumber *decimal = [self changeType:num];
NSDecimalNumber *result = [decimal decimalNumberByAdding:[NSDecimalNumber decimalNumberWithString:@"0"] withBehavior:roundUp];
NSString *rs = nil;
if (isSeparate) {
rs = [self separateMoney:result];
} else {
rs = [result stringValue];
}
NSArray *array = [rs componentsSeparatedByString:@"."];
NSString *top = [array[0] stringByAppendingString:@"."];
NSString *finalResult = array[0];
if (array.count == 1) {
if (cutLenth > 0) {
finalResult = top;
for (NSInteger i = 0; i < cutLenth; i++) {
finalResult = [finalResult stringByAppendingString:@"0"];
}
}
} else {
finalResult = rs;
NSString *bottom = array[1];
for (NSInteger i = bottom.length; i < cutLenth; i++) {
finalResult = [finalResult stringByAppendingString:@"0"];
}
}
return finalResult;
}
+ (NSString *)getMoneyStringFrom:(id)num {
NSString *originString = [self getMoneyStringFrom:num Lenth:2 isSeparate:NO];
return [self getMoneyStringFromString:originString];
}
+ (NSString *)getMoneyStringFromString:(NSString *)originString {
NSArray *array = [originString componentsSeparatedByString:@"."];
NSString *top = [array[0] stringByAppendingString:@"."];
NSString *result;
if (array.count == 1) {
result = [NSString stringWithFormat:@"%@00", top];
} else if (array.count == 2) {
NSString *bottom = array[1];
if (bottom.length == 2) {
result = originString;
}
for (NSInteger i = bottom.length; i < 2; i++) {
result = [originString stringByAppendingString:@"0"];
}
}
return result;
}
+ (NSString *)getABSValue:(NSString *)string {
if ([string hasPrefix:@"-"] && ![string hasPrefix:@"--"]) {
NSString *absString = [string substringWithRange:NSMakeRange(1, string.length - 1)];
return absString;
} else {
return string;
}
}
+ (NSString *)separateMoney:(id)num1 {
NSDecimalNumber *num = [self changeType:num1];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.locale = [NSLocale currentLocale]; // this ensure the right separator behavior
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
numberFormatter.usesGroupingSeparator = YES;
// example for writing the number object into a label
NSString *string = [numberFormatter stringFromNumber:num];
return string;
}
/** add */
+ (NSDecimalNumber *)add:(id)num1 num2:(id)num2 {
return [self calculateNum1:num1 num2:num2 type:CalculateTypeAdd];
}
/** sub */
+ (NSDecimalNumber *)sub:(id)num1 num2:(id)num2 {
return [self calculateNum1:num1 num2:num2 type:CalculateTypeSub];
}
/** mul */
+ (NSDecimalNumber *)mul:(id)num1 num2:(id)num2 {
return [self calculateNum1:num1 num2:num2 type:CalculateTypeMul];
}
/** div */
+ (NSDecimalNumber *)div:(id)num1 num2:(id)num2 {
return [self calculateNum1:num1 num2:num2 type:CalculateTypeDiv];
}
+ (BOOL)number:(id)num isInNum1:(id)num1 num2:(id)num2 {
NSDecimalNumber *decNum = [self decimalNumber:num];
NSDecimalNumber *minNumber;
NSDecimalNumber *maxNumber;
NSDecimalNumber *decNumber1 = [self decimalNumber:num1];
NSDecimalNumber *decNumber2 = [self decimalNumber:num2];
NSComparisonResult result = [decNumber1 compare:decNumber2];
if (result == NSOrderedAscending) {
minNumber = decNumber1;
maxNumber = decNumber2;
} else {
minNumber = decNumber2;
maxNumber = decNumber1;
}
if (([decNum compare:minNumber] == NSOrderedDescending && [decNum compare:maxNumber] == NSOrderedAscending) || [decNum compare:minNumber] == NSOrderedSame || [decNum compare:maxNumber] == NSOrderedSame) {
return YES;
} else {
return NO;
}
}
@end
...@@ -488,11 +488,11 @@ typedef enum : NSUInteger { ...@@ -488,11 +488,11 @@ typedef enum : NSUInteger {
shopDetail.product_uuid = billProduct.product_uuid; shopDetail.product_uuid = billProduct.product_uuid;
shopDetail.product_code = billProduct.product_code; shopDetail.product_code = billProduct.product_code;
shopDetail.merchandise = billProduct.product_name; shopDetail.merchandise = billProduct.product_name;
shopDetail.packageSpecification = [CalculateHelper getMoneyStringFrom:billProduct.qpc Lenth:0]; shopDetail.packageSpecification = [CalculateHelper getMoneyStringFrom:billProduct.qpc Lenth:0 isSeparate:NO];
shopDetail.packageUnit = billProduct.unit; shopDetail.packageUnit = billProduct.unit;
shopDetail.packageQuantity = [CalculateHelper getMoneyStringFrom:billProduct.qty Lenth:0]; shopDetail.packageQuantity = [CalculateHelper getMoneyStringFrom:billProduct.qty Lenth:0 isSeparate:NO];
shopDetail.packageUnitPrice = billProduct.price; shopDetail.packageUnitPrice = billProduct.price;
shopDetail.foundationQuantity= [CalculateHelper getMoneyStringFrom:billProduct.baseQty Lenth:0]; shopDetail.foundationQuantity= [CalculateHelper getMoneyStringFrom:billProduct.baseQty Lenth:0 isSeparate:NO];
shopDetail.foundationUnitPrice= billProduct.basePrice; shopDetail.foundationUnitPrice= billProduct.basePrice;
shopDetail.totalMoney= billProduct.total; shopDetail.totalMoney= billProduct.total;
shopDetail.remark = billProduct.remark; shopDetail.remark = billProduct.remark;
......
...@@ -251,7 +251,7 @@ typedef enum : NSUInteger { ...@@ -251,7 +251,7 @@ typedef enum : NSUInteger {
[model setValuesForKeysWithDictionary:dict]; [model setValuesForKeysWithDictionary:dict];
if ([self.shopDetail.product_code isEqualToString:model.productCode]) { if ([self.shopDetail.product_code isEqualToString:model.productCode]) {
if ([[CalculateHelper changeType:self.shopDetail.foundationQuantity] compare:decimalNumberWithDouble(model.qty)] == NSOrderedDescending) { if ([[CalculateHelper decimalNumber:self.shopDetail.foundationQuantity] compare:decimalNumberWithDouble(model.qty)] == NSOrderedDescending) {
CLog(@"库存不足"); CLog(@"库存不足");
NSString *msg = [NSString stringWithFormat:@"采购单<%@>在总部系统的库存不足!", billNumber]; NSString *msg = [NSString stringWithFormat:@"采购单<%@>在总部系统的库存不足!", billNumber];
ShowMessage(msg); ShowMessage(msg);
...@@ -661,19 +661,19 @@ typedef enum : NSUInteger { ...@@ -661,19 +661,19 @@ typedef enum : NSUInteger {
} }
}else if(textField == foundationUnitPrice){ }else if(textField == foundationUnitPrice){
//基础单价 //基础单价
self.basePrice = [NSNumber numberWithFloat:foundationUnitPrice.text.floatValue]; self.basePrice = [CalculateHelper decimalNumber:foundationUnitPrice.text];
[self setPacktAndTotalPrice]; [self setPacktAndTotalPrice];
//如果基础数量和包装数量有的话计算出包装单价和和总价 //如果基础数量和包装数量有的话计算出包装单价和和总价
}else if (textField == packageUnitPrice){ }else if (textField == packageUnitPrice){
//包装单价 //包装单价
self.packPrice = [NSNumber numberWithFloat:packageUnitPrice.text.floatValue]; self.packPrice = [CalculateHelper decimalNumber:packageUnitPrice.text];
[self setUnitAndTotalPrice]; [self setUnitAndTotalPrice];
}else if(textField == totalMoney){ }else if(textField == totalMoney){
//总金额 //总金额
self.totalPrice = [NSNumber numberWithFloat:totalMoney.text.floatValue]; self.totalPrice = [CalculateHelper decimalNumber:totalMoney.text];
[self setUnitAndPackPrice]; [self setUnitAndPackPrice];
}else if (textField == _checkPriceTextField){ }else if (textField == _checkPriceTextField){
self.checkPrice = [CalculateHelper changeType:_checkPriceTextField.text]; self.checkPrice = [CalculateHelper decimalNumber:_checkPriceTextField.text];
self.checkTotal = [CalculateHelper calculateNum1:_checkPriceTextField.text num2:foundationQuantity.text type:CalculateTypeMul roundingType:NSRoundBankers cutLenth:2]; self.checkTotal = [CalculateHelper calculateNum1:_checkPriceTextField.text num2:foundationQuantity.text type:CalculateTypeMul roundingType:NSRoundBankers cutLenth:2];
_checkTotalTextField.text = self.checkTotal.stringValue; _checkTotalTextField.text = self.checkTotal.stringValue;
......
...@@ -302,37 +302,37 @@ ...@@ -302,37 +302,37 @@
if (textField == _shPackField) { if (textField == _shPackField) {
if (_shPackField.text.length > 0) { if (_shPackField.text.length > 0) {
//基础数量【实收】= 包装数量【实收】* 规格 //基础数量【实收】= 包装数量【实收】* 规格
// NSDecimalNumber *baseCount = [ NSDecimalNumber *baseCount = [CalculateHelper mul:_shPackField.text num2:self.noticeProduct.qpc];
float baseCount = [_shPackField.text floatValue] * [self.noticeProduct.qpc floatValue]; _shBaseQuantityField.text = [NSString stringWithFormat:@"%.2f",baseCount.doubleValue];
_shBaseQuantityField.text = [NSString stringWithFormat:@"%.2f",baseCount];
//总金额【实收】= 基础数量【实收】* 基础单价 //总金额【实收】= 基础数量【实收】* 基础单价
float total = 0; NSDecimalNumber *total = [CalculateHelper decimalNumber:@0];
if ([_shPackField.text floatValue] == [self.noticeProduct.qty floatValue]) { if ([_shPackField.text floatValue] == [self.noticeProduct.qty floatValue]) {
total = [self.noticeProduct.total floatValue]; total = [CalculateHelper decimalNumber:self.noticeProduct.total];
}else{ }else{
total = baseCount * [self.noticeProduct.price floatValue]; total = [CalculateHelper mul:baseCount num2:self.noticeProduct.price];
} }
_chooseTotalPriceLabel.text = [NSString stringWithFormat:@"%.2f元",total]; _chooseTotalPriceLabel.text = [NSString stringWithFormat:@"%.2f元",total.doubleValue];
self.noticeProduct.rctTotal = [NSNumber numberWithFloat:total]; self.noticeProduct.rctTotal = total;
} }
}else if (textField == _shBaseQuantityField) { }else if (textField == _shBaseQuantityField) {
if (_shBaseQuantityField.text.length > 0) { if (_shBaseQuantityField.text.length > 0) {
// 包装数量【实收】= 基础数量【实收】/ 规格 // 包装数量【实收】= 基础数量【实收】/ 规格
float baseCount = 0; // float baseCount = 0;
NSDecimalNumber *baseCount = [NSDecimalNumber decimalNumberWithString:@0];
if ([self.noticeProduct.qpc floatValue] > 0) { if ([self.noticeProduct.qpc floatValue] > 0) {
baseCount = [_shBaseQuantityField.text floatValue]/ [self.noticeProduct.qpc floatValue]; baseCount = [CalculateHelper div:_shBaseQuantityField.text num2:self.noticeProduct.qpc];
} }
_shPackField.text = [NSString stringWithFormat:@"%.2f",baseCount]; _shPackField.text = [NSString stringWithFormat:@"%.2f",baseCount.doubleValue];
float total = 0; NSDecimalNumber *total = [CalculateHelper decimalNumber:@0];
// float total = 0;
if ([_shPackField.text floatValue] == [self.noticeProduct.qty floatValue]) { if ([_shPackField.text floatValue] == [self.noticeProduct.qty floatValue]) {
total = [self.noticeProduct.total floatValue]; total = [CalculateHelper decimalNumber:self.noticeProduct.total];
}else{ }else{
total = baseCount * [self.noticeProduct.price floatValue]; total = [CalculateHelper mul:baseCount num2:self.noticeProduct.price];
} }
_chooseTotalPriceLabel.text = [NSString stringWithFormat:@"%.2f元",total]; _chooseTotalPriceLabel.text = [NSString stringWithFormat:@"%.2f元",total.doubleValue];
self.noticeProduct.rctTotal = [NSNumber numberWithFloat:total]; self.noticeProduct.rctTotal = total;
} }
} }
} }
......
...@@ -513,13 +513,13 @@ typedef enum : NSUInteger { ...@@ -513,13 +513,13 @@ typedef enum : NSUInteger {
billProduct.productUuid = shopDetail.product_uuid; billProduct.productUuid = shopDetail.product_uuid;
billProduct.productCode = shopDetail.product_code; billProduct.productCode = shopDetail.product_code;
billProduct.productName = shopDetail.merchandise; billProduct.productName = shopDetail.merchandise;
billProduct.qpc = [NSNumber numberWithFloat:[shopDetail.packageSpecification floatValue]]; billProduct.qpc = [CalculateHelper decimalNumber:shopDetail.packageSpecification];
billProduct.unit = shopDetail.packageUnit; billProduct.unit = shopDetail.packageUnit;
billProduct.qty = [NSNumber numberWithFloat:[shopDetail.packageQuantity floatValue]]; billProduct.qty = [CalculateHelper decimalNumber:shopDetail.packageQuantity];
billProduct.packprice = [NSNumber numberWithFloat:[shopDetail.packageUnitPrice floatValue]]; billProduct.packprice = [CalculateHelper decimalNumber:shopDetail.packageUnitPrice];
billProduct.price = [NSNumber numberWithFloat:[shopDetail.foundationUnitPrice floatValue]]; billProduct.price = [CalculateHelper decimalNumber:shopDetail.foundationUnitPrice];
billProduct.baseQty = [NSNumber numberWithFloat:[shopDetail.foundationQuantity floatValue]]; billProduct.baseQty = [CalculateHelper decimalNumber:shopDetail.foundationQuantity];
billProduct.total = [NSNumber numberWithFloat:[shopDetail.totalMoney floatValue]]; billProduct.total = [CalculateHelper decimalNumber:shopDetail.totalMoney];
billProduct.note = shopDetail.remark; billProduct.note = shopDetail.remark;
billProduct.qpcStr = shopDetail.packageQpcStr ? shopDetail.packageQpcStr : @"无" ; billProduct.qpcStr = shopDetail.packageQpcStr ? shopDetail.packageQpcStr : @"无" ;
billProduct.baseUnit = shopDetail.packageQpcUnit; billProduct.baseUnit = shopDetail.packageQpcUnit;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment