using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; using System.Web.Mvc; using DSWeb.Areas.OA.Models.ChfeeList; using DSWeb.TruckMng.Helper; using Microsoft.Practices.EnterpriseLibrary.Data; namespace DSWeb.Areas.OA.Controllers { /// /// 应收应付明细 /// public class ChfeeListController : Controller { // // GET: /Import/RptImportFeedetail/ public ActionResult Index() { return View(); } public ContentResult GetDataList(int start, int limit, string sort, string condition) { var dataList = GetDataList(condition); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } private static List GetDataList(string strCondition) { var strSql = new StringBuilder(); strSql.Append(" select * into #T1 from(SELECT f.GId,f.BsNo,f.FeeStatus, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99024 and EnumValueID=f.FeeStatus) as FeeStatus_Ref, "); strSql.Append(" (select NAME from vMsTruckFeeType where NAME=f.FeeName) as FeeName_Ref, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99020 and EnumValueID=f.FeeType) as FeeType_Ref "); strSql.Append(" ,f.BXGID,f.enterdate,f.CustomerName as CustomerName_Ref,f.Unit,f.UnitPrice,f.Quantity, "); strSql.Append(" case f.feetype when 1 then f.Amount else 0 end amount_ys, "); strSql.Append(" case f.feetype when 1 then 0 else f.Amount end amount_yf, "); strSql.Append(" case f.feetype when 1 then f.Amount*f.exchangerate else 0 end amount_rmbys, "); strSql.Append(" case f.feetype when 1 then 0 else f.Amount*f.exchangerate end amount_rmbyf, "); strSql.Append(" f.Currency,f.ExChangerate,f.Remark,vs.MBLNO,vs.customername buyer,vs.Vessel,vs.Voyno, "); strSql.Append(" (select showname from [user] where gid=f.enteroperator) createuser, "); strSql.Append(" dbo.f_danhao(f.gid,4) AC,dbo.f_danhao(f.gid,5) AD,dbo.f_danhao(f.gid,9) CR,dbo.f_danhao(f.gid,1) DR, "); strSql.Append(" f.ACCDATE,f.ISVOU,f.VOUCHERNO,f.AUDITDATE,(select showname from [user] where gid=f.auditoperator) auditoperator "); strSql.Append(" ,dbo.f_VOUNO(f.gid) VOUNO "); strSql.Append(" from ch_fee f "); strSql.Append(" left join vw_settlement vs on (f.bsno=vs.bsno) "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" and " + strCondition); } strSql.Append(" )tt "); strSql.Append(" select * from #T1 "); strSql.Append(" union all "); strSql.Append(" select '','zzzzzzzz',0,'','','','','','','',0,0, "); strSql.Append(" sum(amount_ys),sum(amount_yf),sum(amount_rmbys),sum(amount_rmbyf), "); strSql.Append(" '',0,'','','','','', "); strSql.Append(" '','','','','', "); strSql.Append(" '','','','','','' "); strSql.Append(" from #T1 order by bsno,FeeType_Ref,FeeName_Ref,customername_Ref,enterdate "); strSql.Append(" drop table #T1 "); return SetData(strSql); } 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 ChfeeList(); #region Set DB data to Object data.GId = Convert.ToString(reader["GId"]); data.BSNO = Convert.ToString(reader["BSNO"]); data.FeeStatus = Convert.ToString(reader["FeeStatus"]); data.FeeStatus_Ref = Convert.ToString(reader["FeeStatus_Ref"]); data.FeeName_Ref = Convert.ToString(reader["FeeName_Ref"]); data.FeeType_Ref = Convert.ToString(reader["FeeType_Ref"]); data.BXGID = Convert.ToString(reader["BXGID"]); data.EnterDate = Convert.ToString(reader["EnterDate"]); data.CustomerName_Ref = Convert.ToString(reader["CustomerName_Ref"]); data.Unit = Convert.ToString(reader["Unit"]); data.UnitPrice = Convert.ToDecimal(reader["UnitPrice"]); data.Quantity = Convert.ToDecimal(reader["Quantity"]); data.Amount_YS = Convert.ToString(reader["Amount_YS"]); data.Amount_YF = Convert.ToString(reader["Amount_YF"]); data.Amount_RMBYS = Convert.ToString(reader["Amount_RMBYS"]); data.Amount_RMBYF = Convert.ToString(reader["Amount_RMBYF"]); data.Currency = Convert.ToString(reader["Currency"]); data.ExChangerate = Convert.ToString(reader["ExChangerate"]); data.Remark = Convert.ToString(reader["Remark"]); data.MBLNO = Convert.ToString(reader["MBLNO"]); data.buyer = Convert.ToString(reader["buyer"]); data.Vessel = Convert.ToString(reader["Vessel"]); data.Voyage = Convert.ToString(reader["Voyage"]); data.CreateUser = Convert.ToString(reader["CreateUser"]); data.AC = Convert.ToString(reader["AC"]); data.AD = Convert.ToString(reader["AD"]); data.CR = Convert.ToString(reader["CR"]); data.DR = Convert.ToString(reader["DR"]); data.ACCDATE = Convert.ToString(reader["ACCDATE"]); data.ISVOU = Convert.ToString(reader["ISVOU"]); data.VOUCHERNO = Convert.ToString(reader["VOUCHERNO"]); data.VOUNO = Convert.ToString(reader["VOUNO"]); data.AUDITOPERATOR = Convert.ToString(reader["AUDITOPERATOR"]); data.AUDITDATE = Convert.ToString(reader["AUDITDATE"]); #endregion headList.Add(data); } reader.Close(); } return headList; } } }