{"version":3,"sources":["middleware/api.js","Actions/GET_ACTIONS/ORDER_GET_ACTIONS/GetOrderActions.js","Reducers/index.js","Reducers/GET_REDUCERS/getOrderStatusReducer.js","Reducers/GET_REDUCERS/getItemReducers.js","Actions/Controls/AutoComplete/autoComplete.cascad.js","Config/reducers/apiReducer.js","Config/action/apiAction.js","Config/action/tokenAction.js","Header.js","Menu.js","Footer.js","Content.js","CommanFunc.js","Config/action/crypto.js","ForgotPassword.js","Login.js","SideMenu.js","Components/Counter.js","Components/ORDER/OrderDisplay/UserdDetails.js","Actions/actions.js","Components/COMMON/DashBoardUtility/DashboardSearch.js","Actions/Controls/AutoComplete/autoCompleteMultiple.js","Actions/Controls/AutoComplete/autoComplete.js","IMAGE/MODAL/frmValueAliasAction.js","IMAGE/MODAL/frmUpdateValueAliasAction.js","IMAGE/MODAL/frmMultipleValueAliasAction.js","IMAGE/MODAL/frmValueAliasImportAction.js","Actions/Controls/Table/AntDTable.js","IMAGE/frmAttributeGroup.js","IMAGE/frmAttributeMaster.js","IMAGE/MODAL/frmcreateValueAliasing.js","IMAGE/frmValueAliasingMaster.js","IMAGE/frmproductcategory.js","IMAGE/MODAL/OrgPortalMapping.js","IMAGE/frmorganization.js","IMAGE/frmuser.js","Actions/Controls/AutoComplete/autoCompleteMultipleCascad.js","IMAGE/frmproductdetails.js","IMAGE/MODAL/frmTemplate.js","Updated/frmSelectAttributeUpdate.js","Updated/frmSetPriorityImage.js","Updated/frmGetDetailsYoox.js","Updated/frmExportTemplate.js","IMAGE/MODAL/table.js","IMAGE/frmMultipleProduct.js","IMAGE/MODAL/frmTemplateFilter.js","IMPORTDATA/UpdateAttributeAliasing.js","IMPORTDATA/frmUpdateValueAliasing.js","IMAGE/frmUserRights.js","IMAGE/frmStatusMarking.js","IMAGE/MODAL/frmCloneTemplate.js","IMAGE/MODAL/frmAmazonParent.js","IMAGE/frmCreatetemplate.js","Mltfunc.js","Actions/Controls/Modal/PortalConfig.js","Actions/Controls/Modal/ImageConfig.js","IMAGEPROCESS/frmImageProcessUpdate.js","REPORT/frmReportADhoc.js","REPORT/frmReportADhocRight.js","RELATIONSHIP/frmRelationshipMaster.js","IMPORTDATA/frmImportCustomData.js","IMPORTDATA/frmlotMaster.js","RELATIONSHIP/frmMergingNew.js","IMAGEPROCESS/frmColorCheck.js","IMPORTDATA/frmMultipleValueAliasing.js","IMPORTDATA/frmDefaultValueMaster.js","Users/frmOrgnisationProfile.js","PAYMENTRECO/MODEL/frmSetFixedFee.js","PAYMENTRECO/MODEL/frmTierMaster.js","PAYMENTRECO/MODEL/frmSetPaymentFee.js","PAYMENTRECO/MODEL/frmSetFreightFee.js","PAYMENTRECO/MODEL/frmSetPortalCommission.js","PAYMENTRECO/frmSubmitOrderlData.js","PublicRoute.js","PrivateRoute.js","IMAGE/frmMultiCountry.js","IMAGE/MODAL/frmApiMaster.js","IMAGE/frmDirectUploadExcel.js","IMAGE/frmPriceUpdate.js","IMAGE/frmVCR.js","IMAGE/frmVcrDetails.js","IMAGE/MODAL/frmImportPriceMaster.js","SubModule/Common/createTicketModal/index.js","SubModule/Common/pageTitle/index.js","SubModule/Main/Dashboard/dashboardDetail.js","SubModule/Main/Dashboard/index.js","SubModule/Main/Change-Password/changePasswordDetail.js","SubModule/Main/Change-Password/index.js","SubModule/Main/History/basic.js","SubModule/Main/History/index.js","SubModule/Main/Category/categoryDetail.js","SubModule/Main/Category/index.js","SubModule/Main/Notification/notificationDetail.js","SubModule/Main/Notification/index.js","SubModule/Main/Invoice/invoiceDetail.js","SubModule/Main/Invoice/index.js","SubModule/Main/Invoice/printInvoice.js","SubModule/Main/Checkout/paytmChecksum.js","SubModule/Main/Checkout/checkoutDetail.js","SubModule/Main/Checkout/index.js","SubModule/Main/Trouble-Ticket/troubleTicket.js","SubModule/Main/Trouble-Ticket/index.js","SubModule/Main/Pricing/pricingDetail.js","SubModule/Main/Pricing/pricingList.js","SubModule/Main/Pricing/userListing.js","SubModule/Main/Pricing/index.js","SubModule/Main/Price-Request/requestDetail.js","SubModule/Main/Price-Request/requestList.js","SubModule/Main/Price-Request/index.js","SubModule/Main/Broadcast-Notification/notificationDetail.js","SubModule/Main/Broadcast-Notification/index.js","SubModule/Main/Brand/brandDetail.js","SubModule/Main/Brand/index.js","SubModule/Main/Import-Sheet/draggedTable.js","SubModule/Main/Import-Sheet/importSheetDetail.js","SubModule/Main/Import-Sheet/importSheetList.js","SubModule/Main/Import-Sheet/index.js","SubModule/Main/Image-Position/imageDetail.js","SubModule/Main/Image-Position/index.js","AdminRoute.js","app.route.js","App.js","serviceWorker.js","index.js","Configuration.js","SubModule/assets/bluMangoes.png","SubModule/assets/loader.gif"],"names":["API_URL","Configuration","SYSTEM_SETTINGS","CALL_API","Symbol","rootReducer","combineReducers","getOrderStatusReducer","state","isFetching","action","type","Object","assign","dataItem","dataUSER","getItemListReducer","itemListData","payload","TOKEN","USER_TOKEN","ToggleButton","isOpen","onClick","Fnc","className","onMouseDown","e","preventDefault","AutoCompleteCascad","props","wrapper","React","createRef","cmbData","DisplayId","DisplayName","mainQuery","count","a","headers","this","filterId1","undefined","Swal","fire","position","icon","title","filter1","showConfirmButton","timer","filter","filter2","filterId2","qry","frmNm","quryNm","trim","tblname","getDataTable","dt","console","log","setState","evt","SearchKey","selectedOptions","length","clearButton","id","labelKey","onFocus","fillData","bind","onChange","onAfterSelect","options","placeholder","onInputChange","onInputChangeHandler","ref","isMenuShown","toggleMenu","Component","fetchDataComplete","data","APIService","url","link","config","localStorage","getItem","JSON","parse","USERTOKEN","dispatch","axios","get","response","apiActions","post","put","delete","TokenService","require","setItem","key","stringify","value","removeItem","Header","openNotification","stopPropagation","window","open","showNotification","orgName","Username","IsAgent","unreadDot","user","ID","then","status","unreadCount","setActiveNotification","catch","err","userid","USER_ID","Query","rs","OrgName","forceUpdate","name","MandatoryArray","ORGANIZATION","ORGID","MandatoryFormFields","que","Array","isArray","location","reload","Modal","info","okText","width","closable","footer","okButtonProps","style","display","bodyStyle","maxHeight","padding","centered","maskClosable","content","db","isValid","UPDATEORG","role","marginLeft","data-toggle","href","src","height","alt","USER_NAME","help","removeUserSession","cursor","Badge","color","variant","invisible","activeNotification","fontSize","connect","loginUser","logoutUser","withRouter","Menu","menuItems","menuList","isLoaded","orgname","handleClick","loginId","val","loading","document","getElementById","target","toUpperCase","ul","li","getElementsByTagName","i","textContent","innerText","indexOf","it","list","keys","map","k","method","onKeyUp","myFunction","autoComplete","data-widget","index","MenuName","getQueryStr_Comma","FldNm","USerInput","LikeYesNo","StartsWith","QStr","spl","split","AttributeRules","closeButtonProps","overflowY","AttributeName","Rules","DisclaimerBlock","ReturnBlock","TermsConditionBlock","PrivacyBlock","AboutusBlock","ContactUsBlock","CryptoService","encrypt","CryptoJS","AES","toString","decrypt","bytes","enc","Utf8","useFormInput","initialValue","useState","setValue","useStyles","makeStyles","theme","button","backgroundColor","margin","spacing","border","form","marginTop","container","flexDirection","alignItems","marginRight","ForgotPassword","classes","setLoading","email","otp","newPassword","cNewPassword","error","setError","step","setStep","sentOTP","setSentOTP","userId","setUserId","handleGoBack","onGoBack","handleSendOTP","event","fetch","body","ok","text","Error","handleResetPassword","requestOptions","rs1","psswrd","TextField","required","fullWidth","autoFocus","gap","root","image","backgroundImage","backgroundRepeat","palette","grey","backgroundSize","backgroundPosition","paper","avatar","secondary","main","submit","Copyright","Typography","align","Link","Date","getFullYear","Login","loginVisible","setLoginVisible","forgotPasswordVisible","setForgotPasswordVisible","username","password","factory","loginAttempts","setLoginAttempts","accountLocked","setAccountLocked","showPassword","setShowPassword","checkAccountLock","lockedAccounts","unlockTime","parseInt","now","setTimeout","removeLockedAccount","useEffect","handleLogin","json","result","remainingAttempts","prevAttempts","addLockedAccount","setUserSession","token","isAdmin","is_admin","passwordExpirationDate","setDate","getDate","remainingDays","Math","ceil","confirmButtonText","html","showCancelButton","cancelButtonText","allowOutsideClick","isConfirmed","history","push","Grid","component","CssBaseline","item","xs","sm","md","Paper","elevation","square","Avatar","onKeyPress","InputProps","endAdornment","InputAdornment","IconButton","aria-label","edge","FormControlLabel","control","Checkbox","label","Button","Box","mt","float","paddingLeft","SideMenu","defaultChecked","Barcode","UserdDetails","helloRedux","logoImage","format","alert","Typeahead","AutoCompleteInput","myRef","res","onBlur","defauldVal","multiple","size","selectHintOnEnter","selected","defaultSelected","onInputFocus","frmValueAliasAction","myChangeHandler","modal1Visible","modal2Visible","loading1","AID","ANAME","dvalue","portalid","pattribute","dtnew","adata","ImageData","Pid1","dttopss","que0","que2","rs2","UID","ChngFn","PAVALUE","rs0","Que","PortalName","PANAME","templateid","setModal2Visible","rvrs","UpdateReverseAliasing","AVID","quechk","rschk","AVALUE","dAttribute","Query1","visible","onOk","onCancel","destroyOnClose","defaultValue","SaveAttributeWithMap","readOnly","UpdateAliasing","AddValue","DeleteValue","frmUpdateValueAliasAction","frmMultipleValueAliasAction","Value","Portal","frmValueAliasImportAction","Option","Select","currentDate","Moment","bordered","showHeader","scroll","hasData","tableLayout","top","bottom","xScroll","yScroll","ellipsis","scrollToFirstRowOnChange","initialColumns","y","x","ResizableTitle","onResize","restProps","handle","draggableOpts","enableUserSelectHack","beginsWithFloat","parseFloat","isNaN","AntdTable","columnWidth","components","header","cell","Child","cols","handleAll","values","setSelectedKeys","column","includes","columnValues","getColumnSearchProps","dataIndex","filterDropdown","selectedKeys","confirm","clearFilters","handleSearch","SearchOutlined","handleReset","mode","node","searchInput","allowClear","showArrow","sort","filterIcon","filtered","onFilter","record","String","toLowerCase","onFilterDropdownVisibleChange","render","searchedColumn","highlightStyle","searchWords","searchText","autoEscape","textToHighlight","handleResize","columns","nextColumns","handleDelete","row","dataSource","splice","DeleteFn","handleVisibleChange","flag","visibleMenuSettings","checkedColumns","checked","el","selectedRows","that","dragProps","onDragEnd","fromIndex","toIndex","nodeSelector","handleSelector","ignoreSelector","col","pos","d","exportXL","shape","DownloadOutlined","exportExcel","Delete","EditRow","EditRowFn","PostData","PostDataFn","PostApiAmazon","PostApiAmazonFn","ShowRow","ShowRowFn","EditBlock","templteID","EditBlockFn","EditBlockImport","EditBlockReverse","downloadRow","downloadRowFn","EditMultiBlock","EditMultiBlockFn","c","background","children","startsWith","sorter","compare","b","GetParentColumms","json2xlsx","onHeaderCell","rowSelection","selectedRowKeys","SelectedFn","getCheckboxProps","disabled","menu","ItemGroup","Item","overlay","onVisibleChange","EllipsisOutlined","rotate","DragColumn","refs","rowKey","pagination","defaultPageSize","pageSizeOptions","rowClassName","HurdleDoneSts","HurdleSts","enabled","groupList","AttributeGroup","nam","GroupName","GroupCode","fillPortaldata","SavePortal","fac","groupName","frmAttributeMasterWithBlock","fielddata","catid1","catid2","fldname","groupid1","groupname1","updateData","updateid","Pid","attributeSaved","getdata","discription1","discription2","discription3","aids","Description1","Description2","element","que1","Que3","Block","AttributeID","queDel","que11","dt1","dt3","dt2","que10","rsst","aliasName","tabIndex","onAutoCOmpletMultiPleSelect","UpdateAttribute","SaveDescription","deleteRow","frmcreateValueAliasing","fldt","orgid","VAID","PVALUE","templateID","BlockID","saveAliasing","files","frmValueAliasingMaster","myFileChangeHandler","file","aData","tptype","stsdup","AIDM","mshow","selectedrows","stsMandatory","OnlyPending","alisedAtbte","merge","ImportSheetId","ImportData","Files","portal","BLOCK","TEMPLATE","tempId","exceltodb","savedat","PopUpSp","showDenyButton","denyButtonText","DeleteData","tablename","isDenied","filteredData","TEMPLATENAME","tamplatename","PORTALNAME","portalname","PORTALHEADER","portalHeader","PORTALVALUE","PortalValue","ATTRIBUTENAME","attributename","ALIASEDVALUE","optvalue","st","ele","updateImportData","PrscName","updateMultipleReverseAlising","childId","ReftempId","UpdateReferenceAlising","class","UpdateAliasingToNull","UpdateReverseAliasingToNull","GetReference","UpdateSelectedAlisingNULL","OnlyPendingSel","accept","GetDataForImportAliasing","alwdMandatory","UploadFile","UpdateAliasingImport","alwdreverseAliasing","alwdOnlyAlisedAtrbte","DeleteAliasing","selectedDataFN","deleteRowImport","EditRowImport","frmproductcategory","categorydata","autocomplete","CategoryName","frmOrgPOrtalMapping","RSDATA","ProfileId","PID","SaveTamplate","frmorganization","OrgData","organizationID","orID","orgcode","cntno","mail","city","stt","pin","add","cntry","gstno","drpToken","AccountStatus","que3","UpdateData","OrgID","OrgCode","Address","City","State","Country","PIN","Phone","GSTNO","DrpToken","logid","SaveOrgnization","frmuser","handleEmailChange","Pmail","isValidEmail","test","handlePasswordChange","validationErrors","validatePassword","fpass","every","errors","uppercase","lowercase","digit","punctuation","usrname","Smail","cpass","usertype","isAgent","j","hasUpperCase","hasLowerCase","hasDigit","hasPunctuation","isLengthValid","UpdateUser","classNamer","aria-hidden","SaveUser","getRowData","pswrd","orgque","orgRs","Organization","tb","frmproductdetails","productdetailsdata","portalList","GroupList","lotID","alwCustomSheetval","Category","queCheck","PopUpData","ShowPop","result1","SaveData","ltque","lt","inputoption","forEach","ltname","ltid","sel","input","inputOptions","Queery","GetNewDrpSheet","pname","productdata","LotName","downloadCustomFormat","brandCheckQuery","brandCount","portalIds","join","importSheetIds","portalIDListParam","value1","index1","tip","rulesForNamshi","ImageHelp","alwCustomSheet","getCustomTemplate","downloadImportFormat","getMappingSheet","ExportErrordata","ExportRelErrordata","pid","ExportFormat","TamplateName","sql","Quue","str","createElement","setAttribute","catname1","appendChild","click","frmTemplate","tdata","atList","tempName","catid","catname","tempDiscrption","dts","gettemplate","SelectAttributeUpdate","attributeName","existingQuery","facIds","pop","chkFacChange","frmSetPriorityImage","Priority","rwid","getData","VName","category","AttName","priority","que4","saveData","frmGetDetailsYoox","GetCatogoryAttributeValuesYoox","hierarchies","csvContent","code","blob","Blob","URL","createObjectURL","download","removeChild","attributes","default_value","description","example","hierarchy_code","values_lists","fetchCategoryData","fetchAttributeData","fetchValueseData","NamshiCredPrd_UAE","NamshiPrdURL","EasyEcomkey","EasyEcomToken","frmExportTemplate","handleTokenGenerateFK","portalID","sku","product_id","price","mrp","selling_price","currency","tax","hsn","tax_code","listing_status","shipping_fees","local","zonal","national","fulfillment_profile","fulfillment","dispatch_sla","shipping_provider","procurement_type","packages","dimensions","breadth","weight","handling","fragile","notional_value","amount","unit","locations","inventory","address_label","manufacturer_details","importer_details","packer_details","countries_of_origin","dating_label","mfg_date","shelf_life","urlParams","URLSearchParams","search","authCode","flipkartTokenGen","access_token","handleGenerateTokenButtonClick","skuDataList","orgID","oauthCode","sellerId","grant_type","client_id","client_secret","redirect_uri","accessToken","allResponses","skuData","marketplaceId","apiUrl","CreateListingAmazon","createListingApi","entry","sleep","catID","plist","artData","liveArt","ImgData","producid","pId","trendyolCategories","trendyolSelectedCategories","trendyolWorkingCategory","trendyolTemplatesPresent","trendyolSelectedTemplatesToPost","trendyolStoreFronts","storeFrontName","storeFrontCode","vatRate","trendyolSelectedStoreFronts","templateSelectionModalVisible","adidasChannelSelectedForDiscount","retailAuth","Lot","Spname","prdct","sheet","r","Product","pQue","PRs","isDismissed","allTempData","templateProductPairs","match","results","pair","matches","templateId","productIdsStr","productIdsArr","res1","combinedResults","flat","json2portalExport","SheetName","CellAddress","Pname","slice","errmsg","LOT","CustomImportSheetId","InCompleteDt","CompleteDt","arr","finaldt","items","postDataToNamshi","finalRes","getNamshiJobDetails","job_id","jobdt","f","NamshiCredPrd","prlist","l","templateNameList","getCatDataQuery","categoryData","temp","showTemplateSelectionModal","ev","Set","t","templateName","productid","Status","justifyContent","destroyAll","showTrendyolStoreFrontSelectionModal","generateTrendyolData","templateList","portalId","trendyolDataObject","supplierId","dataArray","z","selectedTemplate","artList","newDataQuery","mainData","parseJSON","obj","modifyAttributes","attr","isCustom","slicer","attributeId","customAttributeValue","varianter","attributeValueId","showProductModalForTrendyol","groupedByCode","reduce","acc","transformedArray","skucount","total","currentItem","postDataAPITrendyol","basicAuth","encodeBase64","batchRequestIdList","productArray","requestData","auth","batchRequestId","statusResponse","statusData","batchRequests","request","batchRequestsToString","pushedData","lotName","jsonObj","functionUpdatedTrendyol","selectedCategories","categoryid","getTrendyolAttributes","cat","tempArr","categoryAttributes","findVariantType","att","tempObj","allowCustom","attribute","query","attributeValues","atVal","imagesCheckbox","UpdateNamshiImage","responseArray","EasyEcomApi","EasyApi","responseData","Article","ModelNumber","SKU","Sku","message","productId","articleMasters","IncreffApi","callApi","barcode","ARTICLE","styleCode","STATUS","newData","UpdateIncreffApi","channelName","skuListings","article","chkArtLive","createDataForEasyEcomLiveUpdate","createDataForNamshiLive","for","createImageDataForNamshiLive","createDataForEasyEcomLive","createDataForIncreffLive","updateDataForIncreffLive","skuListingForIncreffLive","FormData","append","CreateListingYoox","import_id","postDiscountAdidas","productList","requestBody","responseCode","errorMessage","removeLotData","createDataForNamshi","createDataForTrendyol","updateTrendyolAttributeData","ShowDataForEasyecomLive","ShowDataForLive","ShowDataForImageUpdate","adidasDiscountChannelSelectionModal","ShowDataForEasyEcomUpdate","ShowDataForIncreffLive","ShowDataForIncreffLiveUpdate","ShowDataForIncreffSkuListing","handleOAuthButtonClick","uploadFile","GetTemplates","getLotData","getErrorData","GetData","RenderRow","data-title","pdt","minWidth","opn","Table","getKeys","getHeader","ShoeFilterTextBox","hideFilterTextBox","getRowsData","draggable","Drag","Selection","onCheckChange","deleteRow1","DeleteRowFn","getTrNode","ondragstart","onDragStart","ondragend","dataTransfer","effectAllowed","parentElement","ondragenter","onDragEnter","ondragover","dragIndex","rowIndex","draggedIndex","changeRowIndex","selector","rootNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","flagRoot","call","closest","onSortChange","nextSort","currentSort","textBoxId","th","SearchIcon","RemoveIcon","txtBox","onHideFilter","focus","colIndex","tr","td","currentState","sortKey","localeCompare","param","SelectFn","marginBottom","frmproduct","pName","prdname","GetAttributes","tbl","inputs","selects","idval","fldval","renderFileInTable","SaveProduct","SelectAllFN","SelectFN","alist","tempID","condition","cnt","arrUnique","tempData","nextProps","prevState","frmUpdateAttributeAliasing","btType","IsFreez","changeAlias","updateTemplatewithfile","formdata","redirect","dt0","GetdataAliasing","sindex","rindex","getAlreadyAliasedData","mandatory","Que0","Que1","cellAddress","Discription","TemplateType","mySelect","selectedIndex","pData","Aname","handleFreedge","ShowhandleFreedge","alwduplicate","storeImageTable","SaveTemplate","showChangeMapping","CreateAttribute","changemandatory","groupedImg","tempdata","tempdata1","dtstr","updateTemplateFile","q1","filterSTR","q","frmUpdateValueAliasing","Template","vids","cndtn","Condition","substring","GetDataImport","SaveFilters","frmUserRights","userData","menuid","rpttype","frmStatusMarking","prototype","upload","today","toISOString","plid","statusdate","proid","DownloadSKUTemplate","getProduct","max","SaveValues","AntDTable","frmCloneTemplate","qrystr","TemplateId","frmAmazonParent","headerList","GetList","HEADERNAME","SaveHeader","frmCreateTemplate","exportTyp","ExportTemId","chnagemandatory","Que12","que01","SaveTemplateFile","sts","ProcessAI","dpi","minarea","maxarea","maxszie","minsize","strs","ProcessAIColor","Image2Drplink","product","ACCESS_TOKEN","dbx","Dropbox","filesUpload","path","contents","filePath","path_display","sharingCreateSharedLinkWithSettings","fileURl","shared_link_already_exists","metadata","error_summary","PortalConfig","fname","FValue","prtl","profileid","profilename","CountryId","ProfileName","ImageConfig","allowdrp","BlockName","Allowdropbox","Resolution","Format","Min","maxsize","Anglers","frmImageProcessUpdate","loadingspin","prs","ldsts","portals","portlsData","accesstoken","stImages","RejectedImage","finalImg","cmbdigit","cmbprsctype","profileID","prcstime","profiledt","varifyDropBoxToken","changeParent","productname","img","RejImg","webkitRelativePath","imageVarify","folder","flname","fileurl","GetImageDimension","w","h","sz","round","imgdata","grouped","_","mapValues","groupBy","clist","omit","Imagessts","entries","numdigit","Parent","ParentID","tkn","myHeaders","Headers","raw","ImagesWithurl","allowdropbox","dataURLtoFile","ProductName","Angle","prtlID","ProductID","SubCategory","Promise","resolve","reject","Image","onload","onerror","processImages","Profile","CompleteProcessNoAI","CompleteProcess","FinalImages","uploadfiles","s","SFile","convertToBase64","base64Image","imageInfo","Height","Width","image_file","reader","FileReader","onloadend","readAsDataURL","AI","ttlcnt","intialcnt","prfileData","zip","JSZip","zipmain","imgdt","groupProfile","profileImages","profile","Images","ele1","subimg","ele2","replace","base64","generateAsync","saveAs","nameAngle","chkProfileChange","RWID","downloadRectifiedImage","percent","webkitdirectory","directory","FileHandler","storeImages","TOProcessImage","UploadImages","RejectedImageFunc","renderFileInTable1","dataurl","filename","mime","bstr","atob","n","u8arr","Uint8Array","charCodeAt","File","changeAngle","ActionPreview","StartDate","moment","startOf","LastDate","endOf","frmReportAdhoc","rptData","resultData","rptname","rptid","p","paramData","getReport","grid","ReportName","spName","getReportParams","query1","GetReport","tds","fontWeight","lineHeight","hideShowDiv","renderParaMeterView","getReportData","XLName","XLNo","array","checkParamFileds","array1","colClass","paramFields","ParamDetails","ParaMeterDataType","ReportColName","Multiple","UserEdit","ParameterName","onStateChange","FormName","QueryName","dynamicQuery","obj1","o","rightsIDs","frmReportADhocRight","myChangeHandlernew","USERID","ReportList","getUserID","rptID","Quer","DEPTID","SaveRights","frmrelational","relationdetails","relationdata","rid","bkid","ageid","ptid","agename","ptname","RelationshipID","bkid1","Allowed","SaveRelation","frmImportPortalData","btntxt","portaldump","aData1","delcol","end","savedt","changedumpAlias","GetdumpdataAliasing","SaveDumpData","UpdateDumpAliasing","getElementsByName","portalid1","CTID","AID1","option","mrg","CreateLot","UpdateCustomAliasing","id1","rss","lotId","LotID","que6","UploadDump","DumpAliasTable","CustomAliasTable","frmlotMasternew","LotId","ArticleNumber","StyleCode","VName1","List","PortalID","excelSKUList","sv","sb","dtJSON","BlockId","LotAsNoIssue","GetProductData","AddData","Mark","frmMerging","rcdata","rdata","GID1","getRData","VID","VID1","getVData","GName","GID","RMerge","AMerge","VMerge","lst","AID2","AID3","ldata","AVList","refresh","Merge","frmcolorcheck","FrmMultipleValueAliasing","flupld","onlyPending","tmpstr","SaveExcelDatatoDb","tempId1","UpdateSelectedAliasing","AllowReverse","frmDefaultValueMaster","PNAME","defaultvalue","fOrgID","Que2","frmOrgnisationProfile","userID","userName","uEmail","uPhone","logDate","Token","usertime","Umail","Uphone","logdate","lastLogin","SaveToken","frmSetFixedFee","TierID","fldFixedFee","OnlyNumberKey","frmTierMaster","ORGID1","fldtierName","fldtierCode","SaveTier","frmSetPaymentFee","frmSetFrieghtFee","fldpackWeight","allowOnlyOneDotOrNum","zoneType","frmSetPortalCommission","fldProductType","frmSubmitOrderdata","PFiles","DataMonth","date","dateString","filetype","tblName","uploadMasterData","uploadInvoiceData","getMasterSheet","getRTVSheet","getInVoiceFormat","direction","onMonthChange","picker","UploadSubmitData","PublicRoute","rest","getToken","to","pathname","PrivateRoute","from","cred","App","handleRefreshSelectedCheckboxes","selectedCountries","searchArticle","handleSearchChange","searchQuery","handleCheckboxChange","country","articleList","selectedArticle","existingSelectedArticle","find","updatedSelectedArticle","updatedSelectedCountries","countries","Boolean","newSelectedArticle","removeEmptyArticles","some","selectedCountryIDs","selectedCountryData","markingActInct","filteredArticleList","originalRowIndex","findIndex","isChecked","textAlign","handleSubmit","dataToSend","selectedCountry","is_active","bidc","showSearchBox","ApiData","ApiName","ApiURL","BodyType","Method","Frequency","Paramerters","Authentication","Response","handleDateChange","selectedDate","handleTimeChange","selectedTime","PostToNoonSFTP","formData","MarketplaceId","Skus","ItemType","ItemCondition","Prices","ListingPrice","currencyCode","PriceUpdateAmazon","scheduleAPICall","scheduledData","mandatoryArray","hasError","field","scheduledDateTime","setHours","schedule","scheduleJob","handleScheduledJob","fileData","lastModified","lastModifiedDate","newScheduledJob","time","blockID","countryID","updatedScheduledData","job","uploadFileYoox","showScheduledJobs","tableData","jobList","SchDate","SchTime","jobListElement","ReactDOMServer","renderToString","excelData","scheduledJobs","storedFileData","parsedFileData","scheduledJobsQuery","storedScheduledData","countryIds","PortalId","Lotid","scheduledJob","countryData","transformedData","special_price","cntcd","UpdatePrice","uniqueArticles","uniqueProcessedData","has","successfulUpdates","failureUpdates","portalName","mrsp","Number","toFixed","discountedPrice","Discount","channel","countryCode","PriceAndDis","PriceApi2","messageStatus","payloadDetails","discount","toLocaleDateString","UpdatePriceYoox","htmlFor","frmVCR","showRelationshipDataHandler","fetchRelationshipData","showRelationshipData","hideRelationshipDataHandler","handleSelectedRows","ResData","ResAID","ResAVID","Catid","RelationShipName","RelData","relationshipData","inputAttributeIds","getSelectedInputAttributeIds","outputAttributeIds","getSelectedOutputAttributeIds","GetDropdownDynamicNew","org","ResANAME","outputConcatId","Conoutvalue","insertedRows","combinationSaved","checkQue","checkResult","RID","rsDataRow","inputAID","resDataRow","outputAID","detailResult","detailResult1","addData","addResultantData","deleteResultantRow","saveRelationship","generateExcel","deleteRelationship","RelationshipName","Type","handleIncludeDiscountChange","includeDiscount","handleExportButtonClick","Message","TicketType","setErrors","formUpdated","setFormUpdated","inputHandler","setAdmin","currentRecord","getAuthorization","CreateDate","TicketID","Remark","handleClose","handleReinitiate","reInitiate","object","showToast","toast","autoClose","hideProgressBar","closeOnClick","pauseOnHover","progress","Dialog","onClose","aria-labelledby","aria-describedby","DialogTitle","DialogContent","MenuItem","getCurrentDate","FormControl","InputLabel","labelId","multiline","rows","DialogActions","goBack","openModal","paddingRight","outline","showBack","backURL","showNewBrandModal","openBrandModal","DashboardDetail","checkout","payment","USERNAME","Email","company","planId","sessionStorage","USERCATEGORY","CREDITREMAINING","REJECTIONCOUNT","IMPORT","EXPORT","right","JOINDATE","Dashboard","minHeight","oldPassword","confirmPassword","globalError","setGlobalError","currentTarget","Alert","severity","oldpassword","newpassword","ChangePassword","HistoryBasic","filters","extra","ORDERID","History","CategoryDetail","ChargePrice","PlanName","plans","Price","timeDuration","later","modal","setModal","sortDate","getTime","defaultUseEffect","resp","cd","year","month","getMonth","itemDate","viewNotification","NotifyID","paddingBottom","cancelButtonProps","attechment","orderId","ListItem","borderBottom","boxShadow","isRead","ListItemAvatar","ListItemText","primary","ListItemSecondaryAction","Tooltip","Notifications","InvoiceDetail","printInvoice","params","origin","formatDate","downloadInvoice","html2canvas","canvas","imgData","toDataURL","pdf","jsPDF","addImage","save","billingInfo","Customer_name","Customer_mail","organisation","Customer_org","ADDRESS","PHONE","Payee_name","Payee_mail","Payee_org","cellPadding","cellSpacing","colSpan","CompanyLogo","maxWidth","RCTNO","TXNDATE","BANKNAME","TXNID","TXNAMOUNT","startIcon","Invoice","PrintInvoice","print","crypto","PaytmChecksum","cipher","createCipheriv","iv","encrypted","update","final","decipher","createDecipheriv","decrypted","getStringByParams","generateSignatureByString","checksum","hasOwnProperty","CHECKSUMHASH","verifySignatureByString","generateRandomString","salt","calculateChecksum","paytm_hash","substr","calculateHash","randomBytes","buf","finalString","createHash","digest","hashString","https","CheckoutDetail","createPayment","paymentObject","order","mid","paymentStatus","BANKTXNID","CURRENCY","GATEWAYNAME","PAYMENTMODE","RESPCODE","RESPMSG","paymentDetails","Customer_id","u","Paytm","CheckoutJS","close","eventName","init","invoke","loader","paytmParams","generateSignature","head","post_data","hostname","port","post_req","post_res","on","chunk","txnToken","write","left","transform","fontFamily","LoaderGif","Checkout","TroubleTicketDetail","gridStyle","openEditModal","openEdit","editRecord","openNewModal","getTicketList","handleEditClose","handleChange","handleSearchSubmit","searchColumn","searchValue","filterdata","searchString","filterValues","sortDirections","defaultSortOrder","Chip","hoverable","initializeTicketCount","progressTicketCount","completedTicketCount","TroubleTicket","setPlans","charges","setCharges","setTitle","currencyList","setCurrencyList","selectedCurrency","setSelectedCurrency","useHistory","CurrencyID","fetchCharges","getCurrencyList","handlePlanChange","plan","handleChargeChange","charge","currencyId","updateCurrency","currencyid","currencyname","currencysymbol","new","createPlan","PlanID","updatePlan","removePlan","newPlan","NewPrice","OrganizationName","addPlan","chargetype","newcharge","createCharge","chargeID","updateCharge","removeCharge","newCharge","addCharge","isModalVisible","setIsModalVisible","setColumns","setSearchText","setSearchedColumn","organizationData","setOrganizationData","setIsAdmin","symbol","currencyData","setCurrencyData","OrganizationCode","Transition","forwardRef","Slide","setUserData","setOpen","currentUser","setCurrentUser","allUserList","setAllUserList","userError","setUserError","fetchAllUserList","UserId","handleCancel","TransitionComponent","keepMounted","DialogContentText","UserName","Autocomplete","getOptionLabel","renderInput","Pricing","exact","PricingList","PricingDetail","userListing","requestId","getPlan","getCharges","approveRejectPlan","isApproved","approveRejectCharge","viewDetail","RequestContainer","RequestList","requestDetail","native","inputProps","Broadcast_Notification","setData","userDataId","selectedBrand","setSelectedBrand","brandList","setBrandList","newBrandModal","setNewBrandModal","newBrand","setNewBrand","orgId","OrgId","handleInputChange","Brand","paddingTop","fetchPortals","BrandID","currentObject","DraggedTable","mandatoryHandler","checkboxHandler","colorList","colorHandler","usedPriorityList","selectAll","selectAllChange","largest","tempCurrentIndex","tempStorage","Checked","COLOR","isMandatory","DragOutlined","setSelectedTemplate","selectedBlock","setSelectedBlock","selectedGroup","setSelectedGroup","selectedChildAttribute","setSelectedChildAttribute","blockList","setBlockList","setGroupList","priorityList","setPriorityList","setUsedPriorityList","setTemplateName","sheetName","setSheetName","isDraft","showValueSheet","selectType","templateInfo","setTemplateInfo","setTempUpdateData","setSelectAll","fetchTemplateData","getGroupData","TemplateID","getColumnData","Columns","usedList","usedPriority","nonPriority","newListing","concat","listedList","valid","createToast","msg","blockChangeHandler","groupChangeHandler","groupid","fetchColumnData","usedValues","nextVal","tempIndex","currentIndex","listing","globalChecked","listData","setListData","deleteTemplate","Import_Sheet","importSheetList","ImportSheetDetail","selectedPortal","setSelectedPortal","setPortalList","portalBrandList","setPortalBrandList","attributedList","setAttributeList","lotList","setLotList","isFetched","setIsFetched","getAllBlocks","getLoadData","portalHandler","fetchAllData","HeaderName","attributeHandler","lotHandler","LOTID","ImagePosition","AdminRoute","frmMulProduct","frmproductfield","frmExportData","frmReportAdhc","frmReportRight","frmRelationMerging","frmMultipleValueAliasing","frmImportCustomData","frmlotMaster","frmImageUpdated","frmMultiCountry","frmApiMaster","frmPriceUpdate","frmVcrDetails","frmImportPriceMaster","createStore","AppReducer","store","applyMiddleware","thunkMiddleware","next","callAPI","endpoint","types","authenticated","successType","errorType","createStoreWithMiddleware","reducer","ReactDOM","navigator","serviceWorker","ready","registration","unregister","nacl","nonce","ORGANISATION_SETTINGS","COMPANYNAME","SOFTWARE_URL","API_HEADER","DB","SESSION_ID","FACTORY_NAME","itemStr","AUTH_TOKEN","FACTORY","expiry","expiryTime","SessionItem","ASCIICode","which","keyCode","dots","fildsArray","Name","encryptJSON","secretKey","Buffer","secretData","secretbox","artd","timeInMs","getUTCDate","getHours","getMinutes","getSeconds","cleaned","itm","unique","itm2","isEqual","template","dts1","FileStr","FileName","ms","blockid","jobID","BaseUrl","authUsername","authPassword","Url","Authorization","module","exports"],"mappings":"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","file":"static/js/main.fb653ecb.chunk.js","sourcesContent":["// middleware/api.js\nimport { Configuration } from '../Configuration.js';\n\nconst API_URL = Configuration.SYSTEM_SETTINGS.API_URL;\n\nfunction callApi(endpoint, authenticated) {\n\n let token = localStorage.getItem('id_token') || null\n let config = {}\n\n if(authenticated) {\n if(token) {\n config = {\n headers: { 'Authorization': `Bearer ${token}` }\n }\n }\n else {\n throw \"No token saved!\"\n }\n }\n\n return fetch(API_URL + endpoint, config)\n .then(response => \n response.json().then(text => ({ text, response }))\n ).then(({ text, response }) => {\n if (!response.ok) {\n return Promise.reject(text)\n }\n return text\n }).catch(err => console.log(err))\n}\n\nexport const CALL_API = Symbol('Call API')\n\nexport default store => next => action => {\n\n const callAPI = action[CALL_API]\n\n if (typeof callAPI === 'undefined') {\n return next(action)\n }\n\n let { endpoint, types, authenticated } = callAPI\n\n const [ requestType, successType, errorType ] = types\n\n return callApi(endpoint, authenticated).then(\n response =>\n next({\n response,\n authenticated,\n type: successType\n }),\n error => next({\n error: error.message || 'There was an error.',\n type: errorType\n })\n )\n}","import {config} from '../../../Configuration';\nimport {CALL_API} from '../../../middleware/api';\nimport React, { Component, PropTypes } from 'react'\nimport { connect } from 'react-redux'\nimport {Configuration} from '../../../Configuration';\nexport const FETCH_ORDER_REQUEST = 'FETCH_ORDER_REQUEST'\nexport const FETCH_ORDER_SUCCESS = 'FETCH_ORDER_SUCCESS'\nexport const FETCH_ORDER_FAILURE = 'FETCH_ORDER_FAILURE'\n\nexport const FETCH_USER_REQUEST = 'FETCH_USER_REQUEST'\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS'\nexport const FETCH_USER_FAILURE = 'FETCH_USER_FAILURE'\nconst API_URL = Configuration.SYSTEM_SETTINGS.API_URL;\n\nexport default function fetchORDER() {\n return {\n [CALL_API]: {\n endpoint: 'api/v1/Common/GetDynamicQuery?query=select userid,username from users&db=VI',\n authenticated: false,\n types: [FETCH_ORDER_REQUEST, FETCH_ORDER_SUCCESS, FETCH_ORDER_FAILURE]\n }\n }\n }\n // export function fetchUSER(idUSER, history) {\n // let token = localStorage.getUSER('id_token') || null\n \n // let config = {\n // method: 'POST',\n // headers: {'Content-Type':'application/x-www-form-urlencoded', 'Authorization': `Bearer ${token}` },\n // body: `id=${idUSER}`\n // }\n\n \nfunction requestFetchUSER(idUSER) {\n return {\n type: FETCH_USER_REQUEST,\n isFetching: true,\n isAuthenticated: false,\n idUSER\n }\n}\n\nfunction receiveFetchUSER(USER) {\n return {\n type: FETCH_USER_SUCCESS,\n isFetching: false,\n isAuthenticated: false,\n dataItem: USER\n }\n}\n\nfunction fetchUSERError(message) {\n return {\n type: FETCH_USER_FAILURE,\n isFetching: false,\n isAuthenticated: false,\n message\n }\n}\n\n\nexport function fetchUSER(idUSER, history) {\n let token = localStorage.getItem('id_token') || null\n\n let config = {\n method: 'GET',\n headers: {'Content-Type':'application/x-www-form-urlencoded'//, 'Authorization': `Bearer ${token}`\n },\n body: `id=${idUSER}`\n }\n\n return dispatch => {\n dispatch(requestFetchUSER(idUSER))\n\n return fetch(API_URL+'api/v1/Common/GetDynamicQuery?query=select userid,username from users&db=VI', config)\n .then(response =>\n response.json().then(USER => ({ USER, response }))\n ).then(({ USER, response }) => {\n if (!response.ok) {\n dispatch(fetchUSERError(\"Exception Found\"))\n return Promise.reject(USER)\n } else {\n dispatch(receiveFetchUSER(USER))\n }\n }).catch(err => console.log(\"Error: \", err))\n }\n}\n\n ","//import { combineReducers } from 'redux';\nimport GetOrderStatusReducer from './GET_REDUCERS/getOrderStatusReducer';\nimport GetItemListReducer from './GET_REDUCERS/getItemReducers';\nimport { combineReducers } from 'redux'\n\n\n const rootReducer = combineReducers({\ngetOrderStatusReducer:GetOrderStatusReducer,\ngetItemListReducer:GetItemListReducer\n\n });\n export default rootReducer;","\nimport { FETCH_ORDER_REQUEST, FETCH_ORDER_SUCCESS, FETCH_ORDER_FAILURE } from '../../Actions/GET_ACTIONS/ORDER_GET_ACTIONS/GetOrderActions'\n\nimport {FETCH_USER_REQUEST, FETCH_USER_SUCCESS, FETCH_USER_FAILURE} from '../../Actions/GET_ACTIONS/ORDER_GET_ACTIONS/GetOrderActions'\n\nexport default function fetchUSER(state = {\n isFetching: false\n }, action) {\n switch (action.type) {\n case FETCH_USER_REQUEST:\n return Object.assign({}, state, {\n isFetching: true\n })\n case FETCH_USER_SUCCESS:\n return Object.assign({}, state, {\n isFetching: false,\n dataItem: action.dataUSER\n }) \n case FETCH_USER_FAILURE:\n return Object.assign({}, state, {\n isFetching: false\n })\n default:\n return state\n }\n}\n// export default function fetchORDER(state = {\n// isFetching: false\n// }, action) {\n// switch (action.type) {\n// case FETCH_ORDER_REQUEST:\n// return Object.assign({}, state, {\n// isFetching: true\n// })\n// case FETCH_ORDER_SUCCESS:\n// return Object.assign({}, state, {\n// isFetching: false,\n// dataORDER: action.response\n// }) \n// case FETCH_ORDER_FAILURE:\n// return Object.assign({}, state, {\n// isFetching: false\n// })\n// default:\n// return state\n// }\n// }\n","//import { } from ‘../constants/appConstant’;\nexport default function (state = {}, action) {\n switch(action.type) {\n case \"GET_ITEMS_LIST\":\n return { ...state, itemListData: action.payload.itemListData };\n default:\n return state;\n }\n}","import React, { Component, useRef } from \"react\";\nimport { Typeahead } from \"react-bootstrap-typeahead\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport \"./style.css\";\nimport jQuery from \"jquery\";\nimport { Configuration, getDataTable } from \"../../../Configuration\";\n\nconst TOKEN = Configuration.USER_TOKEN.TOKEN;\n\nconst API_URL = Configuration.SYSTEM_SETTINGS.API_URL;\n\n//const autoCompleteCascadEl = React.createRef();\n\nconst ToggleButton = ({ isOpen, onClick, Fnc }) => (\n
\n {\n // Prevent input from losing focus.\n e.preventDefault();\n }}\n >\n {isOpen ? \"▲\" : \"▼\"}\n \n
\n);\n\nexport default class AutoCompleteCascad extends Component {\n constructor(props) {\n super(props);\n this.wrapper = React.createRef();\n this.state = {\n cmbData: [{ DisplayId: 1, DisplayName: \"No Data\" }],\n mainQuery: \"\",\n count: \"20\",\n };\n }\n\n async componentDidMount() {\n //await this.fillData();\n }\n\n async fillData() {\n const config = {\n headers: {\n \"Content-Type\": \"application/json\",\n \"Auth-Token\": TOKEN,\n },\n };\n\n if (this.props.filterId1 === \"\" || this.props.filterId1 === undefined) {\n // this.props.filterId1 = 0;\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Please Select \" + this.props.filter1 + \" FIRST\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n let filter = \"\";\n if (this.props.filter2 !== \"\") {\n filter =\n \" and \" +\n this.props.filter1 +\n \"=''\" +\n this.props.filterId1 +\n \"'' and \" +\n this.props.filter2 +\n \"=''\" +\n this.props.filterId2 +\n \"''\";\n } else {\n filter =\n \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"''\";\n }\n\n let SearchKey = \"\";\n\n let qry =\n \"EXEC USP_FILL_COMBO_QUERY @formname=\" +\n this.props.frmNm +\n \",@queryname=\" +\n this.props.quryNm +\n \",@count=\" +\n this.state.count +\n \",@searchtext='\" +\n SearchKey.trim() +\n \"',@filter='\" +\n filter +\n \"'\";\n if (this.props.tblname) {\n qry += \", @TABLE=\" + this.props.tblname;\n }\n let dt = await getDataTable(qry);\n console.log(qry);\n if (dt === false) {\n return false;\n }\n this.setState({ cmbData: dt });\n //let qry = \"formname=\"+this.props.frmNm+\"&queryname=\"+this.props.quryNm+\"&count=\"+this.state.count+\"&searchtext=\"+SearchKey.trim()+\"&filter=\"+filter+\"&db=\"+this.props.db+\" \" ;\n\n // const response = await fetch(API_URL+'/api/v1/Common/GetFillComboQuery?'+qry+'',config);\n // const data = await response.json();\n\n // this.setState({\n // cmbData: data.data\n // })\n }\n\n async onInputChangeHandler(evt) {\n let filter = \"\";\n\n if (this.props.filter2 !== \"\") {\n filter =\n \" and \" +\n this.props.filter1 +\n \"=''\" +\n this.props.filterId1 +\n \"'' and \" +\n this.props.filter2 +\n \"=''\" +\n this.props.filterId2 +\n \"''\";\n } else {\n filter =\n \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"''\";\n }\n\n let SearchKey = evt;\n\n let qry =\n \"EXEC USP_FILL_COMBO_QUERY @formname=\" +\n this.props.frmNm +\n \",@queryname=\" +\n this.props.quryNm +\n \",@count=\" +\n this.state.count +\n \",@searchtext='\" +\n SearchKey.trim() +\n \"',@filter='\" +\n filter +\n \"'\";\n if (this.props.tblname) {\n qry += \", @TABLE=\" + this.props.tblname;\n }\n let dt = await getDataTable(qry);\n this.setState({ cmbData: dt });\n // let qry = \"formname=\"+this.props.frmNm+\"&queryname=\"+this.props.quryNm+\"&count=\"+this.state.count+\"&searchtext=\"+SearchKey.trim()+\"&filter=\"+filter+\"&db=\"+this.props.db+\" \" ;\n\n // const config = {\n\n // headers: {\n // 'Content-Type': 'application/json',\n // 'Auth-Token' : TOKEN\n // }\n // }\n // //this.state.query+\" where \" + this.props.filterBy +\" like '\"+SearchKey+\"%'\";\n // fetch(API_URL+'/api/v1/Common/GetFillComboQuery?'+qry+'',config)\n // .then(res => res.json())\n // .then((data) => {\n\n // this.setState({\n // cmbData:data.data\n // })\n // })\n }\n\n onAfterSelect(selectedOptions) {\n if (selectedOptions.length > 0) {\n //this.props.name[this.state.id]=selectedOptions[0].DisplayId;\n }\n }\n\n render() {\n //const ref = useRef();\n return (\n \n {({ isMenuShown, toggleMenu }) => (\n toggleMenu()}\n />\n )}\n \n );\n }\n}\n","let initState = {\n data: [],\n fetching: false\n}\n\nconst FETCH_DATA_REQUEST = 'FETCH_DATA_REQUEST';\nconst FETCH_DATA_COMPLETED = 'FETCH_DATA_COMPLETED';\n\nexport const fetchDataRequest = () => {\n return {\n type: FETCH_DATA_REQUEST\n }\n}\n\nexport const fetchDataComplete = (data) => {\n return {\n type: FETCH_DATA_COMPLETED,\n payload: data\n }\n}\n\nconst apiReducer = (state = initState, action) => {\n switch (action.type) {\n case FETCH_DATA_REQUEST: {\n return Object.assign({\n ...state,\n fetching: true\n })\n }\n \n case FETCH_DATA_COMPLETED: {\n return Object.assign({\n ...state,\n fetching: false\n })\n }\n\n default: \n break;\n }\n return state;\n}\n\nexport default apiReducer;","import axios from 'axios';\nimport * as apiActions from '../reducers/apiReducer';\n\nexport const APIService = (type, url, data) => {\n\n let link = 'https://api.blumangoes.ai:6143/api/v1/Payment/' + url;\n let authCode = localStorage.getItem(\"authentication\") ? JSON.parse(localStorage.getItem(\"authentication\")).USERTOKEN : \"c53fdd2cebc0552dbf994034ac9f4cca774c4ee609418a5a50954202acbf5e99366635c75518e8afb4a8c3432b79a13e4f5c6166bd7d836f0fad767edd3d1472\"\n // c53fdd2cebc0552dbf994034ac9f4cca774c4ee609418a5a50954202acbf5e99366635c75518e8afb4a8c3432b79a13e4f5c6166bd7d836f0fad767edd3d1472\n let config = {\n headers: {\n \"Authorization\": authCode\n }\n }\n\n return async (dispatch) => {\n if(type === 'GET'){\n dispatch(apiActions.fetchDataRequest());\n let response;\n try{\n response = await axios.get(link, config);\n dispatch(apiActions.fetchDataComplete());\n return response;\n }\n catch(e) {\n dispatch(apiActions.fetchDataComplete());\n console.log('error', e.response);\n return e.response;\n }\n }\n\n else if(type === 'POST'){\n dispatch(apiActions.fetchDataRequest());\n let response;\n try{\n response = await axios.post(link, data, config);\n dispatch(apiActions.fetchDataComplete());\n return response;\n }\n catch(e) {\n dispatch(apiActions.fetchDataComplete());\n console.log('error', e.response);\n return e.response;\n }\n }\n\n else if(type === 'PUT'){\n dispatch(apiActions.fetchDataRequest());\n let response;\n try{\n response = await axios.put(link, data, config);\n dispatch(apiActions.fetchDataComplete());\n return response\n }\n catch(e) {\n dispatch(apiActions.fetchDataComplete());\n console.log('error', e.response);\n return e.response;\n }\n }\n\n else if(type === 'DYNAMIC_POST'){\n dispatch(apiActions.fetchDataRequest());\n let response;\n try{\n // let apiUrl = 'https://erp.virolaindia.com:7071/api/v2/Common/GetDynamicData';\n let apiUrl = 'https://api.blumangoes.ai:6143/api/v2/Common/GetDynamicData';\n response = await axios.post(apiUrl, data, config);\n dispatch(apiActions.fetchDataComplete());\n return response;\n }\n catch(e) {\n dispatch(apiActions.fetchDataComplete());\n console.log('error', e.response);\n return e.response;\n }\n }\n\n else if(type === 'DYNAMIC_NEW_POST'){\n dispatch(apiActions.fetchDataRequest());\n let response;\n try{\n let apiUrl = 'https://api.blumangoes.ai:6143/api/v2/Common/GetDynamicData';\n response = await axios.post(apiUrl, data, config);\n dispatch(apiActions.fetchDataComplete());\n return response;\n }\n catch(e) {\n dispatch(apiActions.fetchDataComplete());\n console.log('error', e.response);\n return e.response;\n }\n }\n\n else if(type === 'DELETE'){\n dispatch(apiActions.fetchDataRequest());\n let response;\n try{\n response = await axios.delete(link, config);\n dispatch(apiActions.fetchDataComplete());\n return response;\n }\n catch(e) {\n dispatch(apiActions.fetchDataComplete());\n console.log('error', e.response);\n return e.response;\n }\n }\n }\n}","const Cryptr = require('cryptr');\nconst cryptr = new Cryptr('bLuEM@nG0es');\n\nexport const TokenService = (type, payload) => {\n\n return async () => {\n // console.log(payload, type);\n console.log(\"token service called\", payload);\n if(type === 'setToken'){\n localStorage.setItem(payload.key, JSON.stringify(payload.value));\n return null;\n }\n else if(type === 'getToken'){\n if(localStorage.getItem(payload)){\n return JSON.parse(localStorage.getItem(payload));\n }\n }\n else if(type === 'removeToken'){\n localStorage.removeItem(payload);\n return null;\n }\n }\n}","import React, { Component } from \"react\";\nimport \"./ORDER/OrderMaster/style.css\";\nimport {\n Configuration,\n removeUserSession,\n getDataTable,\n MandatoryFormFields,\n} from \"./Configuration\";\nimport Badge from \"@material-ui/core/Badge\";\nimport AutoCompleteInputcased from \"../src/Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport NotificationsNoneIcon from \"@material-ui/icons/NotificationsNone\";\nimport { withRouter } from \"react-router\";\nimport { APIService } from \"./Config/action/apiAction\";\nimport { connect } from \"react-redux\";\nimport { Modal } from \"antd\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport { TokenService } from \"./Config/action/tokenAction\";\nclass Header extends Component {\n constructor(props) {\n super(props);\n this.state = {\n showNotification: false,\n orgName: \"\",\n Username: \"\",\n IsAgent: \"\",\n unreadDot: false,\n };\n }\n\n async componentDidMount() {\n this.setState({\n showNotification: localStorage.getItem(\"notify_user\") ? true : false,\n });\n let user = JSON.parse(localStorage.getItem(\"auth_user\")) || 0;\n this.props\n .dispatch(\n APIService(\n \"POST\",\n \"GetPaymentData?query= GET_NOTIFICATION @ID = \" + user.ID,\n \"\"\n )\n )\n .then((data) => {\n if (data.data.status === 1000) {\n if (data.data.data.length > 0) {\n data.data.data[0].unreadCount > 0\n ? this.props.setActiveNotification(true)\n : this.props.setActiveNotification(false);\n } else {\n throw 500;\n }\n }\n })\n .catch((err) => {\n this.setState({\n ...this.state,\n unreadDot: false,\n });\n });\n const userid = Configuration.USER_ID;\n let Query =\n \"select Username,og.OrgName,IsAgent from users inner join OrganizationMaster og on users.orgid = og.orgid where users.userid = \" +\n userid;\n let rs = await getDataTable(Query);\n //Username = rs[0].Username\n this.setState({\n Username: rs[0]?.Username,\n orgName: rs[0]?.OrgName,\n IsAgent: rs[0]?.IsAgent,\n });\n this.forceUpdate();\n }\n\n openNotification = (e) => {\n e.preventDefault();\n e.stopPropagation();\n localStorage.removeItem(\"notify_user\");\n // this.props.history.push('/notifications');\n window.open(\"#/notifications\", \"_blank\");\n };\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: 0,\n [name]: \"\",\n });\n }\n }\n\n async UPDATEORG() {\n let MandatoryArray = [{ ORGANIZATION: this.state.ORGID }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let que =\n \"UPDATE Users SET OrgID = \" +\n this.state.ORGID +\n \" output inserted.userid WHERE (userId = \" +\n Configuration.USER_ID +\n \")\";\n let rs = await getDataTable(que);\n if (Array.isArray(rs)) {\n Swal.fire({\n icon: \"success\",\n title: \"SUCCESSFULLY UPDATED\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.props\n .dispatch(\n APIService(\n \"POST\",\n \"GetPaymentData?query=getuserdata @ID=\" +\n (localStorage.getItem(\"UserId\")\n ? JSON.parse(localStorage.getItem(\"UserId\")).value\n : \"10017\")\n )\n )\n .then((data) => {\n console.log(data);\n if (data.status === 200) {\n this.props\n .dispatch(\n TokenService(\"setToken\", {\n key: \"auth_user\",\n value: data.data.data[0],\n })\n )\n .then(() => {\n window.location.reload(true);\n });\n }\n })\n .catch((err) => {\n window.location.reload(true);\n console.log(err);\n });\n }\n }\n\n async help() {\n Modal.info({\n title: \"CHANGE ORGANIZATION\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n okButtonProps: { style: { display: \"none\" } },\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
\n \n this.onAfterSelect(e, \"ORGID\", \"ORGNAME\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n UPDATE\n \n
\n
\n
\n ),\n });\n }\n\n render() {\n return (\n
\n
\n {/* Logo */}\n \n \n Toggle navigation\n \n {/* Header Navbar: style can be found in header.less */}\n\n {/* Sidebar toggle button*/}\n {/* \n Toggle navigation\n */}\n \n \n {\" \"}\n \n \n {/* Navbar Right Menu */}\n
\n
    \n
  • \n \n \n \n \n \n
  • \n
  • \n \n \n {Configuration.USER_NAME}\n \n
      \n {/* User image */}\n
    • \n \n

      \n {this.state.Username}\n \n {this.state.orgName} \n {this.state.IsAgent == 1 && (\n this.help()}\n >\n )}\n \n

      \n
    • \n
    • \n \n
      \n \n Sign out\n \n
      \n
    • \n
    \n
  • \n {/* Control Sidebar Toggle Button */}\n
  • \n \n \n \n
  • \n\n \n \n \n \n {/* */}\n \n
\n
\n \n
\n
\n );\n }\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(Header));\n","import React, { Component } from 'react';\nimport { Configuration, getDataTable } from './Configuration';\nclass Menu extends Component {\n constructor(props) {\n super(props);\n this.handleClick = this.handleClick.bind(this);\n }\n state = {\n menuItems: [],\n menuList: [],\n isLoaded: false,\n orgname:''\n\n }\n\n async componentDidMount() {\n await this.setState({\n loginId: Configuration.USER_ID\n });\n await this.handleClick(Configuration.USER_ID)\n\n }\n async handleClick(val) {\n let Query = \"\"\n if (val === \"1\") {\n Query = \"SELECT DISTINCT MenuId, MenuName, Path AS url, 'ALL' AS Rights, loginID AS userid,Priority FROM Menu where Dis = 0 order by Priority\";\n } else {\n Query = \"SELECT distinct Menu.MenuId,Menu.MenuName, Menu.Path as url,UserRights.Rights, UserRights.userID,Priority FROM UserRights INNER JOIN Menu ON UserRights.menuID = Menu.MenuId WHERE (UserRights.userID = \" + val + \") and Rights <> 'None' and Menu.DIS = 0 order by Priority\";\n }\n const response = await getDataTable(Query)\n if (response.length > 0) {\n this.setState({ menuList: response, loading: false });\n }\n else {\n this.setState({ menuList: [], loading: false });\n }\n }\n\n async myFunction(e) {\n var input, filter, ul, li, a, i, txtValue;\n input = document.getElementById(\"myInput\");\n filter = e.target.value.toUpperCase();\n ul = document.getElementById(\"myUL\");\n li = ul.getElementsByTagName(\"li\");\n for (i = 1; i < li.length; i++) {\n a = li[i].getElementsByTagName(\"a\")[0];\n txtValue = a.textContent || a.innerText;\n if (txtValue.toUpperCase().indexOf(filter) > -1) {\n li[i].style.display = \"\";\n } else {\n li[i].style.display = \"none\";\n }\n }\n}\n\n render() {\n // var {items , loading} = this.state;\n var it = this.state.menuItems;\n var list = this.state.menuList;\n const menuArray = Object.keys(it).map(i => it[i])\n const menuLists = Object.keys(list).map(k => list[k])\n const loading = this.state.loading;\n //console.log(menuArray); \n if (loading) { return }\n else {\n return (\n
\n \n
\n )\n }\n }\n}\n\nexport default Menu;","import React, { Component } from 'react';\n\nclass Footer extends Component {\n render() {\n return (\n
\n\n\n
\n );\n }\n}\n\nexport default Footer;","import React, { Component } from 'react';\n\nclass Content extends Component {\ncomponentDidMount(){\n const script = document.createElement(\"script\");\n\n script.src='js/content.js';\n script.async = true;\n\n document.body.appendChild(script);\n}\n\n\n\n render() {\n return (\n
\n {/* Content Wrapper. Contains page content */}\n
\n {/* Content Header (Page header) */}\n {/* Main content */}\n
\n \n
\n \n
\n
\n

Data Table With Full Features

\n
\n {/* /.box-header */}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Rendering engineBrowserPlatform(s)Engine versionCSS grade
TridentInternet\n Explorer 4.0\n Win 95+ 4X
TridentInternet\n Explorer 5.0\n Win 95+5C
TridentInternet\n Explorer 5.5\n Win 95+5.5A
TridentInternet\n Explorer 6\n Win 98+6A
TridentInternet Explorer 7Win XP SP2+7A
TridentAOL browser (AOL desktop)Win XP6A
GeckoFirefox 1.0Win 98+ / OSX.2+1.7A
GeckoFirefox 1.5Win 98+ / OSX.2+1.8A
GeckoFirefox 2.0Win 98+ / OSX.2+1.8A
GeckoFirefox 3.0Win 2k+ / OSX.3+1.9A
GeckoCamino 1.0OSX.2+1.8A
GeckoCamino 1.5OSX.3+1.8A
GeckoNetscape 7.2Win 95+ / Mac OS 8.6-9.21.7A
GeckoNetscape Browser 8Win 98SE+1.7A
GeckoNetscape Navigator 9Win 98+ / OSX.2+1.8A
GeckoMozilla 1.0Win 95+ / OSX.1+1A
GeckoMozilla 1.1Win 95+ / OSX.1+1.1A
GeckoMozilla 1.2Win 95+ / OSX.1+1.2A
GeckoMozilla 1.3Win 95+ / OSX.1+1.3A
GeckoMozilla 1.4Win 95+ / OSX.1+1.4A
GeckoMozilla 1.5Win 95+ / OSX.1+1.5A
GeckoMozilla 1.6Win 95+ / OSX.1+1.6A
GeckoMozilla 1.7Win 98+ / OSX.1+1.7A
GeckoMozilla 1.8Win 98+ / OSX.1+1.8A
GeckoSeamonkey 1.1Win 98+ / OSX.2+1.8A
GeckoEpiphany 2.20Gnome1.8A
WebkitSafari 1.2OSX.3125.5A
WebkitSafari 1.3OSX.3312.8A
WebkitSafari 2.0OSX.4+419.3A
WebkitSafari 3.0OSX.4+522.1A
WebkitOmniWeb 5.5OSX.4+420A
WebkitiPod Touch / iPhoneiPod420.1A
WebkitS60S60413A
PrestoOpera 7.0Win 95+ / OSX.1+-A
PrestoOpera 7.5Win 95+ / OSX.2+-A
PrestoOpera 8.0Win 95+ / OSX.2+-A
PrestoOpera 8.5Win 95+ / OSX.2+-A
PrestoOpera 9.0Win 95+ / OSX.3+-A
PrestoOpera 9.2Win 88+ / OSX.3+-A
PrestoOpera 9.5Win 88+ / OSX.3+-A
PrestoOpera for WiiWii-A
PrestoNokia N800N800-A
PrestoNintendo DS browserNintendo DS8.5C/A1
KHTMLKonqureror 3.1KDE 3.13.1C
KHTMLKonqureror 3.3KDE 3.33.3A
KHTMLKonqureror 3.5KDE 3.53.5A
TasmanInternet Explorer 4.5Mac OS 8-9-X
TasmanInternet Explorer 5.1Mac OS 7.6-91C
TasmanInternet Explorer 5.2Mac OS 8-X1C
MiscNetFront 3.1Embedded devices-C
MiscNetFront 3.4Embedded devices-A
MiscDillo 0.8Embedded devices-X
MiscLinksText only-X
MiscLynxText only-X
MiscIE MobileWindows Mobile 6-C
MiscPSP browserPSP-C
Other browsersAll others--U
Rendering engineBrowserPlatform(s)Engine versionCSS grade
\n
\n {/* /.box-body */}\n
\n {/* /.box */}\n
\n {/* /.col */}\n \n {/* /.row */}\n
\n {/* /.content */}\n
\n {/* /.content-wrapper */}\n
\n\n );\n }\n}\n\nexport default Content;","import moment from \"moment\";\nimport React, { Component } from 'react';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\nimport { Modal } from 'antd';\nimport { getDataTable } from './Configuration';\nimport { configure } from '@testing-library/react';\nimport { split, startsWith } from 'lodash';\n\n\n\nexport const ConvBoolTOInt = (value) => {\n\n return value ? 1 : 0\n}\n\nexport function OnlyNumberKey(evt) {\n // Only ASCII charactar in that range allowed \n var ASCIICode = (evt.which) ? evt.which : evt.keyCode\n if (ASCIICode > 47 && ASCIICode < 58) {\n return true;\n }\n else {\n evt.preventDefault();\n }\n}\n\nexport function allowOnlyOneDotOrNum(evt) {\n var ASCIICode = (evt.which) ? evt.which : evt.keyCode\n if ((ASCIICode > 47 && ASCIICode < 58) || ASCIICode === 46) {\n\n }\n else {\n evt.preventDefault();\n return false;\n }\n var dots = 1;\n var length = evt.target.value.length;\n var text = evt.target.value;\n for (var i = 0; i < length; i++) {\n if (text[i] == '.') dots++;\n if (dots > 1 && ASCIICode === 46) {\n evt.preventDefault();\n }\n }\n}\n\nexport function getQueryStr_Comma(FldNm, USerInput, LikeYesNo = true, StartsWith = true) {\n let value = ''\n if (USerInput === '' || USerInput === undefined) {\n return value = '';\n }\n \n let QStr = ''\n let spl = split(USerInput, ',')\n for (let i = 0; i < spl.length; i++) {\n if (QStr === '') {\n if (LikeYesNo) {\n if (StartsWith) {\n QStr = FldNm + \" Like''\" + (spl[i].trim()) + \"%''\"\n }\n else {\n QStr = FldNm + \" Like''%\" + (spl[i].trim()) + \"%''\"\n }\n }\n else {\n QStr = FldNm + \"=\" + \"''\" + (spl[i].trim()) + \"''\"\n }\n }\n else {\n if (LikeYesNo) {\n if (StartsWith) {\n QStr = QStr + \" Or \" + FldNm + \" Like''\" + (spl[i].trim()) + \"%''\"\n }\n else {\n QStr = QStr + \" Or \" + FldNm + \" Like''%\" + (spl[i].trim()) + \"%''\"\n }\n }\n else {\n QStr = QStr + \" Or \" + FldNm + \"=\" + \"''\" + (spl[i].trim()) + \"''\"\n }\n }\n }\n\n if (QStr === \"\") {\n return \"\";\n }\n else {\n return \"and (\" + QStr + \")\";\n }\n\n}\n\nexport function MandatoryFormFields(fildsArray) {\n if (fildsArray.length > 0 && fildsArray != undefined) {\n for (let index = 0; index < fildsArray.length; index++) {\n const element = fildsArray[index];\n let Name = Object.keys(fildsArray[index]);\n if (element[Name] == \"\" || element[Name] == \"0\" || element[Name] == undefined) {\n\n Swal.fire({\n icon: 'error',\n title: \"PLEASE ENTER \" + Name[0].toUpperCase(),\n showConfirmButton: false,\n timer: 1500\n })\n\n return false;\n }\n\n }\n }\n}\n\nexport async function AttributeRules() {\n \n let dt = await getDataTable(\"select * from Rules\")\n if (dt.length < 1) {\n Swal.fire({\n icon: 'info',\n okButtonProps: { style: { display: 'none' } },\n closeButtonProps: { style: { display: 'none' } },\n title: \"No Rules Found\",\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n Modal.info({\n title: 'IMPORTANT RULES',\n okText: 'CLOSE',\n width: '700px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '500px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n {dt.map((value, index) => {\n return
  1. {value.AttributeName} - {value.Rules}
  2. \n })}\n
\n
\n )\n });\n\n}\n\nexport async function multipleProduct(logid) {\n \n let dt = []\n let rs = await getDataTable(\"select distinct productid,productName from productmaster where orgID = (select distinct orgid from users where userid = \" + logid + \")\")\n const addproduct = () => {\n dt = []\n let val = document.getElementById('pdname').value\n if (!val) {\n return;\n }\n for (let i = 0; i < rs.length; i++) {\n let sts = rs[i].productName;\n if (sts.includes(val)) {\n dt.push(rs[i])\n }\n }\n this.forceUpdate();\n console.log(dt);\n }\n console.log(rs);\n Modal.info({\n title: 'Select Article',\n okText: 'CLOSE',\n width: '700px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '500px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n { dt.length > 0 && dt != undefined &&\n
\n \n \n \n {/* */}\n \n {/* */}\n \n \n \n {dt.map((value, index) => {\n return \n \n {/* */}\n \n {/* */}\n \n })}\n \n
SR NO.AIDATTRIBUTENAMEMANDATORY
{index + 1} {value.AID}{value.productName.toUpperCase()}
\n
\n }\n
\n
\n
\n
\n\n
\n
\n )\n });\n}\n\nexport async function DisclaimerBlock() {\n Modal.info({\n title: 'DISCLAIMER',\n okText: 'CLOSE',\n width: '800px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '400px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n

This Portal has been developed by Tri-Continental Impex India with custom codes, machine learning and artificial intelligence.

\n

Though all efforts have been made to ensure the accuracy of the content and final outcomes on this Portal, the same should not be construed as a statement of law or used for any legal purposes. Tri-Continental Impex India accepts no responsibility in relation to the accuracy, completeness, usefulness or otherwise, of the contents. Users are advised to verify/check any information, and to obtain any appropriate professional advice before acting on the information provided in the Portal.

\n

You understand that we cannot and do not guarantee or warrant that files available for downloading from the internet or the Website will be free of viruses or other destructive code. You are responsible for implementing sufficient procedures and checkpoints to satisfy your particular requirements for anti-virus protection and accuracy of data input and output, and for maintaining a means external to Our site for any reconstruction of any lost data. We will not be liable for any loss or damage caused by a distributed denial-of-service attack, viruses or other technologically harmful material that may infect Your computer equipment, computer programs, data or other proprietary material due to Your use of the Website or any Services or items obtained through the Website or to Your downloading of any material posted on it, or on any Website linked to it.

\n

Neither We nor any person associated with Us represents or warrants that the Website and its contents will be accurate, reliable, error-free or uninterrupted, that defects will be corrected, that Our site or the server that makes it available are free of viruses or other harmful components or that the Website or any Services or items obtained through the Website will otherwise meet Your needs or expectations.

\n
\n )\n });\n\n}\n\nexport async function ReturnBlock() {\n Modal.info({\n title: 'RETURN & REFUND POLICY',\n okText: 'CLOSE',\n width: '700px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '400px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • You may cancel your account at anytime by emailing support@blumangoes.in
  • \n
  • Once your account is cancelled all of your Content will be immediately deleted from the Service. Since deletion of all data is final please be sure that you do in fact want to cancel your account before doing so.
  • \n
  • If you cancel the Service in the middle of the month, you will receive one final invoice via email. Once that invoice has been paid you will not be charged again.
  • \n
  • We reserve the right to modify or terminate the Blu Mangoes service for any reason, without notice at any time.
  • \n
  • Fraud : Without limiting any other remedies, Blu Mangoes may suspend or terminate your account if we suspect that you (by conviction, settlement, insurance or escrow investigation, or otherwise) have engaged in fraudulent activity in connection with the Site.
  • \n
\n
\n )\n });\n}\n\nexport async function TermsConditionBlock() {\n Modal.info({\n title: 'TERMS OF SERVICES',\n okText: 'CLOSE',\n width: '700px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '400px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n

Any person logging on to or using the Website (even when such person does not avail of any Services provided in the Website) shall be presumed to have read these Terms of Service and unconditionally accepted the terms and conditions set out herein and this constitutes a binding and enforceable agreement between the user and Us. These Terms of Service does not alter in any way the terms of conditions of any other written agreement You may have with Us for other Services.

\n

We provide Services subject to the terms and conditions of these Terms of Service (this \"Agreement\"). To obtain the Services, this Agreement must be reviewed and accepted by the party that will use the Service.

\n

The terms and conditions may be revised or altered by Us at Our sole discretion at any time without any prior intimation to the User. The latest Terms of Service will be posted here. Any such changes will be effective immediately. By continuing to use this Website or access/ usage of Our Services after changes are made, You agree to be bound by the revised/ amended Terms of Services. You are solely responsible for understanding and complying with all applicable laws of Your specific jurisdiction that may be applicable to You in connection with Your business and use of Our Services.

\n

In consideration of the foregoing and the terms below, the parties hereby agree as follows:

\n
    \n
  • Our Service\n

    1.\tService Generally. Customer wishes to use the Services in connection with its services and properties (the \"Customer Properties\"). We will provide the Services in accordance with the terms of this Agreement.

    \n

    2.\tWe will provide Customer application programming interfaces (collectively, the \"APIs\") to enable Customer to access and implement the Service in connection with the Customer Properties. Through the APIs and management console, Customer may submit data and information to the Service as determined by Customer (collectively, the \"Raw Data\"). Based on Our analysis of the Raw Data alone and in combination with other data in the Service, We will provide Customer with analytical results (the \"Analytical Results\").

    \n

    In order to access certain Services, You may be required to open a user account with Us by providing information about yourself (Personal Information/ Data) as part of the registration process for the Services, or as part of Your continued use of the Services. You also agree that We have the right to collect Your navigational or payment information. Navigational information refers to information about Your computer and Your visits to this Website such as Your IP address, geographical location, browser type, referral source and pages viewed. When You use Our Services, We automatically collect information about Your computer hardware and software. This information can include Your IP address, browser type, domain names, internet service provider, the file viewed on Our website, operating system, clickstream data, access times and referring website addresses.

    \n

    We use the Navigational Information to operate and improve the Websites and the Service. We may also use the Navigational Information alone or in combination with personal information to provide You with the personalized information about Us.

    \n

    The payment information pertaining to Your payment details shall be used to check Your financial qualification and collect payment from You.

    \n

    You agree that any data provided by You shall always be accurate, correct, complete and up to date. If You provide any information that is untrue, inaccurate, incomplete, or not current or if We have reasonable grounds to suspect that such information is not in accordance with the Terms of Service, We reserve the right to reject Your registration and/or indefinitely suspend or terminate Your user account and to refuse to provide You access to the Website. You further acknowledge and agree that if We disable access to Your account You may be prevented from accessing the Services, Your account details or any files or other content which is contained in Your account and We shall intimate to You regarding the same. Further, You agree to indemnify and keep Us indemnified from and against all claims resulting from the use of any details/ information/ data that You post and / or supply to Us. We shall be entitled to remove any such detail/ information/ data posted by You without any prior intimation to You. In order to ensure that We are not violating any right that You might have in Your Data, You hereby grant Us a non-exclusive, worldwide, perpetual, irrevocable, royalty-free, sub-licensable right to exercise the copyright, publicity, and database rights that You have in the Data in any media now or in future known, with respect to Your data solely to enable Us to use such Data that You have supplied to Us.

    \n

    Any amendment or rectification of Your Data in the user account can be carried out by accessing the “User Account” section on the Website. You may delete Your user content or user account at any time. Processing the deletion may take some time, but the same shall be done by Us. We may maintain backup of all user content for such time as may be required under applicable laws and for Our operational purposes. You are solely responsible for maintaining the confidentiality of Your account and password and for any activity that occurs in or through Your account. We will not be liable to any person for any loss or damage which may arise as a result of any failure by You to protect Your password or account. You should take all necessary steps to ensure that the password is kept confidential and secure. In case You have any reason to believe that Your password has become known to anyone else, or if the password is being, or is likely to be, used in an unauthorised manner, please change Your password immediately. In the event of any dispute between two or more parties as to ownership of any particular account with us, You agree that We will be the sole arbitrator of such a dispute and that Our decision in this regard will be final and binding on all parties.

    \n

    Further, You have the right to be deleted, wherein You may stop using the Services at any point of time and have the right to delete all Your Data.

    \n
  • \n
  • Protection of Data\n

    1.\tGeneral. As between the parties, You own the Data and We own the Analytical Results. We will use the Data only as described in this Agreement and will maintain appropriate administrative, technical and physical security measures to protect the Data against unauthorized access, disclosure and loss. You will be notified promptly in the event of any suspected or actual breach of the security of Your account. We will comply with all applicable laws, rules and regulations (collectively, \"Laws\") in connection with its response and remediation of any security breach and will keep You informed of those activities.

    \n

    2.\tAdditional Use of Raw Data. Additional Use of Data. Subject to the terms of this Section, You agree that We may use the Data on a perpetual basis in connection with fraud detection and prevention Services offered through the Service, as determined by Us in its reasonable discretion. In connection with such use, the Data will be aggregated with data from the other customers of the Service. In addition, any reports provided to other third party customers resulting from use of the Service will not include any identifiers of customer as the source of such data. We may promote the use of Our Services to You and share promotional and information content with You in accordance with Your communication preferences.

    \n

    3.\tSocial Media Features.Our website includes social Media Features, such as Facebook, and twitter button and widgets, such as the “share” button. These features may collect Your IP address, which page you are visiting on Our website, and may set a cookie to enable the features to function properly. Social media features are either hosted by a third party or hosted directly on Our platform. Your interactions with these features are governed by the privacy policy of the company providing it.

    \n

    4.\tDeletion of Data. Upon termination of this Agreement, Customer may request deletion of the Raw Data. Subject to the provisions of Section 1.2(b) (Additional Use of Raw Data), We will perform such deletion within ninety days.

    \n

    5.\tMarketing. Subject to Customer’s consent and any trademark usage guidelines provided by Customer, we may use Customer’s name and logo in any customer list promoting the Service.

    \n
  • \n
  • Additional Terms\n

    1.\tRestrictions. You will use the Service (for clarity, including the Analytical Results) only: (a) for its internal fraud detection and prevention purposes; (b) in accordance with the terms of this Agreement; and (c) in accordance with reasonable instructions given by Us, including compliance with the Acceptable Use Policy located here, which We may update reasonably from time to time. You will not engage in any activity that violates any contractual or other rights of any third parties or that disrupts the Service, including circumvention of any access or use restrictions. You will not transfer, resell, license or otherwise make the Service available to third parties. For clarity, the foregoing limitation applies to the Analytics Results and any other information derived from use of the Service, as well as the service itself. You will be solely responsible for all use of the Service under its account, including the acts and omissions of its users. You will notify Us immediately if You become aware of any unauthorized use or other compromise of Your account. You agree not to access (or attempt to access) any of the Services by any means other than through the interface that is provided by Us, unless You have been specifically allowed to do so in a separate agreement with Us. You specifically agree not to access (or attempt to access) any of the Services through any automated means (including use of scripts or web crawlers) and shall ensure that You comply with the instructions set out in any robots.text file present on the Services. You agree that You will not engage in any activity that interferes with or disrupts the Services (or the servers and networks which are connected to the Services) on this Website.

    \n

    2.\tCompliance. In connection with its activities hereunder, each party will comply with all applicable Laws, including those concerning the use of personal information and data protection, as well as any contractual or other obligation to any third party. You are solely responsible for ensuring that its use of the Service does not violate the Laws of the jurisdictions in which You carry on Your business.

    \n

    3.\tPrivacy Policies. Each party will collect, process and store data in accordance with the terms of its privacy policy and will ensure that its privacy policy is readily accessible on its website(s) and at all times provides accurate disclosures concerning its respective activities in connection with this Agreement, including the collection and processing of personal information for fraud detection and prevention purposes. However, We may share the information collected from You with trusted partners to contact You based on Your request to receive such communication, help us perform statistical analysis, or provide customer support. Such third parties are prohibited from using Your personal information except for these purposes and they are required to maintain the confidentiality of Your information. We may transfer Your personal information to Our sister concerns to provide You with better Services or for troubleshooting purposes. Our sister concerns are bound by the principles of standard contractual clauses and the obligations under the privacy policy. We may share any content generated by the User or their data with governmental agencies that are lawfully authorised for investigative, protective, cyber security activities. Such information may be transferred for the purposes of verification of identity, or for prevention, detection, investigation, prosecution, cyber security incidents and punishment of offences under any law for the time being in force. Further we reserve the right to disclose any information pertaining to You, if it is necessary :\n

      \n
    • To satisfy or comply with any law, regulation or legal process or to respond to lawful requests, including subpoenas, warrants or court orders,
    • \n
    • To protect Our property, rights, safety and the rights, property and safety of the third parties or the public in general; and
    • \n
    \n

    \n

    To prevent or stop activity we consider to be illegal or unethical. We also may be required to disclose an individual’s personal information in response to a lawful request by public documents You should be aware that content presented to You as part of the Services, including but not limited to advertisements in the Services and sponsored content within the Services may be protected by intellectual property rights which are owned by the sponsors or advertisers who provide that content to Us (or by other persons or companies on their behalf). You may not modify, rent, lease, loan, sell, distribute or create derivative works based on this content (either in whole or in part) unless You have been specifically told that You may do so by Us or by the owners of that content, in writing and in a separate agreement.

    \n
  • \n
  • Payment\n

    Fees and Payment Terms. For 30 Days from Project start date there will be a trial period in this period We will not charge any money, post the trial period fees will be 0.2% of transaction value subject to a maximum of Rs 20/transaction.

    \n
  • \n
  • Confidentiality\n

    1.\tDefinitions. \"Confidential Information\" means information provided to the receiving party (\"Receiving Party\") that is designated by the disclosing party (\"Disclosing Party\") as \"confidential\" or \"proprietary\" or that a reasonable person would understand to be confidential given the nature of the information and the circumstances of the disclosure. \"Confidential Information\" does not include information that: (a) is or becomes generally known to the public through no fault of the Receiving Party; (b) is in the Receiving Party’s possession prior to receipt from the Disclosing Party; (c) is acquired by the Receiving Party from a third party without breach of a confidentiality obligation; or (d) is independently developed by Receiving Party without reference to the Disclosing Party’s Confidential Information. Customer’s Confidential Information includes the Raw Data. Our Confidential Information includes the APIs, the Analytical Results and all documentation provided to Customer hereunder.

    \n

    2.\tConfidentiality Obligations. Receiving Party will use Confidential Information solely as contemplated by this Agreement and will disclose such information only to its employees, agents, and contractors who are bound by obligations of confidentiality at least as strict as those contained in this Section. Receiving Party will use reasonable care to protect Disclosing Party’s Confidential Information and to prevent unauthorized disclosure of Confidential Information. Confidential Information is and will remain the exclusive property of the Disclosing Party. Subject to the terms and conditions of this Agreement, Receiving Party will, upon written request, destroy all copies of the Disclosing Party’s Confidential Information that are in its possession or control.

    \n

    3.\tProduct Input. Notwithstanding any provision in this Terms of Service to the contrary, if You submit any material on the Website, You agree thereby to grant us the right to use, develop and implement any information, suggestions, comments or other input provided by You or any of its users (collectively, \"Input\") in connection with the development, operation, marketing and sale of the Service, in its discretion and with no compensation/ royalty shall be provided to any person providing Input. You represents that it has not, and will not, knowingly provide Input that is subject to any third party intellectual property rights. Such being the case, You agree that You are solely responsible for (and that We are not responsible to You or to any third party for) any Content that You create, transmit or display while using the Services and for the consequences of Your actions (including any loss or damage which We may suffer) by doing so.

    \n
  • \n
  • Proprietary Rights\n

    You acknowledge and agree that We (or our licensors) own all legal right, title and interest pertaining to the Services, including any intellectual property rights which subsist in the Services (whether those rights happen to be registered or not, and wherever in the world those rights may exist). You further acknowledge that the Services may contain information which is designated confidential by Us and that You shall not disclose such information without Our prior written consent.

    \n
  • \n
  • Indemnification\n

    You will defend, indemnify and hold harmless us, Our officers, directors and employees against any third-party claim, demand, suit, investigation or proceeding relating to any violation or alleged violation of the terms of this Agreement.

    \n
  • \n
  • Limitation of Liability\n

    EXCEPT AS DESCRIBED IN THIS PARAGRAPH, UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT, CONTRACT, OR OTHERWISE, WILL EITHER PARTY BE LIABLE TO THE OTHER FOR ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR PUNITIVE DAMAGES OF ANY CHARACTER, INCLUDING DAMAGES FOR LOSS OF GOODWILL, LOST PROFITS, LOST SALES OR BUSINESS, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, LOST DATA, OR FOR ANY AND ALL OTHER DAMAGES OR LOSSES, EVEN IF SUCH PARTY HAS BEEN ADVISED, KNEW OR SHOULD HAVE KNOWN OF THE POSSIBILITY OF SUCH DAMAGES. THE FOREGOING EXCLUSIONS WILL NOT APPLY TO ANY BREACH OF SECTION 2 (ADDITIONAL TERMS), SECTION 4 (CONFIDENTIALITY) OR ANY AMOUNTS PAYABLE TO A THIRD PARTY UNDER SECTION 5 (INDEMNIFICATION).

    \n

    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT, CONTRACT, OR OTHERWISE, WE WILL BE LIABLE TO YOU FOR ANY DIRECT DAMAGES, COSTS, OR LIABILITIES IN AGGREGATE IN EXCESS OF THE AMOUNTS PAID BY YOU TWELVE MONTH PERIOD PRIOR TO THE YOUR INITIAL CLAIM.

    \n
  • \n
  • Governing Law and Arbitration:\n

    Any claim, differences or dispute arising under or in connection with or in relation hereto

    \n
  • \n
  • Notice\n

    All notices to Us will be served by email or letter. Any notice provided to Us pursuant to the Terms of Service and Privacy Policy should be sent to Our address as mentioned in the Terms of Service/Privacy Policy.

    \n
  • \n
  • Questions\n

    We welcome Your questions and comments regarding our Privacy Policy. You may contact us at support@blumangoes.ai

    \n
  • \n
\n

DISCLAIMER

\n

You understand that We cannot and do not guarantee or warrant that files available for downloading from the internet or the Website will be free of viruses or other destructive code. You are responsible for implementing sufficient procedures and checkpoints to satisfy Your particular requirements for anti-virus protection and accuracy of data input and output, and for maintaining a means external to Our site for any reconstruction of any lost data. We will not be liable for any loss or damage caused by a distributed denial-of-service attack, viruses or other technologically harmful material that may infect Your computer equipment, computer programs, data or other proprietary material due to Your use of the Website or any Services or items obtained through the Website or to Your downloading of any material posted on it, or on any Website linked to it.

\n

Neither We nor any person associated with Us represents or warrants that the Website and its contents will be accurate, reliable, error-free or uninterrupted, that defects will be corrected, that Our site or the server that makes it available are free of viruses or other harmful components or that the Website or any Services or items obtained through the Website will otherwise meet Your needs or expectations.

\n

We hereby disclaims all warranties of any kind, whether express or implied, statutory or otherwise, including but not limited to any warranties of merchantability, non-infringement and fitness for particular purpose.

\n
\n )\n });\n\n}\n\nexport async function PrivacyBlock() {\n Modal.info({\n title: 'Application privacy policy',\n okText: 'CLOSE',\n width: '700px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '400px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n

Tri-Continental Impex India built its AI based Catalog Management tool ‘Blumangoes’ which is a SaaS and is intended to be used by anyone. This page is used to inform website visitors regarding our policies with the collection, use, and disclosure of Personal Information if anyone decided to use our Service.

\n

If you choose to use our Service, then you agree to the collection and use of information concerning this policy. The Personal Information that we collect is used for providing and improving the Service. We will not use or share your information with anyone except as described in this Privacy Policy.

\n

Information Collection and Use

\n

For a better experience, we may require you to provide us with certain personally identifiable information, including but not limited to e.g. users name, address, location, mobile number, etc. The information that we request will be retained by us and used as described in this privacy policy.The app does use third-party services that may collect information used to identify you. We use Google Analytics to track usage.

\n

Log Data

\n

We want to inform you that whenever someone uses our Service, in case of an error in the app we collect data and information (through third-party products) on your phone/desktop called Log Data. This Log Data may include information such as your devices’ Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing our Service, the time and date of your use of the Service, and other statistics.

\n

Cookies

\n

Cookies are files with small amount of data that is commonly used as an anonymous unique identifier. These are sent to your browser from the website that you visit and are stored on your devices’ internal memory. This service does not use these “cookies” explicitly. However, the app may use third party code and libraries that use “cookies” to collection information and to improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.

\n

Service Providers

\n

We may employ third-party companies and individuals due to the following reasons:

\n
    \n
  • To facilitate our Service;
  • \n
  • To provide the Service on our behalf;
  • \n
  • To perform Service-related services; or
  • \n
  • To assist us in analyzing how our Service is used.
  • \n
\n

We want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

\n

Security

\n

We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.

\n

Links to Other Sites

\n

This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by us. Therefore, I strongly advise you to review the Privacy Policy of these websites. We have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.

\n

Children’s Privacy

\n

These Services do not address anyone under the age of 13. We do not knowingly collect personally identifiable information from children under 13. In the case we discover that a child under 13 has provided us with personal information, we immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact us so that we will be able to do necessary actions.

\n

Changes to This Privacy Policy

\n

We may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted on this page.

\n

Contact Us

\n

If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us on support@blumangoes.ai

\n
\n )\n });\n}\n\nexport async function AboutusBlock() {\n Modal.info({\n title: 'ABOUT US',\n okText: 'CLOSE',\n width: '600px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '400px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n

Cataloging is a major challenge in the E-commerce world, and It is no secret that the world is moving towards e-commerce and is getting faster and faster. So we ‘Tri-Continental Impex India’ have come up with the platform ‘Blumangoes’ for simplifying and overcoming challenges that come up for cataloging. It creates catalog for multiple portals and sorts images as per e-commerce portal’s specifications. Hence It saves time by giving immediate results and easy corrections makes it simple to use. No need of experts, cataloging is as simple as one click. It works on Artificial intelligence and analyze/process images as per portals guidelines so no need to spend money on multiple shoots, software will modify images for you.

\n
\n )\n });\n}\n\nexport async function ContactUsBlock() {\n Modal.info({\n title: 'CONTACT US',\n okText: 'CLOSE',\n width: '500px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '300px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n

Registered Office:

\n

Tri-continental Impex

\n

603, KAVERI GRAND, KAILASH VIHAR,

\n

AGRA-282 007 (U.P.), INDIA

\n

Email

\n Support@blumangoes.ai\n

Phone No:

\n +91 9105399099\n
\n )\n });\n}","import CryptoJS from \"../../../node_modules/crypto-js\";\n\nconst CryptoService = {\n encrypt: function(value) {\n //inspect the value\n return CryptoJS.AES.encrypt(JSON.stringify(value), 'bLuM@ngOe$').toString();\n },\n \n decrypt: function(value) {\n //inspect the value\n var bytes = CryptoJS.AES.decrypt(value, 'bLuM@ngOe$');\n return JSON.parse(bytes.toString(CryptoJS.enc.Utf8));\n }\n};\n\nexport default CryptoService;","import React, { useState } from 'react';\r\nimport { setUserSession, Configuration, getDataTable } from './Configuration';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Height, Style } from '@material-ui/icons';\r\n\r\nconst useFormInput = initialValue => {\r\n const [value, setValue] = useState(initialValue);\r\n const handleChange = e => {\r\n setValue(e.target.value);\r\n };\r\n return {\r\n value,\r\n onChange: handleChange\r\n };\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n button: {\r\n backgroundColor: '#2196f3',\r\n color: '#fff',\r\n width: '100%',\r\n margin: theme.spacing(3, 0, 2),\r\n border: 'none', // Remove border\r\n },\r\n form: {\r\n width: '200%', // Fix IE 11 issue.\r\n marginTop: theme.spacing(1),\r\n },\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n marginRight: 'auto',\r\n },\r\n}));\r\n\r\nfunction ForgotPassword(props) {\r\n const classes = useStyles();\r\n const [loading, setLoading] = useState(false);\r\n const email = useFormInput('');\r\n const otp = useFormInput('');\r\n const newPassword = useFormInput('');\r\n const cNewPassword = useFormInput('');\r\n const [error, setError] = useState(null);\r\n const [step, setStep] = useState(1);\r\n const [sentOTP, setSentOTP] = useState('');\r\n const [userId, setUserId] = useState('');\r\n const handleGoBack = () => {\r\n props.onGoBack();\r\n };\r\n\r\n\r\n const handleSendOTP = async (event) => {\r\n event.preventDefault();\r\n setLoading(true);\r\n setError(null); // Clear any previous error\r\n\r\n try {\r\n const que = await getDataTable(\"select userId from Users where Email = '\" + email.value + \"'\");\r\n setUserId(que[0].userId)\r\n if (que.length > 0) {\r\n const response = await fetch(\"https://api.blumangoes.ai:6143/reset-password\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n body: `email=${email.value}`\r\n });\r\n\r\n if (response.ok) {\r\n const data = await response.text();\r\n setSentOTP(data); // Store the sent OTP value\r\n setStep(2);\r\n } else {\r\n throw new Error(\"Failed to send OTP\");\r\n }\r\n } else {\r\n setError(\"Invalid Email Or Email is not registered with us\");\r\n }\r\n } catch (error) {\r\n setError(\"Invalid Email Or Email is not registered with us\");\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n\r\n const handleVerifyOTP = () => {\r\n setError(null); \r\n if (otp.value == sentOTP) {\r\n setStep(3);\r\n } else {\r\n setError('Invalid OTP');\r\n }\r\n };\r\n\r\n const handleResetPassword = async () => {\r\n setError(null); \r\n setLoading(true);\r\n var requestOptions = { method: 'POST' };\r\n let rs1 = await fetch(\"https://api.blumangoes.ai:6143/encrypt?password=\" + newPassword.value, requestOptions);\r\n let psswrd = await rs1.text();\r\n let que = \" UPDATE Users SET pswrd = '\" + psswrd + \"', logdate = getdate() OUTPUT inserted.userId WHERE (userId = \" + userId + \")\";\r\n await getDataTable(que);\r\n \r\n // Check if the password update was successful\r\n const updatedData = await getDataTable(\"select userId from Users where userId = \" + userId + \" and pswrd = '\" + psswrd + \"'\");\r\n if (updatedData.length > 0) {\r\n setStep(4);\r\n } else {\r\n setError(\"Failed to update password\");\r\n }\r\n \r\n setLoading(false);\r\n };\r\n \r\n \r\n return (\r\n
\r\n

Forgot Password

\r\n {step === 1 && (\r\n
\r\n \r\n
\r\n \r\n {loading ? 'Sending OTP...' : 'Send OTP'}\r\n \r\n \r\n
\r\n \r\n )}\r\n {step === 2 && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n {step === 3 && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {step === 4 && (\r\n
\r\n

Password Reset Successful

\r\n

Your password has been reset successfully.

\r\n \r\n
\r\n )}\r\n {error &&

Error: {error}

}\r\n
\r\n );\r\n}\r\nexport default ForgotPassword;\r\n","import React, { useState, useEffect } from \"react\";\nimport { setUserSession, Configuration } from \"./Configuration\";\nimport {\n DisclaimerBlock,\n ReturnBlock,\n TermsConditionBlock,\n PrivacyBlock,\n AboutusBlock,\n ContactUsBlock,\n} from \"./CommanFunc\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport Button from \"@material-ui/core/Button\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport TextField from \"@material-ui/core/TextField\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Checkbox from \"@material-ui/core/Checkbox\";\nimport Link from \"@material-ui/core/Link\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Box from \"@material-ui/core/Box\";\nimport Grid from \"@material-ui/core/Grid\";\nimport LockOutlinedIcon from \"@material-ui/icons/LockOutlined\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport CryptoService from \"./Config/action/crypto\";\nimport ForgotPassword from \"./ForgotPassword\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\n\nfunction Login(props) {\n const classes = useStyles();\n const [loading, setLoading] = useState(false);\n const [loginVisible, setLoginVisible] = useState(true);\n const [forgotPasswordVisible, setForgotPasswordVisible] = useState(false);\n const username = useFormInput(\"\");\n const password = useFormInput(\"\");\n const factory = { value: \"IMAGEDB\" }; //useFormInput('');\n const [error, setError] = useState(null);\n const [showForgotPassword, setShowForgotPassword] = useState(false);\n const [loginAttempts, setLoginAttempts] = useState(0);\n const [accountLocked, setAccountLocked] = useState(false);\n const [showPassword, setShowPassword] = useState(false);\n\n const checkAccountLock = () => {\n const lockedAccounts =\n JSON.parse(localStorage.getItem(\"lockedAccounts\")) || {};\n\n if (lockedAccounts[username.value]) {\n const unlockTime = parseInt(lockedAccounts[username.value]);\n\n if (Date.now() < unlockTime) {\n setAccountLocked(true);\n\n setTimeout(() => {\n setAccountLocked(false);\n removeLockedAccount(username.value);\n }, unlockTime - Date.now());\n } else {\n setAccountLocked(false);\n removeLockedAccount(username.value);\n }\n }\n };\n\n const addLockedAccount = (username, unlockTime) => {\n const lockedAccounts =\n JSON.parse(localStorage.getItem(\"lockedAccounts\")) || {};\n lockedAccounts[username] = unlockTime;\n localStorage.setItem(\"lockedAccounts\", JSON.stringify(lockedAccounts));\n };\n\n const removeLockedAccount = (username) => {\n const lockedAccounts =\n JSON.parse(localStorage.getItem(\"lockedAccounts\")) || {};\n delete lockedAccounts[username];\n localStorage.setItem(\"lockedAccounts\", JSON.stringify(lockedAccounts));\n };\n\n // Check if the account is locked on page load\n useEffect(() => {\n checkAccountLock();\n }, [username.value]);\n\n const handleForgotPassword = () => {\n setLoginVisible(false);\n setForgotPasswordVisible(true);\n };\n\n const handleForgotPasswordGoBack = () => {\n setLoginVisible(true);\n setForgotPasswordVisible(false);\n };\n\n // handle button click of login form\n const handleLogin = () => {\n if (username.value === \"\") {\n Swal.fire({\n icon: \"info\",\n title: \"PLEASE ENTER USER NAME\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n if (password.value === \"\") {\n Swal.fire({\n icon: \"info\",\n title: \"PLEASE ENTER PASSWORD\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n\n if (username.value === \"Manish\") {\n Swal.fire({\n icon: \"error\",\n title: \"Account Suspended\",\n text: \"The account is suspended. Please contact the administrator.\",\n });\n return;\n }\n\n setError(null);\n\n if (accountLocked) {\n Swal.fire({\n icon: \"info\",\n title: \"Account locked. Please try again later.\",\n showConfirmButton: false,\n timer: 1500,\n });\n window.location.reload();\n return;\n }\n\n setLoading(true);\n\n var raw = JSON.stringify({\n db: factory.value,\n user: username.value,\n password: password.value,\n });\n const config = {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: raw,\n };\n try {\n fetch(Configuration.SYSTEM_SETTINGS.API_URL + \"login\", config)\n .then((response) => response.json())\n .then((data) => {\n if (data.result) {\n const remainingAttempts = 4 - loginAttempts;\n Swal.fire({\n icon: \"info\",\n title: `Wrong password. You have ${remainingAttempts} attempts remaining.`,\n showConfirmButton: false,\n timer: 1000,\n });\n setLoading(false);\n setLoginAttempts((prevAttempts) => prevAttempts + 1);\n checkAccountLock();\n if (loginAttempts === 4) {\n // Lock the account\n const unlockTime = Date.now() + 2 * 60 * 1000; // 30 minutes\n setAccountLocked(true);\n addLockedAccount(username.value, unlockTime);\n localStorage.setItem(`${username.value}_accountLocked`, \"true\");\n localStorage.setItem(\n `${username.value}_unlockTime`,\n unlockTime.toString()\n );\n setTimeout(() => {\n // Unlock the account after 30 minutes\n setAccountLocked(false);\n setLoginAttempts(0);\n setAccountLocked(false);\n removeLockedAccount(username.value);\n localStorage.removeItem(`${username.value}_accountLocked`);\n localStorage.removeItem(`${username.value}_unlockTime`);\n }, unlockTime - Date.now());\n }\n return;\n }\n setLoginAttempts(0); // Reset login attempts\n setUserSession(\"Token\", data.token, 18000000);\n setUserSession(\"UserId\", data.userid, 18000000);\n setUserSession(\"UserName\", username.value, 18000000);\n setUserSession(\"Factory\", factory.value, 18000000);\n setUserSession(\n \"Authorization\",\n CryptoService.encrypt({ isAdmin: data.is_admin }),\n 18000000\n );\n\n const passwordExpirationDays = 30; // Set password expiration days\n const passwordExpirationDate = new Date();\n passwordExpirationDate.setDate(\n passwordExpirationDate.getDate() + passwordExpirationDays\n );\n const remainingDays = Math.ceil(\n (passwordExpirationDate - new Date()) / (1000 * 60 * 60 * 24)\n );\n if (remainingDays <= 0) {\n Swal.fire({\n title: \"Password Expired\",\n text: \"Your password has expired. Please contact the administration.\",\n icon: \"warning\",\n confirmButtonText: \"OK\",\n });\n } else if (remainingDays <= 7) {\n Swal.fire({\n title: \"Password Expiration\",\n html: `Your password will expire in ${passwordExpirationDays} day(s).`,\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonText: \"Change Password Now\",\n cancelButtonText: \"I'll Do It Later\",\n allowOutsideClick: false,\n }).then((result) => {\n if (result.isConfirmed) {\n // Redirect to password change page\n props.history.push(\"/change-password\");\n } else {\n // Continue to dashboard\n props.history.push(\"/dashboard\");\n }\n });\n } else {\n // Redirect to dashboard\n props.history.push(\"/dashboard\");\n }\n })\n .catch((error) => {\n setLoading(false);\n // if (error.response.status) setError(error.response.data.message);\n // else setError(\"Something went wrong. Please try again later.\");\n });\n } catch (error) {\n console.error(error);\n }\n };\n\n return (\n \n \n \n \n
\n \n \n \n \n Sign in\n \n {loginVisible && (\n
\n \n {\n if (e.key === \"Enter\") {\n handleLogin();\n }\n }}\n InputProps={{\n endAdornment: (\n \n setShowPassword(!showPassword)}\n edge=\"end\"\n >\n {showPassword ? : }\n \n \n ),\n }}\n />\n\n }\n label=\"Remember me\"\n />\n \n \n Sign In\n \n \n \n \n \n \n \n \n \n \n \n {\"Contact Us\"}\n \n
\n \n )}\n {forgotPasswordVisible && (\n \n )}\n \n
\n
\n );\n}\n\nconst useFormInput = (initialValue) => {\n const [value, setValue] = useState(initialValue);\n const handleChange = (e) => {\n setValue(e.target.value);\n };\n return {\n value,\n onChange: handleChange,\n };\n};\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n height: \"100vh\",\n },\n image: {\n backgroundImage: \"url(dist/img/backgound.jpg)\",\n backgroundRepeat: \"no-repeat\",\n backgroundColor:\n theme.palette.type === \"light\"\n ? theme.palette.grey[50]\n : theme.palette.grey[900],\n backgroundSize: \"cover\",\n backgroundPosition: \"center\",\n },\n paper: {\n margin: theme.spacing(8, 4),\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n avatar: {\n margin: theme.spacing(1),\n backgroundColor: theme.palette.secondary.main,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n marginTop: theme.spacing(1),\n },\n submit: {\n margin: theme.spacing(3, 0, 2),\n },\n}));\n\nfunction Copyright() {\n return (\n \n {\"Copyright © \"}\n \n blumangoes\n {\" \"}\n {new Date().getFullYear()}\n {\".\"}\n \n );\n}\n\nexport default Login;\n","import React, { Component } from 'react';\n\nclass SideMenu extends Component {\n render() {\n return (\n
\n {/* Control Sidebar */}\n \n {/* /.control-sidebar */}\n
\n
\n\n );\n }\n}\n\nexport default SideMenu;","import React, { Component } from 'react';\nclass Counter extends Component {\n render() {\n console.log(this.props);\n const {counter,increment,decrement,reset} = this.props;\n return (\n
\n
{counter}
\n
\n \n
\n
\n \n
\n \n
\n );\n }\n}\nexport default Counter;","\nimport React, { Component } from 'react';\nimport {connect} from 'react-redux';\nimport {helloRedux} from '../../../Actions/actions';\nimport { QRCode } from 'react-qrcode-logo';\nvar Barcode = require('react-barcode');\nclass UserdDetails extends Component {\n \n render() {\n console.log(this.props);\n return (\n
\n this.props.helloRedux() } value=\"Test Redux\"/>\n \n \n
\n );\n }\n} \n\nconst mapDispatchToProps = dispatch => {\n return {\n helloRedux: () => dispatch(helloRedux())\n }\n}\nconst mapStateToProps = state => {\n{\nreturn state \n}\n}\nconst userComp = connect(\n mapStateToProps,\n mapDispatchToProps\n)(UserdDetails)\n\nexport default userComp;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// import React, { Component } from 'react';\n\n// import {connect} from 'react-redux'\n// import {fetchItem} from '../../../Actions/GET_ACTIONS/ORDER_GET_ACTIONS/GetOrderActions';\n// class UserdDetails extends Component {\n// constructor(props) {\n// super(props);\n// } \n// componentWillMount()\n// {\n// // this.props.fetchItem()\n// }\n\n// render() {\n// console.log(this.props);\n// var {fetchItem, dataItem} = this.props\n// const colorStyle = {\n// backgroundColor: '#000'\n// };\n// return (\n//
\n//

hello

\n//
\n// );\n// }}\n\n// function mapStateToProps(state) {\n\n// const { fetchItem, deleteItem } = state\n// // const { dataItem } = fetchItem\n \n// return {\n// // dataItem \n// }\n// }\n \n// export default connect(mapStateToProps)(UserdDetails)","// fetchUSERS.js\n\n// import {fetchUSERSPending, fetchUSERSSuccess, fetchUSERSError} from './index';\n\n// function fetchUSERS() {\n// return dispatch => {\n// dispatch(fetchUSERSPending());\n// fetch('https://jsonplaceholder.typicode.com/todos/1')\n// .then(res => res.json())\n// .then(res => {\n// if(res.error) {\n// throw(res.error);\n// }\n// dispatch(fetchUSERSSuccess(res.userId);\n// return res.userId;\n// })\n// .catch(error => {\n// dispatch(fetchUSERSError(error));\n// })\n// }\n// }\n\nexport const helloRedux=()=>(dispatch:any)=>{\nalert(\"You Are set to Global Functions Using Redux\")\n}\n\n// function requestFetchItem(idItem) {\n// return {\n// type: FETCH_ITEM_REQUEST,\n// isFetching: true,\n// isAuthenticated: false,\n// idItem\n// }\n// }\n//export default fetchUSERS;\n","import React, { Component } from 'react';\n\nclass DashboardSearch extends Component {\n render() {\n return (\n
\n \n {/* DIRECT CHAT */}\n
\n
\n

Direct Search

\n
\n \n \n
\n
\n {/* /.box-header */}\n
\n\n
\n {/* Order Search */}\n Order Search\n
\n \n \n \n \n
\n\n PO Search\n
\n \n \n \n \n
\n \n GRN Search\n
\n \n \n \n \n
\n\n SRN Search\n
\n \n \n \n \n
\n
\n\n
\n {/* /.box-body */}\n
\n\n\n\n\n
\n {/* /.box-footer*/}\n
\n {/*/.direct-chat */}\n \n {/* /.col */}\n \n
\n );\n }\n}\n\nexport default DashboardSearch;","import React,{Component,useRef} from 'react';\nimport {Typeahead} from 'react-bootstrap-typeahead'; \nimport 'react-bootstrap-typeahead/css/Typeahead.css';\nimport './style.css';\nimport {Configuration} from '../../../Configuration';\n\nconst TOKEN = Configuration.USER_TOKEN.TOKEN;\nconst API_URL = Configuration.SYSTEM_SETTINGS.API_URL;\n\nconst autoCompleteInputEl = React.createRef(Typeahead);\n \nconst ToggleButton = ({ isOpen, onClick }) => (\n {\n // Prevent input from losing focus.\n e.preventDefault();\n }}>\n {isOpen ? '▲' : '▼'}\n \n);\n\n\nexport default class AutoCompleteInput extends Component {\n \n constructor(props) {\n super(props);\n this.myRef = React.createRef(Typeahead);\n this.state= {\n cmbData:[{\"DisplayId\":1,\"DisplayName\":\"No Data\"}],\n mainQuery:\"\", \n count:\"15\",\n token:\"\"\n };\n }\n\n componentDidMount(){ \n let qry = \"formname=\"+this.props.frmNm+\"&queryname=\"+this.props.quryNm+\"&count=\"+this.state.count+\"&searchtext=&filter=&db=\"+this.props.db+\" \" ;\n \n const config = {\n \n headers: {\n 'Content-Type': 'application/json',\n 'Auth-Token' : TOKEN\n }\n }\n\n \n fetch(API_URL+'/api/v1/Common/GetFillComboQuery?'+qry+'',config)\n .then(res => res.json())\n .then((data) => {\n this.setState({\n cmbData:data.data\n })\n })\n .catch();\n }\n \n\nonInputChangeHandler(evt){\n \n let SearchKey = evt;\n\n let qry = \"formname=\"+this.props.frmNm+\"&queryname=\"+this.props.quryNm+\"&count=\"+this.state.count+\"&searchtext=\"+SearchKey.trim()+\"&filter=&db=\"+this.props.db+\" \" ;\n \n const config = {\n \n headers: {\n 'Content-Type': 'application/json',\n 'Auth-Token' : TOKEN\n }\n }\n\n \n fetch(API_URL+'/api/v1/Common/GetFillComboQuery?'+qry+'',config)\n .then(res => res.json())\n .then((data) => {\n this.setState({\n cmbData:data.data\n })\n })\n .catch();\n\n}\n\n \n\nrender() {\n\n const {onAfterSelect,onBlur,id,isValid,placeholder,defauldVal} = this.props\n return ( \n \n\n{({ isMenuShown, toggleMenu }) => (\n toggleMenu()} />\n )}\n\n \n );\n}};\n\n","import React, { Component, useRef } from 'react';\nimport { Typeahead } from 'react-bootstrap-typeahead';\nimport 'react-bootstrap-typeahead/css/Typeahead.css';\nimport './style.css';\nimport { Configuration, getDataTable } from '../../../Configuration';\n\nconst TOKEN = Configuration.USER_TOKEN.TOKEN;\nconst API_URL = Configuration.SYSTEM_SETTINGS.API_URL;\n\nconst autoCompleteInputEl = React.createRef(Typeahead);\n\nconst ToggleButton = ({ isOpen, onClick }) => (\n {\n // Prevent input from losing focus.\n e.preventDefault();\n }}>\n {isOpen ? '▲' : '▼'}\n \n);\n\n\nexport default class AutoCompleteInput extends Component {\n\n constructor(props) {\n super(props);\n this.myRef = React.createRef(Typeahead);\n this.state = {\n cmbData: [{ \"DisplayId\": 1, \"DisplayName\": \"No Data\" }],\n mainQuery: \"\",\n count: \"15\",\n token: \"\"\n };\n }\n\n async componentDidMount() {\n let filter = \"\";\n if (this.props.filter1 !== \"\" && this.props.filter1 !== undefined) {\n filter = \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"''\"\n }\n if (this.props.filter2 !== \"\" && this.props.filter2 !== undefined) {\n filter = \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"'' and \" + this.props.filter2 + \"=''\" + this.props.filterId2 + \"''\"\n }\n let que = \"EXEC USP_FILL_COMBO_QUERY @formname=\" + this.props.frmNm + \",@queryname=\" + this.props.quryNm + \",@count=\" + this.state.count + \",@searchtext='',@filter='\"+filter+\"' \";\n if (this.props.tblname) {\n que += \", @TABLE=\" + this.props.tblname\n }\n let dt = await getDataTable(que)\n this.setState({ cmbData: dt })\n }\n\n\n async onInputChangeHandler(evt) {\n\n let SearchKey = evt;\n let filter = \"\";\n if (this.props.filter1 !== \"\" && this.props.filter1 !== undefined) {\n filter = \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"''\"\n }\n if (this.props.filter2 !== \"\" && this.props.filter2 !== undefined) {\n filter = \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"'' and \" + this.props.filter2 + \"=''\" + this.props.filterId2 + \"''\"\n }\n let que = \"EXEC USP_FILL_COMBO_QUERY @formname=\" + this.props.frmNm + \",@queryname=\" + this.props.quryNm + \",@count=\" + this.state.count + \",@searchtext='\" + SearchKey.trim() + \"',@filter='\"+filter+\"' \";\n if (this.props.tblname) {\n que += \", @TABLE=\" + this.props.tblname\n }\n let dt = await getDataTable(que)\n this.setState({ cmbData: dt })\n }\n\n async onInputFocus(evt) {\n let SearchKey = evt.target.value;\n let filter = \"\";\n if (this.props.filter1 !== \"\" && this.props.filter1 !== undefined) {\n filter = \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"''\"\n }\n if (this.props.filter2 !== \"\" && this.props.filter2 !== undefined) {\n filter = \" and \" + this.props.filter1 + \"=''\" + this.props.filterId1 + \"'' and \" + this.props.filter2 + \"=''\" + this.props.filterId2 + \"''\"\n }\n let que = \"EXEC USP_FILL_COMBO_QUERY @formname=\" + this.props.frmNm + \",@queryname=\" + this.props.quryNm + \",@count=\" + this.state.count + \",@searchtext='\" + SearchKey.trim() + \"',@filter='\"+filter+\"' \";\n if (this.props.tblname) {\n que += \", @TABLE=\" + this.props.tblname\n }\n let dt = await getDataTable(que)\n this.setState({ cmbData: dt })\n }\n\n\n\n render() {\n\n const { onAfterSelect, onBlur, id, isValid, placeholder, defaultSelected } = this.props;\n return (\n \n\n {({ isMenuShown, toggleMenu }) => (\n toggleMenu()} />\n )}\n\n \n );\n }\n};\n\n","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique } from '../../Configuration';\nimport '../../ORDER/OrderMaster/style.css'\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad'\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\nimport { Spin } from 'antd'\nimport 'sweetalert2/src/sweetalert2.scss'\n\n\n\n\nexport default class frmValueAliasAction extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loading1: false,\n AID: '',\n ANAME: '',\n dvalue: '',\n portalid: '',\n pattribute: '',\n dtnew: ''\n };\n }\n async componentDidMount() {\n let data = this.props.dt\n if (data['#AttributeID'] !== null) {\n this.setState({\n dtnew: data,\n AID: data['#AttributeID'],\n ANAME: data.AttributeName,\n dvalue: data['Portal Value'],\n portalid: data['#portalID'],\n pattribute: data['Portal Attribute']\n })\n }\n else {\n this.setState({\n dtnew: data,\n dvalue: data['Portal Value'],\n portalid: data['#portalID'],\n pattribute: data['Portal Attribute']\n })\n }\n\n }\n\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n }\n\n\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible, adata: [], ImageData: [], Pid1: [] });\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async AddValue() {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO ADD NEW VALUE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO' })\n if (st.isConfirmed) {\n let data = this.props.dt\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Attribute\": this.state.AID },\n { \"Portal Value\": this.state.dvalue }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n\n let que = \"Select * from optionValue where AtrributeID = \" + this.state.AID + \" and OptValue = '\" + this.state.dvalue + \"' and BlockID = \"+ data['#BlockID']\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'info',\n title: 'Value Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n\n let que2 = \"INSERT INTO optionValue (AtrributeID, OptValue, logid, logdate,BlockID) output inserted.UID VALUES (\" + this.state.AID + \",'\" + this.state.dvalue + \"',\" + Configuration.USER_ID + \",CAST(getdate() as date),\" + data['#BlockID'] + \")\"\n let rs2 = await getDataTable(que2)\n if (rs2.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n dttopss['#valueID'] = rs2[0].UID\n dttopss['Value'] = this.state.dvalue\n dttopss['#AttributeID'] = this.state.AID\n dttopss['AttributeName'] = this.state.ANAME\n //dttopss['AliasName'] = this.state.pattribute \n\n this.props.ChngFn(dttopss)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n }\n else {\n return false;\n }\n\n\n }\n\n async UpdateReverseAliasing() {\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Value\": this.state.PAVALUE },\n { \"Portal\": this.state.portalid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n var Que = \"EXEC SaveAttributeValue_Alias @ValueID=\" + dttopss['#valueID'] + \", @portalID='\" + rs0[0].PortalName + \"' , @loginID=\" + Configuration.USER_ID + \", @aliasName='\" + this.state.PAVALUE + \"' , @Header='\" + this.state.PANAME + \"'\"\n Que += \" , @templateID =\" + this.props.templateid\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n\n dttopss['AliasValue'] = this.state.PAVALUE\n dttopss['Portal Attribute'] = this.state.PANAME\n dttopss['Portal Value'] = this.state.PAVALUE\n this.props.ChngFn(dttopss)\n await this.setModal2Visible(false)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n\n\n }\n\n async UpdateAliasing() {\n if (this.props.rvrs === 1) {\n await this.UpdateReverseAliasing()\n return;\n }\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Value\": this.state.AVID },\n { \"Portal\": this.state.portalid },\n { \"Alias Value\": this.state.dvalue }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n\n let quechk = \"select UID, PortalHeader + ' - ' + AliasedValue AS DT from OptionValueAliasing where ValueID = \" + this.state.AVID + \" and PortalHeader = '\" + dttopss['Portal Attribute'] + \"' and \"\n quechk += \" TemplateID = \" + this.props.templateid + \" and ValueID <> 23554\"\n let rschk = await getDataTable(quechk)\n if (rschk.length > 0) {\n let st = await Swal.fire({\n title: 'ALREADY ALISED WITH ' + rschk[0]['DT'] + ' .
ARE YOU SURE WANT TO OVERWRITE DATA ?',\n showCancelButton: true,\n confirmButtonText: 'YES',\n cancelButtonText: 'NO'\n })\n if (st.isConfirmed) { }\n else {\n return false;\n }\n }\n\n var Que = \"EXEC SaveAttributeValue_Alias @ValueID=\" + this.state.AVID + \", @portalID='\" + rs0[0].PortalName + \"' , @loginID=\" + Configuration.USER_ID + \", @aliasName='\" + this.state.dvalue + \"' , @Header='\" + dttopss['Portal Attribute'] + \"'\"\n Que += \" , @templateID =\" + this.props.templateid\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n dttopss['#valueID'] = this.state.AVID\n dttopss['Value'] = this.state.AVALUE\n dttopss['#AttributeID'] = this.state.AID\n dttopss['AttributeName'] = this.state.ANAME\n //dttopss['AliasName'] = this.state.pattribute \n dttopss['AliasValue'] = this.state.dvalue\n this.props.ChngFn(dttopss)\n await this.setModal2Visible(false)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n }\n\n async SaveAttributeWithMap() {\n let MandatoryArray = [\n { \"Attribute Name\": this.state.dAttribute }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n let Que = \"Select * from AttributeMaster where AttributeName = '\" + this.state.dAttribute + \"' and dis = 0\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'info',\n title: 'Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n return false;\n }\n let Query = \"INSERT INTO AttributeMaster (AttributeName, LoginID, Logdate,Dis,Validation) Output Inserted.AID VALUES ('\" + this.state.dAttribute + \"',\" + Configuration.USER_ID + \",cast(getdate() as date),0,'option')\"\n let res = await getDataTable(Query)\n if (res[0].AID) {\n let Query1 = \"INSERT INTO AttributeCategoryMap (CatID, AttributeID, loginID, logdate) VALUES (1,\" + res[0].AID + \",\" + Configuration.USER_ID + \",cast(getdate() as date))\"\n let res1 = await getDataTable(Query1)\n this.setState({ loading: false })\n Swal.fire({\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n this.setState({ loading: false })\n Swal.fire({\n icon: 'error',\n title: 'Some Issue Occured',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async DeleteValue() {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO' })\n if (st.isConfirmed) {\n let que = \" Delete from optionValue output deleted.UID where UID = \" + this.state.AVID\n let rs = await getDataTable(que)\n let que0 = \" Delete from OptionValueAliasing output deleted.UID where ValueID = \" + this.state.AVID\n let rs1 = await getDataTable(que0)\n Swal.fire({\n icon: 'success',\n title: 'Successfully Deleted',\n showConfirmButton: false,\n timer: 1500\n })\n }\n return false;\n }\n\n\n\n render() {\n return (\n
\n this.setModal2Visible(true)} style={{ color: 'blue' }} >\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={false}\n maskClosable={true}\n footer={null}\n >\n
\n {\n this.props.rvrs === 0 &&\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n }\n
\n {\n this.props.rvrs === 0 &&\n
\n
\n \n
\n \n
\n
\n\n
\n *\n this.onAfterSelect(e, \"AID\", \"ANAME\")}\n defaultSelected={[{ DisplayId: this.state.AID, DisplayName: this.state.ANAME }]}\n >\n
\n
\n *\n this.onAfterSelect(e, \"AVID\", \"AVALUE\")}\n >\n
\n
\n }\n {\n this.props.rvrs === 1 &&\n
\n
\n *\n this.onAfterSelect(e, \"PAID\", \"PANAME\")}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PAVID\", \"PAVALUE\")}\n >\n
\n
\n }\n
\n \n
\n \n
\n
\n {\n this.props.rvrs === 0 &&\n
\n \n
\n \n
\n
\n }\n {this.state.AVID !== '' && this.state.AVID !== undefined && this.props.rvrs === 0 &&\n\n
\n \n
\n \n
\n
\n }\n {\n this.props.rvrs === 1 &&\n
\n \n
\n

\n \n
\n
\n }\n
\n
\n \n
\n )\n }\n\n\n\n}","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique } from '../../Configuration';\nimport '../../ORDER/OrderMaster/style.css'\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad'\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\nimport { Spin } from 'antd'\nimport 'sweetalert2/src/sweetalert2.scss'\n\n\n\n\nexport default class frmUpdateValueAliasAction extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loading1: false,\n AID: '',\n ANAME: '',\n dvalue: '',\n portalid: '',\n pattribute: '',\n dtnew: ''\n };\n }\n async componentDidMount() {\n let data = this.props.dt\n if (data['#AttributeID'] !== null) {\n this.setState({\n dtnew: data,\n AID: data['#AttributeID'],\n ANAME: data.AttributeName,\n dvalue: data['Portal Value'],\n portalid: data['#portalID'],\n pattribute: data['Portal Attribute']\n })\n }\n else {\n this.setState({\n dtnew: data,\n dvalue: data['Portal Value'],\n portalid: data['#portalID'],\n pattribute: data['Portal Attribute']\n })\n }\n\n }\n\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n }\n\n\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible, adata: [], ImageData: [], Pid1: [] });\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async AddValue() {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO ADD NEW VALUE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO' })\n if (st.isConfirmed) {\n let data = this.props.dt\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Attribute\": this.state.AID },\n { \"Portal Value\": this.state.dvalue }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n\n let que = \"Select * from optionValue where AtrributeID = \" + this.state.AID + \" and OptValue = '\" + this.state.dvalue + \"'\"\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'info',\n title: 'Value Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n\n let que2 = \"INSERT INTO optionValue (AtrributeID, OptValue, logid, logdate,BlockID) output inserted.UID VALUES (\" + this.state.AID + \",'\" + this.state.dvalue + \"',\" + Configuration.USER_ID + \",CAST(getdate() as date),\" + data['#BlockID'] + \")\"\n let rs2 = await getDataTable(que2)\n if (rs2.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n dttopss['#valueID'] = rs2[0].UID\n dttopss['Value'] = this.state.dvalue\n dttopss['#AttributeID'] = this.state.AID\n dttopss['AttributeName'] = this.state.ANAME\n //dttopss['AliasName'] = this.state.pattribute \n\n this.props.ChngFn(dttopss)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n }\n else {\n return false;\n }\n\n\n }\n\n async UpdateReverseAliasing() {\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Value\": this.state.PAVALUE },\n { \"Portal\": this.state.portalid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n var Que = \"EXEC SaveAttributeValue_Alias @ValueID=\" + dttopss['#valueID'] + \", @portalID='\" + rs0[0].PortalName + \"' , @loginID=\" + Configuration.USER_ID + \", @aliasName='\" + this.state.PAVALUE + \"' , @Header='\" + this.state.PANAME + \"'\"\n Que += \" , @templateID =\" + this.props.templateid\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n\n dttopss['AliasValue'] = this.state.PAVALUE\n dttopss['Portal Attribute'] = this.state.PANAME\n dttopss['Portal Value'] = this.state.PAVALUE\n this.props.ChngFn(dttopss)\n await this.setModal2Visible(false)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n\n }\n\n async UpdateAliasing() {\n if (this.props.rvrs === 1) {\n await this.UpdateReverseAliasing()\n return;\n }\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Value\": this.state.AVID },\n { \"Portal\": this.state.portalid },\n { \"Alias Value\": this.state.dvalue }\n\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n\n // var Que1 = \"EXEC SaveAttribute_AliasNEW @attributeID=\" + this.state.AID + \", @portalID='\" + rs0[0].PortalName + \"' , @loginID=\" + Configuration.USER_ID + \", @aliasName='\" + this.state.pattribute + \"'\"\n // let rs1 = await getDataTable(Que1)\n // console.log(rs1)\n\n // if (dttopss['AliasValue']) {\n // let queDel = \" Delete from OptionValueAliasing where ValueID =\"+ dttopss['#valueID'] + \" and AliasedValue = '\"+dttopss['AliasValue']+\"' and PortalID =\"+dttopss['#portalID']\n // let rsDel = await getDataTable(queDel)\n // }\n\n var Que = \"EXEC SaveAttributeValue_Alias @ValueID=\" + this.state.AVID + \", @portalID='\" + rs0[0].PortalName + \"' , @loginID=\" + Configuration.USER_ID + \", @aliasName='\" + this.state.dvalue + \"' , @Header='\" + dttopss['Portal Attribute'] + \"'\"\n Que += \" , @templateID =\" + this.props.templateid\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n dttopss['#valueID'] = this.state.AVID\n dttopss['Value'] = this.state.AVALUE\n dttopss['#AttributeID'] = this.state.AID\n dttopss['AttributeName'] = this.state.ANAME\n //dttopss['AliasName'] = this.state.pattribute \n dttopss['AliasValue'] = this.state.dvalue\n this.props.ChngFn(dttopss)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n }\n\n async SaveAttributeWithMap() {\n let MandatoryArray = [\n { \"Attribute Name\": this.state.dAttribute }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n let Que = \"Select * from AttributeMaster where AttributeName = '\" + this.state.dAttribute + \"' and dis = 0\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'info',\n title: 'Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n return false;\n }\n let Query = \"INSERT INTO AttributeMaster (AttributeName, LoginID, Logdate,Dis,Validation) Output Inserted.AID VALUES ('\" + this.state.dAttribute + \"',\" + Configuration.USER_ID + \",cast(getdate() as date),0,'option')\"\n let res = await getDataTable(Query)\n if (res[0].AID) {\n let Query1 = \"INSERT INTO AttributeCategoryMap (CatID, AttributeID, loginID, logdate) VALUES (1,\" + res[0].AID + \",\" + Configuration.USER_ID + \",cast(getdate() as date))\"\n let res1 = await getDataTable(Query1)\n this.setState({ loading: false })\n Swal.fire({\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n this.setState({ loading: false })\n Swal.fire({\n icon: 'error',\n title: 'Some Issue Occured',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async DeleteValue() {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO' })\n if (st.isConfirmed) {\n let que = \" Delete from optionValue output deleted.UID where UID = \" + this.state.AVID\n let rs = await getDataTable(que)\n let que0 = \" Delete from OptionValueAliasing output deleted.UID where ValueID = \" + this.state.AVID\n let rs1 = await getDataTable(que0)\n Swal.fire({\n icon: 'success',\n title: 'Successfully Deleted',\n showConfirmButton: false,\n timer: 1500\n })\n }\n return false;\n }\n\n\n\n render() {\n return (\n
\n this.setModal2Visible(true)} style={{ color: 'green' }} >\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={false}\n maskClosable={true}\n footer={null}\n >\n
\n {\n this.props.rvrs === 0 &&\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n }\n
\n {\n this.props.rvrs === 0 &&\n
\n
\n \n
\n \n
\n
\n\n
\n *\n this.onAfterSelect(e, \"AID\", \"ANAME\")}\n defaultSelected={[{ DisplayId: this.state.AID, DisplayName: this.state.ANAME }]}\n >\n
\n
\n *\n this.onAfterSelect(e, \"AVID\", \"AVALUE\")}\n >\n
\n
\n }\n {\n this.props.rvrs === 1 &&\n
\n
\n *\n this.onAfterSelect(e, \"PAID\", \"PANAME\")}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PAVID\", \"PAVALUE\")}\n >\n
\n
\n }\n
\n \n
\n \n
\n
\n {\n this.props.rvrs === 0 &&\n
\n \n
\n \n
\n
\n }\n {this.state.AVID !== '' && this.state.AVID !== undefined && this.props.rvrs === 0 &&\n\n
\n \n
\n \n
\n
\n }\n {\n this.props.rvrs === 1 &&\n
\n \n
\n

\n \n
\n
\n }\n
\n
\n \n
\n )\n }\n\n\n\n}","import { Modal, Button } from \"antd\";\nimport React, { Component } from \"react\";\nimport {\n Configuration,\n MandatoryFormFields,\n getDataTable,\n arrUnique,\n} from \"../../Configuration\";\nimport \"../../ORDER/OrderMaster/style.css\";\nimport AutoCompleteInput from \"../../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal, { swal } from \"sweetalert2/dist/sweetalert2.js\";\nimport { Spin } from \"antd\";\nimport \"sweetalert2/src/sweetalert2.scss\";\n\nexport default class frmMultipleValueAliasAction extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loading1: false,\n AID: \"\",\n ANAME: \"\",\n dvalue: \"\",\n portalid: \"\",\n pattribute: \"\",\n dtnew: \"\",\n templateid: 0\n };\n }\n async componentDidMount() {\n let data = this.props.dt;\n if (data[\"#AttributeID\"] !== null) {\n this.setState({\n dtnew: data,\n AID: data[\"#AttributeID\"],\n ANAME: data.AttributeName,\n dvalue: data[\"Portal Value\"],\n portalid: data[\"#portalID\"],\n pattribute: data[\"Portal Attribute\"],\n templateid: data['#ConsolidatedTemplate']\n });\n } else {\n this.setState({\n dtnew: data,\n dvalue: data[\"Portal Value\"],\n portalid: data[\"#portalID\"],\n pattribute: data[\"Portal Attribute\"],\n templateid: data['#ConsolidatedTemplate']\n });\n }\n }\n\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible, adata: [], ImageData: [], Pid1: [] });\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n async UpdateAliasing() {\n let dttopss = this.state.dtnew;\n let MandatoryArray = [\n { Value: this.state.AVID },\n { Portal: this.state.portalid },\n { \"Alias Value\": this.state.dvalue },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n var que0 =\n \"SELECT PortalName FROM Portals WHERE (PID = \" +\n this.state.portalid +\n \")\";\n let rs0 = await getDataTable(que0);\n\n var Que =\n \"EXEC frmMultipleValueAction_SaveMultipleAlias @ValueID=\" +\n this.state.AVID +\n \", @portalID='\" +\n rs0[0].PortalName +\n \"' , @loginID=\" +\n Configuration.USER_ID +\n \", @aliasName='\" +\n this.state.dvalue +\n \"' , @Header='\" +\n dttopss[\"Portal Attribute\"] +\n \"'\";\n Que += \" , @templateID ='\" + this.props.dt['#ConsolidatedTemplate'] + \"'\"\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n Swal.fire({\n icon: \"success\",\n title: \"Updated Successfully\",\n showConfirmButton: false,\n timer: 1500,\n });\n dttopss[\"#valueID\"] = this.state.AVID;\n dttopss[\"Value\"] = this.state.AVALUE;\n dttopss[\"#AttributeID\"] = this.state.AID;\n dttopss[\"AttributeName\"] = this.state.ANAME;\n //dttopss['AliasName'] = this.state.pattribute\n dttopss[\"AliasValue\"] = this.state.dvalue;\n this.props.ChngFn(dttopss);\n await this.setModal2Visible(false);\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"Some Error Occured\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n }\n\n async UpdateReverseAliasing() {\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Value\": this.state.PAVALUE },\n { \"Portal\": this.state.portalid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n var Que = \"EXEC SaveAttributeValue_Alias @ValueID=\" + dttopss['#valueID'] + \", @portalID='\" + rs0[0].PortalName + \"' , @loginID=\" + Configuration.USER_ID + \", @aliasName='\" + this.state.PAVALUE + \"' , @Header='\" + this.state.PANAME + \"'\"\n Que += \" , @templateID =\" + this.props.templateid\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n\n dttopss['AliasValue'] = this.state.PAVALUE\n dttopss['Portal Attribute'] = this.state.PANAME\n dttopss['Portal Value'] = this.state.PAVALUE\n this.props.ChngFn(dttopss)\n await this.setModal2Visible(false)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n\n\n }\n\n async SaveAttributeWithMap() { }\n\n async AddValue() {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO ADD NEW VALUE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO' })\n if (st.isConfirmed) {\n let data = this.props.dt\n let dttopss = this.state.dtnew\n let MandatoryArray = [\n { \"Attribute\": this.state.AID },\n { \"Portal Value\": this.state.dvalue }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\n let rs0 = await getDataTable(que0)\n\n let que = \"Select * from optionValue where AtrributeID = \" + this.state.AID + \" and OptValue = '\" + this.state.dvalue + \"' and BlockID = \"+ data['#BlockID']\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'info',\n title: 'Value Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n\n let que2 = \"INSERT INTO optionValue (AtrributeID, OptValue, logid, logdate,BlockID) output inserted.UID VALUES (\" + this.state.AID + \",'\" + this.state.dvalue + \"',\" + Configuration.USER_ID + \",CAST(getdate() as date),\" + data['#BlockID'] + \")\"\n let rs2 = await getDataTable(que2)\n if (rs2.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n dttopss['#valueID'] = rs2[0].UID\n dttopss['Value'] = this.state.dvalue\n dttopss['#AttributeID'] = this.state.AID\n dttopss['AttributeName'] = this.state.ANAME\n //dttopss['AliasName'] = this.state.pattribute \n\n this.props.ChngFn(dttopss)\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'Some Error Occured',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n }\n else {\n return false;\n }\n\n\n}\n\n render() {\n return (\n
\n this.setModal2Visible(true)}\n style={{ color: \"blue\" }}\n >\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={false}\n maskClosable={true}\n footer={null}\n >\n
\n {this.props.rvrs === 0 && (\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n )}\n
\n {this.props.rvrs === 0 && (\n
\n
\n \n
\n \n
\n
\n\n
\n \n *\n \n this.onAfterSelect(e, \"AID\", \"ANAME\")\n }\n defaultSelected={[\n {\n DisplayId: this.state.AID,\n DisplayName: this.state.ANAME,\n },\n ]}\n >\n
\n
\n \n *\n \n this.onAfterSelect(e, \"AVID\", \"AVALUE\")\n }\n >\n
\n
\n )}\n {this.props.rvrs === 1 && (\n
\n
\n \n *\n \n this.onAfterSelect(e, \"PAID\", \"PANAME\")\n }\n >\n
\n
\n \n *\n \n this.onAfterSelect(e, \"PAVID\", \"PAVALUE\")\n }\n >\n
\n
\n )}\n
\n \n
\n \n
\n
\n {\n this.props.rvrs === 0 &&\n
\n \n
\n \n
\n
\n }\n {/* {this.state.AVID !== '' && this.state.AVID !== undefined && this.props.rvrs === 0 &&\n\n
\n \n
\n \n
\n
\n } */}\n {\n this.props.rvrs === 1 &&\n
\n \n
\n

\n \n
\n
\n }\n
\n
\n \n
\n );\n }\n}\n","import { Modal, Button } from 'antd';\r\nimport React, { Component } from 'react';\r\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique } from '../../Configuration';\r\nimport '../../ORDER/OrderMaster/style.css'\r\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\r\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad'\r\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\r\nimport { Spin } from 'antd'\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\n\r\n\r\nexport default class frmValueAliasImportAction extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n modal1Visible: false,\r\n modal2Visible: false,\r\n loading1: false,\r\n AID: '',\r\n ANAME: '',\r\n dvalue: '',\r\n portalid: '',\r\n pattribute: '',\r\n dtnew: ''\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let data = this.props.dt\r\n debugger\r\n if (data['#AttributeID'] !== null) {\r\n this.setState({\r\n dtnew: data,\r\n AID: data['#AttributeID'],\r\n ANAME: data.AttributeName,\r\n dvalue: data['TemplateValue'],\r\n portalid: data['#portalID'],\r\n pattribute: data['Portal Attribute']\r\n })\r\n }\r\n else {\r\n this.setState({\r\n dtnew: data,\r\n dvalue: data['TemplateValue'],\r\n portalid: data['#portalID'],\r\n pattribute: data['Portal Attribute']\r\n })\r\n }\r\n }\r\n\r\n onAfterSelect(selectedOptions, id, name, index = 0) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName\r\n })\r\n }\r\n else {\r\n this.setState({\r\n [id]: '',\r\n [name]: ''\r\n })\r\n }\r\n }\r\n\r\n\r\n setModal1Visible(modal1Visible) {\r\n this.setState({ modal1Visible });\r\n }\r\n setModal2Visible(modal2Visible) {\r\n this.setState({ modal2Visible, adata: [], ImageData: [], Pid1: [] });\r\n }\r\n myChangeHandler = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n }\r\n\r\n async AddValue() {\r\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO ADD NEW VALUE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO' })\r\n if (st.isConfirmed) {\r\n let data = this.props.dt\r\n let dttopss = this.state.dtnew\r\n let MandatoryArray = [\r\n { \"Attribute\": this.state.AID },\r\n { \"Portal Value\": this.state.dvalue }\r\n ]\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\r\n let rs0 = await getDataTable(que0)\r\n\r\n let que = \"Select * from optionValue where AtrributeID = \" + this.state.AID + \" and OptValue = '\" + this.state.dvalue + \"' and BlockID = \"+ data['#BlockID']\r\n let rs = await getDataTable(que)\r\n if (rs.length > 0) {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Value Already Exist',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return false;\r\n }\r\n\r\n let que2 = \"INSERT INTO optionValue (AtrributeID, OptValue, logid, logdate,BlockID) output inserted.UID VALUES (\" + this.state.AID + \",'\" + this.state.dvalue + \"',\" + Configuration.USER_ID + \",CAST(getdate() as date),\" + data['#BlockID'] + \")\"\r\n let rs2 = await getDataTable(que2)\r\n if (rs2.length > 0) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Updated Successfully',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n dttopss['#valueID'] = rs2[0].UID\r\n dttopss['Value'] = this.state.dvalue\r\n dttopss['#AttributeID'] = this.state.AID\r\n dttopss['AttributeName'] = this.state.ANAME\r\n //dttopss['AliasName'] = this.state.pattribute \r\n\r\n this.props.ChngFn(dttopss)\r\n }\r\n else {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Some Error Occured',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return false;\r\n }\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n async UpdateReverseAliasing() {\r\n let dttopss = this.state.dtnew\r\n let MandatoryArray = [\r\n { \"Value\": this.state.PAVALUE },\r\n { \"Portal\": this.state.portalid }\r\n ]\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n var que0 = \"SELECT PortalName FROM Portals WHERE (PID = \" + this.state.portalid + \")\"\r\n let rs0 = await getDataTable(que0)\r\n var Que = \"EXEC SaveAttributeValue_Alias @ValueID=\" + dttopss['#valueID'] + \", @portalID='\" + rs0[0].PortalName + \"' , @loginID=\" + Configuration.USER_ID + \", @aliasName='\" + this.state.PAVALUE + \"' , @Header='\" + this.state.PANAME + \"'\"\r\n Que += \" , @templateID =\" + this.props.templateid\r\n let rs = await getDataTable(Que)\r\n if (rs.length > 0) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Updated Successfully',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n\r\n dttopss['AliasValue'] = this.state.PAVALUE\r\n dttopss['Portal Attribute'] = this.state.PANAME\r\n dttopss['Portal Value'] = this.state.PAVALUE\r\n this.props.ChngFn(dttopss)\r\n await this.setModal2Visible(false)\r\n }\r\n else {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Some Error Occured',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return false;\r\n }\r\n }\r\n\r\n async UpdateAliasing() {\r\n let dttopss = this.state.dtnew\r\n let MandatoryArray = [\r\n { \"Value\": this.state.AVID },\r\n { \"Alias Value\": this.state.dvalue }\r\n ]\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n\r\n var Que = \"EXEC SaveImportValueAliasing @ValueID =\" + this.state.AVID + \", @aliasName='\" + this.state.dvalue + \"' , @loginID=\" + Configuration.USER_ID + \", @Header='\" + dttopss['Portal Attribute'] + \"'\"\r\n Que += \" , @templateID =\" + this.props.templateid\r\n let rs = await getDataTable(Que)\r\n if (rs.length > 0) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Updated Successfully',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n dttopss['#valueID'] = this.state.AVID\r\n dttopss['Value'] = this.state.AVALUE\r\n dttopss['#AttributeID'] = this.state.AID\r\n dttopss['AttributeName'] = this.state.ANAME\r\n //dttopss['AliasName'] = this.state.pattribute \r\n dttopss['AliasValue'] = this.state.dvalue\r\n this.props.ChngFn(dttopss)\r\n await this.setModal2Visible(false)\r\n debugger\r\n }\r\n else {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Some Error Occured',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return false;\r\n }\r\n }\r\n\r\n async SaveAttributeWithMap() {\r\n let MandatoryArray = [\r\n { \"Attribute Name\": this.state.dAttribute }\r\n ]\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n this.setState({ loading: false })\r\n return false;\r\n }\r\n let Que = \"Select * from AttributeMaster where AttributeName = '\" + this.state.dAttribute + \"' and dis = 0\"\r\n let rs = await getDataTable(Que)\r\n if (rs.length > 0) {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Already Exist',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n this.setState({ loading: false })\r\n return false;\r\n }\r\n let Query = \"INSERT INTO AttributeMaster (AttributeName, LoginID, Logdate,Dis,Validation) Output Inserted.AID VALUES ('\" + this.state.dAttribute + \"',\" + Configuration.USER_ID + \",cast(getdate() as date),0,'option')\"\r\n let res = await getDataTable(Query)\r\n if (res[0].AID) {\r\n let Query1 = \"INSERT INTO AttributeCategoryMap (CatID, AttributeID, loginID, logdate) VALUES (1,\" + res[0].AID + \",\" + Configuration.USER_ID + \",cast(getdate() as date))\"\r\n let res1 = await getDataTable(Query1)\r\n this.setState({ loading: false })\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Successfully Saved',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n }\r\n else {\r\n this.setState({ loading: false })\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Some Issue Occured',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n }\r\n }\r\n\r\n async DeleteValue() {\r\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO' })\r\n if (st.isConfirmed) {\r\n let que = \" Delete from optionValue output deleted.UID where UID = \" + this.state.AVID\r\n let rs = await getDataTable(que)\r\n let que0 = \" Delete from OptionValueAliasing output deleted.UID where ValueID = \" + this.state.AVID\r\n let rs1 = await getDataTable(que0)\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'Successfully Deleted',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n }\r\n return false;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n this.setModal2Visible(true)} style={{ color: 'blue' }} >\r\n this.setModal2Visible(false)}\r\n onCancel={() => this.setModal2Visible(false)}\r\n destroyOnClose={false}\r\n maskClosable={true}\r\n footer={null}\r\n >\r\n
\r\n {\r\n this.props.rvrs === 0 &&\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n {\r\n this.props.rvrs === 0 &&\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n *\r\n this.onAfterSelect(e, \"AID\", \"ANAME\")}\r\n defaultSelected={[{ DisplayId: this.state.AID, DisplayName: this.state.ANAME }]}\r\n >\r\n
\r\n
\r\n *\r\n this.onAfterSelect(e, \"AVID\", \"AVALUE\")}\r\n >\r\n
\r\n
\r\n }\r\n {\r\n this.props.rvrs === 1 &&\r\n
\r\n
\r\n *\r\n this.onAfterSelect(e, \"PAID\", \"PANAME\")}\r\n >\r\n
\r\n
\r\n *\r\n this.onAfterSelect(e, \"PAVID\", \"PAVALUE\")}\r\n >\r\n
\r\n
\r\n }\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n this.props.rvrs === 0 &&\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n {this.state.AVID !== '' && this.state.AVID !== undefined && this.props.rvrs === 0 &&\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n {\r\n this.props.rvrs === 1 &&\r\n
\r\n \r\n
\r\n

\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}","import React from \"react\"; \nimport '../../../ORDER/OrderMaster/style.css'\nimport \"antd/dist/antd.css\";\nimport \"./AntdTable.css\";\nimport { Table, Button, Space, Select, Spin,Checkbox,Dropdown, Image,Menu } from \"antd\";\nimport { Resizable } from \"react-resizable\";\nimport Highlighter from \"react-highlight-words\";\nimport { DownloadOutlined, SearchOutlined,EllipsisOutlined } from \"@ant-design/icons\"; \nimport { json2xlsx } from \"../../../Configuration\";\nimport Moment from \"moment\";\nimport ReactDragListView from \"react-drag-listview\";\nimport ALIS from './../../../IMAGE/MODAL/frmValueAliasAction'\nimport UPDATEALIS from './../../../IMAGE/MODAL/frmUpdateValueAliasAction'\nimport MULTIPLEALIS from './../../../IMAGE/MODAL/frmMultipleValueAliasAction'\nimport ALISIMPORT from './../../../IMAGE/MODAL/frmValueAliasImportAction'\nconst { Option } = Select;\nconst currentDate = Moment().format(\"DD-MMM-YYYY hh:mm:ss\");\nlet state = {\n bordered: true,\n title: undefined,\n showHeader: true,\n footer: false,\n scroll: {},\n hasData: true,\n tableLayout: \"fixed\",\n top: \"none\",\n bottom: \"bottomCenter\",\n xScroll: \"scroll\",\n yScroll: true,\n ellipsis: true, \n scrollToFirstRowOnChange: true,\n initialColumns: [],\n};\n\nconst scroll = { y: 800, x: 800 };\nconst ResizableTitle = (props) => {\n const { onResize, width, ...restProps } = props;\n\n if (!width) {\n return ;\n }\n\n return (\n {\n e.stopPropagation();\n }}\n />\n }\n onResize={onResize}\n draggableOpts={{ enableUserSelectHack: false }}\n >\n \n \n );\n};\n\nfunction beginsWithFloat(val) {\n val = parseFloat(val);\n return !isNaN(val);\n}\n\nclass AntdTable extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n columnWidth: 300,\n selectedRows: [],\n checkedColumns: [],\n columns: [],\n searchText: \"\",\n searchedColumn: \"\",\n columnValues: {},\n loading: false,\n initialColumns:[],\n visibleMenuSettings: false,\n };\n\n const that = this;\n this.dragProps = {\n onDragEnd(fromIndex, toIndex) {\n const columns = [...that.state.columns];\n const item = columns.splice(fromIndex, 1)[0];\n columns.splice(toIndex, 0, item);\n that.setState({\n columns\n });\n },\n nodeSelector: \"th\",\n handleSelector: \".dragHandler\",\n ignoreSelector: \"react-resizable-handle\"\n };\n }\n \n columnWidth = 10;\n components = {\n header: {\n cell: ResizableTitle,\n },\n };\n Child = React.createRef();\n data = [];\n cols=[];\n\n handleAll = (values, setSelectedKeys, column) => {\n if (values.includes(\"all\")) {\n let list = [];\n this.state.columnValues[column].map((key, index) => {\n if (list.indexOf(key) === -1) {\n list.push(key);\n }\n });\n setSelectedKeys([...list]);\n } else {\n setSelectedKeys([...values]);\n }\n };\n\n getColumnSearchProps = (dataIndex) => ({\n filterDropdown: ({\n setSelectedKeys,\n selectedKeys,\n confirm,\n clearFilters,\n }) => (\n
\n \n this.handleSearch(selectedKeys, confirm, dataIndex)}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n this.handleReset(clearFilters)}\n size=\"small\"\n style={{ width: 90 }}\n >\n Cancel\n \n \n {\n this.searchInput = node;\n }}\n allowClear\n showArrow\n style={{ width: 188, marginTop: \"6%\", display: \"block\" }}\n placeholder={`Search ${dataIndex}`}\n value={selectedKeys}\n //onChange={values => setSelectedKeys([...values])}\n onChange={(values) =>\n this.handleAll(values, setSelectedKeys, dataIndex)\n }\n >\n \n {this.state.columnValues[dataIndex].sort().map((key, index) => {\n return ;\n })}\n \n
\n ),\n filterIcon: (filtered) => (\n \n ),\n onFilter: (value, record) =>\n record[dataIndex] !== undefined && record[dataIndex] !== null\n ? String(record[dataIndex]).toLowerCase() === String(value).toLowerCase()\n : false, \n \n onFilterDropdownVisibleChange: (visible) => {\n if (visible) {\n //setTimeout(() => this.searchInput.select(), 100);\n }\n },\n render: (text) =>\n this.state.searchedColumn === dataIndex ? (\n \n ) : (\n text\n ), \n });\n\n\n handleSearch = (selectedKeys, confirm, dataIndex) => {\n confirm();\n this.setState({\n searchText: selectedKeys[0],\n searchedColumn: dataIndex,\n });\n };\n\n handleReset = (clearFilters) => {\n clearFilters();\n this.setState({ searchText: \"\" });\n };\n\n handleResize = (index) => (e, { size }) => {\n this.setState(({ columns }) => {\n const nextColumns = [...columns];\n nextColumns[index] = {\n ...nextColumns[index],\n width: size.width,\n };\n return { columns: nextColumns };\n });\n };\n\n handleDelete = (row,index) => {\n const dataSource = [...this.data];\n dataSource.splice(index, 1);\n for (let index = 0; index < dataSource.length; index++) {\n dataSource[index][\"key\"] = index;\n } \n this.data= dataSource;\n this.props.DeleteFn(row);\n this.forceUpdate();\n };\n\n GetParentColumms(data) {\n let cols = Object.keys(data[0]);\n //let cols = Object.keys(data[0]);\n let values = {}\n cols.map((col, index) => {\n data.map((item, pos) => {\n // if(!values[col].includes(item[col])){\n if (values[col] && values[col].indexOf(item[col]) === -1) {\n values[col].push(item[col]);\n }\n else if (!values[col]) {\n values[col] = [item[col]]\n }\n })\n })\n let d = [];\n\n let col = {\n title: () => {\n return (\n
\n SRNO  {\" \"}\n {this.props.exportXL === \"true\" && (\n }\n size=\"small\"\n onClick={this.exportExcel.bind(this)}\n />\n )}\n
\n );\n },\n width: 60,\n render: (text, record, index) =>\n this.data.length >= 1 ? (\n \n {index + 1}  \n {this.props.Delete === \"true\" &&\n this.props.DeleteFn !== undefined && (\n this.handleDelete(record,index)}\n />\n )}\n   \n {this.props.EditRow === \"true\" && (\n this.props.EditRowFn(record)}\n >
\n )}\n {this.props.PostData === \"true\" && (\n this.props.PostDataFn(record)}\n >Post To SFTP
\n )}\n {this.props.PostApiAmazon === \"true\" && (\n this.props.PostApiAmazonFn(record)}\n >Post API Amazon
\n )} \n  \n {this.props.ShowRow == \"true\" && (\n this.props.ShowRowFn(record)}\n >
\n )}\n {this.props.EditBlock === \"true\" && (\n \n )}\n   \n {this.props.EditBlockImport === \"true\" && (\n \n )}\n   \n {this.props.EditBlockReverse === \"true\" && (\n \n )}   \n \n {this.props.downloadRow === \"true\" && (\n this.props.downloadRowFn(record)}\n >
\n )}\n   \n {this.props.EditMultiBlock === \"true\" && (\n \n )}\n \n ) : null,\n };\n\n d.push(col);\n\n cols.map((col, index) => {\n let c;\n if (col === \"Image\" || col === \"IMAGE\") {\n c = {\n title: {col.toUpperCase()},\n dataIndex: col,\n width: 60,\n render: (text, record) => {\n return (\n \n );\n },\n }\n d.push(c);\n }\n if (col === \"Status\") {\n c = {\n title: col.toUpperCase(),\n dataIndex: col,\n width: 100,\n ...this.getColumnSearchProps(col),\n render(text, record) {\n if (text.includes(\"False\")) {\n return {\n props: {\n style: { background: \"#FA5D5D\" },\n },\n children:
{text}
,\n };\n }\n else{\n return {\n props: {\n style: { background: \"#B9FEF5\" },\n },\n children:
{text}
,\n };\n } \n },\n };\n d.push(c);\n }\n\n if (col !== \"key\" && col !== \"GRNNo\" && col !== \"PurNo\" && col !== \"Action\" && col !== \"Status\" && !col.startsWith('#') && col !== \"Image\" && col !== \"IMAGE\") {\n c = {\n title: {col.toUpperCase()},\n dataIndex: col,\n width: 110,\n sorter: {\n compare: (a, b) => {\n a = beginsWithFloat(data[0][col]) === true ? a[col] || 0 : a[col] || \"\";\n b = beginsWithFloat(data[0][col]) === true ? b[col] || 0 : b[col] || \"\";\n return beginsWithFloat(data[0][col]) === true ? a[col] - b[col] : a.length - b.length;\n },\n multiple: cols.length - 1,\n },\n ellipsis: state.ellipsis,\n ...this.getColumnSearchProps(col),\n };\n d.push(c);\n }\n });\n this.setState({ columnValues: values })\n return d;\n }\n\n async componentDidMount() { \n if (this.props.data.length > 0) {\n this.setState({\n columns: await this.GetParentColumms(this.props.data),\n initialColumns: await this.GetParentColumms(this.props.data),\n }); \n this.data = this.props.data;\n }\n this.forceUpdate();\n }\n \n async exportExcel() {\n this.setState({\n loading:true\n })\n \n await json2xlsx(this.data, \"Export.xlsx\"+ \"_\" + currentDate + \"_\" + \"1.xlsx\");\n // const xls = new xlsExport(this.data, \"Export\");\n // xls.exportToXLS(\"StatusReport.xls\");\n this.setState({\n loading:false\n })\n }\n\n handleVisibleChange = (flag) => {\n this.setState({ visibleMenuSettings: flag });\n };\n\n onChange = (e) => {\n var checkedColumns = this.state.checkedColumns;\n if (e.target.checked) {\n checkedColumns = checkedColumns.filter((id) => {\n return id !== e.target.id;\n });\n } else if (!e.target.checked) {\n checkedColumns.push(e.target.id);\n }\n\n var filtered = this.state.initialColumns;\n for (var i = 0; i < checkedColumns.length; i++)\n filtered = filtered.filter((el) => {\n return el.dataIndex !== checkedColumns[i];\n });\n\n this.setState({ columns: filtered, checkedColumns: checkedColumns });\n };\n \n render() {\n let d = this.props.data;\n if (this.props.data.length > 0) {\n for (let index = 0; index < this.props.data.length; index++) {\n d[index][\"key\"] = index;\n }\n }\n this.data = d;\n const columns = this.state.columns.map((col, index) => ({\n ...col,\n onHeaderCell: (column) => ({\n width: column.width,\n onResize: this.handleResize(index),\n }),\n }));\n\n const rowSelection = {\n onChange: (selectedRowKeys, selectedRows) => {\n this.props.SelectedFn(selectedRows);\n },\n getCheckboxProps: (record) => ({\n disabled: record.name === \"Disabled User\",\n // Column configuration not to be checked\n name: record.name,\n }),\n };\n\n const menu = (\n \n \n \n {this.state.initialColumns.sort().map((col, i) => {\n if (i > 0) {\n return (\n \n \n {col.dataIndex}\n \n \n );\n }\n })}\n \n \n \n );\n\n return (\n
\n \n
\n \n
\n
\n\n \n \n \n \n \n (record.HurdleDoneSts !== 0 &&\n record.HurdleDoneSts !== undefined &&\n \"hurdleDone-row\") ||\n (record.HurdleSts !== 0 &&\n record.HurdleDoneSts !== undefined &&\n \"hurdleOpen-row\") ||\n (record.enabled === \"true\" && \"disabled-row\")\n }\n />\n \n \n );\n }\n}\n\nexport default AntdTable;\n","import { Modal, Button } from 'antd';\r\n\r\nimport React, { Component } from 'react';\r\nimport AutoCompleteInput from '../../src/Actions/Controls/AutoComplete/autoComplete';\r\nimport AutoCompletemulti from '../../src/Actions/Controls/AutoComplete/autoCompleteMultiple';\r\nimport AutoCompleteCascad from '../../src/Actions/Controls/AutoComplete/autoComplete.cascad';\r\nimport '../ORDER/OrderMaster/style.css'\r\nimport { Configuration,MandatoryFormFields,getDataTable } from '../Configuration';\r\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\nlet groupList = [];\r\nexport default class AttributeGroup extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n loginId: 0,\r\n modal1Visible: false,\r\n modal2Visible: false,\r\n GroupName: \"\",\r\n GroupCode: \"\",\r\n };\r\n }\r\n\r\n\r\n async componentDidMount() {\r\n this.setState({\r\n loginId: Configuration.USER_ID,\r\n });\r\n await this.fillPortaldata(this);\r\n }\r\n\r\n async fillPortaldata() {\r\n let data = [];\r\n let Query = \"select groupName, GroupCode from AttributeGroupMaster where groupdis = 0\"\r\n data = await getDataTable(Query)\r\n groupList = data\r\n this.forceUpdate();\r\n }\r\n\r\n setModal2Visible(modal2Visible) {\r\n this.setState({ modal2Visible });\r\n }\r\n\r\n myChangeHandler = (event) => { \r\n this.setState({ [event.target.name]: event.target.value });\r\n this.forceUpdate();\r\n }\r\n\r\n async SavePortal() {\r\n\r\n let MandatoryArray = [\r\n { \"Group Name\": this.state.GroupName }\r\n , { \"Group Code\": this.state.GroupCode }\r\n ]\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n let data = []; \r\n let Que = \"Select * from AttributeGroupMaster where groupName = '\" + this.state.GroupName + \"'\" \r\n let dt = await getDataTable(Que)\r\n \r\n if (dt.length > 0) {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'Group Already Exist',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return;\r\n }\r\n\r\n let Query = \" INSERT INTO AttributeGroupMaster( groupName, GroupCode, groupdis, LoginId, LogDate) output inserted.groupName VALUES ('\" + this.state.GroupName + \"','\"+this.state.GroupCode+\"',\" + \"0,\" + this.state.loginId+\",cast(getdate() as date))\"\r\n let rs = await getDataTable(Query) \r\n if (rs) {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'success',\r\n title: 'Successfully Saved',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n }\r\n else {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'warning',\r\n title: 'Group Not Saved',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n }\r\n await this.fillPortaldata(this);\r\n this.forceUpdate();\r\n\r\n }\r\n\r\n myChangeHandler = (event) => {\r\n let nam = event.target.name;\r\n let val = event.target.value;\r\n this.setState({ [nam]: val });\r\n\r\n this.forceUpdate();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n\r\n this.setModal2Visible(false)}\r\n onCancel={() => this.setModal2Visible(false)}\r\n destroyOnClose={true}\r\n maskClosable={false}\r\n footer = {null}\r\n >\r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n *\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {groupList.map((fac, key) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
SN.GroupNameGroupCode
 {key + 1}{fac.groupName}{fac.GroupCode}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}","import React, { Component } from \"react\";\nimport AutoCompletemulti from \"../Actions/Controls/AutoComplete/autoCompleteMultiple\";\nimport {\n Configuration,\n getDataTable,\n MandatoryFormFields,\n} from \"../Configuration\";\nimport AntD from \"../Actions/Controls/Table/AntDTable\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport { Modal, Spin } from \"antd\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport AttributeGroup from \"./frmAttributeGroup\"\nexport default class frmAttributeMasterWithBlock extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n fielddata: [],\n catid1: \"\",\n catid2: [],\n val: \"\",\n fldname: \"\",\n options: [],\n groupid1: 0,\n groupname1: '',\n updateData: false,\n updateid: \"\",\n Pid: [],\n loading: false,\n attributeSaved: false,\n };\n }\n async componentDidMount() {\n this.setState({\n loginId: Configuration.USER_ID,\n });\n await this.getdata();\n }\n async getdata() {\n this.setState({ loading: true });\n let Que = \"exec GetAttributeMasterList\";\n let rs = await getDataTable(Que);\n this.setState({\n fielddata: rs,\n updateid: \"\",\n updateData: false,\n fldname: \"\",\n discription1: \"\",\n discription2: \"\",\n discription3: \"\",\n Pid: [],\n catid2: [],\n loading: false,\n });\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions\n });\n } else {\n this.setState({\n [name]: \"\"\n });\n }\n }\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n\n if (id === \"AID\") {\n let aids =\n selectedOptions.length > 0 ? selectedOptions[0].DisplayId : \"0\";\n let Que =\n \"Select Description1, Description2 from AttributeDescriptionMaster where (AID = \" +\n aids +\n \" AND BlockID = \" +\n this.state.catid1 +\n \")\";\n\n let rs = await getDataTable(Que);\n\n if (rs.length > 0) {\n this.setState({\n discription1: rs[0].Description1,\n discription2: rs[0].Description2,\n });\n } else {\n this.setState({\n discription1: \"\",\n discription2: \"\",\n });\n }\n }\n }\n\n async SavePortal() {\n this.setState({ loading: true, attributeSaved: false });\n let MandatoryArray = [\n { \"Attribute Name\": this.state.fldname },\n { \"Value Type\": this.state.val },\n { \"Block\": this.state.catid2 },\n { \"Group Name\": this.state.groupid1 }\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n if (this.state.val === \"Option\" && this.state.options.length <= 0) {\n Swal.fire({\n icon: \"error\",\n title: \"PLEASE ADD VALUES FOR OPTION TYPE\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return;\n }\n\n\n let Que =\n \"Select * from AttributeMaster where AttributeName = '\" +\n this.state.fldname +\n \"' and dis = 0\";\n let rs = await getDataTable(Que);\n\n if (rs.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Already Exist\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return;\n }\n let Query =\n \"INSERT INTO AttributeMaster (AttributeName, groupid, LoginID, Logdate,Dis,Validation) Output Inserted.AID VALUES ('\" +\n this.state.fldname +\n \"',\" + this.state.groupid1 +\n \",\" + this.state.loginId +\n \",cast(getdate() as date),0,'\" +\n this.state.val +\n \"')\";\n\n // \"INSERT INTO AttributeMaster (AttributeName, LoginID, Logdate,Dis,Validation,Dailogue1,Dailogue2,Dailogue3) Output Inserted.AID VALUES ('\" + this.state.fldname + \"',\" + this.state.loginId + \",cast(getdate() as date),0,'\" + this.state.val + \"','\" + this.state.discription1 + \"','\" + this.state.discription2 + \"','\" + this.state.discription3 + \"')\"\n let response = await getDataTable(Query);\n if (response[0].AID) {\n await getDataTable(\"delete from AttributeCategoryMap where AttributeID = \" + response[0].AID)\n for (let i = 0; i < this.state.catid2.length; i++) {\n let element = this.state.catid2[i];\n let Query1 = \"INSERT INTO AttributeCategoryMap (CatID, AttributeID, loginID, logdate) VALUES (\" + element['DisplayId'] + \",\" + response[0].AID + \",\" + this.state.loginId + \",cast(getdate() as date))\"\n await getDataTable(Query1)\n }\n this.setState({ loading: false })\n }\n\n let res = response;\n if (res[0].AID) {\n if (this.state.options.length > 0 && this.state.val === \"option\") {\n for (let i = 0; i < this.state.options.length; i++) {\n let que1 =\n \"INSERT INTO optionValue (AtrributeID, OptValue, logid, logdate) output inserted.OptValue VALUES (\" +\n res[0].AID +\n \",'\" +\n this.state.options[i].name +\n \"',\" +\n this.state.loginId +\n \",cast(getdate() as date))\";\n await getDataTable(que1);\n\n }\n }\n if (this.state.Pid.length > 0) {\n let Que3 =\n \"Delete from AttributeParentDetails where AttributeID = \" +\n res[0].AID;\n await getDataTable(Que3);\n for (let i = 0; i < this.state.Pid.length; i++) {\n let que2 =\n \"INSERT INTO AttributeParentDetails (AttributeID, ParentID, LoginID, LogDate) output inserted.APID VALUES (\" +\n res[0].AID +\n \",\" +\n this.state.Pid[i].DisplayId +\n \",\" +\n this.state.loginId +\n \",cast(getdate() as date))\";\n await getDataTable(que2);\n\n }\n }\n Swal.fire({\n position: \"top-end\",\n icon: \"success\",\n title: \"Successfully Saved\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({\n fldname: \"\",\n discription1: \"\",\n discription2: \"\",\n discription3: \"\",\n Pid: [],\n catid2: [],\n groupid1: \"\",\n loading: false,\n attributeSaved: true,\n });\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"warning\",\n title: \"Attribute Not Saved\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n\n await this.getdata(this);\n this.forceUpdate();\n }\n\n async SaveDescription() {\n\n this.setState({ loading: true, attributeSaved: true });\n let MandatoryArray = [\n { Block: this.state.catid1 },\n { AttributeID: this.state.AID },\n { Description1: this.state.discription1 },\n { Description2: this.state.discription2 },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n\n\n let que1 =\n \"Select * from AttributeDescriptionMaster where (AID = \" +\n this.state.AID +\n \" AND BlockID = \" +\n this.state.catid1 +\n \")\";\n\n let rs1 = await getDataTable(que1);\n if (rs1.length > 0) {\n\n let queDel =\n \"Delete from AttributeDescriptionMaster where AID = \" +\n this.state.AID +\n \" AND BlockID = \" +\n this.state.catid1;\n await getDataTable(queDel);\n }\n\n let que11 =\n \"INSERT INTO AttributeDescriptionMaster (BlockID, AID, Description1, Description2,loginID, logdate) Output Inserted.AID VALUES (\" +\n this.state.catid1 +\n \", \" +\n this.state.AID +\n \",'\" +\n this.state.discription1 +\n \"','\" +\n this.state.discription2 +\n \"',\" +\n this.state.loginId +\n \", getdate())\";\n\n let response = await getDataTable(que11);\n if (response.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Successfully Saved\",\n showConfirmButton: false,\n timer: 1500,\n });\n await this.getdata();\n } else {\n alert(\"Some Error Occurred\");\n this.setState({ loading: false });\n }\n\n this.setState({ loading: false, attributeSaved: false });\n }\n\n async deleteRow(e) {\n\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"20036\") {\n let st = window.confirm(\"Are you sure want to delete ?\");\n if (!st) {\n return false;\n }\n this.setState({ loading: true });\n\n let Que =\n \"Update AttributeMaster set Dis = 1 output inserted.AID where AttributeName = '\" +\n e.AttributeName +\n \"' and Validation='\" +\n e[\"Value type\"] +\n \"'\";\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Successfully Deleted\",\n showConfirmButton: false,\n timer: 1500,\n });\n await this.getdata();\n } else {\n alert(\"Some Error Occurred\");\n this.setState({ loading: false });\n }\n } else {\n alert(\"Only admin allow to delete Attribute\");\n return;\n }\n }\n\n async EditRow(e) {\n this.setState({ loading: true });\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"20036\" || this.state.loginId === \"6\") {\n let dt1 = await getDataTable(\n \"SELECT AttributeParentDetails.ParentID AS DisplayId, AttributeMaster.AttributeName AS DisplayName FROM AttributeParentDetails INNER JOIN AttributeMaster ON AttributeParentDetails.ParentID = AttributeMaster.AID WHERE CatDis = 0 and (AttributeParentDetails.AttributeID = \" +\n e[\"#AID\"] +\n \")\"\n );\n if (!dt1) {\n dt1 = [];\n }\n let dt3 = await getDataTable(\n \"SELECT BlockMaster.CategoryID AS DisplayId, BlockMaster.BlockName AS DisplayName FROM AttributeCategoryMap INNER JOIN BlockMaster ON BlockMaster.CategoryID = AttributeCategoryMap.CatID WHERE (AttributeCategoryMap.AttributeID = \" +\n e[\"#AID\"] +\n \")\"\n );\n if (!dt3) {\n dt3 = [];\n }\n let dt2 = await getDataTable(\"SELECT a.groupID, groupName FROM AttributeMaster a INNER JOIN AttributeGroupMaster ag ON a.groupID = ag.groupid WHERE (a.AID = \" + e[\"#AID\"] + \")\")\n if (dt2.length > 0) {\n this.setState({\n groupid1: dt2[0]['groupID'],\n groupname1: dt2[0]['groupName']\n })\n }\n this.setState({\n val: e[\"Value type\"],\n fldname: e.AttributeName,\n catid2: dt3,\n updateData: true,\n updateid: e[\"#AID\"],\n Pid: dt1,\n loading: false\n })\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"Only Admin Can edit Attribute\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n }\n\n async UpdateAttribute() {\n this.setState({ loading: true });\n let rs0 = [];\n let que0 =\n \"SELECT AID FROM AttributeMaster WHERE (AttributeName = N'\" +\n this.state.fldname +\n \"') and dis = 0 and AID not in (\" +\n this.state.updateid +\n \")\";\n rs0 = await getDataTable(que0);\n\n if (rs0.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Attribute Name Already Used\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n let Que =\n \"UPDATE AttributeMaster SET AttributeName ='\" +\n this.state.fldname +\n \"', Validation = '\" +\n this.state.val +\n \"', groupid = '\" +\n this.state.groupid1 +\n \"' output inserted.AID where AID = \" +\n this.state.updateid;\n let rs = await getDataTable(Que);\n if (rs[0].AID) {\n await getDataTable(\"delete from AttributeCategoryMap where AttributeID = \" + rs[0].AID)\n for (let i = 0; i < this.state.catid2.length; i++) {\n let element = this.state.catid2[i];\n let Query1 = \"INSERT INTO AttributeCategoryMap (CatID, AttributeID, loginID, logdate) VALUES (\" + element['DisplayId'] + \",\" + rs[0].AID + \",\" + this.state.loginId + \",cast(getdate() as date))\"\n await getDataTable(Query1)\n }\n this.setState({ loading: false })\n }\n if (rs.length > 0) {\n if (this.state.options.length > 0 && this.state.val === \"option\") {\n for (let i = 0; i < this.state.options.length; i++) {\n let que10 =\n \"Select * FROM optionValue WHERE (AtrributeID = \" +\n rs[0].AID +\n \") and OptValue = '\" +\n this.state.options[i].name +\n \"'\";\n let rs10 = await getDataTable(que10);\n if (rs10.length <= 0) {\n let que1 =\n \"INSERT INTO optionValue (AtrributeID, OptValue, logid, logdate) output inserted.OptValue VALUES (\" +\n rs[0].AID +\n \",'\" +\n this.state.options[i].name +\n \"',\" +\n this.state.loginId +\n \",cast(getdate() as date))\";\n await getDataTable(que1);\n\n }\n }\n }\n if (this.state.Pid.length > 0) {\n let Que3 =\n \"Delete from AttributeParentDetails where AttributeID = \" + rs[0].AID;\n await getDataTable(Que3);\n for (let i = 0; i < this.state.Pid.length; i++) {\n let que2 =\n \"INSERT INTO AttributeParentDetails (AttributeID, ParentID, LoginID, LogDate) output inserted.APID VALUES (\" +\n rs[0].AID +\n \",\" +\n this.state.Pid[i].DisplayId +\n \",\" +\n this.state.loginId +\n \",cast(getdate() as date))\";\n await getDataTable(que2);\n\n }\n }\n }\n Swal.fire({\n position: \"top-end\",\n icon: \"success\",\n title: \"Value Updated\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n await this.getdata();\n }\n async getRowData(e) {\n if (this.state.loginId === \"10\" || this.state.loginId === \"1\") {\n let rsst = await getDataTable(\n \"SELECT AttributAlias.aliasName, AttributeMaster.AttributeName, Portals.PortalName FROM AttributAlias INNER JOIN AttributeMaster ON AttributAlias.AttributeID = AttributeMaster.AID INNER JOIN Portals ON AttributAlias.PortalID = Portals.PID WHERE (AttributeMaster.AttributeName = '\" +\n e.AttributeName +\n \"')\"\n );\n if (Array.isArray(rsst)) {\n Modal.info({\n title: \"Aliasing Details\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n {rsst.map((value, index) => {\n return (\n
  • \n {value.AttributeName}-{value.aliasName}-\n {value.PortalName}\n
  • \n );\n })}\n
\n
\n ),\n });\n } else {\n return;\n }\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Not Allowed to Show Details\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n }\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

\n ATTRIBUTE MASTER\n \n

\n
\n {}\n
\n
\n\n
\n
\n \n
\n
\n \n *\n
\n \n
\n
\n
\n \n *\n
\n \n \n \n \n \n \n \n \n \n
\n
\n {/* \n \n
\n \n
\n
*/}\n\n
\n \n \n this.onAutoCOmpletMultiPleSelect(e, \"Pid\")\n }\n isValid={this.state.isValid}\n defauldVal={this.state.Pid}\n >\n
\n
\n \n this.onAfterSelect(e, \"groupid1\", \"groupname1\")}\n defaultSelected={[{ DisplayId: this.state.groupid1, DisplayName: this.state.groupname1 }]}\n >\n
\n
\n \n this.onAutoCOmpletMultiPleSelect(e, \"catid2\")}\n isValid={this.state.isValid}\n defauldVal={this.state.catid2}\n >\n \n
\n \n \n
\n \n
\n \n\n \n \n
\n \n
\n \n\n \n \n
\n\n
\n \n *\n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n *\n \n this.onAfterSelect(e, \"AID\", \"AName\")\n }\n isValid={this.state.isValid}\n >\n
\n\n
\n \n *\n
\n \n
\n
\n
\n \n *\n
\n \n
\n
\n \n \n
\n \n
\n \n \n\n
\n {\n this.state.fielddata !== undefined &&\n this.state.fielddata.length > 0 && (\n this.deleteRow(e)}\n EditRow=\"true\"\n EditRowFn={(e) => this.EditRow(e)}\n >\n )\n\n // this.getRowData(e)}\n // deleteRow1=\"YES\"\n // DeleteRowFn={(e) => this.deleteRow(e)}\n // EditRow=\"true\"\n // EditRowFn={(e) => this.EditRow(e)}\n // height='72vh'\n // data={this.state.fielddata}\n // id='fielddata'\n // exportXL=\"true\">\n // \n }\n
\n \n \n \n
\n \n );\n }\n}\n","import { Modal } from 'antd';\nimport React, { Component } from 'react';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique } from '../../Configuration';\n\nexport default class frmcreateValueAliasing extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n fldt: []\n };\n }\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n }\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible });\n }\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n }\n\n async saveAliasing() {\n let MandatoryArray = [\n { \"MASTER VALUE\": this.state.VAID },\n { \"PORTAL HEADER\": this.state.PANAME },\n { \"PORTAL VALUE\": this.state.PVALUE }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false })\n return false;\n }\n\n let que = \" EXEC FRMCREATEVALUEALIASING_SAVEVALUEALIASING @templateID = \" + this.props.templateID\n que += \" , @portalheader = '\" + this.state.PANAME + \"' , @ValueID = \" + this.state.VAID\n que += \" , @portalValue = '\" + this.state.PVALUE + \"' , @loginID = \" + this.state.loginId\ndebugger\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n await Swal.fire({\n icon: 'success',\n title: 'ALIAISNG UPDATED SUCCESSFULLY',\n showConfirmButton: false,\n timer: 1500\n })\n await this.setModal2Visible(false)\n }\n else {\n await Swal.fire({\n icon: 'info',\n title: 'SOME ERROR OCCURED',\n showConfirmButton: false,\n timer: 1500\n })\n }\n\n }\n\n render() {\n return (\n
\n this.setModal2Visible(true)}>CREATE ALIASING\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n this.onAfterSelect(e, \"AID\", \"ANAME\")}\n >\n
\n
\n *\n this.onAfterSelect(e, \"VAID\", \"VALUE\")}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PAID\", \"PANAME\")}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PAVID\", \"PVALUE\")}\n >\n
\n
\n \n
\n \n
\n
\n
\n \n
\n )\n }\n}","import React, { Component } from \"react\";\n//import xlsExport from 'xlsexport'\nimport {\n Configuration,\n exceltodb,\n MandatoryFormFields,\n getDataTable,\n json2xlsx,\n} from \"../Configuration\";\nimport AntD from \"../Actions/Controls/Table/AntDTable\";\nimport { Spin, Modal } from \"antd\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal, { swal } from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport VLAUEALSING from \"./MODAL/frmcreateValueAliasing\";\nconst dataBase = \"IMAGEDB\";\nlet files = \"\";\nexport default class frmValueAliasingMaster extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n visible: false,\n file: null,\n loading: false,\n aData: [],\n tptype: \"0\",\n options: [],\n stsdup: 0,\n AIDM: \"\",\n ANAME: \"\",\n mshow: 0,\n selectedrows: [],\n stsMandatory: 0,\n OnlyPending: 0,\n alisedAtbte: 0,\n merge: \"0\",\n ImportSheetId: \"\",\n ImportData: [],\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n }\n\n async UploadFile() {\n this.setState({\n loading: true,\n aData: [],\n stsdup: 0,\n OnlyPending: 0,\n stsMandatory: 0,\n });\n let MandatoryArray = [\n { Files: files },\n { portal: this.state.portalid },\n { BLOCK: this.state.catid1 },\n { TEMPLATE: this.state.tempId },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n let tblname = await exceltodb(files, dataBase, this.state.loginId);\n\n try {\n let que = `EXEC DATA_FOR_VALUE_ALIASING_NEW @tblname='${tblname}' , @loginid=${this.state.loginId} , @portalID=${this.state.portalid}`;\n console.log(que);\n let savedat = await getDataTable(que);\n console.log(savedat);\n\n let que10 = `EXEC DATA_FOR_VALUE_ALIASING_POP_UP @tblname='${tblname}' , @loginid=${this.state.loginId} , @portalID=${this.state.portalid} , @templateID=${this.state.tempId}`;\n let PopUpSp = await getDataTable(que10);\n\n debugger;\n console.log(PopUpSp);\n\n if (PopUpSp.length > 0) {\n this.setState({ loading: false });\n let result = await Swal.fire({\n title: `${PopUpSp.length} VALUE ARE MISSING. ARE YOU SURE WANT TO UPLOAD. IF YOU SELECT YES ,THESE MISSING VALUE AND THEIR ALAISING WILL BE PERMANETLY DELETED`,\n icon: \"warning\",\n showConfirmButton: true,\n showCancelButton: true,\n showDenyButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n denyButtonText: \"Generate Excel\",\n });\n\n if (result.isConfirmed) {\n this.setState({ loading: true });\n\n let st = JSON.stringify(PopUpSp);\n\n debugger;\n let que11 = `EXEC FrmValueAliasingDeleteValueSheetMismatch @tblname='${tblname}' , @loginid=${this.state.loginId} , @portalID=${this.state.portalid} , @templateID=${this.state.tempId}`;\n\n let DeleteData = await getDataTable(que11);\n console.log(DeleteData);\n debugger;\n let que1 = `EXEC UPDATEDATA_FOR_VALUEALIAS_NEW @onlyPending=${this.state.OnlyPending} ,@mandatory=${this.state.stsMandatory} ,@tblname='${tblname}' , @loginid=${this.state.loginId} , @portalID=${this.state.portalid} , @BlockID=${this.state.catid1} , @templateID=${this.state.tempId}`;\n let rs1 = await getDataTable(que1);\n console.log(rs1);\n\n if (rs1.length > 0) {\n this.setState({ loading: false, aData: rs1, tablename: tblname });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false, aData: [], tablename: tblname });\n }\n } else if (result.isDenied) {\n const filteredData = PopUpSp.map((item) => {\n // Create a new object with only the desired columns\n return {\n TEMPLATENAME: item.tamplatename,\n PORTALNAME: item.portalname,\n PORTALHEADER: item.portalHeader,\n PORTALVALUE: item.PortalValue,\n ATTRIBUTENAME: item.attributename,\n ALIASEDVALUE: item.optvalue,\n // Exclude portalid and template\n };\n });\n\n // Generate Excel with the filtered data\n await json2xlsx(filteredData, \"Mismatched Value list\");\n } else {\n Swal.fire({\n title: \"UPLOAD FAILED\",\n icon: \"warning\",\n });\n this.setState({ loading: false });\n }\n } else {\n this.setState({ loading: true });\n let que1 = `EXEC UPDATEDATA_FOR_VALUEALIAS_NEW @onlyPending=${this.state.OnlyPending} ,@mandatory=${this.state.stsMandatory} ,@tblname='${tblname}' , @loginid=${this.state.loginId} , @portalID=${this.state.portalid} , @BlockID=${this.state.catid1} , @templateID=${this.state.tempId}`;\n let rs1 = await getDataTable(que1);\n console.log(rs1);\n\n if (rs1.length > 0) {\n this.setState({ loading: false, aData: rs1, tablename: tblname });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false, aData: [], tablename: tblname });\n }\n }\n } catch (error) {\n // Handle any errors that might occur during execution\n console.error(error);\n }\n }\n\n async GetDataForImportAliasing() {\n this.setState({ loading: true });\n\n let MandatoryArray = [\n { BLOCK: this.state.catid1 },\n { TEMPLATE: this.state.ImportSheetId },\n ];\n\n let check = MandatoryFormFields(MandatoryArray);\n\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n\n let que =\n \"Exec FrmValueAliasing_ImportTemplate @templateID =\" +\n this.state.ImportSheetId +\n \",@blockID =\" +\n this.state.catid1;\n\n try {\n let rs = await getDataTable(que);\n debugger;\n if (rs.length > 0) {\n this.setState({ loading: false, ImportData: rs });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n\n // Handle the case where no data is found\n this.setState({ loading: false, ImportData: [] });\n }\n } catch (error) {\n // Handle any errors that occur during the data fetch\n console.error(\"Error fetching data:\", error);\n this.setState({ loading: false });\n }\n }\n\n async UpdateAliasing() {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n for (let i = 0; i < st.length; i++) {\n let ele = st[i];\n if (ele[\"#valueID\"]) {\n if (ele[\"AliasValue\"]) {\n // let queDel = \" Delete from OptionValueAliasing where ValueID =\"+ ele['#valueID'] + \" and AliasedValue = '\"+ele['AliasValue']+\"' and PortalID =\"+ele['#portalID']\n // let rsDel = await getDataTable(queDel)\n }\n this.setState({ loading: true });\n let quechk =\n \"select UID,PortalHeader + ' - ' + AliasedValue AS DT from OptionValueAliasing where ValueID = \" +\n ele[\"#valueID\"] +\n \" and PortalHeader = '\" +\n ele[\"Portal Attribute\"] +\n \"' and \";\n quechk +=\n \" TemplateID = \" + this.state.tempId + \" and ValueID <> 23554\";\n let rschk = await getDataTable(quechk);\n if (rschk.length > 0) {\n this.setState({ loading: false });\n let st = await Swal.fire({\n title:\n \"ALREADY ALISED WITH \" +\n rschk[0][\"DT\"] +\n \" .
ARE YOU SURE WANT TO OVERWRITE DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n } else {\n continue;\n }\n }\n this.setState({ loading: true });\n var Que =\n \"EXEC SaveAttributeValue_Alias @ValueID=\" +\n ele[\"#valueID\"] +\n \", @portalID='\" +\n this.state.portalname +\n \"' , @loginID=\" +\n this.state.loginId +\n \", @aliasName='\" +\n ele[\"Portal Value\"] +\n \"' , @Header='\" +\n ele[\"Portal Attribute\"] +\n \"'\";\n Que += \" , @templateID =\" + this.state.tempId;\n let rs = await getDataTable(Que);\n }\n }\n await this.updateData();\n }\n\n async UpdateAliasingImport() {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n for (let i = 0; i < st.length; i++) {\n let ele = st[i];\n if (ele[\"#valueID\"]) {\n if (ele[\"AliasValue\"]) {\n // let queDel = \" Delete from OptionValueAliasing where ValueID =\"+ ele['#valueID'] + \" and AliasedValue = '\"+ele['AliasValue']+\"' and PortalID =\"+ele['#portalID']\n // let rsDel = await getDataTable(queDel)\n }\n this.setState({ loading: true });\n let quechk =\n \"select UID,TemplateHeader + ' - ' + AliasedValue AS DT from ImportValueAlising where ValueID = \" +\n ele[\"#valueID\"] +\n \" and TemplateHeader = '\" +\n ele[\"Portal Attribute\"] +\n \"' and \";\n quechk +=\n \" TemplateID = \" +\n this.state.ImportSheetId +\n \" and ValueID <> 23554\";\n let rschk = await getDataTable(quechk);\n if (rschk.length > 0) {\n this.setState({ loading: false });\n let st = await Swal.fire({\n title:\n \"ALREADY ALISED WITH \" +\n rschk[0][\"DT\"] +\n \" .
ARE YOU SURE WANT TO OVERWRITE DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n } else {\n continue;\n }\n }\n this.setState({ loading: true });\n var Que =\n \"EXEC SaveImportValueAliasing @ValueID=\" +\n ele[\"#valueID\"] +\n \", @aliasName='\" +\n ele[\"TemplateValue\"] +\n \"', @loginID=\" +\n this.state.loginId +\n \" , @Header='\" +\n ele[\"Portal Attribute\"] +\n \"'\";\n Que += \" , @templateID =\" + this.state.ImportSheetId;\n let rs = await getDataTable(Que);\n }\n }\n await this.updateImportData();\n }\n\n async DeleteAliasing() {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n for (let i = 0; i < st.length; i++) {\n let ele = st[i];\n if (ele[\"AliasValue\"]) {\n let queDel =\n \" Delete from OptionValueAliasing output Deleted.UID where ValueID =\" +\n ele[\"#valueID\"] +\n \" and AliasedValue = '\" +\n ele[\"AliasValue\"] +\n \"' and PortalID =\" +\n ele[\"#portalID\"] +\n \" and PortalHeader = '\" +\n ele[\"Portal Attribute\"] +\n \"'\";\n queDel += \" and TemplateID =\" + this.state.tempId;\n let rsDel = await getDataTable(queDel);\n }\n }\n await this.updateData();\n }\n\n async updateData() {\n this.setState({ loading: true, aData: [] });\n //let s = document.getElementsByName('chkduplicate')\n let PrscName =\n \"UPDATEDATA_FOR_VALUEALIAS_NEW @onlyPending = \" +\n this.state.OnlyPending +\n \" , @mandatory =\" +\n this.state.stsMandatory +\n \" ,\";\n if (this.state.stsdup === 1) {\n PrscName = \"DATA_FOR_REVERSE_ALIASING\";\n }\n let que1 =\n \"EXEC \" +\n PrscName +\n \" @tblname='\" +\n this.state.tablename +\n \"' , @loginid =\" +\n this.state.loginId +\n \" , @portalID =\" +\n this.state.portalid +\n \" , @BlockID = \" +\n this.state.catid1 +\n \" ,@templateID =\" +\n this.state.tempId;\n que1 += \" , @onlyAlisedAtrbt =\" + this.state.alisedAtbte;\n let rs1 = await getDataTable(que1);\n if (rs1.length > 0) {\n this.setState({ loading: false, aData: rs1, selectedrows: [] });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false, aData: [], selectedrows: [] });\n }\n }\n\n async updateImportData() {\n this.setState({ loading: true, aData: [] });\n //let s = document.getElementsByName('chkduplicate')\n let que =\n \"Exec FrmValueAliasing_ImportTemplate @templateID =\" +\n this.state.ImportSheetId +\n \",@blockID =\" +\n this.state.catid1;\n let rs1 = await getDataTable(que);\n if (rs1.length > 0) {\n this.setState({ loading: false, ImportData: rs1, selectedrows: [] });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false, ImportData: [], selectedrows: [] });\n }\n }\n\n async selectedDataFN(e) {\n if (e.length > 0) {\n this.setState({ selectedrows: e });\n } else {\n this.setState({ selectedrows: [] });\n }\n }\n\n async EditRow(e) {\n console.log(e);\n let index = e.key;\n let st = this.state.aData;\n st[index] = e;\n this.setState({ aData: st });\n if (this.state.selectedrows.length > 0 && this.state.stsdup === 1) {\n await this.updateMultipleReverseAlising(e, this);\n }\n }\n\n async EditRowImport(e) {\n console.log(e);\n let index = e.key;\n let st = this.state.ImportData;\n st[index] = e;\n this.setState({ ImportData: st });\n if (this.state.selectedrows.length > 0 && this.state.stsdup === 1) {\n await this.updateMultipleReverseAlising(e, this);\n }\n }\n\n async updateMultipleReverseAlising(e) {\n let dt = this.state.selectedrows;\n for (let i = 0; i < dt.length; i++) {\n const ele = dt[i];\n\n // let quechk = \"select UID,PortalHeader + ' - ' + AliasedValue AS DT from OptionValueAliasing where ValueID = \" + ele['#valueID'] + \" and PortalHeader = '\" + ele['Portal Attribute'] + \"' and \"\n // quechk += \" TemplateID = \" + this.state.tempId + \" and ValueID <> 23554\"\n // let rschk = await getDataTable(quechk)\n // if (rschk.length > 0) {\n // let st = await Swal.fire({\n // title: 'ALREADY ALISED WITH ' + rschk[0]['DT'] + ' .
ARE YOU SURE WANT TO OVERWRITE DATA ?',\n // showCancelButton: true,\n // confirmButtonText: 'YES',\n // cancelButtonText: 'NO'\n // })\n // if (st.isConfirmed) { }\n // else {\n // continue;\n // }\n // }\n\n var Que =\n \"EXEC SaveAttributeValue_Alias @ValueID=\" +\n ele[\"#valueID\"] +\n \", @portalID='\" +\n this.state.portalname +\n \"' , @loginID=\" +\n this.state.loginId +\n \", @aliasName='\" +\n e[\"Portal Value\"] +\n \"' , @Header='\" +\n e[\"Portal Attribute\"] +\n \"'\";\n Que += \" , @templateID =\" + this.state.tempId;\n let rs = await getDataTable(Que);\n }\n await this.updateData();\n }\n\n deleteRow(e) {\n let st = this.state.aData;\n this.setState({ aData: [] });\n let index = e.key;\n st.splice(index, 1);\n this.setState({ aData: st });\n this.forceUpdate();\n }\n\n deleteRowImport(e) {\n let st = this.state.ImportData;\n this.setState({ ImportData: [] });\n let index = e.key;\n st.splice(index, 1);\n this.setState({ ImportData: st });\n this.forceUpdate();\n }\n\n hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display == \"block\") {\n document.getElementById(id).style.display = \"none\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-plus\";\n } else {\n document.getElementById(id).style.display = \"block\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n }\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n };\n\n async alwdreverseAliasing(e) {\n if (e.target.checked) {\n this.setState({ stsdup: 1 });\n } else {\n this.setState({ stsdup: 0 });\n }\n //await this.updateData()\n }\n\n async alwdOnlyAlisedAtrbte(e) {\n if (e.target.checked) {\n this.setState({ alisedAtbte: 1 });\n } else {\n this.setState({ alisedAtbte: 0 });\n }\n }\n\n async alwdMandatory(e) {\n if (e.target.checked) {\n this.setState({ stsMandatory: 1 });\n } else {\n this.setState({ stsMandatory: 0 });\n }\n //await this.updateData()\n }\n\n async OnlyPendingSel(e) {\n if (e.target.checked) {\n this.setState({ OnlyPending: 1 });\n } else {\n this.setState({ OnlyPending: 0 });\n }\n //await this.updateData()\n }\n\n async UpdateAliasingToNull() {\n let st = await Swal.fire({\n title: \"ARE YOU SURE WANT TO UPDATE NULL DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n this.setState({ loading: true, aData: [] });\n let que1 =\n \"EXEC UPDATEDATA_FOR_VALUEALIAS_NEW @mandatory =\" +\n this.state.stsMandatory +\n \" ,@tblname='\" +\n this.state.tablename +\n \"' , @loginid =\" +\n this.state.loginId +\n \" , @portalID =\" +\n this.state.portalid;\n que1 +=\n \" , @BlockID =\" +\n this.state.catid1 +\n \" , @templateID =\" +\n this.state.tempId;\n let rs1 = await getDataTable(que1);\n\n que1 = \"\";\n que1 +=\n \" EXEC frmValueAlisingMaster_UpdateAlisingToNullValues @tblName ='\" +\n this.state.tablename +\n \"' , @loginID =\" +\n this.state.loginId;\n let rs = await getDataTable(que1);\n\n let que2 =\n \"EXEC UPDATEDATA_FOR_VALUEALIAS_NEW @mandatory =\" +\n this.state.stsMandatory +\n \" ,@tblname='\" +\n this.state.tablename +\n \"' , @loginid =\" +\n this.state.loginId +\n \" , @portalID =\" +\n this.state.portalid;\n que2 +=\n \" , @BlockID =\" +\n this.state.catid1 +\n \" , @templateID =\" +\n this.state.tempId;\n let rs2 = await getDataTable(que2);\n\n this.setState({ loading: false, aData: rs2 });\n } else {\n return false;\n }\n }\n\n async UpdateReverseAliasingToNull() {\n let st = await Swal.fire({\n title: \"ARE YOU SURE WANT TO UPDATE NULL DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n this.setState({ loading: true, aData: [] });\n let que1 =\n \"EXEC UPDATEDATA_FOR_VALUEALIAS_NEW @mandatory =\" +\n this.state.stsMandatory +\n \" ,@tblname='\" +\n this.state.tablename +\n \"' , @loginid =\" +\n this.state.loginId +\n \" , @portalID =\" +\n this.state.portalid;\n que1 +=\n \" , @BlockID =\" +\n this.state.catid1 +\n \" , @templateID =\" +\n this.state.tempId;\n let rs1 = await getDataTable(que1);\n\n que1 = \"\";\n que1 +=\n \" EXEC frmValueAlisingMaster_UpdateReverseAlsingToNull @tblName ='\" +\n this.state.tablename +\n \"' , @loginID =\" +\n this.state.loginId +\n \" , @TemplateID = \" +\n this.state.tempId;\n let rs = await getDataTable(que1);\n\n let que2 =\n \"EXEC UPDATEDATA_FOR_VALUEALIAS_NEW @mandatory =\" +\n this.state.stsMandatory +\n \" ,@tblname='\" +\n this.state.tablename +\n \"' , @loginid =\" +\n this.state.loginId +\n \" , @portalID =\" +\n this.state.portalid;\n que2 +=\n \" , @BlockID =\" +\n this.state.catid1 +\n \" , @templateID =\" +\n this.state.tempId;\n let rs2 = await getDataTable(que2);\n\n this.setState({ loading: false, aData: rs2 });\n } else {\n return false;\n }\n }\n\n async UpdateReferenceAlising() {\n let MandatoryArray = [{ \"REFERENCE TEMPLATE\": this.state.ReftempId }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let st = await Swal.fire({\n title: \"ARE YOU SURE WANT TO UPDATE REFERENCE TEMPLATE DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n this.setState({ loading: true, aData: [] });\n\n let que2 =\n \"EXEC FrmValueAliasingMaster_UpdateReferenceData @tblname='\" +\n this.state.tablename +\n \"' , @loginID =\" +\n this.state.loginId +\n \" , @tempId =\" +\n this.state.tempId;\n que2 += \" , @refTempId =\" + this.state.ReftempId;\n let rs2 = await getDataTable(que2);\n\n await this.updateData();\n\n // this.setState({ loading: false, aData: rs2 })\n } else {\n return false;\n }\n }\n\n async GetReference(e) {\n Modal.info({\n title: \"GET TEMPLATE REFERENCE\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
\n \n \n this.onAfterSelect(e, \"ReftempId\", \"ReftempName\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n
\n
\n
\n ),\n });\n }\n\n async UpdateSelectedAlisingNULL() {\n let st = await Swal.fire({\n title: \"ARE YOU SURE WANT TO UPDATE NULL DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n for (let i = 0; i < st.length; i++) {\n let ele = st[i];\n if (this.state.stsdup === 1) {\n var Que =\n \"EXEC SaveAttributeValue_Alias @ValueID= \" +\n ele[\"#valueID\"] +\n \" , @portalID='\" +\n this.state.portalname +\n \"' , @loginID=\" +\n this.state.loginId +\n \", @aliasName='NULL VALUE' , @Header='NO OPT'\";\n Que += \" , @templateID =\" + this.state.tempId;\n let rs = await getDataTable(Que);\n } else {\n if (ele[\"AliasValue\"]) {\n let queDel =\n \" Delete from OptionValueAliasing output Deleted.UID where ValueID =\" +\n ele[\"#valueID\"] +\n \" and AliasedValue = '\" +\n ele[\"AliasValue\"] +\n \"' and PortalID =\" +\n ele[\"#portalID\"] +\n \" and PortalHeader = '\" +\n ele[\"Portal Attribute\"] +\n \"'\";\n queDel += \" and TemplateID =\" + this.state.tempId;\n let rsDel = await getDataTable(queDel);\n }\n console.log(ele);\n\n var Que =\n \"EXEC SaveAttributeValue_Alias @ValueID= 23554 , @portalID='\" +\n this.state.portalname +\n \"' , @loginID=\" +\n this.state.loginId +\n \", @aliasName='\" +\n ele[\"Portal Value\"] +\n \"' , @Header='\" +\n ele[\"Portal Attribute\"] +\n \"'\";\n Que += \" , @templateID =\" + this.state.tempId;\n let rs = await getDataTable(Que);\n }\n }\n await this.updateData();\n }\n }\n\n render() {\n //lt = this.state\n return (\n
\n \n
\n \n
\n
\n {/*
\n {this.state.mshow === 1 && this.CreateAttribute(this)}\n
*/}\n
\n \n
\n

\n VALUE ALIASING MASTER\n \n

\n
\n \n \n \n Toggle Dropdown\n \n \n
\n
\n\n \n
\n
\n \n *\n
\n \n \n \n \n \n
\n
\n \n \n \n this.onAfterSelect(e, \"portalid\", \"portalname\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n \n \n \n \n this.onAfterSelect(e, \"ImportSheetId\", \"ImportSheetName\")\n }\n isValid={this.state.isValid}\n >\n \n \n \n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n \n \n \n \n this.onAfterSelect(e, \"tempId\", \"tempName\")\n }\n isValid={this.state.isValid}\n >\n \n\n \n \n \n *\n \n \n \n
\n \n
\n \n \n \n
\n \n {\" \"}\n GET DATA{\" \"}\n \n
\n \n \n \n \n \n \n \n
\n \n
\n \n {this.state.merge === \"2\" &&\n this.state.selectedrows.length > 0 && (\n
\n \n
\n \n
\n
\n )}\n {this.state.merge === \"1\" &&\n this.state.selectedrows.length > 0 && (\n
\n \n
\n \n
\n
\n )}\n
\n {this.state.aData.length > 0 && (\n \n \n \n \n )}\n
\n {this.state.stsdup === 1 && (\n \n \n \n \n )}\n
\n {this.state.aData.length > 0 && (\n \n Refresh Data\n \n )}\n
\n
\n {(this.state.orgid === 1 || this.state.loginId === \"1\") &&\n this.state.selectedrows.length > 0 && (\n
\n \n
\n \n
\n
\n )}\n
\n {this.state.aData.length > 0 && (\n this.deleteRow(e)}\n EditBlock=\"true\"\n EditBlockFn={this.EditRow.bind(this)}\n rvrs={this.state.stsdup}\n tblname={this.state.tablename}\n templteID={this.state.tempId}\n selected=\"true\"\n SelectedFn={(e) => this.selectedDataFN(e)}\n >\n )}\n
\n
\n {this.state.ImportData.length > 0 && (\n this.deleteRowImport(e)}\n EditBlockImport=\"true\"\n EditBlockFn={this.EditRowImport.bind(this)}\n rvrs={this.state.stsdup}\n templteID={this.state.ImportSheetId}\n selected=\"true\"\n SelectedFn={(e) => this.selectedDataFN(e)}\n >\n )}\n
\n \n \n \n
\n \n );\n }\n}\n","import React, { Component } from 'react';\nimport { Configuration, getDataTable } from '../Configuration';\nimport AntD from '../Actions/Controls/Table/AntDTable'\nimport '../ORDER/OrderMaster/style.css'\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmproductcategory extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n categorydata: []\n };\n }\n async componentDidMount() {\n await this.setState({\n loginId: Configuration.USER_ID,\n });\n await this.getdata();\n }\n async getdata() {\n \n let Que = \"Select BlockName,isnull((select count(*) from AttributeCategoryMap where AttributeCategoryMap.CatID = CategoryID),0) as Attribute,format(LogDate,'dd-MMM-yyyy') as date from BlockMaster where CatDis = 0\"\n let rs = await getDataTable(Que)\n this.setState({\n categorydata: rs\n })\n }\n myChangeHandler = (event) => {\n let nam = event.target.name;\n let val = event.target.value;\n this.setState({ [nam]: val });\n this.forceUpdate();\n }\n async SavePortal() {\n let Que = \"Select * from BlockMaster where BlockName = '\" + this.state.fldname + \"'\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n let Query = \"INSERT INTO BlockMaster( BlockName, LoginID, Logdate,CatDis) output inserted.BlockName VALUES ('\" + this.state.fldname + \"',\" + this.state.loginId + \",cast(getdate() as date),0)\"\n let response = await getDataTable(Query)\n if (response.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Portal Not Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n // console.log(OrderL = dataist);\n await this.getdata(this);\n this.forceUpdate();\n }\n render() {\n return (\n
\n
\n
\n
\n

BLOCK MASTER\n \n \n

\n
\n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n {this.state.categorydata.length > 0 &&\n this.deleteRow(e)}\n id='fielddata'\n exportXL=\"true\">\n \n }\n
\n
\n
\n
\n
\n
\n )\n }\n async deleteRow(e) {\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\") {\n let st = window.confirm(\"Are you sure want to delete ?\")\n if (!st) {\n return false;\n }\n console.log(e);\n let Que = \"Update BlockMaster set CatDis = 1 output inserted.CategoryID where CategoryName = '\"+e.CategoryName+\"'\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Successfully Deleted',\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata()\n }\n else{\n alert(\"Some Error Occurred\")\n }\n }\n else{\n alert(\"You are not allowed to delete\")\n return;\n }\n }\n}\n","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey } from '../../Configuration';\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCased from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport AutoCompletemulti from '../../Actions/Controls/AutoComplete/autoCompleteMultiple';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmOrgPOrtalMapping extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n RSDATA: [],\n ProfileId: []\n };\n }\n\n\n async componentDidMount() {\n await this.setState({\n loginId: Configuration.USER_ID,\n });\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible, RSDATA: [] });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n this.forceUpdate();\n }\n\n\n async getdata(val) {\n if (val === '') {\n this.setState({ RSDATA: [] })\n return;\n }\n let Que = \"EXEC Show_OrganizationPortal @ORGID = \" + this.state.orgid + \" , @BLOCKID = \" + val\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({ RSDATA: rs })\n }\n else {\n this.setState({ RSDATA: [] })\n return;\n }\n }\n\n\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n if (name === \"BlockName\") {\n await this.getdata(selectedOptions[0].DisplayId)\n }\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n if (name === \"orgname\" || name === \"BlockName\") {\n await this.getdata('')\n }\n }\n this.forceUpdate();\n }\n\n\n\n async SaveTamplate() {\n let MandatoryArray = [\n { \"ORGANIZATION\": this.state.orgid },\n { \"BLOCK\": this.state.BlockID },\n { \"PORTAL\": this.state.PID },\n { \"PROFILE\": this.state.ProfileId }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"select * from PortalOrgnisationMapping where orgid = \" + this.state.orgid + \" and portalid = \" + this.state.PID[0].DisplayId + \" And BlockID = \" + this.state.BlockID + \" And ProfileId = \" + this.state.ProfileId\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'error',\n title: \"ALREADY EXIST\",\n showConfirmButton: false,\n timer: 1500\n })\n\n return false;\n }\n for (let i = 0; i < this.state.PID.length; i++) {\n que = \"\"\n que += \"INSERT INTO PortalOrgnisationMapping (orgid, portalid, loginID, logdate,BlockID, ProfileId) VALUES (\" + this.state.orgid + \",\" + this.state.PID[i].DisplayId + \",\" + this.state.loginId + \",getdate(),\" + this.state.BlockID + \",\" + this.state.ProfileId + \")\"\n let rs1 = await getDataTable(que)\n }\n Swal.fire({\n icon: 'success',\n title: \"SUCCESSFULLY ADDED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.BlockID)\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions\n });\n } else {\n this.setState({\n [name]: \"\"\n });\n }\n }\n\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n this.onAfterSelect(e, \"orgid\", \"orgname\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAutoCOmpletMultiPleSelect(e, \"PID\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"ProfileId\", \"ProfileName\")}\n isValid={this.state.isValid}\n defauldVal={this.state.ProfileId}\n >\n
\n
\n \n
\n \n
\n
\n\n
\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n
\n \n
\n )\n }\n\n\n\n\n async deleteRow(e) {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO', })\n if (!st.isConfirmed) {\n return false;\n }\n let que = \"Delete from PortalOrgnisationMapping where orgid = \" + this.state.orgid + \" and portalid =\" + e['#PID']\n let dt = await getDataTable(que)\n Swal.fire({\n icon: 'info',\n title: \"SUCCESSFULLY REMOVED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n\n\n}","import React, { Component } from 'react';\nimport { Configuration, getDataTable, MandatoryFormFields, GetNewDrpSheet } from '../Configuration';\nimport AutoCompletemulti from '../Actions/Controls/AutoComplete/autoCompleteMultiple';\nimport Table from '../Actions/Controls/Table/AntDTable'\nimport '../ORDER/OrderMaster/style.css'\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport { Spin } from 'antd';\nimport 'sweetalert2/src/sweetalert2.scss'\nimport MAP from './MODAL/OrgPortalMapping'\n\nexport default class frmorganization extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n OrgData: [],\n BlockID: [],\n organizationID: '',\n orID: 0,\n orgname: '',\n orgcode: '',\n cntno: '',\n mail: '',\n city: '',\n stt: '',\n pin: '',\n add: '',\n cntry: '',\n loading: false,\n gstno: '',\n drpToken: '',\n AccountStatus: '0'\n };\n }\n async componentDidMount() {\n let rs1 = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orID: rs1[0].orgid\n });\n await this.getdata();\n }\n async getdata() {\n this.setState({\n loading: true\n })\n let Que = \"EXEC frmOrgnizationMaster_GetOrgList @loginID = \" + this.state.loginId\n let rs = await getDataTable(Que)\n await this.setState({\n OrgData: rs,\n loading: false,\n organizationID: '',\n orgname: '',\n orgcode: '',\n add: '',\n city: '',\n stt: '',\n cntry: '',\n pin: '',\n cntno: '',\n mail: '',\n gstno: '',\n BlockID: [],\n drpToken: ''\n })\n this.forceUpdate()\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n }\n\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions\n });\n }\n else {\n this.setState({\n [name]: \"\"\n })\n }\n }\n async deleteRow(e) {\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\") {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO', })\n if (!st.isConfirmed) {\n return false;\n }\n this.setState({\n loading: true\n })\n let Que = \"update organizationmaster set DIS = 1 output inserted.orgid where orgid = \" + e[\"#orgID\"]\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n let que1 = \"EXEC frmOrganizationMaster_updateusers @loginID = \" + this.state.loginId + \" , @orgid = \" + e[\"#orgID\"]\n await getDataTable(que1)\n Swal.fire({\n icon: 'info',\n title: 'Successfully Deleted',\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata()\n }\n else {\n alert(\"Some Error Occurred\")\n this.setState({\n loading: false\n })\n }\n }\n else {\n Swal.fire({\n icon: 'info',\n title: 'YOU ARE NOT ALLOWED TO DELETE !',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n }\n\n async UpdateData() {\n let que = \" Update OrganizationMaster SET OrgCode = '\" + this.state.orgcode + \"' , OrgName = '\" + this.state.orgname + \"' , Address = '\" + this.state.add + \"' , City = '\" + this.state.city + \"' , State = '\" + this.state.stt + \"' , Country = '\" + this.state.cntry + \"' , PIN = '\" + this.state.pin + \"' , Phone = '\" + this.state.cntno + \"' , email = '\" + this.state.mail + \"' , LoginId = \" + this.state.loginId + \" , Logdate = getdate() , GSTNO = '\" + this.state.gstno + \"' , AccountStatus = \" + this.state.AccountStatus\n que += \" output inserted.orgid where orgid = \" + this.state.organizationID\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n\n let que2 = \"Delete from DropBoxAccessToken where OrgID = \" + this.state.organizationID\n await getDataTable(que2)\n if (this.state.drpToken !== \"\" || this.state.drpToken !== undefined) {\n let que3 = \" INSERT INTO DropBoxAccessToken (OrgID, DrpToken, logDate) VALUES (\" + this.state.organizationID + \",'\" + this.state.drpToken + \"',getdate()) \"\n await getDataTable(que3)\n }\n let que1 = \" Delete from BlockOrganizationMapping where orgid = \" + this.state.organizationID\n await getDataTable(que1)\n\n for (let i = 0; i < this.state.BlockID.length; i++) {\n const ele = this.state.BlockID[i];\n let que2 = \" Insert into BlockOrganizationMapping (Orgid, BlockID, loginID) VALUES (\" + this.state.organizationID + \",\" + ele['DisplayId'] + \",\" + this.state.loginId + \") \"\n await getDataTable(que2)\n }\n\n this.setState({\n organizationID: '',\n orgname: '',\n orgcode: '',\n add: '',\n city: '',\n stt: '',\n cntry: '',\n pin: '',\n cntno: '',\n mail: '',\n gstno: '',\n BlockID: [],\n drpToken: ''\n })\n await Swal.fire({\n icon: 'success',\n title: 'SUCCESSFULLY UPDATED',\n showConfirmButton: false,\n timer: 2000\n })\n await this.getdata()\n }\n\n\n }\n\n async SaveOrgnization() {\n let MandatoryArray = [\n { \"Organization Code\": this.state.orgcode }\n , { \"Organization Name\": this.state.orgname }\n , { \"Contact No\": this.state.cntno }\n , { \"Email\": this.state.mail }\n , { \"Address\": this.state.add }\n , { \"Block\": this.state.BlockID }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let data = [];\n\n if (this.state.organizationID !== '') {\n await this.UpdateData();\n return;\n }\n\n\n let Que = \"Select * from OrganizationMaster where OrgName = '\" + this.state.orgname + \"' and OrgCode = '\" + this.state.orgcode + \"'\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'ALREADY EXIST',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n this.setState({\n loading: true\n })\n let Query = \"INSERT INTO OrganizationMaster (OrgCode, OrgName, Address, City, State, Country, PIN, Phone, email, LoginId, Logdate,DIS,GSTNO,AccountStatus) output inserted.orgid VALUES ('\" + this.state.orgcode + \"','\" + this.state.orgname + \"','\" + this.state.add + \"','\" + this.state.city + \"','\" + this.state.stt + \"','\" + this.state.cntry + \"','\" + this.state.pin + \"','\" + this.state.cntno + \"','\" + this.state.mail + \"',\" + this.state.loginId + \",getdate(),0,'\" + this.state.gstno + \"',\" + this.state.AccountStatus + \")\"\n\n let res = await getDataTable(Query)\n if (res.length > 0) {\n\n let que2 = \"Delete from DropBoxAccessToken where OrgID = \" + res[0].orgid\n await getDataTable(que2)\n if (this.state.drpToken !== \"\" || this.state.drpToken !== undefined) {\n let que3 = \" INSERT INTO DropBoxAccessToken (OrgID, DrpToken, logDate) VALUES (\" + res[0].orgid + \",'\" + this.state.drpToken + \"',getdate()) \"\n await getDataTable(que3)\n }\n\n for (let i = 0; i < this.state.BlockID.length; i++) {\n const ele = this.state.BlockID[i];\n let que1 = \" Insert into BlockOrganizationMapping (Orgid, BlockID, loginID) VALUES (\" + res[0].orgid + \",\" + ele['DisplayId'] + \",\" + this.state.loginId + \") \"\n await getDataTable(que1)\n }\n await Swal.fire({\n icon: 'success',\n title: 'SUCCESSFULLY SAVED',\n showConfirmButton: false,\n timer: 2000\n })\n\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'SOME ERROR OCCURED',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({\n loading: false\n })\n }\n // console.log(OrderL = dataist);\n await this.getdata(this);\n this.forceUpdate();\n }\n\n async clearData() {\n this.setState({\n organizationID: '',\n orgname: '',\n orgcode: '',\n add: '',\n city: '',\n stt: '',\n cntry: '',\n pin: '',\n cntno: '',\n mail: '',\n BlockID: [],\n AccountStatus: '0'\n })\n }\n\n async EditRowFn(e) {\n let st = window.confirm(\"Are you sure want to Edit ?\")\n if (!st) {\n return false;\n }\n let Que = \"select OrganizationMaster.OrgID, OrgCode, OrgName, Address, City, State, Country, PIN, Phone, email,GSTNO,ISNULL(DrpToken,'') as DrpToken,AccountStatus from OrganizationMaster left outer join DropBoxAccessToken ds on ds.OrgID = OrganizationMaster.OrgID where OrganizationMaster.orgid = \" + e[\"#orgID\"]\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n\n let que1 = \" SELECT bm.BlockID as DisplayId, BlockMaster.BlockName as DisplayName FROM BlockOrganizationMapping bm INNER JOIN BlockMaster ON bm.BlockID = BlockMaster.CategoryID WHERE (bm.Orgid = \" + rs[0].OrgID + \" )\"\n let rs1 = await getDataTable(que1)\n debugger\n this.setState({\n organizationID: rs[0].OrgID,\n orgname: rs[0].OrgName,\n orgcode: rs[0].OrgCode,\n add: rs[0].Address,\n city: rs[0].City,\n stt: rs[0].State,\n cntry: rs[0].Country,\n pin: rs[0].PIN,\n cntno: rs[0].Phone,\n mail: rs[0].email,\n gstno: rs[0].GSTNO,\n BlockID: rs1,\n drpToken: rs[0].DrpToken,\n AccountStatus: rs[0]['AccountStatus']\n })\n }\n }\n\n render() {\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

Organization Master(* Fields are mandatory)\n \n \n

\n {\n (this.state.orID === 1 || this.state.loginId == \"1\") &&\n
\n \n
\n }\n
\n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n {this.state.orID === 1 &&\n
\n *\n this.onAutoCOmpletMultiPleSelect(e, \"BlockID\")}\n isValid={this.state.isValid}\n defauldVal={this.state.BlockID}\n >\n
\n }\n
\n \n
\n \n
\n
\n {this.state.orID === 1 &&\n
\n *\n
\n \n
\n
\n }\n
\n \n
\n \n
\n
\n
\n {this.state.OrgData.length > 0 && this.state.OrgData != undefined &&\n this.deleteRow(e)}\n EditRow='true'\n EditRowFn={(e) => this.EditRowFn(e)} >\n \n }\n
\n
\n
\n
\n
\n
\n )\n }\n}\n","import React, { Component } from 'react';\nimport AutoCompletemulti from '../Actions/Controls/AutoComplete/autoCompleteMultiple';\nimport { Configuration, getDataTable, MandatoryFormFields } from '../Configuration';\nimport Table from '../Actions/Controls/Table/AntDTable'\nimport '../ORDER/OrderMaster/style.css'\nimport { Modal, Spin } from 'antd';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\n\nexport default class frmuser extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n OrgData: [],\n orgid: [],\n usrname: '',\n cntno: '',\n Pmail: '',\n Smail: '',\n isValidEmail: true,\n fpass: '',\n cpass: '',\n isValid: false,\n errors: {\n uppercase: false,\n lowercase: false,\n digit: false,\n punctuation: false,\n length: false,\n },\n usertype: 'normal',\n loading: false,\n isAgent: \"0\",\n userid: ''\n };\n\n }\n\n async componentDidMount() {\n\n await this.setState({\n loginId: Configuration.USER_ID,\n });\n await this.getdata();\n\n }\n\n handleEmailChange = (e) => {\n const Pmail = e.target.value;\n const emailPattern = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n const isValidEmail = emailPattern.test(Pmail);\n this.setState({ Pmail, isValidEmail });\n };\n\n handlePasswordChange = (e) => {\n const newPassword = e.target.value;\n const validationErrors = this.validatePassword(newPassword);\n this.setState({\n fpass: newPassword,\n isValid: Object.values(validationErrors).every((error) => !error),\n errors: validationErrors,\n });\n };\n\n validatePassword = (password) => {\n const errors = {\n uppercase: !/(?=.*[A-Z])/.test(password),\n lowercase: !/(?=.*[a-z])/.test(password),\n digit: !/(?=.*\\d)/.test(password),\n punctuation: !/(?=.[@$!%?&])/.test(password),\n length: !(password.length >= 8),\n };\n return errors;\n };\n\n async getdata() {\n this.setState({ loading: true })\n let Que = \"EXEC ShowUsers\"\n let rs = await getDataTable(Que)\n this.setState({ OrgData: rs, loading: false })\n }\n\n myChangeHandler = (event) => {\n\n let nam = event.target.name;\n let val = event.target.value;\n this.setState({ [nam]: val });\n\n this.forceUpdate();\n }\n\n\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions\n });\n }\n else {\n this.setState({\n [name]: \"\"\n })\n }\n }\n\n async UpdateUser() {\n if (this.state.orgid.length > 1 && this.state.isAgent === \"0\") {\n Swal.fire({\n icon: 'info',\n title: \"NORMAL USER CAN'T BELONG TO MULTIPLE ORGNIZATION\",\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n this.setState({ loading: true })\n var requestOptions = { method: 'POST' };\n let rs1 = await fetch(\"https://api.blumangoes.ai:6143/encrypt?password=\" + this.state.fpass, requestOptions)\n let psswrd = await rs1.text();\n\n let que = \" UPDATE Users SET username = '\" + this.state.usrname + \"', OrgID = \" + this.state.orgid[0]['DisplayId'] + \", Email = '\" + this.state.mail + \"', \"\n que += \" Phone = '\" + this.state.cntno + \"', Active = 1 , IsAgent = \" + this.state.isAgent + \", logdate = getdate() , pswrd = '\" + psswrd + \"'\"\n que += \" OUTPUT inserted.userId WHERE (userId = \" + this.state.userid + \")\"\n const response = await getDataTable(que)\n if (response.length > 0) {\n que = \"\"\n que += \" delete from AgentOrganizationMapping where userID = \" + response[0]['userId']\n await getDataTable(que)\n for (let j = 0; j < this.state.orgid.length; j++) {\n const ele = this.state.orgid[j];\n let que = \"Insert Into AgentOrganizationMapping(userID, orgID, loginID, logdate) output inserted.tblid Values \"\n que += \" (\" + response[0]['userId'] + \",\" + ele['DisplayId'] + \",\" + this.state.loginId + \",getdate())\"\n await getDataTable(que)\n }\n Swal.fire({\n icon: 'success',\n title: 'SUCCESSFULLY UPDATED',\n showConfirmButton: false,\n timer: 1500\n })\n\n // var ddt = document.getElementsByTagName('input')\n // for (let i = 0; i < ddt.length; i++) {\n // if (ddt[i].className === 'form-control') {\n // ddt[i].value = '';\n // }\n // }\n this.setState({\n usrname: '',\n cntno: '',\n mail: '',\n fpass: '',\n cpass: '',\n orgid: [],\n userId: '',\n loading: false\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Not Saved',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({\n loading: false\n })\n }\n await this.getdata(this);\n this.forceUpdate();\n return;\n }\n\n async SaveUser() {\n // Password validation condition\n const hasUpperCase = /[A-Z]/.test(this.state.fpass);\n const hasLowerCase = /[a-z]/.test(this.state.fpass);\n const hasDigit = /\\d/.test(this.state.fpass);\n const hasPunctuation = /[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]/.test(this.state.fpass);\n const isLengthValid = this.state.fpass.length >= 8;\n const isValidEmail = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(this.state.Pmail)\n\n if (!(hasUpperCase)) {\n alert('Password must contain at least one uppercase letter');\n return;\n } else if (!(hasLowerCase)) {\n alert('Password must contain at least one lowercase letter');\n return;\n } else if (!(hasDigit)) {\n alert('Password must contain at least one digit');\n return;\n } else if (!(hasPunctuation)) {\n alert('Password must contain at least one punctuation character');\n return;\n } else if (!(isLengthValid)) {\n alert('Password must be at least eight characters long');\n return;\n } else if (!(isValidEmail)) {\n alert('Please enter a valid email');\n return;\n }\n let MandatoryArray = [\n { \"Username\": this.state.usrname },\n { \"Contact no\": this.state.cntno },\n { \"EMAIL\": this.state.Pmail },\n { \"Organization\": this.state.orgid },\n { \"Password\": this.state.fpass },\n { \"Confirm Password\": this.state.cpass }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n return false;\n }\n if (this.state.fpass !== this.state.cpass) {\n Swal.fire({\n icon: 'info',\n title: 'PASSWORD NOT MATCH PLEASE CHECK',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n if (this.state.userid > 0) {\n await this.UpdateUser()\n return;\n }\n\n let Que = \"Select * from Users where username = '\" + this.state.usrname + \"' and email = '\" + this.state.Pmail + \"'\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'info',\n title: 'ALREADY EXIST',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n if (this.state.orgid.length > 1 && this.state.isAgent === \"0\") {\n Swal.fire({\n icon: 'info',\n title: \"NORMAL USER CAN'T BELONG TO MULTIPLE ORGNIZATION\",\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n this.setState({ loading: true })\n var requestOptions = { method: 'POST' };\n let rs1 = await fetch(\"https://api.blumangoes.ai:6143/encrypt?password=\" + this.state.fpass, requestOptions)\n let psswrd = await rs1.text();\n\n let Query = \"INSERT INTO Users (OrgID, username, Email, Phone, Active, logdate, pswrd,IsAgent) output inserted.userId VALUES \"\n Query += \"(\" + this.state.orgid[0]['DisplayId'] + \",'\" + this.state.usrname + \"','\" + this.state.Pmail + \"','\" + this.state.cntno + \"',1,getdate(),'\" + psswrd + \"',\" + this.state.isAgent + \")\"\n const response = await getDataTable(Query)\n if (response.length > 0) {\n for (let j = 0; j < this.state.orgid.length; j++) {\n const ele = this.state.orgid[j];\n let que = \"Insert Into AgentOrganizationMapping(userID, orgID, loginID, logdate) output inserted.tblid Values \"\n que += \" (\" + response[0]['userId'] + \",\" + ele['DisplayId'] + \",\" + this.state.loginId + \",getdate())\"\n await getDataTable(que)\n }\n Swal.fire({\n icon: 'success',\n title: 'SUCCESSFULLY SAVED',\n showConfirmButton: false,\n timer: 1500\n })\n\n // var ddt = document.getElementsByTagName('input')\n // for (let i = 0; i < ddt.length; i++) {\n // if (ddt[i].className === 'form-control') {\n // ddt[i].value = '';\n // }\n // }\n this.setState({\n usrname: '',\n cntno: '',\n mail: '',\n fpass: '',\n cpass: '',\n orgid: [],\n userId: '',\n loading: false\n })\n\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Not Saved',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n }\n // console.log(OrderL = dataist);\n await this.getdata(this);\n this.forceUpdate();\n\n }\n\n myFunction(e, id) {\n\n var x = document.getElementById(e);\n if (x.type === \"password\") {\n x.type = \"text\";\n } else {\n x.type = \"password\";\n }\n }\n\n render() {\n const { fpass, isValid, errors, Pmail, isValidEmail } = this.state;\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

User Master(* Fields are mandatory)\n \n \n

\n
\n\n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n this.onAutoCOmpletMultiPleSelect(e, \"orgid\")}\n isValid={this.state.isValid}\n defauldVal={this.state.orgid}\n >\n
\n
\n *\n
\n this.setState({ errors: {} })}\n placeholder=\"Enter password\"\n tabIndex={1}\n className=\"form-control\"\n />\n {errors.uppercase && Must contain at least one uppercase letter }
\n {errors.lowercase && Must contain at least one lowercase letter }
\n {errors.digit && Must contain at least one digit }
\n {errors.punctuation && Must contain at least one punctuation character }
\n {errors.length && Must be at least 8 characters long}
\n {!isValidEmail && Please Enter a Valid Email Address}
\n {isValid && Valid password} \n
\n
\n\n
\n *\n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n
\n {this.state.OrgData.length > 0 && this.state.OrgData !== undefined &&\n this.EditRowFn(e)}\n ShowRowFn={(e) => this.getRowData(e)}\n DeleteFn={(e) => this.deleteRow(e)}\n height='63vh'\n id='fielddata'\n exportXL=\"true\">\n \n }\n
\n\n
\n
\n
\n
\n\n
\n )\n }\n\n\n async EditRowFn(e) {\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"6\") {\n let st = window.confirm(\"Are you sure want to Edit ?\")\n if (!st) {\n return false;\n }\n let Que = \"select userId as [#userid], username, Phone as cntno, Email as mail, isnull(IsAgent,0) as isAgent, pswrd, OrgID from Users where userId = \" + e[\"#userid\"]\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({\n usrname: rs[0].username,\n cntno: rs[0].cntno,\n mail: rs[0].mail,\n isAgent: rs[0].isAgent,\n userid: e[\"#userid\"]\n })\n var requestOptions = { method: 'POST' };\n let rs1 = await fetch(\"https://api.blumangoes.ai:6143/dcrypt?password=\" + rs[0].pswrd, requestOptions)\n let psswrd = await rs1.text();\n this.setState({\n fpass: psswrd,\n cpass: psswrd\n })\n if (rs[0].isAgent === 1) {\n let orgque = \"SELECT aom.OrgID as DisplayId,OrgCode+'-'+OrgName as DisplayName\"\n orgque += \" FROM AgentOrganizationMapping aom INNER JOIN OrganizationMaster \"\n orgque += \" ON aom.orgID = OrganizationMaster.OrgID where userID = \" + e[\"#userid\"]\n let orgRs = await getDataTable(orgque)\n this.setState({\n orgid: orgRs\n })\n } else {\n let orgque = \"SELECT OrgID as DisplayId,OrgCode+'-'+OrgName as DisplayName\"\n orgque += \" FROM OrganizationMaster \"\n orgque += \" where OrgID = \" + rs[0].OrgID\n let orgRs = await getDataTable(orgque)\n this.setState({\n orgid: orgRs\n })\n }\n }\n\n }\n else {\n alert(\"You are not allowed to edit\")\n return;\n }\n }\n\n async deleteRow(e) {\n console.log(e);\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"6\") {\n let st = window.confirm(\"Are you sure want to delete ?\")\n if (!st) {\n return false;\n }\n console.log(e);\n let Que = \"update Users set Active = 0 output inserted.userid where userId = \" + e[\"#userid\"]\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Successfully Deleted',\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata()\n }\n else {\n alert(\"Some Error Occurred\")\n }\n }\n else {\n alert(\"You are not allowed to delete\")\n return;\n }\n }\n\n async getRowData(e) {\n if (this.state.loginId === \"10\" || this.state.loginId === \"1\") {\n let rs = await getDataTable(\"select pswrd from users where userid = \" + e[\"#userid\"])\n var requestOptions = { method: 'POST' };\n let rs1 = await fetch(\"https://api.blumangoes.ai:6143/dcrypt?password=\" + rs[0].pswrd, requestOptions)\n let psswrd = await rs1.text();\n Modal.info({\n title: 'User Details',\n okText: 'CLOSE',\n width: '600px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '500px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • UserName - {e.username}
  • \n
  • Password - {psswrd}
  • \n
  • Org - {e.Organization}
  • \n\n
\n
\n )\n });\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Not Allowed to Show Details',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n}\n","import React,{Component,useRef} from 'react';\nimport {Typeahead} from 'react-bootstrap-typeahead'; \nimport './style.css';\nimport jQuery from 'jquery';\nimport {Configuration} from '../../../Configuration';\n\nconst TOKEN = Configuration.USER_TOKEN.TOKEN;\n\nconst API_URL = Configuration.SYSTEM_SETTINGS.API_URL;\n\n//const autoCompleteCascadEl = React.createRef();\n\nconst ToggleButton = ({ isOpen, onClick }) => (\n {\n // Prevent input from losing focus.\n e.preventDefault();\n }}>\n {isOpen ? '▲' : '▼'}\n \n);\n\nexport default class AutoCompleteCascad extends Component {\n \n constructor(props) {\n super(props);\n this.wrapper = React.createRef();\n this.state= {\n cmbData:[{\"DisplayId\":1,\"DisplayName\":\"No Data\"}],\n mainQuery:\"\", \n count:\"15\"\n };\n \n \n }\n\n async componentDidMount(){\n\n if(this.props.filterId1!==\"\"){\n \n //await this.fillData();\n \n \n }\n }\n \nasync fillData(){\n const config = {\n \n headers: {\n 'Content-Type': 'application/json',\n 'Auth-Token' : TOKEN\n }\n }\n if (this.props.filterId1 === \"\") {\n // this.props.filterId1 = 0;\n return;\n }\n let filter =\"\";\nif(this.props.filter2!==\"\"){\nfilter = \" and \"+ this.props.filter1 + \"='\" + this.props.filterId1 + \"' and \"+ this.props.filter2 + \"='\" + this.props.filterId2+ \"'\"\n}\n\nelse{\n \nfilter = \" and \"+ this.props.filter1 + \"='\" + this.props.filterId1+ \"'\"\n}\n\nlet SearchKey = '';\n\nlet qry = \"formname=\"+this.props.frmNm+\"&queryname=\"+this.props.quryNm+\"&count=\"+this.state.count+\"&searchtext=\"+SearchKey.trim()+\"&filter=\"+filter+\"&db=\"+this.props.db+\" \" ;\n\nconst response = await fetch(API_URL+'/api/v1/Common/GetFillComboQuery?'+qry+'',config);\nconst data = await response.json();\n\nthis.setState({\ncmbData: data.data\n})\n\n}\n\n\nonInputChangeHandler(evt){ \n \n let filter =\"\";\n \n if(this.props.filter2!==\"\"){\n filter = \" and \"+ this.props.filter1 + \"='\" + this.props.filterId1 + \"' and \"+ this.props.filter2 + \"='\" + this.props.filterId2+ \"'\"\n }\n else{\n filter = \" and \"+ this.props.filter1 + \"='\" + this.props.filterId1+ \"'\"\n \n }\n\n let SearchKey = evt;\n\n \n\n let qry = \"formname=\"+this.props.frmNm+\"&queryname=\"+this.props.quryNm+\"&count=\"+this.state.count+\"&searchtext=\"+SearchKey.trim()+\"&filter=\"+filter+\"&db=\"+this.props.db+\" \" ;\n \n console.log(qry);\n const config = {\n \n headers: {\n 'Content-Type': 'application/json',\n 'Auth-Token' : TOKEN\n }\n }\n //this.state.query+\" where \" + this.props.filterBy +\" like '\"+SearchKey+\"%'\";\n fetch(API_URL+'/api/v1/Common/GetFillComboQuery?'+qry+'',config)\n .then(res => res.json())\n .then((data) => {\n \n this.setState({\n cmbData:data.data\n })\n })\n \n\n \n}\n\nonAfterSelect(selectedOptions){\n\n if(selectedOptions.length>0){\n //this.props.name[this.state.id]=selectedOptions[0].DisplayId;\n }\n}\n\nrender() {\n //const ref = useRef();\n const {defauldVal} = this.props\n return (\n \n\n{({ isMenuShown, toggleMenu }) => (\n toggleMenu()} />\n )}\n\n \n );\n}};","import React, { Component } from \"react\";\nimport {\n Configuration,\n exceltodb,\n MandatoryFormFields,\n getDataTable,\n GetNewDrpSheet,\n json2xlsx,\n} from \"../Configuration\";\nimport AutoCompletemulti from \"../Actions/Controls/AutoComplete/autoCompleteMultipleCascad\";\nimport AutoCompletemultiNew from \"../Actions/Controls/AutoComplete/autoCompleteMultiple\";\nimport { AttributeRules } from \"../CommanFunc\";\nimport { Modal, Spin } from \"antd\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport Moment from \"moment\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal, { swal } from \"sweetalert2/dist/sweetalert2.js\";\nconst dataBase = \"IMAGEDB\";\nlet files = \"\";\nvar tb = \"\";\nconst currentDate = Moment().format(\"DD-MMM-YYYY hh:mm:ss\");\n\nexport default class frmproductdetails extends Component {\n //Declaring initial State\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n orgid: 0,\n catid1: 0,\n visible: false,\n productdetailsdata: [],\n file: null,\n loading: false,\n portalList: [],\n GroupList: [],\n lotID: \"\",\n ImportSheetId: \"\",\n alwCustomSheetval: 0,\n };\n }\n\n //getting organization id from server on component load\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n //updating state values for loginID and orgID from data from server\n this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n // await this.getdata(this.state.loginId, '');\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n this.forceUpdate();\n }\n\n async UploadFile() {\n let MandatoryArray = [{ Category: this.state.catid1 }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n tb = \"\";\n if (files) {\n this.setState({ loading: true });\n tb = await exceltodb(files, dataBase, this.state.loginId);\n debugger;\n if (tb) {\n let queCheck =\n \"EXEC frmProductDetails_checkSKULimit @tblName = '\" +\n tb +\n \"' , @loginID = \" +\n this.state.loginId;\n let rschk = await getDataTable(queCheck);\n if (rschk[0][\"RES\"] != \"OK\") {\n Swal.fire({\n icon: \"error\",\n title: rschk[0][\"RES\"],\n showConfirmButton: false,\n timer: 2000,\n });\n this.setState({ loading: false });\n return;\n }\n debugger;\n let PopUpData =\n \"EXEC frmProductDetailsPopUpForImportData @tblname = '\" +\n tb +\n \"' , @loginID = \" +\n this.state.loginId +\n \", @categoryid=\" +\n this.state.catid1;\n let ShowPop = await getDataTable(PopUpData);\n if (ShowPop.length > 0) {\n this.setState({ loading: false });\n let result1 = await Swal.fire({\n title: `${ShowPop.length} SKU ARE ALREADY EXITS DO YOU WANT TO UPDATE IF YES , THEN THE EARLIER DATA WILL BE OVERWRITE `,\n icon: \"warning\",\n showConfirmButton: true,\n showCancelButton: true,\n showDenyButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n denyButtonText: \"Generate Excel\",\n });\n\n if (result1.isConfirmed) {\n this.setState({ loading: true });\n let Que =\n \"EXEC SaveProductImportDetailsforTest @loginId = \" +\n this.state.loginId +\n \",@tblname = '\" +\n tb +\n \"' , @categoryid=\" +\n this.state.catid1;\n let rs = await getDataTable(Que);\n\n if (Array.isArray(rs)) {\n if (rs.length > 0) {\n this.setState({\n productdetailsdata: rs,\n visible: true,\n loading: false,\n });\n await this.SaveData(this);\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"File not Imported Properly\",\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"File not contain Proper Data\")\n this.setState({ loading: false });\n }\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"File not Imported Properly\",\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"File not contain Proper Data\")\n this.setState({ loading: false });\n }\n } else if (result1.isDenied) {\n await json2xlsx(ShowPop, \"EXISTING SKU DATA\");\n this.setState({ loading: false });\n } else {\n Swal.fire({\n title: \"UPLOAD FAILED\",\n icon: \"warning\",\n });\n this.setState({ loading: false });\n }\n document.getElementById(\"tp1\").value = \"\";\n } else {\n let Que =\n \"EXEC SaveProductImportDetailsforTest @loginId = \" +\n this.state.loginId +\n \",@tblname = '\" +\n tb +\n \"' , @categoryid=\" +\n this.state.catid1;\n let rs = await getDataTable(Que);\n debugger;\n if (Array.isArray(rs)) {\n if (rs.length > 0) {\n this.setState({\n productdetailsdata: rs,\n visible: true,\n loading: false,\n });\n await this.SaveData(this);\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"File not Imported Properly\",\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"File not contain Proper Data\")\n this.setState({ loading: false });\n }\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"File not Imported Properly\",\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"File not contain Proper Data\")\n this.setState({ loading: false });\n }\n document.getElementById(\"tp1\").value = \"\";\n }\n } else {\n tb = \"\";\n this.setState({ loading: false });\n return;\n }\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"File not contain Proper Data\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n tb = \"\";\n return false;\n }\n }\n\n async SaveData() {\n if (!tb) {\n Swal.fire({\n icon: \"info\",\n title: \"File not contain Proper Data\",\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"No Data To Save\")\n }\n\n let ltque =\n \" SELECT LotID, CAST(LotNo as nvarchar)+'-'+LotName as LotName FROM LotMaster \";\n ltque +=\n \" OUTER APPLY ( select distinct CategoryId from LotDetails inner join ProductMaster on \";\n ltque +=\n \" \tProductMaster.ProductID = LotDetails.ProductID where LotID = LotMaster.LotID ) C (blckid) \";\n ltque +=\n \" WHERE OrgID = \" +\n this.state.orgid +\n \" and (DATEDIFF(week,logDate, getDate())<10) and c.blckid = \" +\n this.state.catid1;\n console.log(ltque);\n let lt = await getDataTable(ltque);\n let inputoption = {};\n lt.forEach((ele) => {\n inputoption[ele[\"LotID\"]] = ele[\"LotName\"];\n });\n let ltname = \"\";\n let ltid = 0;\n let sel = 0;\n if (lt.length <= 0) {\n await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n ltname = result.value;\n }\n });\n } else {\n let mrgcnf = await Swal.fire({\n title: \"Do you want to merge the data into existing lot?\",\n icon: \"question\",\n showCancelButton: true,\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n allowOutsideClick: false,\n });\n if (mrgcnf.isConfirmed) {\n sel = 1;\n await Swal.fire({\n title: \"SELECT LOT NAME\",\n input: \"select\",\n inputOptions: inputoption,\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n ltid = result.value;\n }\n });\n } else {\n await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n ltname = result.value;\n }\n });\n }\n }\n\n if (sel == 0 && ltname == \"\") {\n Swal.fire({\n icon: \"error\",\n title: \"Please Enter Lot Name\",\n showConfirmButton: false,\n timer: 1500,\n });\n return;\n }\n\n /////////////////////////////////////////////\n\n let Queery =\n \"EXEC Lotcreateandmerge @loginid = \" +\n this.state.loginId +\n \",@tblname = '\" +\n tb +\n \"' , @LotName = '\" +\n ltname +\n \"' , @Lotid = \" +\n ltid;\n this.setState({ loading: true });\n let rss = await getDataTable(Queery);\n let Que =\n \"EXEC SaveDataInMasterTable @loginid = \" +\n this.state.loginId +\n \",@tblname = '\" +\n tb +\n \"'\";\n let rs = await getDataTable(Que);\n debugger;\n if (rs) {\n Swal.fire({\n icon: \"success\",\n title: \"Data Saved SuccessFully\",\n\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"Data Saved SuccessFully\")\n this.setState({ loading: false });\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"SOME ERROR OCCURED\",\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"Data Saved SuccessFully\")\n this.setState({ loading: false });\n }\n }\n\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions,\n });\n } else {\n this.setState({\n [name]: [],\n });\n }\n }\n\n async ExportErrordata() {\n this.setState({ loading: true });\n let Que =\n \"EXEC ExportErrorDataOFExcel @loginID = \" +\n this.state.loginId +\n \",@tblNm = '\" +\n tb +\n \"'\";\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n await GetNewDrpSheet(\n this.state.catid1,\n rs,\n \"Error Sheet -\" + currentDate + \".xlsx\"\n );\n // let que1 = \"Drop table \" + tb\n // let res = await getDataTable(que1)\n // console.log(res);\n this.setState({ loading: false, productdetailsdata: [] });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"No Data Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n //alert('No Data Found')\n }\n }\n\n async ExportRelErrordata() {\n this.setState({ loading: true });\n let Que =\n \"EXEC ProductDetails_addRelationShipError @BlockID = \" +\n this.state.catid1 +\n \",@tblName = '\" +\n tb +\n \"'\";\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n await GetNewDrpSheet(\n this.state.catid1,\n rs,\n \"Error Rel Sheet -\" + currentDate + \".xlsx\"\n );\n // let que1 = \"Drop table \" + tb\n // let res = await getDataTable(que1)\n // console.log(res);\n this.setState({ loading: false, productdetailsdata: [] });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"No Data Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n //alert('No Data Found')\n }\n }\n\n // Get Data Of Product\n async getdata(logid, pname) {\n this.setState({ loading: true });\n let Que =\n \"EXEC ShowProductList_OrgWise @loginid=\" +\n logid +\n \" , @productname='\" +\n pname +\n \"'\";\n let rs = await getDataTable(Que);\n if (rs) {\n this.setState({\n productdata: rs,\n loading: false,\n });\n } else {\n this.setState({ loading: false });\n Swal.fire({\n icon: \"info\",\n title: \"No Data Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n return;\n }\n }\n\n async getMappingSheet() {\n let MandatoryArray = [{ BLOCK: this.state.catid1 }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n this.setState({\n loading: true,\n });\n let ltid = this.state.lotID == \"\" ? \"0\" : this.state.lotID;\n let que =\n \"EXEC frmProductDetails_getSkuMappingSheet @orgid = \" +\n this.state.orgid +\n \" , @BlockID = \" +\n this.state.catid1 +\n \" , @lotName = '\" +\n this.state.LotName +\n \"' , @LotID = \" +\n ltid;\n let rs = await getDataTable(que);\n await GetNewDrpSheet(\n this.state.catid1,\n rs,\n \"SKU MAPPING Sheet -\" + currentDate + \".xlsx\"\n );\n this.setState({\n loading: false,\n });\n }\n\n async getCustomTemplate() {\n if (this.state.portalList.length + this.state.ImportSheetId.length <= 0) {\n await this.downloadCustomFormat(this);\n return;\n }\n\n let MandatoryArray = [\n { BLOCK: this.state.catid1 },\n // { \"LOT\": this.state.lotID }\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let brandCheckQuery =\n \"SELECT COUNT(*) AS brandCount FROM BrandMaster WHERE OrgID = \" +\n this.state.orgid;\n let brandCheckResult = await getDataTable(brandCheckQuery);\n\n if (brandCheckResult[0].brandCount === 0) {\n // Show an error message if the brand is not created\n debugger;\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Brand Not Created\",\n text: \"Please Create The Brand First From Brand Master\",\n showConfirmButton: false,\n timer: 1500,\n });\n return;\n }\n\n this.setState({\n loading: true,\n });\n\n let portalIds = this.state.portalList\n .map((ele) => ele[\"DisplayId\"])\n .join(\",\");\n let importSheetIds = this.state.ImportSheetId.map(\n (ele) => ele[\"DisplayId\"]\n ).join(\",\");\n\n let ltid = this.state.lotID === \"\" ? \"0\" : this.state.lotID;\n\n // Set @PortalIDList to '0' if no portal ID is selected\n let portalIDListParam = portalIds !== \"\" ? portalIds : \"0\";\n\n let que =\n \"frmProductDetails_getCustomImportSheet @BlockID = \" +\n this.state.catid1 +\n \" , @PortalIDList ='\" +\n portalIDListParam +\n \"' , @GroupIDList = '\" +\n importSheetIds +\n \"' , @LotID = \" +\n ltid +\n \" , @lotName = '\" +\n this.state.LotName +\n \"' , @loginID = \" +\n this.state.loginId;\n\n let rs = await getDataTable(que);\n\n debugger;\n\n await GetNewDrpSheet(\n this.state.catid1,\n rs,\n \"Custom Sheet -\" + currentDate + \".xlsx\"\n );\n\n this.setState({\n loading: false,\n });\n }\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n };\n\n rulesForNamshi() {\n Modal.info({\n title: \"RULES\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • Ean code must be fed into Sku Code.
  • \n
  • \n While the colour is changing, select the closest one from the\n dropdown.\n
  • \n
  • \n While feeding the category and gender, select the combination from\n the Namshi sheet.\n
  • \n
  • For Size Run- Refer to final adidas size chart sheet.
  • \n
  • \n For imaging - always select the \"other\" profile and create links\n only from the adidas GCC organisation.\n
  • \n
  • \n Image angles should be checked during the image process (which\n angle refers to which angle).\n
  • \n
  • \n If the product refers to unisex, then you can select Yes or No\n from the unisex dropdown and then fill in the gender.\n
  • \n
  • \n If a product is only for unisex, then the gender should have a\n \"Male\" feed.\n
  • \n
  • \n If the age group is \"kids,\" then boys or girls could be selected.\n
  • \n
\n
\n ),\n });\n }\n\n help() {\n Modal.info({\n title: \"INSTRUCTION WHILE IMPORT DATA\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • Excel Sheet Name Must be \"Sheet1\"
  • \n
  • Format of Product Excel should be Same as Example
  • \n
  • \n If Excel Contain Any new Product that Not Exist Yet it will\n Created Directly\n
  • \n
\n
\n ),\n });\n }\n\n async ImageHelp() {\n let rs = await getDataTable(\"EXEC frmProductDetails_ImageHelp\");\n const keys = Object.keys(rs[0]);\n Modal.info({\n title: \"INSTRUCTION FOR IMAGE ATTRIBUTE\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n {keys.map((value, index) => {\n return ;\n })}\n \n {rs.map((value, index) => {\n return (\n \n {keys.map((value1, index1) => {\n if (value1 === \"Image\") {\n return (\n \n );\n } else {\n return ;\n }\n })}\n \n );\n })}\n
{value}
\n \n {value[value1]}
\n
\n ),\n });\n }\n\n async alwCustomSheet(e) {\n if (e.target.checked) {\n this.setState({ alwCustomSheetval: 1 });\n } else {\n this.setState({ alwCustomSheetval: 0 });\n }\n //await this.updateData()\n }\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

\n IMPORT DATA MASTER\n \n

\n
\n {(this.state.loginId === \"1\" || this.state.loginId === \"6\") && (\n \n Rules\n \n )}\n
\n \n
\n \n Help\n \n
\n
\n \n Image Help\n \n
\n
\n \n
\n
\n \n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n {this.state.alwCustomSheetval === 1 && (\n
\n
\n \n \n this.onAutoCOmpletMultiPleSelect(e, \"portalList\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n \n this.onAutoCOmpletMultiPleSelect(e, \"ImportSheetId\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n *\n \n this.onAfterSelect(e, \"lotID\", \"LotName\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n
\n
\n
\n )}\n {this.state.alwCustomSheetval !== 1 && (\n
\n
\n \n
\n \n
\n
\n
\n )}\n
\n \n
\n \n
\n
\n
\n \n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n {this.state.visible && (\n \n )}\n
\n
\n {(this.state.loginId == \"10\" || this.state.loginId == \"1\") && (\n
\n \n
\n {this.state.visible && (\n \n Export Error(beta)\n \n )}\n
\n
\n )}\n
\n \n \n
\n \n );\n }\n\n async updateVSDATA() {\n this.setState({ loading: true });\n let Que = \"EXEC USP_SetVSData_ForMerc @loginid=\" + this.state.loginId;\n let rs = await getDataTable(Que);\n if (rs) {\n this.setState({ loading: false });\n Swal.fire({\n icon: \"info\",\n title: \"Data Successfully Updated\",\n showConfirmButton: false,\n timer: 2500,\n });\n }\n }\n\n async deleteRow(e) {\n let rst = window.confirm(\"Are you sure want to delete ?\");\n if (!rst) {\n return false;\n }\n let pid = e[\"#ParentID\"];\n this.setState({ loading: true });\n let Que =\n \"EXEC DeleteProduct @loginid=\" + this.state.loginId + \" , @pid=\" + pid;\n let rs = await getDataTable(Que);\n if (rs) {\n this.setState({ loading: false });\n Swal.fire({\n icon: \"info\",\n title: \"Product Deleted SuccessFully\",\n showConfirmButton: false,\n timer: 2500,\n });\n await this.getdata(this.state.loginId, \"\");\n }\n }\n\n async downloadImportFormat() {\n let MandatoryArray = [{ Block: this.state.catid1 }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let brandCheckQuery =\n \"SELECT COUNT(*) AS brandCount FROM BrandMaster WHERE OrgID = \" +\n this.state.orgid;\n let brandCheckResult = await getDataTable(brandCheckQuery);\n\n if (brandCheckResult[0].brandCount === 0) {\n // Show an error message if the brand is not created\n debugger;\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Brand Not Created\",\n text: \"Please Create The Brand First From Brand Master\",\n showConfirmButton: false,\n timer: 1500,\n });\n return;\n }\n\n let rsst = await getDataTable(\n \"SELECT templateid,TamplateName FROM ImportTemplateMaster where TemplateDis = 0 and selectType in (0,1) and CatID = \" +\n this.state.catid1\n );\n if (Array.isArray(rsst)) {\n await Modal.info({\n title: \"Import Format List\",\n okText: \"CLOSE\",\n okButtonProps: { style: { display: \"none\" } },\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"400px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n {rsst.map((value, index) => {\n return (\n
\n \n {value.TamplateName}\n \n
\n
\n );\n })}\n
\n ),\n });\n }\n }\n\n async downloadCustomFormat() {\n let MandatoryArray = [\n { Block: this.state.catid1 },\n { \"Import Sheet\": this.state.ImportSheetId },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let rsst = await getDataTable(\n \"SELECT templateid,TamplateName FROM ImportTemplateMaster where TemplateDis = 0 and selectType in (0,2) and CatID = \" +\n this.state.catid1\n );\n if (Array.isArray(rsst)) {\n await Modal.info({\n title: \"Import Format List\",\n okText: \"CLOSE\",\n okButtonProps: { style: { display: \"none\" } },\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"400px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n {rsst.map((value, index) => {\n return (\n
\n \n {value.TamplateName}\n \n
\n
\n );\n })}\n
\n ),\n });\n }\n }\n\n async ExportFormat(id) {\n this.setState({ loading: true });\n let sql = \"Exec ExcelImportFormatExample @catid =\" + id;\n let rs = await getDataTable(sql);\n if (Array.isArray(rs)) {\n let Quue =\n \"EXEC GetOption_Value @tempid=\" +\n id +\n \" , @loginID = \" +\n this.state.loginId;\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetdrpExcel?que=\" +\n Quue +\n \"&BlockID=\" +\n this.state.catid1\n );\n let str = await rs1.text();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n str;\n link.setAttribute(\n \"download\",\n \"IMPORTFORMAT-\" + this.state.catname1 + \".xlsx\"\n );\n document.body.appendChild(link);\n link.click();\n this.setState({ loading: false });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"No attribute Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n }\n }\n}\n","import { Modal } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey } from '../../Configuration';\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\nimport _ from 'lodash';\nconst dataBase = \"IMAGEDB\";\n\nexport default class frmTemplate extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n adata: [],\n tdata: [],\n atList: [],\n tptype: '0'\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.fillPortaldata();\n }\n async fillPortaldata() {\n this.setState({\n adata: [],\n tdata: [],\n tempName: '',\n atList: [],\n catid: '',\n catname: '',\n tempDiscrption: 'NULL'\n })\n }\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible, adata: [] });\n }\n\n\n async gettemplate() {\n let dts = [];\n let Que = \"GETTemplatesList @loginId =\" + this.props.logid + \" , @BlockID = \" + this.state.catid\n let dt = await getDataTable(Que)\n dts = dt\n if (dts.length > 0) {\n this.setState({\n adata: [],\n tdata: dts\n })\n }\n }\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n }\n\n\n\n render() {\n return (\n
\n \n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n this.onAfterSelect(e, \"catid\", \"catname\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n
\n
\n
\n {this.state.tdata.length > 0 && this.state.tdata != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n\n
\n \n
\n )\n }\n \n\n async deleteRow(e) {\n if (e[\"#generic\"] === 1 && (this.props.logid != \"1\" && this.props.logid != \"10\" && this.props.logid != \"6\")) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Cannot delete Generic Template',\n showConfirmButton: false,\n timer: 1000\n })\n return;\n }\n var st = window.confirm(\"Are you Sure to Delete That ?\")\n if (!st) {\n return false;\n }\n let dts = [];\n let Que = \" Update TemplateMaster set TemplateDis = 1 output inserted.TemplateID where TemplateID =\" + e[\"#TemplateID\"]\n let dt = await getDataTable(Que)\n dts = dt\n if (dts) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Deleted Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n await this.gettemplate()\n return;\n }\n else {\n alert(dt)\n }\n }\n \n\n\n \n}","import { Modal, Button } from 'antd';\r\n\r\nimport React, { Component } from 'react';\r\nimport AutoCompleteInput from '../../src/Actions/Controls/AutoComplete/autoComplete';\r\nimport AutoCompletemulti from '../../src/Actions/Controls/AutoComplete/autoCompleteMultiple';\r\nimport AutoCompleteCascad from '../../src/Actions/Controls/AutoComplete/autoComplete.cascad';\r\nimport '../ORDER/OrderMaster/style.css'\r\nimport { Configuration, MandatoryFormFields, getDataTable } from '../Configuration';\r\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\nlet groupList = [];\r\nlet AID = [];\r\nexport default class SelectAttributeUpdate extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n loginId: 0,\r\n modal1Visible: false,\r\n modal2Visible: false,\r\n AttributeName: \"\",\r\n AID: \"\",\r\n };\r\n }\r\n\r\n\r\n async componentDidMount() {\r\n this.setState({\r\n loginId: Configuration.USER_ID,\r\n });\r\n await this.fillPortaldata(this);\r\n }\r\n\r\n async fillPortaldata() {\r\n let data = [];\r\n let Query = \"select distinct AttributeName from NamshiUpdateAttributes\"\r\n data = await getDataTable(Query)\r\n groupList = data\r\n this.forceUpdate();\r\n }\r\n\r\n setModal2Visible(modal2Visible) {\r\n this.setState({ modal2Visible });\r\n }\r\n\r\n myChangeHandler = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n this.forceUpdate();\r\n }\r\n\r\n async SavePortal() {\r\n for (let i = 0; i < AID.length; i++) {\r\n let attributeName = AID[i];\r\n let existingQuery = \"Select * from NamshiUpdateAttributes where AttributeName = '\" + attributeName + \"' and isAllowed = 1\";\r\n let existingDt = await getDataTable(existingQuery);\r\n\r\n if (existingDt.length > 0) {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'Attribute ' + attributeName + ' Already Exist with isAllowed = 1',\r\n showConfirmButton: false,\r\n timer: 1500\r\n });\r\n continue;\r\n }\r\n\r\n let Que =\r\n \"Update NamshiUpdateAttributes set isAllowed = 1 output inserted.attributeid where AttributeName = '\" +\r\n attributeName +\r\n \"'\";\r\n let rs = await getDataTable(Que);\r\n debugger\r\n if (rs.length > 0) {\r\n Swal.fire({\r\n position: \"top-end\",\r\n icon: \"info\",\r\n title: \"Successfully Saved\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n } else {\r\n alert(\"Some Error Occurred\");\r\n this.setState({ loading: false });\r\n }\r\n }\r\n\r\n await this.fillPortaldata();\r\n this.forceUpdate();\r\n }\r\n\r\n\r\n\r\n myChangeHandler = (event) => {\r\n let nam = event.target.name;\r\n let val = event.target.value;\r\n this.setState({ [nam]: val });\r\n\r\n this.forceUpdate();\r\n }\r\n\r\n onAfterSelect(selectedOptions, id, name, index = 0) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName\r\n })\r\n }\r\n else {\r\n this.setState({\r\n [id]: '',\r\n [name]: ''\r\n })\r\n }\r\n }\r\n\r\n chkFacChange(evt) {\r\n\r\n let facIds = AID;\r\n if (evt.target.checked) {\r\n\r\n facIds.push(evt.target.value);\r\n AID = facIds\r\n\r\n }\r\n else {\r\n facIds.pop(evt.target.value);;\r\n AID = facIds\r\n }\r\n this.forceUpdate();\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n\r\n this.setModal2Visible(false)}\r\n onCancel={() => this.setModal2Visible(false)}\r\n destroyOnClose={true}\r\n maskClosable={false}\r\n footer={null}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {groupList.map((fac, key) => {\r\n return (\r\n \r\n \r\n )\r\n })}\r\n \r\n
\r\n \r\n \r\n
\r\n
ActionAttributeName
 {key + 1}{fac.AttributeName}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}","import { Modal } from 'antd';\r\nimport React, { Component } from 'react';\r\nimport '../ORDER/OrderMaster/style.css'\r\nimport Table from '../Actions/Controls/Table/AntDTable'\r\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey } from '../Configuration';\r\nimport AutoCompleteInput from '../Actions/Controls/AutoComplete/autoComplete';\r\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad';\r\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\nimport _, { bind } from 'lodash';\r\nconst dataBase = \"IMAGEDB\";\r\n\r\nlet SequenceList = [];\r\nexport default class frmSetPriorityImage extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n modal1Visible: false,\r\n modal2Visible: false,\r\n AID: 0,\r\n UID: 0,\r\n Priority: '',\r\n loading: false,\r\n list: [],\r\n rwid: 0\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgid: rs[0].orgid\r\n });\r\n await this.getData(this);\r\n }\r\n\r\n async getData() {\r\n let que3 = await getDataTable(\"select RWID as [#rwid], category, AttributeName,priority from AttributeCatPriorityMapping inner join attributemaster on AttributeCatPriorityMapping.attributeid = attributemaster.aid\")\r\n SequenceList = que3\r\n this.setState({\r\n list: que3\r\n })\r\n this.forceUpdate();\r\n }\r\n\r\n\r\n setModal1Visible(modal1Visible) {\r\n this.setState({ modal1Visible });\r\n }\r\n setModal2Visible(modal2Visible) {\r\n this.setState({ modal2Visible, adata: [] });\r\n }\r\n\r\n onAfterSelect(selectedOptions, id, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName,\r\n })\r\n }\r\n else {\r\n this.setState({\r\n [id]: '',\r\n [name]: '',\r\n })\r\n }\r\n }\r\n\r\n async saveData() {\r\n let MandatoryArray = [\r\n { \"Sequence\": this.state.VName },\r\n { \"Attribute\": this.state.AID },\r\n { \"Priority\": this.state.Priority }\r\n ]\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n this.setState({ adata: [] })\r\n return false;\r\n }\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n if (this.state.rwid > 0) {\r\n await this.updateData()\r\n return;\r\n }\r\n\r\n let que2 = await getDataTable(\"select * from AttributeCatPriorityMapping where AttributeId =\" + this.state.AID + \" and Category = '\" + this.state.VName + \"' and Priority =\" + this.state.Priority)\r\n if (que2.length > 0) {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'ALREADY EXIST',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return;\r\n }\r\n let Que = \"INSERT INTO AttributeCatPriorityMapping(AttributeId, Category, Priority ) output inserted.RWID VALUES (\" + this.state.AID + \",'\" + this.state.VName + \"',\" + this.state.Priority + \")\";\r\n let que1 = await getDataTable(Que);\r\n if (que1.length > 0) {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Saved Successfully\",\r\n showConfirmButton: false,\r\n timer: 1500\r\n }); this.setState({\r\n loading: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Not Saved\",\r\n showConfirmButton: false,\r\n timer: 1500\r\n }); this.setState({\r\n loading: true,\r\n });\r\n }\r\n await this.getData(this);\r\n this.forceUpdate();\r\n }\r\n\r\n myChangeHandler = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n }\r\n\r\n\r\n async deleteRow(e) {\r\n console.log(e);\r\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"6\") {\r\n let st = window.confirm(\"Are you sure want to delete ?\")\r\n if (!st) {\r\n return false;\r\n }\r\n console.log(e);\r\n let Que = \"delete from AttributeCatPriorityMapping where rwid = \" + e[\"#rwid\"]\r\n let rs = await getDataTable(Que)\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'Successfully Deleted',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n await this.getData()\r\n }\r\n else {\r\n alert(\"You are not allowed to delete\")\r\n return;\r\n }\r\n }\r\n\r\n async EditRowFn(e) {\r\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"6\") {\r\n let st = window.confirm(\"Are you sure you want to Edit?\");\r\n if (!st) {\r\n return false;\r\n }\r\n let Que = \"select RWID as [#rwid], aid as [#aid], category, AttributeName, priority from AttributeCatPriorityMapping inner join attributemaster on AttributeCatPriorityMapping.attributeid = attributemaster.aid where rwid = \" + e[\"#rwid\"];\r\n let rs = await getDataTable(Que);\r\n if (rs.length > 0) {\r\n this.setState({\r\n AID: rs[0][\"#aid\"],\r\n VName: rs[0].category,\r\n AttName: rs[0].AttributeName,\r\n Priority: rs[0].priority,\r\n rwid: rs[0][\"#rwid\"],\r\n modal2Visible: true, // Open the modal when editing\r\n });\r\n }\r\n } else {\r\n alert(\"You are not allowed to edit\");\r\n return;\r\n }\r\n }\r\n\r\n async updateData() {\r\n this.setState({ loading: true })\r\n let que4 = \"UPDATE AttributeCatPriorityMapping SET AttributeId =\" + this.state.AID + \", Category ='\" + this.state.VName + \"', Priority =\" + this.state.Priority + \" OUTPUT inserted.rwid WHERE (rwid = \" + this.state.rwid + \")\"\r\n let que5 = await getDataTable(que4);\r\n if (que5.length > 0) {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'Successfully Updated',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n await this.getData()\r\n } else {\r\n alert(\"Some Error Occurred\")\r\n return;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n this.setModal2Visible(false)}\r\n onCancel={() => this.setModal2Visible(false)}\r\n destroyOnClose={true}\r\n maskClosable={false}\r\n footer={null}\r\n >\r\n
\r\n
\r\n \r\n this.onAfterSelect(e, \"UID\", \"VName\")}\r\n isValid={this.state.isValid}\r\n value={this.state.UID}\r\n >\r\n
\r\n
\r\n \r\n this.onAfterSelect(e, \"AID\", \"AttName\")}\r\n isValid={this.state.isValid}\r\n value={this.state.AID}\r\n >\r\n
\r\n
\r\n \r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.list.length > 0 && this.state.list !== undefined &&\r\n this.EditRowFn(e)}\r\n DeleteFn={(e) => this.deleteRow(e)}\r\n height='63vh'\r\n id='fielddata'\r\n exportXL=\"true\">\r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}","import { Modal } from 'antd';\r\nimport React, { Component } from 'react';\r\nimport '../ORDER/OrderMaster/style.css'\r\nimport { Configuration, getDataTable, GetCatogoryAttributeValuesYoox } from '../Configuration';\r\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\r\nimport { Spin } from 'antd';\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\nimport _, { bind } from 'lodash';\r\nconst dataBase = \"IMAGEDB\";\r\n\r\nexport default class frmGetDetailsYoox extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n modal1Visible: false,\r\n modal2Visible: false,\r\n loading: false,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgid: rs[0].orgid\r\n });\r\n }\r\n\r\n\r\n setModal1Visible(modal1Visible) {\r\n this.setState({ modal1Visible });\r\n }\r\n \r\n setModal2Visible(modal2Visible) {\r\n this.setState({ modal2Visible, adata: [] });\r\n }\r\n\r\n onAfterSelect(selectedOptions, id, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName,\r\n })\r\n }\r\n else {\r\n this.setState({\r\n [id]: '',\r\n [name]: '',\r\n })\r\n }\r\n }\r\n\r\n async fetchCategoryData() {\r\n this.setState({ loading: true })\r\n\r\n let url = \"https://richemontit3-dev.mirakl.net/api/hierarchies\"\r\n try {\r\n let rs1 = await GetCatogoryAttributeValuesYoox(url);\r\n \r\n if (rs1 && rs1.hierarchies && Array.isArray(rs1.hierarchies)) {\r\n let csvContent = \"code,label\\n\";\r\n rs1.hierarchies.forEach(item => {\r\n csvContent += `\"${item.code}\",\"${item.label}\"\\n`;\r\n });\r\n \r\n const blob = new Blob([csvContent], { type: 'text/csv' });\r\n \r\n const link = document.createElement('a');\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = 'Catalog_category.csv';\r\n \r\n document.body.appendChild(link);\r\n link.click();\r\n \r\n document.body.removeChild(link);\r\n await Swal.fire({\r\n icon: 'success',\r\n title: 'File Downloaded Successfully.',\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n this.setState({ loading: false })\r\n\r\n return 'Data exported to CSV successfully!';\r\n } else {\r\n console.error('Invalid response structure:', rs1);\r\n \r\n await Swal.fire({\r\n icon: 'error',\r\n title: 'Error exporting data - Invalid response structure',\r\n });\r\n this.setState({ loading: false })\r\n\r\n return 'Error exporting data - Invalid response structure';\r\n }\r\n } catch (error) {\r\n console.error('Error fetching or exporting data:', error);\r\n \r\n await Swal.fire({\r\n icon: 'error',\r\n title: 'Error exporting data',\r\n });\r\n this.setState({ loading: false })\r\n\r\n return 'Error exporting data';\r\n }\r\n }\r\n\r\n\r\n async fetchAttributeData() {\r\n this.setState({ loading: true })\r\n\r\n let url = \"https://richemontit3-dev.mirakl.net/api/products/attributes\"\r\n try {\r\n let rs1 = await GetCatogoryAttributeValuesYoox(url);\r\n \r\n if (rs1 && rs1.attributes && Array.isArray(rs1.attributes)) {\r\n let csvContent = \"code,default_value,description,example,hierarchy_code,label\\n\";\r\n rs1.attributes.forEach(item => {\r\n csvContent += `\"${item.code}\",\"${item.default_value}\",\"${item.description}\",\"${item.example}\",\"${item.hierarchy_code}\",\"${item.label}\"\\n`;\r\n });\r\n \r\n const blob = new Blob([csvContent], { type: 'text/csv' });\r\n \r\n const link = document.createElement('a');\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = 'Catalog_attributes.csv';\r\n \r\n document.body.appendChild(link);\r\n link.click();\r\n \r\n document.body.removeChild(link);\r\n await Swal.fire({\r\n icon: 'success',\r\n title: 'File Downloaded Successfully.',\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n this.setState({ loading: false })\r\n\r\n return 'Data exported to CSV successfully!';\r\n } else {\r\n console.error('Invalid response structure:', rs1);\r\n \r\n await Swal.fire({\r\n icon: 'error',\r\n title: 'Error exporting data - Invalid response structure',\r\n });\r\n this.setState({ loading: false })\r\n\r\n return 'Error exporting data - Invalid response structure';\r\n }\r\n } catch (error) {\r\n console.error('Error fetching or exporting data:', error);\r\n \r\n await Swal.fire({\r\n icon: 'error',\r\n title: 'Error exporting data',\r\n });\r\n this.setState({ loading: false })\r\n\r\n return 'Error exporting data';\r\n }\r\n }\r\n\r\n\r\n async fetchValueseData() {\r\n this.setState({ loading: true })\r\n let url = \"https://richemontit3-dev.mirakl.net/api/values_lists\";\r\n \r\n try {\r\n let rs1 = await GetCatogoryAttributeValuesYoox(url);\r\n \r\n if (rs1 && rs1.values_lists && Array.isArray(rs1.values_lists)) {\r\n let csvContent = \"code,label\\n\";\r\n \r\n rs1.values_lists.forEach(list => {\r\n if (list.values && Array.isArray(list.values)) {\r\n list.values.forEach(item => {\r\n csvContent += `\"${item.code}\",\"${item.label}\"\\n`;\r\n });\r\n }\r\n });\r\n \r\n const blob = new Blob([csvContent], { type: 'text/csv' });\r\n \r\n const link = document.createElement('a');\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = 'Catalog_Values.csv';\r\n \r\n document.body.appendChild(link);\r\n link.click();\r\n \r\n document.body.removeChild(link);\r\n \r\n await Swal.fire({\r\n icon: 'success',\r\n title: 'File Downloaded Successfully.',\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n \r\n this.setState({ loading: false })\r\n\r\n \r\n return 'Data exported to CSV successfully!';\r\n } else {\r\n console.error('Invalid response structure:', rs1);\r\n \r\n await Swal.fire({\r\n icon: 'error',\r\n title: 'Error exporting data - Invalid response structure',\r\n });\r\n \r\n this.setState({ loading: false })\r\n\r\n \r\n return 'Error exporting data - Invalid response structure';\r\n }\r\n } catch (error) {\r\n console.error('Error fetching or exporting data:', error);\r\n \r\n await Swal.fire({\r\n icon: 'error',\r\n title: 'Error exporting data',\r\n });\r\n \r\n this.setState({ loading: false })\r\n\r\n \r\n return 'Error exporting data';\r\n }\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n this.setModal2Visible(false)}\r\n onCancel={() => this.setModal2Visible(false)}\r\n destroyOnClose={true}\r\n maskClosable={false}\r\n footer={null}\r\n >\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n}","import React, { Component } from \"react\";\nimport Table from \"../Actions/Controls/Table/AntDTable\";\nimport axios from \"axios\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport {\n Configuration,\n getDataTable,\n sleep,\n MandatoryFormFields,\n GetNewDrpSheet,\n json2portalExport,\n postDataToNamshi,\n getNamshiJobDetails,\n UpdateNamshiImage,\n json2xlsx,\n EasyEcomApi,\n CreateListingAmazon,\n IncreffApi,\n UpdateIncreffApi,\n CreateListingYoox,\n flipkartTokenGen,\n getTrendyolAttributes,\n} from \"../Configuration\";\nimport { Modal, Spin } from \"antd\";\nimport TEMP from \"../IMAGE/MODAL/frmTemplate\";\nimport \"antd/dist/antd.css\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport Swal, { swal } from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport { mapValues, template } from \"lodash\";\nimport SELECTEDATTRIBUTES from \"./frmSelectAttributeUpdate\";\nimport SETPRIORITY from \"./frmSetPriorityImage\";\nimport GETDETAILSYOOX from \"./frmGetDetailsYoox\";\nimport { file } from \"jszip\";\nimport { OfflinePinRounded } from \"@material-ui/icons\";\nimport { encodeBase64 } from \"tweetnacl-util\";\nconst NamshiCredStg = \"953f8d16-4211-11ec-a267-42010a6a0014\";\n// const NamshiCredStg = \"772a0098-3579-11ec-a267-42010a6a0014\";\nconst NamshiCredPrd_UAE = \"b4eb442e-9a18-11ec-98ed-42010a590054\";\nconst NamshiCredPrd_KSA = \"c6348e57-87c1-11ef-8822-42010a590025\";\nconst NamshiStgURL = \"https://marketplace.namstg.net\";\nconst NamshiPrdURL = \"https://marketplace.namshi.net\";\nconst EasyEcomUrl = \"https://api.easyecom.io/Products/CreateMasterProduct\";\nconst EasyEcomkey = \"214114b0b61c5f09b9bfe11019feed75ee58716b\";\nconst EasyEcomToken =\n \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvbG9hZGJhbGFuY2VyLmVhc3llY29tLmlvXC9hY2Nlc3NcL3Rva2VuIiwiaWF0IjoxNjkzMzg4Nzc5LCJleHAiOjE3MDEyNzI3NzksIm5iZiI6MTY5MzM4ODc3OSwianRpIjoiRFhqbFp2ZUVtc01FOFZmVyIsInN1YiI6MTMwMzI4LCJwcnYiOiJhODRkZWY2NGFkMDExNWQ1ZWNjYzFmODg0NWJjZDBlN2ZlNmM0YjYwIiwidXNlcl9pZCI6MTMwMzI4LCJjb21wYW55X2lkIjoxODcsInJvbGVfdHlwZV9pZCI6MiwicGlpX2FjY2VzcyI6MCwicm9sZXMiOm51bGwsImNfaWQiOjE4NywidV9pZCI6MTMwMzI4LCJsb2NhdGlvbl9yZXF1ZXN0ZWRfZm9yIjoxODd9.5dY_3HoYpEpQ_zOyXICXgug1zcN9hZpHdV5hwxXc-Ks\";\nconst EasyEcomUpdate = \"https://api.easyecom.io/Products/UpdateMasterProduct\";\nconst fs = require(\"fs\");\nlet files = \"\";\n\nexport default class frmExportTemplate extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 2,\n orgID: 0,\n catID: 0,\n portalID: 0,\n loading: false,\n lotID: 0,\n adata: [],\n dt: [],\n plist: [],\n artData: [],\n liveArt: [],\n ImgData: [],\n producid: [],\n pId: [],\n file: null,\n trendyolCategories: [],\n trendyolSelectedCategories: [],\n trendyolWorkingCategory: [],\n trendyolTemplatesPresent: [],\n trendyolSelectedTemplatesToPost: [],\n trendyolStoreFronts: [\n { storeFrontName: \"Saudi Arabia\", storeFrontCode: \"SA\", vatRate: 15 },\n {\n storeFrontName: \"United Arab Emirates\",\n storeFrontCode: \"AE\",\n vatRate: 5,\n },\n ],\n trendyolSelectedStoreFronts: [],\n templateSelectionModalVisible: true,\n adidasChannelSelectedForDiscount: [],\n retailAuth: \"\",\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgID: rs[0].orgid,\n });\n\n const urlParams = new URLSearchParams(window.location.search);\n const oauthCode = urlParams.get(\"spapi_oauth_code\");\n const sellerId = urlParams.get(\"selling_partner_id\");\n\n //console.log(\"Authorization Code:\", oauthCode);\n //console.log(\"selling_partner_id:\", sellerId);\n }\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n adata: [],\n });\n } else {\n this.setState({\n [id]: 0,\n [name]: \"\",\n adata: [],\n });\n }\n }\n\n help() {\n Modal.info({\n title: \"INFO\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • \n INCOMPLETE SKU: The count of SKU for which Mandatory Data is\n incomplete.\n
  • \n
  • No Template: The SKU data need to match portal values.
  • \n
\n
\n ),\n });\n }\n\n async GetTemplates() {\n this.setState({\n adata: [],\n });\n\n let MandatoryArray = [\n { Category: this.state.catID },\n { Portal: this.state.portalID },\n { Lot: this.state.lotID },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ adata: [] });\n return false;\n }\n\n let que1 = \"update NamshiUpdateAttributes set isAllowed = 0\";\n let res1 = getDataTable(que1);\n\n this.setState({ loading: true });\n let Spname = \"ExportdataTemplateGen\";\n let SpnameNykaa = \"ExportdataTemplateGenNykaa\";\n\n let qry =\n \"EXEC \" +\n Spname +\n \" @catID=\" +\n this.state.catID +\n \",@portalID=\" +\n this.state.portalID +\n \",@lotID=\" +\n this.state.lotID +\n \",@orgID=\" +\n this.state.orgID;\n if (this.state.portalID === 33) {\n qry =\n \"EXEC \" +\n Spname +\n \" @catID=\" +\n this.state.catID +\n \",@portalID=\" +\n this.state.portalID +\n \",@lotID=\" +\n this.state.lotID +\n \",@orgID=\" +\n this.state.orgID;\n }\n let rs = await getDataTable(qry);\n debugger;\n if (rs.length > 0) {\n this.setState({\n adata: rs,\n loading: false,\n });\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({\n adata: [],\n loading: false,\n });\n }\n console.log(this.state);\n }\n\n async GetData(e) {\n let prdct = \"\";\n let list = \"\";\n let sheet = 1;\n let r = 1;\n let MandatoryArray = [{ Product: this.state.adata.length }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n return false;\n }\n\n if (e[\"#tid\"] == 0 && this.state.portalID != 5) {\n let pQue =\n \"EXEC FrmExportTemplate_NoTemplate @loginId = \" +\n this.state.loginId +\n \" ,@pid ='\" +\n e[\"#PList\"] +\n \"' ,@catid =\" +\n this.state.catID;\n pQue += \" ,@portalid = \" + this.state.portalID;\n this.setState({ loading: true });\n let PRs = await getDataTable(pQue);\n if (PRs.length > 0) {\n await GetNewDrpSheet(this.state.catID, PRs, \"No Template.xlsx\");\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"No Data Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n this.setState({ loading: false });\n return false;\n } else if (\n e[\"#tid\"] == 0 &&\n this.state.portalID == 5 &&\n this.state.lotID == 0\n ) {\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Please select lot to download error sheet\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n\n if (e[\"#IncompleteList\"] && e[\"#tid\"] != -1) {\n await Swal.fire({\n title: \"Which template do you want to export?\",\n showConfirmButton: true,\n showCancelButton: true,\n showDenyButton: true,\n confirmButtonText: \"Portal Template\",\n denyButtonText: \"Incomplete data\",\n cancelButtonText: \"Portal Incomplete Sheet\",\n }).then((result) => {\n if (result.isConfirmed) {\n if (e[\"#CompleteList\"]) {\n prdct = \"(\" + e[\"#CompleteList\"] + \")\";\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"No Complete Data\",\n showConfirmButton: false,\n timer: 1500,\n });\n r = 0;\n }\n } else if (result.isDenied) {\n prdct = e[\"#IncompleteList\"];\n sheet = 0;\n } else if (result.isDismissed) {\n if (result[\"dismiss\"] === \"cancel\") {\n prdct = \"(\" + e[\"#PList\"] + \")\";\n sheet = 1;\n } else {\n sheet = 10;\n }\n } else {\n r = 0;\n }\n });\n } else if (this.state.portalID != 5 && e[\"#tid\"] != -1) {\n prdct = \"(\" + e[\"#CompleteList\"] + \")\";\n } else if (this.state.portalID != 5 && e[\"#tid\"] == -1) {\n prdct = e[\"#IncompleteList\"];\n sheet = 0;\n } else {\n prdct = e[\"#PList\"];\n sheet = 0;\n }\n if (r == 0) {\n return;\n }\n\n this.setState({ loading: true });\n\n if (sheet == 10) {\n this.setState({ loading: false });\n return;\n }\n\n if (sheet == 1) {\n if (this.state.portalID === 0) {\n const allTempData = e[\"#Alltemp\"];\n const templateProductPairs = allTempData.match(/(\\d+)-\\(([\\d,]+)\\)/g);\n\n if (templateProductPairs) {\n const results = [];\n for (const pair of templateProductPairs) {\n const matches = pair.match(/(\\d+)-\\(([\\d,]+)\\)/);\n if (matches) {\n const templateId = parseInt(matches[1], 10);\n const productIdsStr = matches[2];\n const productIdsArr = productIdsStr\n .split(\",\")\n .map((id) => parseInt(id, 10));\n\n //console.log(\"Template ID:\", templateId);\n //console.log(\"Product IDs:\", productIdsArr);\n\n const que1 =\n \"EXEC ExportTamplateTest @loginid=\" +\n this.state.loginId +\n \", @alist='\" +\n list +\n \"',@filter='\" +\n productIdsArr.join(\",\") +\n \"', @tempID=\" +\n templateId +\n \" ,@catID=\" +\n this.state.catID;\n\n const res1 = await getDataTable(que1);\n if (Array.isArray(res1)) {\n results.push(res1);\n }\n }\n }\n\n if (results.length > 0) {\n const combinedResults = results.flat();\n\n let que1 =\n \"Select SheetName,CellAddress from TemplateMaster where TemplateID = \" +\n e[\"#tid\"];\n let rs0 = await getDataTable(que1);\n await json2portalExport(\n combinedResults,\n rs0[0].SheetName,\n rs0[0].CellAddress,\n this.state.Pname,\n e[\"#tid\"],\n this.state.orgID\n );\n\n let que2 =\n \"EXEC FrmExportData_ExportLotCreation @loginID = \" +\n this.state.loginId +\n \", @tid = \" +\n e[\"#tid\"] +\n \", @plist = '\" +\n prdct.slice(1, -1) +\n \"' , @importLot = '\" +\n this.state.LotName +\n \"'\";\n await getDataTable(que2);\n\n Swal.fire({\n icon: \"info\",\n title: \"DATA EXPORTED SUCCESSFULLY\",\n showConfirmButton: false,\n timer: 1500,\n });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n }\n this.setState({ loading: false });\n } else {\n let Que =\n \"EXEC ExportTamplateTest @loginid=\" +\n this.state.loginId +\n \", @alist='\" +\n list +\n \"',@filter='\" +\n prdct +\n \"', @tempID=\" +\n e[\"#tid\"] +\n \" ,@catID=\" +\n this.state.catID;\n if (\n this.state.portalID === 20 ||\n this.state.portalID === 36 ||\n this.state.portalID === 41 ||\n this.state.portalID === 23 ||\n this.state.portalID === 67\n ) {\n Que =\n \"EXEC ExportTamplateNEW @loginid=\" +\n this.state.loginId +\n \", @alist='\" +\n list +\n \"',@filter='\" +\n prdct +\n \"', @tempID=\" +\n e[\"#tid\"] +\n \" ,@catID=\" +\n this.state.catID;\n }\n if (this.state.portalID === 23 || this.state.portalID === 72) {\n Que =\n \"EXEC ExportTamplateNEWShopify @loginid=\" +\n this.state.loginId +\n \", @alist='\" +\n list +\n \"',@filter='\" +\n prdct +\n \"', @tempID=\" +\n e[\"#tid\"] +\n \" ,@catID=\" +\n this.state.catID;\n }\n let rs = await getDataTable(Que);\n debugger;\n if (Array.isArray(rs)) {\n let que1 =\n \"Select SheetName,CellAddress from TemplateMaster where TemplateID = \" +\n e[\"#tid\"];\n let rs0 = await getDataTable(que1);\n await json2portalExport(\n rs,\n rs0[0].SheetName,\n rs0[0].CellAddress,\n this.state.Pname,\n e[\"#tid\"],\n this.state.orgID\n );\n let que2 =\n \"EXEC FrmExportData_ExportLotCreation @loginID = \" +\n this.state.loginId +\n \", @tid = \" +\n e[\"#tid\"] +\n \", @plist = '\" +\n prdct.slice(1, -1) +\n \"' , @importLot = '\" +\n this.state.LotName +\n \"'\";\n await getDataTable(que2);\n Swal.fire({\n icon: \"info\",\n title: \"DATA EXPORTED SUCCESSFULLY\",\n showConfirmButton: false,\n timer: 1500,\n });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n this.setState({ loading: false });\n }\n } else {\n let errmsg = 0;\n let arr = [\n \"10\",\n \"6\",\n \"1\",\n \"10019\",\n \"20038\",\n \"20057\",\n \"20059\",\n \"20076\",\n \"20102\",\n ];\n if (arr.includes(this.state.loginId) || this.state.orgID === 1) {\n this.setState({ loading: false });\n let stsconfirm = await Swal.fire({\n title: \"EXPORT INCOMPLETE SHEET\",\n showConfirmButton: true,\n showCancelButton: false,\n showDenyButton: true,\n confirmButtonText: \"WITH STATUS\",\n denyButtonText: \"WITHOUT STATUS\",\n });\n if (stsconfirm.isConfirmed) {\n errmsg = 1;\n }\n this.setState({ loading: true });\n }\n let pQue =\n \"EXEC FRMEXPORTTEMPLATE_GETTEMPLATEINCOMPLETEDATA @loginId = \" +\n this.state.loginId +\n \" ,@pid ='\" +\n prdct +\n \"' ,@catid =\" +\n this.state.catID;\n if (e[\"#tid\"] == -1) {\n pQue += \" ,@tid =\" + e[\"#tid\"] + \",@portalid = '\" + e[\"#PList\"] + \"'\";\n } else {\n pQue +=\n \" ,@tid =\" + e[\"#tid\"] + \",@portalid = '\" + this.state.portalID + \"'\";\n }\n pQue += \" ,@errormsg =\" + errmsg;\n this.setState({ loading: true });\n\n let PRs = await getDataTable(pQue);\n if (PRs.length > 0) {\n if (this.state.portalID != 5) {\n if (e[\"#tid\"] === -1) {\n await GetNewDrpSheet(\n this.state.catID,\n PRs,\n this.state.Pname + \"-Incomplete.xlsx\"\n );\n } else {\n await GetNewDrpSheet(\n this.state.catID,\n PRs,\n e[\"Template Name\"] + \"-Incomplete.xlsx\"\n );\n }\n } else {\n await GetNewDrpSheet(this.state.catID, PRs, \"Pending Data.xlsx\");\n }\n Swal.fire({\n icon: \"info\",\n title: \"Data Exported Successfully\",\n showConfirmButton: false,\n timer: 1500,\n });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"No Data Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n this.setState({ loading: false });\n }\n }\n\n async getLotData() {\n let MandatoryArray = [\n { Category: this.state.catID },\n { LOT: this.state.lotID },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n this.setState({ loading: true });\n let que1 = await getDataTable(\n \"select CustomImportSheetId from LotCustomSheetRelation where LotId = \" +\n this.state.lotID\n );\n debugger;\n if (que1.length > 0) {\n let que2 =\n \"EXEC FrmExportGetCustomSheetAliasingData @loginID =\" +\n this.state.loginId +\n \" ,@templateID =\" +\n que1[0].CustomImportSheetId +\n \",@lotID =\" +\n this.state.lotID +\n \",@catid =\" +\n this.state.catID;\n let que3 = await getDataTable(que2);\n await GetNewDrpSheet(this.state.catID, que3, \"Master Data.xlsx\");\n this.setState({ loading: false });\n } else {\n let que =\n \"EXEC ExportMasterData @loginID = \" +\n this.state.loginId +\n \" ,@catid = \" +\n this.state.catID +\n \" ,@lotID = \" +\n this.state.lotID;\n let rs = await getDataTable(que);\n debugger;\n await GetNewDrpSheet(this.state.catID, rs, \"Master Data.xlsx\");\n this.setState({ loading: false });\n }\n }\n\n async getErrorData() {\n let MandatoryArray = [\n { Category: this.state.catID },\n { LOT: this.state.lotID },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n this.setState({ loading: true });\n let que =\n \"EXEC frmExportData_getOldErrorSheet @lotID = \" + this.state.lotID;\n let rs = await getDataTable(que);\n if (rs.length > 0) {\n await GetNewDrpSheet(\n this.state.catID,\n rs,\n this.state.LotName + \"_Error_data.xlsx\"\n );\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"ERROR SHEET NOT FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n this.setState({ loading: false });\n }\n\n async removeLotData() {\n let MandatoryArray = [{ LOT: this.state.lotID }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n return false;\n }\n\n // Show a confirmation popup\n const confirmation = await Swal.fire({\n icon: \"warning\",\n title: \"Are you sure you want to remove this lot?\",\n showCancelButton: true,\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n });\n\n if (confirmation.isConfirmed) {\n this.setState({ loading: true });\n let que = \"EXEC frmExportData_RemoveLotData @lotID = \" + this.state.lotID;\n let rs = await getDataTable(que);\n await Swal.fire({\n icon: \"info\",\n title: \"LOT REMOVED SUCCESSFULLY\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n }\n }\n\n async createDataForNamshi() {\n this.setState({\n loading: true,\n });\n\n //Query to find productSKUS\n let que =\n \" EXEC frmExportData_CreateDataForNamshi @lotid = \" +\n this.state.lotID +\n \" , @PortalID = \" +\n this.state.portalID;\n let dt = await getDataTable(que);\n debugger;\n let InCompleteDt = [];\n let CompleteDt = [];\n //Iterating each SKU and getting data\n for (let i = 0; i < dt.length; i++) {\n let ele = dt[i];\n //Query to get Images for productSKU\n let que1 =\n \" EXEC frmExportData_CreateAdditionalDatafornamshi @parent = '\" +\n ele[\"product_id\"] +\n \"' , @orgid = \" +\n this.state.orgID +\n \" , @type = 'images' \";\n let dt1 = await getDataTable(que1);\n let arr = [];\n if (dt1.length > 2) {\n dt1.forEach((ele) => {\n arr.push(ele[\"AttributeValue\"]);\n });\n } else {\n InCompleteDt.push(ele);\n continue;\n }\n\n dt[i][\"images\"] = arr;\n\n //Query to get sizes data\n let que2 =\n \" EXEC frmExportData_CreateAdditionalDatafornamshi @parent = '\" +\n ele[\"product_id\"] +\n \"' , @orgid = \" +\n this.state.orgID +\n \" , @type = 'sizes' \";\n let dt2 = await getDataTable(que2);\n dt[i][\"product_lines\"] = dt2;\n CompleteDt.push(dt[i]);\n }\n\n if (CompleteDt.length === 0) {\n await Swal.fire({\n icon: \"info\",\n title: \"IMAGES ARE NOT READY FOR ANY ARTICLE (CAN NOT PUSH)\",\n showConfirmButton: false,\n timer: 3500,\n });\n return false;\n }\n\n let finaldt = { items: CompleteDt };\n //console.log(finaldt);\n let finalRes = await postDataToNamshi(finaldt, NamshiCredStg, NamshiStgURL);\n debugger;\n if (finalRes.status === \"success\") {\n await sleep(2000);\n this.setState({ loading: false });\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK JOB EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({ loading: true });\n let jobdt = await getNamshiJobDetails(\n finalRes.job_id,\n NamshiCredStg,\n NamshiStgURL\n );\n\n for (let k = 0; k < jobdt[\"details\"][\"items\"].length; k++) {\n jobdt[\"details\"][\"items\"][k][\"job_id\"] = finalRes.job_id;\n }\n debugger;\n await json2xlsx(jobdt[\"details\"][\"items\"], \"JOB STATUS\");\n this.setState({ loading: false });\n } else {\n await Swal.fire({\n icon: \"info\",\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 1500,\n });\n await json2xlsx(finalRes[\"details\"], \"JOB STATUS\");\n }\n this.setState({ loading: false });\n }\n\n chkArtLive(evt) {\n let facIds = this.state.liveArt;\n if (evt.target.checked) {\n facIds.push(evt.target.value);\n this.setState({\n liveArt: facIds,\n });\n } else {\n facIds.pop(evt.target.value);\n this.setState({\n liveArt: facIds,\n });\n }\n this.forceUpdate();\n }\n\n async createDataForNamshiLive(f) {\n this.setState({\n loading: true,\n });\n let que =\n \" EXEC frmExportData_CreateDataForNamshiProduction @artlive = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @PortalID = \" +\n this.state.portalID;\n let dt = await getDataTable(que);\n debugger;\n let InCompleteDt = [];\n let CompleteDt = [];\n let NamshiCredPrd = \"\";\n if (f === \"UAE\") {\n NamshiCredPrd = NamshiCredPrd_UAE;\n } else {\n NamshiCredPrd = NamshiCredPrd_KSA;\n }\n let prlist = \"\";\n for (let l = 0; l < this.state.liveArt.length; l++) {\n const element = this.state.liveArt[l];\n if (prlist === \"\") {\n prlist = element;\n } else {\n prlist = prlist + \",\" + element;\n }\n }\n\n //console.log(prlist);\n for (let i = 0; i < dt.length; i++) {\n let ele = dt[i];\n let que1 =\n \" EXEC frmExportData_CreateAdditionalDatafornamshi @parent = '\" +\n ele[\"product_id\"] +\n \"' , @orgid = \" +\n this.state.orgID +\n \" , @type = 'images' \";\n let dt1 = await getDataTable(que1);\n let arr = [];\n if (dt1.length > 2) {\n dt1.forEach((ele) => {\n arr.push(ele[\"AttributeValue\"]);\n });\n } else {\n InCompleteDt.push(ele);\n continue;\n }\n dt[i][\"images\"] = arr;\n let que2 =\n \" EXEC frmExportData_CreateAdditionalDatafornamshi @parent = '\" +\n ele[\"product_id\"] +\n \"' , @orgid = \" +\n this.state.orgID +\n \" , @type = 'sizes' \";\n let dt2 = await getDataTable(que2);\n dt[i][\"product_lines\"] = dt2;\n\n CompleteDt.push(dt[i]);\n }\n\n if (CompleteDt.length === 0) {\n await Swal.fire({\n icon: \"info\",\n title: \"IMAGES ARE NOT READY FOR ANY ARTICLE (CAN NOT PUSH)\",\n showConfirmButton: false,\n timer: 3500,\n });\n return false;\n }\n\n let finaldt = { items: CompleteDt };\n let finalRes = await postDataToNamshi(finaldt, NamshiCredPrd, NamshiPrdURL);\n\n if (finalRes.status === \"success\") {\n await sleep(2000);\n this.setState({ loading: false });\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK JOB EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({ loading: true });\n let jobdt = await getNamshiJobDetails(\n finalRes.job_id,\n NamshiCredPrd,\n NamshiPrdURL\n );\n for (let k = 0; k < jobdt[\"details\"][\"items\"].length; k++) {\n jobdt[\"details\"][\"items\"][k][\"job_id\"] = finalRes.job_id;\n let que3 =\n \"EXEC frmExportData_SaveLiveDataforNamshi @pid = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @artlive = \" +\n jobdt[\"details\"][\"items\"][k].product_id +\n \" , @portalid = \" +\n this.state.portalID +\n \" , @livestatus = \" +\n jobdt[\"details\"][\"items\"][k].status +\n \", @jobid = \" +\n \"'\" +\n jobdt[\"details\"][\"items\"][k][\"job_id\"] +\n \"'\" +\n \", @Ccode = \" +\n \"'\" +\n f +\n \"'\" +\n \", @livestatustype = \" +\n \"'\" +\n \"PRODUCTION\" +\n \"'\" +\n \", @loginid = \" +\n this.state.loginId;\n await getDataTable(que3);\n }\n debugger;\n await json2xlsx(jobdt[\"details\"][\"items\"], \"JOB STATUS\");\n this.setState({ loading: false });\n } else {\n await Swal.fire({\n icon: \"info\",\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 1500,\n });\n await json2xlsx(finalRes[\"details\"], \"JOB STATUS\");\n }\n this.setState({ loading: false });\n }\n\n async createDataForTrendyol(type) {\n //console.log(\"Create JSON\");\n //console.log(this.state.adata);\n\n //Check if there are incomplete articles\n if (this.state.adata[this.state.adata.length - 1][\"Incomplete SKU\"] > 0) {\n Swal.fire({\n icon: \"error\",\n title: \"Incomplete Data Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return 0;\n }\n\n let templateNameList = [];\n for (let i = 0; i < this.state.adata.length; i++) {\n if (\n this.state.adata[i][\"Template Name\"] !== \"TOTAL SKU\" ||\n this.state.adata[i][\"Template Name\"] !== \"Trendyol-GenAll\"\n ) {\n const getCatDataQuery = `EXEC frmExportData_getTrendyolCategoryData @categoryNames = '${this.state.adata[i][\"Template Name\"]}'`;\n const categoryData = await getDataTable(getCatDataQuery);\n templateNameList.push(categoryData[0]);\n //console.log(this.state.adata[i][\"Template Name\"], categoryData);\n }\n }\n this.state.trendyolTemplatesPresent = templateNameList.filter(\n (temp) => temp !== undefined\n );\n //console.log(this.state.trendyolTemplatesPresent);\n\n this.showTemplateSelectionModal(type);\n }\n\n showTemplateSelectionModal(type) {\n //console.log(this.state.trendyolTemplatesPresent);\n Modal.info({\n title: \"Select Template To Post To API\",\n okText: \"Close\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n \n \n {this.state.trendyolTemplatesPresent.map((value, index) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
Sr No.CheckTemplate NameCategory NameID
\n {\n let temp = [\n ...new Set(\n this.state.trendyolSelectedTemplatesToPost\n ),\n ];\n //console.log(ev);\n if (ev.target.checked) {\n temp.push(\n this.state.trendyolTemplatesPresent[index]\n );\n } else {\n temp = temp.filter(\n (t) =>\n t.templateName !==\n this.state.trendyolTemplatesPresent[index][\n \"templateName\"\n ]\n );\n }\n\n this.state.trendyolSelectedTemplatesToPost = temp;\n }}\n value={value.productid || []}\n defaultChecked={value.Status === \"YES\"}\n />\n {index + 1}{value.templateName}{value.category}{value.id}
\n \n {\n // this.templateSelectionModalVisible = false;\n Modal.destroyAll();\n this.showTrendyolStoreFrontSelectionModal(\n this.state.trendyolStoreFronts,\n this.state.trendyolSelectedTemplatesToPost,\n this.state.portalID,\n this.state.adata,\n type\n );\n }}\n className=\"btn btn-primary\"\n >\n Update\n \n
\n \n ),\n onCancel() {\n Modal.destroyAll(); // Close all modals\n },\n });\n }\n\n showTrendyolStoreFrontSelectionModal(\n trendyolStoreFronts,\n trendyolSelectedTemplatesToPost,\n portalID,\n adata,\n type\n ) {\n let trendyolSelectedStoreFronts = [];\n Modal.info({\n title: \"Select Store Front\",\n okText: \"Close\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n \n \n {this.state.trendyolStoreFronts.map((value, index) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
Sr No.CheckStore Front NameStore Front CodeVat Rates
\n {\n let temp = [...new Set(trendyolSelectedStoreFronts)];\n //console.log(ev);\n if (ev.target.checked) {\n temp.push(trendyolStoreFronts[index]);\n } else {\n temp = temp.filter(\n (t) =>\n t.templateName !==\n trendyolStoreFronts[index][\"templateName\"]\n );\n }\n\n trendyolSelectedStoreFronts = temp;\n }}\n value={value.productid}\n defaultChecked={value.Status === \"YES\"}\n />\n {index + 1}{value.storeFrontName}{value.storeFrontCode}{value.vatRate}
\n \n {\n // console.log(\n // trendyolSelectedStoreFronts,\n // trendyolSelectedTemplatesToPost,\n // portalID,\n // adata\n // );\n Modal.destroyAll();\n this.generateTrendyolData(\n trendyolSelectedStoreFronts,\n trendyolSelectedTemplatesToPost,\n portalID,\n adata,\n type\n );\n }}\n className=\"btn btn-primary\"\n >\n Select\n \n
\n \n ),\n onCancel() {\n Modal.destroyAll(); // Close all modals\n },\n });\n }\n\n async generateTrendyolData(\n trendyolSelectedStoreFronts,\n templateList,\n portalId,\n adata,\n type\n ) {\n this.setState({ loading: true });\n // console.log(templateList, portalId);\n let trendyolDataObject = {\n // storeFrontCodes: trendyolSelectedStoreFronts,\n supplierId: 959437,\n dataArray: [],\n type,\n portalId,\n loginId: 1,\n };\n\n trendyolSelectedStoreFronts = [...new Set(trendyolSelectedStoreFronts)];\n // console.log(trendyolSelectedStoreFronts);\n templateList = [...new Set(templateList)];\n // console.log(templateList);\n for (let z = 0; z < trendyolSelectedStoreFronts.length; z++) {\n for (let i = 0; i < templateList.length; i++) {\n let selectedTemplate = adata.filter(\n (data) => data[\"Template Name\"] === templateList[i].templateName\n )[0];\n if (selectedTemplate[\"#CompleteList\"].split(\",\").length > 0) {\n let templateName = selectedTemplate[\"Template Name\"];\n let artList = selectedTemplate[\"#CompleteList\"];\n let newDataQuery = `EXEC frmExportData_CreateDataForTrendyol @artNew = '${artList}',\n @PortalID = ${portalId}, @templateName = '${templateName}', @storeFrontCode = '${\n trendyolSelectedStoreFronts[z].storeFrontCode\n }',\n @vatRate = ${trendyolSelectedStoreFronts[z].vatRate}, @type = '${\n type === \"new\" ? \"new\" : \"existing\"\n }'\n `;\n // console.log(newDataQuery);\n let mainData = await getDataTable(newDataQuery);\n const parseJSON = (obj) => {\n for (let key in obj) {\n if (typeof obj[key] === \"string\") {\n try {\n obj[key] = JSON.parse(obj[key]);\n } catch (error) {\n // Do nothing if it's not a valid JSON string\n }\n }\n }\n };\n\n // Function to modify attributes array based on isCustom\n const modifyAttributes = (attributes) => {\n return attributes.map((attr) => {\n if (attr.isCustom) {\n if (attr.slicer) {\n return {\n attributeId: attr.attributeId,\n customAttributeValue: attr.customAttributeValue,\n slicer: attr.slicer,\n };\n } else if (attr.varianter) {\n return {\n attributeId: attr.attributeId,\n customAttributeValue: attr.customAttributeValue,\n varianter: attr.varianter,\n };\n } else {\n return {\n attributeId: attr.attributeId,\n customAttributeValue: attr.customAttributeValue,\n };\n }\n } else {\n if (attr.slicer) {\n return {\n attributeId: attr.attributeId,\n attributeValueId: attr.attributeValueId,\n slicer: attr.slicer,\n // Remove isCustom and customAttributeValue\n };\n } else if (attr.varianter) {\n return {\n attributeId: attr.attributeId,\n attributeValueId: attr.attributeValueId,\n varianter: attr.varianter,\n // Remove isCustom and customAttributeValue\n };\n } else {\n return {\n attributeId: attr.attributeId,\n attributeValueId: attr.attributeValueId,\n // Remove isCustom and customAttributeValue\n };\n }\n }\n });\n };\n\n mainData.forEach((item) => {\n try {\n parseJSON(item);\n item.attributes = modifyAttributes(item.attributes);\n } catch (error) {\n console.log(error);\n }\n });\n trendyolDataObject.dataArray.push({\n storeFrontCode: trendyolSelectedStoreFronts[z],\n data: mainData,\n });\n this.setState({ loading: false });\n const _type = type === \"new\" ? \"new\" : \"existing\";\n }\n }\n }\n // console.log(trendyolDataObject);\n this.showProductModalForTrendyol(trendyolDataObject);\n }\n\n async showProductModalForTrendyol(mainData, type) {\n // console.log(mainData);\n // console.log(this.state.adata);\n\n const groupedByCode = mainData.dataArray.reduce((acc, item) => {\n const code = item.storeFrontCode.storeFrontCode;\n if (!acc[code]) {\n acc[code] = [];\n }\n acc[code].push(item);\n return acc;\n }, {});\n\n const transformedArray = Object.keys(groupedByCode).map((code) => {\n const items = groupedByCode[code];\n const skucount = items.reduce(\n (total, currentItem) => total + currentItem.data.length,\n 0\n );\n return { storeFrontCode: code, skucount };\n });\n\n Modal.info({\n title: \"Product Details\",\n okText: \"Close\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {transformedArray.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
Sr No.Store Front CodeSKU Count
{index + 1}{value.storeFrontCode}{value.skucount}
\n\n \n {type === \"new\" ? (\n {\n await json2xlsx(mainData, \"Trendyol Product Creation\");\n }}\n className=\"btn btn-primary\"\n >\n Download Product Create Data\n \n ) : (\n {\n await json2xlsx(mainData, \"Trendyol Product Update\");\n }}\n className=\"btn btn-primary\"\n >\n Download Product Update Data\n \n )}\n {\n Modal.destroyAll();\n const method = type === \"new\" ? \"POST\" : \"PUT\";\n this.setState({ loading: true });\n this.postDataAPITrendyol(mainData, method);\n }}\n className=\"btn btn-primary\"\n >\n Post to API\n \n
\n \n ),\n onCancel() {\n Modal.destroyAll(); // Close all modals\n },\n });\n }\n\n async postDataAPITrendyol(data, method) {\n //Product Create API Call\n const login = \"ukqNJYU26z8AgcS3VC70\";\n const pasword = \"kmSD5MTR67Yuu6teV2FZ\";\n const basicAuth = encodeBase64(`${login}:${pasword}`);\n let batchRequestIdList = [];\n //let batchRequestIds = [];\n let batchRequestResponse = [];\n for (let i = 0; i < data.dataArray.length; i++) {\n let productArray = data.dataArray[i];\n let requestData = {\n supplierId: productArray.storeFrontCode === \"AE\" ? 959437 : 997026, // Replace with actual supplier ID\n method: data.type === \"new\" ? \"POST\" : \"PUT\", // or 'PUT'\n storeFrontCode: productArray.storeFrontCode, // Replace with actual store front code\n dataArray: { items: productArray.data }, // Replace with actual data array\n auth: basicAuth,\n };\n\n const config = {\n method: \"POST\",\n body: JSON.stringify(requestData),\n headers: {\n \"Content-Type\": \"application/json\",\n },\n };\n try {\n try {\n const response = await fetch(\n \"https://api.blumangoes.ai:6143/trendyol_product\",\n config\n );\n const data = await response.json();\n\n if (data.batchRequestId) {\n console.log(`Pushed With Success. ID :${data.batchRequestId}`);\n\n const statusResponse = await fetch(\n `https://api.blumangoes.ai:6143/trendyol-productStatus?batchRequestId=${data.batchRequestId}&storeFrontCode=${requestData.storeFrontCode}&supplierId=${requestData.supplierId}`,\n {\n method: \"GET\",\n }\n );\n\n const statusData = await statusResponse.json();\n // console.log(statusData);\n batchRequestIdList.push(statusData);\n } else {\n console.log(\"Some Error Occurred\");\n }\n } catch (error) {\n console.error(\"Error fetching data:\", error);\n }\n\n // fetch(\"https://api.blumangoes.ai:6143/trendyol_product\", config).then(\n // (response) =>\n // response.json().then((data) => {\n // if (data.batchRequestId) {\n // console.log(`Pushed With Success. ID :${data.batchRequestId}`);\n\n // fetch(\n // `https://api.blumangoes.ai:6143/trendyol-productStatus?batchRequestId=${data.batchRequestId}&storeFrontCode=${requestData.storeFrontCode}&supplierId=${requestData.supplierId}`,\n // {\n // method: \"GET\",\n // }\n // ).then((response) =>\n // response.json().then((data) => {\n // console.log(data);\n // batchRequestIdList.push(data);\n // })\n // );\n // }\n // else {\n // console.log(\"Some Error Occured\")\n // }\n // })\n //);\n } catch (error) {\n console.log(error);\n }\n }\n this.setState({ loading: false });\n // console.log(batchRequestIdList);\n let batchRequests = [];\n batchRequestIdList.map((request) =>\n batchRequests.push(request.batchRequestId)\n );\n const batchRequestsToString = batchRequestIdList\n .map((x) => `'` + x.batchRequestId + `'`)\n .join(\", \");\n let Que = `Select batchRequestId, SKUCode, liveStatus, trendyolResponse, storeFrontCode from LiveStatusTrendyol where batchRequestId in (${batchRequestsToString})`;\n // console.log(Que);\n const pushedData = await getDataTable(Que);\n const lotName = await getDataTable(\n `select 'Lot-'+CAST(LotNo as nvarchar(max)) + '-' + LotName as lotName from LotMaster where lotId = ${this.state.lotID}`\n );\n //const sheetName = `${lotName}-${this.state.selectedTemplate.toString()}_`;\n await json2xlsx(pushedData, `${lotName.data[0].lotName}-Trendyol_response`);\n // this.setState({loading})\n }\n\n async ShowDataForImageUpdateTrendyol() {}\n\n async AddPushedDataTest() {\n const jsonObj = {};\n\n const que = `EXEC frmExportData_addProductStatusTrendyol @json = '${JSON.stringify(\n jsonObj\n )}',\n @orgId = 10103,\n @portalId = 73,\n @supplierId = 12345,\n @logId = 1`;\n const up = await getDataTable(que);\n }\n\n async updateTrendyolAttributeData() {\n let templateNameList = [];\n for (let i = 0; i < this.state.adata.length; i++) {\n if (\n this.state.adata[i][\"Template Name\"] !== \"TOTAL SKU\" ||\n this.state.adata[i][\"Template Name\"] !== \"Trendyol-GenAll\"\n ) {\n const getCatDataQuery = `EXEC frmExportData_getTrendyolCategoryData @categoryNames = '${this.state.adata[i][\"Template Name\"]}'`;\n const categoryData = await getDataTable(getCatDataQuery);\n templateNameList.push(categoryData[0]);\n }\n }\n this.state.trendyolCategories = templateNameList.filter(\n (temp) => temp !== undefined\n );\n // console.log(this.state.trendyolCategories);\n\n Modal.info({\n title: \"Select Category To Update\",\n okText: \"Close\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n \n \n {this.state.trendyolCategories.map((value, index) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
Sr No.CheckTemplate NameCategory NameID
\n {\n let temp = [\n ...new Set(this.state.trendyolSelectedCategories),\n ];\n // console.log(ev);\n if (ev.target.checked) {\n temp.push(this.state.trendyolCategories[index]);\n } else {\n temp = temp.filter(\n (t) =>\n t.templateName !==\n this.state.trendyolCategories[index][\n \"templateName\"\n ]\n );\n }\n\n this.state.trendyolSelectedCategories = temp;\n }}\n value={value.productid}\n defaultChecked={value.Status === \"YES\"}\n />\n {index + 1}{value.templateName}{value.category}{value.id}
\n \n {\n this.setState({ loading: true });\n functionUpdatedTrendyol(\n this.state.trendyolSelectedCategories\n ).then((data) => {\n this.setState({ loading: false });\n });\n }}\n className=\"btn btn-primary\"\n >\n Update\n \n
\n \n ),\n });\n\n async function functionUpdatedTrendyol(selectedCategories) {\n if (!selectedCategories.length > 0) {\n Swal.fire({\n icon: \"error\",\n title: \"No Categories Selected\",\n showConfirmButton: false,\n timer: 1500,\n });\n } else {\n // console.log(\"Updating\");\n for (let i = 0; i < selectedCategories.length; i++) {\n let categoryid = selectedCategories[i].id;\n\n let url = `https://api.trendyol.com/sapigw/product-categories/${categoryid}/attributes`;\n let finalRes = await getTrendyolAttributes(categoryid);\n let cat = finalRes.id;\n let tempArr = [];\n for (let i = 0; i < finalRes.categoryAttributes.length; i++) {\n let att = finalRes.categoryAttributes[i];\n let tempObj = {};\n function findVariantType(att) {\n if (att.varianter) return \"varianter\";\n if (att.slicer) return \"slicer\";\n else return null;\n }\n if (att.allowCustom) {\n tempObj[\"categoryId\"] = cat;\n tempObj[\"attributeName\"] = att.attribute.name;\n tempObj[\"attributeId\"] = att.attribute.id;\n tempObj[\"isCustom\"] = att.allowCustom;\n tempObj[\"variant\"] = findVariantType(att);\n tempObj[\"value\"] = null;\n tempObj[\"valueId\"] = null;\n tempArr.push(tempObj);\n const data = JSON.stringify(tempObj);\n const query = `EXEC trendyolAttributesValuesUpdate @jsonData = N'${data}', @trendyolCategory = 975`;\n // console.log(query);\n const tableResult = await getDataTable(query);\n } else {\n for (let j = 0; j < att.attributeValues.length; j++) {\n let atVal = att.attributeValues[j];\n tempObj[\"categoryId\"] = cat;\n tempObj[\"attributeName\"] = att.attribute.name;\n tempObj[\"attributeId\"] = att.attribute.id;\n tempObj[\"isCustom\"] = att.allowCustom;\n tempObj[\"variant\"] = findVariantType(att);\n tempObj[\"value\"] = atVal.name;\n tempObj[\"valueId\"] = atVal.id;\n tempArr.push(tempObj);\n const data = JSON.stringify(tempObj);\n const query = `EXEC trendyolAttributesValuesUpdate @jsonData = N'${data}', @trendyolCategory = 975`;\n // console.log(query);\n\n const tableResult = await getDataTable(query);\n }\n }\n }\n }\n }\n Swal.fire({\n icon: \"success\",\n title: \"Attribute Data Updated\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n }\n\n async createImageDataForNamshiLive() {\n this.setState({\n loading: true,\n });\n\n let que =\n \" EXEC frmExportData_CreateDataForUpdateNamshiData @artlive = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @PortalID = \" +\n this.state.portalID;\n let dt = await getDataTable(que);\n\n let InCompleteDt = [];\n let CompleteDt = [];\n\n let prlist = this.state.liveArt.join(\",\");\n\n for (let i = 0; i < dt.length; i++) {\n let ele = dt[i];\n\n const imagesCheckbox = document.getElementById(\"showMrpCheckbox\");\n const updateImages = imagesCheckbox.checked;\n\n if (updateImages) {\n let que1 =\n \" EXEC frmExportData_CreateAdditionalDatafornamshi @parent = '\" +\n ele[\"product_id\"] +\n \"' , @orgid = \" +\n this.state.orgID +\n \" , @type = 'images' \";\n let dt1 = await getDataTable(que1);\n let arr = [];\n if (dt1.length > 2) {\n dt1.forEach((ele) => {\n arr.push(ele[\"AttributeValue\"]);\n });\n } else {\n InCompleteDt.push(ele);\n continue;\n }\n dt[i][\"images\"] = arr;\n }\n\n CompleteDt.push(dt[i]);\n }\n\n if (CompleteDt.length === 0) {\n await Swal.fire({\n icon: \"info\",\n title: \"IMAGES ARE NOT READY FOR ANY ARTICLE (CAN NOT PUSH)\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({ loading: false });\n return false;\n }\n\n let finaldt = { items: CompleteDt };\n debugger;\n let finalRes = await UpdateNamshiImage(\n finaldt,\n NamshiCredPrd_UAE,\n NamshiPrdURL\n );\n\n if (finalRes.status === \"success\") {\n await sleep(2000);\n this.setState({ loading: false });\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK JOB EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({ loading: true });\n let jobdt = await getNamshiJobDetails(\n finalRes.job_id,\n NamshiCredPrd_UAE,\n NamshiPrdURL\n );\n\n for (let k = 0; k < jobdt[\"details\"][\"items\"].length; k++) {\n jobdt[\"details\"][\"items\"][k][\"job_id\"] = finalRes.job_id;\n let que3 =\n \"EXEC SaveDataForNamshiImageUpdate @artlive = \" +\n jobdt[\"details\"][\"items\"][k].product_id +\n \" , @portalid = \" +\n this.state.portalID +\n \" , @status = \" +\n jobdt[\"details\"][\"items\"][k].status +\n \", @jobid = \" +\n \"'\" +\n jobdt[\"details\"][\"items\"][k][\"job_id\"] +\n \"'\" +\n \", @loginid = \" +\n this.state.loginId;\n await getDataTable(que3);\n }\n\n await json2xlsx(jobdt[\"details\"][\"items\"], \"JOB STATUS\");\n this.setState({ loading: false });\n } else {\n await Swal.fire({\n icon: \"info\",\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 1500,\n });\n await json2xlsx(finalRes[\"details\"], \"JOB STATUS\");\n }\n\n this.setState({ loading: false });\n }\n\n async createDataForEasyEcomLive() {\n this.setState({\n loading: true,\n });\n\n let que =\n \" EXEC frmExportData_CreateDataForEasyEcom @artlive = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @PortalID = \" +\n this.state.portalID;\n let CompleteDt = await getDataTable(que);\n\n let responseArray = [];\n\n for (let i = 0; i < CompleteDt.length; i++) {\n let skuData = CompleteDt[i];\n debugger;\n let EasyApi = await EasyEcomApi(\n skuData,\n EasyEcomToken,\n EasyEcomUrl,\n EasyEcomkey\n );\n\n let responseData = {\n Article: skuData.ModelNumber,\n SKU: skuData.Sku,\n message: EasyApi.message,\n product_id: EasyApi.data.product_id,\n };\n\n responseArray.push(responseData);\n\n if (\n EasyApi.message === \"Product Created Successfully\" ||\n EasyApi.code === 200\n ) {\n let que3 =\n \"EXEC SaveDataForEasyEcomLive @pid = '\" +\n responseData.SKU +\n \"', @status = '\" +\n responseData.message +\n \"', @portalid = \" +\n this.state.portalID +\n \", @loginid = \" +\n this.state.loginId +\n \", @Product_id = \" +\n responseData.product_id;\n\n await getDataTable(que3);\n\n await sleep(2000);\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n } else {\n await Swal.fire({\n icon: \"error\",\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({ loading: false });\n }\n }\n\n await json2xlsx(responseArray, \"JOB STATUS\");\n\n this.setState({\n loading: false,\n });\n }\n\n async createDataForEasyEcomLiveUpdate() {\n this.setState({\n loading: true,\n });\n let que =\n \"EXEC frmExportData_CreateDataForUpdateEasyEcom @artlive = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @PortalID = \" +\n this.state.portalID;\n\n let CompleteDt = await getDataTable(que);\n debugger;\n let responseArray = [];\n\n for (let i = 0; i < CompleteDt.length; i++) {\n let skuData = CompleteDt[i];\n\n let EasyApi = await EasyEcomApi(\n skuData,\n EasyEcomToken,\n EasyEcomUpdate,\n EasyEcomkey\n );\n debugger;\n let responseData = {\n SKU: skuData.Sku,\n productId: skuData.productId,\n message: EasyApi.message,\n product_id: EasyApi.data.productId,\n };\n\n responseArray.push(responseData);\n\n if (\n EasyApi.message === \"Product Updated Successfully\" ||\n EasyApi.code === 200\n ) {\n await sleep(2000);\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n } else {\n await Swal.fire({\n icon: \"error\",\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({ loading: false });\n }\n }\n await json2xlsx(responseArray, \"JOB STATUS\");\n\n this.setState({\n loading: false,\n });\n }\n\n async createDataForIncreffLive() {\n this.setState({\n loading: true,\n });\n let que =\n \"EXEC frmExportData_CreateDataForIncreff @artlive = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @PortalID = \" +\n this.state.portalID;\n let CompleteDt = await getDataTable(que);\n let finaldt = { articleMasters: CompleteDt };\n // console.log(finaldt);\n debugger;\n let authUsername = \"BLU_MANGOES_ERP-1200049109\";\n let authPassword = \"4b6e1709-abcd-47f8-b707-64a51af2bc6e\";\n let url =\n \"https://staging-common-assure.increff.com/assure-magic2/master/articles\";\n\n try {\n let callApi = await IncreffApi(finaldt, authUsername, authPassword, url);\n // console.log(\"API Response:\", callApi);\n let dataArray = this.state.dataArray || [];\n for (let i = 0; i < CompleteDt.length; i++) {\n let SKU = CompleteDt[i].barcode;\n let ARTICLE = CompleteDt[i].styleCode;\n let STATUS = callApi.status;\n\n let newData = { SKU, ARTICLE, STATUS };\n dataArray.push(newData);\n }\n\n this.setState({\n dataArray,\n });\n\n // console.log(this.state.dataArray);\n if (callApi.status === \"success\") {\n let que3 =\n \"EXEC SaveDataForIncreffApi @pid = '\" +\n this.state.liveArt +\n \"', @status = '\" +\n callApi.status +\n \"', @portalid = \" +\n this.state.portalID +\n \", @loginid = \" +\n this.state.loginId;\n\n await getDataTable(que3);\n debugger;\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({\n loading: false,\n });\n } else {\n throw new Error(\n `API request failed with status code: ${callApi.status}`\n );\n }\n } catch (error) {\n console.error(\"Error:\", error.message);\n await Swal.fire({\n icon: \"error\",\n title: \"Error\",\n text: \"Failed to create data. Please try again.\",\n });\n this.setState({\n loading: false,\n });\n }\n await json2xlsx(this.state.dataArray, \"JOB STATUS\");\n }\n\n async updateDataForIncreffLive() {\n this.setState({\n loading: true,\n });\n let que =\n \"EXEC frmExportData_CreateDataForIncreff @artlive = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @PortalID = \" +\n this.state.portalID;\n let CompleteDt = await getDataTable(que);\n let finaldt = { articleMasters: CompleteDt };\n //console.log(finaldt);\n debugger;\n let authUsername = \"BLU_MANGOES_ERP-1200049109\";\n let authPassword = \"4b6e1709-abcd-47f8-b707-64a51af2bc6e\";\n let url =\n \"https://staging-common-assure.increff.com/assure-magic2/master/articles\";\n\n try {\n let callApi = await UpdateIncreffApi(\n finaldt,\n authUsername,\n authPassword,\n url\n );\n //console.log(\"API Response:\", callApi);\n let dataArray = this.state.dataArray || [];\n for (let i = 0; i < CompleteDt.length; i++) {\n let SKU = CompleteDt[i].barcode;\n let ARTICLE = CompleteDt[i].styleCode;\n let STATUS = callApi.status;\n\n let newData = { SKU, ARTICLE, STATUS };\n dataArray.push(newData);\n }\n\n this.setState({\n dataArray,\n });\n\n //console.log(this.state.dataArray);\n if (callApi.status === \"success\") {\n let que3 =\n \"EXEC SaveDataForIncreffUpdateApi @pid = '\" +\n this.state.liveArt +\n \"', @status = '\" +\n callApi.status +\n \"', @portalid = \" +\n this.state.portalID +\n \", @loginid = \" +\n this.state.loginId;\n\n await getDataTable(que3);\n debugger;\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({\n loading: false,\n });\n } else {\n throw new Error(\n `API request failed with status code: ${callApi.status}`\n );\n }\n } catch (error) {\n console.error(\"Error:\", error.message);\n await Swal.fire({\n icon: \"error\",\n title: \"Error\",\n text: \"Failed to create data. Please try again.\",\n });\n this.setState({\n loading: false,\n });\n }\n await json2xlsx(this.state.dataArray, \"JOB STATUS\");\n }\n\n async skuListingForIncreffLive() {\n this.setState({\n loading: true,\n });\n let que =\n \"EXEC frmExportData_CreateDataForIncreffSkuListing @artlive = \" +\n \"'\" +\n this.state.liveArt +\n \"'\" +\n \" , @PortalID = \" +\n this.state.portalID;\n let CompleteDt = await getDataTable(que);\n let finaldt = {\n channelName: \"ADIDAS\",\n skuListings: CompleteDt,\n };\n\n //console.log(finaldt);\n debugger;\n let authUsername = \"BLU_MANGOES_ERP-1200049109\";\n let authPassword = \"4b6e1709-abcd-47f8-b707-64a51af2bc6e\";\n let url =\n \"https://staging-common-assure.increff.com/assure-magic2/master/sku-listings\";\n\n try {\n let callApi = await IncreffApi(finaldt, authUsername, authPassword, url);\n //console.log(\"API Response:\", callApi);\n let dataArray = this.state.dataArray || [];\n for (let i = 0; i < CompleteDt.length; i++) {\n let SKU = CompleteDt[i].barcode;\n let ARTICLE = CompleteDt[i].styleCode;\n let STATUS = callApi.status;\n\n let newData = { SKU, ARTICLE, STATUS };\n dataArray.push(newData);\n }\n\n this.setState({\n dataArray,\n });\n\n //console.log(this.state.dataArray);\n if (callApi.status === \"success\") {\n let que3 =\n \"EXEC SaveDataForIncreffUpdateApi @pid = '\" +\n this.state.liveArt +\n \"', @status = '\" +\n callApi.status +\n \"', @portalid = \" +\n this.state.portalID +\n \", @loginid = \" +\n this.state.loginId;\n\n await getDataTable(que3);\n debugger;\n await Swal.fire({\n icon: \"info\",\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n this.setState({\n loading: false,\n });\n } else {\n throw new Error(\n `API request failed with status code: ${callApi.status}`\n );\n }\n } catch (error) {\n console.error(\"Error:\", error.message);\n await Swal.fire({\n icon: \"error\",\n title: \"Error\",\n text: \"Failed to create data. Please try again.\",\n });\n this.setState({\n loading: false,\n });\n }\n await json2xlsx(this.state.dataArray, \"JOB STATUS\");\n }\n\n async ShowDataForEasyEcomUpdate() {\n let que = \"EXEC ShowDataForEasyEcomUpdate @lotid= \" + this.state.lotID;\n let dt = await getDataTable(que);\n debugger;\n this.setState({\n artData: dt,\n productid: dt.producid,\n });\n\n Modal.info({\n title: \"Select Article for Push To Live\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {this.state.artData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.ArticleNumberPOST DATA
{index + 1}{value.article}\n \n
\n \n \n POST\n \n
\n \n ),\n });\n }\n\n async ShowDataForLive(e) {\n debugger;\n let ltque =\n \"EXEC ShowArticleDataForProduction @lotid = \" +\n this.state.lotID +\n \", @countryCode = '\" +\n e +\n \"'\";\n let dt = await getDataTable(ltque);\n this.setState({\n artData: dt,\n productid: dt.producid,\n });\n\n Modal.info({\n title: \"Select Article for Push To Live\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {this.state.artData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.ArticleNumber{e}
{index + 1}{value.article}\n \n
\n \n \n POST\n \n
\n \n ),\n });\n }\n\n async ShowDataForImageUpdate() {\n let ltque =\n \"EXEC ShowArticleDataForNamshiUpdate @lotid = \" + this.state.lotID;\n let dt = await getDataTable(ltque);\n this.setState({\n artData: dt,\n productid: dt.producid,\n });\n\n Modal.info({\n title: \"Select Article for Update Images\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
\n \n \n *\n
\n \n \n \n \n \n \n \n \n \n {this.state.artData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.ArticleNumberPlease Select
{index + 1}{value.article}\n \n
\n \n \n UPDATE IMAGE\n \n
\n \n ),\n });\n }\n\n async ShowDataForEasyecomLive() {\n let ltque = \"EXEC ShowArticleDataForEasyEcom @lotid = \" + this.state.lotID;\n let dt = await getDataTable(ltque);\n this.setState({\n artData: dt,\n productid: dt.producid,\n });\n Modal.info({\n title: \"Select Article for EasyEcom live\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {this.state.artData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.ArticleNumberPlease Select
{index + 1}{value.article}\n \n
\n \n \n POST\n \n
\n \n ),\n });\n }\n\n async ShowDataForIncreffLive() {\n let ltque = \"EXEC ShowArticleDataForIncreff @lotid = \" + this.state.lotID;\n let dt = await getDataTable(ltque);\n this.setState({\n artData: dt,\n productid: dt.producid,\n });\n Modal.info({\n title: \"Select Article for Increff live\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {this.state.artData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.ArticleNumberPlease Select
{index + 1}{value.article}\n \n
\n \n \n POST\n \n
\n \n ),\n });\n }\n\n async ShowDataForIncreffLiveUpdate() {\n let ltque =\n \"EXEC ShowArticleDataForIncreffUpdate @lotid = \" + this.state.lotID;\n let dt = await getDataTable(ltque);\n this.setState({\n artData: dt,\n productid: dt.producid,\n });\n Modal.info({\n title: \"Select Article for Increff live\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {this.state.artData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.ArticleNumberPlease Select
{index + 1}{value.article}\n \n
\n \n \n POST\n \n
\n \n ),\n });\n }\n\n async ShowDataForIncreffSkuListing() {\n let ltque = \"EXEC ShowArticleDataForIncreff @lotid = \" + this.state.lotID;\n let dt = await getDataTable(ltque);\n this.setState({\n artData: dt,\n productid: dt.producid,\n });\n Modal.info({\n title: \"Select Article for Increff live\",\n okText: \"CLOSE\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {this.state.artData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.ArticleNumberPlease Select
{index + 1}{value.article}\n \n
\n \n \n POST\n \n
\n \n ),\n });\n }\n\n handleOAuthButtonClick() {\n if (this.state.portalID === 67) {\n window.location.href =\n \"https://sellercentral.amazon.ae/apps/authorize/consent?application_id=amzn1.sp.solution.39fb100d-18e4-4915-b60c-edaab2bb6e28&state=stateexample&version=beta\";\n } else {\n window.location.href =\n \"https://sandbox-api.flipkart.net/oauth-service/oauth/authorize?client_id=95872337bb14143aa0b966049b11528b322&redirect_uri=https://app.blumangoes.ai/&response_type=code&scope=Seller_Api&state=stateexample\";\n }\n }\n\n handleTokenGenerateFK = async () => {\n let que =\n \"EXEC frmExportData_CreateDataForFK @lotId = \" +\n this.state.lotID +\n \" , @PortalID = \" +\n this.state.portalID;\n let data = await getDataTable(que);\n let payload = [];\n data.forEach((item) => {\n let sku = item[\"Seller SKU ID\"]; // Assuming 'Article Number' is a unique identifier for each product\n\n payload[sku] = {\n product_id: item[\"Seller SKU ID\"] || \"\", // Assuming 'Seller SKU ID' is the product ID\n price: {\n mrp: item[\"MRP (INR)\"] || 0,\n selling_price: item[\"Your selling price (INR)\"] || 0,\n currency: \"INR\",\n },\n tax: {\n hsn: item[\"HSN\"] || \"\",\n tax_code: item[\"Tax Code\"] || \"\",\n },\n listing_status: \"ACTIVE\",\n shipping_fees: {\n local: 0,\n zonal: 0,\n national: 0,\n currency: \"INR\",\n },\n fulfillment_profile: \"NON_FBF\",\n fulfillment: {\n dispatch_sla: 1,\n shipping_provider: \"FLIPKART\",\n procurement_type: \"REGULAR\",\n },\n packages: [\n {\n name: \"Default\",\n dimensions: {\n length: 1,\n breadth: 1,\n height: 1,\n },\n weight: 1,\n description: \"\",\n handling: {\n fragile: false,\n },\n notional_value: {\n amount: 1,\n unit: \"PERCENTAGE\",\n },\n },\n ],\n locations: [\n {\n id: \"\",\n status: \"ENABLED\",\n inventory: 0,\n },\n ],\n address_label: {\n manufacturer_details: [\"\"],\n importer_details: [\"\"],\n packer_details: [\"\"],\n countries_of_origin: [\"\"],\n },\n dating_label: {\n mfg_date: \"\",\n shelf_life: \"\",\n },\n };\n });\n //console.log(payload);\n debugger;\n this.setState({\n loading: true,\n });\n\n const urlParams = new URLSearchParams(window.location.search);\n const authCode = urlParams.get(\"code\");\n\n if (!authCode) {\n await Swal.fire({\n icon: \"warning\",\n title: \"Authorization code is missing\",\n showConfirmButton: false,\n timer: 2500,\n });\n this.setState({\n loading: false,\n });\n return;\n }\n\n const username = \"95872337bb14143aa0b966049b11528b322\";\n const password = \"34553198abb417f5fe369921659fcc8ae\";\n let url = `https://sandbox-api.flipkart.net/oauth-service/oauth/token?redirect_uri=https://app.blumangoes.ai/&grant_type=authorization_code&state=&code=${authCode}`;\n\n let tokenGenrate = await flipkartTokenGen(username, password, url);\n if (tokenGenrate.access_token) {\n await Swal.fire({\n icon: \"success\",\n title: \"token genrated successfully\",\n showConfirmButton: false,\n timer: 2500,\n });\n this.setState({\n loading: false,\n });\n return;\n } else {\n await Swal.fire({\n icon: \"error\",\n title: \"some error\",\n showConfirmButton: false,\n timer: 2500,\n });\n this.setState({\n loading: false,\n });\n return;\n }\n };\n\n handleGenerateTokenButtonClick = async () => {\n this.setState({\n loading: true,\n });\n let que =\n \" EXEC frmExportData_CreateDataForAmazon @lotid = \" +\n this.state.lotID +\n \" , @PortalID = \" +\n this.state.portalID;\n let skuDataList = await getDataTable(que);\n //console.log(skuDataList);\n debugger;\n const { orgID } = this.state;\n const urlParams = new URLSearchParams(window.location.search);\n const oauthCode = urlParams.get(\"spapi_oauth_code\");\n const sellerId = urlParams.get(\"selling_partner_id\");\n\n if (!oauthCode) {\n await Swal.fire({\n icon: \"warning\",\n title: \"Authorization code is missing\",\n showConfirmButton: false,\n timer: 2500,\n });\n this.setState({\n loading: false,\n });\n return;\n }\n\n try {\n const response = await axios.post(\n \"https://api.amazon.com/auth/o2/token\",\n {\n grant_type: \"authorization_code\",\n code: oauthCode,\n client_id:\n \"amzn1.application-oa2-client.83799e097f8945cdbe3f4996a29dd6d0\",\n client_secret:\n \"amzn1.oa2-cs.v1.8a5bee8d25ef736ecf4296df56bfe810cc1776926ae4cf4fb0a8bbe6d137af49\",\n redirect_uri: \"https://app.blumangoes.ai\",\n }\n );\n\n const accessToken = response.data.access_token;\n //console.log(\"Access Token:\", accessToken);\n\n await Swal.fire({\n icon: \"success\",\n title: \"Access Token generated successfully!\",\n showConfirmButton: false,\n timer: 2500,\n });\n\n const allResponses = [];\n\n for (const skuData of skuDataList) {\n const marketplaceId =\n this.state.portalID === 20 ? \"A21TJRUUN4KGV\" : \"A2VIGQ35RCS4UG\";\n\n const apiUrl = `https://sandbox.sellingpartnerapi-eu.amazon.com/listings/2021-08-01/items/${sellerId}/${skuData.sku}?marketplaceids=${marketplaceId}&issueLocale=en_GB`;\n //console.log(skuData);\n try {\n let createListingApi = await CreateListingAmazon(\n skuData,\n accessToken,\n apiUrl\n );\n allResponses.push({ skuData, response: createListingApi });\n } catch (error) {\n console.error(\"Error creating listing:\", error);\n allResponses.push({\n skuData,\n error: \"Failed to create listing. Please try again.\",\n });\n }\n }\n\n const successResponses = allResponses.filter(\n (entry) =>\n entry.response &&\n (entry.response.status === \"ACCEPTED\" || entry.response.code === 200)\n );\n\n if (successResponses.length === skuDataList.length) {\n await sleep(2000);\n await Swal.fire({\n icon: \"info\",\n title:\n \"ALL DATA POSTED SUCCESSFULLY. PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n } else {\n await Swal.fire({\n icon: \"error\",\n title:\n \"SOME DATA FAILED TO POST. PLEASE CHECK EXCEL FOR MORE DETAILS\",\n showConfirmButton: false,\n timer: 3500,\n });\n }\n\n //console.log(\"All Responses:\", allResponses);\n await json2xlsx(allResponses, \"JOB STATUS\");\n this.setState({ loading: false });\n } catch (error) {\n console.error(\"Error generating access token:\", error);\n\n await Swal.fire({\n icon: \"error\",\n title: \"Failed to generate access token. Please try again.\",\n showConfirmButton: false,\n timer: 2500,\n });\n this.setState({\n loading: false,\n });\n }\n };\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n };\n\n async uploadFile() {\n let MandatoryArray = [\n { Category: this.state.catID },\n { Portal: this.state.portalID },\n { Lot: this.state.lotID },\n { file: files },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n return false;\n }\n this.setState({\n loading: true,\n });\n\n const accessToken = \"1f0179c4-6fe0-4f78-b805-184ac896abb0\";\n const formData = new FormData();\n formData.append(\"file\", files);\n\n try {\n const response = await CreateListingYoox(files, accessToken);\n //console.log(\"Response:\", response);\n\n if (response.import_id !== undefined) {\n // Assuming a valid import_id indicates success\n await Swal.fire({\n icon: \"success\",\n title: \"File Posted Successfully.\",\n showConfirmButton: false,\n timer: 2500,\n });\n } else {\n await Swal.fire({\n icon: \"error\",\n title: \"SOME ERROR OCCURRED.\",\n showConfirmButton: false,\n timer: 2500,\n });\n }\n\n this.setState({\n loading: false,\n });\n } catch (error) {\n console.error(\"Error uploading file:\", error);\n\n await Swal.fire({\n icon: \"error\",\n title: \"SOME ERROR OCCURRED.\",\n showConfirmButton: false,\n timer: 2500,\n });\n\n this.setState({\n loading: false,\n });\n }\n }\n\n adidasDiscountChannelSelectionModal() {\n Modal.info({\n title: \"Select Template To Post To API\",\n okText: \"Close\",\n width: \"950px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n \n \n \n \n \n \n \n \n \n {[\"Namshi\"].map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
CheckSr No.Channel Name
\n {\n let temp = [\n ...this.state.adidasChannelSelectedForDiscount,\n ];\n temp.push(ev.target.value);\n this.setState({\n adidasChannelSelectedForDiscount: [\n ...new Set(temp),\n ],\n });\n console.log(temp);\n }}\n value={value || []}\n defaultChecked={value.Status === \"YES\"}\n />\n {index + 1}{value}
\n \n {\n // this.templateSelectionModalVisible = false;\n Modal.destroyAll();\n this.setState({ loading: true });\n this.postDiscountAdidas();\n }}\n className=\"btn btn-primary\"\n >\n Update\n \n
\n \n ),\n onCancel() {\n Modal.destroyAll(); // Close all modals\n },\n });\n }\n\n async postDiscountAdidas() {\n console.log(this.state.adidasChannelSelectedForDiscount);\n let productList = this.state.adata[0][\"#PList\"];\n console.log(productList);\n let requestBody = [];\n for (\n let i = 0;\n i < this.state.adidasChannelSelectedForDiscount.length;\n i++\n ) {\n const Que = `EXEC frmExportData_GenerateDataForPriceDiscountRetailLogistics @pList = '${productList}', @channel = '${this.state.adidasChannelSelectedForDiscount[i]}'`;\n console.log(Que);\n let jsonData = await getDataTable(Que);\n jsonData.map((data) => requestBody.push(data));\n }\n\n console.log(requestBody);\n try {\n fetch(\"https://api.blumangoes.ai:6143/adidas_price_discount_update\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n data: requestBody,\n auth: this.state.retailAuth,\n }),\n }).then((response) =>\n response.json().then(async (data) => {\n if (data.responseCode === \"200\") {\n console.log(\"Updated with success\");\n }\n if (data.errorMessage.length > 0) {\n await json2xlsx(data, \"Price Update Errors\");\n }\n })\n );\n } catch (error) {\n console.log(error);\n } finally {\n this.setState({ loading: false });\n }\n }\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

\n EXPORT DATA\n \n

\n {(this.state.loginId === \"10\" ||\n this.state.loginId === \"1\" ||\n this.state.orgID === 1) && (\n
\n \n
\n )}\n
\n \n \n HELP\n \n
\n {(this.state.loginId === \"10\" || this.state.loginId === \"1\") && (\n
\n \n \n REMOVE LOT\n \n
\n )}\n {this.state.portalID === 52 && this.state.adata.length > 0 && (\n
\n \n \n POST API STAGGING\n \n
\n )}\n {this.state.portalID === 73 && this.state.adata.length > 0 && (\n <>\n
\n \n \n POST API TRENDYOL\n \n
\n
\n \n \n Refresh Trendyol Attributes\n \n
\n \n )}\n {this.state.portalID === 63 && this.state.adata.length > 0 && (\n
\n \n \n POST API EASYECOM\n \n
\n )}\n {this.state.portalID === 52 && this.state.adata.length > 0 && (\n \n \n \n POST API LIVE\n \n \n \n Toggle Dropdown\n \n \n
\n )}\n {this.state.portalID === 52 && this.state.adata.length > 0 && (\n
\n \n \n UPDATE DATA\n \n
\n )}\n {this.state.portalID === 73 && this.state.adata.length > 0 && (\n
\n \n \n UPDATE DATA\n \n
\n )}\n {this.state.portalID === 52 &&\n this.state.orgID === 10067 &&\n this.state.adata.length > 0 && (\n
\n \n this.adidasDiscountChannelSelectionModal()}\n >\n POST DISCOUNT\n \n
\n )}\n {this.state.portalID === 63 && this.state.adata.length > 0 && (\n
\n \n \n UPDATE DATA\n \n
\n )}\n {this.state.portalID === 57 && this.state.adata.length > 0 && (\n
\n \n \n Post Api Increff\n \n
\n )}\n {this.state.portalID === 57 && this.state.adata.length > 0 && (\n
\n \n \n Update Api Increff\n \n
\n )}\n {this.state.portalID === 57 && this.state.adata.length > 0 && (\n
\n \n \n SKU-Listing Api Increff\n \n
\n )}\n {this.state.portalID === 52 && this.state.adata.length > 0 && (\n
\n \n
\n )}\n {this.state.portalID === 52 && this.state.adata.length > 0 && (\n
\n \n
\n )}\n {this.state.portalID === 67 && this.state.adata.length > 0 && (\n
\n \n Authorize with Amazon\n \n
\n )}\n {this.state.portalID === 67 && this.state.adata.length > 0 && (\n
\n \n Post Data\n \n
\n )}\n {this.state.portalID === 20 && this.state.adata.length > 0 && (\n
\n \n Authorize with Amazon\n \n
\n )}\n {this.state.portalID === 20 && this.state.adata.length > 0 && (\n
\n \n Post Data\n \n
\n )}\n {this.state.portalID === 17 && this.state.adata.length > 0 && (\n
\n \n Authorize with flipkart\n \n
\n )}\n {this.state.portalID === 17 && this.state.adata.length > 0 && (\n
\n \n Generate Access Token FK\n \n
\n )}\n {this.state.portalID === 71 && this.state.adata.length > 0 && (\n
\n \n
\n )}\n {this.state.portalID === 71 && this.state.adata.length > 0 && (\n
\n
\n \n
\n
\n )}\n {this.state.portalID === 71 && this.state.adata.length > 0 && (\n
\n
\n \n
\n
\n )}\n \n \n
\n
\n \n *\n \n this.onAfterSelect(e, \"catID\", \"CatNAME\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n *\n \n this.onAfterSelect(e, \"portalID\", \"Pname\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n *\n \n this.onAfterSelect(e, \"lotID\", \"LotName\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n Get Templates\n \n
\n
\n
\n \n
\n \n Get Lot Data\n \n
\n
\n
\n \n
\n \n GET ERROR SHEET\n \n
\n
\n
\n {this.state.adata.length > 0 &&\n this.state.adata != undefined && (\n this.GetData(e)}\n downloadRow=\"true\"\n height=\"63vh\"\n id=\"fielddata\"\n >\n )}\n
\n
\n \n \n
\n \n );\n }\n}\n","import React, { Component} from 'react';\nimport './style.css';\n\n\n// const sortTypes = {\n// \tup: {\n// \t\tclass: 'sort-up',\n// \t\tfn: (a, b) => a.net_worth - b.net_worth\n// \t},\n// \tdown: {\n// \t\tclass: 'sort-down',\n// \t\tfn: (a, b) => b.net_worth - a.net_worth\n// \t},\n// \tdefault: {\n// \t\tclass: 'sort',\n// \t\tfn: (a, b) => a\n// \t}\n// };\n\nconst RenderRow = (props) =>{\n return props.keys.map((key, index)=>{ \n \n if(key==\"ProductID\"){\n return {props.data[key]}\n }\n else if(key==\"ProductName\"){\n return {props.data[key]}\n }\n \n let dt = props.data[key]\n \n let pdt = dt.split(\",\")\n if (pdt[1] === \"Alpha-numeric\") {\n return \n }\n if (pdt[1] === \"url\") {\n return \n }\n else if (pdt[1] === \"number\") {\n return \n }\n else if (pdt[1] === \"date\") {\n return \n }\n else if (pdt[1] === \"option\") {\n return \n }\n // return {props.data[key]}\n \n })\n }\n\n\n\nconst closest = function(el, selector, rootNode) {\n \n rootNode = rootNode || document.body;\n const matchesSelector =\n el.matches ||\n el.webkitMatchesSelector ||\n el.mozMatchesSelector ||\n el.msMatchesSelector;\n \n while (el) {\n const flagRoot = el === rootNode;\n \n if (flagRoot || matchesSelector.call(el, selector)) {\n if (flagRoot) {\n el = null;\n \n }\n \n break;\n }\n el = el.parentElement;\n \n }\n \n //el.setAttribute('style', 'border: 2px solid lightgray;');\n return el;\n };\nexport default class Table extends Component {\n\n constructor(props) {\n super(props);\n this.state= {\n dragIndex: -1,\n draggedIndex: -1,\n currentSort:\"default\"\n };\n }\n\n getKeys = function(){\n return Object.keys(this.props.data[0]);\n }\n\n\n getHeader = function(){\n var keys = this.getKeys();\n return keys.map((key, index)=>{\n if (!key.startsWith(\"#\")) {\n return \n {key.toUpperCase()}\n
\n \n this.myFunction(e,index+1)} \n title={\"TYPE IN \"+key.toUpperCase()}>\n \n  \n this.ShoeFilterTextBox(e,index+1)}>\n this.hideFilterTextBox(e,index+1)}>\n \n
\n \n }\n })\n }\n\n hideFilterTextBox(e,textBoxId){\n var table,th,SearchIcon,RemoveIcon,txtBox;\n table = document.getElementById(this.props.id);\n th = table.getElementsByTagName(\"th\");\n\n for (let index = 1; index < th.length; index++) { \n SearchIcon = th[index].getElementsByTagName(\"i\")[0];\n RemoveIcon = th[index].getElementsByTagName(\"i\")[1];\n txtBox = th[index].getElementsByTagName(\"input\")[0];\n if(index===textBoxId){\n txtBox.value=\"\";\n txtBox.style.display = \"none\";\n RemoveIcon.style.display = \"none\";\n SearchIcon.style.display = \"inline\";\n } \n \n }\n this.onHideFilter(textBoxId)\n\n }\n\n ShoeFilterTextBox(e,textBoxId){\n var table,th,SearchIcon,RemoveIcon,txtBox;\n table = document.getElementById(this.props.id);\n th = table.getElementsByTagName(\"th\");\n \n for (let index = 1; index < th.length; index++) {\n \n txtBox = th[index].getElementsByTagName(\"input\")[0];\n SearchIcon = th[index].getElementsByTagName(\"i\")[0];\n RemoveIcon = th[index].getElementsByTagName(\"i\")[1];\n if(index===textBoxId){\n txtBox.style.display = \"inline\";\n RemoveIcon.style.display = \"inline\";\n SearchIcon.style.display = \"none\";\n txtBox.focus();\n } \n else{\n txtBox.style.display = \"none\"; \n RemoveIcon.style.display = \"none\";\n SearchIcon.style.display = \"inline\";\n }\n }\n \n \n\n \n }\n\n onHideFilter(colIndex) { \n var filter, table, tr, td, i, txtValue; \n filter = \"\";\n table = document.getElementById(this.props.id);\n tr = table.getElementsByTagName(\"tr\");\n for (i = 1; i < tr.length; i++) {\n td = tr[i].getElementsByTagName(\"td\")[colIndex];\n if (td) {\n txtValue = td.textContent || td.innerText;\n if (txtValue.toUpperCase().indexOf(filter) > -1) {\n tr[i].style.display = \"\";\n } else {\n tr[i].style.display = \"none\";\n }\n } \n }\n }\n\n myFunction(e,colIndex) { \n var input, filter, table, tr, td, i, txtValue;\n input = document.getElementById(\"myInput\");\n filter = e.target.value.toUpperCase();\n table = document.getElementById(this.props.id);\n tr = table.getElementsByTagName(\"tr\");\n for (i = 1; i < tr.length; i++) {\n td = tr[i].getElementsByTagName(\"td\")[colIndex];\n if (td) {\n txtValue = td.textContent || td.innerText;\n if (txtValue.toUpperCase().indexOf(filter) > -1) {\n tr[i].style.display = \"\";\n } else {\n tr[i].style.display = \"none\";\n }\n } \n }\n }\n\n getRowsData = function(){ \n var items = this.props.data;\n var keys = this.getKeys();\n return items.map((row, index)=>{\n return this.props.Drag==\"true\"?this.onMouseDown:e} key={index}>{index+1} \n   { this.props.Selection==\"true\" && } \n   { this.props.deleteRow==\"YES\" && this.deleteRow(index)}>}\n   { this.props.deleteRow1==\"YES\" && this.props.DeleteRowFn(row)}>}\n   { this.props.EditRow==\"true\" && this.props.EditRowFn(row)}>}\n \n \n \n \n \n })\n }\n\n\n onMouseDown=(e)=> {\n console.log('onMouseDown');\n const target = this.getTrNode(e.target);\n if (target) {\n target.setAttribute('draggable', true);\n target.ondragstart = this.onDragStart;\n target.ondragend = this.onDragEnd;\n }\n }\n\n onDragStart=(e)=> {\n console.log('onDragStart');\n const target = this.getTrNode(e.target);\n if (target) {\n // e.dataTransfer.setData('Text', '');\n target.setAttribute('style', 'border: 2px solid lightgray;');\n e.dataTransfer.effectAllowed = 'move';\n console.log('target.parentElement:', target.parentElement);\n target.parentElement.ondragenter = this.onDragEnter;\n target.parentElement.ondragover = function(ev) {\n // console.log('Tbody ondragover:',ev)\n // ev.target.dataTransfer.effectAllowed = 'none'\n ev.preventDefault();\n return true;\n };\n const dragIndex = target.rowIndex - 1;\n console.log('dragIndex:', dragIndex);\n this.setState({ dragIndex, draggedIndex: dragIndex });\n }\n }\n\n onDragEnter=(e)=> {\n const target = this.getTrNode(e.target);\n this.setState({\n draggedIndex: target ? target.rowIndex - 1 : -1,\n });\n }\n\n onDragEnd=(e)=> {\n const target = this.getTrNode(e.target);\n if (target) { \n target.setAttribute('draggable', false);\n target.setAttribute('style', 'border: none');\n target.ondragstart = null;\n target.ondragend = null;\n target.parentElement.ondragenter = null;\n target.parentElement.ondragover = null;\n this.changeRowIndex();\n \n }\n }\n\n getTrNode=(target)=> {\n // console.log('dragContainer:', this.refs.dragContainer)\n // return closest(target, 'tr', this.refs.dragContainer.tableNode);\n return closest(target, 'tr');\n }\n\n changeRowIndex() {\n const result = {};\n const currentState = this.state;\n console.log('currentState:', currentState);\n result.dragIndex = result.draggedIndex = -1;\n if (\n currentState.dragIndex >= 0 &&\n currentState.dragIndex !== currentState.draggedIndex\n ) {\n const { dragIndex, draggedIndex} = currentState;\n const data = this.props.data;\n const item = data.splice(dragIndex, 1)[0];\n data.splice(draggedIndex, 0, item);\n result.data = data;\n result.dragIndex = -1;\n result.draggedIndex = -1;\n }\n this.setState(result);\n }\n\n onSort(sortKey,event){\n const data = this.props.data;\n data.sort((a,b) => a[sortKey].localeCompare(b[sortKey]))\n this.setState({data})\n }\n\n onSortChange = () => {\n\t\tconst { currentSort } = this.state;\n\t\tlet nextSort;\n\n\t\tif (currentSort === 'down') nextSort = 'up';\n\t\telse if (currentSort === 'up') nextSort = 'default';\n\t\telse if (currentSort === 'default') nextSort = 'down';\n\n\t\tthis.setState({\n\t\t\tcurrentSort: nextSort\n\t\t});\n\t};\n\n deleteRow(index){ \n this.props.data.splice(index,1);\n this.forceUpdate();\n\n}\n\nonCheckChange(param,event){\n this.props.SelectFn(param,event)\n\n}\n render() {\n \n \n return (\n \n
\n \n {this.props.exportXL===\"true\" && this.props.id!==undefined &&\n
\n {/* }\n /> */}\n
\n } \n \n
\n \n {this.props.data.length >0 && this.props.data!=undefined &&\n \n \n\n \n {this.getHeader()}\n \n \n {this.getRowsData()}\n \n
#
\n }
\n \n
\n \n\n )}\n\n}\n","import React, { Component } from 'react';\nimport Table from './MODAL/table'\nimport AutoCompleteInput from '../Actions/Controls/AutoComplete/autoComplete';\nimport { Configuration, getDataTable, MandatoryFormFields } from '../Configuration';\nimport { getQueryStr_Comma } from '../CommanFunc';\nimport { Spin } from 'antd';\nimport '../ORDER/OrderMaster/style.css'\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\n\nexport default class frmproduct extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n productdata: [],\n adata: [],\n atList: [],\n loading: false,\n };\n }\n async componentDidMount() {\n await this.setState({\n loginId: Configuration.USER_ID,\n });\n }\n async getdata() {\n let pName = getQueryStr_Comma('productName',this.state.prdname)\n let MandatoryArray = [\n {\"Category\":this.state.catid},\n { \"Attribute\": this.state.atList.length },\n {\"Product\":pName}\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n \n let list = ''\n for (let i = 0; i < this.state.atList.length; i++) {\n if (list === '') {\n list = \"[\" + this.state.atList[i] + \"]\"\n }\n else {\n list = list + \",[\" + this.state.atList[i] + \"]\"\n }\n }\n console.log(list);\n let Que = \"EXEC GetProductData_DetailsMul @loginid=\" + this.state.loginId + \" ,@CatID=\" + this.state.catid + \" ,@fields='\" + list + \"', @filter='\"+pName+\"'\"\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n this.setState({ productdata: rs })\n }\n else{\n alert(\"No Data Found\")\n return;\n }\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n if (id === \"catid\") {\n await this.GetAttributes(selectedOptions[0].DisplayId);\n }\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n productdata: [],\n adata: [],\n atList: []\n })\n }\n }\n async SaveProduct() {\n \n this.setState({ loading: true })\n let arr = []\n let tbl = document.getElementById('prdt')\n let inputs = tbl.getElementsByTagName('input')\n let selects = tbl.getElementsByTagName('select')\n for (let i = 0; i < inputs.length; i++) {\n let val = inputs[i].value\n let idval = inputs[i].id\n let productid = inputs[i].name\n\n if (val) {\n arr.push({ id: idval, fldval: val, pid: productid })\n }\n }\n for (let j = 0; j < selects.length; j++) {\n let val = selects[j].value\n let idval = selects[j].id\n let productid = selects[j].name\n if (val) {\n arr.push({ id: idval, fldval: val, pid: productid })\n }\n }\n \n for (let k = 0; k < arr.length; k++) {\n var Que = \"EXEC SaveDataSingleProduct @pid=\" + arr[k].pid + \", @atid=\" + arr[k].id + \" , @loginid=\" + this.state.loginId + \", @fldvalue='\" + arr[k].fldval + \"'\"\n let rs = await getDataTable(Que)\n }\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Updated Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false,productdata:[] })\n return;\n }\n render() {\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

Product Master\n \n \n

\n
\n
\n
\n
\n *\n this.onAfterSelect(e, \"catid\", \"catname\")}\n isValid={this.state.isValid}\n >\n {this.state.adata.length > 0 && this.renderFileInTable()}\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
0 ? 'inline' : 'none' }}>\n \n
\n \n
\n
\n
\n
\n {\n this.state.productdata != undefined && this.state.productdata.length > 0 &&\n \n }\n \n \n \n \n \n \n \n )\n }\n renderFileInTable() {\n return (\n
0 ? 'none' : 'inline' }}>\n
\n
\n \n \n \n \n \n \n {this.state.adata.map((value, index) => {\n return \n \n \n \n })}\n \n
SR NO. ATTRIBUTENAME
{index + 1} {value.AttributeName}
\n
\n
\n )\n }\n SelectFN(e, f) {\n let alist = this.state.atList\n if (f.target.checked) {\n alist.push(e.AttributeName)\n }\n else {\n var index = alist.indexOf(e.AttributeName);\n if (index > -1) {\n alist.splice(index, 1);\n }\n }\n this.setState({\n atList: alist\n })\n }\n async GetAttributes(id) {\n let data = [];\n let Que = \"SELECT b.AID,b.AttributeName FROM AttributeCategoryMap as a INNER JOIN AttributeMaster as b ON a.AttributeID = b.AID WHERE (a.CatID = \" + id + \")\"\n if (this.state.tempID > 0) {\n Que = \"SELECT AttributeMaster.AID, AttributeMaster.AttributeName FROM TemplateDetails INNER JOIN AttributeMaster ON TemplateDetails.AttributeID = AttributeMaster.AID WHERE (TemplateDetails.templateID = \" + this.state.tempID + \")\"\n }\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({\n adata: rs\n })\n }\n else {\n alert(\"No Data Found\")\n this.setState({\n adata: []\n })\n }\n }\n SelectAllFN(e) {\n let alist = []\n var tbl = document.getElementById('alisttable');\n var inputs = tbl.getElementsByTagName('input')\n if (e.target.checked) {\n for (let i = 1; i < inputs.length; i++) {\n alist.push(inputs[i].value)\n inputs[i].checked = \"true\"\n }\n }\n else {\n for (let i = 1; i < inputs.length; i++) {\n inputs[i].checked = false\n }\n }\n this.setState({\n atList: alist\n })\n }\n}\n","import { Modal } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique } from '../../Configuration';\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmTemplate extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId:0,\n RSDATA: [],\n condition:1\n };\n }\n\n async componentDidMount() {\n await this.setState({\n loginId: Configuration.USER_ID,\n });\n }\n\n static getDerivedStateFromProps(nextProps, prevState){\n return {\n RSDATA: nextProps.data\n };\n }\n\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible, RSDATA: [] });\n }\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n }\n\n async SaveTamplate() {\n let dt = this.state.RSDATA\n let cnt = 0\n dt.forEach(ele => {\n if (this.state.AVID === ele['#AVID'] && this.state.condition === ele['Condition']) {\n cnt = cnt+1\n }\n });\n if (cnt > 0) {\n return false;\n }\n let st = {\n \"#AID\":this.state.AID,\n \"AttributeName\":this.state.ANAME,\n \"#AVID\":this.state.AVID,\n \"Value\":this.state.AVALUE,\n \"Condition\":this.state.condition\n }\n dt.push(st)\n let tempData = await arrUnique(dt)\n this.setState({\n RSDATA:tempData\n })\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n // destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n \n
\n *\n this.onAfterSelect(e, \"AID\", \"ANAME\")}\n >\n
\n
\n *\n this.onAfterSelect(e, \"AVID\", \"AVALUE\")}\n >\n
\n
\n *\n
\n {/* */}\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n
\n \n
\n )\n }\n\n\n\n\n async deleteRow(e) {\n let dt = this.state.RSDATA\n dt.splice(e['key'], 1);\n this.setState({\n RSDATA:dt\n })\n }\n\n\n}","import React, { Component } from 'react';\nimport { Configuration, MandatoryFormFields, getDataTable, updateTemplateFile } from '../Configuration';\nimport { Modal, Spin } from 'antd';\nimport '../ORDER/OrderMaster/style.css'\nimport \"antd/dist/antd.css\";\nimport AutoCompleteInput from '../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\nimport TFilter from './../IMAGE/MODAL/frmTemplateFilter'\n\nconst dataBase = \"IMAGEDB\";\nlet files = ''\nvar tb = ''\nexport default class frmUpdateAttributeAliasing extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n visible: false,\n file: null,\n loading: false,\n aData: [],\n tptype: '0',\n options: [],\n stsdup: 0,\n btType: 'B2C',\n fldt: [],\n alwCustomSheetval: 0,\n IsFreez : 0\n };\n }\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n if (id === 'ValueID') {\n this.changeAlias(index, selectedOptions)\n }\n }\n async UploadFile() {\n if (this.state.alwCustomSheetval === 1) {\n await this.updateTemplatewithfile()\n return;\n }\n this.setState({\n loading: true,\n aData: []\n })\n let MandatoryArray = [\n { \"portal\": this.state.portalid },\n { \"BLOCK\": this.state.catid1 },\n { \"TEMPLATE\": this.state.tempId }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n var formdata = new FormData();\n formdata.append(\"file\", files);\n var requestOptions = {\n method: 'POST',\n body: formdata,\n redirect: 'follow'\n };\n\n let que0 = \" SELECT TemplateID, Is_freez FROM TemplateMaster WHERE TemplateID = \"+ this.state.tempId \n let dt0 = await getDataTable(que0)\n this.setState({\n IsFreez : dt0[0]['Is_freez']\n })\n \n let que = \"SELECT TemplateDetails.Priority,TemplateDetails.HeaderName AS [key], TemplateDetails.mandatory,ISNULL(AttributeMaster.AID,0) AS AttributeID, AttributeMaster.AttributeName AS AttributeName FROM TemplateDetails LEFT OUTER JOIN AttributeMaster ON TemplateDetails.AttributeID = AttributeMaster.AID WHERE (TemplateDetails.templateID = \" + this.state.tempId + \") order by TemplateDetails.Priority\"\n let dt = await getDataTable(que)\n await this.GetdataAliasing(dt)\n\n let que1 = \"SELECT AttributeName, Value, AttributeID AS #AID, ValueID AS #AVID, Condition FROM TemplateFilterData INNER JOIN AttributeMaster ON TemplateFilterData.AttributeID = AttributeMaster.AID WHERE TemplateID = \" + this.state.tempId\n this.setState({ fldt: await getDataTable(que1) })\n }\n\n async updateTemplatewithfile() {\n this.setState({\n loading: true,\n aData: []\n })\n let MandatoryArray = [\n { \"Files\": files },\n { \"portal\": this.state.portalid },\n { \"BLOCK\": this.state.catid1 },\n { \"TEMPLATE\": this.state.tempId },\n { \"sheet no\": this.state.sindex },\n { \"row no\": this.state.rindex }\n ]\n\n let que0 = \" SELECT TemplateID, Is_freez FROM TemplateMaster WHERE TemplateID = \"+ this.state.tempId \n let dt0 = await getDataTable(que0)\n this.setState({\n IsFreez : dt0[0]['Is_freez']\n })\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false })\n return false;\n }\n var formdata = new FormData();\n formdata.append(\"file\", files);\n formdata.append(\"sindex\", this.state.sindex)\n formdata.append(\"rindex\", this.state.rindex)\n var requestOptions = {\n method: 'POST',\n body: formdata,\n redirect: 'follow'\n };\n let rs = await fetch(\"https://api.blumangoes.ai:6143/GetSheetAttribute\", requestOptions)\n let dt = await rs.json()\n await this.getAlreadyAliasedData(dt.data)\n let que1 = \"SELECT AttributeName, Value, AttributeID AS #AID, ValueID AS #AVID, Condition FROM TemplateFilterData INNER JOIN AttributeMaster ON TemplateFilterData.AttributeID = AttributeMaster.AID WHERE TemplateID = \" + this.state.tempId\n this.setState({ fldt: await getDataTable(que1) })\n }\n\n\n async getAlreadyAliasedData(dt) {\n\n for (let i = 0; i < dt.length; i++) {\n let Que = \"select AttributeID,AttributeName,mandatory from AttributeMaster inner join TemplateDetails on TemplateDetails.AttributeID = aid \"\n Que += \" where HeaderName = '\" + dt[i].key + \"' and templateID = \" + this.state.tempId\n Que += \" order by tempDetailID desc\"\n // Que += \"select AID,AttributeName from AttributAlias inner join AttributeMaster on AttributeMaster.AID = AttributAlias.AttributeID where PortalID = \" + this.state.portalid + \" and aliasName = '\" + dt[i].key + \"' and dis = 0\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n dt[i].AttributeID = rs[0].AttributeID\n dt[i].AttributeName = rs[0].AttributeName\n dt[i].mandatory = rs[0].mandatory\n dt[i].Priority = i + 1\n }\n else {\n let Que0 = \"SELECT AID, AttributeName FROM AttributeMaster inner join AttributeCategoryMap on AttributeCategoryMap.AttributeID = \"\n Que0 += \"AttributeMaster.AID where dis = 0 and AttributeName='\" + dt[i].key + \"' and CatID = \" + this.state.catid1\n let rs0 = await getDataTable(Que0)\n if (rs0.length > 0) {\n dt[i].AttributeID = rs0[0].AID\n dt[i].AttributeName = rs0[0].AttributeName\n dt[i].mandatory = 0\n dt[i].Priority = i + 1\n }\n else {\n dt[i].AttributeID = 0\n dt[i].AttributeName = ''\n dt[i].mandatory = 0\n dt[i].Priority = i + 1\n }\n }\n }\n\n await this.GetdataAliasing(dt)\n\n }\n\n async GetdataAliasing(dt) {\n\n let Que1 = \"SELECT TamplateName, Discription, CellAddress, TemplateType FROM TemplateMaster WHERE TemplateID = \" + this.state.tempId\n let rs1 = await getDataTable(Que1)\n this.setState({\n tempName: rs1[0].TamplateName,\n cellAddress: rs1[0].CellAddress,\n tempDiscrption: rs1[0].Discription\n })\n if (rs1[0].TemplateType) {\n this.setState({ btType: rs1[0].TemplateType })\n }\n\n var mySelect = document.getElementById('mySelect');\n\n for (var i, j = 0; i = mySelect.options[j]; j++) {\n if (i.value == this.state.btType) {\n mySelect.selectedIndex = j;\n break;\n }\n }\n this.setState({\n loading: false,\n aData: dt\n })\n }\n\n async CreateAttribute(i) {\n let pData = this.state.aData[i]\n this.setState({ Aname: pData['key'] })\n Modal.info({\n title: 'CREATE ATTRIBUTE',\n okText: 'CLOSE',\n width: '700px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '300px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: false,\n content: (\n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n )\n });\n }\n\n async SaveAttributeWithMap() {\n this.setState({ loading: true })\n let MandatoryArray = [\n { \"Value Type\": this.state.val }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n let Que = \"Select * from AttributeMaster where AttributeName = '\" + this.state.Aname + \"' and dis = 0\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n return false;\n }\n let Query = \"INSERT INTO AttributeMaster (AttributeName, LoginID, Logdate,Dis,Validation) Output Inserted.AID VALUES ('\" + this.state.Aname + \"',\" + this.state.loginId + \",cast(getdate() as date),0,'\" + this.state.val + \"')\"\n let res = await getDataTable(Query)\n if (res[0].AID) {\n let Query1 = \"INSERT INTO AttributeCategoryMap (CatID, AttributeID, loginID, logdate) VALUES (\" + this.state.catid1 + \",\" + res[0].AID + \",\" + this.state.loginId + \",cast(getdate() as date))\"\n let res1 = await getDataTable(Query1)\n this.setState({ loading: false })\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n this.setState({ loading: false })\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Some Issue Occured',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n // hide show div\n hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display == \"block\") {\n document.getElementById(id).style.display = \"none\"\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-plus\";\n }\n else {\n document.getElementById(id).style.display = \"block\"\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n };\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n }\n\n async alwCustomSheet(e) {\n if (e.target.checked) {\n this.setState({ alwCustomSheetval: 1 })\n }\n else {\n this.setState({ alwCustomSheetval: 0 })\n }\n }\n\n async handleFreedge() {\n let MandatoryArray = [\n { \"Type\": this.state.IsFreez}\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n\n let que = \"UPDATE templateMaster SET Is_freez =\" + this.state.IsFreez + \"where TemplateID =\"+ this.state.tempId\n let que1 = getDataTable(que)\n if(que1){\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n this.setState({ loading: false })\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Some Issue Occured',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async ShowhandleFreedge(){\n let MandatoryArray = [\n { \"Portal\": this.state.portalid},\n { \"Block\" : this.state.catid1},\n { \"Template\" : this.state.tempId}\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n\n Modal.info({\n title: 'MARK FRIDGE OR UNFRIDGE',\n okText: 'CLOSE',\n width: '700px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '300px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: false,\n content: (\n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n
\n )\n });\n }\n\n render() {\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

UPDATE PORTAL TEMPLATE\n \n \n

\n {\n (this.state.loginId === \"1\" || this.state.loginId === \"10\") \n &&\n
\n \n
\n }\n
\n
\n
\n
\n \n this.onAfterSelect(e, \"portalid\", \"portalname\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"catid1\", \"catname1\")}\n isValid={this.state.isValid}\n >\n
\n
\n Update file\n this.onAfterSelect(e, \"tempId\", \"tempName\")}\n isValid={this.state.isValid}\n >\n
\n {this.state.alwCustomSheetval === 1 &&
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
}\n
\n \n
\n \n
\n
\n\n
\n {this.state.aData.length > 0 &&\n this.storeImageTable()\n }\n
\n
0 ? 'Block' : 'none' }}>\n
\n *\n
\n \n
\n
\n\n
\n *\n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n )\n }\n\n async alwduplicate(e) {\n if (e.target.checked) {\n this.setState({ stsdup: 1 })\n }\n else {\n this.setState({ stsdup: 0 })\n }\n }\n\n storeImageTable() {\n return (\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {this.state.aData.map((value, index) => {\n const showChangeMapping =\n (this.state.loginId === \"1\" || this.state.loginId === \"10\") ||\n (value.AttributeID === 0 && this.state.IsFreez === 0) ||\n (this.state.loginId !== \"1\" && this.state.loginId !== \"10\" && this.state.IsFreez === 0);\n\n \n return (\n \n \n \n \n \n \n \n );\n })}\n \n
SR NO.MANDATORYPORTAL KEYMAPPED WITHCHANGE MAPPING
\n {index + 1}  \n this.deleteRow(index)}\n >\n   \n this.CreateAttribute(index)}\n >\n \n \n {value.key}{value.AttributeName}\n {showChangeMapping && (\n \n this.onAfterSelect(e, \"ValueID\", \"FValue\", index)\n }\n >\n )}\n
\n
\n
\n );\n }\n \n \n\n changeAlias(index, values) {\n let st = this.state.aData\n if (values.length > 0) {\n for (let i = 0; i < st.length; i++) {\n const element = st[i];\n if (element.AttributeID === values[0].DisplayId && this.state.stsdup === 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Attribute Already Assinged To Another Header',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n }\n st[index].AttributeName = values[0].DisplayName\n st[index].AttributeID = values[0].DisplayId\n }\n else {\n st[index].AttributeName = ''\n st[index].AttributeID = 0\n }\n this.setState({ aData: st })\n }\n\n\n changemandatory(index, e) {\n let st = this.state.aData\n if (e.target.checked) {\n st[index].mandatory = 1\n }\n else {\n st[index].mandatory = 0\n }\n this.setState({ aData: st })\n }\n\n deleteRow(index) {\n let st = this.state.aData\n st.splice(index, 1);\n this.setState({ groupedImg: st })\n }\n async SaveTemplate() {\n\n this.setState({ loading: true })\n let MandatoryArray = [\n { \"BLOCK\": this.state.catid1 },\n { \"portal\": this.state.portalid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n\n let tempdata = this.state.aData\n let tempdata1 = this.state.fldt //filter data\n\n\n for (let j = 0; j < this.state.aData.length; j++) {\n const element = this.state.aData[j];\n if (element.AttributeID === '0' || element.AttributeID === 0 || element.AttributeID === undefined) {\n Swal.fire({\n icon: 'error',\n title: \"PLEASE COMPLETE MAPPING OR REMOVE UN-MAPPED ATTRIBUTE\",\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n return false;\n }\n }\n let dtstr = JSON.stringify(tempdata)\n let que0 = \"EXEC frmTemplateAlising_SaveUpdateTemplatedetails @dtJSON = '\" + dtstr + \"' , @templateID = \" + this.state.tempId + \" , @loginID = \" + this.state.loginId\n let dt = await getDataTable(que0)\n // for (let i = 0; i < tempdata.length; i++) {\n // let que1 = \"INSERT INTO TemplateDetails (templateID, AttributeID, LoginID, Logdate,Priority,mandatory,HeaderName) VALUES (\" + this.state.tempId + \",\" + tempdata[i].AttributeID + \",\" + this.state.loginId + \",cast(getdate() as date),\" + (i + 1) + \",\" + tempdata[i].mandatory + \",'\" + tempdata[i].key + \"')\"\n // let dt1 = await getDataTable(que1)\n // }\n let que1 = \"Update TemplateMaster SET TamplateName = '\" + this.state.tempName + \"', Discription = '\" + this.state.tempDiscrption + \"', CellAddress = '\" + this.state.cellAddress + \"', TemplateType = '\" + this.state.btType + \"' WHERE TemplateID = \" + this.state.tempId\n let rs1 = await getDataTable(que1)\n if (this.state.alwCustomSheetval === 1) {\n await getDataTable(\"Update TemplateMaster SET SheetName = '\" + this.state.sindex + \"' WHERE TemplateID = \" + this.state.tempId)\n let stsnew = await updateTemplateFile(files, this.state.portalname, this.state.tempId)\n }\n await Swal.fire({\n icon: 'success',\n title: \"ALIASING UPDATED\",\n showConfirmButton: false,\n timer: 1500\n })\n let arr = [\"10\", \"6\", \"1\", \"10019\"]\n if (arr.includes(this.state.loginId)) {\n\n // const cndtn = [...new Set(tempdata1.map(item => item.Condition))];\n let q1 = \"EXEC frmupdateTemplate_DeleteFilters @TemplateID = \" + this.state.tempId + \" , @LoginID = \" + this.state.loginId\n let r1 = await getDataTable(q1)\n\n let filterSTR = JSON.stringify(tempdata1)\n let q = \"EXEC SaveTemplateFilters @loginId = \" + this.state.loginId + \", @dtJSON = '\" + filterSTR + \"' , @tid = \" + this.state.tempId\n\n\n\n let r = await getDataTable(q)\n if (r[0][\"Status\"] == \"Done\") {\n Swal.fire({\n icon: 'success',\n title: \"Filters Updated\",\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n\n this.setState({ loading: false, aData: [] })\n }\n}","import React, { Component } from \"react\";\n//import xlsExport from 'xlsexport'\nimport {\n Configuration,\n exceltodb,\n MandatoryFormFields,\n getDataTable,\n json2xlsx,\n SaveTemplateFile,\n} from \"../Configuration\";\nimport AntD from \"../Actions/Controls/Table/AntDTable\";\nimport { Spin } from \"antd\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport TFilter from \"./../IMAGE/MODAL/frmTemplateFilter\";\nimport VLAUEALSING from \"./../IMAGE/MODAL/frmcreateValueAliasing\";\nlet files = \"\";\nvar tb = \"\";\nexport default class frmUpdateValueAliasing extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n visible: false,\n file: null,\n loading: false,\n aData: [],\n tptype: \"0\",\n options: [],\n stsdup: 0,\n AIDM: \"\",\n ANAME: \"\",\n mshow: 0,\n selectedrows: [],\n stsdup: 0,\n fldt: [],\n merge: \"0\",\n ImportSheetId: \"\",\n };\n }\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n this.forceUpdate();\n }\n\n async UploadFile() {\n this.setState({\n loading: true,\n aData: [],\n });\n let MandatoryArray = [\n { portal: this.state.portalid },\n { BLOCK: this.state.catid1 },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n let que1 =\n \"EXEC frmValueAliasingUpdate_GetAliasedData @portalID =\" +\n this.state.portalid +\n \" , @templateID = \" +\n this.state.tempId;\n let rs1 = await getDataTable(que1);\n this.setState({ loading: false, aData: rs1 });\n\n let que2 =\n \"SELECT AttributeName, Value, AttributeID AS #AID, ValueID AS #AVID, Condition FROM TemplateFilterData INNER JOIN AttributeMaster ON TemplateFilterData.AttributeID = AttributeMaster.AID WHERE TemplateID = \" +\n this.state.tempId;\n this.setState({ fldt: await getDataTable(que2) });\n }\n\n async GetDataImport() {\n this.setState({\n loading: true,\n aData: [],\n });\n let MandatoryArray = [{ BLOCK: this.state.catid1 }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n let que1 =\n \"EXEC frmValueAliasingUpdate_GetAliasedDataImport @templateID = \" +\n this.state.ImportSheetId;\n let rs1 = await getDataTable(que1);\n this.setState({ loading: false, aData: rs1 });\n }\n\n async UpdateAliasing() {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n for (let i = 0; i < st.length; i++) {\n let ele = st[i];\n if (ele[\"#valueID\"]) {\n if (ele[\"AliasValue\"]) {\n // let queDel = \" Delete from OptionValueAliasing where ValueID =\"+ ele['#valueID'] + \" and AliasedValue = '\"+ele['AliasValue']+\"' and PortalID =\"+ele['#portalID']\n // let rsDel = await getDataTable(queDel)\n }\n this.setState({ loading: true });\n let quechk =\n \"select UID,PortalHeader + ' - ' + AliasedValue AS DT from OptionValueAliasing where ValueID = \" +\n ele[\"#valueID\"] +\n \" and PortalHeader = '\" +\n ele[\"Portal Attribute\"] +\n \"' and \";\n quechk +=\n \" TemplateID = \" + this.state.tempId + \" and ValueID <> 23554\";\n let rschk = await getDataTable(quechk);\n if (rschk.length > 0) {\n this.setState({ loading: false });\n let st = await Swal.fire({\n title:\n \"ALREADY ALISED WITH \" +\n rschk[0][\"DT\"] +\n \" .
ARE YOU SURE WANT TO OVERWRITE DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n } else {\n continue;\n }\n }\n this.setState({ loading: true });\n var Que =\n \"EXEC SaveAttributeValue_Alias @ValueID=\" +\n ele[\"#valueID\"] +\n \", @portalID='\" +\n this.state.portalname +\n \"' , @loginID=\" +\n this.state.loginId +\n \", @aliasName='\" +\n ele[\"Portal Value\"] +\n \"' , @Header='\" +\n ele[\"Portal Attribute\"] +\n \"'\";\n Que += \" , @templateID =\" + this.state.tempId;\n let rs = await getDataTable(Que);\n }\n }\n await this.updateData();\n }\n\n async DeleteAliasing() {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n for (let i = 0; i < st.length; i++) {\n let ele = st[i];\n if (ele[\"AliasValue\"]) {\n let queDel =\n \" Delete from OptionValueAliasing output Deleted.UID where ValueID =\" +\n ele[\"#valueID\"] +\n \" and AliasedValue = '\" +\n ele[\"AliasValue\"] +\n \"' and PortalID =\" +\n ele[\"#portalID\"] +\n \" and PortalHeader = '\" +\n ele[\"Portal Attribute\"] +\n \"'\";\n // queDel += \" and TemplateID =\"+this.state.tempId\n let rsDel = await getDataTable(queDel);\n }\n }\n await this.updateData();\n }\n\n async updateData() {\n this.setState({ loading: true, aData: [] });\n //let s = document.getElementsByName('chkduplicate')\n // let PrscName = 'UPDATEDATA_FOR_VALUEALIAS_NEW'\n // if (this.state.stsdup === 1){\n // PrscName = 'DATA_FOR_REVERSE_ALIASING'\n // }\n // let que1 = \"EXEC \"+PrscName+\" @tblname='\" + this.state.tablename + \"' , @loginid =\" + this.state.loginId + \" , @portalID =\" + this.state.portalid\n let que1 =\n \"EXEC frmValueAliasingUpdate_GetAliasedData @portalID =\" +\n this.state.portalid +\n \" , @templateID = \" +\n this.state.tempId;\n let rs1 = await getDataTable(que1);\n this.setState({ loading: false, aData: rs1, selectedrows: [] });\n }\n\n async selectedDataFN(e) {\n if (e.length > 0) {\n this.setState({ selectedrows: e });\n } else {\n this.setState({ selectedrows: [] });\n }\n }\n EditRow(e) {\n console.log(e);\n let index = e.key;\n let st = this.state.aData;\n st[index] = e;\n this.setState({ aData: st });\n if (this.state.selectedrows.length > 0 && this.state.stsdup === 1) {\n }\n }\n\n deleteRow(e) {\n let st = this.state.aData;\n this.setState({ aData: [] });\n let index = e.key;\n st.splice(index, 1);\n\n this.setState({ aData: st });\n this.forceUpdate();\n }\n\n hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display == \"block\") {\n document.getElementById(id).style.display = \"none\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-plus\";\n } else {\n document.getElementById(id).style.display = \"block\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n }\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n };\n\n async alwdreverseAliasing(e) {\n if (e.target.checked) {\n this.setState({ stsdup: 1 });\n } else {\n this.setState({ stsdup: 0 });\n }\n //await this.updateData()\n }\n\n async SaveFilters() {\n this.setState({ loading: true });\n let MandatoryArray = [\n { BLOCK: this.state.catid1 },\n { portal: this.state.portalid },\n { Template: this.state.tempId },\n ];\n\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n\n let tempdata1 = this.state.fldt;\n let aids = \"\";\n let vids = \"\";\n let values = \"\";\n let count = 0;\n const cndtn = [...new Set(tempdata1.map((item) => item.Condition))];\n\n let q1 =\n \"EXEC frmupdateTemplate_DeleteFilters @TemplateID = \" +\n this.state.tempId +\n \" , @LoginID = \" +\n this.state.loginId;\n let r1 = await getDataTable(q1);\n\n for (let j = 0; j < cndtn.length; j++) {\n aids = \"\";\n vids = \"\";\n values = \"\";\n count = 0;\n for (let i = 0; i < tempdata1.length; i++) {\n if (tempdata1[i][\"Condition\"] == cndtn[j]) {\n aids = aids + tempdata1[i][\"#AID\"] + \",\";\n vids = vids + tempdata1[i][\"#AVID\"] + \",\";\n values = values + tempdata1[i][\"Value\"] + \",\";\n count += 1;\n }\n }\n\n aids = aids.substring(0, aids.length - 1);\n vids = vids.substring(0, vids.length - 1);\n values = values.substring(0, values.length - 1);\n\n let q =\n \"EXEC SaveTemplateFilters @loginId = \" +\n this.state.loginId +\n \", @condition = \" +\n cndtn[j] +\n \", @catId = \" +\n this.state.catid1 +\n \", @tid = \" +\n this.state.tempId +\n \", @aids = '\" +\n aids +\n \"', @vids = '\" +\n vids +\n \"', @values = '\" +\n values +\n \"', @count = \" +\n count;\n let r = await getDataTable(q);\n if (r[0][\"\"] == \"Done\") {\n Swal.fire({\n icon: \"success\",\n title: \"Filters Updated\",\n showConfirmButton: false,\n timer: 1500,\n });\n } else {\n let que2 =\n \"SELECT AttributeName, Value, AttributeID AS #AID, ValueID AS #AVID, Condition FROM TemplateFilterData INNER JOIN AttributeMaster ON TemplateFilterData.AttributeID = AttributeMaster.AID WHERE TemplateID = \" +\n this.state.tempId;\n this.setState({ fldt: await getDataTable(que2) });\n\n Swal.fire({\n icon: \"error\",\n title:\n \"Same filters exists for condition \" +\n cndtn[j] +\n \" for template \" +\n r[0][\"\"],\n showConfirmButton: false,\n timer: 3000,\n });\n }\n }\n\n this.setState({ loading: false });\n }\n\n render() {\n //lt = this.state\n return (\n
\n \n
\n \n
\n
\n {
{this.state.mshow === 1 && this.CreateAttribute(this)}
}\n
\n \n
\n

\n UPDATE VALUE ALIASING\n \n

\n
\n \n \n \n Toggle Dropdown\n \n
    \n
  • \n \n
  • \n
\n
\n
\n \n
\n
\n \n *\n
\n \n \n \n \n \n
\n
\n \n \n \n this.onAfterSelect(e, \"portalid\", \"portalname\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n\n \n \n \n this.onAfterSelect(e, \"tempId\", \"tempName\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n\n \n \n \n this.onAfterSelect(e, \"ImportSheetId\", \"ImportSheetName\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n
\n \n
\n \n \n \n
\n \n
\n \n {[\"1\", \"10\", \"6\", \"10019\"].includes(this.state.loginId) && (\n
\n 0 ? \"block\" : \"none\",\n }}\n className=\"col-xs-6 col-sm-3 col-md-1 margintop\"\n >\n \n
\n \n
\n
\n\n 0 ? \"block\" : \"none\",\n }}\n className=\"col-xs-6 col-sm-3 col-md-1 margintop\"\n >\n \n
\n \n
\n \n \n )}\n {this.state.selectedrows.length > 0 && (\n
\n \n
\n \n
\n
\n )}\n
\n {/* {this.state.aData.length > 0 &&} */}\n
\n {this.state.aData.length > 0 && (\n \n Refresh Data\n \n )}\n
\n
\n {(this.state.loginId === \"10\" ||\n this.state.loginId === \"1\" ||\n this.state.loginId === \"6\") &&\n this.state.selectedrows.length > 0 && (\n
\n \n
\n \n
\n
\n )}\n \n {this.state.aData.length > 0 && (\n // this.storeImageTable()\n this.deleteRow(e)}\n EditBlock=\"true\"\n EditBlockFn={this.EditRow.bind(this)}\n EditBlockReverse=\"true\"\n rvrs={this.state.stsdup}\n tblname={this.state.tablename}\n templteID={this.state.tempId}\n selected=\"true\"\n SelectedFn={(e) => this.selectedDataFN(e)}\n >\n )}\n \n \n {this.state.aData.length > 0 && (\n // this.storeImageTable()\n this.deleteRow(e)}\n EditBlock=\"true\"\n EditBlockFn={this.EditRow.bind(this)}\n EditBlockReverse=\"true\"\n rvrs={this.state.stsdup}\n tblname={this.state.tablename}\n templteID={this.state.tempId}\n >\n )}\n \n \n \n \n \n \n );\n }\n}\n","import React, { Component } from 'react';\nimport AutoCompleteInput from '../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompletemulti from '../Actions/Controls/AutoComplete/autoCompleteMultiple';\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad'\nimport { Configuration,getDataTable,MandatoryFormFields } from '../Configuration';\nimport AntD from '../Actions/Controls/Table/AntDTable'\nimport '../ORDER/OrderMaster/style.css'\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\nexport default class frmUserRights extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n userData:[],\n userid:''\n };\n }\n async componentDidMount() {\n await this.setState({\n loginId: Configuration.USER_ID,\n });\n }\n async getdata(val) {\n \n if (val==='') {\n this.setState({userData: []})\n return;\n }\n let Que = \"EXEC ShowUser_Rights @userid = \"+val\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({userData: rs})\n }\n else{\n this.setState({userData: []})\n return;\n }\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n if (name === \"username\") {\n await this.getdata(selectedOptions[0].DisplayId)\n }\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n if (name === \"username\") {\n await this.getdata('')\n }\n }\n this.forceUpdate();\n \n }\n async SaveUser() {\n\n let MandatoryArray = [\n { \"User\": this.state.userid },\n { \"Menu\": this.state.menuid.length },\n { \"Type\": this.state.rpttype }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n return false;\n }\n \n \n let st = []\n for (let i = 0; i < this.state.menuid.length; i++) {\n let Query = \"delete from UserRights where userID = \"+this.state.userid+\" and menuID = \"+this.state.menuid[i].DisplayId\n Query = Query + \" INSERT INTO UserRights (userID, menuID, Rights, loginID, logdate) output inserted.UID\"\n Query = Query + \" VALUES (\"+this.state.userid+\",\"+this.state.menuid[i].DisplayId+\",'\"+this.state.rpttype+\"',\"+this.state.loginId+\",CAST(getdate() as date))\"\n const response = await getDataTable(Query)\n st.push(response) \n }\n if (st.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Not Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n await this.getdata(this.state.userid);\n }\n \n render() {\n return (\n
\n
\n
\n
\n

User Rights\n \n \n

\n
\n
\n
\n
\n *\n this.onAfterSelect(e, \"orgid\", \"orgname\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"userid\", \"username\")}\n >\n
\n
\n *\n this.onAutoCOmpletMultiPleSelect(e, \"menuid\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n {this.state.userData.length > 0 && this.state.userData !== undefined &&\n // this.deleteRow(e)}\n // height='63vh'\n // id='fielddata'\n // exportXL=\"true\">\n // \n this.deleteRow(e)}\n //EditRowFn={(e) => this.EditRow(e)}\n >\n }\n
\n
\n
\n
\n
\n
\n )\n }\n async deleteRow(e) {\n console.log(e);\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\") {\n let st = window.confirm(\"Are you sure want to delete ?\")\n if (!st) {\n return false;\n }\n console.log(e);\n let Que = \"delete FROM UserRights output deleted.userid WHERE UID = \"+e[\"#UID\"]\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Successfully Deleted',\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(rs[0].userid)\n }\n else{\n alert(\"Some Error Occurred\")\n }\n }\n else{\n alert(\"You are not allowed to delete\")\n return;\n }\n }\n async onAutoCOmpletMultiPleSelect(selectedOptions, name){ \n if (selectedOptions.length > 0) {\n this.setState({ \n [name]: selectedOptions \n }); \n\n }\n else {\n this.setState({ \n [name]: \"\" \n })\n }\n \n }\n}\n","import React, { Component } from 'react';\nimport { Configuration, getDataTable, MandatoryFormFields, arrUnique,exceltodb,json2xlsx} from '../Configuration';\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\nimport Moment from \"moment\";\nimport AntDTable from '../Actions/Controls/Table/AntDTable'\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad'\nimport 'sweetalert2/src/sweetalert2.scss'\nimport \"antd/dist/antd.css\";\nconst dataBase = \"IMAGEDB\";\nconst currentDate = Moment().format(\"DD-MMM-YYYY hh:mm:ss\");\n\n\nexport default class frmStatusMarking extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n dt: [],\n lotID:0,\n orgid: \"\",\n Pid:0,\n data: [],\n atList: [],\n status: 'Submit',\n today : new Date().toISOString().split('T')[0],\n files: \"\"\n };\n \n }\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({ loginId: Configuration.USER_ID, orgid: rs[0].orgid });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n dt:[]\n })\n }\n else {\n this.setState({ [id]: '', [name]: '',dt:[] })\n }\n }\n\n async selectedDataFN(e) {\n if (e.length > 0) {\n this.setState({ data: e })\n }\n else {\n this.setState({ data: [] ,\n status: 'Submit',\n plid: '',\n statusdate: this.state.today })\n }\n }\n\n async getProduct() {\n let MandatoryArray = [\n { \"Portal\": this.state.Pid },\n { \"Lot\": this.state.lotID}\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n this.setState({ dt: [],\n data: [],\n status: 'Submit',\n plid: '',\n statusdate: this.state.today })\n this.setState({ loading: true});\n let que = \"EXEC FrmStatusMarking_GetProductListNew @LotID = \"+this.state.lotID+\" , @PortalID = \"+this.state.Pid\n let rs = await getDataTable(que)\n this.setState({ loading: false});\n this.setState({ dt: rs })\n if(this.state.dt.length==0){\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Products on this lot are already marked.',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async SaveValues() {\n let MandatoryArray = [\n { \"Portal\": this.state.Pid },\n { \"Portal Lot No\": this.state.plid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n if (this.state.data.length == 0){\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'PLEASE SELECT PRODUCTS',\n showConfirmButton: false,\n timer: 1500\n })\n return false;\n }\n\n let proid = ''\n for (let i = 0; i < this.state.data.length; i++) {\n if (proid === '') {\n proid = this.state.data[i]['#prodID']\n } else {\n proid = proid + ',' + this.state.data[i]['#prodID']\n }\n }\n this.setState({ loading: true});\n let Que = \"EXEC UpDateLiveStatusNEW @plist='\" + proid + \"' , @portalID=\" + this.state.Pid + \", @logid=\" + this.state.loginId + \", @status='\" + this.state.status + \"', @plid = '\" + this.state.plid + \"', @lotid = \" + this.state.lotID + \", @statusdate = '\" + this.state.statusdate + \"'\"\n let rs = await getDataTable(Que)\n this.setState({dt:[],\n data:[],\n loading: false\n })\n if (Array.isArray(rs)) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Marked Successfully',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else{\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Marking could not be done.',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n myFileChangeHandler = (event) => {\n const file = event.target.files[0];\n console.log('File type:', Object.prototype.toString.call(file));\n this.setState({ files: file, upload: 1 });\n };\n\n async UploadFile() {\n this.setState({ loading: true });\n let MandatoryArray = [ { \"Portal\": this.state.Pid },{\"File\": this.state.files}];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n let rs = await exceltodb(this.state.files, dataBase, this.state.loginId);\n let que = \"\tSelect productID AS #prodID,p.[SKU CODE] AS [Product Name] from \" + rs\n que += \" p inner join productmaster on p.[SKU CODE] = Productmaster.ProductName where orgid =\"+this.state.orgid+\" and ( \"\n que += \" ProductMaster.ProductID NOT IN (Select distinct productid from LiveStatus where portalID =\"+this.state.Pid+\" and (FldVal = 'Live' or FldVal = 'Submit')) \"\n que += \" or ProductMaster.ProductID NOT IN (select distinct productID from PortalDataMaster where PortalID =\"+this.state.Pid+\")) \"\n let dt = await getDataTable(que);\n debugger\n if(dt.length> 2000){\n Swal.fire({\n icon: \"error\",\n title: \"SKU List can not be more then 2000\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n this.setState({ data: dt, dt:dt,loading:false})\n Swal.fire({\n icon: \"success\",\n title: dt.length+\" SKU UPLOADED\",\n showConfirmButton: false,\n timer: 3000,\n });\n }\n\n async DownloadSKUTemplate() {\n let arr = [{\n \"SKU CODE\": \"\"\n }]\n await json2xlsx(arr, \"SKU_TEMPLATE.xlsx\"+ \"_\" + currentDate + \"_\" + \"1.xlsx\");\n\n }\n\n render() {\n return (\n
\n
\n
\n
\n

STATUS MARKING\n \n \n

\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n *\n this.onAfterSelect(e, \"Pid\", \"Pname\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"lotID\", \"LotName\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n
\n
\n
\n
\n \n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
0 ? 'block' : 'none' }}>\n {/*
\n *\n
\n \n
\n
*/}\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n {this.state.dt.length > 0 && this.state.dt != undefined &&\n this.selectedDataFN(e)}>\n \n }\n
\n
\n
\n
\n
\n
\n
\n
\n )\n }\n}\n\n // renderFileInTable() {\n // return (\n //
\n //
\n // \n // \n // \n // \n // \n // \n // \n // {this.state.dt.map((value, index) => {\n // return \n // \n // \n // \n // })}\n // \n //
SR NO.   ProductName
{index + 1} {value.productName.toUpperCase()}
\n //
\n //
\n // )\n\n // }\n\n // renderFinalTable() {\n // return (\n //
\n //
\n // {\n // this.deleteRow(e)}\n // selected=\"true\"\n // SelectedFn={(e) => this.selectedDataFN(e)}>\n // \n // }\n //
\n //
\n // )\n\n // }\n\n // deleteRow(e) {\n // let tdt = this.state.data\n // tdt.splice(e, 1);\n // this.setState({ data: tdt })\n // }\n\n \n\n // SelectFN(e, f) {\n // let alist = this.state.atList\n // if (f.target.checked) {\n // alist.push(e.productid)\n // }\n // else {\n // var index = alist.indexOf(e.productid);\n // if (index > -1) {\n // alist.splice(index, 1);\n // }\n // }\n // this.setState({\n // atList: alist\n // })\n // }\n\n // SelectAllFN(e) {\n // let alist = []\n // var tbl = document.getElementById('filetable');\n // var inputs = tbl.getElementsByTagName('input')\n // if (e.target.checked) {\n // for (let i = 0; i < inputs.length; i++) {\n // alist.push(parseInt(inputs[i].value))\n // inputs[i].checked = \"true\"\n // }\n // }\n // else {\n // for (let i = 0; i < inputs.length; i++) {\n // inputs[i].checked = false\n // }\n // }\n // this.setState({\n // atList: alist\n // })\n // }\n\n // cleanList() {\n // this.setState({ data: [] })\n // }\n\n // async addProduct() {\n\n // if (this.state.dt.length > 0 && this.state.atList.length > 0) {\n // let tempData = this.state.data\n\n // for (let i = 0; i < this.state.atList.length; i++) {\n // for (let j = 0; j < this.state.dt.length; j++) {\n // if (this.state.dt[j]['#prodID'] === this.state.atList[i]['#prodID']) {\n // tempData.push(this.state.dt[j])\n // break;\n // }\n // }\n // }\n // tempData = await arrUnique(tempData)\n // this.setState({ data: tempData })\n // }\n // else {\n // Swal.fire({\n // position: 'top-end',\n // icon: 'warning',\n // title: 'Product Not Saved',\n // showConfirmButton: false,\n // timer: 1500\n // })\n // }\n\n // // this.props.data = tempData\n // // this.props.data.splice(0, this.props.data.length)\n // // for (let j = 0; j < tempData.length; j++) {\n // // this.props.data.push(tempData[j])\n // // }\n // // // this.setState({ finallist: tempData })\n // // this.forceUpdate();\n // // console.log(tempData);\n // }\n","import { Modal } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport TFilter from './frmTemplateFilter'\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique } from '../../Configuration';\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmCloneTemplate extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n fldt: []\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible });\n }\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n }\n\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async SaveTamplate(e) {\n let MandatoryArray = [\n { \"Template\": this.state.tempId },\n { \"Template Name\": this.state.tempName },\n { \"description\": this.state.tempDiscrption },\n { \"Filters\": this.state.fldt }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"EXEC frmCloneTemplate_CloneTemplate @templateID = \" + this.state.tempId\n que += \" , @TemplateName = '\" + this.state.tempName + \"' \"\n que += \" , @description = '\" + this.state.tempDiscrption + \"'\"\n que += \" , @loginID = \" + this.state.loginId\n\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n var requestOptions = {\n method: 'POST',\n redirect: 'follow'\n };\n let qrystr = \"MainTemplateId=\" + this.state.tempId + \"&NewTemplateId=\" + rs[0].TemplateId + \"&PortalName=\" + this.state.portalname\n let rs1 = await fetch(\"https://api.blumangoes.ai:6143//GetExcel/cloneTemplateExcel?\" + qrystr, requestOptions)\n let dt2 = await rs1.json()\n\n /////////////////////////////////////////////////////////////////////////////// filter saving\n let arr = [\"10\", \"6\", \"1\", \"10019\"]\n if (arr.includes(this.state.loginId)) {\n let tempdata1 = this.state.fldt\n let filterSTR = JSON.stringify(tempdata1)\n let q = \"EXEC SaveTemplateFilters @loginId = \" + this.state.loginId + \", @dtJSON = '\" + filterSTR + \"' , @tid = \" + this.state.tempId\n let r = await getDataTable(q)\n if (r[0][\"Status\"] == \"Done\") {\n await Swal.fire({\n icon: 'success',\n title: \"Filters Updated\",\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n\n\n\n //////////////////////////////////////////////////////////\n await Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'SUCCESSFULLY CREATED',\n showConfirmButton: false,\n timer: 2000\n })\n await this.setModal2Visible(false)\n }\n\n }\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n \n this.onAfterSelect(e, \"portalid\", \"portalname\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"catid1\", \"catname1\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"tempId\", \"templateName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n )\n }\n\n}","import { Modal } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique } from '../../Configuration';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport AutoCompleteInput from '../../Actions/Controls/AutoComplete/autoComplete';\nimport 'sweetalert2/src/sweetalert2.scss'\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport { swal } from 'sweetalert2/dist/sweetalert2';\n\nexport default class frmAmazonParent extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n fldt: [],\n headerList: [],\n portalid: ''\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n headerList: []\n });\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible });\n }\n\n async GetList(id) {\n this.setState({ headerList: [] })\n let que = \"EXEC frmAmazonParent_getHeaderList @BlockID = \" + (this.state.catid1 ? this.state.catid1 : id) + \" , @PortalID = \" + this.state.portalid\n let rs = await getDataTable(que)\n this.setState({\n headerList: rs\n })\n }\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n if (this.state.portalid) {\n if (id == \"catid1\" && selectedOptions.length > 0) {\n await this.GetList(selectedOptions[0].DisplayId, this)\n }\n else if (id == \"catid1\" && selectedOptions.length <= 0) {\n this.setState({\n headerList: []\n })\n }\n }\n }\n\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async SaveHeader(e) {\n let MandatoryArray = [\n { \"Block\": this.state.catid1 },\n { \"HEADER\": this.state.HEADERNAME },\n { \"PORTAL\": this.state.portalid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"\"\n que += \"EXEC frmAmazonParent_CreateParentHeader @BlockID = \" + this.state.catid1\n que += \" ,@PortalHeader = '\" + this.state.HEADERNAME + \"'\"\n que += \" , @loginID = \" + this.state.loginId\n que += \" , @PortalID = \" + this.state.portalid\n let rs = await getDataTable(que)\n await Swal.fire({\n icon: rs[0]['alert'],\n title: rs[0]['msg'],\n showConfirmButton: false,\n timer: 1500\n })\n await this.GetList(this, this.state.catid1)\n }\n\n async deleteRow(e) {\n if (this.state.loginId == \"1\" || this.state.loginId == \"10\" || this.state.loginId == \"6\") {\n let st = await Swal.fire({\n title: 'Do you want to delete from parent?',\n showCancelButton: true,\n confirmButtonText: 'YES',\n })\n if (st.isConfirmed) {\n let que = \"\"\n que += \" DELETE FROM AmazonParentAllowed where tblid = \" + e['#tblid']\n let rs = await getDataTable(que)\n await Swal.fire({\n icon: 'success',\n title: 'SUCCESSFULLY DELETED',\n showConfirmButton: false,\n timer: 2000\n })\n await this.GetList(this, this.state.catid1)\n }\n else {\n return false;\n }\n }\n else {\n await Swal.fire({\n icon: 'info',\n title: 'YOU ARE NOT ALLOWED TO DELETE',\n showConfirmButton: false,\n timer: 2000\n })\n }\n }\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={true}\n footer={null}\n >\n
\n
\n \n this.onAfterSelect(e, \"portalid\", \"portalname\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"catid1\", \"catname1\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"HEADID\", \"HEADERNAME\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n
\n
\n {\n this.state.headerList.length > 0 &&\n
\n this.deleteRow(e)}\n >\n
\n }\n
\n \n
\n )\n }\n\n}","import React, { Component } from \"react\";\n//import xlsExport from 'xlsexport'\nimport {\n Configuration,\n MandatoryFormFields,\n getDataTable,\n SaveTemplateFile,\n} from \"../Configuration\";\nimport TFilter from \"./MODAL/frmTemplateFilter\";\nimport CLONETEMPLATE from \"./MODAL/frmCloneTemplate\";\nimport AMAZONPARENT from \"./MODAL/frmAmazonParent\";\nimport { Modal, Spin } from \"antd\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nlet files = \"\";\nexport default class frmCreateTemplate extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n visible: false,\n file: null,\n loading: false,\n aData: [],\n tptype: \"0\",\n exportTyp: \"0\",\n options: [],\n stsdup: 0,\n btType: \"B2C\",\n fldt: [],\n ExportTemId: 0,\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n if (id === \"ValueID\") {\n this.changeAlias(index, selectedOptions);\n }\n }\n\n async UploadFile() {\n this.setState({\n loading: true,\n aData: [],\n });\n let MandatoryArray = [\n { Files: files },\n { portal: this.state.portalid },\n { BLOCK: this.state.catid1 },\n { \"sheet no\": this.state.sindex },\n { \"row no\": this.state.rindex },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n var formdata = new FormData();\n formdata.append(\"file\", files);\n formdata.append(\"sindex\", this.state.sindex);\n formdata.append(\"rindex\", this.state.rindex);\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n let rs = await fetch(\n \"https://api.blumangoes.ai:6143/GetSheetAttribute\",\n requestOptions\n );\n let dt = await rs.json();\n // console.log(dt.data);\n await this.GetdataAliasing(dt.data);\n }\n\n async GetdataAliasing(dt) {\n for (let i = 0; i < dt.length; i++) {\n let Que =\n \"select AID,AttributeName,mandatory from AttributeMaster inner join TemplateDetails on TemplateDetails.AttributeID = aid \";\n Que +=\n \" where HeaderName = '\" +\n dt[i].key +\n \"' and templateID IN (select distinct id from dbo.getTemplateID(\" +\n this.state.catid1 +\n \",\" +\n this.state.portalid +\n \")) \";\n Que += \" order by tempDetailID desc\";\n // Que += \"select AID,AttributeName from AttributAlias inner join AttributeMaster on AttributeMaster.AID = AttributAlias.AttributeID where PortalID = \" + this.state.portalid + \" and aliasName = '\" + dt[i].key + \"' and dis = 0\"\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n dt[i].AttributeID = rs[0].AID;\n dt[i].AttributeName = rs[0].AttributeName;\n dt[i].mandatory = rs[0].mandatory;\n } else {\n let Que0 =\n \"SELECT AID, AttributeName FROM AttributeMaster inner join AttributeCategoryMap on AttributeCategoryMap.AttributeID = \";\n Que0 +=\n \"AttributeMaster.AID where dis = 0 and AttributeName='\" +\n dt[i].key +\n \"' and CatID = \" +\n this.state.catid1;\n let rs0 = await getDataTable(Que0);\n if (rs0.length > 0) {\n dt[i].AttributeID = rs0[0].AID;\n dt[i].AttributeName = rs0[0].AttributeName;\n dt[i].mandatory = 0;\n } else {\n dt[i].AttributeID = 0;\n dt[i].AttributeName = \"\";\n dt[i].mandatory = 0;\n }\n }\n }\n console.log(dt);\n this.setState({\n loading: false,\n aData: dt,\n });\n }\n\n async CreateAttribute(i) {\n let pData = this.state.aData[i];\n this.setState({ Aname: pData[\"key\"] });\n Modal.info({\n title: \"CREATE ATTRIBUTE\",\n okText: \"CLOSE\",\n width: \"700px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"300px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: false,\n content: (\n
\n
\n
\n \n *\n
\n \n
\n
\n
\n \n *\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n ),\n });\n }\n\n async SaveAttributeWithMap() {\n this.setState({ loading: true });\n let MandatoryArray = [{ \"Value Type\": this.state.val }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n let Que =\n \"Select * from AttributeMaster where AttributeName = '\" +\n this.state.Aname +\n \"' and dis = 0\";\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Already Exist\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n let Query =\n \"INSERT INTO AttributeMaster (AttributeName, LoginID, Logdate,Dis,Validation) Output Inserted.AID VALUES ('\" +\n this.state.Aname +\n \"',\" +\n this.state.loginId +\n \",cast(getdate() as date),0,'\" +\n this.state.val +\n \"')\";\n let res = await getDataTable(Query);\n if (res[0].AID) {\n let Query1 =\n \"INSERT INTO AttributeCategoryMap (CatID, AttributeID, loginID, logdate) VALUES (\" +\n this.state.catid1 +\n \",\" +\n res[0].AID +\n \",\" +\n this.state.loginId +\n \",cast(getdate() as date))\";\n await getDataTable(Query1);\n this.setState({ loading: false });\n Swal.fire({\n position: \"top-end\",\n icon: \"success\",\n title: \"Successfully Saved\",\n showConfirmButton: false,\n timer: 1500,\n });\n } else {\n this.setState({ loading: false });\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Some Issue Occured\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n }\n\n // hide show div\n hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display === \"block\") {\n document.getElementById(id).style.display = \"none\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-plus\";\n } else {\n document.getElementById(id).style.display = \"block\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n }\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n };\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

\n Template Master\n \n

\n\n
\n \n
\n {(this.state.loginId === \"10\" ||\n this.state.loginId === \"1\" ||\n this.state.loginId === \"6\") && (\n
\n \n
\n )}\n
\n \n
\n
\n \n \n this.onAfterSelect(e, \"portalid\", \"portalname\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n *\n
\n \n
\n
\n
\n \n *\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n *\n
\n \n
\n
\n
\n \n \n \n \n \n
\n \n
\n
\n
\n {\n this.state.aData.length > 0 && this.storeImageTable()\n // \n }\n
\n 0 ? \"Block\" : \"none\",\n }}\n >\n
\n \n *\n
\n \n
\n
\n {(this.state.loginId === \"10\" ||\n this.state.loginId === \"1\" ||\n this.state.loginId === \"6\" ||\n this.state.orgid === 1 ||\n this.state.loginId === \"20057\") && (\n
\n
\n \n *\n
\n \n \n \n \n
\n
\n
\n \n *\n
\n \n \n \n \n
\n
\n {this.state.portalid === 33 && (\n
\n \n *\n
\n \n \n \n \n
\n
\n )}\n \n \n \n this.onAfterSelect(\n e,\n \"ExportTemId\",\n \"ExportTemName\"\n )\n }\n isValid={this.state.isValid}\n >\n
\n
\n )}\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n {[\"1\", \"6\", \"10\", \"10019\"].includes(this.state.loginId) && (\n
\n \n
\n \n
\n
\n )}\n
\n \n
\n \n Save Template\n \n
\n
\n \n \n \n \n
\n \n );\n }\n\n async alwduplicate(e) {\n if (e.target.checked) {\n this.setState({ stsdup: 1 });\n } else {\n this.setState({ stsdup: 0 });\n }\n }\n\n storeImageTable() {\n return (\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {this.state.aData.map((value, index) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
SR NO.MANDATORYPORTAL KEYMAPPED WITHCHANGE MAPPING
\n {index + 1}  \n this.deleteRow(index)}\n >\n   \n this.CreateAttribute(index)}\n >\n \n \n {value.key}{value.AttributeName}\n \n this.onAfterSelect(e, \"ValueID\", \"FValue\", index)\n }\n >\n
\n
\n
\n );\n }\n\n changeAlias(index, values) {\n let st = this.state.aData;\n if (values.length > 0) {\n for (let i = 0; i < st.length; i++) {\n const element = st[i];\n if (\n element.AttributeID === values[0].DisplayId &&\n this.state.stsdup === 0\n ) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Attribute Already Assinged To Another Header\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n }\n st[index].AttributeName = values[0].DisplayName;\n st[index].AttributeID = values[0].DisplayId;\n } else {\n st[index].AttributeName = \"\";\n st[index].AttributeID = 0;\n }\n this.setState({ aData: st });\n }\n\n chnagemandatory(index, e) {\n let st = this.state.aData;\n if (e.target.checked) {\n st[index].mandatory = 1;\n } else {\n st[index].mandatory = 0;\n }\n this.setState({ aData: st });\n }\n\n deleteRow(index) {\n let st = this.state.aData;\n st.splice(index, 1);\n this.setState({ groupedImg: st });\n }\n\n async SaveTamplate() {\n this.setState({ loading: true });\n let MandatoryArray = [\n { \"Template Name\": this.state.tempName },\n { BLOCK: this.state.catid1 },\n { portal: this.state.portalid },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n let tempdata = this.state.aData;\n for (let j = 0; j < this.state.aData.length; j++) {\n const element = this.state.aData[j];\n if (\n element.AttributeID === \"0\" ||\n element.AttributeID === 0 ||\n element.AttributeID === undefined\n ) {\n Swal.fire({\n icon: \"error\",\n title: \"PLEASE COMPLETE MAPPING OR REMOVE UN-MAPPED ATTRIBUTE\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n }\n\n let query =\n \"Select * from TemplateMaster where orgid=\" +\n this.state.orgid +\n \" and CatID = \" +\n this.state.catid1 +\n \" and TemplateDis= 0 and TamplateName='\" +\n this.state.tempName +\n \"'\";\n let result = await getDataTable(query);\n if (result.length > 0) {\n this.setState({ loading: false });\n let ss = await Swal.fire({\n title: \"TEMPLATE ALREADY EXIST DO YOU WANT OVERWRITE ?\",\n //showDenyButton: true,\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (ss.isConfirmed) {\n let Que12 =\n \"UPDATE TemplateMaster SET TemplateDis = 1 WHERE TamplateName = '\" +\n this.state.tempName +\n \"'\";\n await getDataTable(Que12);\n this.setState({ loading: true });\n } else {\n this.setState({ loading: false });\n return false;\n }\n }\n\n let Que =\n \"EXEC CreatePortalTemplate @tmpName='\" +\n this.state.tempName +\n \"', @loginId=\" +\n this.state.loginId +\n \", @catID=\" +\n this.state.catid1 +\n \", @generic = \" +\n this.state.tptype +\n \", @portalid = \" +\n this.state.portalid +\n \" ,@dis='\" +\n this.state.tempDiscrption +\n \"'\";\n let rs = await getDataTable(Que);\n console.log(rs);\n if (rs[0].templateID) {\n let que01 =\n \"UPDATE TemplateMaster SET SheetName = '\" +\n this.state.sindex +\n \"',TemplateType = '\" +\n this.state.btType +\n \"', CellAddress = '\" +\n this.state.cellAddress +\n \"' output inserted.TemplateID where TemplateID = \" +\n rs[0].templateID;\n await getDataTable(que01);\n\n // let que0 = \"Delete from TemplateDetails where templateID = \" + rs[0].templateID\n // let dt = await getDataTable(que0)\n for (let i = 0; i < tempdata.length; i++) {\n tempdata[i][\"Priority\"] = i + 1;\n // let que1 = \"INSERT INTO TemplateDetails (templateID, AttributeID, LoginID, Logdate,Priority,mandatory,HeaderName) VALUES (\" + rs[0].templateID + \",\" + tempdata[i].AttributeID + \",\" + this.state.loginId + \",cast(getdate() as date),\" + (i + 1) + \",\" + tempdata[i].mandatory + \",'\" + tempdata[i].key + \"')\"\n // let dt1 = await getDataTable(que1)\n }\n\n let dtstr = JSON.stringify(tempdata);\n let que0 =\n \"EXEC frmTemplateAlising_SaveUpdateTemplatedetails @dtJSON = '\" +\n dtstr +\n \"' , @templateID = \" +\n rs[0].templateID +\n \" , @loginID = \" +\n this.state.loginId;\n await getDataTable(que0);\n\n let sts = await SaveTemplateFile(\n files,\n this.state.portalname,\n rs[0].templateID\n );\n console.log(sts);\n\n // this.state.fldt.forEach(async ele => {\n // let query = \" INSERT INTO TemplateFilterData (TemplateID, AttributeID, ValueID, Value, loginID,Condition) \"\n // query += \" VALUES (\" + rs[0].templateID + \",\" + ele['#AID'] + \",\" + ele['#AVID'] + \",'\" + ele['AVALUE'] + \"',\" + this.state.loginId + \",\" + ele['Condition'] + \")\"\n // await getDataTable(query)\n // });\n\n let tempdata1 = this.state.fldt;\n let arr = [\"10\", \"6\", \"1\", \"10019\"];\n if (arr.includes(this.state.loginId)) {\n let filterSTR = JSON.stringify(tempdata1);\n let q =\n \"EXEC SaveTemplateFilters @loginId = \" +\n this.state.loginId +\n \", @dtJSON = '\" +\n filterSTR +\n \"' , @tid = \" +\n rs[0].templateID;\n let r = await getDataTable(q);\n if (r[0][\"Status\"] == \"Done\") {\n await Swal.fire({\n icon: \"success\",\n title: \"Filters Updated\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n }\n Swal.fire({\n position: \"top-end\",\n icon: \"success\",\n title: \"Tamplate Saved Successfully\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({\n loading: false,\n aData: [],\n tempName: \"\",\n tempDiscrption: \"\",\n cellAddress: \"\",\n fldt: [],\n });\n const keys = this.state.aData.map((element) => element.key).join(\",\");\n debugger;\n\n // Conditionally set ExportTemId based on the exportTyp state\n if (this.state.exportTyp == \"0\") {\n this.setState({ ExportTemId: 0 });\n }\n\n let a =\n \"EXEC SaveTargetTemplate @header = '\" +\n keys +\n \"', @templateid = \" +\n this.state.ExportTemId +\n \", @loginID = \" +\n this.state.loginId +\n \", @Newtemplateid = \" +\n rs[0].templateID;\n let b = await getDataTable(a);\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Some Error Occured\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n }\n }\n}\n","import Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport Dropbox from \"dropbox\";\nimport { Configuration } from \"./Configuration\";\n// import { PixelbinConfig, PixelbinClient } from \"@pixelbin/admin\";\nimport { ExploreOffSharp } from \"@material-ui/icons\";\nconst url = \"https://api.blumangoes.ai:6143\";\n\n// Function To Import Excel File\n\nexport async function exceltodb(files, db, loginId) {\n let res = \"\";\n var formdata = new FormData();\n formdata.append(\"file\", files);\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n await fetch(url + \"/SaveFile\", requestOptions)\n .then((response) => response.text())\n .then((result) => (res = result))\n .catch((error) => alert(\"error\", error));\n let filess = res;\n if (!filess) {\n alert(\"Unable To Import File To server\");\n return false;\n }\n var d = new Date();\n var timeInMs =\n String(d.getUTCDate()) +\n String(d.getMonth() + 1) +\n String(d.getFullYear()) +\n String(d.getHours()) +\n String(d.getMinutes()) +\n String(d.getSeconds());\n let tablename = String(\"X_FileImport_\" + timeInMs + \"_\" + loginId);\n console.log(tablename);\n\n let Sql = \"\";\n Sql = Sql + \" SELECT *\";\n Sql = Sql + \" INTO \" + tablename;\n Sql =\n Sql +\n \" FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0; Database=\" +\n filess +\n \"'\";\n Sql = Sql + \" , [Sheet1$]) AS derivedtbl_1\";\n\n const url =\n Configuration.SYSTEM_SETTINGS.API_URL + \"api/v1/Common/GetDynamicQuery\";\n\n try {\n const rs = await fetch(url + \"?query=\" + Sql + \"&db=\" + db, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Auth-Token\": Configuration.USER_TOKEN.TOKEN,\n },\n });\n let dt = await rs.json();\n if (dt.data) {\n if (dt.data.length < 1) {\n alert(\"File Uploaded To Server\");\n }\n return tablename;\n } else {\n alert(\"Some error occured\");\n return false;\n }\n } catch (error) {\n alert(error);\n }\n}\n\n// Function To get Image Angle\nexport async function GetImageAngle(file) {\n const data = new FormData();\n data.append(\"file\", file);\n let d;\n try {\n //let response = await fetch('http://SoftServer.Corp.virolaindia.com:8000/prediction', {\n let response = await fetch(url + \"/Pred\", {\n method: \"POST\",\n body: data,\n });\n d = await response.json();\n //e.state[\"prediciton\"] = d['pred']\n return d[\"pred\"];\n } catch (error) {\n //alert(error)\n return \"none\";\n }\n}\n\n// For Get SubCategory Of Object In Image\nexport async function GetImageSubCategory(file) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n\n try {\n let res = await fetch(url + \"/GetSubCategory\", requestOptions);\n let st = await res.json();\n if (st.prediction) {\n return st.prediction;\n } else {\n return \"Reject\";\n }\n } catch (error) {\n // alert(error)\n return 0;\n }\n}\n\n// For Get Area Of Object In Image\nexport async function GetImageArea(file) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n let res = await fetch(url + \"/Area\", requestOptions);\n let st = await res.json();\n console.log(st.ratio);\n var result = Math.round(st.ratio);\n return result;\n } catch (error) {\n // alert(error)\n return \"\";\n }\n}\n\nexport async function AllAI(file) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n let res = await fetch(url + \"/ALLAI\", requestOptions);\n let st = await res.json();\n return st;\n } catch (error) {\n // alert(error)\n return { pred: \"\", Color: [], subcategory: \"\" };\n }\n}\n\nexport async function ProcessAI(\n files,\n height,\n width,\n dpi,\n minarea,\n maxarea,\n maxszie,\n minsize\n) {\n let formdata = new FormData();\n for (let i = 0; i < files.length; i++) {\n let ele = files[i][\"file\"];\n formdata.append(\"file\", ele, ele.name);\n }\n let strs =\n \"height=\" +\n height +\n \"&width=\" +\n width +\n \"&max_area_coverage=\" +\n maxarea +\n \"&min_area_coverage=\" +\n minarea +\n \"\";\n strs =\n strs +\n \"&max_out_size=\" +\n maxszie +\n \"&min_out_size=\" +\n minsize +\n \"&out_dpi=\" +\n dpi +\n \"&background_color[0]=FFFFFF&background_color[1]=BBBBBB\";\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n\n try {\n let res = await fetch(url + \"/ProcessImage/?\" + strs, requestOptions);\n let st = await res.json();\n return st;\n } catch (error) {\n alert(error);\n }\n}\n\nexport async function ProcessAIColor(files) {\n let formdata = new FormData();\n for (let i = 0; i < files.length; i++) {\n let ele = files[i][\"file\"];\n formdata.append(\"file\", ele, ele.name);\n }\n let strs =\n \"height=1536&width=2048&max_area_coverage=0.8&min_area_coverage=0.7\";\n strs =\n strs +\n \"&max_out_size=300000&out_dpi=72&max_quality=100&min_quality=50&background_color[0]=FFFFFF&background_color[1]=BBBBBB\";\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n let res = await fetch(\n url + \"/ProcessImageforcolor/?\" + strs,\n requestOptions\n );\n let st = await res.json();\n return st;\n } catch (error) {\n alert(error);\n }\n}\n\n// Resize Image With Python Tool\n\nexport async function ResizeImage(file, h, w) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n let bimage = \"\";\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n await fetch(\n url + \"/Resize?height=\" + w + \"&width=\" + h + \"\",\n requestOptions\n )\n .then((response) => response.text())\n .then((result) => (bimage = result))\n .catch((error) => console.log(\"error\", error));\n const res = await fetch(bimage);\n const b = await res.blob();\n let nfile = new File([b], file.name, { type: \"image/jpeg\" });\n return nfile;\n } catch (error) {\n return false;\n }\n}\n\nexport async function LeatherDefects(file) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n let bimage = \"\";\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n const res = await fetch(\n \"https://api.blumangoes.ai:6143\" + \"/Defects\",\n requestOptions\n );\n const b = await res.json();\n console.log(b);\n let st = b.data;\n //const c = await st.blob();\n //let nfile = new File([st], file.name, { type: file.type });\n return st;\n } catch (error) {\n return false;\n }\n}\n\nexport async function BlurDetect(file) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n let bimage = \"\";\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n let res = await fetch(\n \"https://api.blumangoes.ai:6143\" + \"/BlurDetect\",\n requestOptions\n );\n let b = await res.text();\n return b;\n } catch (error) {\n return \"Not Found\";\n }\n}\n\nexport async function WireFrame(file) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n let bimage = \"\";\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n const res = await fetch(\n \"http://192.168.5.2:8080\" + \"/GetFile\",\n requestOptions\n );\n const b = await res.json();\n console.log(b);\n let st = b.file;\n //const c = await st.blob();\n //let nfile = new File([st], file.name, { type: file.type });\n return b;\n } catch (error) {\n return false;\n }\n}\n\n// Upload Images to Dropbox and get Link\n\nexport async function Image2Drplink(file, product, portal, ACCESS_TOKEN) {\n var dbx = new Dropbox.Dropbox({ accessToken: ACCESS_TOKEN });\n let res = \"\";\n let res1 = \"\";\n try {\n res = await dbx.filesUpload({\n path: \"/\" + product + \"/\" + portal + \"/\" + file.name,\n contents: file,\n mode: { \".tag\": \"overwrite\" },\n });\n let filePath = res.path_display;\n res1 = await dbx.sharingCreateSharedLinkWithSettings({ path: filePath });\n let fileURl = res1.url;\n return fileURl;\n } catch (error) {\n if (error.error.error.shared_link_already_exists.metadata.url) {\n let url = error.error.error.shared_link_already_exists.metadata.url;\n return url;\n } else {\n Swal.fire({\n icon: \"info\",\n title: error.error_summary,\n showConfirmButton: false,\n timer: 1500,\n });\n return \"\";\n }\n }\n}\n\n// export async function Image2PixelBinlink() {\n// debugger\n// var config = new PixelbinConfig({\n// domain: \"https://api.pixelbin.io\",\n// apiSecret: \"b71d5967-2738-4041-a0dc-af849d62f4ca\",\n// });\n// const pixelbin = new PixelbinClient(config);\n// try {\n// // list the assets stored on your organization's Pixelbin Storage\n// const explorer = await pixelbin.assets.listFilesPaginator({\n// onlyFiles: true,\n// pageSize: 5,\n// });\n\n// while (explorer.hasNext()) {\n// const { items, page } = await explorer.next();\n// console.log(page.current); // 1\n// console.log(page.hasNext); // false\n// console.log(page.size); // 3\n// console.log(items.length); // 3\n// }\n// } catch (err) {\n// console.log(err);\n// }\n// }\n","import { Modal, Button } from 'antd';\n\nimport React, { Component } from 'react';\nimport AutoCompleteInput from '../AutoComplete/autoComplete';\nimport AutoCompletemulti from '../AutoComplete/autoCompleteMultiple';\nimport AutoCompleteCascad from '../AutoComplete/autoComplete.cascad';\nimport '../../../ORDER/OrderMaster/style.css'\nimport { Configuration,MandatoryFormFields,getDataTable } from '../../../Configuration';\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nlet portalList = [];\nlet portalid = [];\nexport default class PortalConfig extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n fname: \"\",\n FValue: '',\n portal: \"\",\n prtl: '',\n profileid:'',\n profilename:'',\n CountryId: []\n };\n }\n\n\n async componentDidMount() {\n await this.fillPortaldata(this);\n }\n\n async fillPortaldata() {\n let data = [];\n let Query = \"select portals.PID,PortalName,URL,ProfileName from Portals left outer join ImageProfile on ProfileID = ImageProfile.PID where Dis = 0\"\n data = await getDataTable(Query)\n portalList = data\n this.forceUpdate();\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible });\n }\n\n myChangeHandler = (event) => { \n this.setState({ [event.target.name]: event.target.value });\n this.forceUpdate();\n }\n\n async SavePortal() {\n\n let MandatoryArray = [\n { \"portal Name\": this.state.portal }\n , { \"URL\": this.state.url }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let data = []; \n let Que = \"Select * from Portals where PortalName = '\" + this.state.portal + \"'\" \n let dt = await getDataTable(Que)\n \n if (dt.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Profile Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n\n let Query = \" INSERT INTO Portals( PortalName, URL,LoginId, LogDate) output inserted.PortalName VALUES ('\" + this.state.portal + \"','\"+this.state.url+\"',\"+this.props.logid+\",cast(getdate() as date))\"\n let rs = await getDataTable(Query) \n if (rs) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Portal Not Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n await this.fillPortaldata(this);\n this.forceUpdate();\n\n }\n\n\n chkFacChange(evt) {\n \n let facIds = portalid;\n if (evt.target.checked) {\n \n facIds.push(evt.target.value);\n portalid = facIds\n\n }\n else {\n facIds.pop(evt.target.value);;\n portalid = facIds\n }\n this.forceUpdate();\n }\n\n async updateData() {\n\n \n if (!this.state.profileid) {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Select Image Profile First',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n let arr = portalid\n if (arr.length > 0) {\n for (let index = 0; index < arr.length; index++) {\n let Query = \"UPDATE Portals SET ProfileID = \"+this.state.profileid+\" WHERE (PID = \"+arr[index]+\")\"\n let rs = await getDataTable(Query)\n }\n\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Select Portal first',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n await this.fillPortaldata(this);\n this.forceUpdate();\n }\n\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n \n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n \n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n this.forceUpdate();\n }\n\n myChangeHandler = (event) => {\n let nam = event.target.name;\n let val = event.target.value;\n this.setState({ [nam]: val });\n\n this.forceUpdate();\n }\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions\n });\n } else {\n this.setState({\n [name]: \"\"\n });\n }\n }\n\n\n render() {\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer = {null}\n >\n
\n
\n *\n \n
\n
\n *\n \n
\n
\n *\n this.onAutoCOmpletMultiPleSelect(e, \"CountryId\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n \n
\n\n\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n {portalList.map((fac, key) => {\n return (\n \n \n \n \n )\n\n })}\n \n\n
ActionportalNameurlProfile
 {key + 1}{fac.PortalName}{fac.URL}{fac.ProfileName}
\n\n
\n\n
\n
\n *\n this.onAfterSelect(e, \"profileid\", \"profilename\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n \n
\n
\n \n
\n )\n }\n}","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport '../../../ORDER/OrderMaster/style.css'\nimport { getDataTable, MandatoryFormFields,Configuration } from '../../../Configuration';\nimport AutoCompleteInput from '../AutoComplete/autoComplete.cascad';\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\n\nlet portalList = [];\nlet portalid = [];\nexport default class ImageConfig extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n fname: \"\",\n FValue: '',\n portal: \"\",\n prtl: ''\n };\n }\n\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.fillPortaldata();\n }\n\n async fillPortaldata() {\n let Query = \"exec GetImageConfig\"\n let dt = await getDataTable(Query)\n portalList = dt\n this.forceUpdate();\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible });\n }\n\n myChangeHandler = (event) => {\n let nam = event.target.name;\n let val = event.target.value;\n this.setState({ [nam]: val });\n\n this.forceUpdate();\n }\n\n async SavePortal() {\n\n let MandatoryArray = [\n { \"Profile\": this.state.portal },\n { \"Allow dropbox\": this.state.allowdrp },\n { \"Block\": this.state.catid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let Que = \"Select * from ImageProfile where ProfileName = '\" + this.state.portal + \"'\"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Profile Already Exist',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n\n let Query = \" INSERT INTO ImageProfile( ProfileName,AllowDropBox,CatId, LoginId, LogDate) output inserted.PID VALUES ('\" + this.state.portal + \"',\" + this.state.allowdrp + \",\" + this.state.catid + \",\" + this.props.logid + \",cast(getdate() as date))\"\n let data = await getDataTable(Query)\n if (data) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Portal Not Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n await this.fillPortaldata(this);\n this.forceUpdate();\n\n }\n\n async Saveprtl() {\n let data = [];\n let Query = \"Delete from portals where portalName = '\" + this.state.prtl + \"' INSERT INTO portals( portalname, LoginId, LogDate) VALUES ('\" + this.state.prtl + \"',2333,cast(getdate() as date))\"\n data = await getDataTable(Query)\n if (data) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Portal Not Saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n document.getElementById('prtl').value = ''\n this.forceUpdate();\n\n }\n\n\n chkFacChange(evt) {\n if (evt.target.checked) {\n let facIds = portalid;\n facIds.push(evt.target.value);\n\n portalid = facIds\n\n\n }\n else {\n let facIds = portalid;\n facIds.splice(facIds.indexOf(evt.target.value), 1);\n\n\n portalid = facIds\n\n }\n\n this.forceUpdate();\n\n }\n\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n this.forceUpdate();\n }\n\n async updateData() {\n if (!this.state.fname && !this.state.FValue) {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Select FieldName & field Value First',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n let arr = portalid\n if (arr.length > 0) {\n for (let index = 0; index < arr.length; index++) {\n let Query = \"delete from ImageProfileConfig where PID = \" + arr[index] + \" and FieldName = '\" + this.state.fname + \"' INSERT INTO ImageProfileConfig (PID, FieldName, FieldValue, LoginID, LogDate) VALUES (\" + arr[index] + \",'\" + this.state.fname + \"','\" + this.state.FValue + \"',\" + this.props.logid + \",cast(getdate() as date))\"\n let response = await getDataTable(Query)\n }\n\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Successfully Saved',\n showConfirmButton: false,\n timer: 1500\n })\n document.getElementById('FValue').value = ''\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'warning',\n title: 'Select Portal first',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n await this.fillPortaldata(this);\n this.forceUpdate();\n }\n\n myChangeHandler = (event) => {\n let nam = event.target.name;\n let val = event.target.value;\n this.setState({ [nam]: val });\n\n this.forceUpdate();\n }\n\n\n render() {\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n \n
\n
\n \n this.onAfterSelect(e, \"catid\", \"catname\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {portalList.map((fac, key) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n\n })}\n \n\n
ActionProfileNameBlock NameAllowDropBoxHeightWidthBit DepthResolutionFormatMin sizeMax sizeMin areaMax areaMin QualityMax Quality
 {key + 1}{fac.ProfileName}{fac.BlockName}{fac.Allowdropbox}{fac.height}{fac.width}{fac[\"Bit Depth\"]}{fac.Resolution}{fac.Format}{fac.Min}{fac.maxsize}{fac.minarea}{fac.maxarea}{fac['Min Quality']}{fac['Max Quality']}
\n\n
\n\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n )\n }\n}","import React, { Component } from \"react\";\nimport _, { initial, keyBy, values } from \"lodash\";\nimport {\n Configuration,\n MandatoryFormFields,\n getDataTable,\n json2xlsx,\n table2xlsx,\n sleep,\n} from \"../Configuration\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport AutoCompletemulti from \"../Actions/Controls/AutoComplete/autoCompleteMultiple\";\nimport { Image2Drplink, ProcessAI } from \"../Mltfunc\";\nimport PortalConfig from \"../Actions/Controls/Modal/PortalConfig\";\nimport ImageConfig from \"../Actions/Controls/Modal/ImageConfig\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport { Progress, Modal, Spin } from \"antd\";\nimport \"antd/dist/antd.css\";\nimport JSZip from \"jszip\";\nimport saveAs from \"save-as\";\nlet portaldata = [];\n//let uploadfiles = ''\nlet fields = { AttributeToBeShowToUser: 1 };\nlet Anglers = [];\nlet SubCategories = [];\nexport default class frmImageProcessUpdate extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n ImageData: [],\n loading: false,\n loadingspin: false,\n prs: \"\",\n ldsts: \"\",\n portals: [],\n portlsData: [],\n accesstoken: \"\",\n stImages: [],\n RejectedImage: [],\n finalImg: [],\n cmbdigit: \"All\",\n cmbprsctype: \"2\",\n profileID: [],\n prcstime: \"\",\n profiledt: [],\n };\n }\n\n async componentDidMount() {\n let rs1 = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs1[0].orgid,\n });\n Anglers = await getDataTable(\"select Angle from Anglemaster\");\n SubCategories = await getDataTable(\n \"SELECT DIstinct OptValue FROM optionValue WHERE (AtrributeID = 39)\"\n );\n let rs = await getDataTable(\n \"SELECT DrpToken FROM DropBoxAccessToken WHERE (OrgID = \" +\n rs1[0].orgid +\n \")\"\n );\n await this.varifyDropBoxToken(rs.length > 0 ? rs[0].DrpToken : \"\");\n if (rs.length > 0) {\n this.setState({ accesstoken: rs[0].DrpToken });\n } else {\n }\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n if (id === \"ValueID\") {\n this.changeParent(index, selectedOptions);\n }\n }\n\n changeParent(index, values) {\n let st = this.state.groupedImg;\n if (values.length > 0) {\n for (let i = 0; i < st.length; i++) {\n const element = st[i];\n if (element.productid === values[0].DisplayId) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Product Already Assinged To Another Folder\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n }\n st[index].productname = values[0].DisplayName;\n st[index].productid = values[0].DisplayId;\n } else {\n st[index].productname = \"\";\n st[index].productid = \"\";\n }\n this.setState({ groupedImg: st });\n }\n\n async FileHandler(e) {\n if (e.target.files.length > 350) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"CAN NOT UPLOAD MORE THEN 350 IMAGES\",\n showConfirmButton: false,\n timer: 1500,\n });\n document.getElementById(\"imgUpload\").value = \"\";\n return;\n }\n\n if (e.target.files.length > 0) {\n let st = e.target.files;\n let img = [];\n let RejImg = [];\n for (let i = 0; i < st.length; i++) {\n let name = st[i].webkitRelativePath;\n console.log(name);\n let sts = name.split(\"/\");\n console.log(sts);\n if (sts.length === 3 && st[i].type.startsWith(\"image\")) {\n let avl = await this.imageVarify(st[i]);\n if (avl) {\n img.push({ file: st[i], folder: sts[1], flname: sts[1] });\n } else {\n RejImg.push({ folder: sts[1], flname: sts[2] });\n }\n }\n }\n this.setState({ stImages: img, RejectedImage: RejImg });\n console.log({ stImages: img, RejectedImage: RejImg });\n document.getElementById(\"imgUpload\").value = \"\";\n } else {\n this.setState({ stImages: [], RejectedImage: [] });\n }\n }\n\n async imageVarify(img) {\n let sts = true;\n let fileurl = URL.createObjectURL(img);\n let w = await this.GetImageDimension(fileurl, \"width\");\n let h = await this.GetImageDimension(fileurl, \"height\");\n let sz = Math.round(img.size / 1024);\n if (w < 800 || h < 800) {\n sts = false;\n }\n if (sz < 50 || sz > 8000) {\n sts = false;\n }\n return sts;\n }\n\n async storeImages(e) {\n if (this.state.stImages.length < 1) {\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"No Image Folder selected\",\n showConfirmButton: false,\n timer: 1500,\n });\n return;\n }\n this.setState({\n loadingspin: true,\n });\n let imgdata = this.state.stImages;\n var grouped = _.mapValues(_.groupBy(imgdata, \"folder\"), (clist) =>\n clist.map((imgdata) => _.omit(imgdata, \"folder\"))\n );\n let Imagessts = [];\n\n const objectArray = Object.entries(grouped);\n objectArray.forEach(([key, value]) => {\n Imagessts.push({ key: key, Files: value });\n });\n let numdigit = 0;\n if (this.state.cmbdigit === \"All\") {\n } else {\n numdigit = parseInt(this.state.cmbdigit);\n }\n for (let i = 0; i < Imagessts.length; i++) {\n let name = \"\";\n if (numdigit > 0) {\n name = Imagessts[i].key.substring(0, numdigit);\n } else {\n name = Imagessts[i].key;\n }\n let rs = await getDataTable(\n \"select Parent,ParentID from ParentMaster where Parent like '\" +\n name +\n \"%' and orgId =\" +\n this.state.orgid\n );\n if (Array.isArray(rs) && rs.length > 0) {\n Imagessts[i].productname = rs[0].Parent;\n Imagessts[i].productid = rs[0].ParentID;\n } else {\n Imagessts[i].productname = \"\";\n Imagessts[i].productid = \"\";\n }\n }\n this.setState({ groupedImg: Imagessts, stImages: [], loadingspin: false });\n document.getElementById(\"imgUpload\").value = \"\";\n Swal.fire({\n position: \"top-end\",\n icon: \"info\",\n title: \"Images Added Successfully\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n\n async varifyDropBoxToken(tkn) {\n if (!tkn) {\n return false;\n }\n var myHeaders = new Headers();\n myHeaders.append(\"Authorization\", \"Bearer \" + tkn);\n myHeaders.append(\"Content-Type\", \"application/json\");\n var raw = JSON.stringify({\n path: \"/home\",\n });\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n let rs = await fetch(\n \"https://api.dropboxapi.com/2/sharing/get_shared_links\",\n requestOptions\n );\n if (rs.status !== 200) {\n Swal.fire({\n icon: \"info\",\n title: \"DROPBOX TOKEN EXPIRED PLEASE UPDATE\",\n showConfirmButton: false,\n timer: 3000,\n });\n return false;\n } else {\n return true;\n }\n }\n\n async UploadImages() {\n if (!this.state.accesstoken) {\n Swal.fire({\n icon: \"info\",\n title: \"DROPBOX NOT CONFIGURED\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n let chk = await this.varifyDropBoxToken(this.state.accesstoken);\n if (!chk) {\n return false;\n }\n let ImagesWithurl = [];\n if (this.state.ImageData.length < 1) {\n alert(\"None Of File Ready To Upload On Dropbox\");\n return;\n }\n this.setState({ loading: true, prs: 0, ldsts: \"Image Uploading\" });\n let cnt = 0;\n for (let i = 0; i < this.state.ImageData.length; i++) {\n if (\n this.state.ImageData[i].Status === \"True\" &&\n this.state.ImageData[i].allowdropbox === 1\n ) {\n cnt = cnt + 1;\n let val = this.state.ImageData[i];\n let b = await this.dataURLtoFile(\n val[\"data\"],\n val.ProductName + \"-\" + val.Angle + \".jpg\"\n );\n let url = await Image2Drplink(\n b,\n val.ProductName,\n val.PortalName,\n this.state.accesstoken\n );\n console.log(url);\n let Query =\n \"exec StoreImageUrlInDb @portalid = \" +\n val.prtlID +\n \" ,@attribute ='\" +\n val.Angle +\n \"', @productId=\" +\n val.ProductID +\n \",@url='\" +\n url +\n \"',@loginid=\" +\n this.state.loginId +\n \" , @SUBCAT ='\" +\n val.SubCategory +\n \"'\";\n if (url) {\n let rs = await getDataTable(Query);\n console.log(rs);\n debugger;\n }\n ImagesWithurl.push({\n Product: val.ProductName,\n Angle: val.Angle,\n Portal: val.PortalName,\n url: url,\n });\n }\n let sts = ((i + 1) * 100) / this.state.ImageData.length;\n this.setState({\n prs: Math.round(sts),\n ldsts:\n \"Image Uploading \" +\n String(i) +\n \" / \" +\n String(this.state.ImageData.length) +\n \"\",\n });\n }\n if (cnt === 0) {\n Swal.fire({\n icon: \"info\",\n title: \"None Of Image Ready To Upload\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false, prs: 0, ldsts: \"Image Uploading\" });\n return false;\n }\n await json2xlsx(ImagesWithurl, \"ImageLinks.xlsx\");\n alert(\"Data Saved Successfully\");\n this.setState({ loading: false, prs: 0, ldsts: \"Image Uploading\" });\n }\n\n hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display == \"block\") {\n document.getElementById(id).style.display = \"none\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-plus\";\n } else {\n document.getElementById(id).style.display = \"block\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n }\n\n // function To get Image Width and Height\n async GetImageDimension(src, type) {\n return new Promise((resolve, reject) => {\n let img = new Image();\n img.onload = () => resolve(img[type]);\n img.onerror = reject;\n img.src = src;\n });\n }\n\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions,\n });\n } else {\n this.setState({\n [name]: \"\",\n });\n }\n }\n\n TOProcessImage() {\n if (\n this.state.groupedImg === undefined ||\n this.state.groupedImg.length === 0\n ) {\n Swal.fire({\n icon: \"error\",\n title: \"PLEASE ADD IMAGES\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n for (let j = 0; j < this.state.groupedImg.length; j++) {\n const element = this.state.groupedImg[j];\n if (element.productname === \"\" || element.productname === undefined) {\n Swal.fire({\n icon: \"error\",\n title: \"PLEASE COMPLETE MAPPING OR REMOVE UN-MAPPED FOLDER\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n }\n Modal.info({\n title: \"PROCCED FOR IMAGE PROCESS\",\n okText: \"CLOSE\",\n width: \"700px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"300px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: false,\n content: (\n
\n
\n
\n \n *\n \n this.onAutoCOmpletMultiPleSelect(e, \"profileID\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n NEXT\n \n
\n
\n
\n {this.state.profileID.length > 0 && (\n \n )}\n
\n
\n
\n ),\n });\n }\n\n RejectedImageFunc() {\n Modal.info({\n title: \"REJECTED IMAGE LIST\",\n okText: \"CLOSE\",\n width: \"700px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • \n Uploaded images should be between 50kb - 7MB\n
  • \n
  • \n \n Uploaded images should not be less the (800 X 800) dimension\n \n
  • \n
\n\n
    \n {this.state.RejectedImage.map((value, index) => {\n return (\n
  1. \n {value.flname} - {value.folder}\n
  2. \n );\n })}\n
\n
\n ),\n });\n }\n\n async processImages() {\n let MandatoryArray = [\n { Profile: this.state.profileID },\n { \"Process Type\": this.state.cmbprsctype },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n if (this.state.profileID[0].DisplayId === 11) {\n await this.CompleteProcessNoAI();\n } else {\n await this.CompleteProcess(true);\n }\n }\n\n async CompleteProcessNoAI() {\n let FinalImages = [];\n let uploadfiles = this.state.groupedImg;\n\n for (let j = 0; j < this.state.profileID.length; j++) {\n let dt = this.state.profileID[j];\n\n for (let s = 0; s < uploadfiles.length; s++) {\n let file = uploadfiles[s][\"Files\"];\n for (let l = 0; l < file.length; l++) {\n let SFile = file[l].file;\n debugger;\n let base64Image = await this.convertToBase64(SFile);\n let imageInfo = {\n data: \"data:image/jpg;base64,\" + base64Image,\n \"#areacoverage\": \"\",\n \"#aspectratio\": \"\",\n \"#blurring\": \"\",\n \"#correction_log\": \"\",\n \"#object_aspect\": \"\",\n \"#objectcentering\": \"\",\n \"#resolution\": \"\",\n Angle: \"\",\n Height: 0,\n PortalName: dt.DisplayName,\n ProductID: uploadfiles[s][\"productid\"],\n ProductName: uploadfiles[s][\"productname\"],\n Status: \"True\",\n SubCategory: \"\",\n Width: 0,\n allowdropbox: 1,\n image_file: SFile.name,\n prtlID: dt.DisplayId,\n size: { size: parseInt(SFile.size) },\n };\n\n FinalImages.push(imageInfo);\n }\n }\n }\n this.setState({\n ImageData: FinalImages,\n loading: false,\n prs: 0,\n });\n }\n\n convertToBase64(file) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n const base64String = reader.result;\n const base64Image = base64String.split(\",\")[1];\n resolve(base64Image);\n };\n reader.onerror = reject;\n reader.readAsDataURL(file);\n });\n }\n\n async CompleteProcess(AI) {\n // let st = true\n // let ProccessedImages = []\n let FinalImages = [];\n let uploadfiles = this.state.groupedImg;\n let ttlcnt = this.state.profileID.length * uploadfiles.length;\n let intialcnt = 0;\n this.setState({ loading: true, prs: 0 });\n for (let j = 0; j < this.state.profileID.length; j++) {\n let dt = this.state.profileID[j];\n let prfileData = await getDataTable(\n \"exec GetPortaLImageConfig @pid = '\" + dt.DisplayId + \"'\"\n );\n for (let s = 0; s < uploadfiles.length; s++) {\n debugger;\n let rs = await ProcessAI(\n uploadfiles[s][\"Files\"],\n parseInt(prfileData[0].height),\n parseInt(prfileData[0].width),\n parseInt(prfileData[0].Resolution),\n prfileData[0].minarea,\n prfileData[0].maxarea,\n parseInt(prfileData[0].maxsize) * 1000,\n parseInt(prfileData[0].Min) * 1000\n );\n if (rs !== undefined) {\n const keys = Object.keys(rs);\n keys.forEach((key, index) => {\n rs[key][\"ProductName\"] = uploadfiles[s][\"productname\"];\n rs[key][\"ProductID\"] = uploadfiles[s][\"productid\"];\n rs[key][\"Height\"] = prfileData[0].height;\n rs[key][\"Width\"] = prfileData[0].width;\n rs[key][\"PortalName\"] = prfileData[0].ProfileName;\n rs[key][\"allowdropbox\"] = prfileData[0].allowdropbox;\n rs[key][\"prtlID\"] = dt.DisplayId;\n rs[key][\"Status\"] = \"True\";\n rs[key][\"image_file\"] = uploadfiles[s][\"Files\"][index].file.name;\n FinalImages.push(rs[key]);\n });\n }\n intialcnt += 1;\n this.setState({ prs: Math.round((intialcnt * 100) / ttlcnt) });\n }\n }\n this.setState({\n ImageData: FinalImages,\n loading: false,\n prs: 0,\n });\n }\n\n help() {\n Modal.info({\n title: \"INSTRUCTION WHILE IMAGE IDENTIFICATION\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • Upload folder of images of a particular product
  • \n
  • \n Check Auto Correction to resize images with\n processing\n
  • \n
  • \n Images should be in JPEG,JPG\n
  • \n
  • \n Image background color should be white\n
  • \n
  • \n *Indentification of Sub category\n Still under dovelopment\n
  • \n
  • Uploaded images should be between 50kb - 7MB
  • \n
  • \n Uploaded images should not be less the (800 X 800) dimension\n
  • \n
  • User can not upload more then 350 images at once
  • \n
\n
\n ),\n });\n }\n\n async downloadRectifiedImage() {\n let ImgData = this.state.ImageData;\n // for (let i = 0; i < ImgData.length; i++) {\n // if (ImgData[i].Status === 'True') {\n // var a = document.createElement(\"a\");\n // a.href = ImgData[i]['IMAGE'];\n // a.download = ImgData[i].ProductName + '-' + ImgData[i].Angle + '.jpg';\n // a.click();\n // await sleep(1000)\n // }\n // }\n var grouped = _.mapValues(_.groupBy(ImgData, \"ProductName\"), (clist) =>\n clist.map((ImgData) => _.omit(ImgData, \"ProductName\"))\n ); // group images as per product Name\n let Imagessts = [];\n\n const objectArray = Object.entries(grouped);\n objectArray.forEach(([key, value]) => {\n Imagessts.push({ key: key, Files: value });\n });\n\n var zip = new JSZip();\n var zipmain = zip.folder(\"Images\");\n for (let i = 0; i < Imagessts.length; i++) {\n var ele = Imagessts[i];\n let imgdt = ele.Files;\n var img = zipmain.folder(ele.key);\n var groupProfile = _.mapValues(_.groupBy(imgdt, \"PortalName\"), (clist) =>\n clist.map((imgdt) => _.omit(imgdt, \"PortalName\"))\n ); // group images as per Profile Name\n let profileImages = [];\n let profileArray = Object.entries(groupProfile);\n profileArray.forEach(([key, value]) => {\n profileImages.push({ profile: key, Images: value });\n });\n console.log(profileImages);\n console.log(this.state.profiledt);\n for (let j = 0; j < profileImages.length; j++) {\n const ele1 = profileImages[j];\n if (!this.state.profiledt.includes(ele1.profile)) {\n continue;\n }\n var subimg = img.folder(ele1.profile);\n\n for (let k = 0; k < ele1.Images.length; k++) {\n const ele2 = ele1.Images[k];\n subimg.file(\n ele.key + \"-\" + ele2.Angle + \".jpg\",\n ele2[\"data\"].replace(\"data:image/jpg;base64,\", \"\"),\n { base64: true }\n );\n }\n }\n }\n\n zip.generateAsync({ type: \"blob\" }).then(function (content) {\n saveAs(content, \"Rectified Images.zip\");\n });\n this.setState({\n profiledt: [],\n });\n }\n\n storeImageTable() {\n return (\n
\n
\n \n \n \n {\" \"}\n \n \n \n \n \n \n \n \n {this.state.groupedImg.map((value, index) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
SR NO.Folder NameFilesProductChange Product
\n {index + 1}  \n this.deleteRow(index)}\n >\n {value.key}{value.Files.length}{value.productname}\n \n this.onAfterSelect(e, \"ValueID\", \"FValue\", index)\n }\n >\n
\n
\n
\n );\n }\n\n deleteRow(index) {\n let st = this.state.groupedImg;\n st.splice(index, 1);\n this.setState({ groupedImg: st });\n }\n\n changeAngle(i, nameAngle, e) {\n let Angle = e.target.value;\n let st = this.state.ImageData;\n st[i].Angle = Angle;\n this.setState({ ImageData: st });\n }\n\n changeSubCategory(i, e) {\n let st = this.state.ImageData;\n st[i].SubCategory = e.target.value;\n this.setState({ ImageData: st });\n }\n\n chkProfileChange(evt) {\n let facIds = this.state.profiledt;\n if (evt.target.checked) {\n facIds.push(evt.target.value);\n this.setState({\n profiledt: facIds,\n });\n } else {\n facIds.pop(evt.target.value);\n this.setState({\n profiledt: facIds,\n });\n }\n this.forceUpdate();\n }\n\n renderFileInTable1() {\n Modal.info({\n title: \"Choose Profile\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n okButtonProps: { style: { display: \"none\" } },\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
\n \n \n \n {\" \"}\n \n \n \n \n \n {this.state.profileID.map((value, index) => {\n return (\n \n \n \n \n );\n })}\n \n
SR NO.Profile Name
\n {index + 1} \n \n {value.DisplayName}
\n \n
\n
\n ),\n });\n }\n\n render() {\n return (\n
\n \n
\n

{this.state.ldsts}

\n \n
\n
\n \n
\n \n
\n \n
\n \n
\n

\n IMAGE IDENTIFICATION & CORRECTION\n \n

\n
\n \n
\n
\n {(this.state.loginId === \"10\" ||\n this.state.loginId === \"1\" ||\n this.state.loginId === \"6\") && (\n \n )}\n
\n
\n {(this.state.loginId === \"10\" ||\n this.state.loginId === \"1\" ||\n this.state.loginId === \"6\") && (\n \n )}\n
\n
\n \n
\n
\n \n *\n
\n \n
\n
\n
\n \n *\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \"\n onClick={this.TOProcessImage.bind(this)}\n className=\"btn btn-block btn-primary\"\n />\n
\n
\n
\n \n
\n {this.state.ImageData.length > 0 && (\n \n )}\n
\n
\n
\n \n
\n {this.state.RejectedImage.length > 0 && (\n \n )}\n
\n
\n
\n {this.state.loading === false &&\n this.state.ImageData.length > 0 &&\n this.renderFileInTable()}\n {/* {this.state.loading === false && this.state.ImageData.length > 0 &&\n \n } */}\n
\n
\n {this.state.loading === false &&\n this.state.groupedImg !== undefined &&\n this.state.ImageData.length === 0 &&\n this.storeImageTable()}\n
\n
\n {this.state.loading === false &&\n this.state.ImageData.length > 0 && (\n \n Download Processed Image\n \n )}\n
\n
\n \n \n
\n \n );\n }\n\n async dataURLtoFile(dataurl, filename) {\n var arr = dataurl.split(\",\"),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]),\n n = bstr.length,\n u8arr = new Uint8Array(n);\n\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n\n return new File([u8arr], filename, { type: mime });\n }\n\n renderFileInTable() {\n //let rs = await getDataTable(\"select Angle from Anglemaster\")\n return (\n
\n
\n
\n \n \n \n {\" \"}\n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n {this.state.ImageData.map((value, index) => {\n return (\n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n );\n })}\n \n
SR NO.ImageOld NameNameSizeW X HAngleSub CategorybetaImage ProfileShow Action
{index + 1} \n \n \n \n {value.ProductName + \"-\" + value.image_file}{value.ProductName + \"-\" + value.Angle + \".jpg\"}{parseInt(value.size[\"size\"]) / 1000} KB{value.Height + \"X\" + value.Width}\n \n \n {Anglers.map((opn, i) => {\n let d = opn.Angle;\n return (\n \n {d}\n \n );\n })}\n \n {value.SubCategory !== \"Reject\" &&\n \n }{value.PortalName}\n
\n \n
\n
\n
\n
\n );\n }\n\n ActionPreview(dt) {\n const keys = Object.keys(dt);\n Modal.info({\n title: \"ACTION TAKEN LIST\",\n okText: \"CLOSE\",\n width: \"600px\",\n okButtonProps: { style: { display: \"none\" } },\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n {keys.map((value, index) => {\n if (value.startsWith(\"#\")) {\n return (\n
  1. \n {value} - {String(dt[value])}\n
  2. \n );\n }\n })}\n
\n
\n ),\n });\n }\n}\n","import React, { Component } from \"react\";\nimport {\n Configuration,\n getDataTable,\n MandatoryFormFields,\n} from \"../Configuration\";\nimport moment from \"moment\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport AntdTableResize from \"../Actions/Controls/Table/AntDTable\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport { Spin } from \"antd\";\nimport \"antd/dist/antd.css\";\nconst StartDate = moment().startOf(\"month\").format(\"yyyy-MM-DD\");\nconst LastDate = moment().endOf(\"month\").format(\"yyyy-MM-DD\");\nexport default class frmReportAdhoc extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n loading: false,\n rptData: [],\n resultData: [],\n rptname: \"\",\n rptid: \"\",\n p: 0,\n paramData: [],\n };\n }\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n await this.getReport();\n }\n async getReport() {\n let arr = [\"1\", \"6\", \"10\"];\n let Que = \"\";\n if (this.state.orgid === 1 || arr.includes(this.state.loginId)) {\n Que =\n \"Select RWID,ReportName,Que from ReportAdhoc where Que is not null and Dis = 0 order by RWID\";\n } else {\n // Que = \"Select RWID,ReportName,Que from ReportAdhoc where Que is not null and Dis = 0 and forUser = 1 order by RWID\"\n Que =\n \" SELECT ReportAdhoc.RWID, ReportAdhoc.ReportName, ReportAdhoc.Que \";\n Que +=\n \" FROM ReportAdhoc INNER JOIN ReportUserRights ON ReportAdhoc.RWID = ReportUserRights.RWID \";\n Que +=\n \" WHERE (ReportUserRights.USERID = \" +\n this.state.loginId +\n \") AND (ReportAdhoc.Dis = 0) \";\n }\n // console.log(Que);\n let rs = await getDataTable(Que);\n this.setState({ rptData: rs });\n }\n onAfterSelect(selectedOptions, name, id) {\n if (selectedOptions.length > 0 && name !== \"\") {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n }\n if (selectedOptions.length > 0 && name === \"\") {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n });\n } else {\n if (selectedOptions.length > 0 && name !== \"\") {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n if (selectedOptions.length > 0 && name === \"\") {\n this.setState({\n [id]: \"\",\n });\n }\n }\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n async GetReport(e, f) {\n var grid = document.getElementById(\"filetable\");\n var inputs = grid.getElementsByTagName(\"input\");\n for (var i = 0; i < inputs.length; i++) {\n if (inputs[i].type === \"checkbox\") {\n if (f.target.checked && inputs[i] !== f.target && inputs[i].checked) {\n inputs[i].checked = false;\n }\n }\n }\n\n this.setState({\n resultData: [],\n p: 0,\n rptname: e.ReportName,\n rptid: e.RWID,\n loading: true,\n });\n if (f.target.checked) {\n let query = \"\";\n query +=\n \" SELECT P.name AS [ParameterName] ,TYPE_NAME(P.user_type_id) AS [ParameterDataType]\";\n query += \" FROM sys.objects AS SO\";\n query += \" INNER JOIN sys.parameters AS P ON SO.OBJECT_ID = P.OBJECT_ID\";\n query += \" where SO.name = '\" + e.Que + \"'\";\n query += \" ORDER BY P.parameter_id\";\n let rs = await getDataTable(query);\n if (rs.length > 1) {\n this.setState({ d: 0, p: 1, spName: e.Que, loading: false });\n this.getReportParams(e.Que);\n } else {\n let query1 = \"EXEC \" + e.Que + \" @loginID = \" + this.state.loginId;\n let rs1 = await getDataTable(query1);\n if (rs1.length > 0) {\n this.setState({\n d: 1,\n p: 0,\n rptname: e.ReportName,\n rptid: e.RWID,\n resultData: rs1,\n loading: false,\n });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n }\n } else {\n this.setState({ resultData: [], p: 0, loading: false, rptname: \"\" });\n return;\n }\n }\n\n hideShowDiv(id) {\n if (document.getElementById(\"fstdiv\").style.display === \"block\") {\n document.getElementById(\"fstdiv\").style.display = \"none\";\n document.getElementById(\"snddiv\").className =\n \"col-sm-12 col-xs-12 col-md-12 margintop\";\n document.getElementById(\"arrowicon\").className =\n \"fa fa-angle-double-right\";\n } else {\n document.getElementById(\"fstdiv\").style.display = \"block\";\n document.getElementById(\"snddiv\").className =\n \"col-sm-12 col-xs-12 col-md-9 margintop\";\n document.getElementById(\"arrowicon\").className =\n \"fa fa-angle-double-left\";\n }\n }\n\n renderFileInTable() {\n return (\n
\n
\n \n \n \n {\" \"}\n \n \n \n \n \n \n {this.state.rptData.map((value, index) => {\n return (\n \n \n \n \n \n );\n })}\n \n
SR NO.Report No.REPORTNAME
\n {index + 1} \n \n {\"R-\" + value.RWID}{value.ReportName.toUpperCase()}
\n
\n
\n );\n }\n myFunction(e) {\n var filter, table, tr, i, txtValue;\n\n filter = e.target.value.toUpperCase();\n table = document.getElementById(\"filetable\");\n tr = table.getElementsByTagName(\"tr\");\n for (i = 1; i < tr.length; i++) {\n let tds = tr[i].getElementsByTagName(\"td\");\n var matches = false;\n\n for (let j = 0; j < tds.length; j++) {\n if (tds[j]) {\n txtValue = tds[j].textContent || tds[j].innerText;\n if (txtValue.toUpperCase().indexOf(filter) > -1) {\n matches = true;\n }\n }\n }\n\n if (matches === true) {\n tr[i].style.display = \"\";\n } else {\n tr[i].style.display = \"none\";\n }\n }\n }\n render() {\n return (\n
\n \n
\n \n
\n
\n \n
\n \n
\n \n REPORT\n \n \n
\n \n
\n \n
\n
\n \n
\n
\n
\n {this.state.rptData.length > 0 && this.renderFileInTable()}\n
\n
\n \n \n {this.state.p === 1 && this.renderParaMeterView()}\n {this.state.p === 1 && (\n
\n \n
\n this.getReportData(e)}\n />\n
\n
\n )}\n {this.state.d === 1 && this.state.resultData.length > 0 && (\n \n )}\n \n \n \n \n
\n \n );\n }\n async getReportParams(spName) {\n let query = \"\";\n query +=\n \" SELECT P.name AS [ParameterName] ,TYPE_NAME(P.user_type_id) AS [ParameterDataType]\";\n query += \" FROM sys.objects AS SO\";\n query += \" INNER JOIN sys.parameters AS P ON SO.OBJECT_ID = P.OBJECT_ID\";\n query += \" where SO.name = '\" + spName + \"'\";\n query += \" ORDER BY P.parameter_id\";\n // console.log(query);\n\n let array = [];\n array = await getDataTable(query);\n for (let index = 0; index < array.length; index++) {\n array[index][\"ParamDetails\"] = await this.checkParamFileds(\n array[index][\"ParameterName\"]\n );\n }\n this.setState({\n paramData: array,\n });\n }\n async checkParamFileds(param) {\n let query = \"\";\n query +=\n \" SELECT ReportParameters.ParameterId, ReportParameters.ParameterName\";\n query +=\n \" , ReportParameters.UserEdit, ReportParameters.CmbFillQueryId, ReportParameters.ParaMeterDataType\";\n query +=\n \" , ReportParameters.ReportColName, ReportParameters.Multiple, M_FillCmbQuery.FormName\";\n query +=\n \" , M_FillCmbQuery.QueryName FROM ReportParameters LEFT OUTER JOIN\";\n query +=\n \" M_FillCmbQuery ON ReportParameters.CmbFillQueryId = M_FillCmbQuery.cmbqueryId\";\n query += \" WHERE ReportParameters.ParameterName = '\" + param + \"'\";\n let array1 = [];\n array1 = await getDataTable(query);\n if (array1.length > 0) {\n return array1[0];\n } else {\n return {};\n // this.setState({ loading: true, p: 0 })\n // let query = \"\";\n // query = \"exec \" + this.state.spName;\n // let array = [];\n // array = await getDataTable(query)\n // if (array.length > 0) {\n // this.setState({\n // resultData: array, d: 1, p: 0, loading: false\n // });\n // }\n // else {\n // Swal.fire({\n // icon: 'info',\n // title: \"NO DATA FOUND\",\n // showConfirmButton: false,\n // timer: 1500\n // })\n // this.setState({ loading: false });\n // return false;\n // }\n }\n }\n renderParaMeterView() {\n let colClass =\n this.state.paramData.length > 2\n ? \"col-xs-2 col-sm-2 col-md-2 margintop\"\n : \"col-xs-4 col-sm-4 col-md-4 margintop\";\n return this.state.paramData.map((param, index) => {\n let paramFields = param.ParamDetails;\n let date = \"\";\n if (!paramFields.ParaMeterDataType) {\n return false;\n }\n if (paramFields.ParaMeterDataType == \"DATE\") {\n if (paramFields.ReportColName.includes(\"FROM\")) {\n date = StartDate;\n }\n if (paramFields.ReportColName.includes(\"TO\")) {\n date = LastDate;\n }\n }\n return (\n
\n
\n \n *\n {paramFields.Multiple === 1 && (\n , SEPERATED\n )}\n
\n {paramFields.UserEdit === 1 && (\n this.onStateChange(e)}\n >\n )}\n {paramFields.UserEdit === 0 && (\n \n this.onAfterSelect(e, \"\", param.ParameterName)\n }\n >\n )}\n
\n
\n
\n );\n });\n }\n async getReportData() {\n let dynamicQuery = \"\";\n let obj = Object.keys(this.state);\n let obj1 = this.state.paramData;\n let MandatoryArray = [];\n // obj.map((o, index) => {\n // if (index > 8) {\n // if (index === 8) {\n // dynamicQuery += \"\" + o + \"='\" + this.state[o] + \"'\";\n // }\n // if (index > 8) {\n // dynamicQuery += \",\" + o + \"='\" + this.state[o] + \"'\";\n // }\n // MandatoryArray.push({ [o.replace(\"@\", \"\")]: this.state[o] });\n // }\n // });\n for (let i = 0; i < obj1.length; i++) {\n this.setState({ loading: true, resultData: [] });\n let o = obj1[i].ParameterName;\n if (o === \"@loginID\") {\n continue;\n }\n if (dynamicQuery === \"\") {\n dynamicQuery += \"\" + o + \"='\" + this.state[o] + \"'\";\n } else {\n dynamicQuery += \",\" + o + \"='\" + this.state[o] + \"'\";\n }\n MandatoryArray.push({ [o.replace(\"@\", \"\")]: this.state[o] });\n }\n // console.log(dynamicQuery);\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n\n let query = \"\";\n query =\n \"exec \" +\n this.state.spName +\n \" \" +\n dynamicQuery +\n \" ,@loginID = \" +\n this.state.loginId;\n // console.log(query);\n let array = [];\n array = await getDataTable(query);\n if (array.length > 0) {\n this.setState({\n resultData: array,\n d: 1,\n p: 1,\n loading: false,\n });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"NO DATA FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n }\n onStateChange(evt) {\n this.setState({\n [evt.target.name]: evt.target.value,\n });\n this.forceUpdate();\n }\n}\n","import React, { Component } from 'react';\nimport AutoCompleteInput from '../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad'\nimport { Configuration, MandatoryFormFields, getDataTable } from '../Configuration';\nimport '../ORDER/OrderMaster/style.css'\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\nimport { Spin } from 'antd'\nimport \"antd/dist/antd.css\";\nlet rightsIDs = [1,10,\"1\",\"1O\"]\nexport default class frmReportADhocRight extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n USERID: 0,\n RWID: 0,\n ReportList: [],\n loading: false\n };\n }\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n }\n async getdata() {\n let MandatoryArray = [\n { \"User\": this.state.USERID }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n this.setState({loading:true})\n let que = \"SELECT RWID, ReportName,ISNULL((select 'YES' from ReportUserRights where RWID = ReportAdhoc.RWID and USERID = \" + this.state.USERID + \"),'NO') as Status FROM ReportAdhoc where forUser = 1 and Dis = 0 order by RWID\"\n let dt = await getDataTable(que)\n this.setState({\n ReportList: dt,\n loading:false\n })\n }\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n ReportList: []\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n ReportList: []\n })\n }\n }\n myChangeHandler = (event) => {\n let nam = event.target.name;\n let val = event.target.value;\n this.setState({ [nam]: val });\n this.forceUpdate();\n }\n renderFileInTable() {\n debugger\n return (\n
\n \n
\n \n \n \n \n \n \n \n \n {this.state.ReportList.map((value, index) => {\n return \n \n \n \n \n })}\n \n
SR NO.Report NameStatus
{index+1} {value.ReportName}{value.Status}
\n
\n
\n )\n }\n async getUserID() {\n let st = []\n var tbl = document.getElementById('rptTable');\n var inputs = tbl.getElementsByTagName('input')\n debugger\n for (let i = 0; i < inputs.length; i++) {\n if (inputs[i].checked) {\n st.push(inputs[i].value)\n }\n }\n return st;\n }\n async SaveRights() {\n if (rightsIDs.includes(parseInt(this.state.loginId))) {\n }\n else {\n alert(\"YOU ARE NOT ALLOWED TO MAKES CHANGES\")\n return false;\n }\n let dt = []\n debugger\n var rptID = await this.getUserID();\n let MandatoryArray = [\n { \"User\": this.state.USERID }\n , { \"Report\": rptID.length }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n this.setState({loading:true})\n let Quer = \"delete from ReportUserRights where USERID = \" + this.state.USERID\n let res = await getDataTable(Quer)\n \n for (let i = 0; i < rptID.length; i++) {\n let Que = \"INSERT INTO ReportUserRights (RWID, USERID, LOGINID, LOGDATE) VALUES (\" + rptID[i] + \",\" + this.state.USERID + \",\" + this.state.loginId + \",getdate())\"\n let resp = await getDataTable(Que)\n }\n this.setState({loading:false})\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: \"SuccessFully Updated\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata();\n }\n // Create an object of formData \n myChangeHandlernew = (event) => {\n let nam = event.target.name;\n let val = event.target.value;\n this.setState({ [nam]: val });\n this.forceUpdate();\n }\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n
\n
\n

Report User Rights\n \n \n

\n
\n
\n
\n
\n *\n this.onAfterSelect(e, \"DEPTID\", \"DEPTNAME\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"USERID\", \"USERNAME\")}\n >\n
\n {/*
\n *\n this.onAfterSelect(e, \"DEPTID\", \"DEPTNAME\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"USERID\", \"USERNAME\")}\n >\n
*/}\n
\n \n
\n \n
\n
\n
\n \n
\n {this.state.ReportList.length > 0 && }\n
\n
\n {/*
\n \n this.onAfterSelect(e, \"RWID\", \"RPTNAME\")}\n isValid={this.state.isValid}\n >\n
\n
*/}\n {this.state.ReportList.length > 0 && this.state.ReportList != undefined &&\n
\n \n
\n \n
\n
}\n
\n
\n
\n {this.state.ReportList.length > 0 && this.renderFileInTable()}\n
\n
\n
\n \n
\n \n )\n }\n myFunction(e) {\n var input, filter, table, tr, td, i, txtValue;\n input = document.getElementById('myInput');\n filter = e.target.value.toUpperCase();\n table = document.getElementById('rptTable');\n tr = table.getElementsByTagName(\"tr\");\n for (i = 1; i < tr.length; i++) {\n let tds = tr[i].getElementsByTagName(\"td\");\n var matches = false;\n for (let j = 0; j < tds.length; j++) {\n if (tds[j]) {\n txtValue = tds[j].textContent || tds[j].innerText;\n if (txtValue.toUpperCase().indexOf(filter) > -1) {\n matches = true;\n }\n }\n }\n if (matches == true) {\n tr[i].style.display = \"\";\n }\n else {\n tr[i].style.display = \"none\";\n }\n }\n }\n}\n","import React, { Component } from 'react';\nimport { Configuration, exceltodb, MandatoryFormFields, getDataTable, json2xlsx } from '../Configuration';\nimport AntD from '../Actions/Controls/Table/AntDTable'\nimport { Modal, Spin } from 'antd';\nimport '../ORDER/OrderMaster/style.css'\nimport \"antd/dist/antd.css\";\nimport AutoCompleteInput from '../Actions/Controls/AutoComplete/autoComplete';\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport Swal, { swal } from 'sweetalert2/dist/sweetalert2.js'\n\nconst dataBase = \"IMAGEDB\";\nlet files = ''\nvar tb = ''\nexport default class frmrelational extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n visible: false,\n relationdetails: [],\n file: null,\n loading: false,\n };\n }\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.getdata();\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n this.forceUpdate();\n }\n\n // hide show div\n hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display == \"block\") {\n document.getElementById(id).style.display = \"none\"\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-plus\";\n }\n else {\n document.getElementById(id).style.display = \"block\"\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n }\n\n // Create an object of formData \n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n }\n\n async getdata(e, z) {\n this.setState({ loading: true })\n let Que = \"EXEC ShowRelationships\"\n if (z) {\n Que = \"EXEC ShowRelationships @rid = \" + z\n }\n let rs = await getDataTable(Que)\n if (rs) {\n this.setState({\n relationdata: rs, loading: false\n })\n }\n else {\n this.setState({ loading: false })\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'No Data Found',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n }\n\n async deleteRow(e) {\n if (this.state.loginId == 1) {\n let rst = window.confirm('Are you sure you want to delete?')\n if (!rst) {\n return false;\n }\n let rid = e[\"#RID\"]\n this.setState({ loading: true })\n let Que = \"EXEC DeleteRelation @rid=\" + rid\n let rs = await getDataTable(Que)\n if (rs) {\n this.setState({ loading: false })\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Relationship Deleted SuccessFully',\n showConfirmButton: false,\n timer: 2500\n })\n await this.getdata()\n }\n }\n }\n\n async downloadRow(e) {\n\n let que = \"EXEC GetRelationLeaves @rid = \" + e[\"#RID\"]\n let rs = await getDataTable(que)\n\n if (rs.length > 0) {\n this.setState({ loading: true })\n await json2xlsx(rs, e[\"RelationshipName\"])\n this.setState({ loading: false })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Relationship cannot be exported.',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n // Save New Relation\n async SaveRelation() {\n let MandatoryArray = [\n { \"Block\": this.state.bkid },\n { \"Age Group\": this.state.ageid },\n { \"Product Type\": this.state.ptid },\n { \"Category\": this.state.catid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let que = \"EXEC CheckRelation @bkid = \" + this.state.bkid + \", @ageid = \" + this.state.ageid + \", @ptid = \" + this.state.ptid + \", @cid = \" + this.state.catid\n let rs = await getDataTable(que)\n let e = ''\n if (rs.length === 0) {\n let que1 = \"INSERT INTO RelationshipMaster (RelationshipName, BlockID, Dis, loginID, logDate) output inserted.RelationshipID VALUES ('\" + this.state.agename + \"-\" + this.state.ptname + \"-\" + this.state.catname + \"', \" + this.state.bkid + \", 0, \" + this.state.loginId + \", CAST(GETDATE() as date))\"\n let rs1 = await getDataTable(que1)\n if (rs1.length > 0) {\n let que2 = \"INSERT INTO RelationshipController (RID, ControllerAttributeID, ControllerValueID, loginID, logDate) output inserted.RID VALUES ( \" + rs1[0].RelationshipID + \", 226, \" + this.state.ageid + \", \" + this.state.loginId + \", CAST(GETDATE() as date)), ( \" + rs1[0].RelationshipID + \", 81, \" + this.state.ptid + \", \" + this.state.loginId + \", CAST(GETDATE() as date)), ( \" + rs1[0].RelationshipID + \", 38, \" + this.state.catid + \", \" + this.state.loginId + \", CAST(GETDATE() as date))\"\n let rs2 = await getDataTable(que2)\n if (rs2) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Relation successfully saved.',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Relation could not be saved.',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Relationship already exists.',\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(e, rs[0].RelationshipID)\n }\n }\n\n async UploadFile() {\n\n let MandatoryArray = [\n { \"Block\": this.state.bkid1 },\n { \"Relationship\": this.state.rid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n tb = ''\n if (files) {\n this.setState({ loading: true })\n tb = await exceltodb(files, dataBase, this.state.loginId)\n if (tb) {\n let Que = \"EXEC RelationLeavesVerticalTable @tblname = '\" + tb + \"' , @blockid=\" + this.state.bkid1\n let rs = await getDataTable(Que)\n\n if (Array.isArray(rs)) {\n if (rs.length > 0) {\n this.setState({ relationdetails: rs, visible: true, loading: false })\n }\n\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'File not Imported Properly',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n }\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'File not Imported Properly',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n }\n document.getElementById('tp1').value = ''\n }\n else {\n tb = ''\n this.setState({ loading: false })\n return;\n }\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'File does not contain Proper Data',\n showConfirmButton: false,\n timer: 1500\n })\n tb = '';\n this.setState({ loading: false })\n return false;\n }\n }\n\n async SaveData() {\n if (!tb) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'File does not contain proper data',\n showConfirmButton: false,\n timer: 1500\n })\n }\n let s = false\n for (let i = 0; i < this.state.relationdetails.length; i++) {\n if (this.state.relationdetails[i].Allowed !== \"True\") {\n s = true\n }\n }\n\n if (s == false) {\n let que = \"DELETE FROM RelationshipLeaves OUTPUT DELETED.[RID] WHERE RID = \" + this.state.rid\n await getDataTable(que)\n\n let que1 = \"INSERT INTO RelationshipLeaves (RID, AttributeID, ValueID, logID, logDate) output inserted.* SELECT \" + this.state.rid + \", #AID, #VID, \" + this.state.loginId + \", CAST(GETDATE() as DATE) FROM \" + tb\n let rs = await getDataTable(que1)\n\n if (rs) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Relation saved successfully',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Relation could not be saved',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Please correct the entered data.',\n showConfirmButton: false,\n timer: 1500\n })\n }\n\n let que = \"DROP TABLE \" + tb\n await getDataTable(que)\n }\n\n render() {\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

Relationship Controller\n \n \n

\n
\n      \n \n    \n
\n
\n
\n
\n
\n \n this.onAfterSelect(e, \"bkid\", \"bkname\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"ageid\", \"agename\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"ptid\", \"ptname\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"catid\", \"catname\")}\n isValid={this.state.isValid}\n >\n
\n
\n
\n {Refresh}\n
\n
\n \n
\n\n
\n
\n {this.state.relationdata != undefined && this.state.relationdata.length > 0 &&\n this.deleteRow(e)}\n downloadRow=\"true\"\n downloadRowFn={(e) => this.downloadRow(e)}\n exportXL=\"true\">\n \n }\n
\n
\n
\n
\n
\n
\n

Create/Update Relationship\n \n \n

\n
\n      \n \n    \n
\n
\n
\n
\n
\n \n this.onAfterSelect(e, \"bkid1\", \"bkname1\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"rid\", \"rname\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n {this.state.visible && }\n
\n
\n
\n {this.state.relationdetails.length > 0 && //change it\n \n }\n
\n\n
\n
\n
\n
\n
\n )\n }\n}\n","import React, { Component } from \"react\";\nimport {\n Configuration,\n exceltodb,\n MandatoryFormFields,\n getDataTable,\n GetNewDrpSheet,\n json2xlsx\n} from \"../Configuration\";\nimport { Modal, Spin } from \"antd\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport Moment from \"moment\";\n\nconst dataBase = \"IMAGEDB\";\nlet files = \"\";\nvar tb = \"\";\nconst currentDate = Moment().format(\"DD-MMM-YYYY hh:mm:ss\");\n\nexport default class frmImportPortalData extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n loading: false,\n aData: [],\n tblname: \"\",\n btntxt: \"Upload File\",\n portaldump: 1,\n upload: 0,\n portalid: \"\",\n aData1: [],\n delcol: \"[\",\n tempName: \"\",\n data: [],\n productdetailsdata: [],\n header: \"\",\n lt: [],\n inputoption: {},\n ltname: \"\",\n ltid: 0,\n end: 0,\n savedt: false,\n };\n }\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n if (this.state.loginId != 1) {\n this.setState({ btntxt: \"Upload & Save\" });\n }\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n loading: false,\n aData: [],\n tblname: \"\",\n btntxt: \"Upload File\",\n portaldump: 1,\n upload: 0,\n portalid: \"\",\n aData1: [],\n delcol: \"[\",\n tempName: \"\",\n files: [],\n fldname: \"\",\n data: [],\n productdetailsdata: [],\n header: \"\",\n });\n document.getElementById(\"tp1\").value = \"\";\n }\n if (id === \"ValueID\") {\n this.changedumpAlias(index, selectedOptions);\n }\n if (id === \"ValueID1\") {\n this.changeAlias(index, selectedOptions);\n }\n }\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n this.setState({ upload: 1 });\n };\n\n help() {\n Modal.info({\n title: \"INSTRUCTION WHILE IMPORT DATA\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • Excel Sheet Name Must be \"Sheet1\"
  • \n
  • Headers should be in first row
  • \n
  • Attribute 'SKU CODE' should be map with sku data column
  • \n
\n
\n ),\n });\n }\n\n async downloadImportFormat() {\n let MandatoryArray = [{ Block: this.state.catid1 }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let rsst = await getDataTable(\n \"SELECT templateid,TamplateName FROM ImportTemplateMaster where TemplateDis = 0 and CatID = \" +\n this.state.catid1\n );\n if (Array.isArray(rsst)) {\n await Modal.info({\n title: \"Import Format List\",\n okText: \"CLOSE\",\n width: \"600px\",\n okButtonProps: { style: { display: 'none' } },\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"400px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n {rsst.map((value, index) => {\n return (\n
\n \n {value.TamplateName}\n \n
\n
\n );\n })}\n\n
\n ),\n });\n }\n }\n\n // async getMappingSheet(){\n // this.setState({\n // loading:true\n // })\n // let rs = await getDataTable(\"EXEC frmProductDetails_getSkuMappingSheet @orgid = \" + this.state.orgid + \" \")\n // await GetNewDrpSheet(this.state.catid1, rs, 'SKU MAPPING Sheet -' + currentDate + '.xlsx')\n // this.setState({\n // loading: false\n // })\n // }\n\n async ExportFormat(id) {\n this.setState({ loading: true });\n let sql = \"Exec ExcelImportFormatExample @catid =\" + id;\n let rs = await getDataTable(sql);\n if (Array.isArray(rs)) {\n let rs1 = await fetch(\"https://api.blumangoes.ai:6143/GetdrpExcel?que=EXEC GetOption_Value @tempid=\" + id + \"&BlockID=\" + this.state.catid1);\n let str = await rs1.text();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n str;\n link.setAttribute(\n \"download\",\n \"IMPORTFORMAT-\" + this.state.catname1 + \".xlsx\"\n );\n document.body.appendChild(link);\n link.click();\n this.setState({ loading: false });\n //await json2xlsxMultiSheet(rs,rs1, 'IMPORTFORMAT-' + this.state.catname1 + '.xlsx')\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"No attribute Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n //alert(\"No attribute Found\")\n }\n }\n\n async UploadDump() {\n this.setState({\n loading: true,\n aData: [],\n });\n let MandatoryArray = [\n { Files: files },\n { portal: this.state.portalid },\n { BLOCK: this.state.catid1 },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n let rs = await exceltodb(files, dataBase, this.state.loginId);\n let dt = await getDataTable(\"select top 10 * from \" + rs);\n this.setState({\n tblname: rs,\n });\n let st = [];\n Object.keys(dt[0]).forEach((ele) => {\n st.push({ key: ele.replace(\"'\", \"\") });\n });\n\n if (this.state.orgid == 1 || this.state.loginId == 1) {\n await this.GetdumpdataAliasing(st);\n } else {\n await this.SaveDumpData();\n }\n }\n\n async GetdumpdataAliasing(dt) {\n for (let i = 0; i < dt.length; i++) {\n let Que = \"\";\n Que +=\n \"select AID,AttributeName from ImportPortalAliasing inner join AttributeMaster on AttributeMaster.AID = ImportPortalAliasing.AttributID \";\n Que +=\n \"where PortalID = \" +\n this.state.portalid +\n \" and aliasName = '\" +\n dt[i].key +\n \"' and dis = 0 and ImportPortalAliasing.BlockId = \" +\n this.state.catid1;\n let rs = await getDataTable(Que);\n\n if (rs.length > 0) {\n dt[i].AttributeID = rs[0].AID;\n dt[i].AttributeName = rs[0].AttributeName;\n } else {\n dt[i].AttributeID = 0;\n dt[i].AttributeName = \"\";\n }\n }\n\n this.setState({\n loading: false,\n aData: dt,\n savedt: true,\n });\n }\n\n async SaveDumpData() {\n let MandatoryArray = [\n { portal: this.state.portalid },\n { BLOCK: this.state.catid1 },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n this.setState({\n loading: true,\n });\n await this.UpdateDumpAliasing();\n let que =\n \"EXEC frmImportportalData_SaveData @portalID=\" +\n this.state.portalid +\n \" , @blockId=\" +\n this.state.catid1 +\n \" , @tblName='\" +\n this.state.tblname +\n \"' , @loginID=\" +\n this.state.loginId;\n let dt = await getDataTable(que);\n Swal.fire({\n icon: \"success\",\n title: \"SUCCESSFULLY SAVED\",\n showConfirmButton: false,\n timer: 1500,\n });\n let st = document.getElementsByName(\"fldname\");\n st.files = [];\n this.setState({\n loading: false,\n aData: [],\n savedt: false,\n });\n }\n\n async UpdateDumpAliasing() {\n for (let i = 0; i < this.state.aData.length; i++) {\n let ele = this.state.aData[i];\n if (ele.AttributeID > 0) {\n let que =\n \" Select * from ImportPortalAliasing where AttributID = \" +\n ele.AttributeID +\n \" and PortalID = \" +\n this.state.portalid +\n \" \";\n que += \" and BlockID = \" + this.state.catid1 + \"\";\n let rs = await getDataTable(que);\n if (rs.length <= 0) {\n que =\n \"DELETE FROM ImportPortalAliasing WHERE PortalID = \" +\n this.state.portalid +\n \" and BlockID = \" +\n this.state.catid1 +\n \" and AliasName = '\" +\n ele[\"key\"] +\n \"' and AttributID != \" +\n ele.AttributeID;\n let rs1 = await getDataTable(que);\n que =\n \" INSERT INTO ImportPortalAliasing (AliasName, AttributID, PortalID, BlockID, loginID) \";\n que +=\n \" VALUES ('\" +\n ele[\"key\"] +\n \"',\" +\n ele.AttributeID +\n \",\" +\n this.state.portalid +\n \",\" +\n this.state.catid1 +\n \",\" +\n this.state.loginId +\n \")\";\n rs1 = await getDataTable(que);\n // que = \" Delete from ImportPortalAliasing where AttributID = \"+ele.AttributeID+\" and PortalID = \"+this.state.portalid+\" \"\n // que += \" and BlockID = \"+this.state.catid1+\"\"\n }\n }\n }\n }\n\n DumpAliasTable() {\n return (\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n {this.state.aData.map((value, index) => {\n return (\n \n \n \n \n \n \n );\n })}\n \n
SR NO.PORTAL KEYMAPPED WITHCHANGE MAPPING
\n {index + 1}  \n this.deleteRow(index)}\n >\n {value.key}{value.AttributeName}\n \n this.onAfterSelect(e, \"ValueID\", \"FValue\", index)\n }\n >\n
\n
\n
\n );\n }\n\n changedumpAlias(index, values) {\n let st = this.state.aData;\n if (values.length > 0) {\n for (let i = 0; i < st.length; i++) {\n const element = st[i];\n if (element.AttributeID === values[0].DisplayId) {\n Swal.fire({\n icon: \"info\",\n title: \"Attribute Already Assinged To Another Header\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n }\n st[index].AttributeName = values[0].DisplayName;\n st[index].AttributeID = values[0].DisplayId;\n } else {\n st[index].AttributeName = \"\";\n st[index].AttributeID = 0;\n }\n this.setState({ aData: st });\n }\n\n deleteRow(index) {\n let st = this.state.aData;\n st.splice(index, 1);\n this.setState({ groupedImg: st });\n }\n\n async UploadFile() {\n this.setState({\n loading: true,\n aData1: [],\n delcol: \"[\",\n productdetailsdata: [],\n header: \"\",\n end: 0,\n });\n let MandatoryArray = [\n { Files: files },\n { portal: this.state.portalid },\n { BLOCK: this.state.catid1 },\n ];\n if (this.state.portalid == 0) {\n MandatoryArray = [{ Files: files }, { BLOCK: this.state.catid1 }];\n }\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n let rs = await exceltodb(files, dataBase, this.state.loginId);\n let dt = await getDataTable(\"select top 10 * from \" + rs);\n this.setState({\n tblname: rs,\n });\n\n Object.keys(dt[0]).forEach((ele) => {\n this.state.header = this.state.header + ele + \",\";\n });\n this.state.header = this.state.header.substring(\n 0,\n this.state.header.length - 1\n );\n await this.GetdataAliasing();\n }\n\n async GetdataAliasing() {\n if (this.state.portalid1 != -1) {\n this.setState({ CTID: 0 });\n }\n\n if (this.state.CTID == 0) {\n this.setState({ tempName: \"\" });\n }\n\n if (this.state.portalid1 == -2) {\n this.SaveTemplate();\n } else {\n let que =\n \"EXEC frmImportPortalData_GetAliasing @blockID = \" +\n this.state.catid1 +\n \", @portalid = \" +\n this.state.portalid1 +\n \", @ctid = \" +\n this.state.CTID +\n \", @clist = N'\" +\n this.state.header +\n \"'\";\n let rs = await getDataTable(que);\n debugger\n this.setState({ data: rs });\n if (this.state.portalid1 != -1) {\n this.SaveTemplate();\n } else {\n this.setState({\n loading: false,\n aData1: rs,\n });\n }\n }\n }\n\n CustomAliasTable() {\n return (\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n {this.state.aData1.map((value, index) => {\n return (\n \n \n \n \n \n \n );\n })}\n \n
SR NO.SHEET KEYMAPPED WITHCHANGE MAPPING
\n {index + 1}  \n this.deleteRow1(index)}\n >\n {value.Header}{value.AttributeName}\n \n this.onAfterSelect(e, \"ValueID1\", \"FValue1\", index)\n }\n >\n
\n
\n
\n );\n }\n\n changeAlias(index, values) {\n let st = this.state.aData1;\n if (values.length > 0) {\n debugger\n for (let i = 0; i < st.length; i++) {\n const element = st[i];\n if (element.AID1 === values[0].DisplayId) {\n Swal.fire({\n icon: \"info\",\n title: \"Attribute Already Assinged To Another Header\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n }\n st[index].AttributeName = values[0].DisplayName;\n st[index].AID1 = values[0].DisplayId;\n }\n else {\n st[index].AttributeName = \"\";\n st[index].AID1 = 0;\n }\n\n this.setState({ aData1: st });\n }\n\n deleteRow1(index) {\n let st = this.state.aData1;\n this.setState({ delcol: this.state.delcol + st[index][\"Header\"] + \"],[\" });\n st.splice(index, 1);\n }\n\n async SaveTemplate() {\n this.setState({ loading: true });\n let MandatoryArray = [{ BLOCK: this.state.catid1 }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n\n if (\n this.state.portalid1 == -1 &&\n (this.state.tempName == \"\" || this.state.tempName == undefined)\n ) {\n Swal.fire({\n icon: \"error\",\n title: \"Please enter a Template Name.\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n let q =\n \"SELECT LotID, CAST(LotNo as nvarchar)+'-'+LotName as LotName FROM LotMaster WHERE OrgID = \" +\n this.state.orgid +\n \" and (DATEDIFF(week,logDate, getDate())<3)\";\n this.setState({ lt: await getDataTable(q) });\n let option = {};\n this.state.lt.forEach((ele) => {\n option[ele[\"LotID\"]] = ele[\"LotName\"];\n });\n this.setState({ inputoption: option });\n\n let PopUpData = \"EXEC frmProductDetailsPopUpForImportData @tblname = '\" + this.state.tblname + \"' , @loginID = \" + this.state.loginId + \", @categoryid=\" + this.state.catid1 + \", @custom = 1\"\n let ShowPop = await getDataTable(PopUpData)\n debugger\n if (ShowPop.length > 0){\n this.setState({ loading: false });\n let result1 = await Swal.fire({\n title: `${ShowPop.length} SKU ARE ALREADY EXITS DO YOU WANT TO UPDATE IF YES , THEN THE EARLIER DATA WILL BE OVERWRITE `,\n icon : \"warning\",\n showConfirmButton: true,\n showCancelButton :true ,\n showDenyButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n denyButtonText: 'Generate Excel',\n }); \n \n if (result1.isConfirmed) {\n let ltname = \"\";\n let ltid = 0;\n //let sel = 0\n if (!this.state.lt) {\n await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n this.setState({ ltname: result.value });\n }\n });\n } else {\n let mrgcnf = await Swal.fire({\n title: 'Do you want to merge the data into existing lot?',\n icon: 'question',\n showCancelButton: true,\n confirmButtonText: 'Yes',\n cancelButtonText: 'No',\n allowOutsideClick: false\n });\n if (mrgcnf.isConfirmed) {\n //sel = 1;\n let mrg = await Swal.fire({\n title: \"SELECT LOT NAME\",\n input: \"select\",\n inputOptions: this.state.inputoption,\n allowOutsideClick: false,\n });\n if (mrg.isConfirmed) {\n this.setState({ ltid: mrg.value });\n } else {\n await this.CreateLot();\n }\n } else {\n let mrg = await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n });\n if (mrg.isConfirmed) {\n this.setState({ ltname: mrg.value });\n } else {\n await this.CreateLot();\n }\n }\n }\n \n await this.SaveData();\n }\n else if (result1.isDenied){\n await json2xlsx(ShowPop, 'EXISTING SKU DATA')\n this.setState({ loading: false }); \n }\n \n else {\n Swal.fire({\n title: \"UPLOAD FAILED\",\n icon : \"warning\"\n })\n this.setState({ loading: false });\n } \n }\n else {\n var array = this.state.header.split(\",\");\n let que = \"\";\n let rs = \"\";\n let col = \"\";\n let c = 0;\n let arr = [];\n let que1 = \"CREATE TABLE \" + this.state.tblname + \"_temp ( \";\n\n if (this.state.portalid1 == -1) {\n for (let j = 0; j < this.state.aData1.length; j++) {\n const element = this.state.aData1[j];\n arr.push(element.Header);\n if (element.AttributeName == \"SKU CODE\") {\n c = 1;\n }\n\n if (\n element.AttributeName == null ||\n element.AID1 === 0 ||\n element.AttributeName === undefined\n ) {\n Swal.fire({\n icon: \"error\",\n title: \"PLEASE COMPLETE MAPPING OR REMOVE UN-MAPPED ATTRIBUTE\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n }\n\n if (c == 0) {\n Swal.fire({\n icon: \"error\",\n title: \"SKU CODE NOT FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n\n for (let i = 0; i < array.length; i++) {\n if (arr.includes(array[i]) == false) {\n this.setState({ delcol: this.state.delcol });\n }\n }\n\n if (this.state.delcol != \"[\") {\n col = this.state.delcol;\n col = col.substring(0, col.length - 2);\n }\n\n for (let i = 0; i < this.state.aData1.length; i++) {\n que1 +=\n \"[\" + this.state.aData1[i][\"AttributeName\"] + \"] nvarchar(max), \";\n }\n que1 = que1.substring(0, que1.length - 2);\n que1 += \")\";\n\n this.UpdateCustomAliasing();\n que =\n \"EXEC FrmImportPortalData_ReplaceColumns @loginId = \" +\n this.state.loginId +\n \", @tblname = \" +\n this.state.tblname +\n \", @categoryid = \" +\n this.state.catid1 +\n \", @delcol = '\" +\n col +\n \"', @que1 = '\" +\n que1 +\n \"'\";\n rs = await getDataTable(que);\n debugger\n }\n //for blumangoes import sheet\n else if (this.state.portalid1 == -2) {\n que =\n \"EXEC SaveProductImportDetailsforTest @loginid = \" +\n this.state.loginId +\n \",@tblname = \" +\n this.state.tblname +\n \",@categoryid = \" +\n this.state.catid1;\n rs = await getDataTable(que);\n }\n //for portal template\n else {\n for (let j = 0; j < this.state.data.length; j++) {\n const element = this.state.data[j];\n arr.push(element.Header);\n if (element.AttributeName == \"SKU CODE\") {\n c = 1;\n }\n\n if (\n element.AttributeName == null ||\n element.AID1 === 0 ||\n element.AttributeName === undefined\n ) {\n this.setState({\n delcol: this.state.delcol + element[\"Header\"] + \"],[\",\n });\n this.state.data.splice(j, 1);\n j -= 1;\n }\n }\n\n for (let i = 0; i < array.length; i++) {\n if (arr.includes(array[i]) == false) {\n this.setState({ delcol: this.state.delcol + array[i] + \"],[\" });\n }\n }\n\n if (c == 0) {\n Swal.fire({\n icon: \"error\",\n title: \"SKU CODE NOT FOUND\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return false;\n }\n\n if (this.state.delcol != \"[\") {\n col = this.state.delcol;\n col = col.substring(0, col.length - 2);\n }\n for (let i = 0; i < this.state.data.length; i++) {\n que1 += \"[\" + this.state.data[i][\"AttributeName\"] + \"] nvarchar(1700), \";\n }\n que1 = que1.substring(0, que1.length - 2);\n que1 += \")\";\n debugger\n que =\n \"EXEC FrmImportPortalData_ReplaceColumns @loginId = \" +\n this.state.loginId +\n \", @tblname = \" +\n this.state.tblname +\n \", @categoryid = \" +\n this.state.catid1 +\n \", @delcol = N'\" +\n col +\n \"', @que1 = N'\" +\n que1 +\n \"'\";\n rs = await getDataTable(que);\n debugger\n }\n if (Array.isArray(rs)) \n {\n if (rs.length > 0) {\n this.setState({ productdetailsdata: rs, loading: false });\n let q =\n \"SELECT LotID, CAST(LotNo as nvarchar)+'-'+LotName as LotName FROM LotMaster WHERE OrgID = \" +\n this.state.orgid +\n \" and (DATEDIFF(week,logDate, getDate())<3)\";\n this.setState({ lt: await getDataTable(q) });\n \n let option = {};\n this.state.lt.forEach((ele) => {\n option[ele[\"LotID\"]] = ele[\"LotName\"];\n });\n this.setState({ inputoption: option });\n await this.CreateLot();\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"File not Imported Properly\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n }\n } \n else {\n Swal.fire({\n icon: \"error\",\n title: \"File not Imported Properly\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n }\n }\n }\n\n async UpdateCustomAliasing() {\n //for existing custom template\n if (this.state.CTID > 0) {\n let q =\n \"Update CustomImportTemplateMaster set TemplateName = '\" +\n this.state.tempName +\n \"' WHERE TblID = \" +\n this.state.CTID;\n let r = await getDataTable(q);\n for (let i = 0; i < this.state.aData1.length; i++) {\n let ele = this.state.aData1[i];\n let que =\n \" Select * from CustomImportTemplateDetails where TemplateID = \" +\n this.state.CTID +\n \" and AttributeID = \" +\n ele.AID1 +\n \" and TemplateHeader = '\" +\n ele.Header +\n \"'\";\n let rs = await getDataTable(que);\n if (rs.length <= 0) {\n que =\n \"DELETE FROM CustomImportTemplateDetails WHERE TemplateID = \" +\n this.state.CTID +\n \" and (AttributeID = \" +\n ele.AID1 +\n \" or TemplateHeader = '\" +\n ele.Header +\n \"')\";\n let rs1 = await getDataTable(que);\n que =\n \" INSERT INTO CustomImportTemplateDetails (TemplateID, AttributeID, TemplateHeader, LogID, LogDate) \";\n que +=\n \" VALUES (\" +\n this.state.CTID +\n \", \" +\n ele.AID1 +\n \", '\" +\n ele.Header +\n \"', \" +\n this.state.loginId +\n \", getdate())\";\n rs1 = await getDataTable(que);\n }\n }\n }\n //create new template\n else {\n let que2 =\n \"INSERT INTO CustomImportTemplateMaster OUTPUT INSERTED.TblID Values('\" +\n this.state.tempName +\n \"', \" +\n this.state.catid1 +\n \", \" +\n this.state.orgid +\n \", \" +\n this.state.loginId +\n \", getdate())\";\n let rs2 = await getDataTable(que2);\n let id1 = rs2[0][\"TblID\"];\n for (let i = 0; i < this.state.aData1.length; i++) {\n let ele = this.state.aData1[i];\n que2 =\n \"INSERT INTO CustomImportTemplateDetails VALUES( \" +\n id1 +\n \", \" +\n ele.AID1 +\n \", '\" +\n ele.Header +\n \"', \" +\n this.state.loginId +\n \", getdate())\";\n rs2 = await getDataTable(que2);\n }\n }\n }\n\n async CreateLot() {\n let PopUpData = \"EXEC frmProductDetailsPopUpForImportData @tblname = '\" + this.state.tblname + \"' , @loginID = \" + this.state.loginId + \", @categoryid=\" + this.state.catid1 + \", @custom = 1\"\n let ShowPop = await getDataTable(PopUpData)\n debugger\n if (ShowPop.length > 0){\n this.setState({ loading: false });\n let result1 = await Swal.fire({\n title: `${ShowPop.length} SKU ARE ALREADY EXITS DO YOU WANT TO UPDATE IF YES , THEN THE EARLIER DATA WILL BE OVERWRITE `,\n icon : \"warning\",\n showConfirmButton: true,\n showCancelButton :true ,\n showDenyButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n denyButtonText: 'Generate Excel',\n }); \n \n if (result1.isConfirmed) {\n let ltname = \"\";\n let ltid = 0;\n //let sel = 0\n if (!this.state.lt) {\n await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n this.setState({ ltname: result.value });\n }\n });\n } else {\n let mrgcnf = await Swal.fire({\n title: \"Do you want to merge the data into existing lot?\",\n icon: \"question\",\n showCancelButton: true,\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n allowOutsideClick: false,\n });\n if (mrgcnf.isConfirmed) {\n //sel = 1;\n let mrg = await Swal.fire({\n title: \"SELECT LOT NAME\",\n input: \"select\",\n inputOptions: this.state.inputoption,\n showCancelButton: true,\n allowOutsideClick: false,\n });\n if (mrg.isConfirmed) {\n this.setState({ ltid: mrg.value });\n } else {\n await this.CreateLot();\n }\n } else {\n let mrg = await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n showCancelButton: true,\n allowOutsideClick: false,\n });\n if (mrg.isConfirmed) {\n this.setState({ ltname: mrg.value });\n } else {\n await this.CreateLot();\n }\n }\n }\n\n await this.SaveData();\n }\n else if (result1.isDenied){\n await json2xlsx(ShowPop, 'EXISTING SKU DATA')\n this.setState({ loading: false }); \n}\n\nelse {\nSwal.fire({\n title: \"UPLOAD FAILED\",\n icon : \"warning\"\n })\n this.setState({ loading: false });\n} \n}\nelse{\n let ltname = \"\";\n let ltid = 0;\n //let sel = 0\n if (!this.state.lt) {\n await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n this.setState({ ltname: result.value });\n }\n });\n } else {\n let mrgcnf = await Swal.fire({\n title: \"Do you want to merge the data into existing lot?\",\n icon: \"question\",\n showCancelButton: true,\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n allowOutsideClick: false,\n });\n if (mrgcnf.isConfirmed) {\n //sel = 1;\n let mrg = await Swal.fire({\n title: \"SELECT LOT NAME\",\n input: \"select\",\n inputOptions: this.state.inputoption,\n showCancelButton: true,\n allowOutsideClick: false,\n });\n if (mrg.isConfirmed) {\n this.setState({ ltid: mrg.value });\n } else {\n await this.CreateLot();\n }\n } else {\n let mrg = await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n showCancelButton: true,\n allowOutsideClick: false,\n });\n if (mrg.isConfirmed) {\n this.setState({ ltname: mrg.value });\n } else {\n await this.CreateLot();\n }\n }\n }\n\n await this.SaveData();\n\n\n}\n\n}\n\nasync SaveData() {\n if (this.state.ltid == 0 && this.state.ltname == \"\") {\n Swal.fire({\n icon: \"error\",\n title: \"Please Enter Lot Name\",\n showConfirmButton: false,\n timer: 1500,\n });\n return;\n }\n if (this.state.end == 1) {\n return false;\n }\n let Query1 = \"EXEC FrmCustomImportMissingValuesData @tblname = '\" + this.state.tblname + \"'\"\n let rs1 = await getDataTable(Query1)\n if (rs1.length > 0) {\n this.setState({ loading: false });\n let result1 = await Swal.fire({\n title: `${rs1.length} Values are missing do you want to export them Yes or No?`,\n icon : \"warning\",\n showConfirmButton: true,\n showCancelButton :true ,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (result1.isConfirmed) {\n await json2xlsx(rs1, 'MISSING VALUES')\n }\n }\n // Always execute 'Lotcreateandmerge'\n let Query =\n \"EXEC Lotcreateandmerge @loginid = \" +\n this.state.loginId +\n \",@tblname = '\" +\n this.state.tblname +\n \"' , @LotName = '\" +\n this.state.ltname +\n \"' , @Lotid = \" +\n this.state.ltid;\n let rss = await getDataTable(Query);\n let lotId = rss[0].LotID;\n\n // Conditionally execute 'SaveDataInImportValueData' and 'SaveCustomSheetAndLotRelation' if CTID is -1\n if (this.state.portalid1 === -1) {\n let que6 = \"EXEC SaveDataInImportValueData @tblname = '\" + this.state.tblname + \"' ,@templateID = \" + this.state.CTID + \", @loginid = \" + this.state.loginId;\n let que7 = await getDataTable(que6);\n\n let que8 = await getDataTable(\"EXEC SaveCustomSheetAndLotRelation @LotID =\" + lotId + \", @TemplateID =\" + this.state.CTID + \",@loginID =\" + this.state.loginId);\n }\n\n debugger\n this.setState({ loading: true });\n\n let Que =\n \"EXEC SaveDataInMasterTable @loginid = \" +\n this.state.loginId +\n \",@tblname = '\" +\n this.state.tblname +\n \"'\";\n let rs = await getDataTable(Que);\n debugger\n\n if (rs) {\n Swal.fire({\n icon: \"success\",\n title: \"Data Saved Successfully\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({\n loading: false,\n end: 1,\n });\n return;\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"SOME ERROR OCCURRED\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n return;\n }\n}\n\n async ExportErrordata() {\n this.setState({ loading: true });\n let Que =\n \"EXEC ExportErrorDataOFExcel @loginID = \" +\n this.state.loginId +\n \",@tblNm = '\" +\n tb +\n \"'\";\n let rs = await getDataTable(Que);\n if (rs.length > 0) {\n await GetNewDrpSheet(\n this.state.catid1,\n rs,\n \"Error Sheet -\" + currentDate + \".xlsx\"\n );\n let que1 = \"Drop table \" + tb;\n let res = await getDataTable(que1);\n console.log(res);\n this.setState({ loading: false, productdetailsdata: [] });\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"No Errors Found\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n }\n }\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

\n USER IMPORT DATA\n \n

\n
\n {this.state.productdetailsdata.length > 0 && (\n \n )}\n
\n
\n \n
\n {/* */}\n
\n \n Help\n \n
\n
\n \n
\n
\n \n *\n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n *\n
\n \n \n \n \n
\n
\n \n \n *\n \n this.onAfterSelect(e, \"portalid\", \"portalname\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n *\n \n this.onAfterSelect(e, \"portalid1\", \"portalname1\")\n }\n isValid={this.state.isValid}\n >\n \n \n \n *\n \n this.onAfterSelect(e, \"CTID\", \"tempName\")\n }\n isValid={this.state.isValid}\n >\n \n \n \n *\n
\n \n \n \n \n
\n \n
\n \n *\n
\n \n
\n
\n\n \n \n
\n {\n \n }\n
\n \n\n \n \n
\n \n Save\n \n
\n \n\n \n \n
\n {\n \n }\n
\n \n
\n \n
\n {this.state.aData1.length > 0 &&\n this.state.portalid1 != -1 && (\n \n )}\n
\n
\n
\n {this.state.aData.length > 0 && this.DumpAliasTable()}\n
\n
\n {this.state.aData1.length > 0 && this.CustomAliasTable()}\n
\n 0 && this.state.portalid1 == -1\n ? \"Block\"\n : \"none\",\n }}\n >\n
\n \n *\n
\n \n
\n
\n
\n \n
\n \n Save\n \n
\n
\n \n \n \n \n
\n \n );\n }\n}","import React, { Component } from \"react\";\nimport {\n Configuration,\n getDataTable,\n MandatoryFormFields,\n exceltodb,\n json2xlsx,\n} from \"../Configuration\";\nimport Table from \"../Actions/Controls/Table/AntDTable\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport Moment from \"moment\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport { Spin } from \"antd\";\nconst dataBase = \"IMAGEDB\";\nconst currentDate = Moment().format(\"DD-MMM-YYYY hh:mm:ss\");\n\nexport default class frmlotMasternew extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n loading: false,\n productList: [],\n orgid: \"\",\n LotId: \"\",\n merge: \"0\",\n ProductName: \"\",\n ArticleNumber: \"\",\n StyleCode: \"\",\n BlockID: \"\",\n AID: \"\",\n VName1: \"\",\n List: [],\n selectedrows: [],\n status: \"Not Live\",\n PortalID: 0,\n files: \"\",\n excelSKUList: [],\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n onAfterSelect(selectedOptions, id, name, index = 0) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n });\n }\n }\n\n async selectedDataFN(e) {\n if (e.length > 0) {\n this.setState({ selectedrows: e });\n } else {\n this.setState({ selectedrows: [] });\n }\n }\n\n async GetProductData() {\n let MandatoryArray = [\n { Block: this.state.BlockID },\n { \"Search Type\": this.state.merge },\n ];\n\n let check = MandatoryFormFields(MandatoryArray);\n\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n\n this.setState({\n productList: [],\n loading: true,\n });\n\n let st = [];\n let que = \"\";\n\n if (this.state.merge === \"1\") {\n que =\n \" select ProductID as [#pid], ProductName as [SKU CODE], c.AttributeValue as article from \";\n que +=\n \" ProductMaster outer apply (select AttributeValue from ProductDetails \";\n que +=\n \" where ProductID= ProductMaster.ProductID and AttributeID = 245) c \";\n que += \" where CategoryId = \" + this.state.BlockID;\n que += \" and OrgID = \" + this.state.orgid;\n que += \" and ProductName like '\" + this.state.ProductName + \"%' \";\n st = await getDataTable(que, \"IMAGEDB\");\n debugger;\n } else if (this.state.merge === \"2\") {\n que =\n \"SELECT distinct LotDetails.productID as [#pid], ProductMaster.ProductName as [SKU CODE], \";\n que +=\n \" c.AttributeValue as article FROM LotDetails INNER JOIN ProductMaster ON \";\n que += \" LotDetails.productID = ProductMaster.ProductID \";\n que +=\n \" outer apply (select attributevalue from ProductDetails where productID = ProductMaster.ProductID \";\n que += \" and AttributeID = 245)c \";\n que += \" WHERE ProductMaster.CategoryId = \" + this.state.BlockID;\n que += \" and LotDetails.LotID = \" + this.state.LotId;\n st = await getDataTable(que, \"IMAGEDB\");\n debugger;\n } else if (this.state.merge === \"4\") {\n que =\n \" select productid as [#pid], ProductName as [SKU CODE], c.AttributeValue as article from \";\n que +=\n \" ProductMaster outer apply (select attributevalue from ProductDetails \";\n que +=\n \" where ProductID = ProductMaster.ProductID and AttributeID = 245 )c \";\n que += \" where OrgId = \" + this.state.orgid;\n que += \" and c.AttributeValue = '\" + this.state.ArticleNumber + \"'\";\n st = await getDataTable(que, \"IMAGEDB\");\n debugger;\n } else if (this.state.merge === \"5\") {\n que =\n \" select ProductMaster.productid as [#pid], ProductName as [SKU CODE], d.AttributeValue as article from \";\n que +=\n \" ProductMaster outer apply (select ProductID , AttributeValue from ProductDetails \";\n que +=\n \" where ProductID = ProductMaster.ProductID and AttributeID = 95 )c \";\n que += \" outer apply \";\n que += \" (select attributevalue from ProductDetails \";\n que += \" where ProductID = c.ProductID and AttributeID = 245 )d \";\n que += \" where OrgId = \" + this.state.orgid;\n que += \" and c.AttributeValue = '\" + this.state.StyleCode + \"'\";\n st = await getDataTable(que, \"IMAGEDB\");\n debugger;\n } else {\n que =\n \"select ProductMaster.ProductID as[#pid], ProductMaster.ProductName as [SKU CODE], c.AttributeValue as article from \";\n que +=\n \" ProductMaster inner join ProductDetails on ProductMaster.ProductID = ProductDetails.ProductID \";\n que +=\n \" outer apply (select attributevalue from ProductDetails where productID = ProductMaster.ProductID \";\n que += \" and AttributeID = 245)c \";\n que +=\n \" where AttributeID = \" +\n this.state.AID +\n \" and ProductDetails.AttributeValue like '\" +\n this.state.VName1 +\n \"%' \";\n que +=\n \" and OrgId = \" +\n this.state.orgid +\n \" and CategoryId = \" +\n this.state.BlockID +\n \"\";\n st = await getDataTable(que, \"IMAGEDB\");\n debugger;\n }\n\n this.setState({\n productList: st,\n loading: false,\n });\n\n // if (st.length > 0) {\n // console.log(\"get Table\");\n // } else {\n // Swal.fire({\n // position: \"top-end\",\n // icon: \"error\",\n // title: \"Product Not Found\",\n // showConfirmButton: false,\n // timer: 1500,\n // });\n // }\n }\n\n async AddData() {\n if (this.state.selectedrows.length === 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Please select data then press add\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n\n let dt = this.state.List;\n this.setState({ loading: true });\n\n for (var i = 0; i < this.state.selectedrows.length; i++) {\n if (dt.includes(this.state.selectedrows[i])) {\n } else {\n dt.push(this.state.selectedrows[i]);\n }\n }\n\n this.setState({\n List: dt,\n loading: false,\n });\n }\n\n async SaveData() {\n if (this.state.List.length === 0) {\n Swal.fire({\n icon: \"error\",\n title: \"PLEASE ADD SELECTED DATA THEN PRESS SAVE\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n\n if (this.state.List.length > 2000) {\n Swal.fire({\n icon: \"info\",\n title: \"CANNOT CREATE MORE THEN 2000 PRODUCT LOT\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n\n let ltque =\n \" SELECT LotID, CAST(LotNo as nvarchar)+'-'+LotName as LotName FROM LotMaster \";\n ltque +=\n \" OUTER APPLY ( select distinct CategoryId from LotDetails inner join ProductMaster on \";\n ltque +=\n \" \tProductMaster.ProductID = LotDetails.ProductID where LotID = LotMaster.LotID ) C (blckid) \";\n ltque +=\n \" WHERE OrgID = \" +\n this.state.orgid +\n \" and (DATEDIFF(week,logDate, getDate())<10) and c.blckid = \" +\n this.state.BlockID;\n let lt = await getDataTable(ltque);\n let inputoption = {};\n lt.forEach((ele) => {\n inputoption[ele[\"LotID\"]] = ele[\"LotName\"];\n });\n let ltname = \"\";\n let ltid = 0;\n let sel = 0;\n if (lt.length <= 0) {\n await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n ltname = result.value;\n }\n });\n } else {\n let mrgcnf = await Swal.fire({\n title: \"Do you want to merge the data into existing lot?\",\n icon: \"question\",\n showCancelButton: true,\n confirmButtonText: \"Yes\",\n cancelButtonText: \"No\",\n allowOutsideClick: false,\n });\n if (mrgcnf.isConfirmed) {\n sel = 1;\n await Swal.fire({\n title: \"SELECT LOT NAME\",\n input: \"select\",\n inputOptions: inputoption,\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n ltid = result.value;\n }\n });\n } else {\n await Swal.fire({\n title: \"ENTER LOT NAME\",\n input: \"text\",\n allowOutsideClick: false,\n }).then(function (result) {\n if (result.isConfirmed) {\n ltname = result.value;\n }\n });\n }\n }\n\n if (sel == 0 && ltname == \"\") {\n Swal.fire({\n icon: \"error\",\n title: \"Please Enter Lot Name\",\n showConfirmButton: false,\n timer: 1500,\n });\n return;\n }\n\n let q =\n \"insert into LotMaster(LotName,orgID,loginID,LogDate) output INSERTED.LotID values('\" +\n ltname +\n \"',\" +\n this.state.orgid +\n \",\" +\n this.state.loginId +\n \",getdate()\" +\n \" )\";\n let sv = await getDataTable(q);\n q =\n \"UPDATE LotMaster SET LotNo = (SELECT COUNT(LotID) FROM LotMaster WHERE (OrgID = \" +\n this.state.orgid +\n \") ) WHERE (OrgID = \" +\n this.state.orgid +\n \" and LotID = \" +\n sv[0][\"LotID\"] +\n \") \";\n await getDataTable(q);\n let sb = this.state.List;\n sb.map((i) => (i.LotID = sv[0][\"LotID\"]));\n console.log(this.state);\n\n let dtJSON = JSON.stringify(sb);\n let que = \" EXEC FrmLotMaster_SaveLotDetails @dtJSON = '\" + dtJSON + \"' \";\n await getDataTable(que);\n // for (let i = 0; i < this.state.selectedrows.length; i++) {\n // let que = \"insert into LotDetails(LotID,ProductID) values(\" + sv[0][\"LotID\"] + \", \" + this.state.selectedrows[i][\"#pid\"] + \")\";\n // sb = await getDataTable(que);\n // }\n\n this.setState({ productList: [], List: [] });\n\n if (sv.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"success\",\n title: \"Lot create successfully \",\n showConfirmButton: false,\n timer: 1500,\n });\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Lot creation unsuccessful\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n }\n\n async Mark() {\n if (\n this.state.status === \"Not Live\" ||\n this.state.status === \"Submit Not Live\"\n ) {\n let MandatoryArray = [{ Portal: this.state.PortalID }];\n\n let check = MandatoryFormFields(MandatoryArray);\n\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n }\n\n let pid = \"\";\n for (let i = 0; i < this.state.List.length; i++) {\n pid = pid + this.state.List[i][\"#pid\"] + \",\";\n }\n pid = pid.substring(0, pid.length - 1);\n\n this.setState({ loading: true });\n let que =\n \"EXEC FrmLotMasterArchiving @pid = '\" +\n pid +\n \"', @status = '\" +\n this.state.status +\n \"', @logid = \" +\n this.state.loginId +\n \", @portalid = \" +\n this.state.PortalID;\n let rs = await getDataTable(que);\n this.setState({\n loading: false,\n PortalID: 0,\n });\n\n if (rs.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"success\",\n title: \"Marking successful\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({\n productList: [],\n List: [],\n });\n } else {\n Swal.fire({\n position: \"top-end\",\n icon: \"error\",\n title: \"Marking unsuccessful\",\n showConfirmButton: false,\n timer: 1500,\n });\n }\n }\n\n async LotAsNoIssue() {\n this.setState({ loading: true });\n let MandatoryArray = [{ LOT: this.state.LotId }];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n let que =\n \" Update LotMaster SET NoIssue = 1 where LotID = \" + this.state.LotId;\n await getDataTable(que);\n Swal.fire({\n icon: \"success\",\n title: \"MARKED SUCCESSFULLY\",\n showConfirmButton: false,\n timer: 1500,\n });\n this.setState({ loading: false });\n }\n\n myFileChangeHandler = (event) => {\n const file = event.target.files[0];\n console.log(\"File type:\", Object.prototype.toString.call(file));\n this.setState({ files: file, upload: 1 });\n };\n\n async UploadFile() {\n this.setState({ loading: true });\n let MandatoryArray = [\n { BlockId: this.state.BlockID },\n { File: this.state.files },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false });\n return false;\n }\n let rs = await exceltodb(this.state.files, dataBase, this.state.loginId);\n let que =\n \"select ProductID as [#pid],ProductMaster.ProductName as [ProductName],Parent as [article] from \" +\n rs;\n que +=\n \" p inner join ProductMaster on p.[SKU CODE] = ProductMaster.ProductName \";\n que +=\n \" inner join ParentMaster on ProductMaster.ParentID = ParentMaster.ParentID \";\n que +=\n \" where ProductMaster.OrgId =\" +\n this.state.orgid +\n \" and CategoryId =\" +\n this.state.BlockID;\n let dt = await getDataTable(que);\n if (dt.length > 2000) {\n Swal.fire({\n icon: \"error\",\n title: \"SKU List can not be more then 2000\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n this.setState({ productList: dt, List: dt, loading: false });\n Swal.fire({\n icon: \"success\",\n title: dt.length + \" SKU UPLOADED\",\n showConfirmButton: false,\n timer: 3000,\n });\n }\n\n async DownloadSKUTemplate() {\n let arr = [\n {\n \"SKU CODE\": \"\",\n },\n ];\n await json2xlsx(\n arr,\n \"SKU_TEMPLATE.xlsx\" + \"_\" + currentDate + \"_\" + \"1.xlsx\"\n );\n }\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

\n Lot Master\n \n (* Fields are mandatory)\n \n \n

\n {([\"10\", \"6\", \"1\", \"10019\"].includes(this.state.loginId) ||\n this.state.loginId === \"1\") && (\n
\n \n \n MARK NO-ISSUE LOT\n \n
\n )}\n
\n \n \n SKU TEMPLATE\n \n
\n
\n \n
\n
\n
\n
\n
\n \n *\n *\n \n this.onAfterSelect(e, \"BlockID\", \"BlockName\")\n }\n >\n
\n
\n \n *\n
\n \n \n \n \n \n \n \n \n
\n
\n\n \n \n
\n \n
\n
\n \n \n \n this.onAfterSelect(e, \"LotId\", \"LotName\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n \n this.onAfterSelect(e, \"AID\", \"AttName\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n \n this.onAfterSelect(e, \"VID2\", \"VName1\")\n }\n isValid={this.state.isValid}\n >\n
\n \n \n
\n \n
\n \n \n \n
\n \n
\n \n
\n \n
\n \n
\n
\n\n
\n \n
\n \n {\" \"}\n ADD{\" \"}\n \n
\n
\n
\n \n
\n \n {\" \"}\n Save{\" \"}\n \n
\n
\n
\n \n *\n
\n \n
\n
\n
\n \n
\n \n {\" \"}\n Upload File{\" \"}\n \n
\n
\n
\n {this.state.productList.length > 0 &&\n this.state.productList != undefined && (\n this.selectedDataFN(e)}\n >\n )}\n
\n \n \n \n\n 0 ? \"block\" : \"none\",\n }}\n >\n
\n \n *\n
\n \n \n \n \n \n \n \n
\n
\n \n \n *\n \n this.onAfterSelect(e, \"PortalID\", \"Pname\")\n }\n isValid={this.state.isValid}\n >\n \n
\n \n
\n \n
\n
\n
\n {this.state.List.length > 0 && (\n \n )}\n
\n \n \n \n \n
\n \n );\n }\n}\n","import React from 'react';\nimport { Configuration, MandatoryFormFields, getDataTable } from '../Configuration';\nimport { Spin } from 'antd';\nimport AntD from '../Actions/Controls/Table/AntDTable'\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\n\nexport default class frmMerging extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n loginId: 0,\n loading: false,\n merge: 0,\n rcdata: [],\n rdata: [],\n selectedrows: [],\n bkid: ''\n }\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n }\n\n myChangeHandler = (event) => {\n this.setState({\n [event.target.name]: event.target.value,\n rcdata: [],\n rdata: []\n });\n }\n\n async onAfterSelect(selectedOptions, id, name, id1, cnt) {\n if (selectedOptions.length > 0) {\n await this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n [id1]: selectedOptions[0].GID1,\n [cnt]: selectedOptions[0].cnt,\n rcdata: [],\n rdata: []\n })\n if ([id] === 'GID') {\n await this.getRData()\n }\n else if (this.state.VID && this.state.VID1) {\n await this.getVData()\n }\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n [id1]: '',\n [cnt]: ''\n })\n }\n }\n\n async getRData() {\n\n let MandatoryArray = [\n { \"Block\": this.state.bkid },\n { \"RelationGroups\": this.state.GName }\n ]\n\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n return false;\n }\n\n let que0 = \"SELECT GroupName AS 'Group Name', Name AS 'Relationship Name', A.Value AS 'Age-Group', B.Value AS 'Product Type', C.Value AS Category FROM RelationshipGroup rg OUTER Apply ( SELECT OptValue, RelationshipName FROM RelationshipController rc INNER JOIN RelationshipMaster rm ON rm.RelationshipID = rc.RID and rm.Rgroup = rg.TblID INNER JOIN optionValue ov ON ov.UID = rc.ControllerValueID and ov.AtrributeID = 226) A (Value, Name) OUTER Apply (SELECT OptValue FROM RelationshipController rc INNER JOIN RelationshipMaster rm ON rm.RelationshipID = rc.RID and rm.Rgroup = rg.TblID and rm.RelationshipName = A.Name INNER JOIN optionValue ov ON ov.UID = rc.ControllerValueID and ov.AtrributeID = 81) B (Value) OUTER Apply (SELECT OptValue FROM RelationshipController rc INNER JOIN RelationshipMaster rm ON rm.RelationshipID = rc.RID and rm.Rgroup = rg.TblID and rm.RelationshipName = A.Name INNER JOIN optionValue ov ON ov.UID = rc.ControllerValueID and ov.AtrributeID = 38) C (Value) WHERE rg.TblID in (\" + this.state.GID + \",\" + this.state.GID1 + \")\"\n this.setState({\n loading: true,\n rcdata: await getDataTable(que0)\n })\n let que = 'EXEC FrmRelationMerge_MismatchAttributes @bkid = ' + this.state.bkid + ', @gid = ' + this.state.GID + ', @gid1 = ' + this.state.GID1\n this.setState({\n rdata: await getDataTable(que),\n loading: false\n })\n\n }\n\n async getVData() {\n\n this.setState({ loading: true })\n let MandatoryArray = [\n { \"Main Value\": this.state.VID },\n { \"Value to merge\": this.state.VID1 }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false })\n return false;\n }\n\n if (this.state.VID === this.state.VID1) {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Please choose different values',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n return false;\n }\n\n let que = \"EXEC FRMMERGING_GETALIASEDDATA @VID = \" + this.state.VID + \",@VID1 = \" + this.state.VID1\n this.setState({\n rdata: await getDataTable(que),\n loading: false\n })\n }\n\n async Merge() {\n if (this.state.merge == 1) {\n await this.RMerge()\n }\n else if (this.state.merge == 2) {\n await this.AMerge()\n }\n else if (this.state.merge == 3) {\n await this.VMerge()\n }\n }\n\n async RMerge() {\n\n let MandatoryArray = [\n { \"Block\": this.state.bkid },\n { \"RelationGroups\": this.state.GName }\n ]\n\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n\n let a = 0\n\n for (let i = 0; i < this.state.rdata.length; i++) {\n if (this.state.rdata[i]['Status'] == 'False') {\n a = 1\n }\n }\n\n if (this.state.rdata.length > 0 && this.state.selectedrows.length == 0 && a == 1) {\n let rst = window.confirm('Are you sure you want to merge the relationships without adding the mismatch attributes?')\n if (!rst) {\n return false;\n }\n }\n\n let lst = []\n\n for (let i = 0; i < this.state.selectedrows.length; i++) {\n if (this.state.selectedrows[i]['Status'] == 'False') {\n lst.push(this.state.selectedrows[i])\n }\n }\n let que = \"\"\n let rs = \"\"\n\n if (lst.length > 0) {\n this.setState({ loading: true })\n for (let i = 0; i < lst.length; i++) {\n que = \"INSERT INTO RelationshipLeaves SELECT RelationshipID, \" + lst[i]['#AID'] + \", \" + lst[i]['#VID'] + \", \" + this.state.loginId + \", getdate() FROM RelationshipMaster WHERE Rgroup =\" + this.state.GID\n rs = await getDataTable(que)\n }\n this.setState({ loading: false })\n }\n\n que = \"EXEC FRMMERGING_RelationMerge @blockID = \" + this.state.bkid + \" ,@LogID = \" + this.state.loginId + \",@GID = \" + this.state.GID + \", @GID1 = \" + this.state.GID1\n this.setState({ loading: true })\n rs = await getDataTable(que)\n this.setState({ loading: false })\n\n if (rs.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Relationship Groups successfully merged',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({\n rcdata: [],\n rdata: []\n })\n }\n\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Merging could not be done',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async AMerge() {\n\n this.setState({ loading: true })\n let MandatoryArray = [\n { \"Main Attribute\": this.state.AID },\n { \"Attribute to merge\": this.state.AID1 }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n\n if (this.state.AID == this.state.AID1) {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Please choose different attributes',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n return false;\n }\n\n let que = \"EXEC FRMMERGING_AttributeMerge @blockID = \" + this.state.bkid + \", @AID = \" + this.state.AID + \", @AID1 = \" + this.state.AID1 + \", @LogID = \" + this.state.loginId\n let rs = await getDataTable(que)\n this.setState({ loading: false })\n if (rs) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Merging Successful',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Merging could not be done',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async DeleteAliasing() {\n\n if (this.state.loginId == 1 || this.state.loginId == 10) {\n let rst = window.confirm('Are you sure you want to delete?')\n if (!rst) {\n return false;\n }\n\n let dt = []\n for (let i = 0; i < this.state.selectedrows.length; i++) {\n dt.push(this.state.selectedrows[i]['#UID'])\n }\n\n let que = \"DELETE FROM OptionValueAliasing OUTPUT deleted.* into OptionValueAliasingHistory WHERE UID IN (\" + dt + \")\"\n this.setState({ loading: true })\n let rs = await getDataTable(que)\n this.setState({ loading: false })\n\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Aliasing Deleted SuccessFully',\n showConfirmButton: false,\n timer: 2500\n })\n\n await this.getVData()\n }\n }\n\n async Aliastonull() {\n\n if (this.state.loginId == 1 || this.state.loginId == 10) {\n let rst = window.confirm('Are you sure you want to alias to NULL VALUE?')\n if (!rst) {\n return false;\n }\n\n let dt = []\n for (let i = 0; i < this.state.selectedrows.length; i++) {\n dt.push(this.state.selectedrows[i]['#UID'])\n }\n\n let que = \"UPDATE OptionValueAliasing SET ValueID = 23554 OUTPUT deleted.* into OptionValueAliasingHistory WHERE UID IN (\" + dt + \")\"\n this.setState({ loading: true })\n let rs = await getDataTable(que)\n this.setState({ loading: false })\n\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'Aliasing Updated SuccessFully',\n showConfirmButton: false,\n timer: 2500\n })\n\n await this.getVData()\n }\n }\n\n async VMerge() {\n this.setState({ loading: true })\n let MandatoryArray = [\n { \"Main Value\": this.state.VID },\n { \"Value to merge\": this.state.VID1 }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n\n if (this.state.VID == this.state.VID1) {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Please choose different values',\n showConfirmButton: false,\n timer: 1500\n })\n this.setState({ loading: false })\n return false;\n }\n\n if (this.state.rdata.length == 0) {\n let que1 = \"EXEC FRMMERGING_ValueMerge @blockID = \" + this.state.bkid + \", @AID1 = \" + this.state.AID2 + \", @AID2 = \" + this.state.AID3 + \", @VID = \" + this.state.VID + \", @VID1 = \" + this.state.VID1 + \", @Vname = '\" + this.state.VName + \"', @Vname1 = '\" + this.state.VName1 + \"', @LogID = \" + this.state.loginId\n this.setState({ loading: true })\n let rs1 = await getDataTable(que1)\n this.setState({ loading: false });\n\n if (rs1.length > 0) {\n Swal.fire({\n position: 'top-end',\n icon: 'success',\n title: 'Merging Successful',\n showConfirmButton: false,\n timer: 1500\n })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Merging could not be done',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'Please check the Value Aliasing first.',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async AVList() {\n\n this.setState({\n loading: true,\n ldata: []\n })\n\n let MandatoryArray = [\n { \"Block\": this.state.bkid }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false })\n return false;\n }\n\n let que = \"EXEC FRMMERGING_MergedAttrList @blockID = \" + this.state.bkid\n\n if (this.state.merge == 3) {\n que = \"EXEC FRMMERGING_MergedValueList @blockID = \" + this.state.bkid\n }\n\n let rs = await getDataTable(que)\n\n this.setState({ loading: false })\n if (rs.length > 0) {\n this.setState({ rcdata: rs })\n }\n else {\n Swal.fire({\n position: 'top-end',\n icon: 'error',\n title: 'No data found',\n showConfirmButton: false,\n timer: 1500\n })\n }\n }\n\n async refresh() {\n this.setState({\n rdata: [],\n rcdata: []\n })\n }\n\n async selectedDataFN(e) {\n if (e.length > 0) {\n this.setState({ selectedrows: e })\n }\n else {\n this.setState({ selectedrows: [] })\n }\n }\n\n render() {\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

Merging Master\n \n \n

\n
\n
\n \n
\n
\n
\n
\n {Refresh}\n
\n
\n
\n
\n
\n
\n \n this.onAfterSelect(e, \"bkid\", \"bkname\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n \n this.onAfterSelect(e, \"GID\", \"GName\", \"GID1\", \"cnt\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"AID\", \"AName\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"AID1\", \"AName1\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"AID2\", \"AName2\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"VID\", \"VName\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"AID3\", \"AName3\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n this.onAfterSelect(e, \"VID1\", \"VName1\")}\n isValid={this.state.isValid}\n >\n
\n\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n {/*
0 ? \"block\" : \"none\" }}>\n \n
\n \n
\n
*/}\n {/*
0 ? \"block\" : \"none\" }}>\n \n
\n \n
\n
*/}\n
\n
\n
\n
\n
\n
\n {this.state.rcdata != undefined && this.state.rcdata.length > 0 &&\n \n }\n
\n
\n
\n
\n
\n
\n {this.state.rdata != undefined && this.state.rdata.length > 0 &&\n this.selectedDataFN(e)}\n >\n }\n
\n
\n
\n
\n
\n
\n
\n )\n }\n}","import React, { Component } from 'react';\nimport _, { keyBy } from 'lodash';\nimport { Configuration, MandatoryFormFields, getDataTable, json2xlsx, table2xlsx, sleep } from '../Configuration';\n\nimport { ProcessAIColor } from '../Mltfunc';\nimport '../ORDER/OrderMaster/style.css'\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport { Progress, Modal, Spin } from 'antd';\nimport 'antd/dist/antd.css';\nlet portaldata = []\n//let uploadfiles = ''\nlet fields = { AttributeToBeShowToUser: 1 }\nlet Anglers = []\nlet SubCategories = []\nexport default class frmcolorcheck extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n ImageData: [],\n loading: false,\n loadingspin: false,\n prs: '',\n ldsts: '',\n portals: [],\n portlsData: [],\n accesstoken: '',\n stImages: [],\n RejectedImage: [],\n finalImg: [],\n cmbdigit: 'All',\n cmbprsctype: '2',\n profileID: []\n };\n }\n async componentDidMount() {\n \n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async FileHandler(e) {\n this.setState({\n ImageData:[]\n })\n if (e.target.files.length > 40) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'CAN NOT UPLOAD MORE THEN 350 IMAGES',\n showConfirmButton: false,\n timer: 1500\n })\n document.getElementById('imgUpload').value = ''\n return;\n }\n\n if (e.target.files.length > 0) {\n let st = e.target.files\n let img = []\n let RejImg = []\n for (let i = 0; i < st.length; i++) {\n let name = st[i].webkitRelativePath\n let sts = name.split(\"/\");\n if (st[i].type.startsWith(\"image\")) {\n img.push({ \"file\": st[i]})\n }\n }\n this.setState({ stImages: img, RejectedImage: RejImg })\n document.getElementById('imgUpload').value = ''\n }\n\n else { this.setState({ stImages: [], RejectedImage: [] }) }\n }\n\n\n hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display == \"block\") {\n document.getElementById(id).style.display = \"none\"\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-plus\";\n }\n else {\n document.getElementById(id).style.display = \"block\"\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n };\n\n\n // function To get Image Width and Height\n async GetImageDimension(src, type) {\n return new Promise((resolve, reject) => {\n let img = new Image()\n img.onload = () => resolve(img[type])\n img.onerror = reject\n img.src = src\n })\n }\n\n\n\n\n\n\n async CompleteProcess() {\n if (this.state.stImages.length < 1) {\n Swal.fire({\n position: 'top-end',\n icon: 'info',\n title: 'No Image Folder selected',\n showConfirmButton: false,\n timer: 1500\n })\n return;\n }\n this.setState({\n loading:true\n })\n let FinalImages = []\n let uploadfiles = this.state.groupedImg\n this.setState({\n loadingspin:true\n })\n let rs = await ProcessAIColor(\n this.state.stImages\n )\n if (rs !== undefined) {\n const keys = Object.keys(rs);\n keys.forEach((key, index) => {\n FinalImages.push(rs[key])\n });\n }\n this.setState({\n ImageData: FinalImages,\n loadingspin:false\n })\n\n }\n\n\n help() {\n Modal.info({\n title: 'INSTRUCTION WHILE IMAGE IDENTIFICATION',\n okText: 'CLOSE',\n width: '600px',\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: '500px' },\n style: { padding: '0px' },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • Upload folder of images of a particular product
  • \n
  • Check Auto Correction to resize images with processing
  • \n
  • Images should be in JPEG,JPG
  • \n
  • Image background color should be white
  • \n
  • *Indentification of Sub category Still under dovelopment
  • \n
  • Uploaded images should be between 500kb - 2MB
  • \n
  • Uploaded images should not be less the (800 X 800) dimension
  • \n
  • User can not upload more then 350 images at once
  • \n
\n
\n )\n });\n }\n\n async downloadRectifiedImage() {\n let ImgData = this.state.ImageData\n for (let i = 0; i < ImgData.length; i++) {\n var a = document.createElement(\"a\");\n a.href = ImgData[i]['data'];\n a.download = ImgData[i].image_file;\n a.click();\n await sleep(1000)\n }\n }\n\n\n\n\n render() {\n return (\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n

IMAGE COLOR DETECTION\n \n \n

\n
\n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n {this.state.loadingspin === false && this.state.ImageData.length > 0 && }\n
\n
\n
\n
\n
\n
\n )\n }\n\n async dataURLtoFile(dataurl, filename) {\n \n var arr = dataurl.split(','),\n mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(arr[1]), \n n = bstr.length, \n u8arr = new Uint8Array(n);\n \n while(n--){\n u8arr[n] = bstr.charCodeAt(n);\n }\n \n return new File([u8arr], filename, {type:mime});\n }\n\n\n \n\n\n}\n","import React, { Component } from \"react\";\nimport {\n Configuration,\n exceltodb,\n MandatoryFormFields,\n getDataTable\n} from \"../Configuration\";\nimport AntD from \"../Actions/Controls/Table/AntDTable\";\nimport { Spin, Modal } from \"antd\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport AutoCompletemulti from \"../Actions/Controls/AutoComplete/autoCompleteMultipleCascad\";\nimport VLAUEALSING from \"./../IMAGE/MODAL/frmcreateValueAliasing\";\nlet files = \"\";\nconst dataBase = \"IMAGEDB\";\n\nexport default class FrmMultipleValueAliasing extends Component {\n constructor() {\n super();\n this.state = {\n loginId: 0,\n loading: false,\n adata: [],\n selectedrows: [],\n flupld: false,\n stsdup: 0,\n stsMandatory: 0,\n onlyPending: 0,\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n };\n\n //For selecting one option\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\",\n adata: [],\n });\n }\n }\n\n //For selecting multiple option\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions,\n });\n } else {\n this.setState({\n [name]: \"\",\n });\n }\n if (name === \"tempId\") {\n this.setState({\n adata: [],\n });\n }\n }\n\n // To get data for value aliasing from database\n async getData() {\n this.setState({\n loading: true,\n adata: [],\n // stsMandatory: 0,\n // onlyPending: 0,\n });\n let MandatoryArray = [\n { portal: this.state.portalid },\n { BLOCK: this.state.catid1 },\n { Template: this.state.tempId },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false, adata: [] });\n return false;\n }\n\n let tmpstr = \"\";\n for (let index = 0; index < this.state.tempId.length; index++) {\n var element = this.state.tempId[index];\n if (tmpstr === \"\") {\n tmpstr = element.DisplayId;\n } else {\n tmpstr = tmpstr + \",\" + element.DisplayId;\n }\n }\n if (this.state.tempId.length === 1 && files) {\n await this.SaveExcelDatatoDb();\n }\n\n // this.setState({ tempstr: tmpstr });\n\n let que1 =\n \"EXEC frmMultipleValueAliasing_GetAliasedData \" +\n \" @templateID = '\" +\n tmpstr +\n \"' , @loginId =\" +\n this.state.loginId +\n \", @onlypending = \" +\n this.state.onlyPending +\n \", @mandatory = \" +\n this.state.stsMandatory;\n\n let rs1 = await getDataTable(que1);\n\n this.setState({ loading: false, adata: rs1 });\n }\n\n async SaveExcelDatatoDb() {\n let tblname = await exceltodb(files, dataBase, this.state.loginId);\n let Que =\n \"EXEC frmMultipleValueAlising_SaveExcelData @tblname = '\" +\n tblname +\n \"',@templateID = \" +\n this.state.tempId[0][\"DisplayId\"] +\n \", @loginID = \" +\n this.state.loginId;\n await getDataTable(Que);\n files = \"\";\n }\n\n //To delete row from the data received\n deleteRow(e) {\n let st = this.state.adata;\n this.setState({ adata: [] });\n let index = e.key;\n st.splice(index, 1);\n\n this.setState({ adata: st });\n this.forceUpdate();\n }\n\n // For forward Alising\n EditRow(e) {\n console.log(e);\n let index = e.key;\n let st = this.state.adata;\n st[index] = e;\n this.setState({ adata: st });\n if (this.state.selectedrows.length > 0 && this.state.stsdup === 1) {\n }\n }\n\n // To check if any row is selected\n async selectedDataFN(e) {\n if (e.length > 0) {\n this.setState({ selectedrows: e });\n // console.log(JSON.stringify(e));\n } else {\n this.setState({ selectedrows: [] });\n // console.log(e);\n }\n }\n\n // For updating or overwriting alising in the database\n async UpdateSelectedAliasing() {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n\n // st = JSON.stringify(st);\n\n for (let i = 0; i < st.length; i++) {\n let ele = st[i];\n let quechk =\n \"select OptionValueAliasing.UID,TamplateName + ' - ' + PortalHeader + ' - ' + AliasedValue AS DT from OptionValueAliasing inner join TemplateMaster on TemplateMaster.TemplateID = OptionValueAliasing.TemplateID where ValueID = \" +\n ele[\"#valueID\"] +\n \" and PortalHeader = '\" +\n ele[\"Portal Attribute\"] +\n \"' and \";\n quechk +=\n \" OptionValueAliasing.TemplateID IN (\" +\n ele[\"#ConsolidatedTemplate\"] +\n \") and ValueID <> 23554\";\n let rschk = await getDataTable(quechk);\n if (rschk.length > 0) {\n this.setState({ loading: false });\n let st1 = await Swal.fire({\n title:\n \"ALREADY ALISED WITH \" +\n rschk[0][\"DT\"] +\n \" .
ARE YOU SURE WANT TO OVERWRITE DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st1.isConfirmed) {\n } else {\n st.splice(i, 1);\n\n console.log(st);\n }\n }\n }\n\n this.setState({ loading: true });\n st = JSON.stringify(st);\n let que11 =\n \"EXEC frmMultipleValueAliasing_UpdateSelectedAliasing @dtJSON = '\" +\n st +\n \"' , @loginID = \" +\n this.state.loginId;\n\n await getDataTable(que11);\n this.setState({ loading: false });\n\n await this.updateData();\n }\n\n // For deleting Aliasing\n async DeleteAliasing() {\n let st = this.state.selectedrows;\n this.setState({ loading: true });\n\n st = JSON.stringify(st);\n // console.log(st);\n\n let que11 =\n \"frmMultipleValueAliasing_DeleteSelectedAliasing @dtJSON = '\" +\n st +\n \"' , @loginID = \" +\n this.state.loginId;\n\n // console.log(que11);\n await getDataTable(que11);\n this.setState({ loading: false });\n\n await this.updateData();\n }\n\n // Updating the data once the changes are made (Edit, Delete)\n // Also to check whether to do forward aliasing or reverse aliasing\n async updateData() {\n this.setState({ loading: true, adata: [] });\n let tmpstr = \"\";\n for (let index = 0; index < this.state.tempId.length; index++) {\n var element = this.state.tempId[index];\n if (tmpstr === \"\") {\n tmpstr = element.DisplayId;\n } else {\n tmpstr = tmpstr + \",\" + element.DisplayId;\n }\n }\n if (this.state.stsdup === 0) {\n let que1 =\n \"EXEC frmMultipleValueAliasing_GetAliasedData \" +\n \" @templateID = '\" +\n tmpstr +\n \"' , @loginId =\" +\n this.state.loginId +\n \", @onlypending = \" +\n this.state.onlyPending +\n \", @mandatory = \" +\n this.state.stsMandatory;\n\n let rs1 = await getDataTable(que1);\n\n this.setState({ loading: false, adata: rs1 });\n }\n\n if (this.state.stsdup === 1) {\n let que1 =\n \"EXEC frmMultipleValueAliasing_GetReverseAliasingData \" +\n \" @templateID = '\" +\n tmpstr +\n \"' , @loginId =\" +\n this.state.loginId;\n let rs1 = await getDataTable(que1);\n\n this.setState({ loading: false, adata: rs1 });\n }\n }\n\n // To allow reverse aliasing\n async AllowReverse(e) {\n if (e.target.checked === true) {\n this.setState({ stsdup: 1 });\n } else {\n this.setState({ stsdup: 0 });\n }\n }\n\n // To create reference aliasing\n async UpdateReferenceAlising() {\n let MandatoryArray = [\n { TEMPLATE: this.state.tempId1 },\n { \"REFERENCE TEMPLATE\": this.state.ReftempId },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n return false;\n }\n let st = await Swal.fire({\n title: \"ARE YOU SURE WANT TO UPDATE REFERENCE TEMPLATE DATA ?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (st.isConfirmed) {\n this.setState({ loading: true, adata: [] });\n let tmpstr = \"\";\n for (let index = 0; index < this.state.tempId1.length; index++) {\n var element = this.state.tempId1[index];\n if (tmpstr === \"\") {\n tmpstr = element.DisplayId;\n // } else {\n // tmpstr = tmpstr + \",\" + element.DisplayId;\n }\n let que2 =\n \"EXEC FrmMultipleValueAliasingMaster_UpdateReferenceData @loginID =\" +\n this.state.loginId +\n \" , @tempId = \" +\n tmpstr;\n que2 += \" , @refTempId =\" + this.state.ReftempId;\n let rs2 = await getDataTable(que2);\n\n this.setState({ loading: false, adata: rs2, stsdup: 0 });\n await this.updateData();\n }\n } else {\n return false;\n }\n }\n\n // Modal(popup) for reference aliasing. Multiple references can be used for single target\n async GetReference(e) {\n Modal.info({\n title: \"GET TEMPLATE REFERENCE\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
\n \n \n this.onAutoCOmpletMultiPleSelect(e, \"tempId1\")\n }\n isValid={this.state.isValid}\n >\n
\n\n
\n \n \n this.onAfterSelect(e, \"ReftempId\", \"ReftempName\")\n }\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n
\n
\n
\n ),\n });\n }\n\n async alwdMandatory(e) {\n if (e.target.checked) {\n this.setState({ stsMandatory: 1 });\n } else {\n this.setState({ stsMandatory: 0 });\n }\n }\n\n async OnlyPendingSel(e) {\n if (e.target.checked) {\n this.setState({ onlyPending: 1 });\n } else {\n this.setState({ onlyPending: 0 });\n }\n }\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

MULTIPLE VALUE ALIASING

\n\n
\n \n \n \n Toggle Dropdown\n \n \n
\n
\n\n \n
\n
\n \n \n *\n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n\n
\n \n *\n \n this.onAfterSelect(e, \"portalid\", \"portalname\")\n }\n isValid={this.state.isValid}\n >\n
\n\n
\n \n \n this.onAutoCOmpletMultiPleSelect(e, \"tempId\")\n }\n isValid={this.state.isValid}\n >\n
\n\n {this.state.portalid !== undefined &&\n this.state.tempId !== undefined &&\n this.state.tempId.length === 1 && (\n
\n \n \n *\n \n
\n \n
\n
\n )}\n\n {/* {this.state.adata.length > 0 &&\n (
\n \n \n \n \n \n
)} */}\n\n
\n
\n \n
\n \n
\n
\n\n\n {this.state.selectedrows.length > 0 && (\n
\n \n
\n \n
\n
\n )}\n\n
\n
\n {this.state.adata.length > 0 && (\n \n )}\n
\n
\n {this.state.adata.length > 0 && (\n \n Refresh Data\n \n )}\n
\n
\n\n {(this.state.loginId === \"10\" ||\n this.state.loginId === \"20041\") &&\n this.state.selectedrows.length > 0 && (\n
\n \n
\n \n
\n
\n )}\n\n
\n {this.state.adata.length > 0 && (\n this.deleteRow(e)}\n EditMultiBlock=\"true\"\n EditMultiBlockFn={this.EditRow.bind(this)}\n selected=\"true\"\n SelectedFn={(e) => this.selectedDataFN(e)}\n >\n )}\n
\n
\n \n \n
\n \n );\n }\n}","import React, { Component } from \"react\";\nimport {\n Configuration,\n MandatoryFormFields,\n getDataTable,\n} from \"../Configuration\";\nimport AntD from \"../Actions/Controls/Table/AntDTable\";\nimport { Spin } from \"antd\";\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport AutoCompletemulti from \"../Actions/Controls/AutoComplete/autoCompleteMultipleCascad\";\n\n\nexport default class frmDefaultValueMaster extends Component {\n constructor() {\n super();\n this.state = {\n loginId: 0,\n loading: false,\n adata: [],\n tempId: []\n // defaultValue: \"\",\n };\n }\n\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n await this.getData();\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n\n\n //For selecting one option\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n });\n } else {\n this.setState({\n [id]: \"\",\n [name]: \"\"\n });\n }\n }\n\n //For selecting multiple option\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [name]: selectedOptions,\n });\n } else {\n this.setState({\n [name]: \"\",\n });\n }\n }\n\n async getData() {\n this.setState({ loading: true });\n\n let Que = \"EXEC frmDefaultValueMaster_GetDefaultValueList\";\n\n let rs = await getDataTable(Que);\n\n this.setState({ loading: false, adata: rs });\n }\n\n async SaveData() {\n this.setState({\n loading: true,\n });\n let MandatoryArray = [\n { \"BLOCK\": this.state.catid1 },\n { \"portal\": this.state.portalid },\n { \"Portal Header\": this.state.PNAME },\n { \"Default Value\": this.state.defaultvalue },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check === false) {\n this.setState({ loading: false, adata: [] });\n return false;\n }\n\n let tmpstr = \"\";\n for (let index = 0; index < this.state.tempId.length; index++) {\n var element = this.state.tempId[index];\n if (tmpstr === \"\") {\n tmpstr = element.DisplayId;\n } else {\n tmpstr = tmpstr + \",\" + element.DisplayId;\n }\n }\n if (tmpstr === \"\") {\n tmpstr = \"0\"\n }\n let que1 =\n \"EXEC frmDefaultValueMaster_SaveAndGetDefaultValue \" +\n \"@blockid= \" +\n this.state.catid1 +\n \", @pheader= '\" +\n this.state.PNAME +\n \"', @portalid= \" +\n this.state.portalid +\n \", @pvalue= '\" +\n this.state.defaultvalue +\n \"', @tempid= '\" +\n tmpstr +\n \"' , @loginId =\" +\n this.state.loginId + \" , @orgId = \"+(this.state.fOrgID ? this.state.fOrgID : 0);\n\n let rs1 = await getDataTable(que1);\n\n await this.getData(this);\n await Swal.fire({\n icon: rs1[0][\"tag\"],\n title: rs1[0][\"Status\"],\n showConfirmButton: false,\n timer: 2000,\n });\n this.setState({ loading: false });\n this.forceUpdate();\n }\n\n async deleteRow(e) {\n if (\n this.state.loginId === \"1\" ||\n this.state.loginId === \"10\" ||\n this.state.loginId === \"6\"\n ) {\n let st = await Swal.fire({\n title: \"ARE YOU SURE WANT TO DELETE?\",\n showCancelButton: true,\n confirmButtonText: \"YES\",\n cancelButtonText: \"NO\",\n });\n if (!st.isConfirmed) {\n return false;\n }\n this.setState({\n loading: true,\n });\n\n let Que2 = \"\"\n let rs = []\n if(e['ORG'] === \"\"){\n Que2 = \"delete from DefaultValueMaster output deleted.* where TableID = \" + e[\"#tableID\"];\n rs = await getDataTable(Que2);\n }\n else{\n Que2 = \"delete from DefaultValueMasterOrgWise output deleted.* where TableID = \" + e[\"#tableID\"];\n rs = await getDataTable(Que2);\n }\n if (rs.length > 0) {\n\n Swal.fire({\n icon: \"info\",\n title: \"Successfully Deleted\",\n showConfirmButton: false,\n timer: 1500,\n });\n await this.getData()\n } else {\n alert(\"Some Error Occurred\");\n this.setState({\n loading: false,\n });\n }\n } else {\n alert(\"You are not allowed to delete\");\n return;\n }\n\n }\n\n\n render() {\n return (\n
\n \n
\n \n
\n
\n
\n \n
\n

\n Default Value Master\n \n

\n
\n\n \n
\n
\n \n this.onAfterSelect(e, \"fOrgID\", \"FOrgName\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n *\n \n this.onAfterSelect(e, \"catid1\", \"catname1\")\n }\n isValid={this.state.isValid}\n >\n
\n\n
\n \n *\n \n this.onAfterSelect(e, \"portalid\", \"portalname\")\n }\n isValid={this.state.isValid}\n >\n
\n\n
\n \n \n this.onAutoCOmpletMultiPleSelect(e, \"tempId\")\n }\n isValid={this.state.isValid}\n >\n
\n\n
\n \n *\n \n this.onAfterSelect(e, \"PAID\", \"PNAME\")\n }\n >\n
\n\n
\n \n *\n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n\n
\n {this.state.adata.length > 0 &&\n this.state.adata !== undefined && (\n this.deleteRow(e)}\n\n >\n )}\n
\n
\n \n \n
\n \n );\n }\n}\n","import React, { Component } from 'react';\nimport { Configuration, getDataTable } from '../Configuration';\nimport '../ORDER/OrderMaster/style.css'\nimport { Spin } from 'antd';\nimport 'sweetalert2/src/sweetalert2.scss'\n\n\n\nexport default class frmOrgnisationProfile extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n OrgData: [],\n organizationID: '',\n orID: 0,\n orgname: '',\n orgcode: '',\n userID: '',\n userName: '',\n uEmail: '',\n uPhone: '',\n logDate: '',\n Token: '',\n usertime: '',\n isAgent: \"0\",\n cntno: '',\n mail: '',\n city: '',\n stt: '',\n pin: '',\n add: '',\n cntry: '',\n loading: false,\n gstno: ''\n };\n }\n async componentDidMount() {\n let q = \"\"\n q += \" SELECT top(2) Users.userId, Users.orgid, Users.username, FORMAT(TokenAuth.usertime,'dd-MMM-yyyy hh:mm tt') as lastLogin\"\n q += \" ,OrganizationMaster.OrgName, OrganizationMaster.Address, Users.Email AS Umail, Users.Phone AS Uphone\"\n q += \" , OrganizationMaster.City, OrganizationMaster.State, OrganizationMaster.Country, DropBoxAccessToken.DrpToken\"\n q += \" , OrganizationMaster.PIN, OrganizationMaster.Phone, OrganizationMaster.OrgCode\"\n q += \" , OrganizationMaster.email, OrganizationMaster.GSTNO, Users.IsAgent\"\n q += \" FROM Users INNER JOIN\"\n q += \" OrganizationMaster ON Users.OrgID = OrganizationMaster.OrgID\"\n q += \" inner join TokenAuth on Users.userId = TokenAuth.userID\"\n q += \" left outer join DropBoxAccessToken on Users.OrgID = DropBoxAccessToken.OrgID\"\n q += \" where Users.userid = \" + Configuration.USER_ID + \"\"\n q += \" order by usertime desc\"\n\n let rs1 = await getDataTable(q)\n await this.setState({\n loginId: Configuration.USER_ID,\n userID: rs1[0].userId,\n orID: rs1[0].orgid,\n orgname: rs1[0].OrgName,\n userName: rs1[0].username,\n uEmail: rs1[0].Umail,\n uPhone: rs1[0].Uphone,\n orgcode: rs1[0].OrgCode,\n logDate: rs1[0].logdate,\n usertime: rs1[1].lastLogin,\n Token: rs1[0].DrpToken,\n isAgent: rs1[0].IsAgent,\n add: rs1[0].Address,\n city: rs1[0].City,\n stt: rs1[0].State,\n cntry: rs1[0].Country,\n pin: rs1[0].PIN,\n cntno: rs1[0].Phone,\n mail: rs1[0].email,\n gstno: rs1[0].GSTNO\n });\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async SaveToken() {\n let que =\n \"DELETE FROM DropBoxAccessToken WHERE OrgID = \" +\n this.state.orID;\n await getDataTable(que);\n\n let Query1 =\n \"INSERT INTO DropBoxAccessToken (OrgID, DrpToken, logDate) VALUES (\" + this.state.orID + \",\" + this.state.Token + \",cast(getdate() as date))\"\n await getDataTable(Query1);\n }\n\n render() {\n return (\n\n
\n
\n
\n \n
\n
\n
\n
\n
\n

ORGANIZATION PROFILE\n \n \n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{this.state.orgname}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.orgcode}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.add}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.city}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.stt}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.pin}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.cntno}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.mail}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.gstno}

\n
\n
\n
\n
\n
\n

\n

\n

User Profile

\n
\n \n
\n
\n
\n
\n \n
\n
\n

{this.state.userName}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.uEmail}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.uPhone}

\n
\n
\n
\n
\n \n
\n
\n

{this.state.isAgent}\n

\n
\n
\n
\n
\n

\n \n
\n\n\n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n

{this.state.usertime}

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n )\n }\n}\n","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey } from '../../Configuration';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport AutoComplete from '../../Actions/Controls/AutoComplete/autoComplete';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmSetFixedFee extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n orgid: 0,\n RSDATA:[],\n TierID:0\n };\n }\n\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.getdata(1)\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible});\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n this.forceUpdate();\n }\n\n\n async getdata(val=1) {\n let Que = \" SELECT Portals.PortalName, BlockMaster.BlockName, PaymentRecoFixedFee.FixedFee,pt.TierName, \"\n Que += \" FORMAT(PaymentRecoFixedFee.Logdate, 'dd-MMM-yyyy') AS Logdate, PaymentRecoFixedFee.tblID as [#tblID] \"\n Que += \" FROM PaymentRecoFixedFee INNER JOIN Portals ON PaymentRecoFixedFee.PortalID = Portals.PID INNER JOIN \"\n Que += \" BlockMaster ON PaymentRecoFixedFee.BlockId = BlockMaster.CategoryID \"\n Que += \" INNER JOIN PortalTierMaster pt ON pt.tierId = PaymentRecoFixedFee.TierID \"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({ RSDATA: rs })\n }\n else {\n this.setState({ RSDATA: [] })\n return;\n }\n }\n\n\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n this.forceUpdate();\n }\n\n\n\n async SaveTamplate() {\n let MandatoryArray = [\n { \"PORTAL\": this.state.PortalID },\n { \"BLOCK\": this.state.BlockID },\n { \"TierID\": this.state.TierID },\n { \"FEE\": this.state.fldFixedFee },\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"select * from PaymentRecoFixedFee where PortalID = \"+this.state.PortalID+\" and BlockId = \"+this.state.BlockID + \" and TierID = \"+this.state.TierID\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'error',\n title: \"ALREADY EXIST\",\n showConfirmButton: false,\n timer: 1500\n })\n\n return false;\n }\n que = \"\"\n que += \" INSERT INTO PaymentRecoFixedFee ( PortalID, BlockId, FixedFee, loginID,TierID ) VALUES \"\n que += \" (\"+this.state.PortalID+\",\"+this.state.BlockID+\",\"+this.state.fldFixedFee+\",\"+this.state.loginId+\",\"+this.state.TierID+\") \"\n let rs1 = await getDataTable(que)\n Swal.fire({\n icon: 'success',\n title: \"SUCCESSFULLY ADDED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async deleteRow(e) {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO', })\n if (!st.isConfirmed) {\n return false;\n }\n let que = \"Delete from PaymentRecoFixedFee where tblID = \"+e['#tblID']\n let dt = await getDataTable(que)\n Swal.fire({\n icon: 'info',\n title: \"SUCCESSFULLY REMOVED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PortalID\", \"PortalName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"TierID\", \"TierName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n
\n \n
\n )\n }\n\n\n\n\n\n\n\n}","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey } from '../../Configuration';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmTierMaster extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n orgid: 0,\n RSDATA: [],\n ORGID1:0,\n fldtierName:'',\n fldtierCode:''\n };\n }\n\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.getdata(1)\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n this.forceUpdate();\n }\n\n\n async getdata(val = 1) {\n let Que = \" SELECT PortalTierMaster.tierName, PortalTierMaster.tierCode, FORMAT(PortalTierMaster.Logdate,'dd-MMM-yyyy') as Create_Date, OrganizationMaster.OrgName , tierID as [#tierID]\"\n Que += \" FROM PortalTierMaster LEFT OUTER JOIN \"\n Que += \" OrganizationMaster ON PortalTierMaster.OrgID = OrganizationMaster.OrgID \"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({ RSDATA: rs })\n }\n else {\n this.setState({ RSDATA: [] })\n return;\n }\n }\n\n\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n this.forceUpdate();\n }\n\n\n\n async SaveTier() {\n let MandatoryArray = [\n { \"TIER NAME\": this.state.fldtierName },\n { \"TIER CODE\": this.state.fldtierCode }\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"select * from PortalTierMaster where tierName = '\" + this.state.fldtierName + \"' and tierCode = '\" + this.state.fldtierCode +\"' and OrgID = \" + (this.state.ORGID1 ? this.state.ORGID1 : 0)\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'error',\n title: \"ALREADY EXIST\",\n showConfirmButton: false,\n timer: 1500\n })\n\n return false;\n }\n que = \" \"\n que += \" INSERT INTO PortalTierMaster ( tierName, tierCode, OrgID, LoginID ) VALUES \"\n que += \" ('\" + this.state.fldtierName + \"','\" + this.state.fldtierCode + \"',\" + (this.state.ORGID1 ? this.state.ORGID1 : 0) + \",\" + this.state.loginId + \") \"\n let rs1 = await getDataTable(que)\n Swal.fire({\n icon: 'success',\n title: \"SUCCESSFULLY ADDED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async deleteRow(e) {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO', })\n if (!st.isConfirmed) {\n return false;\n }\n let que = \"Delete from PortalTierMaster where tierID = \"+e['#tierID']\n let dt = await getDataTable(que)\n Swal.fire({\n icon: 'info',\n title: \"SUCCESSFULLY REMOVED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n this.onAfterSelect(e, \"ORGID1\", \"ORGNAME1\")}\n isValid={this.state.isValid}\n >\n
\n
\n \n
\n \n
\n
\n\n
\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n
\n \n
\n )\n }\n\n\n\n\n\n\n\n}","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey } from '../../Configuration';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport AutoComplete from '../../Actions/Controls/AutoComplete/autoComplete';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmSetPaymentFee extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n orgid: 0,\n RSDATA:[],\n TierID:0\n };\n }\n\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.getdata(1)\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible});\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n this.forceUpdate();\n }\n\n\n async getdata(val=1) {\n let Que = \" SELECT Portals.PortalName, BlockMaster.BlockName, PaymentRecoPaymentFee.PaymentPercent,pt.TierName, \"\n Que += \" FORMAT(PaymentRecoPaymentFee.Logdate, 'dd-MMM-yyyy') AS Logdate, PaymentRecoPaymentFee.tblID as [#tblID] \"\n Que += \" FROM PaymentRecoPaymentFee INNER JOIN Portals ON PaymentRecoPaymentFee.PortalID = Portals.PID INNER JOIN \"\n Que += \" BlockMaster ON PaymentRecoPaymentFee.BlockId = BlockMaster.CategoryID \"\n Que += \" INNER JOIN PortalTierMaster pt ON pt.tierId = PaymentRecoPaymentFee.TierID \"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({ RSDATA: rs })\n }\n else {\n this.setState({ RSDATA: [] })\n return;\n }\n }\n\n\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n this.forceUpdate();\n }\n\n\n\n async SaveTamplate() {\n let MandatoryArray = [\n { \"PORTAL\": this.state.PortalID },\n { \"BLOCK\": this.state.BlockID },\n { \"TierID\": this.state.TierID },\n { \"PAYMENT %\": this.state.fldFixedFee },\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"select * from PaymentRecoPaymentFee where PortalID = \"+this.state.PortalID+\" and BlockId = \"+this.state.BlockID + \" and TierID = \"+this.state.TierID\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'error',\n title: \"ALREADY EXIST\",\n showConfirmButton: false,\n timer: 1500\n })\n\n return false;\n }\n que = \"\"\n que += \" INSERT INTO PaymentRecoPaymentFee ( PortalID, BlockId, PaymentPercent, loginID,TierID ) VALUES \"\n que += \" (\"+this.state.PortalID+\",\"+this.state.BlockID+\",\"+this.state.fldFixedFee+\",\"+this.state.loginId+\",\"+this.state.TierID+\") \"\n let rs1 = await getDataTable(que)\n Swal.fire({\n icon: 'success',\n title: \"SUCCESSFULLY ADDED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async deleteRow(e) {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO', })\n if (!st.isConfirmed) {\n return false;\n }\n let que = \"Delete from PaymentRecoPaymentFee where tblID = \"+e['#tblID']\n let dt = await getDataTable(que)\n Swal.fire({\n icon: 'info',\n title: \"SUCCESSFULLY REMOVED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PortalID\", \"PortalName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"TierID\", \"TierName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n
\n \n
\n )\n }\n\n}","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey, allowOnlyOneDotOrNum } from '../../Configuration';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport AutoComplete from '../../Actions/Controls/AutoComplete/autoComplete';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmSetFrieghtFee extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n orgid: 0,\n RSDATA: [],\n TierID: 0,\n fldpackWeight: 0,\n fldFixedFee: 0\n };\n }\n\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.getdata(1)\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible });\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n this.forceUpdate();\n }\n\n\n async getdata(val = 1) {\n let Que = \" SELECT Portals.PortalName, BlockMaster.BlockName,PaymentRecoFreightCharge.Weightgm as [WEIGHT UPTO] ,PaymentRecoFreightCharge.FreightCharge,pt.TierName, \"\n Que += \" FORMAT(PaymentRecoFreightCharge.Logdate, 'dd-MMM-yyyy') AS Logdate, PaymentRecoFreightCharge.tblID as [#tblID] \"\n Que += \" FROM PaymentRecoFreightCharge INNER JOIN Portals ON PaymentRecoFreightCharge.PortalID = Portals.PID INNER JOIN \"\n Que += \" BlockMaster ON PaymentRecoFreightCharge.BlockId = BlockMaster.CategoryID \"\n Que += \" INNER JOIN PortalTierMaster pt ON pt.tierId = PaymentRecoFreightCharge.TierID \"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({ RSDATA: rs })\n }\n else {\n this.setState({ RSDATA: [] })\n return;\n }\n }\n\n\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n this.forceUpdate();\n }\n\n\n\n async SaveTamplate() {\n let MandatoryArray = [\n { \"PORTAL\": this.state.PortalID },\n { \"BLOCK\": this.state.BlockID },\n { \"TierID\": this.state.TierID },\n { \"WEIGHT\": this.state.fldpackWeight },\n { \"CHARGE\": this.state.fldFixedFee },\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"select * from PaymentRecoFreightCharge where PortalID = \" + this.state.PortalID + \" and BlockId = \" + this.state.BlockID + \" and TierID = \" + this.state.TierID + \" and Weightgm = \" + this.state.fldpackWeight\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'error',\n title: \"ALREADY EXIST\",\n showConfirmButton: false,\n timer: 1500\n })\n\n return false;\n }\n que = \"\"\n que += \" INSERT INTO PaymentRecoFreightCharge ( PortalID, BlockId, FreightCharge, loginID,TierID,Weightgm ) VALUES \"\n que += \" (\" + this.state.PortalID + \",\" + this.state.BlockID + \",\" + this.state.fldFixedFee + \",\" + this.state.loginId + \",\" + this.state.TierID + \" , \" + this.state.fldpackWeight + \") \"\n let rs1 = await getDataTable(que)\n Swal.fire({\n icon: 'success',\n title: \"SUCCESSFULLY ADDED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async deleteRow(e) {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO', })\n if (!st.isConfirmed) {\n return false;\n }\n let que = \"Delete from PaymentRecoFreightCharge where tblID = \" + e['#tblID']\n let dt = await getDataTable(que)\n Swal.fire({\n icon: 'info',\n title: \"SUCCESSFULLY REMOVED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PortalID\", \"PortalName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"TierID\", \"TierName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n
\n \n
\n )\n }\n\n}","import { Modal, Button } from 'antd';\nimport React, { Component } from 'react';\nimport '../../ORDER/OrderMaster/style.css'\nimport Table from '../../Actions/Controls/Table/AntDTable'\nimport { Configuration, MandatoryFormFields, getDataTable, OnlyNumberKey,allowOnlyOneDotOrNum } from '../../Configuration';\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad';\nimport AutoComplete from '../../Actions/Controls/AutoComplete/autoComplete';\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport 'sweetalert2/src/sweetalert2.scss'\n\nexport default class frmSetPortalCommission extends React.Component {\n constructor(props) {\n super(props)\n this.state = {\n modal1Visible: false,\n modal2Visible: false,\n loginId: 0,\n orgid: 0,\n RSDATA:[],\n TierID:0,\n fldProductType:'',\n fldFixedFee:0\n };\n }\n\n\n async componentDidMount() {\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\n await this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid\n });\n await this.getdata(1)\n }\n\n setModal1Visible(modal1Visible) {\n this.setState({ modal1Visible });\n }\n\n setModal2Visible(modal2Visible) {\n this.setState({ modal2Visible});\n }\n\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n this.forceUpdate();\n }\n\n\n async getdata(val=1) {\n let Que = \" SELECT Portals.PortalName, BlockMaster.BlockName,CommPercent.articletype as [PRODUCT TYPE] ,CommPercent.Comm as [COMM %],pt.TierName, \"\n Que += \" FORMAT(CommPercent.Logdate, 'dd-MMM-yyyy') AS Logdate, CommPercent.tblID as [#tblID] \"\n Que += \" FROM CommPercent INNER JOIN Portals ON CommPercent.PortalID = Portals.PID INNER JOIN \"\n Que += \" BlockMaster ON CommPercent.BlockId = BlockMaster.CategoryID \"\n Que += \" INNER JOIN PortalTierMaster pt ON pt.tierId = CommPercent.TierID \"\n let rs = await getDataTable(Que)\n if (rs.length > 0) {\n this.setState({ RSDATA: rs })\n }\n else {\n this.setState({ RSDATA: [] })\n return;\n }\n }\n\n\n\n async onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName,\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: '',\n })\n }\n this.forceUpdate();\n }\n\n\n\n async SaveTamplate() {\n let MandatoryArray = [\n { \"PORTAL\": this.state.PortalID },\n { \"BLOCK\": this.state.BlockID },\n { \"TierID\": this.state.TierID },\n { \"PRODUCT TYPE\": this.state.fldProductType },\n { \"COMMISSION %\": this.state.fldFixedFee },\n ]\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n return false;\n }\n let que = \"select * from CommPercent where portalid = \"+this.state.PortalID+\" and BlockId = \"+this.state.BlockID + \" and TierID = \"+this.state.TierID + \" and articletype = '\"+this.state.fldProductType+\"'\"\n let rs = await getDataTable(que)\n if (rs.length > 0) {\n Swal.fire({\n icon: 'error',\n title: \"ALREADY EXIST\",\n showConfirmButton: false,\n timer: 1500\n })\n\n return false;\n }\n que = \"\"\n que += \" INSERT INTO CommPercent ( portalid, BlockId, Comm, loginID,TierID,articletype ) VALUES \"\n que += \" (\"+this.state.PortalID+\",\"+this.state.BlockID+\",\"+this.state.fldFixedFee+\",\"+this.state.loginId+\",\"+this.state.TierID+\" , '\"+this.state.fldProductType+\"') \"\n let rs1 = await getDataTable(que)\n Swal.fire({\n icon: 'success',\n title: \"SUCCESSFULLY ADDED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n }\n\n async deleteRow(e) {\n let st = await Swal.fire({ title: 'ARE YOU SURE WANT TO DELETE?', showCancelButton: true, confirmButtonText: 'YES', cancelButtonText: 'NO', })\n if (!st.isConfirmed) {\n return false;\n }\n let que = \"Delete from CommPercent where tblID = \"+e['#tblID']\n let dt = await getDataTable(que)\n Swal.fire({\n icon: 'info',\n title: \"SUCCESSFULLY REMOVED\",\n showConfirmButton: false,\n timer: 1500\n })\n await this.getdata(this.state.orgid)\n }\n\n\n render() {\n\n return (\n
\n \n\n this.setModal2Visible(false)}\n onCancel={() => this.setModal2Visible(false)}\n destroyOnClose={true}\n maskClosable={false}\n footer={null}\n >\n
\n
\n *\n this.onAfterSelect(e, \"PortalID\", \"PortalName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n this.onAfterSelect(e, \"TierID\", \"TierName\")}\n isValid={this.state.isValid}\n >\n
\n
\n *\n
\n \n
\n
\n
\n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\n this.deleteRow(e)}\n height='63vh'\n id='fielddata'>\n }\n
\n
\n \n
\n )\n }\n\n}","import React, { Component } from \"react\";\nimport {\n Configuration,\n exceltodb,\n MandatoryFormFields,\n getDataTable,\n GetNewDrpSheet,\n json2xlsx,\n} from \"../Configuration\";\nimport { Modal, Spin,DatePicker,Space } from \"antd\";\nimport FRMSETFIXED from './MODEL/frmSetFixedFee'\nimport FRMTIERMASTR from './MODEL/frmTierMaster'\nimport FRMSETPAYMENTFEE from './MODEL/frmSetPaymentFee'\nimport FRMSETFREIGHTFEE from './MODEL/frmSetFreightFee'\nimport FRMSETPORTALCOMMISSION from './MODEL/frmSetPortalCommission'\nimport \"../ORDER/OrderMaster/style.css\";\nimport \"antd/dist/antd.css\";\nimport Moment from \"moment\";\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nconst dataBase = \"IMAGEDB\";\nlet files = \"\";\nconst currentDate = Moment().format(\"DD-MMM-YYYY hh:mm:ss\");\n\nexport default class frmSubmitOrderdata extends Component {\n constructor(props) {\n super(props);\n this.state = {\n loginId: 0,\n loading: false,\n orgid: 0,\n DataMonth: \"\",\n PFiles: []\n }\n }\n async componentDidMount() {\n let rs = await getDataTable(\n \"select orgid from users where userid = \" + Configuration.USER_ID\n );\n this.setState({\n loginId: Configuration.USER_ID,\n orgid: rs[0].orgid,\n });\n }\n myChangeHandler = (event) => {\n this.setState({ [event.target.name]: event.target.value });\n };\n onAfterSelect(selectedOptions, id, name) {\n if (selectedOptions.length > 0) {\n this.setState({\n [id]: selectedOptions[0].DisplayId,\n [name]: selectedOptions[0].DisplayName\n })\n }\n else {\n this.setState({\n [id]: '',\n [name]: ''\n })\n }\n }\n async onMonthChange(date, dateString) {\n this.setState({\n DataMonth: dateString\n })\n this.forceUpdate();\n }\n myFileChangeHandler = (event) => {\n files = event.target.files[0];\n this.setState({ PFiles: event.target.files })\n console.log(event.target.files)\n };\n\n help() {\n Modal.info({\n title: \"INSTRUCTION WHILE IMPORT DATA\",\n okText: \"CLOSE\",\n width: \"600px\",\n closable: true,\n footer: null,\n okButtonProps: { style: { display: 'none' } },\n bodyStyle: { maxHeight: \"500px\" },\n style: { padding: \"0px\" },\n centered: true,\n maskClosable: true,\n content: (\n
\n
    \n
  • Excel Sheet Name Must be \"Sheet1\"
  • \n
  • Headers should be in first row
  • \n
\n
\n ),\n });\n }\n\n \n\n async getMasterSheet() {\n this.setState({ loading: true });\n let que = \" EXEC frmSubmitOrderData_getMasterSheet @orgid = \" + this.state.orgid\n let rs = await getDataTable(que)\n await GetNewDrpSheet(this.state.catid1, rs, 'Master data Sheet -' + currentDate + '.xlsx')\n this.setState({ loading: false });\n }\n\n async getRTVSheet() {\n this.setState({ loading: true });\n let que = \" EXEC frmSubmitOrderData_getRTVSheet @orgid = \" + this.state.orgid\n let rs = await getDataTable(que)\n await GetNewDrpSheet(this.state.catid1, rs, 'Master RTV Sheet -' + currentDate + '.xlsx')\n this.setState({ loading: false });\n }\n\n async getInVoiceFormat(){\n let MandatoryArray = [\n { \"FILE TYPE\": this.state.filetype },\n { \"Month\": this.state.DataMonth },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n let que = \" EXEC frmSubmitOrderData @mothyr = '\"+this.state.DataMonth+\"' , @loginID = \"+this.state.loginId\n let rs = await getDataTable(que)\n await json2xlsx(rs,'INVOICEDATA_FORMAT')\n this.setState({loading:false})\n }\n\n\n async uploadInvoiceData(){\n this.setState({ loading: true });\n let MandatoryArray = [\n { \"PORTAL\": this.state.PortalID },\n { \"FILE TYPE\": this.state.filetype },\n { \"FILE\": files },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n\n for (let i = 0; i < this.state.PFiles.length; i++) {\n let element = this.state.PFiles[i];\n\n let tblName = await exceltodb(element, dataBase, this.state.loginId)\n if (tblName) {\n let Que = \"EXEC frmSubmitOrderdata_SAVEINVOICEDATA @tblName = '\" + tblName + \"' \"\n Que += \" , @PortalID = \" + this.state.PortalID\n Que += \" , @OrgID = \" + this.state.orgid + \" \"\n Que += \" , @LoginID = \" + this.state.loginId + \" \"\n\n let rs = await getDataTable(Que)\n console.log(rs)\n }\n }\n Swal.fire({\n icon: 'success',\n title: 'DATA UPDATED SUCCESSFULLY',\n showConfirmButton: false,\n timer: 2000\n })\n this.setState({ loading: false });\n\n }\n\n\n async UploadSubmitData() {\n if (this.state.filetype === \"Master\") {\n await this.uploadMasterData()\n return;\n }\n if (this.state.filetype === \"invoice\") {\n await this.uploadInvoiceData()\n return;\n }\n this.setState({ loading: true });\n let MandatoryArray = [\n { \"PORTAL\": this.state.PortalID },\n { \"FILE TYPE\": this.state.filetype },\n { \"FILE\": files },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n\n for (let i = 0; i < this.state.PFiles.length; i++) {\n let element = this.state.PFiles[i];\n\n let tblName = await exceltodb(element, dataBase, this.state.loginId)\n if (tblName) {\n let Que = \"EXEC frmSubmitOrderdata_SAVEFILEDATA @tblName = '\" + tblName + \"' \"\n Que += \" , @PortalID = \" + this.state.PortalID\n Que += \" , @FileType = '\" + this.state.filetype + \"' \"\n Que += \" , @OrgID = \" + this.state.orgid + \" \"\n Que += \" , @LoginID = \" + this.state.loginId + \" \"\n\n let rs = await getDataTable(Que)\n console.log(rs)\n }\n }\n Swal.fire({\n icon: 'success',\n title: 'DATA UPDATED SUCCESSFULLY',\n showConfirmButton: false,\n timer: 2000\n })\n this.setState({ loading: false });\n }\n\n async uploadMasterData() {\n let MandatoryArray = [\n { \"BLOCK\": this.state.BlockID },\n { \"FILE TYPE\": this.state.filetype },\n { \"FILE\": files },\n ];\n let check = MandatoryFormFields(MandatoryArray);\n if (check == false) {\n this.setState({ loading: false });\n return false;\n }\n this.setState({ loading: true });\n let element = this.state.PFiles[0];\n let tb = await exceltodb(element, dataBase, this.state.loginId)\n if (tb) {\n let queCheck = \"EXEC frmProductDetails_checkSKULimit @tblName = '\" + tb + \"' , @loginID = \" + this.state.loginId\n let rschk = await getDataTable(queCheck)\n if (rschk[0]['RES'] != 'OK') {\n Swal.fire({\n icon: 'error',\n title: rschk[0]['RES'],\n showConfirmButton: false,\n timer: 2000\n })\n this.setState({ loading: false })\n return;\n }\n\n let Que = \"EXEC SaveProductImportDetailsforTest @loginId = \" + this.state.loginId + \",@tblname = '\" + tb + \"' , @categoryid=\" + this.state.BlockID\n let rs = await getDataTable(Que)\n\n if (Array.isArray(rs)) {\n if (rs.length > 0) {\n let Que = \"EXEC SaveDataInMasterTable @loginid = \" + this.state.loginId + \",@tblname = '\" + tb + \"'\"\n let rsq = await getDataTable(Que)\n if (rsq.length > 0) {\n Swal.fire({\n icon: 'success',\n title: 'Data Saved SuccessFully',\n showConfirmButton: false,\n timer: 1500\n })\n //alert(\"Data Saved SuccessFully\")\n this.setState({ loading: false })\n return false;\n }\n else {\n Swal.fire({\n icon: 'error',\n title: 'SOME ERROR OCCURED',\n showConfirmButton: false,\n timer: 1500\n })\n //alert(\"Data Saved SuccessFully\")\n this.setState({ loading: false })\n return false;\n }\n }\n else {\n Swal.fire({\n icon: 'error',\n title: 'File not Imported Properly',\n showConfirmButton: false,\n timer: 1500\n })\n //alert(\"File not contain Proper Data\")\n this.setState({ loading: false })\n }\n }\n else {\n Swal.fire({\n icon: 'error',\n title: 'File not Imported Properly',\n showConfirmButton: false,\n timer: 1500\n })\n //alert(\"File not contain Proper Data\")\n this.setState({ loading: false })\n }\n document.getElementById('tp1').value = ''\n }\n else {\n tb = ''\n this.setState({ loading: false })\n return;\n }\n }\n\n render() {\n return (\n
\n
\n
\n \n
\n
\n
\n
\n
\n

IMPORT ORDER DATA\n \n \n

\n
\n \n Help\n \n
\n {/*
\n \n MASTER SHEET FORMAT\n \n
*/}\n
\n \n \n
    \n
  • \n
  • \n
  • \n
  • \n
  • \n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n *\n
\n \n
\n
\n {this.state.filetype === \"Master\" &&\n
\n *\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")}\n isValid={this.state.isValid}\n >\n
}\n {this.state.filetype !== \"Master\" &&
\n *\n this.onAfterSelect(e, \"PortalID\", \"PortalName\")}\n isValid={this.state.isValid}\n >\n
}\n { this.state.filetype === \"invoice\" &&\n
\n *\n
\n \n \n \n
\n
}\n\n
\n \n *\n
\n \n
\n
\n
\n \n *\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n
\n
\n )\n }\n\n \n\n}"," \nimport React from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport { getToken } from './Configuration';\n \n// handle the public routes\nfunction PublicRoute({ component: Component, ...rest }) {\n return (\n !getToken() ? : }\n />\n )\n}\n \nexport default PublicRoute;"," \nimport React, { useState } from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport { getToken } from './Configuration';\n \nimport SideMenu from \"./SideMenu\";\nimport Header from \"./Header\";\nimport Menu from \"./Menu\";\n// handle the private routes\nfunction PrivateRoute({ component: Component, ...rest }) {\n\n const [activeNotification, setActiveNotification] = useState(false);\n\n return (\n getToken() ?
: }\n />\n )\n}\n \nexport default PrivateRoute;","import React, { Component } from 'react';\r\nimport axios from \"axios\";\r\nimport { Boolean } from 'core-js';\r\nimport { Spin } from 'antd';\r\nimport {\r\n Configuration,\r\n sleep,\r\n getDataTable,\r\n MandatoryFormFields,\r\n ProductVisiblity,\r\n getNamshiJobDetails,\r\n json2xlsx,\r\n} from \"../Configuration\";\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad'\r\nconst cred = 'b4eb442e-9a18-11ec-98ed-42010a590054'\r\nconst NamshiPrdURL = \"https://marketplace.namshi.net\"\r\n\r\n\r\nclass App extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orgID: 0,\r\n portalID: 0,\r\n articleList: [],\r\n selectedCountryIDs: [],\r\n searchQuery: '',\r\n selectedCountryData: [],\r\n selectedCountries: [],\r\n markingActInct: '',\r\n loading: false\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgID: rs[0].orgid\r\n });\r\n }\r\n\r\n\r\n myChangeHandler = (event) => {\r\n\r\n let nam = event.target.name;\r\n let val = event.target.value;\r\n this.setState({ [nam]: val });\r\n\r\n this.forceUpdate();\r\n }\r\n\r\n handleRefreshSelectedCheckboxes = () => {\r\n this.setState({\r\n selectedCountries: [],\r\n searchArticle: '',\r\n });\r\n };\r\n\r\n onAfterSelect(selectedOptions, id, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName,\r\n articleList: []\r\n })\r\n }\r\n else {\r\n this.setState({\r\n [id]: '',\r\n [name]: '',\r\n articleList: []\r\n })\r\n }\r\n }\r\n\r\n async getdata() {\r\n let MandatoryArray = [\r\n { \"Portal\": this.state.portalID },\r\n { \"Mark Active Or InActive\": this.state.markingActInct }\r\n ];\r\n\r\n let check = MandatoryFormFields(MandatoryArray);\r\n\r\n if (check == false) {\r\n return false;\r\n }\r\n\r\n this.setState({ loading: true });\r\n\r\n let que = \"Exec ShowArticleForMultiCountry @loginid = \" + this.state.loginId + \", @portalid = \" + this.state.portalID;\r\n let dt = await getDataTable(que);\r\n\r\n if (dt.length > 0) {\r\n this.setState({\r\n articleList: dt,\r\n country: dt[0].Country,\r\n selectedCountries: [],\r\n loading: false\r\n }, () => {\r\n // Call the renderFileInTable function to refresh the table\r\n this.renderFileInTable();\r\n });\r\n } else {\r\n this.setState({ loading: false });\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'NO DATA FOUND',\r\n showConfirmButton: false,\r\n timer: 1500\r\n });\r\n return;\r\n }\r\n }\r\n\r\n renderFileInTable() {\r\n const { articleList, searchQuery, selectedCountries } = this.state;\r\n const countries = Object.keys(articleList[0] || {});\r\n\r\n // Filter the articleList based on the search query\r\n const filteredArticleList = articleList.filter(value =>\r\n value.Article.toLowerCase().includes(searchQuery.toLowerCase())\r\n );\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {countries.map((country, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {countries.map((country, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {filteredArticleList.map((value, rowIndex) => {\r\n const selectedArticle = selectedCountries.find(\r\n item => item.Article === value.Article\r\n );\r\n\r\n const originalRowIndex = articleList.findIndex(\r\n item => item.Article === value.Article\r\n );\r\n\r\n return (\r\n \r\n \r\n {countries.map((country, colIndex) => {\r\n const isChecked = selectedArticle && selectedArticle.countries.includes(country);\r\n\r\n return (\r\n \r\n {colIndex === 0 ? (\r\n {value.Article}\r\n ) : (\r\n this.handleCheckboxChange(originalRowIndex, country)}\r\n />\r\n )}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n
SR NO.{country}
\r\n {index === 0 && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n
{originalRowIndex + 1}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n handleSearchChange = event => {\r\n const searchQuery = event.target.value;\r\n this.setState({ searchQuery });\r\n }\r\n\r\n\r\n handleCheckboxChange = (rowIndex, country) => {\r\n this.setState(prevState => {\r\n const { articleList, selectedCountries } = prevState;\r\n const selectedArticle = articleList[rowIndex].Article;\r\n\r\n // Check if the selected article already exists in selectedCountries state\r\n const existingSelectedArticle = selectedCountries.find(item => item.Article === selectedArticle);\r\n\r\n if (existingSelectedArticle) {\r\n // If the selected article exists, update its selected countries\r\n const updatedSelectedCountries = existingSelectedArticle.countries.includes(country)\r\n ? existingSelectedArticle.countries.filter(c => c !== country)\r\n : [...existingSelectedArticle.countries, country];\r\n\r\n let updatedSelectedArticle;\r\n\r\n if (updatedSelectedCountries.length === 0) {\r\n // If all countries are unchecked, remove the article from selectedCountries\r\n updatedSelectedArticle = null;\r\n } else {\r\n updatedSelectedArticle = {\r\n Article: selectedArticle,\r\n countries: updatedSelectedCountries\r\n };\r\n }\r\n\r\n // Update the selectedCountries state with the updated selected article\r\n const updatedSelectedCountryList = selectedCountries.map(item =>\r\n item.Article === selectedArticle ? updatedSelectedArticle : item\r\n ).filter(Boolean); // Remove null entries\r\n\r\n return { selectedCountries: updatedSelectedCountryList };\r\n } else {\r\n // If the selected article doesn't exist, create a new entry in selectedCountries state\r\n const newSelectedArticle = {\r\n Article: selectedArticle,\r\n countries: [country]\r\n };\r\n\r\n const updatedSelectedCountryList = [...selectedCountries, newSelectedArticle];\r\n\r\n return { selectedCountries: updatedSelectedCountryList };\r\n }\r\n }, () => {\r\n // Callback function to handle article removal after state update\r\n this.removeEmptyArticles();\r\n });\r\n };\r\n\r\n removeEmptyArticles = () => {\r\n this.setState(prevState => {\r\n const { selectedCountries, articleList } = prevState;\r\n\r\n // Remove articles from selectedCountries that don't have any selected countries\r\n const updatedSelectedCountries = selectedCountries.filter(item => {\r\n const articleExists = articleList.some(article => article.Article === item.Article);\r\n return articleExists && item.countries.length > 0;\r\n });\r\n\r\n return { selectedCountries: updatedSelectedCountries };\r\n });\r\n };\r\n\r\n\r\n\r\n async handleSubmit() {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n let { selectedCountries, markingActInct } = this.state;\r\n\r\n // Create the data object in the desired format\r\n let dataToSend = {\r\n items: selectedCountries.map((selectedCountry) => ({\r\n product_id: selectedCountry.Article,\r\n country: selectedCountry.countries,\r\n is_active: markingActInct ? 1 : 0,\r\n })),\r\n };\r\n\r\n // Do something with the dataToSend\r\n console.log(\"Data to send:\", dataToSend);\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://api.blumangoes.ai:6143/ProductVisiblity\",\r\n dataToSend,\r\n {\r\n headers: {\r\n cred: cred,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n }\r\n );\r\n\r\n const finalRes = response.data;\r\n\r\n if (finalRes.status === \"success\") {\r\n await sleep(2000);\r\n this.setState({ loading: false });\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"DATA POST SUCCESSFULLY PLEASE CHECK JOB EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n this.setState({ loading: true });\r\n let jobdt = await getNamshiJobDetails(finalRes.job_id, cred, NamshiPrdURL);\r\n\r\n for (let k = 0; k < jobdt[\"details\"][\"items\"].length; k++) {\r\n jobdt[\"details\"][\"items\"][k][\"job_id\"] = finalRes.job_id;\r\n const item = jobdt[\"details\"][\"items\"][k];\r\n const product_id = item.product_id;\r\n const countries = item.country;\r\n const is_active = item.is_active;\r\n item.country = countries.join(\", \");\r\n for (let i = 0; i < countries.length; i++) {\r\n const country = countries[i];\r\n console.log(country);\r\n let que = 'EXEC SaveMultiCountryData @artlive = ' + jobdt['details']['items'][k].product_id + ' , @jobid = ' + \"'\" + jobdt['details']['items'][k]['job_id'] + \"'\" + ', @bidc = ' + \"'\" + jobdt['details']['items'][k].bidc + \"'\" + ', @status = ' + jobdt['details']['items'][k].status + ', @loginid = ' + this.state.loginId + ' , @isactive = ' + this.state.markingActInct + ' , @country = ' + country + ' , @portalid = ' + this.state.portalID\r\n await getDataTable(que)\r\n }\r\n }\r\n debugger;\r\n await json2xlsx(jobdt[\"details\"][\"items\"], \"JOB STATUS\");\r\n this.setState({ selectedCountries: [], searchQuery: \"\", showSearchBox: false, loading: false }, () => {\r\n // Call the getdata function to fetch the updated data and render the table\r\n this.getdata();\r\n });\r\n } else {\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n await json2xlsx(finalRes[\"details\"], \"JOB STATUS\");\r\n } this.setState({ loading: false });\r\n } catch (error) {\r\n console.error(\"Error occurred while making the API request.\", error);\r\n }\r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Multi Country Article Pushing\r\n \r\n \r\n

\r\n
\r\n
\r\n {/* {this.state.aData.length > 0 &&} */}\r\n
\r\n {this.state.articleList.length > 0 && \r\n Refresh Data\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n *\r\n this.onAfterSelect(e, \"portalID\", \"Pname\")}\r\n >\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {this.state.articleList.length > 0 && this.renderFileInTable()}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","import React, { Component } from 'react';\r\nimport AutoCompletemulti from '../../Actions/Controls/AutoComplete/autoCompleteMultiple';\r\nimport AutoCompleteCascad from '../../Actions/Controls/AutoComplete/autoComplete.cascad'\r\nimport { Configuration, getDataTable, MandatoryFormFields } from '../../Configuration';\r\nimport Table from '../../Actions/Controls/Table/AntDTable'\r\nimport '../../ORDER/OrderMaster/style.css'\r\nimport { Modal, Spin } from 'antd';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\n\r\n\r\nexport default class frmuser extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loginId: 0,\r\n ApiData: [],\r\n orgid: 0,\r\n ApiName: '',\r\n ApiURL: '',\r\n BodyType: '',\r\n Method: '',\r\n portalID: 0,\r\n Headers: '',\r\n Frequency: '',\r\n Paramerters: '',\r\n Authentication: '',\r\n token:'',\r\n Response: ''\r\n };\r\n\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgID: rs[0].orgid\r\n });\r\n }\r\n\r\n async getdata() {\r\n this.setState({ loading: true })\r\n let Que = \"EXEC ShowApi\"\r\n let rs = await getDataTable(Que)\r\n this.setState({ ApiData: rs, loading: false })\r\n }\r\n\r\n myChangeHandler = (event) => {\r\n\r\n let nam = event.target.name;\r\n let val = event.target.value;\r\n this.setState({ [nam]: val });\r\n\r\n this.forceUpdate();\r\n }\r\n\r\n\r\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [name]: selectedOptions\r\n });\r\n }\r\n else {\r\n this.setState({\r\n [name]: \"\"\r\n })\r\n }\r\n }\r\n\r\n async SaveApi() {\r\n let MandatoryArray = [\r\n { \"Api Name\": this.state.ApiName },\r\n { \"Api URL\": this.state.ApiURL },\r\n { \"Portal\": this.state.portalID },\r\n { \"BodyType\": this.state.BodyType },\r\n { \"Headers\": this.state.Headers },\r\n { \"Method\": this.state.Method },\r\n { \"Parameters\": this.state.Paramerters},\r\n { \"Authentication Type\": this.state.Authentication},\r\n { \"Respone Type\": this.state.Response}\r\n ]\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n return false;\r\n }\r\n\r\n let Que = \"Select * from ApiMaster where ApiName = '\" + this.state.ApiName + \"' and ApiUrl = '\" + this.state.ApiURL + \"'\"\r\n let rs = await getDataTable(Que)\r\n if (rs.length > 0) {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'ALREADY EXIST',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return;\r\n }\r\n let Query = \"INSERT INTO ApiMaster (ApiName, ApiURL, ApiPortalId, BodyType, Headers, Method, SchedularFrequency,Parameter,ApiDis,Token,AuthenticationType,ResponseType,loginId,logdate) output inserted.userId VALUES \"\r\n Query += \"(\" +\"'\"+ this.state.ApiName + \"'\"+\",'\" + this.state.ApiURL + \"',\" + this.state.portalID + \",'\" + this.state.BodyType +\"',\" +\"'\"+ this.state.Headers+\"',\"+\"'\"+this.state.Method+\"',\" + this.state.Frequency +\",'\"+this.state.Paramerters+\"',\"+'1'+\",'\"+this.state.token+\"',\"+\"'\"+this.state.Authentication+\"',\"+\"'\"+this.state.Response +\"',1,getdate(),'\"+ \")\"\r\n const response = await getDataTable(Query)\r\n if (response.length > 0) {\r\n Swal.fire({\r\n icon: 'success',\r\n title: 'SUCCESSFULLY SAVED',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n\r\n // var ddt = document.getElementsByTagName('input')\r\n // for (let i = 0; i < ddt.length; i++) {\r\n // if (ddt[i].className === 'form-control') {\r\n // ddt[i].value = '';\r\n // }\r\n // }\r\n this.setState({\r\n ApiName: '',\r\n ApiURL: '',\r\n portalID: '',\r\n BodyType: '',\r\n Headers: '',\r\n Method: [],\r\n Frequency: '',\r\n Paramerters: false\r\n })\r\n\r\n }\r\n else {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'warning',\r\n title: 'Not Saved',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n this.setState({ loading: false })\r\n }\r\n // console.log(OrderL = dataist);\r\n await this.getdata(this);\r\n this.forceUpdate();\r\n\r\n }\r\n\r\n myFunction(e, id) {\r\n\r\n var x = document.getElementById(e);\r\n if (x.type === \"password\") {\r\n x.type = \"text\";\r\n } else {\r\n x.type = \"password\";\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

API Master(* Fields are mandatory)\r\n \r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n this.onAfterSelect(e, \"portalID\", \"Pname\")}\r\n >\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n *\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.OrgData.length > 0 && this.state.OrgData !== undefined &&\r\n this.EditRowFn(e)}\r\n ShowRowFn={(e) => this.getRowData(e)}\r\n DeleteFn={(e) => this.deleteRow(e)}\r\n height='63vh'\r\n id='fielddata'\r\n exportXL=\"true\">\r\n \r\n }\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n\r\n\r\n async deleteRow(e) {\r\n console.log(e);\r\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"6\") {\r\n let st = window.confirm(\"Are you sure want to delete ?\")\r\n if (!st) {\r\n return false;\r\n }\r\n console.log(e);\r\n let Que = \"update Users set Active = 0 output inserted.userid where userId = \" + e[\"#userid\"]\r\n let rs = await getDataTable(Que)\r\n if (rs.length > 0) {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'Successfully Deleted',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n await this.getdata()\r\n }\r\n else {\r\n alert(\"Some Error Occurred\")\r\n }\r\n }\r\n else {\r\n alert(\"You are not allowed to delete\")\r\n return;\r\n }\r\n }\r\n\r\n}\r\n","import { Modal } from \"antd\";\r\nimport React, { Component } from \"react\";\r\nimport \"../ORDER/OrderMaster/style.css\";\r\nimport {\r\n Configuration,\r\n getDataTable,\r\n MandatoryFormFields,\r\n UpdatePriceYoox,\r\n UpdatePrice,\r\n sleep,\r\n getNamshiJobDetails,\r\n json2xlsx,\r\n PriceAndDis,\r\n exceltodb,\r\n PriceUpdateAmazon,\r\n} from \"../Configuration\";\r\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\r\nimport AutoCompletemulti from \"../Actions/Controls/AutoComplete/autoCompleteMultiple\";\r\nimport axios from \"axios\";\r\nimport Swal, { swal } from \"sweetalert2/dist/sweetalert2.js\";\r\nimport { Spin } from \"antd\";\r\nimport \"sweetalert2/src/sweetalert2.scss\";\r\nimport _, { bind } from \"lodash\";\r\nconst dataBase = \"IMAGEDB\";\r\nlet files = \"\";\r\nvar tb = \"\";\r\nconst NamshiCredStg = \"772a0098-3579-11ec-a267-42010a6a0014\";\r\nconst NamshiCredPrd = \"b4eb442e-9a18-11ec-98ed-42010a590054\";\r\nconst NamshiStgURL = \"https://marketplace.namstg.net\";\r\nconst NamshiPrdURL = \"https://marketplace.namshi.net\";\r\nconst token =\r\n \"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBUElVU0VSIiwiZXhwIjoxNzA2OTQ2MzE5LCJpYXQiOjE3MDYwODIzMTl9.1mifGZujfEMqC_yfqlPzBoVChWLP4qYsXTMebITl6PI\";\r\nconst BaseUrl = \"http://151.253.158.213:15100/ws/adidas-namshi/v1/item-price\";\r\n\r\nexport default class frmDirectUploadExcel extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n modal1Visible: false,\r\n modal2Visible: false,\r\n loading: false,\r\n BlockID: \"\",\r\n PortalID: \"\",\r\n CountryId: [],\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\r\n \"select orgid from users where userid = \" + Configuration.USER_ID\r\n );\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgid: rs[0].orgid,\r\n });\r\n }\r\n\r\n setModal1Visible(modal1Visible) {\r\n this.setState({ modal1Visible });\r\n }\r\n\r\n setModal2Visible(modal2Visible) {\r\n this.setState({ modal2Visible, adata: [] });\r\n }\r\n\r\n onAfterSelect(selectedOptions, id, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName,\r\n });\r\n } else {\r\n this.setState({\r\n [id]: \"\",\r\n [name]: \"\",\r\n });\r\n }\r\n }\r\n\r\n myFileChangeHandler = (event) => {\r\n files = event.target.files[0];\r\n };\r\n\r\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [name]: selectedOptions,\r\n });\r\n } else {\r\n this.setState({\r\n [name]: [],\r\n });\r\n }\r\n }\r\n\r\n PostToNoonSFTP = async () => {\r\n let MandatoryArray = [\r\n { Category: this.state.BlockID },\r\n { Portal: this.state.PortalID },\r\n { file: files },\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n return false;\r\n }\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n if (!files) {\r\n console.error(\"No file selected\");\r\n return;\r\n }\r\n\r\n try {\r\n const formData = new FormData();\r\n formData.append(\"file\", files);\r\n\r\n const response = await fetch(\r\n \"https://api.blumangoes.ai:6143/upload_sftp\",\r\n {\r\n method: \"POST\",\r\n body: formData,\r\n }\r\n );\r\n\r\n const result = await response.json();\r\n console.log(result);\r\n if (result.status === \"success\") {\r\n Swal.fire({\r\n position: \"top-end\",\r\n icon: \"success\",\r\n title: \"Uploaded To SFTP Successfully\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n } else {\r\n Swal.fire({\r\n position: \"top-end\",\r\n icon: \"error\",\r\n title: \"Error uploading file\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"Error uploading file:\", error);\r\n }\r\n this.setState({\r\n loading: false,\r\n });\r\n };\r\n\r\n async uploadFileYoox() {\r\n let MandatoryArray = [\r\n { Category: this.state.BlockID },\r\n { Portal: this.state.PortalID },\r\n { file: files },\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n return false;\r\n }\r\n this.setState({\r\n loading: true,\r\n });\r\n debugger;\r\n const accessToken = \"1f0179c4-6fe0-4f78-b805-184ac896abb0\";\r\n const formData = new FormData();\r\n formData.append(\"file\", files);\r\n\r\n try {\r\n const response = await UpdatePriceYoox(files, accessToken);\r\n console.log(\"Response:\", response);\r\n\r\n if (response.import_id !== undefined) {\r\n // Assuming a valid import_id indicates success\r\n await Swal.fire({\r\n icon: \"success\",\r\n title: \"File Posted Successfully.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n } else {\r\n await Swal.fire({\r\n icon: \"error\",\r\n title: \"SOME ERROR OCCURRED.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n }\r\n\r\n this.setState({\r\n loading: false,\r\n });\r\n } catch (error) {\r\n console.error(\"Error uploading file:\", error);\r\n\r\n await Swal.fire({\r\n icon: \"error\",\r\n title: \"SOME ERROR OCCURRED.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n }\r\n\r\n async UploadFileNamshi() {\r\n let countryData = this.state.CountryId.map((country) => country.DisplayId);\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n let MandatoryArray = [\r\n { portal: this.state.PortalID },\r\n { BLOCK: this.state.BlockID },\r\n { COUNTRY: this.state.CountryId },\r\n { File: files },\r\n ];\r\n\r\n let check = MandatoryFormFields(MandatoryArray);\r\n\r\n if (check == false) {\r\n this.setState({ loading: false });\r\n return false;\r\n }\r\n\r\n tb = \"\";\r\n tb = await exceltodb(files, dataBase, this.state.loginId);\r\n let res = await getDataTable(\"select * from \" + tb);\r\n debugger;\r\n\r\n for (let i = 0; i < countryData.length; i++) {\r\n const rawData = res; // Assuming res is an array of objects from the stored procedure\r\n\r\n // Transform the data to create the payload\r\n const transformedData = rawData.map((item) => ({\r\n barcode: item.Barcode,\r\n price: item.Price,\r\n special_price: item.Special_Price,\r\n }));\r\n\r\n const payload = {\r\n items: transformedData,\r\n };\r\n\r\n console.log(payload);\r\n debugger;\r\n let finalRes = await UpdatePrice(\r\n payload,\r\n NamshiCredStg,\r\n NamshiStgURL,\r\n countryData[i]\r\n );\r\n console.log(finalRes);\r\n if (finalRes.status === \"success\") {\r\n await sleep(2000);\r\n this.setState({ loading: false });\r\n await Swal.fire({\r\n icon: \"info\",\r\n title:\r\n \"DATA POST SUCCESSFULLY FOR \" +\r\n countryData[i] +\r\n \" PLEASE CHECK JOB EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n this.setState({ loading: true });\r\n let jobdt = await getNamshiJobDetails(\r\n finalRes.job_id,\r\n NamshiCredStg,\r\n NamshiStgURL\r\n );\r\n\r\n for (let k = 0; k < jobdt[\"details\"][\"items\"].length; k++) {\r\n jobdt[\"details\"][\"items\"][k][\"job_id\"] = finalRes.job_id;\r\n const item = jobdt[\"details\"][\"items\"][k];\r\n let que =\r\n \" EXEC SaveDataForPriceUpdate @sku = \" +\r\n jobdt[\"details\"][\"items\"][k].barcode +\r\n \", @mrp = \" +\r\n jobdt[\"details\"][\"items\"][k][\"price\"] +\r\n \" , @sprice = \" +\r\n jobdt[\"details\"][\"items\"][k][\"special_price\"] +\r\n \" , @status = \" +\r\n jobdt[\"details\"][\"items\"][k].status +\r\n \" , @jobid = \" +\r\n \"'\" +\r\n jobdt[\"details\"][\"items\"][k][\"job_id\"] +\r\n \"'\" +\r\n \" , @loginid = \" +\r\n this.state.loginId +\r\n \" , @country = \" +\r\n jobdt[\"details\"][\"items\"][k].country +\r\n \" , @portalid = \" +\r\n this.state.PortalID;\r\n await getDataTable(que);\r\n }\r\n\r\n debugger;\r\n await json2xlsx(jobdt[\"details\"][\"items\"], \"JOB STATUS\");\r\n this.setState({ loading: false });\r\n } else {\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n await json2xlsx(finalRes[\"details\"], \"JOB STATUS\");\r\n }\r\n this.setState({ loading: false });\r\n }\r\n const uniqueArticles = new Set();\r\n\r\n // Extract distinct articles from the Excel data\r\n const uniqueProcessedData = res.filter((item) => {\r\n const article = String(item.Article).replace(/\\\\/g, \"\");\r\n if (!uniqueArticles.has(article)) {\r\n uniqueArticles.add(article);\r\n return true;\r\n }\r\n return false;\r\n });\r\n\r\n for (let i = 0; i < uniqueProcessedData.length; i++) {\r\n const item = uniqueProcessedData[i];\r\n const article = String(item.Article).replace(/\\\\/g, \"\");\r\n for (let i = 0; i < countryData.length; i++) {\r\n const country = countryData[i];\r\n const portalName = this.state.Pname;\r\n const payload = {\r\n style: article,\r\n mrsp: Number(item.Price).toFixed(0),\r\n discount: Number(item.Discount).toFixed(0),\r\n currency: \"AED\",\r\n channel: `${portalName}-${country}`,\r\n };\r\n this.setState({ loading: true });\r\n debugger;\r\n const PriceApi2 = await PriceAndDis([payload], token, BaseUrl);\r\n\r\n if (PriceApi2.messageStatus === \"Success\") {\r\n await sleep(2000);\r\n this.setState({ loading: false });\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"UPDATE PRICE SUCCESSFUL for \" + country,\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n\r\n const payloadDetails = {\r\n Article: payload.style,\r\n mrp: payload.mrsp,\r\n discount: payload.discount,\r\n country: country,\r\n status: PriceApi2.messageStatus,\r\n date: new Date().toLocaleDateString(),\r\n };\r\n\r\n let que1 =\r\n \" EXEC SaveDataForRetailPriceAndDiscount @Article = '\" +\r\n payloadDetails.Article +\r\n \"', @PortalId = \" +\r\n this.state.PortalID +\r\n \" , @UpdatedMRP = \" +\r\n payloadDetails.mrp +\r\n \" , @Discount = \" +\r\n payloadDetails.discount +\r\n \" , @Country = \" +\r\n \"'\" +\r\n payloadDetails.country +\r\n \"'\" +\r\n \" , @Status = \" +\r\n \"'\" +\r\n payloadDetails.status +\r\n \"'\" +\r\n \" , @Loginid = \" +\r\n this.state.loginId;\r\n await getDataTable(que1);\r\n let successfulUpdates = [];\r\n successfulUpdates.push(payloadDetails);\r\n await json2xlsx(successfulUpdates, \"PRICE STATUS\");\r\n this.setState({ loading: false });\r\n console.log(PriceApi2);\r\n } else {\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n await json2xlsx(PriceApi2, \"messageStatus\");\r\n this.setState({ loading: false });\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleOAuthButtonClick() {\r\n if (this.state.PortalID === 67) {\r\n window.location.href =\r\n \"https://sellercentral.amazon.ae/apps/authorize/consent?application_id=amzn1.sp.solution.39fb100d-18e4-4915-b60c-edaab2bb6e28&state=stateexample&version=beta\";\r\n } else {\r\n window.location.href =\r\n \"https://api.flipkart.net/oauth-service/oauth/authorize?client_id=284a4602b2879b66aa287411491864214259&redirect_uri=https://app.blumangoes.ai/&response_type=code&scope=Seller_Api&state=stateexample\";\r\n }\r\n }\r\n\r\n handleGenerateTokenButtonClick = async () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n tb = await exceltodb(files, dataBase, this.state.loginId);\r\n let skuDataList = await getDataTable(\"select * from \" + tb);\r\n console.log(skuDataList);\r\n debugger;\r\n const { orgID } = this.state;\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const oauthCode = urlParams.get(\"spapi_oauth_code\");\r\n const sellerId = urlParams.get(\"selling_partner_id\");\r\n\r\n if (!oauthCode) {\r\n await Swal.fire({\r\n icon: \"warning\",\r\n title: \"Authorization code is missing\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n return;\r\n }\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://api.amazon.com/auth/o2/token\",\r\n {\r\n grant_type: \"authorization_code\",\r\n code: oauthCode,\r\n client_id:\r\n \"amzn1.application-oa2-client.83799e097f8945cdbe3f4996a29dd6d0\",\r\n client_secret:\r\n \"amzn1.oa2-cs.v1.8a5bee8d25ef736ecf4296df56bfe810cc1776926ae4cf4fb0a8bbe6d137af49\",\r\n redirect_uri: \"https://app.blumangoes.ai\",\r\n }\r\n );\r\n\r\n const accessToken = response.data.access_token;\r\n console.log(\"Access Token:\", accessToken);\r\n\r\n await Swal.fire({\r\n icon: \"success\",\r\n title: \"Access Token generated successfully!\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n\r\n const allResponses = [];\r\n\r\n for (const skuData of skuDataList) {\r\n const marketplaceId =\r\n this.state.PortalID === 20 ? \"A21TJRUUN4KGV\" : \"A2VIGQ35RCS4UG\";\r\n\r\n const apiUrl = `https://sandbox.sellingpartnerapi-eu.amazon.com/listings/2021-08-01/items/${sellerId}/${skuData.sku}`;\r\n console.log(skuData);\r\n let payload = {\r\n MarketplaceId: marketplaceId,\r\n Skus: [skuData.sku],\r\n ItemType: \"Sku\",\r\n ItemCondition: \"NEW\",\r\n Prices: [\r\n {\r\n price: {\r\n ListingPrice: {\r\n amount: skuData.price,\r\n currencyCode: \"AED\",\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n\r\n console.log(payload);\r\n try {\r\n let createListingApi = await PriceUpdateAmazon(\r\n payload,\r\n accessToken,\r\n apiUrl\r\n );\r\n allResponses.push({ skuData, response: createListingApi });\r\n } catch (error) {\r\n console.error(\"Error creating listing:\", error);\r\n allResponses.push({\r\n skuData,\r\n error: \"Failed to create listing. Please try again.\",\r\n });\r\n }\r\n }\r\n\r\n const successResponses = allResponses.filter(\r\n (entry) =>\r\n entry.response &&\r\n (entry.response.status === \"ACCEPTED\" || entry.response.code === 200)\r\n );\r\n\r\n if (successResponses.length === skuDataList.length) {\r\n await sleep(2000);\r\n await Swal.fire({\r\n icon: \"info\",\r\n title:\r\n \"ALL DATA POSTED SUCCESSFULLY. PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n } else {\r\n await Swal.fire({\r\n icon: \"error\",\r\n title:\r\n \"SOME DATA FAILED TO POST. PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n }\r\n\r\n console.log(\"All Responses:\", allResponses);\r\n await json2xlsx(allResponses, \"JOB STATUS\");\r\n this.setState({ loading: false });\r\n } catch (error) {\r\n console.error(\"Error generating access token:\", error);\r\n\r\n await Swal.fire({\r\n icon: \"error\",\r\n title: \"Failed to generate access token. Please try again.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n this.setModal2Visible(true)}\r\n className=\"btn btn-primary\"\r\n >\r\n Direct Post To API\r\n \r\n this.setModal2Visible(false)}\r\n onCancel={() => this.setModal2Visible(false)}\r\n destroyOnClose={true}\r\n maskClosable={false}\r\n footer={null}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")\r\n }\r\n >\r\n
\r\n
\r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"PortalID\", \"Pname\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
\r\n
\r\n \r\n *\r\n
\r\n \r\n
\r\n
\r\n {this.state.PortalID === 52 && (\r\n
\r\n \r\n \r\n *\r\n \r\n this.onAutoCOmpletMultiPleSelect(e, \"CountryId\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
\r\n )}\r\n {this.state.PortalID === 64 && (\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n {this.state.PortalID === 71 && (\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n {this.state.PortalID === 52 && (\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n {this.state.PortalID === 67 && (\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n {this.state.PortalID === 67 && (\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport {\r\n Configuration,\r\n getDataTable,\r\n MandatoryFormFields,\r\n UpdatePrice,\r\n sleep,\r\n getNamshiJobDetails,\r\n json2xlsx,\r\n PriceAndDis,\r\n json2portalExport,\r\n PriceUpdateAmazon,\r\n UpdatePriceYoox,\r\n} from \"../Configuration\";\r\nimport Table from \"../Actions/Controls/Table/AntDTable\";\r\nimport \"../ORDER/OrderMaster/style.css\";\r\nimport axios from \"axios\";\r\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\r\nimport \"sweetalert2/src/sweetalert2.scss\";\r\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\r\nimport AutoCompletemulti from \"../Actions/Controls/AutoComplete/autoCompleteMultiple\";\r\nimport { Spin } from \"antd\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport ReactDOMServer from \"react-dom/server\";\r\nimport schedule from \"node-schedule\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport UPLOADDIRECTEXCEL from \"./frmDirectUploadExcel\";\r\nconst NamshiCredStg = \"772a0098-3579-11ec-a267-42010a6a0014\";\r\nconst NamshiCredPrd_UAE = \"b4eb442e-9a18-11ec-98ed-42010a590054\";\r\nconst NamshiCredPrd = \"c6348e57-87c1-11ef-8822-42010a590025\";\r\nconst NamshiStgURL = \"https://marketplace.namstg.net\";\r\nconst NamshiPrdURL = \"https://marketplace.namshi.net\";\r\nconst token =\r\n \"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBUElVU0VSIiwiZXhwIjoxNzMyMDgwNDM5LCJpYXQiOjE3MzEyMTY0Mzl9.QRBD6Xms8G78Hi_4RGdwQ326t4006xkB2a0mmWGxpmM\";\r\nconst token_UAE =\r\n \"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBUElVU0VSIiwiZXhwIjoxNzMyMjQ5NTU5LCJpYXQiOjE3MzEzODU1NTl9.SggnKza4uwlA0rftQqjQ_YKARx2V0QUFRMxzWxrDwnY\";\r\nconst BaseUrl =\r\n \"https://prodelksa.emirateslogistics.com:15100/ws/adidas-namshi/v1/item-price\";\r\nconst BaseUrl_UAE =\r\n \"http://151.253.159.104:31800/ws/adidas-namshi/v1/item-price\";\r\nlet files = \"\";\r\n\r\nexport default class frmlotMasternew extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loginId: 0,\r\n loading: false,\r\n productList: [],\r\n orgid: \"\",\r\n lotID: 0,\r\n merge: \"0\",\r\n ProductName: \"\",\r\n ArticleNumber: \"\",\r\n CountryId: [],\r\n StyleCode: \"\",\r\n BlockID: \"\",\r\n files: null,\r\n AID: \"\",\r\n VName1: \"\",\r\n List: [],\r\n PortalID: [],\r\n excelData: [],\r\n tblname: \"\",\r\n upload: 0,\r\n adata: [],\r\n selectedDate: null,\r\n selectedTime: \"\",\r\n scheduledData: [],\r\n scheduledJobs: [],\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n // Fetch user data\r\n let rs = await getDataTable(\r\n \"SELECT orgid FROM users WHERE userid = \" + Configuration.USER_ID\r\n );\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgid: rs[0].orgid,\r\n });\r\n\r\n const storedFileData = localStorage.getItem(\"scheduledFiles\");\r\n if (storedFileData) {\r\n const parsedFileData = JSON.parse(storedFileData);\r\n\r\n // Convert lastModified to a Date object\r\n const lastModified = new Date(parsedFileData.lastModified);\r\n\r\n // Create a Blob object with the actual file data\r\n const blob = new Blob([parsedFileData], { type: parsedFileData.type });\r\n\r\n // Create the File object directly\r\n files = new File([blob], parsedFileData.name, {\r\n lastModified: parsedFileData.lastModified, // Convert back to timestamp\r\n lastModifiedDate: parsedFileData.lastModifiedDate,\r\n type: parsedFileData.type,\r\n size: parsedFileData.size,\r\n webkitRelativePath: parsedFileData.webkitRelativePath,\r\n });\r\n\r\n // Log the File object to verify its properties\r\n console.log(files);\r\n }\r\n\r\n const scheduledJobsQuery =\r\n \"SELECT * FROM schedulerPriceUpdate WHERE loginid = \" +\r\n this.state.loginId +\r\n \" and CONVERT(DATETIME, CONVERT(VARCHAR, logdate, 23) + ' ' + CONVERT(VARCHAR, SchTime, 8)) >= GETDATE();\";\r\n console.log(\"Scheduled Jobs Query:\", scheduledJobsQuery);\r\n const storedScheduledData = await getDataTable(scheduledJobsQuery);\r\n console.log(\"Stored Scheduled Data:\", storedScheduledData);\r\n\r\n try {\r\n if (\r\n Array.isArray(storedScheduledData) &&\r\n storedScheduledData.length > 0\r\n ) {\r\n // Map over fetched scheduled jobs and extract relevant information\r\n const updatedScheduledData = storedScheduledData.map((job) => ({\r\n ...job,\r\n }));\r\n\r\n // Extracting country IDs along with display IDs and names\r\n const countryIds = updatedScheduledData.map((job) => ({\r\n DisplayId: job.CountryId,\r\n }));\r\n\r\n // Set state with fetched scheduled data, portal ID, block ID, lot ID, country IDs\r\n this.setState({\r\n scheduledData: updatedScheduledData,\r\n PortalID: updatedScheduledData[0].PortalId, // Assuming there's only one item in the array\r\n BlockID: updatedScheduledData[0].BlockId, // Assuming there's only one item in the array\r\n lotID: updatedScheduledData[0].Lotid, // Assuming there's only one item in the array\r\n CountryId: countryIds, // Storing array of country IDs with display IDs and names\r\n });\r\n\r\n // Execute any scheduled jobs with future dates and times\r\n updatedScheduledData.forEach((job) => {\r\n const scheduledDateTime = new Date(job.SchDate);\r\n scheduledDateTime.setHours(\r\n job.SchTime.split(\":\")[0],\r\n job.SchTime.split(\":\")[1]\r\n );\r\n\r\n const currentTime = new Date();\r\n\r\n if (scheduledDateTime > currentTime) {\r\n const scheduledJob = schedule.scheduleJob(\r\n scheduledDateTime,\r\n async () => {\r\n await this.handleScheduledJob();\r\n // Handle job completion or any additional logic here\r\n }\r\n );\r\n // Store the scheduled job in the state if needed\r\n this.setState((prevState) => ({\r\n scheduledJobs: [...prevState.scheduledJobs, scheduledJob],\r\n }));\r\n console.log(`Scheduled job executed for ${scheduledDateTime}`);\r\n }\r\n });\r\n } else {\r\n console.log(\"No scheduled data found or invalid data returned.\");\r\n }\r\n } catch (error) {\r\n console.error(\"Error parsing stored scheduled data:\", error);\r\n }\r\n }\r\n\r\n myChangeHandler = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n };\r\n\r\n onAfterSelect(selectedOptions, id, name, index = 0) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName,\r\n });\r\n } else {\r\n this.setState({\r\n [id]: \"\",\r\n [name]: \"\",\r\n });\r\n }\r\n }\r\n\r\n handleDateChange = (date) => {\r\n this.setState({ selectedDate: date });\r\n };\r\n\r\n handleTimeChange = (event) => {\r\n this.setState({ selectedTime: event.target.value });\r\n };\r\n\r\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [name]: selectedOptions,\r\n });\r\n } else {\r\n this.setState({\r\n [name]: [],\r\n });\r\n }\r\n }\r\n\r\n async GetTemplates() {\r\n this.setState({\r\n adata: [],\r\n });\r\n\r\n let MandatoryArray = [\r\n { Category: this.state.BlockID },\r\n { Portal: this.state.PortalID },\r\n { Lot: this.state.lotID },\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n this.setState({ adata: [] });\r\n return false;\r\n }\r\n\r\n this.setState({ loading: true });\r\n let Spname = \"ExportdataTemplateGenPrice\";\r\n\r\n let qry =\r\n \"EXEC \" +\r\n Spname +\r\n \" @catID=\" +\r\n this.state.BlockID +\r\n \",@portalID=\" +\r\n this.state.PortalID +\r\n \",@lotID=\" +\r\n this.state.lotID +\r\n \",@orgID=\" +\r\n this.state.orgid;\r\n let rs = await getDataTable(qry);\r\n debugger;\r\n if (rs.length > 0) {\r\n this.setState({\r\n adata: rs,\r\n loading: false,\r\n });\r\n } else {\r\n Swal.fire({\r\n position: \"top-end\",\r\n icon: \"info\",\r\n title: \"NO DATA FOUND\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({\r\n adata: [],\r\n loading: false,\r\n });\r\n }\r\n }\r\n\r\n async UploadFile() {\r\n let countryData = this.state.CountryId.map((country) => country.DisplayId);\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n let MandatoryArray = [\r\n { portal: this.state.PortalID },\r\n { BLOCK: this.state.BlockID },\r\n ];\r\n\r\n let check = MandatoryFormFields(MandatoryArray);\r\n\r\n if (check == false) {\r\n this.setState({ loading: false });\r\n return false;\r\n }\r\n\r\n let que =\r\n \"EXEC frmExportData_CreateDataForNamshiPriceUpdate @lotid = \" +\r\n this.state.lotID +\r\n \", @PortalID = \" +\r\n this.state.PortalID;\r\n let res = await getDataTable(que);\r\n debugger;\r\n\r\n for (let i = 0; i < countryData.length; i++) {\r\n const rawData = res; // Assuming res is an array of objects from the stored procedure\r\n\r\n // Transform the data to create the payload\r\n const transformedData = rawData.map((item) => ({\r\n barcode: item.barcode,\r\n price: parseInt(item.price),\r\n special_price: parseInt(item.special_price),\r\n }));\r\n\r\n const payload = {\r\n items: transformedData,\r\n };\r\n\r\n console.log(payload);\r\n let cntcd = countryData[i].toLowerCase();\r\n debugger;\r\n let finalRes = await UpdatePrice(\r\n payload,\r\n cntcd == \"ae\" ? NamshiCredPrd_UAE : NamshiCredPrd,\r\n NamshiPrdURL,\r\n cntcd\r\n );\r\n console.log(finalRes);\r\n if (finalRes.status === \"success\") {\r\n await sleep(20000);\r\n this.setState({ loading: false });\r\n await Swal.fire({\r\n icon: \"info\",\r\n title:\r\n \"DATA POST SUCCESSFULLY FOR \" +\r\n countryData[i] +\r\n \" PLEASE CHECK JOB EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n this.setState({ loading: true });\r\n let jobdt = await getNamshiJobDetails(\r\n finalRes.job_id,\r\n cntcd == \"ae\" ? NamshiCredPrd_UAE : NamshiCredPrd,\r\n NamshiPrdURL\r\n );\r\n\r\n for (let k = 0; k < jobdt[\"details\"][\"items\"].length; k++) {\r\n jobdt[\"details\"][\"items\"][k][\"job_id\"] = finalRes.job_id;\r\n const item = jobdt[\"details\"][\"items\"][k];\r\n let que =\r\n \" EXEC SaveDataForPriceUpdate @sku = \" +\r\n jobdt[\"details\"][\"items\"][k].barcode +\r\n \", @mrp = \" +\r\n jobdt[\"details\"][\"items\"][k][\"price\"] +\r\n \" , @sprice = \" +\r\n jobdt[\"details\"][\"items\"][k][\"special_price\"] +\r\n \" , @status = \" +\r\n jobdt[\"details\"][\"items\"][k].status +\r\n \" , @jobid = \" +\r\n \"'\" +\r\n jobdt[\"details\"][\"items\"][k][\"job_id\"] +\r\n \"'\" +\r\n \" , @loginid = \" +\r\n this.state.loginId +\r\n \" , @country = \" +\r\n jobdt[\"details\"][\"items\"][k].country +\r\n \" , @portalid = \" +\r\n this.state.PortalID;\r\n await getDataTable(que);\r\n }\r\n\r\n debugger;\r\n await json2xlsx(jobdt[\"details\"][\"items\"], \"JOB STATUS\");\r\n this.setState({ loading: false });\r\n } else {\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n await json2xlsx(finalRes[\"details\"], \"JOB STATUS\");\r\n }\r\n this.setState({ loading: false });\r\n }\r\n const uniqueArticles = new Set();\r\n\r\n // Extract distinct articles from the Excel data\r\n const uniqueProcessedData = res.filter((item) => {\r\n const article = String(item.Article).replace(/\\\\/g, \"\");\r\n if (!uniqueArticles.has(article)) {\r\n uniqueArticles.add(article);\r\n return true;\r\n }\r\n return false;\r\n });\r\n\r\n let successfulUpdates = [];\r\n let failureUpdates = [];\r\n for (let i = 0; i < uniqueProcessedData.length; i++) {\r\n const item = uniqueProcessedData[i];\r\n const article = String(item.Article).replace(/\\\\/g, \"\");\r\n for (let i = 0; i < countryData.length; i++) {\r\n const country = countryData[i];\r\n let cntcd = countryData[i].toLowerCase();\r\n const portalName = this.state.Pname;\r\n const payload = {\r\n style: article,\r\n mrsp: Number(item.price).toFixed(0),\r\n discountedPrice: Number(item.Discount).toFixed(0),\r\n currency: cntcd == \"ae\" ? \"AED\" : \"SAR\",\r\n channel: `${portalName}-${country}`,\r\n countryCode: country,\r\n };\r\n this.setState({ loading: true });\r\n debugger;\r\n const PriceApi2 = await PriceAndDis(\r\n [payload],\r\n cntcd == \"ae\" ? token_UAE : token,\r\n cntcd == \"ae\" ? BaseUrl_UAE : BaseUrl\r\n );\r\n\r\n if (PriceApi2.messageStatus === \"Success\") {\r\n await sleep(2000);\r\n this.setState({ loading: false });\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"UPDATE PRICE SUCCESSFUL for \" + country,\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n\r\n const payloadDetails = {\r\n Article: payload.style,\r\n mrp: payload.mrsp,\r\n discount: payload.discount,\r\n country: country,\r\n status: PriceApi2.messageStatus,\r\n date: new Date().toLocaleDateString(),\r\n };\r\n\r\n let que1 =\r\n \" EXEC SaveDataForRetailPriceAndDiscount @Article = '\" +\r\n payloadDetails.Article +\r\n \"', @PortalId = \" +\r\n this.state.PortalID +\r\n \" , @UpdatedMRP = \" +\r\n payloadDetails.mrp +\r\n \" , @Discount = \" +\r\n payloadDetails.discount +\r\n \" , @Country = \" +\r\n \"'\" +\r\n payloadDetails.country +\r\n \"'\" +\r\n \" , @Status = \" +\r\n \"'\" +\r\n payloadDetails.status +\r\n \"'\" +\r\n \" , @Loginid = \" +\r\n this.state.loginId;\r\n await getDataTable(que1);\r\n\r\n successfulUpdates.push(payloadDetails);\r\n // await json2xlsx(successfulUpdates, \"PRICE STATUS\");\r\n this.setState({ loading: false });\r\n console.log(PriceApi2);\r\n } else {\r\n await Swal.fire({\r\n icon: \"info\",\r\n title: \"DATA INVALID PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n failureUpdates.push(PriceApi2);\r\n // await json2xlsx(PriceApi2, \"messageStatus\");\r\n this.setState({ loading: false });\r\n }\r\n }\r\n }\r\n await json2xlsx(successfulUpdates, \"PRICE STATUS\");\r\n await json2xlsx(failureUpdates, \"messageStatus\");\r\n }\r\n\r\n async GetData(e) {\r\n console.log(e);\r\n debugger;\r\n let prdct = e[\"#PList\"];\r\n let list = \"\";\r\n let sheet = 1;\r\n let r = 1;\r\n let MandatoryArray = [{ Product: this.state.adata.length }];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n return false;\r\n }\r\n\r\n this.setState({ loading: true });\r\n\r\n if (sheet == 10) {\r\n this.setState({ loading: false });\r\n return;\r\n }\r\n\r\n if (sheet == 1) {\r\n let Que =\r\n \"EXEC ExportTamplateTest @loginid=\" +\r\n this.state.loginId +\r\n \", @alist='\" +\r\n list +\r\n \"',@filter='\" +\r\n prdct +\r\n \"', @tempID=\" +\r\n e[\"#tid\"] +\r\n \" ,@catID=\" +\r\n this.state.BlockID;\r\n let rs = await getDataTable(Que);\r\n debugger;\r\n if (Array.isArray(rs)) {\r\n let que1 =\r\n \"Select SheetName,CellAddress from TemplateMaster where TemplateID = \" +\r\n e[\"#tid\"];\r\n let rs0 = await getDataTable(que1);\r\n await json2portalExport(\r\n rs,\r\n rs0[0].SheetName,\r\n rs0[0].CellAddress,\r\n this.state.Pname,\r\n e[\"#tid\"],\r\n this.state.orgid\r\n );\r\n let que2 =\r\n \"EXEC FrmExportData_ExportLotCreation @loginID = \" +\r\n this.state.loginId +\r\n \", @tid = \" +\r\n e[\"#tid\"] +\r\n \", @plist = '\" +\r\n prdct.slice(1, -1) +\r\n \"' , @importLot = '\" +\r\n this.state.LotName +\r\n \"'\";\r\n await getDataTable(que2);\r\n Swal.fire({\r\n icon: \"info\",\r\n title: \"DATA EXPORTED SUCCESSFULLY\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n } else {\r\n Swal.fire({\r\n icon: \"info\",\r\n title: \"NO DATA FOUND\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n }\r\n this.setState({ loading: false });\r\n }\r\n }\r\n\r\n PostToNoonSFTP = async () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n\r\n let MandatoryArray = [{ Files: this.state.files }];\r\n\r\n if (this.state.PortalID == 0) {\r\n MandatoryArray = [\r\n { Files: this.state.files },\r\n { BLOCK: this.state.BlockID },\r\n ];\r\n }\r\n\r\n let check = MandatoryFormFields(MandatoryArray);\r\n\r\n if (check == false) {\r\n this.setState({ loading: false });\r\n return false;\r\n }\r\n\r\n const { files } = this.state;\r\n\r\n if (!files) {\r\n console.error(\"No file selected\");\r\n return;\r\n }\r\n\r\n try {\r\n const formData = new FormData();\r\n formData.append(\"file\", files);\r\n\r\n const response = await fetch(\r\n \"https://api.blumangoes.ai:6143/upload_sftp\",\r\n {\r\n method: \"POST\",\r\n body: formData,\r\n }\r\n );\r\n\r\n const result = await response.json();\r\n console.log(result);\r\n if (result.status === \"success\") {\r\n Swal.fire({\r\n position: \"top-end\",\r\n icon: \"success\",\r\n title: \"Uploaded To SFTP Successfully\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n } else {\r\n Swal.fire({\r\n position: \"top-end\",\r\n icon: \"error\",\r\n title: \"Error uploading file\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"Error uploading file:\", error);\r\n }\r\n this.setState({\r\n loading: false,\r\n });\r\n };\r\n\r\n myFileChangeHandler = (event) => {\r\n files = event.target.files[0];\r\n };\r\n\r\n handleOAuthButtonClick() {\r\n if (this.state.PortalID === 67) {\r\n window.location.href =\r\n \"https://sellercentral.amazon.ae/apps/authorize/consent?application_id=amzn1.sp.solution.39fb100d-18e4-4915-b60c-edaab2bb6e28&state=stateexample&version=beta\";\r\n } else {\r\n window.location.href =\r\n \"https://api.flipkart.net/oauth-service/oauth/authorize?client_id=284a4602b2879b66aa287411491864214259&redirect_uri=https://app.blumangoes.ai/&response_type=code&scope=Seller_Api&state=stateexample\";\r\n }\r\n }\r\n\r\n handleGenerateTokenButtonClick = async () => {\r\n this.setState({\r\n loading: true,\r\n });\r\n let que =\r\n \" EXEC frmExportData_CreateDataForAmazonPriceUpdate @lotid = \" +\r\n this.state.lotID +\r\n \" , @PortalID = \" +\r\n this.state.PortalID;\r\n let skuDataList = await getDataTable(que);\r\n console.log(skuDataList);\r\n debugger;\r\n const { orgID } = this.state;\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const oauthCode = urlParams.get(\"spapi_oauth_code\");\r\n const sellerId = urlParams.get(\"selling_partner_id\");\r\n\r\n if (!oauthCode) {\r\n await Swal.fire({\r\n icon: \"warning\",\r\n title: \"Authorization code is missing\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n return;\r\n }\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://api.amazon.com/auth/o2/token\",\r\n {\r\n grant_type: \"authorization_code\",\r\n code: oauthCode,\r\n client_id:\r\n \"amzn1.application-oa2-client.83799e097f8945cdbe3f4996a29dd6d0\",\r\n client_secret:\r\n \"amzn1.oa2-cs.v1.8a5bee8d25ef736ecf4296df56bfe810cc1776926ae4cf4fb0a8bbe6d137af49\",\r\n redirect_uri: \"https://app.blumangoes.ai\",\r\n }\r\n );\r\n\r\n const accessToken = response.data.access_token;\r\n console.log(\"Access Token:\", accessToken);\r\n\r\n await Swal.fire({\r\n icon: \"success\",\r\n title: \"Access Token generated successfully!\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n\r\n const allResponses = [];\r\n\r\n for (const skuData of skuDataList) {\r\n const marketplaceId =\r\n this.state.PortalID === 20 ? \"A21TJRUUN4KGV\" : \"A2VIGQ35RCS4UG\";\r\n\r\n const apiUrl = `https://sandbox.sellingpartnerapi-eu.amazon.com/listings/2021-08-01/items/${sellerId}/${skuData.sku}`;\r\n console.log(skuData);\r\n let payload = {\r\n MarketplaceId: marketplaceId,\r\n Skus: [skuData.sku],\r\n ItemType: \"Sku\",\r\n ItemCondition: \"NEW\",\r\n Prices: [\r\n {\r\n price: {\r\n ListingPrice: {\r\n amount: skuData.price,\r\n currencyCode: \"AED\",\r\n },\r\n },\r\n },\r\n ],\r\n };\r\n\r\n console.log(payload);\r\n try {\r\n let createListingApi = await PriceUpdateAmazon(\r\n payload,\r\n accessToken,\r\n apiUrl\r\n );\r\n allResponses.push({ skuData, response: createListingApi });\r\n } catch (error) {\r\n console.error(\"Error creating listing:\", error);\r\n allResponses.push({\r\n skuData,\r\n error: \"Failed to create listing. Please try again.\",\r\n });\r\n }\r\n }\r\n\r\n const successResponses = allResponses.filter(\r\n (entry) =>\r\n entry.response &&\r\n (entry.response.status === \"ACCEPTED\" || entry.response.code === 200)\r\n );\r\n\r\n if (successResponses.length === skuDataList.length) {\r\n await sleep(2000);\r\n await Swal.fire({\r\n icon: \"info\",\r\n title:\r\n \"ALL DATA POSTED SUCCESSFULLY. PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n } else {\r\n await Swal.fire({\r\n icon: \"error\",\r\n title:\r\n \"SOME DATA FAILED TO POST. PLEASE CHECK EXCEL FOR MORE DETAILS\",\r\n showConfirmButton: false,\r\n timer: 3500,\r\n });\r\n }\r\n\r\n console.log(\"All Responses:\", allResponses);\r\n await json2xlsx(allResponses, \"JOB STATUS\");\r\n this.setState({ loading: false });\r\n } catch (error) {\r\n console.error(\"Error generating access token:\", error);\r\n\r\n await Swal.fire({\r\n icon: \"error\",\r\n title: \"Failed to generate access token. Please try again.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n };\r\n\r\n async uploadFileYoox() {\r\n let MandatoryArray = [\r\n { Category: this.state.BlockID },\r\n { Portal: this.state.PortalID },\r\n { Lot: this.state.lotID },\r\n { file: files },\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n return false;\r\n }\r\n this.setState({\r\n loading: true,\r\n });\r\n debugger;\r\n const accessToken = \"1f0179c4-6fe0-4f78-b805-184ac896abb0\";\r\n const formData = new FormData();\r\n formData.append(\"file\", files);\r\n\r\n try {\r\n const response = await UpdatePriceYoox(files, accessToken);\r\n console.log(\"Response:\", response);\r\n\r\n if (response.import_id !== undefined) {\r\n // Assuming a valid import_id indicates success\r\n await Swal.fire({\r\n icon: \"success\",\r\n title: \"File Posted Successfully.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n } else {\r\n await Swal.fire({\r\n icon: \"error\",\r\n title: \"SOME ERROR OCCURRED.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n }\r\n\r\n this.setState({\r\n loading: false,\r\n });\r\n } catch (error) {\r\n console.error(\"Error uploading file:\", error);\r\n\r\n await Swal.fire({\r\n icon: \"error\",\r\n title: \"SOME ERROR OCCURRED.\",\r\n showConfirmButton: false,\r\n timer: 2500,\r\n });\r\n\r\n this.setState({\r\n loading: false,\r\n });\r\n }\r\n }\r\n\r\n scheduleAPICall = () => {\r\n const { selectedDate, selectedTime, scheduledData } = this.state;\r\n const mandatoryArray = [\r\n { name: \"Portal\", value: this.state.PortalID },\r\n { name: \"Block\", value: this.state.BlockID },\r\n { name: \"Time\", value: selectedTime },\r\n { name: \"Date\", value: selectedDate },\r\n ];\r\n\r\n let errorMessage = \"\";\r\n let hasError = false;\r\n\r\n mandatoryArray.forEach((field) => {\r\n if (!field.value) {\r\n errorMessage = `Please enter ${field.name}`;\r\n hasError = true;\r\n return;\r\n }\r\n });\r\n\r\n if (hasError) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: errorMessage,\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return;\r\n }\r\n\r\n if (selectedDate) {\r\n const scheduledDateTime = new Date(selectedDate);\r\n scheduledDateTime.setHours(\r\n selectedTime.split(\":\")[0],\r\n selectedTime.split(\":\")[1]\r\n );\r\n\r\n const currentTime = new Date();\r\n\r\n if (scheduledDateTime > currentTime) {\r\n const job = schedule.scheduleJob(scheduledDateTime, () => {\r\n this.handleScheduledJob(); // Call a new function to handle scheduled jobs\r\n });\r\n console.log(`Scheduled API call for ${scheduledDateTime}`);\r\n } else {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Selected date and time should be in the future\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n }\r\n } else {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Please select a date and time\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n }\r\n console.log(files);\r\n debugger;\r\n const fileData = {\r\n name: files.name,\r\n lastModified: files.lastModified,\r\n lastModifiedDate: files.lastModifiedDate,\r\n size: files.size,\r\n type: files.type,\r\n webkitRelativePath: files.webkitRelativePath,\r\n };\r\n\r\n // Save the file data to localStorage\r\n localStorage.setItem(\"scheduledFiles\", JSON.stringify(fileData));\r\n\r\n const newScheduledJob = {\r\n date: selectedDate,\r\n time: selectedTime,\r\n files: files,\r\n portalID: this.state.PortalID,\r\n blockID: this.state.BlockID,\r\n countryID: this.state.CountryId,\r\n lotID: this.state.lotID,\r\n // Add more properties if needed\r\n };\r\n\r\n // Update the state with newScheduledJob\r\n const updatedScheduledData = [...scheduledData, newScheduledJob];\r\n\r\n // Convert the file data to a data URL before storing\r\n const updatedScheduledDataWithURL = updatedScheduledData.map((job) => ({\r\n ...job,\r\n }));\r\n\r\n let query =\r\n \"INSERT INTO schedulerPriceUpdate (SchDate, SchTime, logdate, loginid, BlockId, PortalId, Lotid, CountryId) output inserted.SchDate VALUES ('\" +\r\n selectedDate +\r\n \"','\" +\r\n selectedTime +\r\n \"',\" +\r\n \"cast(getdate() as date) ,\" +\r\n this.state.loginId +\r\n \",\" +\r\n this.state.BlockID +\r\n \",\" +\r\n this.state.PortalID +\r\n \",\" +\r\n this.state.lotID +\r\n \",'\" +\r\n this.state.CountryId[0].DisplayId +\r\n \"')\";\r\n let query1 = getDataTable(query);\r\n this.setState({\r\n scheduledData: updatedScheduledData,\r\n });\r\n\r\n // Show success message\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Scheduled successfully\",\r\n text: `The job has been scheduled for ${selectedDate} at ${selectedTime}.`,\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n };\r\n\r\n handleScheduledJob = () => {\r\n switch (this.state.PortalID) {\r\n case 52:\r\n this.UploadFile();\r\n break;\r\n case 64:\r\n this.PostToNoonSFTP();\r\n break;\r\n case 67:\r\n this.handleGenerateTokenButtonClick();\r\n break;\r\n case 71:\r\n this.uploadFileYoox();\r\n break;\r\n default:\r\n // Handle default case if necessary\r\n break;\r\n }\r\n\r\n // You can also delete the executed job from the database if needed\r\n };\r\n\r\n showScheduledJobs = async () => {\r\n const query =\r\n \"SELECT * FROM schedulerPriceUpdate WHERE loginid = \" +\r\n this.state.loginId +\r\n \" and CONVERT(DATETIME, CONVERT(VARCHAR, logdate, 23) + ' ' + CONVERT(VARCHAR, SchTime, 8)) >= GETDATE();\";\r\n const tableData = await getDataTable(query);\r\n\r\n let jobList = \"\";\r\n\r\n if (tableData.length > 0) {\r\n jobList = tableData.map((job, index) => (\r\n
  • \r\n {`Job ${index + 1}: ${job.SchDate.toString()} ${job.SchTime}`}\r\n
  • \r\n ));\r\n } else {\r\n jobList =
  • No jobs scheduled
  • ;\r\n }\r\n\r\n const jobListElement =
      {jobList}
    ;\r\n\r\n Swal.fire({\r\n title: \"Scheduled Jobs\",\r\n html: ReactDOMServer.renderToString(jobListElement),\r\n showConfirmButton: false,\r\n });\r\n };\r\n\r\n render() {\r\n const { selectedTime } = this.state;\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n EXPORT PRICING MASTER\r\n \r\n

    \r\n {/*
    \r\n \r\n View Scheduled Jobs\r\n \r\n
    */}\r\n {1 == 0 && (\r\n
    \r\n \r\n
    \r\n )}\r\n {(this.state.PortalID === 52 || this.state.PortalID === 77) &&\r\n this.state.adata.length > 0 && (\r\n
    \r\n \r\n \r\n POST API\r\n \r\n
    \r\n )}\r\n {this.state.PortalID === 64 && this.state.adata.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {this.state.PortalID === 64 && this.state.adata.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {this.state.PortalID === 67 && this.state.adata.length > 0 && (\r\n
    \r\n \r\n Authorize with Amazon\r\n \r\n
    \r\n )}\r\n {this.state.PortalID === 67 && this.state.adata.length > 0 && (\r\n
    \r\n \r\n Post API\r\n \r\n
    \r\n )}\r\n {this.state.PortalID === 71 && this.state.adata.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {this.state.PortalID === 71 && this.state.adata.length > 0 && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")\r\n }\r\n >\r\n
    \r\n
    \r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"PortalID\", \"Pname\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"lotID\", \"LotName\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n \r\n \r\n *\r\n \r\n this.onAutoCOmpletMultiPleSelect(e, \"CountryId\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n Get Templates\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n

    Selected Time: {selectedTime}

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n SCHEDULE POSTING\r\n \r\n
    \r\n
    \r\n {this.state.adata.length > 0 &&\r\n this.state.adata != undefined && (\r\n this.GetData(e)}\r\n downloadRow=\"true\"\r\n height=\"63vh\"\r\n id=\"fielddata\"\r\n >\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import { Modal } from 'antd';\r\nimport React, { Component } from 'react';\r\nimport '../ORDER/OrderMaster/style.css'\r\nimport Table from '../Actions/Controls/Table/AntDTable'\r\nimport { Configuration, MandatoryFormFields, getDataTable, arrUnique, GetNewDrpSheet, exceltodb, GetDropdownDynamicNew } from '../Configuration';\r\nimport AutoCompleteInput from '../Actions/Controls/AutoComplete/autoComplete';\r\nimport AutoCompleteCascad from '../Actions/Controls/AutoComplete/autoComplete.cascad';\r\nimport AutoCompletemulti from '../Actions/Controls/AutoComplete/autoCompleteMultiple';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js'\r\nimport 'sweetalert2/src/sweetalert2.scss'\r\nimport { Spin } from 'antd';\r\nconst dataBase = \"IMAGEDB\";\r\n\r\nexport default class frmVCR extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n orgid: [],\r\n loading: false,\r\n loginId: 0,\r\n RSDATA: [],\r\n ResData: [],\r\n ResAID: 0,\r\n ResAVID: 0,\r\n AID: 0,\r\n Catid: 0,\r\n files: null,\r\n upload: 0,\r\n RelationShipName: '',\r\n showRelationshipData: false,\r\n RelData: [],\r\n selectedRowKeys: [],\r\n excelData: null,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n });\r\n await this.showRelationshipDataHandler();\r\n }\r\n\r\n async fetchRelationshipData() {\r\n try {\r\n const relationshipData = await getDataTable(\"EXEC ShowRelationshipData\");\r\n\r\n if (relationshipData) {\r\n this.setState({\r\n RelData: relationshipData,\r\n });\r\n } else {\r\n\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n showRelationshipDataHandler = () => {\r\n this.fetchRelationshipData();\r\n\r\n this.setState({\r\n showRelationshipData: true,\r\n });\r\n };\r\n\r\n hideRelationshipDataHandler = () => {\r\n this.setState({\r\n showRelationshipData: false,\r\n });\r\n };\r\n\r\n async generateExcel() {\r\n if (this.state.RSDATA.length === 0 || this.state.ResData.length === 0) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"PLEASE ADD INPUT AND OUTPUT ATTRIBUTE FIRST THEN GENERATE EXCEL\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return false;\r\n }\r\n\r\n this.setState({ loading: true });\r\n\r\n // Get the selected input and output attribute IDs\r\n const inputAttributeIds = this.getSelectedInputAttributeIds();\r\n const outputAttributeIds = this.getSelectedOutputAttributeIds();\r\n\r\n let que2 = \"EXEC SaveValueIdForTextVcr @aid ='\" + inputAttributeIds.join(\",\") + \"', @BlockId =\" + this.state.Catid + \",@loginId =\" + this.state.loginId\r\n let saveValueIdForText = await getDataTable(que2)\r\n\r\n // Call the stored procedure with the input and output attribute IDs\r\n let que = \"EXEC ExportDataVcr @aid = '\" + inputAttributeIds.join(\",\") + \"', @aid2 = '\" + outputAttributeIds.join(\",\") + \"', @BlockID = \" + this.state.Catid + \", @loginID = \" + this.state.loginId;\r\n let rs = await getDataTable(que);\r\n\r\n debugger;\r\n await GetDropdownDynamicNew(this.state.Catid, rs, 'Master Data.xlsx');\r\n this.setState({ loading: false });\r\n }\r\n\r\n getSelectedInputAttributeIds() {\r\n return this.state.RSDATA.map((row) => row[\"#AID\"]);\r\n }\r\n\r\n getSelectedOutputAttributeIds() {\r\n return this.state.ResData.map((row) => row[\"#ResAID\"]);\r\n }\r\n\r\n async onAfterSelect(selectedOptions, id, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName,\r\n })\r\n }\r\n else {\r\n this.setState({\r\n [id]: '',\r\n [name]: '',\r\n })\r\n }\r\n }\r\n\r\n myFileChangeHandler = (event) => {\r\n const file = event.target.files[0];\r\n this.setState({ files: file, upload: 1 });\r\n };\r\n\r\n\r\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [name]: selectedOptions\r\n });\r\n }\r\n else {\r\n this.setState({\r\n [name]: \"\"\r\n })\r\n }\r\n }\r\n\r\n async addData() {\r\n let MandatoryArray = [\r\n { \"Block Name\": this.state.Catid },\r\n { \"Attribute\": this.state.AID },\r\n { \"RelationShip Name\": this.state.RelationShipName },\r\n\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n\r\n let existingData = this.state.RSDATA.find(\r\n (ele) =>\r\n ele[\"#BlockId\"] === this.state.Catid &&\r\n ele[\"#OrgId\"] === this.state.orgid[0].DisplayId &&\r\n ele[\"#AID\"] === this.state.AID\r\n );\r\n\r\n if (existingData) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Input attribute already exists\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return false;\r\n }\r\n\r\n let dt = this.state.RSDATA;\r\n\r\n for (let k = 0; k < this.state.orgid.length; k++) {\r\n let org = this.state.orgid[k];\r\n let st = {\r\n \"#AID\": this.state.AID,\r\n \"#BlockId\": this.state.Catid,\r\n \"#OrgId\": org.DisplayId,\r\n \"AttributeName\": this.state.ANAME,\r\n \"RelationShipName\": this.state.RelationShipName,\r\n \"Orgnization\": org.DisplayName,\r\n \"BlockName\": this.state.catname,\r\n };\r\n\r\n dt.push(st);\r\n let tempData = await arrUnique(dt);\r\n this.setState({\r\n RSDATA: tempData,\r\n });\r\n }\r\n }\r\n\r\n\r\n async addResultantData() {\r\n if (this.state.RSDATA.length === 0) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"PLEASE ADD RELATIONSHIP FIRST THEN ADD RESULTANT DATA\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return false;\r\n }\r\n\r\n let MandatoryArray = [\r\n { \"Block Name\": this.state.Catid },\r\n { \"Attribute\": this.state.AID },\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n\r\n let existingData = this.state.ResData.find(\r\n (ele) =>\r\n ele[\"#BlockId\"] === this.state.Catid &&\r\n ele[\"#OrgId\"] === this.state.orgid[0].DisplayId &&\r\n ele[\"#ResAID\"] === this.state.ResAID\r\n );\r\n\r\n if (existingData) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Output Attribute already exist\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return false;\r\n }\r\n\r\n if (\r\n this.state.RSDATA.some((res) => res[\"#AID\"] === this.state.ResAID)\r\n ) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Output attribute must be different from input attributes\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return false;\r\n }\r\n\r\n let dt = this.state.ResData;\r\n let cnt = 0;\r\n dt.forEach((ele) => {\r\n if (\r\n this.state.ResAID === ele[\"#ResAID\"] &&\r\n this.state.Catid === ele[\"#BlockId\"] &&\r\n this.state.orgid.some((org) => org.DisplayId === ele[\"#OrgId\"])\r\n ) {\r\n cnt = cnt + 1;\r\n }\r\n });\r\n if (cnt > 0) {\r\n return false;\r\n }\r\n\r\n for (let k = 0; k < this.state.orgid.length; k++) {\r\n let org = this.state.orgid[k];\r\n\r\n let st = {\r\n \"#ResAID\": this.state.ResAID,\r\n \"#BlockId\": this.state.Catid,\r\n \"#OrgId\": org.DisplayId,\r\n \"AttributeName\": this.state.ResANAME,\r\n \"RelationShipName\": this.state.RelationShipName,\r\n \"Orgnization\": org.DisplayName,\r\n \"BlockName\": this.state.catname,\r\n };\r\n\r\n dt.push(st);\r\n let tempData = await arrUnique(dt);\r\n this.setState({\r\n ResData: tempData,\r\n });\r\n }\r\n }\r\n\r\n async uploadFile() {\r\n let MandatoryArray = [{ \"File\": this.state.files }];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n return false;\r\n }\r\n this.setState({loading: true})\r\n\r\n let rs = await exceltodb(this.state.files, dataBase, this.state.loginId);\r\n debugger\r\n if (rs) {\r\n let queCheck = \"EXEC ExportDataVcrOutput @tblName = '\" + rs + \"'\"\r\n let rschk = await getDataTable(queCheck)\r\n if (rschk.length > 0) {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Uploaded Successfully\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({\r\n excelData: rschk,\r\n loading: false\r\n });\r\n }\r\n this.setState({loading: false})\r\n }\r\n }\r\n\r\n\r\n async saveData() {\r\n let MandatoryArray = [{ \"DATA\": this.state.excelData }];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check === false) {\r\n return false;\r\n }\r\n this.setState({ loading: true });\r\n\r\n // Extract productId, outputConcatId, and loginId from state\r\n const productId = this.state.excelData.map(item => item.productid);\r\n const outputConcatId = this.state.excelData.map(item => item.Conoutvalue);\r\n const loginId = this.state.loginId;\r\n\r\n let que = \"SaveDataProductDetailsVcr @pid = '\" + productId.join(\",\") + \"', @Outid = '\" + outputConcatId.join(\",\") + \"', @loginid = '\" + loginId + \"'\";\r\n let saveData = await getDataTable(que);\r\n debugger\r\n if (saveData.length > 0) {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Saved Successfully\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({ loading: false });\r\n } else {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Not Saved\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({ loading: false });\r\n }\r\n }\r\n\r\n\r\n async saveRelationship() {\r\n if (\r\n this.state.RSDATA.length === 0 ||\r\n this.state.ResData.length === 0 ||\r\n this.state.orgid.length === 0 ||\r\n this.state.AID === 0 ||\r\n this.state.ResAID === 0\r\n ) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Please add input and output data first then click on save\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return;\r\n }\r\n\r\n this.setState({ loading: true });\r\n\r\n try {\r\n let insertedRows = [];\r\n let combinationSaved = false;\r\n\r\n for (let k = 0; k < this.state.orgid.length; k++) {\r\n let org = this.state.orgid[k];\r\n\r\n let checkQue = `SELECT COUNT(*) AS count FROM RelationshipAttributeMaster WHERE BlockId = ${this.state.Catid} AND OrgId = ${org.DisplayId} AND RelationshipName = '${this.state.RelationShipName}'`;\r\n let checkResult = await getDataTable(checkQue);\r\n if (checkResult && checkResult[0].count > 0) {\r\n Swal.fire({\r\n icon: \"warning\",\r\n title: \"Relationship Already Exists\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({ loading: false });\r\n return;\r\n } else {\r\n let que = `INSERT INTO RelationshipAttributeMaster (BlockId, OrgId, RelationshipName, LoginId, Logdate) output inserted.RID VALUES (${this.state.Catid}, ${org.DisplayId}, '${this.state.RelationShipName}', ${this.state.loginId}, cast(getdate() as date))`;\r\n let result = await getDataTable(que);\r\n\r\n if (result.length > 0) {\r\n insertedRows.push(result[0]);\r\n }\r\n }\r\n }\r\n\r\n if (!combinationSaved) {\r\n for (let i = 0; i < insertedRows.length; i++) {\r\n let row = insertedRows[i];\r\n\r\n let RID = row[\"RID\"];\r\n\r\n for (let j = 0; j < this.state.RSDATA.length; j++) {\r\n let rsDataRow = this.state.RSDATA[j];\r\n let inputAID = rsDataRow[\"#AID\"];\r\n\r\n for (let k = 0; k < this.state.ResData.length; k++) {\r\n let resDataRow = this.state.ResData[k];\r\n let outputAID = resDataRow[\"#ResAID\"];\r\n\r\n let que = `INSERT INTO RelationshipAttributeDetail (RID, AttributeId, Type, LoginId, Logdate) VALUES (${RID}, ${inputAID}, 'Input', ${this.state.loginId}, cast(getdate() as date))`;\r\n let detailResult = await getDataTable(que);\r\n let que1 = `INSERT INTO RelationshipAttributeDetail (RID, AttributeId, Type, LoginId, Logdate) VALUES (${RID}, ${outputAID}, 'Output', ${this.state.loginId}, cast(getdate() as date))`;\r\n let detailResult1 = await getDataTable(que1);\r\n if (!detailResult || !detailResult1) {\r\n combinationSaved = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (combinationSaved) {\r\n Swal.fire({\r\n icon: \"warning\",\r\n title: \"Combination Not Saved\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n } else {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Successfully Saved\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n }\r\n\r\n this.setState({ loading: false });\r\n } catch (error) {\r\n console.error(error);\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"An error occurred while saving the data\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n }\r\n }\r\n\r\n\r\n myChangeHandler = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n }\r\n\r\n handleSelectedRows = (selectedRows) => {\r\n const selectedRowKeys = selectedRows.map((row) => row.key);\r\n this.setState({\r\n selectedRowKeys: selectedRowKeys,\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    VCR\r\n (* Fields are mandatory)\r\n \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"Catid\", \"catname\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n *\r\n this.onAutoCOmpletMultiPleSelect(e, \"orgid\")}\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n *\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"AID\", \"ANAME\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n *\r\n this.onAfterSelect(e, \"ResAID\", \"ResANAME\")}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.RSDATA.length > 0 && this.state.RSDATA != undefined &&\r\n this.deleteRow(e)}\r\n height='63vh'\r\n id='fielddata'>\r\n
    }\r\n
    \r\n
    \r\n \r\n {this.state.ResData.length > 0 && this.state.ResData != undefined &&\r\n this.deleteResultantRow(e)}\r\n height='63vh'\r\n id='fielddata'>\r\n
    }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.RelData.length > 0 && this.state.RelData !== undefined &&\r\n this.EditRowFn(e)}\r\n Delete=\"true\"\r\n DeleteFn={(e) => this.deleteRelationship(e)}\r\n height='63vh'\r\n id='fielddata'\r\n exportXL=\"true\">\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n async deleteRow(e) {\r\n let dt = this.state.RSDATA\r\n dt.splice(e['key'], 1);\r\n this.setState({\r\n RSDATA: dt\r\n })\r\n }\r\n\r\n async EditRowFn(e) {\r\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"6\") {\r\n let st = window.confirm(\"Are you sure want to Edit ?\")\r\n if (!st) {\r\n return false;\r\n }\r\n let Que = \"EXEC ShowRelationshipForEdit @rid = \" + e[\"#RID\"]\r\n let rs = await getDataTable(Que)\r\n debugger\r\n if (rs.length > 0) {\r\n this.setState({\r\n catname: rs[0].BlockName,\r\n Catid: rs[0][\"#blockid\"],\r\n RelationShipName: rs[0].RelationshipName\r\n })\r\n }\r\n let orgque = \"SELECT OrgID as DisplayId,OrgCode+'-'+OrgName as DisplayName\"\r\n orgque += \" FROM OrganizationMaster \"\r\n orgque += \" where OrgID = \" + rs[0][\"#orgid\"]\r\n let orgRs = await getDataTable(orgque)\r\n this.setState({\r\n orgid: orgRs\r\n })\r\n }\r\n else {\r\n alert(\"You are not allowed to edit\")\r\n return;\r\n }\r\n }\r\n\r\n async deleteResultantRow(e) {\r\n let dt = this.state.ResData\r\n dt.splice(e['key'], 1);\r\n this.setState({\r\n ResData: dt\r\n })\r\n }\r\n\r\n\r\n async deleteRelationship(e) {\r\n console.log(e);\r\n if (this.state.loginId === \"1\" || this.state.loginId === \"10\" || this.state.loginId === \"6\") {\r\n let st = window.confirm(\"Are you sure want to delete ?\")\r\n if (!st) {\r\n return false;\r\n }\r\n console.log(e);\r\n let Que = \" delete from RelationshipAttributeMaster output DELETED.RID where RID = \" + e[\"#RID\"]\r\n let rs = await getDataTable(Que)\r\n let Que1 = \" delete from RelationshipAttributeDetail output DELETED.RID where RID = \" + e[\"#RID\"]\r\n let rs1 = await getDataTable(Que1)\r\n if (rs.length > 0 && rs1.length > 0) {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'Successfully Deleted',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n await this.fetchRelationshipData()\r\n }\r\n else {\r\n alert(\"Some Error Occurred\")\r\n }\r\n }\r\n else {\r\n alert(\"You are not allowed to delete\")\r\n return;\r\n }\r\n}\r\n\r\n\r\n}","import React, { Component } from \"react\";\r\nimport { Configuration, getDataTable, MandatoryFormFields, GetDropdownDynamicNew, json2xlsx } from \"../Configuration\";\r\nimport Table from \"../Actions/Controls/Table/AntDTable\";\r\nimport AntD from '../Actions/Controls/Table/AntDTable'\r\nimport \"../ORDER/OrderMaster/style.css\";\r\nimport Swal from \"sweetalert2/dist/sweetalert2.js\";\r\nimport \"sweetalert2/src/sweetalert2.scss\";\r\nimport AutoCompleteInput from \"../Actions/Controls/AutoComplete/autoComplete\";\r\nimport AutoCompleteCascad from \"../Actions/Controls/AutoComplete/autoComplete.cascad\";\r\nimport { Spin } from 'antd';\r\n\r\nexport default class frmlotMasternew extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loginId: 0,\r\n loading: false,\r\n productList: [],\r\n orgid: \"\",\r\n Catid: 0,\r\n VName1: \"\",\r\n List: [],\r\n selectedrows: [],\r\n RSDATA: [],\r\n ResData: [],\r\n Type: \"0\"\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\"select orgid from users where userid = \" + Configuration.USER_ID)\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgid: rs[0].orgid\r\n });\r\n }\r\n\r\n async getdata() {\r\n let MandatoryArray = [\r\n { \"Block Name\": this.state.Catid },\r\n { \"Orgnization Name\": this.state.orgid },\r\n { \"Show Pending\": this.state.Type}\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n this.setState({ loading: true })\r\n let Que = \"EXEC GetRelationShipNameVcr @blockid =\" + this.state.Catid + \", @orgid =\" + this.state.orgid + \", @value = '\" + this.state.Type + \"'\"\r\n let rs = await getDataTable(Que)\r\n debugger\r\n if (rs.length > 0) {\r\n this.setState({\r\n productList: rs, loading: false\r\n })\r\n }\r\n else {\r\n this.setState({ loading: false })\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'No Data Found',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n return;\r\n }\r\n }\r\n\r\n myChangeHandler = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n }\r\n\r\n onAfterSelect(selectedOptions, id, name, index = 0) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName\r\n })\r\n }\r\n else {\r\n this.setState({\r\n [id]: '',\r\n [name]: ''\r\n })\r\n }\r\n }\r\n\r\n async selectedDataFN(e) {\r\n if (e.length > 0) {\r\n this.setState({\r\n selectedrows: e,\r\n Catid: e.Catid\r\n })\r\n }\r\n else {\r\n this.setState({ selectedrows: [] })\r\n }\r\n }\r\n\r\n\r\n async deleteRow(e) {\r\n if (this.state.loginId == 1) {\r\n let rst = window.confirm('Are you sure you want to delete?')\r\n if (!rst) {\r\n return false;\r\n }\r\n let rid = e[\"#RID\"]\r\n this.setState({ loading: true })\r\n let Que = \"EXEC DeleteRelationShipVcr @rid=\" + rid\r\n let rs = await getDataTable(Que)\r\n debugger\r\n if (rs) {\r\n this.setState({ loading: false })\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'info',\r\n title: 'Relationship Deleted SuccessFully',\r\n showConfirmButton: false,\r\n timer: 2500\r\n })\r\n await this.getdata()\r\n }\r\n }\r\n }\r\n\r\n async downloadRow(e) {\r\n const rid = this.state.productList.map(item => item[\"#RID\"]);\r\n this.setState({ loading: true })\r\n let que = \"EXEC GetRelationShipDataVcr @rid = \" + e[\"#RID\"]\r\n let rs = await getDataTable(que)\r\n\r\n if (rs.length > 0) {\r\n this.setState({ loading: true })\r\n await json2xlsx(rs, e[\"RelationshipName\"])\r\n this.setState({ loading: false })\r\n }\r\n else {\r\n Swal.fire({\r\n position: 'top-end',\r\n icon: 'error',\r\n title: 'Relationship cannot be exported.',\r\n showConfirmButton: false,\r\n timer: 1500\r\n })\r\n }\r\n }\r\n\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    RelationShip Details\r\n \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"Catid\", \"catname\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n *\r\n this.onAfterSelect(e, \"orgid\", \"orgname\")}\r\n isValid={this.state.isValid}\r\n >\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.productList != undefined && this.state.productList.length > 0 &&\r\n this.deleteRow(e)}\r\n downloadRow=\"true\"\r\n downloadRowFn={(e) => this.downloadRow(e)}\r\n exportXL=\"true\">\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n}","import React, { Component } from \"react\";\r\nimport {\r\n Configuration,\r\n getDataTable,\r\n MandatoryFormFields,\r\n exceltodb,\r\n GetNewDrpSheet,\r\n} from \"../../Configuration\";\r\nimport Table from \"../../Actions/Controls/Table/AntDTable\";\r\nimport \"../../ORDER/OrderMaster/style.css\";\r\nimport Swal, { swal } from \"sweetalert2/dist/sweetalert2.js\";\r\nimport \"sweetalert2/src/sweetalert2.scss\";\r\nimport AutoCompleteInput from \"../../Actions/Controls/AutoComplete/autoComplete\";\r\nimport AutoCompleteCascad from \"../../Actions/Controls/AutoComplete/autoComplete.cascad\";\r\nimport AutoCompletemulti from \"../../Actions/Controls/AutoComplete/autoCompleteMultiple\";\r\nimport { Spin } from \"antd\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nconst dataBase = \"IMAGEDB\";\r\nlet tb = \"\";\r\nlet files = \"\";\r\n\r\nexport default class frmlotMasternew extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loginId: 0,\r\n loading: false,\r\n productList: [],\r\n orgid: \"\",\r\n LotId: \"\",\r\n merge: \"0\",\r\n ProductName: \"\",\r\n ArticleNumber: \"\",\r\n CountryId: [],\r\n StyleCode: \"\",\r\n BlockID: \"\",\r\n AID: \"\",\r\n VName1: \"\",\r\n List: [],\r\n selectedrows: [],\r\n status: \"Not Live\",\r\n PortalID: [],\r\n excelData: [],\r\n tblname: \"\",\r\n upload: 0,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n let rs = await getDataTable(\r\n \"SELECT orgid FROM users WHERE userid = \" + Configuration.USER_ID\r\n );\r\n await this.setState({\r\n loginId: Configuration.USER_ID,\r\n orgid: rs[0].orgid,\r\n });\r\n }\r\n\r\n myChangeHandler = (event) => {\r\n this.setState({ [event.target.name]: event.target.value });\r\n };\r\n\r\n handleIncludeDiscountChange = (e) => {\r\n this.setState({\r\n includeDiscount: e.target.checked,\r\n });\r\n };\r\n\r\n myFileChangeHandler = (event) => {\r\n files = event.target.files[0];\r\n };\r\n\r\n onAfterSelect(selectedOptions, id, name, index = 0) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [id]: selectedOptions[0].DisplayId,\r\n [name]: selectedOptions[0].DisplayName,\r\n });\r\n } else {\r\n this.setState({\r\n [id]: \"\",\r\n [name]: \"\",\r\n });\r\n }\r\n }\r\n\r\n async onAutoCOmpletMultiPleSelect(selectedOptions, name) {\r\n if (selectedOptions.length > 0) {\r\n this.setState({\r\n [name]: selectedOptions,\r\n });\r\n } else {\r\n this.setState({\r\n [name]: [],\r\n });\r\n }\r\n }\r\n\r\n async selectedDataFN(e) {\r\n if (e.length > 0) {\r\n this.setState({ selectedrows: e });\r\n } else {\r\n this.setState({ selectedrows: [] });\r\n }\r\n }\r\n\r\n async GetProductData() {\r\n let MandatoryArray = [\r\n { Block: this.state.BlockID },\r\n { \"Search Type\": this.state.merge },\r\n ];\r\n\r\n let check = MandatoryFormFields(MandatoryArray);\r\n\r\n if (check === false) {\r\n this.setState({ loading: false });\r\n return false;\r\n }\r\n\r\n this.setState({\r\n productList: [],\r\n loading: true,\r\n });\r\n\r\n let st = [];\r\n let que = \"\";\r\n\r\n if (this.state.merge === \"1\") {\r\n que =\r\n \" select ProductID as [#pid], ProductName, c.AttributeValue as article, e.AttributeValue as [#Mrp], \";\r\n que +=\r\n \" l.AttributeValue as [#category] , g.AttributeValue as [#color] , \";\r\n que +=\r\n \" h.AttributeValue as [#gender] , i.AttributeValue as [#Department], \";\r\n que +=\r\n \" j.AttributeValue as [#sizing] , k.AttributeValue as [#unisex] from \";\r\n que +=\r\n \" ProductMaster outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID= ProductMaster.ProductID and AttributeID = 245) c \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 41) e \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 854) l \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 848) g \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 851) h \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 852) i \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 867) j \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 874) k \";\r\n que += \" where CategoryId = \" + this.state.BlockID;\r\n que += \" and OrgID = \" + this.state.orgid;\r\n que += \" and ProductName like '\" + this.state.ProductName + \"%' \";\r\n st = await getDataTable(que, \"IMAGEDB\");\r\n } else if (this.state.merge === \"2\") {\r\n que =\r\n \" select productid as [#pid], ProductName , c.AttributeValue as article , e.AttributeValue as [#Mrp] , \";\r\n que +=\r\n \" l.AttributeValue as [#category] , g.AttributeValue as [#color] , \";\r\n que +=\r\n \" h.AttributeValue as [#gender] , i.AttributeValue as [#Department], \";\r\n que +=\r\n \" j.AttributeValue as [#sizing], k.AttributeValue as [#unisex] from \";\r\n que +=\r\n \" ProductMaster outer apply (select attributevalue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 245 )c \";\r\n que += \" outer apply (select attributevalue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 41 )e \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 854) l \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 848) g \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 851) h \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 852) i \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 867) j \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 874) k \";\r\n que += \" where OrgId = \" + this.state.orgid;\r\n que += \" and c.AttributeValue = '\" + this.state.ArticleNumber + \"'\";\r\n st = await getDataTable(que, \"IMAGEDB\");\r\n } else if (this.state.merge === \"3\") {\r\n que =\r\n \" select ProductMaster.productid as [#pid], ProductName , d.AttributeValue as article , c.AttributeValue as [#styleCode] , \";\r\n que = \" e.AttributeValue as [#Mrp] , l.AttributeValue as [#category] , \";\r\n que = \" g.AttributeValue as [#color] , h.AttributeValue as [#gender] , \";\r\n que =\r\n \" i.AttributeValue as [#Department] , j.AttributeValue as [#sizing], \";\r\n que = \" k.AttributeValue as [#unisex] from \";\r\n que =\r\n \" ProductMaster outer apply (select ProductID , AttributeValue from ProductDetails \";\r\n que =\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 95 )c outer apply \";\r\n que = \" (select attributevalue from ProductDetails \";\r\n que = \" where ProductID = c.ProductID and AttributeID = 245 )d \";\r\n que = \" outer apply (select attributevalue from ProductDetails \";\r\n que =\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 41 )e \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 854) l \";\r\n que = \" outer apply (select AttributeValue from ProductDetails \";\r\n que =\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 848) g \";\r\n que = \" outer apply (select AttributeValue from ProductDetails \";\r\n que =\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 851) h \";\r\n que = \" outer apply (select AttributeValue from ProductDetails \";\r\n que =\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 852) i \";\r\n que = \" outer apply (select AttributeValue from ProductDetails \";\r\n que =\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 867) j \";\r\n que = \" outer apply (select AttributeValue from ProductDetails \";\r\n que =\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 874) k \";\r\n que = \" where OrgId = \" + this.state.orgid;\r\n que = \" and c.AttributeValue = '\" + this.state.StyleCode + \"'\";\r\n st = await getDataTable(que, \"IMAGEDB\");\r\n } else if (this.state.merge === \"4\") {\r\n que =\r\n \" SELECT distinct LotDetails.productID as [#pid], ProductMaster.ProductName , c.AttributeValue as article , \";\r\n que += \" e.AttributeValue as [#Mrp] , l.AttributeValue as [#category] , \";\r\n que += \" g.AttributeValue as [#color] , h.AttributeValue as [#gender] , \";\r\n que +=\r\n \" i.AttributeValue as [#Department], j.AttributeValue as [#sizing], \";\r\n que +=\r\n \" k.AttributeValue as [#unisex] FROM LotDetails INNER JOIN ProductMaster ON \";\r\n que += \" LotDetails.productID = ProductMaster.ProductID \";\r\n que += \" outer apply (select attributevalue from ProductDetails where \";\r\n que += \" productID = ProductMaster.ProductID and AttributeID = 245)c \";\r\n que += \" outer apply (select attributevalue from ProductDetails where \";\r\n que += \" productID = ProductMaster.ProductID and AttributeID = 41)e \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 854) l \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 848) g \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 851) h \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 852) i \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 867) j \";\r\n que += \" outer apply (select AttributeValue from ProductDetails \";\r\n que +=\r\n \" where ProductID = ProductMaster.ProductID and AttributeID = 874) k \";\r\n que += \" WHERE ProductMaster.CategoryId = \" + this.state.BlockID;\r\n que += \" and LotDetails.LotID = \" + this.state.LotId;\r\n st = await getDataTable(que, \"IMAGEDB\");\r\n }\r\n\r\n this.setState({\r\n productList: st,\r\n loading: false,\r\n });\r\n\r\n // if (st.length > 0) {\r\n // console.log(\"get Table\");\r\n // } else {\r\n // Swal.fire({\r\n // position: \"top-end\",\r\n // icon: \"error\",\r\n // title: \"Product Not Found\",\r\n // showConfirmButton: false,\r\n // timer: 1500,\r\n // });\r\n // }\r\n }\r\n\r\n async AddData() {\r\n if (this.state.selectedrows.length === 0) {\r\n Swal.fire({\r\n position: \"top-end\",\r\n icon: \"error\",\r\n title: \"Please select data then press add\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n }\r\n\r\n let dt = this.state.List;\r\n this.setState({ loading: true });\r\n\r\n for (var i = 0; i < this.state.selectedrows.length; i++) {\r\n if (dt.includes(this.state.selectedrows[i])) {\r\n } else {\r\n dt.push(this.state.selectedrows[i]);\r\n }\r\n }\r\n\r\n this.setState({\r\n List: dt,\r\n loading: false,\r\n });\r\n }\r\n\r\n async handleExportButtonClick() {\r\n let MandatoryArray = [\r\n { Category: this.state.BlockID },\r\n { LOT: this.state.LotId },\r\n ];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n this.setState({ loading: true });\r\n let que =\r\n \"EXEC ExportMasterDataPricing @loginID = \" +\r\n this.state.loginId +\r\n \" ,@catid = \" +\r\n this.state.BlockID +\r\n \" ,@lotID = \" +\r\n this.state.LotId;\r\n let rs = await getDataTable(que);\r\n debugger;\r\n await GetNewDrpSheet(this.state.catID, rs, \"Master Data.xlsx\");\r\n this.setState({ loading: false });\r\n }\r\n\r\n async UploadFile() {\r\n let MandatoryArray = [{ Category: this.state.BlockID }];\r\n let check = MandatoryFormFields(MandatoryArray);\r\n if (check == false) {\r\n return false;\r\n }\r\n\r\n tb = \"\";\r\n if (files) {\r\n this.setState({ loading: true });\r\n tb = await exceltodb(files, dataBase, this.state.loginId);\r\n debugger;\r\n if (tb) {\r\n let queCheck =\r\n \"EXEC frmProductDetails_checkSKULimit @tblName = '\" +\r\n tb +\r\n \"' , @loginID = \" +\r\n this.state.loginId;\r\n let rschk = await getDataTable(queCheck);\r\n if (rschk[0][\"RES\"] != \"OK\") {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: rschk[0][\"RES\"],\r\n showConfirmButton: false,\r\n timer: 2000,\r\n });\r\n this.setState({ loading: false });\r\n return;\r\n }\r\n debugger;\r\n let Que =\r\n \"EXEC SaveProductImportDetailsforTest @loginId = \" +\r\n this.state.loginId +\r\n \",@tblname = '\" +\r\n tb +\r\n \"' , @categoryid=\" +\r\n this.state.BlockID;\r\n let rs = await getDataTable(Que);\r\n\r\n if (Array.isArray(rs)) {\r\n if (rs.length > 0) {\r\n this.setState({\r\n productdetailsdata: rs,\r\n visible: true,\r\n loading: false,\r\n });\r\n await this.SaveData(this);\r\n } else {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"File not Imported Properly\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n //alert(\"File not contain Proper Data\")\r\n this.setState({ loading: false });\r\n }\r\n } else {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"File not Imported Properly\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n //alert(\"File not contain Proper Data\")\r\n this.setState({ loading: false });\r\n }\r\n document.getElementById(\"tp1\").value = \"\";\r\n } else {\r\n tb = \"\";\r\n this.setState({ loading: false });\r\n return;\r\n }\r\n } else {\r\n Swal.fire({\r\n icon: \"info\",\r\n title: \"File not contain Proper Data\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n this.setState({ loading: false });\r\n tb = \"\";\r\n return false;\r\n }\r\n }\r\n\r\n async SaveData() {\r\n if (!tb) {\r\n Swal.fire({\r\n icon: \"info\",\r\n title: \"File not contain Proper Data\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n //alert(\"No Data To Save\")\r\n }\r\n\r\n let ltque =\r\n \" SELECT ImportLotID, CAST(ImportLotNo as nvarchar)+'-'+ ImportLotName as LotName FROM PriceLotMaster \";\r\n ltque +=\r\n \" OUTER APPLY ( select distinct CategoryId from PriceLotDetails inner join ProductMaster on \";\r\n ltque +=\r\n \" \tProductMaster.ProductID = PriceLotDetails.ProductID where ImportLotID = PriceLotMaster.ImportLotID ) C (blckid) \";\r\n ltque +=\r\n \" WHERE OrgID = \" +\r\n this.state.orgid +\r\n \" and (DATEDIFF(week,logDate, getDate())<10) and c.blckid = \" +\r\n this.state.BlockID;\r\n let lt = await getDataTable(ltque);\r\n debugger;\r\n let inputoption = {};\r\n lt.forEach((ele) => {\r\n inputoption[ele[\"ImportLotID\"]] = ele[\"LotName\"];\r\n });\r\n let ltname = \"\";\r\n let ltid = 0;\r\n let sel = 0;\r\n if (lt.length <= 0) {\r\n await Swal.fire({\r\n title: \"ENTER LOT NAME\",\r\n input: \"text\",\r\n allowOutsideClick: false,\r\n }).then(function (result) {\r\n if (result.isConfirmed) {\r\n ltname = result.value;\r\n }\r\n });\r\n } else {\r\n let mrgcnf = await Swal.fire({\r\n title: \"Do you want to merge the data into existing lot?\",\r\n icon: \"question\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Yes\",\r\n cancelButtonText: \"No\",\r\n allowOutsideClick: false,\r\n });\r\n if (mrgcnf.isConfirmed) {\r\n sel = 1;\r\n await Swal.fire({\r\n title: \"SELECT LOT NAME\",\r\n input: \"select\",\r\n inputOptions: inputoption,\r\n allowOutsideClick: false,\r\n }).then(function (result) {\r\n if (result.isConfirmed) {\r\n ltid = result.value;\r\n }\r\n });\r\n } else {\r\n await Swal.fire({\r\n title: \"ENTER LOT NAME\",\r\n input: \"text\",\r\n allowOutsideClick: false,\r\n }).then(function (result) {\r\n if (result.isConfirmed) {\r\n ltname = result.value;\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (sel == 0 && ltname == \"\") {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"Please Enter Lot Name\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n return;\r\n }\r\n\r\n /////////////////////////////////////////////\r\n\r\n let Queery =\r\n \"EXEC PriceLotcreateandmerge @loginid = \" +\r\n this.state.loginId +\r\n \",@tblname = '\" +\r\n tb +\r\n \"' , @LotName = '\" +\r\n ltname +\r\n \"' , @Lotid = \" +\r\n ltid;\r\n this.setState({ loading: true });\r\n let rss = await getDataTable(Queery);\r\n debugger;\r\n let Que =\r\n \"EXEC SavePriceDataInMasterTable @loginid = \" +\r\n this.state.loginId +\r\n \",@tblname = '\" +\r\n tb +\r\n \"'\";\r\n let rs = await getDataTable(Que);\r\n if (rs) {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Data Saved SuccessFully\",\r\n\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n //alert(\"Data Saved SuccessFully\")\r\n this.setState({ loading: false });\r\n } else {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"SOME ERROR OCCURED\",\r\n showConfirmButton: false,\r\n timer: 1500,\r\n });\r\n //alert(\"Data Saved SuccessFully\")\r\n this.setState({ loading: false });\r\n }\r\n }\r\n\r\n render() {\r\n const { selectedTime, includeDiscount } = this.state;\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n IMPORT PRICING MASTER\r\n \r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n *\r\n \r\n this.onAfterSelect(e, \"BlockID\", \"BlockName\")\r\n }\r\n >\r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n this.onAfterSelect(e, \"LotId\", \"LotName\")\r\n }\r\n isValid={this.state.isValid}\r\n >\r\n \r\n
    \r\n \r\n
    \r\n \r\n SEARCH NOW\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n ADD\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {\" \"}\r\n EXPORT TO EXCEL{\" \"}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n *\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n {this.state.productList.length > 0 &&\r\n this.state.productList != undefined && (\r\n this.selectedDataFN(e)}\r\n >\r\n )}\r\n
    \r\n
    \r\n {this.state.List.length > 0 && (\r\n \r\n )}\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n","import React, {Component, useEffect, useState} from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { Button, makeStyles } from '@material-ui/core';\nimport TextField from '@material-ui/core/TextField';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport { APIService } from '../../../Config/action/apiAction';\nimport { connect } from 'react-redux';\nimport { TokenService } from '../../../Config/action/tokenAction';\nimport moment from 'moment';\nimport CryptoService from '../../../Config/action/crypto';\nimport { getAuthorization } from '../../../Configuration';\nimport { ToastContainer, toast } from 'react-toastify';\nimport 'react-toastify/dist/ReactToastify.css';\n\nfunction TicketModal(props) {\n\n const [state, setState] = useState({});\n\n const [errors, setErrors] = useState({\n Message: false,\n TicketType: false\n });\n const [formUpdated, setFormUpdated] = useState(false);\n\n const inputHandler = (value, key) => {\n if(key === \"Status\") {\n setFormUpdated(true);\n }\n console.log(key, value)\n setState({\n ...state,\n [key]: value\n })\n }\n\n useEffect(() => {\n console.log(state)\n }, [state])\n\n const [isAdmin, setAdmin] = useState(false);\n\n const handleSubmit = (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if(state.TicketType && state.Message){\n setErrors({\n ...state,\n Message: false,\n TicketType: false\n });\n\n if(props.currentRecord){\n console.log(\"Edit Record\");\n }\n else{\n // let user = JSON.parse(localStorage.getItem(\"auth_user\"));\n props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n let user = token;\n let payload = {\n \"USERID\": user.ID,\n \"Type\": state.TicketType,\n \"Message\": state.Message\n }\n props.dispatch(APIService(\"POST\", \"SavePaymentDetails?query= SAVE_TROUBLE_TICKET\", payload)).then((data) => {\n console.log(data);\n if(data.data.data[0].TicketID){\n handleClose(true);\n }\n }).catch((e) => {\n console.log(e)\n })\n });\n }\n }\n else{\n setErrors({\n ...state,\n Message: state.Message ? false : true,\n TicketType: state.TicketType ? false : true\n })\n }\n }\n\n useEffect(() => {\n if(props.currentRecord){\n setAdmin(CryptoService.decrypt(getAuthorization()).isAdmin);\n let type = props.currentRecord[\"TicketType\"].includes(\"Authentication\") ? \"Authentication\" : \n props.currentRecord[\"TicketType\"].includes(\"Payment\") ? \"Payment\" : \"Other\";\n setState({\n ...state,\n CreateDate: props.currentRecord[\"CREATE DATE\"] || \"\",\n Message: props.currentRecord[\"Message\"] || \"\",\n Status: props.currentRecord[\"Status\"] || \"\",\n TicketID: props.currentRecord[\"TicketID\"] || \"\",\n TicketType: type,\n Remark: props.currentRecord[\"Remark\"] || \"\"\n })\n }\n }, [props]);\n\n const handleClose = (reload) => {\n setState({});\n setErrors({\n Message: false,\n TicketType: false\n });\n props.handleClose(reload);\n }\n\n const handleReinitiate = (e, reInitiate) => {\n e.preventDefault();\n e.stopPropagation();\n let object = {\n \"TICKETID\": state.TicketID,\n \"STATUS\": reInitiate ? \"Initialized\" : state.Status,\n // \"REMARK\": state.Remark\n };\n\n props.dispatch(APIService(\"POST\", \"SavePaymentDetails?query=UPDATE_TICKET_STATUS\", object)).then((data) => {\n showToast(\"Ticket status has been updated\");\n handleClose(true);\n })\n }\n\n const renderOptions = () => {\n let data = [{\n key: \"Completed\",\n value: \"Completed\"\n },\n {\n key: \"Close\",\n value: \"Close\"\n },\n {\n key: \"Cancel\",\n value: \"Cancel\"\n }\n ];\n return data.map((dt, i) => {\n //console.log(dt);\n return (\n {dt.key}\n \n );\n });\n }\n\n const showToast = (message) => {\n toast(message, {\n position: \"top-right\",\n type: 'success',\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n\n const getCurrentDate = (date) => {\n if(date){\n let d = new Date(date);\n return moment(d).format('DD/MM/YYYY mm:ss a')\n }\n else{\n return '--'\n }\n }\n\n return (\n \n {\"Add Ticket\"}\n \n \n
    \n
    \n
    \n Ticket ID
    \n

    {state.TicketID || '--'}

    \n
    \n {/* inputHandler(e.target.value, \"TicketID\")} label=\"Ticket ID\" /> */}\n
    \n
    \n
    \n Status
    \n {\n ((props.currentRecord?.Status != \"Completed\" && props.currentRecord?.Status != \"Close\" && props.currentRecord?.Status != \"Cancel\") && state.TicketID && isAdmin) ? (\n \n ) : (\n

    {state.Status || '--'}

    \n )\n }\n
    \n {/* inputHandler(e.target.value, \"Status\")} label=\"Status\" /> */}\n
    \n
    \n\n
    \n
    \n
    \n Created Date
    \n

    {getCurrentDate(state.CreateDate)}

    \n
    \n {/* inputHandler(e.target.value, \"CREATE DATE\")} label=\"Created Date\" style={{width:'100%', marginBottom:'20px'}} disabled={true} /> */}\n
    \n
    \n\n
    \n
    \n {\n props.currentRecord && props.currentRecord.Status ? (\n //
    \n // Ticket Type
    \n //

    {state.TicketType || ''}

    \n //
    \n inputHandler(e.target.value, \"TicketType\")} label=\"Type\" style={{width:'100%', marginBottom:'20px'}} disabled={true} />\n ) : (\n \n Type\n inputHandler(e.target.value, \"TicketType\")}\n >\n Payment\n Authentication\n Other\n \n \n )\n }\n
    \n {\n errors.TicketType ? (\n Ticket type is required*\n ) : null\n }\n
    \n\n
    \n
    \n {\n props.currentRecord && props.currentRecord.Status ? (\n inputHandler(e.target.value, \"Message\")}\n value={state.Message || ''}\n style={{width:'100%', marginTop:'20px', fontSize:'12px'}}\n />\n ) : (\n inputHandler(e.target.value, \"Message\")}\n value={state.Message || ''}\n style={{width:'100%', marginTop:'20px', fontSize:'12px'}}\n />\n )\n }\n
    \n {\n errors.Message ? (\n Description is required*\n ) : null\n }\n
    \n \n {\n props.currentRecord && props.currentRecord.Status === \"Completed\" ? (\n
    \n
    \n inputHandler(e.target.value, \"Remark\")}\n value={state.Remark || ''}\n style={{width:'100%', marginTop:'15px'}}\n />\n
    \n
    \n ) : null\n }\n {/* */}\n
    \n \n \n {\n // console.log(props.currentRecord)\n // console.log(props.currentRecord)\n (!props.currentRecord) ? (\n \n ) : (props.currentRecord && (props.currentRecord.Status === \"Completed\" || props.currentRecord.Status === \"Close\" || props.currentRecord.Status === \"Cancel\")) ? (\n \n ) : null\n }\n {\n formUpdated ? (\n \n ) : null\n }\n \n \n )\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(TicketModal);","import React, { useState } from \"react\";\nimport { Fragment } from \"react\";\nimport { withRouter } from \"react-router-dom\";\n\nimport TicketModal from \"../createTicketModal/index\";\n\nfunction PageTitle(props) {\n const goBack = () => {\n props.history.goBack(props.backURL);\n };\n\n return (\n \n
    \n \n {props.title}\n \n
      \n {props.title === \"Tickets\" ? (\n \n \n Add Ticket\n \n \n ) : props.showBack ? (\n \n \n Go Back\n \n \n ) : props.showNewBrandModal ? (\n \n \n Create Brand\n \n \n ) : null}\n
    \n {props.title === \"Tickets\" ? (\n \n ) : null}\n
    \n
    \n //
    \n //
    \n //
    \n /*
    \n

    {props.title}

    \n
    */\n // {\n // (props.title === \"Tickets\") ? (\n //
    \n // \n //
    \n // ) : null\n // }\n //
    \n // {\n // (props.title === \"Tickets\") ? (\n // \n // ) : null\n // }\n //
    \n //
    \n );\n}\n\nexport default withRouter(PageTitle);\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport { APIService } from '../../../Config/action/apiAction';\nimport { TokenService } from '../../../Config/action/tokenAction';\nimport PageTitle from '../../Common/pageTitle/index';\nimport { Spin } from 'antd';\nimport { Configuration } from '../../../Configuration';\nimport \"./dashboard.scss\"; \n\nclass DashboardDetail extends Component {\n\n constructor(props){\n super(props);\n this.state = {\n data: {},\n loginId: 2,\n loading: false\n }\n }\n\n async componentDidMount(){\n this.setState({\n loginId: Configuration.USER_ID\n });\n // this.props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n this.setState({\n loading: true\n }, () => {\n this.props.dispatch(APIService(\"POST\", \"GetPaymentData?query=GET_DASHBOARD_DATA @ID = \"+Configuration.USER_ID)).then((data) => {\n if(data.status === 200){\n this.setState({\n data: data.data.data[0],\n loading: false\n })\n }\n });\n })\n }\n\n checkout = (e) => {\n this.setState({\n loading: true\n }, () => {\n this.props.dispatch(APIService('POST', 'GetPaymentData?query=getuserdata @ID='+Configuration.USER_ID)).then((data) => {\n this.setState({\n loading: false\n })\n if(data.status === 200){\n this.props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n let payment = {\n name: data.data.data[0].USERNAME,\n email: data.data.data[0].Email,\n company: data.data.data[0].ORGANIZATION,\n amount: token[\"PLAN PRICE\"],\n category: token[\"ACTIVE PLAN\"],\n planId: token[\"PLANID\"] \n }\n sessionStorage.setItem('transactionDetails', JSON.stringify(payment));\n this.props.history.push('/checkout');\n })\n }\n }).catch((err) => {\n this.setState({\n loading: false\n })\n console.log(err);\n })\n })\n }\n\n render() {\n return (\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n {/*
    */}\n \n
    \n
    \n
    \n
    \n

    {this.state.data.USERCATEGORY}

    \n

    Current Category

    \n
    \n
    \n \n
    \n Change category\n
    \n
    \n \n
    \n \n
    \n
    \n

    {this.state.data.CREDITREMAINING || 0}

    \n

    Credit Remaining

    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n

    {this.state.data.SKU || 0}

    \n \n

    Number of SKU

    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n
    \n
    \n

    {this.state.data.TEMPLATE || 0}

    \n \n

    Number of Template

    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n \n
    \n\n
    \n
    \n \n\n
    \n Count of Rejection Reason\n {/* 90% */}\n
    \n
    \n \n {this.state.data ? (this.state.data.REJECTIONCOUNT || \"0\") : '0'}\n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n Count of Import/Export\n
    \n
    \n \n {this.state.data ? (this.state.data.IMPORT || \"0\")+'/'+(this.state.data.EXPORT || \"0\") : '0'}\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n Recharge within\n
    \n
    \n \n 24 days\n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n Joined on\n
    \n
    \n \n {this.state.data.JOINDATE}\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n )\n }\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(withRouter(DashboardDetail));","import React, {Component, Fragment} from 'react';\nimport DashboardDetail from './dashboardDetail';\nimport { APIService } from '../../../Config/action/apiAction';\nimport { TokenService } from '../../../Config/action/tokenAction';\nimport { connect } from 'react-redux';\n\nclass Dashboard extends Component{\n\n componentDidMount(){\n this.props.dispatch(APIService('POST', 'GetPaymentData?query=getuserdata @ID='+JSON.parse(localStorage.getItem(\"UserId\")).value)).then((data) => {\n console.log(data);\n if(data.status === 200){\n this.setState({\n userData: data.data.data[0]\n }, () => {\n this.props.dispatch(TokenService('setToken', {key: 'auth_user', value: data.data.data[0]})).then(() => {\n console.log('api fetched');\n })\n })\n }\n }).catch((err) => {\n console.log(err);\n })\n }\n\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(Dashboard);","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport Swal from \"sweetalert2\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport { withRouter } from \"react-router\";\nimport PageTitle from \"../../Common/pageTitle/index\";\nimport { TokenService } from \"../../../Config/action/tokenAction\";\nimport { Spin } from \"antd\";\n\nfunction ChangePasswordDetail(props) {\n const [error, setError] = useState({\n oldPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n });\n\n const [state, setState] = useState({\n oldPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n });\n\n const [loading, setLoading] = useState(false);\n\n const [globalError, setGlobalError] = useState(\"\");\n\n const inputHandler = (key, value) => {\n setState({\n ...state,\n [key]: value,\n });\n };\n\n const showAlert = () => {\n Swal.fire({\n title: \"Password updated successfully\",\n text: \"\",\n icon: \"success\",\n showCancelButton: false,\n showConfirmButton: false,\n timer: 2000,\n });\n };\n\n const onSubmit = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (\n state.oldPassword &&\n state.newPassword &&\n state.confirmPassword &&\n state.newPassword === state.confirmPassword\n ) {\n setError({\n ...error,\n oldPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n });\n setGlobalError(\"\");\n setLoading(true);\n props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n let obj = {\n oldpassword: state.oldPassword,\n newpassword: state.newPassword,\n ID: token.ID,\n };\n props\n .dispatch(\n APIService(\"POST\", \"GetPaymentData?query=CHANGE_PASSWORD\", obj)\n )\n .then((data) => {\n setLoading(false);\n if (data.data.data === \"Invalid userid and password\") {\n setGlobalError(\"Old password is incorrect\");\n } else {\n setState({\n oldPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n });\n showAlert();\n localStorage.setItem(\"notify_user\", true);\n props.history.push(\"/\");\n }\n })\n .catch((e) => {\n setLoading(false);\n console.log(e);\n });\n });\n } else {\n setError({\n ...error,\n oldPassword: state.oldPassword ? \"\" : \"Old password is required\",\n newPassword: state.newPassword ? \"\" : \"New password is required\",\n confirmPassword: state.confirmPassword\n ? state.newPassword\n ? state.newPassword != state.confirmPassword\n ? \"Confirm password does not match\"\n : \"\"\n : \"\"\n : \"Confirm password is required\",\n });\n }\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Change Password\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n inputHandler(\"oldPassword\", e.currentTarget.value)\n }\n id=\"inputEmail3\"\n placeholder=\"Old Password\"\n />\n {error.oldPassword ? (\n \n {error.oldPassword}\n \n ) : null}\n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n inputHandler(\"newPassword\", e.currentTarget.value)\n }\n id=\"inputPassword3\"\n placeholder=\"New Password\"\n />\n {error.newPassword ? (\n \n {error.newPassword}\n \n ) : null}\n
    \n
    \n\n {/*
    \n
    \n addPlan(e)}\n className=\"btn btn-primary\"\n >\n Create\n \n
    \n
    */}\n \n
    \n \n
    \n \n
    \n
    \n \n inputHandler(\"confirmPassword\", e.currentTarget.value)\n }\n placeholder=\"Confirm Password\"\n />\n {error.confirmPassword ? (\n \n {error.confirmPassword}\n \n ) : null}\n
    \n
    \n {globalError ? (\n
    \n
    \n
    \n \n {globalError}\n \n
    \n
    \n ) : null}\n\n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(\n null,\n mapDispatchToProps\n)(withRouter(ChangePasswordDetail));\n","import React, {Component, Fragment} from 'react';\nimport ChangePasswordDetail from './changePasswordDetail';\n\nclass ChangePassword extends Component{\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default ChangePassword;","import React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { APIService } from \"../../../Config/action/apiAction\";\n// import TablePage from './table';\nimport \"antd/dist/antd.css\";\nimport { AutoComplete, Button, Table } from \"antd\";\nimport moment from \"moment\";\nimport { TokenService } from \"../../../Config/action/tokenAction\";\nimport Highlighter from \"react-highlight-words\";\nimport { Input, Space } from \"antd\";\nimport { SearchOutlined } from \"@ant-design/icons\";\nimport { Select } from \"antd\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport { Spin } from \"antd\";\n\nconst { Option } = Select;\n\nclass HistoryBasic extends Component {\n constructor(props) {\n super(props);\n this.state = {\n data: [],\n columns: [],\n searchText: \"\",\n searchedColumn: \"\",\n columnValues: {},\n loading: false,\n };\n }\n\n componentDidMount() {\n this.setState(\n {\n loading: true,\n },\n () => {\n this.props\n .dispatch(TokenService(\"getToken\", \"auth_user\"))\n .then((token) => {\n this.props\n .dispatch(\n APIService(\n \"POST\",\n \"GetPaymentData?query=PAYMENT_HISTORY @ID = \" + token.ID\n )\n )\n .then((data) => {\n if (data.data.status === 1000) {\n this.setState(\n {\n data: data.data.data,\n },\n () => {\n if (this.state.data.length > 0) {\n // Calculating unique values\n let values = {};\n\n // Unique columns name\n let keys = Object.keys(this.state.data[0]);\n // keys.map((i) => {\n // values[i] = [];\n // })\n\n keys.map((col, index) => {\n this.state.data.map((item, pos) => {\n // if(!values[col].includes(item[col])){\n if (\n values[col] &&\n values[col].indexOf(item[col]) === -1\n ) {\n values[col].push(item[col]);\n } else if (!values[col]) {\n values[col] = [item[col]];\n }\n });\n });\n\n this.setState(\n {\n ...this.state,\n columnValues: values,\n },\n () => {\n // Defining dynamic columns\n let columns = [];\n keys.map((item, index) => {\n let payload = {\n title: item,\n dataIndex: item,\n key: item,\n ...this.getColumnSearchProps(item),\n };\n columns.push(payload);\n });\n this.setState({\n ...this.state,\n columns: columns,\n loading: false,\n });\n }\n );\n }\n }\n );\n }\n })\n .catch((e) => {\n this.setState({\n loading: false,\n });\n console.log(e);\n });\n });\n }\n );\n }\n\n onChange(pagination, filters, sorter, extra) {\n // console.log('params', pagination, filters, sorter, extra);\n }\n\n getColumnSearchProps = (dataIndex) => ({\n filterDropdown: ({\n setSelectedKeys,\n selectedKeys,\n confirm,\n clearFilters,\n }) => (\n
    \n {\n this.searchInput = node;\n }}\n allowClear\n style={{ width: 188, marginBottom: 8, display: \"block\" }}\n placeholder={`Search ${dataIndex}`}\n value={selectedKeys}\n onChange={(values) => setSelectedKeys([...values])}\n >\n {this.state.columnValues[dataIndex].map((key, index) => {\n return ;\n })}\n \n \n this.handleSearch(selectedKeys, confirm, dataIndex)}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n this.handleReset(clearFilters)}\n size=\"small\"\n style={{ width: 90 }}\n >\n Reset\n \n \n
    \n ),\n filterIcon: (filtered) => (\n \n ),\n onFilter: (value, record) => {\n if (record[dataIndex]) {\n return record[dataIndex]\n .toString()\n .toLowerCase()\n .includes(value.toLowerCase());\n }\n },\n // record[dataIndex]\n // ? record[dataIndex].toString().toLowerCase().includes(value.toLowerCase())\n // : '',\n onFilterDropdownVisibleChange: (visible) => {\n if (visible) {\n // setTimeout(() => this.searchInput.select(), 100);\n }\n },\n render: (text) =>\n this.state.searchedColumn === dataIndex ? (\n 0\n ? this.state.searchText\n : []\n }\n autoEscape\n textToHighlight={text ? text.toString() : \"\"}\n />\n ) : (\n text\n ),\n });\n\n handleSearch = (selectedKeys, confirm, dataIndex) => {\n confirm();\n this.setState({\n searchText: selectedKeys,\n searchedColumn: dataIndex,\n });\n };\n\n handleReset = (clearFilters) => {\n clearFilters();\n this.setState({ searchText: \"\" });\n };\n\n render() {\n return (\n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n History Listing\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n

    \n \n
    \n
    \n {this.state.data.length > 0 &&\n this.state.data != undefined && (\n record.ORDERID}\n columns={this.state.columns}\n dataSource={this.state.data}\n onChange={this.onChange}\n />\n )}\n
    \n
    \n \n \n
    \n \n );\n }\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(HistoryBasic);\n","import React, {Component, Fragment} from 'react';\n// import HistoryDetail from './historyDetail';\nimport HistoryBasic from './basic';\n\nclass History extends Component{\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default History;","\nimport React, { useEffect } from 'react';\nimport { Fragment } from 'react';\nimport { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { span, withRouter } from 'react-router-dom';\nimport { APIService } from '../../../Config/action/apiAction';\nimport { TokenService } from '../../../Config/action/tokenAction';\nimport { Configuration } from '../../../Configuration';\nimport PageTitle from '../../Common/pageTitle';\nimport { Spin } from 'antd';\nlet userid = Configuration.userid\nclass CategoryDetail extends Component {\n \n constructor(props){\n super(props)\n this.state = {\n plans: null,\n user: null,\n loading: false,\n userid : Configuration.USER_ID\n // JSON.parse(localStorage.getItem('auth_user'))\n }\n }\n\n componentDidMount(){\n this.setState({\n loading: true\n }, () => {\n this.props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n this.props.dispatch(APIService('POST', 'GetPaymentData?query=GET_USER_PLAN @userID = '+this.state.userid, \"\")).then((data) => {\n console.log(data);\n if(data.data.status === 1000){\n this.setState({\n plans: data.data.data,\n user: token,\n loading: false\n }, () => {\n let plans = this.state.plans;\n plans.sort(function(a, b){return b.Price - a.Price});\n console.log(plans);\n this.setState({ plans });\n })\n }\n }).catch((e) => {\n console.log(e);\n })\n })\n })\n }\n \n payment = (item) => {\n let payment = {\n name: this.state.user.USERNAME,\n email: this.state.user.Email,\n company: this.state.user.ORGANIZATION,\n amount: item.ChargePrice,\n category: item.PlanName,\n planId: item[\"PlanID\"]\n }\n sessionStorage.setItem('transactionDetails', JSON.stringify(payment));\n this.props.history.push('/Checkout');\n }\n\n render(){\n return (\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n

    Plans to make your Work Effective

    \n
    \n
    \n
    \n \n {\n (this.state.plans && this.state.plans.length > 0) ? (\n \n {\n this.state.plans.map((item, index) => {\n return (\n
    \n
    \n
    \n
    {item.PlanName}
    \n {/*
    For Team of 3-5 Members
    */}\n
    \n \n {item.Price}\n / {item.timeDuration}
    \n GST+convenience fee excluded\n
    \n {\n item.PlanName === this.state.user[\"ACTIVE PLAN\"] ? (\n
    \n this.payment(item)}>Current Plan\n
    \n ) : (\n
    \n this.payment(item)}>Choose Plan\n
    \n )\n }\n
    \n
    \n
    \n )\n })\n }\n
    \n ) : null\n }\n \n
    \n
    \n
    \n
    \n
    \n )\n\n }\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(withRouter(CategoryDetail));","import React, {Component, Fragment} from 'react';\n// import NavBar from '../../Common/navbar';\n// import PageTitle from '../../Common/pageTitle';\n// import Sidenav from '../../Common/sidenav';\nimport CategoryDetail from './categoryDetail';\n\nclass Category extends Component{\n render(){\n return(\n \n
    \n {/* \n */}\n \n
    \n
    \n )\n }\n}\n\nexport default Category;","import React, { useEffect, useState } from 'react';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport Avatar from '@material-ui/core/Avatar';\nimport SendIcon from '@material-ui/icons/Send';\n// import WorkIcon from '@material-ui/icons/Work';\nimport AccountBalanceWalletIcon from '@material-ui/icons/AccountBalanceWallet';\nimport LockIcon from '@material-ui/icons/Lock';\nimport { makeStyles } from '@material-ui/core';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { APIService } from '../../../Config/action/apiAction';\nimport moment from 'moment';\nimport { TokenService } from '../../../Config/action/tokenAction';\nimport PageTitle from '../../Common/pageTitle';\nimport { Modal, Spin } from 'antd';\nimport AssignmentIndIcon from '@material-ui/icons/AssignmentInd';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n width: '100%',\n // marginBottom:'60px',\n backgroundColor: theme.palette.background.paper,\n },\n}));\n\nfunction NotificationDetail(props) {\n\n const [state, setState] = useState({\n today: \"\",\n later: \"\"\n });\n const [modal, setModal] = useState(false);\n const [activeNotification, setActiveNotification] = useState(null);\n const classes = useStyles();\n\n const [loading, setLoading] = useState(false);\n \n // Notification Types\n // Security - Lock\n // Payment - Wallet\n // Category - Send\n // admin_request - LibraryBooks\n const sortDate = (a,b) => { \n var dateA = new Date(a.date).getTime();\n var dateB = new Date(b.date).getTime();\n return dateA > dateB ? -1 : 1; \n }; \n\n useEffect(() => {\n defaultUseEffect();\n }, []);\n\n const defaultUseEffect = () => {\n setLoading(true);\n props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n props.dispatch(APIService('POST', \"GetPaymentData?query= GET_NOTIFICATION @ID = \"+token.ID, \"\")).then((data) => {\n if(data.data.status === 1000 && data.data.data.length > 0) {\n let resp = data.data.data;\n props.setActiveNotification(resp[0].unreadCount > 0);\n let today = [];\n let later = [];\n let cd = new Date();\n let currentDate = {\n year: cd.getFullYear(),\n month: cd.getMonth(),\n date: cd.getDate()\n }\n resp.map((item, index) => {\n let d = new Date(item.date);\n let itemDate = {\n date: d.getDate(),\n month: d.getMonth(),\n year: d.getFullYear()\n }\n if(currentDate.year === itemDate.year && currentDate.month === itemDate.month && currentDate.date === itemDate.date){\n today.push(item)\n }\n else{\n later.push(item)\n }\n })\n \n let t = today.sort(sortDate);\n let l = later.sort(sortDate);\n \n setLoading(false);\n setState({\n ...state,\n today: t,\n later: l\n })\n }\n else{\n setLoading(false);\n }\n })\n })\n }\n\n const openInvoice = (orderId) => {\n props.history.push(`/invoice/${orderId}`);\n }\n\n const viewNotification = (e, item, value) => {\n e.preventDefault();\n e.stopPropagation();\n let payload = {\n \"query\":`BroadcastNotification_UpdateStatus @NotifyID = ${item.NotifyID}`\n };\n setLoading(true);\n props.dispatch(APIService(\"DYNAMIC_POST\", \"\", payload)).then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setActiveNotification(item);\n setModal(true);\n }\n else {\n setActiveNotification(item);\n setModal(true);\n }\n }).catch((err) => {\n setLoading(false);\n setActiveNotification(item);\n setModal(true);\n })\n }\n\n const format = (date, time) => {\n if(time){\n return moment(date).format(\"h:mm a\")\n }\n else{\n return moment(date).format('DD/MM/YYYY');\n }\n }\n\n const formatBoth = (date) => {\n return moment(date).format('DD/MM/YYYY h:mm a');\n }\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n \n {\n defaultUseEffect();\n setModal(false)\n }}\n cancelButtonProps={{ style: { display: 'none' } }}\n >\n
    \n Type\n
    \n

    {activeNotification ? activeNotification.type : ''}

    \n
    \n Description\n
    \n

    {activeNotification ? activeNotification.title : ''}

    \n
    \n
    \n
    \n Date\n
    \n

    {activeNotification ? formatBoth(activeNotification.date) : ''}

    \n
    \n {\n (activeNotification && activeNotification.type.toLowerCase() === 'payment' && activeNotification.attechment) ? (\n \n ) : (activeNotification && activeNotification.type.toLowerCase() === 'request') ? (\n \n ) : null\n }\n
    \n \n
    \n
    \n
    \n\n
    \n {\n state.today.length > 0 ? (\n \n \n

    Today

    \n
    \n {\n state.today.map((item, index) => {\n return (\n \n \n \n {\n item.type.toLowerCase() === 'security' ? () : item.type.toLowerCase() === 'payment' ? \n () : item.type.toLowerCase() === 'request' ? () : ()\n }\n \n \n \n \n \n viewNotification(e, item, \"today\")} style={{outline:'none'}}>\n \n \n \n \n \n )\n })\n }\n
    \n ) : null\n }\n \n {\n state.later.length > 0 ? (\n \n \n \n

    Earlier

    \n \n
    \n {\n state.later.map((item, index) => {\n return (\n \n \n \n {\n item.type.toLowerCase() === 'security' ? () : item.type.toLowerCase() === 'payment' ? () : \n item.type.toLowerCase() === 'request' ? () : ()\n }\n \n \n \n \n \n viewNotification(e, item, \"later\")} style={{outline:'none'}}>\n \n \n \n \n \n )\n })\n }\n
    \n ) : null\n }\n
    \n
    \n
    \n )\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(withRouter(NotificationDetail));","import React, {Component, Fragment} from 'react';\nimport NotificationDetail from './notificationDetail';\n\nclass Notifications extends Component{\n constructor(props){\n super();\n }\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default Notifications;","import React, { Component } from 'react';\nimport CompanyLogo from '../../assets/bluMangoes.png';\nimport Button from '@material-ui/core/Button';\nimport Icon from '@material-ui/core/Icon';\nimport SaveIcon from '@material-ui/icons/Save';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { APIService } from '../../../Config/action/apiAction';\nimport { jsPDF } from \"jspdf\";\nimport html2canvas from 'html2canvas';\nimport PageTitle from '../../Common/pageTitle';\nimport { Spin } from 'antd';\nimport GetAppIcon from '@material-ui/icons/GetApp';\n\nclass InvoiceDetail extends Component {\n\n constructor(props){\n super(props);\n this.state = {\n data: null,\n billingInfo: null,\n loading: false\n }\n }\n\n componentDidMount(){\n this.setState({\n loading: true\n }, () => {\n let orderId = this.props.match.params.id;\n this.props.dispatch(APIService('POST', `GetPaymentData?query= TRANSACTION_DETAILS @ORDERID = ${orderId}`, '')).then((data) => {\n console.log(data);\n if(data.data.status === 1000){\n this.setState({\n data: data.data.data[0],\n loading: false\n }, () => {\n if(this.state.data.Customer_name){\n this.setState({\n ...this.state,\n billingInfo: {\n name: this.state.data.Customer_name || '',\n email: this.state.data.Customer_mail || '',\n organisation: this.state.data.Customer_org || '',\n GSTNO: this.state.data.GSTNO || '',\n ADDRESS: this.state.data.ADDRESS || '',\n PIN: this.state.data.PIN || '',\n PHONE: this.state.data.PHONE || ''\n }\n })\n }\n else{\n this.setState({\n ...this.state,\n billingInfo: {\n name: this.state.data.Payee_name || '',\n email: this.state.data.Payee_mail || '',\n organisation: this.state.data.Payee_org || '',\n GSTNO: this.state.data.GSTNO || '',\n ADDRESS: this.state.data.ADDRESS || '',\n PIN: this.state.data.PIN || '',\n PHONE: this.state.data.PHONE || ''\n }\n })\n }\n })\n }\n }).catch((e) => {\n this.setState({\n loading: false\n })\n console.log(e);\n })\n })\n }\n\n printInvoice = () => {\n let orderId = this.props.match.params.id;\n window.open(window.location.origin+'/#/print-invoice/'+orderId, \"_blank\", \"width=800,height=500\");\n }\n\n formatDate = (date) => {\n const monthNames = [\n \"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\n \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\n ];\n \n var d = new Date(date);\n return (monthNames[d.getMonth()] + ' ' + d.getDate() + ', ' + d.getFullYear())\n }\n\n downloadInvoice = () => {\n // this.props.history.push('/print-invoice')\n const input = document.getElementById('invoice');\n html2canvas(input).then((canvas) => {\n const imgData = canvas.toDataURL('image/png');\n // this.setState({\n // ...this.state,\n // src: imgData\n // })\n const pdf = new jsPDF();\n pdf.addImage(imgData, 'JPEG', -10, 10, 270, 110);\n // pdf.output('dataurlnewwindow');\n pdf.save(`${this.props.match.params.id}.pdf`);\n });\n }\n\n render() {\n return (\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n {/*
    \n
    \n \n
    \n
    Note:
    \n \n This page has been enhanced for printing. Click the print button at the bottom of the invoice to test.\n \n
    \n \n
    \n
    \n
    \n

    \n BluMangoes\n Date: 2/10/2014\n

    \n
    \n
    \n
    \n
    \n
    */}\n
    \n
    \n\n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n
    \n \n \n {this.state.data ? this.state.data.RCTNO : ''}
    \n {this.state.data ? this.formatDate(this.state.data.TXNDATE) : ''}
    \n {/* Due: February 1, 2015 */}\n
    \n
    \n \n \n \n \n \n \n \n \n
    \n {/* BluMangoes,
    */}\n BluMangoes ventures Pvt. Ltd.
    \n 404, Kaveri Greens, Kailash Vihar,
    \n Agra-282 007 (U.P), India\n
    \n {this.state.billingInfo ? this.state.billingInfo.organisation : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.PHONE : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.email : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.ADDRESS : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.PIN : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.GSTNO : ''}\n
    \n
    \n Payment Method\n \n \n Transaction ID\n \n
    \n {this.state.data ? this.state.data.BANKNAME : ''}\n \n \n {this.state.data ? this.state.data.TXNID : ''}\n \n
    \n Payment Status\n \n Price\n
    \n {this.state.data ? this.state.data.STATUS === 'TXN_SUCCESS' ? \"Success\" : \"Failure\" : \"\"}\n \n ₹{this.state.data ? this.state.data.TXNAMOUNT : ''}\n
    \n Total: ₹{this.state.data ? this.state.data.TXNAMOUNT : ''}
    \n (Total includes GST 18%)\n
    \n
    \n
    \n
    \n }\n onClick={this.printInvoice}>\n Print\n \n \n {/* }\n onClick={this.downloadInvoice}\n >\n Download\n */}\n
    \n
    \n
    \n
    \n
    \n )\n }\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(withRouter(InvoiceDetail));","import React, {Component, Fragment} from 'react';\nimport InvoiceDetail from './invoiceDetail';\n\nclass Invoice extends Component{\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default Invoice;","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport CompanyLogo from '../../assets/bluMangoes.png';\nimport { APIService } from '../../../Config/action/apiAction';\n\nclass PrintInvoice extends Component {\n\n constructor(props){\n super(props);\n this.state = {\n data: null,\n billingInfo: null\n }\n }\n\n componentDidMount(){\n let orderId = this.props.match.params.id;\n this.props.dispatch(APIService('POST', `GetPaymentData?query= TRANSACTION_DETAILS @ORDERID = ${orderId}`, '')).then((data) => {\n console.log(data);\n if(data.data.status === 1000){\n this.setState({\n data: data.data.data[0]\n }, () => {\n if(this.state.data.Customer_name){\n this.setState({\n ...this.state,\n billingInfo: {\n name: this.state.data.Customer_name || '',\n email: this.state.data.Customer_mail || '',\n organisation: this.state.data.Customer_org || '',\n GSTNO: this.state.data.GSTNO || '',\n ADDRESS: this.state.data.ADDRESS || '',\n PIN: this.state.data.PIN || '',\n PHONE: this.state.data.PHONE || ''\n }\n }, () => {\n window.print();\n })\n }\n else{\n this.setState({\n ...this.state,\n billingInfo: {\n name: this.state.data.Payee_name || '',\n email: this.state.data.Payee_mail || '',\n organisation: this.state.data.Payee_org || '',\n GSTNO: this.state.data.GSTNO || '',\n ADDRESS: this.state.data.ADDRESS || '',\n PIN: this.state.data.PIN || '',\n PHONE: this.state.data.PHONE || ''\n }\n }, () => {\n window.print();\n })\n }\n })\n }\n }).catch((e) => {\n console.log(e);\n })\n }\n\n formatDate = (date) => {\n const monthNames = [\n \"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\n \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"\n ];\n \n var d = new Date(date);\n return (monthNames[d.getMonth()] + ' ' + d.getDate() + ', ' + d.getFullYear())\n }\n\n render(){\n return (\n
    \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n \n \n \n \n \n \n
    \n none\n \n {this.state.data ? this.state.data.RCTNO : ''}
    \n {this.state.data ? this.formatDate(this.state.data.TXNDATE) : ''}
    \n {/* Due: February 1, 2015 */}\n
    \n
    \n \n \n \n \n \n \n \n \n
    \n {/* BluMangoes,
    */}\n BluMangoes ventures Pvt. Ltd.
    \n 404, Kaveri Greens, Kailash Vihar,
    \n Agra-282 007 (U.P), India\n
    \n {this.state.billingInfo ? this.state.billingInfo.organisation : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.PHONE : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.email : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.ADDRESS : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.PIN : ''}
    \n {this.state.billingInfo ? this.state.billingInfo.GSTNO : ''}\n
    \n
    \n Payment Method\n \n \n Transaction ID\n \n
    \n {this.state.data ? this.state.data.BANKNAME : ''}\n \n \n {this.state.data ? this.state.data.TXNID : ''}\n \n
    \n Payment Status\n \n Price\n
    \n {this.state.data ? this.state.data.STATUS === 'TXN_SUCCESS' ? \"Success\" : \"Failure\" : \"\"}\n \n ₹{this.state.data ? this.state.data.TXNAMOUNT : ''}\n
    \n Total: ₹{this.state.data ? this.state.data.TXNAMOUNT : ''}
    \n (Total includes GST 18%)\n
    \n
    \n ) \n }\n \n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(PrintInvoice);"," \n\"use strict\";\nvar crypto = require('crypto');\n\nclass PaytmChecksum {\n\n\tstatic encrypt(input, key) {\n\t\tvar cipher = crypto.createCipheriv('AES-128-CBC', key, PaytmChecksum.iv);\n\t\tvar encrypted = cipher.update(input, 'binary', 'base64');\n\t\tencrypted += cipher.final('base64');\n\t\treturn encrypted;\n\t}\n\tstatic decrypt(encrypted, key) {\n\t\tvar decipher = crypto.createDecipheriv('AES-128-CBC', key, PaytmChecksum.iv);\n\t\tvar decrypted = decipher.update(encrypted, 'base64', 'binary');\n\t\ttry {\n\t\t\tdecrypted += decipher.final('binary');\n\t\t}\n\t\tcatch (e) {\n\t\t\tconsole.log(e);\n\t\t}\n\t\treturn decrypted;\n\t}\n\tstatic generateSignature(params, key) {\n\t\tif (typeof params !== \"object\" && typeof params !== \"string\") {\n\t\t\tvar error = \"string or object expected, \" + (typeof params) + \" given.\";\n\t\t\treturn Promise.reject(error);\n\t\t}\n\t\tif (typeof params !== \"string\"){\n\t\t\tparams = PaytmChecksum.getStringByParams(params);\n\t\t}\n\t\treturn PaytmChecksum.generateSignatureByString(params, key);\n\t}\n\t\n\n\tstatic verifySignature(params, key, checksum) {\n\t\tif (typeof params !== \"object\" && typeof params !== \"string\") {\n\t\t \tvar error = \"string or object expected, \" + (typeof params) + \" given.\";\n\t\t\treturn Promise.reject(error);\n\t\t}\n\t\tif(params.hasOwnProperty(\"CHECKSUMHASH\")){\n\t\t\tdelete params.CHECKSUMHASH\n\t\t}\n\t\tif (typeof params !== \"string\"){\n\t\t\tparams = PaytmChecksum.getStringByParams(params);\n\t\t}\n\t\treturn PaytmChecksum.verifySignatureByString(params, key, checksum);\n\t}\n\n\tstatic async generateSignatureByString(params, key) {\n\t\tvar salt = await PaytmChecksum.generateRandomString(4);\n\t\treturn PaytmChecksum.calculateChecksum(params, key, salt);\n\t}\n\n\tstatic verifySignatureByString(params, key, checksum) {\t\t\n\t\tvar paytm_hash = PaytmChecksum.decrypt(checksum, key);\n\t\tvar salt = paytm_hash.substr(paytm_hash.length - 4);\n\t\treturn (paytm_hash === PaytmChecksum.calculateHash(params, salt));\n\t}\n\n\tstatic generateRandomString(length) {\n\t\treturn new Promise(function (resolve, reject) {\n\t\t\tcrypto.randomBytes((length * 3.0) / 4.0, function (err, buf) {\n\t\t\t\tif (!err) {\n\t\t\t\t\tvar salt = buf.toString(\"base64\");\n\t\t\t\t\tresolve(salt);\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log(\"error occurred in generateRandomString: \" + err);\n\t\t\t\t\treject(err);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic getStringByParams(params) {\n\t\tvar data = {};\n\t\tObject.keys(params).sort().forEach(function(key,value) {\n\t\t\tdata[key] = (params[key] !== null && params[key].toLowerCase() !== \"null\") ? params[key] : \"\";\n\t\t});\n\t\treturn Object.values(data).join('|');\n\t}\n\n\tstatic calculateHash(params, salt) {\t\t\n\t\tvar finalString = params + \"|\" + salt;\n\t\treturn crypto.createHash('sha256').update(finalString).digest('hex') + salt;\n\t}\n\tstatic calculateChecksum(params, key, salt) {\t\t\n\t\tvar hashString = PaytmChecksum.calculateHash(params, salt);\n\t\treturn PaytmChecksum.encrypt(hashString,key);\n\t}\n}\nPaytmChecksum.iv = '@@@@&&&&####$$$$';\n//module.exports = PaytmChecksum;\nexport default PaytmChecksum;","import React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\n// import { withRouter } from 'react-router-dom';\nimport axios from 'axios';\nimport { APIService } from '../../../Config/action/apiAction';\nimport { connect } from 'react-redux';\nimport LoaderGif from '../../assets/loader.gif';\nimport { TokenService } from '../../../Config/action/tokenAction';\nimport PageTitle from '../../Common/pageTitle';\nimport PaytmChecksum from './paytmChecksum'\n//const PaytmChecksum = require('./paytmChecksum');\nconst https = require('https');\n// import BluMangoes from '../../../assets/images/bluMangoes.png';\n\nclass CheckoutDetail extends Component {\n\n constructor(props){\n super(props);\n this.state = {\n loader: true,\n paymentDetails: JSON.parse(sessionStorage.getItem('transactionDetails')) || '',\n paymentObject: {}\n }\n }\n\n printInvoice = () => {\n window.open(window.location.origin+'/#/print-invoice', \"_blank\", \"width=800,height=500\");\n }\n\n componentDidMount(){\n let orderId = 'Order_'+new Date().getTime();\n \n // Production Credentials\n let mid = \"TriCon43051370876787\";\n let mkey = \"c2khS694eFo8IHoi\";\n\n // Sandbox Credentials\n // let mid = \"lXCTyh30644485641900\";\n // let mkey = \"TGeFaPrZ_3@NOk49\";\n var paytmParams = {};\n\n this.props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n paytmParams.body = {\n     \"requestType\"   : \"Payment\",\n     \"mid\"           : mid,\n //     \"websiteName\"   : \"WEBSTAGING\",\n     \"websiteName\"   : \"DEFAULT\",\n     \"orderId\"       : orderId,\n     \"callbackUrl\"   : \"https://merchant.com/callback\",\n     \"txnAmount\"     : {\n         \"value\"     : this.state.paymentDetails.amount,\n         \"currency\"  : \"INR\",\n     },\n     \"userInfo\"      : {\n         \"custId\"    : this.state.paymentDetails.id || token.ID,\n     }\n };\n \n let that = this;\n PaytmChecksum.generateSignature(JSON.stringify(paytmParams.body), mkey).then(function(checksum){\n console.log(checksum);\n     paytmParams.head = {\n         \"signature\"    : checksum\n     };\n \n     var post_data = JSON.stringify(paytmParams);\n \n     var options = {\n \n         /* for Staging */\n //         hostname: 'securegw-stage.paytm.in',\n \n \n         /* for Production */\n         hostname: 'securegw.paytm.in',\n \n         port: 443,\n         path: `/theia/api/v1/initiateTransaction?mid=${mid}&orderId=${orderId}`,\n         method: 'POST',\n         headers: {\n             'Content-Type': 'application/json',\n             'Content-Length': post_data.length\n         }\n     };\n \n     var response = \"\";\n     var post_req = https.request(options, function(post_res) {\n         post_res.on('data', function (chunk) {\n console.log(chunk, \"got\")\n             response += chunk;\n         });\n \n post_res.on('end', function(){\n             console.log('Response: ', response);\n // res.json({data: JSON.parse(response), orderId: orderId, mid: mid, amount: amount});\n that.setState({\n ...that.state,\n loader: false,\n paymentObject: {\n token: JSON.parse(response).body.txnToken, \n order: orderId, \n mid: mid,\n amount: that.state.paymentDetails.amount || ''\n }\n })\n         });\n     });\n \n     post_req.write(post_data);\n     post_req.end();\n });\n })\n }\n\n createPayment = (e) => {\n e.preventDefault();\n e.stopPropagation();\n this.props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n\n let that = this;\n var config = {\n \"root\":\"\",\n \"style\": {\n \"bodyBackgroundColor\": \"#fafafb\",\n \"bodyColor\": \"\",\n \"themeBackgroundColor\": \"#0FB8C9\",\n \"themeColor\": \"#ffffff\",\n \"headerBackgroundColor\": \"#284055\",\n \"headerColor\": \"#ffffff\",\n \"errorColor\": \"\",\n \"successColor\": \"\",\n \"card\": {\n \"padding\": \"\",\n \"backgroundColor\": \"\"\n }\n },\n \"data\": {\n \"orderId\": this.state.paymentObject.order,\n \"token\": this.state.paymentObject.token,\n \"tokenType\": \"TXN_TOKEN\",\n \"amount\": this.state.paymentObject.amount /* update amount */\n },\n \"payMode\": {\n \"labels\": {},\n \"filter\": {\n \"exclude\": []\n },\n \"order\": [\n \"CC\",\n \"DC\",\n \"NB\",\n // \"CARD\",\n // \"LOGIN\",\n \"UPI\",\n \"PPBL\",\n \"PPI\",\n \"BALANCE\"\n ]\n },\n \"website\": \"WEBSTAGING\",\n \"flow\": \"DEFAULT\",\n \"merchant\": {\n \"mid\": this.state.paymentObject.mid,\n \"name\": \"BluMangoes\",\n \"logo\": \"https://scontent.famd13-1.fna.fbcdn.net/v/t1.6435-9/34203651_167307043966441_5573007060569686016_n.png?_nc_cat=105&ccb=1-3&_nc_sid=973b4a&_nc_ohc=xpaQQE4LbZ0AX_5cA8V&_nc_ht=scontent.famd13-1.fna&oh=9f8e56a1b6294ee70d66550fe775a02c&oe=60B94089\",\n \"redirect\": false\n },\n \"handler\": {\n \"transactionStatus\":function transactionStatus(paymentStatus){\n console.log(\"paymentStatus => \",paymentStatus);\n let requestData = {\n \"BANKNAME\": paymentStatus.BANKNAME,\n \"BANKTXNID\": paymentStatus.BANKTXNID,\n \"CHECKSUMHASH\": paymentStatus.CHECKSUMHASH,\n \"CURRENCY\": paymentStatus.CURRENCY,\n \"GATEWAYNAME\": paymentStatus.GATEWAYNAME,\n \"ORDERID\": paymentStatus.ORDERID,\n \"PAYMENTMODE\": paymentStatus.PAYMENTMODE,\n \"RESPCODE\": paymentStatus.RESPCODE,\n \"RESPMSG\": paymentStatus.RESPMSG,\n \"STATUS\": paymentStatus.STATUS,\n \"TXNAMOUNT\": paymentStatus.TXNAMOUNT,\n \"TXNDATE\": paymentStatus.TXNDATE,\n \"TXNID\": paymentStatus.TXNID,\n \"Payee_id\": token.ID.toString(),\n \"Customer_id\": that.state.paymentDetails.id || '',\n \"PLANID\": that.state.paymentDetails[\"planId\"] || ''\n };\n \n console.log(requestData);\n if(requestData.Customer_id === \"\"){\n let u = token;\n u[\"ACTIVE PLAN\"] = that.state.paymentDetails.category;\n u[\"PLAN PRICE\"] = that.state.paymentDetails.amount;\n that.props.dispatch(TokenService(\"setToken\", {key: \"auth_user\", value: u})).then((token) => {})\n // localStorage.setItem(\"auth_user\", JSON.stringify(u));\n }\n console.log(\"data\");\n that.props.dispatch(APIService('POST', 'SavePaymentDetails?query=SAVE_PURCHASE_DATA', requestData)).then((res) => {\n console.log(res);\n if(res.data.status === 1000){\n localStorage.setItem(\"notify_user\", true);\n window.Paytm.CheckoutJS.close();\n that.props.history.push('/invoice/'+paymentStatus.ORDERID);\n }\n else{\n window.Paytm.CheckoutJS.close();\n that.props.history.push('/invoice/'+paymentStatus.ORDERID);\n }\n }).catch((e) => {\n console.log(\"Error\");\n window.Paytm.CheckoutJS.close();\n that.props.history.push('/invoice/'+paymentStatus.ORDERID); \n });\n },\n \"notifyMerchant\":function notifyMerchant(eventName,data){\n console.log(eventName, data);\n console.log(\"notify merchant about the payment state\");\n }\n }\n };\n \n if (window.Paytm && window.Paytm.CheckoutJS) {\n // initialze configuration using init method\n window.Paytm.CheckoutJS.init(config).then(function onSuccess() {\n console.log('Before JS Checkout invoke');\n // after successfully update configuration invoke checkoutjs\n window.Paytm.CheckoutJS.invoke();\n }).catch(function onError(error) {\n console.log(\"Error => \", error);\n });\n }\n })\n }\n\n render() {\n return (\n
    \n \n
    \n
    \n
    \n
    \n\n {/*

    Checkout form

    */}\n\n
    \n\n
    \n\n
    \n\n
    \n\n

    Billing Details

    \n
    \n\n {this.state.paymentDetails.name || ''}
    \n {this.state.paymentDetails.email || ''}
    \n {this.state.paymentDetails.company || ''}\n\n
    \n
    \n \n Category
    \n {this.state.paymentDetails.category || ''}\n\n
    \n {\n this.state.loader ? (\n
    \n \n
    \n ) : (\n \n )\n }\n\n
    \n\n
    \n\n
    \n\n
    \n\n

    \n Your cart\n 1\n

    \n\n
      \n
    • \n
      \n
      {this.state.paymentDetails.category || ''}
      \n Category\n
      \n ₹{this.state.paymentDetails.amount || ''}\n
    • \n {/*
    • \n
      \n
      Second product
      \n Brief description\n
      \n $8\n
    • \n
    • \n
      \n
      Third item
      \n Brief description\n
      \n $5\n
    • \n
    • \n
      \n
      Promo code
      \n EXAMPLECODE\n
      \n -$5\n
    • */}\n
    • \n Total (INR)\n ₹{this.state.paymentDetails.amount || ''}\n
    • \n
    \n\n
    \n\n
    \n\n
    \n
    \n\n
    \n
    \n
    \n )\n }\n};\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: 'loginUser'\n });\n },\n logoutUser: () => {\n dispatch({\n type: 'logoutUser'\n });\n },\n dispatch\n }\n}\n\nexport default connect(null, mapDispatchToProps)(withRouter(CheckoutDetail));","import React, {Component, Fragment} from 'react';\nimport CheckoutDetail from './checkoutDetail';\n\nclass Checkout extends Component{\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default Checkout;","import React, { Component } from \"react\";\nimport { Card, Input } from \"antd\";\nimport \"./troubleTicket.css\";\nimport { Progress } from \"antd\";\nimport { Table } from \"antd\";\nimport { connect } from \"react-redux\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport { Menu, Dropdown } from \"antd\";\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\nimport LaunchIcon from \"@material-ui/icons/Launch\";\nimport Chip from \"@material-ui/core/Chip\";\nimport TicketModal from \"../../Common/createTicketModal\";\nimport { TokenService } from \"../../../Config/action/tokenAction\";\nimport { Fragment } from \"react\";\nimport PageTitle from \"../../Common/pageTitle/index\";\nimport TextField from \"@material-ui/core/TextField\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport Select from \"@material-ui/core/Select\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport Button from \"@material-ui/core/Button\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport moment from \"moment\";\nimport { Spin } from \"antd\";\n\nclass TroubleTicketDetail extends Component {\n gridStyle = {\n width: \"100%\",\n backgroundColor: \"white\",\n };\n\n openEditModal = (record) => {\n this.setState({\n openEdit: true,\n editRecord: record,\n });\n };\n\n openNewModal = () => {\n this.setState({\n ...this.state,\n open: true,\n editRecord: \"\",\n });\n };\n\n handleClose = (reload) => {\n this.setState(\n {\n open: false,\n editRecord: \"\",\n },\n () => {\n if (reload) {\n this.getTicketList();\n }\n }\n );\n };\n\n handleEditClose = (reload) => {\n this.setState(\n {\n openEdit: false,\n editRecord: \"\",\n },\n () => {\n if (reload) {\n this.getTicketList();\n }\n }\n );\n };\n\n handleChange = (key, value) => {\n this.setState(\n {\n ...this.state,\n [key]: value,\n }\n );\n };\n\n handleSearchSubmit = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (this.state.searchColumn && this.state.searchValue) {\n let filterdata = this.state.tableData.filter((item, index) => {\n let searchString = this.state.searchValue.toString();\n let columnValue = item[this.state.searchColumn];\n if (columnValue.toString().includes(searchString)) {\n return item;\n }\n });\n\n this.setState({\n filteredData: filterdata,\n });\n } else if (this.state.searchValue && this.state.searchColumn === \"\") {\n let filterdata = this.state.tableData.filter((item, index) => {\n if (JSON.stringify(item).includes(this.state.searchValue)) {\n return item;\n }\n });\n this.setState(\n {\n filteredData: filterdata,\n }\n );\n } else if (\n this.state.searchValue === \"\" &&\n this.state.searchColumn === \"\"\n ) {\n let tableData = this.state.tableData;\n this.setState({\n filteredData: tableData,\n });\n }\n };\n\n constructor(props) {\n super(props);\n this.state = {\n tableData: [],\n filterValues: \"\",\n user: null,\n filteredData: [],\n editRecord: \"\",\n open: false,\n openEdit: false,\n searchColumn: \"\",\n searchValue: \"\",\n loading: false,\n columns: [\n {\n title: \"Ticket ID\",\n dataIndex: \"TicketID\",\n render: (text, record) => {\n return {\n props: {\n style: {\n fontWeight: \"bold\",\n },\n },\n children:
    {text}
    ,\n };\n },\n sorter: (a, b) => parseInt(a.TicketID) - parseInt(b.TicketID),\n sortDirections: [\"descend\", \"ascend\"],\n },\n\n {\n title: \"Type\",\n dataIndex: \"TicketType\",\n sorter: (a, b) => a.TicketType.length - b.TicketType.length,\n sortDirections: [\"descend\", \"ascend\"],\n },\n\n {\n title: \"Created Date\",\n dataIndex: \"CREATE DATE\",\n render: (date, record) => {\n return {moment(date).format(\"DD/MM/YYYY hh:mm a\")};\n },\n defaultSortOrder: \"descend\",\n sorter: (a, b) => {\n let aDate = new Date(a[\"CREATE DATE\"]).getTime();\n let bDate = new Date(b[\"CREATE DATE\"]).getTime();\n return aDate - bDate;\n },\n sortDirections: [\"descend\", \"ascend\"],\n },\n\n {\n title: \"Status\",\n dataIndex: \"Status\",\n render: (text, record) => {\n if (text.toLowerCase() === \"initialized\") {\n return (\n \n );\n } else if (text.toLowerCase() === \"completed\") {\n return (\n \n );\n } else if (text.toLowerCase() === \"close\") {\n return (\n \n );\n } else if (text.toLowerCase() === \"cancel\") {\n return (\n \n );\n } else {\n return (\n \n );\n }\n },\n sorter: (a, b) => a[\"Status\"].length - b[\"Status\"].length,\n sortDirections: [\"descend\", \"ascend\"],\n },\n\n {\n title: \"Action\",\n dataIndex: \"Action\",\n render: (text, record) => (\n this.openEditModal(record)}\n />\n ),\n },\n ],\n };\n }\n\n componentDidMount() {\n this.props.dispatch(TokenService(\"getToken\", \"auth_user\")).then((token) => {\n this.setState(\n {\n user: token,\n },\n () => {\n this.getTicketList();\n }\n );\n });\n }\n\n getTicketList = () => {\n this.setState(\n {\n loading: true,\n },\n () => {\n this.props\n .dispatch(\n APIService(\n \"POST\",\n \"GetPaymentData?query=GETTROUBLE_TICKET @USERID = \" +\n this.state.user.ID,\n \"\"\n )\n )\n .then((data) => {\n if ((data.status === 200) & (data.data.data.length > 0)) {\n this.setState(\n {\n tableData: data.data.data,\n },\n () => {\n let data = this.state.tableData.filter((item, index) => {\n // item[\"CREATE DATE\"] = moment(item[\"CREATE DATE\"]).format(\"DD/MM/YYYY hh:mm a\")\n return item;\n });\n this.setState({\n filteredData: data,\n loading: false,\n });\n }\n );\n } else {\n this.setState({ loading: false });\n }\n })\n .catch((e) => {\n console.log(e);\n });\n }\n );\n };\n\n render() {\n return (\n
    \n \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Tickets\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n \n Add Ticket\n \n {/* */}\n
    {\" \"}\n \n \n
    \n \n
    \n
    \n \n Initialized\n

    \n {this.state.tableData.length > 0\n ? this.state.tableData[0].initializeTicketCount\n : 0}\n

    \n {/* */}\n
    \n
    \n\n
    \n \n In Progress\n

    \n {this.state.tableData.length > 0\n ? this.state.tableData[0].progressTicketCount\n : 0}\n

    \n {/* */}\n
    \n
    \n
    \n \n Completed\n

    \n {this.state.tableData.length > 0\n ? this.state.tableData[0].completedTicketCount\n : 0}\n

    \n {/* */}\n
    \n
    \n\n
    \n \n Total Tickets\n

    \n {this.state.tableData.length > 0\n ? this.state.tableData[0].completedTicketCount +\n this.state.tableData[0].progressTicketCount +\n this.state.tableData[0].initializeTicketCount\n : 0}\n

    \n {/* */}\n
    \n
    \n
    \n \n
    \n \n
    \n \n
    \n \n this.handleChange(\"searchValue\", e.target.value)\n }\n placeholder=\"Search Keyword\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n
    \n \n this.handleChange(\"searchColumn\", e.target.value)\n }\n label=\"Age\"\n style={{ height: \"30px\" }}\n >\n \n \n \n \n \n
    \n
    \n \n Search\n \n
    \n
    \n\n \n record.TicketID}\n columns={this.state.columns}\n dataSource={this.state.filteredData}\n onChange={this.onChange}\n />\n \n \n \n \n
    \n \n );\n }\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(TroubleTicketDetail);\n","import React, {Component, Fragment} from 'react';\nimport TroubleTicketDetail from './troubleTicket';\n\nclass TroubleTicket extends Component{\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default TroubleTicket;","import React, { useEffect, useState } from \"react\";\nimport { Fragment } from \"react\";\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { span, withRouter, useHistory } from \"react-router-dom\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport { TokenService } from \"../../../Config/action/tokenAction\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport { Spin } from \"antd\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Button from \"@material-ui/core/Button\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport { getAuthorization } from \"../../../Configuration\";\nimport CryptoService from \"../../../Config/action/crypto\";\n\nfunction PricingDetail(props) {\n const [loading, setLoading] = useState(false);\n const [plans, setPlans] = useState([]);\n const [charges, setCharges] = useState([]);\n const [title, setTitle] = useState(\"\");\n const [currencyList, setCurrencyList] = useState([]);\n const [selectedCurrency, setSelectedCurrency] = useState(\"\");\n\n const history = useHistory();\n useEffect(() => {\n defaultUseEffect();\n }, []);\n\n const defaultUseEffect = () => {\n setLoading(true);\n let payload = {\n query: `Exec PricingModule_GetPlanDetailsOrgWise @orgID = ${props.match.params.id}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setPlans(data.data.data);\n setSelectedCurrency(data.data.data[0].CurrencyID);\n setTitle(\n data.data.data.length > 0\n ? data.data.data[0][\"OrganizationName\"]\n : \"\"\n );\n fetchCharges();\n } else {\n setPlans([]);\n fetchCharges();\n }\n })\n .catch((err) => {\n fetchCharges();\n setLoading(false);\n });\n };\n\n const fetchCharges = () => {\n setLoading(true);\n let payload = {\n query: `Exec PricingModule_GetChargesDetailsOrgWise @orgID = ${props.match.params.id}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setCharges(data.data.data);\n getCurrencyList();\n } else {\n setPlans([]);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const handlePlanChange = (key, value, index) => {\n let plan = plans;\n plan[index][key] = value;\n setPlans([...plan]);\n };\n\n const handleChargeChange = (key, value, index) => {\n let charge = charges;\n charge[index][key] = value;\n setCharges([...charge]);\n };\n\n const updatePlan = (e, plan) => {\n e.preventDefault();\n e.stopPropagation();\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n setLoading(true);\n let payload = {\n query: `Exec PricingModule_UpdateOrgPlanDetails @orgID = ${plan.OrgID},@NewPrice = ${plan[\"NewPrice\"]},@PlanID = ${plan.PlanID},@loginID = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(\n CryptoService.decrypt(getAuthorization()).isAdmin\n ? \"Plan updated successfully\"\n : \"Update plan request have been created to Admin.\"\n );\n defaultUseEffect();\n } else {\n setPlans([]);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const updateCharge = (e, charge) => {\n e.preventDefault();\n e.stopPropagation();\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n setLoading(true);\n let payload = {\n query: `Exec PricingModule_UpdateOrgChargeDetails @orgID = ${charge.OrgID},@NewCharge = ${charge.newcharge},@ChargeID = ${charge.chargeID},@loginID = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(\n CryptoService.decrypt(getAuthorization()).isAdmin\n ? \"Charge updated successfully\"\n : \"Update charge request have been created to Admin.\"\n );\n fetchCharges();\n } else {\n setPlans([]);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const showToast = (message) => {\n toast(message, {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n };\n\n const addPlan = (e) => {\n e.preventDefault();\n e.stopPropagation();\n let newPlan = {\n NewPrice: \"\",\n OrgID: props.match.params.id,\n OrganizationName: title,\n PlanID: Date.now(),\n PlanName: \"\",\n new: true,\n };\n let p = [...plans];\n p.push(newPlan);\n setPlans(p);\n };\n\n const createPlan = (e, item) => {\n e.preventDefault();\n e.stopPropagation();\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `PricingModule_CreateNewplan @NewPlanName = ${item.PlanName}, @Price = ${item[\"NewPrice\"]}, @timeDuration = 2, @loginID = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(\n CryptoService.decrypt(getAuthorization()).isAdmin\n ? \"New plan created successfully\"\n : \"New plan request have been created to Admin.\"\n );\n defaultUseEffect();\n } else {\n setPlans([]);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const addCharge = (e) => {\n e.preventDefault();\n e.stopPropagation();\n let newCharge = {\n newcharge: \"\",\n chargetype: \"\",\n OrgID: props.match.params.id,\n OrganizationName: title,\n chargeID: Date.now(),\n new: true,\n };\n let c = [...charges];\n c.push(newCharge);\n setCharges(c);\n };\n\n const createCharge = (e, item) => {\n e.preventDefault();\n e.stopPropagation();\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `PricingModule_CreateNewCharge @Newchargetype = ${item.chargetype}, @totalcharge = ${item.newcharge}, @loginID = ${userId}`,\n };\n setLoading(true);\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(\n CryptoService.decrypt(getAuthorization()).isAdmin\n ? \"New charge created successfully\"\n : \"New charge request have been created to Admin.\"\n );\n fetchCharges();\n } else {\n setCharges([]);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const removePlan = (e, plan) => {\n e.preventDefault();\n e.stopPropagation();\n if (plan.new) {\n let p = [];\n plans.map((item) => {\n if (item.PlanID != plan.PlanID) {\n p.push(item);\n }\n });\n setPlans(p);\n } else {\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `PricingModule_PlanDisAPI @planid = ${plan.PlanID}, @loginId = ${userId}`,\n };\n setLoading(true);\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(\"Plan deleted successfully\");\n defaultUseEffect();\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n };\n\n const removeCharge = (e, charge) => {\n e.preventDefault();\n e.stopPropagation();\n if (charge.new) {\n let c = [];\n charges.map((item) => {\n if (item.chargeID != charge.chargeID) {\n c.push(item);\n }\n });\n setCharges(c);\n } else {\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `PricingModule_ChargeDisAPI @chargeid = ${charge.chargeID}, @loginId = ${userId}`,\n };\n setLoading(true);\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n fetchCharges();\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n };\n\n const getCurrencyList = () => {\n let payload = {\n query: \"exec PricingModule_GetAllCurrencyAPI\",\n };\n setLoading(true);\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setCurrencyList(data.data.data);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const updateCurrency = (e) => {\n e.preventDefault();\n e.stopPropagation();\n console.log(e.currentTarget.value);\n if (e.currentTarget.value) {\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `exec PricingModule_UpdateCurrencyOrgWise @currencyID = ${e.currentTarget.value}, @orgID = ${props.match.params.id}, @loginID = ${userId}`,\n };\n setLoading(true);\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(\"Currency updated successfully\");\n setSelectedCurrency(data.data.data[0].currencyId);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Pricing\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n history.push(\"/Pricing/organization\")}\n className=\"btn btn-primary\"\n >\n Go Back\n \n
    {\" \"}\n
    \n updateCurrency(e)}\n style={{ height: \"33px\" }}\n >\n \n {currencyList.length > 0 ? (\n \n {currencyList.map((item, index) => {\n return (\n \n );\n })}\n \n ) : null}\n \n
    \n
    \n \n \n
    \n {plans.length >= 0 &&\n plans.map((item, index) => (\n <>\n \n \n \n handlePlanChange(\n \"PlanName\",\n e.currentTarget.value,\n index\n )\n }\n value={item.PlanName || \"\"}\n // onChange={this.myChangeHandler}\n placeholder=\"Enter Plan\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n \n \n handlePlanChange(\n \"NewPrice\",\n e.currentTarget.value,\n index\n )\n }\n value={item[\"NewPrice\"] || \"\"}\n // onChange={this.myChangeHandler}\n placeholder=\"Enter Price\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n {item.new ? (\n createPlan(e, item)}\n className=\"btn btn-primary\"\n >\n Save\n \n ) : (\n updatePlan(e, item)}\n className=\"btn btn-primary\"\n >\n Update\n \n )}\n removePlan(e, item)}\n style={{ marginLeft: \"15px\" }}\n className=\"btn btn-danger\"\n >\n Remove\n \n \n \n ))}\n\n
    \n
    \n addPlan(e)}\n className=\"btn btn-primary\"\n >\n Create\n \n
    \n
    \n \n \n
    \n \n \n
    \n {charges.length >= 0 &&\n charges.map((item, index) => (\n <>\n \n \n \n handleChargeChange(\n \"chargetype\",\n e.currentTarget.value,\n index\n )\n }\n value={item[\"chargetype\"] || \"\"}\n // onChange={this.myChangeHandler}\n placeholder=\"Enter Type\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n \n \n handleChargeChange(\n \"newcharge\",\n e.currentTarget.value,\n index\n )\n }\n value={item[\"newcharge\"] || \"\"}\n // onChange={this.myChangeHandler}\n placeholder=\"Enter New Charge\"\n tabIndex={1}\n className=\"form-control\"\n />\n \n {item.new ? (\n createCharge(e, item)}\n className=\"btn btn-primary\"\n >\n Save\n \n ) : (\n updateCharge(e, item)}\n className=\"btn btn-primary\"\n >\n Update\n \n )}\n removeCharge(e, item)}\n style={{ marginLeft: \"15px\" }}\n className=\"btn btn-danger\"\n >\n Remove\n \n \n \n ))}\n\n
    \n
    \n addCharge(e)}\n className=\"btn btn-primary\"\n >\n Create\n \n
    \n
    \n \n \n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(PricingDetail));\n","import React, { useEffect, useState } from \"react\";\nimport { Fragment } from \"react\";\nimport { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { useHistory, withRouter } from \"react-router-dom\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport { TokenService } from \"../../../Config/action/tokenAction\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport { Spin, Table, Card, Button, Select, Space, Modal } from \"antd\";\nimport { SearchOutlined } from \"@ant-design/icons\";\nimport { getAuthorization } from \"../../../Configuration\";\nimport CryptoService from \"../../../Config/action/crypto\";\nimport { TextField } from \"@material-ui/core\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\nfunction PricingList(props) {\n const { Option } = Select;\n const history = useHistory();\n const [loading, setLoading] = useState(false);\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [columns, setColumns] = useState([]);\n const [searchText, setSearchText] = useState(\"\");\n const [searchedColumn, setSearchedColumn] = useState(\"\");\n const [organizationData, setOrganizationData] = useState([]);\n const [isAdmin, setIsAdmin] = useState(0);\n const [currencyData, setCurrencyData] = useState({\n name: \"\",\n symbol: \"\",\n value: \"\",\n });\n\n useEffect(() => {\n setLoading(true);\n setIsAdmin(CryptoService.decrypt(getAuthorization()).isAdmin);\n let payload = {\n query: \"Exec PricingModule_GetOrgData\",\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setOrganizationData(data.data.data);\n if (data.data.data && data.data.data.length > 0) {\n // Calculating unique values\n let values = {};\n\n // Unique columns name\n let keys = Object.keys(data.data.data[0]);\n keys.map((col, index) => {\n data.data.data &&\n data.data.data.map((item, pos) => {\n if (values[col] && values[col].indexOf(item[col]) === -1) {\n values[col].push(item[col]);\n } else if (!values[col]) {\n values[col] = [item[col]];\n }\n });\n });\n\n // Defining dynamic columns\n let columns = [];\n keys.map((item, index) => {\n let payload = {\n title: item,\n dataIndex: item,\n key: item,\n ...getColumnSearchProps(item, values),\n };\n columns.push(payload);\n });\n columns.push({\n title: \"Action\",\n dataIndex: \"\",\n key: \"x\",\n render: (text, record) => (\n \n history.push(`/Pricing/organization/${record.OrgID}`)\n }\n className=\"btn btn-primary\"\n >\n View\n \n ),\n });\n setColumns(columns);\n // setTimeout(() => {\n setLoading(false);\n // }, 000);\n } else {\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n }, []);\n\n const handleCancel = () => {\n setIsModalVisible(false);\n };\n\n const getColumnSearchProps = (dataIndex, val) => ({\n filterDropdown: ({\n setSelectedKeys,\n selectedKeys,\n confirm,\n clearFilters,\n }) => (\n
    \n {\n // this.searchInput = node;\n // }}\n allowClear\n style={{ width: 188, marginBottom: 8, display: \"block\" }}\n placeholder={`Search ${dataIndex}`}\n value={selectedKeys}\n onChange={(values) => setSelectedKeys([...values])}\n >\n {val &&\n val[dataIndex].map((key, index) => {\n return ;\n })}\n \n \n handleSearch(selectedKeys, confirm, dataIndex)}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n handleReset(clearFilters)}\n size=\"small\"\n style={{ width: 90 }}\n >\n Reset\n \n \n
    \n ),\n filterIcon: (filtered) => (\n \n ),\n onFilter: (value, record) => {\n if (record[dataIndex]) {\n return record[dataIndex]\n .toString()\n .toLowerCase()\n .includes(value.toLowerCase());\n }\n },\n });\n\n const handleSearch = (selectedKeys, confirm, dataIndex) => {\n confirm();\n setSearchText(selectedKeys);\n setSearchedColumn(dataIndex);\n };\n const handleReset = (clearFilters) => {\n clearFilters();\n setSearchText(\"\");\n };\n\n const handleOk = (e) => {\n setLoading(true);\n e.preventDefault();\n e.stopPropagation();\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `Exec PricingModule_CreateCurrency @currencyname = ${currencyData.name}, @currencysymbol = \"${currencyData.symbol}\", @inrvalue = ${currencyData.value}, @loginID = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setIsModalVisible(false);\n showToast(\"Currency created successfully\");\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const handleChange = (e, key, value) => {\n e.stopPropagation();\n e.preventDefault();\n setCurrencyData({\n ...currencyData,\n [key]: value,\n });\n };\n\n const showToast = (message) => {\n toast(message, {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n };\n\n return (\n
    \n \n \n
    \n \n
    \n handleChange(e, \"name\", e.currentTarget.value)}\n value={currencyData.name}\n placeholder=\"Currency Name\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n
    \n \n handleChange(e, \"symbol\", e.currentTarget.value)\n }\n value={currencyData.symbol}\n placeholder=\"Currency Symbol\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n
    \n
    \n
    \n \n handleChange(e, \"value\", e.currentTarget.value)\n }\n value={currencyData.value}\n placeholder=\"INR Value\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Organization Listing\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n <>\n {isAdmin ? (\n <>\n setIsModalVisible(true)}\n style={{ marginRight: \"10px\" }}\n className=\"btn btn-primary\"\n >\n New Currency\n \n history.push(\"/Pricing/user\")}\n className=\"btn btn-primary\"\n >\n Assign User\n \n \n ) : (\n <>\n setIsModalVisible(true)}\n className=\"btn btn-primary\"\n >\n New Currency\n \n \n )}\n \n
    \n
    \n

    \n \n
    \n
    \n {organizationData.length > 0 && organizationData != undefined && (\n record.OrganizationCode}\n columns={columns}\n dataSource={organizationData}\n />\n )}\n
    \n
    \n \n \n
    \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(PricingList));\n","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { span, withRouter, useHistory } from \"react-router-dom\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport { Spin, Table, Card, Button, Modal, Select, Space } from \"antd\";\nimport { SearchOutlined } from \"@ant-design/icons\";\n// import Button from '@material-ui/core/Button';\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport Slide from \"@material-ui/core/Slide\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nfunction UserListing(props) {\n const { Option } = Select;\n\n const [columns, setColumns] = useState([]);\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [loading, setLoading] = useState(false);\n const [searchText, setSearchText] = useState(\"\");\n const [searchedColumn, setSearchedColumn] = useState(\"\");\n const [userData, setUserData] = useState([]);\n const [open, setOpen] = React.useState(false);\n const [currentUser, setCurrentUser] = useState(-1);\n const [allUserList, setAllUserList] = useState([]);\n const [userError, setUserError] = useState(false);\n\n const history = useHistory();\n useEffect(() => {\n fetchAllUserList();\n }, []);\n\n const defaultUseEffect = () => {\n setLoading(true);\n let payload = {\n query: \"Exec PricingModule_GetAllUserList\",\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setUserData(data.data.data);\n if (data.data.data && data.data.data.length > 0) {\n // Calculating unique values\n let values = {};\n\n // Unique columns name\n let keys = Object.keys(data.data.data[0]);\n\n keys.map((col, index) => {\n data.data.data &&\n data.data.data.map((item, pos) => {\n if (values[col] && values[col].indexOf(item[col]) === -1) {\n values[col].push(item[col]);\n } else if (!values[col]) {\n values[col] = [item[col]];\n }\n });\n });\n\n // Defining dynamic columns\n let columns = [];\n keys.map((item, index) => {\n let payload = {\n title: item,\n dataIndex: item,\n\n key: item,\n ...getColumnSearchProps(item, values),\n };\n columns.push(payload);\n });\n columns.push({\n title: \"Action\",\n dataIndex: \"\",\n key: \"x\",\n render: (text, record) => (\n handleDelete(e, record)}\n className=\"btn btn-danger\"\n >\n Remove\n \n ),\n });\n setColumns(columns);\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n } else {\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n }\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const fetchAllUserList = async () => {\n setLoading(true);\n let payload = {\n query: \"Exec PricingModule_GetUserList\",\n };\n let result = await props.dispatch(APIService(\"DYNAMIC_POST\", \"\", payload));\n setLoading(false);\n if (result.status === 200 && result.data.status === 1000) {\n setAllUserList(result.data.data);\n defaultUseEffect();\n }\n };\n\n const getColumnSearchProps = (dataIndex, val) => ({\n filterDropdown: ({\n setSelectedKeys,\n selectedKeys,\n confirm,\n clearFilters,\n }) => (\n
    \n {\n // this.searchInput = node;\n // }}\n allowClear\n style={{ width: 188, marginBottom: 8, display: \"block\" }}\n placeholder={`Search ${dataIndex}`}\n value={selectedKeys}\n onChange={(values) => setSelectedKeys([...values])}\n >\n {val &&\n val[dataIndex].map((key, index) => {\n return ;\n })}\n \n \n handleSearch(selectedKeys, confirm, dataIndex)}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n handleReset(clearFilters)}\n size=\"small\"\n style={{ width: 90 }}\n >\n Reset\n \n \n
    \n ),\n filterIcon: (filtered) => (\n \n ),\n onFilter: (value, record) => {\n if (record[dataIndex]) {\n return record[dataIndex]\n .toString()\n .toLowerCase()\n .includes(value.toLowerCase());\n }\n },\n });\n const handleSearch = (selectedKeys, confirm, dataIndex) => {\n confirm();\n setSearchText(selectedKeys);\n setSearchedColumn(dataIndex);\n };\n const handleReset = (clearFilters) => {\n clearFilters();\n setSearchText(\"\");\n };\n\n const showModal = () => {\n setCurrentUser(-1);\n setIsModalVisible(true);\n };\n\n const handleOk = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (currentUser >= 0) {\n setLoading(true);\n setUserError(false);\n let payload = {\n query: `Exec PricingModule_GrantAccess @UserID = ${currentUser}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n defaultUseEffect();\n handleCancel();\n }\n })\n .catch((err) => {\n setLoading(false);\n console.log(err);\n });\n } else {\n setUserError(true);\n }\n };\n\n const handleDelete = (e, record) => {\n e.preventDefault();\n setCurrentUser(record.UserId);\n setOpen(true);\n };\n\n const handleDeleteConfirm = () => {\n setLoading(true);\n let payload = {\n query: `Exec PricingModule_RemoveAccess @UserID = ${currentUser}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n defaultUseEffect();\n handleClose();\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const handleClose = () => {\n setCurrentUser(-1);\n setOpen(false);\n };\n\n const handleCancel = () => {\n setUserError(false);\n setCurrentUser(-1);\n setIsModalVisible(false);\n };\n\n return (\n
    \n \n Warning\n \n \n Are you sure, you want to remove the access for this user?\n \n \n \n \n No\n \n \n Yes\n \n \n \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n User Listing\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n history.push(\"/Pricing/organization\")}\n style={{ marginRight: \"10px\" }}\n className=\"btn btn-primary\"\n >\n Go Back\n \n \n
    \n
    \n

    \n \n
    \n
    \n {userData.length > 0 && userData != undefined && (\n record.UserName}\n columns={columns}\n dataSource={userData}\n />\n )}\n
    \n
    \n
    \n \n \n \n {\n return `${option.username} - ${option.Email}`;\n }}\n onChange={(e, value) => {\n if (value) {\n setCurrentUser(value.userId);\n } else {\n setCurrentUser(-1);\n }\n }}\n style={{ width: \"100%\", fontSize: \"15px\" }}\n renderInput={(params) => (\n \n )}\n />\n {userError && (\n \n Please select a user
    \n
    \n )}\n \n Note: Clicking on save will give pricing module access to the\n selected user.\n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(UserListing));\n","import React, { Component, Fragment } from \"react\";\nimport { BrowserRouter, Redirect, Route, Switch } from \"react-router-dom\";\n// import NavBar from '../../Common/navbar';\n// import PageTitle from '../../Common/pageTitle';\n// import Sidenav from '../../Common/sidenav';\nimport PricingDetail from \"./pricingDetail\";\nimport PricingList from \"./pricingList\";\nimport userListing from \"./userListing\";\nimport { getAuthorization } from \"../../../Configuration\";\nimport CryptoService from \"../../../Config/action/crypto\";\n\nclass Pricing extends Component {\n render() {\n return (\n \n
    \n \n \n \n {CryptoService.decrypt(getAuthorization()).isAdmin ? (\n \n ) : (\n \n )}\n \n \n {/* */}\n
    \n
    \n );\n }\n}\n\nexport default Pricing;\n","import React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { span, withRouter, useHistory } from \"react-router-dom\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport { Spin, Table, Card, Modal, Select, Space } from \"antd\";\nimport { SearchOutlined } from \"@ant-design/icons\";\n// import Button from '@material-ui/core/Button';\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport Slide from \"@material-ui/core/Slide\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport Button from \"@material-ui/core/Button\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nfunction RequestDetail(props) {\n const [loading, setLoading] = useState(false);\n const [plans, setPlans] = useState([]);\n const [charges, setCharges] = useState([]);\n const [title, setTitle] = useState(\"\");\n\n const history = useHistory();\n\n useEffect(() => {\n const orgID = props.match.params.requestId;\n if (orgID) {\n getPlan(orgID);\n } else {\n props.goBack();\n }\n }, []);\n\n const getPlan = (orgID) => {\n setLoading(true);\n let payload = {\n query: `PricingModule_UnApprovedPlanOrgWise @orgID = ${orgID}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n if (data.data.data.length > 0) {\n setTitle(data.data.data[0].OrgName);\n }\n setPlans(data.data.data);\n\n getCharges(orgID);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const getCharges = (orgID) => {\n setLoading(true);\n let payload = {\n query: `PricingModule_UnapprovedchargeOrgWise @orgID = ${orgID}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n if (data.data.data.length > 0) {\n setTitle(data.data.data[0].OrgName);\n }\n // if(data.data.data.length === 0 && plans.length === 0) {\n // props.history.push(\"/approve-request/list\");\n // }\n setCharges(data.data.data);\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const approveRejectPlan = (e, item, isApproved) => {\n e.stopPropagation();\n e.preventDefault();\n setLoading(true);\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `PricingModule_PlanApprovedRejectAPI @orgid = ${item.OrgID},@planid = ${item.PlanID},@newprice = ${item[\"New Price\"]},\n @isApproved = ${isApproved},@loginID = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(isApproved ? \"Request approved\" : \"Request Rejected\");\n const orgID = props.match.params.requestId;\n if (orgID) {\n getPlan(orgID);\n }\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const approveRejectCharge = (e, item, isApproved) => {\n e.stopPropagation();\n e.preventDefault();\n setLoading(true);\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `exec PricingModule_ChargeApprovedRejectAPI @orgid = ${item.OrgID}, @chargeid = ${item.chargeID}, @newcharge = ${item[\"New Charge\"]}, \n @isApproved = ${isApproved},@loginID = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(isApproved ? \"Request approved\" : \"Request Rejected\");\n const orgID = props.match.params.requestId;\n if (orgID) {\n getCharges(orgID);\n }\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const showToast = (message) => {\n toast(message, {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n \n
    \n

    \n Request Details\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n history.push(\"/approve-request/list\")}\n className=\"btn btn-primary\"\n >\n Go Back\n \n
    {\" \"}\n
    \n {plans.length > 0 && (\n <>\n \n \n
    \n {plans.length > 0 &&\n plans.map((item, index) => (\n <>\n \n \n \n
    \n \n \n
    \n approveRejectPlan(e, item, 1)}\n style={{ marginRight: \"10px\" }}\n className=\"btn btn-primary\"\n >\n Approve\n \n approveRejectPlan(e, item, 0)}\n className=\"btn btn-danger\"\n >\n Reject\n \n \n \n ))}\n \n \n \n )}\n\n
    \n {charges.length > 0 && (\n <>\n {\" \"}\n \n \n
    \n {charges.length > 0 &&\n charges.map((item, index) => (\n <>\n \n \n \n
    \n \n \n \n approveRejectCharge(e, item, 1)}\n style={{ marginRight: \"10px\" }}\n className=\"btn btn-primary\"\n >\n Approve\n \n approveRejectCharge(e, item, 0)}\n className=\"btn btn-danger\"\n >\n Reject\n \n \n \n ))}\n \n \n \n )}\n \n {charges.length === 0 && plans.length === 0 ? (\n
    No Request Pending
    \n ) : null}\n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(RequestDetail));\n","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { span, withRouter } from \"react-router-dom\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport { Spin, Table, Card, Button, Modal, Select, Space } from \"antd\";\nimport { SearchOutlined } from \"@ant-design/icons\";\n// import Button from '@material-ui/core/Button';\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogContentText from \"@material-ui/core/DialogContentText\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport Slide from \"@material-ui/core/Slide\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\nlet userData = [\n {\n name: \"kunjan\",\n status: 1,\n address: \"JND\",\n },\n];\nfunction RequestListing(props) {\n const { Option } = Select;\n\n const [columns, setColumns] = useState([]);\n const [isModalVisible, setIsModalVisible] = useState(false);\n const [loading, setLoading] = useState(false);\n const [searchText, setSearchText] = useState(\"\");\n const [searchedColumn, setSearchedColumn] = useState(\"\");\n const [userData, setUserData] = useState([]);\n\n useEffect(() => {\n defaultUseEffect();\n }, []);\n\n const viewDetail = (e, item) => {\n e.stopPropagation();\n e.preventDefault();\n props.history.push(`/approve-request/detail/${item.OrgID}`);\n };\n\n const defaultUseEffect = () => {\n setLoading(true);\n let payload = {\n query: \"exec PricingModule_ListOfOrganizationsUpdatedRequestChargePlan\",\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n console.log(\"DATA\", data);\n setUserData(data.data.data);\n\n if (data.data.data && data.data.data.length > 0) {\n // Calculating unique values\n let values = {};\n\n // Unique columns name\n let keys = Object.keys(data.data.data[0]);\n\n keys.map((col, index) => {\n data.data.data &&\n data.data.data.map((item, pos) => {\n if (values[col] && values[col].indexOf(item[col]) === -1) {\n values[col].push(item[col]);\n } else if (!values[col]) {\n values[col] = [item[col]];\n }\n });\n });\n\n // Defining dynamic columns\n let columns = [];\n keys.map((item, index) => {\n let payload = {\n title: item,\n dataIndex: item,\n\n key: item,\n ...getColumnSearchProps(item, values),\n };\n columns.push(payload);\n });\n columns.push({\n title: \"Action\",\n dataIndex: \"\",\n key: \"x\",\n render: (text, record) => (\n viewDetail(e, record)}\n className=\"btn btn-primary\"\n >\n View\n \n ),\n });\n setColumns(columns);\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n } else {\n setTimeout(() => {\n setLoading(false);\n }, 1000);\n }\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const getColumnSearchProps = (dataIndex, val) => ({\n filterDropdown: ({\n setSelectedKeys,\n selectedKeys,\n confirm,\n clearFilters,\n }) => (\n
    \n setSelectedKeys([...values])}\n >\n {val &&\n val[dataIndex].map((key, index) => {\n return ;\n })}\n \n \n handleSearch(selectedKeys, confirm, dataIndex)}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n handleReset(clearFilters)}\n size=\"small\"\n style={{ width: 90 }}\n >\n Reset\n \n \n
    \n ),\n filterIcon: (filtered) => (\n \n ),\n onFilter: (value, record) => {\n if (record[dataIndex]) {\n return record[dataIndex]\n .toString()\n .toLowerCase()\n .includes(value.toLowerCase());\n }\n },\n });\n const handleSearch = (selectedKeys, confirm, dataIndex) => {\n confirm();\n setSearchText(selectedKeys);\n setSearchedColumn(dataIndex);\n };\n const handleReset = (clearFilters) => {\n clearFilters();\n setSearchText(\"\");\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Request Listing\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n

    \n \n
    \n
    \n {userData.length > 0 && userData != undefined && (\n record.UserName}\n columns={columns}\n dataSource={userData}\n />\n )}\n
    \n
    \n
    \n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(RequestListing));\n","import React, {Component, Fragment} from 'react';\nimport { BrowserRouter, Redirect, Route, Switch } from 'react-router-dom';\nimport requestDetail from './requestDetail';\nimport RequestList from './requestList';\n\nclass RequestContainer extends Component{\n render(){\n return(\n \n
    \n \n \n \n \n \n {/* */}\n
    \n
    \n )\n }\n}\n\nexport default RequestContainer;","import {\n FormControl,\n InputLabel,\n Select,\n TextareaAutosize,\n} from \"@material-ui/core\";\nimport Button from \"@material-ui/core/Button\";\nimport { Spin } from \"antd\";\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport SendIcon from \"@material-ui/icons/Send\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport AutoCompletemulti from \"../../../Actions/Controls/AutoComplete/autoCompleteMultiple\";\n\nfunction NotificationDetail(props) {\n const [loading, setLoading] = useState(false);\n const [state, setState] = useState({\n type: \"Security\",\n title: \"\",\n });\n const [error, setError] = useState(false);\n\n const handleChange = (e) => {\n setState({\n ...state,\n [e.target.name]: e.target.value,\n });\n };\n\n const handleSubmit = (e) => {\n e.stopPropagation();\n e.preventDefault();\n setError(false);\n if (state.title) {\n setLoading(true);\n let payload = {\n query: `BROADCAST_NOTIFICATION @type = ${state.type} , @title = '${state.title}'`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n if (data.status === 200 && data.data.status === 1000) {\n setState({\n ...state,\n type: \"Security\",\n title: \"\",\n });\n props.setActiveNotification(true);\n toast(\"Notification sent successfully\", {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setLoading(false);\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n toast(\"Error Broadcasting Notifications\", {\n position: \"top-right\",\n type: \"error\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setLoading(false);\n });\n } else {\n setError(true);\n }\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Broadcast Notifications\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n \n
    \n \n
    \n \n
    \n
    \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n {error && (\n \n This field is required\n \n )}\n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n \n
    \n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(\n null,\n mapDispatchToProps\n)(withRouter(NotificationDetail));\n","import React, {Component, Fragment} from 'react';\nimport NotificationDetail from './notificationDetail';\n\nclass Broadcast_Notification extends Component{\n constructor(props){\n super();\n }\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default Broadcast_Notification;","import { TextField } from \"@material-ui/core\";\nimport { Spin } from \"antd\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport Button from \"@material-ui/core/Button\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport { Modal } from \"antd\";\n\nfunction BrandDetail(props) {\n const [loading, setLoading] = useState(false);\n const [data, setData] = useState(\"\");\n const [userDataId, setUserId] = useState(0);\n const [selectedBrand, setSelectedBrand] = useState(-1);\n const [brandList, setBrandList] = useState([]);\n const [newBrandModal, setNewBrandModal] = useState(false);\n const [newBrand, setNewBrand] = useState(\"\");\n const [error, setError] = useState(false);\n\n useEffect(() => {\n defaultUseEffect();\n }, []);\n\n const defaultUseEffect = () => {\n // setLoading(true);\n let orgId = JSON.parse(localStorage.getItem(\"auth_user\")).OrgId;\n // setUserId(userId);\n let payload = {\n query: `exec frmBrandMaster_GetBrandList @orgid = ${orgId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setBrandList(data.data.data);\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const fetchPortals = (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (e.currentTarget.value) {\n setLoading(true);\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n setSelectedBrand(e.currentTarget.value);\n let payload = {\n query: `frmBrandMaster_GetPortalBrandData @userid = ${userId}, @BrandID = ${e.currentTarget.value}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setData(data.data.data);\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n };\n\n const handleInputChange = (e) => {\n let list = [...data];\n list.map((item) => {\n if (item.portalid === parseInt(e.target.name)) {\n item.Brand = e.target.value;\n }\n });\n setData(list);\n };\n\n const handleSubmit = (e, portalid) => {\n e.preventDefault();\n e.stopPropagation();\n let currentObject = null;\n setLoading(true);\n data.map((item) => {\n if (item.portalid === portalid) {\n currentObject = item;\n }\n });\n if (currentObject != null) {\n let payload = {\n query: `frmBrandMaster_SaveBrandData @portalID=${currentObject.portalid} , @Brand='${currentObject.Brand}' , @userid = ${userDataId}, @BrandID = ${selectedBrand}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n toast(\"Brand updated successfully\", {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n defaultUseEffect();\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n } else {\n setLoading(false);\n }\n };\n\n const handleOk = (e) => {\n e.stopPropagation();\n e.preventDefault();\n if (newBrand) {\n setError(false);\n setLoading(true);\n let auth = JSON.parse(localStorage.getItem(\"auth_user\"));\n console.log(auth);\n setSelectedBrand(e.currentTarget.value);\n let payload = {\n query: `exec frmBrandMaster_createNewBrand @orgid = ${auth.OrgId}, @Brand = '${newBrand}',@loginID = ${auth.ID}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n toast(\"Brand created successfully\", {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setNewBrandModal(false);\n defaultUseEffect();\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n } else {\n setError(true);\n }\n };\n\n const openModal = (e) => {\n setNewBrandModal(true);\n };\n\n\n const deleteBrand = (e) => {\n setLoading(true)\n\n \n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Brand Details\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n \n
    {\" \"}\n \n setNewBrandModal(false)}\n >\n
    \n setNewBrand(e.currentTarget.value)}\n value={newBrand || \"\"}\n // onChange={this.myChangeHandler}\n placeholder=\"Enter Name\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n\n {error ? (\n \n This field is required\n \n ) : (\n <>\n )}\n \n
    \n \n \n
    \n
    \n fetchPortals(e)}\n >\n \n {brandList.length > 0 && (\n \n {brandList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n {data.length ? (\n <>\n {\" \"}\n {data.map((item, index) => (\n <>\n \n \n \n
    \n \n \n \n\n handleSubmit(e, item.portalid)}\n style={{ marginLeft: \"15px\" }}\n className=\"btn btn-primary\"\n >\n Update\n \n \n \n ))}\n \n ) : null}\n\n {/*
    \n
    \n addCharge(e)}\n className=\"btn btn-primary\"\n >\n Create\n \n
    \n
    */}\n \n \n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(BrandDetail));\n","import React, {Component, Fragment} from 'react';\n// import NavBar from '../../Common/navbar';\n// import PageTitle from '../../Common/pageTitle';\n// import Sidenav from '../../Common/sidenav';\nimport BrandDetail from './brandDetail';\n\nclass Brand extends Component{\n render(){\n return(\n \n
    \n {/* \n */}\n \n
    \n
    \n )\n }\n}\n\nexport default Brand;","import React, { useEffect, useState } from 'react';\nimport ReactDragListView from 'react-drag-listview/lib/index.js';\nimport { Table, Tag, Space } from 'antd';\nimport { DragOutlined } from \"@ant-design/icons\";\nimport { Card, CardActions, CardContent, Checkbox, TableHead, Typography } from '@material-ui/core';\n\nfunction DraggedTable ({ data, setData, mandatoryHandler, checkboxHandler, colorList, colorHandler, usedPriorityList, selectAll, selectAllChange }) {\n\n const dragProps = {\n onDragEnd(fromIndex, toIndex) {\n const d = [...data];\n const item = d.splice(fromIndex, 1)[0];\n d.splice(toIndex, 0, item);\n let largest = Math.max(...usedPriorityList);\n let tempCurrentIndex = -1;\n d.map((item, index) => {\n if(item.Priority) {\n if(index+1 > largest) {\n item[\"Priority\"] = largest;\n tempCurrentIndex = index;\n }\n else {\n item[\"Priority\"] = index + 1;\n }\n }\n })\n if(tempCurrentIndex >= 0) {\n let tempStorage = d.splice(tempCurrentIndex, 1)[0]\n d.splice(largest-1, 0, tempStorage);\n }\n setData(d);\n },\n nodeSelector: 'tr',\n handleSelector: '.all-scroll'\n };\n\n useEffect(() => {\n console.log(selectAll)\n }, [selectAll])\n\n const columns = [\n {\n title: (_, record) => {\n return (\n selectAllChange(val)}\n style={{\n height: \"15px\",\n transform: \"scale(1.5)\",\n paddingTop: \"8px\",\n }}\n />\n )\n },\n dataIndex: 'Checked',\n key: 'Checked',\n render: (_, record) => {\n return (\n 0}\n onChange={(e, val) =>\n checkboxHandler(val, record)\n }\n style={{\n height: \"15px\",\n transform: \"scale(1.5)\",\n paddingTop: \"5px\",\n }}\n />\n )\n },\n },\n {\n title: 'Field Name',\n dataIndex: 'AttributeName',\n key: 'AttributeName'\n },\n {\n title: 'Background Color',\n dataIndex: 'COLOR',\n key: 'COLOR',\n render: (_, record) => {\n return (\n \n )\n }\n },\n {\n title: 'Priority',\n dataIndex: 'Priority',\n key: 'Priority',\n },\n {\n title: \"Mandatory\",\n dataIndex: \"isMandatory\",\n key: \"isMandatory\",\n render: (_, record) => {\n return (\n 0}\n onChange={(e, val) =>\n mandatoryHandler(val, record)\n }\n disabled={!record.Checked}\n style={{\n height: \"15px\",\n transform: \"scale(1.5)\",\n paddingTop: \"5px\",\n }}\n />\n )\n }\n },\n {\n title: 'Drag',\n key: 'action',\n render: (text, record) => (\n <>\n {\n record.Checked ? (\n \n ) : <>\n }\n \n ),\n },\n ];\n\n return (\n
    \n
    \n \n \n {/*
      \n {data.map((item, index) => (\n
    1. \n {item.title}\n \n
      Drag
      \n
      \n
    2. \n ))}\n
    */}\n \n \n \n );\n }\n\nexport default DraggedTable;","import { Spin } from \"antd\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport Button from \"@material-ui/core/Button\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport {\n Card,\n CardActions,\n CardContent,\n Checkbox,\n TableHead,\n Typography,\n} from \"@material-ui/core\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport { useHistory } from \"react-router\";\nimport DraggedTable from \"./draggedTable\";\n\n// import Table from '@mui/material/Table';\n// import TableBody from '@mui/material/TableBody';\n// import td from '@mui/material/TableCell';\n// import TableContainer from '@mui/material/TableContainer';\n// import TableRow from '@mui/material/TableRow';\n// import Paper from '@mui/material/Paper';\n// import Tooltip from '@mui/material/Tooltip';\n\nfunction ImportSheetDetail(props) {\n const [loading, setLoading] = useState(false);\n const [data, setData] = useState([]);\n const [selectedTemplate, setSelectedTemplate] = useState(\"\");\n const [selectedBlock, setSelectedBlock] = useState(\"\");\n const [selectedGroup, setSelectedGroup] = useState(\"\");\n const [selectedChildAttribute, setSelectedChildAttribute] = useState(\"\");\n const [blockList, setBlockList] = useState([]);\n const [groupList, setGroupList] = useState([]);\n const [priorityList, setPriorityList] = useState([]);\n const [usedPriorityList, setUsedPriorityList] = useState([]);\n const [templateName, setTemplateName] = useState(\"\");\n const [sheetName, setSheetName] = useState(\"\");\n const [templateInfo, setTemplateInfo] = useState({\n isDraft: \"\",\n showValueSheet: \"\",\n selectType: \"\",\n });\n const [tempUpdateData, setTempUpdateData] = useState(\"\");\n const [selectAll, setSelectAll] = useState(false);\n const history = useHistory();\n\n const colorList = [\n {\n name: \"Blue\",\n code: \"#007bff\",\n },\n {\n name: \"Light Blue\",\n code: \"#17a2b8\",\n },\n {\n name: \"Blue (Lighter 40%)\",\n code: \"#9CDAEE\",\n },\n {\n name: \"Blue (Lighter 60%)\",\n code: \"#AEDCEB\",\n },\n {\n name: \"Gray\",\n code: \"#6c757d\",\n },\n {\n name: \"Green\",\n code: \"#28a745\",\n },\n {\n name: \"Green (Lighter 40%)\",\n code: \"#8EC895\",\n },\n {\n name: \"Green (Lighter 60%)\",\n code: \"#9ACBA0\",\n },\n {\n name: \"Red\",\n code: \"#dc3545\",\n },\n {\n name: \"Red (Lighter 40%)\",\n code: \"#D88276\",\n },\n {\n name: \"Red (Lighter 60%)\",\n code: \"#DA968C\",\n },\n {\n name: \"Yellow\",\n code: \"#ffc107\",\n },\n {\n name: \"No Fill\",\n code: \"#ffffff\",\n },\n ];\n\n useEffect(() => {\n if (props.match.params && props.match.params.id) {\n setSelectedTemplate(props.match.params.id);\n } else {\n setSelectedTemplate(-1);\n }\n defaultUseEffect();\n }, []);\n\n useEffect(() => {\n console.log(data);\n }, [data]);\n\n const blockChangeHandler = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setSelectedBlock(e.currentTarget.value);\n // getColumnData(e.currentTarget.value, \"\");\n };\n\n const fetchColumnData = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (selectedBlock) {\n getColumnData(selectedBlock, \"\");\n } else {\n toast(\"Please select a block\", {\n position: \"top-right\",\n type: \"error\",\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n };\n\n const groupChangeHandler = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setSelectedGroup(e.currentTarget.value);\n };\n\n const defaultUseEffect = () => {\n setLoading(true);\n let payload = {\n query: \"frmBlockMaster_GetBlockData\",\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setBlockList(data.data.data);\n if (props.match.params.id) {\n fetchTemplateData();\n } else {\n getGroupData();\n }\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const getGroupData = () => {\n let payload = {\n query: \"EXEC FrmImportSheetMaster_GetAttributeGroup\",\n };\n setLoading(true);\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((resp) => {\n setLoading(false);\n if (resp.status === 200 && resp.data.status === 1000) {\n setGroupList(resp.data.data);\n }\n })\n .catch((e) => {\n setLoading(false);\n });\n };\n\n const fetchTemplateData = () => {\n let payload = {\n query: `frmImportSheet_getImportSheetDeatils @templateid = ${props.match.params.id}`,\n };\n setLoading(true);\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((resp) => {\n setLoading(false);\n if (resp.status === 200 && resp.data.status === 1000) {\n if (resp.data.data.length > 0) {\n setTemplateName(resp.data.data[0].TamplateName);\n setSheetName(resp.data.data[0].SheetName);\n setTempUpdateData(resp.data.data[0]);\n // Block ID is required from response\n setSelectedBlock(resp.data.data[0].BlockID);\n setSelectedTemplate(resp.data.data[0].TemplateID);\n setTemplateInfo({\n ...templateInfo,\n isDraft: resp.data.data[0].isDraft.toString(),\n showValueSheet: resp.data.data[0].showValueSheet.toString(),\n });\n getColumnData(\n resp.data.data[0].BlockID,\n JSON.parse(resp.data.data[0].Columns)\n );\n } else {\n throw 500;\n }\n }\n })\n .catch((e) => {\n setLoading(false);\n });\n };\n\n const getColumnData = (blockID, updateData) => {\n setLoading(true);\n let query = `frmImportSheet_GetAllPossibleColumn @BlockID = ${blockID}`;\n if (selectedGroup) {\n query = `${query}, @GroupID = ${selectedGroup}`;\n } else {\n query = `${query}, @GroupID = 0`;\n }\n\n if (selectedChildAttribute) {\n query = `${query}, @ShowChildAttribute = ${selectedChildAttribute}`;\n } else {\n query = `${query}, @ShowChildAttribute = 0`;\n }\n let payload = {\n query: query,\n };\n console.log(query);\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n if (props.match.params && props.match.params.id) {\n // update\n let list = [];\n let usedList = [];\n let usedPriority = [];\n data.data.data.map((item) => {\n updateData.map((x) => {\n if (x.AID === item.AID && !usedList.includes(x.AID)) {\n item[\"Priority\"] = x.Priority;\n item[\"COLOR\"] = x.COLOR || \"#ffffff\";\n item[\"Checked\"] = 1;\n item[\"isMandatory\"] = x.isMandatory || 0;\n item[\"key\"] = x.AID;\n list.push(item);\n if (x.Priority) {\n usedPriority.push(x.Priority);\n }\n usedList.push(parseInt(x.AID));\n }\n });\n });\n data.data.data.map((item) => {\n if (!usedList.includes(parseInt(item.AID))) {\n item[\"Priority\"] = \"\";\n item[\"COLOR\"] = \"#ffffff\";\n item[\"Checked\"] = 0;\n item[\"isMandatory\"] = 0;\n item[\"key\"] = item.AID;\n list.push(item);\n usedList.push(item.AID);\n }\n });\n let priority = [];\n for (let i = 1; i <= list.length; i++) {\n priority.push(i);\n }\n setPriorityList(priority);\n let nonPriority = [];\n let itemList = list.sort((a, b) => {\n return a.Priority - b.Priority;\n });\n let newListing = itemList.filter((x) => {\n if (x.Priority) {\n return x;\n } else {\n nonPriority.push(x);\n }\n });\n newListing.map((item, index) => {\n item[\"Priority\"] = index + 1;\n });\n setData(newListing.concat(nonPriority));\n setUsedPriorityList(usedPriority);\n } else {\n // create\n let listedList = [];\n data.data.data.map((x, index) => {\n x[\"Priority\"] = \"\";\n x[\"COLOR\"] = \"#ffffff\";\n x[\"Checked\"] = 0;\n x[\"isMandatory\"] = 0;\n x[\"key\"] = index;\n listedList.push(x);\n });\n let priority = [];\n for (let i = 1; i <= listedList.length; i++) {\n priority.push(i);\n }\n setPriorityList(priority);\n setData(listedList);\n }\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const checkboxHandler = (value, item) => {\n if (value) {\n let list = [...data];\n let usedValues = [...usedPriorityList];\n let p = 0;\n var largest = 0;\n for (let i = 0; i <= largest; i++) {\n if (usedValues[i] > largest) {\n var largest = usedValues[i];\n }\n }\n let nextVal = parseInt(largest) + 1;\n if (priorityList.includes(nextVal)) {\n p = nextVal;\n usedValues.push(p);\n } else {\n for (let j = 0; j < priorityList.length; j++) {\n if (!usedValues.includes(priorityList[j])) {\n p = priorityList[j];\n usedValues.push(p);\n break;\n }\n }\n }\n let tempIndex = -1;\n list.map((x, index) => {\n if (x.AID === item.AID) {\n x[\"Checked\"] = 1;\n x[\"Priority\"] = p;\n tempIndex = index;\n }\n });\n let tempStorage = list.splice(tempIndex, 1)[0];\n list.splice(p - 1, 0, tempStorage);\n setData(list);\n setUsedPriorityList(usedValues);\n } else {\n let list = [...data];\n let currentIndex = -1;\n list.map((x, index) => {\n if (x.AID === item.AID) {\n currentIndex = index;\n x[\"Checked\"] = 0;\n x[\"isMandatory\"] = 0;\n x[\"COLOR\"] = \"#ffffff\";\n if (x.Priority) {\n x[\"Priority\"] = \"\";\n }\n }\n });\n let tempStorage = list.splice(currentIndex, 1)[0];\n let listing = [];\n list.push(tempStorage);\n list.map((val, index) => {\n if (val.Priority) {\n val[\"Priority\"] = index + 1;\n listing.push(index + 1);\n }\n });\n setUsedPriorityList(listing);\n setData(list);\n }\n };\n\n const colorHandler = (e, item) => {\n let list = [...data];\n list.map((x) => {\n if (x.AID === item.AID) {\n x[\"COLOR\"] = e.currentTarget.value;\n }\n });\n setData(list);\n };\n\n const mandatoryHandler = (value, item) => {\n let list = [...data];\n list.map((x) => {\n if (x.AID === item.AID) {\n x[\"isMandatory\"] = value ? 1 : 0;\n }\n });\n setData(list);\n };\n\n const saveData = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setLoading(true);\n let valid = true;\n let payload = [];\n if (!templateInfo.isDraft || !templateInfo.showValueSheet) {\n toast(\n templateInfo.isDraft\n ? \"Show Value Sheet field is required\"\n : \"Is Draft field is required\",\n {\n position: \"top-right\",\n type: \"error\",\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n }\n );\n setLoading(false);\n return false;\n }\n if (!templateName) {\n toast(\"Template name is required\", {\n position: \"top-right\",\n type: \"error\",\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setLoading(false);\n return false;\n }\n if (!sheetName) {\n toast(\"Sheet name is required\", {\n position: \"top-right\",\n type: \"error\",\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setLoading(false);\n return false;\n }\n if (!templateInfo.selectType) {\n toast(\"Select Type is required\", {\n position: \"top-right\",\n type: \"error\",\n autoClose: \"2500\",\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setLoading(false);\n return false;\n }\n\n data.map((x) => {\n if (x.Checked) {\n if (x.Priority) {\n x[\"TemplateName\"] = templateName;\n x[\"BlockID\"] = selectedBlock;\n x[\"TemplateID\"] = selectedTemplate > 0 ? selectedTemplate : 0;\n x[\"isDraft\"] = parseInt(templateInfo.isDraft);\n x[\"showValueSheet\"] = parseInt(templateInfo.showValueSheet);\n x[\"selectType\"] = parseInt(templateInfo.selectType);\n x[\"sheetName\"] = sheetName;\n payload.push(x);\n } else {\n toast(\"Please set the priority for all the selected columns\", {\n position: \"top-right\",\n type: \"error\",\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n valid = false;\n setLoading(false);\n }\n }\n });\n if (valid) {\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let requestBody = {\n query: `EXEC frmImportSheet_SaveUpdateTemplate @dtJSON = '${JSON.stringify(\n payload\n )}' , @loginID = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", requestBody))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n createToast(\n selectedTemplate\n ? \"Template updated successfully\"\n : \"Template created successfully\"\n );\n }\n })\n .catch((err) => {\n setLoading(false);\n createToast(\"Something went wrong.\");\n });\n }\n };\n\n useEffect(() => {\n if (\n usedPriorityList.length > 0 &&\n usedPriorityList.length === priorityList.length\n ) {\n setSelectAll(true);\n } else {\n setSelectAll(false);\n }\n }, [usedPriorityList]);\n\n const createToast = (msg) => {\n toast(msg, {\n position: \"top-right\",\n type: \"error\",\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n };\n\n const selectAllChange = (globalChecked) => {\n setLoading(true);\n setSelectAll(globalChecked);\n let list = [...data];\n let l = [];\n if (globalChecked) {\n list.map((item, index) => {\n item.Priority = index + 1;\n item.Checked = 1;\n l.push(index + 1);\n });\n setUsedPriorityList(l);\n setData(list);\n setLoading(false);\n } else {\n list.map((item) => {\n item.Priority = \"\";\n item.Checked = 0;\n });\n setUsedPriorityList([]);\n setData(list);\n setLoading(false);\n }\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n \n
    \n

    \n {selectedTemplate > 0 ? \"Update Template\" : \"Create Template\"}\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n history.push(\"/Import-sheet/templates\")}\n className=\"btn btn-primary\"\n >\n Go Back\n \n
    {\" \"}\n
    \n \n
    \n
    \n \n
    \n 0}\n value={selectedBlock}\n style={{ height: \"30px\", marginTop: \"0px\" }}\n onChange={(e) => blockChangeHandler(e)}\n >\n \n {blockList.length > 0 && (\n \n {blockList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n
    \n
    \n {selectedTemplate === 0 || selectedTemplate < 0 ? (\n <>\n
    \n \n
    \n 0}\n value={selectedGroup}\n style={{ height: \"30px\", marginTop: \"0px\" }}\n onChange={(e) => groupChangeHandler(e)}\n >\n \n {groupList.length > 0 && (\n \n {groupList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n
    \n
    \n
    \n \n
    \n 0}\n value={selectedChildAttribute}\n style={{ height: \"30px\", marginTop: \"0px\" }}\n onChange={(e) =>\n setSelectedChildAttribute(e.currentTarget.value)\n }\n >\n \n \n \n \n
    \n
    \n
    \n \n
    \n fetchColumnData(e)}\n className=\"btn btn-primary\"\n >\n Submit\n \n
    \n
    \n \n ) : null}\n
    \n
    \n
    \n {data.length > 0 && (\n \n \n
    \n \n
    \n {selectedTemplate > 0 ? (\n <>\n {\" \"}\n {\" \"}\n \n ) : (\n <>\n {\" \"}\n {\" \"}\n \n )}\n
    \n
    {\" \"}\n
    \n
    \n \n
    \n {\n if (e.currentTarget.value) {\n setTemplateInfo({\n ...templateInfo,\n selectType: e.currentTarget.value,\n });\n }\n }}\n >\n \n \n \n \n \n \n
    \n
    \n
    \n \n
    \n {\n if (e.currentTarget.value) {\n setTemplateInfo({\n ...templateInfo,\n isDraft: e.currentTarget.value,\n });\n }\n }}\n >\n \n \n \n \n
    \n
    \n
    \n \n
    \n {\n if (e.currentTarget.value) {\n setTemplateInfo({\n ...templateInfo,\n showValueSheet: e.currentTarget.value,\n });\n }\n }}\n >\n \n \n \n \n
    \n
    \n
    \n \n
    \n setSheetName(e.currentTarget.value)}\n value={sheetName}\n // onChange={this.myChangeHandler}\n placeholder=\"Sheet Name\"\n // tabIndex={1}\n className=\"form-control\"\n />\n
    \n
    \n \n \n
    \n setTemplateName(e.currentTarget.value)}\n value={templateName}\n // onChange={this.myChangeHandler}\n placeholder=\"Template Name\"\n // tabIndex={1}\n className=\"form-control\"\n />\n
    \n
    \n {\" \"}\n
    \n {data.length > 0 && (\n
    \n \n
    \n )}\n
    \n \n )}\n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(ImportSheetDetail));\n","import { Dropdown, Spin } from \"antd\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter, useHistory } from \"react-router\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport { Table, Card, Button, Space, Select } from \"antd\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport { EditOutlined, SearchOutlined } from \"@ant-design/icons\";\nimport { stat } from \"fs\";\n\n\nfunction ImportSheetList(props) {\n const { Option } = Select;\n const [loading, setLoading] = useState(false);\n const [data, setData] = useState(\"\");\n const [userDataId, setUserId] = useState(0);\n const [listData, setListData] = useState([]);\n const [columns, setColumns] = useState([]);\n const [searchText, setSearchText] = useState(\"\");\n const [searchedColumn, setSearchedColumn] = useState(\"\");\n const history = useHistory();\n\n\n useEffect(() => {\n defaultUseEffect();\n }, []);\n\n const deleteTemplate = (e, temp) => {\n e.stopPropagation();\n e.preventDefault();\n setLoading(true);\n let payload = {\n query: `exec frmImportSheetPortal_DeleteImportSheetAPI @templateID = ${temp.TemplateID}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n showToast(\"Template deleted successfully\");\n defaultUseEffect();\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const showToast = (message) => {\n toast(message, {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n };\n\n const defaultUseEffect = () => {\n setLoading(true);\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n setUserId(userId);\n let payload = {\n query: \"frmImortSheet_GetImportSheet\",\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setListData(data.data.data);\n let values = {};\n\n // Unique columns name\n let keys = Object.keys(data.data.data[0]);\n keys.map((col, index) => {\n data.data.data &&\n data.data.data.map((item, pos) => {\n if (values[col] && values[col].indexOf(item[col]) === -1) {\n values[col].push(item[col]);\n } else if (!values[col]) {\n values[col] = [item[col]];\n }\n });\n });\n\n // Defining dynamic columns\n let columns = [];\n keys.map((item, index) => {\n let payload = {\n title: item,\n dataIndex: item,\n key: item,\n ...getColumnSearchProps(item, values),\n };\n columns.push(payload);\n });\n columns.push({\n title: \"Action\",\n dataIndex: \"\",\n key: \"x\",\n render: (text, record) => (\n <>\n \n props.history.push(\n `/Import-sheet/templates/edit/${record.TemplateID}`\n )\n }\n className=\"btn btn-primary\"\n style={{ marginRight: \"10px\" }}\n >\n View\n \n\n deleteTemplate(e, record)}\n className=\"btn btn-danger\"\n >\n Delete\n \n \n ),\n });\n setColumns(columns);\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const getColumnSearchProps = (dataIndex, val) => ({\n filterDropdown: ({\n setSelectedKeys,\n selectedKeys,\n confirm,\n clearFilters,\n }) => (\n
    \n {\n // this.searchInput = node;\n // }}\n allowClear\n style={{ width: 188, marginBottom: 8, display: \"block\" }}\n placeholder={`Search ${dataIndex}`}\n value={selectedKeys}\n onChange={(values) => setSelectedKeys([...values])}\n >\n {val &&\n val[dataIndex].map((key, index) => {\n return ;\n })}\n \n \n handleSearch(selectedKeys, confirm, dataIndex)}\n icon={}\n size=\"small\"\n style={{ width: 90 }}\n >\n Search\n \n handleReset(clearFilters)}\n size=\"small\"\n style={{ width: 90 }}\n >\n Reset\n \n \n
    \n ),\n filterIcon: (filtered) => (\n \n ),\n onFilter: (value, record) => {\n if (record[dataIndex]) {\n return record[dataIndex]\n .toString()\n .toLowerCase()\n .includes(value.toLowerCase());\n }\n },\n });\n\n const handleSearch = (selectedKeys, confirm, dataIndex) => {\n confirm();\n setSearchText(selectedKeys);\n setSearchedColumn(dataIndex);\n };\n const handleReset = (clearFilters) => {\n clearFilters();\n setSearchText(\"\");\n };\n\n return (\n
    \n
    \n
    \n \n
    \n
    \n \n\n
    \n \n
    \n

    \n Template Listing\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n history.push(\"/Import-sheet/templates/create\")}\n className=\"btn btn-primary\"\n >\n Create\n \n
    \n
    \n

    \n \n
    \n
    \n {listData.length > 0 && listData != undefined && (\n record.OrganizationCode}\n columns={columns}\n dataSource={listData}\n />\n )}\n
    \n
    \n
    \n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(ImportSheetList));\n","import React, { Component, Fragment } from \"react\";\nimport { Redirect, Route, Switch } from \"react-router\";\nimport ImportSheetDetail from \"./importSheetDetail\";\nimport importSheetList from \"./importSheetList\";\n\nclass Import_Sheet extends Component {\n render() {\n return (\n \n
    \n \n \n \n \n \n \n {/* */}\n
    \n
    \n // \n //
    \n // \n //
    \n //
    \n );\n }\n}\n\nexport default Import_Sheet;\n","import { TextField } from \"@material-ui/core\";\nimport { Spin } from \"antd\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router\";\nimport PageTitle from \"../../Common/pageTitle\";\nimport Button from \"@material-ui/core/Button\";\nimport { APIService } from \"../../../Config/action/apiAction\";\nimport { ToastContainer, toast } from \"react-toastify\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\nfunction ImageDetail(props) {\n const [loading, setLoading] = useState(false);\n const [selectedPortal, setSelectedPortal] = useState(-1);\n const [portalList, setPortalList] = useState([]);\n const [portalBrandList, setPortalBrandList] = useState([]);\n const [attributedList, setAttributeList] = useState([]);\n const [lotList, setLotList] = useState([]);\n const [blockList, setBlockList] = useState([]);\n const [selectedBlock, setSelectedBlock] = useState(0);\n const [isFetched, setIsFetched] = useState(false);\n\n useEffect(() => {\n defaultUseEffect();\n }, []);\n\n const defaultUseEffect = () => {\n setLoading(true);\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n query: `exec frmImagePosition_GetPortalBrandAPI @userid = ${userId}`,\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setPortalList(data.data.data);\n getAllBlocks();\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n const getAllBlocks = () => {\n setLoading(true);\n let payload = {\n \"query\":\"frmBlockMaster_GetBlockData\"\n };\n props.dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload)).then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setBlockList(data.data.data);\n }\n else{\n throw 500;\n }\n }).catch((err) => {\n setLoading(false);\n })\n }\n\n const blockChangeHandler = (e) => {\n if(e.currentTarget.value) {\n setSelectedBlock(e.currentTarget.value);\n }\n }\n\n const fetchAllData = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setLoading(true);\n if(selectedBlock && selectedPortal) {\n let orgId = JSON.parse(localStorage.getItem(\"auth_user\")).OrgId;\n let payload = {\n query: `exec frmImagePositioning_GetAllFeildsAllrdyMappedLocalFields @portalid = ${selectedPortal}, @orgid = ${orgId}, @blockid = ${selectedBlock}`,\n };\n props.dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload)).then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setIsFetched(true);\n if (data.status === 200 && data.data.status === 1000) {\n setPortalBrandList(data.data?.data);\n setLoading(true);\n let payload = {\n query: \"exec frmImagePosition_GetImagesAttributesToBeMapped\",\n };\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setAttributeList(data.data?.data);\n getLoadData();\n }\n });\n }\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n }\n else {\n if(selectedBlock <= 0) {\n toast(\"Please select a block\", {\n position: \"top-right\",\n type: 'error',\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n if(selectedPortal <= 0) {\n toast(\"Please select a Portal\", {\n position: \"top-right\",\n type: 'error',\n autoClose: 2500,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n }\n }\n\n const portalHandler = (e) => {\n e.preventDefault();\n e.stopPropagation();\n let val = e.currentTarget.value;\n if (val) {\n setSelectedPortal(val);\n }\n };\n\n \n\n const getLoadData = () => {\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let payload = {\n \"query\": `EXEC frmImagePositioning_GetLotData @userid = '${userId}'`\n }\n props.dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload)).then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n setLotList(data.data.data);\n }\n });\n }\n\n const attributeHandler = (e, item) => {\n e.preventDefault();\n e.stopPropagation();\n let arr = [...portalBrandList];\n if (e.currentTarget.value) {\n arr.map((x, index) => {\n if (x.HeaderName === item.HeaderName) {\n x.AttributeID = e.currentTarget.value;\n }\n });\n setPortalBrandList(arr);\n }\n };\n const lotHandler = (e, item) => {\n e.preventDefault();\n e.stopPropagation();\n let arr = [...portalBrandList];\n if (e.currentTarget.value) {\n arr.map((x, index) => {\n if (x.HeaderName === item.HeaderName) {\n x.LotID = e.currentTarget.value;\n }\n });\n setPortalBrandList(arr);\n }\n }\n const handleSubmit = (e, item) => {\n e.preventDefault();\n e.stopPropagation();\n setLoading(true);\n\n let userId = JSON.parse(localStorage.getItem(\"auth_user\")).ID;\n let orgId = JSON.parse(localStorage.getItem(\"auth_user\")).OrgId;\n let payload = {\n query: `frmImagePositioning_SaveAPI @attributeid = ${\n item.AttributeID\n }, @portalid = ${item.PortalID.toString()}, @LotID = '${item.LotID || 0}', @portalheader = '${\n item.HeaderName\n }',@orgID = ${orgId},@loginID = ${userId}`,\n };\n\n props\n .dispatch(APIService(\"DYNAMIC_NEW_POST\", \"\", payload))\n .then((data) => {\n setLoading(false);\n if (data.status === 200 && data.data.status === 1000) {\n toast(\"Portal updated successfully\", {\n position: \"top-right\",\n type: \"success\",\n autoClose: 2000,\n hideProgressBar: true,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n defaultUseEffect();\n } else {\n throw 500;\n }\n })\n .catch((err) => {\n setLoading(false);\n });\n };\n\n return (\n
    \n
    \n
    \n \n
    \n \n
    \n
    \n \n
    \n

    \n Image Positioning\n {/* \n (* Fields are mandatory)\n */}\n \n

    \n
    \n {/* */}\n
    {\" \"}\n \n {/* setNewBrandModal(false)}\n >\n
    \n setNewBrand(e.currentTarget.value)}\n value={newBrand || \"\"}\n // onChange={this.myChangeHandler}\n placeholder=\"Enter Name\"\n tabIndex={1}\n className=\"form-control\"\n />\n
    \n\n {error ? (\n \n This field is required\n \n ) : (\n <>\n )}\n */}\n
    \n
    \n {/* \n \n
    \n
    \n portalHandler(e)}\n >\n \n {portalList.length > 0 && (\n \n {portalList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n
    \n
    \n
    \n
    */}\n
    \n \n
    \n portalHandler(e)}\n >\n \n {portalList.length > 0 && (\n \n {portalList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n
    \n
    \n\n
    \n \n
    \n blockChangeHandler(e)}\n >\n \n {blockList.length > 0 && (\n \n {blockList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n
    \n
    \n\n
    \n \n
    \n fetchAllData(e)}\n className=\"btn btn-primary\"\n >\n Submit\n \n
    \n
    \n
    \n
    \n \n
    \n {portalBrandList.length && portalBrandList.length > 0 ? (\n <>\n {\" \"}\n {portalBrandList.map((item, index) => (\n \n \n \n

    {item.HeaderName}

    \n
    \n \n attributeHandler(e, item)}\n >\n \n {attributedList.length > 0 && (\n \n {attributedList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n \n \n lotHandler(e, item)}\n >\n \n {lotList.length > 0 && (\n \n {lotList.map((item, index) => {\n return (\n \n );\n })}\n \n )}\n \n \n\n handleSubmit(e, item)}\n style={{ marginLeft: \"15px\", height: \"46px\" }}\n className=\"btn btn-primary\"\n disabled={item.AttributeID == null ? true : false}\n >\n Update\n \n \n \n ))}\n \n ) : (\n <>\n {\n isFetched ? (\n
    \n No Data Found\n
    \n ) : null\n }\n \n )}\n\n {/*
    \n
    \n addCharge(e)}\n className=\"btn btn-primary\"\n >\n Create\n \n
    \n
    */}\n \n \n \n \n \n );\n}\n\nconst mapDispatchToProps = (dispatch) => {\n return {\n loginUser: () => {\n dispatch({\n type: \"loginUser\",\n });\n },\n logoutUser: () => {\n dispatch({\n type: \"logoutUser\",\n });\n },\n dispatch,\n };\n};\n\nexport default connect(null, mapDispatchToProps)(withRouter(ImageDetail));\n","import React, {Component, Fragment} from 'react';\nimport ImageDetail from './imageDetail';\n\nclass ImagePosition extends Component{\n constructor(props){\n super();\n }\n render(){\n return(\n \n
    \n \n
    \n
    \n )\n }\n}\n\nexport default ImagePosition;"," \nimport React, { useEffect, useState } from 'react';\nimport { Route, Redirect } from 'react-router-dom';\nimport { getToken } from './Configuration';\n \nimport SideMenu from \"./SideMenu\";\nimport Header from \"./Header\";\nimport Menu from \"./Menu\";\nimport Footer from \"./Footer\";\nimport { getAuthorization } from \"./Configuration\";\nimport CryptoService from './Config/action/crypto';\n// handle the private routes\nfunction AdminRoute({ component: Component, ...rest }) {\n\n const [activeNotification, setActiveNotification] = useState(false);\n\n return (\n CryptoService.decrypt(getAuthorization()).isAdmin ?
    : }\n />\n )\n}\n \nexport default AdminRoute;","import React from \"react\";\nimport { HashRouter, Route, Switch } from \"react-router-dom\";\n//import Dashboard from './Dashboard';\nimport frmproductfield from \"./IMAGE/frmAttributeMaster\";\nimport frmValueAliasingMaster from \"./IMAGE/frmValueAliasingMaster\";\nimport frmproductcategory from \"../src/IMAGE/frmproductcategory\";\nimport frmorganization from \"../src/IMAGE/frmorganization\";\nimport frmuser from \"../src/IMAGE/frmuser\";\nimport frmproductdetails from \"../src/IMAGE/frmproductdetails\";\nimport frmExportData from \"../src/Updated/frmExportTemplate\";\nimport frmMulProduct from \"../src/IMAGE/frmMultipleProduct\";\nimport frmUpdateAttributeAliasing from \"../src/IMPORTDATA/UpdateAttributeAliasing\";\nimport frmUpdateValueAliasing from \"../src/IMPORTDATA/frmUpdateValueAliasing\";\nimport frmUserRights from \"../src/IMAGE/frmUserRights\";\nimport frmStatusMarking from \"../src/IMAGE/frmStatusMarking\";\nimport frmCreateTemplate from \"../src/IMAGE/frmCreatetemplate\";\nimport frmImageUpdated from \"../src/IMAGEPROCESS/frmImageProcessUpdate\";\nimport frmReportAdhc from \"../src/REPORT/frmReportADhoc\";\nimport frmReportRight from \"../src/REPORT/frmReportADhocRight\";\nimport frmrelational from \"../src/RELATIONSHIP/frmRelationshipMaster\";\nimport frmImportCustomData from \"../src/IMPORTDATA/frmImportCustomData\";\nimport frmlotMaster from \"../src/IMPORTDATA/frmlotMaster\";\nimport frmRelationMerging from \"../src/RELATIONSHIP/frmMergingNew\";\nimport frmcolorcheck from \"../src/IMAGEPROCESS/frmColorCheck\";\nimport frmMultipleValueAliasing from \"../src/IMPORTDATA/frmMultipleValueAliasing\";\nimport frmDefaultValueMaster from \"./IMPORTDATA/frmDefaultValueMaster\";\nimport frmOrgnisationProfile from \"./Users/frmOrgnisationProfile\";\nimport frmSubmitOrderdata from \"./PAYMENTRECO/frmSubmitOrderlData\";\nimport Login from \"./Login\";\nimport PublicRoute from \"./PublicRoute\";\nimport PrivateRoute from \"./PrivateRoute\";\nimport frmMultiCountry from \"./IMAGE/frmMultiCountry\";\nimport frmApiMaster from \"./IMAGE/MODAL/frmApiMaster\";\nimport ForgotPassword from \"./ForgotPassword\";\nimport frmPriceUpdate from \"./IMAGE/frmPriceUpdate\";\nimport frmVCR from \"./IMAGE/frmVCR\";\nimport frmVcrDetails from \"./IMAGE/frmVcrDetails\";\nimport frmImportPriceMaster from \"./IMAGE/MODAL/frmImportPriceMaster\";\n\n// SubModule Pages\nimport Dashboard from \"./SubModule/Main/Dashboard/index\";\nimport ChangePassword from \"./SubModule/Main/Change-Password/index\";\nimport History from \"./SubModule/Main/History/index\";\nimport Category from \"./SubModule/Main/Category/index\";\nimport Notifications from \"./SubModule/Main/Notification/index\";\nimport Invoice from \"./SubModule/Main/Invoice/index\";\nimport PrintInvoice from \"./SubModule/Main/Invoice/printInvoice\";\nimport Checkout from \"./SubModule/Main/Checkout/index\";\nimport TroubleTicket from \"./SubModule/Main/Trouble-Ticket/index\";\nimport Pricing from \"./SubModule/Main/Pricing\";\nimport RequestContainer from \"./SubModule/Main/Price-Request\";\nimport Broadcast_Notification from \"./SubModule/Main/Broadcast-Notification\";\nimport Brand from \"./SubModule/Main/Brand\";\nimport Import_Sheet from \"./SubModule/Main/Import-Sheet/index\";\nimport ImagePosition from \"./SubModule/Main/Image-Position/index\";\nimport AdminRoute from \"./AdminRoute\";\n\n// browse app through routing\n\nexport default () => {\n return (\n \n \n {/* \n */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n\n {/* Dashboard Module Pages */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {/* For Admin User Only */}\n \n \n \n\n // You can try with your mobile also but you also with this ne\n );\n};\n","import React, { Component } from 'react';\nimport { createStore, applyMiddleware } from \"redux\";\nimport {Provider} from 'react-redux';\nimport AppReducer from './Reducers';\nimport Header from './Header';\nimport Menu from './Menu';\nimport Footer from './Footer';\nimport Content from './Content';\nimport Login from './Login';\nimport SideMenu from './SideMenu';\nimport Counter from './Components/Counter';\nimport UserdDetails from './Components/ORDER/OrderDisplay/UserdDetails';\nimport DashboardSearch from './Components/COMMON/DashBoardUtility/DashboardSearch';\nimport AppRoute from './app.route';\nimport './App.css';\n\nconst store = createStore(AppReducer);\n//console.log(store.getState());\nclass App extends Component {\n\n\n render() {\n return (\n
    \n \n
    \n );\n }\n}\n\nexport default App;","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport { createStore, applyMiddleware } from \"redux\";\nimport {Provider} from 'react-redux';\nimport thunkMiddleware from 'redux-thunk';\n//import AppReducer from './Reducers';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport reducer from './Reducers/index';\nimport api from './middleware/api';\n\n\n\n///import externApi from './middleware/externalApi'\nlet createStoreWithMiddleware = applyMiddleware(thunkMiddleware, api)(createStore)\nlet store = createStoreWithMiddleware(reducer)\nReactDOM.render(\n \n \n \n ,\n document.getElementById('root')\n);\n\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","import Swal from \"sweetalert2/dist/sweetalert2.js\";\nimport \"sweetalert2/src/sweetalert2.scss\";\nimport _ from \"lodash\";\nimport XLSX from \"xlsx\";\nconst nacl = require(\"tweetnacl\");\nconst utils = require(\"tweetnacl-util\");\nconst encodeBase64 = utils.encodeBase64;\nconst nonce = nacl.randomBytes(24);\nconst PRIVATE_KEY = \"_VIROLA_PRIVATE_KEY_WITH_AES_ECY\";\n\nexport const Configuration = {\n ORGANISATION_SETTINGS: {\n COMPANYNAME: \"BLUMANGOES\",\n },\n SYSTEM_SETTINGS: {\n SOFTWARE_URL: \"\",\n API_URL: \"https://api.blumangoes.ai:6143/\",\n },\n USER_TOKEN: {\n TOKEN:\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo0NDMyOS8iLCJhdWQiOiJodHRwczovL2xvY2FsaG9zdDo0NDMyOS8ifQ.j9o8spUTqVaO91cB4pRLmok-gn2aIN34e7aUXb6wok0\",\n },\n\n API_HEADER: {\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Auth-Token\":\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo0NDMyOS8iLCJhdWQiOiJodHRwczovL2xvY2FsaG9zdDo0NDMyOS8ifQ.j9o8spUTqVaO91cB4pRLmok-gn2aIN34e7aUXb6wok0\",\n },\n },\n DB: \"IMAGEDB\",\n USER_ID: \"0\",\n USER_NAME: \"ADMIN\",\n SESSION_ID: \"\",\n FACTORY_NAME: \"\",\n};\n\nexport const GetDycrptIDPassword = (\n encryptUserID,\n sess = \"dwtv5sx5odzn5tsi0g41ozdm\"\n) => {\n let userID = atob(encryptUserID);\n Configuration.USER_ID = userID;\n Configuration.SESSION_ID = sess;\n return userID;\n};\n\nexport const GetEncryptIDPassword = (encryptUserID) => {\n let userID = btoa(encryptUserID);\n Configuration.USER_ID = userID;\n return userID;\n};\n\n// return the user data from the session storage\nexport const getUser = () => {\n const userStr = localStorage.getItem(\"user\");\n if (userStr) return JSON.parse(userStr);\n else return null;\n};\n\n// return the token from the session storage\nexport const getToken = () => {\n const itemStr = localStorage.getItem(\"Token\");\n // if the item doesn't exist, return null\n if (!itemStr) {\n return null;\n }\n\n Configuration.USER_ID = JSON.parse(localStorage.getItem(\"UserId\")).value;\n Configuration.USER_NAME = JSON.parse(\n localStorage.getItem(\"UserName\")\n ).value.toUpperCase();\n Configuration.AUTH_TOKEN = JSON.parse(localStorage.getItem(\"Token\")).value;\n Configuration.FACTORY = JSON.parse(\n localStorage.getItem(\"Factory\")\n ).value.toUpperCase();\n\n const item = JSON.parse(itemStr);\n const now = new Date();\n // compare the expiry time of the item with the current time\n if (now.getTime() > item.expiry) {\n // If the item is expired, delete the item from storage\n // and return null\n removeUserSession();\n return null;\n }\n return item.value;\n // return localStorage.getItem('token') || null;\n};\n// remove the token and user from the session storage\nexport const removeUserSession = () => {\n localStorage.removeItem(\"Token\");\n localStorage.removeItem(\"UserName\");\n localStorage.removeItem(\"UserId\");\n};\n\n// set the token and user from the session storage\nexport const setUserSession = (key, value, expiryTime) => {\n const now = new Date();\n const SessionItem = {\n value: value,\n expiry: now.getTime() + expiryTime,\n };\n localStorage.setItem(key, JSON.stringify(SessionItem));\n};\n\nexport const getAuthorization = () => {\n return localStorage.getItem(\"Authorization\")\n ? JSON.parse(localStorage.getItem(\"Authorization\")).value\n : false;\n};\n\n// SET INTEGER ON BOOLEAN DATATYPE\n\nexport const ConvBoolTOInt = (value) => {\n return value ? 1 : 0;\n};\n\nexport function OnlyNumberKey(evt) {\n // Only ASCII charactar in that range allowed\n var ASCIICode = evt.which ? evt.which : evt.keyCode;\n if (ASCIICode > 47 && ASCIICode < 58) {\n return true;\n } else {\n evt.preventDefault();\n }\n}\n\nexport function allowOnlyOneDotOrNum(evt) {\n var ASCIICode = evt.which ? evt.which : evt.keyCode;\n if ((ASCIICode > 47 && ASCIICode < 58) || ASCIICode === 46) {\n } else {\n evt.preventDefault();\n return false;\n }\n var dots = 1;\n var length = evt.target.value.length;\n var text = evt.target.value;\n for (var i = 0; i < length; i++) {\n if (text[i] === \".\") dots++;\n if (dots > 1 && ASCIICode === 46) {\n evt.preventDefault();\n }\n }\n}\n\nexport function MandatoryFormFields(fildsArray) {\n if (fildsArray.length > 0 && fildsArray !== undefined) {\n for (let index = 0; index < fildsArray.length; index++) {\n const element = fildsArray[index];\n let Name = Object.keys(fildsArray[index]);\n if (element[Name] == \"\" || element[Name] == undefined) {\n Swal.fire({\n icon: \"error\",\n title: \"PLEASE ENTER \" + Name[0].toUpperCase(),\n showConfirmButton: false,\n timer: 1500,\n });\n\n return false;\n }\n }\n }\n}\n\nexport async function encryptJSON(dt) {\n const secretKey = Buffer.from(PRIVATE_KEY, \"utf8\");\n const secretData = Buffer.from(JSON.stringify(dt), \"utf8\");\n const encrypted = nacl.secretbox(secretData, nonce, secretKey);\n const result = `${encodeBase64(nonce)}:${encodeBase64(encrypted)}`;\n return result;\n}\n\nexport async function getDataTable(Query) {\n let st = [\n {\n db: Configuration.DB,\n query: Query,\n },\n ];\n let dt = await encryptJSON(st);\n const config = {\n method: \"POST\",\n body: dt,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Origin\": \"*\",\n },\n };\n const url =\n Configuration.SYSTEM_SETTINGS.API_URL + \"/api/v1/Common/GetDynamicData\";\n try {\n //const rs = await fetch(url + '?query=' + Query + '&db=' + Configuration.DB + '', config);\n const rs = await fetch(url, config);\n let dt = await rs.json();\n let artd = dt.data;\n if (Array.isArray(artd)) {\n return artd;\n } else {\n return false;\n }\n } catch (error) {\n Swal.fire({\n icon: \"info\",\n title: error,\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n}\n\n//Get Max Id From Table\nexport async function GetMaxId(tblName, fieldName, logInId) {\n let data;\n try {\n let query =\n \"exec GetMaxId @tblName = \" +\n tblName +\n \",@filedName=\" +\n fieldName +\n \",@LogInId=\" +\n logInId +\n \"\";\n\n let response = await fetch(\n Configuration.SYSTEM_SETTINGS.API_URL +\n \"/api/v1/Common/GetDynamicQuery?query= \" +\n query +\n \"&db=\" +\n Configuration.DB,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Auth-Token\": Configuration.USER_TOKEN.TOKEN,\n },\n }\n );\n data = await response.json();\n } catch (e) {\n alert(e);\n }\n return data.data[0][fieldName];\n}\n\n// Get Max No Perticular Column Name\nexport async function GetMaxNo(tblName, fieldName) {\n let data;\n try {\n let query =\n \"exec GetMaxNo @tblName = \" + tblName + \",@filedName=\" + fieldName + \"\";\n\n let response = await fetch(\n Configuration.SYSTEM_SETTINGS.API_URL +\n \"/api/v1/Common/GetDynamicQuery?query= \" +\n query +\n \"&db=\" +\n Configuration.DB,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Auth-Token\": Configuration.USER_TOKEN.TOKEN,\n },\n }\n );\n data = await response.json();\n } catch (e) {\n alert(e);\n }\n return data.data[0][fieldName];\n}\n\n// CHECK VALUE EXIST IN TABLE OR NOT\nexport async function checkValueExistOrNotInTable(\n tblName,\n columnName,\n colValue\n) {\n let data;\n try {\n let query =\n \"exec Check_Value_Exist_Or_Not_In_Table @TableName = '\" +\n tblName +\n \"',@ColumnName='\" +\n columnName +\n \"' , @ColumnValue = '\" +\n colValue +\n \"'\";\n\n let response = await fetch(\n Configuration.SYSTEM_SETTINGS.API_URL +\n \"/api/v1/Common/GetDynamicQuery?query= \" +\n query +\n \"&db=\" +\n Configuration.DB,\n {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Origin\": \"*\",\n \"Auth-Token\": Configuration.USER_TOKEN.TOKEN,\n },\n }\n );\n data = await response.json();\n } catch (e) {\n alert(e);\n }\n\n if (data.data[0][columnName] === 1) {\n return true;\n } else {\n return false;\n }\n}\n\n// hide &n show Accordians\n\nexport function hideShowDiv(id, childId) {\n let div = document.getElementById(id);\n if (div !== null) {\n if (document.getElementById(id).style.display == \"block\") {\n document.getElementById(id).style.display = \"none\";\n let ele = document.getElementById(childId);\n\n ele.className = \"fa fa-plus\";\n } else {\n document.getElementById(id).style.display = \"block\";\n let ele = document.getElementById(childId);\n ele.className = \"fa fa-minus\";\n }\n }\n}\n\n// Excel to db\n\nexport async function exceltodb(files, db, loginId) {\n // let workbook = XLSX.readFile(files);\n // let sheet = workbook.Sheets[workbook.SheetNames[0]];\n // let json = XLSX.utils.sheet_to_json(sheet);\n // console.log(json);\n let res = \"\";\n var formdata = new FormData();\n formdata.append(\"file\", files);\n var d = new Date();\n var timeInMs =\n String(d.getUTCDate()) +\n String(d.getMonth() + 1) +\n String(d.getFullYear()) +\n String(d.getHours()) +\n String(d.getMinutes()) +\n String(d.getSeconds());\n let tablename = String(\"X_FileImport_\" + timeInMs + \"_\" + loginId);\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n await fetch(\n \"https://api.blumangoes.ai:6143/SaveFileBM?tblname=\" + tablename,\n requestOptions\n )\n .then((response) => response.text())\n .then((result) => (res = result))\n .catch((error) => alert(\"error\", error));\n let filess = res;\n if (!filess) {\n alert(\"Unable To Import File To server\");\n return false;\n }\n\n // let Sql = \"\"\n // Sql = Sql + \" SELECT *\"\n // Sql = Sql + \" INTO \" + tablename\n // Sql = Sql + \" FROM OPENROWSET('Microsoft.ACE.OLEDB.16.0', 'Excel 12.0; Database=\" + filess + \"' \"\n // Sql = Sql + \" , [Sheet1$]) AS derivedtbl_1 \"\n // Sql = Sql + \" Select * from \" + tablename\n\n // let rs = await getDataTable(Sql)\n\n let dt1 = await getDataTable(\"select top 10 * from \" + tablename);\n if (dt1) {\n if (dt1.length > 0) {\n Swal.fire({\n position: \"top-end\",\n icon: \"success\",\n title: \"File Uploaded To Server\",\n showConfirmButton: false,\n timer: 1500,\n });\n //alert(\"File Uploaded To Server\")\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"FILE NOT VALID\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n return tablename;\n } else {\n Swal.fire({\n icon: \"info\",\n title: \"SOME ERROR OCCURRED\",\n showConfirmButton: false,\n timer: 1500,\n });\n return false;\n }\n}\n\nexport function toCamel(o) {\n var newO, origKey, newKey, value;\n if (o instanceof Array) {\n return o.map(function (value) {\n if (typeof value === \"object\") {\n value = _.startCase(_.toUpper(value));\n }\n return value;\n });\n } else {\n newO = {};\n for (origKey in o) {\n if (o.hasOwnProperty(origKey)) {\n newKey = (\n origKey.charAt(0).toLowerCase() + origKey.slice(1) || origKey\n ).toString();\n value = o[origKey];\n value = _.startCase(_.toUpper(value));\n newO[newKey] = value;\n }\n }\n }\n return newO;\n}\n\n// export async function json2xlsx(dt, filename) {\n// var ws = XLSX.utils.json_to_sheet(dt, { raw: true });\n// var wb = XLSX.utils.book_new();\n// XLSX.utils.book_append_sheet(wb, ws, \"Sheet1\");\n// XLSX.writeFile(wb, filename, { bookType: 'xlsx', type: 'file' }); // generate a nodejs buffer\n// }\n\nexport async function json2xlsxFK(dt, filename) {\n let newdt = dt;\n var ws = XLSX.utils.json_to_sheet(newdt, { raw: true });\n var wb = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, \"Sheet1\");\n XLSX.writeFile(wb, filename, { bookType: \"xlsx\", type: \"file\" }); // generate a nodejs buffer\n}\n\nexport async function json2xlsxMultiSheet(dt, dt1, filename) {\n var ws = XLSX.utils.json_to_sheet(dt);\n var ws1 = XLSX.utils.json_to_sheet(dt1);\n var wb = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, \"Sheet1\");\n XLSX.utils.book_append_sheet(wb, ws1, \"DataValues\");\n XLSX.writeFile(wb, filename, { bookType: \"xlsx\", type: \"file\" }); // generate a nodejs buffer\n}\n\nexport async function table2xlsx(dt, filename) {\n var ws = await XLSX.utils.table_to_book(dt);\n XLSX.writeFile(ws, filename, { bookType: \"xlsx\", type: \"file\" }); // generate a nodejs buffer\n}\n\nexport async function json2csv(dt, filename) {\n var ws = XLSX.utils.json_to_sheet(dt);\n var wb = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, \"Sheet1\");\n XLSX.writeFile(wb, filename, { bookType: \"csv\", type: \"file\" }); // generate a nodejs buffer\n}\n\nexport function tableToJson(table) {\n var data = [];\n\n // first row needs to be headers\n var headers = [];\n for (var i = 0; i < table.rows[0].cells.length; i++) {\n headers[i] = table.rows[0].cells[i].innerHTML\n .toLowerCase()\n .replace(/ /gi, \"\");\n }\n\n // go through cells\n for (var k = 1; k < table.rows.length; k++) {\n var tableRow = table.rows[k];\n var rowData = {};\n\n for (var j = 0; j < tableRow.cells.length; j++) {\n rowData[headers[j]] = tableRow.cells[j].innerHTML;\n }\n\n data.push(rowData);\n }\n return data;\n}\n\nexport async function arrUnique(arr) {\n var cleaned = [];\n arr.forEach(function (itm) {\n var unique = true;\n cleaned.forEach(function (itm2) {\n if (_.isEqual(itm, itm2)) unique = false;\n });\n if (unique) cleaned.push(itm);\n });\n return cleaned;\n}\n\nexport async function json2Excelpython(dt, filename) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n var raw = JSON.stringify(dt);\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n let rs = await fetch(\n \"https://api.blumangoes.ai:6143/GetJSON2Excel\",\n requestOptions\n );\n let str = await rs.text();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n str;\n link.setAttribute(\"download\", filename);\n document.body.appendChild(link);\n link.click();\n}\n\nexport async function json2portalExport(\n dt,\n SheetName,\n CellAddress,\n portal,\n template,\n orgid\n) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"tempid\", template);\n myHeaders.append(\"portal\", portal);\n myHeaders.append(\"SheetName\", SheetName);\n myHeaders.append(\"Range\", CellAddress);\n myHeaders.append(\"orgid\", orgid);\n var raw = JSON.stringify(dt);\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetPortalExcel\",\n requestOptions\n );\n let dts1 = await rs1.json();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n dts1.FileStr;\n link.setAttribute(\"download\", dts1.FileName);\n document.body.appendChild(link);\n link.click();\n}\n\nexport async function json2portalExportUpdated(\n que,\n SheetName,\n CellAddress,\n portal,\n template\n) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n let st = [\n {\n tempid: template,\n portal: portal,\n SheetName: SheetName,\n Range: CellAddress,\n query: que,\n },\n ];\n let sts = JSON.stringify(st);\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: sts,\n redirect: \"follow\",\n };\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetPortalExcelFile\",\n requestOptions\n );\n let dts1 = await rs1.json();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n dts1.FileStr;\n link.setAttribute(\"download\", dts1.FileName);\n document.body.appendChild(link);\n link.click();\n}\n\nexport async function SaveTemplateFile(file, portalName, templateID) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n let rs = await fetch(\n \"https://api.blumangoes.ai:6143/SaveTemplateFile?templateid=\" +\n templateID +\n \"&portal=\" +\n portalName +\n \"\",\n requestOptions\n );\n let str = await rs.text();\n return str;\n } catch (error) {\n return \"Some Error\";\n }\n}\n\nexport async function updateTemplateFile(file, portalName, templateID) {\n var formdata = new FormData();\n formdata.append(\"file\", file);\n var requestOptions = {\n method: \"POST\",\n body: formdata,\n redirect: \"follow\",\n };\n try {\n let rs = await fetch(\n \"https://api.blumangoes.ai:6143/updateTemplateFile?templateid=\" +\n templateID +\n \"&portal=\" +\n portalName +\n \"\",\n requestOptions\n );\n let str = await rs.text();\n return str;\n } catch (error) {\n return \"Some Error\";\n }\n}\n\nexport async function sleep(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport async function getnewExcel(data) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetExcel/WithImage\",\n requestOptions\n );\n let dts1 = await rs1.json();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n dts1.FileStr;\n link.setAttribute(\"download\", \"New.xlsx\");\n document.body.appendChild(link);\n link.click();\n}\n\nexport async function GetNewDrpSheet(blockid = 1, data, filename) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"BlockID\", blockid);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetExcel/GetFilledSheet?BlockID =\" +\n blockid,\n requestOptions\n );\n let dts1 = await rs1.json();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n dts1.FileStr;\n link.setAttribute(\"download\", filename);\n document.body.appendChild(link);\n link.click();\n}\n\nexport async function GetDropdownDynamicNew(blockid = 1, data, filename) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"BlockID\", blockid);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetExcel/GetDrpdownDynamic?BlockID =\" +\n blockid,\n requestOptions\n );\n let dts1 = await rs1.json();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n dts1.FileStr;\n link.setAttribute(\"download\", filename);\n document.body.appendChild(link);\n link.click();\n}\n\nexport async function json2xlsx(data, filename) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetExcel/WithImage\",\n requestOptions\n );\n let dts1 = await rs1.json();\n let link = document.createElement(\"a\");\n link.href =\n \"data:application/vndopenxmlformats-officedocumentspreadsheetmlsheet;base64,\" +\n dts1.FileStr;\n link.setAttribute(\"download\", filename + \".xlsx\");\n document.body.appendChild(link);\n link.click();\n}\n\nexport async function postDataToNamshi(data, cred, url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"cred\", cred);\n myHeaders.append(\"url\", url);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/namshi/postData\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function UpdateNamshiImage(data, cred, url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"cred\", cred);\n myHeaders.append(\"url\", url);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/namshi/updateImage\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function getNamshiJobDetails(jobID, cred, url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"JobID\", jobID);\n myHeaders.append(\"cred\", cred);\n myHeaders.append(\"url\", url);\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/namshi/getJobDetails\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function ProductVisiblity(data, cred) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"cred\", cred);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/ProductVisiblity\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function UpdatePrice(data, cred, url, country) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"cred\", cred);\n myHeaders.append(\"url\", url);\n myHeaders.append(\"country\", country);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/namshi/updateprice\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function PriceAndDis(data, token, BaseUrl) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"BearToken\", token);\n myHeaders.append(\"url\", BaseUrl);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/PriceAndDiscount\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function EasyEcomApi(data, token, BaseUrl, cred) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"BearToken\", token);\n myHeaders.append(\"url\", BaseUrl);\n myHeaders.append(\"cred\", cred);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/EasyEcomApi\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function IncreffApi(data, authUsername, authPassword, url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"authUsername\", authUsername);\n myHeaders.append(\"authPassword\", authPassword);\n myHeaders.append(\"url\", url);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143//increff\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function UpdateIncreffApi(data, authUsername, authPassword, url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"authUsername\", authUsername);\n myHeaders.append(\"authPassword\", authPassword);\n myHeaders.append(\"url\", url);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143//increff/updateData\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function CreateListingAmazon(data, token, Url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"x-amz-access-token\", token);\n myHeaders.append(\"url\", Url);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/CreateListingAmazon\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function GetCatogoryAttributeValuesYoox(Url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"url\", Url);\n\n var requestOptions = {\n method: \"GET\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/GetCatogoryYoox\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function PriceUpdateAmazon(data, token, Url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"x-amz-access-token\", token);\n myHeaders.append(\"url\", Url);\n var raw = JSON.stringify(data);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n body: raw,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/PriceUpdateAmazon\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function CreateListingYoox(file, Authorization) {\n const formData = new FormData();\n formData.append(\"file\", file);\n\n const requestOptions = {\n method: \"POST\",\n headers: {\n Authorization: Authorization,\n },\n body: formData,\n redirect: \"follow\",\n };\n\n try {\n const response = await fetch(\n \"https://api.blumangoes.ai:6143/UploadProductYOOX\",\n requestOptions\n );\n const data = await response.json();\n return data;\n } catch (error) {\n console.error(\"Error uploading file:\", error);\n throw error; // Rethrow the error for the calling code to handle\n }\n}\n\nexport async function UpdatePriceYoox(file, Authorization) {\n const formData = new FormData();\n formData.append(\"file\", file);\n\n const requestOptions = {\n method: \"POST\",\n headers: {\n Authorization: Authorization,\n },\n body: formData,\n redirect: \"follow\",\n };\n\n try {\n const response = await fetch(\n \"https://api.blumangoes.ai:6143/UpdatePriceYOOX\",\n requestOptions\n );\n const data = await response.json();\n return data;\n } catch (error) {\n console.error(\"Error uploading file:\", error);\n throw error; // Rethrow the error for the calling code to handle\n }\n}\n\nexport async function flipkartTokenGen(username, password, url) {\n var myHeaders = new Headers();\n myHeaders.append(\"Content-Type\", \"application/json\");\n myHeaders.append(\"username\", username);\n myHeaders.append(\"password\", password);\n myHeaders.append(\"url\", url);\n\n var requestOptions = {\n method: \"POST\",\n headers: myHeaders,\n redirect: \"follow\",\n };\n\n let rs1 = await fetch(\n \"https://api.blumangoes.ai:6143/FlipkartToken\",\n requestOptions\n );\n let dts1 = await rs1.json();\n return dts1;\n}\n\nexport async function getTrendyolAttributes(categoryid) {\n let rs = await fetch(\n `https://api.blumangoes.ai:6143/get_attributes/${categoryid}`\n );\n let dt = await rs.json();\n return dt;\n}\n\n// Usage:\n\n/// Note :-Never Set The Static Image/File/Any Document Path..............................\n","module.exports = __webpack_public_path__ + \"static/media/bluMangoes.5fe38981.png\";","module.exports = __webpack_public_path__ + \"static/media/loader.459e0ba8.gif\";"],"sourceRoot":""}