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.

generatemastercode.js 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  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 GenerateMasterCode extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.AddedSerialNos = [];
  13. this.ScannedCount = 0;
  14. this.FormId = 0;
  15. this.PackCount = 0;
  16. }
  17. bindCartonDetails() {
  18. GenerateMasterCode.instance.AddedSerialNos = [];
  19. GenerateMasterCode.instance.ScannedCount = 0;
  20. GenerateMasterCode.instance.PackCount = 0;
  21. GenerateMasterCode.instance.FormId = 0;
  22. $(".section_QRCode").find("#divContainer").remove();
  23. var html = '<div id="divContainer"></div>';
  24. $(".section_QRCode").append(html);
  25. $(".txt_name").on("keypress", function () {
  26. return Bizgaze.Apps.Transact.Controls.GenerateMasterCode.Instance().isNumberKey(event);
  27. });
  28. $('.btnSection_StartScanning').unbind().click(function () {
  29. GenerateMasterCode.instance.AddedSerialNos = [];
  30. GenerateMasterCode.instance.ScannedCount = 0;
  31. if ($(".ddl_cascading_packcount option:selected").text() == "") {
  32. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Enter Packcount");
  33. return false;
  34. }
  35. else if ($(".txt_name").val() == "" && $(".ddl_cascading_packcount option:selected").text() == "Others") {
  36. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Enter Packcount");
  37. return false;
  38. }
  39. else {
  40. var uniqueid = 'Bizgaze_Transact_GenerateMasterCode_ScanSerialNumbers_CreateForm';
  41. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
  42. var successCallBack = {
  43. CallBack: function (id) {
  44. Bizgaze.Apps.Transact.Controls.GenerateMasterCode.instance.getQrCode(id);
  45. },
  46. Parameters: null,
  47. };
  48. var formviewerObj = {
  49. FormId: response.result.FormId,
  50. AppConfigurationId: 0,
  51. Pk_Value: 0,
  52. PortletWidgetId: 0,
  53. OnSuccess: successCallBack,
  54. OnFail: null,
  55. OnLoad: null,
  56. };
  57. Unibase.Platform.Forms.Components.FormViewer.instance.init(formviewerObj);
  58. GenerateMasterCode.instance.FormId = response.result.FormId;
  59. setTimeout(function () {
  60. $(".labelSection_cartondetails").empty();
  61. $(".labelSection_cartondetails").addClass('col-sm-12');
  62. var _value = $(".ddl_cascading_packcount option:selected").text();
  63. if (_value == "Others" || _value == "others") {
  64. _value = $(".txt_name").val();
  65. $("#boxespercarton").text('');
  66. $("#boxespercarton").text(_value);
  67. }
  68. GenerateMasterCode.instance.PackCount = _value;
  69. var html2 = '<div class="panel-body"><input type="hidden" id="hdn_masterserialno" value="0">' +
  70. '<ul class="list-group product-code details"><li class="list-group-item pa-10 clear added-row"><div class="col-sm-12 row"><div class="col-sm-7"><strong>Product Code</strong>' +
  71. '</div><div class="col-sm-1"><span>:</span></div><div class="pull-right col-md-4"><span>' + $(".txtAutoComplete_itemid option:selected").text() + ' </span></div></div></li>' +
  72. '<li class="list-group-item pa-10 clear added-row"><div class="col-sm-12 row"><div class="col-sm-7"><strong>Boxes per Carton </strong></div><div class="col-sm-1"><span>:</span></div><div class="pull-right col-sm-4" id="boxespercarton">' + _value + '</div></div></li><li class="list-group-item pa-10 clear added-row"><div class="col-sm-12 row"><div class="col-sm-7"><strong>Secondary QR Code</strong></div><div class="col-sm-1"><span>:</span></div><div class="pull-right col-sm-4"> <span id="spn_mastercode"></span></div></div></li><li class="list-group-item pa-10 clear added-row"><div class="col-sm-12 row"><div class="col-sm-7"><strong>Total Boxes Scanned</strong></div><div class="col-sm-1"><span>:</span></div><div class="pull-right col-sm-4"><span id="spn_scanned"></span></div></div></li></ul></div>';
  73. $(".labelSection_cartondetails").append(html2);
  74. Unibase.Forms.Controls.Scan.Instance().data = [];
  75. Unibase.Forms.Controls.Scan.Instance().setparameter = [];
  76. Unibase.Forms.Controls.Scan.Instance().setparameter = [
  77. { "ColumnName": "itemid", "Value": Number($(".txtAutoComplete_itemid").val()) }
  78. ];
  79. if ($(".labelSection_cartondetails").find(".product-code").length > 0) {
  80. $(".section_ScanSerialNos").removeClass('hidden');
  81. }
  82. else {
  83. $(".section_ScanSerialNos").addClass('hidden');
  84. }
  85. $("#form-container-" + response.result.FormId).find("#btnDynamicSave").attr('disabled', "true");
  86. }, 1000);
  87. });
  88. $("#btnDynamicSave").addClass('hidden');
  89. $(".section_ScanSerialNos").removeClass('hidden');
  90. $(".txt_name").attr('disabled', "true");
  91. $(".txtAutoComplete_itemid").attr('disabled', "true");
  92. $(".ddl_cascading_packcount").attr('disabled', "true");
  93. }
  94. });
  95. }
  96. isNumberKey(evt) {
  97. if (evt.which != 8 && evt.which != 0 && (evt.which < 48 || evt.which > 57)) {
  98. return false;
  99. }
  100. return true;
  101. }
  102. ScanSerailNo(serialno, container, propobj, callback) {
  103. if (serialno != "") {
  104. var BranchId = 0;
  105. if ($(".ddl_cascading_packcount option:selected").val() == undefined) {
  106. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select PackCount");
  107. return false;
  108. }
  109. else if ($(".txt_name").val() == "" && $(".ddl_cascading_packcount option:selected").text() == "Others") {
  110. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Enter Packcount");
  111. return false;
  112. }
  113. else if (GenerateMasterCode.instance.AddedSerialNos.filter(x => x == serialno).length == 1) {
  114. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Serial No Added");
  115. return false;
  116. }
  117. else if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings == null) {
  118. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Configure Default Branch");
  119. return false;
  120. }
  121. else if (Unibase.Platform.Membership.Infos.Identity.getSetting("companyid") == null || Unibase.Platform.Membership.Infos.Identity.getSetting("companyid") == undefined) {
  122. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Configure Default Branch");
  123. return false;
  124. }
  125. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings != null) {
  126. var companySetting = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "companyid");
  127. if (companySetting != null) {
  128. BranchId = Number(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchid").settingValue);
  129. }
  130. }
  131. GenerateMasterCode.instance.ScannedCount += 1;
  132. $("#spn_scanned").text(GenerateMasterCode.instance.ScannedCount);
  133. if ($(".divCustomProperties_name").hasClass("hidden")) {
  134. if (GenerateMasterCode.instance.ScannedCount >= Number($(".ddl_cascading_packcount option:selected").text())) {
  135. $("#scan_control").addClass('hidden');
  136. $("#form-container-" + GenerateMasterCode.instance.FormId).find('#btnDynamicSave').removeAttr('disabled');
  137. }
  138. }
  139. else if (GenerateMasterCode.instance.ScannedCount >= Number($(".txt_name").val())) {
  140. $("#scan_control").addClass('hidden');
  141. $("#form-container-" + GenerateMasterCode.instance.FormId).find('#btnDynamicSave').removeAttr('disabled');
  142. }
  143. let audiotype;
  144. audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.CouponBeep;
  145. Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype);
  146. if (GenerateMasterCode.instance.ScannedCount == 1) {
  147. var postdata = {
  148. CurrentWarehouseId: BranchId,
  149. ItemId: Number($(".txtAutoComplete_itemid option:selected").val()),
  150. Quantity: 0,
  151. SerialNo: serialno,
  152. };
  153. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/inventory/dcmanager.js", function () {
  154. Bizgaze.Apps.Transact.Managers.DCManager.Instance().generateMasterSerialNo(postdata).then(function (responce) {
  155. var data = JSON.parse(responce.result);
  156. Unibase.Forms.Controls.Scan.Instance().data[0].currentparentname = data.SerialNo;
  157. if ($(".divCustomProperties_name").hasClass("hidden")) {
  158. Unibase.Forms.Controls.Scan.Instance().data[0].otherscount = Number($(".ddl_cascading_packcount option:selected").text());
  159. }
  160. else {
  161. Unibase.Forms.Controls.Scan.Instance().data[0].otherscount = Number($(".txt_name").val());
  162. }
  163. $("#spn_mastercode").empty();
  164. $("#spn_mastercode").text(data.SerialNo);
  165. });
  166. });
  167. }
  168. }
  169. }
  170. ScrapSerialNo() {
  171. var instance = this;
  172. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_stagename").Value == "Scrapped") {
  173. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_Scrap").addClass("hidden");
  174. }
  175. else {
  176. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_Scrap").removeClass("hidden");
  177. $(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_Scrap").click(function () {
  178. var postdata = {
  179. stockid: Unibase.Themes.Providers.DetailHelper.recordId
  180. };
  181. instance.navigationHelper.showLoading();
  182. Bizgaze.Apps.Transact.Managers.DCManager.Instance().scrappedSNo(postdata).then(function (responce) {
  183. instance.navigationHelper.hideLoading();
  184. if (responce.result != null) {
  185. MessageHelper.Instance().showSuccess(responce.message, '');
  186. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_Scrap").addClass("hidden");
  187. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  188. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  189. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  190. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  191. }
  192. else {
  193. MessageHelper.Instance().showError(responce.message, "div_message");
  194. }
  195. });
  196. });
  197. }
  198. }
  199. getQrCode(stockId) {
  200. if ($(".section_QRCode").hasClass('hidden')) {
  201. $(".section_QRCode").removeClass('hidden');
  202. }
  203. Bizgaze.Apps.Transact.Managers.DCManager.Instance().getserialNo(stockId).then(function (responce) {
  204. $('.Serialno-row').remove();
  205. var html = '<li class="list-group-item pa-10 clear Serialno-row added-row"><div class="row"><div class="col-sm-12 row div_itemserialnos"><div class="col-sm-10 ml-35 div_Serialno"><strong class="txt_SerialNo">' + responce.result.SerialNo + '</strong></div><div class="pull-right col-md-1"><a class="btn_Addedserialno_angle text-dark" href="javascript:;" onclick="javascript: return Bizgaze.Apps.Transact.Controls.GenerateMasterCode.Instance().printQRCode(' + responce.result.StockId + ')"><i class="fa fa-print" aria-hidden="true"></i></a></div><div id="print_qrcode"></div></li>';
  206. $(".section_QRCode").find("#divContainer").append(html);
  207. });
  208. }
  209. printQRCode(stockid) {
  210. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('libs/qrcode/qrcode.js', function () {
  211. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('libs/qrcode/loadqrcode.js', function () {
  212. Bizgaze.Apps.Transact.Managers.DCManager.Instance().getserialNo(stockid).then(function (responce) {
  213. var html = `<div class="card">
  214. <div class="QRCodeDiv">
  215. <div class="col-sm-12" style="text-align:center;">
  216. <div id="GenerateQRCode" class="text-center">
  217. </div>
  218. </div>
  219. <div style="text-align:center"> <strong> ` + responce.result.SerialNo + ` </strong> </div>
  220. <div style="text-align:center"> <p> No. of Boxes : <strong> ` + GenerateMasterCode.instance.PackCount + ` </strong> </p> </div>
  221. <div style="text-align:center"> <p> Product Code : <strong> ` + responce.result.SKU + ` </strong> </p> </div>
  222. <div style="text-align:center; margin-bottom:10px"> <p> Product Name : <strong> ` + responce.result.ItemName + ` </strong> </p> </div>
  223. </div>
  224. </div>`;
  225. var content = '<html><head><title>Print</title><link rel="stylesheet" href="lib/bizgaze/print.css" /><link rel="stylesheet" href="lib/bootstrap/bootstrap-theme.min.css" /></head><body>';
  226. content += html;
  227. content += "<script> $(document).ready(function(){ loadqrcode.load_qrcode('" + responce.result.SerialNo + "', 'GenerateQRCode'); }); </script>";
  228. content += '</body></html>';
  229. $("#print_qrcode").html(content);
  230. setTimeout(function () {
  231. Bizgaze.Apps.Transact.Controls.GenerateMasterCode.Instance().printPopup($('#print_qrcode').html());
  232. }, 1500);
  233. $("#print_qrcode").addClass('hidden');
  234. return true;
  235. });
  236. });
  237. });
  238. }
  239. printPopup(data) {
  240. $('.QRCodeDiv').remove();
  241. var mywindow = window.open('', 'my Print', 'height=400,width=850');
  242. var content = '<html><head><title>Print</title><link rel="stylesheet" href="lib/bizgaze/print.css" /><link rel="stylesheet" href="lib/bootstrap/bootstrap-theme.min.css" /></head><body>';
  243. content += data;
  244. content += "<script>print();</script>";
  245. content += '</body></html>';
  246. mywindow.document.write(content);
  247. return true;
  248. }
  249. static Instance() {
  250. if (this.instance === undefined) {
  251. this.instance = new GenerateMasterCode();
  252. }
  253. return this.instance;
  254. }
  255. }
  256. Controls.GenerateMasterCode = GenerateMasterCode;
  257. })(Controls = Transact.Controls || (Transact.Controls = {}));
  258. })(Transact = Apps.Transact || (Apps.Transact = {}));
  259. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  260. })(Bizgaze || (Bizgaze = {}));