public void ProcessRequest(HttpContext context)
        {
            var form                 = context.Request.Form;
            var files                = context.Request.Files;
            var orderNumberId        = int.Parse(form["orderId"]);    //订单id
            var workNumber           = int.Parse(form["workNumber"]); //工序号
            var number               = int.Parse(form["number"]);     //系数
            var blankType            = form["blankType"];             //毛坯种类  判断null
            var blankSpecification   = form["blankSpecification"];    //毛坯类型   判断null
            var blankNumber          = form["blankNumber"];           //毛坯数量  判断null
            var fixtureType          = form["fixtureType"];           //治具种类
            var fixtureSpecification = form["fixtureSpecification"];  //治具规格
            var cncType              = form["cncType"];               //机床型号


            //var fileBlank = context.Request.Files["fileBlank"];//毛坯图纸 判断null
            //var fileFixture = context.Request.Files["fileFixture"];//治具图纸 判断null
            var allFiles = context.Request.Files;

            if (cncType == null)
            {
                context.Response.Write("请输入机床类型");
                return;
            }
            double   ToolTime    = 0.1666666666;   //换刀时间
            double   ProcessTime = 0;              //工序时间
            double   OnMachMea   = 0.033333333333; //探测时间
            int      toolNum     = 0;              //换刀次数
            string   ToolNo      = "0";
            int      toolFlag    = 1;
            PathInfo pathInfo    = new PathInfo();

            using (JDJS_WMS_DB_USEREntities entities = new JDJS_WMS_DB_USEREntities())
            {
                using (System.Data.Entity.DbContextTransaction mytran = entities.Database.BeginTransaction())
                {
                    try
                    {
                        if (entities.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == orderNumberId & r.ProcessID == workNumber & r.sign == -1).Count() > 0)
                        {
                            context.Response.Write("该订单下工序已存在");
                            return;
                        }
                        foreach (var item in entities.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == orderNumberId && r.sign != 0))
                        {
                            item.sign = -1;
                            item.program_audit_sign = -1;
                        }
                        var    orderNumber        = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_ID == orderNumberId).First().Order_Number;
                        int    BlankNumber        = 0;
                        int    BlankType          = 0;
                        string BlankSpecification = "";
                        string JigSpecification   = "";
                        int    FixtureType        = 0;
                        FixtureType = Convert.ToInt32(fixtureType);
                        for (int i = 0; i < allFiles.Count; i++)
                        {
                            if (context.Request.Files["fileBlank" + i] != null)
                            {
                                var           pathblank      = Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "毛坯", context.Request.Files["fileBlank" + i].FileName);
                                DirectoryInfo directoryBlank = new DirectoryInfo(Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "毛坯"));
                                if (!directoryBlank.Exists)
                                {
                                    directoryBlank.Create();
                                }
                                context.Request.Files["fileBlank" + i].SaveAs(pathblank);
                            }
                            if (context.Request.Files["fileFixture" + i] != null)
                            {
                                var           path             = Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "治具", context.Request.Files["fileFixture" + i].FileName);
                                DirectoryInfo directoryFixture = new DirectoryInfo(Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "治具"));
                                if (!directoryFixture.Exists)
                                {
                                    directoryFixture.Create();
                                }
                                context.Request.Files["fileFixture" + i].SaveAs(path);
                            }
                            if (context.Request.Files["technologyFile" + i] != null)
                            {
                                var           path             = Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "工艺文件", context.Request.Files["technologyFile" + i].FileName);
                                DirectoryInfo directoryFixture = new DirectoryInfo(Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "工艺文件"));
                                if (!directoryFixture.Exists)
                                {
                                    directoryFixture.Create();
                                }
                                context.Request.Files["technologyFile" + i].SaveAs(path);
                            }//
                        }
                        //if (fileFixture != null)
                        //{
                        //    FileInfo fileInfo = new FileInfo(fileFixture.FileName);
                        //    var pathblank = Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "治具", fileInfo.Name);
                        //    DirectoryInfo directoryBlank = new DirectoryInfo(Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(),"治具"));
                        //    if (!directoryBlank.Exists)
                        //    {
                        //        directoryBlank.Create();
                        //    }
                        //    fileFixture.SaveAs(pathblank);
                        //}
                        //if (fileBlank != null)
                        //{
                        //    FileInfo fileInfo = new FileInfo(fileBlank.FileName);
                        //    var pathblank = Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(), "毛坯", fileInfo.Name);
                        //    DirectoryInfo directoryBlank = new DirectoryInfo(Path.Combine(pathInfo.upLoadPath(), orderNumber, "工序" + workNumber.ToString(),"毛坯"));
                        //    if (!directoryBlank.Exists)
                        //    {
                        //        directoryBlank.Create();
                        //    }
                        //    fileBlank.SaveAs(pathblank);
                        //}
                        if (fixtureSpecification == null)
                        {
                        }
                        else
                        {
                            JigSpecification = fixtureSpecification;
                        }
                        if (workNumber == 1)
                        {
                            if (blankNumber == null)
                            {
                                context.Response.Write("请输入毛坯数量");
                                return;
                            }
                            BlankNumber = Convert.ToInt32(blankNumber);
                            if (blankType == null)
                            {
                                context.Response.Write("请输入毛坯种类");
                                return;
                            }
                            BlankType = Convert.ToInt32(blankType);
                            if (BlankSpecification == null)
                            {
                            }
                            else
                            {
                                BlankSpecification = blankSpecification + "#1#";
                            }
                        }
                        else
                        {
                            var process1 = entities.JDJS_WMS_Order_Blank_Table.Where(r => r.OrderID == orderNumberId).FirstOrDefault();
                            if (process1 != null)
                            {
                                BlankNumber        = Convert.ToInt32(process1.BlackNumber);
                                BlankType          = Convert.ToInt32(process1.BlankType);
                                BlankSpecification = process1.BlankSpecification;
                            }
                            else
                            {
                                context.Response.Write("请先输入毛坯信息");
                                return;
                            }
                        }

                        var judge = entities.JDJS_WMS_Order_Blank_Table.Where(r => r.OrderID == orderNumberId);
                        if (judge.Count() == 0)
                        {
                            var newRow = new JDJS_WMS_Order_Blank_Table
                            {
                                OrderID                  = orderNumberId,
                                BlankType                = BlankType,
                                BlankSpecification       = BlankSpecification,
                                BlackNumber              = BlankNumber,
                                BlankState               = "待备料",
                                BlanktotalPreparedNumber = 0,
                                BlankAddition            = 0
                            };
                            entities.JDJS_WMS_Order_Blank_Table.Add(newRow);
                        }
                        else
                        {
                            BlankSpecification = judge.First().BlankSpecification;
                            BlankType          = Convert.ToInt32(judge.First().BlankType);
                        }

                        //var name0 = files[0].FileName;
                        //var name1 = files[1].FileName;
                        //string last0 = Path.GetExtension(name0);
                        //string last1 = Path.GetExtension(name1);
                        //var program = orderNumber + "-P" + workNumber + last0;
                        //var toolChartName = "T-" + orderNumber + "-P" + workNumber + last1;


                        //var path0 = Path.Combine(pathInfo.upLoadPath(), orderNumber, "加工文件", program);
                        //DirectoryInfo directoryP = new DirectoryInfo(Path.Combine(pathInfo.upLoadPath(), orderNumber, "加工文件"));
                        //if (!directoryP.Exists)
                        //{
                        //    directoryP.Create();
                        //}
                        //files[0].SaveAs(path0);
                        //var path1 = Path.Combine(pathInfo.upLoadPath(), orderNumber, "刀具表", toolChartName);
                        //DirectoryInfo directoryT = new DirectoryInfo(Path.Combine(pathInfo.upLoadPath(), orderNumber, "刀具表"));
                        //if (!directoryT.Exists)
                        //{
                        //    directoryT.Create();
                        //}
                        //files[1].SaveAs(path1);


                        {
                            //string FilePath = path1;
                            //string path = Path.GetFileNameWithoutExtension(FilePath);
                            int ProcessID = 0;
                            //string[] str = path.Split('-');
                            string OrderNum = orderNumber;
                            string Process  = workNumber.ToString();
                            //List<int> ToolNum = new List<int>();
                            //List<ToolInfo> toolInfos = new List<ToolInfo>();
                            //string fileSuffix = System.IO.Path.GetExtension(FilePath);

                            //if (fileSuffix == ".xls")
                            //{
                            //    #region
                            //    {
                            //        DataTable dt = getData(FilePath).Tables[0];
                            //        dt.Columns[0].ColumnName = "序号";
                            //        dt.Columns[1].ColumnName = "路径名";
                            //        dt.Columns[2].ColumnName = "刀号";
                            //        dt.Columns[3].ColumnName = "刀具";
                            //        dt.Columns[4].ColumnName = "刀柄";
                            //        dt.Columns[5].ColumnName = "刀具伸出长度";
                            //        dt.Columns[6].ColumnName = "直径";
                            //        dt.Columns[7].ColumnName = "加工时间";
                            //        for (int i = 0; i < dt.Rows.Count; i++)
                            //        {
                            //            if (i == 0 || i == 1 || i == 2 || i == 3 || i == 4 || i == 5 || i == 6 || i == 8)
                            //            {
                            //                //dt.Rows.Remove(dt.Rows[0]);
                            //            }
                            //            else if (i == 7)
                            //            {

                            //                ProcessTime = 0;
                            //            }
                            //            else
                            //            {


                            //                string toolnum = dt.Rows[i]["刀号"].ToString();
                            //                double _toolnum = 0;
                            //                if (isNumberic(toolnum, out _toolnum))
                            //                {
                            //                    if (toolnum != ToolNo)
                            //                    {
                            //                        toolNum++;
                            //                        ToolNo = toolnum;
                            //                    }

                            //                    if (dt.Rows[i]["加工时间"].ToString() != "" && dt.Rows[i]["加工时间"] != null)
                            //                    {
                            //                        if (dt.Rows[i]["加工时间"].ToString().Contains(':'))
                            //                        {
                            //                            var timeInfo = dt.Rows[i]["加工时间"].ToString().Split(':');
                            //                            int hT = Convert.ToInt32(timeInfo[0]);
                            //                            int minT = Convert.ToInt32(timeInfo[1]);
                            //                            int secT = Convert.ToInt32(timeInfo[2]);
                            //                            ProcessTime += (hT * 60 + minT + ((float)secT / 60));
                            //                        }
                            //                        else
                            //                        {
                            //                            ProcessTime += (Convert.ToDouble(dt.Rows[i]["加工时间"].ToString()) * 1440);
                            //                        }
                            //                    }

                            //                    if (!ToolNum.Contains(Convert.ToInt32(dt.Rows[i]["刀号"].ToString())))
                            //                    {
                            //                        ToolNum.Add(Convert.ToInt32(dt.Rows[i]["刀号"].ToString()));
                            //                        ToolInfo tool = new ToolInfo();
                            //                        tool.PathName = dt.Rows[i]["路径名"].ToString();
                            //                        string toolno = dt.Rows[i]["刀号"].ToString();
                            //                        double _toolno = 0;
                            //                        if (isNumberic(toolno, out _toolno))
                            //                        {
                            //                            tool.ToolNO = Convert.ToInt32(dt.Rows[i]["刀号"].ToString());
                            //                        }
                            //                        tool.ToolName = dt.Rows[i]["刀具"].ToString();
                            //                        string tooll = dt.Rows[i]["刀具伸出长度"].ToString();
                            //                        double _tooll = 0;
                            //                        if (isNumberic(tooll, out _tooll))
                            //                        {
                            //                            tool.ToolLength = Convert.ToDouble(dt.Rows[i]["刀具伸出长度"].ToString());
                            //                        }
                            //                        string ToolD = dt.Rows[i]["直径"].ToString();
                            //                        double _ToolD = 0;
                            //                        if (isNumberic(ToolD, out _ToolD))
                            //                        {
                            //                            tool.ToolDiameter = Convert.ToDouble(dt.Rows[i]["直径"].ToString());
                            //                        }

                            //                        tool.Shank = dt.Rows[i]["刀柄"].ToString();
                            //                        toolInfos.Add(tool);
                            //                    }
                            //                }
                            //            }

                            //        }
                            //    }
                            //    #endregion
                            //}
                            //else
                            //{
                            //    mytran.Rollback();
                            //    context.Response.Write("刀具表请输入xls格式文件");
                            //    return;

                            //}
                            //var toolStand = entities.JDJS_WMS_Tool_Standard_Table.ToList();
                            //var CETOU = toolStand.Where(r => r.Name == "测头");
                            //int cetouID = -1;
                            //if (CETOU.Count() > 0)
                            //{
                            //    cetouID = Convert.ToInt32(CETOU.First().ToolID.Substring(1));
                            //}
                            //List<string> toolStandNo = new List<string>();
                            //foreach (var real in toolStand)
                            //{
                            //    string strT = real.ToolID;
                            //    toolStandNo.Add(strT);
                            //}
                            //foreach (var item in toolInfos)
                            //{
                            //    //判断是否有特殊刀具,判断刀具是否在刀具标准表是否存在

                            //    if (!toolStandNo.Contains("T" + item.ToolNO.ToString()))
                            //    {
                            //        toolFlag = 0;
                            //        break;
                            //    }
                            //}
                            //double times = Math.Ceiling(OnMachMea * time + ToolTime * toolNum + ProcessTime);
                            var row = new JDJS_WMS_Order_Process_Info_Table
                            {
                                OrderID   = orderNumberId,
                                ProcessID = workNumber,
                                //ProcessTime = times,
                                DeviceType         = Convert.ToInt32(cncType),
                                BlankType          = BlankType,
                                BlankSpecification = BlankSpecification,
                                JigSpecification   = JigSpecification + "#1#",
                                //programName = program,
                                //toolChartName = toolChartName,
                                sign            = -1,
                                BlankNumber     = BlankNumber,
                                toolPreparation = toolFlag,
                                JigType         = FixtureType,
                                Modulus         = number
                            };
                            entities.JDJS_WMS_Order_Process_Info_Table.Add(row);
                            entities.SaveChanges();

                            var order = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OrderNum);
                            if (order.Count() > 0)
                            {
                                int    orderid = order.First().Order_ID;
                                double pros    = 0;
                                if (isNumberic(Process, out pros))
                                {
                                    int prose = Convert.ToInt32(Process);
                                    var pro   = entities.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == orderid && r.ProcessID == prose & r.sign == -1);
                                    if (pro.Count() > 0)
                                    {
                                        ProcessID = pro.First().ID;
                                    }
                                }
                            }
                            //foreach (var item in toolInfos)
                            //{

                            //    if (item.ToolNO != cetouID)
                            //    {
                            //        JDJS_WMS_Order_Process_Tool_Info_Table tool = new JDJS_WMS_Order_Process_Tool_Info_Table()
                            //        {
                            //            ProcessID = ProcessID,
                            //            PathName = item.PathName,
                            //            ToolNO = item.ToolNO,
                            //            ToolName = item.ToolName,
                            //            ToolLength = item.ToolLength,
                            //            ToolDiameter = item.ToolDiameter,
                            //            //ToolAroidance = item.ToolAroidance,
                            //            Shank = item.Shank
                            //        };
                            //        entities.JDJS_WMS_Order_Process_Tool_Info_Table.Add(tool);
                            //    }
                            //}
                            var processinfo = entities.JDJS_WMS_Order_Process_Info_Table.Where(r => r.ProcessID == ProcessID & r.OrderID == orderNumberId & r.sign != 0);
                            int id          = ProcessID;
                            var orderNum    = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_ID == orderNumberId);
                            int output      = orderNum.FirstOrDefault().Product_Output;
                            JDJS_WMS_Order_Fixture_Manager_Table fix = new JDJS_WMS_Order_Fixture_Manager_Table()
                            {
                                ProcessID     = id,
                                FixtureNumber = 0,
                                FixtureFinishPerpareNumber = 0,
                                FixtureAdditionNumber      = 0
                            };

                            JDJS_WMS_Warehouse_InOut_History_Table jd = new JDJS_WMS_Warehouse_InOut_History_Table()
                            {
                                InNum     = 0,
                                OutNum    = 0,
                                ProcessId = id
                            };
                            entities.JDJS_WMS_Warehouse_InOut_History_Table.Add(jd);
                            entities.JDJS_WMS_Order_Fixture_Manager_Table.Add(fix);
                            entities.SaveChanges();
                        }


                        //var path0 = Path.Combine(@"D:\服务器文件勿动", orderNumber, program);

                        entities.SaveChanges();
                        mytran.Commit();
                    }
                    catch (Exception ex)
                    {
                        mytran.Rollback();
                        context.Response.Write(ex.Message);
                        return;
                    }
                }
            }
            context.Response.Write("ok");
        }
        public void ProcessRequest(HttpContext context)
        {
            var orderId    = int.Parse(context.Request["orderId"]);
            int oldOrderId = 0;

            using (JDJS_WMS_DB_USEREntities wms = new JDJS_WMS_DB_USEREntities())
            {
                var order = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_ID == orderId).FirstOrDefault();
                if (order == null)
                {
                    context.Response.Write("该订单不存在,请确认后再试!");
                    return;
                }
                if (order.ParentId == null)
                {
                    context.Response.Write("该订单无关联订单,请确认后再试!");
                    return;
                }
                using (System.Data.Entity.DbContextTransaction mytran = wms.Database.BeginTransaction())
                {
                    try
                    {
                        oldOrderId = int.Parse(order.ParentId.ToString());
                        var blankInfo = wms.JDJS_WMS_Order_Blank_Table.Where(r => r.OrderID == oldOrderId).FirstOrDefault();
                        if (blankInfo != null)
                        {
                            JDJS_WMS_Order_Blank_Table jdBlank = new JDJS_WMS_Order_Blank_Table()
                            {
                                OrderID                  = orderId,
                                BlackNumber              = order.Product_Output,
                                BlankAddition            = 0,
                                BlankSpecification       = blankInfo.BlankSpecification.Contains("#1#")? blankInfo.BlankSpecification.Replace("#1#", "") : blankInfo.BlankSpecification,
                                BlankState               = "待备料",
                                BlanktotalPreparedNumber = 0,
                                BlankType                = blankInfo.BlankType,
                                Expected_Completion_Time = DateTime.Now
                            };
                            wms.JDJS_WMS_Order_Blank_Table.Add(jdBlank);
                        }

                        JDJS_WMS_Quality_Confirmation_Table jdQuality = new JDJS_WMS_Quality_Confirmation_Table()
                        {
                            OrderID                   = orderId,
                            DetectionNumber           = 0,
                            CurrFinishedProductNumber = 0,
                            PassRate                  = 0,
                            PefectiveProductNumber    = 0,
                            PendingNumber             = 0,
                            QualifiedProductNumber    = 0
                        };
                        wms.JDJS_WMS_Quality_Confirmation_Table.Add(jdQuality);
                        wms.SaveChanges();
                        JDJS_WMS_Finished_Product_Manager jdFinish = new JDJS_WMS_Finished_Product_Manager()
                        {
                            outputNumber           = 0,
                            DefectiveProductNumber = 0,
                            OrderID            = orderId,
                            stock              = 0,
                            waitForWarehousing = 0,
                            warehousingNumber  = 0,
                        };
                        wms.JDJS_WMS_Finished_Product_Manager.Add(jdFinish);
                        wms.SaveChanges();
                        var guide = wms.JDJS_WMS_Order_Guide_Schedu_Table.Where(r => r.OrderID == orderId).FirstOrDefault();
                        if (guide != null)
                        {
                            guide.ExpectEndTime = DateTime.Now;
                            guide.EndTime       = DateTime.Now;
                            wms.SaveChanges();
                        }
                        var processes = wms.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == oldOrderId && r.sign != 0);
                        JDJS_WMS_Order_DelayTime_Table jdDelay = new JDJS_WMS_Order_DelayTime_Table()
                        {
                            OrderID = orderId,
                        };
                        wms.JDJS_WMS_Order_DelayTime_Table.Add(jdDelay);
                        foreach (var item in processes)
                        {
                            JDJS_WMS_Order_Process_Info_Table jd = new JDJS_WMS_Order_Process_Info_Table()
                            {
                                DeviceType                   = item.DeviceType,
                                ProcessID                    = item.ProcessID,
                                JigSpecification             = item.JigSpecification.Contains("#1#")? item.JigSpecification.Replace("#1#", ""): item.JigSpecification,
                                JigType                      = item.JigType,
                                Jig_Expected_Completion_Time = DateTime.Now,
                                BlankNumber                  = order.Product_Output,
                                sign = 1,
                                program_audit_sign = 1,
                                programName        = order.Order_Number + "-" + item.programName.Split('-')[1],
                                ProcessTime        = item.ProcessTime,
                                BlankSpecification = item.BlankSpecification.Contains("#1#")?item.BlankSpecification.Replace("#1#", ""):item.BlankSpecification,
                                BlankType          = item.BlankType,
                                MachNumber         = item.MachNumber,
                                Modulus            = item.Modulus,
                                NonCuttingTime     = item.NonCuttingTime,
                                toolChartName      = "T-" + order.Order_Number + "-" + item.toolChartName.Split('-')[2],
                                toolPreparation    = 0,
                                ProgramePassTime   = DateTime.Now,
                                OrderID            = orderId
                            };
                            wms.JDJS_WMS_Order_Process_Info_Table.Add(jd);
                            order.audit_Result         = "。" + DateTime.Now.ToString() + ":审核通过";
                            order.program_audit_result = "。" + DateTime.Now.ToString() + ":审核通过";
                            wms.SaveChanges();
                            int processId   = jd.ID;
                            var processInfo = wms.JDJS_WMS_Order_Process_Information_Table.Where(r => r.ProcessID == item.ID).FirstOrDefault();
                            if (processInfo != null)
                            {
                                JDJS_WMS_Order_Process_Information_Table jdInfo = new JDJS_WMS_Order_Process_Information_Table()
                                {
                                    Note         = processInfo.Note,
                                    ProcessID    = processId,
                                    WorkMaterial = processInfo.WorkMaterial,
                                    XPoint       = processInfo.XPoint,
                                    YPoint       = processInfo.YPoint,
                                    ZPoint       = processInfo.ZPoint
                                };
                                wms.JDJS_WMS_Order_Process_Information_Table.Add(jdInfo);
                                wms.SaveChanges();
                            }

                            var tools = wms.JDJS_WMS_Order_Process_Tool_Info_Table.Where(r => r.ProcessID == item.ID);
                            foreach (var tool in tools)
                            {
                                JDJS_WMS_Order_Process_Tool_Info_Table jdTool = new JDJS_WMS_Order_Process_Tool_Info_Table()
                                {
                                    BladeLenth      = tool.BladeLenth,
                                    EffectiveLength = tool.EffectiveLength,
                                    ProcessID       = processId,
                                    ToolDiameter    = tool.ToolDiameter,
                                    isFine          = tool.isFine,
                                    Shank           = tool.Shank,
                                    PathName        = tool.PathName,
                                    ToolAroidance   = tool.ToolAroidance,
                                    ToolLength      = tool.ToolLength,
                                    ToolName        = tool.ToolName,
                                    ToolNO          = tool.ToolNO
                                };
                                wms.JDJS_WMS_Order_Process_Tool_Info_Table.Add(jdTool);
                            }
                            wms.SaveChanges();
                            JDJS_WMS_Order_Fixture_Manager_Table jdFix = new JDJS_WMS_Order_Fixture_Manager_Table()
                            {
                                ProcessID                  = processId,
                                FixtureAdditionNumber      = 0,
                                FixtureFinishPerpareNumber = 0,
                                FixtureNumber              = 0
                            };
                            wms.JDJS_WMS_Order_Fixture_Manager_Table.Add(jdFix);
                            JDJS_WMS_Warehouse_InOut_History_Table jdInout = new JDJS_WMS_Warehouse_InOut_History_Table()
                            {
                                InNum     = 0,
                                OutNum    = 0,
                                ProcessId = processId
                            };
                            wms.JDJS_WMS_Warehouse_InOut_History_Table.Add(jdInout);
                        }
                        order.Intention = 3;
                        wms.SaveChanges();
                        mytran.Commit();
                        context.Response.Write("ok");
                        return;
                    }
                    catch (Exception ex)
                    {
                        mytran.Rollback();
                        context.Response.Write(ex.Message);
                        return;
                    }
                }
            }
        }
