/// <summary> /// 回退单据 /// </summary> /// <param name="billNo">单据号</param> /// <param name="strBillStatus">单据状态</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <param name="strRebackReason">回退原因</param> /// <returns>操作成功返回True,操作失败返回False</returns> public bool ReturnBill(string billNo, string strBillStatus, out string error, string strRebackReason) { error = null; try { m_billMessageServer.BillType = "销售清单"; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var result = from a in dataContxt.S_MarketingPartBill where a.BillNo == billNo select a; string strMsg = ""; if (result.Count() == 1) { S_MarketingPartBill bill = result.Single(); switch (strBillStatus) { case "等待销售人员确认": bill.CW_Auditor = ""; bill.YX_Auditor = ""; bill.Status = "等待销售人员确认"; strMsg = string.Format("{0}号销售清单已回退,请您重新处理单据; 回退原因为" + strRebackReason, billNo); m_billMessageServer.PassFlowMessage(billNo, strMsg, BillFlowMessage_ReceivedUserType.用户, result.Single().Recorder); break; //case "等待主管审核": // bill.YX_Auditor = ""; // bill.CW_Auditor = ""; // bill.Status = "等待主管审核"; // strMsg = string.Format("{0}号销售清单已回退,请您重新处理单据; 回退原因为" + strRebackReason, billNo); // m_billMessageServer.PassFlowMessage(billNo, strMsg, RoleEnum.营销主管.ToString(), false); //break; } SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = billNo; log.Content = ServerTime.Time + "【" + BasicInfo.LoginName + "】回退。"; log.Recorder = BasicInfo.LoginID; log.RecordTime = ServerTime.Time; dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); } dataContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
private void 营销主管toolStripButton_Click(object sender, EventArgs e) { if (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.Status = "等待财务审核"; bill.BillNo = m_billNo; bill.AssociatedBillNo = txtAssociated.Text; bill.YX_Auditor = BasicInfo.LoginID; bill.YX_AuditTime = ServerTime.Time; if (!m_marketPartBillServer.UpdateData(bill, m_listMarketPart, "销售主管", out m_error)) { MessageDialog.ShowPromptMessage(m_error); return; } else { MessageDialog.ShowPromptMessage("确认成功!"); m_billMessageServer.PassFlowMessage(m_billNo, string.Format("【客户名称】:{0} ※※※ 等待【会计】处理", txtClient.Text), BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.会计.ToString()); this.Close(); } } else { MessageDialog.ShowPromptMessage("客户不正确,请重新选择!"); return; } } else { MessageDialog.ShowPromptMessage("请确认单据状态!"); return; } }
/// <summary> /// 打印单据添加打印次数,记录日志 /// </summary> /// <param name="billNo">单据号</param> /// <param name="error">错误信息</param> /// <returns>成功反复True,失败返回false</returns> public bool PrintUpodateData(string billNo, out string error) { error = ""; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var result = from a in dataContxt.S_MarketingPartBill where a.BillNo == billNo select a; if (result.Count() == 1) { S_MarketingPartBill bill = result.Single(); bill.PrintCount += 1; SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = billNo; log.Content = ServerTime.Time + "财务人员【" + BasicInfo.LoginName + "】打印。"; log.Recorder = BasicInfo.LoginID; log.RecordTime = ServerTime.Time; dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); } dataContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 修改销售清单 /// </summary> /// <param name="marketPartBill">销售清单主表信息</param> /// <param name="marketPritList">销售清单子表信息</param> /// <param name="role">操作角色</param> /// <param name="error">错误信息</param> /// <returns>修改成功返回True否则返回False</returns> public bool UpdateData(S_MarketingPartBill marketPartBill, List <View_S_MarketintPartList> marketPritList, string role, out string error) { error = ""; try { DataTable dt = m_findSellIn.GetBill(marketPartBill.AssociatedBillNo, 0); DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var result = from a in dataContxt.S_MarketingPartBill where a.BillNo == marketPartBill.BillNo && a.AssociatedBillNo == marketPartBill.AssociatedBillNo select a; error = "判断角色"; if (result.Count() > 0) { S_MarketingPartBill bill = result.Single(); switch (role) { case "销售主管": bill.YX_Auditor = marketPartBill.YX_Auditor; bill.YX_AuditTime = marketPartBill.YX_AuditTime; bill.Status = marketPartBill.Status; SystemLog_MarketPart YXAuditorlog = new SystemLog_MarketPart(); YXAuditorlog.BillNo = marketPartBill.BillNo; YXAuditorlog.Content = marketPartBill.YX_AuditTime + "销售主管【" + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.YX_Auditor).Name + "】审核"; YXAuditorlog.Recorder = marketPartBill.YX_Auditor; YXAuditorlog.RecordTime = Convert.ToDateTime(marketPartBill.YX_AuditTime); dataContxt.SystemLog_MarketPart.InsertOnSubmit(YXAuditorlog); if (dt != null && dt.Rows.Count > 0) { if (m_findSellIn.AuditingBill(Convert.ToInt32(dt.Rows[0]["ID"].ToString()), marketPartBill.Remark, out error)) { string storage = dt.Rows[0]["storageID"].ToString(); m_billMessageServer.BillType = "营销出库单"; m_billMessageServer.PassFlowMessage(marketPartBill.AssociatedBillNo, string.Format("{0} 号营销出库单,请财务审核", marketPartBill.AssociatedBillNo), BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.会计.ToString()); error = error + "/n" + "主管审核成功"; } else { return(false); } } else { error = "找不到营销出库单【" + marketPartBill.AssociatedBillNo + "】"; return(false); } break; case "销售": bill.Recorder = marketPartBill.Recorder; bill.RecordTime = marketPartBill.RecordTime; bill.Status = marketPartBill.Status; bill.CiteTerminalClient = marketPartBill.CiteTerminalClient; bill.IsCarLoad = marketPartBill.IsCarLoad; if (bill.ClientID != marketPartBill.ClientID) { bill.Remark = marketPartBill.Remark; SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = marketPartBill.BillNo; log.Content = marketPartBill.RecordTime + "销售人员【" + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.Recorder).Name + "】修改客户,将" + m_clientServer.GetClientName(result.Single().ClientID) + "修改为:" + m_clientServer.GetClientName(bill.ClientID) + "】"; log.Recorder = marketPartBill.Recorder; log.RecordTime = marketPartBill.RecordTime; dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); } else { bill.Remark = marketPartBill.Remark; SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = marketPartBill.BillNo; log.Content = marketPartBill.RecordTime + "销售人员【" + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.Recorder).Name + "】确认"; log.Recorder = marketPartBill.Recorder; log.RecordTime = marketPartBill.RecordTime; dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); } bill.ClientID = marketPartBill.ClientID; dataContxt.SubmitChanges(); foreach (View_S_MarketintPartList item in marketPritList) { var resultList = from c in dataContxt.S_MarketintPartList where c.BillNo == item.单据号 && c.GoodsID == item.GoodsID && c.BatchNo == item.批次号 select c; if (resultList.Count() > 0) { S_MarketintPartList list = resultList.Single(); if (list.SellUnitPrice != item.销售单价) { SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = marketPartBill.BillNo; log.Content = marketPartBill.RecordTime + "销售人员【" + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.Recorder).Name + "】修改销售单价,将" + item.物品名称 + "销售单价" + resultList.Single().SellUnitPrice + "修改为:" + item.销售单价 + "】"; log.Recorder = marketPartBill.Recorder; log.RecordTime = marketPartBill.RecordTime; dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); dataContxt.SubmitChanges(); } list.Reamrk = item.备注; list.SellUnitPrice = item.销售单价; list.UnitPrice = item.最低定价; list.AssemblyCarCode = item.主机厂代码; list.AssemblyCarName = item.主机厂物品名称; dataContxt.SubmitChanges(); } } var resultMarketing = from c in dataContxt.S_MarketingBill where c.DJH == marketPartBill.AssociatedBillNo select c; if (resultMarketing.Count() > 0) { S_MarketingBill marketing = resultMarketing.Single(); marketing.DJZT_FLAG = "已保存"; m_billMessageServer.BillType = "营销出库单"; m_billMessageServer.PassFlowMessage(marketPartBill.AssociatedBillNo, string.Format("{0} 号营销出库单,请主管审核", marketPartBill.AssociatedBillNo), BillFlowMessage_ReceivedUserType.角色, CE_RoleEnum.营销主管.ToString()); } else { error = "找不到营销出库单【" + marketPartBill.AssociatedBillNo + "】"; return(false); } break; case "财务": bill.CW_Auditor = marketPartBill.CW_Auditor; bill.CW_AuditTime = marketPartBill.CW_AuditTime; bill.Status = marketPartBill.Status; if (bill.ClientID != marketPartBill.ClientID) { SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = marketPartBill.BillNo; log.Content = marketPartBill.CW_AuditTime + "财务人员【" + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.CW_Auditor).Name + "】修改客户,将" + m_clientServer.GetClientName(result.Single().ClientID) + "修改为:" + m_clientServer.GetClientName(bill.ClientID) + "】"; log.Recorder = marketPartBill.CW_Auditor; log.RecordTime = Convert.ToDateTime(marketPartBill.CW_AuditTime); dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); } else { SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = marketPartBill.BillNo; log.Content = marketPartBill.CW_AuditTime + "财务人员【" + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.CW_Auditor).Name + "】审核"; log.Recorder = marketPartBill.CW_Auditor; log.RecordTime = Convert.ToDateTime(marketPartBill.CW_AuditTime); dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); } bill.ClientID = marketPartBill.ClientID; bill.Remark = marketPartBill.Remark; foreach (View_S_MarketintPartList item in marketPritList) { var resultList = from c in dataContxt.S_MarketintPartList where c.BillNo == item.单据号 && c.GoodsID == item.GoodsID && c.BatchNo == item.批次号 && c.Provider == item.供应商 select c; if (resultList.Count() > 0) { S_MarketintPartList list = resultList.Single(); if (list.SellUnitPrice != item.销售单价) { SystemLog_MarketPart log = new SystemLog_MarketPart(); log.BillNo = marketPartBill.BillNo; log.Content = marketPartBill.CW_AuditTime + "财务人员【" + m_personnerArchiveServer.GetPersonnelInfo(marketPartBill.CW_Auditor).Name + "】修改销售单价,将销售单价" + resultList.Single().SellUnitPrice + "修改为:" + item.销售单价 + "】"; log.Recorder = marketPartBill.CW_Auditor; log.RecordTime = Convert.ToDateTime(marketPartBill.CW_AuditTime); dataContxt.SystemLog_MarketPart.InsertOnSubmit(log); } list.Reamrk = item.备注; list.SellUnitPrice = item.销售单价; } } if (dt != null && dt.Rows.Count > 0) { if (dt.Rows[0]["DJZT_FLAG"].ToString() == "等待财务审核") { if (m_findSellIn.RetrialBill(marketPartBill.AssociatedBillNo, marketPartBill.Remark, out error)) { string storage = dt.Rows[0]["storageID"].ToString(); m_billMessageServer.BillType = "营销出库单"; m_billMessageServer.PassFlowMessage(marketPartBill.AssociatedBillNo, string.Format("{0} 号营销出库单,请仓管员确认", marketPartBill.AssociatedBillNo), m_billMessageServer.GetRoleStringForStorage(storage).ToString(), true); } else { return(false); } } } else { error = "找不到营销出库单【" + marketPartBill.AssociatedBillNo + "】"; return(false); } break; default: break; } } else { error = "未找到相关单据"; return(false); } dataContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
private void 财务toolStripButton_Click(object sender, EventArgs e) { if (m_marketPartBillServer.GetDataByBillNo(m_billNo).Rows[0]["单据状态"].ToString() == "等待财务审核" || m_marketPartBillServer.GetDataByBillNo(m_billNo).Rows[0]["单据状态"].ToString() == "已完成") { if (txtClient.Text.Trim() != "" && txtClient.Text.Trim() != "全部" && txtClient.Text.Trim() != "其它") { if (Convert.ToDecimal(txtLowestPrice.Text) > numSellUnitPrice.Value) { MessageDialog.ShowPromptMessage("请重新填写销售价格!"); return; } for (int i = 0; i < m_listMarketPart.Count; i++) { for (int j = 0; j < dataGridView1.Rows.Count; j++) { if (m_listMarketPart[i].GoodsID == dataGridView1.Rows[j].Cells["GoodsID"].Value.ToString() && m_listMarketPart[i].批次号 == dataGridView1.Rows[j].Cells["批次号"].Value.ToString() && m_listMarketPart[i].供应商 == dataGridView1.Rows[j].Cells["供应商"].Value.ToString()) { m_listMarketPart[i].备注 = m_listMarketPart[i].备注 + " " + txtRemark.Text; m_listMarketPart[i].销售单价 = numSellUnitPrice.Value; m_listMarketPart[i].主机厂代码 = tbsOutCode.Text; m_listMarketPart[i].主机厂物品名称 = txtOutName.Text; m_listMarketPart[i].最低定价 = Convert.ToDecimal(txtLowestPrice.Text); m_listMarketPart[i].供应商 = txtprovider.Text.Trim(); } } } S_MarketingPartBill bill = new S_MarketingPartBill(); bill.ClientID = txtClient.Tag.ToString(); bill.Remark = txtMainRemark.Text; bill.CW_Auditor = BasicInfo.LoginID; bill.CW_AuditTime = ServerTime.Time; bill.Status = "已完成"; bill.BillNo = m_billNo; bill.AssociatedBillNo = txtAssociated.Text; if (!m_marketPartBillServer.UpdateData(bill, m_listMarketPart, "财务", out m_error)) { MessageDialog.ShowPromptMessage(m_error); return; } else { MessageDialog.ShowPromptMessage("审核成功!"); } List <string> noticeUser = new List <string>(); noticeUser.Add(m_personnerArchiveServer.GetPersonnelViewInfoByName(txtRecorder.Text)); m_billMessageServer.EndFlowMessage(m_billNo, string.Format("{0} 号销售清单已经处理完毕", m_billNo), null, noticeUser); } else { MessageDialog.ShowPromptMessage("客户不正确,请重新选择!"); return; } } else { MessageDialog.ShowPromptMessage("请确认单据状态!"); return; } 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(); }