/// <summary> /// 报废入库单单号对应的所有挑返单 /// </summary> /// <param name="inDepotBillID">入库单单号</param> /// <param name="error">出错时返回错误信息</param> /// <returns>操作是否成功的标志</returns> public bool ScrapAllBill(string inDepotBillID, out string error) { try { error = null; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var varData = from a in dataContxt.S_CheckReturnRepairBill where a.InDepotBillID == inDepotBillID select a; IBillMessagePromulgatorServer msgServer = BasicServerFactory.GetServerModule <IBillMessagePromulgatorServer>(); foreach (var item in varData) { S_CheckReturnRepairBill lnqReturn = item; lnqReturn.DJZT = "单据已报废"; msgServer.DestroyMessage(item.DJH); } dataContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 更新报检入库单(记录合格数、报废数、退货数等,并更改单据状态) /// </summary> /// <param name="dataContext">LINQ数据上下文</param> /// <param name="bill">Linq挑返单数据集</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>更改成功返回True,更改失败返回False</returns> private bool UpdateInDepotBill(DepotManagementDataContext dataContext, S_CheckReturnRepairBill bill, out string error) { try { error = null; var varData = from a in dataContext.S_CheckOutInDepotBill where a.Bill_ID == bill.InDepotBillID select a; if (varData.Count() != 1) { error = "记录不唯一"; return(false); } else { S_CheckOutInDepotBill lnqCheck = varData.Single(); lnqCheck.EligibleCount = (int)bill.QC_HGS; lnqCheck.ConcessionCount = (int)bill.QC_RBS; lnqCheck.ReimbursementCount = (int)bill.QC_THS; lnqCheck.DeclareWastrelCount = (int)bill.QC_BFS; lnqCheck.BillStatus = "等待入库"; } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 报废单据 /// </summary> /// <param name="inReturn">Linq挑返单数据集</param> /// <param name="flag">标志 True 等待质检机检验 False 等待质检电检验</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>报废成功返回True,报废失败返回False</returns> public bool ScrapBill(S_CheckReturnRepairBill inReturn, bool flag, out string error) { error = null; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var varDataFst = from a in dataContxt.S_CheckReturnRepairBill where a.DJH == inReturn.DJH select a; if (varDataFst.Count() != 1) { error = "记录不唯一"; return(false); } else { dataContxt.S_CheckReturnRepairBill.DeleteAllOnSubmit(varDataFst); } var varDataSec = from a in dataContxt.S_CheckOutInDepotBill where a.Bill_ID == inReturn.InDepotBillID select a; if (varDataSec.Count() != 1) { error = "记录不唯一"; return(false); } else { S_CheckOutInDepotBill lnqCheck = varDataSec.Single(); lnqCheck.EligibleCount = 0; lnqCheck.ConcessionCount = 0; lnqCheck.ReimbursementCount = 0; lnqCheck.DeclareWastrelCount = 0; lnqCheck.BillStatus = flag == true ? "等待质检机检验" : "等待质检电检验"; lnqCheck.TFFlag = false; lnqCheck.QualityInputer = null; lnqCheck.CheckTime = null; lnqCheck.CheckoutJoinGoods_Time = null; } dataContxt.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 编制人提交单据 /// </summary> /// <param name="inReturn">Linq挑返单数据集</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>处理成功返回True,处理失败返回False</returns> public bool SubmitBill(S_CheckReturnRepairBill inReturn, out string error) { error = null; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; try { var varData = from a in dataContxt.S_CheckReturnRepairBill where a.DJH == inReturn.DJH select a; if (varData.Count() != 1) { error = "记录不唯一"; return(false); } else { S_CheckReturnRepairBill lnqReturn = varData.Single(); lnqReturn.ReturnReason = inReturn.ReturnReason; lnqReturn.ReturnMeansAndAsk = inReturn.ReturnMeansAndAsk; lnqReturn.ReturnManHour = inReturn.ReturnManHour; lnqReturn.SQE_Hour = inReturn.SQE_Hour; lnqReturn.DJZT = "等待处理结果"; lnqReturn.SQERY = inReturn.SQERY; lnqReturn.SQERQ = ServerTime.Time; lnqReturn.QC_BFS = 0; lnqReturn.QC_HGS = 0; lnqReturn.QC_RBS = 0; lnqReturn.QC_THS = 0; lnqReturn.SQE_BHGS = 0; lnqReturn.SQE_HGS = 0; lnqReturn.SQEJGRQ = null; lnqReturn.SQEJGRY = null; lnqReturn.SHRQ = null; lnqReturn.SHRY = null; lnqReturn.QCRQ = null; lnqReturn.QCRY = null; dataContxt.SubmitChanges(); } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 创建挑返单 /// </summary> /// <param name="djh">报检单单据号</param> /// <param name="logID">挑返单创建人工号</param> /// <param name="error">出错时返回错误信息</param> /// <param name="tfDJH">挑返单单据号</param> /// <returns>操作是否成功的标志</returns> public bool Create(string djh, string logID, out string error, out string tfDJH) { error = null; tfDJH = null; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var varData = from a in dataContxt.S_CheckReturnRepairBill where a.InDepotBillID == djh && a.DJZT != "单据已报废" select a; if (varData.Count() > 0) { error = "此批次的挑选返工返修单已存在"; return(false); } S_CheckReturnRepairBill lnqReturn = new S_CheckReturnRepairBill(); lnqReturn.DJH = m_assignBill.AssignNewNo(this, CE_BillTypeEnum.挑选返工返修单.ToString()); lnqReturn.InDepotBillID = djh; lnqReturn.DJZT = "新建单据"; lnqReturn.CJRQ = ServerTime.Time; lnqReturn.CJRY = logID; dataContxt.S_CheckReturnRepairBill.InsertOnSubmit(lnqReturn); dataContxt.SubmitChanges(); tfDJH = lnqReturn.DJH; return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 回退单据 /// </summary> /// <param name="djh">单据号</param> /// <param name="billStatus">操作类型(单据状态)</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <param name="rebackReason">回退原因</param> /// <returns>回退成功返回True,回退失败返回False</returns> public bool ReturnBill(string djh, string billStatus, out string error, string rebackReason) { error = null; DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; try { var varData = from a in dataContxt.S_CheckReturnRepairBill where a.DJH == djh select a; string strMsg = ""; if (varData.Count() == 1) { S_CheckReturnRepairBill lnqReturn = varData.Single(); switch (billStatus) { case "新建单据": strMsg = string.Format("{0}号挑选返工返修单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, lnqReturn.SQERY, false); lnqReturn.DJZT = "新建单据"; lnqReturn.SHRY = null; lnqReturn.SHRQ = null; lnqReturn.SQERQ = null; lnqReturn.SQERY = null; lnqReturn.QCRQ = null; lnqReturn.QCRY = null; break; case "等待处理结果": strMsg = string.Format("{0}号挑选返工返修单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, lnqReturn.SQEJGRY, false); lnqReturn.DJZT = "等待处理结果"; lnqReturn.SHRY = null; lnqReturn.SHRQ = null; lnqReturn.SQERQ = null; lnqReturn.SQERY = null; lnqReturn.QCRQ = null; lnqReturn.QCRY = null; break; case "等待审批确认": strMsg = string.Format("{0}号挑选返工返修单已回退,请您重新处理单据; 回退原因为" + rebackReason, djh); m_billMessageServer.PassFlowMessage(djh, strMsg, lnqReturn.SHRY, false); lnqReturn.DJZT = "等待审批确认"; lnqReturn.SHRY = null; lnqReturn.SHRQ = null; lnqReturn.QCRQ = null; lnqReturn.QCRY = null; break; default: break; } dataContxt.SubmitChanges(); return(true); } else { error = "数据集不唯一"; return(false); } } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 操作数据库 /// </summary> /// <param name="bill">Linq挑返单的数据集</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>处理成功返回True,处理失败返回False</returns> public bool UpdateBill(S_CheckReturnRepairBill bill, out string error) { error = null; try { DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext; var varData = from a in dataContxt.S_CheckReturnRepairBill where a.DJH == bill.DJH select a; if (varData.Count() != 1) { error = "记录不唯一"; return(false); } else { S_CheckReturnRepairBill lnqReturn = varData.Single(); if (bill.DJZT != lnqReturn.DJZT) { error = "单据状态错误,请重新刷新单据确认单据状态"; return(false); } switch (lnqReturn.DJZT) { case "等待处理结果": lnqReturn.SQE_BHGS = bill.SQE_BHGS; lnqReturn.SQE_HGS = bill.SQE_HGS; lnqReturn.DJZT = "等待审批确认"; lnqReturn.SQEJGRY = bill.SQEJGRY; lnqReturn.SQEJGRQ = ServerTime.Time; break; case "等待审批确认": lnqReturn.DJZT = "等待检验结果"; lnqReturn.SHRY = bill.SHRY; lnqReturn.SHRQ = ServerTime.Time; break; case "等待检验结果": if (UpdateInDepotBill(dataContxt, bill, out error)) { lnqReturn.QC_BFS = bill.QC_BFS; lnqReturn.QC_HGS = bill.QC_HGS; lnqReturn.QC_RBS = bill.QC_RBS; lnqReturn.QC_THS = bill.QC_THS; lnqReturn.DJZT = "单据已完成"; lnqReturn.QCRY = bill.QCRY; lnqReturn.QCRQ = ServerTime.Time; } else { return(false); } break; default: break; } dataContxt.SubmitChanges(); } return(true); } catch (Exception ex) { error = ex.Message; return(false); } }