using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Net; using System.Web.Http; using System.Windows.Forms; using WebAPI.Models; namespace WebAPI.Controllers { #region 华远请求基础资料 #region 炬森VRS内层检验结果上传接口 相关模型类 public class VRSInner_saveCheckNote_RequestParams { public string HMaker; //制单人 public List param; } public class VRSInner_saveCheckNote_RequestParams_data { public string HBarCode; //PNL条码编号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS所在行的索引 public int HPosition_y; //PCS所在列的索引 public int HPageIndex; //正反面(0:正面,1:反面) public string HBadReason; //不良原因 } public class VRSInner_saveCheckNote_RequestResult { public string code; public string msg; } #endregion #region 炬森VRS外层获取datamapping接口 相关模型类 public class VRSOuter_getDataMapping_RequestParams { public string HBarCode; //PNL条码编号 } public class VRSOuter_getDataMapping_RequestResult { public string code; public string msg; public List data; } public class VRSOuter_getDataMapping_RequestResult_data { public string HBarCode; //PNL条码号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS的行索引 public int HPosition_y; //PCS的列索引 } #endregion #region 炬森VRS外层检验结果上传接口 相关模型类 public class VRSOuter_saveCheckNote_RequestParams { public string HMaker; //制单人 public List param; } public class VRSOuter_saveCheckNote_RequestParams_data { public string HBarCode; //PNL条码编号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS所在行的索引 public int HPosition_y; //PCS所在列的索引 public int HPageIndex; //正反面(0:正面,1:反面) public string HBadReason; //不良原因 } public class VRSOuter_saveCheckNote_RequestResult { public string code; public string msg; } #endregion #region AVI获取datamapping接口 相关模型类 public class AVI_getDataMapping_RequestParams { public string HBarCode; //PNL条码编号 } public class AVI_getDataMapping_RequestResult { public string code; public string msg; public List data; } public class AVI_getDataMapping_RequestResult_data { public string HBarCode; //PNL条码号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS的行索引 public int HPosition_y; //PCS的列索引 } #endregion #region AVI检验结果上传接口 相关模型类 public class AVI_saveCheckNote_RequestParams { public string HMaker; //制单人 public List param; } public class AVI_saveCheckNote_RequestParams_data { public string HBarCode; //PNL条码编号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS所在行的索引 public int HPosition_y; //PCS所在列的索引 public int HPageIndex; //正反面(0:正面,1:反面) public string HBadReason; //不良原因 } public class AVI_saveCheckNote_RequestResult { public string code; public string msg; } #endregion #region 电测获取datamapping接口 相关模型类 public class DC_getDataMapping_RequestParams { public string HBarCode; //set条码编号 } public class DC_getDataMapping_RequestResult { public string code; public string msg; public List data; } public class DC_getDataMapping_RequestResult_data { public string HBarCode; //PNL条码号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS的行索引 public int HPosition_y; //PCS的列索引 } #endregion #region 电测检验结果上传接口 相关模型类 public class DC_saveCheckNote_RequestParams { public string HMaker; //制单人 public List param; } public class DC_saveCheckNote_RequestParams_data { public string HBarCode; //set条码编号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS所在行的索引 public int HPosition_y; //PCS所在列的索引 public int HPageIndex; //正反面(0:正面,1:反面) public string HBadReason; //不良原因 } public class DC_saveCheckNote_RequestResult { public string code; public string msg; } #endregion #region 激光割获取datamapping接口 相关模型类 public class JGG_getDataMapping_RequestParams { public string HBarCode; //set条码编号 } public class JGG_getDataMapping_RequestResult { public string code; public string msg; public List data; } public class JGG_getDataMapping_RequestResult_data { public string HBarCode; //PNL条码号 public string HPCSNo; //PCS号 public int HPosition_x; //PCS的行索引 public int HPosition_y; //PCS的列索引 } #endregion #endregion public class HY_DataMappingController : ApiController { //获取系统参数 Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; #region 炬森VRS内层检验结果上传接口 [Route("VRSInner/VRSInner_saveCheckNote")] [HttpPost] public VRSInner_saveCheckNote_RequestResult VRSInner_saveCheckNote([FromBody] JObject sMainSub) { VRSInner_saveCheckNote_RequestResult result = new VRSInner_saveCheckNote_RequestResult(); string msg_success = ""; try { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string msg2 = "[" + msg1 + "]"; List vRSInner_SaveCheckNote_RequestParams = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); oCN.BeginTran(); for (int i = 0; i < vRSInner_SaveCheckNote_RequestParams.Count; i++) { string HMaker = vRSInner_SaveCheckNote_RequestParams[i].HMaker; for (int j = 0; j < vRSInner_SaveCheckNote_RequestParams[i].param.Count; j++) { string HBarCode = vRSInner_SaveCheckNote_RequestParams[i].param[j].HBarCode; string HSetNo = ""; string HPCSNo = vRSInner_SaveCheckNote_RequestParams[i].param[j].HPCSNo; int HPosition_x = vRSInner_SaveCheckNote_RequestParams[i].param[j].HPosition_x; int HPosition_y = vRSInner_SaveCheckNote_RequestParams[i].param[j].HPosition_y; string HCheckProc = "炬森VRS内层"; int HPageIndex = vRSInner_SaveCheckNote_RequestParams[i].param[j].HPageIndex; string HBadReason = vRSInner_SaveCheckNote_RequestParams[i].param[j].HBadReason; //根据PNL条码找到PNL对于的PNL布局信息。然后根据PCS号在PNL布局信息中找到PCS对应的set号 string sql_set = "" + "select distinct " + " b.HSetNo " + "from Gy_PNLInfo as a " + "inner join Gy_PNLInfoSub as b on a.HInterID = b.HInterID " + "where a.HLayOutName in " + " ( " + " select HLayOutName from Gy_BarCodeBill_PNL_Temp where HBarCode = '" + HBarCode + "' " + //" union " + //" select HLayOutName from Gy_BarCodeBill_PNL_His where HBarCode = '" + HBarCode + "' " + " ) " + "and b.HPCSNo = '" + HPCSNo + "' "; ds = oCN.RunProcReturn(sql_set, "Gy_PNLInfo"); if(ds!=null && ds.Tables.Count>0 && ds.Tables[0].Rows.Count > 0) { HSetNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSetNo"]); } string sql = "insert into QC_CheckNote_PNL_Temp(HBarCode,HSetNo,HPCSNo,HPosition_x,HPosition_y,HCheckProc,HPageIndex,HBadReason,HMaker,HMakeDate) " + "values(" + "'" + HBarCode + "'" + ",'" + HSetNo + "'" + ",'" + HPCSNo + "'" + "," + HPosition_x + "" + "," + HPosition_y + "" + ",'" + HCheckProc + "'" + "," + HPageIndex + "" + ",'" + HBadReason + "'" + ",'" + HMaker + "'" + ",getdate() " + ")"; oCN.RunProc(sql); msg_success += JsonConvert.SerializeObject(vRSInner_SaveCheckNote_RequestParams[i].param[j], Formatting.Indented); } } oCN.Commit(); result.code = "1"; result.msg = "上传成功!!" + msg_success; return result; } catch (Exception e) { oCN.RollBack(); result.code = "0"; result.msg = "上传失败!!" + e.Message; return result; } } #endregion #region 炬森VRS外层获取datamapping数据 接口 [Route("VRSOuter/VRSOuter_getDataMapping")] [HttpGet] public VRSOuter_getDataMapping_RequestResult VRSOuter_getDataMapping(string HBarCode) { VRSOuter_getDataMapping_RequestResult result = new VRSOuter_getDataMapping_RequestResult(); List dataList = new List(); try { string sql = "" + //"select * from QC_CheckNote_PNL_His where HBarCode = '" + HBarCode + "' " + //"union " + "select * from QC_CheckNote_PNL_Temp where HBarCode = '" + HBarCode + "'"; ds = oCN.RunProcReturn(sql, "QC_CheckNote_PNL_Temp"); for(int i = 0; i < ds.Tables[0].Rows.Count; i++) { VRSOuter_getDataMapping_RequestResult_data data = new VRSOuter_getDataMapping_RequestResult_data(); data.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]); data.HPCSNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPCSNo"]); data.HPosition_x = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_x"]); data.HPosition_y = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_y"]); dataList.Add(data); } result.code = "1"; result.msg = ""; result.data = dataList; return result; } catch (Exception e) { result.code = "0"; result.msg = "" + e.Message; result.data = null; return result; } } #endregion #region 炬森VRS外层检验结果上传接口 [Route("VRSOuter/VRSOuter_saveCheckNote")] [HttpPost] public VRSOuter_saveCheckNote_RequestResult VRSOuter_saveCheckNote([FromBody] JObject sMainSub) { VRSOuter_saveCheckNote_RequestResult result = new VRSOuter_saveCheckNote_RequestResult(); string msg_success = ""; try { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string msg2 = "[" + msg1 + "]"; List vRSOuter_SaveCheckNote_RequestParams = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); oCN.BeginTran(); for (int i = 0; i < vRSOuter_SaveCheckNote_RequestParams.Count; i++) { string HMaker = vRSOuter_SaveCheckNote_RequestParams[i].HMaker; for (int j = 0; j < vRSOuter_SaveCheckNote_RequestParams[i].param.Count; j++) { string HBarCode = vRSOuter_SaveCheckNote_RequestParams[i].param[j].HBarCode; string HSetNo = ""; string HPCSNo = vRSOuter_SaveCheckNote_RequestParams[i].param[j].HPCSNo; int HPosition_x = vRSOuter_SaveCheckNote_RequestParams[i].param[j].HPosition_x; int HPosition_y = vRSOuter_SaveCheckNote_RequestParams[i].param[j].HPosition_y; string HCheckProc = "炬森VRS外层"; int HPageIndex = vRSOuter_SaveCheckNote_RequestParams[i].param[j].HPageIndex; string HBadReason = vRSOuter_SaveCheckNote_RequestParams[i].param[j].HBadReason; //根据PNL条码找到PNL对于的PNL布局信息。然后根据PCS号在PNL布局信息中找到PCS对应的set号 string sql_set = "" + "select distinct " + " b.HSetNo " + "from Gy_PNLInfo as a " + "inner join Gy_PNLInfoSub as b on a.HInterID = b.HInterID " + "where a.HLayOutName in " + " ( " + " select HLayOutName from Gy_BarCodeBill_PNL_Temp where HBarCode = '" + HBarCode + "' " + //" union " + //" select HLayOutName from Gy_BarCodeBill_PNL_His where HBarCode = '" + HBarCode + "' " + " ) " + "and b.HPCSNo = '" + HPCSNo + "' "; ds = oCN.RunProcReturn(sql_set, "Gy_PNLInfo"); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { HSetNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSetNo"]); } string sql = "insert into QC_CheckNote_PNL_Temp(HBarCode,HSetNo,HPCSNo,HPosition_x,HPosition_y,HCheckProc,HPageIndex,HBadReason,HMaker,HMakeDate) " + "values(" + "'" + HBarCode + "'" + ",'" + HSetNo + "'" + ",'" + HPCSNo + "'" + "," + HPosition_x + "" + "," + HPosition_y + "" + ",'" + HCheckProc + "'" + "," + HPageIndex + "" + ",'" + HBadReason + "'" + ",'" + HMaker + "'" + ",getdate() " + ")"; oCN.RunProc(sql); msg_success += JsonConvert.SerializeObject(vRSOuter_SaveCheckNote_RequestParams[i].param[j], Formatting.Indented); } } oCN.Commit(); result.code = "1"; result.msg = "上传成功!!" + msg_success; return result; } catch (Exception e) { oCN.RollBack(); result.code = "0"; result.msg = "上传失败!!" + e.Message; return result; } } #endregion #region AVI获取datamapping数据 接口 [Route("AVI/AVI_getDataMapping")] [HttpGet] public AVI_getDataMapping_RequestResult AVI_getDataMapping(string HBarCode) { AVI_getDataMapping_RequestResult result = new AVI_getDataMapping_RequestResult(); List dataList = new List(); try { string sql = "" + //"select * from QC_CheckNote_PNL_His where HBarCode = '" + HBarCode + "' " + //"union " + "select * from QC_CheckNote_PNL_Temp where HBarCode = '" + HBarCode + "'"; ds = oCN.RunProcReturn(sql, "QC_CheckNote_PNL_Temp"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { AVI_getDataMapping_RequestResult_data data = new AVI_getDataMapping_RequestResult_data(); data.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]); data.HPCSNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPCSNo"]); data.HPosition_x = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_x"]); data.HPosition_y = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_y"]); dataList.Add(data); } result.code = "1"; result.msg = ""; result.data = dataList; return result; } catch (Exception e) { result.code = "0"; result.msg = "" + e.Message; result.data = null; return result; } } #endregion #region AVI检验结果上传接口 [Route("AVI/AVI_saveCheckNote")] [HttpPost] public AVI_saveCheckNote_RequestResult AVI_saveCheckNote([FromBody] JObject sMainSub) { AVI_saveCheckNote_RequestResult result = new AVI_saveCheckNote_RequestResult(); string msg_success = ""; try { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string msg2 = "[" + msg1 + "]"; List aVI_SaveCheckNote_RequestParams = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); oCN.BeginTran(); for (int i = 0; i < aVI_SaveCheckNote_RequestParams.Count; i++) { string HMaker = aVI_SaveCheckNote_RequestParams[i].HMaker; for (int j = 0; j < aVI_SaveCheckNote_RequestParams[i].param.Count; j++) { string HBarCode = aVI_SaveCheckNote_RequestParams[i].param[j].HBarCode; string HSetNo = ""; string HPCSNo = aVI_SaveCheckNote_RequestParams[i].param[j].HPCSNo; int HPosition_x = aVI_SaveCheckNote_RequestParams[i].param[j].HPosition_x; int HPosition_y = aVI_SaveCheckNote_RequestParams[i].param[j].HPosition_y; string HCheckProc = "AVI"; int HPageIndex = aVI_SaveCheckNote_RequestParams[i].param[j].HPageIndex; string HBadReason = aVI_SaveCheckNote_RequestParams[i].param[j].HBadReason; //根据PNL条码找到PNL对于的PNL布局信息。然后根据PCS号在PNL布局信息中找到PCS对应的set号 string sql_set = "" + "select distinct " + " b.HSetNo " + "from Gy_PNLInfo as a " + "inner join Gy_PNLInfoSub as b on a.HInterID = b.HInterID " + "where a.HLayOutName in " + " ( " + " select HLayOutName from Gy_BarCodeBill_PNL_Temp where HBarCode = '" + HBarCode + "' " + //" union " + //" select HLayOutName from Gy_BarCodeBill_PNL_His where HBarCode = '" + HBarCode + "' " + " ) " + "and b.HPCSNo = '" + HPCSNo + "' "; ds = oCN.RunProcReturn(sql_set, "Gy_PNLInfo"); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { HSetNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HSetNo"]); } string sql = "insert into QC_CheckNote_PNL_Temp(HBarCode,HSetNo,HPCSNo,HPosition_x,HPosition_y,HCheckProc,HPageIndex,HBadReason,HMaker,HMakeDate) " + "values(" + "'" + HBarCode + "'" + ",'" + HSetNo + "'" + ",'" + HPCSNo + "'" + "," + HPosition_x + "" + "," + HPosition_y + "" + ",'" + HCheckProc + "'" + "," + HPageIndex + "" + ",'" + HBadReason + "'" + ",'" + HMaker + "'" + ",getdate() " + ")"; oCN.RunProc(sql); msg_success += JsonConvert.SerializeObject(aVI_SaveCheckNote_RequestParams[i].param[j], Formatting.Indented); } } oCN.Commit(); result.code = "1"; result.msg = "上传成功!!" + msg_success; return result; } catch (Exception e) { oCN.RollBack(); result.code = "0"; result.msg = "上传失败!!" + e.Message; return result; } } #endregion #region 电测获取datamapping数据 接口 [Route("DC/DC_getDataMapping")] [HttpGet] public DC_getDataMapping_RequestResult DC_getDataMapping(string HBarCode) { DC_getDataMapping_RequestResult result = new DC_getDataMapping_RequestResult(); List dataList = new List(); try { //根据set条码编号,获取set所属的PNL条码编号 string HBarCode_PNL = ""; string sql_PNLBarCode = "" + //"select * from Gy_BarCodeBill_Set_His where HBarCode = '" + HBarCode + "' " + //"union " + "select * from Gy_BarCodeBill_Set_Temp where HBarCode = '" + HBarCode + "' "; ds = oCN.RunProcReturn(sql_PNLBarCode, "Gy_BarCodeBill_Set_Temp"); if(ds!=null && ds.Tables.Count>0 && ds.Tables[0].Rows.Count > 0) { HBarCode_PNL = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBarCode_PNL"]); } //根据set条码编号,获取set号。(set条码编号规则:y+ww+五位PNL流水号+两位set号) string HSetNo = HBarCode.Substring(HBarCode.Length-2,2); //根据PNL条码编号、set号,从PNL检验信息表中获取set对应的检验信息 string sql = "" + //"select * from QC_CheckNote_PNL_His where HBarCode = '" + HBarCode_PNL + "' and HSetNo = '" + HSetNo + "' " + //"union " + "select * from QC_CheckNote_PNL_Temp where HBarCode = '" + HBarCode_PNL + "' and HSetNo = '" + HSetNo + "' "; ds = oCN.RunProcReturn(sql, "QC_CheckNote_PNL_Temp"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { DC_getDataMapping_RequestResult_data data = new DC_getDataMapping_RequestResult_data(); data.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]); data.HPCSNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPCSNo"]); data.HPosition_x = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_x"]); data.HPosition_y = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_y"]); dataList.Add(data); } result.code = "1"; result.msg = ""; result.data = dataList; return result; } catch (Exception e) { result.code = "0"; result.msg = "" + e.Message; result.data = null; return result; } } #endregion #region 电测检验结果上传接口 [Route("DC/DC_saveCheckNote")] [HttpPost] public DC_saveCheckNote_RequestResult DC_saveCheckNote([FromBody] JObject sMainSub) { DC_saveCheckNote_RequestResult result = new DC_saveCheckNote_RequestResult(); string msg_success = ""; try { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); string msg2 = "[" + msg1 + "]"; List dC_SaveCheckNote_RequestParams = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg2); oCN.BeginTran(); for (int i = 0; i < dC_SaveCheckNote_RequestParams.Count; i++) { string HMaker = dC_SaveCheckNote_RequestParams[i].HMaker; for (int j = 0; j < dC_SaveCheckNote_RequestParams[i].param.Count; j++) { string HBarCode = dC_SaveCheckNote_RequestParams[i].param[j].HBarCode; string HBarCode_PNL = ""; string HSetNo = HBarCode.Substring(HBarCode.Length-2,2); string HPCSNo = dC_SaveCheckNote_RequestParams[i].param[j].HPCSNo; int HPosition_x = dC_SaveCheckNote_RequestParams[i].param[j].HPosition_x; int HPosition_y = dC_SaveCheckNote_RequestParams[i].param[j].HPosition_y; string HCheckProc = "电测"; int HPageIndex = dC_SaveCheckNote_RequestParams[i].param[j].HPageIndex; string HBadReason = dC_SaveCheckNote_RequestParams[i].param[j].HBadReason; //根据set条码编号,获取set所属的PNL条码编号 string sql_PNLBarCode = "" + //"select * from Gy_BarCodeBill_Set_His where HBarCode = '" + HBarCode + "' " + //"union " + "select * from Gy_BarCodeBill_Set_Temp where HBarCode = '" + HBarCode + "' "; ds = oCN.RunProcReturn(sql_PNLBarCode, "Gy_BarCodeBill_Set_Temp"); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { HBarCode_PNL = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBarCode_PNL"]); } string sql = "insert into QC_CheckNote_PNL_Temp(HBarCode,HSetNo,HPCSNo,HPosition_x,HPosition_y,HCheckProc,HPageIndex,HBadReason,HMaker,HMakeDate) " + "values(" + "'" + HBarCode_PNL + "'" + ",'" + HSetNo + "'" + ",'" + HPCSNo + "'" + "," + HPosition_x + "" + "," + HPosition_y + "" + ",'" + HCheckProc + "'" + "," + HPageIndex + "" + ",'" + HBadReason + "'" + ",'" + HMaker + "'" + ",getdate() " + ")"; oCN.RunProc(sql); msg_success += JsonConvert.SerializeObject(dC_SaveCheckNote_RequestParams[i].param[j], Formatting.Indented); } } oCN.Commit(); result.code = "1"; result.msg = "上传成功!!" + msg_success; return result; } catch (Exception e) { oCN.RollBack(); result.code = "0"; result.msg = "上传失败!!" + e.Message; return result; } } #endregion #region 激光割获取datamapping数据 接口 [Route("JGG/JGG_getDataMapping")] [HttpGet] public JGG_getDataMapping_RequestResult JGG_getDataMapping(string HBarCode) { JGG_getDataMapping_RequestResult result = new JGG_getDataMapping_RequestResult(); List dataList = new List(); try { //根据set条码编号,获取set所属的PNL条码编号 string HBarCode_PNL = ""; string sql_PNLBarCode = "" + //"select * from Gy_BarCodeBill_Set_His where HBarCode = '" + HBarCode + "' " + //"union " + "select * from Gy_BarCodeBill_Set_Temp where HBarCode = '" + HBarCode + "' "; ds = oCN.RunProcReturn(sql_PNLBarCode, "Gy_BarCodeBill_Set_Temp"); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { HBarCode_PNL = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBarCode_PNL"]); } //根据set条码编号,获取set号。(set条码编号规则:y+ww+五位PNL流水号+两位set号) string HSetNo = HBarCode.Substring(HBarCode.Length - 2, 2); //根据PNL条码编号、set号,从PNL检验信息表中获取set对应的检验信息 string sql = "" + //"select * from QC_CheckNote_PNL_His where HBarCode = '" + HBarCode_PNL + "' and HSetNo = '" + HSetNo + "' " + //"union " + "select * from QC_CheckNote_PNL_Temp where HBarCode = '" + HBarCode_PNL + "' and HSetNo = '" + HSetNo + "' "; ds = oCN.RunProcReturn(sql, "QC_CheckNote_PNL_Temp"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { JGG_getDataMapping_RequestResult_data data = new JGG_getDataMapping_RequestResult_data(); data.HBarCode = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HBarCode"]); data.HPCSNo = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[i]["HPCSNo"]); data.HPosition_x = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_x"]); data.HPosition_y = DBUtility.ClsPub.isInt(ds.Tables[0].Rows[i]["HPosition_y"]); dataList.Add(data); } result.code = "1"; result.msg = ""; result.data = dataList; return result; } catch (Exception e) { result.code = "0"; result.msg = "" + e.Message; result.data = null; return result; } } #endregion } }