Пример #1
0
        public static bool ConfirmSttlSubSellOrder(SubSellOrderModel SubSellOrderM)
        {
            try
            {
                SqlCommand comm = SubSellOrderDBHelper.ConfirmSettSubSellOrder(SubSellOrderM);
                //获取登陆用户信息
                UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];
                //定义返回变量
                bool isSucc = false;

                /*
                 * 定义日志内容变量
                 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库
                 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件
                 */

                //执行插入操作
                try
                {
                    isSucc = SqlHelper.ExecuteTransWithCommand(comm);
                }
                catch (Exception ex)
                {
                    //输出日志
                    WriteSystemLog(userInfo, ex);
                }
                //定义变量
                string remark;
                //成功时
                if (isSucc)
                {
                    //设置操作成功标识
                    remark = ConstUtil.LOG_PROCESS_SUCCESS;
                }
                else
                {
                    //设置操作成功标识
                    remark = ConstUtil.LOG_PROCESS_FAILED;
                }

                LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo);
                //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空
                logModel.Element = ConstUtil.LOG_PROCESS_STTL;
                //设置操作成功标识
                logModel.Remark = remark;

                //登陆日志
                LogDBHelper.InsertLog(logModel);
                return(isSucc);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
 public static DataTable SelectSubSellOrder(SubSellOrderModel SubSellOrderM, int pageIndex, int pageCount, string OrderBy, string EFIndex, string EFDesc, ref int totalCount)
 {
     try
     {
         SqlCommand comm = SubSellOrderDBHelper.SelectSubSellOrder(SubSellOrderM, pageIndex, pageCount, OrderBy, EFIndex, EFDesc, ref totalCount);
         //执行查询
         return(SqlHelper.PagerWithCommand(comm, pageIndex, pageCount, OrderBy, ref totalCount));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #3
0
    protected void btnImport_Click(object sender, ImageClickEventArgs e)
    {
        string companyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;

        SubSellOrderModel SubSellOrderM = new SubSellOrderModel();

        SubSellOrderM.CompanyCD  = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;
        SubSellOrderM.OrderNo    = this.txtOrderNo.Value.Trim();
        SubSellOrderM.Title      = this.txtOrderTitle.Value.Trim();
        SubSellOrderM.SendMode   = this.ddlSendMode.Value;
        SubSellOrderM.CustName   = this.txtCustName.Value.Trim();
        SubSellOrderM.CustTel    = this.txtCustTel.Value.Trim();
        SubSellOrderM.CustMobile = this.txtCustMobile.Value.Trim();
        SubSellOrderM.CustAddr   = this.txtCustAddr.Value.Trim();
        SubSellOrderM.DeptID     = this.hidDeptID.Value;
        SubSellOrderM.Seller     = this.hidUserID.Value;
        SubSellOrderM.BusiStatus = this.ddlBusiStatus.Value;
        SubSellOrderM.BillStatus = this.ddlBillStatus.Value;;

        string EFIndex = GetBillExAttrControl1.GetExtIndexValue;
        string EFDesc  = GetBillExAttrControl1.GetExtTxtValue;

        int       totalCount = 0;
        DataTable dt         = SubSellOrderBus.SelectSubSellOrder(SubSellOrderM, 1, 100000000, "ID desc", EFIndex, EFDesc, ref totalCount);



        //DataTable dt = WorkCenterBus.GetWorkCenterListBycondition(model, 1, 1000000, "ID desc", ref totalCount);

        //导出标题
        string headerTitle = "订单编号|订单主题|发货模式|客户名称|客户联系电话|客户手机号|送货地址|销售分店|业务员|业务状态|单据状态";

        string[] header = headerTitle.Split('|');

        //导出标题所对应的列字段名称
        string columnFiled = "OrderNo|Title|SendModeName|CustName|CustTel|CustMobile|CustAddr|DeptName|SellerName|BusiStatusName|BillStatusName";

        string[] field = columnFiled.Split('|');

        XBase.Common.OutputToExecl.ExportToTable(this.Page, dt, header, field, "销售订单");
    }
Пример #4
0
        /// <summary>
        /// 确认
        /// </summary>
        /// <param name="SubSellOrderM"></param>
        /// <param name="SubSellOrderDetailMList"></param>
        /// <returns></returns>
        public static bool ConfirmOutSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList)
        {
            try
            {
                ArrayList    lstConfirm = new ArrayList();
                UserInfoUtil userInfo   = (UserInfoUtil)SessionUtil.Session["UserInfo"];
                int          id         = 0;
                decimal      count      = 0m;
                if (SubSellOrderM.SendMode == "1")
                {//分店发货
                    //确认时,更新分店存量表
                    foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList)
                    {
                        #region 添加门店库存流水帐
                        SubStorageAccountModel aModel = new SubStorageAccountModel();
                        aModel.BatchNo   = SubSellOrderDetailM.BatchNo;
                        aModel.BillNo    = SubSellOrderM.OrderNo;
                        aModel.BillType  = 3;
                        aModel.CompanyCD = SubSellOrderDetailM.CompanyCD;
                        aModel.PageUrl   = "";
                        if (int.TryParse(SubSellOrderM.Creator, out id))
                        {
                            aModel.Creator = id;
                        }
                        if (int.TryParse(SubSellOrderM.DeptID, out id))
                        {
                            aModel.DeptID = id;
                        }
                        aModel.HappenDate = DateTime.Now;
                        if (int.TryParse(SubSellOrderDetailM.ProductID, out id))
                        {
                            aModel.ProductID = id;
                        }
                        if (decimal.TryParse(SubSellOrderDetailM.UnitPrice, out count))
                        {
                            aModel.Price = count;
                        }
                        if (decimal.TryParse(SubSellOrderDetailM.ProductCount, out count))
                        {
                            aModel.HappenCount = -count;
                        }
                        aModel.PageUrl = SubSellOrderM.Remark;
                        lstConfirm.Add(XBase.Data.Office.SubStoreManager.SubStorageAccountDBHelper.GetCountAndInsertCommand(aModel));
                        #endregion

                        lstConfirm.Add(XBase.Data.Office.LogisticsDistributionManager.StorageProductQueryDBHelper.UpdateProductCount(userInfo.CompanyCD
                                                                                                                                     , SubSellOrderDetailM.ProductID, SubSellOrderM.DeptID, SubSellOrderDetailM.BatchNo, -count));
                    }
                }
                else if (SubSellOrderM.SendMode == "2")
                {//总部发货
                    //确认时更新分仓存量表
                    foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList)
                    {
                        #region 添加库存流水帐

                        XBase.Model.Office.StorageManager.StorageAccountModel sModel = new XBase.Model.Office.StorageManager.StorageAccountModel();
                        sModel.BatchNo   = SubSellOrderDetailM.BatchNo;
                        sModel.BillNo    = SubSellOrderM.OrderNo;
                        sModel.BillType  = 21;
                        sModel.CompanyCD = SubSellOrderDetailM.CompanyCD;
                        if (int.TryParse(SubSellOrderDetailM.StorageID, out id))
                        {
                            sModel.StorageID = id;
                        }
                        if (int.TryParse(SubSellOrderM.Creator, out id))
                        {
                            sModel.Creator = id;
                        }
                        if (int.TryParse(SubSellOrderDetailM.ProductID, out id))
                        {
                            sModel.ProductID = id;
                        }
                        if (decimal.TryParse(SubSellOrderDetailM.UnitPrice, out count))
                        {
                            sModel.Price = count;
                        }
                        if (decimal.TryParse(SubSellOrderDetailM.ProductCount, out count))
                        {
                            sModel.HappenCount = count;
                        }
                        sModel.HappenDate = DateTime.Now;
                        sModel.PageUrl    = SubSellOrderM.Remark;
                        lstConfirm.Add(XBase.Data.Office.StorageManager.StorageAccountDBHelper.InsertStorageAccountCommand(sModel, "1"));

                        #endregion

                        // 更新库存
                        lstConfirm.Add(XBase.Data.Office.StorageManager.StorageSearchDBHelper.UpdateProductCount(userInfo.CompanyCD
                                                                                                                 , SubSellOrderDetailM.ProductID, SubSellOrderDetailM.StorageID
                                                                                                                 , SubSellOrderDetailM.BatchNo, -count));
                    }
                }

                //更新发货信息和安装信息
                lstConfirm.Add(SubSellOrderDBHelper.ConfirmOutSubSellOrder(SubSellOrderM));

                //获取登陆用户信息
                //UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];
                //定义返回变量
                bool isSucc = false;

                /*
                 * 定义日志内容变量
                 * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库
                 * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件
                 */

                //执行插入操作
                try
                {
                    isSucc = SqlHelper.ExecuteTransWithArrayList(lstConfirm);
                }
                catch (Exception ex)
                {
                    //输出日志
                    WriteSystemLog(userInfo, ex);
                }
                //定义变量
                string remark;
                //成功时
                if (isSucc)
                {
                    //设置操作成功标识
                    remark = ConstUtil.LOG_PROCESS_SUCCESS;
                }
                else
                {
                    //设置操作成功标识
                    remark = ConstUtil.LOG_PROCESS_FAILED;
                }

                LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo);
                //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空
                logModel.Element = ConstUtil.LOG_PROCESS_OUT;
                //设置操作成功标识
                logModel.Remark = remark;

                //登陆日志
                LogDBHelper.InsertLog(logModel);
                return(isSucc);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #5
