<?php
$cate_id = "BASE_PLANT"; //현재 메뉴 ID 필수!!!
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']) {
    // case "getPlantList":
    //   $sql = "USP_B_PLANT_S10";

    //   $rst = $baseObj->DB->exec($sql);

    //   $rows = array();
    //   if ($rst) {
    //     $retval['code'] = true;
    //     while ($row = $baseObj->DB->fetch_array($rst)) {
    //       //          $row['PLANT_CD_OLD'] = $row['PLANT_CD'];

    //       $rows[] = $row;
    //     }
    //     $retval['data'] = $rows;
    //   }else{

    //     $retval['code'] = false;
    //   }
    //   break;

    case "getPlantList":

      $sql = "USP_B_PLANT_S10";
      $params = array(
        "PLANT_NM"          => $_REQUEST['PLANT_NM']?:"",
        "WC_NM"             => $_REQUEST['WC_NM']?:"",
        "USE_FLG"           => $_REQUEST['USE_FLG']?:""
      );

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

          $rows[] = $row;
        }
        $retval['data'] = $rows;
      }else{
        $retval['code'] = false;
      }
      break;



    case "getWcList":
      $sql = "USP_B_WC_S10";
      $params = array(
        "PLANT_CD" => $_REQUEST['PLANT_CD'] ?: "",
        "USE_FLG" => $_REQUEST['USE_FLG'] ?: ""
      );
      $rst = $baseObj->DB->exec($sql, $params);

      $rows = array();
      if ($rst) {
        $retval['code'] = true;
        while ($row = $baseObj->DB->fetch_array($rst)) {
          $row['WC_CD_OLD'] = $row['WC_CD'];
          

          $rows[] = $row;
        }
        $retval['data'] = $rows;
      }
      $retval['code'] = 1;
      break;
      
      
      case "putPlant":
        if (_notAuth("W"))
        break; /************ 권한체크*/

        $_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
        $rst = true;
        $ok_cd = array();
        foreach ($_REQUEST['reqdata'] as $data) {
          $data = (array) $data;
        
        // $cdata = $data;
        // unset($cdata['_STATUS_']);
        // unset($cdata['USE_FLG']);
        
        // if (empty(array_filter($cdata))) {
          //   if ($data['_STATUS_'] == 'I')
          //     continue; //빈열제거
          //   if ($data['_STATUS_'] == 'U')
          //     $data['_STATUS_'] = 'D'; //빈열제거
          // }
          
          // if (!$data['PLANT_CD']) {
          //   $_REQUEST['RS_MSG'] = cUtil\Mlang::getText("공장 코드를 입력해주세요");
          //   $rst = false;
          //   break;
          // } else if (!$data['PLANT_NM']) {
          //   $_REQUEST['RS_MSG'] = cUtil\Mlang::getText("공장명을 입력해주세요");
          //   $rst = false;
          //   break;
          // }
          
          //        $chksql = "USP_B_PLANT_S20"; //CD 중복검사용
          //        $chkparams = Array( //CD 중복검사용
            //          $data['PLANT_CD']
            //        );
            
            
            
            $_REQUEST['RS_CODE'] = "";
            $_REQUEST['RS_MSG'] = "";
            if ($data['PLANT_CD'] && $data['_STATUS_'] == 'D') {
              $sql = "USP_B_PLANT_D10";
              $params = array(
                "PLANT_CD" => $data['PLANT_CD'],
                "RS_CODE" => array(&$_REQUEST['RS_CODE'], SQLSRV_PARAM_OUT),
                "RS_MSG" => array(&$_REQUEST['RS_MSG'], SQLSRV_PARAM_OUT)
              );
              
            } else {
              if(strlen($data['PLANT_CD']) > 10){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("공장코드는 10자 내로 작성해주세요."); $rst=false; break;}
              if(mb_strlen($data['PLANT_NM']) > 50){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("공장명은 50자 내로 작성해주세요."); $rst=false; break;}
              if(strlen($data['REMK']) > 100){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("비고는 100자 내로 작성해주세요."); $rst=false; break;}
              if ($data['PLANT_CD'] && $data['_STATUS_'] == 'U') {
                $chkparams[] = $data['PLANT_CD_OLD']; //CD 중복검사용
                
                $sql = "USP_B_PLANT_U10";
                $params = Array();
              } else {
                $sql = "USP_B_PLANT_I10";
                $params = Array();
              }
              
      //          $rst = $baseObj->DB->exec($chksql, $chkparams);
      //          if( $rst ){
        //            $row = $baseObj->DB->fetch_array($rst);
        //            if( $row['PLANT_CD'] == $data['PLANT_CD'] ){
          //              $rst = 0;
          //              $retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.",array($data['PLANT_CD'])); break;
          //            }
          //          }
          
              $params = array_merge($params, Array(
                "PLANT_CD" => $data['PLANT_CD'] ?: "",
                "PLANT_NM" => $data['PLANT_NM'] ?: "",
                "ZIP_CD" => $data['ZIP_CD'] ?: "",
                "ADDR" => $data['ADDR'] ?: "",
                "BIZ_AREA_CD" => $data['BIZ_AREA_CD'] ?: "",
                "REMK" => $data['REMK'] ?: "",
                "USE_FLG" => $data['USE_FLG'] ?: "",
                "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;

    case "putWc":
      if (_notAuth("W"))
        break; /************ 권한체크*/

      $_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
      $rst = true;
      $ok_cd = array();
      foreach ($_REQUEST['reqdata'] as $data) {
        $data = (array) $data;

        // $cdata = $data;
        // unset($cdata['_STATUS_']);
        // unset($cdata['USE_FLG']);
        // unset($cdata['PLANT_CD']);

        // if (empty(array_filter($cdata))) {
        //   if ($data['_STATUS_'] == 'I')
        //     continue; //빈열제거
        //   if ($data['_STATUS_'] == 'U')
        //     $data['_STATUS_'] = 'D'; //빈열제거
        // }

        // if (!$data['WC_CD']) {
        //   $retval['mesg'] = cUtil\Mlang::getText("작업장코드가 누락된 행은 반영되지 않습니다.");
        //   $rst = false;
        //   break;
        // }

        //        $chksql = "USP_B_WC_S20"; //CD 중복검사용
//        $chkparams = Array( //CD 중복검사용
//          $data['PLANT_CD']
//        );

        $_REQUEST['RS_CODE'] = "";
        $_REQUEST['RS_MSG'] = "";
        if ($data['WC_CD'] && $data['_STATUS_'] == 'D') {
          $sql = "USP_B_WC_D10";
          $params = array(
            "WC_CD" => $data['WC_CD'],
          );
        } else {
          if(strlen($data['WC_CD']) > 20){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("작업장코드는 20자 내로 작성해주세요."); $rst=false; break;}
          if(mb_strlen($data['WC_NM']) > 50){$_REQUEST['RS_MSG'] = cUtil\Mlang::getText("작업자명은 50자 내로 작성해주세요."); $rst=false; break;}
          if ($data['WC_CD'] && $data['_STATUS_'] == 'U') {
            //            $chkparams[] = $data['WC_CD_OLD']; //CD 중복검사용

            $sql = "USP_B_WC_U10";
            $params = array();
          } else {
            $sql = "USP_B_WC_I10";
            $params = array();
          }

          //          $rst = $baseObj->DB->exec($chksql, $chkparams);
//          if( $rst ){
//            $row = $baseObj->DB->fetch_array($rst);
//            if( $row['WC_CD'] == $data['WC_CD'] ){
//              $rst = 0;
//              $retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.",array($data['WC_CD'])); break;
//            }
//          }

          $params = array_merge($params, array(
            "WC_CD"        => $data['WC_CD'] ?: "",
            "WC_NM"        => $data['WC_NM'] ?: "",
            "PLANT_CD"     => $data['PLANT_CD'] ?: "",
            "REMK"         => $data['REMK'] ?: "",
            "USE_FLG"      => $data['USE_FLG'] ?: "",
            "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)
          )
          );
        }
        //        $rst2 = $baseObj->DB->exec($sql, $params);
//        if( $rst2 ) $ok_cd[] = $data['WC_CD'];
//        $rst = $rst && $rst2;
        $rst = $baseObj->DB->exec($sql, $params);
        if ($rst)
          $ok_cd[] = $data['WC_CD'];

      }

      $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);
}