yxj
2024-09-20 306bde7e1ebdde6403f89a0d13feccf9b1e79d2f
DAL/Éú²ú¹ÜÀí/É豸¹ÜÀí/ClsSb_EquipMaintainBill.cs
@@ -9,18 +9,17 @@
    {
        public Model.ClsSb_EquipMaintainBillMain omodel = new Model.ClsSb_EquipMaintainBillMain();
        public List<Model.ClsSb_EquipMaintainBillSub> DetailColl = new List<Model.ClsSb_EquipMaintainBillSub>();
        public List<Model.ClsSc_EquipMaintainBillSub_Item> DetailCol = new List<Model.ClsSc_EquipMaintainBillSub_Item>();
        public ClsSb_EquipMaintainBill()
        {
            base.MvarItemKeySub = "Sb_EquipMaintainBillSub";
            base.MvarItemKeySub2 = "";
            base.MvarItemKeySub2 = "Sb_EquipMaintainBillSub_Item";
            base.MvarItemKeySub3 = "";
            base.MvarItemKeySub4 = "";
            base.MvarItemKey="Sb_EquipMaintainBillMain";
            base.MvarReportTitle="设备保养记录";
            base.BillType = "3901";
            base.HBillSubType = "3901";
        }
        #region å›ºå®šä»£ç 
@@ -36,6 +35,22 @@
        {
            try
            {
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipMaintainBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipMaintainBill_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();
                //更新主表
@@ -54,12 +69,16 @@
                ",HPlanNo='" + omodel.HPlanNo + "'" +
                ",HExplanation='" + omodel.HExplanation+"'" +
                ",HInnerBillNo='" + omodel.HInnerBillNo+"'" +
                ",HEquipMaintainRuleInterID=" + omodel.HEquipMaintainRuleInterID.ToString()+
                ",HMaintainLevID=" + omodel.HMaintainLevID +
                ",HLastResult='" + omodel.HLastResult + "'" +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
                //删除子表
                DeleteBillSub(lngBillKey);
                //插入子表
                DeleteBillSub2(lngBillKey);
                //插入配件项子表
                omodel.HInterID = lngBillKey;
                foreach (Model.ClsSb_EquipMaintainBillSub oSub in DetailColl)
                {
@@ -77,18 +96,43 @@
                      "," + oSub.HManagerID.ToString()+",'" +oSub.HManagerNumber+"'"+
                      ") ");
                }
                //
                //foreach (Model.ClsSb_EquipMaintainBillSub oSub in DetailColl)
                //{
                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipMaintainBill_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;
                //    }
                //}
                //插入保养项子表
                foreach (Model.ClsSc_EquipMaintainBillSub_Item Item in DetailCol)
                {
                    oCn.RunProc("Insert into Sb_EquipMaintainBillSub_Item" +
                          " (HInterID,HEntryID,HMaintainItemID" +
                          ",HMaintainPart,HClaim" +
                          ",HManagerID" +
                          ",HCloseMan,HCloseType,HRemark" +
                          ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HMaintainResult" +
                          ") values("
                          + omodel.HInterID.ToString() + "," + Item.HEntryID.ToString() + "," + Item.HMaintainItemID.ToString() +
                          ",'" + Item.HMaintainPart.ToString() + "','" + Item.HClaim.ToString() + "'" +
                          "," + Item.HManagerID.ToString() +
                          ",'" + Item.HCloseMan + "'," + Convert.ToString(Item.HCloseType ? 1 : 0) + ",'" + Item.HRemark + "'" +
                          "," + Item.HSourceInterID.ToString() + "," + Item.HSourceEntryID.ToString() + ",'" + Item.HSourceBillNo + "','" + Item.HSourceBillType + "'," + Item.HRelationQty.ToString() + "," + Item.HRelationMoney.ToString() +
                          ",'" + Item.HMaintainResult + "'" +
                          ") ");
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipMaintainBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipMaintainBill_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;
@@ -107,19 +151,38 @@
            {
                //得到mainid
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //保存前控制=========================================
                string HBillNote = "";
                DataSet ds = oCn.RunProcReturn("Exec h_p_Sb_EquipMaintainBill_BeforeSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sb_EquipMaintainBill_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;
                }
                //=========================================================
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //主表
                oCn.RunProc("Insert Into Sb_EquipMaintainBillMain   " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
                ",HYear,HPeriod,HRemark,HEquipID" +
                ",HBeginDate,HEndDate,HPlanNo,HExplanation,HInnerBillNo" +
                ") "+
                ",HBeginDate,HEndDate,HPlanNo,HExplanation,HInnerBillNo,HEquipMaintainRuleInterID" +
                ",HDeptID,HMaintainLevID,HLastResult" +
                ") " +
                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                "," + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "'," + omodel.HEquipID.ToString() +
                ",'" + omodel.HBeginDate + "','" + omodel.HEndDate + "','" + omodel.HPlanNo + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'" +
                ",'" + omodel.HBeginDate + "','" + omodel.HEndDate + "','" + omodel.HPlanNo + "','" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," +omodel.HEquipMaintainRuleInterID.ToString() + "," + omodel.HDeptID + "," + omodel.HMaintainLevID + ",'" + omodel.HLastResult + "'" +
                ") ");
                //插入子表
                //插入配件子表
                foreach (Model.ClsSb_EquipMaintainBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Sb_EquipMaintainBillSub " +
@@ -136,19 +199,43 @@
                      "," + oSub.HManagerID.ToString() + ",'" + oSub.HManagerNumber + "'" +
                      ") ");
                }
                //
                //foreach (Model.ClsSb_EquipMaintainBillSub oSub in DetailColl)
                //{
                //    Ds = oCn.RunProcReturn("exec h_p_Sb_EquipMaintainBill_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;
                //    }
                //}
                //
                //插入保养项子表
                foreach (Model.ClsSc_EquipMaintainBillSub_Item Item in DetailCol)
                {
                    oCn.RunProc("Insert into Sb_EquipMaintainBillSub_Item" +
                          " (HInterID,HEntryID,HMaintainItemID" +
                          ",HMaintainPart,HClaim" +
                          ",HManagerID" +
                          ",HCloseMan,HCloseType,HRemark" +
                          ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                          ",HMaintainResult" +
                          ") values("
                          + omodel.HInterID.ToString() + "," + Item.HEntryID.ToString() + "," + Item.HMaintainItemID.ToString() +
                          ",'" + Item.HMaintainPart.ToString() + "','" + Item.HClaim.ToString() + "'" +
                          "," + Item.HManagerID.ToString() +
                          ",'" + Item.HCloseMan + "'," + Convert.ToString(Item.HCloseType ? 1 : 0) + ",'" + Item.HRemark + "'" +
                          "," + Item.HSourceInterID.ToString() + "," + Item.HSourceEntryID.ToString() + ",'" + Item.HSourceBillNo + "','" + Item.HSourceBillType + "'," + Item.HRelationQty.ToString() + "," + Item.HRelationMoney.ToString() + ",'" + Item.HMaintainResult +
                          "'" +
                          ") ");
                }
                //=========================保存后控制
                DataSet ds2 = oCn.RunProcReturn("Exec h_p_Sb_EquipMaintainBill_AfterSaveCtrl " + omodel.HInterID.ToString() + ", '" + omodel.HBillNo + "',1 ", "h_p_Sb_EquipMaintainBill_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.RunProc("exec h_p_Sb_EquipMaintain_AfterSaveCtrl " + omodel.HEquipMaintainPlanInterID + "," + omodel.HEquipMaintainPlanEntryID);
                sReturn = "新增单据成功!";
                oCn.Commit();
                return true;