/// <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 发送知会消息 }
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("请重新确认单据状态"); } }
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); }
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); }
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; } }
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("请重新确认单据状态"); } }
/// <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); } }
/// <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(); }
/// <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; } }
/// <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; } }
/// <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); } }
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(); }
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(); }