예제 #1
0
        private void 提交toolStripButton_Click(object sender, EventArgs e)
        {
            if (txtStatus.Text.Trim() != "新建单据")
            {
                MessageDialog.ShowPromptMessage("请确认单据状态");
                return;
            }

            if (m_workSchedulingServer.IsExise(BasicInfo.LoginID, Convert.ToInt32(numMonth.Value.ToString())))
            {
                MessageDialog.ShowPromptMessage(numMonth.Value + "月已经存在排班!");
                return;
            }

            if (!CheckControl())
            {
                return;
            }

            List <HR_WorkSchedulingDetail> lstPersonnel = new List <HR_WorkSchedulingDetail>();

            int day1 = GlobalObject.Year.GetDays(dtpBegin.Value);
            int days = 0;

            for (int i = dtpBegin.Value.Day; i <= day1; i++)
            {
                days++;
            }

            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                DataGridViewCellCollection cells = dataGridView1.Rows[i].Cells;

                for (int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    HR_WorkSchedulingDetail    personnel         = new HR_WorkSchedulingDetail();
                    DataGridViewComboBoxColumn dgvComboBoxColumn = dataGridView1.Columns[j] as DataGridViewComboBoxColumn;

                    if (dataGridView1.Columns[j].CellType.Name == "DataGridViewComboBoxCell" && cells[j].Value != null)
                    {
                        personnel.WorkID = dataGridView1.Rows[i].Cells["工号"].Value.ToString();

                        if (dtpBegin.Value.Month == dtpEnd.Value.Month)
                        {
                            //personnel.Date = Convert.ToDateTime(numYear.Value + "-" + dtpBegin.Value.Month + "-" + dataGridView1.Columns[j].HeaderText);
                            if (j - 1 <= days)
                            {
                                personnel.Date = Convert.ToDateTime(numYear.Value + "-" + dtpBegin.Value.Month + "-" + dataGridView1.Columns[j].HeaderText);
                            }
                            else
                            {
                                break;
                            }
                        }
                        else
                        {
                            if (j - 1 <= days)
                            {
                                personnel.Date = Convert.ToDateTime(numYear.Value + "-" + dtpBegin.Value.Month + "-" + dataGridView1.Columns[j].HeaderText);
                            }
                            else
                            {
                                personnel.Date = Convert.ToDateTime(numYear.Value + "-" + dtpEnd.Value.Month + "-" + dataGridView1.Columns[j].HeaderText);
                            }
                        }

                        personnel.Code = cells[j].Value == DBNull.Value ? "" : cells[j].Value.ToString();
                        lstPersonnel.Add(personnel);
                    }
                }
            }

            HR_WorkScheduling workSchedule = new HR_WorkScheduling();
            bool isDeptDirector            = false;

            IQueryable <View_HR_PersonnelArchive> directorGroup = m_personnerServer.GetDeptDirector(m_personnerServer.GetPersonnelInfo(txtCreaterWorkID.Tag.ToString()).Dept, "0");
            bool flag = false;

            if (directorGroup != null && directorGroup.Count() > 0)
            {
                isDeptDirector = true;

                foreach (var item in directorGroup)
                {
                    if (BasicInfo.LoginID == item.员工编号)
                    {
                        flag = true;

                        break;
                    }
                }
            }

            IQueryable <View_HR_PersonnelArchive> directorGroup1 = m_personnerServer.GetDeptDirector(m_personnerServer.GetPersonnelInfo(txtCreaterWorkID.Tag.ToString()).Dept, "1");
            bool flagPri = false;

            if (directorGroup1 != null && directorGroup1.Count() > 0)
            {
                foreach (var item in directorGroup1)
                {
                    if (BasicInfo.LoginID == item.员工编号)
                    {
                        flagPri = true;

                        break;
                    }
                }
            }

            if (!flag && !flagPri)
            {
                if (isDeptDirector)
                {
                    workSchedule.BillStatus = OverTimeBillStatus.等待主管审核.ToString();
                }
                else
                {
                    workSchedule.BillStatus = OverTimeBillStatus.等待部门负责人审核.ToString();
                }
            }
            else if (flag && !flagPri)
            {
                workSchedule.BillStatus = OverTimeBillStatus.等待部门负责人审核.ToString();
            }

            workSchedule.ScheduleName  = txtScheduleName.Text;
            workSchedule.CreateDate    = dtpCreateDate.Value;
            workSchedule.CreaterWorkID = txtCreaterWorkID.Tag.ToString();
            workSchedule.BeginDate     = dtpBegin.Value;
            workSchedule.EndDate       = dtpEnd.Value;
            workSchedule.Remark        = txtRemark.Text;
            workSchedule.Year          = Convert.ToInt32(numYear.Value);
            workSchedule.Month         = Convert.ToInt32(numMonth.Value);
            workSchedule.PendingDate   = Convert.ToDateTime(dateTimePendingDate.Value.ToShortDateString());

            txtBillNo.Text = m_workSchedulingServer.AddWorkScheduling(workSchedule, lstPersonnel, out error).ToString();

            if (Convert.ToInt32(txtBillNo.Text) < 0)
            {
                MessageDialog.ShowPromptMessage(error);
                return;
            }
            else
            {
                MessageDialog.ShowPromptMessage("新增成功!");
                m_billMessageServer.DestroyMessage(txtBillNo.Text);

                if (workSchedule.BillStatus.Equals(OverTimeBillStatus.等待主管审核.ToString()))
                {
                    m_billMessageServer.SendNewFlowMessage(txtBillNo.Text, string.Format("{0}号请假申请单,请主管审核", txtBillNo.Text),
                                                           BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptDirectorRoleName(
                                                               m_personnerServer.GetPersonnelViewInfo(txtCreaterWorkID.Tag.ToString()).部门编号).ToList());
                }
                else if (workSchedule.BillStatus == OverTimeBillStatus.等待部门负责人审核.ToString())
                {
                    m_billMessageServer.SendNewFlowMessage(txtBillNo.Text, string.Format("{0}号请假申请单,请部门负责人审核", m_billNo),
                                                           BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptPrincipalRoleName(
                                                               m_personnerServer.GetPersonnelViewInfo(txtCreaterWorkID.Tag.ToString()).部门编号).ToList());
                }
            }

            this.Close();
        }
