using DBUtility; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Reflection; using System.Text; using MESClassLibrary.BLL.Log; using MESClassLibrary.EFModel; using System.Xml; using static System.Windows.Forms.AxHost; namespace PunchAndWeld.DataSouce { public class ProScreenFunc { public static DataTable GetResDataTable(string sql) { DataTable res = new DataTable(); try { res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { throw ex; } } public static DataTable GetProScreen(string stationNo) { DataTable res = new DataTable(); try { string sql = @" select top 1 a.ID, d.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2, b.IsHigh from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where d.StationNo = '" + stationNo +@"' and IsFinish = 1 order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (res == null || res.Rows.Count < 1) { sql = @" select top 1 a.ID, d.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2, b.IsHigh from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where d.StationNo = '" + stationNo + @"' and IsFinish = 0 order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } if (res == null || res.Rows.Count < 1) { sql = @" select top 1 a.ID, d.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2, b.IsHigh from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where d.StationNo = '" + stationNo + @"' and IsFinish = 2 order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static DataTable GetProScreenPlan(string id, string stationNo, string plan) { DataTable res = new DataTable(); try { if (plan == "下一计划") { #region 查询当前计划时间 string time = ""; string sql; string sqll = @" select CreateTime from tb_Plan_Punch where ID = '" + id + @"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sqll, null); if (dt != null && dt.Rows.Count > 0) { time = dt.Rows[0][0].ToString(); time = Tools.NumericParse.StringToDateTime(time).Value.AddSeconds(1).ToString("yyyy-MM-dd HH:mm:ss"); } #endregion #region 查询下一计划 DateTime dtime = DateTime.Now; DateTime.TryParse(time, out dtime); sql = @" select top 1 a.ID, d.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2, b.IsHigh from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where d.StationNo = '" + stationNo + @"' and IsFinish <> 3 and a.CreateTime > '" + dtime.ToString("yyyy-MM-dd HH:mm:ss") + @"' order by CreateTime asc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); #endregion } else if (plan == "上一计划") { #region 查询当前计划时间 string time = ""; string sql; string sqll = @" select CreateTime from tb_Plan_Punch where ID = '" + id + @"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sqll, null); if (dt != null && dt.Rows.Count > 0) { time = dt.Rows[0][0].ToString(); //time = Tools.NumericParse.StringToDateTime(time).Value.AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss"); } #endregion #region 查询上一计划 DateTime dtime = DateTime.Now; DateTime.TryParse(time, out dtime); sql = @" select top 1 a.ID, d.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2, b.IsHigh from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where d.StationNo = '" + stationNo + @"' and IsFinish <> 3 and a.CreateTime < '" + dtime.ToString("yyyy-MM-dd HH:mm:ss") + @"' order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); #endregion } else if (plan == "当前计划") { string sql = @" select a.ID, d.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2, b.IsHigh from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where a.ID='"+ id +@"' "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static void GetCode(string code, out string stockNo, out string batchNo, out string partNo) { stockNo = ""; batchNo = ""; partNo = ""; try { if (code.Contains(".") == false) { //一维码 if (code.Length > 9) { stockNo = code.Substring(0, 10); batchNo = code.Substring(10, 6); } } else { //二维码 string[] strs = code.Split(';'); if (strs.Length > 0) { string str = strs[0]; string[] props = str.Split('.'); if (props.Length >= 2) { partNo = props[0]; batchNo = props[1]; } } } LogHelper.WriteSysLogBase("[入参]:code=" + code + "; [出参:]stockNo=" + stockNo + ",batchNo=" + batchNo + ",partNo=" + partNo, MethodBase.GetCurrentMethod().Name); } catch (Exception ex) { LogHelper.WriteLogManager(ex); LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } } public static string GetProductID(string barcode) { string res = ""; try { LogHelper.WriteSysLogBase("[一码到底]扫入条码:"+barcode, MethodBase.GetCurrentMethod().Name); barcode = UniteBarCodeToOne(barcode); string sql = @" select ProductID from tb_Product where partNo = ( select top 1 paintCode from tb_StockIn where barcode = '" + barcode + @"' ) "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) res = aa.ToString(); else { string sql1 = @" select top 1 productInfo from tb_InspectResult where barcode = '"+ barcode +@"' order by createtime desc "; object bb = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql1, null); if (bb != null) { string color = ""; string colorInfo = bb.ToString(); string[] colors = colorInfo.Split(','); if (colors.Length >= 2) { color = colors[2]; string sql2 = @" select partNo from tb_Product where stockNo = '" + barcode.Substring(0, 10) + @"' "; object cc = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql2, null); if (cc != null) { string partNo = cc.ToString(); string paintCode = partNo.Replace("-P","") + "-" + color; string sql3 = @" select ProductID from tb_Product where partNo = '" + paintCode + @"' "; object dd = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql3, null); if (dd != null) { res = dd.ToString(); } } } } else { string partNo = "",stockNo=""; if (barcode.Contains('/')) { string[] aastr = barcode.Split('/'); partNo = aastr[0]; } else if (barcode.Contains('.')) { string[] aastr = barcode.Split('.'); partNo = aastr[0]; } else if (barcode.Length==20) { stockNo = barcode.Substring(0, 10); } else { partNo = barcode; } string sql3 = ""; if (partNo != "") { sql3 = @"select ProductID from tb_Product where partNo = '" + partNo + @"'"; } else { sql3 = @"select ProductID from tb_Product where StockNo = '" + stockNo + @"'"; } object dd = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql3, null); if (dd != null) { res = dd.ToString(); } } } LogHelper.WriteSysLogBase("[一码到底]传出ProductID2:" + res, MethodBase.GetCurrentMethod().Name); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string GetProductID(string stockNo, string partNo) { string res = ""; try { string sql = " select ProductID from tb_Product where StockNo = '" + stockNo + "' or PartNo = '" + partNo + "' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string GetProductIDByPartNo(string partNo) { string res = ""; try { string sql = " select ProductID from tb_Product where PartNo = '" + partNo + "' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string TransToBarCodeOne(string barcode) { string res = barcode; try { string sql = @" SELECT TOP 1 OneBarCode FROM tb_BarCode WHERE BarCode = '" + barcode + @"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } else { string sql2 = @" SELECT TOP 1 OneBarCode FROM [10.60.101.60].[BBMPT1].[dbo].[v_Code] where BarCode = '" + barcode + @"' "; object bb = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql2, null); if (bb != null) { res = bb.ToString(); } } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string UniteBarCodeToOne(string barcode) { string res = barcode; if (!string.IsNullOrWhiteSpace(barcode)) { if (barcode.Contains(".")) { res = TransToBarCodeOne(barcode); } } return res; } public static bool CheckPartAndProduct(string pid1, string pid2) { bool res = false; try { string sql = @" select * from tb_PunchAndStation where ProductID1 = '" + pid1 + @"' and ProductID2 = '"+ pid2 +@"' "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = true; } else { res = false; } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int AddCompleteCount(string ID) { int res = 0; try { string sql = " update tb_Plan_Punch set CompleteCount = CompleteCount + 1 where ID = '"+ ID +"' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int SubCompleteCount(string ID) { int res = 0; try { string sql = " update tb_Plan_Punch set CompleteCount = CompleteCount - 1 where ID = '" + ID + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int AddBadCount(string ID) { int res = 0; try { string sql = " update tb_Plan_Punch set BadCount = BadCount + 1 where ID = '" + ID + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int SubBadCount(string ID) { int res = 0; try { string sql = " update tb_Plan_Punch set BadCount = BadCount - 1 where ID = '" + ID + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static void SetPlanComplete(string ID) { try { string sql = @"declare @a int; declare @b int; declare @ID varchar(50); set @ID = '"+ ID +@"'; set @a = (select orderCount from tb_Plan_Punch where ID = @ID); set @b = (select CompleteCount from tb_Plan_Punch where ID = @ID); if @a <= @b begin update tb_Plan_Punch set IsFinish = 3 where ID = @ID end;"; SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } } public static bool CheckPlanCompleted(string ID) { bool res = false; try { string sql = @" select IsFinish from tb_Plan_Punch where ID = '"+ ID +@"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { string bb = aa.ToString(); if (bb == "3") { res = true; } else { res = false; } } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int SavePartAndProduct(string barcode, string BcpID, string ZcID, string OrderNo, string WorkClass, string planID,string stationId,string description) { int res = 0; try { string sql = @" INSERT INTO [dbo].[tb_Punch_Code_Record] ([ID] ,[barcode] ,[BcpID] ,[ZcID] ,[OrderNo] ,[WorkClass] ,[CreateTime], PlanID,StationId,StationDescription) VALUES ((select newid()) ,'" + barcode + @"' ,'" + BcpID +@"' ,'" + ZcID + @"' ,'" + OrderNo + @"' ,'" + WorkClass + @"' ,(select getdate()), '" + planID + @"','"+ stationId + @"','"+ description + @"') "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int SavePartAndProduct1(string barcode, string BcpID, string ZcID, string OrderNo, string WorkClass, string planID, string SerialNo,string stationID,string description) { int res = 0; try { string sql = @" INSERT INTO [dbo].[tb_Punch_Code_Record] ([ID] ,[barcode] ,[BcpID] ,[ZcID] ,[OrderNo] ,[WorkClass] ,[CreateTime], PlanID,SerialNo,StationId,StationDescription) VALUES ((select newid()) ,'" + barcode + @"' ,'" + BcpID + @"' ,'" + ZcID + @"' ,'" + OrderNo + @"' ,'" + WorkClass + @"' ,(select getdate()), '" + planID + @"','" + SerialNo + @"','"+ stationID + @"','"+ description + @"') "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int SavePartAndProduct2(string barcode, string BcpID, string ZcID, string OrderNo, string WorkClass, string planID, string SerialNo,string stationId, string description) { int res = 0; try { string sql = @" INSERT INTO [dbo].[tb_Punch_Code_Record] ([ID] ,[barcode] ,[BcpID] ,[ZcID] ,[OrderNo] ,[WorkClass] ,[CreateTime], PlanID,SerialNo,StationId,StationDescription) VALUES ((select newid()) ,'" + barcode + @"' ,'" + BcpID + @"' ,'" + ZcID + @"' ,'" + OrderNo + @"' ,'" + WorkClass + @"' ,(select getdate()), '" + planID + @"','" + SerialNo + @"','"+ stationId + @"','"+ description + @"') "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int CompleteQty(string stationId) { int res = 0; try { string time1 = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"; string time2 = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"; string sql= @"select count(ID) as qty from tb_Punch_Code_Record WITH(NOLOCK) where StationId='" + stationId + @"' and CreateTime between '"+ time1+@"' and '"+ time2 +@"'"; DataTable dt= SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt!=null && dt.Rows.Count>0) { res = int.Parse(dt.Rows[0]["qty"].ToString()); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int SavePartAndProductBF(string barcode, string BcpID, string ZcID, string OrderNo, string WorkClass, string planID) { int res = 0; try { string sql = @" INSERT INTO [dbo].[tb_Punch_Code_Record_BF] ([ID] ,[barcode] ,[BcpID] ,[ZcID] ,[OrderNo] ,[WorkClass] ,[CreateTime], PlanID) VALUES ((select newid()) ,'" + barcode + @"' ,'" + BcpID + @"' ,'" + ZcID + @"' ,'" + OrderNo + @"' ,'" + WorkClass + @"' ,(select getdate()), '" + planID + @"') "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static DataTable QueryPlanDetail(string starttime, string endtime, string stationNo) { DataTable res = new DataTable(); try { string sql = @" select * from ( select a.IsFinish, a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount,a.CreateTime,a.ID from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where a.CreateTime >= '" + starttime + @" 00:00:00' and a.CreateTime <= '" + endtime + @" 23:59:59' and c.stationID = ( select StationID from tb_Station where StationNo = '" + stationNo + @"' ) and IsFinish <> 3 ) bb order by CreateTime "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string GetStation(string stationNo) { string res = ""; try { string sql = @" select [des] from tb_Station where StationNo = '"+ stationNo +@"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string GetStationId(string stationNo) { string res = ""; try { string sql = @" select StationID from tb_Station where StationNo = '" + stationNo + @"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int SaveZcCode(string barcode, string partNo) { int res = 0; try { barcode = UniteBarCodeToOne(barcode); string sql = @" update tb_StockIn set ZcCode = '" + partNo + "' where barcode = '"+ barcode +"' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static OtherPart HaveOtherPart(string stationNo, string productID1) { OtherPart res = new OtherPart(); res.productID3 = ""; res.productID4 = ""; res.productID5 = ""; try { string sql = @" select top 1 [ProductID3] ,[ProductID4] ,[ProductID5] ,[ProductID9] ,[ProductID10] ,[ProductID11] from tb_PunchAndStation where StationID = ( select StationID from tb_Station where StationNo = '" + stationNo +@"' ) and ProductID1 = '" + productID1 + @"' order by CreateTine desc "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res.productID3 = dt.Rows[0]["ProductID3"].ToString(); res.productID4 = dt.Rows[0]["ProductID4"].ToString(); res.productID5 = dt.Rows[0]["ProductID5"].ToString(); res.productID6 = dt.Rows[0]["ProductID9"].ToString(); res.productID7 = dt.Rows[0]["ProductID10"].ToString(); res.productID8 = dt.Rows[0]["ProductID11"].ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static bool HaveScan(string barcode) { bool res = false; try { string sql = ""; if (barcode.Substring(0, 2) != "22") { sql = @" select * from tb_Punch_Code_Record where barcode = '" + barcode + @"' "; } else { if (barcode.Substring(0, 10) == "2200000057" || barcode.Substring(0, 10) == "2200000058") { sql = @" select * from tb_Punch_Code_Record where barcode = '" + barcode + @"' "; } else { sql = @" select * from tb_StockIn where barcode = '" + barcode + "' and ZcCode is not null"; } } DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = true; } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static bool IsBad(string barcode) { bool res = false; try { string sql = ""; sql = @" select top 1 * from tb_Punch_Code_Record2 where barcode = '" + barcode + @"' order by createtime DESC "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0]["isOK"].ToString() == "0") { res = true; } else { res = false; } } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string GetPartNoByStockNo(string stockNo) { string res = ""; try { string sql = " select partNo from tb_Product where StockNo = '" + stockNo + "' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string GetPlanIDByBarcode(string barcode) { string res = ""; try { string sql = @" select top 1 PlanID from tb_Punch_Code_Record where barcode = '" + barcode + @"' order by CreateTime desc "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static DataTable GetProScreenByPlanID(string planID) { DataTable res = new DataTable(); try { string sql = @" select top 1 a.ID, d.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2 from tb_Plan_Punch a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 left join tb_Station d on c.StationID = d.StationID where a.ID = '" + planID + @"' "; res = ProScreenFunc.GetResDataTable(sql); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int SaveRecord2(string barcode, string isOK, string planID) { int res = 0; try { string sql = @" INSERT INTO tb_Punch_Code_Record2 ([ID] ,[barcode] ,[isOK] ,[planID] ,[createtime]) VALUES ((select newid()) ,'" + barcode + @"' ,'" + isOK + @"' ,'" + planID + @"' ,(select getdate())) "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string[] GetSpecialStockNo() { string[] res = {""}; try { string sql = @" select SpecialStockNo from tb_SpcialStockNo "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = new string[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { res[i] = dt.Rows[i][0].ToString().Trim(); } } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string[] GetSpcialNotFacStockNo() { string[] res = { "" }; try { string sql = @" select NotFacStockNo from tb_SpcialNotFacStockNo "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = new string[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { res[i] = dt.Rows[i][0].ToString().Trim(); } } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string GetZcPartNo(string barcode) { string res = ""; try { string sql = " select * from tb_Punch_Code_Record where barcode = '"+ barcode +"' "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = ""; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return ""; } public static bool IsYaoYanBlack(string barcode) { bool res = false; try { string sql = @" SELECT * FROM [BBMPT].[dbo].[tb_InspectResult] where barcode = '"+ barcode +@"' and productInfo like '曜岩黑%' "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool IsFBC(string code, string text) { bool res = false; try { if ((code.Contains("57") && text.Contains("0540-9197")) || (code.Contains("58") && text.Contains("0640-9197")) || (code.Contains("1230003138") && text.Contains("A2476904100")) || (code.Contains("1230003139") && text.Contains("A2476904200"))) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool HaveInspect(string barcode) { bool res = false; try { string sql = " select * from tb_InspectResult where barcode = '"+ barcode +"' "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string GetCompleteCount(string ID) { string res = "0"; try { string sql = @" select CompleteCount from tb_Plan_Punch WITH(NOLOCK) where ID = '" + ID + @"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool CanScan(string injectionPlanID) { bool res = true; try { string sql = @" select CompleteCount,OrderCount from tb_Plan_Punch WITH (NOLOCK) where ID = '" + injectionPlanID + "' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { int compCount = Tools.NumericParse.StringToInt(dt.Rows[0]["CompleteCount"].ToString()); int planCount = Tools.NumericParse.StringToInt(dt.Rows[0]["OrderCount"].ToString()); if (compCount >= planCount) { res = false; } } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool HaveNotPrint(string stationId) { bool res = false; try { string sql = @" SELECT ID from dbo.tb_Punch_Code_Record where dbo.tb_Punch_Code_Record.StationId='" + stationId + @"' and (isnull(ToVisual,1) =1 OR ISNULL(PrintTime,'') ='')"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable NotPrintBarCode(string stationId) { string sql = @" SELECT top 1 barcode from dbo.tb_Punch_Code_Record where dbo.tb_Punch_Code_Record.StationId='" + stationId + @"' and (isnull(ToVisual,1) =1 OR ISNULL(PrintTime,'') ='') ORDER BY CreateTime DESC "; return SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } public static DataTable GetGh(string barcode) { DataTable res = new DataTable(); try { string sql = @" select top 1 * from tb_Punch_Code_Record WITH (NOLOCK) where barcode = '" + barcode + @"' order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetBl(string barcode) { DataTable res = new DataTable(); try { string sql = @" select top 1 * from tb_Punch_Code_Record2 WITH (NOLOCK) where barcode = '" + barcode + @"' and isOK = '0' order by createtime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetHG_New(string barcode) { DataTable res = new DataTable(); try { string sql = @" select top 1 * from tb_Punch_Code_Record2 WITH (NOLOCK) where barcode = '" + barcode + @"' and isOK = '1' order by createtime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static ZcPrintLabel GetZcPrintLabel(string zcID) { ZcPrintLabel zl = new ZcPrintLabel(); try { string sql = @" select * from tb_Product where ProductID = '" + zcID + @"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { zl.zcPartNo = dt.Rows[0]["PartNo"].ToString(); zl.zcName = dt.Rows[0]["ProductName"].ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return zl; } public static string GetPaintCode(string barcode) { string res = "0"; try { string sql = @" select top 1 paintCode from tb_StockIn where barcode = '" + barcode + @"' order by createTime desc "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } else { string sql1 = @"select top 1 productInfo from tb_InspectResult where barcode = '" + barcode + @"' ORDER BY createTime DESC"; object aa1 = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql1, null); if (aa1 != null) { string productInfo = aa1.ToString(); if (!string.IsNullOrEmpty(productInfo)) { string[] bb = productInfo.Split(','); string color = bb[2]; string stockNo = ""; string batchNo = ""; string partNo = ""; GetCode(barcode, out stockNo, out batchNo, out partNo); res = partNo + "-" + color; } } } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DateTime GetPlanTime(string planID) { DateTime res = new DateTime(); try { string sql = @" select CreateTime from tb_Plan_Punch where ID = '" + planID + @"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = Convert.ToDateTime(aa); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable HavePrint(string stationId) { DataTable dt = null; try { // string sql = @"select top 1 r.*,s.StationNo from [dbo].[tb_Punch_Code_Record] r // LEFT JOIN dbo.tb_PunchAndStation p // ON r.ZcID=p.ProductID1 // LEFT JOIN dbo.tb_Station s // ON p.StationID=s.StationID // WHERE r.ToVisual=0 and isNull(r.PrintTime,'')='' // AND s.StationNo='" + stationNo + @"' order by ID"; // string sql = @"SELECT TOP (1) r.ID, r.barcode, r.BcpID, r.ZcID, r.OrderNo, r.WorkClass, r.CreateTime, r.PlanID, r.SerialNo, r.ToVisual, // r.FinishTime, r.PrintTime, r.IsCheck, s.StationNo, dbo.tb_Product.PartNo, dbo.tb_Product.ProductName //FROM dbo.tb_Punch_Code_Record AS r LEFT OUTER JOIN // dbo.tb_Product ON r.ZcID = dbo.tb_Product.ProductID LEFT OUTER JOIN // dbo.tb_PunchAndStation AS p ON r.ZcID = p.ProductID1 LEFT OUTER JOIN // dbo.tb_Station AS s ON p.StationID = s.StationID // WHERE r.ToVisual=1 and isNull(r.PrintTime,'')='' // AND s.StationNo='" + stationNo + @"' order by r.CreateTime"; //string sql = // "select top 1 * from [dbo].[tb_Punch_Code_Record] where ToVisual=0 and isNull(PrintTime,'')='' order by ID "; //string sql = @"SELECT TOP (1) r.ID, r.barcode, r.BcpID, r.ZcID, r.OrderNo, r.WorkClass, r.CreateTime, r.PlanID, r.SerialNo, r.ToVisual, // r.FinishTime, r.PrintTime, r.IsCheck, s.StationNo, dbo.tb_Product.PartNo, dbo.tb_Product.ProductName // FROM dbo.tb_Punch_Code_Record AS r LEFT OUTER JOIN // dbo.tb_Product ON r.ZcID = dbo.tb_Product.ProductID LEFT OUTER JOIN // dbo.tb_PunchAndStation AS p ON r.ZcID = p.ProductID1 LEFT OUTER JOIN // dbo.tb_Station AS s ON p.StationID = s.StationID // WHERE (r.ToVisual=0 or isNull(r.PrintTime,'')='') // AND s.StationNo='" + stationNo + @"' order by r.CreateTime desc"; string sql = @"SELECT TOP (1) r.ID, r.barcode, r.BcpID, r.ZcID, r.PlanID, r.SerialNo, r.ToVisual, dbo.tb_Product.PartNo, dbo.tb_Product.ProductName FROM dbo.tb_Punch_Code_Record AS r LEFT OUTER JOIN dbo.tb_Product ON r.ZcID = dbo.tb_Product.ProductID WHERE (r.ToVisual=0 and isNull(r.PrintTime,'')='') AND r.StationId='" + stationId + @"' order by r.CreateTime desc"; dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return dt; } public static int UpdatePrintTime(string ID) { int res = 0; try { string sql = @" update tb_Punch_Code_Record set PrintTime=(select getdate()) where ID='"+ID+@"' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string SerialNo(string partNo, string batch) { string res = ""; try { string temp_no = partNo + "." + batch; string sql = @"select top 1 SerialNo from tb_Punch_Code_Record where SerialNo like '" + temp_no + @"%' order by CreateTime desc"; object dt=SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null) { res = dt.ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); throw ex; } return res; } public static bool IsPunch(string barCode,string stationNo) { bool res = false; try { string sql = @" SELECT dbo.tb_Punch_Code_Record.ID FROM dbo.tb_Station RIGHT OUTER JOIN dbo.tb_PunchAndStation ON dbo.tb_Station.StationID = dbo.tb_PunchAndStation.StationID RIGHT OUTER JOIN dbo.tb_Punch_Code_Record ON dbo.tb_PunchAndStation.ProductID1 = dbo.tb_Punch_Code_Record.ZcID where dbo.tb_Punch_Code_Record.barcode='" + barCode + @"' and dbo.tb_Station.StationNo='"+ stationNo+@"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string GetPartNoByID(string id) { string res = ""; try { string sql = @"select PartNo from tb_Product where ProductID ='"+ id +@"'"; object dt = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null) { res = dt.ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string GetPartNameByStock(string stockNo) { string res = ""; try { string sql = @"select ProductName from tb_Product where StockNo ='" + stockNo + @"'"; object dt = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null) { res = dt.ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool IsPack(string barCode) { bool res = false; try { string sql = @"select ID from tb_Box_Record with (nolock) where BarCode='"+ barCode +@"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable ZCInfo(string barCode) { DataTable res = null; try { string sql = @"SELECT isnull(dbo.tb_Product.PackQty,0) as PackCount, dbo.tb_Product.ProductName, dbo.tb_Product.PartNo FROM dbo.tb_Punch_Code_Record with (nolock) LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_Punch_Code_Record.ZcID = dbo.tb_Product.ProductID where dbo.tb_Punch_Code_Record.barcode='" + barCode +@"'"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string boxNo(string barCode) { string res = ""; try { string sql = @"SELECT TOP 1 dbo.tb_Box_WheelBrow.BoxNo FROM dbo.tb_Product LEFT OUTER JOIN dbo.tb_Box_WheelBrow ON dbo.tb_Product.PartNo = dbo.tb_Box_WheelBrow.PartNo RIGHT OUTER JOIN dbo.tb_Punch_Code_Record ON dbo.tb_Product.ProductID = dbo.tb_Punch_Code_Record.ZcID where dbo.tb_Punch_Code_Record.barcode='"+ barCode+@"' order by dbo.tb_Box_WheelBrow.CreateTime desc"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["BoxNo"].ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int HavePackCount(string boxNo) { int res = 0; try { string sql= @"select count(ID) as aa from dbo.tb_Box_Record with (nolock) where BoxNo='"+ boxNo + @"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = int.Parse(dt.Rows[0]["aa"].ToString()); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int AddBoxInfo(string boxNo, int flag, string partNo, string partName, string batch, string validity, string validityDate) { int res = 0; try { string sql = @" insert into tb_Box_WheelBrow (BoxNo,Flag,PartNo,PartName,BatchNo,Validity,ValidityDate) values('"+ boxNo +@"', "+flag +@",'"+ partNo + @"','" + partName + @"','" + batch + @"','" + validity + @"','" + validityDate + @"')"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int AddPackInfo(string barCode, string boxNo) { int res = 0; try { string sql = @"insert into tb_Box_Record (BarCode,BoxNo) values('" + barCode + @"','" + boxNo + @"')"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable IsExsit(string boxNo) { DataTable res = null; try { string sql = @"select top 1 * from tb_Box_WheelBrow with (nolock) where BoxNo='" + boxNo + @"' order by CreateTime desc"; res= SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable PackSum(string stationNo) { DataTable res = null; try { string sql = ""; if (stationNo == "ZP79" ) { sql = @"SELECT COUNT(r.ID) AS qty ,r.BoxNo ,p.PartNo ,p.ProductName FROM tb_Box_Record r WITH (NOLOCK) LEFT OUTER JOIN dbo.tb_Product p ON SUBSTRING(r.BoxNo,0,CHARINDEX('.',r.BoxNo))=p.PartNo where p.PartNo in ('A2548850000','A2548850200','A2548850400','A2548850600') GROUP BY BoxNo,PartNo,ProductName HAVING COUNT(r.ID)<54"; } if (stationNo == "ZP63") { sql = @"SELECT COUNT(r.ID) AS qty ,r.BoxNo ,p.PartNo ,p.ProductName FROM tb_Box_Record r WITH (NOLOCK) LEFT OUTER JOIN dbo.tb_Product p ON SUBSTRING(r.BoxNo,0,CHARINDEX('.',r.BoxNo))=p.PartNo where p.PartNo like 'A2548805702-%' OR p.PartNo like 'A2548805802-%' OR p.PartNo like 'A2548809402-%' OR p.PartNo like 'A2548809502-%' GROUP BY BoxNo,PartNo,ProductName HAVING COUNT(r.ID)<54 UNION SELECT COUNT(r.ID) AS qty ,r.BoxNo ,p.PartNo ,p.ProductName FROM tb_Box_Record r WITH (NOLOCK) LEFT OUTER JOIN dbo.tb_Product p ON SUBSTRING(r.BoxNo,0,CHARINDEX('.',r.BoxNo))=p.PartNo where p.PartNo IN( 'A2948806000' ,'A2948805900','A2948808202','A2948808102') GROUP BY BoxNo,PartNo,ProductName HAVING COUNT(r.ID)<16"; } if (stationNo == "ZP78") { sql = @"SELECT COUNT(r.ID) AS qty ,r.BoxNo ,p.PartNo ,p.ProductName FROM tb_Box_Record r WITH (NOLOCK) LEFT OUTER JOIN dbo.tb_Product p ON SUBSTRING(r.BoxNo,0,CHARINDEX('.',r.BoxNo))=p.PartNo where p.PartNo like 'A2548809402-%' OR p.PartNo like 'A2548809502-%' GROUP BY BoxNo,PartNo,ProductName HAVING COUNT(r.ID)<54 UNION SELECT COUNT(r.ID) AS qty ,r.BoxNo ,p.PartNo ,p.ProductName FROM tb_Box_Record r WITH (NOLOCK) LEFT OUTER JOIN dbo.tb_Product p ON SUBSTRING(r.BoxNo,0,CHARINDEX('.',r.BoxNo))=p.PartNo where p.PartNo IN( 'A2948808202' ,'A2948808102') GROUP BY BoxNo,PartNo,ProductName HAVING COUNT(r.ID)<16"; } res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable PackList(string boxNo) { DataTable res = null; try { string sql = @"select * from tb_Box_Record with (nolock) where BoxNo='" + boxNo + @"' order by CreateTime desc"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable NotPackList(string stationNo) { DataTable res = null; try { string sql = @"SELECT dbo.tb_Punch_Code_Record.barcode FROM dbo.tb_Punch_Code_Record WITH (NOLOCK) LEFT OUTER JOIN dbo.tb_PunchAndStation ON dbo.tb_Punch_Code_Record.ZcID = dbo.tb_PunchAndStation.ProductID1 LEFT OUTER JOIN dbo.tb_Station ON dbo.tb_PunchAndStation.StationID = dbo.tb_Station.StationID WHERE dbo.tb_Station.StationNo='"+ stationNo +@"' AND dbo.tb_Punch_Code_Record.barcode NOT IN(SELECT barcode FROM dbo.tb_Box_Record WITH (NOLOCK))"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string barCode(string serialNo) { string res = ""; try { string sql = @"select top 1 barcode from tb_Punch_Code_Record WHERE SerialNo='" + serialNo + @"' order by CreateTime desc "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["barcode"].ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool IsScan(string barCode) { bool res = false; try { string sql = @"select ID from tb_ScanRecord_Laser where BarCode='" + barCode + @"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool IsScanNew(string barCode,string tableName) { bool res = false; try { string sql = $@"select ID from tb_ScanRecord_Laser where BarCode='" + barCode + "' union all select ID from tb_ScanRecord_LaserL where BarCode='" + barCode + "'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool IsBarCodeExsit214(string barCode) { return ProScreenFunc.SjBarCodeIsInStockIn(barCode); //bool res = false; //try //{ // string sql = $@"select ID from tb_StockIn where BarCode='" + barCode + @"'"; // DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); // if (dt != null && dt.Rows.Count > 0) // { // res = true; // } //} //catch (Exception ex) //{ // LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); //} //return res; } public static DataTable GetScanRecord_Lasers(DateTime timeFr,DateTime timeTo,string barCode) { bool res = false; try { string whereStr = $"ScanTime>='{timeFr}' and ScanTime<='{timeTo}'"; if(!string.IsNullOrEmpty(barCode)) { whereStr = whereStr + $" and BarCode='{barCode}'"; } string sql = $@"select BarCode,ScanTime,LeftOrRight,MCode,'高' as Cfg from tb_ScanRecord_Laser where {whereStr} union all select BarCode,ScanTime,LeftOrRight,MCode,'低' as Cfg from tb_ScanRecord_LaserL where {whereStr}"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); return dt; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return null; } public static int AddScanRecord(string barCode) { int res = 0; try { string sql = @"insert into tb_ScanRecord_Laser(BarCode) values('" + barCode + @"')"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int AddScanRecordNew(string barCode,string partCode,string leftOrright,string tableName) { int res = 0; try { string sql = $@"insert into {tableName}(BarCode,LeftOrRight,MCode) values('{barCode}','{leftOrright}','{partCode}')"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string GetScanCountByClass(string workClass) { string res = "0"; try { string t1 = "",t2=""; if (workClass == "白班") { t1 = DateTime.Now.ToString("yyyy-MM-dd") + " 07:30:00"; t2 = DateTime.Now.ToString("yyyy-MM-dd") + " 19:29:59"; } else { if (DateTime.Now.Hour <= 23) { t1 = DateTime.Now.ToString("yyyy-MM-dd") + " 19:30:00"; t2 = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + " 07:29:59"; } else if (DateTime.Now.Hour >= 0 && DateTime.Now.Hour <8) { t1 = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 19:30:00"; t2 = DateTime.Now.ToString("yyyy-MM-dd") + " 07:29:59"; } } string sql = @"select Count(ID) as qty from tb_ScanRecord_Laser where ScanTime between '" + t1 + @"' and '" + t2 + @"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["qty"].ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetScanRecord(string workClass) { DataTable res = null; try { //string t1 = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00"; //string t2 = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59"; string t1 = "", t2 = ""; if (workClass == "白班") { t1 = DateTime.Now.ToString("yyyy-MM-dd") + " 07:30:00"; t2 = DateTime.Now.ToString("yyyy-MM-dd") + " 19:29:59"; } else { if (DateTime.Now.Hour <= 23) { t1 = DateTime.Now.ToString("yyyy-MM-dd") + " 19:30:00"; t2 = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + " 07:29:59"; } else if (DateTime.Now.Hour >= 0 && DateTime.Now.Hour < 8) { t1 = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") + " 19:30:00"; t2 = DateTime.Now.ToString("yyyy-MM-dd") + " 07:29:59"; } } string sql = @"select BarCode,ScanTime from tb_ScanRecord_Laser where ScanTime between '" + t1 + @"' and '" + t2 + @"' order by ID desc"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetZCPartInfo(string partID, string stationNo) { DataTable res = new DataTable(); try { string sql = @"SELECT dbo.tb_Product.PartNo,dbo.tb_Product.ProductID,dbo.tb_Product.ProductName,dbo.tb_Product.IsHigh FROM dbo.tb_PunchAndStation LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_PunchAndStation.ProductID1 = dbo.tb_Product.ProductID LEFT OUTER JOIN dbo.tb_Station ON dbo.tb_PunchAndStation.StationID = dbo.tb_Station.StationID where dbo.tb_PunchAndStation.ProductID2='" + partID + @"' and dbo.tb_Station.StationNo='"+ stationNo +@"'"; res= SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetPlanInfoByOrderNo(string orderNo) { DataTable res=new DataTable(); try { string sql = @"SELECT dbo.tb_Product.ProductName, dbo.tb_Plan_Punch.OrderNo, dbo.tb_Plan_Punch.PartNo, dbo.tb_Plan_Punch.OrderCount,dbo.tb_Plan_Punch.IsFinish,dbo.tb_Plan_Punch.CompleteCount FROM dbo.tb_Plan_Punch LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_Plan_Punch.PartNo = dbo.tb_Product.PartNo where dbo.tb_Plan_Punch.OrderNo='" + orderNo +@"'"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string GetPlanIDByOrderNo(string orderNo, string partNo) { string res = ""; try { string sql = @"SELECT top 1 ID FROM dbo.tb_Plan_Punch where OrderNo='" + orderNo + @"' and PartNo='" + partNo + @"' and IsFinish <> 1 order by CreateTime "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["ID"].ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable DetailOrderNo(string orderNo) { DataTable res = new DataTable(); try { string sql = @"SELECT dbo.tb_Plan_Punch.Item, dbo.tb_Plan_Punch.PartNo, dbo.tb_Product.ProductName, dbo.tb_Plan_Punch.OrderCount FROM dbo.tb_Plan_Punch LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_Plan_Punch.PartNo = dbo.tb_Product.PartNo where dbo.tb_Plan_Punch.OrderNo='" + orderNo + @"' order by dbo.tb_Plan_Punch.Item"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetOtherPart(string stationNo, string partNo) { DataTable res = null; try { string sql = @"IF OBJECT_ID('TEMPDB..#a') IS NOT NULL DROP TABLE #a create table #a (PartNo nvarchar(100),PartName nvarchar(100),IsCheck nvarchar(10),Qty nvarchar(10)) INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'是','1' FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID2=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'是',Qty3 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID3=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'是',Qty4 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID4=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'是',Qty5 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID5=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'是',Qty9 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID9=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'是',Qty10 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID10=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'是',Qty11 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID11=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'',Qty6 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID6=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck ,Qty) SELECT p2.PartNo ,p2.ProductName ,'' ,Qty7 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID7=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'',Qty8 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID8=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'',Qty12 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID12=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck ,Qty) SELECT p2.PartNo ,p2.ProductName ,'' ,Qty13 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID13=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' INSERT INTO #a( PartNo,PartName, IsCheck,Qty ) SELECT p2.PartNo ,p2.ProductName ,'',Qty14 FROM dbo.tb_PunchAndStation ps LEFT OUTER JOIN dbo.tb_Station s ON ps.StationID=s.StationID LEFT OUTER JOIN dbo.tb_Product p1 ON ps.ProductID1=p1.ProductID LEFT OUTER JOIN dbo.tb_Product p2 ON ps.ProductID14=p2.ProductID WHERE s.StationNo='" + stationNo + @"' AND p1.PartNo='" + partNo + @"' SELECT * FROM #a where isnull(PartNo,'')<>''"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static int SavePartAndProduct_New(string barcode, string BcpID, string ZcID, string OrderNo, string WorkClass, string planID, string SerialNo, string barCode1, string barCode2, string barCode3, string barCode4, string barCode5, string barCode6,string stationId,string description) { int res = 0; try { string sql = @" INSERT INTO [dbo].[tb_Punch_Code_Record] ([ID] ,[barcode] ,[BcpID] ,[ZcID] ,[OrderNo] ,[WorkClass] ,[CreateTime], PlanID,SerialNo ,barCode1,barCode2,barCode3 ,barCode4,barCode5,barCode6,StationId,StationDescription) VALUES ((select newid()) ,'" + barcode + @"' ,'" + BcpID + @"' ,'" + ZcID + @"' ,'" + OrderNo + @"' ,'" + WorkClass + @"' ,(select getdate()), '" + planID + @"','" + SerialNo + @"' ,'" + barCode1 + @"','" + barCode2 + @"','" + barCode3 + @"' ,'" + barCode4 + @"','" + barCode5 + @"','" + barCode6 + @"','"+ stationId +@"','"+ description +"@')"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static bool IsNeedVisual(string partNo) { bool res = false; try { string sql = @"select ID from tb_SpecialVisual where SpecialPartNo='"+ partNo +@"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static int AddCompleteCountAndFinish(string ID) { int res = 0; try { string sql = " update tb_Plan_Punch set CompleteCount = CompleteCount + 1 where ID = '" + ID + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); string sql2 = " select OrderCount,CompleteCount from tb_Plan_Punch where ID = '" + ID + "' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql2, null); if (dt != null && dt.Rows.Count > 0) { if (int.Parse(dt.Rows[0]["CompleteCount"].ToString()) >= int.Parse(dt.Rows[0]["OrderCount"].ToString())) { string sql1 = " update tb_Plan_Punch set IsFinish = 3 where ID = '" + ID + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql1, null); } } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string SearchIdByBarCode(string barCode) { string res = ""; try { string sql = @" select top 1 ID from tb_Punch_Code_Record where barcode ='" + barCode+ @"' order by CreateTime desc "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["ID"].ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool IsHigh(string zcPartNo) { bool res = false; try { string sql = @" select IsHigh from tb_Product where PartNo='" + zcPartNo + @"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["IsHigh"].ToString() == "1" ? true : false; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int AddDel(string barCode) { int res = 0; try { string sql = @"insert into tb_Punch_Code_Record_Del select top 1 * from tb_Punch_Code_Record WITH (NOLOCK) where barcode = '" + barCode + @"' order by CreateTime desc; DELETE FROM tb_Punch_Code_Record WHERE ID=(select top 1 ID from tb_Punch_Code_Record WITH (NOLOCK) where barcode = '" + barCode + @"' order by CreateTime DESC)"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static DataTable DelInfoByBarCode(string barCode) { DataTable res = null; try { string sql = @"select top 1 * from tb_Punch_Code_Record_Del WITH (NOLOCK) where barcode = '" + barCode + @"' order by CreateTime desc"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static int VisualRetest(string stationNo) { int res = 0; try { string sql = @"UPDATE dbo.tb_Punch_Code_Record SET ToVisual=1 ,PrintTime = NULL WHERE id=( SELECT TOP 1 r.ID FROM dbo.tb_SpecialVisual LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_SpecialVisual.SpecialPartNo = dbo.tb_Product.PartNo RIGHT OUTER JOIN dbo.tb_Punch_Code_Record AS r ON dbo.tb_Product.ProductID = r.ZcID LEFT OUTER JOIN dbo.tb_PunchAndStation AS p ON r.ZcID = p.ProductID1 LEFT OUTER JOIN dbo.tb_Station AS s ON p.StationID = s.StationID WHERE dbo.tb_SpecialVisual.SpecialPartNo IS NOT NULL AND r.ToVisual=0 AND s.StationNo='" + stationNo + @"' ORDER by r.CreateTime DESC)"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); return res; } } public static DataTable GetProScreen_1(string stationId) { DataTable res = new DataTable(); try { string sql = @" SELECT a.*,b.ProductName,b.IsHigh,b.ProductID,s.Des Des1 FROM [BBMPT].[dbo].[tb_Plan_Punch_214] a LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID WHERE a.StationId='" + stationId + @"' AND IsFinish=1 order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (res == null || res.Rows.Count < 1) { sql = @" SELECT a.*,b.ProductName,b.IsHigh,b.ProductID,s.Des FROM [BBMPT].[dbo].[tb_Plan_Punch_214] a LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID WHERE a.StationId='" + stationId + @"' AND IsFinish=0 order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } if (res == null || res.Rows.Count < 1) { sql = @" SELECT a.*,b.ProductName,b.IsHigh,b.ProductID,s.Des FROM [BBMPT].[dbo].[tb_Plan_Punch_214] a LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID WHERE a.StationId='" + stationId + @"' AND IsFinish=2 order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static DataTable GetProScreenPlan_1(string id, string stationNo, string plan) { DataTable res = new DataTable(); try { if (plan == "下一计划") { #region 查询当前计划时间 string time = ""; string sql; string sqll = @" select CreateTime from tb_Plan_Punch_214 where ID = '" + id + @"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sqll, null); if (dt != null && dt.Rows.Count > 0) { time = dt.Rows[0][0].ToString(); time = Tools.NumericParse.StringToDateTime(time).Value.AddSeconds(1).ToString("yyyy-MM-dd HH:mm:ss"); } #endregion #region 查询下一计划 DateTime dtime = DateTime.Now; DateTime.TryParse(time, out dtime); //sql = @" // SELECT a.*,b.ProductName,b.IsHigh,b.ProductID,s.Des // FROM tb_Plan_Punch_214 a // LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo // LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID // WHERE s.StationNo = '" + stationNo + @"' // and a.IsFinish <> 3 // and a.CreateTime > '" + time + @"' // order by a.CreateTime asc // "; sql = @" SELECT a.*,b.ProductName,b.IsHigh,b.ProductID,s.Des FROM tb_Plan_Punch_214 a LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID WHERE s.StationNo = '" + stationNo + @"' and a.IsFinish <> 3 and a.CreateTime > '" + dtime.ToString("yyyy-MM-dd HH:mm:ss") + @"' order by a.CreateTime asc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); #endregion } else if (plan == "上一计划") { #region 查询当前计划时间 string time = ""; string sql; string sqll = @" select CreateTime from tb_Plan_Punch_214 where ID = '" + id + @"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sqll, null); if (dt != null && dt.Rows.Count > 0) { time = dt.Rows[0][0].ToString(); } LogHelper.WriteLog($" 语句3:{sqll}, 连接字符串:{SqlHelper.SqlConnString}"); #endregion #region 查询上一计划 DateTime dtime = DateTime.Now; DateTime.TryParse(time, out dtime); sql = @" SELECT a.*,b.ProductName,b.IsHigh,b.ProductID,s.Des FROM tb_Plan_Punch_214 a LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID WHERE s.StationNo = '" + stationNo + @"' and a.IsFinish <> 3 and a.CreateTime < '" + dtime.ToString("yyyy-MM-dd HH:mm:ss") + @"' order by a.CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); #endregion } else if (plan == "当前计划") { string sql = @" SELECT a.*,b.ProductName,b.IsHigh,b.ProductID,s.Des FROM tb_Plan_Punch_214 a LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID where a.ID='" + id + @"' "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static DataTable QueryPlanDetail_1(string starttime, string endtime, string stationNo) { DataTable res = new DataTable(); try { string sql = @" SELECT a.ID,a.OrderNo,a.PartNo,a.OrderCount,a.CompleteCount,a.BadCount,a.IsFinish,b.ProductName FROM tb_Plan_Punch_214 a LEFT OUTER JOIN dbo.tb_Product b ON a.PartNo=b.PartNo LEFT OUTER JOIN dbo.tb_Station s ON a.StationId=s.StationID WHERE s.StationNo= '"+ stationNo +@"' and IsFinish <> 3 order by CreateTime "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static DataTable HavePrint_1(string stationId) { DataTable dt = null; try { string sql = @"SELECT top 1 p.PartNo,r.*,p.ProductName FROM tb_Punch_Code_Record_DoorSill_214 r WITH(NOLOCK) LEFT OUTER JOIN dbo.tb_Product p ON r.ZcID=p.ProductID WHERE (r.ToVisual=0 and isNull(r.PrintTime,'')='') AND r.StationId='" + stationId + @"' order by r.CreateTime desc"; dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return dt; } public static int UpdateVisualFlag(string stationId) { int res = 0; try { string sql = @" update tb_Punch_Code_Record_DoorSill_214 set ToVisual=0 ,FinishTime=(select getdate()) where id =(SELECT top 1 ID FROM tb_Punch_Code_Record_DoorSill_214 r WITH(NOLOCK) WHERE r.StationId = '" + stationId + @"' and isNull(r.PrintTime,'')='' order by r.CreateTime desc)"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); } return res; } public static bool HaveScan_1(string barcode) { bool res = false; try { string sql = ""; if (barcode.Substring(0, 2) != "22") { sql = @" select * from tb_Punch_Code_Record_DoorSill_214 where barcode = '" + barcode + @"' "; } else { if (barcode.Substring(0, 10) == "2200000057" || barcode.Substring(0, 10) == "2200000058") { sql = @" select * from tb_Punch_Code_Record_DoorSill_214 where barcode = '" + barcode + @"' "; } else { sql = @" select * from tb_StockIn where barcode = '" + barcode + "' and ZcCode is not null"; } } DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = true; } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static OtherPart HaveOtherPart_1(string stationId, string productID1) { OtherPart res = new OtherPart(); try { string sql = @" select top 1 [ProductID3] ,Qty3 ,[ProductID4] ,Qty4 ,[ProductID5] ,Qty5 ,[ProductID9] ,Qty9 ,[ProductID10] ,Qty10 ,[ProductID11] ,Qty11 from tb_PunchAndStation where StationID = '"+ stationId +@"' and ProductID1 = '" + productID1 + @"' order by CreateTine desc "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res.productID3 = dt.Rows[0]["ProductID3"].ToString(); res.productID4 = dt.Rows[0]["ProductID4"].ToString(); res.productID5 = dt.Rows[0]["ProductID5"].ToString(); res.productID6 = dt.Rows[0]["ProductID9"].ToString(); res.productID7 = dt.Rows[0]["ProductID10"].ToString(); res.productID8 = dt.Rows[0]["ProductID11"].ToString(); res.qty3 = dt.Rows[0]["Qty3"].ToString(); res.qty4 = dt.Rows[0]["Qty4"].ToString(); res.qty5 = dt.Rows[0]["Qty5"].ToString(); res.qty6 = dt.Rows[0]["Qty9"].ToString(); res.qty7 = dt.Rows[0]["Qty10"].ToString(); res.qty8 = dt.Rows[0]["Qty11"].ToString(); } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static bool IsUsing(string barCode,string columeName) { bool res = false; try { string sql = @"select ID from tb_Punch_Code_Record_DoorSill_214 WITH(NOLOCK) where " + columeName + " like '%" + barCode + @"%'"; DataTable dt= ProScreenFunc.GetResDataTable(sql); if (dt!=null && dt.Rows.Count>0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int SavePartAndProduct_1(string barcode, string BcpID, string ZcID, string OrderNo, string WorkClass, string planID, string SerialNo, string barCode1, string barCode2, string barCode3, string barCode4, string barCode5, string barCode6,string stationId,int isIndia) { int res = 0; try { string sql = @" INSERT INTO [dbo].[tb_Punch_Code_Record_DoorSill_214] ([ID] ,[barcode] ,[BcpID] ,[ZcID] ,[OrderNo] ,[WorkClass] ,[CreateTime], PlanID,SerialNo ,barCode1,barCode2,barCode3 ,barCode4,barCode5,barCode6,StationId,IsIndia) VALUES ((select newid()) ,'" + barcode + @"' ,'" + BcpID + @"' ,'" + ZcID + @"' ,'" + OrderNo + @"' ,'" + WorkClass + @"' ,(select getdate()), '" + planID + @"','" + SerialNo + @"' ,'" + barCode1 + @"','" + barCode2 + @"','" + barCode3 + @"' ,'" + barCode4 + @"','" + barCode5 + @"','" + barCode6 + @"','" + stationId + @"',"+ isIndia+@") "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string SearchIdByBarCode_1(string barCode) { string res = ""; try { string sql = @" select top 1 ID from tb_Punch_Code_Record_DoorSill_214 where barcode ='" + barCode + @"' order by CreateTime desc "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["ID"].ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int UpdatePrintTime_1(string ID) { int res = 0; try { string sql = @" update tb_Punch_Code_Record_DoorSill_214 set PrintTime=(select getdate()) where ID='" + ID + @"' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetProScreenByPlanID_1(string planId) { DataTable res = new DataTable(); try { string sql = @" select a.ID, b.[Des], a.OrderNo, a.PartNo,b.ProductName,a.OrderCount,a.CompleteCount,a.BadCount, c.ProductID1, c.ProductID2 from tb_Plan_Punch_214 a left join tb_Product b on a.PartNo = b.PartNo left join tb_PunchAndStation c on b.ProductID = c.ProductID1 where a.ID = '" + planId + @"' "; res = ProScreenFunc.GetResDataTable(sql); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string SerialNo_1(string partNo, string batch) { string res = ""; try { string temp_no = partNo + "." + batch; string sql = @"select top 1 SerialNo from tb_Punch_Code_Record_DoorSill_214 where SerialNo like '" + temp_no + @"%' order by CreateTime desc"; object dt = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null) { res = dt.ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); throw ex; } return res; } public static bool CheckPlanCompleted_1(string Id) { bool res = false; try { string sql = @" select IsFinish from tb_Plan_Punch_214 where ID = '" + Id + @"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { string bb = aa.ToString(); if (bb == "3") { res = true; } else { res = false; } } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static string GetCompleteCount_1(string Id) { string res = "0"; try { string sql = @" select CompleteCount from tb_Plan_Punch_214 WITH(NOLOCK) where ID = '" + Id + @"' "; object aa = SqlHelper.ExecuteScalar(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (aa != null) { res = aa.ToString(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int AddCompleteCountAndFinish_1(string Id) { int res = 0; try { string sql = " update tb_Plan_Punch_214 set CompleteCount = CompleteCount + 1 where ID = '" + Id + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); string sql2 = " select OrderCount,CompleteCount from tb_Plan_Punch_214 where ID = '" + Id + "' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql2, null); if (dt != null && dt.Rows.Count > 0) { if (int.Parse(dt.Rows[0]["CompleteCount"].ToString()) >= int.Parse(dt.Rows[0]["OrderCount"].ToString())) { string sql1 = " update tb_Plan_Punch_214 set IsFinish = 3 where ID = '" + Id + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql1, null); } } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static DataTable GetZp(string barcode) { DataTable res = new DataTable(); try { string sql = @" select top 1 * from tb_Punch_Code_Record_DoorSill_214 WITH (NOLOCK) where barcode = '" + barcode + @"' order by CreateTime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int UpdateFlag(string barCode,int flag) { int res = 0; try { string sql = @"update tb_Punch_Code_Record_DoorSill_214 set Flag=" + flag + " where barcode='" + barCode + @"'"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int AddBadCount_1(string ID) { int res = 0; try { string sql = " update tb_Plan_Punch_214 set BadCount = BadCount + 1,CompleteCount = CompleteCount - 1 where ID = '" + ID + "' "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int VisualReset_1(string stationId) { int res = 0; try { string sql = @"UPDATE tb_Punch_Code_Record_DoorSill_214 SET ToVisual=1 ,PrintTime = NULL WHERE id=( SELECT TOP 1 r.ID FROM dbo.tb_SpecialVisual LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_SpecialVisual.SpecialPartNo = dbo.tb_Product.PartNo RIGHT OUTER JOIN dbo.tb_Punch_Code_Record_DoorSill_214 AS r ON dbo.tb_Product.ProductID = r.ZcID LEFT OUTER JOIN dbo.tb_PunchAndStation AS p ON r.ZcID = p.ProductID1 WHERE dbo.tb_SpecialVisual.SpecialPartNo IS NOT NULL AND r.ToVisual=0 AND r.StationId='"+ stationId + @"' ORDER by r.CreateTime DESC)"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); return res; } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return res; } } public static bool CheckPartAndProduct_1(string pid1, string pid2,string stationId) { bool res = false; try { string sql = @" select * from tb_PunchAndStation where ProductID1 = '" + pid1 + @"' and ProductID2 = '" + pid2 + @"' and StationID='"+ stationId + @"' "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = true; } else { res = false; } return res; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return res; } } public static int UpdateSignal(int isHigh,int state,int isFinish) { int res = 0; try { string sql = @"update tb_Signal set IsHigh="+ isHigh +@", State=" + state + @",IsFinish=" + isFinish; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); } return res; } public static int UpdateWriteDone() { int res = 0; try { string sql = @"update tb_Signal set IsFinish=2"; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); } return res; } public static int VisualState() { int res = 0; try { string sql = @"select State from tb_Signal"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = Convert.ToInt32(dt.Rows[0]["State"].ToString()); } } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); } return res; } public static DataTable GetSignal() { DataTable res = null; try { string sql = @"select IsHigh,State,IsFinish from tb_Signal with(NOLOCK)"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); } return res; } public static bool CheckDeviceNo(string deviceNo,string stationId) { bool res = false; try { string sql = @"select ID from tb_PunchAndStation where DeviceNo='" + deviceNo + @"' and StationID='" + stationId + @"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string SumByPartNo(string orderNo,string zcPartNo) { string res = "0"; try { string sql = @"SELECT Count(ID) as sum FROM dbo.tb_Punch_Code_Record LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_Punch_Code_Record.ZcID = dbo.tb_Product.ProductID where dbo.tb_Punch_Code_Record.OrderNo='" + orderNo + @"' and dbo.tb_Product.PartNo ='" + zcPartNo + @"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["sum"].ToString(); } } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static string PlanCountByPartNo(string orderNo, string zcPartNo) { string res = "0"; try { string sql = @"SELECT dbo.tb_Plan_Punch.OrderCount FROM dbo.tb_Plan_Punch INNER JOIN dbo.tb_Product ON dbo.tb_Plan_Punch.PartNo = dbo.tb_Product.PartNo where tb_Plan_Punch.OrderNo='" + orderNo + @"' and dbo.tb_Product.PartNo ='" + zcPartNo + @"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["OrderCount"].ToString(); } } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); } return res; } public static DataTable ZcPartNo(string partNo2) { DataTable res = null; try { string sql = @"SELECT p1.PartNo,p1.ProductName FROM dbo.tb_Product AS p2 RIGHT OUTER JOIN dbo.tb_PunchAndStation ON p2.ProductID = dbo.tb_PunchAndStation.ProductID2 LEFT OUTER JOIN dbo.tb_Product AS p1 ON dbo.tb_PunchAndStation.ProductID1 = p1.ProductID where p2.PartNo='" + partNo2 +@"'"; return SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); //if (dt != null && dt.Rows.Count > 0) //{ // res = dt.Rows[0]["PartNo"].ToString(); //} } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static bool IsCheck(string deviceNo, string partNo2) { bool res = false; try { string sql = @"SELECT ID FROM dbo.tb_PunchAndStation LEFT OUTER JOIN dbo.tb_Product AS p1 ON dbo.tb_PunchAndStation.ProductID2 = p1.ProductID where p1.PartNo='" + partNo2 + @"' and dbo.tb_PunchAndStation.DeviceNo='" + deviceNo + @"'"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static int AddAssembly(Assembly1 md) { int res = 0; try { string sql = @"insert into tb_Assembly_254 (ID,PartNo,PartName,BatchNo,Color,PartType,TapeBatchNo,Validity,ValidityDate,Des,Flag,BarCode) values (@ID,@PartNo,@PartName,@BatchNo,@Color,@PartType,@TapeBatchNo,@Validity,@ValidityDate,@Des,@Flag,@BarCode)"; #region 参数 SqlParameter[] param = new SqlParameter[12]; param[0] = new SqlParameter("@ID", SqlDbType.VarChar); param[0].Value = md.ID; param[1] = new SqlParameter("@PartNo", SqlDbType.VarChar); param[1].Value = md.PartNo; param[2] = new SqlParameter("@PartName", SqlDbType.VarChar); param[2].Value = md.PartName; param[3] = new SqlParameter("@BatchNo", SqlDbType.VarChar); param[3].Value = md.BatchNo; param[4] = new SqlParameter("@Color", SqlDbType.VarChar); param[4].Value = md.Color; //param[5] = new SqlParameter("@ColorNo", SqlDbType.VarChar); //param[5].Value = md.ColorNo; param[5] = new SqlParameter("@PartType", SqlDbType.VarChar); param[5].Value = md.PartType; param[6] = new SqlParameter("@TapeBatchNo", SqlDbType.VarChar); param[6].Value = md.TapeBatchNo; param[7] = new SqlParameter("@Validity", SqlDbType.VarChar); param[7].Value = md.Validity; param[8] = new SqlParameter("@ValidityDate", SqlDbType.VarChar); param[8].Value = md.ValidityDate; param[9] = new SqlParameter("@Des", SqlDbType.VarChar); param[9].Value = md.Des; param[10] = new SqlParameter("@Flag", SqlDbType.Int); param[10].Value = md.Flag; param[11] = new SqlParameter("@BarCode", SqlDbType.VarChar); param[11].Value = md.BarCode; #endregion res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, param); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static int UpdateAssembly(Assembly1 md) { int res = 0; try { string sql = @"update tb_Assembly_254 set PrintTime=@PrintTime where BarCode=@BarCode"; #region 参数 SqlParameter[] param = new SqlParameter[13]; param[0] = new SqlParameter("@PrintTime", SqlDbType.DateTime); param[0].Value = md.PrintTime; param[1] = new SqlParameter("@BarCode", SqlDbType.VarChar); param[1].Value = md.BarCode; #endregion res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, param); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static string LastNo(string partNo) { string res = ""; try { string sql = @"select top 1 PartNo from tb_Assembly_254 where PartNo like '" + partNo + @"%' and Flag=0 order by CreateTime desc"; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0]["PartNo"].ToString(); } } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static DataTable AssemblyInfo(string barCode) { DataTable res = null; try { string sql = @"select top 1 * from tb_Assembly_254 where BarCode='"+ barCode +@"' order by CreateTime desc"; return SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogErrBLL.AddInfo(ex.ToString(),MethodBase.GetCurrentMethod()); } return res; } public static string[] GetSpecialHybrid() { string[] res = { "" }; try { string sql = @" select SpecialPartNo from tb_SpecialHybrid "; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = new string[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { res[i] = dt.Rows[i][0].ToString().Trim(); } } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static DataTable GetProductInfo1(string productId2,string stationId) { DataTable res = null; try { string sql = @"SELECT dbo.tb_Product.PartNo, dbo.tb_PunchAndStation.ProductID1, dbo.tb_Product.IsHigh, dbo.tb_Product.ProductName FROM dbo.tb_PunchAndStation LEFT OUTER JOIN dbo.tb_Product ON dbo.tb_PunchAndStation.ProductID1 = dbo.tb_Product.ProductID where tb_PunchAndStation.ProductID2='" + productId2 + @"' and tb_PunchAndStation.StationID='" + stationId + @"'"; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static string StockZcCode(string barCode) { string res = ""; try { string sql = @"select [ZcCode] from [tb_StockIn] where [barcode]='" + barCode + @"'"; DataTable dt = ProScreenFunc.GetResDataTable(sql); if (dt != null && dt.Rows.Count > 0) { res = dt.Rows[0][0].ToString().Trim(); } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static int SaveToWmsRecord(string barCode) { int res = 0; try { string sql = @" insert into tb_ToWmsRecord(BarCode) values('"+ barCode +@"') "; res = SqlHelper.ExecuteNonQuery(SqlHelper.SqlConnString, CommandType.Text, sql, null); } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } public static bool IsToWms(string barCode) { bool res = false; try { string sql = @" select Id from tb_ToWmsRecord where BarCode='" + barCode + @"' "; DataTable dt = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (dt != null && dt.Rows.Count > 0) { res = true; } } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); } return res; } /// /// 漆件码是否在喷涂下线 --用于冲孔扫塑件码验证 非注塑码默认为true /// /// /// public static bool SjBarCodeIsInStockIn(string sjBarCode) { DataTable res = null; if (string.IsNullOrEmpty(sjBarCode)) { return true; } else if(sjBarCode.Length !=20) { //不是注塑码,直接通过. return true; } else if (sjBarCode.Contains(".")) { //零件号条码,不涉及一码到底,直接返回true return true; } try { string sql = @"select top 1 * from [tb_StockIn] where [barcode]='" + sjBarCode + @"' order by createtime desc "; res = SqlHelper.GetDataDateTable(SqlHelper.SqlConnString, CommandType.Text, sql, null); if (res.Rows.Count == 0) return false; if( res.Rows[0]["pass"].ToString() =="0") //最近检测不合格 { return false; } return true; } catch (Exception ex) { LogHelper.WriteErrLogBase(ex.ToString(), MethodBase.GetCurrentMethod().Name); return false; } } } public class OtherPart { public string productID3 { get; set; } public string qty3 { get; set; } public string productID4 { get; set; } public string qty4 { get; set; } public string productID5 { get; set; } public string qty5 { get; set; } public string productID6 { get; set; } public string qty6 { get; set; } public string productID7 { get; set; } public string qty7 { get; set; } public string productID8 { get; set; } public string qty8 { get; set; } } public static class ScanAll { public static bool ScanResult; public static string barCode1; public static string barCode2; public static string barCode3; public static string barCode4; public static string barCode5; public static string barCode6; public static string partNo1; public static string partNo2; public static string partNo3; public static string partNo4; public static string partNo5; public static string partNo6; } public class ZcPrintLabel { public string zcPartNo { get; set; } public string zcName { get; set; } } public class Assembly1 { public string ID { get; set; } public string PartNo { get; set; } public string PartName { get; set; } public string BatchNo { get; set; } public string Color { get; set; } public string ColorNo { get; set; } public string PartType { get; set; } public string TapeBatchNo { get; set; } public string Validity { get; set; } public string ValidityDate { get; set; } public DateTime PrintTime { get; set; } public string Des { get; set; } public int Flag { get; set; } public string BarCode { get; set; } } }