tplus-pos
Version:
pos module
76 lines (63 loc) • 3.74 kB
JavaScript
;
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