示例#3
0
        public void ProcessRequest(HttpContext context)
        {
            var    form        = context.Request.Form;
            var    file        = context.Request.Files;
            var    projectName = form["projectName"];
            var    remark      = form["remark"]; //备注
            var    loginID     = Convert.ToInt32(context.Session["id"]);
            int    priority    = 1;              //优先级
            string year        = DateTime.Now.Year.ToString().Substring(2, 2);
            string month       = DateTime.Now.Month.ToString();

            while (month.Length < 2)
            {
                month = month.Insert(0, "0");
            }
            string day = DateTime.Now.Day.ToString();

            while (day.Length < 2)
            {
                day = day.Insert(0, "0");
            }
            string strOrderNum = year + month + day;
            int    flag        = 1;
            string flagStr     = "";

            // var folder = @"D:\服务器文件勿动\" + form[0];
            using (JDJS_WMS_DB_USEREntities entities = new JDJS_WMS_DB_USEREntities())
            {
                using (System.Data.Entity.DbContextTransaction date = entities.Database.BeginTransaction())
                {
                    try
                    {
                        while (true)
                        {
                            flagStr = flag.ToString();
                            while (flagStr.Length < 5)
                            {
                                flagStr = flagStr.Insert(0, "0");
                            }

                            var order = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == strOrderNum + flagStr);
                            if (order.Count() < 1)
                            {
                                break;
                            }
                            flag++;
                        }
                        if (form[0] == "0")
                        {
                            var Order_Number          = strOrderNum + flagStr;
                            var Order_Leader          = form[2];
                            var Product_Name          = form[3];
                            var Product_Material      = form[4];
                            var Product_Output        = int.Parse(form[5]);
                            var Order_Plan_End_Time   = DateTime.Parse(form[6]);
                            var Order_State           = form[7];
                            var Order_Plan_Start_Time = DateTime.Now;
                            var Customer = form[8];
                            var pattern  = int.Parse(form["pattern"]);


                            var judge = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == Order_Number);
                            if (judge.Count() > 0)
                            {
                                context.Response.Write("该订单已存在");
                                return;
                            }
                            var row = new JDJS_WMS_Order_Entry_Table
                            {
                                Order_Number          = Order_Number,
                                Order_Leader          = Order_Leader,
                                Product_Name          = Product_Name,
                                Product_Material      = Product_Material,
                                Product_Output        = Product_Output,
                                Order_Plan_End_Time   = Order_Plan_End_Time,
                                Order_State           = Order_State,
                                Order_Plan_Start_Time = DateTime.Now,
                                Intention             = 3,
                                ProjectName           = projectName,
                                ProofingORProduct     = pattern,
                                CtratPersonID         = loginID,
                                Priority       = priority,
                                CreateTime     = DateTime.Now,
                                CreatePersonID = loginID,
                                AuditResult    = "待审核",
                                Remark         = remark
                            };
                            entities.JDJS_WMS_Order_Entry_Table.Add(row);
                            entities.SaveChanges();
                            var orderId = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == Order_Number).FirstOrDefault().Order_ID;
                            JDJS_WMS_Order_Guide_Schedu_Table guide = new JDJS_WMS_Order_Guide_Schedu_Table()
                            {
                                OrderID    = orderId,
                                ClientName = Customer
                            };
                            entities.JDJS_WMS_Order_Guide_Schedu_Table.Add(guide);
                            entities.SaveChanges();
                            var queue = new JDJS_WMS_Order_Queue_Table {
                                OrderID = orderId, isFlag = 3
                            };
                            entities.JDJS_WMS_Order_Queue_Table.Add(queue);
                            entities.SaveChanges();
                            PathInfo pathInfo = new PathInfo();
                            var      folder   = Path.Combine(pathInfo.upLoadPath(), Order_Number, form[1], @"客供图纸");
                            if (!Directory.Exists(folder))
                            {
                                Directory.CreateDirectory(folder);
                            }
                            ;

                            for (int i = 0; i < file.Count; i++)
                            {
                                var    name = file[i].FileName;
                                var    size = file[i].ContentLength;
                                string path = Path.Combine(folder, name);
                                file[i].SaveAs(path);
                            }
                            entities.SaveChanges();
                            context.Response.Write("ok");
                            date.Commit();
                        }
                        else
                        {
                            var Order_Number          = strOrderNum + flagStr;
                            var Order_Leader          = form[2];
                            var oldOrderNumber        = form[3];
                            var Product_Name          = form[4];
                            var Product_Material      = form[5];
                            var Product_Output        = int.Parse(form[6]);
                            var Order_Plan_End_Time   = DateTime.Parse(form[7]);
                            var Order_State           = form[8];
                            var Order_Plan_Start_Time = DateTime.Now;
                            var Customer = form[9];


                            {
                                string   OrderNum       = Order_Number;
                                string   OrderOwener    = Order_Leader;
                                string   OldOrderNum    = oldOrderNumber;
                                string   ProductName    = Product_Name;
                                string   ProductMertial = Product_Material;
                                int      ProductOutPut  = Product_Output;
                                string   OrderState     = Order_State;
                                DateTime OverTime       = DateTime.Now;
                                using (JDJS_WMS_DB_USEREntities wms = new JDJS_WMS_DB_USEREntities())
                                {
                                    var orders = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OrderNum);
                                    if (orders.Count() > 0)
                                    {
                                        Console.WriteLine("该订单号已存在");
                                        return;
                                    }
                                    else
                                    {
                                        using (System.Data.Entity.DbContextTransaction mytran = wms.Database.BeginTransaction())
                                        {
                                            try
                                            {
                                                var OldOrderInfo = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OldOrderNum);
                                                if (OldOrderInfo.Count() > 0)
                                                {
                                                    JDJS_WMS_Order_Entry_Table orderentry = new JDJS_WMS_Order_Entry_Table()
                                                    {
                                                        Order_Number                = OrderNum,
                                                        Order_Leader                = OrderOwener,
                                                        Product_Name                = ProductName,
                                                        Product_Material            = ProductMertial,
                                                        Product_Output              = ProductOutPut,
                                                        Order_Plan_Start_Time       = null,
                                                        Order_Actual_Start_Time     = null,
                                                        Order_Actual_End_Time       = null,
                                                        Order_Plan_End_Time         = Order_Plan_End_Time,
                                                        Engine_Program_Manager      = OldOrderInfo.FirstOrDefault().Engine_Program_Manager,
                                                        Engine_Technology_Manager   = OldOrderInfo.FirstOrDefault().Engine_Technology_Manager,
                                                        Engine_Program_ManagerId    = OldOrderInfo.FirstOrDefault().Engine_Program_ManagerId,
                                                        Engine_Technology_ManagerId = OldOrderInfo.FirstOrDefault().Engine_Technology_ManagerId,
                                                        Engine_Status               = "未进行",
                                                        Intention         = 3,
                                                        ProjectName       = projectName,
                                                        CreateTime        = DateTime.Now,
                                                        CreatePersonID    = loginID,
                                                        Order_State       = OrderState,
                                                        virtualProgPersId = OldOrderInfo.FirstOrDefault().virtualProgPersId,
                                                        virtualReturnTime = OldOrderInfo.FirstOrDefault().virtualReturnTime,
                                                        // audit_Result = "待审核",
                                                        AuditResult = "待审核",
                                                        Remark      = remark
                                                    };
                                                    wms.JDJS_WMS_Order_Entry_Table.Add(orderentry);
                                                    wms.SaveChanges();
                                                    mytran.Commit();
                                                }
                                            }
                                            catch (Exception ex)
                                            {
                                                mytran.Rollback();
                                                context.Response.Write(ex.Message);
                                                return;
                                            }
                                        }

                                        using (System.Data.Entity.DbContextTransaction mytran = wms.Database.BeginTransaction())
                                        {
                                            try
                                            {
                                                var newOlder = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OrderNum).FirstOrDefault();
                                                JDJS_WMS_Order_Blank_Table blank = new JDJS_WMS_Order_Blank_Table()
                                                {
                                                    OrderID                  = newOlder.Order_ID,
                                                    BlackNumber              = newOlder.Product_Output,
                                                    BlankAddition            = 0,
                                                    BlankSpecification       = null,
                                                    BlankState               = null,
                                                    BlanktotalPreparedNumber = 0,
                                                    BlankType                = null,
                                                };
                                                wms.JDJS_WMS_Order_Blank_Table.Add(blank);
                                                wms.SaveChanges();

                                                JDJS_WMS_Order_Guide_Schedu_Table guide = new JDJS_WMS_Order_Guide_Schedu_Table()
                                                {
                                                    OrderID    = newOlder.Order_ID,
                                                    ClientName = Customer
                                                };
                                                entities.JDJS_WMS_Order_Guide_Schedu_Table.Add(guide);
                                                entities.SaveChanges();

                                                var oldOlder       = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OldOrderNum).FirstOrDefault();
                                                var oldProcessInfo = wms.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == oldOlder.Order_ID && r.sign == 1);
                                                foreach (var item in oldProcessInfo)
                                                {
                                                    string   oldprocessName = item.programName;
                                                    string[] str            = oldprocessName.Split('-');
                                                    string   NewProcessNum  = "";
                                                    if (str.Length == 2)
                                                    {
                                                        NewProcessNum = OrderNum + "-" + str[1];
                                                    }
                                                    string   oldToolName = item.toolChartName;
                                                    string[] toolStr     = oldToolName.Split('-');
                                                    string   NewToolNum  = "";
                                                    if (toolStr.Length == 3)
                                                    {
                                                        NewToolNum = "T" + "-" + OrderNum + "-" + toolStr[2];
                                                    }

                                                    JDJS_WMS_Order_Process_Info_Table process = new JDJS_WMS_Order_Process_Info_Table()
                                                    {
                                                        OrderID            = newOlder.Order_ID,
                                                        ProcessID          = item.ProcessID,
                                                        BlankNumber        = ProductOutPut,
                                                        BlankSpecification = item.BlankSpecification,
                                                        BlankType          = item.BlankType,
                                                        DeviceType         = item.DeviceType,
                                                        JigSpecification   = item.JigSpecification,
                                                        ProcessTime        = item.ProcessTime,
                                                        programName        = NewProcessNum,
                                                        sign            = item.sign,
                                                        toolChartName   = NewToolNum,
                                                        toolPreparation = item.toolPreparation,
                                                    };
                                                    wms.JDJS_WMS_Order_Process_Info_Table.Add(process);
                                                }
                                                wms.SaveChanges();
                                                mytran.Commit();
                                            }
                                            catch (Exception ex)
                                            {
                                                mytran.Rollback();
                                                context.Response.Write(ex.Message);
                                                return;
                                            }
                                        }


                                        using (System.Data.Entity.DbContextTransaction mytran = wms.Database.BeginTransaction())
                                        {
                                            try
                                            {
                                                var newOlder  = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OrderNum).FirstOrDefault();
                                                var processes = wms.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == newOlder.Order_ID && r.sign == 1);
                                                foreach (var item in processes)
                                                {
                                                    JDJS_WMS_Order_Fixture_Manager_Table fix = new JDJS_WMS_Order_Fixture_Manager_Table()
                                                    {
                                                        ProcessID                  = item.ID,
                                                        FixtureAdditionNumber      = 0,
                                                        FixtureNumber              = 0,
                                                        FixtureFinishPerpareNumber = 0,
                                                    };
                                                    wms.JDJS_WMS_Order_Fixture_Manager_Table.Add(fix);
                                                }
                                                //给每个工序添加治具一行
                                                wms.SaveChanges();
                                                mytran.Commit();
                                            }
                                            catch (Exception ex)
                                            {
                                                mytran.Rollback();
                                                context.Response.Write(ex.Message);
                                                return;
                                            }
                                        }

                                        using (System.Data.Entity.DbContextTransaction mytran = wms.Database.BeginTransaction())
                                        {
                                            try
                                            {
                                                var newOlder  = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OrderNum).FirstOrDefault();
                                                var oldOlder  = wms.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_Number == OldOrderNum).FirstOrDefault();
                                                var processes = wms.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == newOlder.Order_ID && r.sign == 1);
                                                foreach (var item in processes)
                                                {
                                                    var oldProcess = wms.JDJS_WMS_Order_Process_Info_Table.Where(r => r.OrderID == oldOlder.Order_ID && r.ProcessID == item.ProcessID && r.sign == 1).FirstOrDefault();
                                                    var OldTool    = wms.JDJS_WMS_Order_Process_Tool_Info_Table.Where(r => r.ProcessID == oldProcess.ID);
                                                    foreach (var real in OldTool)
                                                    {
                                                        JDJS_WMS_Order_Process_Tool_Info_Table tool = new JDJS_WMS_Order_Process_Tool_Info_Table()
                                                        {
                                                            ProcessID     = item.ID,
                                                            PathName      = real.PathName,
                                                            Shank         = real.Shank,
                                                            ToolAroidance = real.ToolAroidance,
                                                            ToolDiameter  = real.ToolDiameter,
                                                            ToolLength    = real.ToolLength,
                                                            ToolName      = real.ToolName,
                                                            ToolNO        = real.ToolNO
                                                        };
                                                        wms.JDJS_WMS_Order_Process_Tool_Info_Table.Add(tool);
                                                    }
                                                    wms.SaveChanges();
                                                }
                                                wms.SaveChanges();
                                                mytran.Commit();
                                            }
                                            catch (Exception ex)
                                            {
                                                mytran.Rollback();
                                                context.Response.Write(ex.Message);
                                                return;
                                            }
                                        }

                                        {
                                            PathInfo pathInfo  = new PathInfo();
                                            var      NewFolder = Path.Combine(pathInfo.upLoadPath(), OrderNum);
                                            var      OldFolder = Path.Combine(pathInfo.upLoadPath(), OldOrderNum);


                                            List <string> srcPath = new List <string>();

                                            string[] src = Directory.GetFileSystemEntries(OldFolder);
                                            foreach (var item in src)
                                            {
                                                copyDir(item, NewFolder, OrderNum);
                                            }

                                            context.Response.Write("ok");
                                            return;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        date.Rollback();
                        context.Response.Write(ex.Message);
                    }
                }
            }
        }
