/// <summary>
        /// 结束流消息(流程已经走完)
        /// </summary>
        /// <param name="billNo">单据号</param>
        /// <param name="msgContent">消息内容</param>
        void EndFlowMessage(string billNo, string msgContent)
        {
            Flow_BillFlowMessage msg = m_billFlowMsg.GetMessage(BasicInfo.LoginID, labelTitle.Text, billNo);

            if (msg == null)
            {
                return;
            }

            m_billFlowMsg.EndMessage(BasicInfo.LoginID, msg.序号, msgContent);
            SendFinishedFlagToMessagePromptForm(billNo);

            #region 发送知会消息

            string content = string.Format("{0} 号采购退货单已经处理完毕", msg.单据流水号);

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

            noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(
                                     dataGridView1.SelectedRows[0].Cells["申请部门编码"].Value.ToString()));
            noticeRoles.Add(CE_RoleEnum.会计.ToString());
            noticeRoles.Add(CE_RoleEnum.质量总监.ToString());
            noticeRoles.Add(CE_RoleEnum.质控主管.ToString());
            noticeRoles.Add(CE_RoleEnum.质量工程师.ToString());

            m_billMessageServer.NotifyMessage(msg.单据类型, msg.单据号, content, BasicInfo.LoginID, noticeRoles, null);

            #endregion 发送知会消息
        }
예제 #2
0
        private void 财务确认ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lbDJZT.Text != "等待财务确认")
            {
                MessageDialog.ShowPromptMessage("请重新确认单据状态");
            }
            else
            {
                if (UpdateMessage())
                {
                    #region 发送知会消息


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

                    string strDept = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                        m_threePacketsOfTheRepairServer.GetBill(strBillID, out m_strErr).FoundPersonnel).Rows[0]["DepartmentCode"].ToString();

                    noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));

                    noticeRoles.Add(CE_RoleEnum.营销普通人员.ToString());
                    noticeRoles.Add(CE_RoleEnum.营销总监.ToString());
                    noticeRoles.Add(CE_RoleEnum.线车间人员.ToString());
                    noticeRoles.Add(CE_RoleEnum.线主管.ToString());
                    noticeRoles.Add(CE_RoleEnum.会计.ToString());
                    noticeRoles.Add(CE_RoleEnum.制造仓库管理员.ToString());

                    m_billMessageServer.EndFlowMessage(strBillID,
                                                       string.Format("{0} 号三包外返修处理单已经处理完毕", strBillID),
                                                       noticeRoles, null);

                    #endregion 发送知会消息
                }
            }
        }
        private void 盘点确认ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lblBillStatus.Text == "等待仓管确认")
            {
                UpdateStatus(lblBillStatus.Text);

                #region 发送知会消息

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

                string strDept = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                    m_serverStroageCheck.GetBill(txtBill_ID.Text).BZRY).Rows[0]["DepartmentCode"].ToString();

                noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));

                noticeRoles.Add(CE_RoleEnum.制造分管领导.ToString());
                noticeRoles.Add(m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text).ToString());
                noticeRoles.Add(CE_RoleEnum.财务主管.ToString());
                noticeRoles.Add(CE_RoleEnum.会计.ToString());

                m_billMessageServer.EndFlowMessage(m_lnqCheck.DJH,
                                                   string.Format("{0} 号库房盘点单已经处理完毕", m_lnqCheck.DJH),
                                                   noticeRoles, null);

                #endregion 发送知会消息
            }
            else
            {
                MessageDialog.ShowPromptMessage("请重新确认单据状态");
            }
        }
