using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Data;
|
|
namespace DAL
|
{
|
public class ClsSc_ProcExchRecordBackBill : DBUtility.ClsXt_BaseBill
|
{
|
public Model.ClsSc_ProcExchRecordBackBillMain omodel = new Model.ClsSc_ProcExchRecordBackBillMain();
|
public List<Model.ClsSc_ProcExchRecordBackBillSub> DetailColl = new List<Model.ClsSc_ProcExchRecordBackBillSub>();
|
|
public ClsSc_ProcExchRecordBackBill()
|
{
|
base.MvarItemKeySub = "Sc_ProcExchRecordBackBillSub";
|
base.MvarItemKeySub2 = "";
|
base.MvarItemKeySub3 = "";
|
base.MvarItemKeySub4 = "";
|
base.MvarItemKey= "Sc_ProcExchRecordBackBillMain";
|
base.MvarReportTitle= "工序返工记录单";
|
base.BillType = "3797";
|
base.HBillSubType = "3797";
|
|
}
|
|
#region 固定代码
|
|
~ClsSc_ProcExchRecordBackBill()
|
{
|
DetailColl = null;
|
}
|
|
#endregion 自定义方法
|
//修改单据
|
public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
//保存前控制=========================================
|
string HBillNote = "";
|
DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ProcExchRecordBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchRecordBackBill_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_ProcExchRecordBackBillMain 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() +
|
" where HInterID=" + lngBillKey.ToString());
|
//删除关联
|
DeleteRelation(ref sReturn, lngBillKey);
|
//删除子表
|
DeleteBillSub(lngBillKey);
|
//插入子表
|
omodel.HInterID = lngBillKey;
|
foreach (Model.ClsSc_ProcExchRecordBackBillSub oSub in DetailColl)
|
{
|
oCn.RunProc("Insert into Sc_ProcExchRecordBackBillSub (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()}', {omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()}, '{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_ProcExchRecordBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchRecordBackBill_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_ProcExchRecordBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchRecordBackBill_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_ProcExchRecordBackBillMain(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) 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})");
|
//插入子表
|
foreach (Model.ClsSc_ProcExchRecordBackBillSub oSub in DetailColl)
|
{
|
oCn.RunProc("Insert into Sc_ProcExchRecordBackBillSub (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()}', {omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()}, '{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_ProcExchRecordBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchRecordBackBill_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);
|
}
|
}
|
|
}
|
|
}
|