using System; using System.Collections.Generic; using System.Text; using System.Data; namespace DAL { public class ClsSc_ProcExchWorkBackBill : DBUtility.ClsXt_BaseBill { public Model.ClsSc_ProcExchWorkBackBillMain omodel = new Model.ClsSc_ProcExchWorkBackBillMain(); public List DetailColl = new List(); public ClsSc_ProcExchWorkBackBill() { base.MvarItemKeySub = "Sc_ProcExchWorkBackBillSub"; base.MvarItemKeySub2 = ""; base.MvarItemKeySub3 = ""; base.MvarItemKeySub4 = ""; base.MvarItemKey= "Sc_ProcExchWorkBackBillMain"; base.MvarReportTitle= "工序返工申请单"; base.BillType = "3796"; base.HBillSubType = "3796"; } #region 固定代码 ~ClsSc_ProcExchWorkBackBill() { DetailColl = null; } #endregion 自定义方法 //修改单据 public override bool ModifyBill(Int64 lngBillKey, ref string sReturn) { try { //保存前控制========================================= string HBillNote = ""; DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl"); if (ds == null) { sReturn = "保存前判断失败!"; return false; } if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") { sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); return false; } //========================================================= // oCn.BeginTran(); //更新主表 oCn.RunProc("UpDate Sc_ProcExchWorkBackBillMain set " + " HBillNo='" + omodel.HBillNo + "'" + //固定赋值=============== ",HDate='" + omodel.HDate + "'" + //",HYear='" + omodel.HYear.ToString() + "'" + //",HPeriod='" + omodel.HPeriod.ToString() + "'" + ",HRemark='" + omodel.HRemark + "'" + ",HUpDater='" + omodel.HMaker + "'" + ",HUpDateDate=getdate()" + //======================================== ",HInnerBillNo='" + omodel.HInnerBillNo.ToString() +"'"+ ",HEmpID=" + omodel.HEmpID.ToString() + ",HBillOperationType='" + omodel.HBillOperationType + "'" + " where HInterID=" + lngBillKey.ToString()); //删除关联 DeleteRelation(ref sReturn, lngBillKey); //删除子表 DeleteBillSub(lngBillKey); //插入子表 omodel.HInterID = lngBillKey; foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl) { if (oSub.HSourceInterID == 0) { oSub.HSourceInterID = omodel.HProcExchInterID; } if (oSub.HSourceEntryID == 0) { oSub.HSourceEntryID = omodel.HProcExchEntryID; } oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" + ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" + ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" + ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" + ", HQty, HICMOInterID, HICMOBillNo, HICMOEntryID)values(" + $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', null, {(oSub.HCloseType == true ? 1 : 0)}" + $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID},{oSub.HSourceEntryID}, '{omodel.HProcExchBillNo.ToString()}', '3772'" + $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" + $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag == true ? 1 : 0)}" + $", {oSub.HQty.ToString()},{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID}) "); } //=========================保存后控制 DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl"); if (ds2 == null) { sReturn = "保存后控制判断失败!"; oCn.RollBack(); return false; } if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0") { sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]); oCn.RollBack(); return false; } //============================ sReturn = "修改单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sReturn = e.Message; oCn.RollBack(); throw (e); } } //新增单据 public override bool AddBill(ref string sReturn) { try { //保存前控制========================================= string HBillNote = ""; DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl"); if (ds == null) { sReturn = "保存前判断失败!"; return false; } if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") { sReturn = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); return false; } //========================================================= ////得到mainid //omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); //若MAINDI重复则重新获取 oCn.BeginTran(); //主表 oCn.RunProc("insert Into Sc_ProcExchWorkBackBillMain(HBillType, HBillSubType, HInterID, HBillNo, HDate,HBillStatus" + ", HMaker, HMakeDate, HYear, HPeriod, HRemark" + ", HICMOInterID, HICMOBillNo, HICMOEntryID, HProcExchInterID, HProcExchEntryID" + ", HProcExchBillNo, HProcExchBegNO, HProcExchEndNO, HProcBegID, HProcEndID" + ", HMaterID, HUnitID, HEmpID, HPlanQty, HQty" + ", HExplanation, HInnerBillNo, HWorkShopID, HOrderProcNo, HPRDORGID,HBillOperationType) values(" + $"'{omodel.HBillType}','{omodel.HBillSubType}',{omodel.HInterID},'{omodel.HBillNo}','{omodel.HDate}',1" + $",'{omodel.HMaker}','{omodel.HMakeDate}',{omodel.HYear},{omodel.HPeriod},'{omodel.HRemark}'" + $",{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID},{omodel.HProcExchInterID},{omodel.HProcExchEntryID}" + $",'{omodel.HProcExchBillNo}',{omodel.HProcExchBegNO},{omodel.HProcExchEndNO},{omodel.HProcBegID},{omodel.HProcEndID}" + $",{omodel.HMaterID},{omodel.HUnitID},{omodel.HEmpID},{omodel.HPlanQty},{omodel.HQty}" + $",'{omodel.HExplanation}','{omodel.HInnerBillNo}',{omodel.HWorkShopID},'{omodel.HOrderProcNo}',{omodel.HPRDORGID},'{omodel.HBillOperationType}')"); //插入子表 foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl) { if (oSub.HSourceInterID == 0) { oSub.HSourceInterID = omodel.HProcExchInterID; } if (oSub.HSourceEntryID == 0) { oSub.HSourceEntryID = omodel.HProcExchEntryID; } oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" + ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" + ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" + ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" + ", HQty, HICMOInterID, HICMOBillNo, HICMOEntryID)values(" + $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', null, {(oSub.HCloseType== true ? 1:0)}" + $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID},{oSub.HSourceEntryID}, '{omodel.HProcExchBillNo.ToString()}', '3772'" + $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" + $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag== true?1:0)}" + $", {oSub.HQty.ToString()},{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID}) "); } //=========================保存后控制 DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl"); if (ds2 == null) { sReturn = "保存后控制判断失败!"; oCn.RollBack(); return false; } if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0") { sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]); oCn.RollBack(); return false; } //============================ sReturn = "新增单据成功!"; oCn.Commit(); return true; } catch (Exception e) { sReturn = e.Message; oCn.RollBack(); throw (e); } } } }