示例#4
0
        public void ProcessRequest(HttpContext context)
        {
            try
            {
                var form = context.Request.Form;


                var workNumber         = int.Parse(form["workNumber"]);
                var coefficient        = int.Parse(form["coefficient"]);
                var blankType          = int.Parse(form["blankType"]);
                var blankSpecification = form["blankSpecification"];
                var blankNumber        = int.Parse(form["blankNumber"]);
                var fixtureType        = int.Parse(form["fixtureType"]);
                var jigSpecification   = form["jigSpecification"];
                var jigNumber          = int.Parse(form["jigNumber"]);
                var machType           = int.Parse(form["machType"]);
                var processId          = int.Parse(form["processId"]);

                using (JDJS_WMS_DB_USEREntities entities = new JDJS_WMS_DB_USEREntities())
                {
                    var orderId = entities.JDJS_WMS_Order_Process_Info_Table.Where(r => r.ID == processId).First().OrderID;
                    var rows    = entities.JDJS_WMS_Order_Process_Info_Table.Where(r => r.ProcessID == workNumber & r.OrderID == orderId & r.sign == 1);
                    if (rows.Count() > 0)
                    {
                        foreach (var item in rows)
                        {
                            if (item.ID != processId)
                            {
                                context.Response.Write("该工序号已存在");
                                return;
                            }
                        }
                    }
                    var row = entities.JDJS_WMS_Order_Process_Info_Table.Where(r => r.ID == processId).First();
                    if (row.ProcessID != workNumber)
                    {
                        context.Response.Write("工序号不可更改");
                        return;

                        var      orderNumber = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_ID == row.OrderID).First().Order_Number;
                        var      extensionP  = Path.GetExtension(row.programName);
                        var      newPName    = orderNumber + "-P" + workNumber + extensionP;
                        PathInfo pathInfo    = new PathInfo();
                        var      pathP       = Path.Combine(pathInfo.upLoadPath(), orderNumber, "加工文件", row.programName);
                        var      pathPLater  = Path.Combine(pathInfo.upLoadPath(), orderNumber, "加工文件", newPName);

                        File.Move(pathP, pathPLater);
                        row.programName = newPName;

                        var extensionT = Path.GetExtension(row.toolChartName);
                        var newTName   = orderNumber + "-T" + workNumber + extensionT;

                        var      pathT      = Path.Combine(pathInfo.upLoadPath(), orderNumber, "刀具表", row.toolChartName);
                        var      pathTLater = Path.Combine(pathInfo.upLoadPath(), orderNumber, "刀具表", newTName);
                        FileInfo fileT      = new FileInfo(pathT);
                        fileT.MoveTo(pathTLater);

                        row.toolChartName = newTName;
                    }
                    if (row.sign == 1)
                    {
                        context.Response.Write("工艺审核已通过,不可修改!");
                        return;
                    }
                    row.ProcessID = workNumber;

                    row.BlankType          = blankType;
                    row.BlankSpecification = blankSpecification + "#1#";
                    row.Modulus            = coefficient;
                    row.DeviceType         = machType;
                    row.BlankNumber        = blankNumber;
                    entities.JDJS_WMS_Order_Blank_Table.Where(r => r.OrderID == orderId).First().BlackNumber = blankNumber;
                    row.JigType          = fixtureType;
                    row.JigSpecification = jigSpecification + "#1#";
                    var blank = entities.JDJS_WMS_Order_Blank_Table.Where(r => r.OrderID == orderId);
                    if (blank.Count() > 0)
                    {
                        foreach (var item in blank)
                        {
                            item.BlackNumber        = blankNumber;
                            item.BlankSpecification = blankSpecification + "#1#";
                            item.BlankState         = "待备料";
                            item.BlankType          = blankType;
                        }
                    }
                    else
                    {
                        JDJS_WMS_Order_Blank_Table jDJS_WMS_Order_Blank_Table = new JDJS_WMS_Order_Blank_Table()
                        {
                            BlackNumber              = blankNumber,
                            BlankAddition            = 0,
                            BlankSpecification       = blankSpecification + "#1#",
                            BlankState               = "待备料",
                            BlanktotalPreparedNumber = 0,
                            BlankType = blankType,
                            OrderID   = orderId
                        };
                        entities.JDJS_WMS_Order_Blank_Table.Add(jDJS_WMS_Order_Blank_Table);
                    }
                    var fixs = entities.JDJS_WMS_Order_Fixture_Manager_Table.Where(r => r.ProcessID == processId).FirstOrDefault();
                    if (fixs != null)
                    {
                        entities.JDJS_WMS_Order_Fixture_Manager_Table.Where(r => r.ProcessID == processId).FirstOrDefault().FixtureNumber = jigNumber;
                    }
                    else
                    {
                        int id       = processId;
                        var orderNum = entities.JDJS_WMS_Order_Entry_Table.Where(r => r.Order_ID == orderId);
                        JDJS_WMS_Order_Fixture_Manager_Table fix = new JDJS_WMS_Order_Fixture_Manager_Table()
                        {
                            ProcessID     = id,
                            FixtureNumber = jigNumber,
                            FixtureFinishPerpareNumber = 0,
                            FixtureAdditionNumber      = 0
                        };
                        entities.JDJS_WMS_Order_Fixture_Manager_Table.Add(fix);
                        entities.SaveChanges();
                    }


                    entities.SaveChanges();
                    context.Response.Write("ok");
                }
            }
            catch (Exception ex)
            {
                context.Response.Write(ex.Message);
                return;
            }
        }