/// <summary> /// 扫描响应事件 /// </summary> /// <param name="DecodeText">扫描到的条码内容</param> private void scan_OnDecodeEvent(string DecodeText) { var cBarCode = DecodeText; if (!cBarCode.StartsWith("SF")) { MessageBox.Show("无效条码", "Error"); return; } //产品序列号 var cSerialNumber = cBarCode.Substring(0, 16); var cmd = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode"); cmd.Parameters.AddWithValue("@cBarCode", cSerialNumber); var con = new SqlConnection(frmLogin.WmsCon); var dtRaw = PDAFunction.GetSqlTable(con, cmd); if (dtRaw != null && dtRaw.Rows.Count > 0) { lblcSerialNumber.Text = dtRaw.Rows[0]["cSerialNumber"].ToString(); lbldDate.Text = dtRaw.Rows[0]["dDate"].ToString(); lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString(); lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString(); lblcLotNo.Text = dtRaw.Rows[0]["FBatchNo"].ToString(); lblcOrderNumber.Text = dtRaw.Rows[0]["cOrderNumber"].ToString(); lblcInvStd.Text = dtRaw.Rows[0]["cInvStd"].ToString(); } else { lblcSerialNumber.Text = ""; lbldDate.Text = ""; lblcInvCode.Text = ""; lblcInvName.Text = ""; lblcLotNo.Text = ""; lblcOrderNumber.Text = ""; lblcInvStd.Text = ""; } }
/// <summary> /// 是不可以满足下载出库通知单的条件 /// </summary> /// <returns></returns> private bool BoolCanOkDownLoad() { if (string.IsNullOrEmpty(txtBarCode.Text)) { return(true); } if (rds.RmPo.Rows.Count > 0) { MessageBox.Show(@"请先保存上一个采购订单!", @"Warning"); return(true); } var bCmd = new SQLiteCommand("select * from RmPo where cOrderNumber=@cOrderNumber"); bCmd.Parameters.AddWithValue("@cOrderNumber", txtBarCode.Text.ToUpper()); if (PDAFunction.ExistSqlite(frmLogin.SqliteCon, bCmd)) { MessageBox.Show(@"该采购订单已经下载过!", @"Warning"); txtBarCode.Text = ""; return(true); } return(false); }
private void dGridMain_DoubleClick(object sender, EventArgs e) { if (dGridMain.CurrentRowIndex <= -1) { return; } //if (!PDAFunction.IsCanCon()) //{ // MessageBox.Show("无法连接到服务器"); //} if (MessageBox.Show(@"确定删除当前行?", @"确定删除?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3) != DialogResult.Yes) { return; } var sqLiteCmd = new SQLiteCommand("Delete From ProStoreDetail where id=@id"); sqLiteCmd.Parameters.AddWithValue("@id", prods.ProStoreDetail.Rows[dGridMain.CurrentRowIndex]["id"]); //执行删除 PDAFunction.ExecSqLite(sqLiteCmd); RefreshGrid(); }
private void dGridMain_DoubleClick(object sender, EventArgs e) { if (dGridMain.CurrentRowIndex <= -1) { return; } //if (!PDAFunction.IsCanCon()) //{ // MessageBox.Show("无法连接到服务器"); //} if (MessageBox.Show(@"确定删除当前行?", @"确定删除?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3) != DialogResult.Yes) { return; } var sqLiteCmd = new SQLiteCommand("Delete From RmProduceDetail where id=@id"); sqLiteCmd.Parameters.AddWithValue("@id", rds.RmProduceDetail.Rows[dGridMain.CurrentRowIndex]["id"]); //执行删除 PDAFunction.ExecSqLite(sqLiteCmd); var MinusCmd = new SQLiteCommand("update RmProduce set iScanQuantity=iScanQuantity-@iQuantity where cCode=@cCode and cInvCode=@cInvCode"); MinusCmd.Parameters.AddWithValue("@cCode", lblOrderNumber.Text); MinusCmd.Parameters.AddWithValue("@cInvCode", rds.RmProduceDetail.Rows[dGridMain.CurrentRowIndex]["cInvCode"]); MinusCmd.Parameters.AddWithValue("@iQuantity", rds.RmProduceDetail.Rows[dGridMain.CurrentRowIndex]["iQuantity"]); PDAFunction.ExecSqLite(MinusCmd); rds.RmProduceDetail.Rows.RemoveAt(dGridMain.CurrentRowIndex); RefreshGrid(); if (rds.RmProduceDetail.Rows.Count > 0) { dGridMain.CurrentRowIndex = 0; } }
/// <summary> /// 将拣货的主表也上传到服务器上 /// </summary> /// <param name="cGuid"></param> private void UpLoadMain(string cGuid) { rds.RmStoreDetail.Rows.Clear(); var Sqlitecmd = new SQLiteCommand("select * from RmPo where cOrderNumber=@cOrderNumber"); Sqlitecmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); PDAFunction.GetSqLiteTable(Sqlitecmd, rds.RmPo); for (var i = 0; i <= rds.RmPo.Rows.Count - 1; i++) { ExecUpLoad(i, cGuid); } //using (var con = new SqlConnection(frmLogin.WmsCon)) //{ // using (var cmd = con.CreateCommand()) // { // cmd.CommandText = "insert into ProDelivery(cCode,cGuid) values(@cCode,@cGuid)"; // cmd.Parameters.AddWithValue("@cCode", lblOwhNumber.Text); // cmd.Parameters.AddWithValue("@cGuid", cGuid.ToString()); // con.Open(); // cmd.ExecuteNonQuery(); // } //} }
/// <summary> /// 执行导入SQL服务器操作 /// </summary> /// <param name="iRowId">把当前行行入库</param> /// <param name="cGuid">当前Guid</param> private bool UpLoadDetail(string cGuid) { using (var con = new SqlConnection(frmLogin.WmsCon)) { con.Open(); var tran = con.BeginTransaction(); using (var cmd = con.CreateCommand()) { cmd.CommandText = "Upload_RmProduceDetail"; cmd.CommandType = CommandType.StoredProcedure; cmd.Transaction = tran; for (var i = 0; i <= rds.RmProduceDetail.Rows.Count - 1; i++) { cmd.Parameters.Clear(); dGridMain.CurrentRowIndex = i; cmd.Parameters.AddWithValue("@cGuid", cGuid); cmd.Parameters.AddWithValue("@ID", rds.RmProduceDetail.Rows[i]["AutoID"]); cmd.Parameters.AddWithValue("@FItemID", rds.RmProduceDetail.Rows[i]["FItemID"]); cmd.Parameters.AddWithValue("@cBarCode", rds.RmProduceDetail.Rows[i]["cBarCode"]); cmd.Parameters.AddWithValue("@cCode", rds.RmProduceDetail.Rows[i]["cCode"]); cmd.Parameters.AddWithValue("@cLotNo", rds.RmProduceDetail.Rows[i]["cLotNo"]); cmd.Parameters.AddWithValue("@cInvCode", rds.RmProduceDetail.Rows[i]["cInvCode"]); cmd.Parameters.AddWithValue("@cInvName", rds.RmProduceDetail.Rows[i]["cInvName"]); cmd.Parameters.AddWithValue("@iQuantity", rds.RmProduceDetail.Rows[i]["iQuantity"]); cmd.Parameters.AddWithValue("@FSPNumber", rds.RmProduceDetail.Rows[i]["FSPNumber"]); cmd.Parameters.AddWithValue("@dScanTime", rds.RmProduceDetail.Rows[i]["dAddTime"]); cmd.Parameters.AddWithValue("@cBoxNumber", rds.RmProduceDetail.Rows[i]["cBoxNumber"]); cmd.Parameters.AddWithValue("@cOperator", rds.RmProduceDetail.Rows[i]["cUser"]); cmd.Parameters.AddWithValue("@cMemo", ""); try { var iTem = cmd.ExecuteNonQuery(); } catch (Exception ex) { _sumException += 1; tran.Rollback(); MessageBox.Show(@"无法连接到SQL服务器,请重试! " + ex.Message, @"Warning"); return(false); } } try { cmd.CommandText = "AddMidOrder"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@cGuid", cGuid); cmd.Parameters.AddWithValue("@cType", "领料出库"); cmd.Parameters.AddWithValue("@cTable", "Rm_ProduceDetail"); cmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); cmd.ExecuteNonQuery(); tran.Commit(); var dSqliteCmd = new SQLiteCommand("Delete from RmProduceDetail where cCode=@cCode"); //成功后,删除离线出库数据中的表 dSqliteCmd.Parameters.AddWithValue("@cCode", lblOrderNumber.Text); PDAFunction.ExecSqLite(dSqliteCmd); return(true); } catch (Exception ex) { MessageBox.Show(@"无法连接到SQL服务器,请重试! " + ex.Message, @"Warning"); return(false); } } } }
/// <summary> /// 扫描响应事件 /// </summary> /// <param name="DecodeText">扫描到的条码内容</param> private void scan_OnDecodeEvent(string DecodeText) { var cBarCode = DecodeText; if (string.IsNullOrEmpty(lblStockPlaceID.Text)) { var cmd = new SqlCommand("select * from t_StockPlace where FNumber=@FNumber"); cmd.Parameters.AddWithValue("@FNumber", cBarCode); if (PDAFunction.ExistSqlKis(cmd)) { lblStockPlaceID.Text = cBarCode; } else { MessageBox.Show("请先扫描库位", "Error"); } return; } if (!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*")) { MessageBox.Show("无效条码", "Error"); return; } //物料编码 var FItemID = cBarCode.Substring(2, cBarCode.IndexOf("*L*") - 2); //产品序列号 var cLotNo = cBarCode.Substring(cBarCode.IndexOf("*L*") + 3, cBarCode.IndexOf("*S*") - cBarCode.IndexOf("*L*") - 3); //产品批号 var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, cBarCode.Length - cBarCode.IndexOf("*S*") - 3); ////判断该产品序列号是否已经被扫描 //if (!JudgeBarCode(cSerialNumber)) // return; //判断波次订单中是否存在此出库要求产品 if (!JudgeInvCode(FItemID)) { return; } //判断要拣货的产品是否已经全部拣完 if (!OutAll(FItemID)) { return; } using (var pgq = new PdaGetQuantity(_cInvCode, cInvName, cLotNo)) { if (pgq.ShowDialog() != DialogResult.Yes) { return; } //通过校验后进 SaveOutWareHouse(cSerialNumber, _cInvCode, cInvName, pgq.IQuantity, cLotNo, FItemID); } lblStockPlaceID.Text = ""; }
/// <summary> /// 处理条码扫描事件 /// </summary> /// <param name="DecodeText"></param> private void scan_OnDecodeEvent(String DecodeText) { if (!DecodeText.Contains(";")) { MessageBox.Show(@"无效条码", @"Warning"); return; } var cOrder = DecodeText.Split(';'); txtBarCode.Text = cOrder[0]; var cOrderNumber = cOrder[0]; if (BoolCanOkDownLoad()) { return; } //下载采购订单 var cmd = new SqlCommand(@"select POInstock.FBillNo,t_Supplier.FName cVendor,POInstockEntry.FItemID,POInstockEntry.FEntryID,t_ICItem.FShortNumber cInvCode, t_ICItem.FNumber,FModel,t_ICItem.FName cInvName,FQty from POInstock inner join POInstockEntry on POInstock.FInterID=POInstockEntry.FInterID inner join t_ICItem on POInstockEntry.FItemID=t_ICItem.FItemID inner join t_Supplier on POInstock.FSupplyID=t_Supplier.FItemID where POInstock.FInterID=@FinterID "); cmd.Parameters.AddWithValue("@FinterID", cOrder[1]); var con = new SqlConnection(frmLogin.KisCon); DataTable dtTemp = new DataTable("dtTemp"); try { dtTemp = PDAFunction.GetSqlTable(con, cmd); } catch (Exception ex) { MessageBox.Show(ex.Message + cOrderNumber, @"Warning"); return; } if (!PDAFunction.IsCanCon()) { MessageBox.Show(@"无法连接到服务器", @"Warning"); return; } if (dtTemp == null) { MessageBox.Show(@"下载出错,请联系管理员", @"Warning"); return; } if (dtTemp.Rows.Count < 1) { MessageBox.Show(@"无此采购单号!", @"Warning"); return; } lblSum.Text = dtTemp.Rows.Count.ToString(CultureInfo.CurrentCulture) + "行"; //进行循环判断是否属于当前库区 for (var i = 0; i < dtTemp.Rows.Count; i++) { var dr = rds.RmPo.NewRmPoRow(); dr.cOrderNumber = cOrderNumber; dr.FItemID = dtTemp.Rows[i]["FItemID"].ToString(); dr.FEntryID = dtTemp.Rows[i]["FEntryID"].ToString(); dr.cInvCode = dtTemp.Rows[i]["cInvCode"].ToString(); dr.cInvName = dtTemp.Rows[i]["cInvName"].ToString(); dr.iQuantity = dtTemp.Rows[i]["FQty"].ToString(); dr.cVendor = dtTemp.Rows[i]["cVendor"].ToString(); dr.cMemo = ""; rds.RmPo.Rows.Add(dr); } }
/// <summary> /// 扫描响应事件 /// </summary> /// <param name="DecodeText">扫描到的条码内容</param> private void scan_OnDecodeEvent(string DecodeText) { var cBarCode = DecodeText; if (string.IsNullOrEmpty(lblStockPlaceID.Text)) { var cmd = new SqlCommand("select * from t_StockPlace where FNumber=@FNumber"); cmd.Parameters.AddWithValue("@FNumber", cBarCode); if (PDAFunction.ExistSqlKis(cmd)) { lblStockPlaceID.Text = cBarCode; } else { MessageBox.Show("请先扫描库位", "Error"); } return; } if ((!cBarCode.StartsWith("P*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*"))) { MessageBox.Show("无效条码", "Error"); return; } cBarCode = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 16); if (!JudgeBarCode(cBarCode)) { return; } //if (!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*")) //{ // MessageBox.Show("无效条码", "Error"); // return; //} ////物料编码 //var FitemID = cBarCode.Substring(2, cBarCode.IndexOf("*L*") - 2); ////产品序列号 //var cLotNo = cBarCode.Substring(cBarCode.IndexOf("*L*") + 3, cBarCode.IndexOf("*S*") - cBarCode.IndexOf("*L*") - 3); ////产品批号 //var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, cBarCode.Length - cBarCode.IndexOf("*S*") - 3); var cmdGetQuantity = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode"); cmdGetQuantity.Parameters.AddWithValue("@cBarCode", cBarCode); decimal iQuantity = 0; string cLotNo = ""; int FitemID = 1; var dtTemp = PDAFunction.GetSqlTable(cmdGetQuantity); if (dtTemp == null || dtTemp.Rows.Count < 1) { MessageBox.Show("无效条码,无打印记录", "Error"); return; } try { iQuantity = decimal.Parse(dtTemp.Rows[0]["iQuantity"].ToString()); cLotNo = dtTemp.Rows[0]["FBatchNo"].ToString(); FitemID = int.Parse(dtTemp.Rows[0]["cFitemID"].ToString()); _cInvCode = dtTemp.Rows[0]["cInvCode"].ToString(); cInvName = dtTemp.Rows[0]["cInvName"].ToString(); } catch (Exception ex) { MessageBox.Show("数据异常," + ex.Message, "Error"); return; } SaveOutWareHouse(cBarCode, _cInvCode, cInvName, iQuantity, cLotNo, FitemID); lblStockPlaceID.Text = ""; }
/// <summary> /// 保存出库扫描,并重新进入出库单号的扫描获取 /// </summary> private void SaveOutWareHouse(string cSerialNumber, string cInvCode, string cInvName, decimal iQuantity, string cLotNo, string FitemID) { var bInv = new SQLiteCommand("select iScanQuantity,iQuantity,FitemID,FEntryID from RmPo where cInvCode=@cInvCode and cOrderNumber=@cOrderNumber"); bInv.Parameters.AddWithValue("@cInvCode", cInvCode); bInv.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); var dt = PDAFunction.GetSqLiteTable(bInv); if (dt == null || dt.Rows.Count < 1) { MessageBox.Show(@"获取数据出错!"); return; } //var PlusCmd = new SQLiteCommand("update RmPo set iScanQuantity=ifnull(iScanQuantity,0)+@iQuantity where cOrderNumber=@cOrderNumber and cInvCode=@cInvCode "); //PlusCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); //PlusCmd.Parameters.AddWithValue("@iQuantity", iQuantity); //PlusCmd.Parameters.AddWithValue("@cInvCode", cInvCode); //PDAFunction.ExecSqLite(PlusCmd); decimal iFSQty = 0, iFQty = 0; for (var i = 0; i < dt.Rows.Count; i++) { try { iFSQty = decimal.Parse(dt.Rows[i]["iScanQuantity"].ToString()); iFQty = decimal.Parse(dt.Rows[i]["iQuantity"].ToString()); } catch (Exception) { MessageBox.Show("无法取得通知单内原料批号的数量"); return; } if ((iFSQty + iQuantity) <= iFQty) { var sqLiteCmd = new SQLiteCommand("insert into RmStoreDetail(cSerialNumber,cOrderNumber,cLotNo,cInvCode,cInvName,iQuantity,cUser,FEntryID,FitemID,FSPNumber) " + "values(@cSerialNumber,@cOrderNumber,@cLotNo,@cInvCode,@cInvName,@iQuantity,@cUser,@FEntryID,@FitemID,@FSPNumber)"); sqLiteCmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber); sqLiteCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); sqLiteCmd.Parameters.AddWithValue("@cLotNo", cLotNo); sqLiteCmd.Parameters.AddWithValue("@cInvCode", cInvCode); sqLiteCmd.Parameters.AddWithValue("@cInvName", cInvName); sqLiteCmd.Parameters.AddWithValue("@iQuantity", iQuantity); sqLiteCmd.Parameters.AddWithValue("@cUser", frmLogin.lUser); sqLiteCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString()); sqLiteCmd.Parameters.AddWithValue("@FitemID", FitemID); sqLiteCmd.Parameters.AddWithValue("@FSPNumber", lblStockPlaceID.Text); PDAFunction.ExecSqLite(sqLiteCmd); var PlusCmd = new SQLiteCommand("update RmPo set iScanQuantity=ifnull(iScanQuantity,0)+@iQuantity where cOrderNumber=@cOrderNumber and cInvCode=@cInvCode and FEntryID=@FEntryID"); PlusCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); PlusCmd.Parameters.AddWithValue("@iQuantity", iQuantity); PlusCmd.Parameters.AddWithValue("@cInvCode", cInvCode); PlusCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString()); PDAFunction.ExecSqLite(PlusCmd); txtBarCode.Text = ""; txtBarCode.Focus(); RefreshGrid(); return; } else { var sqLiteCmd = new SQLiteCommand("insert into RmStoreDetail(cSerialNumber,cOrderNumber,cLotNo,cInvCode,cInvName,iQuantity,cUser,FEntryID,FitemID,FSPNumber) " + "values(@cSerialNumber,@cOrderNumber,@cLotNo,@cInvCode,@cInvName,@iQuantity,@cUser,@FEntryID,@FitemID,@FSPNumber)"); sqLiteCmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber); sqLiteCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); sqLiteCmd.Parameters.AddWithValue("@cLotNo", cLotNo); sqLiteCmd.Parameters.AddWithValue("@cInvCode", cInvCode); sqLiteCmd.Parameters.AddWithValue("@cInvName", cInvName); sqLiteCmd.Parameters.AddWithValue("@iQuantity", iQuantity); sqLiteCmd.Parameters.AddWithValue("@cUser", frmLogin.lUser); sqLiteCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString()); sqLiteCmd.Parameters.AddWithValue("@FitemID", FitemID); sqLiteCmd.Parameters.AddWithValue("@FSPNumber", lblStockPlaceID.Text); PDAFunction.ExecSqLite(sqLiteCmd); var PlusCmd = new SQLiteCommand("update RmPo set iScanQuantity=ifnull(iScanQuantity,0)+@iQuantity where cOrderNumber=@cOrderNumber and cInvCode=@cInvCode and FEntryID=@FEntryID"); PlusCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text); PlusCmd.Parameters.AddWithValue("@iQuantity", iQuantity); PlusCmd.Parameters.AddWithValue("@cInvCode", cInvCode); PlusCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString()); PDAFunction.ExecSqLite(PlusCmd); iQuantity = iQuantity + iFSQty - iFQty; } } txtBarCode.Text = ""; txtBarCode.Focus(); RefreshGrid(); }
/// <summary> /// 扫描响应事件 /// </summary> /// <param name="DecodeText">扫描到的条码内容</param> private void scan_OnDecodeEvent(string DecodeText) { var cBarCode = DecodeText; if ((!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*"))) { if ((!cBarCode.StartsWith("P*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*"))) { MessageBox.Show("无效条码", "Error"); return; } //产品序列号 var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 16); var cmd = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode"); cmd.Parameters.AddWithValue("@cBarCode", cSerialNumber); var con = new SqlConnection(frmLogin.WmsCon); var dtRaw = PDAFunction.GetSqlTable(con, cmd); if (dtRaw != null && dtRaw.Rows.Count > 0) { lblCompanyLot.Text = "制令单号"; lblcDefine1.Text = dtRaw.Rows[0]["cSerialNumber"].ToString(); lbldDate.Text = dtRaw.Rows[0]["dDate"].ToString(); lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString(); lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString(); lblcLotNo.Text = dtRaw.Rows[0]["FBatchNo"].ToString(); lblCompany.Text = "客户订单"; lblcVendor.Text = dtRaw.Rows[0]["cOrderNumber"].ToString(); lblDate.Text = "存货编码"; lbldDate.Text = dtRaw.Rows[0]["cInvStd"].ToString(); FitemID = dtRaw.Rows[0]["cFitemID"].ToString(); } else { lblcDefine1.Text = ""; lblcDefine2.Text = ""; lblcInvCode.Text = ""; lblcInvName.Text = ""; lblcLotNo.Text = ""; lblcVendor.Text = ""; lbldDate.Text = ""; lblQuantity.Text = ""; FitemID = ""; } } else { //产品序列号 var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 12); var cmd = new SqlCommand("select * from RmLabel where cSerialNumber=@cSerialNumber"); cmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber); var con = new SqlConnection(frmLogin.WmsCon); var dtRaw = PDAFunction.GetSqlTable(con, cmd); if (dtRaw != null && dtRaw.Rows.Count > 0) { lblCompanyLot.Text = "供应商批号"; lblCompany.Text = "供应商"; lblDate.Text = "进货日期"; lblcDefine1.Text = dtRaw.Rows[0]["cDefine1"].ToString(); lblcDefine2.Text = dtRaw.Rows[0]["cDefine2"].ToString(); lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString(); lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString(); lblcLotNo.Text = dtRaw.Rows[0]["cLotNo"].ToString(); lblcVendor.Text = dtRaw.Rows[0]["cVendor"].ToString(); lbldDate.Text = dtRaw.Rows[0]["dDate"].ToString(); FitemID = dtRaw.Rows[0]["FitemID"].ToString(); } else { lblcDefine1.Text = ""; lblcDefine2.Text = ""; lblcInvCode.Text = ""; lblcInvName.Text = ""; lblcLotNo.Text = ""; lblcVendor.Text = ""; lbldDate.Text = ""; lblQuantity.Text = ""; FitemID = ""; } } if (string.IsNullOrEmpty(FitemID)) { return; } var cmdAll = new SqlCommand("select sum(FQty) from ICInventory where FitemID=@FitemID"); cmdAll.Parameters.AddWithValue("@FitemID", FitemID); var conAll = new SqlConnection(frmLogin.KisCon); lblQuantity.Text = PDAFunction.GetSqlSingle(conAll, cmdAll); }
/// <summary> /// 扫描响应事件 /// </summary> /// <param name="DecodeText">扫描到的条码内容</param> private void scan_OnDecodeEvent(string DecodeText) { var cBarCode = DecodeText; if ((!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*"))) { if ((!cBarCode.StartsWith("P*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*"))) { MessageBox.Show("无效条码", "Error"); return; } //产品序列号 var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 16); var cmd = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode"); cmd.Parameters.AddWithValue("@cBarCode", cSerialNumber); var con = new SqlConnection(frmLogin.WmsCon); var dtRaw = PDAFunction.GetSqlTable(con, cmd); if (dtRaw != null && dtRaw.Rows.Count > 0) { lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString(); lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString(); FitemID = dtRaw.Rows[0]["cFitemID"].ToString(); } else { lblcInvCode.Text = ""; lblcInvName.Text = ""; lblQuantity.Text = ""; FitemID = ""; } } else { //产品序列号 var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 12); var cmd = new SqlCommand("select * from RmLabel where cSerialNumber=@cSerialNumber"); cmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber); var con = new SqlConnection(frmLogin.WmsCon); var dtRaw = PDAFunction.GetSqlTable(con, cmd); if (dtRaw != null && dtRaw.Rows.Count > 0) { lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString(); lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString(); FitemID = dtRaw.Rows[0]["FitemID"].ToString(); } else { lblcInvCode.Text = ""; lblcInvName.Text = ""; lblQuantity.Text = ""; FitemID = ""; } } if (string.IsNullOrEmpty(FitemID)) { return; } var cmdAll = new SqlCommand("select sum(FQty) from ICInventory where FitemID=@FitemID"); cmdAll.Parameters.AddWithValue("@FitemID", FitemID); var conAll = new SqlConnection(frmLogin.KisCon); lblQuantity.Text = PDAFunction.GetSqlSingle(conAll, cmdAll); var cmdDetail = new SqlCommand(@"select a.FBatchNo,FQty,c.FName FStockName,d.FNumber FStockPlaceNumber,d.FName FStockPlaceName from ICInventory a inner join t_ICItem b on a.FItemID=b.FItemID inner join t_Stock c on a.FStockID=c.FItemID inner join t_StockPlace d on a.FStockPlaceID=d.FSPID where a.FQty>0 and a.FItemID =@FItemID order by a.FItemID,a.FBatchNo,a.FStockID,a.FStockPlaceID"); cmdDetail.Parameters.AddWithValue("@FitemID", FitemID); var conDetail = new SqlConnection(frmLogin.KisCon); var dtTemp = PDAFunction.GetSqlTable(conDetail, cmdDetail); if (dtTemp == null) { return; } prods.StockDetail.Rows.Clear(); for (var i = 0; i < dtTemp.Rows.Count; i++) { var dr = prods.StockDetail.NewStockDetailRow(); dr.FBatchNo = dtTemp.Rows[i]["FBatchNo"].ToString(); dr.FQty = dtTemp.Rows[i]["FQty"].ToString(); dr.FStockName = dtTemp.Rows[i]["FStockName"].ToString(); dr.FStockPlaceNumber = dtTemp.Rows[i]["FStockPlaceNumber"].ToString(); dr.FStockPlaceName = dtTemp.Rows[i]["FStockPlaceName"].ToString(); prods.StockDetail.Rows.Add(dr); } }
/// <summary> /// 处理条码扫描事件 /// </summary> /// <param name="DecodeText"></param> private void scan_OnDecodeEvent(String DecodeText) { txtBarCode.Text = DecodeText; if (BoolCanOkDownLoad()) { return; } var cmd = new SqlCommand(@"select * from View_ShiftBomDetail where cSerialNumber=@cSerialNumber"); cmd.Parameters.AddWithValue("@cSerialNumber", txtBarCode.Text); var con = new SqlConnection(frmLogin.WmsCon); DataTable dtTemp = new DataTable("dtTemp"); try { dtTemp = PDAFunction.GetSqlTable(con, cmd); } catch (Exception ex) { MessageBox.Show(ex.Message + DecodeText, @"Warning"); return; } if (!PDAFunction.IsCanCon()) { MessageBox.Show(@"无法连接到服务器", @"Warning"); return; } if (dtTemp == null) { MessageBox.Show(@"下载出错,请联系管理员", @"Warning"); return; } if (dtTemp.Rows.Count < 1) { MessageBox.Show(@"无此班次制令单!", @"Warning"); return; } lblSum.Text = dtTemp.Rows.Count.ToString(CultureInfo.CurrentCulture) + "行"; //进行循环判断是否属于当前库区 for (var i = 0; i < dtTemp.Rows.Count; i++) { var dr = rds.RmProduce.NewRmProduceRow(); dr.cCode = DecodeText; dr.cInvCode = dtTemp.Rows[i]["cInvCode"].ToString(); dr.cInvName = dtTemp.Rows[i]["cInvName"].ToString(); dr.iQuantity = dtTemp.Rows[i]["iQuantity"].ToString(); dr.cMemo = dtTemp.Rows[i]["cMemo"].ToString(); dr.FItemID = dtTemp.Rows[i]["cFItemID"].ToString(); dr.AutoID = dtTemp.Rows[i]["AutoID"].ToString(); rds.RmProduce.Rows.Add(dr); } }
private void LoginOk() { if (string.IsNullOrEmpty(txtName.Text)) { MessageBox.Show("用户名必填"); return; } WmsCon = PDAFunction.GetWmsConstring(); KisCon = PDAFunction.GetKisConstring(); lUser = txtName.Text; if (!PDAFunction.IsCanCon()) { MessageBox.Show(@"无法连接到SQL服务器,无法验证", @"Warning"); return; } var strTemp = PDAFunction.GetServerTime(); if (strTemp != null) { var dt = DateTime.Parse(strTemp); var sysdt = new SystemTime { wYear = (short)dt.Year, wMonth = (short)dt.Month, wDay = (short)dt.Day, wHour = (short)dt.Hour, wMinute = (short)dt.Minute, wSecond = (short)dt.Second }; Win32API.SetLocalTime(ref sysdt); } var con = new SqlConnection(WmsCon); var cmd = new SqlCommand { Connection = con, CommandText = "select uName,uRole from BUser where (uName=@uName or uCode=@uName) and uPassword=@uPassword" }; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@uName", txtName.Text); cmd.Parameters.AddWithValue("@uPassword", PDAFunction.GetMd5Hash(txtPwd.Text)); con.Open(); var dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); if (dr.Read()) //直接登陆 { lUser = dr["uName"].ToString(); //把登陆名和登陆服务器保存到静态变量中 dr.Close(); Hide(); using (var fMain = new frmMain()) { fMain.ShowDialog(); } Show(); } else { MessageBox.Show(@"用户名或密码错误,请联系管理员!", @"Warning"); } }
/// <summary> /// 处理条码扫描事件 /// </summary> /// <param name="DecodeText"></param> private void scan_OnDecodeEvent(String DecodeText) { txtBarCode.Text = DecodeText; var cOrderNumber = DecodeText; if (BoolCanOkDownLoad()) { return; } //下载采购订单 var cmd = new SqlCommand(@"select * from ProDelivery where cCode=@cCode"); cmd.Parameters.AddWithValue("@cCode", cOrderNumber); var con = new SqlConnection(frmLogin.WmsCon); DataTable dtTemp = new DataTable("dtTemp"); try { dtTemp = PDAFunction.GetSqlTable(con, cmd); } catch (Exception ex) { MessageBox.Show(ex.Message + cOrderNumber, @"Warning"); return; } if (!PDAFunction.IsCanCon()) { MessageBox.Show(@"无法连接到服务器", @"Warning"); return; } if (dtTemp == null) { MessageBox.Show(@"下载出错,请联系管理员", @"Warning"); return; } if (dtTemp.Rows.Count < 1) { MessageBox.Show(@"无此采购单号!", @"Warning"); return; } lblSum.Text = dtTemp.Rows.Count.ToString(CultureInfo.CurrentCulture) + "行"; for (var i = 0; i < dtTemp.Rows.Count; i++) { var dr = prods.ProDelivery.NewProDeliveryRow(); dr.cCode = cOrderNumber; dr.AutoID = dtTemp.Rows[i]["AutoID"].ToString(); dr.cCusCode = dtTemp.Rows[i]["cCusCode"].ToString(); dr.cCusName = dtTemp.Rows[i]["cCusName"].ToString(); dr.cMaker = dtTemp.Rows[i]["cMaker"].ToString(); dr.dMaketime = dtTemp.Rows[i]["dMaketime"].ToString(); dr.cDepCode = dtTemp.Rows[i]["cDepCode"].ToString(); dr.cDepName = dtTemp.Rows[i]["cDepName"].ToString(); dr.cMemo = dtTemp.Rows[i]["cMemo"].ToString(); dr.cVerifyState = dtTemp.Rows[i]["cVerifyState"].ToString(); dr.cHandler = dtTemp.Rows[i]["cHandler"].ToString(); dr.dVeriDate = dtTemp.Rows[i]["dVeriDate"].ToString(); prods.ProDelivery.Rows.Add(dr); } }