using System; using System.Data; using System.Collections.Generic; using System.Text; using DSWeb.Areas.TruckMng.Models.MsWl_Port; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.EntityDA; using DSWeb.Areas.CommMng.Models; using System.Web; using System.Data.Common; using DSWeb.TruckMng.Comm.Cookie; using WebSqlHelper; using DSWeb.Areas.TruckMng.Controllers; namespace DSWeb.Areas.TruckMng.DAL.MsWl_Port { public partial class MsWl_ADLDAL { #region 主表 public static List GetDataList(string strCondition, string sort) { var strSql = new StringBuilder(); /* strSql.Append(" select GID,TRUCKNO,DRVCODE,(select DrvName from tMsWlDriver where drvcode=a.drvcode) DRVNAME,dbo.trimdate(EXPDATE_BGN) EXPDATE_BGN,dbo.trimdate(EXPDATE_END) EXPDATE_END,REALFUEL,FUELPRICE,FUELPRICE_AGIO,AMOUNT,REMARK "); strSql.Append(" ,isnull((select sum(RatedFuel) from tmswlpchead where expdate between a.expdate_bgn and a.expdate_end and truckno=a.truckno and drvcode=a.drvcode),0) RATEDFUEL "); strSql.Append(" ,isnull((select sum(OVERLOADMIL) from tmswlpchead where expdate between a.expdate_bgn and a.expdate_end and truckno=a.truckno and drvcode=a.drvcode),0) OVERLOADMIL "); strSql.Append(" ,isnull((select max(fueltotal) from tmswltruckfuel where truckno=a.truckno ),0) FUELRATE "); strSql.Append(" ,convert(bigint ,a.TimeMark) as TimeMark "); strSql.Append(" from tmswl_adlfuel a ");*/ strSql.Append(" select *,Convert(numeric(18,2),(FuelPrice-FuelPrice_agio)*(RatedFuel-RealFuel)) SaveAmount "); //strSql.Append(" "); strSql.Append(" ,RATEDFUEL*FuelPrice RatedFuelAmount,RATEDFUEL-REALFUEL FuelRemain"); strSql.Append(" from VW_ADLFuelDate a"); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); } else strSql.Append(" order by GID"); return SetData(strSql); } public static MsWl_ADLFuelmb GetData ( string condition ) { MsWl_ADLFuelmb head = null; var list = GetDataList(condition, ""); if (list.Count > 0) head = list[0]; if (head == null) { head = new MsWl_ADLFuelmb(); } return head; } private static List SetData ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { var data = new MsWl_ADLFuelmb(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]); data.DRVCODE = Convert.ToString(reader["DRVCODE"]); data.DRVNAME = Convert.ToString(reader["DRVNAME"]); data.EXPDATE_BGN = Convert.ToString(reader["EXPDATE_BGN"]); data.EXPDATE_END = Convert.ToString(reader["EXPDATE_END"]); data.REALFUEL = Convert.ToString(reader["REALFUEL"]); data.FUELPRICE = Convert.ToString(reader["FUELPRICE"]); data.FUELPRICE_AGIO = Convert.ToString(reader["FUELPRICE_AGIO"]); data.AMOUNT = Convert.ToString(reader["AMOUNT"]); data.REMARK = Convert.ToString(reader["REMARK"]); data.RATEDFUEL = Convert.ToString(reader["RATEDFUEL"]); data.OVERLOADMIL = Convert.ToString(reader["OVERLOADMIL"]); data.FUELRATE = Convert.ToString(reader["FUELRATE"]); data.TimeMark = Convert.ToDecimal(reader["TimeMark"]); data.SAVEAMOUNT = Convert.ToString(reader["SAVEAMOUNT"]); data.RatedFuelAmount = Convert.ToString(reader["RatedFuelAmount"]); data.FuelRemain = Convert.ToString(reader["FuelRemain"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 爱德林 导入的加油记录 public static List GetFuelDateInputList ( string strCondition, string sort ) { var strSql = new StringBuilder(); strSql.Append(" select *,case when isnull(BSNO,'')<>'' then 1 else 0 end inserted "); strSql.Append(" from tMsWl_FuelDateInput "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); } else strSql.Append(" order by CKR,CH,JYTIME"); return SetFuelDateInputList(strSql); } public static MsWl_FuelDateInputmb GetFuelDateInputData ( string condition ) { MsWl_FuelDateInputmb head = null; var list = GetFuelDateInputList(condition, ""); if (list.Count > 0) head = list[0]; if (head == null) { head = new MsWl_FuelDateInputmb(); } return head; } private static List SetFuelDateInputList ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { var data = new MsWl_FuelDateInputmb(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.STATION = Convert.ToString(reader["STATION"]); data.BLSH = Convert.ToString(reader["BLSH"]); data.ZH = Convert.ToString(reader["ZH"]); data.KLX = Convert.ToString(reader["KLX"]); data.CKR = Convert.ToString(reader["CKR"]); data.CH = Convert.ToString(reader["CH"]); data.JH = Convert.ToString(reader["JH"]); data.YP = Convert.ToString(reader["YP"]); data.FUEL = Convert.ToString(reader["FUEL"]); data.PRICE = Convert.ToString(reader["PRICE"]); data.AMOUNT = Convert.ToString(reader["AMOUNT"]); data.YHED = Convert.ToString(reader["YHED"]); data.SS = Convert.ToString(reader["SS"]); data.YE = Convert.ToString(reader["YE"]); data.YY = Convert.ToString(reader["YY"]); data.DEPT = Convert.ToString(reader["DEPT"]); data.JYTIME = Convert.ToString(reader["JYTIME"]); data.inserted = Convert.ToString(reader["inserted"]); #endregion headList.Add(data); } reader.Close(); } return headList; } //从导入加入到加油记录 static public int AddADLFuel (string GID, string FeeList ) { var _count = 0; var strSql = new StringBuilder(); if (FeeList != "") { /* strSql.Append(" insert into tMsWl_Port_FuelDate(GID,TRUCKNO,DRVCODE,FUELTYPE,FUELQTY,FUELDATE) "); strSql.Append(" select GID,CH,(select drvcode from tMsWlDriver where drvname=CKR),YP,FUEL,JYTIME "); strSql.Append(" from tmswl_fueldateinput where GID in(" + FeeList + ") "); */ strSql.Append(" update tmswl_fueldateinput set BSNO='"+GID+"' where GID in(" + FeeList + ") "); Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); } return _count; } //取消导入 static public int DelADLFuel ( string FeeList ) { var _count = 0; var strSql = new StringBuilder(); if (FeeList != "") { /* strSql.Append(" delete from tMsWl_Port_FuelDate where GID in(" + FeeList + ") "); * */ strSql.Append(" update tmswl_fueldateinput set BSNO='' where GID in(" + FeeList + ") "); Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); } return _count; } //重新计算总实际加油量 static public int MakeFuel(string GID) { var _count = 0; var strSql = new StringBuilder(); var strSql2 = new StringBuilder(); if (GID != "") { /* strSql.Append(" delete from tMsWl_Port_FuelDate where GID in(" + FeeList + ") "); * */ strSql.Append(" update tmswl_adlfuel set RealFuel=isnull((select sum(FUEL) from tmswl_fueldateinput where isnull(bsno,'')<>'' and BSNO='" + GID + "'),0) where GID='" + GID + "'"); Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); strSql2.Append(" update tmswl_adlfuel set Amount=((select RatedFuel from VW_ADLFuelDate where GID='" + GID + "')-(select RealFuel from VW_ADLFuelDate where GID='" + GID + "'))*(FuelPrice_agio) where GID='" + GID + "'"); Database db2 = DatabaseFactory.CreateDatabase(); _count = db2.ExecuteNonQuery(CommandType.Text, strSql2.ToString()); } return _count; } #endregion } }