예제 #4
0
        private void btnAffirm_Click(object sender, EventArgs e)
        {
            GetBillMessage();

            if (!m_billServer.UpdateBill(m_masterInfo, (DataTable)dataGridView1.DataSource,
                                         AfterServiceMakePartsBillStatus.等待车间确认, out m_err))
            {
                MessageDialog.ShowPromptMessage(m_err);
            }
            else
            {
                m_billNoControl.UseBill(m_masterInfo.BillID);
                MessageDialog.ShowPromptMessage("确认成功");

                #region 发送知会消息

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

                string strDept = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                    m_billServer.GetBill(txtSellID.Text).Applicant).Rows[0]["DepartmentCode"].ToString();
                noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));

                m_msgPromulgator.EndFlowMessage(m_masterInfo.BillID,
                                                string.Format("{0} 号售后服务配件制造申请单已经处理完毕", m_masterInfo.BillID),
                                                noticeRoles, null);

                #endregion 发送知会消息

                this.Close();
            }

            RefershDataGridView(txtSellID.Text);
        }
예제 #5
0
        private void 批准通过ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lbDJZT.Text == "等待确认出库")
            {
                UpdateBill();

                #region 发送知会消息

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


                string strDept = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                    m_serverUse.GetBill(m_lnqBill.DJH).SQR).Rows[0]["DepartmentCode"].ToString();
                noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));

                noticeRoles.Add(m_billMessageServer.GetRoleStringForStorage(cmbStorage.Text).ToString());

                m_msgPromulgator.EndFlowMessage(m_lnqBill.DJH,
                                                string.Format("{0} 号样品耗用单已经处理完毕", m_lnqBill.DJH),
                                                noticeRoles, null);

                #endregion 发送知会消息
            }
            else
            {
                MessageDialog.ShowPromptMessage("请重新确认单据状态");
                return;
            }
        }
        private void 确认隔离ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (lbDJZT.Text == "等待仓管调出")
            {
                DataForMessage("等待仓管调出");

                m_billMessageServer.PassFlowMessage(m_lnqIslation.DJH,
                                                    string.Format("{0}号不合格品隔离处置单已提交,请等待处理",
                                                                  m_lnqIslation.DJH), BillFlowMessage_ReceivedUserType.角色,
                                                    m_billMessageServer.GetDeptDirectorRoleName(m_lnqIslation.CLBM).ToList());
            }
            else
            {
                MessageBox.Show("请重新确认单据状态", "提示");
            }

            PositioningRecord(m_lnqIslation.DJH);
        }
예제 #7
0
        private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.CurrentRow == null)
            {
                return;
            }

            txtFileName.Text   = dataGridView1.CurrentRow.Cells["文件名称"].Value.ToString();
            txtFileNo.Text     = dataGridView1.CurrentRow.Cells["文件编号"].Value.ToString();
            txtFileNo.Tag      = dataGridView1.CurrentRow.Cells["文件ID"].Value;
            txtVersion.Text    = dataGridView1.CurrentRow.Cells["版本号"].Value.ToString();
            txtDestroyWay.Text = dataGridView1.CurrentRow.Cells["销毁办法"].Value.ToString();
            txtCoverFile.Text  = dataGridView1.CurrentRow.Cells["文件载体"].Value.ToString();
            numCopies.Value    = Convert.ToDecimal(dataGridView1.CurrentRow.Cells["份数"].Value);

            lbProposer.Text         = dataGridView1.CurrentRow.Cells["申请人"].Value.ToString();
            lbProposerTime.Text     = dataGridView1.CurrentRow.Cells["申请日期"].Value.ToString();
            lbApprover.Text         = dataGridView1.CurrentRow.Cells["批准人"].Value.ToString();
            lbApproverTime.Text     = dataGridView1.CurrentRow.Cells["批准日期"].Value.ToString();
            lbDestroyPersonnel.Text = dataGridView1.CurrentRow.Cells["销毁人"].Value.ToString();
            lbDestroyTime.Text      = dataGridView1.CurrentRow.Cells["销毁日期"].Value.ToString();

            if (BasicInfo.ListRoles.Contains(
                    m_billMessageServer.GetDeptDirectorRoleName(
                        m_serverPersonnel.GetPersonnelInfo(lbProposer.Text).部门编码)[0]))
            {
                btnApprove.Visible = true;
            }
            else
            {
                btnApprove.Visible = false;
            }

            if (lbApprover.Text.Trim().Length != 0 && lbDestroyPersonnel.Text.Trim().Length == 0)
            {
                btnDestroy.Visible = true;
            }
            else
            {
                btnDestroy.Visible = false;
            }
        }