0
        /// <summary>
        /// 销售订单发货确认判断
        /// </summary>
        /// <param name="SubSellOrderM"></param>
        /// <param name="SubSellOrderDetailMList"></param>
        /// <param name="ProductID">负库存产品ID</param>
        /// <returns>返回1 则数量合法,2 则确认后会有负库存,且不允许出现负库存,3 则确认后会有负库存,允许出现负库存</returns>
        public static int CanConfirmOutSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList, ref string ProductID)
        {
            try
            {
                int a = 1;
                Dictionary <int, List <string> > dic = new Dictionary <int, List <string> >();

                //判断是总部发货还是分店发货
                if (SubSellOrderM.SendMode == "1")
                {//分店发货
                    foreach (SubSellOrderDetailModel item in SubSellOrderDetailMList)
                    {
                        a = SubSellOrderDBHelper.CanConfirmOutSub(SubSellOrderM.DeptID, item.ProductID, item.ProductCount, item.BatchNo);
                        if (dic.ContainsKey(a))
                        {// 状态存在
                            if (!dic[a].Contains(item.ProductID))
                            {
                                dic[a].Add(item.ProductID);
                            }
                        }
                        else
                        {// 状态不存在
                            dic.Add(a, new List <string>()
                            {
                                item.ProductID
                            });
                        }
                    }
                }
                else if (SubSellOrderM.SendMode == "2")
                {//总部发货
                    foreach (SubSellOrderDetailModel item in SubSellOrderDetailMList)
                    {
                        a = SubSellOrderDBHelper.CanConfirmOutHq(item.StorageID, item.ProductID, item.ProductCount, item.BatchNo);
                        if (dic.ContainsKey(a))
                        {// 状态存在
                            if (!dic[a].Contains(item.ProductID))
                            {
                                dic[a].Add(item.ProductID);
                            }
                        }
                        else
                        {// 状态不存在
                            dic.Add(a, new List <string>()
                            {
                                item.ProductID
                            });
                        }
                    }
                }
                if (dic.ContainsKey(2))
                {
                    a = 2;
                }
                else if (dic.ContainsKey(3))
                {
                    a = 3;
                }
                else
                {
                    a = 1;
                }
                ProductID = string.Join(",", dic[a].ToArray());
                return(a);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #6
0
        public static bool InsertSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList, out int IndexIDentity, Hashtable htExtAttr)
        {
            ArrayList lstAdd = new ArrayList();

            //主表新增
            SqlCommand AddPri = SubSellOrderDBHelper.InsertSubSellOrder(SubSellOrderM);

            lstAdd.Add(AddPri);

            // 更新扩展属性
            SqlCommand commExtAttr = SubSellOrderDBHelper.UpdateExtAttr(SubSellOrderM, htExtAttr);

            if (commExtAttr != null)
            {
                lstAdd.Add(commExtAttr);
            }

            //明细表新增
            foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList)
            {
                SqlCommand AddDtl = SubSellOrderDBHelper.InsertSubSellOrderDetail(SubSellOrderDetailM);
                lstAdd.Add(AddDtl);
            }

            //获取登陆用户信息
            UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];
            //定义返回变量
            bool isSucc = false;

            /*
             * 定义日志内容变量
             * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库
             * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件
             */

            //执行插入操作
            try
            {
                isSucc = SqlHelper.ExecuteTransWithArrayList(lstAdd);
            }
            catch (Exception ex)
            {
                //输出日志
                WriteSystemLog(userInfo, ex);
            }


            //定义变量
            string remark;

            //成功时
            if (isSucc)
            {
                //设置操作成功标识
                remark        = ConstUtil.LOG_PROCESS_SUCCESS;
                IndexIDentity = int.Parse(((SqlCommand)AddPri).Parameters["@IndexID"].Value.ToString());
            }
            else
            {
                //设置操作成功标识
                remark        = ConstUtil.LOG_PROCESS_FAILED;
                IndexIDentity = 0;
            }

            LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo);

            //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空
            logModel.Element = ConstUtil.LOG_PROCESS_INSERT;
            //设置操作成功标识
            logModel.Remark = remark;

            //登陆日志
            LogDBHelper.InsertLog(logModel);
            return(isSucc);
        }