예제 #2
0
        private void 提交toolStripButton1_Click(object sender, EventArgs e)
        {
            if (txtApplicant.Tag.ToString() == BasicInfo.LoginID)
            {
                if (cmbNewDept.SelectedIndex == -1 || cmbNewWorkPost.SelectedIndex == -1)
                {
                    MessageDialog.ShowPromptMessage("请选择调入部门和所申请的岗位!");
                    return;
                }

                if (txtChangeReason.Text.Trim() == "")
                {
                    MessageDialog.ShowPromptMessage("请选择调动原因!");
                    return;
                }

                m_billNo = m_PostChangeServer.AddPostChange(GetPostChange(), out m_error).ToString();

                if (m_billNo == "0")
                {
                    MessageDialog.ShowPromptMessage(m_error);
                    return;
                }

                m_billMessageServer.DestroyMessage(m_billNo.ToString());
                m_billMessageServer.SendNewFlowMessage(m_billNo.ToString(), string.Format("{0}号部门调动申请,请调出部门负责人审核", m_billNo),
                                                       BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptPrincipalRoleName(txtOldDept.Tag.ToString()).ToList());

                this.Close();
            }
            else
            {
                MessageDialog.ShowPromptMessage("您不是申请人本人,不能进行此操作!");
            }
        }
        private void 审核toolStripButton_Click(object sender, EventArgs e)
        {
            if (txtStatus.Text == SalesOrderStatus.等待审核.ToString())
            {
                string deptCode = dgvReview.Rows[0].Cells["部门"].Value.ToString();

                YX_SalesOrder salesOrder = new YX_SalesOrder();

                salesOrder.BillNo    = txtBillNo.Text;
                salesOrder.Status    = SalesOrderStatus.等待评审.ToString();
                salesOrder.Auditer   = BasicInfo.LoginID;
                salesOrder.AuditDate = ServerTime.Time;

                DataTable reviewDt = new DataTable();

                reviewDt.Columns.Add("DeptCode");

                for (int i = 0; i < dgvReview.Rows.Count; i++)
                {
                    DataRow dr = reviewDt.NewRow();

                    dr["DeptCode"] = dgvReview.Rows[i].Cells["部门编码"].Value.ToString();

                    reviewDt.Rows.Add(dr);
                }

                if (!m_salesOrderServer.OperationInfo(salesOrder, null, null, "", "", salesOrder.Status, "主管审核", out m_error))
                {
                    MessageDialog.ShowPromptMessage(m_error);
                    return;
                }
                else
                {
                    MessageDialog.ShowPromptMessage("审核成功!");

                    string msg = string.Format("{0} 号销售订单评审,请评审部门评审", txtBillNo.Text);
                    m_billMessageServer.PassFlowMessage(txtBillNo.Text, msg,
                                                        BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptPrincipalRoleName(deptCode).ToList());

                    this.Close();
                }
            }
            else
            {
                MessageDialog.ShowPromptMessage("请确认单据状态!");
            }
        }
