using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL; using System.Data.SqlClient; using System.Data; using CY.Model; using System.Transactions; namespace CY.SQLDAL { public class OA_DeliverPlanPaicheDAL : IOA_DeliverPlanPaicheDAL { private Database _dataBase = null; #region 常量 /// /// 查询目标 /// const string SELECTTARGET = " t.* "; /// /// 查询来源 /// const string FROMSOUCEBEFORE = " ( select distinct od.*,d_Shifouwanjie.Name as TransferstatusName, " + " od.CompanyName as BuyerName,eo.shuliang, os.Name as BusinessManager,od.Dizhi+' 联系人:'+od.Lianxiren+' 电话:'+od.Dianhua as DizhiLianxirenDianhua, " + " ocar.[CarNumber] as CarName,oss.Name as DriverName " + " from [OA_DeliverPlanPaiche] od left join [OA_CorporateClients] oe on oe.Keyid = od.[BuyerId] " + " left join (select count(*) as shuliang,eo.DeliverPlanPaicheid from [OA_DeliverPlan] eo group by eo.DeliverPlanPaicheid ) eo on od.Keyid =eo.[DeliverPlanPaicheid] " + // eo.OrderState =4 // " inner join [OA_CustomerCommunications] oc on oe.Keyid = oc.Keyid " + //" left join [OA_DeliverPlanPaiche] od on oe.Keyid = od.[BuyerId] and DATEDIFF(day,eo.[DeliveryTime], od.[DeliverTime])=0 " + " left join [OA_Staff] os on od.BusinessManagerId = os.Keyid " + " left join [OA_CarManage] ocar on od.[CarId] = ocar.Keyid " + " left join [OA_Staff] oss on od.[DriverId] = oss.Keyid " + " Left Join Sys_Dictionary as d_Shifouwanjie On(d_Shifouwanjie.DicType= '送货单移交状态' and od.[Transferstatus]= d_Shifouwanjie.MeanValue) where 0=0 "; const string FROMSOUCEEND = ") as t "; /// /// 分页默认排序字段 /// const string ORDERBY = " case when Sort is null then 1 else 0 end asc,Sort asc "; #endregion public OA_DeliverPlanPaicheDAL() { _dataBase = new Database(); } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_DeliverPlan trueModel = model as Model.OA_DeliverPlan; if (trueModel == null) { return false; } SqlParameter DeliveredTime = null; if (trueModel.DeliveredTime.HasValue) { DeliveredTime = new SqlParameter("@DeliveredTime", trueModel.DeliveredTime.Value); } else { DeliveredTime = new SqlParameter("@DeliveredTime", DBNull.Value); } SqlParameter TransfersTime = null; if (trueModel.TransfersTime.HasValue) { TransfersTime = new SqlParameter("@TransfersTime", trueModel.TransfersTime.Value); } else { TransfersTime = new SqlParameter("@TransfersTime", DBNull.Value); } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid), new SqlParameter("@FirmId",trueModel.FirmId), new SqlParameter("@BuyerId",trueModel.BuyerId), DeliveredTime, new SqlParameter("@Zhuyishixiang",trueModel.Zhuyishixiang), new SqlParameter("@Gongzuokaoping",trueModel.Gongzuokaoping), new SqlParameter("@CarId",trueModel.CarId), new SqlParameter("@DriverId",trueModel.DriverId), new SqlParameter("@Transferstatus",trueModel.Transferstatus), TransfersTime, new SqlParameter("@Creater",trueModel.Creater), new SqlParameter("@CreateTime",trueModel.CreateTime), new SqlParameter("@Updater",trueModel.Updater), new SqlParameter("@LastUpdateTime",trueModel.LastUpdateTime), new SqlParameter("@Sort",trueModel.Sort), new SqlParameter("@DeliverTime",trueModel.DeliverTime), new SqlParameter("@wentifankui",trueModel.wentifankui), new SqlParameter("@Yichangchuli",trueModel.Yichangchuli), new SqlParameter("@Xingzhengzhuize",trueModel.Xingzhengzhuize), new SqlParameter("@SellerOrderId",trueModel.SellerOrderId), new SqlParameter("@Dianhua",trueModel.Dianhua), new SqlParameter("@Dizhi",trueModel.Dizhi), new SqlParameter("@Remark",trueModel.Remark), new SqlParameter("@BusinessManagerId",trueModel.BusinessManagerId), new SqlParameter("@Biddingcompany",trueModel.Biddingcompany), new SqlParameter("@shifouDelivery",trueModel.shifouDelivery), new SqlParameter("@Lianxiren",trueModel.Lianxiren), new SqlParameter("@CompanyName",string.IsNullOrEmpty(trueModel.CompanyName)?"":trueModel.CompanyName), new SqlParameter("@Deliveredstatus",trueModel.Deliveredstatus.HasValue?trueModel.Deliveredstatus.Value:0), new SqlParameter("@TransferType",trueModel.TransferType.HasValue?trueModel.TransferType.Value:0), new SqlParameter("@TransferName",string.IsNullOrEmpty(trueModel.TransferName)?"":trueModel.TransferName), }; string sql = "Insert Into [OA_DeliverPlanPaiche] ([Keyid],[FirmId],[BuyerId],[DeliveredTime],[Zhuyishixiang],[Gongzuokaoping], [CarId], [DriverId],[Transferstatus], [TransfersTime], [Creater],[CreateTime],[Updater],[LastUpdateTime],[Sort],DeliverTime,wentifankui,Yichangchuli,Xingzhengzhuize,SellerOrderId,Dianhua,Dizhi,Remark,BusinessManagerId,Biddingcompany,shifouDelivery,Lianxiren,CompanyName,Deliveredstatus,TransferType,TransferName)" + " Values ( @Keyid,@FirmId,@BuyerId,@DeliveredTime, @Zhuyishixiang,@Gongzuokaoping, @CarId, @DriverId, @Transferstatus, @TransfersTime, @Creater,@CreateTime,@Updater,@LastUpdateTime,@Sort,@DeliverTime,@wentifankui,@Yichangchuli,@Xingzhengzhuize,@SellerOrderId,@Dianhua,@Dizhi,@Remark,@BusinessManagerId,@Biddingcompany,@shifouDelivery,@Lianxiren,@CompanyName,@Deliveredstatus,@TransferType,@TransferName )"; try { _dataBase.ExecuteSql(sql, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_DeliverPlan trueModel = model as Model.OA_DeliverPlan; if (trueModel == null) { return false; } SqlParameter DeliveredTime = null; if (trueModel.DeliveredTime.HasValue) { DeliveredTime = new SqlParameter("@DeliveredTime", trueModel.DeliveredTime.Value); } else { DeliveredTime = new SqlParameter("@DeliveredTime", DBNull.Value); } SqlParameter TransfersTime = null; if (trueModel.TransfersTime.HasValue) { TransfersTime = new SqlParameter("@TransfersTime", trueModel.TransfersTime.Value); } else { TransfersTime = new SqlParameter("@TransfersTime", DBNull.Value); } SqlParameter LastUpdateTime = null; if (trueModel.LastUpdateTime.HasValue) { LastUpdateTime = new SqlParameter("@LastUpdateTime", trueModel.LastUpdateTime.Value); } else { LastUpdateTime = new SqlParameter("@LastUpdateTime", DBNull.Value); } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid), new SqlParameter("@FirmId",trueModel.FirmId), new SqlParameter("@BuyerId",trueModel.BuyerId), DeliveredTime, new SqlParameter("@Zhuyishixiang",string.IsNullOrEmpty(trueModel.Zhuyishixiang)?"":trueModel.Zhuyishixiang ), new SqlParameter("@Gongzuokaoping",string.IsNullOrEmpty(trueModel.Gongzuokaoping)?"":trueModel.Gongzuokaoping ), new SqlParameter("@CarId",trueModel.CarId), new SqlParameter("@DriverId",trueModel.DriverId), new SqlParameter("@Transferstatus",trueModel.Transferstatus), TransfersTime, new SqlParameter("@Creater",trueModel.Creater), new SqlParameter("@CreateTime",trueModel.CreateTime), new SqlParameter("@Updater",trueModel.Updater.HasValue?trueModel.Updater.Value:Guid.Empty), LastUpdateTime, new SqlParameter("@Sort",trueModel.Sort), new SqlParameter("@DeliverTime",trueModel.DeliverTime), new SqlParameter("@wentifankui",string.IsNullOrEmpty(trueModel.wentifankui)?"":trueModel.wentifankui), new SqlParameter("@Yichangchuli",string.IsNullOrEmpty(trueModel.Yichangchuli)?"":trueModel.Yichangchuli), new SqlParameter("@Xingzhengzhuize",string.IsNullOrEmpty(trueModel.Xingzhengzhuize)?"":trueModel.Xingzhengzhuize), new SqlParameter("@SellerOrderId",string.IsNullOrEmpty(trueModel.SellerOrderId)?"":trueModel.SellerOrderId), new SqlParameter("@Dianhua",trueModel.Dianhua), new SqlParameter("@Dizhi",trueModel.Dizhi), new SqlParameter("@Remark",trueModel.Remark), new SqlParameter("@BusinessManagerId",trueModel.BusinessManagerId), new SqlParameter("@Biddingcompany",trueModel.Biddingcompany.HasValue?trueModel.Biddingcompany.Value:0), new SqlParameter("@shifouDelivery",trueModel.shifouDelivery), new SqlParameter("@Lianxiren",trueModel.Lianxiren), new SqlParameter("@CompanyName",string.IsNullOrEmpty(trueModel.CompanyName)?"":trueModel.CompanyName), new SqlParameter("@Deliveredstatus",trueModel.Deliveredstatus.HasValue?trueModel.Deliveredstatus.Value:0), new SqlParameter("@TransferType",trueModel.TransferType.HasValue?trueModel.TransferType.Value:0), new SqlParameter("@TransferName",string.IsNullOrEmpty(trueModel.TransferName)?"":trueModel.TransferName), }; string sql = "Update OA_DeliverPlanPaiche Set [FirmId]=@FirmId,[BuyerId]=@BuyerId,[DeliveredTime]=@DeliveredTime,[Zhuyishixiang]=@Zhuyishixiang,Gongzuokaoping=@Gongzuokaoping, [CarId]=@CarId, [DriverId]=@DriverId,[Transferstatus]=@Transferstatus, [TransfersTime]=@TransfersTime, [Creater]=@Creater,[CreateTime]=@CreateTime,[Updater]=@Updater,[LastUpdateTime]=@LastUpdateTime,Sort=@Sort,DeliverTime=@DeliverTime,wentifankui=@wentifankui,Yichangchuli=@Yichangchuli,Xingzhengzhuize=@Xingzhengzhuize,SellerOrderId=@SellerOrderId,Dianhua=@Dianhua,Dizhi=@Dizhi,Remark=@Remark,BusinessManagerId=@BusinessManagerId,Biddingcompany=@Biddingcompany,shifouDelivery=@shifouDelivery,Lianxiren=@Lianxiren,CompanyName=@CompanyName,Deliveredstatus=@Deliveredstatus,TransferType=@TransferType,TransferName=@TransferName where [Keyid] =@Keyid "; try { _dataBase.ExecuteSql(sql, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 根据编号获得信息 /// /// 编号 /// public OA_DeliverPlan GetModelByKeyid(Guid? keyid, Guid? BuyerId, DateTime? DeliveryTime) { try { string condition = " BuyerId='" + BuyerId + "' and DATEDIFF(day,[DeliveredTime],'" + DeliveryTime + "')=0 "; if (!keyid.Equals(Guid.Parse("00000000-0000-0000-0000-000000000000"))) { condition = " Keyid='" + keyid + "'"; } // return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "OA_DeliverPlanPaiche", condition) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } /// /// 全部查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { return _dataBase.SelectModel(" * ", " OA_DeliverPlanPaiche ") as IList;//执行查询 } /// /// 全部查询 /// /// /// public IEnumerable GetModelByformid(Guid FirmId) { return _dataBase.SelectModel(" * ", " OA_DeliverPlanPaiche ", " FirmId = '" + FirmId + "'") as IList;//执行查询 } /// /// 全部查询 /// /// /// public IEnumerable GetModelByDeliveredTime(Guid FirmId, DateTime DeliverTime) { return _dataBase.SelectModel(" * ", " OA_DeliverPlanPaiche ", " FirmId = '" + FirmId + "' and DATEDIFF(day,[DeliverTime],'" + DeliverTime + "')=0 ") as IList;//执行查询 } /// /// 分页查询 /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination) { if (null == pagination || null == query || null == query.Criteria || 1 > query.Criteria.Count) return null; //query.Criteria 首个元素必须是排序字段,其值为结果排序字段 int maxParamIndex = query.Criteria.Count - 1;//最大索引 string[] orderbys = new string[] { ORDERBY }; string resultOrderBy = "";//结果集排序方式 if ("@orderBy".Equals(query.Criteria[maxParamIndex].PropertyName)) { orderbys = string.Format("{0}", query.Criteria[maxParamIndex].Value).Split(','); resultOrderBy = query.Criteria[maxParamIndex].Value.ToString();//= 1 == orderbys.Length ? resultOrderBy : orderbys[1]; } string fromSouce = string.Format("{0}{1}{2}", FROMSOUCEBEFORE, query.Criteria[0].Value, FROMSOUCEEND);//拼装条件 return _dataBase.SelectModelPage(pagination, SELECTTARGET, fromSouce, orderbys[0], resultOrderBy); } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_DeliverPlan trueModel = model as Model.OA_DeliverPlan; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; string sql = "Delete [OA_DeliverPlanPaiche] Where [Keyid] = @Keyid "; try { _dataBase.ExecuteSql(sql, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } } }