using System; using System.Collections.Generic; using System.Text; using System.Data; namespace DAL { public class ClsXs_SeOrderBill:DBUtility.ClsXt_BaseBill { public Model.ClsXs_SeOrderBillMain omodel = new Model.ClsXs_SeOrderBillMain(); public List DetailColl = new List(); public ClsXs_SeOrderBill() { base.MvarItemKeySub = "Xs_SeOrderBillSub"; base.MvarItemKeySub2 = ""; base.MvarItemKeySub3 = ""; base.MvarItemKeySub4 = ""; base.MvarItemKey="Xs_SeOrderBillMain"; base.MvarReportTitle="销售订单"; base.BillType="1401"; base.HBillSubType = "1401"; } #region 固定代码 ~ClsXs_SeOrderBill() { 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 + "'" + ",HProductType='" + omodel.HProductType + "'" + " 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 { //保存前控制========================================= 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; } //========================================================= ////得到mainid //omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); //omodel.HBillNo = DBUtility.ClsPub.CreateBillCode(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true); ////若MAINDI重复则重新获取 //if (IsExistBillNo(ref DBUtility.ClsPub.sExeReturnInfo, omodel.HBillNo, Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew, omodel.HInterID)) //{ // omodel.HBillNo = DBUtility.ClsPub.CreateBillCode(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true); //} //if (IsExistMainID(ref DBUtility.ClsPub.sExeReturnInfo, omodel.HInterID, Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew)) //{ // omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo); //} //// //oCn.BeginTran(); ////主表 //oCn.RunProc("Insert Into Xs_SeOrderBillMain " + //"(HBillType,HBillSubType,HInterID,HBillNo,HDate" + //",HYear,HPeriod,HRemark,HMaker,HMakeDate" + //",HAddress,HSSID,HSellSID,HCusID,HCurID,HExRate,HSSDate" + //",HEmpID,HManagerID,HDeptID,HExplanation,HInnerBillNo" + //") " + //" values('" + this.BillType + "','" + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + //", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" + //",'" + omodel.HAddress + "'," + omodel.HSSID.ToString() + "," + omodel.HSellSID.ToString() + "," + omodel.HCusID.ToString() + "," + omodel.HCurID.ToString() + "," + omodel.HExRate.ToString() + ",'" + omodel.HSSDate.ToShortDateString() + "'" + //", " + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'"+ //") "); oCn.BeginTran(); //检查主表内码是否重复,若重复则重新生成并继续检查,直到不再重复 while (true) { ds = oCn.RunProcReturn("select * from Xs_SeOrderBillMain where HInterID = " + omodel.HInterID, "Xs_SeOrderBillMain"); 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 Xs_SeOrderBillMain" + "(HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HExplanation" + ",HInterID,HBillNo,HDate,HInnerBillNo,HAddress,HDeptID,HCusID,HEmpID,HCurID,HExRate,HEarnestRate,HManagerID,HSellSID,HSSID,HSSDate,HPayCusID,HRemark,HOrgID,HMaker,HMakeDate,HLinkMan,HLinkPhone" + ",HERPInterID,HERPBillType,HSALEORGID,HSALEGROUPID,HRECEIVEID,HSETTLEID,HCHARGEID,HHEADLOCID,HRECCONTACTID,HCORRESPONDORGID,HBUSINESSTYPE,HProjectID,HWHID,HProductType) " + "values(" + "" + omodel.HYear + "," + omodel.HPeriod + ",'" + this.BillType + "','" + omodel.HBillSubType + "'," + omodel.HBillStatus + ",'" + omodel.HExplanation + "'," + omodel.HInterID + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + omodel.HInnerBillNo + "','" + omodel.HAddress + "'," + omodel.HDeptID + "," + omodel.HCusID + "," + omodel.HEmpID + "," + omodel.HCurID + "," + omodel.HExRate + "," + omodel.HEarnestRate + "," + omodel.HManagerID + "," + omodel.HSellSID + "," + omodel.HSSID + ",'" + omodel.HSSDate + "'," + omodel.HPayCusID + ",'" + omodel.HRemark + "'," + omodel.HOrgID + ",'" + omodel.HMaker + "',getdate()" + ",'" + omodel.HLinkMan + "','" + omodel.HLinkPhone + "'," + omodel.HERPInterID + ",'" + omodel.HERPBillType + "'," + omodel.HSALEORGID + "," + omodel.HSALEGROUPID + "," + omodel.HRECEIVEID + "," + omodel.HSETTLEID + "," + omodel.HCHARGEID + "," + omodel.HHEADLOCID + "," + omodel.HRECCONTACTID + "," + omodel.HCORRESPONDORGID + ",'" + omodel.HBUSINESSTYPE + "','" + omodel.HProjectID + "','" + omodel.HWHID + "','" + omodel.HProductType + "')"; oCn.RunProc(mainSql); //插入子表 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 ShowBill(Int64 lngBillKey, ref string sReturn) { try { //查询主表 DataSet Ds ; Ds = oCn.RunProcReturn("Select * from Xs_SeOrderBillMain Where HInterID=" + lngBillKey.ToString(), "Xs_SeOrderBillMain"); 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.HChangeDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HChangeDate"]); omodel.HChangeMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HChangeMan"]); //======================================================== omodel.HAddress = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HAddress"]); omodel.HSSID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSSID"]); omodel.HSellSID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSellSID"]); omodel.HCusID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCusID"]); omodel.HCurID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCurID"]); omodel.HExRate = DBUtility.ClsPub.isSingle(Ds.Tables[0].Rows[0]["HExRate"]); omodel.HEarnestRate = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HEarnestRate"]); omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]); omodel.HManagerID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HManagerID"]); omodel.HDeptID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HDeptID"]); omodel.HExplanation = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HExplanation"]); omodel.HInnerBillNo = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInnerBillNo"]); omodel.HSSDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HSSDate"]); omodel.HOrgID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HOrgID"]); omodel.HPayCusID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HPayCusID"]); omodel.HLinkMan = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HLinkMan"]); omodel.HLinkPhone = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HLinkPhone"]); omodel.HProductType = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HProductType"]); // //循环 DataSet DsSub ; DsSub = oCn.RunProcReturn("Select * from Xs_SeOrderBillSub Where HInterID=" + lngBillKey.ToString(), "Xs_SeOrderBillSub"); DetailColl.Clear();//清空 for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) { Model.ClsXs_SeOrderBillSub oSub = new Model.ClsXs_SeOrderBillSub(); // 固定赋值=============================================== 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.HRelationQty_SellOutCheck = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_SellOutCheck"]); oSub.HRelationMoney_SellOutCheck = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationMoney_SellOutCheck"]); oSub.HRelationQty_ICMO = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_ICMO"]); oSub.HRelationQty_SellBack = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_SellBack"]); oSub.HRelationQty_SellBackCheck = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelationQty_SellBackCheck"]); //=================================================== oSub.HMaterID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HMaterID"]); oSub.HUnitID = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HUnitID"]); oSub.HQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HQty"]); oSub.HPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HPrice"]); oSub.HMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HMoney"]); oSub.HTaxRate = DBUtility.ClsPub.isSingle(DsSub.Tables[0].Rows[i]["HTaxRate"]); oSub.HTaxMoney = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HTaxMoney"]); oSub.HlineTotal = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HlineTotal"]); oSub.HlineTotalBB = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HlineTotalBB"]); oSub.HDate = DBUtility.ClsPub.isDate(DsSub.Tables[0].Rows[i]["HDate"]); oSub.HTaxPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HTaxPrice"]); oSub.HDiscountRate = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HDiscountRate"]); oSub.HRelTaxPrice = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HRelTaxPrice"]); oSub.HOutStockQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HOutStockQty"]); oSub.HInvoiceQty = DBUtility.ClsPub.isDoule(DsSub.Tables[0].Rows[i]["HInvoiceQty"]); oSub.HisStockGoods = DBUtility.ClsPub.isLong(DsSub.Tables[0].Rows[i]["HisStockGoods"]) == 1 ? true : false; oSub.HRemark_TL = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[0]["HRemark_TL"]); oSub.HRemark_SJG = DBUtility.ClsPub.isStrNull(DsSub.Tables[0].Rows[0]["HRemark_SJG"]); DetailColl.Add(oSub); } sReturn = "显示单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; throw (e); } } public bool ChangePrice(long HMainID, long HSubID, double HNewPrice) { try { string HMaker = DBUtility.ClsPub.CurUserName; //查询主表 oCn.RunProc("exec h_p_Xs_SeOrderBill_ChangePrice " + HMainID.ToString() + "," + HSubID.ToString() + "," + HNewPrice.ToString() + ",'" + HMaker + "'"); // return true; } catch (Exception e) { throw (e); } } public void BackPrintQty(Int64 sInterID) { //回填打印次数 oCn.RunProc("update Xs_SeOrderBillMain set HPrintQty=HPrintQty + 1 Where HInterID= " + sInterID.ToString()); } //发起审批 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; } } } }