예제 #8
0
        private void 确认信息ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow.Cells["单据状态"].Value.ToString() == "等待仓管确认入库")
            {
                m_lnqAffirm.LayerNumber  = m_lnqAffirm.LayerNumber == null ? "" : m_lnqAffirm.LayerNumber;
                m_lnqAffirm.ColumnNumber = m_lnqAffirm.ColumnNumber == null ? "" : m_lnqAffirm.ColumnNumber;
                m_lnqAffirm.ShelfArea    = m_lnqAffirm.ShelfArea == null ? "" : m_lnqAffirm.ShelfArea;

                if (!UpdateForBill())
                {
                    return;
                }

                #region 发送知会消息

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

                string strDept = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                    m_serverMuster.GetBill(m_lnqAffirm.DJH).SQR).Rows[0]["DepartmentCode"].ToString();
                noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));

                noticeRoles.Add(CE_RoleEnum.SQE组员.ToString());
                noticeRoles.Add(m_billMessageServer.GetRoleStringForStorage(m_lnqAffirm.StorageID).ToString());
                noticeRoles.Add(CE_RoleEnum.项目经理.ToString());
                noticeRoles.Add(CE_RoleEnum.检验员.ToString());
                noticeRoles.Add(CE_RoleEnum.产品开发主管.ToString());
                noticeRoles.Add(CE_RoleEnum.质控主管.ToString());
                noticeRoles.Add(CE_RoleEnum.零件工程师.ToString());

                m_billMessageServer.EndFlowMessage(m_lnqAffirm.DJH,
                                                   string.Format("{0} 号样品确认申请单已经处理完毕", m_lnqAffirm.DJH),
                                                   noticeRoles, null);

                #endregion 发送知会消息
            }
            else
            {
                MessageDialog.ShowErrorMessage("请重新确认单据状态");
            }
        }
예제 #9
0
        /// <summary>
        /// 发送新的流消息
        /// </summary>
        /// <param name="billNo">单据号</param>
        void SendNewFlowMessage(string billNo)
        {
            try
            {
                Flow_BillFlowMessage msg = new Flow_BillFlowMessage();

                msg.初始发起方用户编码 = BasicInfo.LoginID;
                msg.单据号       = billNo;
                msg.单据类型      = labelTitle.Text;
                msg.单据流水号     = billNo;
                msg.接收方类型     = BillFlowMessage_ReceivedUserType.角色.ToString();
                msg.单据状态      = BillStatus.等待处理.ToString();

                msg.发起方消息 = string.Format("{0} 号单据重新打印,请主管审核", billNo);

                string[] roleCodes = m_billMessageServer.GetDeptDirectorRoleName(BasicInfo.DeptCode);

                msg.接收方 = "";
                if (roleCodes.Count() > 0)
                {
                    foreach (string role in roleCodes)
                    {
                        msg.接收方 += role + ",";
                    }
                }

                msg.接收方       = msg.接收方.Substring(0, msg.接收方.Length - 1);
                msg.期望的处理完成时间 = null;

                m_billFlowMsg.SendRequestMessage(BasicInfo.LoginID, msg);
            }
            catch (Exception exce)
            {
                Console.WriteLine(exce.Message);
            }
        }
