username@email.com
3 天以前 e4ee60ed94d24e394a7895daa9fb98df813e5953
CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs
@@ -156,6 +156,215 @@
            return true;
        }
        /// <summary>
        /// 新建订单(全,含秒杀)
        /// </summary>
        /// <param name="orderBasic">订单基础信息</param>
        /// <param name="orderExtend">订单扩展信息</param>
        /// <param name="tradingSingle">交易单</param>
        /// <param name="acceptWayByOrder">订单收货方式</param>
        /// <param name="payRequest">支付请求(可空)</param>
        /// <param name="commission">订单受理佣金(传入值大于0时会调用受理订单进行受理)</param>
        /// <param name="seckillId">秒杀业务编号(传入值大于0时会减少秒杀数量1)</param>
        /// <param name="orderPrintParameter">印刷参数对象(秒杀订单不传入)</param>
        /// <returns></returns>
        public bool NewOrdersheji(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, Pay_Request payRequest = null, double commission = 0, int seckillId = 0, EC_OrderPrintParameter orderPrintParameter = null)
        {
            try
            {
                _eC_OrderExtendDAL = new EC_OrderExtendDAL(_dataBase);
                _pay_TradingSingleDAL = new Pay_TradingSingleDAL(_dataBase);
                _eC_AcceptWayByOrderDAL = new EC_AcceptWayByOrderDAL(_dataBase);
                _eC_OrderOperateDAL = new EC_OrderOperateDAL(_dataBase);
                _eC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
                _oA_CorporateClientsDAL = new OA_CorporateClientsDAL(_dataBase);
                using (System.Transactions.TransactionScope tran = new System.Transactions.TransactionScope())
                {
                    bool isWin = false;
                    isWin = _eC_OrderBasicDAL.InserModelsheji(orderBasic);
                    if (!isWin)
                    {
                        return false;
                    }
                    acceptWayByOrder.TargetId = tradingSingle.OrderId = orderExtend.Keyid = orderBasic.Keyid;//获取返回的订单唯一编号
                    isWin = _eC_OrderExtendDAL.InserModel(orderExtend);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _eC_AcceptWayByOrderDAL.InserModel(acceptWayByOrder);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _pay_TradingSingleDAL.InserModel(tradingSingle);
                    if (!isWin)
                    {
                        return false;
                    }
                    //增加下单操作记录
                    isWin = _eC_OrderOperateDAL.InserModel(new EC_OrderOperate()
                    {
                        OperateType = 1,
                        Operator = orderBasic.Operator,
                        OrderId = orderBasic.Keyid,
                        Remark = string.Empty
                    });
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != payRequest)//有支付请求则调用支付订单方法
                    {
                        //传入的payRequest.Subject必须为格式化器 格式例如:{0},{1},{2}
                        //0:Keyid,1:SellerOrderId,2:DocumentName
                        payRequest.Subject = string.Format(payRequest.Subject, orderBasic.Keyid, orderBasic.SellerOrderId, orderBasic.DocumentName);
                        isWin = _eC_OrderBasicDAL.PayOrder(orderBasic.Keyid.Value, payRequest, commission, 0);
                    }
                    if (0 < seckillId)
                    {
                        _eC_SeckillBusinessDAL = new EC_SeckillBusinessDAL(_dataBase);
                        //若有秒杀业务编号则扣除其秒杀数量1
                        isWin = _eC_SeckillBusinessDAL.DecreaseSeckillNum(seckillId, 1, orderBasic.BuyerId);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != orderPrintParameter)
                    {
                        _eC_OrderPrintParameterDAL = new EC_OrderPrintParameterDAL(_dataBase);
                        orderPrintParameter.OrderId = orderBasic.Keyid.Value;
                        isWin = _eC_OrderPrintParameterDAL.InserModel(orderPrintParameter);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                    else
                        tran.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 新建订单(全,含秒杀)批量
        /// </summary>
        /// <param name="orderBasic">订单基础信息</param>
        /// <param name="orderExtend">订单扩展信息</param>
        /// <param name="tradingSingle">交易单</param>
        /// <param name="acceptWayByOrder">订单收货方式</param>
        /// <param name="payRequest">支付请求(可空)</param>
        /// <param name="commission">订单受理佣金(传入值大于0时会调用受理订单进行受理)</param>
        /// <param name="seckillId">秒杀业务编号(传入值大于0时会减少秒杀数量1)</param>
        /// <param name="orderPrintParameter">印刷参数对象(秒杀订单不传入)</param>
        /// <returns></returns>
        public bool NewOrderpiliang(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, Pay_Request payRequest = null, double commission = 0, int seckillId = 0, EC_OrderPrintParameter orderPrintParameter = null)
        {
            try
            {
                _eC_OrderExtendDAL = new EC_OrderExtendDAL(_dataBase);
                _pay_TradingSingleDAL = new Pay_TradingSingleDAL(_dataBase);
                _eC_AcceptWayByOrderDAL = new EC_AcceptWayByOrderDAL(_dataBase);
                _eC_OrderOperateDAL = new EC_OrderOperateDAL(_dataBase);
                _eC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
                _oA_CorporateClientsDAL = new OA_CorporateClientsDAL(_dataBase);
                //using (System.Transactions.TransactionScope tran = new System.Transactions.TransactionScope())
                //{
                    bool isWin = false;
                    isWin = _eC_OrderBasicDAL.InserModel(orderBasic);
                    if (!isWin)
                    {
                        return false;
                    }
                    acceptWayByOrder.TargetId = tradingSingle.OrderId = orderExtend.Keyid = orderBasic.Keyid;//获取返回的订单唯一编号
                    isWin = _eC_OrderExtendDAL.InserModel(orderExtend);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _eC_AcceptWayByOrderDAL.InserModel(acceptWayByOrder);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _pay_TradingSingleDAL.InserModel(tradingSingle);
                    if (!isWin)
                    {
                        return false;
                    }
                    //增加下单操作记录
                    isWin = _eC_OrderOperateDAL.InserModel(new EC_OrderOperate()
                    {
                        OperateType = 1,
                        Operator = orderBasic.Operator,
                        OrderId = orderBasic.Keyid,
                        Remark = string.Empty
                    });
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != payRequest)//有支付请求则调用支付订单方法
                    {
                        //传入的payRequest.Subject必须为格式化器 格式例如:{0},{1},{2}
                        //0:Keyid,1:SellerOrderId,2:DocumentName
                        payRequest.Subject = string.Format(payRequest.Subject, orderBasic.Keyid, orderBasic.SellerOrderId, orderBasic.DocumentName);
                        isWin = _eC_OrderBasicDAL.PayOrder(orderBasic.Keyid.Value, payRequest, commission, 0);
                    }
                    if (0 < seckillId)
                    {
                        _eC_SeckillBusinessDAL = new EC_SeckillBusinessDAL(_dataBase);
                        //若有秒杀业务编号则扣除其秒杀数量1
                        isWin = _eC_SeckillBusinessDAL.DecreaseSeckillNum(seckillId, 1, orderBasic.BuyerId);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != orderPrintParameter)
                    {
                        _eC_OrderPrintParameterDAL = new EC_OrderPrintParameterDAL(_dataBase);
                        orderPrintParameter.OrderId = orderBasic.Keyid.Value;
                        isWin = _eC_OrderPrintParameterDAL.InserModel(orderPrintParameter);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                //    else
                //        tran.Complete();
                //}
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 新建订单(一般)
        /// </summary>
@@ -764,6 +973,44 @@
            return true;
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateDeliveryTimeTime(EC_OrderExtend model)
        {
            Model.EC_OrderExtend trueModel = model;
            if (trueModel == null)
            {
                return false;
            }
            IList<SqlParameter> sqlParms = new List<SqlParameter>()
            {
                 new SqlParameter("@Keyid",trueModel.Keyid),
                                  new SqlParameter("@DelayTime",trueModel.DelayTime),
            };
            string sql = " Update EC_OrderBasic Set [DeliveryTime]=@DelayTime where  [Keyid]=@Keyid ;  Update [EC_OrderExtend] Set [DelayTime]=@DelayTime where  [Keyid] = @Keyid ;";
            try
            {
                _dataBase.ExecuteSql(sql, sqlParms.ToArray<SqlParameter>());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 修改
        /// </summary>
@@ -880,6 +1127,82 @@
            return true;
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool NewUpdateKaipiaoshenqings(EC_OrderExtend model)
        {
            Model.EC_OrderExtend trueModel = model;
            if (trueModel == null)
            {
                return false;
            }
            SqlParameter KaipiaoshenqingTime = null;
            if (trueModel.KaipiaoshenqingTime.HasValue)
            {
                KaipiaoshenqingTime = new SqlParameter("@KaipiaoshenqingTime", trueModel.KaipiaoshenqingTime);
            }
            else
            {
                KaipiaoshenqingTime = new SqlParameter("@KaipiaoshenqingTime", DBNull.Value);
            }
            IList<SqlParameter> sqlParms = new List<SqlParameter>()
            {
                    //new SqlParameter("@Keyid",trueModel.Keyid),
                        KaipiaoshenqingTime,
                          new SqlParameter("@Kaipiaoshenqing",trueModel.Kaipiaoshenqing),
                            new SqlParameter("@KaipiaoshenqingCreater",trueModel.KaipiaoshenqingCreater),
                                new SqlParameter("@KaipiaoshenqingId",trueModel.KaipiaoshenqingId),
            };
            string sql = " Update EC_OrderExtend Set KaipiaoshenqingTime=@KaipiaoshenqingTime ,Kaipiaoshenqing=@Kaipiaoshenqing ,KaipiaoshenqingCreater=@KaipiaoshenqingCreater Where KaipiaoshenqingId=@KaipiaoshenqingId      ";//@keyid
            try
            {
                _dataBase.ExecuteSql(sql, sqlParms.ToArray<SqlParameter>());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool JujueKaipiaoshenqings(EC_OrderExtend model)
        {
            Model.EC_OrderExtend trueModel = model;
            if (trueModel == null)
            {
                return false;
            }
            IList<SqlParameter> sqlParms = new List<SqlParameter>()
            {
                                new SqlParameter("@KaipiaoshenqingId",trueModel.KaipiaoshenqingId),
            };
            string sql = " Update EC_OrderExtend Set KaipiaoshenqingTime=null ,Kaipiaoshenqing=2 ,KaipiaoshenqingCreater=null  ,KaipiaoshenqingId=null   Where KaipiaoshenqingId =@KaipiaoshenqingId ";//@keyid
            try
            {
                _dataBase.ExecuteSql(sql, sqlParms.ToArray<SqlParameter>());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 修改
@@ -1353,7 +1676,7 @@
            fromSouce += @" 
                      
     select occ.City+occ.County as quyu   ,oc.CompanyName as BuyerName,os.Name as BusinessManager,oc.CreateTime,contracttype.Name as ContracttypeName,oc.Contractmoney
,expiretype.Name as ExpiretypeName,oc.ExpireTime,ob.SumPrice,  ob.PayedMoney,oc.CustomerId
,expiretype.Name as ExpiretypeName,oc.ExpireTime,ob.SumPrice,  ob.PayedMoney,oc.CustomerId,ob.OrAllUnPayedMoney
from  [OA_CorporateClients] oc
@@ -1361,16 +1684,32 @@
left join  OA_Staff os  on oc.BusinessManagerId = os.Keyid
left join [Sys_Dictionary] contracttype on contracttype.DicType='合同金额' and contracttype.MeanValue = oc.Contracttype
left join [Sys_Dictionary] expiretype on expiretype.DicType='到期时间' and expiretype.MeanValue = oc.Expiretype
left join ( select  ob.BuyerId,sum(ob.SumPrice) SumPrice,sum(ts.PayedMoney)  PayedMoney ,COUNT(*) as shuliang
  from EC_OrderBasic ob Inner Join EC_OrderExtend as oe On(ob.Keyid=oe.Keyid) Inner Join Pay_TradingSingle as ts On(ob.Keyid = ts.OrderId)
  left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid
  group by ob.BuyerId ) ob  on oc.Keyid = ob.BuyerId
left join ( select  ob.BuyerId,sum(ob.SumPrice) SumPrice,sum(ts.PayedMoney)  PayedMoney ,COUNT(*) as shuliang,SUM( Case When ( (ob.SumPrice-ts.PayedMoney) <=0 or ob.PayState =-1) then 0 else (ob.SumPrice-ts.PayedMoney) end) OrAllUnPayedMoney "
 + "  from EC_OrderBasic ob Inner Join EC_OrderExtend as oe On(ob.Keyid=oe.Keyid) Inner Join Pay_TradingSingle as ts On(ob.Keyid = ts.OrderId  and ob.OrderState != 0  and  ob.SellerId = '" + FirmId + "'   )  "
 // + "left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid  Inner Join OA_CorporateClients occ  on ob.BuyerId = occ.Keyid  "
  + " and (ob.OrderState <> 0 or (ob.OrderState = 0 and ts.PayedMoney > 0))"
  + "group by ob.BuyerId ) ob  on oc.Keyid = ob.BuyerId  " + where;
                         " + where;
            fromSouce += " )as t   ";
            var ssss = _dataBase.SelectModel<Model.OA_DeliverPlan>("  sum(t.Contractmoney) as Contractmoney,sum(t.SumPrice) as SumPrice,sum(t.PayedMoney) as PayedMoney,sum(t.OrAllUnPayedMoney) OrAllUnPayedMoney ", fromSouce);
            if (ssss.Count > 0)
            {
                var aaaaa = ssss.First();
                pagination.heji1 = aaaaa.Contractmoney ?? 0;
                pagination.heji2 = aaaaa.SumPrice ?? 0;
                pagination.heji3 = aaaaa.UnorderMoney ?? 0;
                pagination.heji4 = aaaaa.PayedMoney ?? 0;
                pagination.heji5 = aaaaa.OrAllUnPayedMoney;
            }
            var result = _dataBase.SelectModelPage<Model.OA_DeliverPlan>(pagination, selectTarget, fromSouce, " CreateTime DESC ");//执行查询
            return null == result ? null : result;//返回结果
@@ -1395,26 +1734,26 @@
            string fromSouce = "(  ";
              fromSouce += "   select os.DepartmentId,os.[Name] as BusinessManager ,os.[Keyid] as BusinessManagerId, os.FirmId,gendan.gendanshuliang,xinzeng.xinzengshuliang,wanjie.wanjieshuliang,xiadan.xiadanshuliang,ob.shuliang,ob.SumPrice,ob.PayedMoney,eob.kaipiaojine,huifang.huifangshuliang ,'"+ chaxuntime + "' as chaxuntime ";
              fromSouce += "   select os.DepartmentId,os.[Name] as BusinessManager ,os.[Keyid] as BusinessManagerId, os.FirmId,gendan.gendanshuliang,xinzeng.xinzengshuliang,wanjie.wanjieshuliang,xiadan.xiadanshuliang,ob.shuliang,ob.SumPrice,ob.PayedMoney,eob.kaipiaojine,huifang.huifangshuliang ,'"+ chaxuntime + "' as chaxuntime,ob.OrAllUnPayedMoney ";
            fromSouce += "  from [OA_Staff] os    ";
            fromSouce += "  left join  (  select  COUNT(*) gendanshuliang ,oc.BusinessManagerId from OA_CorporateClients oc   where ( oc.Shifouwanjie is null or oc.Shifouwanjie=2  ) and     DATEDIFF(MONTH,oc.CreateTime,'" + chaxuntime + "') >=0   group by oc.BusinessManagerId   ) gendan on gendan.BusinessManagerId = os.Keyid  ";
            fromSouce += "    left join  (  select  COUNT(*) xinzengshuliang ,oc.BusinessManagerId from OA_CorporateClients oc where  DATEDIFF(MONTH,oc.CreateTime,'"+ chaxuntime + "') =0 group by oc.BusinessManagerId   ) xinzeng on xinzeng.BusinessManagerId = os.Keyid ";
            fromSouce += "    left join  (  select  COUNT(*) wanjieshuliang ,oc.BusinessManagerId from OA_CorporateClients oc where  oc.Shifouwanjie=1 and   DATEDIFF(MONTH,oc.[LastUpdateTime],'" + chaxuntime + "') =0  group by oc.BusinessManagerId   ) wanjie on wanjie.BusinessManagerId = os.Keyid  ";
            fromSouce += "   left join  (  select COUNT( distinct oc.Keyid)  xiadanshuliang ,oc.BusinessManagerId from OA_CorporateClients oc  Inner Join EC_OrderBasic ob On oc.Keyid=ob.[BuyerId]  where DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0   group by oc.BusinessManagerId   ) xiadan on xiadan.BusinessManagerId = os.Keyid  ";
            fromSouce += "   left join ( select  COUNT(*)  huifangshuliang,occ.Creater as BusinessManagerId  from  OA_CorporateClientsVisit occ   where DATEDIFF(MONTH,occ.[VisitTime],'" + chaxuntime + "') =0  group by occ.Creater  ) huifang on huifang.BusinessManagerId = os.MemberId ";
            fromSouce += "  left join ( select  oc.BusinessManagerId,sum(ob.SumPrice) SumPrice,sum(ts.PayedMoney)  PayedMoney ,COUNT(*) as shuliang  ";
            fromSouce += "  left join ( select  oc.BusinessManagerId,sum(ob.SumPrice) SumPrice,sum(ts.PayedMoney)  PayedMoney ,COUNT(*) as shuliang  ,SUM( Case When ( (ob.SumPrice-ts.PayedMoney) <=0 or ob.PayState =-1) then 0 else (ob.SumPrice-ts.PayedMoney) end) OrAllUnPayedMoney  ";
            fromSouce += "  from EC_OrderBasic ob   ";
            fromSouce += "  Inner Join EC_OrderExtend as oe On(ob.Keyid=oe.Keyid)   ";
            fromSouce += "  Inner Join Pay_TradingSingle as ts On(ob.Keyid = ts.OrderId)  ";
            fromSouce += "  Inner Join OA_CorporateClients as oc On(ob.BuyerId = oc.Keyid)  ";
            fromSouce += "  left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid    where DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0   ";
            fromSouce += "  left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid    where DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0  and ob.OrderState !=0 and ob.OrderState !=-2   and  ob.[SumPrice] >0 ";
            fromSouce += "  group by  oc.BusinessManagerId ) ob  on os.Keyid = ob.BusinessManagerId  ";
            fromSouce += " left join ( select  oc.BusinessManagerId,sum(ob.SumPrice) kaipiaojine    ";
            fromSouce += "  from EC_OrderBasic ob   ";
            fromSouce += "   Inner Join EC_OrderExtend as oe On(ob.Keyid=oe.Keyid)   ";
            fromSouce += "  Inner Join OA_CorporateClients as oc On(ob.BuyerId = oc.Keyid)  ";
            fromSouce += "  left join EC_AwbInfo ea  on ob.Keyid = ea.Keyid  ";
            fromSouce += "  left join OA_Kaipiaoshenqing  ks  on ks.Keyid = oe.KaipiaoshenqingId  ";
            fromSouce += "  left join OA_Kaipiaoshenqing  ks  on ks.Keyid = oe.KaipiaoshenqingId    and ob.OrderState !=0 and ob.OrderState !=-2  ";
            fromSouce += " where ks.Kaipiaoshenqing = 3   and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "') =0   ";
            fromSouce += "  group by  oc.BusinessManagerId ) eob  on os.Keyid = eob.BusinessManagerId ";
            fromSouce += "   where os.Status='在职'  And IsBusinessManager='true'       " + where;
@@ -1431,27 +1770,28 @@
                from.Append(" ( ");
                from.Append("  select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =1 ");
                from.Append(" inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0  and DATEDIFF(MONTH,ob.CreateTime,'"+ datetimenow + "') > 0  ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null   ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1   and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0 "
                      ); //oe.KaipiaoshenqingId is null
                from.Append("  UNION ");
                from.Append(" select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =2  ");
                from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and  DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0  and  DATENAME(year, ob.CreateTime) +'第'+DATENAME(quarter,  ob.CreateTime) <DATENAME(year, '"+ datetimenow + "') +'第'+DATENAME(quarter,  '"+ datetimenow + "') ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null   ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1   and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                from.Append(" UNION  ");
                from.Append("  select  ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =3 ");
                from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and  DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and DATENAME(year, ob.CreateTime) +'第'+CONVERT(varchar,(month(ob.CreateTime)+5)/6)+'半年'<DATENAME(year,'"+ datetimenow + "') +'第'+CONVERT(varchar,(month('"+ datetimenow + "')+5)/6)+'半年' ");
                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                from.Append("  UNION ");
                from.Append("  select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =4 ");
                from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and DATENAME(year, ob.CreateTime)+'年' <DATENAME(year, '"+ datetimenow + "')+'年'  ");
                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                from.Append("  UNION ");
                from.Append(" select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =6 and oc.Shifouwanjie=1  ");
                from.Append(" inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                from.Append("  UNION ");
                from.Append(" select ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =7  ");
                from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and DATEDIFF(day,ob.CreateTime,GETDATE()) > oc.Paydays ");
                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null  ");
                from.Append("  inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1  and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                from.Append("  UNION ");
                from.Append(" select   ob.*  from  OA_Staff os inner join [OA_CorporateClients] oc  on oc.BusinessManagerId = os.Keyid  and os.Keyid="+ oA_DeliverPlan.BusinessManagerId + "  and oc.Paytime =5  ");
                from.Append("  inner join EC_OrderBasic ob on  ob.BuyerId =oc.Keyid and ob.OrderState !=0 and ob.OrderState !=-2  and DATEDIFF(MONTH,ob.CreateTime,'" + chaxuntime + "')=0   and ");
@@ -1461,7 +1801,7 @@
                from.Append("   case when DATEDIFF(day,'"+ datetimenow + "',DATENAME(year, '"+ datetimenow + "')+'-03-01')>0    then CONVERT(varchar,YEAR('"+ datetimenow + "')-1)+'至'+CONVERT(varchar,YEAR('"+ datetimenow + "'))+ '1学期'  ");
                from.Append("    when DATEDIFF(day,'"+ datetimenow + "',DATENAME(year, '"+ datetimenow + "')+'-09-01')<=0    then CONVERT(varchar,YEAR('"+ datetimenow + "'))+'至'+CONVERT(varchar,YEAR('"+ datetimenow + "')+1)+ '1学期'  ");
                from.Append("   else CONVERT(varchar,YEAR('"+ datetimenow + "')-1)+'至'+CONVERT(varchar,YEAR('"+ datetimenow + "'))+'2学期' end  ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  oe.KaipiaoshenqingId is null   ");
                from.Append(" inner join EC_OrderExtend   oe on  ob.Keyid=oe.Keyid   and  ob.PayState !=-1   and  ob.[SellerId] = '" + FirmId + "' and  ob.[SumPrice] >0  ");
                from.Append(" ) as t ");
@@ -1469,6 +1809,15 @@
                var eC_OrderBasics = _dataBase.SelectModel<Model.EC_OrderBasic>(" t.* ", from.ToString());
                oA_DeliverPlan.fapiaoshuliang = eC_OrderBasics.Count;
                foreach(var eC_OrderBasic in eC_OrderBasics)
                {
                    oA_DeliverPlan.fapiaoshuliangName += eC_OrderBasic.Keyid + ",";
                }
                if (!string.IsNullOrEmpty(oA_DeliverPlan.fapiaoshuliangName))
                {
                    oA_DeliverPlan.fapiaoshuliangName = oA_DeliverPlan.fapiaoshuliangName.Trim(',');
                }
            }
            return null == result ? null : result;//返回结果