Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

splitItem.js 105KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Bizgaze;
  11. (function (Bizgaze) {
  12. let Apps;
  13. (function (Apps) {
  14. let Transact;
  15. (function (Transact) {
  16. let Controls;
  17. (function (Controls) {
  18. class SplitItem {
  19. constructor() {
  20. this.ItemId = 0;
  21. this.rowid = 0;
  22. this.InventoryApplyTypeId = 1;
  23. this.Type = "";
  24. this.SplitDcItemList = [];
  25. this.containerid = "";
  26. this.Ids = [0];
  27. }
  28. jsFiles() {
  29. return ["apps/transact/controls/inventory/splitItem.js", "apps/transact/controls/pricelist/mrp.js", "apps/transact/controls/inventory/batch.js", "apps/transact/controls/inventory/dcitem.component.js", "apps/transact/managers/inventory/dcmanager.js", "apps/transact/managers/orders/ordermanager.js"];
  30. }
  31. cssFiles() {
  32. return [];
  33. }
  34. html(id, containerid) {
  35. let html = '<div id="form-container-DcSplitItem"><form id="formValidate_DcSplitItem" method="post" data-validate="parsley"><header class="header bg-white"> ';
  36. if ($("#hdn_ExchangeDC_" + this.rowid).val() == "true") {
  37. html += '<strong class="text-dark Title" id="div_ItemName">' + $("#Itemname" + this.rowid).val() + '-' + $("#ItemSku" + this.rowid).val() + '(Exchange)' + '</strong>';
  38. }
  39. else {
  40. html += '<strong class="text-dark Title" id="div_ItemName">' + $("#Itemname" + this.rowid).val() + '-' + $("#ItemSku" + this.rowid).val() + '</strong>';
  41. }
  42. html += '<input type="hidden" id="hf_ItemId" value="' + SplitItem.Instance().ItemId + '"><input type="hidden" id="hf_Exchange" value="' + $("#hdn_ExchangeDC_" + this.rowid).val() + '">' +
  43. '<div class="btn-group ml-auto">' +
  44. '<div id="list-dynamicforms" class="dropdown-menu dropdown-menu-right shadow"></div>' +
  45. '<a class="btn btn-sm"><i class="ti-help-alt" title="help" target="_blank"></i></a>' +
  46. '</div></header><div style="overflow-x:hidden;" class="scrollable"><div id="dc_splititem_errormessage"></div><div class="card mt-5" id="DcItemQty"><div class="card-body">';
  47. if ($("#txt_OrderId" + this.rowid).val() != "0" && $("#txt_OrderId" + this.rowid).val() != undefined)
  48. html += '<span class="ItemPendingQty " > Pending Qty: <span id="span_ItemPendingQty" > ' + $("#pendingquantity_" + this.rowid).text() + ' </span></span>';
  49. html += '<span class="Avail"> Avail Qty: <span class="hf_ItemAvailQty_MRP" id="span_ItemAvailQty">' + $("#Item_Availqty" + this.rowid).text() + '</span></span><input type="hidden" id="hf_Pendingqty" value=' + $("#pendingquantity" + this.rowid).text() + '><input type="hidden" id="hd_value" value="0"><input type="hidden" id = "hd_AvailQty"/><input type="hidden" id = "hd_AvailpacksAndPiece" />' +
  50. '</div></div><div class="card" id="div_splitMrpandBatch"><div class="card-body"><div class="row lineheight wrapper-sm" style="border-bottom: 2px solid grey;"><div class="col-7 min-padding"><strong class="EnabledType ml-20">' + this.Type + ' (Quantity)' + '</strong></div>' +
  51. '<div class="div_SplitchkPieces custom-control custom-checkbox checkbox-primary col-1 text-right">' +
  52. '<input type="checkbox" class="custom-control-input" id="Splitchk_SplitPieces"><label class="custom-control-label" for= "Splitchk_SplitPieces">Pieces</label></div>' +
  53. '<div class="div_SplitchkPacks custom-control custom-checkbox checkbox-primary col-1 text-right hidden">' +
  54. '<input type="checkbox" class="custom-control-input" id="Splitchk_SplitPacks"><label class="custom-control-label" for= "Splitchk_SplitPacks">Packs</label></div>' +
  55. '<div class="div_SplitchkQuantity custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id = "SplitchkEnableQuantity" >' +
  56. '<label class="custom-control-label" for= "SplitchkEnableQuantity">Quantity</label></div></div>' +
  57. '<ul class="list-group no-borders" id="list-group"><li class="list-group-item ' + SplitItem.instance.Type + '-row added-row hidden"></li></ul>' +
  58. '<div class="Serial-row added-row hidden" ></div>';
  59. if (Controls.DcItem.Instance().IsWidget == false) {
  60. html += '<div class="row"><a href="javascript:;" class="default pull-left" title = "Add" data-original-title="Add"><span class="pull-right btn" style = "text-decoration:underline;color:deepskyblue" onclick="Bizgaze.Apps.Transact.Controls.SplitItem.instance.AddSplitEmptyRow(0);" id = "btnDc_BatchMrp">Add</span></a></div>';
  61. }
  62. html += '</div></div></div></div><footer class="bg-white modal-footer pa-10"><a href = "javascript:;" id = "btn-dcsplititem-Close" class="btn btn-light btn-sm mr-auto ">Close</a><a href = "javascript:;" id = "btnSaveItemSplit" class="btn btn-primary btn-sm" > Save </a > </footer></form > </div>';
  63. return html;
  64. }
  65. load(id, containerid, callback) {
  66. $("#divAddProperty").height($(window).outerHeight() - 148);
  67. this.containerid = containerid;
  68. $("#btn-dcsplititem-Close").click(function () {
  69. $('#' + containerid).modal('hide');
  70. $('#' + containerid).remove();
  71. });
  72. this.InventoryApplyTypeId = Bizgaze.Apps.Transact.Controls.DcItem.Instance().InventoryApplyType;
  73. if (this.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  74. $(".div_SplitchkPieces").addClass("hidden");
  75. $(".div_SplitchkQuantity").addClass("hidden");
  76. }
  77. else if (this.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  78. $(".div_SplitchkPieces").addClass("hidden");
  79. $(".div_SplitchkPacks").removeClass("hidden");
  80. }
  81. else if (this.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  82. $(".div_SplitchkPieces").addClass("hidden");
  83. }
  84. else {
  85. $(".div_SplitchkPieces").removeClass("hidden");
  86. $(".div_SplitchkQuantity").removeClass("hidden");
  87. }
  88. $("#Splitchk_SplitPieces").on("click", function () {
  89. var Class = "Mrp-row";
  90. if (SplitItem.instance.Type == "Batch") {
  91. Class = "Batch-row";
  92. }
  93. $("." + Class).each(function () {
  94. var rowid = $(this).find("#hf_rowid").val();
  95. if (rowid != undefined) {
  96. var packs = Number(($("#txt_Cartons" + rowid).val() == undefined) ? 0 : $("#txt_Cartons" + rowid).val());
  97. var pieces = Number(($("#txt_Pieces" + rowid).val() == undefined) ? 0 : $("#txt_Pieces" + rowid).val());
  98. if ($("#Splitchk_SplitPieces").is(":checked")) {
  99. $('#SplitchkEnableQuantity').prop('disabled', true);
  100. var html2 = '<div"><div class="row"><div class="col-6"><div class="floating-label-form-group form-group floating-label"><div class="input-group"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_minus btn-icon-wrap" style="color:deepskyblue" id="span_minus"><i class="fa fa-minus quantity-minus pull-left"></i></span></a></span>' +
  101. '<input id="txt_Cartons' + rowid + '" value="' + packs + '" min="0" value="" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Cartons" data-label="Cartons" class="allownumericonly txtDC_CartonsCount txtDC_ItemCount form-control value-control floating-label-control text-center" type="text" style="width:45px"></div></div></div><div class="col-6"><div class="floating-label-form-group form-group floating-label ">' +
  102. '<div class="input-group"><input value="' + pieces + '" min="0" onchange="Bizgaze.Apps.Transact.Controls.SplitItem.Instance().checkPieces(this,' + rowid + ')" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Pieces" data-label="Pieces" class="allownumericonly txtDC_PieceCount txtDC_ItemCount form-control value-control floating-label-control text-center" id="txt_Pieces' + rowid + '" type = "text" style="width:45px"> ' +
  103. '<span class=""><a class="" href="javascript:;"><span class="quantity_plus btn-icon-wrap" onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" style="color:deepskyblue" id="span_plus"><i class="fa fa-plus quantity-minus pull-left" id="txt_plus"></i></span></a></span></div></div ></div ></div>';
  104. }
  105. else {
  106. $('#SplitchkEnableQuantity').prop('disabled', false);
  107. var html2 = '<div>' +
  108. '<div class="floating-label-form-group" id="Carton_Pieces_' + rowid + '"><div class="input-group" id="div_Cartons">' +
  109. "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='quantity_minus btn-icon-wrap' style='color:deepskyblue' id='span_minus" + rowid + "'><i class='fa fa-minus quantity-minus pull-left'></i></span></a></span>" +
  110. '<input type="text" id="txt_Cartons' + rowid + '" min="0" style="margin-top:10px;" value="' + packs + '" class="txtDC_CartonsCount form-control allownumericonly value-control floating-label-control text-center" data-isdynamic="false" placeholder="Cartons" data-placeholder="Cartons" data-label="Cartons" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)">' +
  111. "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='quantity_plus btn-icon-wrap' style='color:deepskyblue' id='span_plus" + rowid + "'><i class='fa fa-plus quantity-plus pull-left' id='txt_plus'+ rowid + ''></i></span></a></span>" +
  112. '</div></div></div>';
  113. }
  114. $('.SpiltCarton_Pieces_class_' + rowid).html(html2);
  115. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_plus").unbind().click(function () {
  116. Bizgaze.Apps.Transact.Controls.DcItem.Instance().plus($('.SpiltCarton_Pieces_class_' + rowid), rowid, true);
  117. });
  118. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_minus").unbind().click(function () {
  119. Bizgaze.Apps.Transact.Controls.DcItem.Instance().minus($('.SpiltCarton_Pieces_class_' + rowid), rowid, true);
  120. });
  121. $('.SpiltCarton_Pieces_class_' + rowid).find(".txtDC_PieceCount").unbind().click(function () {
  122. $("#hf_packs_onclick" + rowid).val("0");
  123. $("#hf_Pieces_onclick" + rowid).val("1");
  124. });
  125. $('.SpiltCarton_Pieces_class_' + rowid).find(".txtDC_CartonsCount").unbind().click(function () {
  126. $("#hf_packs_onclick" + rowid).val("1");
  127. $("#hf_Pieces_onclick" + rowid).val("0");
  128. });
  129. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Cartons" + rowid).keyup(function () {
  130. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  131. });
  132. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Quantity" + rowid).keyup(function () {
  133. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  134. });
  135. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).keyup(function () {
  136. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  137. });
  138. }
  139. });
  140. });
  141. $("#SplitchkEnableQuantity").on("click", function () {
  142. var Class = "Mrp-row";
  143. if (SplitItem.instance.Type == "Batch") {
  144. Class = "Batch-row";
  145. }
  146. $("." + Class).each(function () {
  147. var rowid = $(this).find("#hf_rowid").val();
  148. var packs = Number(($("#txt_Cartons" + rowid).val() == undefined) ? 0 : $("#txt_Cartons" + rowid).val());
  149. var pieces = Number(($("#txt_Pieces" + rowid).val() == undefined) ? 0 : $("#txt_Pieces" + rowid).val());
  150. var Quantity = (SplitItem.instance.PackCount * Number(SplitItem.instance.PackSize) * packs) + (pieces * Number(SplitItem.instance.PackSize));
  151. if (Controls.DcItem.instance.IsEditDC == true && $("#hf_splitdcitemqty" + rowid).val() != 0 && Quantity == 0) {
  152. Quantity = Number($("#hf_splitdcitemqty" + rowid).val());
  153. }
  154. var html2 = '<div>' +
  155. '<div class="floating-label-form-group" id="Qty_Carton_Pieces_' + rowid + '">' +
  156. '<div class="input-group" id="div_Cartons">' +
  157. "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='btn-icon-wrap quantity_minus' style='color:deepskyblue' id='span_minus' + rowid + ''><i class='fa fa-minus quantity-minus pull-left' id='txt_minus" + rowid + "'></i></span></a></span>";
  158. if ($("#SplitchkEnableQuantity").is(":checked")) {
  159. $('#Splitchk_SplitPieces').prop('disabled', true);
  160. $("#span_ItemAvailQty").text($("#availableqty_" + SplitItem.Instance().rowid).val().toString());
  161. $("#span_ItemPendingQty").text($("#hfpendingqty" + SplitItem.Instance().rowid).val().toString());
  162. html2 += '<input type="text" style="margin-top:10px;" id="txt_Quantity' + rowid + '" min="0" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" value="' + Quantity + '" class="allownumericonly mr-20 txtDC_CartonsCount form-control value-control floating-label-control text-center" data-isdynamic="false" placeholder="Quantity" data-placeholder="Quantity" data-label="Quantity">';
  163. }
  164. else {
  165. $('#Splitchk_SplitPieces').prop('disabled', false);
  166. $("#span_ItemAvailQty").text($("#Item_Availqty" + SplitItem.Instance().rowid).text());
  167. $("#span_ItemPendingQty").text($("#pendingquantity_" + SplitItem.Instance().rowid).text());
  168. var Quantity = Number($("#txt_Quantity" + rowid).val());
  169. if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  170. pieces = Number(Quantity - (packs * SplitItem.Instance().PackCount * SplitItem.Instance().PackSize)) / Number(SplitItem.Instance().PackSize);
  171. pieces = pieces == undefined ? 0 : pieces;
  172. html2 += '<input type="numbers" id="txt_Pieces' + rowid + '" min="0" style="margin-top:10px;" value="' + pieces + '" class="txtDC_PiecesCount form-control floating-label-control text-center txt_cartonsvalue' + rowid + '" data-isdynamic="false" placeholder="Pieces" data-placeholder="Pieces" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-label="Pieces" >';
  173. }
  174. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  175. packs = (Quantity / (Number(SplitItem.Instance().PackCount) * Number(SplitItem.Instance().PackSize)));
  176. pieces = Number(Quantity - (packs * SplitItem.Instance().PackCount * SplitItem.Instance().PackSize)) / Number(SplitItem.Instance().PackSize);
  177. html2 += '<input type="text" id="txt_Cartons' + rowid + '" min="0" style="width:40px;margin-top:10px;" value="' + packs + '" class="txtDC_CartonsCount form-control allownumericonly value-control floating-label-control text-center" data-isdynamic="false" placeholder="Cartons" data-placeholder="Cartons" data-label="Cartons" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)"><input value="' + pieces + '" min="0" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Pieces" data-label="Pieces" class="allownumericonly txtDC_PieceCount form-control value-control floating-label-control text-center allownumericonly" id="txt_Pieces' + rowid + '" type="text" style="width:35px;margin-top:10px;margin-left:30px;"> ';
  178. }
  179. else {
  180. packs = (Quantity / (Number(SplitItem.Instance().PackCount) * Number(SplitItem.Instance().PackSize)));
  181. packs = packs == undefined ? 0 : packs;
  182. html2 += '<input type="text" id="txt_Cartons' + rowid + '" min="0" style="margin-top:10px;" value="' + packs + '" class="txtDC_CartonsCount form-control allownumericonly value-control floating-label-control text-center" data-isdynamic="false" placeholder="Cartons" data-placeholder="Cartons" data-label="Cartons" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)">';
  183. }
  184. }
  185. html2 += "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='btn-icon-wrap quantity_plus' style='color:deepskyblue' id='span_plus' + rowid + ''><i class='fa fa-plus quantity-minus pull-left' id='txt_plus" + rowid + "'></i></span></a></span>" +
  186. '</div></div></div>';
  187. $('.SpiltCarton_Pieces_class_' + rowid).html(html2);
  188. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsWidget) {
  189. $("#txt_Cartons" + rowid).prop('disabled', true);
  190. $("#txt_Quantity" + rowid).prop('disabled', true);
  191. $("#txt_plus" + rowid).addClass('hidden');
  192. $("#txt_minus" + rowid).addClass('hidden');
  193. }
  194. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_plus").unbind().click(function () {
  195. Bizgaze.Apps.Transact.Controls.DcItem.Instance().plus($('.SpiltCarton_Pieces_class_' + rowid), rowid, true);
  196. });
  197. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_minus").unbind().click(function () {
  198. Bizgaze.Apps.Transact.Controls.DcItem.Instance().minus($('.SpiltCarton_Pieces_class_' + rowid), rowid, true);
  199. });
  200. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Cartons" + rowid).keyup(function () {
  201. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  202. });
  203. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Quantity" + rowid).keyup(function () {
  204. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  205. });
  206. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).keyup(function () {
  207. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  208. });
  209. });
  210. });
  211. $("#Splitchk_SplitPacks").on("click", function () {
  212. var Class = "Mrp-row";
  213. if (SplitItem.instance.Type == "Batch") {
  214. Class = "Batch-row";
  215. }
  216. $("." + Class).each(function () {
  217. var rowid = $(this).find("#hf_rowid").val();
  218. if (rowid != undefined) {
  219. var packs = Number(($("#txt_Cartons" + rowid).val() == undefined) ? 0 : $("#txt_Cartons" + rowid).val());
  220. var pieces = Number(($("#txt_Pieces" + rowid).val() == undefined) ? 0 : $("#txt_Pieces" + rowid).val());
  221. if ($("#Splitchk_SplitPacks").is(":checked")) {
  222. $('#SplitchkEnableQuantity').prop('disabled', true);
  223. var html2 = '<div"><div class="row"><div class="col-6"><div class="floating-label-form-group form-group floating-label"><div class="input-group"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_minus btn-icon-wrap" style="color:deepskyblue" id="span_minus"><i class="fa fa-minus quantity-minus pull-left"></i></span></a></span>' +
  224. '<input id="txt_Cartons' + rowid + '" value="' + packs + '" min="0" value="" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Cartons" data-label="Cartons" class="allownumericonly txtDC_CartonsCount txtDC_ItemCount form-control value-control floating-label-control text-center" type="text" style="width:45px"></div></div></div><div class="col-6"><div class="floating-label-form-group form-group floating-label ">' +
  225. '<div class="input-group"><input value="' + pieces + '" min="0" onchange="Bizgaze.Apps.Transact.Controls.SplitItem.Instance().checkPieces(this,' + rowid + ')" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Pieces" data-label="Pieces" class="allownumericonly txtDC_PieceCount txtDC_ItemCount form-control value-control floating-label-control text-center" id="txt_Pieces' + rowid + '" type = "text" style="width:45px"> ' +
  226. '<span class=""><a class="" href="javascript:;"><span class="quantity_plus btn-icon-wrap" onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" style="color:deepskyblue" id="span_plus"><i class="fa fa-plus quantity-minus pull-left" id="txt_plus"></i></span></a></span></div></div ></div ></div>';
  227. }
  228. else {
  229. $('#SplitchkEnableQuantity').prop('disabled', false);
  230. var html2 = '<div>' +
  231. '<div class="floating-label-form-group" id="Carton_Pieces_' + rowid + '"><div class="input-group" id="div_Cartons">' +
  232. "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='quantity_minus btn-icon-wrap' style='color:deepskyblue' id='span_minus" + rowid + "'><i class='fa fa-minus quantity-minus pull-left'></i></span></a></span>" +
  233. '<input value="' + pieces + '" min="0" onchange="Bizgaze.Apps.Transact.Controls.SplitItem.Instance().checkPieces(this,' + rowid + ')" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Pieces" data-label="Pieces" class="allownumericonly txtDC_PieceCount txtDC_ItemCount form-control value-control floating-label-control text-center" id="txt_Pieces' + rowid + '" type = "text" style="width:45px">' +
  234. "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='quantity_plus btn-icon-wrap' style='color:deepskyblue' id='span_plus" + rowid + "'><i class='fa fa-plus quantity-plus pull-left' id='txt_plus'+ rowid + ''></i></span></a></span>" +
  235. '</div></div></div>';
  236. }
  237. $('.SpiltCarton_Pieces_class_' + rowid).html(html2);
  238. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_plus").unbind().click(function () {
  239. Bizgaze.Apps.Transact.Controls.DcItem.Instance().plus($('.SpiltCarton_Pieces_class_' + rowid), rowid, true);
  240. });
  241. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_minus").unbind().click(function () {
  242. Bizgaze.Apps.Transact.Controls.DcItem.Instance().minus($('.SpiltCarton_Pieces_class_' + rowid), rowid, true);
  243. });
  244. $('.SpiltCarton_Pieces_class_' + rowid).find(".txtDC_PieceCount").unbind().click(function () {
  245. $("#hf_packs_onclick" + rowid).val("0");
  246. $("#hf_Pieces_onclick" + rowid).val("1");
  247. });
  248. $('.SpiltCarton_Pieces_class_' + rowid).find(".txtDC_CartonsCount").unbind().click(function () {
  249. $("#hf_packs_onclick" + rowid).val("1");
  250. $("#hf_Pieces_onclick" + rowid).val("0");
  251. });
  252. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Cartons" + rowid).keyup(function () {
  253. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  254. });
  255. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Quantity" + rowid).keyup(function () {
  256. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  257. });
  258. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).keyup(function () {
  259. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  260. });
  261. }
  262. });
  263. });
  264. $("#btnSaveItemSplit").click(function () {
  265. let controlid = "form-container-DcSplitItem";
  266. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation(controlid);
  267. if (result == false) {
  268. MessageHelper.Instance().showError("Mandatory Fields are missing", "dc_splititem_errormessage");
  269. return false;
  270. }
  271. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsWidget)
  272. SplitItem.instance.SaveDcItem();
  273. else
  274. SplitItem.instance.SaveItemAllocation(SplitItem.instance.rowid);
  275. });
  276. this.init();
  277. }
  278. init() {
  279. var MrpExsit = false;
  280. if (this.SplitDcItemList.length > 0) {
  281. var MrpExsit = true;
  282. for (var i = 0; i < this.SplitDcItemList.length; i++) {
  283. if (this.SplitDcItemList[i].ItemId == this.ItemId) {
  284. if (SplitItem.instance.Type == "MRP")
  285. SplitItem.instance.Ids.push(this.SplitDcItemList[i].MrpId);
  286. else
  287. SplitItem.instance.Ids.push(this.SplitDcItemList[i].BatchId);
  288. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsFormEdit == true) {
  289. if (this.SplitDcItemList[i].OrderItemId == this.OrderItemId) {
  290. this.AddBatchMrpRow(this.SplitDcItemList[i]);
  291. }
  292. }
  293. else {
  294. this.AddBatchMrpRow(this.SplitDcItemList[i]);
  295. }
  296. }
  297. }
  298. }
  299. if (!MrpExsit && !Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsWidget) {
  300. this.AddSplitEmptyRow(0);
  301. }
  302. }
  303. AddSplitEmptyRow(rowid) {
  304. var SplitEmptyRow = {
  305. ItemId: 0,
  306. ItemName: "",
  307. Quantity: "",
  308. PendingQty: 0,
  309. DcItemId: 0,
  310. DeliveredQty: 0,
  311. MrpId: 0,
  312. Mrp: "",
  313. BatchId: 0,
  314. BatchNo: "",
  315. SKU: 0,
  316. OrderItemId: 0,
  317. OldMRPId: 0,
  318. OldMRP: 0,
  319. Cartons: "",
  320. Pieces: "",
  321. DamagedQty: 0,
  322. };
  323. var Qty = false;
  324. var MRP_ = false;
  325. $(".SplitDcItemListRow").each(function () {
  326. var Type = Bizgaze.Apps.Transact.Controls.SplitItem.Instance().Type;
  327. var len = $(this).find("#hf_rowid").val();
  328. if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  329. if ($(this).find(".txtDC_PiecesCount").val() == "") {
  330. Qty = true;
  331. }
  332. }
  333. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  334. if ($(this).find(".txtDC_CartonsCount").val() == "") {
  335. Qty = true;
  336. }
  337. }
  338. else {
  339. if ($(this).find(".txtDC_CartonsCount").val() == "") {
  340. Qty = true;
  341. }
  342. }
  343. var MrpId = Number($("#select_" + Type + len).val());
  344. if (MrpId == 0) {
  345. MRP_ = true;
  346. }
  347. });
  348. if (MRP_) {
  349. if (SplitItem.instance.Type == "Batch") {
  350. MessageHelper.Instance().showError("Please Select Batch/MRP", "dc_splititem_errormessage");
  351. return false;
  352. }
  353. else {
  354. MessageHelper.Instance().showError("Please Select MRP", "dc_splititem_errormessage");
  355. return false;
  356. }
  357. }
  358. if (Qty) {
  359. MessageHelper.Instance().showError("Please Add Quantity.", "dc_splititem_errormessage");
  360. return false;
  361. }
  362. Bizgaze.Apps.Transact.Controls.SplitItem.instance.AddBatchMrpRow(SplitEmptyRow);
  363. }
  364. AddBatchMrpRow(row) {
  365. var rowid = moment().valueOf();
  366. var Class = "";
  367. var MRP_hidden = "";
  368. var Type = SplitItem.instance.Type;
  369. if (SplitItem.instance.Type == "MRP") {
  370. Class = "Mrp-row Mrp-addedrow";
  371. MRP_hidden = "hidden";
  372. }
  373. else if (SplitItem.instance.Type == "Batch") {
  374. Class = "Batch-row Batch-addedrow";
  375. }
  376. else if (SplitItem.instance.Type == "Serial") {
  377. Class = "Serial-row Serial-addedrow";
  378. }
  379. var html = '<div class="row ' + Class + ' SplitDcItemListRow" id="div_' + rowid + '"><input type="hidden" id="hf_rowid" value="' + rowid + '"><input type="hidden" id="txt_id' + rowid + '" value="">' +
  380. '<li class="col-sm-12 ' + Type + '-row-added row" id="li_' + rowid + '"><input type="hidden" id="hf_DcItemId' + rowid + '" value=' + row.DcItemId + '><input type="hidden" id="hf_OrderItemId' + rowid + '" value=' + row.OrderItemId + '><input type="hidden" id="hf_splitdcitemqty' + rowid + '" value=' + row.Quantity + '><input type="hidden" id="hf_DamagedQty' + rowid + '" value="' + row.DamagedQty + '">' +
  381. '<input type="hidden" id="hf_oldMrpId_' + rowid + '" value=""><input type="hidden" id="txt_batchno' + rowid + '" value="' + row.BatchNo + '"><input type="hidden" id="txt_mrp' + rowid + '" value="' + row.Mrp + '"><input type="hidden" id="hf_packs_onclick' + rowid + '" value="1"><input type="hidden" id="hf_Pieces_onclick' + rowid + '" value="0"><div class="row col - sm - 7" id="div_Split' + rowid + '">' +
  382. '<div class="col-sm-8 mt-20"><a class="fa fa-trash-o m-t fa-md fa-lg pull-left" style="margin-top:15px;color:red;" title="Delete ' + SplitItem.instance.Type + '" onclick="javascript: return Bizgaze.Apps.Transact.Controls.SplitItem.instance.removeRow(' + rowid + ',' + row.DcItemId + ')"></a><div class="row mt - 10"><select style="width: 100 %; " id="select_' + SplitItem.instance.Type + rowid + '" value="" class="txt_SearchItems select_' + SplitItem.instance.Type + ' required form-control floating-label-control select2-hidden-accessible" data-isdynamic="false" placeholder="Select ' + SplitItem.instance.Type + '" data-placeholder="Select ' + SplitItem.instance.Type + '" data-label="Select "' + SplitItem.instance.Type + '""></select><input type="hidden" class="hf_' + SplitItem.instance.Type + '_Id" id="hf_Id' + SplitItem.instance.Type + rowid + '"/><input type="hidden" id="hfold_' + SplitItem.instance.Type + rowid + '"><input type="hidden" id="hf_' + SplitItem.instance.Type + '_Id_' + rowid + '"></div></div>' +
  383. '<input type="hidden" id="MRP_Qty' + rowid + '" class="MRP_Qty" value="0"><div class="col-sm-2 ' + MRP_hidden + '"><div class="floating-label-form-group"><label class="text-center">MRP</label><div class="input-group"><input type="text" class="Batch_Mrp' + rowid + ' text-center form-control" disabled="disabled" placeholder="0.00" value="' + row.Mrp + '"><input type="hidden" class="hf_MRPId' + rowid + '"/></div></div></div></div>' +
  384. '<div class="mt-10 col-sm-4"><div id="Split_Carton_Pieces" class="SpiltCarton_Pieces_class_' + rowid + '"></div ></div >';
  385. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsWidget == true) {
  386. html += '<div class="col-sm-1 div_Moreinfo' + rowid + ' mt-30"><a href="javascript:;" class="default pull-left" title="Edit" data-original-title="Edit"><span class="pull-right btn" style="text-decoration:underline;color:deepskyblue" id="btnDcItem_Edit" onclick="Bizgaze.Apps.Transact.Controls.SplitItem.Instance().bindQuantityDetails(' + row.DcItemId + ',' + rowid + ')">More Info</span></a>';
  387. }
  388. html += '</li></div> ';
  389. $("." + Type + "-row:last").before(html);
  390. var element = $("." + Type + "-row:last");
  391. $("#select_" + SplitItem.instance.Type + rowid).on("change", function () {
  392. let obj = [];
  393. obj.push({
  394. ItemId: SplitItem.instance.ItemId,
  395. element: null,
  396. });
  397. if ($("#select_" + SplitItem.instance.Type + rowid + " option:selected").text() == 'Create MRP') {
  398. var itemobj = Bizgaze.Apps.Transact.Controls.MRP.Instance();
  399. itemobj.rowlength = rowid;
  400. Unibase.Platform.Helpers.NavigationHelper.Instance().popup(obj, "", itemobj, null, Unibase.Platform.Helpers.Size.DockLeft);
  401. }
  402. else if ($("#select_" + SplitItem.instance.Type + rowid + " option:selected").text() == 'Create Batch') {
  403. var item = Bizgaze.Apps.Transact.Controls.Batch.Instance();
  404. item.rowlength = rowid;
  405. Unibase.Platform.Helpers.NavigationHelper.Instance().popup(SplitItem.instance.ItemId, "", item, null, Unibase.Platform.Helpers.Size.DockLeft);
  406. }
  407. });
  408. var hiddenclass = "";
  409. var disabled = "";
  410. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsWidget == true) {
  411. hiddenclass = "hidden";
  412. disabled = "disabled";
  413. }
  414. if (this.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces && $('#SplitchkEnableQuantity').is(":checked") == false) {
  415. var html2 = '<div class="mt-10"><div class="row"><div class="col-6"><div class="floating-label-form-group form-group floating-label">' +
  416. '<div class="input-group"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_minus btn-icon-wrap"' + hiddenclass + '" style="color: deepskyblue" id="span_minus"' + rowid + '"><i class="fa fa-minus pull-left" id="txt_minus"' + rowid + '"></i></span></a></span>' +
  417. '<input id="txt_Cartons' + rowid + '" min="0" value="' + row.Cartons + '" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Cartons" data-label="Cartons" class="allownumericonly txtDC_CartonsCount form-control value-control floating-label-control text-center" type="text" style="width:45px">' +
  418. '<input type = "hidden" id = "hdn_Cartons' + rowid + '" value = "' + row.Cartons + '"></div></div></div><div class="col-6"><div class="floating-label-form-group form-group floating-label ">' +
  419. '<div class="input-group"><input value="' + row.Pieces + '" min="0" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Pieces" data-label="Pieces" class="allownumericonly txtDC_PieceCount form-control value-control floating-label-control text-center" id="txt_Pieces' + rowid + '" onchange="Bizgaze.Apps.Transact.Controls.SplitItem.Instance().checkPieces(this,' + rowid + ')" type = "text" style="width:45px"> ' +
  420. '<input type="hidden" id="hdn_Pieces' + rowid + '" value="' + row.Pieces + '"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_plus btn-icon-wrap"' + hiddenclass + '" style="color: deepskyblue" id="span_plus"' + rowid + '"><i class="fa fa-plus pull-left"; id="txt_plus"' + rowid + '"></i></span></a></span>' +
  421. '</div></div ></div ></div>';
  422. }
  423. else if (($("#Splitchk_SplitPieces").is(":checked") || $("#chk_Pieces").is(":checked") || $("#chksplitpieces_" + SplitItem.instance.rowid).val() == "true" || (row.Pieces != 0 && row.Pieces != "")) && this.InventoryApplyTypeId != Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces && this.InventoryApplyTypeId != Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity && $('#SplitchkEnableQuantity').is("checked") == false) {
  424. if (row.Pieces == "0")
  425. row.Pieces = "";
  426. $("#Splitchk_SplitPieces").prop("checked", true);
  427. $('#SplitchkEnableQuantity').prop('disabled', true);
  428. $('#Splitchk_SplitPieces').prop('disabled', true);
  429. var html2 = '<div class="mt-10"><div class="row"><div class="col-6"><div class="floating-label-form-group form-group floating-label">' +
  430. '<div class="input-group"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_minus btn-icon-wrap"' + hiddenclass + '" style="color: deepskyblue" id="span_minus"' + rowid + '"><i class="fa fa-minus pull-left" id="txt_minus"' + rowid + '"></i></span></a></span>' +
  431. '<input id="txt_Cartons' + rowid + '" min="0" value="' + row.Cartons + '" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Cartons" data-label="Cartons" class="allownumericonly txtDC_CartonsCount form-control value-control floating-label-control text-center" type="text" style="width:45px">' +
  432. '<input type = "hidden" id = "hdn_Cartons' + rowid + '" value = "' + row.Cartons + '"></div></div></div><div class="col-6"><div class="floating-label-form-group form-group floating-label ">' +
  433. '<div class="input-group"><input value="' + row.Pieces + '" min="0" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Pieces" data-label="Pieces" class="allownumericonly txtDC_PieceCount form-control value-control floating-label-control text-center" id="txt_Pieces' + rowid + '" onchange="Bizgaze.Apps.Transact.Controls.SplitItem.Instance().checkPieces(this,' + rowid + ')" type = "text" style="width:45px"> ' +
  434. '<input type="hidden" id="hdn_Pieces' + rowid + '" value="' + row.Pieces + '"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_plus btn-icon-wrap"' + hiddenclass + '" style="color: deepskyblue" id="span_plus"' + rowid + '"><i class="fa fa-plus pull-left"; id="txt_plus"' + rowid + '"></i></span></a></span>' +
  435. '</div></div ></div ></div>';
  436. }
  437. else if (($("#Splitchk_SplitPacks").is(":checked") || $("#chksplitpacks_" + SplitItem.instance.rowid).val() == "true" || row.Cartons != 0) && this.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  438. if (row.Pieces == "0")
  439. row.Pieces = "";
  440. $("#Splitchk_SplitPacks").prop("checked", true);
  441. $('#SplitchkEnableQuantity').prop('disabled', true);
  442. $('#Splitchk_SplitPacks').prop('disabled', true);
  443. var html2 = '<div"><div class="row"><div class="col-6"><div class="floating-label-form-group form-group floating-label">' +
  444. '<div class="input-group"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_minus btn-icon-wrap"' + hiddenclass + '" style="color: deepskyblue" id="span_minus"' + rowid + '"><i class="fa fa-minus pull-left" id="txt_minus"' + rowid + '"></i></span></a></span>' +
  445. '<input id="txt_Cartons' + rowid + '" min="0" value="' + row.Cartons + '" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Cartons" data-label="Cartons" class="allownumericonly txtDC_CartonsCount form-control value-control floating-label-control text-center" type="text" style="width:45px">' +
  446. '<input type = "hidden" id = "hdn_Cartons' + rowid + '" value = "' + row.Cartons + '"></div></div></div><div class="col-6"><div class="floating-label-form-group form-group floating-label ">' +
  447. '<div class="input-group"><input value="' + row.Pieces + '" min="0" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="0" placeholder="Pieces" data-label="Pieces" class="allownumericonly txtDC_PieceCount form-control value-control floating-label-control text-center" id="txt_Pieces' + rowid + '" onchange="Bizgaze.Apps.Transact.Controls.SplitItem.Instance().checkPieces(this,' + rowid + ')" type = "text" style="width:45px"> ' +
  448. '<input type="hidden" id="hdn_Pieces' + rowid + '" value="' + row.Pieces + '"><span class=""><a class="" href="javascript:;"><span onmousedown="event.preventDefault ?event.preventDefault(): event.returnValue = false" class="quantity_plus btn-icon-wrap"' + hiddenclass + '" style="color: deepskyblue" id="span_plus"' + rowid + '"><i class="fa fa-plus pull-left"; id="txt_plus"' + rowid + '"></i></span></a></span>' +
  449. '</div></div ></div ></div>';
  450. }
  451. else {
  452. var html2 = '<div>' +
  453. '<div class="floating-label-form-group" id="Qty_Carton_Pieces_' + rowid + '">' +
  454. '<div class="input-group" id="div_Cartons">' +
  455. "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='quantity_minus btn-icon-wrap " + hiddenclass + "' style='color:deepskyblue' id='span_minus" + rowid + "'><i class='fa fa-minus pull-left' id='txt_minus" + rowid + "'></i></span></a></span>";
  456. if ($("#SplitchkEnableQuantity").is(":checked") == true || SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity || $("#chksplitqty_" + SplitItem.instance.rowid).val() == "true") {
  457. $("#SplitchkEnableQuantity").prop("checked", true);
  458. $('#Splitchk_SplitPieces').prop('disabled', true);
  459. html2 += '<input type="text" id="txt_Quantity' + rowid + '" min="0" value="' + row.Quantity + '" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" value="" class="allownumericonly txtDC_CartonsCount form-control value-control floating-label-control text-center" data-isdynamic="false" placeholder="Quantity" data-placeholder="Quantity" data-label="Quantity" ' + disabled + '>';
  460. html2 += '<input type="hidden" id="hdn_Quantity' + rowid + '" value="' + row.Quantity + '">';
  461. }
  462. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  463. html2 += '<input type="text" id="txt_Pieces' + rowid + '" min="0" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" value="' + row.Pieces + '" class="allownumericonly txtDC_CartonsCount form-control value-control floating-label-control text-center" data-isdynamic="false" placeholder="Pieces" data-placeholder="Pieces" data-label="Pieces">';
  464. html2 += '<input type="hidden" id="hdn_Pieces' + rowid + '" value="' + row.Pieces + '">';
  465. }
  466. else {
  467. html2 += '<input type="text" id="txt_Cartons' + rowid + '" value="' + row.Cartons + '" min="0" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" value="" class="allownumericonly txtDC_CartonsCount allownumericonly form-control value-control floating-label-control text-center" data-isdynamic="false" placeholder="Cartons" data-placeholder="Cartons" data-label="Cartons" ' + disabled + '>';
  468. html2 += '<input type="hidden" id="hdn_Cartons' + rowid + '" value="' + row.Cartons + '">';
  469. }
  470. html2 += "<span class=''><a class='' href='javascript:;'><span onmousedown='event.preventDefault ?event.preventDefault(): event.returnValue = false' class='quantity_plus btn-icon-wrap " + hiddenclass + "' style='color:deepskyblue' id='span_plus" + rowid + "'><i class='fa fa-plus pull-left'; id='txt_plus" + rowid + "'></i></span></a></span>" +
  471. '</div></div></div>';
  472. }
  473. if (Type == "MRP") {
  474. if (row.MrpId != 0 || row.DcItemId != 0) {
  475. $("#select_" + Type + rowid).empty();
  476. $('.hf_' + Type + '_Id').val(row.MrpId);
  477. SplitItem.instance.Ids.splice(SplitItem.instance.Ids.findIndex(m => m == row.MrpId), 1);
  478. SplitItem.instance.getMrpQty('', rowid, row.MrpId, SplitItem.instance.ItemId, Controls.DcItem.instance.BranchId);
  479. SplitItem.instance.GetBatchandMRPQty(row.MrpId, row.Mrp, 0, Type, rowid);
  480. }
  481. }
  482. else if (Type == "Batch") {
  483. if (row.BatchId != 0) {
  484. $("#select_" + Type + rowid).empty();
  485. $('.hf_' + Type + '_Id').val(row.BatchId);
  486. $(".Batch_Mrp" + rowid).val(row.Mrp);
  487. $("#select_" + Type + rowid).val(row.BatchId);
  488. $('.hf_Id' + SplitItem.instance.Type + rowid).val(row.BatchId);
  489. SplitItem.instance.Ids.splice(SplitItem.instance.Ids.findIndex(m => m == row.BatchId), 1);
  490. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/controls/pricelist/managers/pricelistmanager.js", function () {
  491. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getbatch(row.BatchId).then(function (result) {
  492. SplitItem.instance.GetBatchandMRPQty(row.MrpId, result.result.BatchNo, row.BatchId, Type, rowid);
  493. });
  494. });
  495. }
  496. }
  497. $('.SpiltCarton_Pieces_class_' + rowid).html(html2);
  498. var quantityelement = $('.SpiltCarton_Pieces_class_' + rowid + '' + ':last');
  499. Bizgaze.Apps.Transact.Controls.SplitItem.instance.LoadBatchandMrp(quantityelement, rowid, SplitItem.instance.Type, SplitItem.instance.ItemId);
  500. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Cartons" + rowid).blur(function () {
  501. Bizgaze.Apps.Transact.Controls.SplitItem.instance.CheckMRPPendingQuantity(element, rowid);
  502. });
  503. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Quantity" + rowid).blur(function () {
  504. Bizgaze.Apps.Transact.Controls.SplitItem.instance.CheckMRPPendingQuantity(element, rowid);
  505. });
  506. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_minus").unbind().click(function () {
  507. Bizgaze.Apps.Transact.Controls.DcItem.Instance().minus(quantityelement, rowid, true);
  508. });
  509. $('.SpiltCarton_Pieces_class_' + rowid).find(".quantity_plus").unbind().click(function () {
  510. Bizgaze.Apps.Transact.Controls.DcItem.Instance().plus(quantityelement, rowid, true);
  511. });
  512. $('.SpiltCarton_Pieces_class_' + rowid).find(".txtDC_PieceCount").click(function () {
  513. $("#hf_packs_onclick" + rowid).val("0");
  514. $("#hf_Pieces_onclick" + rowid).val("1");
  515. });
  516. $('.SpiltCarton_Pieces_class_' + rowid).find(".txtDC_CartonsCount").click(function () {
  517. $("#hf_packs_onclick" + rowid).val("1");
  518. $("#hf_Pieces_onclick" + rowid).val("0");
  519. });
  520. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Cartons" + rowid).keyup(function () {
  521. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  522. });
  523. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Quantity" + rowid).keyup(function () {
  524. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  525. });
  526. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).keyup(function () {
  527. Bizgaze.Apps.Transact.Controls.SplitItem.instance.allownumbers(rowid);
  528. });
  529. }
  530. LoadBatchandMrp(element, rowid, Type, ItemId) {
  531. var AutoText = $("#select_" + Type + rowid + "");
  532. var hdnAutoId = $(".hf_" + Type + "_Id" + rowid);
  533. ItemId = SplitItem.instance.ItemId;
  534. var isClaim = false;
  535. if ($(".hdn_dctypeid").val() == "3" || $(".hdn_dctypeid").val() == "4")
  536. isClaim = true;
  537. var BranchId = $(".txtAutoComplete_shipfromaddressid option:selected").val();
  538. var OrderType = "Sales";
  539. var dctype = $(".hdn_dctypeid").val();
  540. if ($(".hdn_dctypeid").val() == "1") {
  541. BranchId = $(".txtAutoComplete_shiptoaddressid option:selected").val();
  542. var OrderType = "Purchase";
  543. }
  544. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsAddItem == true) {
  545. BranchId = Bizgaze.Apps.Transact.Controls.DcItem.instance.BranchId;
  546. dctype = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_dctypeid").Value);
  547. if (dctype == Bizgaze.Apps.Transact.Enums.DcType.Outward || dctype == Bizgaze.Apps.Transact.Enums.DcType.ClaimOutward) {
  548. dctype = 2;
  549. OrderType = "Sales";
  550. }
  551. else {
  552. dctype = 1;
  553. OrderType = "Purchase";
  554. }
  555. }
  556. if ($("#hf_Exchange").val() == "true") {
  557. if (dctype == 1)
  558. dctype = 2;
  559. else if (dctype == 2)
  560. dctype = 1;
  561. if (OrderType == "Purchase")
  562. OrderType = "Sales";
  563. else if (OrderType == "Sales")
  564. OrderType = "Purchase";
  565. }
  566. SplitItem.instance.Url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/pricelists/MrpsAutoComplete/itemid/' + ItemId + '/mrpids/' + SplitItem.instance.Ids.toString() + '/invoicetype/' + OrderType + '/dctype/' + dctype + '/branchid/' + BranchId + '/isinvoice/false';
  567. if (Type == "Batch") {
  568. SplitItem.instance.Url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/pricelists/BatchAutoComplete/itemid/' + ItemId + '/ids/' + SplitItem.instance.Ids.toString() + '/invoicetype/' + OrderType + '/dctype/' + dctype + '/branchid/' + BranchId + '/isinvoice/false';
  569. }
  570. var id = 0;
  571. AutoCompleteHelper.getHelper().Create(AutoText, hdnAutoId, SplitItem.instance.Url, function (response) {
  572. if (id != response.id) {
  573. id = response.id;
  574. if (id != 0) {
  575. if ($("#hfold_" + SplitItem.instance.Type + rowid).val() != "")
  576. SplitItem.instance.Ids.splice(SplitItem.instance.Ids.findIndex(m => m == $("#hfold_" + SplitItem.instance.Type + rowid).val()), 1);
  577. SplitItem.instance.Ids.push(id);
  578. $("#hf_oldMrpId_" + rowid).val(response.id);
  579. $("#hfold_" + SplitItem.instance.Type + rowid).val(response.id);
  580. $("#hf_" + SplitItem.instance.Type + "_Id_" + rowid).val(response.id);
  581. if (response.id != 0 && Type == "Batch") {
  582. SplitItem.instance.getMrp(response.id, rowid);
  583. }
  584. else {
  585. SplitItem.instance.getMrpQty(element, rowid, id, ItemId, BranchId);
  586. }
  587. }
  588. else if (id == 0) {
  589. element.find(".txtDC_CartonsCount").val("");
  590. }
  591. }
  592. });
  593. }
  594. SaveItemAllocation(rowid) {
  595. $('#li_' + rowid).addClass('SplitItem');
  596. var RowExist = false;
  597. var x = [];
  598. var y = [];
  599. var Qty = false;
  600. var MRP_ = false;
  601. var TotalCartons = 0;
  602. var TotalPieces = 0;
  603. var TotalQty = 0;
  604. var dcinstance = Bizgaze.Apps.Transact.Controls.DcItem.Instance();
  605. var iteminstance = Bizgaze.Apps.Transact.Controls.SplitItem.Instance();
  606. dcinstance.IsDirectAllocation = true;
  607. if (dcinstance.DcItemList.length > 0) {
  608. for (var i = 0; i < dcinstance.DcItemList.length; i++) {
  609. if (dcinstance.DcItemList[i].ItemId == iteminstance.ItemId) {
  610. y.push(i);
  611. }
  612. }
  613. for (var i = y.length - 1; i >= 0; i--) {
  614. dcinstance.DcItemList.splice(y[i], 1);
  615. }
  616. }
  617. if (iteminstance.SplitDcItemList.length > 0) {
  618. for (var i = 0; i < iteminstance.SplitDcItemList.length; i++) {
  619. if (iteminstance.SplitDcItemList[i].ItemId == iteminstance.ItemId) {
  620. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsFormEdit == true) {
  621. if (iteminstance.SplitDcItemList[i].OrderItemId == iteminstance.OrderItemId) {
  622. x.push(i);
  623. }
  624. }
  625. else {
  626. x.push(i);
  627. }
  628. }
  629. }
  630. for (var i = x.length - 1; i >= 0; i--) {
  631. iteminstance.SplitDcItemList.splice(x[i], 1);
  632. }
  633. }
  634. $(".SplitDcItemListRow").each(function () {
  635. var Type = iteminstance.Type;
  636. var len = $(this).find("#hf_rowid").val();
  637. if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  638. if ($(this).find(".txtDC_PiecesCount").val() == "") {
  639. Qty = true;
  640. }
  641. }
  642. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  643. if ($(this).find(".txtDC_CartonsCount").val() == "") {
  644. Qty = true;
  645. }
  646. }
  647. else {
  648. if ($(this).find(".txtDC_CartonsCount").val() == "") {
  649. Qty = true;
  650. }
  651. }
  652. var MrpId = Number($("#select_" + Type + len).val());
  653. if (MrpId == 0) {
  654. MRP_ = true;
  655. }
  656. });
  657. if (MRP_ || $(".SplitDcItemListRow").length == 0) {
  658. if (SplitItem.instance.Type == "Batch") {
  659. MessageHelper.Instance().showError("Please Select Batch/MRP", "dc_splititem_errormessage");
  660. return false;
  661. }
  662. else {
  663. MessageHelper.Instance().showError("Please Select MRP", "dc_splititem_errormessage");
  664. return false;
  665. }
  666. }
  667. if (Qty) {
  668. MessageHelper.Instance().showError("Please Add Quantity.", "dc_splititem_errormessage");
  669. return false;
  670. }
  671. $(".SplitDcItemListRow").each(function (index, element) {
  672. RowExist = true;
  673. var Type = iteminstance.Type;
  674. var _instance = Controls.DcItem.Instance();
  675. var PackCount = $("#hfPackCount" + rowid).val();
  676. var PackSize = $("#hfPackSize" + rowid).val();
  677. var len = $(this).find("#hf_rowid").val();
  678. var packs = Number($("#txt_Cartons" + len).val() == undefined ? 0 : $("#txt_Cartons" + len).val());
  679. var pieces = Number(($("#txt_Pieces" + len).val() == undefined) ? 0 : $("#txt_Pieces" + len).val());
  680. var Qty = (Number(PackCount) * Number(PackSize) * packs) + (pieces * Number(PackSize));
  681. if ($("#SplitchkEnableQuantity").is(":checked") || _instance.InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  682. packs = (Number($("#txt_Quantity" + len).val()) / (Number(PackCount) * Number(PackSize)));
  683. pieces = Number(Number($("#txt_Quantity" + len).val()) - packs * Number(PackCount) * Number(PackSize)) / Number(PackSize);
  684. Qty = Number($("#txt_Quantity" + len).val());
  685. }
  686. var MrpId = 0;
  687. var Mrp = 0;
  688. var BatchId = 0;
  689. var BatchNo = 0;
  690. if (Type == "MRP") {
  691. MrpId = Number($("#select_" + Type + len).val());
  692. if (MrpId == 0) {
  693. MessageHelper.Instance().showError("Please Select MRP", "dc_splititem_errormessage");
  694. return false;
  695. }
  696. Mrp = $("#select_" + Type + len + " option:selected").text();
  697. }
  698. else if (Type == "Batch") {
  699. BatchId = Number($("#select_" + Type + len).val());
  700. if (BatchId == 0) {
  701. MessageHelper.Instance().showError("Please Select Batch/MRP", "dc_splititem_errormessage");
  702. return false;
  703. }
  704. BatchNo = $("#select_" + Type + len + " option:selected").text();
  705. Mrp = $(".Batch_Mrp" + len).val();
  706. MrpId = Number($(".hf_MRPId" + len).val());
  707. }
  708. var SplitItem = {
  709. DcItemId: Number($("#hf_DcItemId" + len).val()),
  710. Packs: packs,
  711. Pieces: pieces,
  712. BatchId: BatchId,
  713. BatchNo: BatchNo,
  714. ItemId: iteminstance.ItemId,
  715. DeliveredQty: Qty,
  716. OrderItemId: Number($("#OrderItemId" + rowid).val()),
  717. OrderId: Number($("#txt_OrderId" + rowid).val() == undefined ? 0 : $("#txt_OrderId" + rowid).val()),
  718. OldDcItemId: 0,
  719. MrpId: MrpId,
  720. Mrp: Mrp,
  721. Quantity: Qty,
  722. Cartons: packs,
  723. rowid: rowid,
  724. AutoMRPAllocation: false,
  725. ExchangeDC: $("#hf_Exchange").val(),
  726. AlternateUnitId: Number($("#hdn_AlternateUnitId_" + rowid).val()),
  727. DefaultSize: Number($("#hdn_DefaultSize_" + rowid).val()),
  728. IsBomItem: $("#hdn_IsBoMItem_" + rowid).val(),
  729. ParentId: $("#hdn_ParentId_" + rowid).val()
  730. };
  731. TotalCartons += packs;
  732. TotalPieces += pieces;
  733. TotalQty += Qty;
  734. iteminstance.SplitDcItemList.push(SplitItem);
  735. });
  736. TotalCartons = Number(TotalCartons);
  737. TotalQty = Number(TotalQty);
  738. TotalPieces = Number(TotalPieces);
  739. $("#chksplitqty_" + SplitItem.instance.rowid).val("false");
  740. $("#chksplitpieces_" + SplitItem.instance.rowid).val("false");
  741. $("#chksplitpacks_" + SplitItem.instance.rowid).val("false");
  742. $("#chk_Pieces").prop("checked", false);
  743. $("#chk_Packs").prop("checked", false);
  744. $("#chkEnableQuantity").prop("checked", false);
  745. if ($("#Splitchk_SplitPieces").is(":checked") || $("#Splitchk_SplitPacks").is(":checked") || SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  746. $("#chk_Pieces").prop("checked", true);
  747. $("#chk_Packs").prop("checked", true);
  748. $("#hdr_value").text("Cartons/Pieces");
  749. $("#chkEnableQuantity").attr('disabled', "true");
  750. $("#chksplitpieces_" + SplitItem.instance.rowid).val("true");
  751. $("#chksplitpacks_" + SplitItem.instance.rowid).val("true");
  752. var html2 = '<div class="row" id="div_' + rowid + '"><div class="col-6" id="div_Cartons' + rowid + '"><div class="floating-label-form-group form-group floating-label">' +
  753. '<div class="input-group">' +
  754. '<input id="txt_Cartons' + rowid + '" min="0" value="' + TotalCartons + '" data-placeholder="0" placeholder="Cartons" data-label="Cartons" class="txt_cartonsvalue' + rowid + ' allownumericonly txtDC_CartonsCount form-control floating-label-control text-center" type="text" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" style="width:45px" disabled></div></div></div>' +
  755. '<div class="col-6" id="div_pieces' + rowid + '"><div class="floating-label-form-group form-group floating-label ">' +
  756. '<div class="input-group"><input value="' + TotalPieces + '" min="0" data-placeholder="0" placeholder="Pieces" data-label="Pieces" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" class="txtpiece' + rowid + ' allownumericonly txtDC_PieceCount form-control floating-label-control text-center" id="txt_Pieces' + rowid + '" type = "text" style="width:45px" disabled> ' +
  757. '</div></div ></div>';
  758. $('.Carton_Pieces_class_' + rowid).html(html2);
  759. }
  760. else if ($("#SplitchkEnableQuantity").is(":checked")) {
  761. $("#chkEnableQuantity").prop("checked", true);
  762. $("#hdr_value").text("Quantity");
  763. $("#chk_Pieces").attr('disabled', "true");
  764. $("#chksplitqty_" + SplitItem.instance.rowid).val("true");
  765. var html2 = '<div id="div_Quantity' + rowid + '"><div class="floating-label-form-group form-group floating-label">' +
  766. '<div class="input-group">' +
  767. '<input type="numbers" id="txt_Quantity' + rowid + '" value="' + TotalQty + '" min="0" style="margin-top:10px;" value="" class="txtDC_CartonsCount form-control allownumericonly floating-label-control text-center txt_cartonsvalue' + rowid + '" data-isdynamic="false" placeholder="Quantity" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="Quantity" data-label="Quantity" disabled>';
  768. '</div>';
  769. $('.Carton_Pieces_class_' + rowid).html(html2);
  770. }
  771. else {
  772. if (SplitItem.instance.InventoryApplyTypeId != Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  773. $("#hdr_value").text("Cartons");
  774. var html2 = '<div id="div_Quantity' + rowid + '"><div class="floating-label-form-group form-group floating-label">' +
  775. '<div class="input-group">' +
  776. '<input type="numbers" id="txt_Cartons' + rowid + '" value="' + TotalCartons + '" min="0" style="margin-top:10px;" value="" class="txtDC_CartonsCount form-control allownumericonly floating-label-control text-center txt_cartonsvalue' + rowid + '" data-isdynamic="false" placeholder="Carton" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-placeholder="Carton" data-label="Carton" disabled>';
  777. '</div>';
  778. $('.Carton_Pieces_class_' + rowid).html(html2);
  779. }
  780. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  781. $("#hdr_value").text("Pieces");
  782. var html2 = '<div id="div_Quantity' + rowid + '"><div class="floating-label-form-group form-group floating-label">' +
  783. '<div class="input-group">' +
  784. '<input type="numbers" id="txt_Pieces' + rowid + '" min="0" style="margin-top:10px;" value="" class="txtDC_PiecesCount form-control floating-label-control text-center txt_cartonsvalue' + rowid + '" data-isdynamic="false" placeholder="Pieces" data-placeholder="Pieces" onkeypress="return Bizgaze.Apps.Transact.Controls.DcItem.Instance().isNumberKey(event)" data-label="Pieces" disabled>';
  785. '</div>';
  786. $('.Carton_Pieces_class_' + rowid).html(html2);
  787. }
  788. $("#div_pieces" + rowid).addClass('hidden');
  789. $("#div_Cartons" + rowid).removeClass('col-6');
  790. $("#div_" + rowid).removeClass('row');
  791. $("#txt_Cartons" + rowid).val(TotalCartons);
  792. $("#txt_Quantity" + rowid).val(TotalQty);
  793. $("#txt_Pieces" + rowid).val(TotalPieces);
  794. }
  795. $("#Carton_Pieces_" + rowid).removeClass();
  796. $("#Carton_Pieces_" + rowid).addClass("floating-label-form-group form-group");
  797. if (RowExist = true) {
  798. if (iteminstance.Type == "MRP") {
  799. $("#spn_DcItem" + rowid).text("View MRP");
  800. }
  801. else if (iteminstance.Type == "Batch") {
  802. $("#spn_DcItem" + rowid).text("View Batch");
  803. }
  804. }
  805. else {
  806. if (iteminstance.Type == "MRP") {
  807. $("#spn_DcItem" + rowid).text("Select MRP");
  808. }
  809. else {
  810. $("#spn_DcItem" + rowid).text("Select Batch");
  811. }
  812. }
  813. $('#' + iteminstance.containerid).modal('hide');
  814. $('#' + iteminstance.containerid).remove();
  815. }
  816. getMrp(batchId, rowid) {
  817. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/controls/pricelist/managers/pricelistmanager.js", function () {
  818. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getbatch(batchId).then(function (result) {
  819. $(".Batch_Mrp" + rowid).val(result.result.Mrp);
  820. $(".hf_MRPId" + rowid).val(result.result.MrpId);
  821. });
  822. });
  823. }
  824. bindDetails(response, rowid) {
  825. var data = JSON.parse(response.result);
  826. if (SplitItem.instance.Type == "MRP") {
  827. $("#select_" + SplitItem.instance.Type + rowid).empty();
  828. $("#select_" + SplitItem.instance.Type + rowid).append(new Option(data.Mrp + '(0)', data.MrpId, true));
  829. $('.hf_Id' + SplitItem.instance.Type + '_Id' + rowid).val(data.MrpId);
  830. }
  831. else if (SplitItem.instance.Type == "Batch") {
  832. $("#select_" + SplitItem.instance.Type + rowid).empty();
  833. $("#select_" + SplitItem.instance.Type + rowid).append(new Option(data.BatchNo + '(0)', data.BatchId, true));
  834. $('.hf_Id' + SplitItem.instance.Type + '_Id' + rowid).val(data.BatchId);
  835. $(".Batch_Mrp" + rowid).val(data.Mrp);
  836. $(".hf_MRPId" + rowid).val(data.MrpId);
  837. }
  838. }
  839. removeRow(rowid, DcItemId) {
  840. debugger;
  841. var BranchId = $(".txtAutoComplete_shipfromaddressid option:selected").val();
  842. if ($(".hdn_dctypeid").val() == "1")
  843. BranchId = $(".txtAutoComplete_shiptoaddressid option:selected").val();
  844. var ErrorMsg = "You are about to " + SplitItem.instance.Type + " . Are you sure?";
  845. if ($(".hdn_dctypeid").val() == "1") {
  846. var ErrorMsg = "You are about to " + SplitItem.instance.Type + " . Are you sure?";
  847. }
  848. var split_instance = Bizgaze.Apps.Transact.Controls.SplitItem.Instance();
  849. var _instance = Bizgaze.Apps.Transact.Controls.DcItem.Instance();
  850. if (BranchId == undefined)
  851. BranchId = _instance.BranchId;
  852. var DctypeId = $(".hdn_dctypeid").val();
  853. if (DctypeId == undefined)
  854. DctypeId = _instance.DctypeId;
  855. bootbox.confirm(ErrorMsg, function (result) {
  856. if (result) {
  857. if ($("#hf_DcItemId" + rowid).val() != "0") {
  858. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/inventory/dcmanager.js", function () {
  859. Bizgaze.Apps.Transact.Managers.DCManager.Instance().getMrpDcQty(split_instance.ItemId, BranchId, $("#hf_" + SplitItem.instance.Type + "_Id_" + rowid).val(), true).then(function (responce) {
  860. if (responce.result > 0 && DctypeId == 1) {
  861. MessageHelper.Instance().showError("Stock Allocated to Dc You Can't Delete MRP", 'dc_splititem_errormessage');
  862. }
  863. else {
  864. if (DcItemId == 0) {
  865. split_instance.Ids.splice(split_instance.Ids.findIndex(p => p == $("#select_" + SplitItem.instance.Type + rowid).val()), 1);
  866. if (split_instance.Ids.length == 0) {
  867. split_instance.Ids = [0];
  868. }
  869. $("#div_" + rowid).remove();
  870. }
  871. else {
  872. split_instance.Ids.splice(split_instance.Ids.findIndex(p => p == $("#select_" + SplitItem.instance.Type + rowid).val()), 1);
  873. if (split_instance.Ids.length == 0) {
  874. split_instance.Ids = [0];
  875. }
  876. $("#div_" + rowid).remove();
  877. _instance.DeleteDcItems.push(DcItemId);
  878. }
  879. }
  880. });
  881. });
  882. }
  883. else {
  884. split_instance.Ids.splice(split_instance.Ids.findIndex(p => p == $("#select_" + SplitItem.instance.Type + rowid).val()), 1);
  885. if (split_instance.Ids.length == 0) {
  886. split_instance.Ids = [0];
  887. }
  888. $("#div_" + rowid).remove();
  889. }
  890. }
  891. });
  892. }
  893. getMrpQty(element, rowid, id, ItemId, BranchId) {
  894. if (id == -1)
  895. id = 0;
  896. var url = 'apis/v4/bizgaze/transact/items/getavailablemrpqty/itemid/' + ItemId + '/branchid/' + BranchId + '/mrpid/' + id + '/isdcqty/false';
  897. Bizgaze.Apps.Transact.Managers.DCManager.Instance().GetBatchandMRPQty(url).then(function (responce) {
  898. if (responce.result != null) {
  899. $("#MRP_Qty" + rowid).val(responce.result);
  900. }
  901. });
  902. }
  903. CheckMRPPendingQuantity(element, rowid) {
  904. var qty = Number($("#MRP_Qty" + rowid).val() == undefined ? 0 : $("#MRP_Qty" + rowid).val());
  905. var cartons = Number($("#txt_Cartons" + rowid).val() == undefined ? 0 : $("#txt_Cartons" + rowid).val());
  906. var pieces = Number($("#txt_Pieces" + rowid).val() == undefined ? 0 : $("#txt_Pieces" + rowid).val());
  907. var Qty = Number($("#txt_Quantity" + rowid).val());
  908. var dctypeid = $(".hdn_dctypeid").val();
  909. var value = 0;
  910. if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity)
  911. value = Qty;
  912. else {
  913. value = (Number($("#hfPackCount" + SplitItem.instance.rowid).val()) * Number($("#hfPackSize" + SplitItem.instance.rowid).val()) * cartons) + (pieces * Number($("#hfPackSize" + SplitItem.instance.rowid).val()));
  914. }
  915. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsWidget || Bizgaze.Apps.Transact.Controls.DcItem.Instance().IsAddItem) {
  916. dctypeid = "1";
  917. if (Bizgaze.Apps.Transact.Controls.DcItem.Instance().DcTypeName == "DC")
  918. dctypeid = "2";
  919. }
  920. if (Number($("#select_MRP" + rowid).val()) == 0) {
  921. MessageHelper.Instance().showError("Please Select MRP", 'dc_splititem_errormessage');
  922. $("#txt_Cartons" + rowid).val($("#hdn_Cartons" + rowid).val());
  923. $("#txt_Quantity" + rowid).val($("#hdn_Quantity" + rowid).val());
  924. $("#txt_Pieces" + rowid).val($("#hdn_Pieces" + rowid).val());
  925. return false;
  926. }
  927. if (($("#txt_Cartons" + rowid).val() != '' || $("#txt_Quantity" + rowid).val() != '' || $("#txt_Pieces" + rowid).val() != '') && qty != 0 && dctypeid == "2" && $("#hdn_ExchangeDC_" + SplitItem.instance.rowid).val() == "false") {
  928. if (value > qty) {
  929. MessageHelper.Instance().showError("Quantity can't greater than Mrp Quantity", 'dc_splititem_errormessage');
  930. if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  931. $("#txt_Quantity" + rowid).val($("#hdn_Quantity" + rowid).val());
  932. return false;
  933. }
  934. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
  935. $("#txt_Cartons" + rowid).val($("#hdn_Cartons" + rowid).val());
  936. return false;
  937. }
  938. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  939. $("#txt_Pieces" + rowid).val($("#hdn_Pieces" + rowid).val());
  940. return false;
  941. }
  942. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  943. $("#txt_Cartons" + rowid).val($("#hdn_Cartons" + rowid).val());
  944. $("#txt_Pieces" + rowid).val($("#hdn_Pieces" + rowid).val());
  945. return false;
  946. }
  947. }
  948. }
  949. if (value > Number($("#hf_OrderQty" + SplitItem.Instance().rowid).val()) && Bizgaze.Apps.Transact.Controls.DcItem.Instance().OrderId != 0) {
  950. MessageHelper.Instance().showError("Quantity can't greater than Pending Quantity", 'dc_splititem_errormessage');
  951. if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  952. $("#txt_Quantity" + rowid).val($("#hdn_Quantity" + rowid).val());
  953. return false;
  954. }
  955. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
  956. $("#txt_Cartons" + rowid).val($("#hdn_Cartons" + rowid).val());
  957. return false;
  958. }
  959. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  960. $("#txt_Pieces" + rowid).val($("#hdn_Pieces" + rowid).val());
  961. return false;
  962. }
  963. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  964. $("#txt_Cartons" + rowid).val($("#hdn_Cartons" + rowid).val());
  965. $("#txt_Pieces" + rowid).val($("#hdn_Pieces" + rowid).val());
  966. return false;
  967. }
  968. }
  969. }
  970. viewdetails(ItemId) {
  971. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  972. var DctypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_dctypeid").Value);
  973. var BranchId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shipfromaddressid").Value);
  974. var LoBId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_lobid").Value);
  975. var SettingName = "Bizgaze_Extension_Transact_Orders_Setting_SalesBatch";
  976. var SettingValue = "";
  977. if (DctypeId == 1) {
  978. BranchId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shiptoaddressid").Value);
  979. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_PurchaseBatch";
  980. }
  981. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  982. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, Number(LoBId), Number(BranchId)).then(function (response) {
  983. return __awaiter(this, void 0, void 0, function* () {
  984. if (response.result != "") {
  985. SettingValue = response.result.SettingValue;
  986. }
  987. Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getItemSettings(ItemId).then(function (responce) {
  988. if (SettingValue == "Batch/MRP" && responce.result.EnableBatchNo == true) {
  989. $('#widgetconfig_' + ItemId + '_View').text('View Batch');
  990. }
  991. else if (SettingValue == "MRP" && responce.result.EnableMRP == true && responce.result.EnableBatchNo == false) {
  992. $('#widgetconfig_' + ItemId + '_View').text('View MRP');
  993. }
  994. else {
  995. $('#widgetconfig_' + ItemId + '_View').text('View Details');
  996. }
  997. });
  998. });
  999. });
  1000. });
  1001. }
  1002. SaveDcItem() {
  1003. debugger;
  1004. var iteminstance = Bizgaze.Apps.Transact.Controls.SplitItem.Instance();
  1005. var dcItemList = [];
  1006. var ItemList = [];
  1007. $(".SplitDcItemListRow").each(function (index, element) {
  1008. var Type = iteminstance.Type;
  1009. var len = $(this).find("#hf_rowid").val();
  1010. var PackCount = iteminstance.PackCount;
  1011. var PackSize = iteminstance.PackSize;
  1012. var packs = Number($("#txt_Cartons" + len).val() == undefined ? 0 : $("#txt_Cartons" + len).val());
  1013. var pieces = Number(($("#txt_Pieces" + len).val() == undefined) ? 0 : $("#txt_Pieces" + len).val());
  1014. var Qty = (Number(PackCount) * Number(PackSize) * packs) + (pieces * Number(PackSize));
  1015. if ($("#SplitchkEnableQuantity").is(":checked") || SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  1016. packs = (Number($("#txt_Quantity" + len).val()) / (Number(PackCount) * Number(PackSize)));
  1017. pieces = Number(Number($("#txt_Quantity" + len).val()) - (packs * Number(PackCount) * Number(PackSize))) / Number(PackSize);
  1018. Qty = Number($("#txt_Quantity" + len).val());
  1019. }
  1020. var MrpId = 0;
  1021. var Mrp = 0;
  1022. var BatchId = 0;
  1023. var BatchNo = 0;
  1024. if (Type == "MRP") {
  1025. MrpId = Number($("#select_" + Type + len).val());
  1026. if (MrpId == 0) {
  1027. MessageHelper.Instance().showError("Please Select MRP", "dc_splititem_errormessage");
  1028. return false;
  1029. }
  1030. Mrp = $("#select_" + Type + len + " option:selected").text();
  1031. }
  1032. else if (Type == "Batch") {
  1033. BatchId = Number($("#select_" + Type + len).val());
  1034. if (BatchId == 0) {
  1035. MessageHelper.Instance().showError("Please Select Batch/MRP", "dc_splititem_errormessage");
  1036. return false;
  1037. }
  1038. BatchNo = $("#select_" + Type + len + " option:selected").text();
  1039. Mrp = $(".Batch_Mrp" + len).val();
  1040. MrpId = Number($(".hf_MRPId" + len).val());
  1041. }
  1042. var BranchId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_shiptoaddressid").Value;
  1043. if (Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_dctypeid").Value) == 2)
  1044. BranchId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_shipfromaddressid").Value;
  1045. var Item = {
  1046. DcId: Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_dcid").Value),
  1047. DcItemId: Number($("#hf_DcItemId" + len).val()),
  1048. Packs: packs,
  1049. Pieces: pieces,
  1050. ItemId: iteminstance.ItemId,
  1051. BatchId: BatchId,
  1052. DeliveredQty: Qty,
  1053. OrderItemId: Number($("#hf_OrderItemId" + len).val()),
  1054. OrderId: Number(iteminstance.OrderId == undefined ? 0 : iteminstance.OrderId),
  1055. OldDcItemId: 0,
  1056. MrpId: MrpId,
  1057. Mrp: 0,
  1058. Quantity: Qty,
  1059. ExchangeDC: false,
  1060. DamagedQty: Number($("#hf_DamagedQty" + len).val() == undefined ? 0 : $("#hf_DamagedQty" + len).val()),
  1061. IsFlexibleQty: false,
  1062. IsDirectDc: false,
  1063. DcTypeId: Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_dctypeid").Value),
  1064. LobId: Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid").Value),
  1065. BranchId: Number(BranchId),
  1066. };
  1067. ItemList.push(Item);
  1068. });
  1069. dcItemList = ItemList;
  1070. if (dcItemList.length != 0) {
  1071. dcItemList[0].DeleteDcItems = Controls.DcItem.instance.DeleteDcItems;
  1072. }
  1073. else if (dcItemList.length == 0 && Controls.DcItem.Instance().DeleteDcItems.length > 0) {
  1074. var Item = {
  1075. DcId: Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_dcid").Value),
  1076. DcItemId: 0,
  1077. Packs: 0,
  1078. Pieces: 0,
  1079. ItemId: 0,
  1080. BatchId: 0,
  1081. DeliveredQty: 0,
  1082. OrderItemId: 0,
  1083. OrderId: 0,
  1084. OldDcItemId: 0,
  1085. MrpId: 0,
  1086. Mrp: 0,
  1087. Quantity: 0,
  1088. ExchangeDC: false,
  1089. DamagedQty: 0,
  1090. IsFlexibleQty: false,
  1091. IsDirectDc: false,
  1092. DcTypeId: 0,
  1093. BranchId: 0,
  1094. DeleteDcItems: Controls.DcItem.Instance().DeleteDcItems
  1095. };
  1096. dcItemList.push(Item);
  1097. }
  1098. Bizgaze.Apps.Transact.Managers.DCManager.Instance().savedcItemList(dcItemList).then(function (responce) {
  1099. let result = responce.result;
  1100. if (result != null) {
  1101. $('#' + iteminstance.containerid).modal('hide');
  1102. $('#' + iteminstance.containerid).remove();
  1103. MessageHelper.Instance().showSuccess("DC Item Updated Successfully.", '');
  1104. }
  1105. else {
  1106. MessageHelper.Instance().showError(responce.message, 'dc_splititem_errormessage');
  1107. }
  1108. });
  1109. }
  1110. allownumbers(rowid) {
  1111. var qty = 0;
  1112. if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity || $("#SplitchkEnableQuantity").is(":checked") == true) {
  1113. qty = Number($('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Quantity" + rowid).val());
  1114. if (isNaN(qty)) {
  1115. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Quantity" + rowid).val('');
  1116. }
  1117. }
  1118. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
  1119. qty = Number($('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Cartons" + rowid).val());
  1120. if (isNaN(qty)) {
  1121. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Cartons" + rowid).val('');
  1122. }
  1123. if ($("#Splitchk_SplitPieces").is(":checked") == true) {
  1124. qty = Number($('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).val());
  1125. if (isNaN(qty)) {
  1126. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).val('');
  1127. }
  1128. }
  1129. }
  1130. else if (SplitItem.instance.InventoryApplyTypeId == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces || $("#Splitchk_SplitPieces").is(":checked") == true) {
  1131. qty = Number($('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).val());
  1132. if (isNaN(qty)) {
  1133. $('.SpiltCarton_Pieces_class_' + rowid).find("#txt_Pieces" + rowid).val('');
  1134. }
  1135. }
  1136. }
  1137. GetBatchandMRPQty(MrpId, name, BatchId, Type, rowid) {
  1138. let id = MrpId;
  1139. if (id == -1)
  1140. id = 0;
  1141. var url = 'apis/v4/bizgaze/transact/items/getitemavailability/itemid/' + SplitItem.instance.ItemId + '/branchid/' + Controls.DcItem.instance.BranchId + '/mrpid/' + id;
  1142. Bizgaze.Apps.Transact.Managers.DCManager.Instance().GetBatchandMRPQty(url).then(function (response) {
  1143. var _name = "";
  1144. if (Type == "MRP") {
  1145. _name = (response.result.Mrp) + ' (' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($("#MRP_Qty" + rowid).val()), 2) + ')';
  1146. $("#select_" + Type + rowid).empty();
  1147. if (MrpId == 0)
  1148. MrpId = -1;
  1149. $("#select_" + Type + rowid).append(new Option(_name, MrpId, true));
  1150. $("#select_" + Type + rowid).trigger("change");
  1151. $("#select_" + Type + rowid).val(MrpId);
  1152. }
  1153. else if (Type == "Batch") {
  1154. _name = 'Batch No.(' + name + ')Qty' + '(' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(response.result.Quantity), 2) + ')';
  1155. $("#select_" + Type + rowid).append(new Option(_name, BatchId, true));
  1156. }
  1157. });
  1158. }
  1159. checkPieces(ele, rowid) {
  1160. var TotalPieces = 0;
  1161. $(".SplitDcItemListRow").each(function (index, element) {
  1162. var rowid = $(this).find("#hf_rowid").val();
  1163. if ($(".hf_ItemId" + rowid).val() != "0" && rowid != undefined) {
  1164. TotalPieces += Number(($("#txt_Pieces" + rowid).val() == undefined) ? 0 : $("#txt_Pieces" + rowid).val());
  1165. }
  1166. });
  1167. if (TotalPieces != 0)
  1168. $('#Splitchk_SplitPieces').attr('disabled', "true");
  1169. else
  1170. $('#Splitchk_SplitPieces').removeAttr("disabled");
  1171. }
  1172. getTotalMrpQty() {
  1173. var url = 'apis/v4/bizgaze/transact/items/GetMrpsAvailability/ItemId/' + SplitItem.instance.ItemId + '/branchid/' + Controls.DcItem.instance.BranchId;
  1174. Bizgaze.Apps.Transact.Managers.DCManager.Instance().GetBatchandMRPQty(url).then(function (response) {
  1175. if (response.result != null) {
  1176. if (response.result.Quantity > Number($("#availableqty_" + SplitItem.instance.rowid).val())) {
  1177. $("#div_splitMrpandBatch").addClass("hidden");
  1178. MessageHelper.Instance().showError("Total MRP Stock ( " + response.result.Quantity + " ) greater than Available Stock (" + Number($("#availableqty_" + SplitItem.instance.rowid).val()) + ") ", "dc_splititem_errormessage");
  1179. }
  1180. }
  1181. });
  1182. }
  1183. static Instance() {
  1184. if (this.instance === undefined) {
  1185. this.instance = new SplitItem();
  1186. }
  1187. return this.instance;
  1188. }
  1189. }
  1190. Controls.SplitItem = SplitItem;
  1191. })(Controls = Transact.Controls || (Transact.Controls = {}));
  1192. })(Transact = Apps.Transact || (Apps.Transact = {}));
  1193. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  1194. })(Bizgaze || (Bizgaze = {}));