UNPKG

tplus-pos

Version:

pos module

117 lines (103 loc) 5.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UpdateSalesRetailDetailProcessor = undefined; var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require("babel-runtime/helpers/createClass"); var _createClass3 = _interopRequireDefault(_createClass2); var _Enum = require("../../../commom/Enum"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var UpdateSalesRetailDetailProcessor = exports.UpdateSalesRetailDetailProcessor = function () { function UpdateSalesRetailDetailProcessor() { (0, _classCallCheck3.default)(this, UpdateSalesRetailDetailProcessor); } (0, _createClass3.default)(UpdateSalesRetailDetailProcessor, null, [{ key: "execute", value: function execute(retailDto, promotionDto, excePromotion) { var _this = this; var detailDTOs = []; var retailDetails = promotionDto.RetailDetails; promotionDto.RetailDetails = []; retailDetails.forEach(function (item) { var canPush = true; var key = _this.getDetailKey(item); detailDTOs = retailDto.RetailDetails.filter(function (it) { return _this.getDetailKey(it) === key; }); var existdto = excePromotion.RetailDetails.find(function (it) { return it.Idinventory == item.Idinventory && it.Idunit == item.Idunit; }); switch (excePromotion.PromotionType) { case _Enum.PromotionType.DR_PromotionType_05: //单品满赠 //此行不参加组合满赠,组合满返,整单满赠 // if (existdto && ((promotionDto.PromotionType == PromotionType.DR_PromotionType_05 && !promotionDto.IsMultipleGift) || promotionDto.PromotionType == PromotionType.DR_PromotionType_03 || promotionDto.PromotionType == PromotionType.DR_PromotionType_07 || promotionDto.PromotionType == PromotionType.DR_PromotionType_06)) { // canPush = false; // } //如果单品满赠,参加过的不能参与 if (detailDTOs && (promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_05 || promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_03 || promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_07 || promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_06)) { detailDTOs = detailDTOs.filter(function (it) { return !it.PromotionTypeStr || it.PromotionTypeStr.indexOf(excePromotion.PromotionTypeName) < 0; }); } break; case _Enum.PromotionType.DR_PromotionType_03: //组合满返 //不参加组合满赠 if (existdto && (promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_03 || promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_07)) { canPush = false; } break; case _Enum.PromotionType.DR_PromotionType_07: //组合满赠 //不参加组合满返,单品满赠,整单满赠 if (existdto && (promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_07 || promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_03 || promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_05 || promotionDto.PromotionType == _Enum.PromotionType.DR_PromotionType_06)) { canPush = false; } break; } //可以增加 if (canPush) { detailDTOs.forEach(function (item) { if (item.DiscountRate >= promotionDto.AboveDiscountEffect && !item.IsPresent) { promotionDto.RetailDetails.push(item); } }); } }); } /** * 获取当前列的key */ }, { key: "getDetailKey", value: function getDetailKey(detail) { var returnKey = ""; var keyFields = "FreeItem0,FreeItem1,FreeItem2,FreeItem3,FreeItem4,FreeItem5,FreeItem6,FreeItem7,FreeItem8,FreeItem9"; keyFields += ",Idinventory,Idunit,Idunit2,Batch,ProductionDate,ExpiryDate,ReturnSourceDetailId,SerialNumber"; var keyArrays = keyFields.split(","); for (var index = 0; index < keyArrays.length; index++) { var value = ""; if (JSON.getCellValue(detail, keyArrays[index])) { value = JSON.getCellValue(detail, keyArrays[index]); } if (value && (keyArrays[index] == 'ProductionDate' || keyArrays[index] == 'ExpiryDate')) { var date = value; if (typeof value == "string") { date = new Date(value); } value = date.toLocaleDateString(); } returnKey = returnKey + "|" + keyArrays[index] + "=" + value; } return returnKey; } }]); return UpdateSalesRetailDetailProcessor; }(); /** * 更新促销零售明细行 */ //# sourceMappingURL=UpdateSalesRetailDetailProcessor.js.map