|
|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data;
namespace ICSSoft.Frame.Data.DAL { using ICSSoft.Frame.Data.Entity; using ICSSoft.Base.Config.DBHelper; using ICSSoft.Base.Config.AppConfig; using System.Data.SqlClient;
public class ICSWorkReportDAL { /// <summary>
/// 报工人送检记录
/// </summary>
/// <param name="LOTNO"></param>
/// <param name="ROUTECODE"></param>
/// <param name="OPCODE"></param>
/// <param name="MUSER"></param>
/// <param name="WorkPoint"></param>
/// <param name="OnlyEnable">TRUE不包含复检</param>
/// <param name="notEnd">TRUE,当前开工记录;FALSE,此人多次开工全部记录</param>
/// <param name="OnlyCalc">TRUE,参与计算</param>
/// <returns></returns>
public static DataTable Record_Songjian4User(string LOTNO, string ROUTECODE, string OPCODE, string MUSER, string WorkPoint, bool OnlyEnable, bool notEnd, bool OnlyCalc) { string sql = @"
SELECT '' AS Selected, '' AS CancelSongjian, A.TransNO, ISNULL(A.UserCode,'') AS UserCode, ISNULL(B.UserName,'') AS UserName, A.CheckMode, A.Quantity, A.MTIME, C.BeginDateTime, C.EndDateTime, CASE C.[Status] WHEN '正常' THEN 'OK' WHEN '放行' THEN 'OK' WHEN '判退' THEN 'NG' WHEN '不良' THEN 'NG' WHEN '开始' THEN '检验中' ELSE '未开始' END AS [Status], C.[Enable], ISNULL(D.SetValue,0) NGQTY, A.IsCalc FROM dbo.ICSLOTONWIPInspection A LEFT JOIN dbo.Sys_User B ON A.UserCode=B.UserCode AND A.WorkPoint=B.WorkPointCode LEFT JOIN dbo.ICSLOTONWIPCheck C ON C.FORTRANID=A.ID --==-- LEFT JOIN dbo.ICSLOTONWIPCheckDetail D ON D.FORTRANID=C.ID AND D.TYPE='不良' LEFT JOIN dbo.ICSLOTONWIPDetail E ON E.ID=A.DetailID WHERE E.LOTNO='{0}' AND E.ROUTECODE='{1}' AND E.OPCODE='{2}' AND E.MUSER='{3}' AND A.WorkPoint='{4}' {5} ORDER BY A.TransNO ";
string extCondition = ""; if (OnlyEnable) { sql.Replace("--==--", " and C.Enable=1"); } if (notEnd) { extCondition += " AND E.CollectStatus<>'COLLECT_END'"; } if (OnlyCalc) { extCondition += " AND A.IsCalc=1"; } sql = string.Format(sql, LOTNO, ROUTECODE, OPCODE, MUSER, WorkPoint, extCondition); return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; }
/// <summary>
/// 报工人当次送检/巡检记录,与上方法notEnd=true时结果相同
/// </summary>
/// <param name="wipdetID"></param>
/// <param name="WorkPoint"></param>
/// <param name="OnlyEnable"></param>
/// <param name="OnlyCalc"></param>
/// <returns></returns>
public static DataTable Record_Songjian4User(string wipdetID, bool OnlyEnable, bool OnlyCalc) { string sql = @"
SELECT '' AS Selected, '' AS CancelSongjian, A.TransNO, ISNULL(A.UserCode,'') AS UserCode, ISNULL(B.UserName,'') AS UserName, A.CheckMode, A.Quantity, A.MTIME, C.BeginDateTime, C.EndDateTime, CASE C.[Status] WHEN '正常' THEN 'OK' WHEN '放行' THEN 'OK' WHEN '判退' THEN 'NG' WHEN '不良' THEN 'NG' WHEN '开始' THEN '检验中' ELSE '未开始' END AS [Status], C.[Enable], ISNULL(D.SetValue,0) NGQTY, A.IsCalc FROM dbo.ICSLOTONWIPDetail E LEFT JOIN dbo.ICSLOTONWIPInspection A ON E.ID=A.DetailID LEFT JOIN dbo.Sys_User B ON A.UserCode=B.UserCode AND A.WorkPoint=B.WorkPointCode LEFT JOIN dbo.ICSLOTONWIPCheck C ON C.FORTRANID=A.ID --==-- LEFT JOIN dbo.ICSLOTONWIPCheckDetail D ON D.FORTRANID=C.ID AND D.TYPE='不良' WHERE E.ID='{0}' AND a.ID IS NOT null ORDER BY A.TransNO ";
string extCondition = ""; if (OnlyEnable) { sql.Replace("--==--", " and C.Enable=1"); } if (OnlyCalc) { extCondition += " AND A.IsCalc=1"; } sql = string.Format(sql, wipdetID, extCondition); return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; }
public static DataTable Record_Songjian4UserAll(string wipdetID, bool OnlyEnable, bool OnlyCalc) { string sql = @"
SELECT '' AS Selected, '' AS CancelSongjian, A.TransNO, ISNULL(A.UserCode,'') AS UserCode, ISNULL(B.UserName,'') AS UserName, A.CheckMode, A.Quantity, A.MTIME, C.BeginDateTime, C.EndDateTime, CASE C.[Status] WHEN '正常' THEN 'OK' WHEN '放行' THEN 'OK' WHEN '判退' THEN 'NG' WHEN '不良' THEN 'NG' WHEN '开始' THEN '检验中' ELSE '未开始' END AS [Status], C.[Enable], ISNULL(D.SetValue,0) NGQTY, A.IsCalc, NCR.Status AS NcrStatus, NCR.UpDateTime, NCR.DownDateTime FROM dbo.ICSLOTONWIPDetail E LEFT JOIN dbo.ICSLOTONWIPInspection A ON E.ID=A.DetailID {1} LEFT JOIN dbo.Sys_User B ON A.UserCode=B.UserCode AND A.WorkPoint=B.WorkPointCode LEFT JOIN dbo.ICSLOTONWIPCheck C ON C.FORTRANID=A.ID {2} LEFT JOIN dbo.ICSLOTONWIPCheckDetail D ON D.FORTRANID=C.ID AND D.TYPE='不良' LEFT JOIN dbo.ICSLOTONWIPCheckNCR NCR ON NCR.CheckID=D.ID WHERE E.ID='{0}' AND a.ID IS NOT null ORDER BY A.TransNO ";
string ex1 = ""; string ex2 = ""; if (OnlyCalc) { ex1 = " AND A.IsCalc=1"; } if (OnlyEnable) { ex2 = " AND C.Enable=1"; } sql = string.Format(sql, wipdetID, ex1, ex2); return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; }
public static DataTable QueryQtySongjian4OP(string wipID) { //2022-03-16 +送检,检验未出结果逻辑
string sql = @"
SELECT ISNULL(SUM(CONVERT(INT,ISNULL(A.Quantity,0))),0) AS SJQTY, ISNULL(SUM(CONVERT(INT,ISNULL(C.SetValue,0))),0) AS SJNGQTY, ISNULL(SUM(CASE WHEN A.ID IS NOT NULL AND B.EndDateTime IS NULL THEN CONVERT(INT,A.Quantity) ELSE 0 END),0) AS SJNotFinishQTY FROM [dbo].[ICSLOTONWIP] WIP INNER JOIN [dbo].[ICSLOTONWIPDetail] WIPD ON WIPD.LOTNO=WIP.LOTNO AND WIPD.LOTSEQ=WIP.LOTSEQ AND WIPD.ROUTECODE=WIP.ROUTECODE AND WIPD.OPCODE=WIP.OPCODE LEFT JOIN [dbo].[ICSLOTONWIPInspection] A ON A.DetailID=WIPD.ID AND A.IsCalc=1 LEFT JOIN dbo.ICSLOTONWIPCheck B ON B.FORTRANID=A.ID AND B.Enable=1 LEFT JOIN dbo.ICSLOTONWIPCheckDetail C ON C.FORTRANID=B.ID AND C.TYPE='不良' WHERE WIP.ID='{0}' ";
sql = string.Format(sql, wipID); return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; }
public static DataTable QueryQtySongjian4OPAll(string wipID) { //2022-03-22 送检允许ncr让步接受,此处逻辑修改
string sql = @"
SELECT ISNULL(SUM(SJQTY),0) SJQTY, ISNULL(SUM(SJNGQTY),0) SJNGQTY, ISNULL(SUM(SJOKQTY),0) SJOKQTY, ISNULL(SUM(SJNotFinishQTY),0) SJNotFinishQTY, ISNULL(SUM(NCRQTY),0) NCRQTY, ISNULL(SUM(NCRNGQTY),0) NCRNGQTY, ISNULL(SUM(NCROKQTY),0) NCROKQTY, ISNULL(SUM(NCRNotFinishQTY),0) NCRNotFinishQTY FROM ( SELECT WIP.ID, A.TransNO, ISNULL(MAX(CONVERT(INT,ISNULL(A.Quantity,0))),0) AS SJQTY, ISNULL(SUM(CONVERT(INT,ISNULL(C.SetValue,0))),0) AS SJNGQTY, ISNULL(MAX(CONVERT(INT,ISNULL(A.Quantity,0))),0) -ISNULL(SUM(CONVERT(INT,ISNULL(C.SetValue,0))),0) -ISNULL(SUM(CASE WHEN A.ID IS NOT NULL AND B.EndDateTime IS NULL THEN CONVERT(INT,A.Quantity) ELSE 0 END),0) AS SJOKQTY, ISNULL(SUM(CASE WHEN A.ID IS NOT NULL AND B.EndDateTime IS NULL THEN CONVERT(INT,A.Quantity) ELSE 0 END),0) AS SJNotFinishQTY, ISNULL(SUM(CASE WHEN B.EndDateTime IS NOT NULL AND NCR.ID IS NOT NULL THEN CONVERT(INT,ISNULL(C.SetValue,0)) ELSE 0 END),0) NCRQTY, ISNULL(SUM(CASE WHEN B.EndDateTime IS NOT NULL AND NCR.ID IS NOT NULL AND NCR.DownDateTime IS NOT NULL AND NCR.Status='让步接受' THEN CONVERT(INT,ISNULL(C.SetValue,0)) ELSE 0 END),0) NCROKQTY, ISNULL(SUM(CASE WHEN B.EndDateTime IS NOT NULL AND NCR.ID IS NOT NULL AND NCR.DownDateTime IS NOT NULL AND NCR.Status<>'让步接受' THEN CONVERT(INT,ISNULL(C.SetValue,0)) ELSE 0 END),0) NCRNGQTY, ISNULL(SUM(CASE WHEN B.EndDateTime IS NOT NULL AND B.Status<>'正常' AND B.Status<>'放行' AND NCR.DownDateTime IS NULL THEN CONVERT(INT,ISNULL(C.SetValue,0)) ELSE 0 END),0) NCRNotFinishQTY FROM [dbo].[ICSLOTONWIP] WIP INNER JOIN [dbo].[ICSLOTONWIPDetail] WIPD ON WIPD.LOTNO=WIP.LOTNO AND WIPD.LOTSEQ=WIP.LOTSEQ AND WIPD.ROUTECODE=WIP.ROUTECODE AND WIPD.OPCODE=WIP.OPCODE LEFT JOIN [dbo].[ICSLOTONWIPInspection] A ON A.DetailID=WIPD.ID AND A.IsCalc=1 LEFT JOIN dbo.ICSLOTONWIPCheck B ON B.FORTRANID=A.ID AND B.Enable=1 LEFT JOIN dbo.ICSLOTONWIPCheckDetail C ON C.FORTRANID=B.ID AND C.TYPE='不良' LEFT JOIN dbo.ICSLOTONWIPCheckNCR NCR ON NCR.CheckID=C.ID WHERE wip.id='{0}' AND A.ID IS NOT NULL GROUP BY WIP.ID,a.TransNO )T ";
sql = string.Format(sql, wipID); return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; }
/// <summary>
/// 工序送检/巡检记录
/// </summary>
/// <param name="wipID"></param>
/// <param name="WorkPoint"></param>
/// <param name="OnlyEnable"></param>
/// <param name="OnlyCalc"></param>
/// <returns>送检数量,检验NG数量,未检数量</returns>
public static DataTable Record_Songjian4OP(string wipID) { string sql = @"
SELECT A.TransNO, ISNULL(A.UserCode,'') AS UserCode, ISNULL(B.UserName,'') AS UserName, A.CheckMode, A.Quantity, A.MTIME, C.BeginDateTime, C.EndDateTime, CASE C.[Status] WHEN '正常' THEN 'OK' WHEN '放行' THEN 'OK' WHEN '判退' THEN 'NG' WHEN '不良' THEN 'NG' WHEN '开始' THEN '检验中' ELSE '未开始' END AS [Status], C.[Enable], ISNULL(D.SetValue,0) NGQTY, A.IsCalc FROM [dbo].[ICSLOTONWIP] WIP INNER JOIN [dbo].[ICSLOTONWIPDetail] E ON E.LOTNO=WIP.LOTNO AND E.LOTSEQ=WIP.LOTSEQ AND E.ROUTECODE=WIP.ROUTECODE AND E.OPCODE=WIP.OPCODE LEFT JOIN [dbo].[ICSLOTONWIPInspection] A ON A.DetailID=E.ID --AND A.IsCalc=1 LEFT JOIN dbo.Sys_User B ON A.UserCode=B.UserCode AND A.WorkPoint=B.WorkPointCode LEFT JOIN dbo.ICSLOTONWIPCheck C ON C.FORTRANID=A.ID --AND C.Enable=1 LEFT JOIN dbo.ICSLOTONWIPCheckDetail D ON D.FORTRANID=C.ID AND D.TYPE='不良' WHERE WIP.ID='{0}' AND a.ID IS NOT NULL ORDER BY A.TransNO ";
sql = string.Format(sql, wipID); return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; }
/// <summary>
/// 首件
/// </summary>
/// <param name="codeType"></param>
/// <param name="code"></param>
/// <param name="MOSEQ"></param>
/// <param name="ROUTECODE"></param>
/// <param name="OPCODE"></param>
/// <param name="EQPCode"></param>
/// <param name="WorkPoint"></param>
/// <param name="shoujianTypes"></param>
/// <returns></returns>
public static DataTable Shoujian(string codeType, string code, string MOSEQ, string ROUTECODE, string OPCODE, string EQPCode, string WorkPoint, params string[] shoujianTypes) { string sql = @"
SELECT A.ITEMCODE, A.LOTNO, A.ROUTECODE, A.OPCODE, B.ID, C.TransNO, C.CheckMode, ISNULL(D.Status,'') AS Status FROM ICSLOTONWIP A LEFT JOIN dbo.ICSLOTONWIPDetail B ON A.LOTNO=B.LOTNO AND A.ROUTECODE=B.ROUTECODE AND A.OPCODE=B.OPCODE LEFT JOIN dbo.ICSLOTONWIPInspection C ON C.DetailID=B.ID LEFT JOIN dbo.ICSLOTONWIPCheck D ON D.FORTRANID=C.ID AND D.[Enable]=1 WHERE A.ROUTECODE='{1}' AND A.OPCODE='{2}' AND B.EQPCode='{3}' AND 1=1 ORDER BY C.MTIME DESC ";
//--AND (D.Status='正常' OR D.Status='放行')
string extCondition = ""; if (shoujianTypes == null || shoujianTypes.Length == 0) { extCondition = "C.CheckMode LIKE '%首件%' AND"; } else { string[] s1 = new string[shoujianTypes.Length]; for (int i = 0; i < shoujianTypes.Length; i++) { s1[i] = "C.CheckMode = '" + shoujianTypes[i] + "' "; } extCondition = " ( " + string.Join(" OR ", s1) + " ) AND "; } if (codeType == "物料") { extCondition += " A.ITEMCODE='{0}' "; } else if (codeType == "工单") { if (MOSEQ == "") { throw new Exception("工单必须输入工单行"); } extCondition += " A.MOCODE='{0}' AND A.MOSEQ=" + MOSEQ + " "; } else if (codeType == "跟踪单") { extCondition += " A.LOTNO='{0}' "; } else { throw new Exception("首件查询, 单据类型错误"); } sql = sql.Replace("1=1", extCondition); sql = string.Format(sql, code, ROUTECODE, OPCODE, EQPCode); return DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; }
/// <summary>
/// 工序报工数量
/// </summary>
/// <param name="LOTNO"></param>
/// <param name="ROUTECODE"></param>
/// <param name="OPCODE"></param>
/// <param name="WorkPoint"></param>
/// <returns>报工OK数量,NG=0(阿威特不报NG数量)</returns>
public static DataTable WorkReportQTY(string LOTNO, string ROUTECODE, string OPCODE, string WorkPoint) { string sql = @"SELECT ISNULL(GOODQTY,0) GOODQTY,ISNULL(NGQTY,0) NGQTY FROM ICSLOTONWIP WHERE LOTNO='{0}' AND ROUTECODE='{1}' AND OPCODE='{2}' AND WorkPoint='{3}'"; sql = string.Format(sql, LOTNO, ROUTECODE, OPCODE, WorkPoint); DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0]; if (data.Rows.Count == 0) { throw new Exception("此跟踪单'工序开工'记录已被他人删除!"); } return data; }
public static DataTable WorkReportQTY(string wipid) { string sql = @"SELECT ISNULL(GOODQTY,0) GOODQTY,ISNULL(NGQTY,0) NGQTY FROM ICSLOTONWIP WHERE ID='{0}'"; sql = string.Format(sql, wipid); DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0]; if (data.Rows.Count == 0) { throw new Exception("此跟踪单'工序开工'记录已被他人删除!"); } return data; }
/// <summary>
/// 所有人送检首件未出结果的数量
/// </summary>
/// <param name="wipdetID"></param>
/// <param name="includeself">是否包含自己</param>
/// <param name="shoujianTypes"></param>
/// <returns></returns>
public static DataTable SongjianShoujianNotFinishBeforeMe(string wipdetID, bool includeself, params string[] shoujianTypes) { string sql = @"
SELECT ins.Quantity AS NotFinishQTY,ins.CheckMode,ins.TransNO FROM dbo.ICSLOTONWIPDetail A LEFT JOIN dbo.ICSLOTONWIPDetail B ON B.LOTNO=A.LOTNO AND B.ROUTECODE=A.ROUTECODE AND B.OPCODE =A.OPCODE AND A.EndDateTime <{1} B.BeginDateTime LEFT JOIN dbo.ICSLOTONWIPInspection INS ON INS.DetailID=A.ID LEFT JOIN dbo.ICSLOTONWIPCheck CHK ON CHK.FORTRANID=INS.ID WHERE B.ID='{0}' AND CHK.EndDateTime IS NULL ";
string extCondition = ""; if (shoujianTypes == null || shoujianTypes.Length == 0) { extCondition = "AND INS.CheckMode LIKE '%首件%'"; } else { string[] s1 = new string[shoujianTypes.Length]; for (int i = 0; i < shoujianTypes.Length; i++) { s1[i] = "INS.CheckMode = '" + shoujianTypes[i] + "' "; } extCondition = " AND ( " + string.Join(" OR ", s1) + " ) "; } sql = string.Format(sql, wipdetID, includeself ? "= " : " ") + extCondition; return DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sql).Tables[0]; }
public static DataTable QueryLotNoOPCodeSendAndReport(string LOTNO, string OPCODE, string WorkPoint, string AppConnectString) { string sql = @"
SELECT A.ROUTECODE,D.ROUTEDESC, B.OPSEQ,A.OPCODE,C.OPNAME,C.OPDESC,B.OPCODE AS OPCODE_B, B.OPAttr, CASE WHEN A.EATTRIBUTE1=1 THEN '串行' ELSE B.CtrlType END AS CtrlType, A.USERCODE,A.USERName,A.EQPCode,A.EQPName, CASE WHEN A.EATTRIBUTE1=1 THEN 'WW' ELSE (CASE WHEN B.OPAttr='自制' THEN 'ZZ' ELSE 'JY' END) END AS OPTYPE, E.[ACTION],E.ACTIONRESULT AS StateOP,ISNULL(E.LOTQTY,0) LOTQTY,ISNULL(E.GOODQTY,0) GOODQTY,ISNULL(E.NGQTY,0) NGQTY,ISNULL(E.RcvNGQty,0) RcvNGQty,E.ID AS ID_ONWIP FROM dbo.ICSMO2User A --派工(不做人员,设备卡控) INNER JOIN dbo.ICSITEMROUTE2OPLot B ON A.LOTNO=B.LOTNO AND B.ROUTECODE=A.RouteCode AND B.OPCODE=A.OPCODE AND B.WorkPoint=A.WorkPoint--跟踪单,工序=>基础信息 LEFT JOIN dbo.ICSOP C ON C.OPCODE=A.OPCODE AND C.WorkPoint=A.WorkPoint LEFT JOIN dbo.ICSROUTE D ON D.ROUTECODE=A.ROUTECODE AND D.WorkPoint=A.WorkPoint LEFT JOIN ICSLOTONWIP E ON E.LOTNO=A.LotNo AND E.ROUTECODE=A.RouteCode AND E.OPCODE=A.OPCODE AND E.WorkPoint=A.WorkPoint--跟踪单,工序=>工序状态 WHERE A.LotNo=@LOTNO AND A.OPCODE=@OPCODE AND A.WorkPoint=@WorkPoint ";
SqlParameter[] pms = new SqlParameter[]{ new SqlParameter("@LOTNO",SqlDbType.NVarChar){ Value = LOTNO }, new SqlParameter("@OPCODE",SqlDbType.NVarChar){ Value = OPCODE }, new SqlParameter("@WorkPoint",SqlDbType.NVarChar){ Value = WorkPoint } }; return DBHelper.ExecuteDataset(AppConnectString, CommandType.Text, sql, pms).Tables[0]; }
public static DataTable QueryPreOPCodeInfo(string LOTNO, int OPSEQ, string WorkPoint, string AppConnectString) { string sql = @"
SELECT TOP 1 A.CtrlType ,A.OPCODE ,A.OPSEQ ,C.OPDESC ,ISNULL(B.ACTIONRESULT,'') AS ACTIONRESULT ,B.ID ,B.FPQTY FROM dbo.ICSITEMROUTE2OPLot A LEFT JOIN dbo.ICSLOTONWIP B ON B.LOTNO=A.LotNo AND B.OPCODE=A.OPCODE LEFT JOIN dbo.ICSOP C ON C.OPCODE=A.OPCODE AND C.WorkPoint=A.WorkPoint WHERE A.LotNo=@LOTNO AND A.OPSEQ<@OPSEQ AND A.WorkPoint=@WorkPoint ORDER BY A.OPSEQ DESC ";
SqlParameter[] pms = new SqlParameter[]{ new SqlParameter("@LOTNO",SqlDbType.NVarChar){ Value = LOTNO }, new SqlParameter("@OPSEQ",SqlDbType.Int){ Value = OPSEQ }, new SqlParameter("@WorkPoint",SqlDbType.NVarChar){ Value = WorkPoint } }; return DBHelper.ExecuteDataset(AppConnectString, CommandType.Text, sql, pms).Tables[0]; }
public static DataTable QueryPreOPCheckAndNcrInfo(string ONWIPID, string WorkPoint, string AppConnectString) { string sql = @"
SELECT B.LotNo, B.ROUTECODE, B.OPSEQ, B.OPCODE, B.ACTIONRESULT, C.[Status], C.BeginDateTime, C.EndDateTime, D.Status AS NCRStatus FROM ICSLOTONWIP B LEFT JOIN dbo.ICSLOTONWIPCheck C ON C.FORTRANID=B.ID AND C.Enable=1 LEFT JOIN dbo.ICSLOTONWIPCheckDetail CD ON CD.FORTRANID=C.ID AND CD.TYPE='不良' LEFT JOIN dbo.ICSLOTONWIPCheckNCR D ON D.CheckID=CD.ID WHERE B.ID=@ID AND B.WorkPoint=@WorkPoint ";
SqlParameter[] pms = new SqlParameter[]{ new SqlParameter("@ID",SqlDbType.NVarChar){ Value = ONWIPID }, new SqlParameter("@WorkPoint",SqlDbType.NVarChar){ Value = WorkPoint } }; return DBHelper.ExecuteDataset(AppConnectString, CommandType.Text, sql, pms).Tables[0]; }
public static DataTable GetBaseOPCode(string OPCODE, string WorkPoint, string AppConnectString) { string sql = ""; if (OPCODE.Length == 3) { sql = @"
SELECT OPCODE AS BaseOP, OPNAME, CostCenter FROM dbo.ICSOP WHERE OPCODE=@OPCODE AND WorkPoint=@WorkPoint ";
} else { sql = @"
SELECT TOP 1 A.OPCODE, B.OPCODE AS BaseOP, B.OPNAME, B.CostCenter FROM dbo.ICSOP A LEFT JOIN dbo.ICSOP B ON B.OPCODE=LEFT(A.OPCODE,3) WHERE A.OPCODE=@OPCODE AND A.WorkPoint=@WorkPoint ";
} SqlParameter[] pms = new SqlParameter[]{ new SqlParameter("@OPCODE", SqlDbType.NVarChar) { Value = OPCODE }, new SqlParameter("@WorkPoint",SqlDbType.NVarChar){ Value = WorkPoint } }; return DBHelper.ExecuteDataset(AppConnectString, CommandType.Text, sql, pms).Tables[0]; }
} }
|