using System; using System.Collections.Generic; using System.Text; using System.Data; namespace DAL { public class ClsSc_SourceLineRepairBill : DBUtility.ClsXt_BaseBill { public Model.ClsSc_SourceLineRepairBillMain omodel = new Model.ClsSc_SourceLineRepairBillMain(); public List DetailColl = new List(); public List DetailMaterColl = new List(); public ClsSc_SourceLineRepairBill() { base.MvarItemKeySub = "Sc_SourceLineRepairBillSub"; base.MvarItemKeySub2 = "Sc_SourceLineRepairBillSub_Mater"; base.MvarItemKeySub3 = ""; base.MvarItemKeySub4 = ""; base.MvarItemKey= "Sc_SourceLineRepairBillMain"; base.MvarReportTitle="产线返修记录单"; base.BillType="3748"; base.HBillSubType = "3748"; } #region 固定代码 ~ClsSc_SourceLineRepairBill() { DetailColl = null; } #endregion 自定义方法 //修改单据 public override bool ModifyBill(Int64 lngBillKey, ref string sReturn) { try { // //oCn.BeginTran(); ////更新主表 //oCn.RunProc("UpDate Cg_ContractBillMain set " + //" HBillNo='" + omodel.HBillNo + "'" + //固定赋值=============== //",HDate='" + omodel.HDate + "'" + //",HYear='" + omodel.HYear.ToString() + "'" + //",HPeriod='" + omodel.HPeriod.ToString() + "'" + //",HRemark='" + omodel.HRemark + "'" + //",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" + //",HUpDateDate=getdate()" + ////======================================== //",HContractDate='" + omodel.HContractDate + "'" + //",HContractName='" + omodel.HContractName + "'" + //",HAddress='" + omodel.HAddress + "'" + //",HSSID=" + omodel.HSSID.ToString() + //",HSupID=" + omodel.HSupID.ToString() + //",HCurID=" + omodel.HCurID.ToString() + //",HExRate=" + omodel.HExRate.ToString() + //",HEmpID=" + omodel.HEmpID.ToString() + //",HDeptID=" + omodel.HDeptID.ToString() + //",HExplanation='" + omodel.HExplanation + "'" + //",HInnerBillNo='" + omodel.HInnerBillNo + "'" + //" where HInterID=" + lngBillKey.ToString()); ////删除关联 //DeleteRelation(ref sReturn, lngBillKey); ////删除子表 //DeleteBillSub(lngBillKey); //DeleteBillSub2(lngBillKey); ////插入子表 //omodel.HInterID = lngBillKey; //foreach (Model.ClsCg_ContractBillSub oSub in DetailColl) //{ // oCn.RunProc("Insert into Cg_ContractBillSub " + // " (HInterID,HEntryID,HRemark" + // ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + // ",HMaterID,HUnitID,HQty,HPrice" + // ",HMoney,HTaxRate,HTaxMoney,HlineTotal" + // ") values(" // + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'" + // "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + // "," + oSub.HMaterID.ToString() + "," + oSub.HUnitID.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + // "," + oSub.HMoney.ToString() + "," + oSub.HTaxRate.ToString() + "," + oSub.HTaxMoney.ToString() + "," + oSub.HlineTotal.ToString() + // ") "); //} //// ////插入子表2 //foreach (Model.ClsCg_ContractBillScheme oSubSec in DetailEmpColl) //{ // oCn.RunProc("Insert into Cg_ContractBillScheme " + // " (HInterID,HEntryID,HRemark" + // ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + // ",HDate,HMoney,HCurID,HExRate" + // ")" + // " values(" // + omodel.HInterID.ToString() + "," + oSubSec.HEntryID.ToString() + ",'" + oSubSec.HRemark + "'" + // "," + oSubSec.HSourceInterID.ToString() + "," + oSubSec.HSourceEntryID.ToString() + ",'" + oSubSec.HSourceBillNo + "','" + oSubSec.HSourceBillType + "'," + oSubSec.HRelationQty.ToString() + "," + oSubSec.HRelationMoney.ToString() + // ",'" + oSubSec.HDate + "'," + oSubSec.HMoney.ToString() + "," + oSubSec.HCurID.ToString() + "," + oSubSec.HExRate.ToString() + // ") "); //} //foreach (Model.ClsCg_ContractBillSub oSub in DetailColl) //{ // Ds = oCn.RunProcReturn("exec h_p_Cg_ContractBill_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 { //若MAINDI重复则重新获取 if (IsExistBillNo(ref DBUtility.ClsPub.sExeReturnInfo, omodel.HBillNo, Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew, omodel.HInterID)) { return false; } if (IsExistMainID(ref DBUtility.ClsPub.sExeReturnInfo, omodel.HInterID, Pub_Class.ClsPub.Enum_BillStatus.BillStatus_AddNew)) { return false; } oCn.BeginTran(); //主表 string sql = "insert into Sc_SourceLineRepairBillMain" + "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HEmpID,HDeptID,HSourceID,HProdOrgID,HMaterID,HWorkStationID,HProcess,HIPAddr,HMacAddr,HProdMac,HBarCode) " + "values(" + int.Parse(omodel.HDate.Split('-')[0]) + "," + int.Parse(omodel.HDate.Split('-')[1]) + ",'" + BillType + "','" + HBillSubType + "'," + omodel.HInterID + ",'" + omodel.HDate + "','" + omodel.HBillNo + "'," + 1 + ",'" + "" + "'," + omodel.HEmpID + "," + omodel.HDeptID + "," + omodel.HSourceID + "," + omodel.HProdOrgID + "," + omodel.HMaterID + "," + omodel.HWorkStationID + "," + omodel.HProcess + ",'" + omodel.HIPAddr + "','" + omodel.HMacAddr + "','" + omodel.HProdMac + "','" + omodel.HBarCode + "')"; oCn.RunProc(sql); // //插入子表1 foreach (Model.ClsSc_SourceLineRepairBillSub oSub in DetailColl) { sql = "insert into Sc_SourceLineRepairBillSub" + "(HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HBadReasonID,HBadTypeID,HBadResultID,HBadProcID,HRepairResult,HCreator,HCreateDate) " + "values(" + oSub.HInterID + "," + oSub.HEntryID + ",'" + omodel.HBillNo + "','" + oSub.HRemark + "'," + oSub.HSourceInterID + "," + oSub.HSourceEntryID + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HBadReasonID + "," + oSub.HBadTypeID + "," + oSub.HBadResultID + "," + oSub.HBadProcID + ",'" + oSub.HRepairResult + "','" + oSub.HCreator + "','" + oSub.HCreateDate + "')"; oCn.RunProc(sql); } // //插入子表2 foreach (Model.ClsSc_SourceLineRepairBillSub_Mater oSub in DetailMaterColl) { sql = "insert into Sc_SourceLineRepairBillSub_Mater" + "(HInterID,HEntryID,HBillNo_bak,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HMaterID,HUnitID,HBarCode)" + "values(" + oSub.HInterID + "," + oSub.HEntryID + ",'" + omodel.HBillNo + "','" + oSub.HRemark + "'," + oSub.HSourceInterID + "," + oSub.HSourceEntryID + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HMaterID + "," + oSub.HUnitID + ",'" + oSub.HBarCode + "')"; oCn.RunProc(sql); } 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 Cg_ContractBillMain Where HInterID=" + lngBillKey.ToString(), "Cg_ContractBillMain"); //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.HContractDate = DBUtility.ClsPub.isDate(Ds.Tables[0].Rows[0]["HContractDate"]); //omodel.HContractName = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HContractName"]); //omodel.HAddress = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HAddress"]); //omodel.HSSID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSSID"]); //omodel.HSupID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HSupID"]); //omodel.HCurID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HCurID"]); //omodel.HExRate = DBUtility.ClsPub.isDoule(Ds.Tables[0].Rows[0]["HExRate"]); //omodel.HEmpID = DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HEmpID"]); //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"]); //// ////循环 //DataSet DsSub ; //DsSub = oCn.RunProcReturn("Select * from Cg_ContractBillSub Where HInterID=" + lngBillKey.ToString(), "Cg_ContractBillSub"); //DetailColl.Clear();//清空 //for (int i = 0; i < DsSub.Tables[0].Rows.Count; i++) //{ // Model.ClsCg_ContractBillSub oSub = new Model.ClsCg_ContractBillSub(); // // 固定赋值=============================================== // 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.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.isDoule(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"]); // DetailColl.Add(oSub); //} ////循环子表2 //DataSet DsSubSec = new DataSet(); //DsSubSec = oCn.RunProcReturn("Select * from Cg_ContractBillScheme Where HInterID=" + lngBillKey.ToString(), "Cg_ContractBillMain"); //DetailEmpColl.Clear();//清空 //for (int i = 0; i < DsSubSec.Tables[0].Rows.Count; i++) //{ // Model.ClsCg_ContractBillScheme oSubSec = new Model.ClsCg_ContractBillScheme(); // // 固定赋值=============================================== // oSubSec.HInterID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HInterID"]); // oSubSec.HEntryID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HEntryID"]); // oSubSec.HSourceInterID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HSourceInterID"]); // oSubSec.HSourceEntryID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HSourceEntryID"]); // oSubSec.HSourceBillType = DsSubSec.Tables[0].Rows[i]["HSourceBillType"].ToString().Trim(); // oSubSec.HSourceBillNo = DsSubSec.Tables[0].Rows[i]["HSourceBillNo"].ToString().Trim(); // oSubSec.HRelationQty = DBUtility.ClsPub.isDoule(DsSubSec.Tables[0].Rows[i]["HRelationQty"]); // oSubSec.HRelationMoney = DBUtility.ClsPub.isDoule(DsSubSec.Tables[0].Rows[i]["HRelationMoney"]); // oSubSec.HCloseMan = DBUtility.ClsPub.isStrNull(DsSubSec.Tables[0].Rows[i]["HCloseMan"]); // oSubSec.HCloseType = DBUtility.ClsPub.isBool(DsSubSec.Tables[0].Rows[i]["HCloseType"]); // oSubSec.HEntryCloseDate = DBUtility.ClsPub.isDate(DsSubSec.Tables[0].Rows[i]["HEntryCloseDate"]); // oSubSec.HRemark = DsSubSec.Tables[0].Rows[i]["HRemark"].ToString().Trim(); // //=================================================== // oSubSec.HDate = DBUtility.ClsPub.isDate(DsSubSec.Tables[0].Rows[i]["HDate"]); // oSubSec.HMoney = DBUtility.ClsPub.isDoule(DsSubSec.Tables[0].Rows[i]["HMoney"]); // oSubSec.HCurID = DBUtility.ClsPub.isLong(DsSubSec.Tables[0].Rows[i]["HCurID"]); // oSubSec.HExRate = DBUtility.ClsPub.isDoule(DsSubSec.Tables[0].Rows[i]["HExRate"]); // // // DetailEmpColl.Add(oSubSec); //} sReturn = "显示单据成功!"; return true; } catch (Exception e) { sReturn = e.Message; throw (e); } } } }