예제 #4
0
        /// <summary>
        /// 更新流程
        /// </summary>
        /// <param name="billNo">单据号</param>
        /// <param name="advise">意见</param>
        /// <param name="error">错误信息</param>
        /// <returns>成功返回True,失败返回False</returns>
        public bool UpdateInfo(string billNo, string advise, out string error)
        {
            error = null;

            IBillMessagePromulgatorServer serverBill            = BasicServerFactory.GetServerModule <IBillMessagePromulgatorServer>();
            ISystemFileBasicInfo          m_serverFileBasicInfo = Service_Quality_File.ServerModuleFactory.GetServerModule <ISystemFileBasicInfo>();
            FileServiceSocket             m_serverFTP           = new FileServiceSocket(GlobalObject.GlobalParameter.FTPServerIP,
                                                                                        GlobalObject.GlobalParameter.FTPServerAdvancedUser,
                                                                                        GlobalObject.GlobalParameter.FTPServerAdvancedPassword);

            DepotManagementDataContext ctx = CommentParameter.DepotDataContext;

            try
            {
                var varData = from a in ctx.FM_InstitutionProcess
                              where a.BillNo == billNo
                              select a;

                FM_InstitutionProcess lnqProcess = varData.Single();

                serverBill.BillType = serverBill.GetBillTypeEnum(lnqProcess.TypeCode).ToString();
                CE_BillTypeEnum       billType   = GlobalObject.GeneralFunction.StringConvertToEnum <CE_BillTypeEnum>(serverBill.BillType);
                InstitutionBillStatus billStatus = GlobalObject.GeneralFunction.StringConvertToEnum <InstitutionBillStatus>(lnqProcess.BillStatus);

                var varList = from a in ctx.FM_InstitutionProcessPointDept
                              where a.BillNo == billNo
                              select a;

                FM_InstitutionProcessPointDept        lnqPoint = new FM_InstitutionProcessPointDept();
                List <FM_InstitutionProcessPointDept> list     = varList.ToList();
                List <string> listTemp = new List <string>();

                switch (billStatus)
                {
                case InstitutionBillStatus.新建流程:
                    break;

                case InstitutionBillStatus.等待科长审查:

                    lnqProcess.BillStatus  = InstitutionBillStatus.等待负责人审查.ToString();
                    lnqProcess.Chief       = BasicInfo.LoginName;
                    lnqProcess.ChiefAdvise = advise;
                    lnqProcess.ChiefTime   = ServerTime.Time;

                    serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                               BillFlowMessage_ReceivedUserType.角色, serverBill.GetDeptPrincipalRoleName(UniversalFunction.GetPersonnelInfo(lnqProcess.Propoer).部门编码).ToList());
                    break;

                case InstitutionBillStatus.等待负责人审查:

                    lnqProcess.BillStatus           = InstitutionBillStatus.等待相关负责人审查.ToString();
                    lnqProcess.DepartmentHead       = BasicInfo.LoginName;
                    lnqProcess.DepartmentHeadAdvise = advise;
                    lnqProcess.DepartmentHeadTime   = ServerTime.Time;

                    if (billType == CE_BillTypeEnum.制度销毁申请流程)
                    {
                        lnqProcess.BillStatus = InstitutionBillStatus.等待分管领导审查.ToString();

                        serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                                   BillFlowMessage_ReceivedUserType.角色, serverBill.GetDeptLeaderRoleName(UniversalFunction.GetPersonnelInfo(lnqProcess.Propoer).部门编码).ToList());
                    }
                    else
                    {
                        listTemp = (from a in list
                                    where a.PersonnelType == RoleStyle.负责人.ToString()
                                    select a.Personnel).ToList();

                        serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                                   BillFlowMessage_ReceivedUserType.用户, listTemp);
                    }

                    break;

                case InstitutionBillStatus.等待相关负责人审查:

                    lnqPoint = (from a in list
                                where a.Personnel == BasicInfo.LoginID &&
                                a.PersonnelType == RoleStyle.负责人.ToString()
                                select a).Single();

                    lnqPoint.PersonnelTime = ServerTime.Time;
                    lnqPoint.Advise        = advise;

                    var varHead = from a in list
                                  where a.PersonnelType == RoleStyle.负责人.ToString() &&
                                  a.PersonnelTime == null
                                  select a;

                    if (varHead.Count() == 0)
                    {
                        if (IsThreeTripFile(lnqProcess.SortID))
                        {
                            lnqProcess.BillStatus = InstitutionBillStatus.等待分管领导审查.ToString();

                            serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                                       BillFlowMessage_ReceivedUserType.角色, serverBill.GetDeptLeaderRoleName(UniversalFunction.GetPersonnelInfo(lnqProcess.Propoer).部门编码).ToList());
                        }
                        else
                        {
                            lnqProcess.BillStatus = InstitutionBillStatus.等待相关分管领导审查.ToString();

                            listTemp = (from a in list
                                        where a.PersonnelType == RoleStyle.分管领导.ToString()
                                        select a.Personnel).ToList();

                            serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                                       BillFlowMessage_ReceivedUserType.用户, listTemp);
                        }
                    }
                    else
                    {
                        listTemp = (from a in varHead
                                    select a.Personnel).ToList();

                        serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                                   BillFlowMessage_ReceivedUserType.用户, listTemp);
                    }

                    break;

                case InstitutionBillStatus.等待相关分管领导审查:
                    lnqPoint = (from a in list
                                where a.Personnel == BasicInfo.LoginID &&
                                a.PersonnelType == RoleStyle.分管领导.ToString()
                                select a).Single();

                    lnqPoint.PersonnelTime = ServerTime.Time;
                    lnqPoint.Advise        = advise;

                    var varLead = from a in list
                                  where a.PersonnelType == RoleStyle.分管领导.ToString() &&
                                  a.PersonnelTime == null
                                  select a;

                    if (varLead.Count() == 0)
                    {
                        lnqProcess.BillStatus = InstitutionBillStatus.等待总经理审查.ToString();

                        serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                                   BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.总经理.ToString());
                    }
                    else
                    {
                        listTemp = (from a in varLead
                                    select a.Personnel).ToList();

                        serverBill.PassFlowMessage(lnqProcess.BillNo, string.Format("【文件编号】:{0} 【文件名】:{1} ※※※ 等待处理", lnqProcess.FileNo, lnqProcess.FileName),
                                                   BillFlowMessage_ReceivedUserType.用户, listTemp);
                    }

                    break;

                case InstitutionBillStatus.等待分管领导审查:
                case InstitutionBillStatus.等待总经理审查:

                    lnqProcess.BillStatus           = InstitutionBillStatus.流程已结束.ToString();
                    lnqProcess.GeneralManager       = BasicInfo.LoginName;
                    lnqProcess.GeneralManagerAdvise = advise;
                    lnqProcess.GeneralManagerTime   = ServerTime.Time;

                    FM_FileList fileInfo = new FM_FileList();

                    if (lnqProcess.FileID != null)
                    {
                        var varFileInfo = from a in ctx.FM_FileList
                                          where a.FileID == lnqProcess.FileID
                                          select a;

                        if (varFileInfo.Count() == 1)
                        {
                            fileInfo = varFileInfo.Single();
                        }
                    }

                    if (billType == CE_BillTypeEnum.制度发布流程)
                    {
                        string strVersion = "1.0";

                        if (lnqProcess.ReplaceFileID == null)
                        {
                            DataTable dtTemp = m_serverFileBasicInfo.GetFilesInfo(lnqProcess.FileNo, null);
                        }
                        else
                        {
                            m_serverFileBasicInfo.OperatorFTPSystemFile(ctx, Convert.ToInt32(lnqProcess.ReplaceFileID), 29);
                            strVersion =
                                (Convert.ToDouble(m_serverFileBasicInfo.GetFile(Convert.ToInt32(lnqProcess.ReplaceFileID)).Version) + 0.1).ToString();
                        }

                        FM_FileList lnqFile = new FM_FileList();

                        lnqFile.Department = lnqProcess.Department;
                        lnqFile.FileName   = lnqProcess.FileName;
                        lnqFile.FileNo     = lnqProcess.FileNo;
                        lnqFile.FileUnique = lnqProcess.FileUnique;
                        lnqFile.SortID     = lnqProcess.SortID;
                        lnqFile.Version    = strVersion;

                        ctx.FM_FileList.InsertOnSubmit(lnqFile);

                        if (m_serverFTP.Errormessage.Length != 0)
                        {
                            throw new Exception(m_serverFTP.Errormessage);
                        }
                    }
                    else if (billType == CE_BillTypeEnum.制度修订废弃申请流程 && lnqProcess.OperationMode == "废弃")
                    {
                        if (fileInfo != null)
                        {
                            fileInfo.SortID = 29;
                        }
                    }
                    else if (billType == CE_BillTypeEnum.制度销毁申请流程)
                    {
                        ctx.FM_FileList.DeleteOnSubmit(fileInfo);
                    }

                    serverBill.EndFlowMessage(lnqProcess.BillNo,
                                              string.Format("{0}号文件审查流程已结束", lnqProcess.BillNo), null,
                                              (from a in varList select a.Personnel).ToList());

                    break;

                case InstitutionBillStatus.流程已结束:
                    break;

                default:
                    break;
                }

                ctx.SubmitChanges();

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
예제 #5
0
        /// <summary>
        /// 添加信息
        /// </summary>
        /// <param name="institution">LINQ信息</param>
        /// <param name="deptList">部门信息</param>
        /// <param name="billEnum">单据类型</param>
        /// <param name="error">错误信息</param>
        /// <returns>成功返回True</returns>
        public bool AddInfo(FM_InstitutionProcess institution, List <string> deptList, out string error)
        {
            error = null;

            DepotManagementDataContext    ctx        = CommentParameter.DepotDataContext;
            IBillMessagePromulgatorServer serverBill = BasicServerFactory.GetServerModule <IBillMessagePromulgatorServer>();

            serverBill.BillType = serverBill.GetBillTypeEnum(institution.TypeCode).ToString();

            try
            {
                institution.Propoer     = BasicInfo.LoginName;
                institution.PropoerTime = ServerTime.Time;
                institution.BillStatus  = InstitutionBillStatus.等待科长审查.ToString();

                ctx.FM_InstitutionProcess.InsertOnSubmit(institution);

                List <FM_InstitutionProcessPointDept> listPoint = new List <FM_InstitutionProcessPointDept>();
                FM_InstitutionProcessPointDept        tempLnq   = new FM_InstitutionProcessPointDept();

                if (deptList != null)
                {
                    foreach (string item in deptList)
                    {
                        List <string> list = serverBill.GetUserCodes(serverBill.GetDeptPrincipalRoleName(item).ToList(), null);
                        foreach (string workID in list)
                        {
                            tempLnq = new FM_InstitutionProcessPointDept();

                            tempLnq.BillNo        = institution.BillNo;
                            tempLnq.PersonnelType = RoleStyle.负责人.ToString();
                            tempLnq.Personnel     = workID;

                            listPoint.Add(tempLnq);
                        }

                        if (!IsThreeTripFile(institution.SortID))
                        {
                            list = serverBill.GetUserCodes(serverBill.GetDeptLeaderRoleName(item).ToList(), null);
                            foreach (string workID in list)
                            {
                                tempLnq = new FM_InstitutionProcessPointDept();

                                tempLnq.BillNo        = institution.BillNo;
                                tempLnq.PersonnelType = RoleStyle.分管领导.ToString();
                                tempLnq.Personnel     = workID;

                                listPoint.Add(tempLnq);
                            }
                        }
                    }

                    var varData = (from a in listPoint
                                   select new { a.BillNo, a.Personnel, a.PersonnelType }).Distinct();

                    listPoint = new List <FM_InstitutionProcessPointDept>();

                    foreach (var item in varData)
                    {
                        tempLnq = new FM_InstitutionProcessPointDept();

                        tempLnq.PersonnelType = item.PersonnelType;
                        tempLnq.Personnel     = item.Personnel;
                        tempLnq.BillNo        = item.BillNo;

                        listPoint.Add(tempLnq);
                    }

                    ctx.FM_InstitutionProcessPointDept.InsertAllOnSubmit(listPoint);
                }

                ctx.SubmitChanges();

                serverBill.DestroyMessage(institution.BillNo);
                serverBill.SendNewFlowMessage(institution.BillNo,
                                              string.Format("{0}号文件审查流程已提交,请等待上级审核", institution.BillNo),
                                              BillFlowMessage_ReceivedUserType.角色, serverBill.GetSuperior(CE_RoleStyleType.级领导, BasicInfo.LoginID));

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
        private void 提交单据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lblStatus.Text.Trim() == OverTimeBillStatus.新建单据.ToString())
            {
                if (!CheckControl())
                {
                    return;
                }

                List <HR_OvertimePersonnel> lstPersonnel = new List <HR_OvertimePersonnel>(dataGridView2.Rows.Count);

                for (int i = 0; i < dataGridView2.Rows.Count; i++)
                {
                    HR_OvertimePersonnel       personnel = new HR_OvertimePersonnel();
                    DataGridViewCellCollection cells     = dataGridView2.Rows[i].Cells;

                    personnel.WorkID = dataGridView2.Rows[i].Cells["员工编号"].Value.ToString();
                    lstPersonnel.Add(personnel);
                }

                HR_OvertimeBill overTimeBill = new HR_OvertimeBill();

                overTimeBill.Applicant         = txtApplicant.Tag.ToString();
                overTimeBill.Authorize         = false;
                overTimeBill.BeginTime         = dtpBeginTime.Value;
                overTimeBill.CompensateMode    = cmbCompensateMode.Text;
                overTimeBill.Date              = ServerTime.Time;
                overTimeBill.Errand            = txtErrand.Text;
                overTimeBill.Hours             = numHours.Value;
                overTimeBill.RealHours         = Convert.ToDouble(numHours.Value);
                overTimeBill.NumberOfPersonnel = Convert.ToInt32(txtNumOfPersonnel.Text);
                overTimeBill.VerifyFinish      = false;
                overTimeBill.EndTime           = dtpEndTime.Value;
                overTimeBill.OvertimeAddress   = cmbOvertimeAddress.Text;

                IQueryable <View_HR_PersonnelArchive> directorGroup1 = m_personnerServer.GetDeptDirector(
                    m_personnerServer.GetPersonnelInfo(txtApplicant.Tag.ToString()).Dept, "1");

                bool flagPri        = false; //判断申请人是不是负责人
                bool isDeptDirector = false; //申请部门有没有主管

                if (directorGroup1 != null && directorGroup1.Count() > 0)
                {
                    foreach (var item in directorGroup1)
                    {
                        if (BasicInfo.LoginID == item.员工编号)
                        {
                            flagPri = true;

                            break;
                        }
                    }
                }

                IQueryable <View_HR_PersonnelArchive> directorGroup = m_personnerServer.GetDeptDirector(
                    m_personnerServer.GetPersonnelInfo(txtApplicant.Tag.ToString()).Dept, "0");
                bool flag = false;//判断申请人是不是主管

                if (directorGroup != null && directorGroup.Count() > 0)
                {
                    isDeptDirector = true;

                    foreach (var item in directorGroup)
                    {
                        if (BasicInfo.LoginID == item.员工编号)
                        {
                            flag = true;

                            break;
                        }
                    }
                }

                if (!flag && !flagPri)
                {
                    if (isDeptDirector)
                    {
                        overTimeBill.BillStatus = OverTimeBillStatus.等待主管审核.ToString();
                    }
                    else
                    {
                        overTimeBill.BillStatus = OverTimeBillStatus.等待部门负责人审核.ToString();
                    }
                }
                else if (flag && !flagPri)
                {
                    overTimeBill.BillStatus = OverTimeBillStatus.等待部门负责人审核.ToString();
                }
                else
                {
                    overTimeBill.BillStatus = OverTimeBillStatus.等待分管领导审批.ToString();
                }

                m_billNo = m_overTimeServer.AddOverTimeBill(overTimeBill, lstPersonnel, out error).ToString();

                if (Convert.ToInt32(m_billNo) < 0)
                {
                    MessageDialog.ShowPromptMessage(error);
                    return;
                }
                else
                {
                    MessageDialog.ShowPromptMessage("新增成功!");

                    m_billMessageServer.DestroyMessage(m_billNo);

                    if (overTimeBill.BillStatus.Equals(OverTimeBillStatus.等待主管审核.ToString()))
                    {
                        m_billMessageServer.SendNewFlowMessage(m_billNo, string.Format("{0}号加班申请单,请主管审核", m_billNo),
                                                               BillFlowMessage_ReceivedUserType.角色,
                                                               m_billMessageServer.GetDeptDirectorRoleName(m_personnerServer.GetPersonnelViewInfo(
                                                                                                               txtApplicant.Tag.ToString()).部门编号).ToList());
                    }
                    else if (overTimeBill.BillStatus == OverTimeBillStatus.等待部门负责人审核.ToString())
                    {
                        m_billMessageServer.SendNewFlowMessage(m_billNo, string.Format("{0}号加班申请单,请部门负责人审核", m_billNo),
                                                               BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptPrincipalRoleName(
                                                                   m_personnerServer.GetPersonnelViewInfo(txtApplicant.Tag.ToString()).部门编号).ToList());
                    }
                    else
                    {
                        m_billMessageServer.SendNewFlowMessage(m_billNo, string.Format("{0}号加班申请单,请分管领导审核", m_billNo),
                                                               BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptLeaderRoleName(
                                                                   m_personnerServer.GetPersonnelViewInfo(txtApplicant.Tag.ToString()).部门编号).ToList());
                    }
                }
            }
            else
            {
                MessageDialog.ShowPromptMessage("请确认单据状态!");
                return;
            }
            this.Close();
        }
        private void 提交申请ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lblStatus.Text.Trim() == DimissionBillStatus.新建单据.ToString())
            {
                if (txtReason.Text.Trim() == "")
                {
                    MessageDialog.ShowPromptMessage("请填写离职原因!");
                    return;
                }

                HR_DimissionBill dimission = new HR_DimissionBill();

                dimission.Date            = dtpDate.Value;
                dimission.Dept            = txtDept.Tag.ToString();
                dimission.WorkPost        = txtWorkPost.Text;
                dimission.WorkID          = txtApplicant.Tag.ToString();
                dimission.Reason          = txtReason.Text;
                dimission.DeptAuthorize   = false;
                dimission.LeaderAuthorize = false;
                dimission.GM_Authorize    = false;
                //dimission.AllowDimissionDate = ServerTime.Time.AddDays(1);
                dimission.DeptSignatureDate   = ServerTime.Time;
                dimission.HR_SignatureDate    = ServerTime.Time;
                dimission.LeaderSignatureDate = ServerTime.Time;
                dimission.GM_SignatureDate    = ServerTime.Time;
                dimission.BillStatus          = DimissionBillStatus.等待部门负责人审核.ToString();

                billID = Convert.ToInt32(m_dimiServer.AddAndUpdateDimission(dimission, "提交申请", out error));

                if (billID == 0)
                {
                    MessageDialog.ShowPromptMessage(error);
                    return;
                }

                //m_billMessageServer.SendNewFlowMessage(billID.ToString(), string.Format("{0}号离职申请,请主管审核",billID.ToString()),
                //    BillFlowMessage_ReceivedUserType.角色,m_billMessageServer.GetDeptPrincipalRoleName(m_highDept)[0]);

                m_billMessageServer.SendNewFlowMessage(billID.ToString(), string.Format("{0}号离职申请,请主管审核", billID),
                                                       BillFlowMessage_ReceivedUserType.角色, m_billMessageServer.GetDeptPrincipalRoleName(m_personnerServer.GetPersonnelViewInfo(txtApplicant.Tag.ToString()).部门编号).ToList());
            }
            else
            {
                MessageDialog.ShowPromptMessage("请确认单据状态!");
                return;
            }

            this.Close();
        }
