Exemple #1
0
        private void btn_submit_Click(object sender, EventArgs e)
        {
            Entity.Leave le = new Entity.Leave();
            //员工编号
            le.pID = int.Parse(this.textBox4.Text);
            //开始时间
            string Ls = this.dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss.ffff");

            le.lStart = DateTime.Parse(Ls);
            //结束时间
            string lsp = this.dateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss.ffff");

            le.lStop = DateTime.Parse(lsp);
            //请假原因
            le.lWhy  = this.textBox2.Text;
            le.lBoss = users.uName;
            //审核状态
            le.lState = "通过";

            if (BLL.LeaveBLL.Leaves1(le) == true)
            {
                Msg.Box.Show("恭喜您,添加成功!");
                clear();
            }
        }
Exemple #2
0
        private void btn_submit_Click(object sender, EventArgs e)
        {
            Entity.Leave l = new Entity.Leave();
            try
            {
                l.pID    = p.pID;
                l.lWhy   = this.txt_reason.Text;
                l.lStart = this.dtp_start.Value;
                l.lStop  = this.dtp_stop.Value;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            string msg = "";

            if (EBLL.WorkBLL.SubLeave(l, out msg) == true)
            {
                MessageBox.Show(msg);
                this.dtp_start.Value = System.DateTime.Now;
                this.dtp_stop.Value  = System.DateTime.Now;
                this.txt_reason.Clear();
                this.dgv_main.DataSource = EBLL.WorkBLL.LoadLeave(p);
            }
            else
            {
                MessageBox.Show(msg);
            }
        }
Exemple #3
0
        /// <summary>
        /// 按开始时间查询
        /// </summary>
        /// <param name="leave6"></param>
        /// <returns></returns>
        public static DataTable LeaveLstart(Entity.Leave leave6)
        {
            string    sqlstr = "select LID,Leave.PID,PName,LWhy,LStart,LStop,LBoss,Lstate from Leave,Person where Leave.PID=Person.PID and year(LStart) = " + leave6.lStart.Year + " and month(LStart) = " + leave6.lStart.Month + " and day(LStart) = " + leave6.lStart.Day + "";
            DataTable dt     = (DataTable)DBHelper.GetDT(sqlstr);

            return(dt);
        }
Exemple #4
0
        //按员工姓名查询查询
        public static DataTable LeavePName(Entity.Leave leave5, string name)
        {
            string    sqlstr = "select LID,Leave.PID,PName,LWhy,LStart,LStop,LBoss,Lstate from Leave,Person where Leave.PID=Person.PID and PName like '%" + name + "%'";
            DataTable dt     = (DataTable)DBHelper.GetDT(sqlstr);

            return(dt);
        }
Exemple #5
0
        public Entity.Leave GetLeave(LeavePO leavePO)
        {
            var leave = new Entity.Leave();

            leave.Id = leavePO.Id;
            var applicant = new Applicant()
            {
                PersonId   = leavePO.ApplicantId,
                PersonName = leavePO.ApplicantName
            };

            leave.Applicant = applicant;
            var approver = new Approver()
            {
                PersonId   = leavePO.ApproverId,
                PersonName = leavePO.ApproverName
            };

            leave.Approver       = approver;
            leave.StartTime      = leavePO.StartTime;
            leave.EndTime        = leavePO.EndTime;
            leave.Duration       = leavePO.Duration;
            leave.Status         = leavePO.Status;
            leave.MaxLeaderLevel = leavePO.MaxLeaderLevel;
            if (leavePO.HistoryApprovalInfoPOList?.Count > 0)
            {
                leave.HistoryApprovalInfos = GetApprovalInfos(leavePO.HistoryApprovalInfoPOList);
            }
            return(leave);
        }
Exemple #6
0
 private void btn_find_Click(object sender, EventArgs e)
 {
     Entity.Leave      le = new Entity.Leave();
     Entity.Department dp = new Entity.Department();
     try
     {
         if (this.radioButton1.Checked)
         {
             le.pID = int.Parse(this.textBox1.Text);
             dataGridView1.DataSource = BLL.LeaveBLL.LeavePID(le);
             int i = this.dataGridView1.Rows.Count;
             if (i == 0)
             {
                 Msg.Box.Show("未查找到您所要的信息!");
             }
         }
         else if (this.radioButton2.Checked)
         {
             dp.depID = int.Parse(this.comboBox1.SelectedValue.ToString());
             dataGridView1.DataSource = BLL.LeaveBLL.LeaveDep(dp);
             int i = this.dataGridView1.Rows.Count;
             if (i == 0)
             {
                 Msg.Box.Show("未查找到您所要的信息!");
             }
         }
         else if (this.radioButton3.Checked)
         {
             string name = this.textBox2.Text;
             dataGridView1.DataSource = BLL.LeaveBLL.LeavePName(le, name);
             int i = this.dataGridView1.Rows.Count;
             if (i == 0)
             {
                 Msg.Box.Show("未查找到您所要的信息!");
             }
         }
         else if (this.radioButton4.Checked)
         {
             le.lStart = this.dateTimePicker1.Value;
             dataGridView1.DataSource = BLL.LeaveBLL.LeaveLstart(le);
             int i = this.dataGridView1.Rows.Count;
             if (i == 0)
             {
                 Msg.Box.Show("未查找到您所要的信息!");
             }
         }
         else
         {
             Msg.Box.Show("您还未勾选查询方式");
             return;
         }
     }
     catch (Exception ex)
     {
         Msg.Box.Show(ex.Message);
         return;
     }
 }
Exemple #7
0
        private List <ApprovalInfoPO> ApprovalInfoPOListFromDO(Entity.Leave leave)
        {
            var approvalInfoPos = new List <ApprovalInfoPO>();

            foreach (var approvalInfo in leave.HistoryApprovalInfos)
            {
                approvalInfoPos.Add(ApprovalInfoPOFromDO(approvalInfo));
            }
            return(approvalInfoPos);
        }
        public void UpdateLeaveInfo(Entity.Leave leave)
        {
            var po = _leaveRepository.FindById(leave.Id);

            if (null == po)
            {
                throw new Exception("leave does not exist");
            }
            _leaveRepository.Save(_leaveFactory.CreateLeavePO(leave));
        }
        public void CreateLeave(Entity.Leave leave, int maxLeaderLevel, Approver approver)
        {
            leave.MaxLeaderLevel = maxLeaderLevel;
            leave.Approver       = approver;
            leave.Create();
            _leaveRepository.Save(_leaveFactory.CreateLeavePO(leave));
            var @event = LeaveEvent.Create(LeaveEventType.CREATE_EVENT, leave);

            _leaveRepository.SaveEvent(_leaveFactory.CreateLeaveEventPO(@event));
            _eventPublisher.Publish(@event);
        }
Exemple #10
0
 /// <summary>
 /// //更新请假详情  LWhy传递状态
 /// </summary>
 /// <param name="le"></param>
 /// <returns></returns>
 public static bool UpLeave(Entity.Leave le)
 {
     if (DAL.LeaveDAL.UpLeave(le) > 0)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #11
0
        public static LeaveEvent Create(LeaveEventType eventType, Entity.Leave leave)
        {
            var @event = new LeaveEvent()
            {
                Id             = IdGenerator.NextId(),
                LeaveEventType = eventType,
                Timestamp      = DateTime.Now,
                Data           = JsonConvert.SerializeObject(leave)
            };

            return(@event);
        }
Exemple #12
0
        //添加请假信息
        public static bool Leave1(Entity.Leave leave)
        {
            string sqlstr = string.Format("insert into Leave values({0},'{1}','{2}','{3}','{4}','{5}')", leave.pID, leave.lWhy, leave.lStart, leave.lStop, leave.lBoss, leave.lState);
            int    i      = (int)DBHelper.GetLine(sqlstr);

            if (i > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public void SubmitApproval(Entity.Leave leave, Approver approver)
        {
            if (leave.CurrentApprovalInfo != null)
            {
                //根据当前审批信息,确定案件状态
                switch (leave.CurrentApprovalInfo.ApprovalType)
                {
                case ApprovalType.REJECT:
                    leave.Status = Status.REJECTED;
                    break;

                case ApprovalType.AGREE:
                    leave.Status = Status.APPROVED;
                    break;
                }
            }
            LeaveEvent @event;

            if (ApprovalType.REJECT == leave.CurrentApprovalInfo.ApprovalType)
            {
                //拒约后保持原来批准人
                leave.Reject(leave.Approver);
                @event = LeaveEvent.Create(LeaveEventType.REJECT_EVENT, leave);
            }
            else
            {
                if (approver != null)
                {
                    //通过后更换下一审批人
                    leave.Agree(approver);
                    @event = LeaveEvent.Create(LeaveEventType.AGREE_EVENT, leave);
                }
                else
                {
                    leave.Finish();
                    @event = LeaveEvent.Create(LeaveEventType.APPROVED_EVENT, leave);
                }
            }
            leave.AddHistoryApprovalInfo(leave.CurrentApprovalInfo);
            var leavePO = _leaveFactory.CreateLeavePO(leave);

            _leaveRepository.Submit(leavePO);
            _leaveRepository.SaveEvent(_leaveFactory.CreateLeaveEventPO(@event));
            _eventPublisher.Publish(@event);
        }
Exemple #14
0
 private void btn_clear_Click(object sender, EventArgs e)
 {
     Entity.Leave l = new Entity.Leave();
     try
     {
         l.lID = int.Parse(this.dgv_main.Rows[dgv_main.CurrentCell.RowIndex].Cells[0].Value.ToString());
     }
     catch
     {
         MessageBox.Show("请先选择记录行!");
         return;
     }
     if (EBLL.WorkBLL.UpLState(l) == true)
     {
         MessageBox.Show("恭喜您,销假成功!");
         EBLL.WorkBLL.UpLState(l);
         this.dgv_main.DataSource = EBLL.WorkBLL.LoadLeave(p);
     }
 }
Exemple #15
0
        public LeavePO CreateLeavePO(Entity.Leave leave)
        {
            var leavePO = new LeavePO()
            {
                Id = leave.Id == null?Guid.NewGuid().ToString() : leave.Id,
                         ApplicantId   = leave.Applicant.PersonId,
                         ApplicantName = leave.Applicant.PersonName,
                         ApproverId    = leave.Approver?.PersonId,
                         ApproverName  = leave.Approver?.PersonName,
                         StartTime     = leave.StartTime,
                         EndTime       = leave.EndTime,
                         Duration      = leave.Duration,
                         Status        = leave.Status,
                         //生成请假条时没有当前批认信息
                         CurrentApprovalInfo = leave.CurrentApprovalInfo != null?ApprovalInfoPOFromDO(leave.CurrentApprovalInfo, leave.Applicant.PersonId, leave.Id) : null,
                                                   HistoryApprovalInfoPOList = ApprovalInfoPOListFromDO(leave),
                                                   MaxLeaderLevel            = leave.MaxLeaderLevel,
                                                   LeaveType     = leave.LeaveType,
                                                   ApplicantType = leave.Applicant.PersonType
            };

            return(leavePO);
        }
Exemple #16
0
 //按员工编号查询查询
 public static DataTable LeavePID(Entity.Leave leave3)
 {
     return(DAL.LeaveDAL.LeavePID(leave3));
 }
Exemple #17
0
 /// <summary>
 /// 按开始时间查询
 /// </summary>
 /// <param name="leave6"></param>
 /// <returns></returns>
 public static DataTable LeaveLstart(Entity.Leave leave6)
 {
     return(DAL.LeaveDAL.LeaveLstart(leave6));
 }
Exemple #18
0
 //添加数据
 public static bool Leaves1(Entity.Leave leaves1)
 {
     return(DAL.LeaveDAL.Leave1(leaves1));
 }
Exemple #19
0
        /// <summary>
        /// 提交请假申请
        /// </summary>
        /// <param name="l"></param>
        /// <returns></returns>
        public static int SubLeave(Entity.Leave l)
        {
            string sql = string.Format("insert into Leave values({0},'{1}','{2}','{3}','终端提交','待审核')", l.pID, l.lWhy, l.lStart.ToString("yyyy-MM-dd HH:mm:ss"), l.lStop.ToString("yyyy-MM-dd HH:mm:ss"));

            return((int)DBHelper.GetLine(sql));
        }
Exemple #20
0
 //按员工姓名查询查询
 public static DataTable LeavePName(Entity.Leave leave4, string name)
 {
     return(DAL.LeaveDAL.LeavePName(leave4, name));
 }
Exemple #21
0
        /// <summary>
        /// 报到
        /// </summary>
        /// <returns></returns>
        public static int UpLState(Entity.Leave l)
        {
            string sql = "update Leave set LState = '已销假' where LID = " + l.lID + "";

            return((int)DBHelper.GetLine(sql));
        }
Exemple #22
0
        /// <summary>
        /// 更新信息状态
        /// </summary>
        /// <param name="p"></param>
        /// <returns></returns>
        public static int UpPState(Entity.Leave l)
        {
            string sql = "update Person set PState='正式' where PID=" + l.pID + "";

            return(DBHelper.GetLine(sql));
        }
Exemple #23
0
        /// <summary>
        /// //更新请假详情  LWhy传递状态
        /// </summary>
        /// <param name="le"></param>
        /// <returns></returns>
        public static int UpLeave(Entity.Leave le)
        {
            string sql = "update Leave set LState='" + le.lWhy + "',LBoss='" + le.lBoss + "' where PID=" + le.pID + "";

            return(DBHelper.GetLine(sql));
        }