[HttpPost]
public dynamic getGridData_M()
{
var c = HttpContext.Current;
NameValueCollection nvc = c.Request.Form;
//DataSet ds = getGridDataPage();
//return ds;
//Panel11
string Tmp_FMNO = nvc["s_FMNO"];
string Tmp_OGONOAF = nvc["s_OGONOAF"];
string Tmp_NGONOAF = nvc["s_NGONOAF"];
string Tmp_RPNOAF = nvc["s_RPNOAF"];
string Tmp_MRPNOAF = nvc["s_MRPNOAF"];
//Panel12
string Tmp_PN = nvc["s_PN"];
string Tmp_NSN = nvc["s_NSN"];
string Tmp_EIAC_CUS = nvc["s_EIAC_CUS"];
string Tmp_C_NM = nvc["s_C_NM"];
string Tmp_ES_NM = nvc["s_ES_NM"];
//Panel13
string Tmp_WBSNO = nvc["s_WBSNO"];
string Tmp_SEQOAF = nvc["s_SEQOAF"];
string Tmp_FACWC = nvc["s_FACWC"];
string Tmp_MCODE = nvc["s_MCODE"];
string Tmp_BTDT1 = "";
string Tmp_BTDT2 = "";
if (!myfunc.checkisnull(nvc["s_BTDT1"]))
{
Tmp_BTDT1 = string.Format("{0:yyyy/MM/dd}", DateTime.Parse(nvc["s_BTDT1"]));
};
if (!myfunc.checkisnull(nvc["s_BTDT2"]))
{
Tmp_BTDT2 = string.Format("{0:yyyy/MM/dd}", DateTime.Parse(nvc["s_BTDT2"]));
};
//Panel14
string Tmp_STATFM = nvc["s_STATFM"];
OracleCommand cmd = new OracleCommand();
string Tmp_Sql1 = ""; //for 日期起迄
string Tmp_Sql = " SELECT RNK, "
+ " FMNO,WBSNO ,FRTP,PN,C_NM,ES_NM,NSN,RQTYAF,SEQOAF,PROID ,CDCODE,EONO,OSM,DTSOR,ISSN,EIAC_CUS,RBTHAF,FACWC,MTEMPLYID,FRNOAF,PAMMNO,SAPREMARK,REMARK,"
+ " OGONOAF ,NGONOAF ,RPNOAF ,MRPNOAF ,PRNRAF,CRNRAF,NRCLAF,FREDTAF,PJDT,DLEMPLYID,CREMPLYID,QDRNO,BTDT,MDDT,CSTNM,NEMPID,LGROUP,CRNO,MCODE,ENGP,STATFM,AMMNO,TYPEAF,OPHR "
+ " FROM ( SELECT dense_rank() over(order by FMNO) as RNK,"
+ " FMNO,WBSNO ,FRTP,PN,C_NM,ES_NM,NSN,RQTYAF,SEQOAF,PROID ,CDCODE,EONO,OSM,DTSOR,ISSN,EIAC_CUS,RBTHAF,FACWC,MTEMPLYID,FRNOAF,PAMMNO,SAPREMARK,REMARK,"
+ " OGONOAF ,NGONOAF ,RPNOAF ,MRPNOAF ,PRNRAF,CRNRAF,NRCLAF,FREDTAF,PJDT,DLEMPLYID,CREMPLYID,QDRNO,BTDT,MDDT,CSTNM,NEMPID,LGROUP,CRNO,MCODE,ENGP,STATFM,AMMNO,TYPEAF,OPHR "
+ " FROM AMM_FM A "
+ " WHERE 1=1 "
+ " AND STATFM IN ('A','B','H') ";
//panel11
//系統件單號
if (!myfunc.checkisnull(Tmp_FMNO))
{
Tmp_Sql = Tmp_Sql + " AND FMNO LIKE " + myfunc.AA("%" + Tmp_FMNO + "%");
};
//拆檢提領編號
if (!myfunc.checkisnull(Tmp_OGONOAF))
{
Tmp_Sql = Tmp_Sql + " AND OGONOAF LIKE " + myfunc.AA("%" + Tmp_OGONOAF + "%");
};
//維修提領編號
if (!myfunc.checkisnull(Tmp_NGONOAF))
{
Tmp_Sql = Tmp_Sql + " AND NGONOAF LIKE " + myfunc.AA("%" + Tmp_NGONOAF + "%");
};
//拆檢交修單號
if (!myfunc.checkisnull(Tmp_RPNOAF))
{
Tmp_Sql = Tmp_Sql + " AND RPNOAF LIKE " + myfunc.AA("%" + Tmp_RPNOAF + "%");
};
//維修交修單號
if (!myfunc.checkisnull(Tmp_MRPNOAF))
{
Tmp_Sql = Tmp_Sql + " AND MRPNOAF LIKE " + myfunc.AA("%" + Tmp_MRPNOAF + "%");
};
//panel12
//件號
if (!myfunc.checkisnull(Tmp_PN))
{
Tmp_Sql = Tmp_Sql + " AND PN LIKE " + myfunc.AA("%" + Tmp_PN + "%");
};
//料號
if (!myfunc.checkisnull(Tmp_NSN))
{
Tmp_Sql = Tmp_Sql + " AND NSN LIKE " + myfunc.AA("%" + Tmp_NSN + "%");
};
//機種
if (!myfunc.checkisnull(Tmp_EIAC_CUS))
{
Tmp_Sql = Tmp_Sql + " AND EIAC_CUS LIKE " + myfunc.AA("%" + Tmp_EIAC_CUS + "%");
};
//中文名稱
if (!myfunc.checkisnull(Tmp_C_NM))
{
Tmp_Sql = Tmp_Sql + " AND C_NM LIKE " + myfunc.AA("%" + Tmp_C_NM + "%");
};
//英文簡稱
if (!myfunc.checkisnull(Tmp_ES_NM))
{
Tmp_Sql = Tmp_Sql + " AND ES_NM LIKE " + myfunc.AA("%" + Tmp_ES_NM + "%");
};
//panel13
//WBS
if (!myfunc.checkisnull(Tmp_WBSNO))
{
Tmp_Sql = Tmp_Sql + " AND WBSNO LIKE " + myfunc.AA("%" + Tmp_WBSNO + "%");
};
//序號
if (!myfunc.checkisnull(Tmp_SEQOAF))
{
Tmp_Sql = Tmp_Sql + " AND SEQOAF LIKE " + myfunc.AA("%" + Tmp_SEQOAF + "%");
};
//FACWC
if (!myfunc.checkisnull(Tmp_FACWC))
{
Tmp_Sql = Tmp_Sql + " AND FACWC LIKE " + myfunc.AA("%" + Tmp_FACWC + "%");
};
//MCODE
if (!myfunc.checkisnull(Tmp_MCODE))
{
Tmp_Sql = Tmp_Sql + " AND MCODE = " + myfunc.AA(Tmp_MCODE);
};
//建檔日期 - 起 - 迄
if ((!myfunc.checkisnull(Tmp_BTDT1)) || (!myfunc.checkisnull(Tmp_BTDT2)))
{
if (!myfunc.checkisnull(Tmp_BTDT1))
{
Tmp_Sql1 = Tmp_Sql1 + " AND BTDT>=" + myfunc.AA(Tmp_BTDT1);
};
if (!myfunc.checkisnull(Tmp_BTDT2))
{
Tmp_Sql1 = Tmp_Sql1 + " AND BTDT<=" + myfunc.AA(Tmp_BTDT2);
}
Tmp_Sql = Tmp_Sql + Tmp_Sql1;
};
//panel15
//單況現況 - checkboxgroup
if (!myfunc.checkisnull(Tmp_STATFM))
{
switch (Tmp_STATFM)
{
case "B": //已發工
//Tmp_Sql = Tmp_Sql + "AND STATFM IN ('B','C','D','E','F','G') ";
Tmp_Sql = Tmp_Sql + " AND AMMNO IN ( SELECT AMMNO FROM AMM_SRO WHERE AMMNO=A.AMMNO AND SAPNO IS NOT NULL ) ";
break;
case "H": //已完工
Tmp_Sql = Tmp_Sql + " AND AMMNO IS NOT NULL AND STATFM ='H' ";
break;
case "B,H": //已發工 & 已完工均勾選
Tmp_Sql = Tmp_Sql
+ " AND ( (AMMNO IS NOT NULL AND STATFM ='H') "
+ " AND (AMMNO IN ( SELECT AMMNO FROM AMM_SRO WHERE AMMNO=A.AMMNO AND SAPNO IS NOT NULL ) )"
+ " )";
break;
}
};
Tmp_Sql = Tmp_Sql + ")";
cmd.CommandText = Tmp_Sql;
string countSql = " SELECT COUNT(*) as total FROM (" + Tmp_Sql + ")";
DataSet ds = getDataTable(cmd, countSql, true, true);
//新增 CaluField 欄位 - [工單類別]
Tmp_Sql = " SELECT SROTP as FRTP, SROTPNAME "
+ " FROM AMM_SROTP "
+ " WHERE 1=1 ";
getKeyCode("FRTP", ref ds, Tmp_Sql);
//新增 CaluField 欄位 - [維修人員姓名]
Tmp_Sql = " SELECT EMPLYID as MTEMPLYID, EMPLYNM "
+ " FROM HR_EMPLYM ";
getKeyCode("MTEMPLYID", ref ds, Tmp_Sql);
//新增 CaluField 欄位 - [發工人員姓名]
Tmp_Sql = " SELECT EMPLYID as DLEMPLYID, EMPLYNM "
+ " FROM HR_EMPLYM ";
getKeyCode("DLEMPLYID", ref ds, Tmp_Sql);
//新增 CaluField 欄位 - [管制人員姓名]
Tmp_Sql = " SELECT EMPLYID as CREMPLYID, EMPLYNM "
+ " FROM HR_EMPLYM ";
getKeyCode("CREMPLYID", ref ds, Tmp_Sql);
//新增 CaluField 欄位 - [工程人員姓名]
Tmp_Sql = " SELECT EMPLYID as ENGP, EMPLYNM "
+ " FROM HR_EMPLYM ";
getKeyCode("ENGP", ref ds, Tmp_Sql);
//新增 CaluField 欄位 - [專案人員姓名]
Tmp_Sql = " SELECT EMPLYID as NEMPID, EMPLYNM "
+ " FROM HR_EMPLYM ";
getKeyCode("NEMPID", ref ds, Tmp_Sql);
//新增 CaluField 欄位 - [FM單況 ]
getKeyCode("STATFM", ref ds);
//新增 CaluField 欄位 - [保固構改管制碼 ]
getKeyCode("MCODE", ref ds);
//新增 CaluField 欄位 - [約別 ]
getKeyCode("TYPEAF", ref ds);
return ds;
} // end of GetGridData_M()