Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // CONFIG
- const baseUrl = 'http://10.162.71.75:8385/Perbaikan'
- const limitData = 7
- // RAW DATA
- const dataSelected = ['10', '11', '12', '13', '14', '3', '4']
- const rawData = {
- status: true,
- message: 'Status Success',
- Output_Td_Perubahan: {
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- idHeader: 'TPB_10000833',
- seri: 4,
- idProsesStatus: '820cd8c4-9fa6-4f8e-8fd9-da5bdb6ab62a',
- waktuRekam: null,
- nipApproval: null,
- waktuApproval: null,
- flagApproval: null,
- nomorAju: '05044000075120181029008954',
- perubahanDetailList: null,
- },
- Jumlah_Data: {
- status: false,
- page: 1,
- results: 7,
- totalResults: 10,
- totalPage: 2,
- },
- Daftar_Elemen_Diperbaiki: [
- {
- idPerubahanDetail: '10',
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- statusData: 'I',
- namaTable: 'KONTAINER',
- namaKey: 'ID_KONTAINER',
- nilaiKey: '333',
- flagApproval: null,
- waktuRekam: null,
- idPerubahanDetailField: '10',
- namaField: 'ID_KONTAINER',
- dataLama: null,
- dataBaru: null,
- waktuApproval: null,
- nipApproval: null,
- },
- {
- idPerubahanDetail: '11',
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- statusData: 'I',
- namaTable: 'KONTAINER',
- namaKey: 'ID_KONTAINER',
- nilaiKey: '444',
- flagApproval: null,
- waktuRekam: null,
- idPerubahanDetailField: '11',
- namaField: 'ID_KONTAINER',
- dataLama: null,
- dataBaru: null,
- waktuApproval: null,
- nipApproval: null,
- },
- {
- idPerubahanDetail: '12',
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- statusData: 'I',
- namaTable: 'KONTAINER',
- namaKey: 'ID_KONTAINER',
- nilaiKey: '555',
- flagApproval: null,
- waktuRekam: null,
- idPerubahanDetailField: '12',
- namaField: 'ID_KONTAINER',
- dataLama: null,
- dataBaru: null,
- waktuApproval: null,
- nipApproval: null,
- },
- {
- idPerubahanDetail: '13',
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- statusData: 'I',
- namaTable: 'KONTAINER',
- namaKey: 'ID_KONTAINER',
- nilaiKey: '666',
- flagApproval: null,
- waktuRekam: null,
- idPerubahanDetailField: '13',
- namaField: 'ID_KONTAINER',
- dataLama: null,
- dataBaru: null,
- waktuApproval: null,
- nipApproval: null,
- },
- {
- idPerubahanDetail: '14',
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- statusData: 'I',
- namaTable: 'KONTAINER',
- namaKey: 'ID_KONTAINER',
- nilaiKey: '777',
- flagApproval: null,
- waktuRekam: null,
- idPerubahanDetailField: '14',
- namaField: 'ID_KONTAINER',
- dataLama: null,
- dataBaru: null,
- waktuApproval: null,
- nipApproval: null,
- },
- {
- idPerubahanDetail: '3',
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- statusData: 'U',
- namaTable: 'BARANG',
- namaKey: 'ID_BARANG',
- nilaiKey: 'TPB_11372342_15',
- flagApproval: null,
- waktuRekam: null,
- idPerubahanDetailField: '3',
- namaField: 'KODE_BARANG',
- dataLama: 'EFGS435345',
- dataBaru: 'DEUC654646',
- waktuApproval: null,
- nipApproval: null,
- },
- {
- idPerubahanDetail: '4',
- idPerubahan: '22912fdf-88a0-424c-bb87-233c2f8b8247',
- statusData: 'D',
- namaTable: 'KEMASAN',
- namaKey: 'ID_KEMASAN',
- nilaiKey: '123',
- flagApproval: null,
- waktuRekam: null,
- idPerubahanDetailField: '4',
- namaField: 'ID_KEMASAN',
- dataLama: null,
- dataBaru: null,
- waktuApproval: null,
- nipApproval: null,
- },
- ],
- }
- // lOGIC
- const urlBuilder_Logic = data => {
- let url = ''
- let firstPos = true
- for (let i = 0; i < Object.keys(data).length; i++) {
- if (Object.values(data)[i].toString() !== '') {
- let slice = []
- let urlFix = ''
- if (isNaN(Object.values(data)[i]) === true) {
- slice = Object.values(data)[i].split(' ')
- for (let j = 0; j < slice.length; j++) {
- if (j !== slice.length - 1) {
- urlFix += slice[j] + '%20'
- } else {
- urlFix += slice[j]
- }
- }
- }
- if (firstPos === true) {
- if (slice.length > 0) {
- url += `?${Object.keys(data)[i]}=${urlFix}`
- } else {
- url += `?${Object.keys(data)[i]}=${Object.values(data)[i]}`
- }
- firstPos = false
- } else {
- if (slice.length > 0) {
- url += `&${Object.keys(data)[i]}=${urlFix}`
- } else {
- url += `&${Object.keys(data)[i]}=${Object.values(data)[i]}`
- }
- }
- }
- }
- return url
- }
- const API_PD_003 = (idHeader, parameter) => {
- let url = `${baseUrl}/perbaikan/komparasi-elemen-data/${idHeader}`
- parameter.limit = limitData
- parameter.results = limitData
- url += urlBuilder_Logic(parameter)
- return url
- }
- const API_PD_004 = (
- flagApproval,
- idHeader,
- idPerubahan,
- idProsesStatus,
- nipApproval,
- seri,
- data
- ) => {
- let postData = []
- if (flagApproval === 'Y' || flagApproval === 'N') {
- postData.push({
- flagApproval,
- idHeader,
- idPerubahan,
- idProsesStatus,
- nipApproval,
- seri,
- })
- } else {
- const postDataFormatter = (i, totalData) => {
- if (i < totalData) {
- postData.push({
- flagApproval,
- idHeader,
- idPerubahan,
- idPerubahanDetailField: data[i],
- idProsesStatus,
- nipApproval,
- seri,
- })
- postDataFormatter(i + 1, totalData)
- } else {
- return null
- }
- }
- postDataFormatter(0, dataSelected.length)
- }
- return postData
- }
- const result = API_PD_004(
- 'P',
- rawData.Output_Td_Perubahan.idHeader,
- rawData.Output_Td_Perubahan.idPerubahan,
- rawData.Output_Td_Perubahan.idProsesStatus,
- '4913119',
- rawData.Output_Td_Perubahan.seri,
- dataSelected
- )
- console.log(result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement