2022年8月3日 星期三

V120402 – [借閱登記] – 新增 – 取得ITM=最大值+1,

目的: V120402 – [借閱登記] – 新增 – 取得ITM=最大值+1, 

處理說明:  1>新增 - 取得 ITM最大值+1,



1>*.js  取得最大值 +1

Tmp_ITM = get_NEXT_ITM(Tmp_TMNO);

//取得   TMNO 的最大借閱記錄
    function string  get_NEXT_ITM(Tmp_TMNO)
    {
        var isOk = true;
        var Tmp_MAX_ITM = "";
        var  np = {};
        np["TMNO"] = Tmp_TMNO;
        Ext.Ajax.request({
            method: "POST",
            url: '../../api/V120402API/GET_MAXITM',
            params: np,
            async: false,
            success: function (response, opts) {
                var Tmp_Obj = Ext.decode(response.responseText);
                //console.log("Tmp_Obj[success]=", Tmp_Obj["success"]);
                if (Tmp_Obj["success"]) {
                    Tmp_MAX_ITM = Tmp_Obj['MAX_ITM'].toString();
                    if (Tmp_MAX_ITM.length == 0)
                        Tmp_MAX_ITM = '1';
                    console.log("Tmp_MAX_ITM=", Tmp_MAX_ITM);
                    return Tmp_MAX_ITM;
                    //mywarnalert(Tmp_Str);
                    //console.log(" 1 success return false");                    
                }
            }, // end of  success 
            failure: function (response, opts) {
                isOk = false;
            }
        });  // end of Ext.Ajax               
    }  // end of  function string  get_NEXT_ITM(Tmp_TMNO)


2>*.cs  - 
//以 TMNO  至 AMM_TMDWGD  取得  MAX(AMM_TMDWGD.ITM)+1 
        [HttpPost]
        public HttpResponseMessage GET_MAXITM()
        {
            var c = HttpContext.Current;
            NameValueCollection nvc = c.Request.Form;
            string Tmp_TMNO = nvc["TMNO"];

            OracleConnection conn = new OracleConnection(DBService.ConnectionString(DBLINK));//
            OracleCommand cmd = new OracleCommand();
            OracleDataReader reader;
            var response = this.Request.CreateResponse();

            conn.Open();
            conn.ClientInfo = User.Identity.Name;
            conn.ModuleName = BaseSYS + "_" + BaseMODID;
            conn.ActionName = ActionName;
            cmd.Connection = conn;

            string Tmp_Str = "";
            string Tmp_Sql = "  SELECT MAX(ITM)+1  as MAX_ITM"
                                       + "  FROM   AMM_TMDWGD "
                                       + "  WHERE TMNO= " + myfunc.AA(Tmp_TMNO);
            cmd.CommandText = Tmp_Sql;
            reader = cmd.ExecuteReader();
            string Tmp_MAX_ITM = "";
            if (reader.Read())
            {
                Tmp_MAX_ITM = reader["MAX_ITM"].ToString();
            }
            Tmp_Str = "{success: true,MAX_ITM:" + myfunc.AA(Tmp_MAX_ITM) + ","
                                        + " }";

            response.Content = new StringContent(Tmp_Str);    // 回應內容
            return response;
            //return Tmp_MAX_ITM;
        }  // end of get_MAX_ITM


//V120201 , *.cs 直接取得最大值, 不傳回前端
//取得  AMM_COMQ.APNO  最大值
        [HttpPost]
public string GET_NEXT_APNO()
  {
          string Tmp_Sql;
          string Tmp_DStr = "Q" + DateTime.Now.ToString("yyyyMMdd"); ;
          string Tmp_MAX_APNO, Tmp_NEXT_APNO;
          Tmp_Sql="  SELECT   MAX(APNO) "
                        +"  FROM     AMM_COMQ "
                        +"  WHERE   APNO LIKE  "+myfunc.AA(Tmp_DStr+'%');      
          Tmp_MAX_APNO=myfunc.SqlValue(Tmp_Sql);
          if (myfunc.checkisnull(Tmp_MAX_APNO)){
             Tmp_NEXT_APNO=Tmp_DStr+"001";
          }
          else {
                    //取流水號(末3碼)+1  
       int Tmp_NextSerno = int.Parse(Tmp_MAX_APNO.Substring(Tmp_MAX_APNO.Length - 3, 3));
                   Tmp_NextSerno=Tmp_NextSerno+1;
                   Tmp_NEXT_APNO =Tmp_DStr+Tmp_NextSerno.ToString("000");
             }
        return Tmp_NEXT_APNO;
    }

沒有留言:

張貼留言