using System; using System.Collections.Generic; using System.Text; using System.Data; namespace DAL { public class ClsSc_ProcessMoveBill:DBUtility.ClsXt_BaseBill { public Model.ClsSc_ProcessMoveBillMain omodel = new Model.ClsSc_ProcessMoveBillMain(); public List DetailColl = new List(); public ClsSc_ProcessMoveBill() { base.MvarItemKeySub = "Sc_ProcessMoveBillSub"; base.MvarItemKeySub2 = ""; base.MvarItemKeySub3 = ""; base.MvarItemKeySub4 = ""; base.MvarItemKey="Sc_ProcessMoveBillMain"; base.MvarReportTitle="工序移转单"; base.BillType="3770"; } #region 固定代码 ~ClsSc_ProcessMoveBill() { DetailColl = null; } #endregion 自定义方法 //修改单据 public override bool ModifyBill(Int64 lngBillKey, ref string sReturn) { try { // oCn.BeginTran(); //更新主表 oCn.RunProc("UpDate Sc_ProcessMoveBillMain set " + " HYear=" + omodel.HYear.ToString() + ",HPeriod=" + omodel.HPeriod.ToString() + ",HInterID=" + omodel.HInterID.ToString() + ",HDate='" + omodel.HDate.ToShortDateString() + "'" + ",HBillNo='" + omodel.HBillNo + "'" + ",HBillStatus=" + omodel.HBillStatus.ToString() + ",HCheckItemNowID=" + omodel.HCheckItemNowID.ToString() + ",HCheckItemNextID=" + omodel.HCheckItemNextID.ToString() + ",HCheckFlowID=" + omodel.HCheckFlowID.ToString() + ",HICMOInterID=" + omodel.HICMOInterID.ToString() + ",HICMOBillNo='" + omodel.HICMOBillNo + "'" + ",HMaterID=" + omodel.HMaterID.ToString() + ",HUnitID=" + omodel.HUnitID.ToString() + ",HBatchNo='" + omodel.HBatchNo + "'" + ",HOutProcPlanBillNo='" + omodel.HOutProcPlanBillNo + "'" + ",HOutProcPlanInterID=" + omodel.HOutProcPlanInterID.ToString() + ",HOutProcPlanEntryID=" + omodel.HOutProcPlanEntryID.ToString() + ",HInProcPlanBillNo='" + omodel.HInProcPlanBillNo + "'" + ",HInProcPlanInterID=" + omodel.HInProcPlanInterID.ToString() + ",HInProcPlanEntryID=" + omodel.HInProcPlanEntryID.ToString() + ",HOutCenterID=" + omodel.HOutCenterID.ToString() + ",HInCenterID=" + omodel.HInCenterID.ToString() + ",HOutSourceID=" + omodel.HOutSourceID.ToString() + ",HInSourceID=" + omodel.HInSourceID.ToString() + ",HQty=" + omodel.HQty.ToString() + ",HOutEmpID=" + omodel.HOutEmpID.ToString() + ",HInEmpID=" + omodel.HInEmpID.ToString() + ",HSeOrderBillNo='" + omodel.HSeOrderBillNo + "'" + ",HSeOrderInterID=" + omodel.HSeOrderInterID.ToString() + ",HSeOrderEntryID=" + omodel.HSeOrderEntryID.ToString() + ",HRemark='" + omodel.HRemark + "'" + ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" + ",HUpDateDate=getdate()" + " where HInterID=" + lngBillKey.ToString()); //删除关联 DeleteRelation(ref sReturn, lngBillKey); //删除子表 DeleteBillSub(lngBillKey); //插入子表 omodel.HInterID = lngBillKey; //foreach (Model.ClsSc_ProcessMoveBillSub oSub in DetailColl) //{ // // oCn.RunProc("Insert into Sc_ProcessMoveBillSub " + // //" (HInterID,HEntryID,HProcID,HProcNumber,HGroupID" + // //",HGroupNumber,HWorkerID,HWorkerNumber,HQty,HPlanBeginDate" + // //",HPlanEndDate,HPlanTimes,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + // //",HICMOBillNo,HICMOInterID,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" + // //",HCloseMan,HCloseType,HRemark,HSourceInterID,HSourceEntryID" + // //",HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + // //") values(" // //+ omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNumber + "'," + oSub.HGroupID.ToString() + // //",'" + oSub.HGroupNumber + "'," + oSub.HWorkerID.ToString() + ",'" + oSub.HWorkerNumber + "'," + oSub.HQty.ToString() + ",'" + oSub.HPlanBeginDate.ToShortDateString() + "'" + // //",'" + oSub.HPlanEndDate.ToShortDateString() + "'," + oSub.HPlanTimes.ToString() + "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo +"'"+ // //",'" + oSub.HICMOBillNo + "'," + oSub.HICMOInterID.ToString() + "," + oSub.HProcPlanInterID.ToString() + "," + oSub.HProcPlanEntryID.ToString() + ",'" + oSub.HProcPlanBillNo + "'" + // //",'" + oSub.HCloseMan + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) +",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + // //",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + // //") "); //} sReturn = "修改单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sReturn = e.Message; oCn.RollBack(); throw (e); } } //新增单据 public override bool AddBill(ref string sReturn) { try { //得到mainid omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); //若MAINDI重复则重新获取 oCn.BeginTran(); //主表 oCn.RunProc("Insert Into Sc_ProcessMoveBillMain " + "(HYear,HPeriod,HBillType,HBillSubType,HInterID" + ",HDate,HBillNo,HBillStatus,HCheckItemNowID,HCheckItemNextID" + ",HCheckFlowID,HICMOInterID,HICMOBillNo,HMaterID,HUnitID" + ",HBatchNo,HOutProcPlanBillNo,HOutProcPlanInterID,HOutProcPlanEntryID,HInProcPlanBillNo" + ",HInProcPlanInterID,HInProcPlanEntryID,HOutCenterID,HInCenterID,HOutSourceID" + ",HInSourceID,HQty,HOutEmpID,HInEmpID,HSeOrderBillNo" + ",HSeOrderInterID,HSeOrderEntryID,HRemark" + ",HMaker,HMakeDate" + ") " + " values(" + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + this.BillType + "','" + omodel.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HDate.ToShortDateString() + "','" + omodel.HBillNo + "'," + omodel.HBillStatus.ToString() + "," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() + "," + omodel.HCheckFlowID.ToString() + "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HMaterID.ToString() + "," + omodel.HUnitID.ToString() + ",'" + omodel.HBatchNo + "','" + omodel.HOutProcPlanBillNo + "'," + omodel.HOutProcPlanInterID.ToString() + "," + omodel.HOutProcPlanEntryID.ToString() + ",'" + omodel.HInProcPlanBillNo + "'" + "," + omodel.HInProcPlanInterID.ToString() + "," + omodel.HInProcPlanEntryID.ToString() + "," + omodel.HOutCenterID.ToString() + "," + omodel.HInCenterID.ToString() + "," + omodel.HOutSourceID.ToString() + "," + omodel.HInSourceID.ToString() + "," + omodel.HQty.ToString() + "," + omodel.HOutEmpID.ToString() + "," + omodel.HInEmpID.ToString() + ",'" + omodel.HSeOrderBillNo + "'" + "," + omodel.HSeOrderInterID.ToString() + "," + omodel.HSeOrderEntryID.ToString() + ",'" + omodel.HRemark + "'" + ",'" + DBUtility.ClsPub.CurUserName + "',getdate()" + ") "); //插入子表 //foreach (Model.ClsSc_ProcessMoveBillSub oSub in DetailColl) //{ // // oCn.RunProc("Insert into Sc_ProcessMoveBillSub " + // //" (HInterID,HEntryID,HProcID,HProcNumber,HGroupID" + // //",HGroupNumber,HWorkerID,HWorkerNumber,HQty,HPlanBeginDate" + // //",HPlanEndDate,HPlanTimes,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" + // //",HICMOBillNo,HICMOInterID,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" + // //",HCloseMan,HCloseType,HRemark,HSourceInterID,HSourceEntryID" + // //",HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + // //") values(" // //+ omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + "," + oSub.HProcID.ToString() + ",'" + oSub.HProcNumber + "'," + oSub.HGroupID.ToString() + // //",'" + oSub.HGroupNumber + "'," + oSub.HWorkerID.ToString() + ",'" + oSub.HWorkerNumber + "'," + oSub.HQty.ToString() + ",'" + oSub.HPlanBeginDate.ToShortDateString() + "'" + // //",'" + oSub.HPlanEndDate.ToShortDateString() + "'," + oSub.HPlanTimes.ToString() + "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" + // //",'" + oSub.HICMOBillNo + "'," + oSub.HICMOInterID.ToString() + "," + oSub.HProcPlanInterID.ToString() + "," + oSub.HProcPlanEntryID.ToString() + ",'" + oSub.HProcPlanBillNo + "'" + // //",'" + oSub.HCloseMan + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + // //",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + // // ") "); //} sReturn = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sReturn = e.Message; oCn.RollBack(); throw (e); } } //显示单据 public override bool ShowBill(Int64 lngBillKey, ref string sReturn) { try { //查询主表 DataSet Ds ; Ds = oCn.RunProcReturn("Select * from Sc_ProcessMoveBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_ProcessMoveBillMain"); if(Ds.Tables[0].Rows.Count==0) { sReturn = "单据未找到!"; return false; } //赋值 omodel.HYear = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HYear"]); omodel.HPeriod = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPeriod"]); omodel.HBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]); omodel.HBillSubType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillSubType"]); omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"]); omodel.HDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HDate"]); omodel.HBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillNo"]); omodel.HBillStatus = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HBillStatus"]); omodel.HCheckItemNowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNowID"]); omodel.HCheckItemNextID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckItemNextID"]); omodel.HCheckFlowID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCheckFlowID"]); // omodel.HICMOInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HICMOInterID"]); omodel.HICMOBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HICMOBillNo"]); omodel.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]); omodel.HUnitID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HUnitID"]); omodel.HBatchNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBatchNo"]); omodel.HOutProcPlanBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HOutProcPlanBillNo"]); omodel.HOutProcPlanInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOutProcPlanInterID"]); omodel.HOutProcPlanEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOutProcPlanEntryID"]); omodel.HInProcPlanBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInProcPlanBillNo"]); omodel.HInProcPlanInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInProcPlanInterID"]); omodel.HInProcPlanEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInProcPlanEntryID"]); omodel.HOutCenterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOutCenterID"]); omodel.HInCenterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInCenterID"]); omodel.HOutSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOutSourceID"]); omodel.HInSourceID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInSourceID"]); omodel.HQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HQty"]); omodel.HOutEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOutEmpID"]); omodel.HInEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HInEmpID"]); omodel.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSeOrderBillNo"]); omodel.HSeOrderInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSeOrderInterID"]); omodel.HSeOrderEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSeOrderEntryID"]); omodel.HRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]); // omodel.HBacker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBacker"]); omodel.HBackDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBackDate"]); omodel.HChecker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HChecker"]); omodel.HCheckDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckDate"]); omodel.HMaker = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaker"]); omodel.HMakeDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMakeDate"]); omodel.HUpDater = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUpDater"]); omodel.HUpDateDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HUpDateDate"]); omodel.HCloseMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCloseMan"]); omodel.HCloseDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCloseDate"]); omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]); omodel.HDeleteMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeleteMan"]); omodel.HDeleteDate = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HDeleteDate"]); //循环 DataSet DsSub ; DsSub = oCn.RunProcReturn("Select * from Sc_ProcessMoveBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sc_ProcessMoveBillSub"); DetailColl.Clear();//清空 for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { // Model.ClsSc_ProcessMoveBillSub oSub = new Model.ClsSc_ProcessMoveBillSub(); // oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]); // oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]); // // // oSub.HProcID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProcID"]); // oSub.HProcNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HProcNumber"]); // oSub.HGroupID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HGroupID"]); // oSub.HGroupNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HGroupNumber"]); // oSub.HWorkerID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HWorkerID"]); // oSub.HWorkerNumber = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HWorkerNumber"]); // oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]); // oSub.HPlanBeginDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HPlanBeginDate"]); // oSub.HPlanEndDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HPlanEndDate"]); // oSub.HPlanTimes = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HPlanTimes"]); // oSub.HSeOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderInterID"]); // oSub.HSeOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSeOrderEntryID"]); // oSub.HSeOrderBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSeOrderBillNo"]); // oSub.HICMOBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HICMOBillNo"]); // oSub.HICMOInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HICMOInterID"]); // oSub.HProcPlanInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProcPlanInterID"]); // oSub.HProcPlanEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HProcPlanEntryID"]); // oSub.HProcPlanBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HProcPlanBillNo"]); // // // oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]); // oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]); // oSub.HRemark = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HRemark"]); // oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]); // oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]); // oSub.HSourceBillNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceBillNo"]); // oSub.HSourceBillType = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HSourceBillType"]); // oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]); // oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]); // DetailColl.Add(oSub); } sReturn = "显示单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; throw (e); } } } }