zrg
2025-04-15 38bd77018665edaae981bf1c9d80b66711802f93
WebAPI/DLL/ClsOA_ErrMsgBackBill.cs
@@ -10,6 +10,7 @@
        public Models.ClsOA_ErrMsgBackBillMain omodel = new Models.ClsOA_ErrMsgBackBillMain();
        public List<Models.ClsOA_ErrMsgBackBillSub> DetailColl = new List<Models.ClsOA_ErrMsgBackBillSub>();
        public List<Models.ClsOA_ErrMsgBackBillSub2> DetailColl2 = new List<Models.ClsOA_ErrMsgBackBillSub2>();
        public Models.ClsOA_ErrMsgBackBillSub DetailReply = new Models.ClsOA_ErrMsgBackBillSub();
        public ClsOA_ErrMsgBackBill()
        {
@@ -39,6 +40,23 @@
            {
                //
                oCn.BeginTran();
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_OA_ErrMsgBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',2", "h_p_OA_ErrMsgBackBill_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.RunProc("UpDate OA_ErrMsgBackBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +  //固定赋值===============
@@ -64,7 +82,19 @@
                ",HDescription='" + omodel.HDescription + "'" +
                ",HHasten=" + omodel.HHasten.ToString() +
                ",HQty=" + omodel.HQty.ToString() +
                ",HRecDeptID=" + omodel.HRecDeptID.ToString() +
                ",HMaterNumber='" + omodel.HMaterNumber + "'" +
                ",HForm='" + omodel.HForm + "'" +
                ",HChangeNote='" + omodel.HChangeNote + "'" +
                ",HNote='" + omodel.HNote + "'" +
                ",HCenterID='" + omodel.HCenterID + "'" +
                ",HBadProcMan='" + omodel.HBadProcMan.ToString() + "'" +
                ",HQEMan='" + omodel.HQEMan.ToString() + "'" +
                ",HSourceID='" + omodel.HSourceID.ToString() + "'" +
                ",HShiftsID='" + omodel.HShiftsID.ToString()+ "'" +
                 ",HErrLev ='" + omodel.HErrLev.ToString() + "'" +
                ",HHandleEmpID=" + omodel.HHandleEmpID.ToString() +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
@@ -108,6 +138,23 @@
                //    }
                //}
                sReturn = "修改单据成功!";
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("h_p_OA_ErrMsgBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',2 ", "h_p_OA_ErrMsgBackBill_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;
                }
                //============================
                oCn.Commit();
                return true;
            }
@@ -123,10 +170,26 @@
        {
            try
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                DataSet ds;
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //保存前控制=========================================
                string HBillNote = "";
                ds = oCn.RunProcReturn("Exec h_p_OA_ErrMsgBackBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_OA_ErrMsgBackBill_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.RunProc("Insert Into OA_ErrMsgBackBillMain   " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
@@ -134,7 +197,8 @@
                ",HContext,HDeptID,HDescription,HSendMan,HReceiveMan" +
                ",HCopyMan,HHasten,HLevel,HReTransmitMan,HBillTypeName"+
                ",HPlanBillNo,HMaterName,HMaterModel,HQty,HSendType"+
                ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRecDeptID,HMaterNumber" +
                ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRecDeptID,HMaterNumber,HErrMsgBackTypeID,HHandleEmpID,HCloseFlag" +
                ",HForm,HChangeNote,HNote,HBadProcMan,HQEMan,HSourceID,HShiftsID,HErrLev,HCenterID" +
                ") " +
                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
@@ -142,8 +206,8 @@
                ",'" + omodel.HCopyMan + "'," + omodel.HHasten.ToString() + ",'" + omodel.HLevel + "','" + omodel.HReTransmitMan + "','" + omodel.HBillTypeName + "'" +
                ",'" + omodel.HPlanBillNo + "','" + omodel.HMaterName + "','" + omodel.HMaterModel + "'," + omodel.HQty.ToString() + ",'" + omodel.HSendType + "'" +
                ",'" + omodel.HMainSourceInterID + "','" + omodel.HMainSourceEntryID + "','" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType + "'" +
                "," + omodel.HRecDeptID + ",'" + omodel.HMaterNumber + "'" +
                ") ");
                "," + omodel.HRecDeptID + ",'" + omodel.HMaterNumber + "'," + omodel.HErrMsgBackTypeID +", " + omodel.HHandleEmpID + ", '"+ "0"+
                "','" + omodel.HForm + "','" + omodel.HChangeNote + "','" + omodel.HNote + "','" + omodel.HBadProcMan + "','" + omodel.HQEMan + "','" + omodel.HSourceID + "','" + omodel.HShiftsID + "','" + omodel.HErrLev+ "','" + omodel.HCenterID + "') ");
                //插入子表
                //foreach (Models.ClsOA_ErrMsgBackBillSub oSub in DetailColl)
                //{
@@ -182,6 +246,70 @@
                //}
                //
                sReturn = omodel.HInterID.ToString();
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("h_p_OA_ErrMsgBackBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_OA_ErrMsgBackBill_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;
                }
                //============================
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                oCn.RollBack();
                throw (e);
            }
        }
        public bool ReplyBill(ref string sReturn)
        {
            try
            {
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                DataSet Ds = oCn.RunProcReturn("select count(HInterID) as num from OA_ErrMsgBackBillSub where HInterID = " + DetailReply.HInterID + " group by HInterID ", "OA_ErrMsgBackBillSub");
                Int64 num = 0;
                if (Ds.Tables[0].Rows.Count == 0)
                {
                    num = 1;
                }
                else
                {
                    num = Convert.ToInt64(Ds.Tables[0].Rows[0]["num"]) + 1;
                }
                //主表
                oCn.RunProc("Insert Into OA_ErrMsgBackBillSub   " +
                "(HInterID,HEntryID,HRemark,HSendStatus,HSendMan" +
                ",HDescriptionSub,HDate" +
                ",HCloseMan,HEntryCloseDate,HCloseType,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                ") " +
                " values(" + DetailReply.HInterID + "," + num + ",'" + DetailReply.HRemark + "'," + 1 + ",'" + DetailReply.HSendMan + "'" +
                ",'" + DetailReply.HDescriptionSub + "','" + DetailReply.HDate + "','" + DetailReply.HCloseMan + "','" + "" + "'" +
                "," + 0 + "," + DetailReply.HSourceInterID + "," + DetailReply.HSourceEntryID + ",'" + DetailReply.HSourceBillNo + "'" +
                ",'" + DetailReply.HSourceBillType + "'," + DetailReply.HRelationQty + "," + DetailReply.HRelationMoney +
                ") ");
                sReturn = omodel.HInterID.ToString();
                oCn.Commit();
                return true;
            }