public void ProcessRequest(HttpContext context)
        {
            try
            {
                context.Response.ContentType = "text/plain";
                string jobID = context.Request.Form["hJobID"];
                DataAccess.RunProcedure procedure = new DataAccess.RunProcedure();
                bool flat = true;
                if (!string.IsNullOrEmpty(jobID))
                {
                    DataSet view = procedure.JobView(jobID, "ReIssueList");
                    if (!view.Tables[3].Rows[0]["StatusName"].Equals("未提交."))
                    {
                        flat = false;
                    }
                }
                if (flat)
                {
                    //JobInfo数据
                    Entity.JobInfo job  = new Entity.JobInfo();
                    DateTime       time = DateTime.Now;
                    job.JobID             = string.IsNullOrEmpty(jobID) ? "RI-" + CardCenter.DataAccess.CardCenterHelper.GetCardNo() : jobID;
                    job.JobType           = "RI";
                    job.CreateTime        = time;
                    job.CreateUser        = PageBase.CommonObject.LoginUserInfo.companyId;
                    job.IsDelete          = false;
                    job.EnterpriseName    = CommonObject.LoginCompanyInfo.FULL_NAME;
                    job.EnterpriseAddress = CommonObject.LoginCompanyInfo.ADDR_CO;
                    job.EnterpriseCode    = CommonObject.LoginCompanyInfo.COP_GB_CODE;
                    job.AgentName         = context.Request.Form["agentName"];
                    job.AgentPhone        = context.Request.Form["agentPhone"];
                    job.ConsigneeName     = context.Request.Form["consigneeName"];
                    job.ConsigneeAddress  = context.Request.Form["consigneeAddress"];
                    job.ConsigneePhone    = context.Request.Form["consigneePhone"];
                    job.ExpressFlat       = null;
                    job.Remark            = string.Empty;
                    job.Fee         = 0;
                    job.FeeFlat     = "无须缴费";
                    job.CustomsCode = CommonObject.LoginUserInfo.companyId;
                    job.IsOnline    = true;

                    //FileList数据
                    List <Entity.FileList> fileList = new List <Entity.FileList>();
                    DataSet ds      = procedure.SelectFileTypeByJobType("RI");
                    string  fileErr = string.Empty;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        string guid     = context.Request.Form["h" + dr["FileTypeID"].ToString()];
                        string fileName = context.Request.Form["txt" + dr["FileTypeID"].ToString()];
                        if (!string.IsNullOrEmpty(guid))
                        {
                            Entity.FileList file = new Entity.FileList();
                            file.Guid     = guid;
                            file.FileType = dr["FileTypeID"].ToString();
                            file.FileName = fileName;
                            file.JobID    = job.JobID;
                            file.ListID   = string.Empty;
                            file.IsDelete = false;
                            file.Remark   = string.Empty;
                            fileList.Add(file);
                        }
                        else
                        {
                            fileErr += "\n工单随附资料【" + dr["FileTypeName"] + "】未上传!";
                        }
                    }

                    DataSet list = new DataAccess.ReIssueList().GetList("JobID='" + jobID + "' and IsDelete=0");
                    foreach (DataRow dr in list.Tables[0].Rows)
                    {
                        DataSet typeDs = procedure.SelectFileTypeByJobType(dr["JobType"].ToString());
                        foreach (DataRow typeDr in typeDs.Tables[0].Rows)
                        {
                            string guid     = context.Request.Form["h" + typeDr["FileTypeID"].ToString() + dr["ListID"].ToString()];
                            string fileName = context.Request.Form["txt" + typeDr["FileTypeID"].ToString() + dr["ListID"].ToString()];
                            if (!string.IsNullOrEmpty(guid))
                            {
                                Entity.FileList file = new Entity.FileList();
                                file.Guid     = guid;
                                file.FileType = typeDr["FileTypeID"].ToString();
                                file.FileName = fileName;
                                file.JobID    = job.JobID;
                                file.ListID   = dr["ListID"].ToString();
                                file.IsDelete = false;
                                file.Remark   = string.Empty;
                                fileList.Add(file);
                            }
                            else
                            {
                                fileErr += "\n工单项【业务类型:" + new DataAccess.Para_JobType().GetModel(dr["JobType"].ToString()).JobName + ",持卡人姓名:" + dr["CardholderName"] + "】随附资料【" + typeDr["FileTypeName"] + "】未上传!";
                            }
                        }
                    }

                    if (context.Request.Form["type"] == "complete")
                    {
                        //判断是否添加附件
                        if (fileErr != "")
                        {
                            context.Response.Write(JsonConvert.SerializeObject(new Data(fileErr, "")));
                            return;
                        }
                        //判断是否添加工单项
                        ds = procedure.JobView(jobID, "ReIssueList");
                        if (ds.Tables[1].Rows.Count == 0)
                        {
                            context.Response.Write(JsonConvert.SerializeObject(new Data("\n请添加至少一条工单项记录!", "")));
                            return;
                        }
                    }

                    //FlowInfo数据
                    Entity.FlowInfo flow = new Entity.FlowInfo();
                    flow.Guid       = Guid.NewGuid().ToString();
                    flow.JobID      = job.JobID;
                    flow.FlowID     = context.Request.Form["hSaveType"] == "add" ? 1 : int.Parse(new CardCenter.DataAccess.Flow().GetList("JobType='RI' and FlowOrder=2").Tables[0].Rows[0]["FlowStatus"].ToString());
                    flow.SubmitDate = time;
                    flow.SubmitUser = PageBase.CommonObject.LoginUserInfo.companyId;
                    flow.Content    = context.Request.Form["hSaveType"] == "add" ? PageBase.CommonObject.LoginCompanyInfo.FULL_NAME + "暂存数据." : PageBase.CommonObject.LoginCompanyInfo.FULL_NAME + "提交工单.";
                    flow.IsDelete   = false;
                    flow.Remark     = string.Empty;

                    //提交数据到后台存储过程事务
                    DataAccess.TranHelper.BeginTran();
                    DataAccess.RIDataAccess ri = new DataAccess.RIDataAccess();
                    ri.InsertHeadData(job, fileList, flow);
                    if (context.Request.Form["hSaveType"] == "complete")
                    {
                        ri.InsertHandleList(job);
                    }
                    try
                    {
                        DataAccess.TranHelper.CommitTran();
                        DataAccess.CardCenterHelper.SendMessage(job.JobID);
                        context.Response.Write(JsonConvert.SerializeObject(new Data("", job.JobID)));
                    }
                    catch (Exception ex)
                    {
                        context.Response.Write(JsonConvert.SerializeObject(new Data("\n数据提交出错!" + ex.Message, "")));
                    }
                }
                else
                {
                    context.Response.Write(JsonConvert.SerializeObject(new Data("该工单状态为已提交,无法继续修改工单信息!", "")));
                }
            }
            catch (Exception ex)
            {
                context.Response.Write(JsonConvert.SerializeObject(new Data("\n" + ex.Message, "")));
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                context.Response.ContentType = "text/plain";
                string jobID = context.Request.Form["hJobID"];
                DataAccess.RunProcedure procedure = new DataAccess.RunProcedure();
                bool flat = true;
                if (!string.IsNullOrEmpty(jobID))
                {
                    DataSet view = procedure.JobView(jobID, "SaleList");
                    if (!view.Tables[3].Rows[0]["StatusName"].Equals("未提交."))
                    {
                        flat = false;
                    }
                }
                if (flat)
                {
                    //JobInfo数据
                    Entity.JobInfo job  = new Entity.JobInfo();
                    DateTime       time = DateTime.Now;
                    job.JobID             = string.IsNullOrEmpty(jobID) ? "SL-" + CardCenter.DataAccess.CardCenterHelper.GetCardNo() : jobID;
                    job.JobType           = "SL";
                    job.CreateTime        = time;
                    job.CreateUser        = PageBase.CommonObject.LoginUserInfo.companyId;
                    job.IsDelete          = false;
                    job.EnterpriseName    = CommonObject.LoginCompanyInfo.FULL_NAME;
                    job.EnterpriseAddress = CommonObject.LoginCompanyInfo.ADDR_CO;
                    job.EnterpriseCode    = CommonObject.LoginCompanyInfo.COP_GB_CODE;
                    job.AgentName         = context.Request.Form["agentName"];
                    job.AgentPhone        = context.Request.Form["agentPhone"];
                    job.ConsigneeName     = context.Request.Form["consigneeName"];
                    job.ConsigneeAddress  = context.Request.Form["consigneeAddress"];
                    job.ConsigneePhone    = context.Request.Form["consigneePhone"];
                    job.ExpressFlat       = context.Request.Form["expressflat"] == "快递" ? true : false;
                    job.Remark            = string.Empty;
                    DataTable feeDt = procedure.JobFeeDetal(job.JobID, "SaleList").Tables[0];
                    job.Fee = decimal.Parse(feeDt.Rows[0]["Fee"].ToString());
                    if (job.Fee == 0)
                    {
                        job.FeeFlat = "无须缴费";
                    }
                    else
                    {
                        job.FeeFlat = "待缴费";
                    }
                    job.CustomsCode     = CommonObject.LoginUserInfo.companyId;
                    job.IsOnline        = true;
                    job.InvoiceName     = context.Request.Form["txtInvoiceName"];
                    job.InvoicePhone    = context.Request.Form["txtInvoicePhone"];
                    job.InvoiceAddress  = context.Request.Form["txtInvoiceAddress"];
                    job.InvoicePostCode = context.Request.Form["txtInvoicePostCode"];
                    job.InvoiceEmail    = context.Request.Form["txtInvoiceEmail"];
                    job.InvoiceCode     = context.Request.Form["txtInvoiceCode"];

                    //FileList数据
                    List <Entity.FileList> fileList = new List <Entity.FileList>();
                    DataSet ds      = procedure.SelectFileTypeByJobType("SL");
                    string  fileErr = string.Empty;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        string guid     = context.Request.Form["h" + dr["FileTypeID"].ToString()];
                        string fileName = context.Request.Form["txt" + dr["FileTypeID"].ToString()];
                        if (!string.IsNullOrEmpty(guid))
                        {
                            Entity.FileList file = new Entity.FileList();
                            file.Guid     = guid;
                            file.FileType = dr["FileTypeID"].ToString();
                            file.FileName = fileName;
                            file.JobID    = job.JobID;
                            file.ListID   = string.Empty;
                            file.IsDelete = false;
                            file.Remark   = string.Empty;
                            fileList.Add(file);
                        }
                        else
                        {
                            fileErr += "\n工单随附资料【" + dr["FileTypeName"] + "】未上传!";
                        }
                    }

                    DataSet list = new DataAccess.SaleList().GetList("JobID='" + job.JobID + "' and IsDelete=0");
                    foreach (DataRow dr in list.Tables[0].Rows)
                    {
                        DataSet typeDs = procedure.SelectFileTypeByJobType(dr["JobType"].ToString());
                        foreach (DataRow typeDr in typeDs.Tables[0].Rows)
                        {
                            string guid     = context.Request.Form["h" + typeDr["FileTypeID"].ToString() + dr["ListID"].ToString()];
                            string fileName = context.Request.Form["txt" + typeDr["FileTypeID"].ToString() + dr["ListID"].ToString()];
                            if (!string.IsNullOrEmpty(guid))
                            {
                                Entity.FileList file = new Entity.FileList();
                                file.Guid     = guid;
                                file.FileType = typeDr["FileTypeID"].ToString();
                                file.FileName = fileName;
                                file.JobID    = job.JobID;
                                file.ListID   = dr["ListID"].ToString();
                                file.IsDelete = false;
                                file.Remark   = string.Empty;
                                fileList.Add(file);
                            }
                            else
                            {
                                fileErr += "\n工单项【业务类型:" + new DataAccess.Para_JobType().GetModel(dr["JobType"].ToString()).JobName + ",持卡人姓名:" + dr["CardholderName"] + "】随附资料【" + typeDr["FileTypeName"] + "】未上传!";
                            }
                        }
                    }

                    if (context.Request.Form["type"] == "complete")
                    {
                        //判断是否添加附件
                        if (fileErr != "")
                        {
                            context.Response.Write(JsonConvert.SerializeObject(new Data(fileErr, "")));
                            return;
                        }
                        //判断是否添加工单项
                        ds = procedure.JobView(job.JobID, "SaleList");
                        if (ds.Tables[1].Rows.Count == 0)
                        {
                            context.Response.Write(JsonConvert.SerializeObject(new Data("\n请添加至少一条工单项记录!", "")));
                            return;
                        }
                    }

                    //FlowInfo数据
                    Entity.FlowInfo flow = new Entity.FlowInfo();
                    flow.Guid       = Guid.NewGuid().ToString();
                    flow.JobID      = job.JobID;
                    flow.FlowID     = context.Request.Form["hSaveType"] == "add" ? 1 : int.Parse(new CardCenter.DataAccess.Flow().GetList("JobType='SL' and FlowOrder=2").Tables[0].Rows[0]["FlowStatus"].ToString());
                    flow.SubmitDate = time;
                    flow.SubmitUser = PageBase.CommonObject.LoginUserInfo.companyId;
                    flow.Content    = context.Request.Form["hSaveType"] == "add" ? PageBase.CommonObject.LoginCompanyInfo.FULL_NAME + "暂存数据." : PageBase.CommonObject.LoginCompanyInfo.FULL_NAME + "提交工单.";
                    flow.IsDelete   = false;
                    flow.Remark     = string.Empty;

                    //SaleBinding数据
                    Entity.SaleBinding     mBinding   = new Entity.SaleBinding();
                    DataAccess.SaleBinding dalBinding = new DataAccess.SaleBinding();
                    DataTable dtBindList = dalBinding.GetList("SaleID='" + job.JobID + "'").Tables[0];
                    if (dtBindList.Rows.Count > 0)
                    {
                        mBinding       = dalBinding.GetEntity(dtBindList.Rows[0][0].ToString());
                        mBinding.JobID = context.Request.Form["hJobList"];
                        dalBinding.Update(mBinding);
                    }
                    else
                    {
                        mBinding.Guid   = Guid.NewGuid().ToString();
                        mBinding.SaleID = job.JobID;
                        mBinding.JobID  = context.Request.Form["hJobList"];
                        dalBinding.Add(mBinding);
                    }

                    //提交数据到后台存储过程事务
                    DataAccess.TranHelper.BeginTran();
                    DataAccess.SLDataAccess sl = new DataAccess.SLDataAccess();
                    sl.InsertHeadData(job, fileList, flow);
                    if (context.Request.Form["hSaveType"] == "complete")
                    {
                        sl.InsertHandleList(job);
                        //减少显示库存
                        ds = new DataAccess.RunProcedure().JobView(jobID, "SaleList");
                        foreach (DataRow dr in ds.Tables[1].Rows)
                        {
                            Entity.Stock_Commodity commodityEntity = new DataAccess.Stock_Commodity().GetEntity(dr["ProductType"].ToString());
                            commodityEntity.StockDesplay -= int.Parse(dr["Num"].ToString());
                            if (commodityEntity.StockDesplay < 0)
                            {
                                context.Response.Write(JsonConvert.SerializeObject(new Data(string.Format("\n{0}{1}({2})库存不足,请更换库存充足的安全产品厂商或稍后再试!", commodityEntity.AdditionalAttributes, commodityEntity.CommodityName, commodityEntity.CommodityType), "")));
                                return;
                            }
                            else
                            {
                                new DataAccess.Stock_Commodity().Update(commodityEntity);
                            }
                        }
                    }
                    try
                    {
                        DataAccess.TranHelper.CommitTran();
                        DataAccess.CardCenterHelper.SendMessage(job.JobID);
                        context.Response.Write(JsonConvert.SerializeObject(new Data("", job.JobID)));
                    }
                    catch (Exception ex)
                    {
                        context.Response.Write(JsonConvert.SerializeObject(new Data("\n数据提交出错!" + ex.Message, "")));
                    }
                }
                else
                {
                    context.Response.Write(JsonConvert.SerializeObject(new Data("该工单状态为已提交,无法继续修改工单信息!", "")));
                }
            }
            catch (Exception ex)
            {
                context.Response.Write(JsonConvert.SerializeObject(new Data("\n" + ex.Message, "")));
            }
        }