{"version":3,"sources":["webpack:///./src/Areas/Transaction/PurchaseOrder/Script/PurchaseOrderScript.js","webpack:///./src/Areas/Transaction/Invoice/Script/InvoiceServices.js","webpack:///./node_modules/@develoka/angka-terbilang-js/index.js","webpack:///./src/Areas/Transaction/ProformaInvoiceDownPayment/Script/ProformaInvoideDownPaymentScript.js","webpack:///./public/img/avatars/Logo.jpg","webpack:///./src/Areas/Transaction/DeliveryOrder/Script/DeliveryOrderServices.js"],"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","_taggedTemplateLiteral","freeze","defineProperties","raw","asyncGeneratorStep","_asyncToGenerator","arguments","apply","_next","_throw","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","PurchaseOrderService","query","_getCustomerQuery","_callee","result","arrayData","str","_context","gql","_templateObject","globalfunc","defaultApolloQueryDefault","data","GetContact","contact_id","label","contact_name","getCustomerQuery","_getContactDetailQuery","_callee2","variables","_context2","_templateObject2","id","getContactDetailQuery","_x","_getPurchaseOrderQuery","_callee3","_context3","_templateObject3","GetTransactionPurchaseOrder","transaction_purchase_order","getPurchaseOrderQuery","_x2","_getProjectDropdownByCustomerId","_callee4","customerId","projectType","projectTypeIndex","_context4","contactId","status","_templateObject4","GetTransactionProject","objectToArrayConverter","project","getProjectDropdownByCustomerId","_x3","_x4","_getProjectDetail","_callee5","_context5","_templateObject5","getProjectDetail","_x5","totalPO","poData","_readTypeDetailQuery","_callee6","typeDetailData","_context6","_templateObject6","GetTypeDetail","type_detail_id","type_detail_name","readTypeDetailQuery","forecast_type","price","quantity","columns","field","title","width","headerAttributes","style","attributes","format","selected_qty","remaining_quantity","qty","net","price_project","price_project_discount_cash","price_retail","price_retail_discount_cash","price_discount","discount_amount_1","discount_amount_2","discount_amount_3","discount_amount_4","discount_amount_5","discount_amount_cash","real_qty","conv_amount","total_price","dataItem","item_id","product_code","item_name","current_qty","discount1","discount2","discount3","discount4","discount5","discount_cash","stock","uom","oldData","newData","duplicate","selectedItem","itemData","index","itemBookingData","indexBooking","item","itemBooking","qty_booking","real_qty_booking","total_price_booking","itemBookingNew","concat","splice","_addQuery","_callee7","_context7","_templateObject7","defaultApolloMutationDefault","addQuery","_x6","_editQuery","_callee8","_context8","_templateObject8","editQuery","_x7","_editDistributor","_callee9","_context9","_templateObject9","editDistributor","_x8","discount1_amount","discount2_amount","discount3_amount","discount4_amount","discount5_amount","discount_cash_amount","price_per_unit","quantity_current","_getLimitRemaining","_callee10","total","_context10","_templateObject10","on_going_purchase_order_total_by_project_id","getLimitRemaining","_x9","_x10","_purchaseOrderDetailTemplate","_callee11","itemDetail","itemBookingDetail","totalGross","totalDisc","totalPPNTax","totalGrossDisc","grandTotal","doNumber","invoiceNumber","html","_context11","this","editItemGridDataGenerator","purchase_order_detail","booking_order","tax_percentage","delivery_order_number","invoice_number","purchase_order_number","sp_number","moment","purchase_order_date","payment_method","term_of_payment","notes","customer","metadata","profile","phone1","handphone","fax","email","address","project_code","project_name","kendo","toString","down_payment","purchaseOrderDetailTemplate","_x11","itemArray","base_quantity","vat_per_unit","_getDueDate","_callee12","projectId","typeDetailId","_context12","_templateObject11","GetTransactionDueDay","getDueDate","_x12","_x13","_x14","arrayObject","quantity_booking_order","bookingItemData","total_net","_loop","find","undefined","qty_string","base_qty","base_uom","net_string","total_net_string","tax","quantityBookingOrder","sumQuantity","_loop2","taxAmount","vatPerUnit","price_discount_per_unit","vat","tax_amount","resultData","_loop3","_i3","_getDropdownPPNTax","_callee13","_context13","_templateObject12","GetMasterTax","percentage","getDropdownPPNTax","reEditData","Math","floor","real_quantity","quantity_string","InvoiceService","_getDetailInvoice","readInvoiceDetailQuery","GetTransactionInvoice","transaction_invoice","getDetailInvoice","_getDetailInvoiceExcel","selectedId","checkAll","paging","IsAll","Params","split","check","getDetailInvoiceExcel","_getInvoiceableItemList","array","JSON","parse","GetTransactionInvoiceableItemListV2","getInvoiceableItemList","discountPlus","PPNTax","discount_plus","discount_plus_amount","deposit_amount","tax_amount_rd","vat_per_unit_rd","vat_rd","inputPriceDiscountPerUnit","discountPlusAmount","priceDiscountPerUnit","discountPlusAmountRD","priceDiscountPerUnitRD","taxAmountRD","vatPerUnitRD","formType","depositAmount","vatRD","base_weight","disc_1","disc1","disc_2","disc2","disc_3","disc3","disc_4","disc4","disc_5","disc5","disccash","flmt_qty","uom_conv","priceppn","priceppn_per_unit","invoice_type","invoice_date","customerData","deliveryOrderData","deliveryOrderArrayToString","transaction_invoice_delivery_order","deliveryOrderNumberList","stringify","replace","dueDate","due_date","tax_invoice","purchase_order","storage_id","size","_invoiceExcelSingle","row1","row2","row3","detail","taxinvoice","rowFK","companyData","CompanyNPWP","CompanyPabrik","CompanyProvinsi","rowLT","detailData","_i","diskon","rowOF","colA","colB","colC","colD","colE","colF","colG","colH","colI","colJ","colK","colL","colM","colN","colO","colP","colQ","colR","colS","itemInvoiceExcel","transaction_invoice_detail","substring","npwp","round","total_price_discount","total_tax_amount","getCompanyInfo","NPWP","Pabrik","toUpperCase","Provinsi","grid_data","invoiceExcelSingle","_invoiceExcelMultiple","faktur","detailFaktur","spaceRow","baris","profileCostumerData","rowData","j","dpp","dppOther","rowDetail","rowEnd","taxfree","nitku","t0","Faktur","DetailFaktur","invoiceExcelMultiple","totalPriceDiscount","totalTaxAmount","totalVat","fulfilled_quantity","row","price_discount_per_unit_string","price_discount_string","total_vat","baseQuantity","base_quantity_string","toFixed","arrayObj","detailArray","obj","purchase_order_id","unique","map","final","indexOf","filter","deliveryOrderId","parseInt","purchaseOrderId","deliveryOrderNumber","delivery_order_id","_getDueDateQuery","typeDetail","duedate","project_type","type_detail","GetTransactionDueDate","getDueDateQuery","_getRecalculateQuery","CalculateDeposit","errors","getRecalculateQuery","_x15","units","maxIndex","digitToUnit","digit","curIndex","numbers","numberToText","terbilang","angka","angkaLength","angkaMaxIndex","space","digitCount","modGroup","curAngka","nextAngka","terbilangSatuSatu","join","module","exports","target","settings","decimal","ProformaInvoiceDownPaymentService","forcast_quantity","_getProformaInvoiceQuery","GetTransactionProformaInvoice","transaction_proforma_invoice","getProformaInvoiceQuery","DeliveryOrderService","_getDeliveryOrderDetail","GetTransactionDeliveryOrder","transaction_delivery_order","getDeliveryOrderDetail","_getDeliveryOrderablDataDetail","GetTransactionDeliveryOrderableItemListV2","getDeliveryOrderablDataDetail","po_time","customer_name","note","_getContactQuery","contact_code","getContactQuery","_getVehicleQuery","GetMasterVehicle","vehicle_id","license_plate","vehicle_year","getVehicleQuery","deliveryOrderDetailData","barcode","ordered_quantity","delivered_quantity","old_remaining_quantity"],"mappings":"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","file":"js/HTMLTemplate~Transaction~31ecd969.2d48f6ba.js","sourcesContent":["import gql from 'graphql-tag';\nimport {globalfunc} from '../../../../shared/GlobalFunction.js';\nimport moment from 'moment';\n\nclass PurchaseOrderService {\n readPurchaseOrderQuery(){\n var query = `query($paging:ServerPaging, $status:String){\n GetTransactionPurchaseOrder(Paging:$paging, Status:$status){\n transaction_purchase_order{\n purchase_order_id\n status\n purchase_order_number\n purchase_order_date\n purchase_order_type\n created_at\n sp_number\n customer_name\n total\n project_type\n project_name\n payment_method\n notes\n attachment\n created_by\n sales_name\n approved_by\n project {\n forecast_type\n }\n purchase_order_detail{\n item_id\n }\n booking_order{\n item_id\n }\n term_of_payment\n booking_purchase_order_id\n }\n total\n }\n }`;\n return query;\n }\n\n async getCustomerQuery(){\n var query = gql`query{\n GetContact(ContactType:\"Distributor\"){\n contact_id\n contact_name\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var arrayData = [];\n if(result.data.GetContact != null){\n for (let i = 0; i < result.data.GetContact.length; i++) {\n var str = { value: result.data.GetContact[i].contact_id, \n label: result.data.GetContact[i].contact_name}\n arrayData.push(str);\n }\n }\n return arrayData;\n } \n\n async getContactDetailQuery(variables){\n var query = gql`query($type:String,$id:Int){\n GetContact(ContactType:$type, ContactId:$id){\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n on_going_purchase_order_total_by_customer_id\n }\n }`;\n if (variables.id == '' || variables.id == null) {\n return null;\n }\n else {\n var result = await globalfunc.defaultApolloQueryDefault(query,variables);\n return result.data.GetContact[0];\n }\n } \n\n async getPurchaseOrderQuery(id){\n const variables = {\n id : id\n }\n var query = gql`query($id:Int){\n GetTransactionPurchaseOrder(PurchaseOrderID:$id){\n transaction_purchase_order {\n created_at\n last_update\n purchase_order_id\n purchase_order_number\n sp_number\n purchase_order_date\n status\n project_id\n project {\n created_at\n last_update\n project_id\n project_code\n project_type\n project_date\n project_duration\n project_name\n status\n pre_project_id\n pre_project_code\n pre_project_name\n forecast_type\n storage_id\n storage_name\n price_category_id\n price_category_name\n areacode\n areaname\n sales_id\n sales_name\n city\n attachment\n notes\n project_detail\n }\n project_name\n project_type\n payment_method\n sales_id\n sales {\n created_at\n last_update\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n attachment2\n }\n sales_name\n customer_id\n customer {\n created_at\n last_update\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n attachment2\n }\n customer_name\n storage_id\n price_category_id\n purchase_order_sequence\n purchase_order_type\n notes\n printed_notes\n address\n attachment\n down_payment\n sample\n total\n tax_percentage\n invoice_number\n delivery_order_number\n created_by\n approved_by\n payment_status\n booking_purchase_order_id\n purchase_order_detail {\n created_at\n last_update\n purchase_order_id\n item_id\n product_code\n barcode\n type_detail_id\n item_name\n uom\n base_uom\n conv_amount\n price_per_unit\n price\n vat_per_unit\n vat\n quantity\n quantity_base\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n tax_amount\n }\n booking_order {\n created_at\n last_update\n booking_order_id\n purchase_order_id\n item_id\n product_code\n barcode\n type_detail_id\n item_name\n uom\n base_uom\n conv_amount\n price_per_unit\n price\n vat_per_unit\n vat\n quantity\n quantity_base\n quantity_production\n quantity_ready\n quantity_current\n quantity_purchase_order\n stock_sales\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n tax_amount\n customer_id\n customer_name\n purchase_order_number\n storage_id\n }\n term_of_payment\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n return result.data.GetTransactionPurchaseOrder.transaction_purchase_order[0];\n\n }\n\n async getProjectDropdownByCustomerId(customerId, projectType){\n var projectTypeIndex = 0;\n if(projectType == \"Project\"){\n projectTypeIndex = 1\n }\n if(projectType == \"Retail\"){\n projectTypeIndex = 2\n }\n const variables = {\n contactId : customerId,\n projectType : projectTypeIndex,\n status : \"Ready\"\n }\n \n var query = gql`query($contactId:Int, $projectType:Int, $status:[String]){\n GetTransactionProject(ContactID:$contactId, ProjectType:$projectType, Status:$status){\n project{\n project_id\n project_name\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n \n if(result.data.GetTransactionProject == null){\n return [];\n }else{\n return globalfunc.objectToArrayConverter(result.data.GetTransactionProject.project, 'Transaction-PO-Project');\n }\n }\n\n async getProjectDetail(id){\n const variables = {\n id : id\n }\n \n var query = gql`query($id:Int){\n GetTransactionProject(ProjectId:$id){\n project{\n project_id\n project_code\n project_name\n forecast_type\n sales_id\n sales_name\n price_category_id\n storage_id\n project_detail\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n\n return result.data.GetTransactionProject.project[0];\n }\n\n poDataDropDown(totalPO){\n var poData = [];\n\n if(totalPO < 1){\n poData = [{value: 0}];\n }else{\n for (let i = 1; i <= totalPO; i++) {\n var str = {value: i}\n poData.push(str);\n }\n }\n\n return poData;\n }\n\n async readTypeDetailQuery(){\n var query = gql`query{\n GetTypeDetail(Flags:[\"All\",\"Project\",\"Retail\"]) {\n type_detail_id\n type_detail_name\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var data = result.data.GetTypeDetail;\n var typeDetailData = [];\n if(data != null){\n for (let i = 0; i < data.length; i++) {\n var str = { \n value: data[i].type_detail_id, \n label: data[i].type_detail_id + ' (' + data[i].type_detail_name + ')'\n }\n typeDetailData.push(str);\n }\n }\n return typeDetailData\n }\n \n readItemQuery(){\n var query = `query($id: Int!, $po: Int, $typeDetailId: String){\n GetTransactionPurchaseOrderableItemList(ProjectID: $id, PurchaseOrderSequence: $po, TypeDetailId: $typeDetailId){\n project_id\n purchase_order_sequence\n storage_id\n storage_name\n price_category_id\n price_category_name\n item_id\n product_code\n item_name\n barcode\n item_type\n type_detail_id\n type_detail_name\n base_uom\n uom\n conv_amount\n base_stock\n stock\n forcast_quantity\n ordered_quantity\n remaining_quantity\n quantity\n base_weight\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount_amount_1\n discount_amount_2\n discount_amount_3\n discount_amount_4\n discount_amount_5\n discount_amount_cash\n price_retail\n price_project\n base_price_retail\n base_price_project\n price_retail_discount\n price_project_discount\n base_price_retail_discount\n base_price_project_discount\n price_retail_discount_cash\n price_project_discount_cash\n base_price_retail_discount_cash\n base_price_project_discount_cash\n }\n }`;\n return query;\n }\n\n columnsProject(type, forecast_type){\n var price = \"\";\n var quantity = \"\";\n var columns = [];\n\n if(type == 'Project'){\n price = 'price_project';\n }else if(type == 'Retail'){\n price = 'price_retail';\n }\n\n if(forecast_type == 'Forecast 1' || forecast_type == 'Paket'){\n quantity = 'forcast_quantity';\n }else {\n quantity = 'selected_qty';\n }\n\n if(forecast_type == 'Forecast 2'){\n columns = [\n { field: \"type_detail_name\", title: \"Tipe Detail\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"product_code\", title: \"Kode\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"item_name\", title: \"Nama\", width: 250, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"uom\", title: \"Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, },\n { field: \"conv_amount\", title: \"Nilai Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: price, title: \"Harga\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" }, format:\"{0:N0}\" },\n { field: \"remaining_quantity\", title: \"Limit Quantity PO\", width: 200, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: quantity, title: \"Quantity\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" }, format: \"{0:0}\" },\n { field: \"discount1\", title: \"Diskon 1 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount2\", title: \"Diskon 2 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount3\", title: \"Diskon 3 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount4\", title: \"Diskon 4 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount5\", title: \"Diskon 5 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount_cash\", title: \"Diskon Cash (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n ];\n }else{\n columns = [\n { field: \"type_detail_name\", title: \"Tipe Detail\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"product_code\", title: \"Kode\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"item_name\", title: \"Nama\", width: 250, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"uom\", title: \"Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"conv_amount\", title: \"Nilai Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: price, title: \"Harga\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" }, format:\"{0:N0}\" },\n { field: quantity, title: \"Quantity\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" }, format: \"{0:0}\" },\n { field: \"discount1\", title: \"Diskon 1 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount2\", title: \"Diskon 2 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount3\", title: \"Diskon 3 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount4\", title: \"Diskon 4 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount5\", title: \"Diskon 5 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount_cash\", title: \"Diskon Cash (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n ];\n } \n\n return columns;\n }\n\n fillSelectedQuantity(data, forecast_type){\n if(forecast_type == 'Forecast 1' || forecast_type == 'Paket'){\n //do nothing\n }else{\n data.forEach(function(data, key) {\n if(forecast_type == 'None' || forecast_type == 'Total'){\n //do nothing\n }else{\n data.selected_qty = data.remaining_quantity;\n }\n });\n }\n \n return data;\n }\n\n itemDataObject(data, qty, type){\n var price = 0;\n var net = 0;\n\n if(type == 'Project'){\n price = data.price_project;\n net = data.price_project_discount_cash;\n }else if(type == 'Retail'){\n price = data.price_retail;\n net = data.price_retail_discount_cash;\n }\n\n var price_discount = data.discount_amount_1 + data.discount_amount_2 + data.discount_amount_3 + data.discount_amount_4 + data.discount_amount_5 + data.discount_amount_cash;\n var real_qty = data.conv_amount * qty;\n var total_price = qty * net;\n\n var dataItem = [{\n item_id : data.item_id,\n product_code : data.product_code,\n item_name : data.item_name,\n price : price,\n price_discount : price_discount,\n net : net,\n qty : qty,\n current_qty : qty,\n real_qty : real_qty,\n total_price : total_price,\n discount1 : data.discount1,\n discount2 : data.discount2,\n discount3 : data.discount3,\n discount4 : data.discount4,\n discount5 : data.discount5,\n discount_cash : data.discount_cash,\n discount_amount_1 : data.discount_amount_1,\n discount_amount_2 : data.discount_amount_2,\n discount_amount_3 : data.discount_amount_3,\n discount_amount_4 : data.discount_amount_4,\n discount_amount_5 : data.discount_amount_5,\n discount_amount_cash : data.discount_amount_cash,\n stock : data.stock,\n conv_amount : data.conv_amount,\n uom : data.uom,\n type_detail_id: data.type_detail_id\n }];\n \n return dataItem;\n }\n\n duplicateItemProjectChecker(oldData, newData){\n var duplicate = 0;\n for (let i = 0; i < oldData.length; i++){\n if(oldData[i].item_id == newData.item_id){\n duplicate++;\n }\n }\n return duplicate==0 ? false : true;\n }\n\n itemGridChange(selectedItem, itemData, index, itemBookingData, indexBooking){\n //change item\n var item = itemData;\n\n if(selectedItem.qty > selectedItem.stock){\n var real_qty = selectedItem.conv_amount * selectedItem.stock;\n var total_price = selectedItem.stock * selectedItem.net;\n\n item[index].qty = selectedItem.stock;\n item[index].real_qty = real_qty;\n item[index].total_price = total_price;\n }else{\n var real_qty = selectedItem.conv_amount * selectedItem.qty;\n var total_price = selectedItem.qty * selectedItem.net;\n\n item[index].qty = selectedItem.qty;\n item[index].real_qty = real_qty;\n item[index].total_price = total_price;\n }\n\n return item;\n }\n\n itemBookingGridChange(selectedItem, itemData, index, itemBookingData, indexBooking){\n //change booking item\n var itemBooking = itemBookingData;\n\n if(indexBooking == -1){\n if(selectedItem.qty > selectedItem.stock){\n var qty_booking = selectedItem.qty - selectedItem.stock;\n var real_qty_booking = selectedItem.conv_amount * qty_booking;\n var total_price_booking = qty_booking * selectedItem.net;\n\n if(indexBooking < 0){\n var itemBookingNew = [{\n item_id : selectedItem.item_id,\n product_code : selectedItem.product_code,\n item_name : selectedItem.item_name,\n price : selectedItem.price,\n price_discount : selectedItem.price_discount,\n net : selectedItem.net,\n current_qty : qty_booking,\n qty : qty_booking,\n real_qty : real_qty_booking,\n total_price : total_price_booking,\n discount1 : selectedItem.discount1,\n discount2 : selectedItem.discount2,\n discount3 : selectedItem.discount3,\n discount4 : selectedItem.discount4,\n discount5 : selectedItem.discount5,\n discount_cash : selectedItem.discount_cash,\n discount_amount_1 : selectedItem.discount_amount_1,\n discount_amount_2 : selectedItem.discount_amount_2,\n discount_amount_3 : selectedItem.discount_amount_3,\n discount_amount_4 : selectedItem.discount_amount_4,\n discount_amount_5 : selectedItem.discount_amount_5,\n discount_amount_cash : selectedItem.discount_amount_cash,\n stock : selectedItem.stock,\n conv_amount : selectedItem.conv_amount,\n uom : selectedItem.uom,\n }];\n itemBooking = itemBooking.concat(itemBookingNew);\n }\n }\n }else if(indexBooking >= 0){\n if(selectedItem.qty < selectedItem.stock){\n itemBooking.splice(indexBooking, 1)\n }else{\n var qty_booking = selectedItem.qty - selectedItem.stock;\n var real_qty_booking = selectedItem.conv_amount * qty_booking;\n var total_price_booking = qty_booking * selectedItem.net;\n\n itemBooking[indexBooking].qty = qty_booking;\n itemBooking[indexBooking].real_qty = real_qty_booking;\n itemBooking[indexBooking].total_price = total_price_booking;\n }\n }\n \n return itemBooking;\n }\n\n async addQuery(variables){\n var query = gql`mutation($data:NewTransactionPurchaseOrder!){\n CreateTransactionPurchaseOrder(New:$data)\n }`;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n\n async editQuery(variables){\n var query = gql`mutation($id:Int!, $data:NewTransactionPurchaseOrder!){\n UpdateTransactionPurchaseOrder(PurchaseOrderId:$id, New:$data)\n }`;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n\n duplicateAddressChecker(oldData, newData){\n var duplicate = 0;\n for (let i = 0; i < oldData.length; i++){\n if(oldData[i] == newData){\n duplicate++;\n }\n }\n return duplicate==0 ? false : true;\n }\n\n async editDistributor(variables){\n var query = gql`mutation($id:Int!,$data:NewContact!){\n UpdateContact(contactID:$id,contact:$data){\n response\n }\n }`;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n\n editItemGridDataGenerator(data){\n var result = [];\n \n if(data != null){\n for (let i = 0; i < data.length; i++){\n var price_discount = data[i].discount1_amount + data[i].discount2_amount + data[i].discount3_amount + data[i].discount4_amount + data[i].discount5_amount + data[i].discount_cash_amount;\n var real_qty = data[i].conv_amount * data[i].quantity;\n var net = data[i].price_per_unit - price_discount;\n var total_price = data[i].quantity * net;\n\n var str = {\n item_id : data[i].item_id,\n product_code : data[i].product_code,\n item_name : data[i].item_name,\n price : data[i].price_per_unit,\n price_discount : price_discount,\n net : net,\n qty : data[i].quantity,\n current_qty : data[i].quantity_current,\n real_qty : real_qty,\n total_price : total_price,\n discount1 : data[i].discount1,\n discount2 : data[i].discount2,\n discount3 : data[i].discount3,\n discount4 : data[i].discount4,\n discount5 : data[i].discount5,\n discount_cash : data[i].discount_cash,\n discount_amount_1 : data[i].discount1_amount,\n discount_amount_2 : data[i].discount2_amount,\n discount_amount_3 : data[i].discount3_amount,\n discount_amount_4 : data[i].discount4_amount,\n discount_amount_5 : data[i].discount5_amount,\n discount_amount_cash : data[i].discount_cash_amount,\n stock : 0,\n conv_amount : data[i].conv_amount,\n uom : data[i].uom,\n type_detail_id: data[i].type_detail_id\n };\n if(data[i].quantity > 0){\n result.push(str)\n }\n }\n }\n \n return result;\n }\n \n async getLimitRemaining(id, projectType){\n if(projectType == 'None'){\n var variables = {id : id};\n var query = gql`query($id:Int){\n GetTransactionPurchaseOrder(ProjectID:$id){\n transaction_purchase_order{\n on_going_purchase_order_total_by_project_id\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n var data = result.data.GetTransactionPurchaseOrder.transaction_purchase_order;\n \n var total = 0;\n if(data != null){\n if(data.length > 0){\n total = data[0].on_going_purchase_order_total_by_project_id;\n }\n }\n\n return total;\n }else{\n return 0;\n }\n }\n\n async purchaseOrderDetailTemplate(data){\n var itemDetail = this.editItemGridDataGenerator(data.purchase_order_detail);\n var itemBookingDetail = this.editItemGridDataGenerator(data.booking_order);\n var totalGross = 0;\n var totalDisc = 0;\n var totalPPNTax = 0;\n var totalGrossDisc = 0;\n var grandTotal = 0;\n\n if(itemDetail.length > 0){\n itemDetail.forEach(e => {\n totalGross = totalGross + (e.price * e.qty);\n totalDisc = totalDisc + (e.price_discount * e.qty);\n totalGrossDisc = totalGrossDisc + (e.net * e.qty);\n totalPPNTax = totalPPNTax + (e.net * (data.tax_percentage / 100)) * e.qty;\n });\n }\n \n if(itemBookingDetail.length > 0){\n itemBookingDetail.forEach(e => {\n totalGross = totalGross + (e.price * e.qty);\n totalDisc = totalDisc + (e.price_discount * e.qty);\n totalGrossDisc = totalGrossDisc + (e.net * e.qty);\n totalPPNTax = totalPPNTax + (e.net * (data.tax_percentage / 100)) * e.qty;\n });\n }\n\n grandTotal = totalGrossDisc + totalPPNTax;\n var doNumber = data.delivery_order_number == null ? \"\" : data.delivery_order_number;\n var invoiceNumber = data.invoice_number == null ? \"\" : data.invoice_number;\n\n var html = `\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n `;\n return html;\n }\n\n mergeItemArray(data){\n var itemDetail = this.editItemGridDataGenerator(data.purchase_order_detail);\n var itemBookingDetail = this.editItemGridDataGenerator(data.booking_order);\n \n var itemArray = [];\n for (let i = 0; i < itemDetail.length; i++){\n var str = { quantity: itemDetail[i].qty, \n uom: itemDetail[i].uom, \n base_quantity: itemDetail[i].real_qty,\n product_code: itemDetail[i].product_code, \n item_name: itemDetail[i].item_name, \n vat_per_unit: itemDetail[i].net,\n total_price: itemDetail[i].total_price,\n type: 'Item' }\n if(itemDetail[i].qty > 0){\n itemArray.push(str);\n }\n }\n\n for (let i = 0; i < itemBookingDetail.length; i++){\n var str = { quantity: itemBookingDetail[i].qty, \n uom: itemBookingDetail[i].uom, \n base_quantity: itemBookingDetail[i].real_qty,\n product_code: itemBookingDetail[i].product_code, \n item_name: itemBookingDetail[i].item_name, \n vat_per_unit: itemBookingDetail[i].net,\n total_price: itemBookingDetail[i].total_price,\n type: 'Item Booking' }\n if(itemBookingDetail[i].qty > 0){\n itemArray.push(str);\n }\n }\n\n return itemArray;\n }\n\n mergeItemDueDayArray(itemDetail, itemBookingDetail){\n var itemArray = [];\n for (let i = 0; i < itemDetail.length; i++){\n itemArray.push(itemDetail[i].type_detail_id);\n }\n\n for (let i = 0; i < itemBookingDetail.length; i++){\n itemArray.push(itemBookingDetail[i].type_detail_id);\n }\n\n return itemArray;\n }\n\n async getDueDate(customerId, projectId, typeDetailId){\n var variables = {\n customerId : customerId,\n projectId : projectId,\n typeDetailId : typeDetailId };\n\n var query = gql`query($customerId:Int, $projectId:Int, $typeDetailId:[String!]){\n GetTransactionDueDay(CustomerID:$customerId, ProjectID:$projectId, TypeDetailID:$typeDetailId)\n }`;\n\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n return result.data.GetTransactionDueDay == null ? 0 : result.data.GetTransactionDueDay;\n }\n\n itemPOPDF(itemDetail, itemBookingDetail){\n var arrayObject = [];\n\n if(itemDetail.length != 0){\n for (let i = 0; i < itemDetail.length; i++){\n var quantity_booking_order = 0;\n \n if(itemBookingDetail != null){\n if(itemBookingDetail.length != 0){\n var bookingItemData = itemBookingDetail.find(c => c.item_id == itemDetail[i].item_id);\n \n if(bookingItemData != undefined || bookingItemData != null){\n quantity_booking_order = bookingItemData.quantity;\n }\n }\n };\n if(itemBookingDetail != null) {\n if (itemBookingDetail.length != 0) {\n var bookingItemData = itemBookingDetail.find(c => c.item_id == itemDetail[i].item_id);\n \n if(bookingItemData != undefined || bookingItemData != null){\n quantity_booking_order = bookingItemData.quantity;\n }\n }\n };\n\n var quantity = itemDetail[i].quantity + quantity_booking_order;\n \n var price_discount = itemDetail[i].discount1_amount + itemDetail[i].discount2_amount + itemDetail[i].discount3_amount + itemDetail[i].discount4_amount + itemDetail[i].discount5_amount + itemDetail[i].discount_cash_amount;\n var real_qty = itemDetail[i].conv_amount * quantity;\n var net = itemDetail[i].price_per_unit - price_discount;\n var total_net = quantity * net;\n\n var str = { \n qty_string : kendo.toString(quantity, \"n0\"),\n qty : quantity,\n base_qty : real_qty,\n uom : itemDetail[i].uom,\n base_uom : itemDetail[i].base_uom,\n name : itemDetail[i].item_name + \" @\" + real_qty + \" \" + itemDetail[i].base_uom,\n net : net,\n total_net : total_net,\n net_string : kendo.toString(net, \"n0\"),\n total_net_string : kendo.toString(total_net, \"n0\")\n }\n\n if(itemDetail[i].quantity > 0){\n arrayObject.push(str);\n }\n }\n }\n\n // if(itemBookingDetail != null) {\n // if (itemBookingDetail.length != 0){\n // for (let i = 0; i < itemBookingDetail.length; i++){\n // var resultData = arrayObject.find(c => c.item_id == itemBookingDetail[i].item_id);\n \n // if(resultData == undefined || resultData == null){\n // var quantity = itemBookingDetail[i].quantity;\n \n // var price_discount = itemBookingDetail[i].discount1_amount + itemBookingDetail[i].discount2_amount + itemBookingDetail[i].discount3_amount + itemBookingDetail[i].discount4_amount + itemBookingDetail[i].discount5_amount + itemBookingDetail[i].discount_cash_amount;\n // var real_qty = itemBookingDetail[i].conv_amount * quantity;\n // var net = itemBookingDetail[i].price_per_unit - price_discount;\n // var total_net = quantity * net;\n\n // var str = { qty : quantity,\n // base_qty : real_qty,\n // uom : itemBookingDetail[i].uom,\n // base_uom : itemBookingDetail[i].base_uom,\n // name : itemBookingDetail[i].item_name + \" @\" + real_qty + \" \" + itemBookingDetail[i].base_uom,\n // net : net,\n // total_net: total_net,\n // net_string : kendo.toString(net, \"n0\"),\n // total_net_string : kendo.toString(total_net, \"n0\")}\n\n // arrayObject.push(str);\n // }\n // }\n // }\n // }\n \n return arrayObject;\n }\n\n transactionPurchaseOrderDetail(itemDetail, itemBookingDetail, tax){\n var result = [];\n \n if(itemDetail.length != 0){\n for (let i = 0; i < itemDetail.length; i++){\n var bookingItemData = itemBookingDetail.find(c => c.item_id == itemDetail[i].item_id);\n var quantityBookingOrder = 0;\n\n if(bookingItemData != undefined || bookingItemData != null){\n quantityBookingOrder = bookingItemData.qty;\n };\n\n var taxAmount = itemDetail[i].net * (tax / 100);\n var vatPerUnit = itemDetail[i].net + taxAmount;\n var sumQuantity = itemDetail[i].qty;\n\n var str = { \n item_id: itemDetail[i].item_id,\n uom: itemDetail[i].uom,\n price_per_unit: itemDetail[i].price,\n price: itemDetail[i].price * sumQuantity,\n price_discount_per_unit: itemDetail[i].net,\n price_discount: itemDetail[i].net * sumQuantity,\n vat_per_unit: vatPerUnit ,\n vat: vatPerUnit * sumQuantity,\n quantity: itemDetail[i].qty,\n quantity_booking_order: quantityBookingOrder,\n discount1: itemDetail[i].discount1,\n discount2: itemDetail[i].discount2,\n discount3: itemDetail[i].discount3,\n discount4: itemDetail[i].discount4,\n discount5: itemDetail[i].discount5,\n discount_cash: itemDetail[i].discount_cash,\n discount1_amount: itemDetail[i].discount_amount_1,\n discount2_amount: itemDetail[i].discount_amount_2,\n discount3_amount: itemDetail[i].discount_amount_3,\n discount4_amount: itemDetail[i].discount_amount_4,\n discount5_amount: itemDetail[i].discount_amount_5,\n discount_cash_amount: itemDetail[i].discount_amount_cash,\n tax_amount: taxAmount\n };\n result.push(str);\n }\n }\n if (itemBookingDetail.length != 0){\n for (let i = 0; i < itemBookingDetail.length; i++){\n var resultData = result.find(c => c.item_id == itemBookingDetail[i].item_id);\n \n if(resultData == undefined || resultData == null){\n var taxAmount = itemBookingDetail[i].net * (tax / 100);\n var vatPerUnit = itemBookingDetail[i].net + taxAmount;\n \n var str = { \n item_id: itemBookingDetail[i].item_id,\n uom: itemBookingDetail[i].uom,\n price_per_unit: itemBookingDetail[i].price,\n price: 0,\n price_discount_per_unit: itemBookingDetail[i].net,\n price_discount: 0,\n vat_per_unit: vatPerUnit,\n vat: 0,\n quantity: 0,\n quantity_booking_order: itemBookingDetail[i].qty,\n discount1: itemBookingDetail[i].discount1,\n discount2: itemBookingDetail[i].discount2,\n discount3: itemBookingDetail[i].discount3,\n discount4: itemBookingDetail[i].discount4,\n discount5: itemBookingDetail[i].discount5,\n discount_cash: itemBookingDetail[i].discount_cash,\n discount1_amount: itemBookingDetail[i].discount_amount_1,\n discount2_amount: itemBookingDetail[i].discount_amount_2,\n discount3_amount: itemBookingDetail[i].discount_amount_3,\n discount4_amount: itemBookingDetail[i].discount_amount_4,\n discount5_amount: itemBookingDetail[i].discount_amount_5,\n discount_cash_amount: itemBookingDetail[i].discount_amount_cash,\n tax_amount: taxAmount\n };\n result.push(str);\n }\n }\n }\n\n return result;\n }\n\n async getDropdownPPNTax(){\n var query = gql`query{\n GetMasterTax{\n percentage\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var arrayData = [];\n if(result.data.GetMasterTax != null){\n for (let i = 0; i < result.data.GetMasterTax.length; i++) {\n var str = { value:result.data.GetMasterTax[i].percentage, \n label:result.data.GetMasterTax[i].percentage}\n arrayData.push(str);\n }\n }\n return arrayData;\n }\n\n countStockReEdit(selectedItem, reEditData){\n var result = 0;\n\n if(reEditData != null){\n if(reEditData.length != 0){\n var data = reEditData.find(c => c.item_id == selectedItem.item_id);\n \n if(data == undefined || data == null){\n result = 0;\n }else{\n result = (data.qty * data.conv_amount) / selectedItem.conv_amount;\n }\n }\n };\n\n return Math.floor(result);\n }\n\n itemPIPDF(itemDetail){\n var arrayObject = [];\n if(itemDetail.length != 0){\n for (let i = 0; i < itemDetail.length; i++){\n if(itemDetail[i].quantity > 0){\n var price_discount = itemDetail[i].discount1_amount + itemDetail[i].discount2_amount + itemDetail[i].discount3_amount + itemDetail[i].discount4_amount + itemDetail[i].discount5_amount + itemDetail[i].discount_cash_amount;\n var net = itemDetail[i].price_per_unit - price_discount;\n var total_net = itemDetail[i].quantity * net;\n var real_quantity = itemDetail[i].quantity * itemDetail[i].conv_amount\n\n var str = { \n quantity_string : kendo.toString(itemDetail[i].quantity, \"n0\"),\n quantity : itemDetail[i].quantity,\n uom : itemDetail[i].uom,\n name : itemDetail[i].item_name + \" @\" + real_quantity + \" \" + itemDetail[i].base_uom,\n net : net,\n total_net : total_net,\n net_string : kendo.toString(net, \"n0\"),\n total_net_string : kendo.toString(total_net, \"n0\"),\n tax_amount : itemDetail[i].tax_amount\n }\n \n arrayObject.push(str);\n }\n }\n }\n\n return arrayObject;\n }\n}\n\nexport default new PurchaseOrderService();","import gql from 'graphql-tag';\nimport {globalfunc} from '../../../../shared/GlobalFunction.js';\nimport moment from 'moment';\nimport { invoice } from '../../../../infrastructure/constant/variable.js';\n\nclass InvoiceService {\n readInvoiceQuery(){\n var query = `query($paging:ServerPaging, $status:[String]){\n GetTransactionInvoice(Paging:$paging, Status:$status){\n transaction_invoice{\n invoice_id\n invoice_type\n status\n invoice_date\n invoice_number\n customer_name\n due_date\n sp_number\n total\n tax_invoice\n notes\n project_type\n created_at\n }\n total\n }\n }`;\n return query;\n }\n \n readDeliveryOrderQuery(){\n var query = `query {\n GetInvoiceableDeliveryOrder {\n created_at\n last_update\n delivery_order_id\n delivery_order_number\n storage_id\n purchase_order_id\n purchase_order_number\n sp_number\n project_id\n project_name\n project_type\n project_detail\n customer_name\n customer_metadata\n notes\n additional_notes\n term_of_payment\n }\n }`;\n return query;\n }\n\n readInvoiceDetailQuery(){\n var query = gql`query($id:Int, $check:Checker, $status:[String], $paging:ServerPaging){\n GetTransactionInvoice(InvoiceID: $id, Check:$check, Status:$status, Paging:$paging){\n transaction_invoice {\n created_at\n last_update\n invoice_id\n invoice_type\n invoice_number\n invoice_date\n due_date\n status\n purchase_order_id\n purchase_order_number\n purchase_order {\n created_at\n last_update\n purchase_order_id\n purchase_order_number\n sp_number\n purchase_order_date\n status\n project_id\n project_name\n project_type\n payment_method\n sales_id\n sales_name\n customer_id\n customer_name\n storage_id\n price_category_id\n purchase_order_sequence\n purchase_order_type\n notes\n printed_notes\n address\n attachment\n down_payment\n sample\n total\n tax_percentage\n on_going_purchase_order_total_by_project_id\n on_going_purchase_order_total_by_customer_id\n invoice_number\n delivery_order_number\n created_by\n approved_by\n payment_status\n term_of_payment\n booking_purchase_order_id\n }\n sp_number\n customer_id\n customer_name\n customer {\n created_at\n last_update\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n attachment2\n contact_debit\n on_going_purchase_order_total_by_customer_id\n }\n project_type\n tax_invoice\n tax_percentage\n tax_invoice_deposit\n notes\n total\n total_deposit\n total_rd\n created_by\n transaction_invoice_delivery_order {\n created_at\n last_update\n invoice_id\n delivery_order_id\n delivery_order_number\n }\n transaction_invoice_detail {\n created_at\n last_update\n invoice_id\n item_id\n item_name\n product_code\n barcode\n type_detail_id\n uom\n price_per_unit\n price\n vat_per_unit\n vat\n price_discount_per_unit\n price_discount\n fulfilled_quantity\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount_plus\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n discount_plus_amount\n tax_amount\n deposit_amount\n base_uom\n conv_amount\n vat_rd\n tax_amount_rd\n vat_per_unit_rd\n }\n }\n total\n }\n }`;\n return query;\n }\n\n async getDetailInvoice(id){\n const variables = {\n id : id\n }\n\n var query = this.readInvoiceDetailQuery();\n \n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n return result.data.GetTransactionInvoice.transaction_invoice[0];\n }\n\n async getDetailInvoiceExcel(selectedId, checkAll, paging, status){\n var IsAll = checkAll == 'true' ? true : false;\n var Params = selectedId == '' ? [] : selectedId.split(',');\n var variables = null;\n\n if(IsAll){\n variables = {\n check : {\n IsAll : IsAll,\n Params : Params\n },\n status : status,\n paging : paging\n }\n }\n else{\n variables = {\n check : {\n IsAll : IsAll,\n Params : Params,\n }\n }\n }\n \n var query = this.readInvoiceDetailQuery();\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n \n return result.data.GetTransactionInvoice.transaction_invoice;\n }\n\n async getInvoiceableItemList(id){\n var array = JSON.parse(id);\n \n const variables = {\n id : array\n }\n var query = gql`query($id:[Int]){\n GetTransactionInvoiceableItemListV2(DeliveryOrderIds: $id) {\n delivery_order_id\n delivery_order_number\n item_id\n item_name\n product_code\n barcode\n type_detail_id\n uom\n base_uom\n conv_amount\n quantity\n price_per_unit\n price\n price_discount_per_unit\n price_discount\n vat_per_unit\n vat\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n tax_amount\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n\n return result.data.GetTransactionInvoiceableItemListV2;\n }\n\n async getPurchaseOrderQuery(id){\n const variables = {\n id : id\n }\n var query = gql`query($id:Int){\n GetTransactionPurchaseOrder(PurchaseOrderID:$id){\n transaction_purchase_order {\n created_at\n last_update\n purchase_order_id\n purchase_order_number\n sp_number\n purchase_order_date\n status\n project_id\n project {\n created_at\n last_update\n project_id\n project_code\n project_type\n project_date\n project_duration\n project_name\n status\n pre_project_id\n pre_project_code\n pre_project_name\n forecast_type\n storage_id\n storage_name\n price_category_id\n price_category_name\n areacode\n areaname\n sales_id\n sales_name\n city\n attachment\n notes\n project_detail\n }\n project_name\n project_type\n payment_method\n sales_id\n sales {\n created_at\n last_update\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n attachment2\n }\n sales_name\n customer_id\n customer {\n created_at\n last_update\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n attachment2\n contact_debit\n }\n customer_name\n storage_id\n price_category_id\n purchase_order_sequence\n purchase_order_type\n notes\n printed_notes\n address\n attachment\n down_payment\n sample\n total\n tax_percentage\n invoice_number\n delivery_order_number\n created_by\n approved_by\n payment_status\n purchase_order_detail {\n created_at\n last_update\n purchase_order_id\n item_id\n product_code\n barcode\n type_detail_id\n item_name\n uom\n base_uom\n conv_amount\n price_per_unit\n price\n vat_per_unit\n vat\n quantity\n quantity_base\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n tax_amount\n }\n booking_order {\n created_at\n last_update\n booking_order_id\n purchase_order_id\n item_id\n product_code\n barcode\n type_detail_id\n item_name\n uom\n base_uom\n conv_amount\n price_per_unit\n price\n vat_per_unit\n vat\n quantity\n quantity_base\n quantity_production\n quantity_ready\n quantity_current\n quantity_purchase_order\n stock_sales\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n tax_amount\n customer_id\n customer_name\n purchase_order_number\n storage_id\n }\n term_of_payment\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n return result.data.GetTransactionPurchaseOrder.transaction_purchase_order[0];\n }\n \n invoiceDepositItemDataChange(data, discountPlus, PPNTax){\n if(data == null){\n data = [\n {\n item_id : '-1',\n product_code : 'Deposit',\n item_name: 'Deposit',\n uom: 'Pcs',\n base_uom: 'Deposit',\n price_per_unit: 0,\n price: 0,\n vat_per_unit: 0,\n vat: 0,\n price_discount_per_unit: 0,\n price_discount: 0,\n quantity: 1,\n discount1: 0,\n discount2: 0,\n discount3: 0,\n discount4: 0,\n discount5: 0,\n discount_cash: 0,\n discount_plus: 0,\n discount1_amount: 0,\n discount2_amount: 0,\n discount3_amount: 0,\n discount4_amount: 0,\n discount5_amount: 0,\n discount_cash_amount: 0,\n discount_plus_amount: 0,\n tax_amount: 0,\n deposit_amount: 0,\n conv_amount : 1,\n //RoundDown\n tax_amount_rd: 0,\n vat_per_unit_rd: 0,\n vat_rd: 0,\n }\n ];\n };\n\n var arrayData = [];\n if(data != null){\n var inputPriceDiscountPerUnit = data[0].price_per_unit;\n\n var discountPlusAmount = inputPriceDiscountPerUnit * (discountPlus / 100);\n var priceDiscountPerUnit = inputPriceDiscountPerUnit - discountPlusAmount;\n var taxAmount = priceDiscountPerUnit * (PPNTax / 100);\n var vatPerUnit = priceDiscountPerUnit + taxAmount;\n \n //RoundDown\n var discountPlusAmountRD = Math.floor(inputPriceDiscountPerUnit * (discountPlus / 100));\n var priceDiscountPerUnitRD = inputPriceDiscountPerUnit - discountPlusAmountRD;\n var taxAmountRD = priceDiscountPerUnitRD * (PPNTax / 100);\n var vatPerUnitRD = priceDiscountPerUnit + taxAmountRD;\n \n var str = { \n item_id: data[0].item_id,\n product_code : data[0].product_code,\n item_name: data[0].item_name,\n uom: data[0].uom,\n base_uom: data[0].base_uom,\n price_per_unit: inputPriceDiscountPerUnit,\n price: inputPriceDiscountPerUnit * data[0].quantity,\n vat_per_unit: vatPerUnit,\n vat: vatPerUnit * data[0].quantity,\n price_discount_per_unit: priceDiscountPerUnit,\n price_discount: priceDiscountPerUnit * data[0].quantity,\n quantity: data[0].quantity,\n conv_amount: data[0].conv_amount,\n discount1: data[0].discount1,\n discount2: data[0].discount2,\n discount3: data[0].discount3,\n discount4: data[0].discount4,\n discount5: data[0].discount5,\n discount_cash: data[0].discount_cash,\n discount_plus: discountPlus,\n discount1_amount: data[0].discount1_amount,\n discount2_amount: data[0].discount2_amount,\n discount3_amount: data[0].discount3_amount,\n discount4_amount: data[0].discount4_amount,\n discount5_amount: data[0].discount5_amount,\n discount_cash_amount: data[0].discount_cash_amount,\n discount_plus_amount: discountPlusAmount,\n tax_amount: taxAmount,\n deposit_amount: 0,\n //RoundDown\n tax_amount_rd: taxAmountRD,\n vat_per_unit_rd: vatPerUnitRD,\n vat_rd: vatPerUnitRD * data[0].quantity,\n }\n arrayData.push(str);\n }\n \n return arrayData;\n }\n\n invoiceItemDataChange(data, discountPlus, PPNTax, formType){\n var arrayData = [];\n if(data != null){\n for (let i = 0; i < data.length; i++) {\n var discountPlusAmount = 0;\n var priceDiscountPerUnit = 0;\n var taxAmount = 0;\n var vatPerUnit = 0;\n var vat = 0;\n var depositAmount = 0;\n\n //RoundDown\n var discountPlusAmountRD = 0;\n var priceDiscountPerUnitRD = 0;\n var taxAmountRD = 0;\n var vatPerUnitRD = 0;\n var vatRD = 0;\n\n if(formType == \"Add\"){\n discountPlusAmount = (data[i].price_discount_per_unit / data[i].conv_amount) * (discountPlus / 100) * data[i].conv_amount;\n priceDiscountPerUnit = data[i].price_discount_per_unit - discountPlusAmount;\n taxAmount = priceDiscountPerUnit * (PPNTax / 100);\n vatPerUnit = priceDiscountPerUnit + taxAmount;\n vat = vatPerUnit * data[i].quantity;\n\n //RoundDown\n discountPlusAmountRD = Math.floor((data[i].price_discount_per_unit / data[i].conv_amount) * (discountPlus / 100)) * data[i].conv_amount;\n priceDiscountPerUnitRD = data[i].price_discount_per_unit - discountPlusAmountRD;\n taxAmountRD = priceDiscountPerUnitRD * (PPNTax / 100);\n vatPerUnitRD = priceDiscountPerUnitRD + taxAmountRD;\n vatRD = vatPerUnitRD * data[i].quantity;\n }else{\n discountPlusAmount = data[i].discount_plus_amount;\n priceDiscountPerUnit = data[i].price_discount_per_unit;\n taxAmount = data[i].tax_amount;\n vatPerUnit = data[i].vat_per_unit;\n vat = data[i].vat;\n depositAmount = data[i].deposit_amount;\n\n //RoundDown\n taxAmountRD = data[i].tax_amount_rd;\n vatPerUnitRD = data[i].vat_per_unit_rd;\n vatRD = data[i].vat_rd;\n }\n\n var str = { \n item_id: data[i].item_id,\n product_code : data[i].product_code,\n item_name: data[i].item_name,\n uom: data[i].uom,\n base_uom: data[i].base_uom,\n price_per_unit: data[i].price_per_unit,\n price: data[i].price,\n vat_per_unit: vatPerUnit,\n vat: vat,\n price_discount_per_unit: priceDiscountPerUnit,\n price_discount: priceDiscountPerUnit * data[i].quantity,\n quantity: data[i].quantity,\n conv_amount: data[i].conv_amount,\n discount1: data[i].discount1,\n discount2: data[i].discount2,\n discount3: data[i].discount3,\n discount4: data[i].discount4,\n discount5: data[i].discount5,\n discount_cash: data[i].discount_cash,\n discount_plus: discountPlus,\n discount1_amount: data[i].discount1_amount,\n discount2_amount: data[i].discount2_amount,\n discount3_amount: data[i].discount3_amount,\n discount4_amount: data[i].discount4_amount,\n discount5_amount: data[i].discount5_amount,\n discount_cash_amount: data[i].discount_cash_amount,\n discount_plus_amount: discountPlusAmount,\n tax_amount: taxAmount,\n deposit_amount: depositAmount,\n //RoundDown\n tax_amount_rd: taxAmountRD,\n vat_per_unit_rd: vatPerUnitRD,\n vat_rd: vatRD,\n }\n arrayData.push(str);\n }\n }\n\n return arrayData;\n }\n \n getEditItemInvoice(data){\n var arrayData = [];\n if(data != null){\n for (let i = 0; i < data.length; i++) {\n var str = { base_uom: null,\n base_weight: data[i].base_weight,\n conv_amount: null,\n disc_1: data[i].disc1,\n disc_2: data[i].disc2,\n disc_3: data[i].disc3,\n disc_4: data[i].disc4,\n disc_5: data[i].disc5,\n disccash: data[i].disccash,\n item_id: data[i].item_id,\n product_code : data[i].product_code,\n item_name: data[i].item_name,\n price: data[i].price,\n qty: data[i].flmt_qty,\n uom: data[i].uom,\n uom_conv: null,\n total: data[i].priceppn,\n price_per_unit: data[i].price_per_unit,\n priceppn_per_unit: data[i].priceppn_per_unit\n }\n arrayData.push(str);\n }\n }\n return arrayData;\n }\n\n invoiceDetailTemplate(data){\n var type = data.invoice_type == 1 ? 'Invoice' : 'Deposit';\n var invoice_date = moment(data.invoice_date).format('DD MMMM YYYY'); \n var customerData = data.customer;\n\n if(type == 'Invoice'){\n var deliveryOrderData = this.deliveryOrderArrayToString(data.transaction_invoice_delivery_order);\n var deliveryOrderNumberList = JSON.stringify(deliveryOrderData.delivery_order_number).replace(/\"/g, '').replace(/,/g, ', ').replace('[', '').replace(']', '');\n\n var dueDate = moment(data.due_date).format('DD MMMM YYYY');\n }\n \n var html = `\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
`;\n if(type == 'Invoice'){\n html = html + `
\n
\n \n \n
\n
\n \n
\n
`;}\n\n html = html + `
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
`\n if(type == 'Invoice'){\n html = html + `
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
`;}\n html = html + `
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
`+ customerData.metadata.profile.handphone +`\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
`\n if(type == 'Invoice'){\n html = html + `\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
`;}\n html = html + `\n
\n
\n
\n `;\n return html;\n }\n\n async addQuery(variables){\n var query = gql`mutation($data:NewTransactionInvoice!){\n CreateTransactionInvoice(New:$data)\n }`;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n\n async editQuery(variables){\n var query = gql`mutation($id:Int!, $data:NewTransactionInvoice!){\n UpdateTransactionInvoice(InvoiceId:$id, New:$data)\n }`;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n\n invoiceExcelHeaderSizeSingle(){\n var size = [\n {width: 3}, //colA\n {width: 20}, //colB\n {width: 50}, //colC\n {width: 80}, //colD\n {width: 20}, //colE\n {width: 20}, //colF\n {width: 20}, //colG\n {width: 20}, //colH\n {width: 50}, //colI\n {width: 50}, //colJ\n {width: 20}, //colK\n {width: 20}, //colL\n {width: 20}, //colM\n {width: 30}, //colN\n {width: 20}, //colO\n {width: 20}, //colP\n {width: 20}, //colQ\n {width: 20}, //colR\n {width: 20}, //colS\n ];\n\n return size;\n }\n\n async invoiceExcelSingle(data){\n var arrayObject = [];\n\n //Row 1\n var row1 = {colA : 'FK',\n colB : 'KD_JENIS_TRANSAKSI',\n colC : 'FG_PENGGANTI',\n colD : 'NOMOR_FAKTUR',\n colE : 'MASA_PAJAK',\n colF : 'TAHUN_PAJAK',\n colG : 'TANGGAL_FAKTUR',\n colH : 'NPWP',\n colI : 'NAMA',\n colJ : 'ALAMAT_LENGKAP',\n colK : 'JUMLAH_DPP',\n colL : 'JUMLAH_PPN',\n colM : 'JUMLAH_PPNBM',\n colN : 'ID_KETERANGAN_TAMBAHAN',\n colO : 'FG_UANG_MUKA',\n colP : 'UANG_MUKA_DPP',\n colQ : 'UANG_MUKA_PPN',\n colR : 'UANG_MUKA_PPNBM',\n colS : 'REFERENSI'};\n arrayObject.push(row1);\n\n //Row 2 \n var row2 = {colA : 'LT',\n colB : 'NPWP',\n colC : 'NAMA',\n colD : 'JALAN',\n colE : 'BLOK',\n colF : 'NOMOR',\n colG : 'RT',\n colH : 'RW',\n colI : 'KECAMATAN',\n colJ : 'KELURAHAN',\n colK : 'KABUPATEN',\n colL : 'PROPINSI',\n colM : '',\n colN : '',\n colO : '',\n colP : '',\n colQ : '',\n colR : '',\n colS : ''};\n arrayObject.push(row2);\n\n //Row 3\n var row3 = {colA : 'OF',\n colB : 'KODE_OBJEK',\n colC : 'NAMA',\n colD : 'HARGA_SATUAN',\n colE : 'JUMLAH_BARANG',\n colF : 'HARGA_TOTAL',\n colG : 'DISKON',\n colH : 'DPP',\n colI : 'PPN',\n colJ : 'TARIF_PPNBM',\n colK : 'PPNBM',\n colL : '',\n colM : '',\n colN : '',\n colO : '',\n colP : '',\n colQ : '',\n colR : '',\n colS : ''};\n arrayObject.push(row3);\n\n if(data != null){\n for (let i = 0; i < data.length; i++) {\n var detail = this.itemInvoiceExcel(data[i].transaction_invoice_detail);\n var taxinvoice = data[i].tax_invoice == null ? \"\" : data[i].tax_invoice.replace(/\\./g, '');\n var rowFK = { colA : 'FK',\n colB : taxinvoice.substring(0,2),\n colC : taxinvoice.substring(2,3),\n colD : taxinvoice.substring(3),\n colE : moment(data[i].invoice_date).format(\"MM\"),\n colF : moment(data[i].invoice_date).format(\"YYYY\"),\n colG : moment(data[i].invoice_date).format(\"DD/MM/YYYY\"),\n colH : data[i].customer.metadata.profile.npwp == null ? \"\" : data[i].customer.metadata.profile.npwp.replace(/\\./g, '').replace(/-/g, ''),\n colI : data[i].customer.contact_name,\n colJ : data[i].customer.metadata.profile.address,\n colK : Math.round(detail.total_price_discount),\n colL : detail.total_tax_amount,\n colM : '0',\n colN : '',\n colO : '0',\n colP : '0',\n colQ : '0',\n colR : '0',\n colS : data[i].invoice_number}\n arrayObject.push(rowFK);\n\n var companyData = await globalfunc.getCompanyInfo();\n var CompanyNPWP = companyData.NPWP.replace(/\\./g,'').replace('-','');\n var CompanyPabrik = companyData.Pabrik.toUpperCase();\n var CompanyProvinsi = companyData.Provinsi.toUpperCase();\n\n var rowLT = { colA : 'LT',\n colB : CompanyNPWP,\n colC : 'PT. BOJONG WESTPLAS',\n colD : CompanyPabrik + ', KAB. ' + CompanyProvinsi,\n colE : '-',\n colF : '-',\n colG : '0',\n colH : '0',\n colI : '-',\n colJ : '-',\n colK : '-',\n colL : '-',\n colM : '-',\n colN : '-',\n colO : '',\n colP : '',\n colQ : '',\n colR : '',\n colS : ''}\n arrayObject.push(rowLT);\n \n var detailData = detail.grid_data;\n for (let i = 0; i < detailData.length; i++){\n var diskon = 0;\n var rowOF = { colA : 'OF',\n colB : '1',\n colC : detailData[i].item_name,\n colD : detailData[i].price_discount_per_unit,\n colE : detailData[i].quantity,\n colF : Math.round(detailData[i].price_discount),\n colG : diskon,\n colH : Math.round(detailData[i].price_discount) - diskon,\n colI : detailData[i].tax_amount,\n colJ : '0',\n colK : '0',\n colL : '',\n colM : '',\n colN : '',\n colO : '',\n colP : '',\n colQ : '',\n colR : '',\n colS : ''}\n arrayObject.push(rowOF);\n }\n }\n }\n\n return arrayObject\n }\n\n invoiceHeaderSizeFaktur(){\n var size = [\n {width: 10}, //colA\n {width: 20}, //colB\n {width: 15}, //colC\n {width: 20}, //colD\n {width: 20}, //colE\n {width: 25}, //colF\n {width: 25}, //colG\n {width: 20}, //colH\n {width: 30}, //colI\n {width: 30}, //colJ\n {width: 25}, //colK\n {width: 20}, //colL\n {width: 30}, //colM\n {width: 30}, //colN\n {width: 30}, //colO\n {width: 30}, //colP\n {width: 30} //colQ\n ];\n\n return size;\n }\n\n invoiceHeaderSizeFakturDetail(){\n var size = [\n {width: 10}, //colA\n {width: 15}, //colB\n {width: 20}, //colC\n {width: 30}, //colD\n {width: 30}, //colE\n {width: 15}, //colF\n {width: 30}, //colG\n {width: 20}, //colH\n {width: 20}, //colI\n {width: 20}, //colJ\n {width: 20}, //colK\n {width: 20}, //colL\n {width: 20}, //colM\n {width: 20} //colN\n ];\n\n return size;\n }\n\n async invoiceExcelMultiple(data){\n var faktur = [];\n var detailFaktur = [];\n\n var companyData = await globalfunc.getCompanyInfo();\n var CompanyNPWP = companyData.NPWP.replace(/\\./g,'').replace('-','');\n\n //Faktur Header\n //Row 1\n var row1 = {colA : 'NPWP Penjual',\n colB : '',\n colC : CompanyNPWP};\n faktur.push(row1);\n\n //Row 2\n var spaceRow = {colA : null};\n faktur.push(spaceRow);\n\n //Row 3\n var row3 = {colA : 'Baris',\n colB : 'Tanggal Faktur',\n colC : 'Jenis Faktur',\n colD : 'Kode Transaksi',\n colE : 'Keterangan Tambahan',\n colF : 'Dokumen Pendukung',\n colG : 'Referensi',\n colH : 'Cap Fasilitas',\n colI : 'ID TKU Penjual',\n colJ : 'NPWP/NIK Pembeli',\n colK : 'Jenis ID Pembeli',\n colL : 'Negera Pembeli',\n colM : 'Nomor Dokumen Pembeli',\n colN : 'Nama Pembeli',\n colO : 'Alamat Pembeli',\n colP : 'Email Pembeli',\n colQ : 'ID TKU Pembeli'};\n faktur.push(row3);\n \n //Detail Faktur Header\n //Row 1\n var row1 = {colA : 'Baris',\n colB : 'Barang/Jasa',\n colC : 'Kode Barang Jasa',\n colD : 'Nama Barang/Jasa',\n colE : 'Nama Satuan Ukur',\n colF : 'Harga Satuan',\n colG : 'Jumlah Barang Jasa',\n colH : 'Total Diskon',\n colI : 'DPP',\n colJ : 'DPP Nilai Lain',\n colK : 'Tarif PPN',\n colL : 'PPN',\n colM : 'Tarif PPnBM',\n colN : 'PPnBM'};\n detailFaktur.push(row1);\n\n if(data != null){\n var baris = 1;\n\n for (let i = 0; i < data.length; i++) {\n var profileCostumerData = data[i].customer.metadata.profile;\n var rowData = { \n colA : baris.toString(),\n colB : moment(data[i].invoice_date).format(\"DD/MM/YYYY\"),\n colC : 'Normal',\n colD : profileCostumerData.taxfree ? '07' : '04',\n colE : '',\n colF : '',\n colG : data[i].invoice_number,\n colH : '',\n colI : CompanyNPWP + '000000',\n colJ : profileCostumerData.npwp.replace(/\\./g,'').replace('-',''),\n colK : 'TIN',\n colL : 'IDN',\n colM : '-',\n colN : data[i].customer.contact_name,\n colO : profileCostumerData.address,\n colP : profileCostumerData.email,\n colQ : profileCostumerData.nitku == undefined ? '' : profileCostumerData.nitku}\n faktur.push(rowData);\n\n var detail = this.itemInvoiceExcel(data[i].transaction_invoice_detail);\n var detailData = detail.grid_data;\n for (let j = 0; j < detailData.length; j++){\n var diskon = 0;\n var dpp = detailData[j].price_discount - diskon;\n var dppOther = (11 / 12) * dpp;\n\n var uom = '';\n switch(detailData[j].base_uom) {\n case 'KG':\n uom = 'UM.0003';\n break;\n case 'Pcs':\n uom = 'UM.0021';\n break;\n case 'M':\n uom = 'UM.0013';\n break;\n case 'Unit':\n uom = 'UM.0018';\n break;\n case 'Set':\n uom = 'UM.0019';\n break;\n default:\n uom = 'UM.0021';\n }\n \n var rowDetail = { \n colA : baris,\n colB : 'A',\n colC : '000000',\n colD : detailData[j].item_name,\n colE : uom,\n colF : detailData[j].price_discount_per_unit,\n colG : detailData[j].quantity,\n colH : diskon,\n colI : dpp,\n colJ : dppOther,\n colK : 12,\n colL : detailData[j].tax_amount,\n colM : 10,\n colN : 0,\n colO : '',\n colP : '',\n colQ : '',\n colR : '',\n colS : ''}\n detailFaktur.push(rowDetail);\n }\n\n baris++;\n }\n }\n\n //Row END\n var rowEnd = {colA : 'END'};\n faktur.push(rowEnd)\n detailFaktur.push(rowEnd);\n\n var result = {\n Faktur: faktur,\n DetailFaktur: detailFaktur\n };\n\n return result;\n }\n\n itemInvoiceExcel(data){\n var arrayObject = [];\n var totalPriceDiscount = 0;\n var totalTaxAmount = 0;\n var totalVat = 0;\n \n if(data.length != 0){\n for (let i = 0; i < data.length; i++){\n totalPriceDiscount = totalPriceDiscount + data[i].price_discount;\n totalTaxAmount = totalTaxAmount + data[i].tax_amount * data[i].fulfilled_quantity;\n totalVat = totalVat + data[i].vat;\n\n var row = { quantity : data[i].fulfilled_quantity * data[i].conv_amount,\n uom : data[i].uom,\n base_uom : data[i].base_uom,\n product_code : data[i].product_code,\n item_name : data[i].item_name,\n price_discount_per_unit : data[i].price_discount_per_unit / data[i].conv_amount,\n price_discount : data[i].price_discount,\n vat_per_unit : data[i].vat_per_unit,\n vat : data[i].vat,\n tax_amount : data[i].tax_amount * data[i].fulfilled_quantity,\n price_discount_per_unit_string : kendo.toString(data[i].price_discount_per_unit, \"n0\"),\n price_discount_string : kendo.toString(data[i].price_discount, \"n0\") }\n arrayObject.push(row);\n }\n }\n \n return {\n grid_data : arrayObject,\n total_price_discount : totalPriceDiscount,\n total_tax_amount : Math.floor(totalTaxAmount),\n total_vat : totalVat\n };\n }\n\n itemInvoicePDF(data){\n var arrayObject = [];\n var totalPriceDiscount = 0;\n var totalTaxAmount = 0;\n var totalVat = 0;\n \n if(data.length != 0){\n for (let i = 0; i < data.length; i++){\n totalPriceDiscount = totalPriceDiscount + data[i].price_discount;\n totalTaxAmount = totalTaxAmount + (data[i].tax_amount * data[i].fulfilled_quantity);\n totalVat = totalVat + data[i].vat;\n\n var baseQuantity = data[i].fulfilled_quantity * data[i].conv_amount;\n \n var row = { \n quantity_string : kendo.toString(data[i].fulfilled_quantity, \"n0\"),\n quantity : data[i].fulfilled_quantity,\n base_quantity_string : kendo.toString(Number(baseQuantity.toFixed(10)), \"n0\"),\n base_quantity : Number(baseQuantity.toFixed(10)),\n uom : data[i].uom,\n base_uom : data[i].base_uom,\n product_code : data[i].product_code,\n item_name : data[i].item_name + \" @\" + data[i].fulfilled_quantity + \" \" + data[i].uom,\n price_discount_per_unit : (data[i].price_discount_per_unit/data[i].conv_amount),\n price_discount : data[i].price_discount,\n vat_per_unit : data[i].vat_per_unit,\n vat : data[i].vat,\n tax_amount : data[i].tax_amount * data[i].fulfilled_quantity,\n price_discount_per_unit_string : kendo.toString((data[i].price_discount_per_unit/data[i].conv_amount), \"n0\"),\n price_discount_string : kendo.toString(data[i].price_discount, \"n0\") \n }\n arrayObject.push(row);\n }\n }\n\n return {\n grid_data : arrayObject,\n total_price_discount : totalPriceDiscount,\n total_tax_amount : Math.round(totalTaxAmount),\n total_vat : Math.round(totalVat)\n };\n }\n\n async getDropdownPPNTax(){\n var query = gql`query{\n GetMasterTax{\n percentage\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var arrayData = [];\n if(result.data.GetMasterTax != null){\n for (let i = 0; i < result.data.GetMasterTax.length; i++) {\n var str = { value:result.data.GetMasterTax[i].percentage, \n label:result.data.GetMasterTax[i].percentage}\n arrayData.push(str);\n }\n }\n return arrayData;\n }\n\n validateDuplicateSelectedData(data){ \n let arrayObj = [];\n var array = data.split(',');\n for (let i = 0; i < array.length; i++) {\n var detailArray = array[i].split('|');\n var obj = \n {\n id: detailArray[0],\n purchase_order_id : detailArray[1],\n sp_number : detailArray[2]\n }\n arrayObj.push(obj)\n }\n \n var unique = arrayObj.map(e => e['purchase_order_id'] ).map((e, i, final) => final.indexOf(e) === i && i).filter(obj=> arrayObj[obj]);\n if(unique.length > 1){\n return {\n result : false\n }\n }\n else{\n return {\n result : true,\n deliveryOrderId : arrayObj.map(e => parseInt(e['id'])),\n purchaseOrderId : arrayObj[0].purchase_order_id,\n }\n \n }\n }\n\n deliveryOrderArrayToString(data){\n let deliveryOrderNumber = [];\n let deliveryOrderId = [];\n for (let i = 0; i < data.length; i++) {\n deliveryOrderNumber.push(data[i].delivery_order_number);\n deliveryOrderId.push(data[i].delivery_order_id);\n }\n \n var result = { \n delivery_order_id: deliveryOrderId,\n delivery_order_number: deliveryOrderNumber\n };\n\n return result;\n }\n\n async getCustomerQuery(){\n var query = gql`query{\n GetContact(ContactType:\"Distributor\"){\n contact_id\n contact_name\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var arrayData = [];\n if(result.data.GetContact != null){\n for (let i = 0; i < result.data.GetContact.length; i++) {\n var label = result.data.GetContact[i].contact_name\n var str = {value:result.data.GetContact[i].contact_id, label:label}\n arrayData.push(str);\n }\n }\n return arrayData;\n } \n\n async getDueDateQuery(id, projectType, typeDetail){\n const variables = {\n id : id,\n project_type : projectType,\n type_detail : typeDetail\n }\n \n var query = gql`query($id:Int!, $project_type:Int!, $type_detail:[String!]!){\n GetTransactionDueDate(customerID:$id, projectType:$project_type, typeDetailIDs:$type_detail)\n }`;\n \n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n var duedate = 0;\n if(result.data != null) {\n duedate = result.data.GetTransactionDueDate;\n }\n return duedate;\n } \n\n invoiceItemTypeDetailList(data){\n var arrayData = [];\n if(data != null){\n for (let i = 0; i < data.length; i++) {\n arrayData.push(data[i].type_detail_id);\n }\n }\n return arrayData;\n }\n\n async getRecalculateQuery(data){\n const variables = {\n data : data,\n }\n \n var query = gql`query($data:NewTransactionInvoice!){\n CalculateDeposit(new:$data){\n item_id\n base_uom\n uom\n conv_amount\n price_per_unit\n price\n vat_per_unit\n vat\n price_discount_per_unit\n price_discount\n fulfilled_quantity\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount_plus\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n discount_plus_amount\n tax_amount\n deposit_amount\n item_name\n product_code\n }\n }`;\n \n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n \n if(result.data != null) {\n return globalfunc.objectToArrayConverter(result.data.CalculateDeposit, \"Transaction-Invoice-InvoiceItemDetailEdit\");\n }else{\n if(result.errors == undefined || result.errors == null){\n return null;\n }else{\n return \"Error\";\n }\n }\n }\n}\n\nexport default new InvoiceService();","\"use strict\"\r\n\r\nconst units = ['', 'ribu', 'juta', 'milyar', 'triliun', 'quadriliun', 'quintiliun', 'sextiliun', 'septiliun', 'oktiliun', 'noniliun', 'desiliun', 'undesiliun', 'duodesiliun', 'tredesiliun', 'quattuordesiliun', 'quindesiliun', 'sexdesiliun', 'septendesiliun', 'oktodesiliun', 'novemdesiliun', 'vigintiliun']\r\nconst maxIndex = units.length - 1\r\nfunction digitToUnit (digit) {\r\n const curIndex = digit / 3\r\n return curIndex <= maxIndex ? units[curIndex] : units[maxIndex]\r\n}\r\n\r\nconst numbers = ['', 'satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan', 'sembilan']\r\nfunction numberToText (index) {\r\n return numbers[index] || ''\r\n}\r\n\r\nconst terbilang = (angka) => {\r\n const angkaLength = angka.length\r\n const angkaMaxIndex = angkaLength - 1\r\n\r\n // Angka Nol\r\n if (angkaMaxIndex === 0 && Number(angka[0]) === 0) {\r\n return 'nol'\r\n }\r\n\r\n let space = ''\r\n let result = ''\r\n\r\n let i = 0\r\n while (i !== angkaLength) {\r\n\r\n const digitCount = angkaMaxIndex - i\r\n const modGroup = digitCount % 3 // [2,1,0]\r\n const curAngka = Number(angka[i])\r\n\r\n if (digitCount === 3 && curAngka === 1 && (i === 0 || \r\n (Number(angka[i - 2]) === 0 && Number(angka[i - 1]) === 0))) {\r\n /* Angka Seribu */\r\n result += `${space}seribu`\r\n } else {\r\n if (curAngka !== 0) {\r\n if (modGroup === 0) {\r\n /* Angka Satuan Bukan Nol */\r\n result += `${space}${numberToText(curAngka)}${(i === angkaMaxIndex ? '' : ' ')}${digitToUnit(digitCount)}`\r\n } else if (modGroup === 2) {\r\n /* Angka Ratusan */\r\n if (curAngka === 1) {\r\n result += `${space}seratus`\r\n } else {\r\n result += `${space}${numberToText(curAngka)} ratus`\r\n }\r\n } else {\r\n /* Angka Sepuluh dan Belasan */\r\n if (curAngka === 1) {\r\n i++ // Skip Next Angka\r\n const nextAngka = Number(angka[i])\r\n if (nextAngka === 0) {\r\n result += `${space}sepuluh`\r\n /* Proses Next Angka Sekarang */\r\n if (digitCount !== 1 && (Number(angka[i - 2]) !== 0 || Number(angka[i - 1]) !== 0)) {\r\n result += ` ${digitToUnit(digitCount - 1)}`\r\n }\r\n } else {\r\n if (nextAngka === 1) {\r\n result += `${space}sebelas`\r\n } else {\r\n result += `${space}${numberToText(nextAngka)} belas`\r\n }\r\n /* Proses Next Angka Sekarang */\r\n if (digitCount !== 1) {\r\n result += ` ${digitToUnit(digitCount - 1)}`\r\n }\r\n }\r\n } else {\r\n /* Angka Puluhan */\r\n result += `${space}${numberToText(curAngka)} puluh`\r\n }\r\n }\r\n } else {\r\n /* Angka Satuan Nol */\r\n if (modGroup === 0 && (Number(angka[i - 2]) !== 0 || Number(angka[i - 1]) !== 0) && digitCount !== 0) {\r\n result += ` ${digitToUnit(digitCount)}`\r\n }\r\n }\r\n }\r\n\r\n if (i <= 1) {\r\n space = ' '\r\n }\r\n i++\r\n }\r\n\r\n return result\r\n}\r\n\r\nconst terbilangSatuSatu = (angka) => {\r\n return angka\r\n .split('')\r\n .map(angka => angka == 0 ? 'nol' : numberToText(angka))\r\n .join(' ')\r\n}\r\n\r\nmodule.exports = function angkaTerbilang(target, settings={decimal: '.'}) {\r\n if (typeof target !== \"string\") target = String(target)\r\n if (target.indexOf(settings.decimal) > -1) {\r\n /* Dengan Desimal */\r\n target = target.split(settings.decimal)\r\n return `${terbilang(target[0])} koma ${terbilangSatuSatu(target[1])}`\r\n } else {\r\n /* Tanpa Desimal */\r\n return terbilang(target)\r\n }\r\n}","import gql from 'graphql-tag';\nimport {globalfunc} from '../../../../shared/GlobalFunction.js';\nimport moment from 'moment';\n\nclass ProformaInvoiceDownPaymentService {\n async getCustomerQuery(){\n var query = gql`query{\n GetContact(ContactType:\"Distributor\"){\n contact_id\n contact_name\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var arrayData = [];\n if(result.data.GetContact != null){\n for (let i = 0; i < result.data.GetContact.length; i++) {\n var str = { value: result.data.GetContact[i].contact_id, \n label: result.data.GetContact[i].contact_name}\n arrayData.push(str);\n }\n }\n return arrayData;\n } \n\n async getDropdownPPNTax(){\n var query = gql`query{\n GetMasterTax{\n percentage\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var arrayData = [];\n if(result.data.GetMasterTax != null){\n for (let i = 0; i < result.data.GetMasterTax.length; i++) {\n var str = { value:result.data.GetMasterTax[i].percentage, \n label:result.data.GetMasterTax[i].percentage}\n arrayData.push(str);\n }\n }\n return arrayData;\n }\n\n async getContactDetailQuery(variables){\n var query = gql`query($type:String,$id:Int){\n GetContact(ContactType:$type, ContactId:$id){\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n on_going_purchase_order_total_by_customer_id\n }\n }`;\n if (variables.id == '' || variables.id == null) {\n return null;\n }\n else {\n var result = await globalfunc.defaultApolloQueryDefault(query,variables);\n return result.data.GetContact[0];\n }\n } \n\n async getProjectDropdownByCustomerId(customerId, projectType){\n var projectTypeIndex = 0;\n if(projectType == \"Project\"){\n projectTypeIndex = 1\n }\n if(projectType == \"Retail\"){\n projectTypeIndex = 2\n }\n const variables = {\n contactId : customerId,\n projectType : projectTypeIndex,\n status : \"Ready\"\n }\n \n var query = gql`query($contactId:Int, $projectType:Int, $status:[String]){\n GetTransactionProject(ContactID:$contactId, ProjectType:$projectType, Status:$status){\n project{\n project_id\n project_name\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n \n if(result.data.GetTransactionProject == null){\n return [];\n }else{\n return globalfunc.objectToArrayConverter(result.data.GetTransactionProject.project, 'Transaction-PO-Project');\n }\n }\n\n async getProjectDetail(id){\n const variables = {\n id : id\n }\n \n var query = gql`query($id:Int){\n GetTransactionProject(ProjectId:$id){\n project{\n project_id\n project_code\n project_name\n forecast_type\n sales_id\n sales_name\n price_category_id\n storage_id\n project_detail\n project_type\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n\n return result.data.GetTransactionProject.project[0];\n }\n\n async getLimitRemaining(id, projectType){\n if(projectType == 'None'){\n var variables = {id : id};\n var query = gql`query($id:Int){\n GetTransactionPurchaseOrder(ProjectID:$id){\n transaction_purchase_order{\n on_going_purchase_order_total_by_project_id\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n var data = result.data.GetTransactionPurchaseOrder.transaction_purchase_order;\n \n var total = 0;\n if(data != null){\n if(data.length > 0){\n total = data[0].on_going_purchase_order_total_by_project_id;\n }\n }\n\n return total;\n }else{\n return 0;\n }\n }\n\n poDataDropDown(totalPO){\n var poData = [];\n\n if(totalPO < 1){\n poData = [{value: 0}];\n }else{\n for (let i = 1; i <= totalPO; i++) {\n var str = {value: i}\n poData.push(str);\n }\n }\n\n return poData;\n }\n\n async readTypeDetailQuery(){\n var query = gql`query{\n GetTypeDetail(Flags:[\"All\",\"Project\",\"Retail\"]) {\n type_detail_id\n type_detail_name\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n var data = result.data.GetTypeDetail;\n var typeDetailData = [];\n if(data != null){\n for (let i = 0; i < data.length; i++) {\n var str = { \n value: data[i].type_detail_id, \n label: data[i].type_detail_id + ' (' + data[i].type_detail_name + ')'\n }\n typeDetailData.push(str);\n }\n }\n return typeDetailData\n }\n\n readItemQuery(){\n var query = `query($id: Int!, $po: Int, $typeDetailId: String){\n GetTransactionPurchaseOrderableItemList(ProjectID: $id, PurchaseOrderSequence: $po, TypeDetailId: $typeDetailId){\n project_id\n purchase_order_sequence\n storage_id\n storage_name\n price_category_id\n price_category_name\n item_id\n product_code\n item_name\n barcode\n item_type\n type_detail_id\n type_detail_name\n base_uom\n uom\n conv_amount\n base_stock\n stock\n forcast_quantity\n ordered_quantity\n remaining_quantity\n quantity\n base_weight\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount_amount_1\n discount_amount_2\n discount_amount_3\n discount_amount_4\n discount_amount_5\n discount_amount_cash\n price_retail\n price_project\n base_price_retail\n base_price_project\n price_retail_discount\n price_project_discount\n base_price_retail_discount\n base_price_project_discount\n price_retail_discount_cash\n price_project_discount_cash\n base_price_retail_discount_cash\n base_price_project_discount_cash\n }\n }`;\n return query;\n }\n\n fillSelectedQuantity(data, forecast_type){\n if(forecast_type == 'Forecast 1' || forecast_type == 'Paket'){\n //do nothing\n }else{\n data.forEach(function(data, key) {\n if(forecast_type == 'None' || forecast_type == 'Total'){\n //do nothing\n }else{\n data.selected_qty = data.forcast_quantity;\n }\n });\n }\n \n return data;\n }\n\n columnsProject(type, forecast_type){\n var price = \"\";\n var quantity = \"\";\n var columns = [];\n\n if(type == 'Project'){\n price = 'price_project';\n }else if(type == 'Retail'){\n price = 'price_retail';\n }\n\n if(forecast_type == 'Forecast 1' || forecast_type == 'Paket'){\n quantity = 'forcast_quantity';\n }else{\n quantity = 'selected_qty';\n }\n\n if(forecast_type == 'Forecast 2'){\n columns = [\n { field: \"type_detail_name\", title: \"Tipe Detail\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"product_code\", title: \"Kode\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"item_name\", title: \"Nama\", width: 250, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n // { field: \"stock\", title: \"Stock\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"uom\", title: \"Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, },\n { field: \"conv_amount\", title: \"Nilai Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: price, title: \"Harga\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" }, format:\"{0:N0}\" },\n { field: \"forcast_quantity\", title: \"Limit Quantity PO\", width: 200, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: quantity, title: \"Quantity\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount1\", title: \"Diskon 1 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount2\", title: \"Diskon 2 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount3\", title: \"Diskon 3 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount4\", title: \"Diskon 4 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount5\", title: \"Diskon 5 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount_cash\", title: \"Diskon Cash (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n ];\n }else{\n columns = [\n { field: \"type_detail_name\", title: \"Tipe Detail\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"product_code\", title: \"Kode\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"item_name\", title: \"Nama\", width: 250, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n // { field: \"stock\", title: \"Stock\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"uom\", title: \"Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" } },\n { field: \"conv_amount\", title: \"Nilai Satuan\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: price, title: \"Harga\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" }, format:\"{0:N0}\" },\n { field: quantity, title: \"Quantity\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount1\", title: \"Diskon 1 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount2\", title: \"Diskon 2 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount3\", title: \"Diskon 3 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount4\", title: \"Diskon 4 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount5\", title: \"Diskon 5 (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n { field: \"discount_cash\", title: \"Diskon Cash (%)\", width: 150, headerAttributes:{ style: \"text-align:center; font-weight:bold;\" }, attributes: { \"class\": \"k-text-right\" } },\n ];\n } \n\n return columns;\n }\n\n itemDataObject(data, qty, type){\n var price = 0;\n var net = 0;\n\n if(type == 'Project'){\n price = data.price_project;\n net = data.price_project_discount_cash;\n }else if(type == 'Retail'){\n price = data.price_retail;\n net = data.price_retail_discount_cash;\n }\n\n var price_discount = data.discount_amount_1 + data.discount_amount_2 + data.discount_amount_3 + data.discount_amount_4 + data.discount_amount_5 + data.discount_amount_cash;\n var real_qty = data.conv_amount * qty;\n var total_price = qty * net;\n\n var dataItem = [{\n item_id : data.item_id,\n product_code : data.product_code,\n item_name : data.item_name,\n price : price,\n price_discount : price_discount,\n net : net,\n qty : qty,\n current_qty : qty,\n real_qty : real_qty,\n total_price : total_price,\n discount1 : data.discount1,\n discount2 : data.discount2,\n discount3 : data.discount3,\n discount4 : data.discount4,\n discount5 : data.discount5,\n discount_cash : data.discount_cash,\n discount_amount_1 : data.discount_amount_1,\n discount_amount_2 : data.discount_amount_2,\n discount_amount_3 : data.discount_amount_3,\n discount_amount_4 : data.discount_amount_4,\n discount_amount_5 : data.discount_amount_5,\n discount_amount_cash : data.discount_amount_cash,\n stock : data.stock,\n conv_amount : data.conv_amount,\n uom : data.uom,\n type_detail_id: data.type_detail_id\n }];\n \n return dataItem;\n }\n\n itemGridChange(selectedItem, itemData, index){\n //change item\n var item = itemData;\n\n if(selectedItem.qty > selectedItem.stock){\n var real_qty = selectedItem.conv_amount * selectedItem.stock;\n var total_price = selectedItem.stock * selectedItem.net;\n\n item[index].qty = selectedItem.stock;\n item[index].real_qty = real_qty;\n item[index].total_price = total_price;\n }else{\n var real_qty = selectedItem.conv_amount * selectedItem.qty;\n var total_price = selectedItem.qty * selectedItem.net;\n\n item[index].qty = selectedItem.qty;\n item[index].real_qty = real_qty;\n item[index].total_price = total_price;\n }\n\n return item;\n }\n\n duplicateItemProjectChecker(oldData, newData){\n var duplicate = 0;\n for (let i = 0; i < oldData.length; i++){\n if(oldData[i].item_id == newData.item_id){\n duplicate++;\n }\n }\n return duplicate==0 ? false : true;\n }\n\n transactionProformaInvoiceDetail(itemDetail, tax){\n var result = [];\n \n if(itemDetail.length != 0){\n for (let i = 0; i < itemDetail.length; i++){\n var taxAmount = itemDetail[i].net * (tax / 100);\n var vatPerUnit = itemDetail[i].net + taxAmount;\n var sumQuantity = itemDetail[i].qty;\n\n var str = { \n item_id: itemDetail[i].item_id,\n uom: itemDetail[i].uom,\n price_per_unit: itemDetail[i].price,\n price: itemDetail[i].price * sumQuantity,\n price_discount_per_unit: itemDetail[i].net,\n price_discount: itemDetail[i].net * sumQuantity,\n vat_per_unit: vatPerUnit ,\n vat: vatPerUnit * sumQuantity,\n quantity: itemDetail[i].qty,\n discount1: itemDetail[i].discount1,\n discount2: itemDetail[i].discount2,\n discount3: itemDetail[i].discount3,\n discount4: itemDetail[i].discount4,\n discount5: itemDetail[i].discount5,\n discount_cash: itemDetail[i].discount_cash,\n discount1_amount: itemDetail[i].discount_amount_1,\n discount2_amount: itemDetail[i].discount_amount_2,\n discount3_amount: itemDetail[i].discount_amount_3,\n discount4_amount: itemDetail[i].discount_amount_4,\n discount5_amount: itemDetail[i].discount_amount_5,\n discount_cash_amount: itemDetail[i].discount_amount_cash,\n tax_amount: taxAmount\n };\n result.push(str);\n }\n }\n \n return result;\n }\n\n async addQuery(variables){\n var query = gql`mutation($data:NewTransactionProformaInvoice!){\n CreateTransactionProformaInvoice(New:$data)\n }`;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n\n async editQuery(variables){\n var query = gql`mutation($id:Int!, $data:NewTransactionProformaInvoice!){\n UpdateTransactionProformaInvoice(ProformaInvoiceId:$id, New:$data)\n }`;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n\n readProformaInvoiceQuery(){\n var query = `query($paging:ServerPaging, $status:String){\n GetTransactionProformaInvoice(Paging:$paging, Status:$status){\n transaction_proforma_invoice{\n proforma_invoice_id\n proforma_invoice_number\n proforma_invoice_date\n status\n project_id\n project_name\n purchase_order_sequence\n customer_id\n customer_name\n address\n tax_percentage\n tax_amount\n down_payment_pct\n down_payment\n total\n created_by\n notes\n \n }\n total\n }\n }`;\n return query;\n }\n\n async getProformaInvoiceQuery(id){\n const variables = {\n id : id\n }\n var query = gql`query($id:Int){\n GetTransactionProformaInvoice(ProformaInvoiceID:$id){\n transaction_proforma_invoice{\n proforma_invoice_id\n proforma_invoice_number\n proforma_invoice_date\n status\n project_id\n project_name\n purchase_order_sequence\n customer_id\n customer_name\n address\n tax_percentage\n tax_amount\n down_payment_pct\n down_payment\n total\n created_by\n notes\n transaction_proforma_invoice_details{\n item_id\n item_name\n base_uom\n uom\n conv_amount\n price_per_unit\n price\n price_discount_per_unit\n price_discount\n vat_per_unit\n vat\n quantity\n discount1\n discount2\n discount3\n discount4\n discount5\n discount_cash\n discount1_amount\n discount2_amount\n discount3_amount\n discount4_amount\n discount5_amount\n discount_cash_amount\n tax_amount\n product_code\n }\n }\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n return result.data.GetTransactionProformaInvoice.transaction_proforma_invoice[0];\n }\n\n editItemGridDataGenerator(data){\n var result = [];\n \n if(data != null){\n for (let i = 0; i < data.length; i++){\n var price_discount = data[i].discount1_amount + data[i].discount2_amount + data[i].discount3_amount + data[i].discount4_amount + data[i].discount5_amount + data[i].discount_cash_amount;\n var real_qty = data[i].conv_amount * data[i].quantity;\n var net = data[i].price_per_unit - price_discount;\n var total_price = data[i].quantity * net;\n\n var str = {\n item_id : data[i].item_id,\n product_code : data[i].product_code,\n item_name : data[i].item_name,\n price : data[i].price_per_unit,\n price_discount : price_discount,\n net : net,\n qty : data[i].quantity,\n current_qty : data[i].quantity_current,\n real_qty : real_qty,\n total_price : total_price,\n discount1 : data[i].discount1,\n discount2 : data[i].discount2,\n discount3 : data[i].discount3,\n discount4 : data[i].discount4,\n discount5 : data[i].discount5,\n discount_cash : data[i].discount_cash,\n discount_amount_1 : data[i].discount1_amount,\n discount_amount_2 : data[i].discount2_amount,\n discount_amount_3 : data[i].discount3_amount,\n discount_amount_4 : data[i].discount4_amount,\n discount_amount_5 : data[i].discount5_amount,\n discount_amount_cash : data[i].discount_cash_amount,\n stock : 0,\n conv_amount : data[i].conv_amount,\n uom : data[i].uom,\n type_detail_id: data[i].type_detail_id\n };\n if(data[i].quantity > 0){\n result.push(str)\n }\n }\n }\n \n return result;\n }\n\n itemArray(data){\n var itemArray = [];\n for (let i = 0; i < data.length; i++){\n var str = { quantity: data[i].qty, \n uom: data[i].uom, \n base_quantity: data[i].real_qty,\n product_code: data[i].product_code, \n item_name: data[i].item_name, \n vat_per_unit: data[i].net,\n total_price: data[i].total_price,\n type: 'Item' }\n if(data[i].qty > 0){\n itemArray.push(str);\n }\n }\n\n return itemArray;\n }\n\n itemPIPDF(itemDetail){\n var arrayObject = [];\n if(itemDetail.length != 0){\n for (let i = 0; i < itemDetail.length; i++){\n if(itemDetail[i].quantity > 0){\n var price_discount = itemDetail[i].discount1_amount + itemDetail[i].discount2_amount + itemDetail[i].discount3_amount + itemDetail[i].discount4_amount + itemDetail[i].discount5_amount + itemDetail[i].discount_cash_amount;\n var net = itemDetail[i].price_per_unit - price_discount;\n var total_net = itemDetail[i].quantity * net;\n var real_quantity = itemDetail[i].quantity * itemDetail[i].conv_amount\n\n var str = { \n quantity_string : kendo.toString(itemDetail[i].quantity, \"n0\"),\n quantity : itemDetail[i].quantity,\n uom : itemDetail[i].uom,\n name : itemDetail[i].item_name + \" @\" + real_quantity + \" \" + itemDetail[i].base_uom,\n net : net,\n total_net : total_net,\n net_string : kendo.toString(net, \"n0\"),\n total_net_string : kendo.toString(total_net, \"n0\"),\n tax_amount : itemDetail[i].tax_amount\n }\n \n arrayObject.push(str);\n }\n }\n }\n\n return arrayObject;\n }\n}\n\nexport default new ProformaInvoiceDownPaymentService();","module.exports = __webpack_public_path__ + \"img/Logo.135addd3.jpg\";","import gql from 'graphql-tag';\nimport {globalfunc} from '../../../../shared/GlobalFunction.js';\nimport moment from 'moment';\n\nclass DeliveryOrderService {\n readQuery(){\n var query = `\n query ($paging: ServerPaging, $status:String) {\n GetTransactionDeliveryOrder (Paging:$paging, Status:$status) {\n transaction_delivery_order {\n status\n delivery_order_id\n delivery_order_type_id\n delivery_order_number\n delivery_order_date\n notes\n sp_number\n purchase_order_number\n customer_name\n project_name\n attachment\n created_by\n created_at\n driver_id\n vehicle_id\n expedition_id\n additional_notes\n }\n total\n }\n }\n `;\n return query;\n }\n\n async getDeliveryOrderDetail(id){\n const variables = {\n id : id\n }\n var query = gql`\n query ($id:Int) {\n GetTransactionDeliveryOrder (DeliveryOrderID:$id ) {\n transaction_delivery_order {\n created_at\n last_update\n delivery_order_id\n delivery_order_type_id\n delivery_order_number\n delivery_order_date\n status\n purchase_order_id\n purchase_order {\n purchase_order_date\n status\n address\n project_id\n project {\n project_code\n }\n project_name\n project_type\n payment_method\n customer_id\n customer {\n contact_name\n metadata\n attachment1\n } \n invoice_number\n term_of_payment\n }\n purchase_order_number\n sp_number\n project_name\n customer_name\n notes\n attachment\n created_by\n driver_id\n vehicle_id\n expedition_id\n additional_notes\n delivery_order_detail {\n created_at\n last_update\n delivery_order_id\n item_id\n item_name\n product_code\n barcode\n type_detail_id\n uom\n ordered_quantity\n delivered_quantity\n remaining_quantity\n quantity\n notes\n base_quantity\n base_uom\n }\n }\n }\n }\n `;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n \n return result.data.GetTransactionDeliveryOrder.transaction_delivery_order[0];\n }\n\n GetDeliveryOrderableData(){\n var query = ` query{\n GetTransactionDeliveryOrderableItemListV2{\n purchase_order_id\n sp_number\n purchase_order_number\n purchase_order_date\n approver\n customer_name\n customer_meta\n project_type\n project_name\n project_detail\n sales_name\n delivery_order_amount\n purchase_order_to_delivery_order_item_amount\n term_of_payment\n }\n }`;\n return query;\n }\n\n async getDeliveryOrderablDataDetail(id){\n const variables = {\n id : [id]\n }\n var query = gql`\n query ($id:[Int]) {\n GetTransactionDeliveryOrderableItemListV2 (PurchaseOrderIds:$id) {\n purchase_order_id\n sp_number\n purchase_order_number\n purchase_order_date\n approver\n customer_name\n customer_meta\n project_type\n project_name\n project_detail\n sales_name\n delivery_order_amount\n purchase_order_to_delivery_order_item_amount\n delivery_orderable_detail {\n purchase_order_id\n item_id\n item_name\n product_code\n barcode\n type_detail_id\n uom\n ordered_quantity\n delivered_quantity\n remaining_quantity\n quantity\n }\n } \n }\n `;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n return result.data.GetTransactionDeliveryOrderableItemListV2[0];\n }\n \n async getContactDetailQuery(variables){\n var query = gql`query ($type:String,$id:Int) {\n GetContact (ContactType:$type, ContactId:$id) {\n contact_id\n contact_code\n contact_type\n contact_name\n status\n metadata\n attachment1\n }\n }`;\n if (variables.id == '' || variables.id == null) {\n return null;\n }\n else {\n var result = await globalfunc.defaultApolloQueryDefault(query,variables);\n return result.data.GetContact[0];\n }\n } \n\n async addQuery(variables){\n var query = gql`\n mutation ( $data:NewTransactionDeliveryOrder! ) {\n CreateTransactionDeliveryOrder ( New:$data )\n }\n `;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n \n async editQuery(variables){\n var query = gql`\n mutation ( $id:Int!, $data:NewTransactionDeliveryOrder! ) {\n UpdateTransactionDeliveryOrder ( DeliveryOrderId:$id, New:$data )\n }\n `;\n \n return await globalfunc.defaultApolloMutationDefault(query, variables)\n }\n \n DeliveryOrderDetailTemplate(data){\n var po_time = moment(data.purchase_order.purchase_order_date).format('DD MMMM YYYY'); \n var doNumber = data.delivery_order_number == null ? \"\" : data.delivery_order_number;\n var invoiceNumber = data.purchase_order.invoice_number == null ? \"\" : data.purchase_order.invoice_number;\n var notes = data.notes == null ? \"\" : data.notes;\n\n var html = `\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n
\n
\n `;\n return html;\n }\n\n itemDOPDF(data){\n var arrayObject = [];\n if(data.length != 0){\n for (let i = 0; i < data.length; i++){\n var row = { \n qty_string : kendo.toString(data[i].quantity, \"n0\"),\n qty : data[i].quantity,\n uom : data[i].uom,\n name : data[i].item_name + \" @\" + data[i].base_quantity + \" \" + data[i].base_uom,\n note : data[i].notes\n }\n\n if(data[i].quantity > 0){\n arrayObject.push(row);\n }\n }\n }\n return arrayObject;\n }\n\n async getContactQuery(type){\n const variables = {\n type : type\n }\n var query = gql`query($type:String){\n GetContact(ContactType:$type){\n contact_id\n contact_code\n contact_name\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query, variables);\n \n var arrayData = [];\n if(result.data.GetContact != null){\n for (let i = 0; i < result.data.GetContact.length; i++) {\n var str = { value: result.data.GetContact[i].contact_id, \n label: result.data.GetContact[i].contact_name + \" (\" + result.data.GetContact[i].contact_code + \")\" }\n arrayData.push(str);\n }\n }\n return arrayData;\n } \n\n async getVehicleQuery(){\n var query = gql`query{\n GetMasterVehicle{\n vehicle_id\n license_plate\n vehicle_year\n }\n }`;\n var result = await globalfunc.defaultApolloQueryDefault(query);\n \n var arrayData = [];\n if(result.data.GetMasterVehicle != null){\n for (let i = 0; i < result.data.GetMasterVehicle.length; i++) {\n var str = { value: result.data.GetMasterVehicle[i].vehicle_id, \n label: result.data.GetMasterVehicle[i].license_plate + \" (\" + result.data.GetMasterVehicle[i].vehicle_year + \")\" }\n arrayData.push(str);\n }\n }\n return arrayData;\n }\n\n itemGridDataEditable(data) {\n var deliveryOrderDetailData = [];\n if(data != null){\n for (let i = 0; i < data.length; i++) {\n var str = { \n item_id: data[i].item_id,\n product_code : data[i].product_code,\n item_name: data[i].item_name,\n barcode: data[i].barcode,\n type_detail_id: data[i].type_detail_id,\n uom: data[i].uom,\n ordered_quantity: data[i].ordered_quantity,\n delivered_quantity: data[i].delivered_quantity,\n remaining_quantity: data[i].remaining_quantity,\n quantity: data[i].quantity,\n notes: data[i].notes,\n old_remaining_quantity: (data[i].remaining_quantity + data[i].quantity),\n }\n deliveryOrderDetailData.push(str);\n }\n }\n return globalfunc.objectToArrayConverter(deliveryOrderDetailData, \"TransactionDO-ItemDODetail\");\n }\n}\n\n\nexport default new DeliveryOrderService();"],"sourceRoot":""}