<?php

/*
* @Overview 사업장 등록
* @History 2024-03-22 / 이원기 / 최초작성
*/

$cate_id = "BASE_FACILITY";
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
include_once _SVC_INC_PATH_ ."/auth_check.php";
include_once _HOME_INC_PATH_ ."/ajax_init.php";
if (!_notAuth("R")) {
  /************ 권한체크*/


  switch ($_REQUEST['mode']) {
    /*
     * @Overview 사업장 조회 프로시져
     * @Params
     *   "USEFLAG"       => 사용 여부
     *   "BP_CD"         => 거래처 이름
     *   "BIZ_AREA_CD"   => 사업장 코드
     */
    case "getBizareaList":

      $sql = "USP_B_BIZ_AREA_S10";

      $params = Array(
        "BIZ_AREA_NM"        => $_REQUEST['BIZ_AREA_NM']?:"" //사업장 명
        ,"BP_NM"            => $_REQUEST['BP_NM']?:""   //거래처명
        ,"USEFLAG"          => $_REQUEST['USEFLAG']?:""
      );


      $rst = $baseObj->DB->exec($sql, $params);
      $rows = array();
      if ($rst) {
        $retval['code'] = true;
        while ($row = $baseObj->DB->fetch_array($rst)) {
          $rows[] = $row;
        }
        $retval['data'] = $rows;
      }
      $retval['code'] = 1;

      break;


    /*
     * @Overview 사업장 추가/수정/삭제 프로시져
     * @Params
     *  1. $data['_STATUS_'] =="I"
     *   "USEFLAG"           => 사용 여부
     *   "BP_CD"             => 거래처 이름
     *   "BIZ_AREA_CD"       => 사업장 코드
     *  2. $data['_STATUS_'] =="U"
     *
     *  3. $data['_STATUS_'] == "D"
     */
    case "putBizarea":
      if( _notAuth("W") ) break; /************ 권한체크*/
      $_REQUEST['RS_CODE'] = "";
      $_REQUEST['RS_MSG']  = "";

      $_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
      $rst = true;
      $ok_cd = array();

      foreach( $_REQUEST['reqdata'] as $data ){
        $_REQUEST['RS_CODE'] = "";
        $_REQUEST['RS_MSG']  = "";

        $data = (array)$data;

        if(!$data['BIZ_AREA_CD']) { $_REQUEST['RS_MSG'] = cUtil\Mlang::getText("사업장코드가 누락된 행은 반영되지 않습니다."); $rst=false; break; }
        else if(!$data['BIZ_AREA_NM']) { $_REQUEST['RS_MSG'] = cUtil\Mlang::getText("사업장명이 누락된 행은 반영되지 않습니다."); $rst=false; break; }


        if( $data['BIZ_AREA_CD'] && $data['_STATUS_'] == 'D' ){
          $sql = "USP_B_BIZ_AREA_D10";
          $params = Array(
            "BIZ_AREA_CD"  => $data['BIZ_AREA_CD'],
            "RS_CODE"      => array(&$_REQUEST['RS_CODE'], SQLSRV_PARAM_OUT),
            "RS_MSG"       => array(&$_REQUEST['RS_MSG'], SQLSRV_PARAM_OUT)
          );
        }else{

          //문자 길이 검사
          if(strlen($data['BIZ_AREA_CD']) > 10){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("사업장코드 문자 길이를 확인해주세요."); $rst=false; break;}
          if(strlen($data['BIZ_AREA_NM']) > 20){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("사업장명 문자 길이를 확인해주세요."); $rst=false; break;}
          if(strlen($data['BP_CD']) > 20){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("거래처코드 문자 길이를 확인해주세요."); $rst=false; break;}

          if( $data['BIZ_AREA_CD'] && $data['_STATUS_'] == 'U' ) {
            $sql = "USP_B_BIZ_AREA_U10";
            $params = Array( "BIZ_AREA_CD"    => $data['BIZ_AREA_CD'] );
          }else{
            $sql = "USP_B_BIZ_AREA_I10";
            $params = Array();
          }

          $params = array_merge($params, Array(
            "BIZ_AREA_CD"     => $data['BIZ_AREA_CD']?:"",
            "BIZ_AREA_NM"     => $data['BIZ_AREA_NM']?:"",
            "HQ_FLG"          => $data['HQ_FLG']?:"",
            "BIZ_AREA_BP_CD"  => $data['BP_CD'],
            "WORK_STD_TIME"   => $data['WORK_STD_TIME'],
            "LUNCH_TIME"      => $data['LUNCH_TIME'],
            "STD_CURRENCY_CD" => $data['STD_CURRENCY_CD'],
            "USE_FLG"         => $data['USE_FLG']?:"Y",
            "MAKE_USER_ID"    => $GLOBALS['_Umem']['member_id'],
            "RS_CODE"      => array(&$_REQUEST['RS_CODE'], SQLSRV_PARAM_OUT),
            "RS_MSG"       => array(&$_REQUEST['RS_MSG'], SQLSRV_PARAM_OUT)
          ));
        }

        $rst =  $baseObj->DB->exec($sql, $params);
      }

      $retval['data'] = $ok_cd;

      if($rst && !$_REQUEST['RS_CODE']){
        $retval['code'] = true;
      }else{
        $retval['code'] = false;
        $retval['mesg'] = $_REQUEST['RS_MSG'];
      }


      break;

  }

}
if (!$_REQUEST['no_echo']) {
  echo json_encode($retval);
}