/// <summary> /// 插入新单据 /// </summary> /// <param name="ctx">数据上下文</param> /// <param name="bill">要插入的单据主表信息</param> /// <param name="error">出错时返回的错误信息</param> /// <returns>True 添加成功 False 添加失败</returns> bool InsertBill(DepotManagementDataContext ctx, YX_AfterServiceMakePartsBill bill, out string error) { error = null; try { ctx.YX_AfterServiceMakePartsBill.InsertOnSubmit(bill); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 构造函数 /// </summary> /// <param name="billID">单据号</param> public 售后服务配件制造申请单明细单(string billID, AuthorityFlag m_authFlag) { InitializeComponent(); m_msgPromulgator.BillType = "售后服务配件制造申请单"; FaceAuthoritySetting.SetEnable(this.Controls, m_authFlag); FaceAuthoritySetting.SetVisibly(this.toolStrip, m_authFlag); this.toolStrip.Visible = true; m_billNoControl = new BillNumberControl(CE_BillTypeEnum.售后服务备件制造申请单, m_billServer); DataTable dtStorageName = UniversalFunction.GetStorageTb(); for (int i = 0; i < dtStorageName.Rows.Count; i++) { if (dtStorageName.Rows[i]["StorageName"].ToString() == "制造库房" || dtStorageName.Rows[i]["StorageName"].ToString() == "自制半成品库") { cmbStorageID.Items.Add(dtStorageName.Rows[i]["StorageName"].ToString()); } } cmbStorageID.SelectedIndex = -1; if (GlobalObject.GeneralFunction.IsNullOrEmpty(billID)) { lbUserName.Text = BasicInfo.LoginName; txtSellID.Text = m_billNoControl.GetNewBillNo(); txtSellID.Tag = "New"; lbKS.Text = m_serverDepartment.GetDeptInfoFromPersonnelInfo(BasicInfo.LoginName).Rows[0]["DepartmentName"].ToString(); } else { m_masterInfo = m_billServer.GetBill(billID); cmbStorageID.Text = UniversalFunction.GetStorageName(m_masterInfo.StorageID); txtSellID.Text = m_masterInfo.BillID; txtBillRemark.Text = m_masterInfo.Remark; lbUserName.Text = m_masterInfo.Applicant; lbKS.Text = m_serverDepartment.GetDeptInfoFromPersonnelInfo(m_masterInfo.Applicant).Rows[0]["DepartmentName"].ToString(); } m_bill = txtSellID.Text; RefershDataGridView(m_bill); }
/// <summary> /// 更新单据状态 /// </summary> /// <param name="bill">单据主表信息</param> /// <param name="listTable">单据明细信息</param> /// <param name="billStatus">单据状态</param> /// <param name="error">出错时返回的错误信息</param> /// <returns>True 更新单据状态成功 False 更新单据状态失败</returns> public bool UpdateBill(YX_AfterServiceMakePartsBill bill, DataTable listTable, AfterServiceMakePartsBillStatus billStatus, out string error) { error = null; try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varData = from a in ctx.YX_AfterServiceMakePartsBill where a.BillID == bill.BillID select a; switch (varData.Count()) { case 0: //插入新记录 YX_AfterServiceMakePartsBill billInfo = new YX_AfterServiceMakePartsBill(); billInfo.BillID = bill.BillID; billInfo.Applicant = bill.Applicant; billInfo.RequestDate = bill.RequestDate; billInfo.Checker = bill.Checker; billInfo.CheckDate = bill.CheckDate; billInfo.ConfirmedPeople = bill.ConfirmedPeople; billInfo.ConfirmedDate = bill.ConfirmedDate; billInfo.StorageID = bill.StorageID; billInfo.Status = AfterServiceMakePartsBillStatus.等待主管审核.ToString(); if (!InsertBill(ctx, billInfo, out error)) { return(false); } if (!AddAllList(ctx, billInfo.BillID, listTable, out error)) { return(false); } break; case 1: //更新记录 YX_AfterServiceMakePartsBill lnqAferServiceBill = varData.Single(); if (lnqAferServiceBill.Status == "已完成") { error = "单据状态不符,请重新确认单据状态"; return(false); } //根据不同的单据状态执行流程 switch (billStatus) { case AfterServiceMakePartsBillStatus.营销保存: lnqAferServiceBill.Status = "等待主管审核"; lnqAferServiceBill.Applicant = BasicInfo.LoginName; lnqAferServiceBill.RequestDate = ServerTime.Time; lnqAferServiceBill.Checker = null; lnqAferServiceBill.CheckDate = null; lnqAferServiceBill.ConfirmedPeople = null; lnqAferServiceBill.ConfirmedDate = null; lnqAferServiceBill.Remark = bill.Remark; if (!DeleteAllList(ctx, lnqAferServiceBill.BillID, out error)) { return(false); } if (!AddAllList(ctx, lnqAferServiceBill.BillID, listTable, out error)) { return(false); } break; case AfterServiceMakePartsBillStatus.等待主管审核: if (lnqAferServiceBill.Status != AfterServiceMakePartsBillStatus.等待主管审核.ToString()) { error = "单据状态不符,请重新确认单据状态"; return(false); } lnqAferServiceBill.Status = "等待车间确认"; lnqAferServiceBill.Checker = BasicInfo.LoginName; lnqAferServiceBill.CheckDate = ServerTime.Time; break; case AfterServiceMakePartsBillStatus.等待车间确认: if (lnqAferServiceBill.Status != AfterServiceMakePartsBillStatus.等待车间确认.ToString()) { error = "单据状态不符,请重新确认单据状态"; return(false); } lnqAferServiceBill.Status = "已完成"; lnqAferServiceBill.ConfirmedDate = ServerTime.Time; lnqAferServiceBill.ConfirmedPeople = BasicInfo.LoginName; break; default: error = "单据状态不正确"; return(false); } break; default: error = "数据不唯一"; return(false); } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }