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.

deliveredserialnos.js 35KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382
  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 DeliveredSerialNos extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.AddedSerialNos = [];
  13. this.SerialNoList = [];
  14. this.ScannedCount = 0;
  15. this.DcTypeId = 0;
  16. this.BranchId = 0;
  17. this.IsTransfer = "false";
  18. this.ScannedSNoCount = 0;
  19. }
  20. init(containerid, SerialNo, callback) {
  21. var instance = this;
  22. $(".section_Scan").addClass('hidden');
  23. instance.SerialNoList = [];
  24. instance.AddedSerialNos = [];
  25. instance.ScannedSNoCount = 0;
  26. Unibase.Forms.Controls.Scan.Instance().data = [];
  27. var html = '<input type="hidden" id="hdn_customcontrol" class="value-control" value="Bizgaze.Apps.Transact.Controls.DcSerialNo.Instance().getSerialNos();"><div class="Added_SerialNos hidden card Section mt-20"><div class="card-header" id="section_SerialNos">Added Items</div><div class="card-body"><div class="">' +
  28. '<div class="panel-body Active_serialnos"><ul class="stock-item-serialnos added-row list-group"></ul></div></div></div></div><div class="delivered_SerialNos hidden card Section mt-20"><div class="card-header" id="section_AllocatedSerialNos">' +
  29. '<a class="btn_Addedserialno_angle text-dark" href="javascript:;" onclick="javascript: return Bizgaze.Apps.Transact.Controls.DcSerialNo.instance.showAddedSerialNos()"><i class="fa fa-angle-down hidden"></i><i class="fa fa-angle-right"></i><span class="ml-10"><a class="serial-link mt-10" href="javascript:;" ></a></span></a></div><div class="card-body"><div class="">' +
  30. '<div class="panel-body Allocated_serialnos"><ul class="addedd-serialnos added-row list-group"></ul></div></div></div></div>' +
  31. '</div>';
  32. $(containerid).append(html);
  33. instance.DcTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_dctypeid").Value);
  34. instance.IsTransfer = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_istransfer").Value;
  35. if (instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Inward && instance.IsTransfer) {
  36. instance.BranchId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_shipfromaddressid").Value);
  37. }
  38. else if (instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Inward) {
  39. instance.BranchId = Number(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchid").settingValue);
  40. }
  41. else if (instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward) {
  42. instance.BranchId = Number(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchid").settingValue);
  43. }
  44. instance.getcount();
  45. $("#spn_required").prop('disabled', true);
  46. var html111 = '<div data-simplebar class="simple-scroll-bar scrollable bg-cyan-light-5 control-sorting row pl-50 pa-10 pr-20" id="footersection123" style="overflow-y:auto;overflow-x:none;"><div class="row"><div class="mb-15 col-lg-4" ><div class="Border"><div class="Border1 hidden"><div class="pull-left" id="dragWidget"><a class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-fullscreen"></i></span></a></div><div class="card-action-wrap pull-right m-t-sm m-r-lg"><a href="javascript:;" class="inline-block btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-pencil"></i></span></a><a href="javascript:;" class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover" title="Permissions"><span class="btn-icon-wrap"><i class="ti-key"></i></span></a><span class="btn-icon-wrap"><i class="ti-trash"></i></span></a></div></div><div class="cardbody"><div class="" id=""><div class="card mb-0 card-sm shadow-hover" style="height:100px;"><div class="card-body"><span class="font-14 font-weight-400 text-dark">Total</span><span class="d-block align-items-center card-action-wrap pull-right font-11"><a href="#" class="inline-block full-screen hidden" id=""><i class="ion ion-md-expand"></i></a></span><div class="mt-15"> <span id="" class="h4 block mb-10"><span class="display-5 font-weight-400" id="txt_total"></span></span><span id=""></span><div class="pull-right" style="margin-top:-10px;"><div id=""></div><div class="py-0" style="margin-top:-10px;"></div></div></div></div></div></div></div></div></div>' +
  47. '<div class="mb-15 col-lg-4" ><div class="Border"><div class="Border1 hidden"><div class="pull-left" id="dragWidget"><a class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-fullscreen"></i></span></a></div><div class="card-action-wrap pull-right m-t-sm m-r-lg"><a href="javascript:;" class="inline-block btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-pencil"></i></span></a><a href="javascript:;" class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover" title="Permissions"><span class="btn-icon-wrap"><i class="ti-key"></i></span></a><span class="btn-icon-wrap"><i class="ti-trash"></i></span></a></div></div><div class="cardbody"><div class="" id=""><div class="card mb-0 card-sm shadow-hover" style="height:100px;"><div class="card-body"><span class="font-14 font-weight-400 text-dark">Scanned</span><span class="d-block align-items-center card-action-wrap pull-right font-11"><a href="#" class="inline-block full-screen hidden" id=""><i class="ion ion-md-expand"></i></a></span><div class="mt-15"> <span id="" class="h4 block mb-10"><span class="display-5 font-weight-400" id="txt_scanned"></span></span><span id=""></span><div class="pull-right" style="margin-top:-10px;"><div id=""></div><div class="py-0" style="margin-top:-10px;"></div></div></div></div></div></div></div></div></div>' +
  48. '<div class="mb-15 col-lg-4" ><div class="Border"><div class="Border1 hidden"><div class="pull-left" id="dragWidget"><a class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-fullscreen"></i></span></a></div><div class="card-action-wrap pull-right m-t-sm m-r-lg"><a href="javascript:;" class="inline-block btn btn-icon btn-rounded btn-flush-primary flush-soft-hover"><span class="btn-icon-wrap"><i class="ti-pencil"></i></span></a><a href="javascript:;" class="btn btn-icon btn-rounded btn-flush-primary flush-soft-hover" title="Permissions"><span class="btn-icon-wrap"><i class="ti-key"></i></span></a><span class="btn-icon-wrap"><i class="ti-trash"></i></span></a></div></div><div class="cardbody"><div class="" id=""><div class="card mb-0 card-sm shadow-hover" style="height:100px;"><div class="card-body"><span class="font-14 font-weight-400 text-dark">Remaining</span><span class="d-block align-items-center card-action-wrap pull-right font-11"><a href="#" class="inline-block full-screen hidden" id=""><i class="ion ion-md-expand"></i></a></span><div class="mt-15"> <span id="" class="h4 block mb-10"><span class="display-5 font-weight-400" id="txt_remaining"></span></span><span id=""></span><div class="pull-right" style="margin-top:-10px;"><div id=""></div><div class="py-0" style="margin-top:-10px;"></div></div></div></div></div></div></div></div></div>' +
  49. '</div></div>';
  50. $("#formFooter").before(html111);
  51. $('#txt_scanned').prop('disabled', true);
  52. $('#txt_remaining').prop('disabled', true);
  53. $('#txt_total').prop('disabled', true);
  54. $(".formviewer_id").css('height', $(".formviewer_id").height() - $("#footersection123").height() + 'px');
  55. $('#btnDynamicSave').addClass('hidden');
  56. $("#form-container-" + $("#hf_FormId").val()).find('#btn_CloseForm').off('click');
  57. $('#btn_CloseForm').click(function () {
  58. Unibase.Platform.Helpers.NavigationHelper.Instance().closePopUp();
  59. var detailInstance = Unibase.Themes.Compact.Components.Details.Instance();
  60. var panel = "#" + detailInstance._containerId;
  61. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  62. obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
  63. obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  64. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  65. detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () {
  66. detailInstance.loadDefaultWidgets(obj._installedAppId, panel);
  67. detailInstance.LoadApprovals(obj._recordId, obj._installedAppId);
  68. });
  69. });
  70. }
  71. _ScanSerailNo(serialno, container, propobj, callback) {
  72. $("#divListContainer").addClass('col-sm-12');
  73. var instance = DeliveredSerialNos.instance;
  74. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/inventory/dcmanager.js", function () {
  75. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/enums/enum.js", function () {
  76. if ($('.stock-item-serialnos').length == 0) {
  77. instance.init(container, serialno, callback);
  78. }
  79. if (instance.AddedSerialNos.filter(x => x == serialno).length > 1) {
  80. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Serial No Added");
  81. return false;
  82. }
  83. instance.AddedSerialNos.push(serialno);
  84. var url = '';
  85. var dcitemid = Number($("#hf_pk_value").val());
  86. if (instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Inward) {
  87. url = 'apis/v4/bizgaze/transact/dcs/GetTransferSerialNobyBranchId/serialno/' + serialno + '/branchid/' + instance.BranchId + '/itemid/' + Number($("#hf_itemid_" + dcitemid).val());
  88. }
  89. else if (instance.DcTypeId = Bizgaze.Apps.Transact.Enums.DcType.Outward) {
  90. url = 'apis/v4/bizgaze/transact/dcs/getitemserialnosbyparentname/itemid/' + Number($("#hf_itemid_" + dcitemid).val()) + '/branchid/' + instance.BranchId + '/serialno/' + serialno;
  91. }
  92. Bizgaze.Apps.Transact.Managers.DCManager.Instance().scanMasterSerialNo(url).then(function (responce) {
  93. var list = [];
  94. list = responce.result;
  95. if (responce.result.length == 0) {
  96. $(".scan_MasterScanSerialNumber").val('');
  97. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(responce.message);
  98. }
  99. else if (responce.result[0].RefId != 0) {
  100. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/paybacks/managers/schememanager.js", function () {
  101. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getCouponGeneration(Number(responce.result[0].RefId)).then(function (result) {
  102. if (result.result != null) {
  103. if (result.result.QuantityReceived == 0) {
  104. $(".Active_serialnos").empty();
  105. MessageHelper.Instance().showError("Cannot use the coupon before receiving coupons", $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id'));
  106. return false;
  107. }
  108. else {
  109. $(".txtAutoComplete_itemid").attr('disabled', "true");
  110. if ($(".Added_SerialNos").hasClass('hidden')) {
  111. $(".Added_SerialNos").removeClass('hidden');
  112. }
  113. instance.bindSerialNo(list, callback, false);
  114. Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(Unibase.Platform.Automation.Enums.NotifyAlerts.CouponBeep);
  115. }
  116. }
  117. });
  118. });
  119. }
  120. else {
  121. $(".txtAutoComplete_itemid").attr('disabled', "true");
  122. if ($(".Added_SerialNos").hasClass('hidden')) {
  123. $(".Added_SerialNos").removeClass('hidden');
  124. }
  125. instance.bindSerialNo(list, callback, false);
  126. Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(Unibase.Platform.Automation.Enums.NotifyAlerts.CouponBeep);
  127. }
  128. });
  129. });
  130. });
  131. }
  132. bindSerialNo(result, callback, IsEdit) {
  133. for (var i = 0; i < result.length; i++) {
  134. var instance = this;
  135. var rowid = moment().valueOf();
  136. var html = '<li class="list-group-item pa-10 clear Serialno-row added-row li_' + rowid + ' serialno_' + result[i].CurrentParentId + '"><input type="hidden" id="hf_rowid" value="' + rowid + '"><input type="hidden" id="hf_stocktypeid' + rowid + '" value="' + result[i].StockTypeId + '">' +
  137. '<div class="row"><input type="hidden" id="hdn_stockid_' + result[i].StockId + '" value="' + result[i].StockId + '"><input type="hidden" id="hdn_stockstatusid_' + rowid + '" value="' + result[i].StockStatusId + '"><input type="hidden" id="hdn_stockid_' + rowid + '" value="' + result[i].StockId + '"><input type="hidden" id="hdn_parentstockId_' + rowid + '" value="' + result[i].CurrentParentId + '">';
  138. if (result[i].StockTypeId == 2) {
  139. html += '<div class="col-sm-5 ml-10 div_Serialno divserialno_' + result[i].CurrentParentId + '"><a class="btn_parestserialno_angle' + rowid + ' text-dark" href="javascript:;" onclick="javascript: return Bizgaze.Apps.Transact.Controls.DeliveredSerialNos.Instance().showDetails(' + result[i].StockId + ',' + rowid + ')"><i class="fa fa-angle-down hidden"></i><i class="fa fa-angle-right"></i><span class="ml-10"><a class="serial-link mt-10 txtSerialNo_' + rowid + '" " id="txt_' + result[i].StockId + '" href="javascript:;" >' + result[i].SerialNo + '</a></span></a></div>';
  140. html += '<div class="col-sm-5"><small id="parent_info' + result[i].CurrentParentId + '" style = "color:red;">Master Serial No</small></div>';
  141. }
  142. else {
  143. html += '<div class="col-sm-12 row div_itemserialnos' + rowid + '"><div class="col-sm-10 ml-35 div_Serialno divserialno_' + result[i].CurrentParentId + '">';
  144. html += '<strong class="textcolumn txt_' + result[i].SerialNo + ' txtSerialNo_' + rowid + '" id="txt_' + result[i].StockId + '">' + result[i].SerialNo + '</strong></div>';
  145. }
  146. if (result[i].StockTypeId == Bizgaze.Apps.Transact.Enums.StockType.Package) {
  147. }
  148. html += '</li>';
  149. if (result[i].StockTypeId == 1) {
  150. html += '</div>';
  151. }
  152. html += '</div>';
  153. $('.stock-item-serialnos:last').append(html);
  154. if (result[i].StockTypeId == 2 && result[i].PackCount == 1) {
  155. instance.ScannedCount = instance.ScannedCount;
  156. }
  157. else {
  158. instance.ScannedCount += 1;
  159. $("#txt_scanned").text(Number($("#txt_scanned").text()) + 1);
  160. $("#txt_remaining").text(Number($("#txt_total").text()) - Number($("#txt_scanned").text()));
  161. }
  162. instance.AddedSerialNos.push(result[i].SerialNo);
  163. if (Number($("#txt_remaining").text()) == 0) {
  164. $("#scan_control").addClass('hidden');
  165. }
  166. }
  167. }
  168. getcount() {
  169. var instance = this;
  170. Bizgaze.Apps.Transact.Managers.DCManager.Instance().GetSerialNosCount($("#hf_pk_value").val(), instance.DcTypeId, instance.IsTransfer).then(function (responce) {
  171. if (responce.result != null) {
  172. $(".section_Scan").removeClass('hidden');
  173. $('#txt_total').text(responce.result.TotalSerialNos);
  174. $('#txt_scanned').text(responce.result.ScannedSerialNos);
  175. $('#txt_remaining').text(responce.result.RemainingSerialNos);
  176. instance.ScannedCount = responce.result.ScannedSerialNos;
  177. instance.ScannedSNoCount = responce.result.ScannedSerialNos;
  178. if (responce.result.TotalSerialNos == responce.result.ScannedSerialNos) {
  179. $("#scan_control").addClass('hidden');
  180. var html = '<div class="row col-12 text-center" id="div_ScanControl"><strong class="col-12 text-center" style="color:green">Scanning Completed</strong></div>';
  181. $(".divCustomProperties").after(html);
  182. }
  183. }
  184. });
  185. }
  186. getDeliveredSerialNos(callback) {
  187. Unibase.Forms.Controls.Scan.Instance().data = [];
  188. var instance = this;
  189. var StockStatusId = Bizgaze.Apps.Transact.Enums.StockStatus.Delivered;
  190. if (instance.IsTransfer && instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward) {
  191. StockStatusId = Bizgaze.Apps.Transact.Enums.StockStatus.Transfer;
  192. }
  193. var url = 'apis/v4/bizgaze/transact/dcs/getdeliveredstocks/dcitemid/' + $("#hf_pk_value").val() + '/StockStatusId/' + StockStatusId;
  194. if (instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Inward) {
  195. url = 'apis/v4/bizgaze/transact/dcs/gettransferedstocks/dcitemid/' + $("#hf_pk_value").val();
  196. }
  197. Bizgaze.Apps.Transact.Managers.DCManager.Instance().getAllocatedStocks(url).then(function (responce) {
  198. $('.addedd-serialnos').empty();
  199. $(".delivered_SerialNos").removeClass('hidden');
  200. if (responce.result.length > 0) {
  201. if (instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Inward) {
  202. $(".serial-link").text('Allocated Serial Nos');
  203. }
  204. else if (instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward && instance.IsTransfer) {
  205. $(".serial-link").text('Transfer Serial Nos');
  206. }
  207. else {
  208. $(".serial-link").text('Delivered Serial Nos');
  209. }
  210. responce.result = responce.result.filter(x => x.StockStatusId != Bizgaze.Apps.Transact.Enums.StockStatus.Active);
  211. DeliveredSerialNos.instance.bindSerialNo(responce.result, callback, true);
  212. }
  213. else {
  214. if (!$(".delivered_SerialNos").hasClass('hidden')) {
  215. $(".delivered_SerialNos").addClass('hidden');
  216. }
  217. }
  218. });
  219. }
  220. removeRow(stockid, rowid, callback) {
  221. var instance = DeliveredSerialNos.Instance();
  222. if (((Number($("#hdn_stockstatusid_" + rowid).val()) == Bizgaze.Apps.Transact.Enums.StockStatus.Delivered) || (Number($("#hdn_stockstatusid_" + rowid).val()) == Bizgaze.Apps.Transact.Enums.StockStatus.Allocated) || Number($("#hdn_stockstatusid_" + rowid).val()) == Bizgaze.Apps.Transact.Enums.StockStatus.Transfer && instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Outward) || (Number($("#hdn_stockstatusid_" + rowid).val()) == Bizgaze.Apps.Transact.Enums.StockStatus.Allocated && instance.DcTypeId == Bizgaze.Apps.Transact.Enums.DcType.Inward)) {
  223. var ErrorMsg = "";
  224. if ($("#hf_stocktypeid" + rowid).val() == "2")
  225. ErrorMsg = "Are You Sure,Item Serial No's will be Deleted. If You Delete Master Serial No.";
  226. else
  227. ErrorMsg = "Do you want to Delete Item Serial Number ?";
  228. bootbox.confirm(ErrorMsg, function (result) {
  229. if (result) {
  230. var StockId = $("#hdn_stockid_" + rowid).val();
  231. let postdata = { StockId: Number(StockId), StockStatusId: Number($("#hdn_stockstatusid_" + rowid).val()), DcId: Unibase.Themes.Providers.DetailHelper.recordId, DcTypeId: instance.DcTypeId, OutwardDCItemId: Number($("#hf_pk_value").val()) };
  232. Bizgaze.Apps.Transact.Managers.DCManager.Instance().deleteSerialNo(postdata).then(function (response) {
  233. if (response.result != null) {
  234. $(".stock-item-serialnos").find(".serialno_" + stockid).each(function () {
  235. var rowid = $(this).find("#hf_rowid").val();
  236. DeliveredSerialNos.instance.AddedSerialNos.splice(DeliveredSerialNos.instance.AddedSerialNos.findIndex(p => p == $(".txtSerialNo_" + rowid).text()), 1);
  237. DeliveredSerialNos.instance.SerialNoList.splice(DeliveredSerialNos.instance.SerialNoList.findIndex(p => p == $(".txtSerialNo_" + rowid).text()), 1);
  238. });
  239. $(".li_" + rowid).remove();
  240. instance.getcount();
  241. instance.getDeliveredSerialNos(callback);
  242. MessageHelper.Instance().showSuccess(response.result.Message, '');
  243. }
  244. else {
  245. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(response.message);
  246. }
  247. });
  248. }
  249. });
  250. }
  251. else {
  252. if ($("#hf_stocktypeid" + rowid).val() == "2")
  253. ErrorMsg = "Are You Sure,Item Serial No's will be Deleted. If You Delete Master Serial No.";
  254. else
  255. ErrorMsg = "Do you want to Delete Item Serial Number ?";
  256. bootbox.confirm(ErrorMsg, function (result) {
  257. if (result) {
  258. $(".li_" + rowid).remove();
  259. var _itemlenth = $(".stock-item-serialnos").find(".serialno_" + stockid).length;
  260. $(".stock-item-serialnos").find(".serialno_" + stockid).each(function () {
  261. var rowid = $(this).find("#hf_rowid").val();
  262. DeliveredSerialNos.instance.AddedSerialNos.splice(DeliveredSerialNos.instance.AddedSerialNos.findIndex(p => p == $(".txtSerialNo_" + rowid).text()), 1);
  263. DeliveredSerialNos.instance.SerialNoList.splice(DeliveredSerialNos.instance.SerialNoList.findIndex(p => p == $(".txtSerialNo_" + rowid).text()), 1);
  264. });
  265. $(".serialno_" + stockid).remove();
  266. DeliveredSerialNos.instance.ScannedCount -= _itemlenth;
  267. $('#txt_scanned').text(DeliveredSerialNos.instance.ScannedCount);
  268. $('#txt_remaining').text(Number($("#txt_total").text()) - Number($("#txt_scanned").text()));
  269. DeliveredSerialNos.instance.SerialNoList.splice(DeliveredSerialNos.instance.SerialNoList.findIndex(p => p == $(".txtSerialNo_" + rowid).text()), 1);
  270. DeliveredSerialNos.instance.AddedSerialNos.splice(DeliveredSerialNos.instance.AddedSerialNos.findIndex(p => p == $(".txtSerialNo_" + rowid).text()), 1);
  271. }
  272. });
  273. }
  274. }
  275. showDetails(stockid, rowid) {
  276. $(".btn_parestserialno_angle" + rowid).find(".fa-angle-down").toggleClass("hidden");
  277. $(".btn_parestserialno_angle" + rowid).find(".fa-angle-right").toggleClass("hidden");
  278. $(".serialno_" + stockid).toggleClass("hidden");
  279. }
  280. static Instance() {
  281. if (this.instance === undefined) {
  282. this.instance = new DeliveredSerialNos();
  283. }
  284. return this.instance;
  285. }
  286. ScanSerailNo(serialno, container, propobj, callback) {
  287. if (serialno != '')
  288. $("#divListContainer").addClass('col-sm-12');
  289. var instance = DeliveredSerialNos.instance;
  290. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/inventory/dcmanager.js", function () {
  291. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/enums/enum.js", function () {
  292. if ($('.stock-item-serialnos').length == 0) {
  293. instance.init(container, serialno, callback);
  294. }
  295. var dup = Bizgaze.Apps.Transact.Controls.DeliveredSerialNos.Instance().AddedSerialNos.filter(x => x == serialno).length;
  296. if (instance.AddedSerialNos.filter(x => x == serialno).length >= 1) {
  297. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Serial No Already Added");
  298. return false;
  299. }
  300. instance.AddedSerialNos.push(serialno);
  301. var dcid = 0;
  302. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.length != 0) {
  303. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  304. dcid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_dcid").Value);
  305. }
  306. var url = '';
  307. var dcitemid = Number($("#hf_pk_value").val());
  308. url = 'apis/v4/bizgaze/transact/dcs/ScanItemSerialNosByparentName/itemid/' + Number($("#hf_itemid_" + dcitemid).val()) + '/dcid/' + dcid + '/serialno/' + serialno + '/dcitemid/' + dcitemid;
  309. Bizgaze.Apps.Transact.Managers.DCManager.Instance().scanMasterSerialNo(url).then(function (responce) {
  310. var list = [];
  311. list = responce.result;
  312. instance.ScannedSNoCount += responce.totalRecords;
  313. var StockId = responce.message;
  314. if (responce.result.length == 0) {
  315. $(".scan_MasterScanSerialNumber").val('');
  316. instance.AddedSerialNos.splice(instance.AddedSerialNos.findIndex(x => x == serialno), 1);
  317. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(responce.message);
  318. }
  319. else {
  320. $(".txtAutoComplete_itemid").attr('disabled', "true");
  321. if ($(".Added_SerialNos").hasClass('hidden')) {
  322. $(".Added_SerialNos").removeClass('hidden');
  323. }
  324. if (instance.ScannedSNoCount > Number($("#txt_total").text())) {
  325. MessageHelper.Instance().showError("Serial No Count Exceeded - " + serialno + Number($("#txt_total").text()) + "", $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id'));
  326. setTimeout(function () {
  327. $(".bizgaze_FormErrorMessages").empty();
  328. }, 1500);
  329. return false;
  330. }
  331. else {
  332. instance.bindSerialNo(list, callback, false);
  333. Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(Unibase.Platform.Automation.Enums.NotifyAlerts.CouponBeep);
  334. instance.updateSerialNo(StockId, responce.totalRecords);
  335. }
  336. }
  337. });
  338. });
  339. });
  340. }
  341. scanDCAndGrn(DcId, StockId, DcItemId) {
  342. debugger;
  343. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/inventory/dcmanager.js", function () {
  344. Bizgaze.Apps.Transact.Managers.DCManager.Instance().scanDCAndGrn(DcId, StockId, DcItemId).then(function (responce) {
  345. debugger;
  346. });
  347. });
  348. }
  349. validateserialno(result, callback, IsEdit) {
  350. debugger;
  351. var _length = result.filter(x => x.StockTypeId == 1).length;
  352. if (_length > Number($("#txt_total").text()) && !IsEdit) {
  353. MessageHelper.Instance().showError("Serial No Count Exceeded " + Number($("#txt_total").text()) + "", $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id'));
  354. setTimeout(function () {
  355. $(".bizgaze_FormErrorMessages").empty();
  356. }, 1500);
  357. if (Number($("#txt_remaining").text()) == 0) {
  358. $("#scan_control").addClass('hidden');
  359. }
  360. return false;
  361. }
  362. else {
  363. this.scanDCAndGrn(Unibase.Themes.Providers.DetailHelper.recordId, result[0].StockId, $("#hf_pk_value").val());
  364. this.bindSerialNo(result, callback, false);
  365. }
  366. }
  367. updateSerialNo(StockId, ScannedCount) {
  368. debugger;
  369. var instance = this;
  370. var url = 'apis/v4/bizgaze/transact/dcs/scandcandgrn/stockid/' + Number(StockId) + '/dcitemid/' + Number($("#hf_pk_value").val()) + '/dctypeid/' + instance.DcTypeId + '/istransfer/' + instance.IsTransfer + '/scannedcount/' + ScannedCount;
  371. Bizgaze.Apps.Transact.Managers.DCManager.Instance().scanMasterSerialNo(url).then(function (responce) {
  372. debugger;
  373. if (responce.result != null) {
  374. }
  375. });
  376. }
  377. }
  378. Controls.DeliveredSerialNos = DeliveredSerialNos;
  379. })(Controls = Transact.Controls || (Transact.Controls = {}));
  380. })(Transact = Apps.Transact || (Apps.Transact = {}));
  381. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  382. })(Bizgaze || (Bizgaze = {}));