using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
namespace DAL
{
///
/// 创建人:wangjj
/// 时间:2018-01-05 15:11:37
/// 说明:模具采购合同的DAL
///
///
public class ClsSc_MouldPOContractBill:DBUtility.ClsXt_BaseBill
{
public Model.ClsSc_MouldPOContractBillMain omodel = new Model.ClsSc_MouldPOContractBillMain();
public List DetailColl = new List();
// public List DetailEmpColl = new List();
public ClsSc_MouldPOContractBill()
{
base.MvarItemKeySub = "Sc_MouldPOContractBillSub";
//base.MvarItemKeySub2 = "Sc_MouldPOContractBillSub2";
base.MvarItemKeySub3 = "";
base.MvarItemKeySub4 = "";
base.MvarItemKey="Sc_MouldPOContractBillMain";
base.MvarReportTitle="模具采购合同";
base.BillType = "3836";
base.HBillSubType = "3836";
}
#region 析构函数,销毁对象
~ClsSc_MouldPOContractBill()
{
DetailColl = null;
}
#endregion 自定义方法
//修改单据
public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
{
try
{
//
oCn.BeginTran();
//更新主表
string ssql = "UpDate Sc_MouldPOContractBillMain set " +
" HBillNo='" + omodel.HBillNo + "'" + //固定赋值===============
",HDate='" + omodel.HDate + "'" +
",HYear='" + omodel.HYear + "'" +
",HPeriod='" + omodel.HPeriod + "'" +
",HRemark='" + omodel.HRemark + "'" +
",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
",HUpDateDate=getdate()" +
//========================================
",HContractName='" + omodel.HContractName + "'" +
",HDeptID='" + omodel.HDeptID + "'" +
",HEmpID='" + omodel.HEmpID + "'" +
",HSupID='" + omodel.HSupID + "'" +
",HCurID='" + omodel.HCurID + "'" +
",HPlanEndDate='" + omodel.HPlanEndDate + "'" +
",HAnalyse='" + omodel.HAnalyse + "'" +
",HKeyAolve='" + omodel.HKeyAolve + "'" +
",HPlanResult='" + omodel.HPlanResult + "'" +
",HAdvice='" + omodel.HAdvice + "'" +
",HMouldNo='" + omodel.HMouldNo + "'" +
",HName='" + omodel.HName + "'" +
",HModel='" + omodel.HModel + "'" +
",HModel2='" + omodel.HModel2 + "'" +
",HQty='" + omodel.HQty + "'" +
",HPrice='" + omodel.HPrice + "'" +
",HDesignLife='" + omodel.HDesignLife + "'" +
",HExplanation='" + omodel.HExplanation + "'" +
",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
" where HInterID='" + lngBillKey.ToString() + "'";
oCn.RunProc(ssql);
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);
string ssql = "Insert Into Sc_MouldPOContractBillMain " +
"(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus," +
"HCheckItemNowID,HCheckItemNextID,HCheckFlowID,HRemark,HBackRemark," +
"HMaker,HMakeDate,HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HPrintQty," +
//自定义
"HContractName,HDeptID,HEmpID,HSupID,HCurID ,HPlanEndDate,HAnalyse,HKeyAolve," +
"HPlanResult,HAdvice,HMouldNo,HName,HModel,HModel2,HQty,HPrice,HMoney,HDesignLife,HExplanation,HInnerBillNo" +
") " +
" values('" + omodel.HYear + "','" + omodel.HPeriod + "','" + this.BillType + "','" + this.HBillSubType +
"','" + omodel.HInterID + "','" + omodel.HDate + "','" + omodel.HBillNo + "','" + omodel.HBillStatus +
"','" + omodel.HCheckItemNowID + "','" + omodel.HCheckItemNextID + "','" + omodel.HCheckFlowID +
"','" + omodel.HRemark + "','" + omodel.HBackRemark + "','" + omodel.HMaker + "','" + omodel.HMakeDate + "','" + omodel.HMainSourceBillType + "','" + omodel.HMainSourceInterID +
"','" + omodel.HMainSourceEntryID + "','" + omodel.HMainSourceBillNo + "','" + omodel.HPrintQty +
//自定义
"','" + omodel.HContractName + "','" + omodel.HDeptID +
"','" + omodel.HEmpID + "','" + omodel.HSupID + "','" + omodel.HCurID + "','" + omodel.HPlanEndDate + "','" + omodel.HAnalyse +
"','" + omodel.HKeyAolve + "','" + omodel.HPlanResult + "','" + omodel.HAdvice + "','" + omodel.HMouldNo +
"','" + omodel.HName + "','" + omodel.HModel + "','" + omodel.HModel2 + "','" + omodel.HQty +
"','" + omodel.HPrice + "','" + omodel.HMoney + "','" + omodel.HDesignLife + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo +
"') ";
//若MAINDI重复则重新获取
oCn.BeginTran();
//主表
oCn.RunProc(ssql);
//
//插入子表
//foreach (Model.ClsSc_MouldPOContractBillSub oSub in DetailColl)
//{
// oCn.RunProc("Insert into Sc_MouldPOContractBillSub " +
// " (HInterID,HEntryID,HRemark" +
// ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
// ") values("
// + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'" +
// "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
// ") ");
//}
//
//插入子表2
//foreach (Model.ClsSc_MouldPOContractBillSub2 oSubSec in DetailEmpColl)
//{
// oCn.RunProc("Insert into Sc_MouldPOContractBillSub2 " +
// " (HInterID,HEntryID,HRemark" +
// ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
// ")" +
// " values("
// + omodel.HInterID.ToString() + "," + oSubSec.HEntryID.ToString() + ",'" + oSubSec.HRemark + "'" +
// "," + oSubSec.HSourceInterID.ToString() + "," + oSubSec.HSourceEntryID.ToString() + ",'" + oSubSec.HSourceBillNo + "','" + oSubSec.HSourceBillType + "'," + oSubSec.HRelationQty.ToString() + "," + oSubSec.HRelationMoney.ToString() +
// ") ");
//}
//
//foreach (Model.ClsSc_MouldPOContractBillSub oSub in DetailColl)
//{
// Ds = oCn.RunProcReturn("exec h_p_Sc_MouldPOContractBill_Qty " + oSub.HICMOInterID, "");
// if (Ds.Tables[0].Rows.Count == 0)
// return;
// if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
// {
// sReturn = "汇报数量超过计划数量!不允许保存";
// return false;
// }
//}
//
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_MouldPOContractBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_MouldPOContractBillMain");
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 = Ds.Tables[0].Rows[0]["HBillNo"].ToString().Trim();
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.HRemark = Ds.Tables[0].Rows[0]["HRemark"].ToString().Trim();
omodel.HBackDate = Ds.Tables[0].Rows[0]["HBackDate"].ToString().Trim();
omodel.HBacker = Ds.Tables[0].Rows[0]["HBacker"].ToString().Trim();
omodel.HCheckDate = Ds.Tables[0].Rows[0]["HCheckDate"].ToString().Trim();
omodel.HChecker = Ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
omodel.HMaker = Ds.Tables[0].Rows[0]["HMaker"].ToString().Trim();
omodel.HMakeDate = Ds.Tables[0].Rows[0]["HMakeDate"].ToString().Trim();
omodel.HUpDateDate = Ds.Tables[0].Rows[0]["HUpDateDate"].ToString().Trim();
omodel.HUpDater = Ds.Tables[0].Rows[0]["HUpDater"].ToString().Trim();
omodel.HCloseDate = Ds.Tables[0].Rows[0]["HCloseDate"].ToString().Trim();
omodel.HCloseMan = Ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();
omodel.HCloseType = DBUtility.ClsPub.isBool(Ds.Tables[0].Rows[0]["HCloseType"]);
omodel.HDeleteDate = Ds.Tables[0].Rows[0]["HDeleteDate"].ToString().Trim();
omodel.HDeleteMan = Ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();
//========================================================
omodel.HContractName = Ds.Tables[0].Rows[0]["HContractName"].ToString().Trim();
omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]);
omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]);
omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]);
omodel.HCurID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCurID"]);
omodel.HPlanEndDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HPlanEndDate"]);
omodel.HAnalyse = Ds.Tables[0].Rows[0]["HAnalyse"].ToString().Trim();
omodel.HKeyAolve = Ds.Tables[0].Rows[0]["HKeyAolve"].ToString().Trim();
omodel.HPlanResult = Ds.Tables[0].Rows[0]["HPlanResult"].ToString().Trim();
omodel.HAdvice = Ds.Tables[0].Rows[0]["HAdvice"].ToString().Trim();
omodel.HMouldNo = Ds.Tables[0].Rows[0]["HMouldNo"].ToString().Trim();
omodel.HName = Ds.Tables[0].Rows[0]["HName"].ToString().Trim();
omodel.HModel = Ds.Tables[0].Rows[0]["HModel"].ToString().Trim();
omodel.HModel2 = Ds.Tables[0].Rows[0]["HModel"].ToString().Trim();
omodel.HQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HQty"]);
omodel.HPrice = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HPrice"]);
omodel.HMoney = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HMoney"]);
omodel.HDesignLife = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HDesignLife"]);
omodel.HExplanation = Ds.Tables[0].Rows[0]["HExplanation"].ToString().Trim();
omodel.HInnerBillNo = Ds.Tables[0].Rows[0]["HInnerBillNo"].ToString().Trim();
//
//循环
//DataSet DsSub ;
//DsSub = oCn.RunProcReturn("Select * from Sc_MouldPOContractBillSub Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sc_MouldPOContractBillSub");
//DetailColl.Clear();//清空
//for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
//{
// Model.ClsSc_MouldPOContractBillSub oSub = new Model.ClsSc_MouldPOContractBillSub();
// // 固定赋值===============================================
// oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HInterID"]);
// oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HEntryID"]);
// oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceInterID"]);
// oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HSourceEntryID"]);
// oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
// oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
// oSub.HRelationQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty"]);
// oSub.HRelationMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney"]);
// oSub.HCloseMan = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HCloseMan"]);
// oSub.HCloseType = DBUtility.ClsPub.isBool(DsSub.Tables[0].Rows[i]["HCloseType"]);
// oSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HEntryCloseDate"]);
// oSub.HRemark = DsSub.Tables[0].Rows[i]["HRemark"].ToString().Trim();
// //===================================================
//DetailColl.Add(oSub);
//}
//循环子表2
//DataSet DsSubSec = new DataSet();
//DsSubSec = oCn.RunProcReturn("Select * from Sc_MouldPOContractBillSub2 Where HInterID=" + lngBillKey.ToString() + " order by HEntryID ", "Sc_MouldPOContractBillMain");
//DetailEmpColl.Clear();//清空
//for (int i = 0; i < DsSubSec.Tables[0].Rows.Count; i++)
//{
// Model.ClsSc_MouldPOContractBillSub2 oSubSec = new Model.ClsSc_MouldPOContractBillSub2();
// // 固定赋值===============================================
// oSubSec.HInterID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HInterID"]);
// oSubSec.HEntryID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HEntryID"]);
// oSubSec.HSourceInterID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HSourceInterID"]);
// oSubSec.HSourceEntryID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HSourceEntryID"]);
// oSubSec.HSourceBillType = DsSubSec.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim();
// oSubSec.HSourceBillNo = DsSubSec.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim();
// oSubSec.HRelationQty = DBUtility.ClsPub.isDoule(DsSubSec.Tables[0].Rows[i]["HRelationQty"]);
// oSubSec.HRelationMoney = DBUtility.ClsPub.isDoule(DsSubSec.Tables[0].Rows[i]["HRelationMoney"]);
// oSubSec.HCloseMan = DBUtility.ClsPub.isStrNull(DsSubSec.Tables[0].Rows[i]["HCloseMan"]);
// oSubSec.HCloseType = DBUtility.ClsPub.isBool(DsSubSec.Tables[0].Rows[i]["HCloseType"]);
// oSubSec.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSubSec.Tables[0].Rows[i]["HEntryCloseDate"]);
// oSubSec.HRemark = DsSubSec.Tables[0].Rows[i]["HRemark"].ToString().Trim();
// //===================================================
// //
//DetailEmpColl.Add(oSubSec);
//}
sReturn = "显示单据成功!";
return true;
}
catch (Exception e)
{
sReturn = e.Message;
throw (e);
}
}
public bool GetByID(int HMaterID)
{
DataSet DS;
try
{
DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HInterID='" + HMaterID + "'", MvarItemKey, ref DBUtility.ClsPub.sExeReturnInfo);
if (DS.Tables[0].Rows.Count == 0)
return false;
else
{
return GetInfo(DS);
}
}
catch (Exception e)
{
throw (e);
}
}
//返回项目信息
public bool GetInfo(DataSet Ds)
{
try
{
omodel = new Model.ClsSc_MouldPOContractBillMain();
//omodel.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]);
//omodel.HInitModel = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInitModel"]);
//omodel.HSupNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSupNumber"]);
//omodel.HMaterNumber = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMaterNumber"]);
// omodel.HBarCode = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBarCode"]);
return true;
}
catch (Exception e)
{
throw (e);
}
}
}
}