protected void gvMain_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#EAF1FD',this.style.fontWeight='';"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor,this.style.fontWeight='';"); Pro_JSXDetailInfo model = e.Row.DataItem as Pro_JSXDetailInfo; if (txtProNO.Text.Trim() == "" && txtPONO.Text.Trim() != "" && model.PONO.Contains(txtPONO.Text.Trim())) { e.Row.BackColor = System.Drawing.Color.YellowGreen; } if (txtProNO.Text.Trim() != "" && txtPONO.Text.Trim() == "" && model.ProNo.Contains(txtProNO.Text.Trim())) { e.Row.BackColor = System.Drawing.Color.Pink; } if (txtProNO.Text.Trim() != "" && txtPONO.Text.Trim() != "" && model.ProNo.Contains(txtProNO.Text.Trim()) && model.PONO.Contains(txtPONO.Text.Trim())) { e.Row.BackColor = System.Drawing.Color.LightBlue; } } }
/// <summary> /// 获得数据列表(比DataSet效率高,推荐使用) /// </summary> public List <Sell_Cai_OrderInHouseListModel> GetListArray_New_Out(List <Sell_Cai_OrderInHouseListModel> pOOrderList) { List <Sell_Cai_OrderInHouseListModel> pOOrderList_New = new List <Sell_Cai_OrderInHouseListModel>(); decimal iniNum = 0; using (SqlConnection conn = DBHelp.getConn()) { conn.Open(); SqlCommand objCommand = new SqlCommand("Pro_JSXDetailInfo_New", conn); objCommand.CommandType = CommandType.StoredProcedure; foreach (var m in pOOrderList) { objCommand.Parameters.Clear(); SqlParameter[] paras = new SqlParameter[4]; paras[0] = new SqlParameter("@HouseId", 1); paras[1] = new SqlParameter("@GoodId", m.GooId); paras[2] = new SqlParameter("@FromDate", m.RuTime); paras[3] = new SqlParameter("@ToDate", DateTime.Now.ToString("yyyy-MM-dd")); objCommand.Parameters.AddRange(paras); bool result = false; int i = 0; using (SqlDataReader dataReader = objCommand.ExecuteReader()) { while (dataReader.Read()) { var model = new Pro_JSXDetailInfo(); object ojb = null; ojb = dataReader["GoodInNum"]; if (ojb != null && ojb != DBNull.Value) { model.GoodInNum = Convert.ToDecimal(ojb); } ojb = dataReader["GoodOutNum"]; if (ojb != null && ojb != DBNull.Value) { model.GoodOutNum = Convert.ToDecimal(ojb); } var t = Convert.ToInt32(dataReader["T"]); if (i == 0) { iniNum = model.GoodInNum - model.GoodOutNum; //i++; } else { iniNum = iniNum + model.GoodInNum - model.GoodOutNum; } //这个销售退货时间点后,只要有一次采购退货或销售出库后 的库存数量=0,我们就认为是正常了 if ((t == 2 || t == 3) && iniNum == 0) { result = true; break; } i++; } } if (result == false) { m.MyColor = System.Drawing.Color.Red; pOOrderList_New.Add(m); } } } return(pOOrderList_New); }
/// <summary> /// 获得数据列表(比DataSet效率高,推荐使用) /// </summary> public List <Sell_Cai_OrderInHouseListModel> GetListArray_New_Good_Out(List <Sell_Cai_OrderInHouseListModel> pOOrderList) { List <Sell_Cai_OrderInHouseListModel> pOOrderList_New = new List <Sell_Cai_OrderInHouseListModel>(); List <Pro_JSXDetailInfo> allProDetail = new List <Pro_JSXDetailInfo>(); var l = pOOrderList.Select(t => t.GooId.ToString()).ToArray(); string goodIds = string.Join(",", l); string sql = string.Format(@"select * from ( select 1 as T,RuTime, GoodNum as GoodInNum,0 as GoodOutNum,GooId from CAI_OrderInHouse left join CAI_OrderInHouses on CAI_OrderInHouse.Id=CAI_OrderInHouses.Id where status='通过' and HouseID=1 and GooId in ({0}) union all select 2 as T,RuTime, 0 as GoodInNum,GoodNum as GoodOutNum,GooId from CAI_OrderOutHouse left join CAI_OrderOutHouses on CAI_OrderOutHouse.Id=CAI_OrderOutHouses.Id where status='通过' and HouseID=1 and GooId in ({0}) union all select 3 as T,RuTime,0 as GoodInNum,GoodNum as GoodOutNum,GooId from Sell_OrderOutHouse left join Sell_OrderOutHouses on Sell_OrderOutHouse.Id=Sell_OrderOutHouses.Id where status='通过' and HouseID=1 and GooId in ({0}) union all select 4 as T,RuTime, GoodNum as GoodInNum,0 as GoodOutNum,GooId from Sell_OrderInHouse left join Sell_OrderInHouses on Sell_OrderInHouse.Id=Sell_OrderInHouses.Id where status='通过' and HouseID=1 and GooId in ({0}) ) as tb order by RuTime ;", goodIds); using (SqlConnection conn = DBHelp.getConn()) { conn.Open(); SqlCommand objCommand = new SqlCommand(sql, conn); using (SqlDataReader dataReader = objCommand.ExecuteReader()) { while (dataReader.Read()) { var model = new Pro_JSXDetailInfo(); object ojb = null; ojb = dataReader["GoodInNum"]; model.GoodInNum = Convert.ToDecimal(ojb); ojb = dataReader["GoodOutNum"]; model.GoodOutNum = Convert.ToDecimal(ojb); ojb = dataReader["RuTime"]; model.RuTime = Convert.ToDateTime(ojb); ojb = dataReader["GooId"]; model.GooId = Convert.ToInt32(ojb); model.T = Convert.ToInt32(dataReader["T"]); allProDetail.Add(model); } } } foreach (var m in pOOrderList) { var goodList = allProDetail.FindAll(t => m.GooId == t.GooId); var count_List = goodList.FindAll(t => t.RuTime <= m.RuTime); var other_List = goodList.FindAll(t => t.RuTime > m.RuTime && (t.T == 2 || t.T == 3)); var total = count_List.Sum(t => t.GoodInNum - t.GoodOutNum); var result = false; for (int i = 0; i < other_List.Count; i++) { count_List = goodList.FindAll(t => t.RuTime > m.RuTime && t.RuTime <= other_List[i].RuTime); if (total + count_List.Sum(t => t.GoodInNum - t.GoodOutNum) == 0) { result = true; break; } } if (result == false) { m.MyColor = System.Drawing.Color.Red; pOOrderList_New.Add(m); } } return(pOOrderList_New); }
/// <summary> /// 获得数据列表(比DataSet效率高,推荐使用) /// </summary> public List <VAN_OA.Model.JXC.Pro_JSXDetailInfo> GetListArray(int houseId, int GoodId, DateTime fromTime, DateTime toTime) { decimal iniNum = 0; List <VAN_OA.Model.JXC.Pro_JSXDetailInfo> list = new List <VAN_OA.Model.JXC.Pro_JSXDetailInfo>(); using (SqlConnection conn = DBHelp.getConn()) { conn.Open(); SqlCommand objCommand = new SqlCommand("Pro_JSXDetailInfo", conn); objCommand.CommandType = CommandType.StoredProcedure; SqlParameter[] paras = new SqlParameter[4]; paras[0] = new SqlParameter("@HouseId", houseId); paras[1] = new SqlParameter("@GoodId", GoodId); paras[2] = new SqlParameter("@FromDate", fromTime); paras[3] = new SqlParameter("@ToDate", toTime); objCommand.Parameters.AddRange(paras); int i = 0; using (SqlDataReader dataReader = objCommand.ExecuteReader()) { while (dataReader.Read()) { var model = new Pro_JSXDetailInfo(); object ojb = null; ojb = dataReader["TypeName"]; if (ojb != null && ojb != DBNull.Value) { model.TypeName = ojb.ToString(); } ojb = dataReader["RuTime"]; if (ojb != null && ojb != DBNull.Value) { model.RuTime = Convert.ToDateTime(ojb); } ojb = dataReader["allRemark"]; if (ojb != null && ojb != DBNull.Value) { model.allRemark = ojb.ToString(); } ojb = dataReader["GoodInNum"]; if (ojb != null && ojb != DBNull.Value) { model.GoodInNum = Convert.ToDecimal(ojb); } ojb = dataReader["GoodOutNum"]; if (ojb != null && ojb != DBNull.Value) { model.GoodOutNum = Convert.ToDecimal(ojb); } ojb = dataReader["ProNo"]; if (ojb != null && ojb != DBNull.Value) { model.ProNo = Convert.ToString(ojb); } ojb = dataReader["Price"]; if (ojb != null && ojb != DBNull.Value) { model.Price = Convert.ToDecimal(ojb); } ojb = dataReader["TempHousePrice"]; if (ojb != null && ojb != DBNull.Value) { model.TempHousePrice = Convert.ToDecimal(ojb); } ojb = dataReader["PONO"]; if (ojb != null && ojb != DBNull.Value) { model.PONO = Convert.ToString(ojb); } ojb = dataReader["HadInvoice"]; if (model.TypeName == "采购入库") { if (ojb != null && ojb != DBNull.Value) { model.HadInvoice = Convert.ToDecimal(ojb);// *model.GoodInNum; } else { model.HadInvoice = 0; } model.NoInvoice = model.GoodInNum * model.Price - model.HadInvoice; } //else if (model.TypeName == "采购退货") //{ // if (ojb != null && ojb != DBNull.Value) // { // model.HadInvoice = -model.Price * model.GoodOutNum; // } // else // { // model.HadInvoice = 0; // } // model.NoInvoice = -model.GoodOutNum * model.Price - model.HadInvoice; //} //if (i == 0) //{ // iniNum = model.GoodInNum - model.GoodOutNum; // i++; //} //else //{ // iniNum = iniNum + model.GoodInNum - model.GoodOutNum; //} model.GoodResultNum = iniNum; model.RuId = Convert.ToInt32(dataReader["RuId"]); model.Ids = Convert.ToInt32(dataReader["Ids"]); model.avgHousePrice = Convert.ToDecimal(dataReader["avgHousePrice"]); list.Add(model); } } } return(list); }