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.

edititemlist.component.js 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Controls;
  8. (function (Controls) {
  9. class EditItem extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.containerid = "";
  13. this.ItemList = [];
  14. this.DcTypeId = 0;
  15. this.PendingQty = 0;
  16. }
  17. init(formpropertyid, prop, callback) {
  18. var instance = this;
  19. instance.ItemList = [];
  20. instance.DcTypeId = 0;
  21. instance.PendingQty = 0;
  22. instance.fileCacheHelper.loadJsFiles(["apps/transact/managers/inventory/dcmanager.js", "apps/transact/managers/orders/ordermanager.js", "platform/core/helpers/numberhelper/numberhelper.js"], function () {
  23. instance.DcTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_dctypeid").Value);
  24. instance.bindQuantityDetails();
  25. });
  26. }
  27. loadControl(containerid, prop) {
  28. var html = '<div class="card"><div class="card-body"><input type="hidden" id="hdn_customcontrol" class="value-control" value="Bizgaze.Apps.Transact.Controls.EditItem.Instance().getItems();"><span id="Itemname"></span><input type="hidden" id="hf_EditItemlist_ItemId"><input type="hidden" id="hf_EditItemlist_OrderItemId"><input type="hidden" id="hf_EditItemlist_MrpId"><input type="hidden" id="hf_EditItemlist_BatchId"></div></div>' +
  29. '<div class="alert-block m-t-lg"><input type="hidden" id="hf_packs" value="0"><input type="hidden" id="hf_pieces" value="0"><ul class="list-group m-t-sm"><li class="list-group-item clear"><div class="pull-right text-right" style = "width:125px;" id="qty" ><input id="txtDcItem_Quantity" onkeyup="Bizgaze.Apps.Transact.Controls.EditItem.Instance().del_changeQty();" class="form-control floating-label-control quantity" data-required="true" type="text" value="0" style = "text-align:center;"/><input type="hidden" id="hdnDcItem_Quantity">' +
  30. '</div><span id = "span_ItemName"></span></li><li class="floating-label-form-group-with-value list-group-item clear" ><div class="pull-right text-right" style = "width:125px;" ><input id="txtDcItem_DeliveredQty" onchange="Bizgaze.Apps.Transact.Controls.EditItem.Instance().updateDelMissingQty();" onkeyup="Bizgaze.Apps.Transact.Controls.EditItem.Instance().checkQty();" onblur="Bizgaze.Apps.Transact.Controls.EditItem.Instance().checkQty();" class="form-control floating-label-control" data-required="true" type="text" value="0" style = "text-align:center;" /><input type="hidden" id="hdnDcItem_DeliveredQty">' +
  31. '<input type="hidden" id = "lbl_deliveredqty"/></div>Delivered Qty</li><li class="list-group-item clear"><div class="pull-right text-right" style = "width:125px;" ><input id="txtDcItem_DamagedQty" onchange="Bizgaze.Apps.Transact.Controls.EditItem.Instance().updateDelMissingQty();" class="form-control" data-required="true" type="text" value ="0" style = "text-align:center;"/><input type="hidden" id="hdnDcItem_DamagedQty">' +
  32. '</div>Damaged Qty</li><li class="list-group-item clear"><div class="pull-right text-right" style = "width:125px;" ><input type="text" disabled class="form-control" id = "lblDcItem_MissingQty" readonly = "readonly" style = "text-align:center;" data-required="true" value="0"/><input type="hidden" id="hdnDcItem_MissingQty" ></div>Missing Qty</li></ul></div>';
  33. $("#" + containerid).html(html);
  34. $("#" + containerid).find(".quantity").change(function () { EditItem.Instance().del_changeQty(); });
  35. $('#txtDcItem_Quantity').keypress(function (event) {
  36. if ((event.which > 47 && event.which < 58) || (event.which == 46 || event.which == 8)) {
  37. }
  38. else {
  39. event.preventDefault();
  40. }
  41. }).on('paste', function (event) {
  42. event.preventDefault();
  43. });
  44. $('#txtDcItem_DeliveredQty').keypress(function (event) {
  45. if ((event.which > 47 && event.which < 58) || (event.which == 46 || event.which == 8)) {
  46. }
  47. else {
  48. event.preventDefault();
  49. }
  50. }).on('paste', function (event) {
  51. event.preventDefault();
  52. });
  53. $('#txtDcItem_DamagedQty').keypress(function (event) {
  54. if ((event.which > 47 && event.which < 58) || (event.which == 46 || event.which == 8)) {
  55. }
  56. else {
  57. event.preventDefault();
  58. }
  59. }).on('paste', function (event) {
  60. event.preventDefault();
  61. });
  62. }
  63. loadControlSettings(controlsettingjson, formpropertyid) {
  64. return ``;
  65. }
  66. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
  67. return ``;
  68. }
  69. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  70. return ``;
  71. }
  72. bindQuantityDetails() {
  73. var instance = EditItem.Instance();
  74. Bizgaze.Apps.Transact.Managers.DCManager.Instance().getDcItemsbyId(Number($("#hf_pk_value").val())).then(function (responce) {
  75. var data = responce.result;
  76. var Quantity = data.In_Quantity;
  77. if (instance.DcTypeId == 2 || instance.DcTypeId == 4) {
  78. $("#span_ItemName").text("DC Qty");
  79. $("#div_FormName").text("DC Item Details");
  80. Quantity = data.Out_Quantity;
  81. }
  82. else {
  83. $("#span_ItemName").text("GRN Qty");
  84. $("#div_FormName").text("GRN Item Details");
  85. }
  86. var ItemName = data.ItemName + '-' + data.Sku;
  87. $("#Itemname").text(ItemName);
  88. $("#txtDcItem_DeliveredQty").val(data.DeliveredQty);
  89. $("#hdnDcItem_DeliveredQty").val(data.DeliveredQty);
  90. $("#lbl_deliveredqty").val(data.DeliveredQty);
  91. $('#txtDcItem_Quantity').val(Quantity);
  92. $('#hdnDcItem_Quantity').val(Quantity);
  93. $("#txtDcItem_DamagedQty").val(data.DamagedQty);
  94. $("#hdnDcItem_DamagedQty").val(data.DamagedQty);
  95. $("#hf_EditItemlist_ItemId").val(data.ItemId);
  96. $("#hf_EditItemlist_OrderItemId").val(data.OrderItemId);
  97. $("#hf_EditItemlist_BatchId").val(data.BatchId);
  98. $("#hf_EditItemlist_MrpId").val(data.MrpId);
  99. $("#hf_packs").val(data.Packs);
  100. $("#hf_pieces").val(data.Pieces);
  101. let MissingQty = Number(Quantity - Number(data.DeliveredQty + data.DamagedQty));
  102. if (MissingQty > 0)
  103. $("#lblDcItem_MissingQty").val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(MissingQty, 2));
  104. $("#hdnDcItem_MissingQty").val(MissingQty);
  105. if (data.ParentId != 0) {
  106. $("#txtDcItem_DeliveredQty").attr('disabled', "true");
  107. $("#txtDcItem_Quantity").attr('disabled', "true");
  108. $("#txtDcItem_DamagedQty").attr('disabled', "true");
  109. }
  110. if (data.OrderItemId != 0) {
  111. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPendingOrderItemQty(data.OrderItemId).then(function (responce) {
  112. if (responce.result != null) {
  113. instance.PendingQty = responce.result.PendingQty + Quantity;
  114. }
  115. });
  116. }
  117. });
  118. }
  119. getItems() {
  120. var instance = this;
  121. var Qty = $('#txtDcItem_Quantity').val();
  122. var DelQty = $('#txtDcItem_DeliveredQty').val();
  123. var DamagQty = $('#txtDcItem_DamagedQty').val();
  124. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  125. var OrderId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value);
  126. var BranchId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shiptoaddressid").Value;
  127. if (instance.DcTypeId == 2)
  128. BranchId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shipfromaddressid").Value;
  129. var errosmsg = "";
  130. if (OrderId != 0 && instance.PendingQty) {
  131. if (Qty > instance.PendingQty) {
  132. if (instance.DcTypeId == 1) {
  133. errosmsg = "GRN Quantity shouldn't be greater than Pending Quantity";
  134. }
  135. else {
  136. errosmsg = "DC Quantity shouldn't be greater than than Pending Quantity";
  137. }
  138. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(errosmsg);
  139. return false;
  140. }
  141. }
  142. if (Number(DelQty) > Number(Qty)) {
  143. if (instance.DcTypeId == 1) {
  144. errosmsg = "Delivered Quantity shouldn't be greater than GRN Quantity";
  145. }
  146. else {
  147. errosmsg = "Delivered Quantity shouldn't be greater than DC Quantity";
  148. }
  149. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(errosmsg);
  150. return false;
  151. }
  152. if (Number(DamagQty) > Number(Qty)) {
  153. if (instance.DcTypeId == 1) {
  154. errosmsg = " Damaged Qty Shouldn’t Be Greater Than GRN Quantity";
  155. }
  156. else {
  157. errosmsg = " Damaged Qty Shouldn’t Be Greater Than DC Quantity";
  158. }
  159. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(errosmsg);
  160. return false;
  161. }
  162. instance.ItemList.push({
  163. DcId: Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_dcid").Value),
  164. DcItemId: Number($("#hf_pk_value").val()),
  165. Quantity: Number($('#txtDcItem_Quantity').val()),
  166. DeliveredQty: Number($('#txtDcItem_DeliveredQty').val()),
  167. DamagedQty: Number($('#txtDcItem_DamagedQty').val()),
  168. OrderItemId: Number($("#hf_EditItemlist_OrderItemId").val()),
  169. ItemId: Number($("#hf_EditItemlist_ItemId").val()),
  170. IsDirectDc: false,
  171. MrpId: Number($("#hf_EditItemlist_MrpId").val()),
  172. BatchId: Number($("#hf_EditItemlist_BatchId").val()),
  173. OldDcItemId: 0,
  174. ExchangeDC: false,
  175. Packs: Number($("#hf_packs").val()),
  176. Pieces: Number($("#hf_pieces").val()),
  177. IsFlexibleQty: false,
  178. Mrp: 0,
  179. BranchId: Number(BranchId),
  180. OldBranchId: Number(BranchId),
  181. DcTypeId: instance.DcTypeId,
  182. OrderId: OrderId,
  183. AutoMRPAllocation: false,
  184. LobId: Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_lobid").Value),
  185. });
  186. return instance.ItemList;
  187. }
  188. checkQty() {
  189. var instance = EditItem.Instance();
  190. if (Number($('#txtDcItem_DeliveredQty').val()) > Number($('#txtDcItem_Quantity').val())) {
  191. $('#txtDcItem_DeliveredQty').val($("#hdnDcItem_DeliveredQty").val());
  192. $('#lblDcItem_MissingQty').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($('#txtDcItem_Quantity').val()) - Number($("#hdnDcItem_DeliveredQty").val()), 2));
  193. if (instance.DcTypeId == 1) {
  194. var errosmsg = "Delivered Quantity,Shouldn’t Be greater than Quantity";
  195. }
  196. else {
  197. var errosmsg = "Delivered Quantity,Shouldn’t Be greater than Quantity";
  198. }
  199. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(errosmsg);
  200. return false;
  201. }
  202. }
  203. del_changeQty() {
  204. var instance = EditItem.Instance();
  205. var errosmsg = "";
  206. if (Number($('#txtDcItem_Quantity').val()) > instance.PendingQty) {
  207. if (instance.DcTypeId == 1) {
  208. errosmsg = "GRN Quantity shouldn't be greater than Pending Quantity";
  209. }
  210. else {
  211. errosmsg = "DC Quantity shouldn't be greater than than Pending Quantity";
  212. }
  213. $("#txtDcItem_DeliveredQty").val($('#hdnDcItem_Quantity').val());
  214. $('#txtDcItem_Quantity').val($('#hdnDcItem_Quantity').val());
  215. var missingQty = Number($('#txtDcItem_Quantity').val()) - (Number($("#txtDcItem_DeliveredQty").val()) + Number($('#txtDcItem_DamagedQty').val()));
  216. $("#lblDcItem_MissingQty").val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(missingQty, 2));
  217. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(errosmsg);
  218. return false;
  219. }
  220. else {
  221. $("#txtDcItem_DeliveredQty").val($('#txtDcItem_Quantity').val());
  222. var missingQty = Number($('#txtDcItem_Quantity').val()) - (Number($("#txtDcItem_DeliveredQty").val()) + Number($('#txtDcItem_DamagedQty').val()));
  223. $("#lblDcItem_MissingQty").val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(missingQty, 2));
  224. }
  225. }
  226. updateDelMissingQty() {
  227. var M_Qty = Number($('#txtDcItem_Quantity').val()) - ((Number($('#txtDcItem_DeliveredQty').val())) + Number($('#txtDcItem_DamagedQty').val()));
  228. if (M_Qty > 0)
  229. $("#lblDcItem_MissingQty").val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(M_Qty, 2));
  230. else {
  231. var dmgqty = Number($('#txtDcItem_Quantity').val()) - ((Number($('#txtDcItem_DeliveredQty').val())));
  232. if (dmgqty > 0)
  233. $('#txtDcItem_DamagedQty').val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(dmgqty, 2));
  234. $("#lblDcItem_MissingQty").val(0);
  235. }
  236. }
  237. updateDmgMissingQty() {
  238. var M_Qty = Number($('#txtDcItem_Quantity').val()) - (Number($('#txtDcItem_DeliveredQty').val()) + Number($('#txtDcItem_DamagedQty').val()));
  239. $("#lblDcItem_MissingQty").val(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(M_Qty, 2));
  240. }
  241. static Instance() {
  242. if (this.instance === undefined) {
  243. this.instance = new EditItem();
  244. }
  245. return this.instance;
  246. }
  247. }
  248. Controls.EditItem = EditItem;
  249. })(Controls = Transact.Controls || (Transact.Controls = {}));
  250. })(Transact = Apps.Transact || (Apps.Transact = {}));
  251. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  252. })(Bizgaze || (Bizgaze = {}));