Пример #7
0
        public static bool UpdateSubSellOrder(SubSellOrderModel SubSellOrderM, List <SubSellOrderDetailModel> SubSellOrderDetailMList, Hashtable htExtAttr)
        {
            ArrayList lstUpdate = new ArrayList();
            //更新主表
            SqlCommand UpdatePri = SubSellOrderDBHelper.UpdateSubSellOrder(SubSellOrderM);

            lstUpdate.Add(UpdatePri);

            // 更新扩展属性
            SqlCommand commExtAttr = SubSellOrderDBHelper.UpdateExtAttr(SubSellOrderM, htExtAttr);

            if (commExtAttr != null)
            {
                lstUpdate.Add(commExtAttr);
            }

            //删除明细
            SqlCommand DeleteDetail = SubSellOrderDBHelper.DeleteSubSellOrderDetail(SubSellOrderM.OrderNo);

            lstUpdate.Add(DeleteDetail);
            //新增明细
            foreach (SubSellOrderDetailModel SubSellOrderDetailM in SubSellOrderDetailMList)
            {
                SqlCommand AddDetail = SubSellOrderDBHelper.InsertSubSellOrderDetail(SubSellOrderDetailM);
                lstUpdate.Add(AddDetail);
            }

            //获取登陆用户信息
            UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];
            //定义返回变量
            bool isSucc = false;

            /*
             * 定义日志内容变量
             * 增删改相关的日志,需要输出操作日志,该类型日志插入到数据库
             * 其他的 如出现异常时,需要输出系统日志,该类型日志保存到日志文件
             */

            //执行插入操作
            try
            {
                isSucc = SqlHelper.ExecuteTransWithArrayList(lstUpdate);
            }
            catch (Exception ex)
            {
                //输出日志
                WriteSystemLog(userInfo, ex);
            }
            //定义变量
            string remark;

            //成功时
            if (isSucc)
            {
                //设置操作成功标识
                remark = ConstUtil.LOG_PROCESS_SUCCESS;
            }
            else
            {
                //设置操作成功标识
                remark = ConstUtil.LOG_PROCESS_FAILED;
            }

            LogInfoModel logModel = InitLogInfo(SubSellOrderM.OrderNo);

            //涉及关键元素 这个需要根据每个页面具体设置,本页面暂时设置为空
            logModel.Element = ConstUtil.LOG_PROCESS_UPDATE;
            //设置操作成功标识
            logModel.Remark = remark;

            //登陆日志
            LogDBHelper.InsertLog(logModel);
            return(isSucc);
        }