Go to the documentation of this file.00001
00004 #ifndef BPSORDERUTILS_H
00005 #define BPSORDERUTILS_H
00006
00007 #include "bps.h"
00008 #include <QObject>
00009
00010 class BpsDatastore;
00011
00016 class BPSCORE_EXPORT BpsOrderUtils : public QObject
00017 {
00018 Q_OBJECT
00019 BPS_PRIVATE(BpsOrderUtils)
00020
00021 public:
00022
00026 enum OuIndex {
00027 O_unknown,
00028 O_LU,
00029 O_TU,
00030 O_CU,
00031 O_PU
00032 };
00033
00037 enum PuIndex {
00038 P_unknown,
00039 P_Piece,
00040 P_Kilo,
00041 P_Liter,
00042 P_Meter,
00043 P_SquareMeter,
00044 P_CubicMeter
00045 };
00046
00050 enum StockModeIndex {
00051 SM_unknown,
00052 SM_Regular,
00053 SM_FIFO,
00054 SM_Quick
00055 };
00056
00062 BpsOrderUtils(BpsDatastore* aDatastore, QObject* aParent = 0);
00063
00064 virtual ~BpsOrderUtils();
00065
00071 static OuIndex orderUnitIndex(const QVariant& aOu);
00072
00080 static QString orderUnitName(OuIndex aOu);
00081
00089 static QString orderUnitName(OuIndex aOu, PuIndex aPu);
00090
00098 static QString orderUnitName(const QVariant& aOu);
00099
00107 static QString orderUnitName(const QVariant& aOu, const QVariant& aPu);
00108
00114 static PuIndex priceUnitIndex(const QVariant& aPu);
00115
00122 static QString priceUnitName(PuIndex aPu);
00123
00130 static QString priceUnitName(const QVariant& aPu);
00131
00138 static QString priceUnitAbbreviation(PuIndex aPu);
00139
00146 static QString priceUnitAbbreviation(const QVariant& aPu);
00147
00153 static StockModeIndex stockModeIndex(const QVariant& aMode);
00154
00161 static QString stockModeName(StockModeIndex aMode);
00162
00169 static QString stockModeName(const QVariant& aMode);
00170
00178 QString tripdateToString(const QVariant& aTripdate);
00179
00187 QString cprToString(const QVariant& aCpr);
00188
00196 QString dprToString(const QVariant& aDpr);
00197
00201 BpsDatastore* datastore() const;
00202
00216 QVariant cloneRecord(const QVariant& aKey, const QString& aName);
00217
00231 QVariant cloneArticle(const QVariant& aKey);
00232
00242 QVariant clonePartner(const QVariant& aKey);
00243
00251 bool lockRobot(const QVariant& aKey, int aTimeout = 0);
00252
00257 void unlockRobot(const QVariant& aKey);
00258
00264 bool isRobotLocked(const QVariant& aKey);
00265
00274 bool lockOrdertrip(const QVariant& aKey, int aTimeout = 0);
00275
00280 void unlockOrdertrip(const QVariant& aKey);
00281
00288 bool isOrdertripLocked(const QVariant& aKey);
00289
00298 bool lockOrderrow(const QVariant& aKey, int aTimeout = 0);
00299
00304 void unlockOrderrow(const QVariant& aKey);
00305
00311 bool isOrderrowLocked(const QVariant& aKey);
00312
00321 bool lockOrdercol(const QVariant& aKey, int aTimeout = 0);
00322
00327 void unlockOrdercol(const QVariant& aKey);
00328
00334 bool isOrdercolLocked(const QVariant& aKey);
00335
00343 bool lockOrderitem(const QVariant& aKey, int aTimeout = 0);
00344
00352 QVariantList lockOrderitems(const QVariantList& aKeys, int aTimeout = 0);
00353
00361 bool lockAllOrderitems(const QVariant& aKID, int aTimeout = 0);
00362
00370 bool lockAllOrderitems(const QVariantList& aKeys, int aTimeout = 0);
00371
00376 void unlockOrderitem(const QVariant& aKey);
00377
00383 void unlockOrderitems(const QVariant& aKID);
00384
00389 void unlockOrderitems(const QVariantList& aKeys);
00390
00396 bool isOrderitemLocked(const QVariant& aKey);
00397
00406 bool lockPurchaseOrder(const QVariant& aKey, int aTimeout = 0);
00407
00412 void unlockPurchaseOrder(const QVariant& aKey);
00413
00419 bool isPurchaseOrderLocked(const QVariant& aKey);
00420
00428 bool lockPurchaseItem(const QVariant& aKey, int aTimeout = 0);
00429
00437 QVariantList lockPurchaseItems(const QVariantList& aKeys, int aTimeout = 0);
00438
00443 void unlockPurchaseItem(const QVariant& aKey);
00444
00449 void unlockPurchaseItems(const QVariantList& aKeys);
00450
00456 bool isPurchaseItemLocked(const QVariant& aKey);
00457
00467 bool getSellPrices(
00468 const QVariant& aArticleKey,
00469 const QDateTime& aStart,
00470 QVariant& aDpr,
00471 QVariant& aCpr,
00472 QVariant& aCode);
00473
00496 bool getZoneMergeclass(
00497 const QVariant& aTripclassKey,
00498 const QVariant& aArticleclassKey,
00499 const QVariant& aPartnerclassKey,
00500 QVariant& aZoneKey,
00501 QVariant& aMergeclassKey);
00502
00707 QVariantMap makeOrderItem(const QVariantMap& aParams);
00708
00828 QVariant makeOrderPick(const QVariantMap& aParams);
00829
00836 void cancelOrderPick(const QVariant& aPickKey);
00837
00964 QVariantMap finishOrderRow(const QVariantMap& aParams);
00965
01192 QVariantMap makePurchaseItem(const QVariantMap& aParams);
01193
01209 bool finishPurchaseOrder(const QVariant& aOrderKey, bool aLock = false, int aTimeout = 0);
01210
01321 void setStock(const QVariantMap& aParams);
01322
01433 void addToStock(const QVariantMap& aParams);
01434 };
01435
01436 #endif // BPSDATASTORE_H