UNPKG

tplus-pos

Version:

pos module

76 lines (61 loc) 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QuantityToQuantity2Processor = undefined; var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck"); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require("babel-runtime/helpers/createClass"); var _createClass3 = _interopRequireDefault(_createClass2); var _UnitTypeProcessor = require("../../unit/UnitTypeProcessor"); require("../../../commom/Challenger"); var _Enum = require("../../../commom/Enum"); var _tplusPoslogin = require("tplus-poslogin"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** *数量改变计算数量2 * * @export * @class QuantityToQuantity2Processor * @auther 马坚 */ var QuantityToQuantity2Processor = exports.QuantityToQuantity2Processor = function () { function QuantityToQuantity2Processor() { (0, _classCallCheck3.default)(this, QuantityToQuantity2Processor); } (0, _createClass3.default)(QuantityToQuantity2Processor, null, [{ key: "execute", value: function execute(detail) { var quantityDecimalDigits = (0, _tplusPoslogin.PosInitData)("QuantityPrecision"); var unitType = _UnitTypeProcessor.UnitTypeProcessor.execute(detail.Unit); if (unitType === _Enum.UnitType.Single) { return; } // 计量单位换算率 var unitExchangeRate = detail.UnitExchangeRate; var quantity = detail.Quantity; // 主计量 var idBaseUnit = detail.Inventory.Idunit; if (!idBaseUnit) { console.error("多计量单位时,主计量不能为空"); } var idUnit = detail.Idunit; if (idBaseUnit == idUnit) { // 计量单位1为主计量的场合,计算数量2 detail.Quantity2 = Math.Divide(quantity, unitExchangeRate, true).Round(quantityDecimalDigits); } else { // 当计量单位1为辅计量的场合,说明计量单位2为主计量 detail.Quantity2 = Math.Multiply(quantity, unitExchangeRate).Round(quantityDecimalDigits); } if (idBaseUnit == idUnit) { detail.BaseQuantity = detail.Quantity; detail.SubQuantity = detail.Quantity2; } else { detail.BaseQuantity = detail.Quantity2; detail.SubQuantity = detail.Quantity; } } }]); return QuantityToQuantity2Processor; }(); //# sourceMappingURL=QuantityToQuantity2Processor.js.map