export default {
  buildPtspta(ptsptaObj) {
    let pts = ptsptaObj.pts;
    let ptspta = {
      rol: pts.rol,
      name: pts.nam,
      ptyinr: pts.ptyinr,
      ptainr: pts.ptainr,
      extkey: pts.extkey,
      dftdsp: pts.dftdsp,
      dftcur: pts.dftcur,
      dftact: pts.dftact,
      dftfeecur: pts.dftfeecur,
      dftactptainr: pts.dftactptainr,
      glggrpflg: pts.glggrpflg,
      adrblk: pts.adrblk,
    };
    return ptspta;
  },
  buildCommonData(model, trnName) {
    let ptsptaList = [];
    if (model.gidgrp.apl.pts.extkey) {
      ptsptaList.push(this.buildPtspta(model.gidgrp.apl));
    }
    if (model.gidgrp.ben.pts.extkey) {
      ptsptaList.push(this.buildPtspta(model.gidgrp.ben));
    }
    let dataObj = {
      rec: {
        objtyp: 'GID',
        objinr: model.gidgrp.rec.objinr,
        ownref: model.gidgrp.rec.ownref,
        segtyp: model.gidgrp.rec.segtyp,
        fromflg: model.gidgrp.rec.fromflg,
        othersno: model.gidgrp.rec.othersno,
        sndto: model.gidgrp.rec.sndto,
        giduil: model.gidgrp.rec.giduil,
        purpos: model.gidgrp.rec.purpos,
        revflg: model.gidgrp.rec.revflg,
        cnfsta: model.gidgrp.rec.cnfsta,
      },
      cbsMap: {
        MAX: model.gidgrp.cbs.max,
        OPN1: model.gidgrp.cbs.opn1,
        MAC: model.gidgrp.cbs.mac,
        MAC2: model.gidgrp.cbs.mac2,
        OPC2: model.gidgrp.cbs.opc2,
        CNF: model.gidgrp.cbs.cnf,
      },
      ptsList: ptsptaList,
      transName: trnName,
      userId: window.sessionStorage.userId
        ? window.sessionStorage.userId
        : 'ZL',
    };
    return dataObj;
  },
  buildSetfeg(model, trnName) {
    let params = {
      ...this.buildCommonData(model, trnName),
      liaall: model.liaall,
      liaccv: model.liaccv,
      doceot: model.trnmod.trndoc.doceot,
    };
    return params;
  },
  buildSetglg(model, trnName) {
    let params = {
      ...this.buildCommonData(model, trnName),
      setfeg: model.setmod.setfeg,
    };
    return params;
  },
  buildGlentry(model, trnName) {
    let params = {
      ...this.buildCommonData(model, trnName),
      rec: {
        objtyp: 'GID',
        segtyp: model.gidgrp.rec.segtyp,
        fromflg: model.gidgrp.rec.fromflg,
        othersno: model.gidgrp.rec.othersno,
        sndto: model.gidgrp.rec.sndto,
        giduil: model.gidgrp.rec.giduil,
        purpos: model.gidgrp.rec.purpos,
        revflg: model.gidgrp.rec.revflg,
        cnfsta: model.gidgrp.rec.cnfsta,
      },
      liaccv: model.liaccv,
      doceot: model.trnmod.trndoc.doceot,
      transName: trnName,
    };
    return params;
  },
  buildEngp(model, trnName) {
    let params = {
      ...this.buildCommonData(model, trnName),
      cbsMap: {
        CNF: model.gidgrp.cbs.cnf,
      },
      liaccv: model.liaccv,
      doceot: model.trnmod.trndoc.doceot,
      transName: trnName,
    };
    params.rec = {
      ...params.rec,
      opndat: model.gidgrp.rec.opndat,
      branchInr: model.gidgrp.rec.branchInr,
      hndtyp: model.gidgrp.rec.hndtyp,
      gartyp: model.gidgrp.rec.gartyp,
      fingua: model.gidgrp.rec.fingua,
    };
    return params;
  },
  buildDocpan(model, trnName) {
    let params = {
      ...this.buildCommonData(model, trnName),
      rec: {
        objtyp: 'GID',
        fromflg: model.gidgrp.rec.fromflg,
        othersno: model.gidgrp.rec.othersno,
        sndto: model.gidgrp.rec.sndto,
        giduil: model.gidgrp.rec.giduil,
        purpos: model.gidgrp.rec.purpos,
        cnfsta: model.gidgrp.rec.cnfsta,
        revflg: model.gidgrp.rec.revflg,
      },
      liaccv: model.liaccv,
      doceot: model.trnmod.trndoc.doceot,
      transName: trnName,
    };
    return params;
  },
  buildCcvpan(model, trnName) {
    let params = {
      ...this.buildCommonData(model, trnName),
    };
    params.rec = {
      ...params.rec,
      opndat: model.gidgrp.rec.opndat,
      expdat: model.gidgrp.rec.expdat,
      branchInr: model.gidgrp.rec.branchInr,
      hndtyp: model.gidgrp.rec.hndtyp,
      gartyp: model.gidgrp.rec.gartyp,
      fingua: model.gidgrp.rec.fingua,
      liaccvg: model.liaccv.liaccvg,
      oldamt: model.liaccv.oldamt,
      chgamt: model.liaccv.chgamt,
      concur: model.liaccv.concur,
    };
    return params;
  },
};