Exemplo n.º 1
0
        /// <summary>
        /// 把装订工艺插入到工艺序列,并插入配页工艺
        /// </summary>
        /// <param name="bindtype"></param>
        public void InserBind(int bindtype)
        {
            BindType = bindtype;
            List <Model.recttange> plist = new List <Model.recttange>();

            Model.P_ProcessList w1 = new Model.P_ProcessList();

            Model.Process p = DAL.Process.GetModel(bindtype);
            if (p != null)
            {
                w1.ProcessId   = p.ProcessId;
                w1.ProcessName = p.ProcessName;
                w1.Num         = ProductNum;
                w1.PType       = 2;
                w1.GroupId     = 0;
                int extend = p.MinExtendPaper;
                w1.Price         = DAL.C_ProcessPrice.GetPrice(w1.ProcessId, w1.Num);
                Cover.ExtendNum += extend;
                w1.ListCode      = Cover.UnitName;
                Process.Add(w1);
                int id = p.MustNext;
                if (id > 0)
                {
                    Model.Process       p2 = DAL.Process.GetModel(id);
                    Model.P_ProcessList w2 = new Model.P_ProcessList();
                    int alltie             = 0;

                    if (Inner != null)
                    {
                        foreach (ProductUnit p1 in Inner)
                        {
                            alltie        += p1.PrintPs.HalfPsNum + p1.PrintPs.AllPsNum + p1.PrintPs.QuarPsNum;
                            p1.ExtendNum  += p2.MinExtendPaper;
                            p1.ExtendRatio = ConstantValue.Process.ExtendRatio;
                        }
                    }
                    alltie        += Cover.PrintPs.HalfPsNum + Cover.PrintPs.AllPsNum + Cover.PrintPs.QuarPsNum;
                    w2.ProcessId   = id;
                    w2.GroupId     = 1;
                    w2.ProcessName = p2.ProcessName;
                    w2.Num         = alltie * ProductNum;
                    w2.PType       = 2;
                    w2.Price       = DAL.C_ProcessPrice.GetPrice(w2.ProcessId, w2.Num);
                    w2.ListCode    = "内页总贴";
                    Process.Add(w2);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 增加用户选择工艺
        /// mr结构为id为processid,length ,heigth;
        /// 同时增加某工艺的隐含工艺。
        /// </summary>
        /// <param name="mr"></param>
        private static Model.recttange AddNexeProcess(Model.recttange mr)
        {
            Model.recttange r1   = null;
            Model.Process   p1   = DAL.Process.GetModel(mr.Id);
            int             next = p1.MustNext;

            if (next > 0)
            {
                r1        = new Model.recttange();
                r1.length = mr.length;
                r1.height = mr.height;
                r1.QuNum  = mr.QuNum;
                r1.Id     = next;
            }
            return(r1);
        }
Exemplo n.º 3
0
        public string GetProcessNumUnit(int Processid)
        {
            string reslut = "";

            if (AllNum == null)
            {
                CalAllNum();
            }
            Model.Process pro = Model.Process.GetDataById(Processid);
            if (pro != null)
            {
                int ptype = pro.TypeId;
                reslut = NumUnit[ptype];
            }
            return(reslut);
        }
Exemplo n.º 4
0
 public static Model.Working GetProcess(int pid)
 {
     Model.Working w = new Model.Working();
     Model.Process p = DAL.Process.GetModel(pid);
     if (p != null)
     {
         w.Pid         = pid;
         w.Pname       = p.ProcessName;
         w.ExtendPaper = p.MinExtendPaper;
         w.ExtendRatio = p.ExtendRatio;
         return(w);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 5
0
        public int GetProcessNum(int processid)
        {
            if (AllNum == null)
            {
                CalAllNum();
            }
            Model.Process pro = Model.Process.GetDataById(processid);
            if (pro == null)
            {
                return(0);
            }
            int num   = 0;
            int ptype = pro.TypeId;

            num = AllNum[ptype];
            return(num);
        }
Exemplo n.º 6
0
        protected void createBtn_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                Model.Process p = new Model.Process()
                {
                    Name = Name.Text
                };

                BLL.Process.ProcessLogic pl = new BLL.Process.ProcessLogic();
                int res = pl.CreateProcess(p);
                if (res > 0)
                {
                    // Server.TransferRequest("../About.aspx", true);
                    Response.Redirect("/Admin");
                }
            }
        }
Exemplo n.º 7
0
 public void InsertSingleProcess(int ProcessId, int Num, int Groupid)
 {
     if (Process == null)
     {
         Process = new List <Model.P_ProcessList>();
     }
     Model.P_ProcessList w  = new Model.P_ProcessList();
     Model.Process       mp = DAL.Process.GetModel(ProcessId);
     w.GroupId = Groupid;
     if (mp != null)
     {
         w.ProcessId   = ProcessId;
         w.Num         = Num;
         w.ProcessName = mp.ProcessName;
         w.ListCode    = Cover.UnitName;
         w.Price       = DAL.C_ProcessPrice.GetPrice(ProcessId, Num);
         Process.Add(w);
     }
 }
Exemplo n.º 8
0
        private Model.P_ProcessList CheckProcess(Model.P_ProcessList w)
        {
            //检查某种工艺需要关联工艺;
            //折页超过克重后,压痕;
            ProductUnit p1 = null;

            Model.P_ProcessList result = null;
            if (w.ProcessName.IndexOf("折页") >= 0)
            {
                int gp = w.GroupId;
                if (gp > 0)
                {
                    if (Inner != null)
                    {
                        if (Inner.Count <= gp)
                        {
                            p1 = Inner[gp - 1];
                        }
                    }
                }
                else
                {
                    p1 = Cover;
                }
                if (p1 != null)
                {
                    if (p1.UserPaper.kg > 157)
                    {
                        int id = 41;
                        result = new Model.P_ProcessList();
                        Model.Process p2 = DAL.Process.GetModel(id);
                        result.ProcessId   = p2.ProcessId;
                        result.ProcessName = p2.ProcessName;
                        result.Num         = w.Num;
                        result.Price       = DAL.C_ProcessPrice.GetPrice(result.ProcessId, w.Num);
                        result.ListCode    = w.ListCode;
                        result.GroupId     = w.GroupId;
                    }
                }
            }
            return(result);
        }
Exemplo n.º 9
0
        public bool AddProcess(int processid, int num)
        {
            Model.PartItem pi = new Model.PartItem();
            pi.PartType = 8;
            pi.PartName = "后道工艺";
            pi.Id       = processid;
            Model.Process pro    = Model.Process.GetDataById(processid);
            int           extend = (int)(Part.PaperNum * 10 * pro.ExtendRatio);

            Part.PaperExtend += extend;
            AllExtendPaper   += extend;
            pi.Name           = pro.ProcessName;
            pi.Num            = num;
            pi.Money          = Model.C_ProcessPrice.GetProcessPrice(processid, num);
            Model.C_ProcessPrice cp = Model.C_ProcessPrice.GetById(processid);
            pi.Price  = cp.SinglePrice1;
            pi.Remark = "放张数:" + extend.ToString();
            AllItem.Add(pi);
            return(true);
        }
Exemplo n.º 10
0
 /// <summary>
 /// 添加工艺,判断是否有相同type的工艺
 /// </summary>
 /// <param name="processid">工艺id</param>
 /// <param name="rectlist">工艺类列表</param>
 /// <param name="l">长</param>
 /// <param name="h">高</param>
 /// <param name="q">数量</param>
 /// <returns></returns>
 public List <Model.recttange> GetProcessList(int processid, List <Model.recttange> rectlist, int l, int h, int q)
 {
     Model.Process pro1 = DAL.Process.GetModel(processid);
     for (int i = 0; i < rectlist.Count; i++)
     {
         Model.Process pro = DAL.Process.GetModel(rectlist[i].Id);
         if (pro1.TypeId == pro.TypeId)
         {
             rectlist[i].Id   = processid;
             rectlist[i].Name = pro1.ProcessName;
             if (l > 0 && h > 0)
             {
                 rectlist[i].length = l;
                 rectlist[i].height = h;
             }
             if (q > 0)
             {
                 rectlist[i].QuNum = q;
             }
         }
         else//没有同类型的工艺
         {
             Model.recttange rect = new Model.recttange();
             rect.Id   = processid;
             rect.Name = pro1.ProcessName;
             if (l > 0 && h > 0)
             {
                 rect.length = l;
                 rect.height = h;
             }
             if (q > 0)
             {
                 rect.QuNum = q;
             }
             rectlist.Add(rect);
         }
     }//循环结束
     return(rectlist);
 }
Exemplo n.º 11
0
 public int CreateProcess(Model.Process process)
 {
     return(this.CreateProcess(process.Name));
 }
Exemplo n.º 12
0
        public Object CreateProject(Model.Project project, string userName)
        {
            //获取创建人
            Model.User user = new UserController().GetUserByName(userName);
            project.CreateUserId  = user.Id;
            project.CurrentUserId = user.Id;
            //新建项目
            Dictionary <string, string> backData = (Dictionary <string, string>)project.Create();
            int projectId = Convert.ToInt32(backData["Id"]);

            try
            {
                //新建表单实例
                Model.FormInst formInst = new Model.FormInst();
                formInst.ProjectId = projectId;
                FormTempController formTempController = new FormTempController();
                Model.FormTemp     formTemp           = (Model.FormTemp)formTempController.GetFormTempByBusinessId(project.BusinessId);
                formInst.Name       = formTemp.Name;
                formInst.FormTempId = formTemp.Id;
                formInst.Content    = System.IO.File.ReadAllBytes(path);
                formInst.Create();
                //新建流程实例
                ProcessController  processController = new ProcessController();
                Model.Process      process           = (Model.Process)processController.GetProcessByBusinessId(project.BusinessId);
                Model.Process_Inst process_Inst      = new Model.Process_Inst();
                process_Inst.ProcessId    = process.Id;
                process_Inst.ProjectId    = projectId;
                process_Inst.CreateUserId = user.Id;
                int processInstId = (int)process_Inst.Create();
                //新建环节实例
                ActivityController  activityController = new ActivityController();
                Model.Activity      activity           = (Model.Activity)activityController.GetActivityByProcessId(process.Id);
                Model.Activity_Inst activity_Inst      = new Model.Activity_Inst();
                activity_Inst.ActivityId    = activity.Id;
                activity_Inst.ProcessInstId = processInstId;
                activity_Inst.ProjectId     = project.Id;
                int activityInstId = (int)activity_Inst.Create();
                //新建工作项
                Model.WorkItem workItem = new Model.WorkItem();
                workItem.ProjectId      = projectId;
                workItem.State          = 0;
                workItem.ActivityInstId = activityInstId;
                workItem.ReceiveUserId  = user.Id;
                int workItemId = (int)workItem.Create();
                project.WorkItemId = workItemId;
                project.Update();
                //新建材料清单模板实例
                MaterialTempController  materialTempController = new MaterialTempController();
                Model.MaterialTemp      materialTemp           = (Model.MaterialTemp)materialTempController.GetMaterialTempByBusinessId(project.BusinessId);
                Model.MaterialTemp_Inst materialTemp_Inst      = new Model.MaterialTemp_Inst();
                materialTemp_Inst.MaterialTempId = materialTemp.Id;
                materialTemp_Inst.Name           = materialTemp.Name;
                materialTemp_Inst.ProjectId      = projectId;
                materialTemp_Inst.Create();
            }
            catch (Exception e)
            {
                Util.Log.LogHelper.WriteLog(e.Message);
            }

            //返回项目数据
            return(Newtonsoft.Json.JsonConvert.SerializeObject(backData));
        }
Exemplo n.º 13
0
        public void InsertProces(List <Model.recttange> plist)
        {
            if (Process == null)
            {
                Process = new List <Model.P_ProcessList>();
            }
            foreach (Model.recttange r in plist)
            {
                Model.P_ProcessList w = new Model.P_ProcessList();
                w.GroupId = r.MId;

                Model.Process p = DAL.Process.GetModel(r.Id);
                if (p != null)
                {
                    w.ProcessId   = p.ProcessId;
                    w.ProcessName = p.ProcessName;
                    int type = p.AreaMarking;
                    if (type == 1)
                    {
                        w.ArHeight = ProductSize.Height;
                        w.ArLength = ProductSize.Length;
                        int s = w.ArHeight * w.ArLength;
                        if (ProductId == 1 && w.GroupId == 0)
                        {
                            s = Cover.Size.Height * Cover.Size.Length * 2;
                        }
                        if (ProductId == 4)
                        {
                            s = Cover.Size.Length * Cover.Size.Height;
                        }
                        double s0 = s;
                        s0    = s0 * ProductNum;
                        s0    = s0 / 1000000;
                        w.Num = Convert.ToInt32(s0);
                    }
                    if (type == 0)
                    {
                        w.Num = ProductNum;
                    }
                    if (type == 12)
                    {
                        w.Num = r.length * ProductNum;
                    }
                    if (type == 13)
                    {
                        w.Num = r.QuNum;
                    }
                    int extend = p.MinExtendPaper;
                    w.Price   = DAL.C_ProcessPrice.GetPrice(r.Id, w.Num);
                    w.GroupId = 0;
                    if (w.GroupId == 0)
                    {
                        Cover.ExtendRatio = p.ExtendRatio;
                        Cover.ExtendNum  += extend;
                        w.ListCode        = Cover.UnitName;
                    }
                    else
                    {
                        if (Inner != null)
                        {
                            if (w.GroupId <= Inner.Count)
                            {
                                Inner[w.GroupId - 1].ExtendRatio = p.ExtendRatio;
                                Inner[w.GroupId - 1].ExtendNum  += extend;
                                w.ListCode = Inner[w.GroupId - 1].UnitName;
                            }
                        }
                        else
                        {
                            return;
                        }
                    }
                    w.b1 = 1;
                    Process.Add(w);
                }
            }
        }
Exemplo n.º 14
0
 public Boolean UpdateProcess(Model.Process process)
 {
     process.Update();
     return(true);
 }
Exemplo n.º 15
0
 public Object CreateProcess(Model.Process process)
 {
     return(Newtonsoft.Json.JsonConvert.SerializeObject(process.Create()));
 }
Exemplo n.º 16
0
		/// <summary>
		/// Recreate all activities within this task
		/// </summary>
		internal void RebuildProcesses()
		{
			ProcessList.Clear();

			//convert and add each activity (ssaGroup) within current StateStation to ProcessList
            //note that: each group of SSA (grouped by activity) MUST be added ONCE (not 0 not 5)
			//			if SSA of one of processModels is in ssaGroup, consider that SSA
			//			else create a new processModel
			foreach (var ssaGroup in Model.Block.StateStation.StateStationActivities.GroupBy(ssa => ssa.Activity.Id))
			{
				ProcessEditorVm processVm = null;

				#region processVm = Create a new PPEditorProcess for this ssaGroup
				//processModel: existing process which its ssa is in ssaGroup
				var processModel = Model.Processes
					.Where(p => p.StateStationActivity != null)
					.FirstOrDefault(p => ssaGroup.Any(ssa => ssa.Id == p.StateStationActivity.Id));
				if (processModel != null)//a process exists matching a ssa in ssaGroup
				{
					processVm = new ProcessEditorVm(processModel, _uow);
				}

				else//no process matches any ssa in ssaGroup
				{
					processModel = new Model.Process();
					processModel.Task = Model;
					processVm = new ProcessEditorVm(processModel, _uow, ssaGroup);
				} 
				#endregion

				#region Set the event handlers of processVm
				processVm.ActivityChoiceChanged += (oldVal, newVal) =>
				{
					if (newVal == null) return;

					//update TargetPoint of process
					if (IsSameQtyForActivitiesSelected)
					{
						processVm.TargetPoint = SameQtyForActivities;
						var newDuration = SameQtyForActivities * (int)newVal.CycleTime;
						if (newDuration != processVm.DurationSeconds)
							processVm.DurationSeconds = newDuration;
					}
					else if (IsSameTimeForActivitiesSelected)
					{
						processVm.TargetPoint = (int)Math.Floor(SameTimeForActivities.TotalSeconds / newVal.CycleTime);
						var newDuration = processVm.TargetPoint * (int)newVal.CycleTime;
						if (newDuration != processVm.DurationSeconds)
							processVm.DurationSeconds = newDuration;
					}
					else
					{
						if (processVm.DurationSeconds > 0)
							processVm.TargetPoint = (int)Math.Floor(processVm.DurationSeconds / newVal.CycleTime);
						else if (processVm.TargetPoint > 0)
							processVm.DurationSeconds = (int)Math.Floor(processVm.TargetPoint * newVal.CycleTime);
					}
				};
				processVm.ProcessTargetPointChanged += (oldVal, newVal) =>
				{
				};
				processVm.ProcessDurationChanged += (oldVal, newVal) =>
				{
					DurationSeconds = ProcessList.Max(x => x.DurationSeconds);
				}; 
				#endregion

				//finally add it to ProcessList
				ProcessList.Add(processVm);
			}
		}