yxj
2023-12-05 6d9a7e0caaab8fd38f445bfacb3ee044bdfe42f8
DAL/Éú²ú¹ÜÀí/ClsSc_ICMOBill.cs
@@ -34,10 +34,26 @@
        {
            try
            {
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ICMOBill_BeforeSaveCtrl " + lngBillKey.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',2 ", "h_p_Sc_ICMOBill_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();
                //更新主表
                oCn.RunProc("UpDate Sc_ICMOBillMain set  " +
                ",HPRDORGID=" + omodel.HPRDORGID.ToString() +
                " HBillNo='" + omodel.HBillNo + "'" +
                ",HSeOrderBillNo='" + omodel.HSeOrderBillNo + "'" +
                ",HSeOrderInterID=" + omodel.HSeOrderInterID.ToString() +
@@ -89,6 +105,25 @@
                //      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                //      ") ");
                //}
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ICMOBill_AfterSaveCtrl " + lngBillKey.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_Sc_ICMOBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "修改单据成功!";
                oCn.Commit();
                return true;
@@ -100,6 +135,9 @@
                throw (e);
            }
        }
        //新增单据
        public override bool AddBill(ref string sReturn)
        {
@@ -107,7 +145,22 @@
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //若MAINDI重复则重新获取
                //保存前控制=========================h_p_Sc_ICMOBill_BeforeDeleteCtrl
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ICMOBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '"+ omodel.HBillNo +"','" + HBillNote + "','1' ", "h_p_Sc_ICMOBill_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();
                //主表
                oCn.RunProc("Insert Into Sc_ICMOBillMain   " +
@@ -116,14 +169,14 @@
                ",HSeOrderInterID,HSeOrderEntryID,HDeptID,HDeptNumber,HCusID,HCusNumber" +
                ",HCenterID,HCenterNumber,HMaterID,HMaterNumber,HUnitID,HUnitNumber" +
                ",HBomID,HBomNumber,HRoutingInterID,HPlanBeginDate,HPlanEndDate,HBeginDate" +
                ",HEndDate,HLevNum,HReadyQty,HPlanQty,HRelationQty,HOrderProcNo" +
                ",HEndDate,HLevNum,HReadyQty,HPlanQty,HRelationQty,HOrderProcNo,HPRDORGID" +
                ") " +
                " values('" + this.BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "','" + omodel.HSeOrderBillNo + "'" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + DBUtility.ClsPub.CurUserName + "',getdate(),'" + omodel.HRemark + "'," + omodel.HEmpID.ToString() + ",'" + omodel.HEmpNumber + "'" +
                "," + omodel.HSeOrderInterID.ToString() + "," + omodel.HSeOrderEntryID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HDeptNumber + "'," + omodel.HCusID.ToString() + ",'" + omodel.HCusNumber +"'"+
                "," + omodel.HCenterID.ToString() + ",'" + omodel.HCenterNumber + "'," + omodel.HMaterID.ToString() + ",'" + omodel.HMaterNumber + "'," + omodel.HUnitID.ToString() + ",'" + omodel.HUnitNumber + "'" +
                "," + omodel.HBomID.ToString() + ",'" + omodel.HBomNumber + "'," + omodel.HRoutingInterID.ToString() + ",'" + omodel.HPlanBeginDate.ToShortDateString() + "','" + omodel.HPlanEndDate.ToShortDateString() + "','" + omodel.HBeginDate.ToShortDateString() + "'" +
                ",'" + omodel.HEndDate.ToShortDateString() + "'," + omodel.HLevNum.ToString() + "," + omodel.HReadyQty.ToString() + "," + omodel.HPlanQty.ToString() + "," + omodel.HRelationQty.ToString() + ",'" + omodel.HOrderProcNo.ToString() +   "'" +
                ",'" + omodel.HEndDate.ToShortDateString() + "'," + omodel.HLevNum.ToString() + "," + omodel.HReadyQty.ToString() + "," + omodel.HPlanQty.ToString() + "," + omodel.HRelationQty.ToString() + ",'" + omodel.HOrderProcNo.ToString() +   "','"+omodel.HPRDORGID.ToString()+"'" +
                ") ");
                ////插入子表
                //foreach (Model.ClsSc_ICMOBillSub oSub in DetailColl)
@@ -136,6 +189,25 @@
                //      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                //      ") ");
                //}
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ICMOBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ICMOBill_AfterSaveCtrl");
                if (ds2 == null)
                {
                    sReturn = "保存后控制判断失败!";
                    oCn.RollBack();
                    return false;
                }
                if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    sReturn = "保存失败2!" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                    oCn.RollBack();
                    return false;
                }
                //============================
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;
@@ -147,6 +219,8 @@
                throw (e);
            }
        }
        //显示单据
        public override bool ShowBill(Int64 lngBillKey, ref string sReturn)
        {
@@ -154,7 +228,7 @@
            {
                //查询主表
                DataSet Ds ;
                Ds = oCn.RunProcReturn("Select * from Sc_ICMOBillMain Where HInterID=" + lngBillKey.ToString(), "Sc_ICMOBillMain");
                Ds = oCn.RunProcReturn("Select * from Sc_ICMOBillMain Where HInterID=" + lngBillKey.ToString()+ " and HPRDORGID="+DBUtility.ClsPub.HOrgID+"", "Sc_ICMOBillMain");
                if(Ds.Tables[0].Rows.Count==0)
                {
                    sReturn = "单据未找到!";
@@ -255,9 +329,10 @@
                //有关联数量则不允许删除
                DataSet ds;
                ds = oCn.RunProcReturn("exec h_p_Mes_ICMODeleteCtrl " + lngBillKey.ToString(), "h_p_Mes_ICMODeleteCtrl");
                if(ds==null || ds.Tables[0].Rows.Count==0)
                //ds = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_BeforeDeleteCtrl " + lngBillKey.ToString(), "h_p_Sc_ICMOBill_BeforeDeleteCtrl");
                if (ds==null || ds.Tables[0].Rows.Count==0)
                {
                    sReturn = "判断关联数量失败,260行!  ";
                    sReturn = "判断关联数量失败!  ";
                    return false;
                }
                if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) != 0)