예제 #10
0
        /// <summary>
        /// 仓管确认事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAffirm_Click(object sender, EventArgs e)
        {
            if (m_intDJID != 0 && m_strDJZTFlag == "已批准")
            {
                DataTable dtTemp = (DataTable)dgv_Main.DataSource;

                BASE_Storage storageInfo_Out = UniversalFunction.GetStorageInfo(cmbOutStorage.Text);
                BASE_Storage storageInfo_In  = UniversalFunction.GetStorageInfo(cmbInStorage.Text);

                if (storageInfo_In.StorageID == storageInfo_Out.StorageID)
                {
                    throw new Exception("【入库库房】与【出库库房】是同一库房,无法操作");
                }

                if (storageInfo_In.ZeroCostFlag != storageInfo_Out.ZeroCostFlag)
                {
                    throw new Exception("【入库库房】与【出库库房】财务结算属性不一致,不能相互调拨");
                }

                for (int i = 0; i < dtTemp.Rows.Count; i++)
                {
                    if (!m_serverProductCode.IsFitCount(Convert.ToInt32(dtTemp.Rows[i]["GoodsID"]),
                                                        Convert.ToInt32(dtTemp.Rows[i]["Count"]), m_strDJH))
                    {
                        MessageBox.Show("请对产品设置流水号,并保证产品数量与流水号数一致", "提示");
                        return;
                    }
                }

                if (m_serverCannibalize.AffirmBill(m_intDJID, out m_err))
                {
                    #region 发送知会消息

                    List <string> noticeRoles = new List <string>();
                    string        strDept     = m_serverDepartment.GetDeptInfoFromPersonnelInfo(
                        m_serverCannibalize.GetBill(m_intDJID).LRRY).Rows[0]["DepartmentCode"].ToString();
                    noticeRoles.AddRange(m_billMessageServer.GetDeptDirectorRoleName(strDept));
                    noticeRoles.Add(m_billMessageServer.GetRoleStringForStorage(cmbOutStorage.Text).ToString());
                    noticeRoles.Add(m_billMessageServer.GetRoleStringForStorage(cmbInStorage.Text).ToString());
                    noticeRoles.Add(CE_RoleEnum.财务主管.ToString());
                    noticeRoles.Add(CE_RoleEnum.会计.ToString());

                    m_billMessageServer.EndFlowMessage(txtSellID.Text,
                                                       string.Format("{0} 号库房调拨单已经处理完毕", txtSellID.Text),
                                                       noticeRoles, null);

                    #endregion 发送知会消息

                    MessageBox.Show("确认完毕!", "提示");
                    m_billNoControl.UseBill(txtSellID.Text);
                    this.Close();
                }
                else
                {
                    MessageDialog.ShowErrorMessage(m_err);
                    return;
                }
            }
            else if (m_intDJID != 0)
            {
                MessageBox.Show("请重新确认单据状态!", "提示");
                return;
            }
            else
            {
                MessageBox.Show("单据ID无效,请重新确认!", "提示");
                return;
            }
        }
        /// <summary>
        /// 回退单据
        /// </summary>
        /// <param name="strDJH">单据号</param>
        /// <param name="strBillStatus">单据状态</param>
        /// <param name="strRebackReason">回退状态</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>操作成功返回True,操作失败返回False</returns>
        public bool ReturnBill(string strDJH, string strBillStatus, string strRebackReason, out string error)
        {
            error = null;

            try
            {
                DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

                var result = from a in dataContxt.HR_OnBusinessBill
                             where a.ID == Convert.ToInt32(strDJH)
                             select a;

                string strMsg = "";

                if (result.Count() == 1)
                {
                    HR_OnBusinessBill onBusiness = result.Single();

                    m_billMessageServer.BillType = "出差申请单";

                    DataTable dt = new PersonnelArchiveServer().GetHighestDept(onBusiness.Applicant);

                    if (dt != null && dt.Rows.Count > 0)
                    {
                        m_highDept = dt.Rows[0]["deptCode"].ToString();
                    }

                    switch (strBillStatus)
                    {
                    case "等待主管审核":
                        strMsg = string.Format("{0}号出差申请单已回退,请您重新处理单据; 回退原因为" + strRebackReason, strDJH);
                        m_billMessageServer.PassFlowMessage(strDJH, strMsg, BillFlowMessage_ReceivedUserType.角色,
                                                            m_billMessageServer.GetDeptDirectorRoleName(m_highDept).ToList());

                        onBusiness.BillStatus          = OnBusinessBillStatus.等待部门负责人审核.ToString();
                        onBusiness.Authorize           = false;
                        onBusiness.Confirmor           = "";
                        onBusiness.ConfirmorDate       = ServerTime.Time;
                        onBusiness.DeptPrincipal       = "";
                        onBusiness.DeptSignatureDate   = ServerTime.Time;
                        onBusiness.GeneralManager      = "";
                        onBusiness.GM_SignatureDate    = ServerTime.Time;
                        onBusiness.LeaderSignature     = "";
                        onBusiness.LeaderSignatureDate = ServerTime.Time;
                        onBusiness.RealBeginTime       = ServerTime.Time;
                        onBusiness.RealEndTime         = ServerTime.Time;
                        //onBusiness.Result = "";
                        break;

                    case "等待分管领导审批":
                        strMsg = string.Format("{0}号出差申请单已回退,请您重新处理单据; 回退原因为" + strRebackReason, strDJH);
                        m_billMessageServer.PassFlowMessage(strDJH, strMsg, BillFlowMessage_ReceivedUserType.角色,
                                                            m_billMessageServer.GetDeptLeaderRoleName(m_highDept).ToList());

                        onBusiness.BillStatus          = OnBusinessBillStatus.等待分管领导审批.ToString();
                        onBusiness.Confirmor           = "";
                        onBusiness.ConfirmorDate       = ServerTime.Time;
                        onBusiness.GeneralManager      = "";
                        onBusiness.GM_SignatureDate    = ServerTime.Time;
                        onBusiness.LeaderSignature     = "";
                        onBusiness.LeaderSignatureDate = ServerTime.Time;
                        onBusiness.RealBeginTime       = ServerTime.Time;
                        onBusiness.RealEndTime         = ServerTime.Time;
                        //onBusiness.Result = "";
                        break;

                    case "等待总经理批准":
                        strMsg = string.Format("{0}号出差申请单已回退,请您重新处理单据; 回退原因为" + strRebackReason, strDJH);
                        m_billMessageServer.PassFlowMessage(strDJH, strMsg, BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.总经理.ToString());

                        onBusiness.BillStatus       = OnBusinessBillStatus.等待总经理批准.ToString();
                        onBusiness.Authorize        = false;
                        onBusiness.Confirmor        = "";
                        onBusiness.ConfirmorDate    = ServerTime.Time;
                        onBusiness.GeneralManager   = "";
                        onBusiness.GM_SignatureDate = ServerTime.Time;
                        onBusiness.RealBeginTime    = ServerTime.Time;
                        onBusiness.RealEndTime      = ServerTime.Time;
                        //onBusiness.Result = "";
                        break;

                    case "等待销差人确认":
                        strMsg = string.Format("{0}号出差申请单已回退,请您重新处理单据; 回退原因为" + strRebackReason, strDJH);
                        m_billMessageServer.PassFlowMessage(strDJH, strMsg, BillFlowMessage_ReceivedUserType.用户, onBusiness.Applicant.ToString());

                        onBusiness.BillStatus    = OnBusinessBillStatus.等待销差人确认.ToString();
                        onBusiness.Confirmor     = "";
                        onBusiness.ConfirmorDate = ServerTime.Time;
                        onBusiness.RealBeginTime = ServerTime.Time;
                        onBusiness.RealEndTime   = ServerTime.Time;
                        //onBusiness.Result = "";
                        break;

                    default:
                        break;
                    }

                    dataContxt.SubmitChanges();

                    return(true);
                }
                else
                {
                    error = "数据不唯一或者为空";

                    return(false);
                }
            }
            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();
        }
