using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Data;
|
|
namespace DAL
|
{
|
public class ClsCj_CenterCheckBill : DBUtility.ClsXt_BaseBill
|
{
|
public Model.ClsCj_CenterCheckBillMain omodel = new Model.ClsCj_CenterCheckBillMain();
|
public List<Model.ClsCj_CenterCheckBillSub> DetailColl = new List<Model.ClsCj_CenterCheckBillSub>();
|
|
public ClsCj_CenterCheckBill()
|
{
|
base.MvarItemKeySub = "Cj_CenterCheckBillSub";
|
base.MvarItemKeySub2 = "";
|
base.MvarItemKeySub3 = "";
|
base.MvarItemKeySub4 = "";
|
base.MvarItemKey= "Cj_CenterCheckBillMain";
|
base.MvarReportTitle="中检单";
|
base.BillType="1502";
|
base.HBillSubType = "1502";
|
|
}
|
|
#region 固定代码
|
|
~ClsCj_CenterCheckBill()
|
{
|
DetailColl = null;
|
}
|
|
#endregion 自定义方法
|
//修改单据
|
public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
|
//oCn.BeginTran();
|
////更新主表
|
//oCn.RunProc("UpDate Xs_SeOrderBillMain set " +
|
//" HBillNo='" + omodel.HBillNo + "'" + //固定赋值===============
|
//",HDate='" + omodel.HDate + "'" +
|
//",HYear='" + omodel.HYear.ToString() + "'" +
|
//",HPeriod='" + omodel.HPeriod.ToString() + "'" +
|
//",HRemark='" + omodel.HRemark + "'" +
|
//",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
|
//",HUpDateDate=getdate()" +
|
////========================================
|
//",HSSDate='" + omodel.HSSDate.ToShortDateString() + "'" +
|
//",HAddress='" + omodel.HAddress + "'" +
|
//",HSSID=" + omodel.HSSID.ToString() +
|
//",HSellSID=" + omodel.HSellSID.ToString() +
|
//",HCusID=" + omodel.HCusID.ToString() +
|
//",HCurID=" + omodel.HCurID.ToString() +
|
//",HExRate=" + omodel.HExRate.ToString() +
|
//",HEmpID=" + omodel.HEmpID.ToString() +
|
//",HManagerID=" + omodel.HManagerID.ToString() +
|
//",HDeptID=" + omodel.HDeptID.ToString() +
|
//",HExplanation='" + omodel.HExplanation + "'" +
|
//",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
|
//" where HInterID=" + lngBillKey.ToString());
|
|
////保存前控制=========================================
|
//string HBillNote = "";
|
//DataSet ds = oCn.RunProcReturn("Exec h_p_Xs_SeOrderBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Xs_SeOrderBill_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();
|
//string mainSql = "UpDate Xs_SeOrderBillMain set " +
|
//" HBillSubType='" + omodel.HBillSubType + "'" +
|
//",HBillNo='" + omodel.HBillNo + "'" + //固定赋值===============
|
//",HDate='" + omodel.HDate + "'" +
|
//",HYear='" + omodel.HYear.ToString() + "'" +
|
//",HPeriod='" + omodel.HPeriod.ToString() + "'" +
|
//",HRemark='" + omodel.HRemark + "'" +
|
//",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
|
//",HUpDateDate=getdate()" +
|
////========================================
|
//",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
|
//",HAddress='" + omodel.HAddress + "'" +
|
//",HDeptID=" + omodel.HDeptID.ToString() +
|
//",HCusID=" + omodel.HCusID.ToString() +
|
//",HEmpID=" + omodel.HEmpID.ToString() +
|
//",HCurID=" + omodel.HCurID.ToString() +
|
//",HExRate=" + omodel.HExRate.ToString() +
|
//",HEarnestRate=" + omodel.HEarnestRate.ToString() +
|
//",HManagerID=" + omodel.HManagerID.ToString() +
|
//",HSellSID=" + omodel.HSellSID.ToString() +
|
//",HSSID=" + omodel.HSSID.ToString() +
|
//",HSSDate='" + omodel.HSSDate.ToShortDateString() + "'" +
|
//",HPayCusID=" + omodel.HPayCusID +
|
//",HExplanation='" + omodel.HExplanation + "'" +
|
//",HLinkMan='" + omodel.HLinkMan + "'" +
|
//",HWHID='" + omodel.HWHID + "'" +
|
//",HProjectID='" + omodel.HProjectID + "'" +
|
//",HLinkPhone='" + omodel.HLinkPhone + "'" +
|
//" where HInterID=" + lngBillKey.ToString();
|
|
//oCn.RunProc(mainSql);
|
////删除关联
|
//DeleteRelation(ref sReturn, lngBillKey);
|
////删除子表
|
//DeleteBillSub(lngBillKey);
|
////插入子表
|
//omodel.HInterID = lngBillKey;
|
//foreach (Model.ClsXs_SeOrderBillSub oSub in DetailColl)
|
//{
|
// //oCn.RunProc("Insert into Xs_SeOrderBillSub " +
|
// // " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
|
// // ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
|
// // ",HMaterID,HUnitID,HQty,HPrice,HMoney,HTaxRate" +
|
// // ",HTaxMoney,HlineTotal,HlineTotalBB,HDate" +
|
// // ",HTaxPrice,HDiscountRate,HRelTaxPrice,HOutStockQty,HInvoiceQty" +
|
// // ") values("
|
// // + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
|
// // "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
|
// // "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + "," + oSub.HTaxRate.ToString() +
|
// // "," + oSub.HTaxMoney.ToString() + "," + oSub.HlineTotal.ToString() + "," + oSub.HlineTotalBB.ToString() + ",'" + oSub.HDate.ToShortDateString() + "'" +
|
// // "," + oSub.HTaxPrice.ToString() + "," + oSub.HDiscountRate.ToString() + "," + oSub.HRelTaxPrice.ToString() + "," + oSub.HOutStockQty.ToString() + "," + oSub.HInvoiceQty.ToString() +
|
// // ") ");
|
|
// string subSql = "Insert into Xs_SeOrderBillSub" +
|
// "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationQty_SellOutCheck,HRelationMoney_SellOutCheck,HRelationQty_ICMO,HRelationQty_SellBack,HRelationQty_SellBackCheck,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
|
// ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID" +
|
// ",HCusMaterNumber,HCusModel,HCusMaterName,HisStockGoods,HWHID,HRemark_TL,HRemark_SJG) " +
|
// "values(" +
|
// "" + omodel.HInterID +
|
// "," + oSub.HEntryID +
|
// "," + oSub.HSourceInterID +
|
// "," + oSub.HSourceEntryID +
|
// ",'" + (oSub.HSourceBillNo == null ? "" : oSub.HSourceBillNo) +
|
// "','" + (oSub.HSourceBillType == null ? "" : oSub.HSourceBillType) +
|
// "'," + oSub.HRelationQty +
|
// "," + oSub.HRelationQty_SellOutCheck +
|
// "," + oSub.HRelationMoney_SellOutCheck +
|
// "," + oSub.HRelationQty_ICMO +
|
// "," + oSub.HRelationQty_SellBack +
|
// "," + oSub.HRelationQty_SellBackCheck +
|
// "," + oSub.HRelationMoney +
|
// "," + oSub.HMaterID +
|
// "," + oSub.HUnitID +
|
// "," + oSub.HQty +
|
// "," + oSub.HPrice +
|
// "," + oSub.HTaxPrice +
|
// "," + oSub.HMoney +
|
// "," + oSub.HDiscountRate +
|
// "," + oSub.HRelTaxPrice +
|
// "," + oSub.HTaxRate +
|
// "," + oSub.HTaxMoney +
|
// "," + oSub.HlineTotal +
|
// "," + oSub.HlineTotalBB +
|
// ",'" + oSub.HDate +
|
// "'," + oSub.HOutStockQty +
|
// "," + oSub.HInvoiceQty +
|
// ",'" + oSub.HRemark +
|
// "','" + oSub.HOrderLevID +
|
// "','" + oSub.HCusMaterNumber +
|
// "','" + oSub.HCusModel +
|
// "','" + oSub.HCusMaterName +
|
// "'," + (oSub.HisStockGoods?1:0) +
|
// ",'" + oSub.HWhID + "'" +
|
// ",'" + oSub.HRemark_TL + "'" +
|
// ",'" + oSub.HRemark_SJG + "'" +
|
// ")";
|
// oCn.RunProc(subSql);
|
//}
|
|
////=========================保存后控制
|
//DataSet ds2 = oCn.RunProcReturn("h_p_Xs_SeOrderBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Xs_SeOrderBill_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;
|
//}
|
////============================
|
|
////
|
////foreach (Model.ClsXs_SeOrderBillSub oSub in DetailColl)
|
////{
|
//// Ds = oCn.RunProcReturn("exec h_p_Xs_SeOrderBill_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 AddBill(ref string sReturn)
|
{
|
try
|
{
|
//DataSet ds;
|
|
//保存前控制=========================================
|
string HBillNote = "";
|
DataSet ds = oCn.RunProcReturn("Exec h_p_Cj_CenterCheckBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Xs_SeOrderBill_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();
|
|
//检查主表内码是否重复,若重复则重新生成并继续检查,直到不再重复
|
while (true)
|
{
|
ds = oCn.RunProcReturn("select * from Cj_CenterCheckBillMain where HInterID = " + omodel.HInterID, "Cj_CenterCheckBillMain");
|
if (ds != null && ds.Tables[0].Rows.Count > 0)
|
{
|
omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
else
|
{
|
break;
|
}
|
}
|
|
//插入主表
|
string mainSql = "Insert Into Cj_CenterCheckBillMain" +
|
"(HYear,HPeriod,HBillType,HBillSubType" +
|
",HInterID,HBillNo,HDate,HRemark,HMaker,HMakeDate,HMainSourceInterID,HMainSourceBillNo,HMainSourceBillType,HPRDORGID" +
|
",HICMOInterID,HICMOBillNo,HProcExchInterID,HProcExchBillNo,HLastResult,HMaterID,HUnitID) " +
|
"values(" +
|
"" + omodel.HDate.Year + "" +
|
"," + omodel.HDate.Month + "" +
|
",'" + this.BillType + "'" +
|
",'" + omodel.HBillSubType + "'" +
|
|
"," + omodel.HInterID + "" +
|
",'" + omodel.HBillNo + "'" +
|
",'" + omodel.HDate.ToString("yyyy-MM-dd hh:mm:ss") + "'" +
|
|
",'" + omodel.HRemark + "'" +
|
",'" + omodel.HMaker + "'" +
|
"," + "getdate()" + "" +
|
"," + omodel.HMainSourceInterID + "" +
|
",'" + omodel.HMainSourceBillNo + "'" +
|
",'" + omodel.HMainSourceBillType + "'" +
|
"," + omodel.HPRDORGID + "" +
|
"," + omodel.HICMOInterID + "" +
|
",'" + omodel.HICMOBillNo + "'" +
|
"," + omodel.HProcExchInterID + "" +
|
",'" + omodel.HProcExchBillNo + "'" +
|
"," + (omodel.HLastResult?1:0) + "" +
|
"," + omodel.HMaterID + "" +
|
"," + omodel.HUnitID + "" +
|
")";
|
|
oCn.RunProc(mainSql);
|
//插入子表
|
foreach (Model.ClsCj_CenterCheckBillSub oSub in DetailColl)
|
{
|
string subSql = "Insert into Cj_CenterCheckBillSub" +
|
"(HInterID,HEntryID,HBillNo_Bak,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
|
",HProcNo,HProcID,HUnQualifiedBar) " +
|
"values(" +
|
"" + omodel.HInterID + "" +
|
"," + oSub.HEntryID + "" +
|
",'" + omodel.HBillNo + "'" +
|
",'" + oSub.HRemark + "'" +
|
"," + oSub.HSourceInterID +
|
"," + oSub.HSourceEntryID +
|
",'" + (oSub.HSourceBillNo==null?"":oSub.HSourceBillNo) + "'" +
|
",'" + (oSub.HSourceBillType==null?"":oSub.HSourceBillType) + "'" +
|
",'" + oSub.HProcNo + "'" +
|
"," + oSub.HProcID + "" +
|
"," + (oSub.HUnQualifiedBar?1:0) + "" +
|
")";
|
oCn.RunProc(subSql);
|
}
|
|
//=========================保存后控制
|
DataSet ds2 = oCn.RunProcReturn("h_p_Cj_CenterCheckBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Cj_CenterCheckBill_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 ShowBill(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
//查询主表
|
DataSet Ds ;
|
Ds = oCn.RunProcReturn("Select * from Cj_CenterCheckBillMain Where HInterID=" + lngBillKey.ToString(), "Cj_CenterCheckBillMain");
|
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.HMainSourceInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMainSourceInterID"]);
|
//omodel.HMainSourceEntryID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMainSourceEntryIDID"]);
|
omodel.HMainSourceBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMainSourceBillNo"]);
|
omodel.HMainSourceBillType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HMainSourceBillType"]);
|
//========================================================
|
omodel.HICMOInterID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HICMOInterID"]);
|
omodel.HICMOEntryID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HICMOEntryID"]);
|
omodel.HICMOBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HICMOBillNo"]);
|
|
omodel.HProcExchInterID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HProcExchInterID"]);
|
omodel.HProcExchEntryID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HProcExchEntryID"]);
|
omodel.HProcExchBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HProcExchBillNo"]);
|
|
omodel.HLastResult = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HLastResult"]) == 1 ? true : false;
|
omodel.HMaterID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HMaterID"]);
|
omodel.HUnitID = DBUtility.ClsPub.isInt(Ds.Tables[0].Rows[0]["HUnitID"]);
|
//
|
|
//循环
|
DataSet DsSub ;
|
DsSub = oCn.RunProcReturn("Select * from Cj_CenterCheckBillSub Where HInterID=" + lngBillKey.ToString(), "Cj_CenterCheckBillSub");
|
DetailColl.Clear();//清空
|
for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
|
{
|
Model.ClsCj_CenterCheckBillSub oSub = new Model.ClsCj_CenterCheckBillSub();
|
// 固定赋值===============================================
|
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();
|
//===================================================
|
oSub.HProcNo = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HProcNo"]);
|
oSub.HProcID = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HProcID"]);
|
oSub.HUnQualifiedBar = DBUtility.ClsPub.isInt(DsSub.Tables[0].Rows[i]["HUnQualifiedBar"])==1?true:false;
|
|
DetailColl.Add(oSub);
|
}
|
sReturn = "显示单据成功!";
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
throw (e);
|
}
|
}
|
|
//发起审批
|
public bool startCheckFlow(Int64 lngBillKey,Int64 HCheckFlowID_select, ref string sReturn)
|
{
|
try
|
{
|
string HBillNo = ""; //单据号
|
string HCheckFlowID = ""; //审批流ID
|
string HCheckItemNowID = ""; //当前审核项目ID
|
string HCheckItemNextID = ""; //待审核项目ID
|
|
//判断是否已经发起审批
|
string sql0 = "select * from Xt_BillCheckFlowStatus where HBillInterID = " + lngBillKey + " and HBillTypeID = '" + this.BillType + "'";
|
DataSet ds0 = oCn.RunProcReturn(sql0, "Xt_BillCheckFlowStatus");
|
if (ds0 != null && ds0.Tables[0].Rows.Count > 0)
|
{
|
sReturn = "单据已发起审批,不可重复审批!";
|
return false;
|
}
|
|
//获取单据数据
|
string sql = "select * from " + this.MvarItemKey + " where HInterID = " + lngBillKey;
|
DataSet ds = oCn.RunProcReturn(sql, this.MvarItemKey);
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "单据不存在!";
|
return false;
|
}
|
HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
|
|
//获取单据类型对应的默认审批流
|
string sql1 = "select b.HInterID,b.HCheckItemID from Xt_CheckFlowMain as a " +
|
"inner join Xt_CheckFlowSub as b on a.HInterID = b.HInterID " +
|
"where a.HBillTypeID = '" + this.BillType + "' " +
|
"and a.HInterID = " + HCheckFlowID_select + " " +
|
"order by b.HFlowNo asc";
|
DataSet ds1 = oCn.RunProcReturn(sql1, "Xt_CheckFlowMain");
|
if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "默认审批流不存在!";
|
return false;
|
}
|
|
HCheckFlowID = ds1.Tables[0].Rows[0]["HInterID"].ToString();
|
HCheckItemNowID = ds1.Tables[0].Rows[0]["HCheckItemID"].ToString();
|
if (ds1.Tables[0].Rows.Count >= 2)
|
{
|
HCheckItemNextID = ds1.Tables[0].Rows[1]["HCheckItemID"].ToString();
|
}
|
else
|
{
|
HCheckItemNextID = "0";
|
}
|
|
oCn.BeginTran();
|
//增加 单据审批状态表 数据
|
for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
|
{
|
string sql2 = "insert into Xt_BillCheckFlowStatus" +
|
"(HBillTypeID,HBillInterID,HBillNo,HCheckFlowID,HCheckItemID,HChecker,HCheckDate,HCheckNote) " +
|
"values(" +
|
"'" + this.BillType + "'," +
|
"" + lngBillKey + "," +
|
"'" + HBillNo + "'," +
|
"" + ds1.Tables[0].Rows[i]["HInterID"].ToString() + "," +
|
"" + ds1.Tables[0].Rows[i]["HCheckItemID"].ToString() + "," +
|
"" + "''" + "," +
|
"" + "''" + "," +
|
"" + "''" + "" +
|
")";
|
|
oCn.RunProc(sql2);
|
}
|
|
//更新主表 审批流 数据
|
string sql3 = "update " + this.MvarItemKey + " set HCheckFlowID = " + HCheckFlowID + ",HCheckItemNowID=" + HCheckItemNowID + ",HCheckItemNextID=" + HCheckItemNextID + " where HInterID = " + lngBillKey;
|
oCn.RunProc(sql3);
|
|
|
oCn.Commit();
|
|
return true;
|
}
|
catch(Exception e)
|
{
|
sReturn += e.Message;
|
return false;
|
}
|
}
|
}
|
|
}
|