/// <summary> /// [ISingleGridPage]删除表格数据 /// </summary> public void DeleteSelectedRows() { int selectedCount = Grid1.SelectedRowIndexArray.Length; if (selectedCount == 0) { Alert.ShowInTop("请至少选择一项纪录!", MessageBoxIcon.Warning); return; } object[] keys = Grid1.DataKeys[Grid1.SelectedRowIndex]; Entity.WasteToProduct entity = DAL.WasteToProduct.GetWasteToProduct(int.Parse(HttpUtility.UrlEncode(keys[0].ToString()))); if (entity.Status == 2) { Alert.ShowInTop("审核通过的不能删除!", MessageBoxIcon.Information); return; } else { int BSuccess = DAL.WasteToProduct.DeleteWasteToProduct(int.Parse(HttpUtility.UrlEncode(keys[0].ToString()))); if (BSuccess == 1) { Alert.ShowInTop(" 操作成功!", MessageBoxIcon.Information); BindGrid(); } else { Alert.ShowInTop(" 操作失败!", MessageBoxIcon.Warning); } } }
/// <summary> /// /// </summary> /// <param name="DealID"> </param> /// <param name="Status"> </param> /// <returns></returns> public static int PassWasteToProduct(Entity.WasteToProduct entity, decimal Used, List <Entity.ProductDetail> lists) { int iReturn = 0; DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); SqlTransactionHelper thelper = new SqlTransactionHelper(DAL.Config.con); IDbTransaction trans = thelper.StartTransaction(); try { //lists中的成品Amount存罐池使用量 iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Update [WasteToProduct] set Status='"+ entity.Status + "' where DealID='" + entity.DealID + "'", null); iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Insert into [PondUsed]([PondID],[Used],[SourceType],[TypeName],[CreateUser],[CreateDate]) values ('" + entity.FromPondID + "','" + Used + "','2','废酸出库','" + entity.CreateUser + "','" + entity.CreateDate + "')", null); foreach (Entity.ProductDetail list in lists) { iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Update [ProductDetail] set Status=2 where DetailID='"+ list.DetailID + "'", null); iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Insert into [PondUsed]([PondID],[Used],[SourceType],[TypeName],[CreateUser],[CreateDate]) values ('" + list.PondID + "','" + list.Amount + "','3','成品入库','" + entity.CreateUser + "','" + entity.CreateDate + "')", null); iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Update [Pond] set Used='"+ list.Amount + "'where PondID='" + list.PondID + "'", null); } thelper.CommitTransaction(trans); iReturn = 1; } catch (Exception ex) { thelper.RollTransaction(trans); iReturn = 0; } finally { db.Conn.Close(); } return(iReturn); }
//protected void Grid2_PreDataBound(object sender, EventArgs e) //{ // // 设置LinkButtonField的点击客户端事件 // LinkButtonField deleteField = Grid2.FindColumn("Delete2") as LinkButtonField; // deleteField.OnClientClick = GetDeleteScriptEx(); //} //// 删除选中行的脚本 //private string GetDeleteScriptEx() //{ // return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, Grid2.GetDeleteSelectedReference(), String.Empty); //} #region 加载数据 private void LoadData(string thisGuid) { if (thisGuid != string.Empty) { //BindGrid(); Entity.WasteToProduct entity = DAL.WasteToProduct.GetWasteToProduct(int.Parse(thisGuid)); if (!string.IsNullOrEmpty(entity.DateTime.ToString())) { FDate.SelectedDate = entity.DateTime; } drop_Pond.SelectedValue = entity.FromPondID.ToString(); txt_WasteName.Text = DAL.Pond.GetPond(entity.FromPondID).WasteName; NB_Amount.Text = entity.FromAmount.ToString(); hf_HandelManID.Text = entity.HanderManID.ToString(); hf_ReceiverID.Text = entity.ReceiverID.ToString(); txt_HandleMan.Text = DAL.User.GetUserByID(entity.HanderManID).RealName; if (entity.ReceiverID != 0) { txt_Receiver.Text = DAL.User.GetUserByID(entity.ReceiverID).RealName; } if (entity.Status == 2) { FDate.Readonly = true; drop_Pond.Readonly = true; txt_WasteName.Readonly = true; NB_Amount.Readonly = true; txt_HandleMan.Readonly = true; txt_Receiver.Readonly = true; Grid1.Enabled = false; //Grid2.Enabled = false; btn_save.Enabled = false; } } }
/// <summary> /// /// </summary> /// <param name="DateTime"> </param> /// <returns></returns> public static List <Entity.WasteToProduct> GetSumWasteToProduct() { List <Entity.WasteToProduct> list = new List <Entity.WasteToProduct>(); DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); try { string Start = string.Format("{0}-01-01", DateTime.Now.Year); string End = string.Format("{0}-12-31", DateTime.Now.Year); IDataReader dataReader = db.ExecuteReader(Config.con, CommandType.Text, "select sum(FromAmount) as Total,WasteName from vWasteToProduct where Status=2 and DateTime>='" + Start + "' and DateTime<='" + End + "' group by WasteName", null); while (dataReader.Read()) { Entity.WasteToProduct entity = new Entity.WasteToProduct(); entity.FromWasteCode = dataReader["WasteName"].ToString(); entity.FromAmount = decimal.Parse(dataReader["Total"].ToString()); list.Add(entity); } } catch (Exception ex) { } finally { db.Conn.Close(); } return(list); }
/// <summary> /// /// </summary> /// <param name="DealID"> </param> /// <returns></returns> public static Entity.WasteToProduct GetWasteToProduct(int DealID) { Entity.WasteToProduct entity = null; DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); try { IDataReader dataReader = db.ExecuteReader(Config.con, CommandType.Text, "Select * from [WasteToProduct] where DealID='" + DealID + "'", null); while (dataReader.Read()) { entity = new Entity.WasteToProduct(); entity.DealID = DataHelper.ParseToInt(dataReader["DealID"].ToString()); entity.FromPondID = DataHelper.ParseToInt(dataReader["FromPondID"].ToString()); entity.FromWasteCode = dataReader["FromWasteCode"].ToString(); entity.DateTime = DataHelper.ParseToDate(dataReader["DateTime"].ToString()); entity.FromAmount = decimal.Parse(dataReader["FromAmount"].ToString()); entity.HanderManID = DataHelper.ParseToInt(dataReader["HanderManID"].ToString()); entity.ReceiverID = DataHelper.ParseToInt(dataReader["ReceiverID"].ToString()); //entity.CreateDate = DataHelper.ParseToDate(dataReader["CreateDate"].ToString()); //entity.CreateUser = dataReader["CreateUser"].ToString(); //entity.UpdateDate = DataHelper.ParseToDate(dataReader["UpdateDate"].ToString()); //entity.UpdateUser = dataReader["UpdateUser"].ToString(); entity.Status = DataHelper.ParseToInt(dataReader["Status"].ToString()); } } catch (Exception ex) { } finally { db.Conn.Close(); } return(entity); }
public static int AddWasteToProductEntity(Entity.WasteToProduct entity, List <Entity.ProductDetail> products) { int iReturn = 0; DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); SqlTransactionHelper thelper = new SqlTransactionHelper(DAL.Config.con); IDbTransaction trans = thelper.StartTransaction(); try { IDbDataParameter[] prams = { dbFactory.MakeInParam("@FromPondID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromPondID.GetType().ToString()), entity.FromPondID, 32), dbFactory.MakeInParam("@FromWasteCode", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromWasteCode.GetType().ToString()), entity.FromWasteCode, 20), dbFactory.MakeInParam("@DateTime", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.DateTime.GetType().ToString()), entity.DateTime, 0), dbFactory.MakeInParam("@FromAmount", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromAmount.GetType().ToString()), entity.FromAmount, 10), dbFactory.MakeInParam("@HanderManID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.HanderManID.GetType().ToString()), entity.HanderManID, 32), dbFactory.MakeInParam("@ReceiverID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.ReceiverID.GetType().ToString()), entity.ReceiverID, 32), dbFactory.MakeInParam("@CreateDate", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.CreateDate.GetType().ToString()), entity.CreateDate, 0), dbFactory.MakeInParam("@CreateUser", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.CreateUser.GetType().ToString()), entity.CreateUser, 50), dbFactory.MakeInParam("@UpdateDate", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.UpdateDate.GetType().ToString()), entity.UpdateDate, 0), dbFactory.MakeInParam("@UpdateUser", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.UpdateUser.GetType().ToString()), entity.UpdateUser, 50), dbFactory.MakeInParam("@Status", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.Status.GetType().ToString()), entity.Status, 32), dbFactory.MakeOutReturnParam() }; iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_WasteToProduct_Add", prams); iReturn = int.Parse(prams[11].Value.ToString()); int DealID = int.Parse(prams[11].Value.ToString()); foreach (Entity.ProductDetail product in products) { IDbDataParameter[] pramse = { dbFactory.MakeInParam("@WTPID", DBTypeConverter.ConvertCsTypeToOriginDBType(DealID.GetType().ToString()), DealID, 32), dbFactory.MakeInParam("@ItemCode", DBTypeConverter.ConvertCsTypeToOriginDBType(product.ItemCode.GetType().ToString()), product.ItemCode, 20), dbFactory.MakeInParam("@PondID", DBTypeConverter.ConvertCsTypeToOriginDBType(product.PondID.GetType().ToString()), product.PondID, 32), dbFactory.MakeInParam("@Status", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.Status.GetType().ToString()), entity.Status, 32), dbFactory.MakeInParam("@Amount", DBTypeConverter.ConvertCsTypeToOriginDBType(product.Amount.GetType().ToString()), product.Amount, 10) }; iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_ProductDetail_Add", pramse); } //foreach (Entity.FinalWaste waste in wastes) //{ // iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Insert into [FinalWaste]([DealID],[ItemCode],[Result],[Status]) values ('" + DealID + "','" + waste.ItemCode + "','" + waste.Result + "','" + entity.Status + "')", null); //} thelper.CommitTransaction(trans); iReturn = 1; } catch (Exception ex) { thelper.RollTransaction(trans); iReturn = 0; } finally { db.Conn.Close(); } return(iReturn); }
public static int AddWasteToProduct(Entity.WasteToProduct entity) { int iReturn = 0; DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); SqlTransactionHelper thelper = new SqlTransactionHelper(DAL.Config.con); IDbTransaction trans = thelper.StartTransaction(); try { IDbDataParameter[] prams = { dbFactory.MakeInParam("@FromPondID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromPondID.GetType().ToString()), entity.FromPondID, 32), dbFactory.MakeInParam("@FromWasteCode", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromWasteCode.GetType().ToString()), entity.FromWasteCode, 20), dbFactory.MakeInParam("@DateTime", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.DateTime.GetType().ToString()), entity.DateTime, 0), dbFactory.MakeInParam("@FromAmount", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromAmount.GetType().ToString()), entity.FromAmount, 10), dbFactory.MakeInParam("@HanderManID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.HanderManID.GetType().ToString()), entity.HanderManID, 32), dbFactory.MakeInParam("@ReceiverID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.ReceiverID.GetType().ToString()), entity.ReceiverID, 32), dbFactory.MakeInParam("@CreateDate", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.CreateDate.GetType().ToString()), entity.CreateDate, 0), dbFactory.MakeInParam("@CreateUser", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.CreateUser.GetType().ToString()), entity.CreateUser, 50), dbFactory.MakeInParam("@UpdateDate", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.UpdateDate.GetType().ToString()), entity.UpdateDate, 0), dbFactory.MakeInParam("@UpdateUser", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.UpdateUser.GetType().ToString()), entity.UpdateUser, 50), dbFactory.MakeInParam("@Status", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.Status.GetType().ToString()), entity.Status, 32), dbFactory.MakeOutReturnParam() }; iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_WasteToProduct_Add", prams); iReturn = int.Parse(prams[11].Value.ToString()); thelper.CommitTransaction(trans); iReturn = 1; } catch (Exception ex) { thelper.RollTransaction(trans); iReturn = 0; } finally { db.Conn.Close(); } return(iReturn); }
protected void btn_Pass_Click(object sender, EventArgs e) { int selectedCount = Grid1.SelectedRowIndexArray.Length; if (selectedCount == 0) { Alert.ShowInTop("请至少选择一项纪录!", MessageBoxIcon.Warning); return; } object[] keys = Grid1.DataKeys[Grid1.SelectedRowIndex]; int DealID = int.Parse(HttpUtility.UrlEncode(keys[0].ToString())); Entity.WasteToProduct entity = DAL.WasteToProduct.GetWasteToProduct(DealID); if (entity.Status == 2) { Alert.ShowInTop("该记录已经审核通过了!", MessageBoxIcon.Warning); return; } entity.CreateDate = DateTime.Now; entity.CreateUser = Request.Cookies["Cookies"].Values["UserName"].ToString(); entity.UpdateDate = DateTime.Now; entity.UpdateUser = Request.Cookies["Cookies"].Values["UserName"].ToString(); entity.Status = 2; //先判断是否可行 int PondID = entity.FromPondID; Entity.Pond pond2 = DAL.Pond.GetPond(PondID); //decimal Used = DAL.PondUsed.GetPondUsedAmount(PondID); decimal Used = pond2.Used; decimal Now = Used - entity.FromAmount; if (Now < 0) { string message = "出库罐池" + pond2.Name + "库存不足!"; Alert.ShowInTop(message, MessageBoxIcon.Warning); return; } List <Entity.ProductDetail> lists = DAL.ProductDetail.GetProductDetailEx(DealID); bool IsOK = true; foreach (Entity.ProductDetail list in lists) { int PondID2 = list.PondID; Entity.Pond pond = DAL.Pond.GetPond(PondID2); decimal Capacity = pond.Capacity; //decimal Used2 = DAL.PondUsed.GetPondUsedAmount(PondID2); decimal Used2 = pond.Used; decimal Now2 = Used2 + list.Amount; if (Capacity < Now2) { string message = "入库罐池" + pond.Name + "余量不足!"; IsOK = false; Alert.ShowInTop(message, MessageBoxIcon.Warning); return; } list.Amount = Now2; } if (IsOK == false) { return; } int BSuccess = DAL.WasteToProduct.PassWasteToProduct(entity, Now, lists); if (BSuccess == 1) { Alert.ShowInTop(" 操作成功!", MessageBoxIcon.Information); BindGrid(); } else { Alert.ShowInTop(" 操作失败!", MessageBoxIcon.Warning); } }
protected void btn_save_Click(object sender, EventArgs e) { string msg = checkInput(); if (msg != "") { Alert.Show(msg); return; } else { int iReturn = 0; try { Entity.WasteToProduct entity = new Entity.WasteToProduct(); entity.CreateDate = DateTime.Now; entity.UpdateDate = DateTime.Now; entity.CreateUser = Request.Cookies["Cookies"].Values["UserName"].ToString(); entity.UpdateUser = Request.Cookies["Cookies"].Values["UserName"].ToString(); entity.DateTime = FDate.SelectedDate; entity.FromPondID = int.Parse(drop_Pond.SelectedValue); entity.FromAmount = decimal.Parse(NB_Amount.Text); entity.FromWasteCode = DAL.Pond.GetPond(int.Parse(drop_Pond.SelectedValue)).Stores; entity.HanderManID = int.Parse(hf_HandelManID.Text); if (!string.IsNullOrEmpty(txt_Receiver.Text.Trim())) { entity.ReceiverID = int.Parse(hf_ReceiverID.Text); } else { entity.ReceiverID = 0; } entity.Status = 1; if (string.IsNullOrEmpty(sGuid)) { //Add List <Dictionary <string, object> > newAddedList = Grid1.GetNewAddedList(); List <Entity.ProductDetail> Adds = new List <Entity.ProductDetail>(); for (int i = 0; i < newAddedList.Count; i++) { Entity.ProductDetail add = new Entity.ProductDetail(); add.Name = newAddedList[i]["Name"].ToString(); add.PondID = DAL.Pond.GetPondByName(add.Name).PondID; add.Amount = decimal.Parse(newAddedList[i]["Amount"].ToString()); add.ItemCode = DAL.Waste.GetWasteCodeByName(newAddedList[i]["WasteName"].ToString()); Adds.Add(add); } //List<Dictionary<string, object>> newAddedList2 = Grid2.GetNewAddedList(); //List<Entity.FinalWaste> Adds2 = new List<Entity.FinalWaste>(); //for (int i = 0; i < newAddedList2.Count; i++) //{ // Entity.FinalWaste add = new Entity.FinalWaste(); // add.Result = decimal.Parse(newAddedList2[i]["Result2"].ToString()); // add.ItemCode = DAL.Waste.GetWasteCodeByName(newAddedList2[i]["WasteName2"].ToString()); // Adds2.Add(add); //} iReturn = DAL.WasteToProduct.AddWasteToProductEntity(entity, Adds); } else { //Update entity.DealID = int.Parse(sGuid); List <int> deletedRows = Grid1.GetDeletedList(); List <Entity.ProductDetail> Deletes = new List <Entity.ProductDetail>(); foreach (int rowIndex in deletedRows) { Entity.ProductDetail delete = new Entity.ProductDetail(); delete.DetailID = Convert.ToInt32(Grid1.DataKeys[rowIndex][1]); Deletes.Add(delete); } Dictionary <int, Dictionary <string, object> > modifiedDict = Grid1.GetModifiedDict(); List <Entity.ProductDetail> Updates = new List <Entity.ProductDetail>(); foreach (int rowIndex in modifiedDict.Keys) { Entity.ProductDetail update = new Entity.ProductDetail(); update.DetailID = Convert.ToInt32(Grid1.DataKeys[rowIndex][1]); update.ItemCode = DAL.Waste.GetWasteCodeByName(Grid1.DataKeys[rowIndex][2].ToString()); update.Amount = decimal.Parse(Grid1.DataKeys[rowIndex][3].ToString()); update.PondID = 1; update.Status = 1; Updates.Add(update); } List <Dictionary <string, object> > newAddedList = Grid1.GetNewAddedList(); List <Entity.ProductDetail> Adds = new List <Entity.ProductDetail>(); for (int i = 0; i < newAddedList.Count; i++) { Entity.ProductDetail add = new Entity.ProductDetail(); add.Name = newAddedList[i]["Name"].ToString(); add.PondID = DAL.Pond.GetPondByName(add.Name).PondID; add.Amount = decimal.Parse(newAddedList[i]["Amount"].ToString()); add.ItemCode = DAL.Waste.GetWasteCodeByName(newAddedList[i]["WasteName"].ToString()); Adds.Add(add); } //List<int> deletedRows2 = Grid2.GetDeletedList(); //List<Entity.FinalWaste> Deletes2 = new List<Entity.FinalWaste>(); //foreach (int rowIndex in deletedRows2) //{ // Entity.FinalWaste delete = new Entity.FinalWaste(); // delete.FWID = Convert.ToInt32(Grid2.DataKeys[rowIndex][1]); // Deletes2.Add(delete); //} //Dictionary<int, Dictionary<string, object>> modifiedDict2 = Grid2.GetModifiedDict(); //List<Entity.FinalWaste> Updates2 = new List<Entity.FinalWaste>(); //foreach (int rowIndex in modifiedDict2.Keys) //{ // Entity.FinalWaste update = new Entity.FinalWaste(); // update.FWID = Convert.ToInt32(Grid2.DataKeys[rowIndex][1]); // update.ItemCode = DAL.Waste.GetWasteCodeByName(Grid2.DataKeys[rowIndex][2].ToString()); // update.Result = decimal.Parse(Grid2.DataKeys[rowIndex][3].ToString()); // update.Status = 1; // Updates2.Add(update); //} //List<Dictionary<string, object>> newAddedList2 = Grid2.GetNewAddedList(); //List<Entity.FinalWaste> Adds2 = new List<Entity.FinalWaste>(); //for (int i = 0; i < newAddedList2.Count; i++) //{ // Entity.FinalWaste add = new Entity.FinalWaste(); // add.Result = decimal.Parse(newAddedList2[i]["Result2"].ToString()); // add.ItemCode = DAL.Waste.GetWasteCodeByName(newAddedList2[i]["WasteName2"].ToString()); // Adds2.Add(add); //} iReturn = DAL.WasteToProduct.UpdateWasteToProductEntity(entity, Adds, Updates, Deletes); } } catch (Exception ex) { } finally { } if (iReturn == 1) { Alert.ShowInTop(" 保存成功!", MessageBoxIcon.Information); // PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { Alert.ShowInTop(" 保存失败!", MessageBoxIcon.Warning); } } #endregion }
private string checkInput() { string msg = ""; //if (txt_qymc.Text.Trim() == "") msg += "请输入企业名称!"; //if (drp_sd.SelectedValue.ToString() == "3304") msg += "请选择企业所属区域!"; //if (drop_status.SelectedValue.ToString() == "0") msg += "请选择企业生产状态!"; //if (drop_industry.SelectedValue.ToString() == "0") msg += "请选择企业所属行业!"; //if (sGuid == string.Empty || sGuid == null) //{ // string checkstr = "select * from Enterprise where Name='" + txt_qymc.Text.Trim() + "'"; // DataSet dscheck = new MyDataOp().CreateDataSet(checkstr); // if (dscheck != null) // if (dscheck.Tables[0].Rows.Count > 0) // { // msg += "该企业已存在!"; // } //} //else //{ // string checkstr = "select * from Enterprise where Name='" + txt_qymc.Text.Trim() + "' and EnterpriseID!='" + sGuid + "'"; // DataSet dscheck = new MyDataOp().CreateDataSet(checkstr); // if (dscheck != null) // if (dscheck.Tables[0].Rows.Count > 0) // { // msg += "单位全称不能重复!"; // } //} int RID = DAL.User.GetUserID(txt_HandleMan.Text.Trim(), 4); if (RID == 0) { msg += "请选择正确的处置人!"; } else { hf_HandelManID.Text = RID.ToString(); } if (!string.IsNullOrEmpty(txt_Receiver.Text.Trim())) { int RID2 = DAL.User.GetUserID(txt_Receiver.Text.Trim(), 2); if (RID2 == 0) { msg += "请选择正确的签收人!"; } else { hf_ReceiverID.Text = RID2.ToString(); } } decimal PlanAmount = decimal.Parse(NB_Amount.Text.Trim()); decimal Old = 0; if (!string.IsNullOrEmpty(sGuid)) { Entity.WasteToProduct ws = DAL.WasteToProduct.GetWasteToProduct(int.Parse(sGuid)); Old = ws.FromAmount; } Entity.Pond pond = DAL.Pond.GetPond(int.Parse(drop_Pond.SelectedValue.ToString())); decimal capacity = pond.Capacity; decimal used = pond.Used; if (used + PlanAmount - Old > capacity) { msg += "罐池的剩余量不足,罐池的剩余量为" + (capacity - used).ToString() + "!"; } #region 判断是否有重复项,暂时去掉 //判断是否有重复项 List <string> All3 = new List <string>(); Hashtable ht3 = new Hashtable(); Dictionary <int, Dictionary <string, object> > modifiedDict3 = Grid1.GetModifiedDict(); foreach (int rowIndex in modifiedDict3.Keys) { All3.Add(Grid1.DataKeys[rowIndex][1].ToString()); } List <Dictionary <string, object> > newAddedList3 = Grid1.GetNewAddedList(); for (int i = 0; i < newAddedList3.Count; i++) { All3.Add(newAddedList3[i]["WasteName"].ToString()); } List <int> deletedRows3 = Grid1.GetDeletedList(); foreach (int rowIndex in deletedRows3) { All3.Remove(Grid1.DataKeys[rowIndex][1].ToString()); } for (int i = 0; i < All3.Count; i++) { if (ht3.ContainsKey(All3[i])) { ht3[All3[i]] = int.Parse(ht3[All3[i]].ToString()) + 1; } else { ht3.Add(All3[i], 1); } } IDictionaryEnumerator ie3 = ht3.GetEnumerator(); while (ie3.MoveNext()) { if (int.Parse(ie3.Value.ToString()) > 1) { msg += "成品中出现重复项" + ie3.Key + "!"; } //Console.WriteLine(ie.Key.ToString() + "记录条数:" + ie.Value); } #endregion #region 判断是否有重复的罐池,并判断污染物和罐池是否对应 List <string> All = new List <string>(); Hashtable ht = new Hashtable(); Dictionary <int, Dictionary <string, object> > modifiedDict = Grid1.GetModifiedDict(); foreach (int rowIndex in modifiedDict.Keys) { All.Add(Grid1.DataKeys[rowIndex][3].ToString()); Entity.Pond ponda = DAL.Pond.GetPondByName(Grid1.DataKeys[rowIndex][3].ToString()); if (Grid1.DataKeys[rowIndex][1].ToString() != ponda.WasteName) { msg += Grid1.DataKeys[rowIndex][1].ToString() + "不能存入" + Grid1.DataKeys[rowIndex][3].ToString() + "!"; } } List <Dictionary <string, object> > newAddedList = Grid1.GetNewAddedList(); for (int i = 0; i < newAddedList.Count; i++) { All.Add(newAddedList[i]["Name"].ToString()); Entity.Pond ponda = DAL.Pond.GetPondByName(newAddedList[i]["Name"].ToString()); if (newAddedList[i]["WasteName"].ToString() != ponda.WasteName) { msg += newAddedList[i]["WasteName"].ToString() + "不能存入" + newAddedList[i]["Name"].ToString() + "!"; } } List <int> deletedRows = Grid1.GetDeletedList(); foreach (int rowIndex in deletedRows) { All.Remove(Grid1.DataKeys[rowIndex][3].ToString()); } for (int i = 0; i < All.Count; i++) { if (ht.ContainsKey(All[i])) { ht[All[i]] = int.Parse(ht[All[i]].ToString()) + 1; } else { ht.Add(All[i], 1); } } IDictionaryEnumerator ie = ht.GetEnumerator(); while (ie.MoveNext()) { if (int.Parse(ie.Value.ToString()) > 1) { msg += "成品中出现重复罐池" + ie.Key.ToString() + "!"; } //Console.WriteLine(ie.Key.ToString() + "记录条数:" + ie.Value); } #endregion #region 判断危废是否重复 //判断是否有重复项 //List<string> All2 = new List<string>(); //Hashtable ht2 = new Hashtable(); //Dictionary<int, Dictionary<string, object>> modifiedDict2 = Grid2.GetModifiedDict(); //foreach (int rowIndex in modifiedDict2.Keys) //{ // All2.Add(Grid2.DataKeys[rowIndex][1].ToString()); //} //List<Dictionary<string, object>> newAddedList2 = Grid2.GetNewAddedList(); //for (int i = 0; i < newAddedList2.Count; i++) //{ // All2.Add(newAddedList2[i]["WasteName2"].ToString()); //} //List<int> deletedRows2 = Grid2.GetDeletedList(); //foreach (int rowIndex in deletedRows2) //{ // All2.Remove(Grid2.DataKeys[rowIndex][1].ToString()); //} //for (int i = 0; i < All2.Count; i++) //{ // if (ht2.ContainsKey(All2[i])) // { // ht2[All2[i]] = int.Parse(ht2[All2[i]].ToString()) + 1; // } // else // { // ht2.Add(All2[i], 1); // } //} //IDictionaryEnumerator ie2 = ht2.GetEnumerator(); //while (ie2.MoveNext()) //{ // if (int.Parse(ie2.Value.ToString()) > 1) // { // msg += "危废中出现重复项"+ie2.Key+"!"; // } // //Console.WriteLine(ie.Key.ToString() + "记录条数:" + ie.Value); //} #endregion return(msg); }
public static int UpdateWasteToProductEntity(Entity.WasteToProduct entity, List <Entity.ProductDetail> Adds, List <Entity.ProductDetail> Updates, List <Entity.ProductDetail> Deletes) { int iReturn = 0; DBOperatorBase db = new DataBase(); IDBTypeElementFactory dbFactory = db.GetDBTypeElementFactory(); SqlTransactionHelper thelper = new SqlTransactionHelper(DAL.Config.con); IDbTransaction trans = thelper.StartTransaction(); try { IDbDataParameter[] prams = { dbFactory.MakeInParam("@DealID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.DealID.GetType().ToString()), entity.DealID, 32), dbFactory.MakeInParam("@FromPondID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromPondID.GetType().ToString()), entity.FromPondID, 32), dbFactory.MakeInParam("@FromWasteCode", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromWasteCode.GetType().ToString()), entity.FromWasteCode, 20), dbFactory.MakeInParam("@DateTime", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.DateTime.GetType().ToString()), entity.DateTime, 0), dbFactory.MakeInParam("@FromAmount", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.FromAmount.GetType().ToString()), entity.FromAmount, 10), dbFactory.MakeInParam("@HanderManID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.HanderManID.GetType().ToString()), entity.HanderManID, 32), dbFactory.MakeInParam("@ReceiverID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.ReceiverID.GetType().ToString()), entity.ReceiverID, 32), dbFactory.MakeInParam("@UpdateDate", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.UpdateDate.GetType().ToString()), entity.UpdateDate, 0), dbFactory.MakeInParam("@UpdateUser", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.UpdateUser.GetType().ToString()), entity.UpdateUser, 50), dbFactory.MakeInParam("@Status", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.Status.GetType().ToString()), entity.Status, 32) }; iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_WasteToProduct_Update", prams); foreach (Entity.ProductDetail add in Adds) { IDbDataParameter[] pramse = { dbFactory.MakeInParam("@WTPID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.DealID.GetType().ToString()), entity.DealID, 32), dbFactory.MakeInParam("@ItemCode", DBTypeConverter.ConvertCsTypeToOriginDBType(add.ItemCode.GetType().ToString()), add.ItemCode, 20), dbFactory.MakeInParam("@PondID", DBTypeConverter.ConvertCsTypeToOriginDBType(add.PondID.GetType().ToString()), add.PondID, 32), dbFactory.MakeInParam("@Status", DBTypeConverter.ConvertCsTypeToOriginDBType(add.Status.GetType().ToString()), add.Status, 32), dbFactory.MakeInParam("@Amount", DBTypeConverter.ConvertCsTypeToOriginDBType(add.Amount.GetType().ToString()), add.Amount, 10) }; iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_ProductDetail_Add", pramse); } foreach (Entity.ProductDetail update in Updates) { IDbDataParameter[] pramsq = { dbFactory.MakeInParam("@DetailID", DBTypeConverter.ConvertCsTypeToOriginDBType(update.DetailID.GetType().ToString()), update.DetailID, 32), dbFactory.MakeInParam("@ItemCode", DBTypeConverter.ConvertCsTypeToOriginDBType(update.ItemCode.GetType().ToString()), update.ItemCode, 20), dbFactory.MakeInParam("@PondID", DBTypeConverter.ConvertCsTypeToOriginDBType(update.PondID.GetType().ToString()), update.PondID, 32), dbFactory.MakeInParam("@Status", DBTypeConverter.ConvertCsTypeToOriginDBType(update.Status.GetType().ToString()), update.Status, 32), dbFactory.MakeInParam("@Amount", DBTypeConverter.ConvertCsTypeToOriginDBType(update.Amount.GetType().ToString()), update.Amount, 10) }; iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_ProductDetail_Update", pramsq); } foreach (Entity.ProductDetail delete in Deletes) { iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Delete from [ProductDetail] where DetailID='" + delete.DetailID + "'", null); } //foreach (Entity.FinalWaste add in Adds2) //{ // iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Insert into [FinalWaste]([DealID],[ItemCode],[Result],[Status]) values ('" + entity.DealID + "','" + add.ItemCode + "','" + add.Result + "','" + add.Status + "')", null); //} //foreach (Entity.FinalWaste update in Update2) //{ // IDbDataParameter[] pramsf = { // dbFactory.MakeInParam("@FWID", DBTypeConverter.ConvertCsTypeToOriginDBType(update.FWID.GetType().ToString()),update.FWID,32), // dbFactory.MakeInParam("@DealID", DBTypeConverter.ConvertCsTypeToOriginDBType(entity.DealID.GetType().ToString()),entity.DealID,32), // dbFactory.MakeInParam("@ItemCode", DBTypeConverter.ConvertCsTypeToOriginDBType(update.ItemCode.GetType().ToString()),update.ItemCode,20), // dbFactory.MakeInParam("@Result", DBTypeConverter.ConvertCsTypeToOriginDBType(update.Result.GetType().ToString()),update.Result,10), // dbFactory.MakeInParam("@Status", DBTypeConverter.ConvertCsTypeToOriginDBType(update.Status.GetType().ToString()),update.Status,32) // }; // iReturn = db.ExecuteNonQueryTrans(trans, CommandType.StoredProcedure, "proc_FinalWaste_Update", pramsf); //} //foreach (Entity.FinalWaste delete in Delete2) //{ // iReturn = db.ExecuteNonQueryTrans(trans, CommandType.Text, "Delete from [FinalWaste] where FWID='" + delete.FWID + "'", null); //} thelper.CommitTransaction(trans); iReturn = 1; } catch (Exception ex) { thelper.RollTransaction(trans); iReturn = 0; } finally { db.Conn.Close(); } return(iReturn); }