예제 #13
0
        /// <summary>
        /// 保存事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (m_strDJZTFlag == "已确认")
                {
                    return;
                }

                if (tbsClient.Tag == null)
                {
                    MessageDialog.ShowPromptMessage("请选择出库部门");
                    tbsClient.Focus();
                    return;
                }

                if (cmbCKFS.Text == "")
                {
                    MessageDialog.ShowPromptMessage("请选择出库方式");
                    cmbCKFS.Focus();
                    return;
                }

                DataTable dt = (DataTable)dgv_Main.DataSource;

                m_drZdCK["ID"]         = m_intDJID.ToString();
                m_drZdCK["DJH"]        = txtSellID.Text;
                m_drZdCK["ObjectDept"] = tbsClient.Tag.ToString();
                m_drZdCK["LRRY"]       = BasicInfo.LoginID;
                m_drZdCK["Date"]       = ServerTime.Time.ToString();
                m_drZdCK["KFRY"]       = "";
                m_drZdCK["Price"]      = 0;
                m_drZdCK["SHRY"]       = "";
                m_drZdCK["Remark"]     = txtRemarkAll.Text;
                m_drZdCK["YWFS"]       = cmbCKFS.Text;
                m_drZdCK["JYRY"]       = "";
                m_drZdCK["StorageID"]  = UniversalFunction.GetStorageID(cmbStorage.Text);
                m_drZdCK["LRKS"]       = BasicInfo.DeptCode;

                if (m_findSellIn.UpdateBill(dt, m_drZdCK, CE_MarketingType.出库.ToString(), out m_err))
                {
                    MessageDialog.ShowPromptMessage("保存成功");

                    m_billMessageServer.DestroyMessage(txtSellID.Text);
                    m_billMessageServer.SendNewFlowMessage(txtSellID.Text, string.Format("【出库方式】:{0}  【库房】:{1}   ※※※ 等待【主管】处理", cmbCKFS.Text, cmbStorage.Text),
                                                           BillFlowMessage_ReceivedUserType.角色,
                                                           m_billMessageServer.GetDeptDirectorRoleName(BasicInfo.DeptCode).ToList());

                    m_intDJID = 1;
                    this.Close();
                }
                else
                {
                    MessageDialog.ShowErrorMessage(m_err);
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageDialog.ShowErrorMessage(ex.Message);
                return;
            }
        }
