예제 #1
0
        public ActionResult DisplayTemplate(int template)
        {
            IEnumerable <Staff>    staff          = request.Staffs;
            IEnumerable <TaskList> taskList       = request.TaskLists.Where(t => t.TemplateID == template).OrderBy(t => t.orderNum);
            List <TaskAssignment>  taskAssignment = new List <TaskAssignment>();
            Template myTemplate = request.Templates.FirstOrDefault(t => t.templateID == template);
            int      templateID = template;

            foreach (var task in taskList)
            {
                var currentTasks = request.TaskAssignments.Where(t => t.taskID == task.taskID);

                foreach (var item in currentTasks)
                {
                    taskAssignment.Add(item);
                }
            }

            Models.TemplateInfo templateInfo = new Models.TemplateInfo()
            {
                taskList        = taskList,
                taskStatus      = request.TaskStatus1,
                taskAssignments = taskAssignment,
                template        = myTemplate,
                staff           = staff
            };

            return(View(templateInfo));
        }
예제 #2
0
        /// <summary>
        /// 根据公司ID找发放模版
        /// </summary>
        /// <param name="id">公司ID</param>
        /// <returns></returns>
        public Models.TemplateInfo GetTemplateByCompanyId(int id)
        {
            EntityContext context = BlueFramework.Blood.Session.CreateContext();

            Models.TemplateInfo temp = context.Selete <Models.TemplateInfo>("hr.template.findTemplateByCompanyId", id);
            return(temp);
        }
예제 #3
0
        public ActionResult SaveTemplateMsg(int id, string temps)
        {
            string msg = string.Empty;

            //查询公司模版是否已经存在
            Models.TemplateInfo ti = new Models.TemplateInfo();
            ti = new Manager.PayManager().GetTemplateByCompanyId(id);
            if (ti.TemplateId != 0)
            {
                msg = "该公司已有模版";
                return(Json(msg));
            }
            int[] tempArr = null;
            if (!string.IsNullOrEmpty(temps))
            {
                string   strTemp = temps;
                string[] strArr  = strTemp.Split(',');
                tempArr = new int[strArr.Length];
                for (int i = 0; i < strArr.Length; i++)
                {
                    tempArr[i] = Convert.ToInt32(strArr[i]);
                }
            }
            if (new Manager.PayManager().SaveTemplateMsg(id, tempArr))
            {
                msg = "保存成功";
            }
            else
            {
                msg = "保存失败";
            }
            return(Json(msg));
        }
예제 #4
0
 public bool SavePayDetail(List <PayDetailInfo> list, int cmpid, string tname, string time, string count, int status, ref string msg)
 {
     using (EntityContext context = BlueFramework.Blood.Session.CreateContext())
     {
         try
         {
             context.BeginTransaction();
             Models.TemplateInfo temp = context.Selete <Models.TemplateInfo>("hr.template.findTemplateIdByCompanyId", cmpid);
             Payment             pl   = new Payment();
             pl.CompanyId  = cmpid;
             pl.TemplateId = temp.TemplateId;
             pl.PayTitle   = tname;
             pl.PayMonth   = time;
             pl.CreatorId  = UserContext.CurrentUser.UserId;
             pl.CreateTime = DateTime.Now;
             pl.Status     = status;
             if (status == 0)//新建发放表重复校验
             {
                 Payment payinfo = context.SelectListByTemplate <Payment>("hr.pay.findPay", pl)[0];
                 if (payinfo.PayId != 0)
                 {
                     msg += "该公司该月份已创建发放表!<br />";
                     context.Rollback();
                     return(false);
                 }
                 context.Save <Payment>("hr.pay.insertPayTable", pl);
             }
             Dictionary <string, int> dic = GetIdConfigDic();
             foreach (PayDetailInfo info in list)
             {
                 foreach (System.Reflection.PropertyInfo p in info.GetType().GetProperties())
                 {
                     if (dic.ContainsKey(p.Name))
                     {
                         PayValueInfo pvi = new PayValueInfo();
                         pvi.PayId    = pl.PayId;
                         pvi.ItemId   = dic[p.Name];
                         pvi.PersonId = info.PersonId;
                         pvi.PayValue = decimal.Parse(p.GetValue(info).ToString());
                         context.Save <PayValueInfo>("hr.pay.insertPayTableDetail", pvi);
                     }
                 }
             }
             if (status == 2)//归档
             {
                 CompanyAccountInfo cai = new CompanyAccountInfo();
                 cai.AccountBalance = decimal.Parse(count);
                 cai.CompanyId      = cmpid;
                 context.Save <CompanyAccountInfo>("hr.company.updateCompanyBalance", cai);
             }
             context.Commit();
             return(true);
         }
         catch (Exception ex)
         {
             msg += "服务器内部错误,请联系管理员!<br />";
             context.Rollback();
             return(false);
         }
     }
 }