using System; using System.Collections.Generic; using System.Text; using System.Data; namespace DAL { public class ClsKf_EntrustOutBill_K3:DBUtility.ClsXt_BaseBill { public Model.ClsKf_EntrustOutBillMain_K3 omodel = new Model.ClsKf_EntrustOutBillMain_K3(); public List DetailColl = new List(); public List DetailSubColl = new List(); public SQLHelper.ClsCNK3 oCnK3 = new SQLHelper.ClsCNK3(); public ClsKf_EntrustOutBill_K3() { base.MvarItemKeySub = "ICStockBillEntry"; base.MvarItemKeySub2 = ""; base.MvarItemKeySub3 = ""; base.MvarItemKeySub4 = ""; base.MvarItemKey = "ICStockBill"; base.MvarReportTitle = "委外加工出库单"; base.BillType = "28"; } #region 固定代码 ~ClsKf_EntrustOutBill_K3() { DetailColl = null; } #endregion 自定义方法 //修改单据 public override bool ModifyBill(Int64 lngBillKey, ref string sReturn) { try { // //得到用户ID long FBillerID = 16394; DataSet Ds1; oCnK3.BeginTran(); omodel.HInterID = lngBillKey; //删除主表 oCnK3.RunProc("Delete From ICStockBill where FInterID=" + lngBillKey.ToString()); //插入子表 foreach (Model.ClsKf_EntrustOutBillSub_K3 oSub in DetailColl) { oCnK3.RunProc("INSERT INTO ICStockBillEntry "+ "(FInterID,FEntryID,FBrNo,FMapNumber,FMapName "+ ",FItemID,FAuxPropID,FBatchNo,FQty,FQtyMust "+ ",FUnitID,FAuxQtyMust,Fauxqty,FSecCoefficient,FSecQty "+ ",FAuxPlanPrice,FPlanAmount,Fauxprice,Famount,FRealPrice "+ ",FRealAmount,Fnote,FKFDate,FKFPeriod,FPeriodDate "+ ",FIsVMI,FEntrySupply,FDCStockID,FDCSPID,FSNListID "+ ",FSourceBillNo,FSourceTranType,FSourceInterId,FSourceEntryID "+ ",FOrderBillNo,FOrderInterID,FOrderEntryID,FFatherProductID "+ ",FICMOInterID,FPPBomEntryID,FInStockID,FPlanMode,FMTONo "+ ",FPositionNo,FItemSize,FItemSuite,FDiscardID " + ") VALUES (" + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'0','',''" + "," + oSub.HMaterID.ToString() + ",0,'" + oSub.HBatchNo + "'," + oSub.HQty.ToString() + "," + oSub.HQtyMust.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() + "," + oSub.HQty.ToString() + ",'0,0'" + "," + oSub.HPlanPrice.ToString() + "," + oSub.HPlanAmount.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HAmount.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HAmount.ToString() + ",'" + oSub.HRemark + "',null,0,null" + ",0,0," + oSub.HWhID.ToString() + "," + oSub.HSPID.ToString() + ",0" + ",'" + oSub.HSourceBillNo + "'," + oSub.HSourceTranType + "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "'," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + "," + oSub.HProductID.ToString() + "," + oSub.HPPBomInterID.ToString() + "," + oSub.HPPBomEntryID.ToString() + ",0,14036,''" + ",'','','',0" + ")"); } //更新主表 oCnK3.RunProc("INSERT INTO ICStockBill "+ "(FInterID,FBillNo,FBrNo,FTranType,FCancellation "+ ",FStatus,FUpStockWhenSave,FROB,FHookStatus,Fdate "+ ",FSupplyID,FPurposeID,Fnote,FCheckDate "+ ",FSManagerID,FFManagerID,FBillerID "+ ",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3 "+ ",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6 "+ ",FVchInterID,FSelTranType,FBackFlushed,FManageType "+ ",FRelateBrID,FPOOrdBillNo,FBrID,FPrintCount " + ") VALUES (" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','0','" + this.BillType + "',0" + ",0,0,1,0,'" + omodel.HDate.ToString() + "'" + "," + omodel.HSupID + ",14190,'" + omodel.HRemark + "',null" + "," + omodel.HKeeperID + "," + omodel.HSecManagerID + "," + FBillerID + ",null,null,null" + ",null,null,null" + ",0,1007105,0,0" + ",0,'',0,0" + ")"); //更新关联数量 //更新K3关联数量 oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_EntrustOut_New " + omodel.HInterID.ToString()); sReturn = "修改单据成功!"; oCnK3.Commit(); return true; } catch (Exception e) { sReturn = e.Message; oCnK3.RollBack(); throw (e); } } //新增单据 public override bool AddBill(ref string sReturn) { try { //得到用户ID long FBillerID=16394; DataSet Ds1; //得到mainid Ds1 = oCnK3.RunProcReturn("declare @InterID int set @InterID=0 exec GetICMaxNumOld 'ICStockBill',@InterID output select ltrim(@InterID)", "xt_xtgnb"); if (Ds1.Tables[0].Rows.Count != 0) { omodel.HInterID = DBUtility.ClsPub.isLong(Ds1.Tables[0].Rows[0][0]); } //若MAINDI重复则重新获取 oCnK3.BeginTran(); //插入子表 foreach (Model.ClsKf_EntrustOutBillSub_K3 oSub in DetailColl) { oCnK3.RunProc("INSERT INTO ICStockBillEntry " + "(FInterID,FEntryID,FBrNo,FMapNumber,FMapName " + ",FItemID,FAuxPropID,FBatchNo,FQty,FQtyMust " + ",FUnitID,FAuxQtyMust,Fauxqty,FSecCoefficient,FSecQty " + ",FAuxPlanPrice,FPlanAmount,Fauxprice,Famount,FRealPrice " + ",FRealAmount,Fnote,FKFDate,FKFPeriod,FPeriodDate " + ",FIsVMI,FEntrySupply,FDCStockID,FDCSPID,FSNListID " + ",FSourceBillNo,FSourceTranType,FSourceInterId,FSourceEntryID " + ",FOrderBillNo,FOrderInterID,FOrderEntryID,FFatherProductID " + ",FICMOInterID,FPPBomEntryID,FInStockID,FPlanMode,FMTONo " + ",FPositionNo,FItemSize,FItemSuite,FDiscardID " + ") VALUES (" + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'0','',''" + "," + oSub.HMaterID.ToString() + ",0,'" + oSub.HBatchNo + "'," + oSub.HQty.ToString() + "," + oSub.HQtyMust.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQtyMust.ToString() + "," + oSub.HQty.ToString() + ",'0,0'" + "," + oSub.HPlanPrice.ToString() + "," + oSub.HPlanAmount.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HAmount.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HAmount.ToString() + ",'" + oSub.HRemark + "',null,0,null" + ",0,0," + oSub.HWhID.ToString() + "," + oSub.HSPID.ToString() + ",0" + ",'" + oSub.HSourceBillNo + "'," + oSub.HSourceTranType + "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "'," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + "," + oSub.HProductID.ToString() + "," + oSub.HPPBomInterID.ToString() + "," + oSub.HPPBomEntryID.ToString() + ",0,14036,''" + ",'','','',0" + ")"); } //主表 oCnK3.RunProc("INSERT INTO ICStockBill " + "(FInterID,FBillNo,FBrNo,FTranType,FCancellation " + ",FStatus,FUpStockWhenSave,FROB,FHookStatus,Fdate " + ",FSupplyID,FPurposeID,Fnote,FCheckDate " + ",FSManagerID,FFManagerID,FBillerID " + ",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3 " + ",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6 " + ",FVchInterID,FSelTranType,FBackFlushed,FManageType " + ",FRelateBrID,FPOOrdBillNo,FBrID,FPrintCount " + ") VALUES (" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','0','" + this.BillType + "',0" + ",0,0,1,0,'" + omodel.HDate.ToString() + "'" + "," + omodel.HSupID + ",14190,'" + omodel.HRemark + "',null" + "," + omodel.HKeeperID + "," + omodel.HSecManagerID + "," + FBillerID + ",null,null,null" + ",null,null,null" + ",0,1007105,0,0" + ",0,'',0,0" + ")"); //更新K3关联数量 oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_EntrustOut_New " + omodel.HInterID.ToString()); //更新关联数量 sReturn = "新增单据成功!"; oCnK3.Commit(); return true; } catch (Exception e) { sReturn = e.Message; oCnK3.RollBack(); throw (e); } } //显示单据 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.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.HKeeperID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["FSManagerID"].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.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FExplanation"].ToString()); omodel.HRemark = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FNote"].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_EntrustOutBillSub_K3 oSub = new Model.ClsKf_EntrustOutBillSub_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.HAuxPropID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FAuxPropID"].ToString()); oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FUnitID"].ToString()); //oSub.FSecUnitID = ClsPub.isLong(DsSub.Tables[0].Rows[i]["FSecUnitID"].ToString()); oSub.HSecCoefficient = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FSecCoefficient"].ToString()); oSub.HBatchNo = DsSub.Tables[0].Rows[i]["FBatchNo"].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.HSecQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FSecQty"].ToString()); oSub.HAmount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FAmount"].ToString()); oSub.HPlanAmount = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["FPlanAmount"].ToString()); //oSub.FEntrySupply = ClsPub.isLong(DsSub.Tables[0].Rows[i]["FEntrySupply"].ToString()); oSub.HWhID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FDCStockID"].ToString()); oSub.HSPID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FDCSPID"].ToString()); oSub.HRemark = DsSub.Tables[0].Rows[i]["FNote"].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.HSourceBillNo = DsSub.Tables[0].Rows[i]["FSourceBillNo"].ToString().Trim(); oSub.HSourceTranType = DsSub.Tables[0].Rows[i]["FSourceTranType"].ToString().Trim(); oSub.HOrderInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FOrderInterID"].ToString()); oSub.HOrderEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FOrderEntryID"].ToString()); oSub.HOrderBillNo = DsSub.Tables[0].Rows[i]["FOrderBillNo"].ToString().Trim(); oSub.HPPBomInterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FICMOInterID"].ToString()); oSub.HPPBomEntryID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["FPPBomEntryID"].ToString()); //oSub.HPPBomBillNo = DsSub.Tables[0].Rows[i]["FOrderBillNo"].ToString().Trim(); //oSub.FSEOutInterID = ClsPub.isLong(DsSub.Tables[0].Rows[i]["FSEOutInterID"].ToString()); //oSub.FSEOutEntryID = ClsPub.isLong(DsSub.Tables[0].Rows[i]["FSEOutEntryID"].ToString()); //oSub.FSEOutBillNo = DsSub.Tables[0].Rows[i]["FSEOutBillNo"].ToString().Trim(); DetailColl.Add(oSub); } sReturn = "显示单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; throw (e); } } //删除单据 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()); //删除关联 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_ProductInRequestRelationQtyBack " + lngBillKey + ",'3710'"); //sReturn = ""; return; } //单据号是否重复 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='" + MvarItemKey + "' and FBillNo ='" + sBillNo + "'"; } else { sSql = "Select FInterID from ICStockBill where FTranType='" + MvarItemKey + "' 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 Model.ClsKf_EntrustOutBillSub_K3 get_EntrustOutInfoByBarCode(string sBarCode) { try { Model.ClsKf_EntrustOutBillSub_K3 oSub=new Model.ClsKf_EntrustOutBillSub_K3(); DataSet Ds; Ds = oCn.RunProcReturn("exec h_p_Kf_EntrustOutInfoByBarCode '" + sBarCode + "'", "xt_xtgnb", ref DBUtility.ClsPub.sExeReturnInfo); if (Ds == null || Ds.Tables[0].Rows.Count == 0) { return null; } //oSub.HAmount = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HAmount"]); //oSub.HAuxPrice = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HPrice"]); //oSub.HAuxQty = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HQty"]); //oSub.HBarCode = sBarCode; //oSub.HBatchNo = Ds.Tables[0].Rows[0]["HBatchNo"].ToString(); //oSub.HMaterID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HMaterID"]); return oSub; } catch (Exception e) { DBUtility.ClsPub.sExeReturnInfo += "根据条码获取相应信息失败!" + e.Message; return null; } } //条码扫描记录,新增到产品入库 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_EntrustOutBillSub_Insert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'"); //插入主表 oCnK3.RunProc("INSERT INTO ICStockBill " + "(FInterID,FBillNo,FBrNo,FTranType,FCancellation " + ",FStatus,FUpStockWhenSave,FROB,FHookStatus,Fdate " + ",FSupplyID,FPurposeID,Fnote,FCheckDate " + ",FSManagerID,FFManagerID,FBillerID " + ",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3 " + ",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6 " + ",FVchInterID,FSelTranType,FBackFlushed,FManageType " + ",FRelateBrID,FPOOrdBillNo,FBrID,FPrintCount " +//FHeadSelfB0837 ") VALUES (" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','0','" + this.BillType + "',0" + ",0,0,1,0,convert(varchar(10),getdate(),120)" + "," + omodel.HSupID + ",14190,'" + omodel.HRemark + "',null" + "," + omodel.HKeeperID + "," + omodel.HSecManagerID + "," + omodel.HBillerID.ToString() + ",null,null,null" + ",null,null,null" + ",0,1007105,0,0" + ",0,'',0,0 )"); //更新K3关联数量 //oCnK3.RunProc("EXEC p_UpdateBillRelateData " + this.BillType + "," + omodel.HInterID.ToString() + ",'ICStockBill','ICStockBillEntry'"); oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_EntrustOut_New " + omodel.HInterID.ToString()); //审核单据 oCnK3.RunProc("EXEC h_p_Kf_EntrustOutBill_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_EntrustOutBillSub_Red_Insert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'"); //插入主表 oCnK3.RunProc("INSERT INTO ICStockBill " + "(FInterID,FBillNo,FBrNo,FTranType,FCancellation " + ",FStatus,FUpStockWhenSave,FROB,FHookStatus,Fdate " + ",FSupplyID,FPurposeID,Fnote,FCheckDate " + ",FSManagerID,FFManagerID,FBillerID " + ",FMultiCheckDate1,FMultiCheckDate2,FMultiCheckDate3 " + ",FMultiCheckDate4,FMultiCheckDate5,FMultiCheckDate6 " + ",FVchInterID,FSelTranType,FBackFlushed,FManageType " + ",FRelateBrID,FPOOrdBillNo,FBrID,FPrintCount " +//FHeadSelfB0837 ") VALUES (" + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','0','" + this.BillType + "',0" + ",0,0,-1,0,convert(varchar(10),getdate(),120)" + "," + omodel.HSupID + ",14190,'" + omodel.HRemark + "',null" + "," + omodel.HKeeperID + "," + omodel.HSecManagerID + "," + omodel.HBillerID.ToString() + ",null,null,null" + ",null,null,null" + ",0,1007105,0,0" + ",0,'',0,0 )");//,convert(varchar(10),getdate(),120) //更新K3关联数量 //oCnK3.RunProc("EXEC p_UpdateBillRelateData " + this.BillType + "," + omodel.HInterID.ToString() + ",'ICStockBill','ICStockBillEntry'"); oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_EntrustOut_New " + omodel.HInterID.ToString()); //审核单据 oCnK3.RunProc("EXEC h_p_Kf_EntrustOutBill_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_EntrustOut_Delete " + omodel.HInterID.ToString()); //插入子表 oCnK3.RunProc("EXEC h_p_Kf_EntrustOutBillSub_Insert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'"); //更新K3关联数量 oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_EntrustOut_New " + omodel.HInterID.ToString()); //审核单据 oCnK3.RunProc("EXEC h_p_Kf_EntrustOutBill_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("EXEC h_p_Kf_EntrustOutBillSub_Red_CheckInsert_K3 " + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "'"); //更新K3关联数量 oCnK3.RunProc("EXEC h_p_K3_UpdateBillRelateData_EntrustOut_Red_New " + omodel.HInterID.ToString()); //审核单据 oCnK3.RunProc("EXEC h_p_Kf_EntrustOutBill_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; oCnK3.BeginTran(); //删除主表 //oCnK3.RunProc("Delete From Kf_ICStockBillSub_WMS where HInterID=" + omodel.HInterID.ToString()); //插入子表 oCnK3.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert " + omodel.HInterID.ToString() + ",'" + this.BillType + "','" + omodel.HBillNo + "'"); //审核单据 oCnK3.RunProc("EXEC h_p_Kf_EntrustOutBill_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 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_EntrustOut_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 HSupID, long HMaterID, long HInstructID, long HSeOrderBillID, string sWhere) { DataSet DS; try { DS = oCn.RunProcReturn("exec h_p_K3_EntrustOutBill_Source " + HSupID + "," + HMaterID + "," + HInstructID + "," + HSeOrderBillID, "h_p_K3_EntrustOutBill_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_EntrustOutBill_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_EntrustOutBillScheme_K3 oSubSec = new Model.ClsKf_EntrustOutBillScheme_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); } } } }