/// <summary> /// 修改目标的工作台编码 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnChangeGZT_Click(object sender, EventArgs e) { //修改工作台的操作 if (string.IsNullOrEmpty(txtPalletNo.Text) || string.IsNullOrEmpty(txtGZT.Text)) { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"托盘号或者是工作台必须要填写!\");", true); return; } else { //首先要提示这个托盘现在所在的工作台是哪一个或者是库区位置 BArrangeBillBoxBB bb = new BArrangeBillBoxBB(); DataTable dt = bb.GetList("PalletNo = '" + txtPalletNo.Text.Trim().ToUpper() + "'").Tables[0]; if(dt.Rows.Count==0) { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"系统当中没有此托盘!\");", true); return; } if (txtGZT.Text.Trim().ToUpper() != "X04" && txtGZT.Text.ToUpper() != "X02" && txtGZT.Text.ToUpper() != "X09" && txtGZT.Text.ToUpper() != "X07") { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"只能在X04和X02和X07和X09工作台之间进行修改!\");", true); return; } if (dt.Rows[0]["wareLocatorNo"].ToString() != "X04" && dt.Rows[0]["wareLocatorNo"].ToString() != "X02" && txtGZT.Text.ToUpper() != "X09" && txtGZT.Text.ToUpper() != "X07") { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"托盘只能在X04和X02和X07和X09工作台之间修改!\");", true); return; } if (dt.Rows[0]["wareLocatorNo"].ToString() == txtGZT.Text.Trim().ToUpper()) { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"修改后的工作台与原来的工作台是同一个工坐台!\");", true); return; } SCommBB comm = new SCommBB(); try { comm.ExecuteSql("Update BarrangeBillBox set wareLocatorNo = '" + txtGZT.Text.Trim().ToUpper() + "' where PalletNo = '" + txtPalletNo.Text.Trim().ToUpper() + "'"); this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"更新工作台成功 托盘 " + txtPalletNo.Text.Trim().ToUpper() + " 更新后的工作台是"+txtGZT.Text.Trim().ToUpper()+"!\");", true); } catch (Exception ee) { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"更新工作台失败 " + ee.Message + "!\");", true); } finally { comm.Dispose(); bb.Dispose(); } } }
/// <summary> /// 绑定Grid /// </summary> protected void BindGrid() { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); DataSet ds = new DataSet(); try { string strWhere = this.StrWhere; if (!string.IsNullOrEmpty(Request.QueryString["arriveBillNo"])) { strWhere += " and arriveBillNo='" + Request.QueryString["arriveBillNo"].Replace("'", "''") + "'"; } if (!string.IsNullOrEmpty(Request.QueryString["financeBillNo"])) { strWhere += " and financeBillNo='" + Request.QueryString["financeBillNo"].Replace("'", "''") + "'"; } if (!string.IsNullOrEmpty(Request.QueryString["materialNo"])) { strWhere += " and materialNo='" + Request.QueryString["materialNo"].Replace("'", "''") + "'"; } ds = arrangeBillBoxBB.GetVList(strWhere); this.grid.DataSource = ds.Tables[0]; this.grid.DataBind(); //赋值记录条数、页面总数 this.Label3.Text = ds.Tables[0].Rows.Count.ToString(); this.Label2.Text = this.grid.PageCount.ToString(); this.currPage.Text = (this.grid.PageIndex + 1).ToString(); } finally { arrangeBillBoxBB.Dispose(); } }
public void SaveTSArriveBox(int arriveDetailId, string strArriveBillNo, string strFinanceBillNo, string strMaterialNo, string strBoxNo, string strPalletNo, int factNum, int isrtEmpId, string strWareLocatorNo) { TSBarriveDetailBB arriveDetailBB = new TSBarriveDetailBB(); BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); SCommBB commBB = new SCommBB(); try { TSBarriveDetailData arriveDetailModel = new TSBarriveDetailData(); BArrangeBillBoxData arrangeBillBoxModel = new BArrangeBillBoxData(); DataTable dtWareLocator = new DataTable(); //获取某库位信息 dtWareLocator = this.GetWareLocatorInfo(strWareLocatorNo); //获取到货单明细实例 arriveDetailModel = arriveDetailBB.GetModel(arriveDetailId); arrangeBillBoxModel.arriveBillNo = strArriveBillNo;//到货单号 arrangeBillBoxModel.financeBillNo = strFinanceBillNo;//采购单号 //arrangeBillBoxModel.financeBillId = arriveDetailModel.financeBillId;//采购订单ID //arrangeBillBoxModel.financeBillLineNum = arriveDetailModel.financeBillLineNum;//采购订单行号 arrangeBillBoxModel.materialNo = strMaterialNo;//物料号 arrangeBillBoxModel.boxNo = strBoxNo;//箱号 arrangeBillBoxModel.palletNo = strPalletNo;//托盘号 arrangeBillBoxModel.wareNo = dtWareLocator.Rows[0]["wareNo"].ToString();//库区 arrangeBillBoxModel.wareLocatorNo = strWareLocatorNo;//库位 arrangeBillBoxModel.isBoxArrange = false;//箱子是否已经排托 arrangeBillBoxModel.isPalletUsing = false;//托盘是否占用 arrangeBillBoxModel.acceptEmpId = isrtEmpId;//收货人 arrangeBillBoxModel.acceptDt = System.DateTime.Now.ToString();//收货时间 arrangeBillBoxModel.factNum = factNum;//收货数量 arrangeBillBoxBB.AddRecord(arrangeBillBoxModel); //锁定库位 commBB.ExecuteSql("update dbo.LWareLocator set isUsing=1 where wareLocatorNo='" + strWareLocatorNo + "'"); } finally { arriveDetailBB.Dispose(); arrangeBillBoxBB.Dispose(); commBB.Dispose(); } }
public bool JudgeCheckPallet(string strPalletNo, out string strErrorInfo) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { strErrorInfo = ""; DataTable dt = new DataTable(); dt = arrangeBillBoxBB.GetList(" isnull(arrangeBillBox.wareNo,'')<>'' and arrangeBillBox.palletNo='" + strPalletNo + "'").Tables[0]; //判断托盘上的所有物料是否已经检测完成 if (dt.Rows.Count == 0) { strErrorInfo = "系统中不存在此托盘!"; return false; } foreach (DataRow row in dt.Rows) { //判断当前托盘放置的物料是否全为非标准箱 if (row["isStandardBox"].ToString() == "1" || row["isStandardBox"].ToString().ToUpper() == "Y") { strErrorInfo = "当前托盘放置标准箱物料!"; return false; } //判断是否全部判定合格 if (Convert.ToBoolean(row["checkResult"]) == false) { strErrorInfo = "当前托盘存在未判定或判定不合格产品!"; return false; } //判断当前托盘是否未放到质检区 if (row["wareType"].ToString() != "01") { strErrorInfo = "当前托盘不在质检区!"; return false; } } return true; } finally { arrangeBillBoxBB.Dispose(); } }
public bool IsExistsBox(string strBoxNo) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); dt = arrangeBillBoxBB.GetList("boxNo='" + strBoxNo + "'").Tables[0]; return dt.Rows.Count > 0 ? true : false; } finally { arrangeBillBoxBB.Dispose(); } }
public DataTable GetUsingArrivePallet(string strArriveBillNo, string strFinanceBillNos, string strPalletIndexs) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); SCommBB commBB = new SCommBB(); try { DataTable dtArrangeBillDetail = new DataTable(); DataTable dtArrangeBillBoxBB = new DataTable(); DataTable dtPallet = new DataTable(); StringBuilder strSql = new StringBuilder(); DataRow myDataRow = null; DataColumn myDataColumn; dtPallet.TableName = "dtPallet"; //生成托盘条码号表托盘条码号列 myDataColumn = new DataColumn(); myDataColumn.DataType = System.Type.GetType("System.String"); myDataColumn.ColumnName = "palletNo"; dtPallet.Columns.Add(myDataColumn); //合计排托物料汇总 strSql.Append("select materialNo,sum(boxNum) as boxNum "); strSql.Append("from dbo.BArrangeBillDetail "); strSql.Append("where arriveBillNo='" + strArriveBillNo + "' and palletIndex in (" + strPalletIndexs + ") "); strSql.Append("group by materialNo"); dtArrangeBillDetail = commBB.Query(strSql.ToString()).Tables[0]; //获取到货单下所有未排托并且托盘未占用的的所有托盘 dtArrangeBillBoxBB = arrangeBillBoxBB.GetVList("arriveBillNo='" + strArriveBillNo + "' and '," + strFinanceBillNos + ",' like '%,'+financeBillNo+',%' and isBoxArrange=0 and isPalletUsing=0 and wareType='05'").Tables[0]; foreach (DataRow row in dtArrangeBillDetail.Rows) { string strMaterialNo = ""; int boxNum = 0; DataRow[] myDataRowArray = null; DataRow[] myDataRowArrayPallet = null; strMaterialNo = row["materialNo"].ToString(); boxNum = Convert.ToInt32(row["boxNum"]); for (int i = 0; i < boxNum; i++) { myDataRowArray = dtArrangeBillBoxBB.Select("materialNo='" + strMaterialNo + "' and isBoxArrange=0 and isPalletUsing=0"); if (myDataRowArray.Length == 0) { break; } else { myDataRowArray[0]["isBoxArrange"] = true; myDataRowArrayPallet = dtPallet.Select("palletNo='" + myDataRowArray[0]["palletNo"].ToString() + "'"); if (myDataRowArrayPallet.Length == 0) { //新增一个托盘 myDataRow = dtPallet.NewRow(); myDataRow["palletNo"] = myDataRowArray[0]["palletNo"].ToString(); dtPallet.Rows.Add(myDataRow); } } } } return dtPallet; } finally { arrangeBillBoxBB.Dispose(); commBB.Dispose(); } }
public string GetPalletWareInfo(string strPalletNo) { string strWareLocatorNo = ""; BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); LWareBB wareBB = new LWareBB(); LWareLocatorBB wareLocatorBB = new LWareLocatorBB(); LMaterialBB materialBB = new LMaterialBB(); SCommBB commBB = new SCommBB(); try { DataTable dtArrangeBillBox = new DataTable(); DataTable dtWare = new DataTable(); DataTable dtWareLocator = new DataTable(); //获取托盘下的所有箱子 dtArrangeBillBox = arrangeBillBoxBB.GetVList("palletNo='" + strPalletNo + "' and isnull(wareNo,'')<>''").Tables[0]; if (dtArrangeBillBox.Rows.Count > 0) { string strFinanceBillSort = "", strFinanceBillNo = ""; strFinanceBillSort = dtArrangeBillBox.Rows[0]["financeBillSort"].ToString();//采购合同类型 strFinanceBillNo = dtArrangeBillBox.Rows[0]["financeBillNo"].ToString();//采购合同号 if (strFinanceBillSort == "按单" || strFinanceBillNo.IndexOf("EB16") == -1) { #region 按单 //按单的物料,放置在正式库的平面库区 dtWareLocator = wareLocatorBB.GetVList("wareSortNo='A' and wareType='03' and isUsing=0 and isDel=0").Tables[0]; if (dtWareLocator.Rows.Count > 0) { strWareLocatorNo = dtWareLocator.Rows[0]["wareNo"].ToString() + "," + dtWareLocator.Rows[0]["wareLocatorNo"].ToString();//库位 } #endregion 按单 } else if (strFinanceBillSort == "备货" || strFinanceBillNo.IndexOf("EB16") != -1) { #region 备货 string strMaterialNos = "", strUCodeNos = "", strWareSortNos = "B"; int materialNum = 1; DataTable dtMaterial = new DataTable(); //判断当前托盘是否存在多个物料 strMaterialNos = dtArrangeBillBox.Rows[0]["materialNo"].ToString();//物料编号 strUCodeNos = dtArrangeBillBox.Rows[0]["U_CodeNo"].ToString();//物料U_CodeNo foreach (DataRow row in dtArrangeBillBox.Rows) { if (strMaterialNos.IndexOf(row["materialNo"].ToString()) == -1) { materialNum++; strMaterialNos += "," + row["materialNo"].ToString();//物料编号 } if (strUCodeNos.IndexOf(row["U_CodeNo"].ToString()) == -1) { strUCodeNos += "," + row["U_CodeNo"].ToString();//物料U_CodeNo } } if (materialNum == 1)//托盘上只有一种物料 { dtMaterial = materialBB.GetList("materialNo='" + strMaterialNos + "'").Tables[0];//获取物料信息 strWareSortNos = dtMaterial.Rows[0]["wareSortNo"].ToString();//获取物料的货位分类 } else { foreach (DataRow row in dtArrangeBillBox.Rows) { dtMaterial = materialBB.GetList("materialNo='" + row["materialNo"].ToString() + "'").Tables[0];//获取物料信息 if (dtMaterial.Rows[0]["wareSortNo"].ToString() != "B")//查找货位分类为非高位货架所有类别 { if (strWareSortNos == "B")//如果当前类型为高位货架 { strWareSortNos = dtMaterial.Rows[0]["wareSortNo"].ToString();//货架分类赋新值 } else { if (strWareSortNos.IndexOf(dtMaterial.Rows[0]["wareSortNo"].ToString()) == -1) { strWareSortNos += "," + dtMaterial.Rows[0]["wareSortNo"].ToString(); } } } } } if (strWareSortNos == "D" || strWareSortNos == "E")//流利货架摆放不分库位,推荐到库区即可 { //获取推荐库区信息 dtWare = wareBB.GetVList("wareSortNo='" + strWareSortNos + "' and wareType='03' and isDel=0").Tables[0]; if (dtWare.Rows.Count > 0) { strWareLocatorNo = dtWare.Rows[0]["wareNo"].ToString() + ",";//库区 } } else//其他货架,推荐到库位 { //获取推荐库位信息 dtWareLocator = commBB.Query("exec Proc_GetSuggestWareLocator '" + strWareSortNos.Trim(',') + "','" + strUCodeNos.Trim(',') + "','" + strMaterialNos.Trim(',') + "'").Tables[0]; if (dtWareLocator.Rows.Count > 0) { strWareLocatorNo = dtWareLocator.Rows[0]["wareNo"].ToString() + "," + dtWareLocator.Rows[0]["wareLocatorNo"].ToString();//库位 } } #endregion 备货 } } } finally { arrangeBillBoxBB.Dispose(); wareBB.Dispose(); wareLocatorBB.Dispose(); materialBB.Dispose(); commBB.Dispose(); } return strWareLocatorNo; }
public string GetPalletNoByBoxNo(string strBoxNo) { BArrangeBillBoxBB arrangeBillBox = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); dt = arrangeBillBox.GetVList("boxNo='" + strBoxNo + "'").Tables[0]; if (dt.Rows.Count > 0) { return dt.Rows[0]["palletNo"].ToString(); } return ""; } finally { arrangeBillBox.Dispose(); } }
public DataTable GetCheckBoxByWhere(string strWhere) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); dt = arrangeBillBoxBB.GetVListCheckResult(strWhere).Tables[0]; return dt; } finally { arrangeBillBoxBB.Dispose(); } }
public DataTable GetBoxCheck(string strBoxNo) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); dt = arrangeBillBoxBB.GetVListCheck("boxNo='" + strBoxNo + "'").Tables[0]; return dt; } finally { arrangeBillBoxBB.Dispose(); } }
public DataTable GetBoxByWhereWithSalaBillNO(string strWhere) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); dt = arrangeBillBoxBB.GetVistWithSaleBillNO(strWhere).Tables[0]; return dt; } finally { arrangeBillBoxBB.Dispose(); } }
public DataTable GetBoxByWareLocatorLeavingNum(string strWareLocatorNo) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); dt = arrangeBillBoxBB.GetVList("wareLocatorNo='" + strWareLocatorNo + "'").Tables[0]; return dt; } finally { arrangeBillBoxBB.Dispose(); } }
public DataTable GetBoxByPalletNoWithNoPass(string PalletNo) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); dt = arrangeBillBoxBB.GetNoPassBox("PalletNo='" + PalletNo + "'").Tables[0]; return dt; } finally { arrangeBillBoxBB.Dispose(); } }
public DataTable GetArriveBoxDetail(string strArriveBillNo, string strFinanceBillNo, string strMaterialNo) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { DataTable dt = new DataTable(); string strWhere = "1=1"; //到货单号 if (strArriveBillNo != "") { strWhere += " and arriveBillNo like '%" + strArriveBillNo + "%'"; } //采购单号 if (strFinanceBillNo != "") { strWhere += " and financeBillNo like '%" + strFinanceBillNo + "%'"; } //物料编号 if (strMaterialNo != "") { strWhere += " and materialNo like '%" + strMaterialNo + "%'"; } dt = arrangeBillBoxBB.GetList(strWhere).Tables[0]; return dt; } finally { arrangeBillBoxBB.Dispose(); } }
public bool CheckTallyBox(int tallyBillId, int region, string strBoxNo, out string strOldPalletNo, out string strMsg) { BTallyBillDetailBB tallyBillDetailBB = new BTallyBillDetailBB(); BArrangeBillBoxBB arrangeBillBox = new BArrangeBillBoxBB(); try { strMsg = ""; strOldPalletNo = ""; string strPreMaterialNo = "", strCurrMaterialNo = ""; bool isExistsBox = false, isBoxAllowTally = false; DataTable dt = new DataTable(); //判断箱号是否存在 isExistsBox = this.IsExistsBox(strBoxNo); if (isExistsBox == false) { strMsg = "当前箱号不存在!"; return false; } //判断当前箱子是否已经理货 isBoxAllowTally = this.IsBoxAllowTally(strBoxNo); if (!isBoxAllowTally) { strMsg = "当前箱子已经理货!"; return false; } //根据箱号,查找所在的托盘条码号 strOldPalletNo = this.GetPalletNoByBoxNo(strBoxNo); if (strOldPalletNo == "") { strMsg = "当前箱子不属于任何托盘!"; return false; } //判断同一区域箱数是否超过5个 dt = tallyBillDetailBB.GetVList("mainId='" + tallyBillId.ToString() + "' and region='" + region.ToString() + "'").Tables[0]; if (dt.Rows.Count >= 5) { strMsg = ""; return false; } //判断同一托内区域,物料是否相同 //根据箱号,查找物料是否符合排托规范 // return true; } finally { tallyBillDetailBB.Dispose(); arrangeBillBox.Dispose(); } }
public bool DeleteArriveBox(int id) { BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB(); try { return arrangeBillBoxBB.DeleteRecord(id); } finally { arrangeBillBoxBB.Dispose(); } }
/// <summary> /// 清空天托盘操作 首先判断托盘啥上是否有货 有货的话 是否有 wareNO,wareLocatorNO, /// 只是适应于一种情况 就是托盘上有货 但是没有库位的情况 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnClear_Click(object sender, EventArgs e) { if (txtClearPalletNO.Text.ToString() == "") { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"托盘号不能为空!\");", true); return; } bool canClear = true; BArrangeBillBoxBB bb = new BArrangeBillBoxBB(); DataTable dt = bb.GetVList("PalletNo='" + txtClearPalletNO.Text.ToString().Trim().ToUpper() + "'").Tables[0]; if (dt.Rows.Count == 0) { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"托盘上已经没有任何产品 不需要清空!\");", true); return; } else { for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["wareNo"].ToString() != "" || dt.Rows[i]["wareLocatorNo"].ToString() != "") { canClear = false; break; } } if (!canClear) { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"此托盘上的产品仍在仓库当中 请到库存报表当中查看详细!\");", true); return; } else { string command = "update BArrangeBillBox set palletNo = '' where palletNo = '" + txtClearPalletNO.Text.ToString().Trim().ToUpper() + "'"; SCommBB comm = new SCommBB(); try { comm.ExecuteSql(command); txtClearPalletNO.Text = ""; } catch (Exception ee) { this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"清理托盘失败 " + ee.Message + "!\");", true); } finally { comm.Dispose(); } } } }