예제 #8
0
        private void 销售toolStripButton_Click(object sender, EventArgs e)
        {
            if (txtRecorder.Text == BasicInfo.LoginName &&
                m_marketPartBillServer.GetDataByBillNo(m_billNo).Rows[0]["单据状态"].ToString() != "已完成")
            {
                if (txtClient.Text.Trim() != "" && txtClient.Text.Trim() != "全部" && txtClient.Text.Trim() != "其它")
                {
                    S_MarketingPartBill bill = new S_MarketingPartBill();

                    bill.ClientID         = txtClient.Tag.ToString();
                    bill.Remark           = txtMainRemark.Text;
                    bill.Recorder         = BasicInfo.LoginID;
                    bill.RecordTime       = ServerTime.Time;
                    bill.Status           = "等待主管审核";
                    bill.BillNo           = m_billNo;
                    bill.AssociatedBillNo = txtAssociated.Text;

                    if (cbCarLoad.Checked)
                    {
                        bill.IsCarLoad = true;

                        if (tbsUseClient.Text.Trim() == "")
                        {
                            MessageDialog.ShowPromptMessage("请选择套用哪个整车厂的价格!");
                            return;
                        }
                        else
                        {
                            bill.CiteTerminalClient = tbsUseClient.Tag.ToString();

                            for (int i = 0; i < m_listMarketPart.Count; i++)
                            {
                                YX_LowestMarketPrice lowest = m_LowestPriceServer.GetDataByClientCode(tbsUseClient.Tag.ToString(), Convert.ToInt32(m_listMarketPart[i].GoodsID), out m_error);

                                if (lowest != null)
                                {
                                    m_listMarketPart[i].最低定价 = lowest.Price;
                                    m_listMarketPart[i].销售单价 = lowest.Price;
                                }
                                else
                                {
                                    MessageDialog.ShowPromptMessage("请在最低定价表中设置该整车厂【"
                                                                    + m_listMarketPart[i].图号型号 + m_listMarketPart[i].物品名称 + "】的最低价格!");
                                    销售toolStripButton.Enabled = false;
                                    cbCarLoad.Checked         = false;
                                    tbsUseClient.Text         = "";
                                    tbsUseClient.Tag          = "";

                                    return;
                                }
                            }
                        }
                    }
                    else
                    {
                        bill.IsCarLoad = false;

                        //什么意思 没搞明白? by cjb on 2015.10.19
                        if (Convert.ToDecimal(txtLowestPrice.Text) > numSellUnitPrice.Value)
                        {
                            MessageDialog.ShowPromptMessage("请重新填写销售价格!");
                            return;
                        }
                    }

                    if (!m_marketPartBillServer.UpdateData(bill, m_listMarketPart, "销售", out m_error))
                    {
                        MessageDialog.ShowPromptMessage(m_error);
                        return;
                    }
                    else
                    {
                        MessageDialog.ShowPromptMessage("确认成功!");

                        if (BasicInfo.DeptCode.Contains("YX"))
                        {
                            m_billMessageServer.PassFlowMessage(m_billNo,
                                                                string.Format("【客户名称】:{0}    ※※※ 等待【主管】处理", txtClient.Text), BillFlowMessage_ReceivedUserType.角色,
                                                                m_billMessageServer.GetDeptDirectorRoleName(BasicInfo.DeptCode).ToList());
                        }
                        else
                        {
                            m_billMessageServer.PassFlowMessage(m_billNo,
                                                                string.Format("【客户名称】:{0}    ※※※ 等待【负责人】处理", txtClient.Text), BillFlowMessage_ReceivedUserType.角色,
                                                                m_billMessageServer.GetDeptPrincipalRoleName(BasicInfo.DeptCode).ToList());
                        }
                    }
                }
                else
                {
                    MessageDialog.ShowPromptMessage("客户不正确,请重新选择!");
                    return;
                }
            }
            else
            {
                MessageDialog.ShowPromptMessage("您不是销售人员【" + txtRecorder.Text + "】或单据已完成,不能进行此操作!");
                return;
            }

            this.Close();
        }