예제 #14
0
        /// <summary>
        /// 保存事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (cmbStorage.Text == "售后库房" && (cmbRKFS.Text == "生产入库" || cmbRKFS.Text == "生产返修入库"))
                {
                    MessageDialog.ShowPromptMessage("入库方式错误");
                    return;
                }

                if (m_strDJZTFlag == "已确认")
                {
                    return;
                }
                else if (tbsDept.Tag == null)
                {
                    MessageBox.Show("请选择入库部门", "提示");
                    tbsDept.Focus();
                    return;
                }
                else if (cmbRKFS.Text == "")
                {
                    MessageBox.Show("请选择入库方式", "提示");
                    cmbRKFS.Focus();
                    return;
                }

                DataTable dtTemp = (DataTable)dgv_Main.DataSource;

                for (int i = 0; i < dtTemp.Rows.Count; i++)
                {
                    if (!m_serverProductCode.IsFitCount(Convert.ToInt32(dtTemp.Rows[i]["CPID"]),
                                                        (int)Convert.ToDecimal(dtTemp.Rows[i]["Count"]), m_strDJH))
                    {
                        MessageBox.Show("请对产品设置流水号,并保证产品数量与流水号数一致", "提示");
                        return;
                    }
                }

                //由于错误录入入库方式,而导致无法重新进行生产入库,经与李剑飞、财务李姝姝沟通后,禁用此功能 Modify by cjb 2019.2.21
                //if (cmbRKFS.Text == "生产入库")
                //{
                //    m_serverProductCode.IsExistProductStock(txtSellID.Text);
                //}

                DataTable dt = (DataTable)dgv_Main.DataSource;
                m_drZdRK["ID"]         = m_intDJID.ToString();
                m_drZdRK["DJH"]        = txtSellID.Text;
                m_drZdRK["ObjectDept"] = tbsDept.Tag.ToString();
                m_drZdRK["LRRY"]       = BasicInfo.LoginID;
                m_drZdRK["Date"]       = ServerTime.Time.ToString();
                m_drZdRK["KFRY"]       = "";
                m_drZdRK["Price"]      = Convert.ToDecimal(txtPrice.Text);
                m_drZdRK["SHRY"]       = "";
                m_drZdRK["Remark"]     = txtRemarkAll.Text;
                m_drZdRK["YWFS"]       = cmbRKFS.Text;
                m_drZdRK["JYRY"]       = "";
                m_drZdRK["StorageID"]  = UniversalFunction.GetStorageID(cmbStorage.Text);
                m_drZdRK["LRKS"]       = BasicInfo.DeptCode;

                if (m_findSellIn.UpdateBill(dt, m_drZdRK, CE_MarketingType.入库.ToString(), out m_err))
                {
                    MessageBox.Show("保存成功", "提示");

                    m_billMessageServer.DestroyMessage(txtSellID.Text);
                    m_billMessageServer.SendNewFlowMessage(txtSellID.Text, string.Format("【入库方式】:{0}  【库房】:{1}   ※※※ 等待【主管】处理", cmbRKFS.Text, cmbStorage.Text),
                                                           BillFlowMessage_ReceivedUserType.角色,
                                                           m_billMessageServer.GetDeptDirectorRoleName(BasicInfo.DeptCode).ToList());
                    m_intDJID = 1;
                    this.Close();
                }
                else
                {
                    MessageDialog.ShowErrorMessage(m_err);
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageDialog.ShowErrorMessage(ex.Message);
                return;
            }
        }
