UNPKG

tplus-pos

Version:

pos module

76 lines (63 loc) 3.74 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.ReturnOtherProcessor = 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'); var _Format = require('../../../commom/Format'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** *其它结算方式退款 * @export * @class ReturnOtherProcessor * @auther tuzha */ var ReturnOtherProcessor = exports.ReturnOtherProcessor = function () { function ReturnOtherProcessor() { (0, _classCallCheck3.default)(this, ReturnOtherProcessor); } (0, _createClass3.default)(ReturnOtherProcessor, null, [{ key: 'execute', value: function execute(dto) { var totalCanReturnAmount = JSON.getCellValue(dto, "TotalCanReturnAmount"); //可退金额小于等于0 ,则其它的结算方式全部移除 if (totalCanReturnAmount <= 0) { for (var index = dto.RetailPaymentDetails.length - 1; index >= 0; index--) { var detail = dto.RetailPaymentDetails[index]; if (detail.SettleStyle.Code != _Enum.SettleCode.Coupon && detail.SettleStyle.Code != _Enum.SettleCode.Integral && detail.SettleStyle.Code != _Enum.SettleCode.Storage && detail.SettleStyle.Code != _Enum.SettleCode.Weixin && detail.SettleStyle.Code != _Enum.SettleCode.Ali) { dto.RetailPaymentDetails.splice(index, 1); } } } var _format = new _Format.Format(); //查找排除代金券,积分抵现,储值卡结算方式 var retailPaymentDetails = dto.RetailPaymentDetails.filter(function (it) { return it.SettleStyle.Code != _Enum.SettleCode.Coupon && it.SettleStyle.Code != _Enum.SettleCode.Integral && it.SettleStyle.Code != _Enum.SettleCode.Storage && it.SettleStyle.Code != _Enum.SettleCode.Weixin && it.SettleStyle.Code != _Enum.SettleCode.Ali; }); if (retailPaymentDetails && retailPaymentDetails.length > 0) { //根据结算编码排序 retailPaymentDetails = retailPaymentDetails.sort(function (a, b) { return a.Code - b.Code; }); //将结算金额赋值给第一个结算方式 retailPaymentDetails[0].Amount = -totalCanReturnAmount; retailPaymentDetails[0].OrigAmount = _format.FormatAmount(Math.Multiply(-totalCanReturnAmount, retailPaymentDetails[0].ExchangeRate)); //移除其它的结算方式 var retailStorageDetailList = JSON.Clone(dto.RetailPaymentDetails); dto.RetailPaymentDetails = []; for (var _index = 0; _index < retailStorageDetailList.length; _index++) { var _detail = retailStorageDetailList[_index]; if (_detail.SettleStyle.Code == _Enum.SettleCode.Coupon || _detail.SettleStyle.Code == _Enum.SettleCode.Integral || _detail.SettleStyle.Code == _Enum.SettleCode.Storage || _detail.SettleStyle.Code == _Enum.SettleCode.Weixin || _detail.SettleStyle.Code == _Enum.SettleCode.Ali || _detail.IdsettleStyle == retailPaymentDetails[0].IdsettleStyle) { dto.RetailPaymentDetails.push(_detail); } } } } }]); return ReturnOtherProcessor; }(); //# sourceMappingURL=ReturnOtherProcessor.js.map