using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Data;
|
|
namespace DAL
|
{
|
public class ClsKf_MateOutBill_K3:DBUtility.ClsXt_BaseBill
|
{
|
public Model.ClsKf_MateOutBillMain_K3 omodel = new Model.ClsKf_MateOutBillMain_K3();
|
public List<Model.ClsKf_MateOutBillSub_K3> DetailColl = new List<Model.ClsKf_MateOutBillSub_K3>();
|
public List<Model.ClsKf_MateOutBillScheme_K3> DetailSubColl = new List<Model.ClsKf_MateOutBillScheme_K3>();
|
public SQLHelper.ClsCNK3 oCnK3 = new SQLHelper.ClsCNK3();
|
public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
|
DataSet Ds;
|
|
public ClsKf_MateOutBill_K3()
|
{
|
base.MvarItemKeySub = "ICStockBillEntry";
|
base.MvarItemKeySub2 = "";
|
base.MvarItemKeySub3 = "";
|
base.MvarItemKeySub4 = "";
|
base.MvarItemKey = "ICStockBill";
|
base.MvarReportTitle="生产领料单";
|
base.BillType="24";
|
}
|
|
#region 固定代码
|
|
~ClsKf_MateOutBill_K3()
|
{
|
DetailColl = null;
|
}
|
|
#endregion 自定义方法
|
//修改单据
|
public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
// //得到用户ID
|
long FBillerID = 0;
|
//oCn.BeginTran();
|
oCnK3.BeginTran();
|
//删除关联
|
//删除主表
|
oCnK3.RunProc("Delete From ICStockBill where FInterID=" + lngBillKey.ToString());
|
//删除子表
|
oCnK3.RunProc("Delete From ICStockBillEntry where FInterID=" + lngBillKey.ToString());
|
omodel.HInterID = lngBillKey;
|
//更新主表
|
oCnK3.RunProc("Insert Into ICStockBill " +
|
"(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus" +
|
",FUpStockWhenSave,FVchInterID,FROB,FHookStatus,Fdate,Fuse" +
|
",FCheckDate,FFManagerID,FSManagerID,FBillerID,FAcctID,FMultiCheckLevel1" +
|
",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" +
|
",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" +
|
",FPurposeID,FWBINTERID,FSelTranType,FBackFlushed" +
|
",FDeptID,FManageType,FPrintCount" +
|
") " +
|
" values(" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','0'," + this.BillType + ",0,0" +
|
",1,0," + omodel.HRedBlueFlag.ToString() + ",0,'" + omodel.HDate.ToShortDateString() + "','" + omodel.HUse + "'" +
|
",null," + omodel.HSecManagerID.ToString() + "," + omodel.HKeeperID.ToString() + "," + FBillerID.ToString() + "," + omodel.HAcctID.ToString() + ",null" +
|
",null,null,null" +
|
",null,null,null" +
|
"," + omodel.HPurposeID.ToString() + ",0,0,0" +
|
"," + omodel.HDeptID.ToString() + ",0,0"+
|
") ");
|
//插入子表
|
foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
{
|
oCnK3.RunProc("Insert into ICStockBillEntry " +
|
" (FInterID,FEntryID,FBrNo,FItemID" +
|
",FAuxPropID,FBatchNo,FQtyMust,FQty" +
|
",FReProduceType,FCostOBJID,FCostObjGroupID,FUnitID" +
|
",FAuxQtyMust,Fauxqty,FSecCoefficient,FSecQty" +
|
",FAuxPlanPrice,FPlanAmount,Fauxprice,Famount,FBomInterID" +
|
",Fnote,FKFDate,FKFPeriod,FPeriodDate,FSCStockID,FDCSPID,FOperSN" +
|
",FOperID,FSNListID,FSourceBillNo,FSourceTranType,FSourceInterId" +
|
",FSourceEntryID,FICMOBillNo,FICMOInterID,FPPBomEntryID,FInStockID" +
|
",FIsVMI,FEntrySupply,FCostCenterID,FPlanMode,FMTONo" +
|
",FPositionNo,FItemSize,FItemSuite,FDiscardID" +
|
") values("
|
+ omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'0'," + oSub.HMaterID.ToString() +
|
",0,'" + oSub.HBatchNo.ToString() + "'," + oSub.HQtyMust.ToString() + "," + oSub.HQty.ToString() +
|
",0,0,0," + oSub.HUnitID.ToString() +
|
"," + oSub.HQtyMust.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HSecUnitRate.ToString() + ",0" +
|
",0,0," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + ",0" +
|
",'" + oSub.HRemark + "',null,0,null," + oSub.HWHID.ToString() + ",0,0" +
|
",0,0,'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HSourceInterID.ToString() +
|
"," + oSub.HSourceEntryID.ToString() + ",''," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",0" +
|
",0,0,0,14036,'','','','',0 " +
|
")");
|
}
|
//更新K3关联数量
|
oCnK3.RunProc("EXEC p_UpdateBillRelateData " + this.BillType + "," + omodel.HInterID.ToString() + ",'ICStockBill','ICStockBillEntry'");
|
//更新单据NEWid
|
//oCnK3.RunProc("UPDATE ICStockBill SET FUUID=NEWID() WHERE FInterID=" + omodel.HInterID.ToString());
|
////更新关联数量
|
//更新关联数量
|
foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
{
|
if (oSub.HSourceBillType == "1214")
|
{
|
oCnK3.RunProc("exec h_p_K3_UpdateRelationQty 'ICStockBillEntry','Kf_MateOutRequestBillMain','Kf_MateOutRequestBillSub'," + omodel.HInterID.ToString() + ",'" + oSub.HSourceBillType + "'");
|
}
|
}
|
//
|
foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
{
|
Ds = oCn.RunProcReturn("select * from Kf_MateOutRequestBillSub with (nolock) where HRelationQty>HQty and HInterID =" + oSub.HSourceInterID.ToString(), "Kf_MateOutRequestBillSub");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
oCnK3.RollBack();
|
sReturn = "关联数量超出,id:" + oSub.HSourceInterID;
|
return false;
|
}
|
}
|
|
sReturn = "修改单据成功!";
|
//oCn.Commit();
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
//oCn.RollBack();
|
oCnK3.RollBack();
|
return false;
|
}
|
}
|
//新增单据
|
public override bool AddBill(ref string sReturn)
|
{
|
try
|
{
|
//得到用户ID
|
long FBillerID = 0;
|
DataSet DsBiller;
|
DsBiller = oK3Cn.RunProcReturn("select top 1 fuserid from t_User where fname='" + DBUtility.ClsPub.CurUserName + "'", "t_User");
|
if (DsBiller.Tables[0].Rows.Count != 0)
|
{
|
FBillerID = DBUtility.ClsPub.isLong(DsBiller.Tables[0].Rows[0][0]);
|
}
|
else
|
{
|
FBillerID = 16394;
|
}
|
DataSet Ds;
|
//得到mainid
|
Ds = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNumOld 'ICStockBill',@InterID output select ltrim(@InterID)", "GetICMaxNumOld");
|
omodel.HInterID = 10000000 + DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]);
|
|
//若MAINDI重复则重新获取
|
//oCn.BeginTran();
|
oCnK3.BeginTran();
|
//主表
|
oCnK3.RunProc("Insert Into ICStockBill " +
|
"(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus" +
|
",FUpStockWhenSave,FVchInterID,FROB,FHookStatus,Fdate,Fuse" +
|
",FCheckDate,FFManagerID,FSManagerID,FBillerID,FAcctID,FMultiCheckLevel1" +
|
",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" +
|
",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" +
|
",FPurposeID,FWBINTERID,FSelTranType,FBackFlushed" +
|
",FDeptID,FManageType,FPrintCount" +
|
") " +
|
" values(" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "-1','0'," + this.BillType + ",0,0" +
|
",1,0," + omodel.HRedBlueFlag.ToString() + ",0,'" + omodel.HDate.ToShortDateString() + "','" + omodel.HUse + "'" +
|
",null," + omodel.HSecManagerID.ToString() + "," + omodel.HKeeperID.ToString() + "," + FBillerID.ToString() + "," + omodel.HAcctID.ToString() + ",null" +
|
",null,null,null" +
|
",null,null,null" +
|
"," + omodel.HPurposeID.ToString() + ",0,85,0" +
|
"," + omodel.HDeptID.ToString() + ",0,0" +
|
") ");
|
//插入子表
|
foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
{
|
oCnK3.RunProc("Insert into ICStockBillEntry " +
|
" (FInterID,FEntryID,FBrNo,FItemID" +
|
",FAuxPropID,FBatchNo,FQtyMust,FQty" +
|
",FReProduceType,FCostOBJID,FCostObjGroupID,FUnitID" +
|
",FAuxQtyMust,Fauxqty,FSecCoefficient,FSecQty" +
|
",FAuxPlanPrice,FPlanAmount,Fauxprice,Famount,FBomInterID" +
|
",Fnote,FKFDate,FKFPeriod,FPeriodDate,FSCStockID,FDCSPID,FOperSN" +
|
",FOperID,FSNListID,FSourceBillNo,FSourceTranType,FSourceInterId" +
|
",FSourceEntryID,FICMOBillNo,FICMOInterID,FPPBomEntryID,FInStockID" +
|
",FIsVMI,FEntrySupply,FCostCenterID,FPlanMode,FMTONo" +
|
",FPositionNo,FItemSize,FItemSuite,FDiscardID" +
|
") values("
|
+ omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'0'," + oSub.HMaterID.ToString() +
|
",0,'" + oSub.HBatchNo.ToString() + "'," + oSub.HQtyMust.ToString() + "," + oSub.HQty.ToString() +
|
",1059,0,0," + oSub.HUnitID.ToString() +
|
"," + oSub.HQtyMust.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HSecUnitRate.ToString() + ",0" +
|
",0,0," + oSub.HPrice.ToString() + "," + oSub.HMoney.ToString() + ",0" +
|
",'" + oSub.HRemark + "',null,0,null," + oSub.HWHID.ToString() + ",0,0" +
|
",0,0,'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HSourceInterID.ToString() +
|
"," + oSub.HSourceEntryID.ToString() + ",'"+oSub.HICMOBillNo+"'," + oSub.HICMOInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",0" +
|
",0,0,0,14036,'','','','',0 "+
|
")");
|
}
|
//更新K3关联数量
|
oCnK3.RunProc("EXEC p_UpdateBillRelateData " + this.BillType + "," + omodel.HInterID.ToString() + ",'ICStockBill','ICStockBillEntry'");
|
//更新单据NEWid
|
oCnK3.RunProc("UPDATE ICStockBill SET FUUID=NEWID() WHERE FInterID=" + omodel.HInterID.ToString());
|
//
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBillRelationQty_K3 " + omodel.HInterID.ToString());
|
//
|
//
|
foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
{
|
if (oSub.HRequestInterID != 0)
|
{
|
oCn.RunProc("insert into KF_K3MOSQ values(" + omodel.HInterID + "," + oSub.HEntryID + ","+oSub.HRequestInterID+","+oSub.HRequestEntryID+")");
|
}
|
}
|
foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
{
|
if (oSub.HRequestInterID != 0)
|
{
|
Ds = oCn.RunProcReturn("select * from h_v_KF_K3MOSQ with (nolock) where hinterid=" + oSub.HRequestInterID + " and hentryid=" + oSub.HRequestEntryID, "Kf_MateOutRequestBillSub");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
if (DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["hmoqty"]) > DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["hsqqty"]))
|
{
|
oCnK3.RollBack();
|
sReturn = "关联数量超出,id:" + oSub.HRequestInterID;
|
return false;
|
}
|
}
|
}
|
}
|
//更新关联数量
|
//foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
//{
|
// if (oSub.HSourceBillType == "1214")
|
// {
|
// oCnK3.RunProc("exec h_p_K3_UpdateRelationQty 'ICStockBillEntry','Kf_MateOutRequestBillMain','Kf_MateOutRequestBillSub'," + omodel.HInterID.ToString() + ",'" + oSub.HSourceBillType + "'");
|
// }
|
//}
|
////
|
//foreach (Model.ClsKf_MateOutBillSub_K3 oSub in DetailColl)
|
//{
|
// Ds = oCn.RunProcReturn("select * from Kf_MateOutRequestBillSub with (nolock) where HRelationQty>HQty and HInterID =" + oSub.HSourceInterID.ToString(), "Kf_MateOutRequestBillSub");
|
// if (Ds.Tables[0].Rows.Count != 0)
|
// {
|
// oCnK3.RollBack();
|
// sReturn = "关联数量超出,id:" + oSub.HSourceInterID;
|
// return false;
|
// }
|
//}
|
|
sReturn = "新增单据成功!";
|
//oCn.Commit();
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
//oCn.RollBack();
|
oCnK3.RollBack();
|
return false;
|
}
|
}
|
//显示单据
|
public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
//查询主表
|
DataSet Ds;
|
Ds = oCnK3.RunProcReturn("Select * from ICStockBill Where FInterID=" + lngBillKey.ToString(), "ICStockBill");
|
if (Ds.Tables[0].Rows.Count == 0)
|
{
|
sReturn = "单据未找到!";
|
return false;
|
}
|
//赋值
|
omodel.HInterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FInterID"].ToString());
|
omodel.HBillNo = Ds.Tables[0].Rows[0]["FBillNo"].ToString().Trim();
|
omodel.HDate = Convert.ToDateTime(Ds.Tables[0].Rows[0]["FDate"].ToString().Trim());
|
omodel.HRemark = Ds.Tables[0].Rows[0]["FNote"].ToString().Trim();
|
omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FDeptID"].ToString());
|
omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FEmpID"].ToString());
|
omodel.HManagerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FManagerID"].ToString());
|
omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FSupplyID"].ToString());
|
omodel.HSecManagerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FFManagerID"].ToString());
|
omodel.HWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FDCStockID"].ToString());
|
omodel.HKeeperID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FSManagerID"].ToString());
|
omodel.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExplanation"].ToString());
|
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FROB"]) == 1)
|
{
|
omodel.HRedBlueFlag = true;
|
}
|
else
|
{
|
omodel.HRedBlueFlag = false;
|
}
|
omodel.HSCWHID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FSCStockID"].ToString());
|
//
|
omodel.HUse = Ds.Tables[0].Rows[0]["FUse"].ToString().Trim();
|
omodel.HAcctID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FAcctID"].ToString());
|
omodel.HPurposeID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FPurposeID"].ToString());
|
//
|
//
|
DataSet Ds1;
|
Ds1 = oCnK3.RunProcReturn("select fname from t_User where fuserid=" + DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FBillerID"]), "t_User");
|
if (Ds1.Tables[0].Rows.Count != 0)
|
{
|
omodel.HMaker = Ds1.Tables[0].Rows[0][0].ToString();
|
}
|
omodel.HCheckDate = Ds.Tables[0].Rows[0]["FCheckDate"].ToString().Trim();
|
if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FCheckerID"]) != 0)
|
{
|
DataSet Ds2;
|
Ds2 = oCnK3.RunProcReturn("select fname from t_User where fuserid=" + DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FCheckerID"]), "t_User");
|
if (Ds2.Tables[0].Rows.Count != 0)
|
{
|
omodel.HChecker = Ds2.Tables[0].Rows[0][0].ToString();
|
}
|
}
|
else
|
{
|
omodel.HChecker = "";
|
}
|
//循环
|
DataSet DsSub;
|
DsSub = oCnK3.RunProcReturn("Select * from ICStockBillEntry Where FInterID=" + lngBillKey.ToString() + " order by HEntryID ", "ICStockBillEntry");
|
DetailColl.Clear();//清空
|
for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++)
|
{
|
Model.ClsKf_MateOutBillSub_K3 oSub = new Model.ClsKf_MateOutBillSub_K3();
|
oSub.HInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FInterID"].ToString());
|
oSub.HEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FEntryID"].ToString());
|
oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FItemID"].ToString());
|
oSub.HPropertyID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FAuxPropID"].ToString());
|
oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FUnitID"].ToString());
|
oSub.HSecUnitRate = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FSecCoefficient"].ToString());
|
oSub.HWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FDCStockID"].ToString());
|
oSub.HSCWHID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FSCStockID"].ToString());
|
oSub.HRemark = DsSub.Tables[0].Rows[i]["FNote"].ToString().Trim();
|
oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FQty"].ToString());
|
oSub.HQtyMust = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FQtyMust"].ToString());
|
oSub.HPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["Fauxprice"].ToString());
|
oSub.HMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FAmount"].ToString());
|
oSub.HBatchNo = DsSub.Tables[0].Rows[i]["FBatchNo"].ToString().Trim();
|
|
//
|
oSub.HSourceInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FSourceInterId"].ToString());
|
oSub.HSourceEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FSourceEntryID"].ToString());
|
oSub.HSourceBillType = DsSub.Tables[0].Rows[i]["FSourceTranType"].ToString().Trim();
|
oSub.HSourceBillNo = DsSub.Tables[0].Rows[i]["FSourceBillNo"].ToString().Trim();
|
|
oSub.HICMOInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FICMOInterID"].ToString());
|
oSub.HICMOBillNo = DsSub.Tables[0].Rows[i]["FICMOBillNo"].ToString().Trim();
|
DetailColl.Add(oSub);
|
}
|
sReturn = "显示单据成功!";
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
return false;
|
}
|
}
|
|
//单据号是否重复
|
public virtual bool IsExistBillNo(ref string sReturn, string sBillNo, DBUtility.ClsPub.Enum_BillStatus oBillStatus, Int64 lngBillKey)
|
{
|
try
|
{
|
string sSql = "";
|
if (oBillStatus == DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew)
|
{
|
sSql = "Select FInterID from ICStockBill where FTranType='" + BillType + "' and FBillNo ='" + sBillNo + "'";
|
}
|
else
|
{
|
sSql = "Select FInterID from ICStockBill where FTranType='" + BillType + "' and FBillNo ='" + sBillNo + "' and FInterID<>" + lngBillKey.ToString();
|
}
|
DataSet Ds;
|
Ds = oCnK3.RunProcReturn(sSql, "ICStockBill");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
sReturn = "单号重复";
|
return true;
|
}
|
sReturn = "单号未重复";
|
return false;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
return false;
|
}
|
}
|
|
|
|
//删除单据
|
public virtual bool DeleteBill(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCnK3.BeginTran();
|
//
|
//Ds = oCnK3.RunProcReturn("select FSourceInterID from ICStockBillEntry where finterid=" + lngBillKey, "ICStockBillEntry");
|
//删除关联
|
//删除明细表
|
//oCnK3.RunProc("Delete From ICStockBillEntry where FInterID=" + lngBillKey.ToString());
|
//删除主表
|
//DeleteBillMain(lngBillKey);
|
oCnK3.RunProc("Delete From icstockbill where FInterID=" + lngBillKey.ToString());
|
//删除关联
|
//for (int i = 0; i < Ds.Tables[0].Rows.Count; i++)
|
//{
|
// DeleteRelation(ref sReturn, DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[i][0]));
|
//}
|
sReturn = "删除单据成功!";
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCnK3.RollBack();
|
throw (e);
|
}
|
}
|
//删除关联
|
public override void DeleteRelation(ref string sReturn, Int64 lngBillKey)
|
{
|
//oCn.RunProc("exec h_p_K3_MateOutRequestRelationQtyBack " + lngBillKey + ",'376001'");
|
//sReturn = "";
|
return;
|
}
|
|
|
//条码扫描记录,新增到领料出库
|
public bool AddBill_PDA(ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCnK3.BeginTran();
|
//删除主表
|
//oCnK3.RunProc("Delete From ICStockBill where FInterID=" + omodel.HInterID.ToString());
|
//插入子表
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBillSub_Insert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'");
|
//插入主表
|
oCnK3.RunProc("Insert Into ICStockBill " +
|
"(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus" +
|
",FUpStockWhenSave,FVchInterID,FROB,FHookStatus,Fdate,Fuse" +
|
",FCheckDate,FFManagerID,FSManagerID,FBillerID,FAcctID" +
|
",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" +
|
",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" +
|
",FPurposeID,FWBINTERID,FSelTranType,FBackFlushed" +
|
",FDeptID,FManageType,FPrintCount,FNote" +
|
") " +
|
" values(" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','0'," + this.BillType + ",0,0" +
|
",0,0,1,0,convert(varchar(10),getdate(),120),'" + omodel.HUse + "'" +
|
",null," + omodel.HKeeperID.ToString() + "," + omodel.HSecManagerID.ToString() + "," + omodel.HBillerID.ToString() + "," + omodel.HAcctID.ToString() +
|
",null,null,null" +
|
",null,null,null" +
|
"," + omodel.HPurposeID.ToString() + ",0,85,0" +
|
"," + omodel.HDeptID.ToString() + ",0,0,'" + omodel.HRemark + "'" +
|
") ");
|
//更新K3关联数量
|
//oCnK3.RunProc("EXEC p_UpdateBillRelateData " + this.BillType + "," + omodel.HInterID.ToString() + ",'ICStockBill','ICStockBillEntry'");
|
oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_MateOut_New " + omodel.HInterID.ToString());
|
//判断本会计期间是否已关账,已关账则单据日期变为下月一号,未关账则不变
|
oCnK3.RunProc("EXEC h_p_WMS_CheckYearPeriod_K3 " + omodel.HInterID.ToString());
|
//更新单据NEWid
|
//oCnK3.RunProc("UPDATE ICStockBill SET FUUID=NEWID() WHERE FInterID=" + omodel.HInterID.ToString());
|
////审核单据
|
//oCnK3.RunProc("EXEC h_p_Kf_MateOutBill_Check_K3 " + omodel.HInterID.ToString() + "," + omodel.HBillerID.ToString());
|
//判断条码库存是否异常(负库存、库存大于条码初始化)
|
//Ds = oCnK3.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + omodel.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
|
|
//if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
|
//{
|
|
//}
|
//else
|
//{
|
// sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
|
// oCnK3.RollBack();
|
// return false;
|
//}
|
sReturn = "新增单据成功!";
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCnK3.RollBack();
|
throw (e);
|
}
|
}
|
|
//条码扫描记录,新增到领料出库(红字)
|
public bool AddBill_PDA_Red(ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCnK3.BeginTran();
|
//删除主表
|
//oCnK3.RunProc("Delete From ICStockBill where FInterID=" + omodel.HInterID.ToString());
|
//插入子表
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBillSub_Red_Insert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'");
|
//插入主表
|
oCnK3.RunProc("Insert Into ICStockBill " +
|
"(FInterID,FBillNo,FBrNo,FTranType,FCancellation,FStatus" +
|
",FUpStockWhenSave,FVchInterID,FROB,FHookStatus,Fdate,Fuse" +
|
",FCheckDate,FFManagerID,FSManagerID,FBillerID,FAcctID" +
|
",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3" +
|
",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6" +
|
",FPurposeID,FWBINTERID,FSelTranType,FBackFlushed" +
|
",FDeptID,FManageType,FPrintCount" +
|
") " +
|
" values(" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','0'," + this.BillType + ",0,0" +
|
",0,0,-1,0,convert(varchar(10),getdate(),120),'" + omodel.HUse + "'" +
|
",null," + omodel.HKeeperID.ToString() + "," + omodel.HSecManagerID.ToString() + "," + omodel.HBillerID.ToString() + "," + omodel.HAcctID.ToString() +
|
",null,null,null" +
|
",null,null,null" +
|
"," + omodel.HPurposeID.ToString() + ",0,24,0" +
|
"," + omodel.HDeptID.ToString() + ",0,0" +
|
") ");
|
//更新K3关联数量
|
//oCnK3.RunProc("EXEC p_UpdateBillRelateData " + this.BillType + "," + omodel.HInterID.ToString() + ",'ICStockBill','ICStockBillEntry'");
|
oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_MateOut_Red_New " + omodel.HInterID.ToString());
|
//更新单据NEWid
|
//oCnK3.RunProc("UPDATE ICStockBill SET FUUID=NEWID() WHERE FInterID=" + omodel.HInterID.ToString());
|
//审核单据
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBill_Check_K3 " + omodel.HInterID.ToString() + "," + omodel.HBillerID.ToString());
|
//判断条码库存是否异常(负库存、库存大于条码初始化)
|
//Ds = oCnK3.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + omodel.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
|
|
//if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
|
//{
|
|
//}
|
//else
|
//{
|
// sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
|
// oCnK3.RollBack();
|
// return false;
|
//}
|
sReturn = "新增单据成功!";
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCnK3.RollBack();
|
throw (e);
|
}
|
}
|
|
//条码扫描记录,核对生单(蓝字)
|
public bool CheckAddBill_PDA(ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCnK3.BeginTran();
|
//删除子表
|
oCnK3.RunProc("Delete From ICStockBillEntry where FInterID=" + omodel.HInterID.ToString());
|
//更新K3关联数量
|
//oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_MateOut_Delete " + omodel.HInterID.ToString());
|
//插入子表
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBillSub_Insert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'");
|
//更新K3关联数量
|
oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_MateOut_New " + omodel.HInterID.ToString());
|
//审核单据
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBill_Check_K3 " + omodel.HInterID.ToString() + "," + omodel.HBillerID.ToString());
|
//判断条码库存是否异常(负库存、库存大于条码初始化)
|
//Ds = oCnK3.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + omodel.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
|
|
//if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
|
//{
|
|
//}
|
//else
|
//{
|
// sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
|
// oCnK3.RollBack();
|
// return false;
|
//}
|
sReturn = "新增成功!";
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCnK3.RollBack();
|
throw (e);
|
}
|
}
|
|
//条码扫描记录,核对生单(红字)
|
public bool CheckAddBill_RedPDA(ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCnK3.BeginTran();
|
//删除子表
|
oCnK3.RunProc("Delete From ICStockBillEntry where FInterID=" + omodel.HInterID.ToString());
|
//更新K3关联数量
|
//oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_MateOut_Red_Delete " + omodel.HInterID.ToString());
|
//插入子表
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBillSub_Red_Insert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'");
|
//更新K3关联数量
|
oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_MateOut_Red_New " + omodel.HInterID.ToString());
|
//审核单据
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBill_Check_K3 " + omodel.HInterID.ToString() + "," + omodel.HBillerID.ToString());
|
//判断条码库存是否异常(负库存、库存大于条码初始化)
|
//Ds = oCnK3.RunProcReturn("EXEC h_p_KF_ICInventoryBarCodeQtyCtrl " + omodel.HInterID.ToString(), "h_p_KF_ICInventoryBarCodeQtyCtrl");
|
|
//if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
|
//{
|
|
//}
|
//else
|
//{
|
// sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0][1]);
|
// oCnK3.RollBack();
|
// return false;
|
//}
|
sReturn = "新增成功!";
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCnK3.RollBack();
|
throw (e);
|
}
|
}
|
|
//条码扫描记录,新增到条码出入库表
|
public bool AddBill_WMS_PDA(ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCn.BeginTran();
|
//删除主表
|
//oCn.RunProc("Delete From Kf_ICStockBillSub_WMS where HInterID=" + omodel.HInterID.ToString());
|
//插入子表
|
oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert " + omodel.HInterID.ToString() + ",'" + this.BillType + "','" + omodel.HBillNo + "'");
|
//审核单据
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBill_Check_K3 " + omodel.HInterID.ToString() + "," + omodel.HBillerID.ToString());
|
sReturn = "新增成功!";
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
|
//条码扫描记录,新增到条码出入库表
|
public bool AddBill_WMS_PDA(Int64 sHSourceInterID, Int64 sHSourceEntryID, ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCn.BeginTran();
|
//删除主表
|
//oCn.RunProc("Delete From Kf_ICStockBillSub_WMS where HInterID=" + omodel.HInterID.ToString());
|
//插入子表
|
oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_RowInsert " + sHSourceEntryID.ToString() + "," + sHSourceEntryID.ToString() + ",'" + this.BillType + "'");
|
//更新 单据自定义字段(已提交)
|
oCn.RunProc("EXEC h_p_K3_MateOut_Status_UPDate " + sHSourceEntryID.ToString() + "," + sHSourceEntryID.ToString() + ",'" + this.BillType + "'");
|
//
|
sReturn = "新增成功!";
|
oCn.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCn.RollBack();
|
throw (e);
|
}
|
}
|
|
|
//根据部门、物料、指令单号、销售订单号返回源单信息
|
public DataSet GetInfoBySource(long HDeptID, long HMaterID, long HInstructID, long HSeOrderBillID, string sWhere)
|
{
|
DataSet DS;
|
try
|
{
|
DS = oCn.RunProcReturn("exec h_p_K3_MateOutBill_Source " + HDeptID + "," + HMaterID + "," + HInstructID + "," + HSeOrderBillID, "h_p_K3_MateOutBill_Source", ref DBUtility.ClsPub.sExeReturnInfo);
|
if (DS.Tables[0].Rows.Count == 0)
|
return null;
|
else
|
{
|
return DS;
|
}
|
}
|
catch (Exception e)
|
{
|
throw (e);
|
}
|
}
|
|
|
//条码扫描记录,稽核单据
|
public bool Audit_PDA(ref string sReturn)
|
{
|
try
|
{
|
DataSet Ds;
|
oCnK3.BeginTran();
|
//新增条码出入库记录
|
oCnK3.RunProc("EXEC h_p_Kf_ICStockBillSub_Audit_WMS_Insert " + omodel.HInterID.ToString() + ",'" + this.BillType + "','" + omodel.HBillNo + "'");
|
//稽核单据
|
oCnK3.RunProc("EXEC h_p_Kf_MateOutBill_Check_K3 " + omodel.HInterID.ToString() + "," + omodel.HBillerID.ToString());
|
|
sReturn = "稽核成功!";
|
oCnK3.Commit();
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
oCnK3.RollBack();
|
throw (e);
|
}
|
}
|
|
|
|
//显示单据条码信息
|
public bool ShowBill_Scheme(Int64 lngBillKey, ref string sReturn)
|
{
|
try
|
{
|
//循环子表2
|
DataSet DsSubSec;
|
DsSubSec = oCn.RunProcReturn("Select * from Kf_ICStockBillSub_WMS with (nolock) Where HInterID=" + lngBillKey.ToString() + " and HBillType='" + this.BillType + "'", "Kf_ICStockBillSub_WMS");
|
DetailSubColl.Clear();//清空
|
for (int i = 0; i < DsSubSec.Tables[0].Rows.Count; i++)
|
{
|
Model.ClsKf_MateOutBillScheme_K3 oSubSec = new Model.ClsKf_MateOutBillScheme_K3();
|
oSubSec.HInterID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HInterID"].ToString());
|
oSubSec.HEntryID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HEntryID"].ToString());
|
oSubSec.HItemID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HItemID"].ToString());
|
oSubSec.HBillType = DsSubSec.Tables[0].Rows[i]["HBillType"].ToString();
|
oSubSec.HMaterID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HMaterID"].ToString());
|
oSubSec.HProcID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HProcID"].ToString());
|
oSubSec.HWhID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HWhID"].ToString());
|
oSubSec.HGroupID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HGroupID"].ToString());
|
oSubSec.HQty = DBUtility.ClsPub.isDoule(DsSubSec.Tables[0].Rows[i]["HQty"].ToString());
|
oSubSec.HBarCode = DsSubSec.Tables[0].Rows[i]["HBarCode"].ToString();
|
oSubSec.HAddr = DsSubSec.Tables[0].Rows[i]["HAddr"].ToString();
|
oSubSec.HMaker = DsSubSec.Tables[0].Rows[i]["HMaker"].ToString();
|
oSubSec.HMakeDate = DBUtility.ClsPub.isDate(DsSubSec.Tables[0].Rows[i]["HMakeDate"].ToString());
|
oSubSec.HSourceInterID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HSourceInterID"].ToString());
|
oSubSec.HSourceEntryID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HSourceEntryID"].ToString());
|
oSubSec.HSourceBillType = DsSubSec.Tables[0].Rows[i]["HSourceBillType"].ToString();
|
oSubSec.HSourceBillNo = DsSubSec.Tables[0].Rows[i]["HSourceBillNo"].ToString();
|
oSubSec.HSourceItemID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HSourceItemID"].ToString());
|
//
|
DetailSubColl.Add(oSubSec);
|
}
|
sReturn = "显示单据成功!";
|
return true;
|
}
|
catch (Exception e)
|
{
|
sReturn = e.Message;
|
throw (e);
|
}
|
}
|
|
|
}
|
|
}
|