예제 #15
0
        /// <summary>
        /// 回退单据
        /// </summary>
        /// <param name="billNo">单据号</param>
        /// <param name="billStatus">单据状态</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <param name="rebackReason">回退原因</param>
        /// <returns>操作成功返回True,操作失败返回False</returns>
        public bool ReturnBill(string billNo, string billStatus, out string error, string rebackReason)
        {
            error = null;

            try
            {
                DepotManagementDataContext dataContext = CommentParameter.DepotDataContext;

                var varData = from a in dataContext.S_MaterialDetainBill
                              where a.Bill_ID == billNo
                              select a;

                string strMsg = "";

                if (varData.Count() == 1)
                {
                    S_MaterialDetainBill lnqTemp = varData.Single();

                    Nullable <DateTime> nulldt = null;

                    lnqTemp.BillStatus = billStatus;

                    switch (billStatus)
                    {
                    case "新建单据":
                        strMsg = string.Format("{0}号物料扣货单单已回退,请您重新处理单据; 回退原因为" + rebackReason, billNo);
                        m_billMessageServer.PassFlowMessage(billNo, strMsg, BillFlowMessage_ReceivedUserType.用户, lnqTemp.FillInPersonCode);

                        lnqTemp.AuditingDate    = nulldt;
                        lnqTemp.AuditingPerson  = null;
                        lnqTemp.AuthorizeDate   = nulldt;
                        lnqTemp.AuthorizePerson = null;
                        lnqTemp.SQE             = null;
                        lnqTemp.SQEDate         = nulldt;

                        break;

                    case "等待领导审核":
                        strMsg = string.Format("{0}号物料扣货单单已回退,请您重新处理单据; 回退原因为" + rebackReason, billNo);
                        m_billMessageServer.PassFlowMessage(billNo, strMsg, BillFlowMessage_ReceivedUserType.角色,
                                                            m_billMessageServer.GetDeptDirectorRoleName(lnqTemp.Department).ToList());

                        lnqTemp.AuthorizeDate   = nulldt;
                        lnqTemp.AuthorizePerson = null;
                        lnqTemp.SQE             = null;
                        lnqTemp.SQEDate         = nulldt;

                        break;

                    case "等待质管批准":
                        strMsg = string.Format("{0}号物料扣货单单已回退,请您重新处理单据; 回退原因为" + rebackReason, billNo);
                        m_billMessageServer.PassFlowMessage(billNo, strMsg, BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.质量工程师.ToString());

                        lnqTemp.SQE     = null;
                        lnqTemp.SQEDate = nulldt;

                        break;

                    case "等待SQE确认":
                        strMsg = string.Format("{0}号物料扣货单单已回退,请您重新处理单据; 回退原因为" + rebackReason, billNo);
                        m_billMessageServer.PassFlowMessage(billNo, strMsg, BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.SQE组员.ToString());

                        break;

                    default:
                        break;
                    }

                    dataContext.SubmitChanges();
                }
                else
                {
                    error = "数据不唯一或者为空";
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
예제 #16
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();
        }
예제 #17
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();
        }