/// <summary> /// /// </summary> /// <param name=></param> /// <returns></returns> public List <MODEL.doc_PackListShipScan> GetPackListShipScanBatch(string scanbatch, string scanbatch1) { string sql = @" Select BOXNO,CartonBarcode,OrderDate,CustomStyleCode,ScanTime,QA,ScanOut,WH,ScanBatch,Part FROM doc_PackListShipScan WHERE ScanBatch >= @ScanBatch and ScanBatch < @ScanBatch1 order by ScanBatch,Scantime "; SqlParameter[] ps = { new SqlParameter("@ScanBatch", scanbatch), new SqlParameter("@ScanBatch1", scanbatch1), }; DataTable dt = SqlHelper.ExcuteTable(sql, ps); List <MODEL.doc_PackListShipScan> lists = null; if (dt.Rows.Count > 0) { lists = new List <MODEL.doc_PackListShipScan>(); foreach (DataRow row in dt.Rows) { MODEL.doc_PackListShipScan c = new MODEL.doc_PackListShipScan(); LoadDataToList1(row, c); lists.Add(c); } } return(lists); }
/// </summary> /// <param>""></param> /// <returns></returns> public int AddPackListShipScan(MODEL.doc_PackListShipScan packlist) { string sql = @" insert into doc_PackListShipScan(Guid,CartonBarcode,BOXNO,OrderDate,CustomStyleCode,ScanCount,Part,QA,WH,ScanTime,ScanBatch,ScanOut) values(@Guid,@CartonBarcode,@BOXNO,@OrderDate,@CustomStyleCode,@ScanCount,@Part,@QA,@WH,@ScanTime,@ScanBatch,@ScanOut) "; SqlParameter[] ps = { new SqlParameter("@Guid", SqlDbType.UniqueIdentifier) { Value = SqlHelper.ToDbValue(packlist.Guid) }, new SqlParameter("@CartonBarcode", SqlDbType.NVarChar) { Value = SqlHelper.ToDbValue(packlist.CartonBarcode) }, new SqlParameter("@BOXNO", SqlDbType.Int) { Value = SqlHelper.ToDbValue(packlist.BOXNO) }, new SqlParameter("@OrderDate", SqlDbType.NVarChar) { Value = SqlHelper.ToDbValue(packlist.OrderDate) }, new SqlParameter("@CustomStyleCode", SqlDbType.NVarChar) { Value = SqlHelper.ToDbValue(packlist.CustomStyleCode) }, new SqlParameter("@ScanCount", SqlDbType.Int) { Value = SqlHelper.ToDbValue(packlist.ScanCount) }, new SqlParameter("@Part", SqlDbType.NVarChar) { Value = SqlHelper.ToDbValue(packlist.Part) }, new SqlParameter("@QA", SqlDbType.NVarChar) { Value = SqlHelper.ToDbValue(packlist.QA) }, new SqlParameter("@WH", SqlDbType.NVarChar) { Value = SqlHelper.ToDbValue(packlist.WH) }, new SqlParameter("@ScanTime", SqlDbType.DateTime) { Value = SqlHelper.ToDbValue(packlist.ScanTime) }, new SqlParameter("@ScanBatch", SqlDbType.NVarChar) { Value = SqlHelper.ToDbValue(packlist.ScanBatch) }, new SqlParameter("@ScanOut", SqlDbType.Int) { Value = SqlHelper.ToDbValue(packlist.ScanOut) } }; return(SqlHelper.ExecuteNonQuery(sql, ps)); }
/// <summary> /// 获取訂單已入庫外箱號訊息 /// </summary> /// <param name=></param> /// <returns></returns> public List <MODEL.doc_PackListShipScan> GetPacklistShipNoYesScanIn(string customstylecode, string mno) { // string mscanin = (int.Parse(mno) + 1).ToString(); string sql = @" select a.BOXNO BOXNO,a.CartonBarcode CartonBarcode,OrderDate,a.CustomStyleCode CustomStyleCode,ScanTime,QA,a.ScanOut ScanOut, a.Part Part, WH,ScanBatch,ScanIn from doc_PackListShipScan a left join ( select ScanIn,ScanOut,BOXNO,CustomStyleCode from doc_PackListShip) b on b.BOXNO=a.BOXNO and b.CustomStyleCode=a.CustomStyleCode where a.CustomStyleCode=@CustomStyleCode and a.ScanOut<=@ScanOut order by BOXNO,ScanOut,Part "; SqlParameter[] ps = { new SqlParameter("@CustomStyleCode", customstylecode), new SqlParameter("@ScanOut", mno) // new SqlParameter("@ScanIn",mno) }; DataTable dt = SqlHelper.ExcuteTable(sql, ps); List <MODEL.doc_PackListShipScan> lists = null; if (dt.Rows.Count > 0) { lists = new List <MODEL.doc_PackListShipScan>(); foreach (DataRow row in dt.Rows) { MODEL.doc_PackListShipScan c = new MODEL.doc_PackListShipScan(); LoadDataToList4(row, c); lists.Add(c); } } return(lists); }
/// <summary> /// 加载行数据到对象--集合 /// </summary> /// <param name="dr"></param> /// <param name="classes"></param> public void LoadDataToList1(DataRow dr, MODEL.doc_PackListShipScan docpacklist) { docpacklist.BOXNO = (int)SqlHelper.FromDbValue(dr["BOXNO"]); // docpacklist.CartonBarcode = (string)SqlHelper.FromDbValue(dr["CartonBarcode"]); // docpacklist.OrderDate = (string)SqlHelper.FromDbValue(dr["OrderDate"]); // docpacklist.CustomStyleCode = (string)SqlHelper.FromDbValue(dr["CustomStyleCode"]); // 訂單號 docpacklist.ScanTime = (DateTime)SqlHelper.FromDbValue(dr["ScanTime"]); // docpacklist.QA = (string)SqlHelper.FromDbValue(dr["QA"]); // docpacklist.Part = (string)SqlHelper.FromDbValue(dr["Part"]); // docpacklist.ScanOut = (int)SqlHelper.FromDbValue(dr["ScanOut"]); // docpacklist.WH = (string)SqlHelper.FromDbValue(dr["WH"]); // docpacklist.ScanBatch = (string)SqlHelper.FromDbValue(dr["ScanBatch"]); // }
/// <summary> /// /// </summary> /// <param name=></param> /// <returns></returns> public List <MODEL.doc_PackListShipScan> GetScanBatch(string scanbatch, string scanbatch1) { // select ScanBatch from doc_PackListShipScan // WHERE ScanBatch >= @ScanBatch and ScanBatch < @ScanBatch1 //group by ScanBatch string sql = @" select a.ScanBatch,b.ScanCount from doc_PackListShipScan a left join ( SELECT count(*) ScanCount,ScanBatch from doc_PackListShipScan group by ScanBatch) b on a.ScanBatch=b.ScanBatch WHERE a.ScanBatch >= @ScanBatch and a.ScanBatch < @ScanBatch1 group by a.ScanBatch,b.ScanCount order by a.ScanBatch "; SqlParameter[] ps = { new SqlParameter("@ScanBatch", scanbatch), new SqlParameter("@ScanBatch1", scanbatch1), }; DataTable dt = SqlHelper.ExcuteTable(sql, ps); List <MODEL.doc_PackListShipScan> lists = null; if (dt.Rows.Count > 0) { lists = new List <MODEL.doc_PackListShipScan>(); foreach (DataRow row in dt.Rows) { MODEL.doc_PackListShipScan c = new MODEL.doc_PackListShipScan(); LoadDataToList(row, c); lists.Add(c); } } return(lists); }
/// </summary> /// <param>""></param> /// <returns></returns> public int AddPackListShipScan(MODEL.doc_PackListShipScan packlist) { return(plsss.AddPackListShipScan(packlist)); }
/// <summary> /// 加载行数据到对象--集合 /// </summary> /// <param name="dr"></param> /// <param name="classes"></param> public void LoadDataToList(DataRow dr, MODEL.doc_PackListShipScan docpacklist) { docpacklist.ScanBatch = (string)SqlHelper.FromDbValue(dr["ScanBatch"]); // docpacklist.ScanCount = (int)SqlHelper.FromDbValue(dr["ScanCount"]); // }
private void scancheck(string mcanno) { if (mcanno.Length <= 2) { return; } string part = mcanno.Substring(0, 2); ///重新開始掃描,清空datagridview資料 if (lblCheck.Text == "OK") { if (part == "QA") { lblCheck.Text = "SCAN"; // cboInOut.Enabled = false; lblQA.Text = mcanno; this.dgvScan.DataSource = ""; this.dgvScan.DataSource = pscanm.GetPackListShipScan("ERIC"); lblCheck.BackColor = Color.Gray; lblNO.Text = "0"; msgDiv.MsgDivShow(" ", 60); txtPwd.Focus(); return; } } // 暂停扫描下,恢复扫描 只有QA人员才可以恢复,不限定那位QA if (lblCheck.Text == "STOP") { if (part == "QA") { //checkScanIn 以前寫在一起, 基本上現在沒有用到 checkScanIn = "inSCAN"; lblCheck.Text = "SCAN"; lblCheck.BackColor = Color.Gray; //msgDiv.Visible = false; msgDiv.MsgDivShow("开始扫描 ", 0); lblQA.Text = mcanno; lblRepeat.Text = ""; lblRepeat.BackColor = Color.Gray; txtPwd.Focus(); return; } else { msgDiv.MsgDivShow(" 请用QA条码开启扫描", 60); txtPwd.Focus(); return; } } if (lblCheck.Text == "SCAN") { //如果在此情况下刷QA,表示斩停扫描 if (part == "QA") { cboInOut.Enabled = false; lblCheck.Text = "STOP"; lblCheck.BackColor = Color.DarkOrange; lblQA.Text = mcanno; msgDiv.MsgDivShow("暂停扫描", 60); lblRepeat.Text = ""; lblRepeat.BackColor = Color.Gray; txtPwd.Focus(); return; } //更新doc_PackListShipScan 入库记录 else if (part == "WH") { cboInOut.Enabled = true; checkScanIn = "OK"; msgDiv.MsgDivShow(" 仓库确认扫描", 60); lblCheck.Text = "OK"; //更新WH lblCheck.BackColor = Color.Green; lblQA.Text = mcanno; lblRepeat.Text = ""; lblRepeat.BackColor = Color.Gray; MODEL.doc_PackListShipScan plss = new MODEL.doc_PackListShipScan(); string mtime = lblQA.Text.Substring(0, 3) + string.Format("{0:yyMMddHHmmss}", DateTime.Now); for (int i = 0; i < int.Parse(lblNO.Text); i++) { plss.Guid = Guid.NewGuid(); plss.BOXNO = int.Parse(this.dgvScan.Rows[i].Cells["BOXNO2"].Value.ToString()); plss.CartonBarcode = this.dgvScan.Rows[i].Cells["CartonBarcode2"].Value.ToString(); plss.OrderDate = this.dgvScan.Rows[i].Cells["OrderDate2"].Value.ToString(); plss.CustomStyleCode = this.dgvScan.Rows[i].Cells["CustomStyleCode2"].Value.ToString(); plss.ScanTime = Convert.ToDateTime(this.dgvScan.Rows[i].Cells["ScanTime2"].Value); plss.QA = this.dgvScan.Rows[i].Cells["QA2"].Value.ToString(); this.dgvScan.Rows[i].Cells["WH2"].Value = lblQA.Text; this.dgvScan.Rows[i].Cells["ScanBatch2"].Value = mtime; plss.ScanBatch = mtime; plss.ScanCount = 1; if (cboInOut.SelectedIndex == 0) { plss.Part = "WHIN"; } else { plss.Part = "WHOUT"; } ///加入ScanOut plslist = plsm.GetPacklistShipByCartonBarcode(plss.CartonBarcode); plss.ScanOut = plslist[0].ScanOut.Value; plss.WH = lblQA.Text; pscanm.AddPackListShipScan(plss); //仓库扫描入库确认 ,增加仓库库别 string wh = lblQA.Text.Trim(); wh = wh.Substring(0, 3); plsm.updatePackListShipwh(wh, plslist[0].CartonBarcode.ToString(), plslist[0].CustomStyleCode.ToString()); } } /// 掃描紀錄 ScanIn ,這樣才能檢查 有沒有重複刷 else { checkScanIn = "inSCAN"; int mno = int.Parse(lblNO.Text); lblCheck.BackColor = Color.Gray; plslist = plsm.GetPacklistShipByCartonBarcode(mcanno); if (plslist == null) { msgDiv.MsgDivShow(" 非外箱條碼", 60); txtPwd.Focus(); return; } //if (plslist[0].CustomBuyName == "DCS") //{ ///DCS有蛋裝不判斷 //} //else //{ #region 入库扫描 if (cboInOut.SelectedIndex == 0) { //第四次已掃瞄 if (plslist[0].ScanIn.Value >= 4 && plslist[0].QAOut.Value == 4) { msgDiv.MsgDivShow("第5次QA未扫描", 60); MessageBox.Show("此條碼第4次入庫已經掃描\r\n第5次QA未扫描", "前一工序未完成", MessageBoxButtons.OK, MessageBoxIcon.Error); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } //第三次掃瞄 if (plslist[0].ScanIn.Value >= 3 && plslist[0].QAOut.Value == 3) { msgDiv.MsgDivShow("第4次QA未扫描", 60); MessageBox.Show("此條碼第3次入庫已經掃描\r\n第4次QA未扫描", "前一工序未完成", MessageBoxButtons.OK, MessageBoxIcon.Error); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } //第二次掃瞄 if (plslist[0].ScanIn.Value >= 2 && plslist[0].QAOut.Value == 2) { msgDiv.MsgDivShow("第3次QA未扫描", 60); MessageBox.Show("此條碼第2次入庫已經掃描\r\n第3次QA未扫描", "前一工序未完成", MessageBoxButtons.OK, MessageBoxIcon.Error); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } //第一次掃瞄 if (plslist[0].ScanIn.Value >= 1 && plslist[0].QAOut.Value == 1) { msgDiv.MsgDivShow("第2次QA未扫描", 60); MessageBox.Show("此條碼第1次入庫已經掃描\r\n第2次QA未扫描", "前一工序未完成", MessageBoxButtons.OK, MessageBoxIcon.Error); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } //第一次掃瞄入庫,QA沒有掃描 if (plslist[0].QAOut.Value <= 0) { gbError.Visible = true; gbError.BackColor = Color.OrangeRed; btnCartonBarcode.Text = plslist[0].CartonBarcode; btnBOXNO.Text = plslist[0].BOXNO.ToString(); btnScanIn.Text = plslist[0].ScanIn.ToString(); btnScanOut.Text = plslist[0].ScanOut.ToString(); btnQaout.Text = plslist[0].QAOut.ToString(); btnCustomStyleCode.Text = plslist[0].CustomStyleCode; lbl1.Text = " QA扫描未完成"; lbl1.BackColor = Color.Gold; btnOK.Visible = false; txt1.Focus(); return; } //第二次掃瞄入庫,QA沒有掃描 if (plslist[0].ScanIn.Value == 1 && plslist[0].QAOut.Value <= 1) { gbError.Visible = true; gbError.BackColor = Color.OrangeRed; btnCartonBarcode.Text = plslist[0].CartonBarcode; btnBOXNO.Text = plslist[0].BOXNO.ToString(); btnScanIn.Text = plslist[0].ScanIn.ToString(); btnScanOut.Text = plslist[0].ScanOut.ToString(); btnQaout.Text = plslist[0].QAOut.ToString(); btnCustomStyleCode.Text = plslist[0].CustomStyleCode; lbl1.Text = " 第二次QA入库扫描未完成"; lbl1.BackColor = Color.Gold; btnOK.Visible = false; txt1.Focus(); return; } //第三次掃瞄入庫,QA沒有掃描 if (plslist[0].ScanIn.Value == 2 && plslist[0].QAOut.Value <= 2) { gbError.Visible = true; gbError.BackColor = Color.OrangeRed; btnCartonBarcode.Text = plslist[0].CartonBarcode; btnBOXNO.Text = plslist[0].BOXNO.ToString(); btnScanIn.Text = plslist[0].ScanIn.ToString(); btnScanOut.Text = plslist[0].ScanOut.ToString(); btnQaout.Text = plslist[0].QAOut.ToString(); btnCustomStyleCode.Text = plslist[0].CustomStyleCode; lbl1.Text = " 第三次QA入库扫描未完成"; lbl1.BackColor = Color.Gold; btnOK.Visible = false; txt1.Focus(); return; } //第四次掃瞄入庫,QA沒有掃描 if (plslist[0].ScanIn.Value == 3 && plslist[0].QAOut.Value <= 3) { gbError.Visible = true; gbError.BackColor = Color.OrangeRed; btnCartonBarcode.Text = plslist[0].CartonBarcode; btnBOXNO.Text = plslist[0].BOXNO.ToString(); btnScanIn.Text = plslist[0].ScanIn.ToString(); btnScanOut.Text = plslist[0].ScanOut.ToString(); btnQaout.Text = plslist[0].QAOut.ToString(); btnCustomStyleCode.Text = plslist[0].CustomStyleCode; lbl1.Text = " 前一工序沒有掃描完成,請把該箱找出重新掃描"; lbl1.BackColor = Color.Gold; btnOK.Visible = false; txt1.Focus(); return; } if (plslist[0].QAOut.Value > 3) { MessageBox.Show("服务器数库数据有问题,请报指令号,箱号 找IT修正"); return; } plsm.updatePackListShipScanIn(mcanno, plslist[0].CustomStyleCode.ToString()); } #endregion #region 出库扫描 else if (cboInOut.SelectedIndex == 1) { if (plslist[0].ScanIn.Value == 0) { msgDiv.MsgDivShow(" 第一次沒有入庫", 60); lblRepeat.Text = mcanno + "未入庫"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } if (plslist[0].ScanIn.Value == 1 && plslist[0].ScanOut.Value == 1) { msgDiv.MsgDivShow(" 第一次出庫已掃描", 60); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } if (plslist[0].ScanIn.Value == 2 && plslist[0].ScanOut.Value == 2) { msgDiv.MsgDivShow(" 第二次出庫已掃描", 60); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } if (plslist[0].ScanIn.Value == 3 && plslist[0].ScanOut.Value == 3) { msgDiv.MsgDivShow(" 第三次出庫已掃描", 60); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } if (plslist[0].ScanIn.Value == 4 && plslist[0].ScanOut.Value == 4) { msgDiv.MsgDivShow(" 第四次出庫已掃描", 60); lblRepeat.Text = mcanno + "已掃描"; lblRepeat.BackColor = Color.Red; txtPwd.Focus(); return; } plsm.updatePackListShipScanOut(mcanno, plslist[0].CustomStyleCode.ToString()); } #endregion //} cboInOut.Enabled = false; lblRepeat.Text = ""; lblRepeat.BackColor = Color.Gray; // 完成顯示 MODEL.doc_PackListShipScan plsc = new MODEL.doc_PackListShipScan(); this.dgvScan.Rows.Add(); this.dgvScan.Rows[mno].Cells["BOXNO2"].Value = plslist[0].BOXNO; this.dgvScan.Rows[mno].Cells["CartonBarcode2"].Value = plslist[0].CartonBarcode; this.dgvScan.Rows[mno].Cells["Orderdate2"].Value = plslist[0].OrderDate; this.dgvScan.Rows[mno].Cells["CustomStyleCode2"].Value = plslist[0].CustomStyleCode; this.dgvScan.Rows[mno].Cells["ScanTime2"].Value = DateTime.Now; this.dgvScan.Rows[mno].Cells["QA2"].Value = lblQA.Text; this.dgvScan.Rows[mno].Cells["ScanOut2"].Value = plslist[0].ScanOut + 1; mno = mno + 1; lblNO.Text = mno.ToString(); msgDiv.MsgDivShow("正確", 0); txtPwd.Focus(); } } } //Scan狀態結束括號