1
zrg
2025-12-02 5b83a166f857ae61353aea3baeaf2373f5537183
DAL/³µ¼ä¹ÜÀí/ClsSc_ProcExchWorkBackBill.cs
@@ -36,6 +36,22 @@
        {
            try
            {
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchWorkBackBill_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();
                //更新主表
@@ -50,6 +66,7 @@
                //========================================
                ",HInnerBillNo='" + omodel.HInnerBillNo.ToString() +"'"+
                ",HEmpID=" + omodel.HEmpID.ToString() +
                ",HBillOperationType='" + omodel.HBillOperationType + "'" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
@@ -59,17 +76,44 @@
                omodel.HInterID = lngBillKey;
                foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl)
                {
                    if (oSub.HSourceInterID == 0)
                    {
                        oSub.HSourceInterID = omodel.HProcExchInterID;
                    }
                    if (oSub.HSourceEntryID == 0)
                    {
                        oSub.HSourceEntryID = omodel.HProcExchEntryID;
                    }
                    oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
                        ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
                        ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
                        ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
                        ", HQty, HICMOInterID, HICMOBillNo, HICMOEntryID)values(" +
                        $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', null, {(oSub.HCloseType == true ? 1 : 0)}" +
                        $",'{oSub.HRemark.ToString()}', {omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID},{oSub.HSourceEntryID}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
                        $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
                        $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag == true ? 1 : 0)}" +
                        $", {oSub.HQty.ToString()},{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID}) ");
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchWorkBackBill_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();
@@ -87,8 +131,23 @@
        {
            try
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_ProcExchWorkBackBill_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);
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //主表
@@ -97,28 +156,54 @@
                    ", HICMOInterID, HICMOBillNo, HICMOEntryID, HProcExchInterID, HProcExchEntryID" +
                    ", HProcExchBillNo, HProcExchBegNO, HProcExchEndNO, HProcBegID, HProcEndID" +
                    ", HMaterID, HUnitID, HEmpID, HPlanQty, HQty" +
                    ", HExplanation, HInnerBillNo, HWorkShopID, HOrderProcNo, HPRDORGID) values(" +
                    ", HExplanation, HInnerBillNo, HWorkShopID, HOrderProcNo, HPRDORGID,HBillOperationType) values(" +
                    $"'{omodel.HBillType}','{omodel.HBillSubType}',{omodel.HInterID},'{omodel.HBillNo}','{omodel.HDate}',1" +
                    $",'{omodel.HMaker}','{omodel.HMakeDate}',{omodel.HYear},{omodel.HPeriod},'{omodel.HRemark}'" +
                    $",{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID},{omodel.HProcExchInterID},{omodel.HProcExchEntryID}" +
                    $",'{omodel.HProcExchBillNo}',{omodel.HProcExchBegNO},{omodel.HProcExchEndNO},{omodel.HProcBegID},{omodel.HProcEndID}" +
                    $",{omodel.HMaterID},{omodel.HUnitID},{omodel.HEmpID},{omodel.HPlanQty},{omodel.HQty}" +
                    $",'{omodel.HExplanation}','{omodel.HInnerBillNo}',{omodel.HWorkShopID},'{omodel.HOrderProcNo}',{omodel.HPRDORGID})");
                    $",'{omodel.HExplanation}','{omodel.HInnerBillNo}',{omodel.HWorkShopID},'{omodel.HOrderProcNo}',{omodel.HPRDORGID},'{omodel.HBillOperationType}')");
                //插入子表
                foreach (Model.ClsSc_ProcExchWorkBackBillSub oSub in DetailColl)
                {
                    if (oSub.HSourceInterID == 0)
                    {
                        oSub.HSourceInterID = omodel.HProcExchInterID;
                    }
                    if (oSub.HSourceEntryID == 0)
                    {
                        oSub.HSourceEntryID = omodel.HProcExchEntryID;
                    }
                    oCn.RunProc("Insert into Sc_ProcExchWorkBackBillSub (HInterID, HEntryID, HCloseMan, HEntryCloseDate, HCloseType" +
                        ", HRemark, HSourceInterID, HSourceEntryID, HSourceBillNo, HSourceBillType" +
                        ", HRelationQty, HRelationMoney, HBillNo_bak, HProcNo, HProcID" +
                        ", HWorkRemark, HCenterID, HDeptID, HSupID, HSupFlag" +
                        ", HQty, HICMOInterID, HICMOBillNo, HICMOEntryID)values(" +
                        $"{omodel.HInterID}, {oSub.HEntryID.ToString()}, '{oSub.HCloseMan.ToString()}', null, {(oSub.HCloseType== true ? 1:0)}" +
                        $",'{oSub.HRemark.ToString()}', {omodel.HProcExchInterID.ToString()},{omodel.HProcExchEntryID.ToString()}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
                        $",'{oSub.HRemark.ToString()}', {oSub.HSourceInterID},{oSub.HSourceEntryID}, '{omodel.HProcExchBillNo.ToString()}', '3772'" +
                        $",{oSub.HRelationQty.ToString()},{oSub.HRelationMoney.ToString()}, '{oSub.HBillNo_bak.ToString()}', '{oSub.HProcNo.ToString()}',{oSub.HProcID.ToString()}" +
                        $", '{oSub.HWorkRemark.ToString()}', {oSub.HCenterID.ToString()},{oSub.HDeptID.ToString()},{oSub.HSupID.ToString()},{(oSub.HSupFlag== true?1:0)}" +
                        $", {oSub.HQty.ToString()},{omodel.HICMOInterID},'{omodel.HICMOBillNo}',{omodel.HICMOEntryID}) ");
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sc_ProcExchWorkBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sc_ProcExchWorkBackBill_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;