namespace BLL
{
    using Apache.NMS.ActiveMQ.Commands;
    using Newtonsoft.Json;
    using NPOI.POIFS.Crypt.Dsig;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.IO;
    using System.Linq;
    //using System.Net.Http.Headers;
    //using System.Net.Http;
    using System.Web;
    using RestSharp;
    using System.Net;

    public static class CNCECHSSEWebService
    {
        public static void upFile()
        {
            //int l = HttpContext.Current.Request.Files["testdoc"].ContentLength;
            //byte[] buffer = new byte[l];
            //Stream s = HttpContext.Current.Request.Files["testdoc"].InputStream;
            //HttpClient client = new HttpClient();
            //MultipartFormDataContent form = new MultipartFormDataContent();
            //StreamContent fileContent = new StreamContent(s);
            //fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
            //fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
            //fileContent.Headers.ContentDisposition.FileName = s.filename;
            //form.Add(fileContent);
            //HttpResponseMessage res = client.PostAsync("http://192.168.8.9/llb/api/FileUpload/PostFile", form).Result;
            //var msg = res.Content.ReadAsStringAsync().Result;
            //if (msg.ToString() != "true")
            //{
            //    return Content(msg);
            //}

        }
        public static string UploadFile(string file)
        {
            string result = string.Empty;
            try
            {
                string CNCECPath = SysConstSetService.CNCECPath;
                string baseurl = CNCECPath + "/api/FileUpload/Post";
                var client = new RestClient(baseurl);
                client.Timeout = -1;
                var request = new RestRequest(Method.POST);
                request.AddHeader("Content-Type", "multipart/form-data");//注意头部必须是form-data
                //   client.UserAgent = "apifox/1.0.0 (https://www.apifox.cn)";
                //request.AddFile("file", @"E:\微信\WeChat\WeChat Files\wxid_9140361403112\FileStorage\File\2022-08\焊接管理尾项20220809.docx");
                var filelist = file.Split(',');
                foreach (var item in filelist)
                {

                    if (File.Exists(item))
                    {
                        request.AddFile("file", item);
                    }
                }

                request.AddParameter("typeName", "SafetyQuarterlyReport");
                var tokenItem = BLL.ServerService.GetToken();
                request.AddHeader("token", tokenItem.Token);
                IRestResponse response = client.Execute(request);
                var contentPost = response.Content.Replace('"', ' ');
                result = contentPost;
            }
            catch (System.Exception)
            {
                result = "";


            }
            return result;

        }

        #region 上报数据到集团
        #region 百万工时上报
        /// <summary>
        /// 百万工时上报
        /// </summary>
        public static string UpMillionsMonthlyReport(string millionsMonthlyReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {
                    var upReport = from x in db.Information_MillionsMonthlyReport
                                   where x.MillionsMonthlyReportId == millionsMonthlyReportId
                                   select new Information_MillionsMonthlyReport
                                   {
                                       MillionsMonthlyReportId = x.MillionsMonthlyReportId,
                                       UnitId = x.UnitId,
                                       Year = x.Year,
                                       Month = x.Month,
                                       FillingMan = x.FillingMan,
                                       FillingDate = x.FillingDate,
                                       DutyPerson = x.DutyPerson,
                                       RecordableIncidentRate = x.RecordableIncidentRate,
                                       LostTimeRate = x.LostTimeRate,
                                       LostTimeInjuryRate = x.LostTimeInjuryRate,
                                       DeathAccidentFrequency = x.DeathAccidentFrequency,
                                       AccidentMortality = x.AccidentMortality,
                                       InputCosts = x.InputCosts,
                                       TrainNum = x.TrainNum,
                                       GeneralHazardNum = x.GeneralHazardNum,
                                       MajorHazardNum = x.MajorHazardNum,
                                       NotProofLargeProjectNum = x.NotProofLargeProjectNum,
                                       ProofLargeProjectNum = x.ProofLargeProjectNum,
                                       FireLicenseNum = x.FireLicenseNum,
                                       LimitLicenseNum = x.LimitLicenseNum,
                                       HighLicenseNum = x.HighLicenseNum,
                                       HoistingLicenseNum = x.HoistingLicenseNum,
                                       BreakGroundLicenseNum = x.BreakGroundLicenseNum,
                                       ElectricityLicenseNum = x.ElectricityLicenseNum,
                                       RTLicenseNum = x.RTLicenseNum,
                                       NightLicenseNum = x.NightLicenseNum,
                                       CommissionerNum = x.CommissionerNum,
                                       SoleDutyNum = x.SoleDutyNum,
                                   };

                    var upReportItem = from x in db.Information_MillionsMonthlyReportItem
                                       where x.MillionsMonthlyReportId == millionsMonthlyReportId
                                       select new Information_MillionsMonthlyReportItem
                                       {
                                           MillionsMonthlyReportItemId = x.MillionsMonthlyReportItemId,
                                           MillionsMonthlyReportId = x.MillionsMonthlyReportId,
                                           SortIndex = x.SortIndex,
                                           Affiliation = x.Affiliation,
                                           Name = x.Name,
                                           PostPersonNum = x.PostPersonNum,
                                           SnapPersonNum = x.SnapPersonNum,
                                           ContractorNum = x.ContractorNum,
                                           SumPersonNum = x.SumPersonNum,
                                           TotalWorkNum = x.TotalWorkNum,
                                           SeriousInjuriesNum = x.SeriousInjuriesNum,
                                           SeriousInjuriesPersonNum = x.SeriousInjuriesPersonNum,
                                           SeriousInjuriesLossHour = x.SeriousInjuriesLossHour,
                                           MinorAccidentNum = x.MinorAccidentNum,
                                           MinorAccidentPersonNum = x.MinorAccidentPersonNum,
                                           MinorAccidentLossHour = x.MinorAccidentLossHour,
                                           OtherAccidentNum = x.DeathAccidentNum,
                                           OtherAccidentPersonNum = x.DeathAccidentPersonNum,
                                           OtherAccidentLossHour = x.DeathAccidentLossHour,
                                           RestrictedWorkPersonNum = x.RestrictedWorkPersonNum,
                                           RestrictedWorkLossHour = x.RestrictedWorkLossHour,
                                           MedicalTreatmentPersonNum = x.MedicalTreatmentPersonNum,
                                           MedicalTreatmentLossHour = x.MedicalTreatmentLossHour,
                                           FireNum = x.FireNum,
                                           ExplosionNum = x.EnvironmenNum,
                                           TrafficNum = x.TrafficNum,
                                           EquipmentNum = x.EquipmentNum,
                                           QualityNum = x.QualityNum,
                                           OtherNum = x.OtherNum,
                                           FirstAidDressingsNum = x.FirstAidDressingsNum,
                                           AttemptedEventNum = x.AttemptedEventNum,
                                           LossDayNum = x.LossDayNum,
                                       };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_MillionsMonthlyReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiMillionsMonthlyReport(upReport, upReportItem).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.MillionsMonthlyReportId))
                        {
                            var report = db.Information_MillionsMonthlyReport.FirstOrDefault(e => e.MillionsMonthlyReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.MillionsMonthlyReportMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_1, report.Year.ToString(), report.Month.ToString());
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【企业安全数据统计月报】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【企业安全数据统计月报】上传到服务器失败;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【企业安全数据统计月报】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【企业安全数据统计月报】上传到服务器失败;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiMillionsMonthlyReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiMillionsMonthlyReport(IQueryable<Information_MillionsMonthlyReport> upReport, IQueryable<Information_MillionsMonthlyReportItem> upReportItem)
        {
            string baseurl = "/api/InformationData/SaveMillionsMonthlyReport";
            //合并
            //var resultJson = JsonConvert.SerializeObject(new { upReport, ReportItem = upReportItem });
            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var resultJsonReportItem = JsonConvert.SerializeObject(new { MillionsMonthlyReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + (resultJsonReport + resultJsonReportItem).Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 职工伤亡事故原因分析报表上报
        /// <summary>
        /// 职工伤亡事故原因分析报表上报
        /// </summary>
        public static string UpAccidentCauseReport(string accidentCauseReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {
                    var upReport = from x in db.Information_AccidentCauseReport
                                   where x.AccidentCauseReportId == accidentCauseReportId
                                   select new Information_AccidentCauseReport
                                   {
                                       AccidentCauseReportId = x.AccidentCauseReportId,
                                       UnitId = x.UnitId,
                                       AccidentCauseReportCode = x.AccidentCauseReportCode,
                                       Year = x.Year,
                                       Month = x.Month,
                                       DeathAccident = x.DeathAccident,
                                       DeathToll = x.DeathToll,
                                       InjuredAccident = x.InjuredAccident,
                                       InjuredToll = x.InjuredToll,
                                       MinorWoundAccident = x.MinorWoundAccident,
                                       MinorWoundToll = x.MinorWoundToll,
                                       AverageTotalHours = x.AverageTotalHours,
                                       AverageManHours = x.AverageManHours,
                                       TotalLossMan = x.TotalLossMan,
                                       LastMonthLossHoursTotal = x.LastMonthLossHoursTotal,
                                       KnockOffTotal = x.KnockOffTotal,
                                       DirectLoss = x.DirectLoss,
                                       IndirectLosses = x.IndirectLosses,
                                       TotalLoss = x.TotalLoss,
                                       TotalLossTime = x.TotalLossTime,
                                       FillCompanyPersonCharge = x.FillCompanyPersonCharge,
                                       TabPeople = x.TabPeople,
                                       AuditPerson = x.AuditPerson,
                                       FillingDate = x.FillingDate,
                                   };

                    var upReportItem = from x in db.Information_AccidentCauseReportItem
                                       where x.AccidentCauseReportId == accidentCauseReportId
                                       select new Information_AccidentCauseReportItem
                                       {
                                           AccidentCauseReportItemId = x.AccidentCauseReportItemId,
                                           AccidentCauseReportId = x.AccidentCauseReportId,
                                           AccidentType = x.AccidentType,
                                           TotalDeath = x.TotalDeath,
                                           TotalInjuries = x.TotalInjuries,
                                           TotalMinorInjuries = x.TotalMinorInjuries,
                                           Death1 = x.Death1,
                                           Injuries1 = x.Injuries1,
                                           MinorInjuries1 = x.MinorInjuries1,
                                           Death2 = x.Death2,
                                           Injuries2 = x.Injuries2,
                                           MinorInjuries2 = x.MinorInjuries2,
                                           Death3 = x.Death3,
                                           Injuries3 = x.Injuries3,
                                           MinorInjuries3 = x.MinorInjuries3,
                                           Death4 = x.Death4,
                                           Injuries4 = x.Injuries4,
                                           MinorInjuries4 = x.MinorInjuries4,
                                           Death5 = x.Death5,
                                           Injuries5 = x.Injuries5,
                                           MinorInjuries5 = x.MinorInjuries5,
                                           Death6 = x.Death6,
                                           Injuries6 = x.Injuries6,
                                           MinorInjuries6 = x.MinorInjuries6,
                                           Death7 = x.Death7,
                                           Injuries7 = x.Injuries7,
                                           MinorInjuries7 = x.MinorInjuries7,
                                           Death8 = x.Death8,
                                           Injuries8 = x.Injuries8,
                                           MinorInjuries8 = x.MinorInjuries8,
                                           Death9 = x.Death9,
                                           Injuries9 = x.Injuries9,
                                           MinorInjuries9 = x.MinorInjuries9,
                                           Death10 = x.Death10,
                                           Injuries10 = x.Injuries10,
                                           MinorInjuries10 = x.MinorInjuries10,
                                           Death11 = x.Death11,
                                           Injuries11 = x.Injuries11,
                                           MinorInjuries11 = x.MinorInjuries11,
                                       };
                    //老接口Serveice
                    // var getR = hsseC.DataInsertInformation_AccidentCauseReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiAccidentCauseReport(upReport, upReportItem).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.AccidentCauseReportId))
                        {
                            var report = db.Information_AccidentCauseReport.FirstOrDefault(e => e.AccidentCauseReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.MillionsMonthlyReportMenuId, item, string.Empty);
                                ////更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_2, report.Year.ToString(), report.Month.ToString());
                            }
                        }

                        LogService.AddSys_Log(CurrUser, "【职工伤亡事故原因分析报表】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【职工伤亡事故原因分析报表】上传到服务器失败;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【职工伤亡事故原因分析报表】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【职工伤亡事故原因分析报表】上传到服务器失败;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                }

                return code;
            }
        }
        /// <summary>
        /// AccidentCauseReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiAccidentCauseReport(IQueryable<Information_AccidentCauseReport> upReport, IQueryable<Information_AccidentCauseReportItem> upReportItem)
        {
            string baseurl = "/api/InformationData/SaveAccidentCauseReport";
            //合并
            //var resultJson = JsonConvert.SerializeObject(new { upReport, ReportItem = upReportItem });
            var resultJson = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var resultJson1 = JsonConvert.SerializeObject(new { AccidentCauseReportItem = upReportItem });
            resultJson = "{\"InformationDataItems\":[" + (resultJson + resultJson1).Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJson, baseurl);

            return responeData.code;
        }
        #endregion

        #region 安全生产数据季报上报
        /// <summary>
        /// 安全生产数据季报上报
        /// </summary>
        public static string UpSafetyQuarterlyReport(string safetyQuarterlyReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {
                    // 
                    var upReport = from x in db.Information_SafetyQuarterlyReport
                                   where x.SafetyQuarterlyReportId == safetyQuarterlyReportId
                                   select new Information_SafetyQuarterlyReport
                                   {
                                       SafetyQuarterlyReportId = x.SafetyQuarterlyReportId,
                                       UnitId = x.UnitId,
                                       YearId = x.YearId,
                                       Quarters = x.Quarters,
                                       TotalInWorkHours = x.TotalInWorkHours,
                                       TotalInWorkHoursRemark = x.TotalInWorkHoursRemark,
                                       TotalOutWorkHours = x.TotalOutWorkHours,
                                       TotalOutWorkHoursRemark = x.TotalOutWorkHoursRemark,
                                       WorkHoursLossRate = x.WorkHoursLossRate,
                                       WorkHoursLossRateRemark = x.WorkHoursLossRateRemark,
                                       WorkHoursAccuracy = x.WorkHoursAccuracy,
                                       WorkHoursAccuracyRemark = x.WorkHoursAccuracyRemark,
                                       MainBusinessIncome = x.MainBusinessIncome,
                                       MainBusinessIncomeRemark = x.MainBusinessIncomeRemark,
                                       FillingDate = x.FillingDate,
                                       ConstructionRevenue = x.ConstructionRevenue,
                                       ConstructionRevenueRemark = x.ConstructionRevenueRemark,
                                       UnitTimeIncome = x.UnitTimeIncome,
                                       UnitTimeIncomeRemark = x.UnitTimeIncomeRemark,
                                       BillionsOutputMortality = x.BillionsOutputMortality,
                                       BillionsOutputMortalityRemark = x.BillionsOutputMortalityRemark,
                                       MajorFireAccident = x.MajorFireAccident,
                                       MajorFireAccidentRemark = x.MajorFireAccidentRemark,
                                       MajorEquipAccident = x.MajorEquipAccident,
                                       MajorEquipAccidentRemark = x.MajorEquipAccidentRemark,
                                       AccidentFrequency = x.AccidentFrequency,
                                       AccidentFrequencyRemark = x.AccidentFrequencyRemark,
                                       SeriousInjuryAccident = x.SeriousInjuryAccident,
                                       SeriousInjuryAccidentRemark = x.SeriousInjuryAccidentRemark,
                                       FireAccident = x.FireAccident,
                                       FireAccidentRemark = x.FireAccidentRemark,
                                       EquipmentAccident = x.EquipmentAccident,
                                       EquipmentAccidentRemark = x.EquipmentAccidentRemark,
                                       PoisoningAndInjuries = x.PoisoningAndInjuries,
                                       PoisoningAndInjuriesRemark = x.PoisoningAndInjuriesRemark,
                                       ProductionSafetyInTotal = x.ProductionSafetyInTotal,
                                       ProductionSafetyInTotalRemark = x.ProductionSafetyInTotalRemark,
                                       ProtectionInput = x.ProtectionInput,
                                       ProtectionInputRemark = x.ProtectionInputRemark,
                                       LaboAndHealthIn = x.LaboAndHealthIn,
                                       LaborAndHealthInRemark = x.LaborAndHealthInRemark,
                                       TechnologyProgressIn = x.TechnologyProgressIn,
                                       TechnologyProgressInRemark = x.TechnologyProgressInRemark,
                                       EducationTrainIn = x.EducationTrainIn,
                                       EducationTrainInRemark = x.EducationTrainInRemark,
                                       ProjectCostRate = x.ProjectCostRate,
                                       ProjectCostRateRemark = x.ProjectCostRateRemark,
                                       ProductionInput = x.ProductionInput,
                                       ProductionInputRemark = x.ProductionInputRemark,
                                       Revenue = x.Revenue,
                                       RevenueRemark = x.RevenueRemark,
                                       FullTimeMan = x.FullTimeMan,
                                       FullTimeManRemark = x.FullTimeManRemark,
                                       FullTimeManAttachUrl = x.FullTimeManAttachUrl,
                                       PMMan = x.PMMan,
                                       PMManRemark = x.PMManRemark,
                                       PMManAttachUrl = x.PMManAttachUrl,
                                       CorporateDirectorEdu = x.CorporateDirectorEdu,
                                       CorporateDirectorEduRemark = x.CorporateDirectorEduRemark,
                                       ProjectLeaderEdu = x.ProjectLeaderEdu,
                                       ProjectLeaderEduRemark = x.ProjectLeaderEduRemark,
                                       FullTimeEdu = x.FullTimeEdu,
                                       FullTimeEduRemark = x.FullTimeEduRemark,
                                       ThreeKidsEduRate = x.ThreeKidsEduRate,
                                       ThreeKidsEduRateRemark = x.ThreeKidsEduRateRemark,
                                       UplinReportRate = x.UplinReportRate,
                                       UplinReportRateRemark = x.UplinReportRateRemark,
                                       Remarks = x.Remarks,
                                       CompileMan = x.CompileMan,
                                       ////附件转为字节传送
                                       //FullTimeManAttachUrlFileContext = FileStructService.GetFileStructByAttachUrl(x.FullTimeManAttachUrl),
                                       // PMManAttachUrlFileContext = FileStructService.GetFileStructByAttachUrl(x.PMManAttachUrl),
                                       KeyEquipmentTotal = x.KeyEquipmentTotal,
                                       KeyEquipmentTotalRemark = x.KeyEquipmentTotalRemark,
                                       KeyEquipmentReportCount = x.KeyEquipmentReportCount,
                                       KeyEquipmentReportCountRemark = x.KeyEquipmentReportCountRemark,
                                       ChemicalAreaProjectCount = x.ChemicalAreaProjectCount,
                                       ChemicalAreaProjectCountRemark = x.ChemicalAreaProjectCountRemark,
                                       HarmfulMediumCoverCount = x.HarmfulMediumCoverCount,
                                       HarmfulMediumCoverCountRemark = x.HarmfulMediumCoverCountRemark,
                                       HarmfulMediumCoverRate = x.HarmfulMediumCoverRate,
                                       HarmfulMediumCoverRateRemark = x.HarmfulMediumCoverRateRemark
                                   };
                    //老接口Serveice
                    // var getR = hsseC.DataInsertInformation_SafetyQuarterlyReportTable(upReport.ToList());
                    //新接口Api
                    string FullTimeManAttachUrl = string.Empty;
                    string PMManAttachUrl = string.Empty;
                    string physicalpath = Funs.RootPath;
                    FullTimeManAttachUrl = physicalpath + upReport.FirstOrDefault().FullTimeManAttachUrl;
                    PMManAttachUrl = physicalpath + upReport.FirstOrDefault().PMManAttachUrl;
                    FullTimeManAttachUrl = UploadFile(FullTimeManAttachUrl);
                    PMManAttachUrl = UploadFile(PMManAttachUrl);
                    upReport = from x in upReport
                               select new Information_SafetyQuarterlyReport
                               {
                                   SafetyQuarterlyReportId = x.SafetyQuarterlyReportId,
                                   UnitId = x.UnitId,
                                   YearId = x.YearId,
                                   Quarters = x.Quarters,
                                   TotalInWorkHours = x.TotalInWorkHours,
                                   TotalInWorkHoursRemark = x.TotalInWorkHoursRemark,
                                   TotalOutWorkHours = x.TotalOutWorkHours,
                                   TotalOutWorkHoursRemark = x.TotalOutWorkHoursRemark,
                                   WorkHoursLossRate = x.WorkHoursLossRate,
                                   WorkHoursLossRateRemark = x.WorkHoursLossRateRemark,
                                   WorkHoursAccuracy = x.WorkHoursAccuracy,
                                   WorkHoursAccuracyRemark = x.WorkHoursAccuracyRemark,
                                   MainBusinessIncome = x.MainBusinessIncome,
                                   MainBusinessIncomeRemark = x.MainBusinessIncomeRemark,
                                   FillingDate = x.FillingDate,
                                   ConstructionRevenue = x.ConstructionRevenue,
                                   ConstructionRevenueRemark = x.ConstructionRevenueRemark,
                                   UnitTimeIncome = x.UnitTimeIncome,
                                   UnitTimeIncomeRemark = x.UnitTimeIncomeRemark,
                                   BillionsOutputMortality = x.BillionsOutputMortality,
                                   BillionsOutputMortalityRemark = x.BillionsOutputMortalityRemark,
                                   MajorFireAccident = x.MajorFireAccident,
                                   MajorFireAccidentRemark = x.MajorFireAccidentRemark,
                                   MajorEquipAccident = x.MajorEquipAccident,
                                   MajorEquipAccidentRemark = x.MajorEquipAccidentRemark,
                                   AccidentFrequency = x.AccidentFrequency,
                                   AccidentFrequencyRemark = x.AccidentFrequencyRemark,
                                   SeriousInjuryAccident = x.SeriousInjuryAccident,
                                   SeriousInjuryAccidentRemark = x.SeriousInjuryAccidentRemark,
                                   FireAccident = x.FireAccident,
                                   FireAccidentRemark = x.FireAccidentRemark,
                                   EquipmentAccident = x.EquipmentAccident,
                                   EquipmentAccidentRemark = x.EquipmentAccidentRemark,
                                   PoisoningAndInjuries = x.PoisoningAndInjuries,
                                   PoisoningAndInjuriesRemark = x.PoisoningAndInjuriesRemark,
                                   ProductionSafetyInTotal = x.ProductionSafetyInTotal,
                                   ProductionSafetyInTotalRemark = x.ProductionSafetyInTotalRemark,
                                   ProtectionInput = x.ProtectionInput,
                                   ProtectionInputRemark = x.ProtectionInputRemark,
                                   LaboAndHealthIn = x.LaboAndHealthIn,
                                   LaborAndHealthInRemark = x.LaborAndHealthInRemark,
                                   TechnologyProgressIn = x.TechnologyProgressIn,
                                   TechnologyProgressInRemark = x.TechnologyProgressInRemark,
                                   EducationTrainIn = x.EducationTrainIn,
                                   EducationTrainInRemark = x.EducationTrainInRemark,
                                   ProjectCostRate = x.ProjectCostRate,
                                   ProjectCostRateRemark = x.ProjectCostRateRemark,
                                   ProductionInput = x.ProductionInput,
                                   ProductionInputRemark = x.ProductionInputRemark,
                                   Revenue = x.Revenue,
                                   RevenueRemark = x.RevenueRemark,
                                   FullTimeMan = x.FullTimeMan,
                                   FullTimeManRemark = x.FullTimeManRemark,
                                   FullTimeManAttachUrl = FullTimeManAttachUrl,
                                   PMMan = x.PMMan,
                                   PMManRemark = x.PMManRemark,
                                   PMManAttachUrl = PMManAttachUrl,
                                   CorporateDirectorEdu = x.CorporateDirectorEdu,
                                   CorporateDirectorEduRemark = x.CorporateDirectorEduRemark,
                                   ProjectLeaderEdu = x.ProjectLeaderEdu,
                                   ProjectLeaderEduRemark = x.ProjectLeaderEduRemark,
                                   FullTimeEdu = x.FullTimeEdu,
                                   FullTimeEduRemark = x.FullTimeEduRemark,
                                   ThreeKidsEduRate = x.ThreeKidsEduRate,
                                   ThreeKidsEduRateRemark = x.ThreeKidsEduRateRemark,
                                   UplinReportRate = x.UplinReportRate,
                                   UplinReportRateRemark = x.UplinReportRateRemark,
                                   Remarks = x.Remarks,
                                   CompileMan = x.CompileMan,
                                   KeyEquipmentTotal = x.KeyEquipmentTotal,
                                   KeyEquipmentTotalRemark = x.KeyEquipmentTotalRemark,
                                   KeyEquipmentReportCount = x.KeyEquipmentReportCount,
                                   KeyEquipmentReportCountRemark = x.KeyEquipmentReportCountRemark,
                                   ChemicalAreaProjectCount = x.ChemicalAreaProjectCount,
                                   ChemicalAreaProjectCountRemark = x.ChemicalAreaProjectCountRemark,
                                   HarmfulMediumCoverCount = x.HarmfulMediumCoverCount,
                                   HarmfulMediumCoverCountRemark = x.HarmfulMediumCoverCountRemark,
                                   HarmfulMediumCoverRate = x.HarmfulMediumCoverRate,
                                   HarmfulMediumCoverRateRemark = x.HarmfulMediumCoverRateRemark
                               };
                    code = UpApiSaveSafetyQuarterlyReport(upReport).ToString();


                    ; LogService.AddSys_Log(CurrUser, "【安全生产数据季报上报】上传", code, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.SafetyQuarterlyReportId))
                        {
                            var report = db.Information_SafetyQuarterlyReport.FirstOrDefault(e => e.SafetyQuarterlyReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.MillionsMonthlyReportMenuId, item, string.Empty);
                                ////更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_3, report.YearId.ToString(), report.Quarters.ToString());
                            }
                        };
                        LogService.AddSys_Log(CurrUser, "【安全生产数据季报上报】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);

                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【安全生产数据季报上报】上传到服务器失败;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【安全生产数据季报上报】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【安全生产数据季报上报】上传到服务器失败err;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// DrillConductedQuarterlyReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiSaveSafetyQuarterlyReport(IQueryable<Information_SafetyQuarterlyReport> upReport)
        {
            string baseurl = "/api/InformationData/SaveSafetyQuarterlyReport";
            var resultJson = JsonConvert.SerializeObject(new { InformationDataItems = upReport });
            APICommonService.SaveSysHttpLog("api_In", baseurl, resultJson);
            var responeData = BLL.ServerService.PushCNCEC(resultJson, baseurl);

            return responeData.code;
        }
        #endregion

        #region 应急演练开展情况季报表上报
        /// <summary>
        /// 应急演练开展情况季报表上报
        /// </summary>
        public static string UpDrillConductedQuarterlyReport(string drillConductedQuarterlyReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {
                    var upReport = from x in db.Information_DrillConductedQuarterlyReport
                                   where x.DrillConductedQuarterlyReportId == drillConductedQuarterlyReportId
                                   select new Information_DrillConductedQuarterlyReport
                                   {
                                       DrillConductedQuarterlyReportId = x.DrillConductedQuarterlyReportId,
                                       UnitId = x.UnitId,
                                       ReportDate = x.ReportDate,
                                       Quarter = x.Quarter,
                                       YearId = x.YearId,
                                       CompileMan = x.CompileMan,
                                   };

                    var upReportItem = from x in db.Information_DrillConductedQuarterlyReportItem
                                       where x.DrillConductedQuarterlyReportId == drillConductedQuarterlyReportId
                                       select new Information_DrillConductedQuarterlyReportItem
                                       {
                                           DrillConductedQuarterlyReportItemId = x.DrillConductedQuarterlyReportItemId,
                                           DrillConductedQuarterlyReportId = x.DrillConductedQuarterlyReportId,
                                           IndustryType = x.IndustryType,
                                           TotalConductCount = x.TotalConductCount,
                                           TotalPeopleCount = x.TotalPeopleCount,
                                           TotalInvestment = x.TotalInvestment,
                                           HQConductCount = x.HQConductCount,
                                           HQPeopleCount = x.HQPeopleCount,
                                           HQInvestment = x.HQInvestment,
                                           BasicConductCount = x.BasicConductCount,
                                           BasicPeopleCount = x.BasicPeopleCount,
                                           BasicInvestment = x.BasicInvestment,
                                           ComprehensivePractice = x.ComprehensivePractice,
                                           CPScene = x.CPScene,
                                           CPDesktop = x.CPDesktop,
                                           SpecialDrill = x.SpecialDrill,
                                           SDScene = x.SDScene,
                                           SDDesktop = x.SDDesktop,
                                           SortIndex = x.SortIndex,
                                       };
                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_DrillConductedQuarterlyReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiSaveDrillConductedQuarterlyReport(upReport, upReportItem).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.DrillConductedQuarterlyReportId))
                        {
                            var report = db.Information_DrillConductedQuarterlyReport.FirstOrDefault(e => e.DrillConductedQuarterlyReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.MillionsMonthlyReportMenuId, item, string.Empty);
                                ////更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_4, report.YearId.ToString(), report.Quarter.ToString());
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【应急演练开展情况季报表上报】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【应急演练开展情况季报表上报】上传到服务器失败;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【应急演练开展情况季报表上报】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【应急演练开展情况季报表上报】上传到服务器失败;", null, BLL.Const.MillionsMonthlyReportMenuId, BLL.Const.BtnUploadResources);
                }

                return code;
            }
        }
        /// <summary>
        /// DrillConductedQuarterlyReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiSaveDrillConductedQuarterlyReport(IQueryable<Information_DrillConductedQuarterlyReport> upReport, IQueryable<Information_DrillConductedQuarterlyReportItem> upReportItem)
        {
            string baseurl = "/api/InformationData/SaveDrillConductedQuarterlyReport";
            //合并
            //var resultJson = JsonConvert.SerializeObject(new { upReport, ReportItem = upReportItem });
            var resultJson = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var resultJson1 = JsonConvert.SerializeObject(new { drillConductedQuarterlyReportItem = upReportItem });
            resultJson = "{\"InformationDataItems\":[" + (resultJson + resultJson1).Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJson, baseurl);
            return responeData.code;
        }
        #endregion

        #region 应急演练工作计划半年报表
        /// <summary>
        /// 应急演练工作计划半年报表
        /// </summary>
        public static string UpDrillPlanHalfYearReport(string drillPlanHalfYearReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {
                    var upReport = from x in db.Information_DrillPlanHalfYearReport
                                   where x.DrillPlanHalfYearReportId == drillPlanHalfYearReportId
                                   select new Information_DrillPlanHalfYearReport
                                   {
                                       DrillPlanHalfYearReportId = x.DrillPlanHalfYearReportId,
                                       UnitId = x.UnitId,
                                       CompileMan = x.CompileMan,
                                       CompileDate = x.CompileDate,
                                       YearId = x.YearId,
                                       HalfYearId = x.HalfYearId,
                                       Telephone = x.Telephone,
                                   };

                    var upReportItem = from x in db.Information_DrillPlanHalfYearReportItem
                                       where x.DrillPlanHalfYearReportId == drillPlanHalfYearReportId
                                       select new Information_DrillPlanHalfYearReportItem
                                       {
                                           DrillPlanHalfYearReportItemId = x.DrillPlanHalfYearReportItemId,
                                           DrillPlanHalfYearReportId = x.DrillPlanHalfYearReportId,
                                           DrillPlanName = x.DrillPlanName,
                                           OrganizationUnit = x.OrganizationUnit,
                                           DrillPlanDate = x.DrillPlanDate,
                                           AccidentScene = x.AccidentScene,
                                           ExerciseWay = x.ExerciseWay,
                                           SortIndex = x.SortIndex,
                                       };
                    //老接口Serveice
                    //  var getR = hsseC.DataInsertInformation_DrillPlanHalfYearReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiDrillPlanHalfYearReport(upReport, upReportItem).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.DrillPlanHalfYearReportId))
                        {
                            var report = db.Information_DrillPlanHalfYearReport.FirstOrDefault(e => e.DrillPlanHalfYearReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.DrillPlanHalfYearReportMenuId, item, string.Empty);
                                ////更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_5, report.YearId.ToString(), report.HalfYearId.ToString());
                            }
                        }

                        LogService.AddSys_Log(CurrUser, "【应急演练工作计划半年报表】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.DrillPlanHalfYearReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【应急演练工作计划半年报表】上传到服务器失败;", null, BLL.Const.DrillPlanHalfYearReportMenuId, BLL.Const.BtnUploadResources);
                    }

                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【应急演练工作计划半年报表】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【应急演练工作计划半年报表】上传到服务器失败;", null, BLL.Const.DrillPlanHalfYearReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// DrillPlanHalfYearReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiDrillPlanHalfYearReport(IQueryable<Information_DrillPlanHalfYearReport> upReport, IQueryable<Information_DrillPlanHalfYearReportItem> upReportItem)
        {
            string baseurl = "/api/InformationData/SaveDrillPlanHalfYearReport";
            //合并
            //var resultJson = JsonConvert.SerializeObject(new { upReport, ReportItem = upReportItem });
            var resultJson = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var resultJson1 = JsonConvert.SerializeObject(new { drillPlanHalfYearReportItem = upReportItem });
            resultJson = "{\"InformationDataItems\":[" + (resultJson + resultJson1).Replace("}{", ",") + "]}";

            var responeData = BLL.ServerService.PushCNCEC(resultJson, baseurl);
            return responeData.code;
        }
        #endregion

        #region 化工行业能源节约与生态环境保护汇总表上报
        /// <summary>
        /// 化工行业能源节约与生态环境保护汇总表上报
        /// </summary>
        public static string UpChemicalReport(string chemicalReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Environmental_ChemicalReport
                                   where x.ChemicalReportId == chemicalReportId
                                   select new Model.ChemicalReport
                                   {
                                       ChemicalReportId = x.ChemicalReportId,
                                       UnitId = x.UnitId,
                                       Year = x.Year,
                                       Month = x.Month,
                                       FillingMan = x.FillingMan,
                                       FillingDate = x.FillingDate,
                                       DutyPerson = x.DutyPerson,

                                   };

                    var upReportItem = from x in db.Environmental_ChemicalReportItem
                                       where x.ChemicalReportId == chemicalReportId
                                       select new Model.ChemicalReportItem
                                       {
                                           ChemicalReportItemId = x.ChemicalReportItemId,
                                           ChemicalReportId = x.ChemicalReportId,
                                           SortIndex = x.SortIndex,
                                           BaseNumber = x.BaseNumber,
                                           LastYearValue = x.LastYearValue,
                                           ThisYearValue = x.ThisYearValue,
                                           Rate = x.Rate,
                                       };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ChemicalReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiChemicalReport(upReport, upReportItem).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.ChemicalReportId))
                        {
                            var report = db.Environmental_ChemicalReport.FirstOrDefault(e => e.ChemicalReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.ChemicalReportMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_1, report.Year.ToString(), report.Month.ToString());
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【化工行业能源节约与生态环境保护汇总表】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.ChemicalReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【化工行业能源节约与生态环境保护汇总表】上传到服务器失败;", null, BLL.Const.ChemicalReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【化工行业能源节约与生态环境保护汇总表】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【化工行业能源节约与生态环境保护汇总表】上传到服务器失败;", null, BLL.Const.ChemicalReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiChemicalReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiChemicalReport(IQueryable<Model.ChemicalReport> upReport, IQueryable<Model.ChemicalReportItem> upReportItem)
        {
            string baseurl = "/api/InformationData/SaveChemicalReport";
            //合并
            //var resultJson = JsonConvert.SerializeObject(new { upReport, ReportItem = upReportItem });
            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var resultJsonReportItem = JsonConvert.SerializeObject(new { ChemicalReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + (resultJsonReport + resultJsonReportItem).Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 中央企业环保产业企业基本情况和经营情况汇总表

        public static string UpOperationReport(string businessReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {
                    var upReport = from x in db.Environmental_OperationReport
                                   where x.BusinessReportId == businessReportId
                                   select new Model.OperationReportDto
                                   {
                                       BusinessReportId = x.BusinessReportId,
                                       UnitId = x.UnitId,
                                       Year = x.Year,
                                       Quarters = x.Quarters,
                                       Code = x.Code,
                                       UnitLevel = x.UnitLevel,
                                       CreateDate = x.CreateDate,
                                       Place = x.Place,
                                       PersonNum = x.PersonNum,
                                       TotalAssets = x.TotalAssets,
                                       TotalValue = x.TotalValue,
                                       NewInvestment = x.NewInvestment,
                                       FillingMan = x.FillingMan,
                                       FillingDate = x.FillingDate,
                                       StatisticsDutyPerson = x.StatisticsDutyPerson,
                                       UnitDutyPerson = x.UnitDutyPerson,
                                       Remark = x.Remark
                                   };

                    //新接口Api
                    code = UpApiOperationReport(upReport).ToString();
                    if (code == "1")
                    {
                        var report = db.Environmental_OperationReport.FirstOrDefault(e => e.BusinessReportId == businessReportId);
                        if (report != null)
                        {
                            report.UpState = BLL.Const.UpState_3;
                            db.SubmitChanges();
                        }
                        LogService.AddSys_Log(CurrUser, "【中央企业环保产业企业基本情况和经营情况汇总表】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.OperationReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【中央企业环保产业企业基本情况和经营情况汇总表】上传到服务器失败;", null, BLL.Const.OperationReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【中央企业环保产业企业基本情况和经营情况汇总表】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【中央企业环保产业企业基本情况和经营情况汇总表】上传到服务器失败;", null, BLL.Const.OperationReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }

        }

        private static int UpApiOperationReport(IQueryable<Model.OperationReportDto> upReport)
        {
            string baseurl = "/api/InformationData/SaveOperationReport";
            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }


        #endregion

        #region 中央企业节能环保产业企业生产和服务业务情况报表上报
        /// <summary>
        /// 中央企业节能环保产业企业生产和服务业务情况报表上报
        /// </summary>
        public static string UpEnergyReport(string energyReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Environmental_EnergyReport
                                   where x.EnergyReportId == energyReportId
                                   select new Model.EnergyReport
                                   {
                                       EnergyReportId = x.EnergyReportId,
                                       UnitId = x.UnitId,
                                       Year = x.Year,
                                       Quarters = x.Quarters,
                                       FillingMan = x.FillingMan,
                                       FillingDate = x.FillingDate,
                                       DutyPerson = x.DutyPerson,

                                   };

                    var upReportItem = from x in db.Environmental_EnergyReportItem
                                       where x.EnergyReportId == energyReportId
                                       select new Model.EnergyReportItem
                                       {
                                           EnergyReportItemId = x.EnergyReportItemId,
                                           EnergyReportId = x.EnergyReportId,
                                           SortIndex = x.SortIndex,
                                           BusinessCategory = x.BusinessCategory,
                                           Throughput_BasePeriod = x.Throughput_BasePeriod,
                                           Throughput_LastPeriod = x.Throughput_LastPeriod,
                                           Throughput_ThisPeriod = x.Throughput_ThisPeriod,
                                           Throughput_UnitOfMeasurement = x.Throughput_UnitOfMeasurement,
                                           Yield_BasePeriod = x.Yield_BasePeriod,
                                           Yield_LastPeriod = x.Yield_LastPeriod,
                                           Yield_ThisPeriod = x.Yield_ThisPeriod,
                                           Yield_UnitOfMeasurement = x.Yield_UnitOfMeasurement,
                                           OutputValue_BasePeriod = x.OutputValue_BasePeriod,
                                           OutputValue_LastYear = x.OutputValue_LastYear,
                                           OutputValue_ThisYear = x.OutputValue_ThisYear,
                                           OperationScale_BasePeriod = x.OperationScale_BasePeriod,
                                           OperationScale_LastYear = x.OperationScale_LastYear,
                                           OperationScale_ThisYear = x.OperationScale_ThisYear,
                                           OperationScale_UnitOfMeasurement = x.OperationScale_UnitOfMeasurement,
                                           ServiceOperatingIncome_BasePeriod = x.ServiceOperatingIncome_BasePeriod,
                                           ServiceOperatingIncome_LastYear = x.ServiceOperatingIncome_LastYear,
                                           ServiceOperatingIncome_ThisYear = x.ServiceOperatingIncome_ThisYear,
                                       };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ChemicalReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiEnergyReport(upReport, upReportItem).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.EnergyReportId))
                        {
                            var report = db.Environmental_EnergyReport.FirstOrDefault(e => e.EnergyReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                //ProjectDataFlowSetService.CloseFlowOperate(Const.ChemicalReportMenuId, item, string.Empty);
                                // //更新催报信息 
                                //UrgeReportService.SetComplete(report.UnitId, Const.ReportType_1, report.Year.ToString(), report.Quarters.ToString());
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【中央企业节能环保产业企业生产和服务业务情况报表上报】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.EnergyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【中央企业节能环保产业企业生产和服务业务情况报表上报】上传到服务器失败;", null, BLL.Const.EnergyReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【中央企业节能环保产业企业生产和服务业务情况报表上报】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【中央企业节能环保产业企业生产和服务业务情况报表上报】上传到服务器失败;", null, BLL.Const.EnergyReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiChemicalReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiEnergyReport(IQueryable<Model.EnergyReport> upReport, IQueryable<Model.EnergyReportItem> upReportItem)
        {
            string baseurl = "/api/InformationData/SaveEnergyReport";
            //合并
            //var resultJson = JsonConvert.SerializeObject(new { upReport, ReportItem = upReportItem });
            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var resultJsonReportItem = JsonConvert.SerializeObject(new { EnergyReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + (resultJsonReport + resultJsonReportItem).Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 建筑行业能源节约与生态环境保护汇总表上报
        /// <summary>
        /// 建筑行业能源节约与生态环境保护汇总表上报
        /// </summary>
        public static string UpArchitectureReport(string chemicalReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Environmental_ArchitectureReport
                                   where x.ArchitectureReportId == chemicalReportId
                                   select new Model.ArchitectureReport
                                   {
                                       ArchitectureReportId = x.ArchitectureReportId,
                                       UnitId = x.UnitId,
                                       Year = x.Year,
                                       Quarters = x.Quarters,
                                       FillingMan = x.FillingMan,
                                       FillingDate = x.FillingDate,
                                       DutyPerson = x.DutyPerson,

                                   };

                    var upReportItem = from x in db.Environmental_ArchitectureReportItem
                                       where x.ArchitectureReportId == chemicalReportId
                                       select new Model.ArchitectureReportItem
                                       {
                                           ArchitectureReportItemId = x.ArchitectureReportItemId,
                                           ArchitectureReportId = x.ArchitectureReportId,
                                           BaseNumber = x.BaseNumber,
                                           SortIndex = x.SortIndex,
                                           LastYearValue = x.LastYearValue,
                                           ThisYearValue = x.ThisYearValue,
                                           Rate = x.Rate,
                                       };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ArchitectureReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiArchitectureReport(upReport, upReportItem).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.ArchitectureReportId))
                        {
                            var report = db.Environmental_ArchitectureReport.FirstOrDefault(e => e.ArchitectureReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.ArchitectureReportMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_1, report.Year.ToString(), report.Quarters.ToString());
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【建筑行业能源节约与生态环境保护汇总表】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.ArchitectureReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【建筑行业能源节约与生态环境保护汇总表】上传到服务器失败;", null, BLL.Const.ArchitectureReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【建筑行业能源节约与生态环境保护汇总表】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【建筑行业能源节约与生态环境保护汇总表】上传到服务器失败;", null, BLL.Const.ArchitectureReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiArchitectureReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <param name="upReportItem">明细表</param>
        /// <returns></returns>
        private static int UpApiArchitectureReport(IQueryable<Model.ArchitectureReport> upReport, IQueryable<Model.ArchitectureReportItem> upReportItem)
        {
            string baseurl = "/api/InformationData/SaveArchitectureReport";
            //合并
            //var resultJson = JsonConvert.SerializeObject(new { upReport, ReportItem = upReportItem });
            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            var resultJsonReportItem = JsonConvert.SerializeObject(new { ArchitectureReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + (resultJsonReport + resultJsonReportItem).Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 安全管理工作总结报告
        /// <summary>
        /// 安全管理工作总结报告
        /// </summary>
        /// <param name="workSummaryReportId"></param>
        /// <param name="CurrUser"></param>
        /// <returns></returns>
        public static string UpWorkSummaryReport(string workSummaryReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Information_WorkSummaryReport
                                   where x.WorkSummaryReportId == workSummaryReportId
                                   select new Model.WorkSummaryReport
                                   {
                                       WorkSummaryReportId = x.WorkSummaryReportId,
                                       UnitId = x.UnitId,
                                       YearId = x.YearId,
                                       ResponsiblePerson = x.ResponsiblePerson,
                                       ResponsiblePersonTel = x.ResponsiblePersonTel,
                                       ContactPerson = x.ContactPerson,
                                       ContactPersonTel = x.ContactPersonTel,
                                       ReportDate = x.ReportDate,
                                       SafeLaborTime = x.SafeLaborTime,
                                       SafetyObjectives = x.SafetyObjectives,
                                       AccidentSituation = x.AccidentSituation,
                                       Awards = x.Awards,
                                       WorkDevelopment = x.WorkDevelopment,
                                       PersonnelTraining = x.PersonnelTraining,
                                       GovernanceSituation = x.GovernanceSituation,
                                       ManagementActivity = x.ManagementActivity,
                                       WorkExperience = x.WorkExperience,
                                       Countermeasures = x.Countermeasures,
                                       NextYearWorkPlan = x.NextYearWorkPlan,
                                       JobSuggestion = x.JobSuggestion
                                   };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ChemicalReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiWorkSummaryReport(upReport).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.WorkSummaryReportId))
                        {
                            var report = db.Information_WorkSummaryReport.FirstOrDefault(e => e.WorkSummaryReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.WorkSummaryReportMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_6, report.YearId.ToString(), string.Empty);
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【安全管理工作总结报告】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.WorkSummaryReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【安全管理工作总结报告】上传到服务器失败;", null, BLL.Const.WorkSummaryReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【安全管理工作总结报告】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【安全管理工作总结报告】上传到服务器失败;", null, BLL.Const.WorkSummaryReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiWorkSummaryReportApi调用
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <returns></returns>
        private static int UpApiWorkSummaryReport(IQueryable<Model.WorkSummaryReport> upReport)
        {
            string baseurl = "/api/InformationData/SaveWorkSummaryReport";

            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            //var resultJsonReportItem = JsonConvert.SerializeObject(new { ChemicalReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + resultJsonReport.Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 质量管理工作总结报告
        /// <summary>
        /// 质量管理工作总结报告
        /// </summary>
        /// <param name="qualityWorkSummaryReportId"></param>
        /// <param name="CurrUser"></param>
        /// <returns></returns>
        public static string UpQualityWorkSummaryReport(string qualityWorkSummaryReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Information_QualityWorkSummaryReport
                                   where x.QualityWorkSummaryReportId == qualityWorkSummaryReportId
                                   select new Model.QualityWorkSummaryReport
                                   {
                                       QualityWorkSummaryReportId = x.QualityWorkSummaryReportId,
                                       UnitId = x.UnitId,
                                       YearId = x.YearId,
                                       ResponsiblePerson = x.ResponsiblePerson,
                                       ResponsiblePersonTel = x.ResponsiblePersonTel,
                                       ContactPerson = x.ContactPerson,
                                       ContactPersonTel = x.ContactPersonTel,
                                       ReportDate = x.ReportDate,
                                       Performance = x.Performance,
                                       AccidentSituation = x.AccidentSituation,
                                       Awards = x.Awards,
                                       WorkDevelopment = x.WorkDevelopment,
                                       PersonnelTraining = x.PersonnelTraining,
                                       CheckSituation = x.CheckSituation,
                                       ManagementActivity = x.ManagementActivity,
                                       WorkExperience = x.WorkExperience,
                                       Countermeasures = x.Countermeasures,
                                       NextYearWorkPlan = x.NextYearWorkPlan,
                                       JobSuggestion = x.JobSuggestion
                                   };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ChemicalReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiQualityWorkSummaryReport(upReport).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.QualityWorkSummaryReportId))
                        {
                            var report = db.Information_QualityWorkSummaryReport.FirstOrDefault(e => e.QualityWorkSummaryReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.QualityWorkSummaryReportMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_7, report.YearId.ToString(), string.Empty);
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【质量管理工作总结报告】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.QualityWorkSummaryReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【质量管理工作总结报告】上传到服务器失败;", null, BLL.Const.QualityWorkSummaryReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【质量管理工作总结报告】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【质量管理工作总结报告】上传到服务器失败;", null, BLL.Const.QualityWorkSummaryReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiQualityWorkSummaryReport
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <returns></returns>
        private static int UpApiQualityWorkSummaryReport(IQueryable<Model.QualityWorkSummaryReport> upReport)
        {
            string baseurl = "/api/InformationData/SaveQualityWorkSummaryReport";

            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            //var resultJsonReportItem = JsonConvert.SerializeObject(new { ChemicalReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + resultJsonReport.Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 实业安全简报
        /// <summary>
        /// 实业安全简报
        /// </summary>
        /// <param name="safetyBriefingId"></param>
        /// <param name="CurrUser"></param>
        /// <returns></returns>
        public static string UpSafetyBriefing(string safetyBriefingId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Information_SafetyBriefing
                                   where x.SafetyBriefingId == safetyBriefingId
                                   select new Model.SafetyBriefing
                                   {
                                       SafetyBriefingId = x.SafetyBriefingId,
                                       UnitId = x.UnitId,
                                       YearId = x.YearId,
                                       Month = x.Month,
                                       CompileMan = BLL.UserService.GetUserNameByUserId(x.CompileMan),
                                       CompileDate = x.CompileDate,
                                       Auditor = x.Auditor,
                                       Approver = x.Approver,
                                       MainWork = x.MainWork,
                                       HazardRecording = x.HazardRecording,
                                       SafetyAccident = x.SafetyAccident,
                                       EPAccident = x.EPAccident,
                                       OHAccident = x.OHAccident,
                                       WorkPermitNum = x.WorkPermitNum,
                                       HiddenDangerDetection = x.HiddenDangerDetection,
                                       RectificationSituation = x.RectificationSituation,
                                       CheckProblemsRectification = x.CheckProblemsRectification,
                                       PendingProject = x.PendingProject,
                                       ContractorManagement = x.ContractorManagement,
                                       EnvironmentalEmissions = x.EnvironmentalEmissions,
                                       NextMonthWorkPlan = x.NextMonthWorkPlan
                                   };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ChemicalReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiSafetyBriefing(upReport).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.SafetyBriefingId))
                        {
                            var report = db.Information_SafetyBriefing.FirstOrDefault(e => e.SafetyBriefingId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.SafetyBriefingMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_7, report.YearId.ToString(), report.Month.ToString());
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【实业安全简报】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.SafetyBriefingMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【实业安全简报】上传到服务器失败;", null, BLL.Const.SafetyBriefingMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【实业安全简报】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【实业安全简报】上传到服务器失败;", null, BLL.Const.SafetyBriefingMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiSafetyBriefing
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <returns></returns>
        private static int UpApiSafetyBriefing(IQueryable<Model.SafetyBriefing> upReport)
        {
            string baseurl = "/api/InformationData/SaveSafetyBriefing";

            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            //var resultJsonReportItem = JsonConvert.SerializeObject(new { ChemicalReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + resultJsonReport.Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 季度工程项目质量信息表
        /// <summary>
        /// 季度工程项目质量信息表
        /// </summary>
        /// <param name="quarterlyProjectQualityId"></param>
        /// <param name="CurrUser"></param>
        /// <returns></returns>
        public static string UpQuarterlyProjectQuality(string quarterlyProjectQualityId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Information_QuarterlyProjectQuality
                                   where x.QuarterlyProjectQualityId == quarterlyProjectQualityId
                                   select new Model.QuarterlyProjectQuality
                                   {
                                       QuarterlyProjectQualityId = x.QuarterlyProjectQualityId,
                                       UnitId = x.UnitId,
                                       Year = x.Year,
                                       Quarter = x.Quarter,
                                       QualityManagePersonNum = x.QualityManagePersonNum,
                                       AdvancedTitlePersonNum = x.AdvancedTitlePersonNum,
                                       IntermediateTitlePersonNum = x.IntermediateTitlePersonNum,
                                       BeImplementedProjectNum = x.BeImplementedProjectNum,
                                       StartImplementedProjectNum = x.StartImplementedProjectNum,
                                       AccumulativeStartImplemented = x.AccumulativeStartImplemented,
                                       CompleteProjectNum = x.CompleteProjectNum,
                                       YearCompleteProjectNum = x.YearCompleteProjectNum,
                                       QuarterTotal = x.QuarterTotal,
                                       QuarterFirstPassNum = x.QuarterFirstPassNum,
                                       QuarterFirstPassRate = x.QuarterFirstPassRate,
                                       YearTotal = x.YearTotal,
                                       YearFirstPassNum = x.YearFirstPassNum,
                                       YearFirstPassRate = x.YearFirstPassRate,
                                       QuaterCheckSuperviseNum = x.QuaterCheckSuperviseNum,
                                       QuaterCorrectiveNoticeNum = x.QuaterCorrectiveNoticeNum,
                                       QuaterQualityProblemNum = x.QuaterQualityProblemNum,
                                       QuaterClosedQualityProblemNum = x.QuaterClosedQualityProblemNum,
                                       YearCheckSuperviseNum = x.YearCheckSuperviseNum,
                                       YearCorrectiveNoticeNum = x.YearCorrectiveNoticeNum,
                                       YearQualityProblemNum = x.YearQualityProblemNum,
                                       YearClosedQualityProblemNum = x.YearClosedQualityProblemNum,
                                       QuaterQualityAccidentNum = x.QuaterQualityAccidentNum,
                                       QuaterDirectEconomicLoss = x.QuaterDirectEconomicLoss,
                                       YearQualityAccidentNum = x.YearQualityAccidentNum,
                                       YearDirectEconomicLoss = x.YearDirectEconomicLoss,
                                       ResponsiblePerson = BLL.UserService.GetUserNameByUserId(x.ResponsiblePerson),
                                       CompileMan = BLL.UserService.GetUserNameByUserId(x.CompileMan),
                                       CompileDate = x.CompileDate,
                                       Tel = x.Tel
                                   };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ChemicalReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiQuarterlyProjectQuality(upReport).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.QuarterlyProjectQualityId))
                        {
                            var report = db.Information_QuarterlyProjectQuality.FirstOrDefault(e => e.QuarterlyProjectQualityId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.QuarterlyProjectQualityMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_9, report.Year.ToString(), report.Quarter.ToString());
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【季度工程项目质量信息表】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.QuarterlyProjectQualityMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【季度工程项目质量信息表】上传到服务器失败;", null, BLL.Const.QuarterlyProjectQualityMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【季度工程项目质量信息表】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【季度工程项目质量信息表】上传到服务器失败;", null, BLL.Const.QuarterlyProjectQualityMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiSafetyBriefing
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <returns></returns>
        private static int UpApiQuarterlyProjectQuality(IQueryable<Model.QuarterlyProjectQuality> upReport)
        {
            string baseurl = "/api/InformationData/SaveQuarterlyProjectQuality";

            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            //var resultJsonReportItem = JsonConvert.SerializeObject(new { ChemicalReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + resultJsonReport.Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #region 生态环保工作总结报告
        /// <summary>
        /// 生态环保工作总结报告
        /// </summary>
        /// <param name="ePSummaryReportId"></param>
        /// <param name="CurrUser"></param>
        /// <returns></returns>
        public static string UpEPSummaryReport(string ePSummaryReportId, Model.Sys_User CurrUser)
        {
            string code = "0";
            using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
            {
                try
                {

                    var upReport = from x in db.Information_EPSummaryReport
                                   where x.EPSummaryReportId == ePSummaryReportId
                                   select new Model.EPSummaryReport
                                   {
                                       EPSummaryReportId = x.EPSummaryReportId,
                                       UnitId = x.UnitId,
                                       YearId = x.YearId,
                                       Quarter = x.Quarter,
                                       ResponsiblePerson = x.ResponsiblePerson,
                                       ResponsiblePersonTel = x.ResponsiblePersonTel,
                                       ContactPerson = x.ContactPerson,
                                       ContactPersonTel = x.ContactPersonTel,
                                       ReportDate = x.ReportDate,
                                       Description1 = x.Description1,
                                       Description2 = x.Description2,
                                       Description3 = x.Description3,
                                       Description4 = x.Description4,
                                       Description5 = x.Description5,
                                       Description6 = x.Description6,
                                       Description7 = x.Description7,
                                       Description8 = x.Description8,
                                       Description9 = x.Description9
                                   };

                    //老接口Serveice
                    //var getR = hsseC.DataInsertInformation_ChemicalReportTable(upReport.ToList(), upReportItem.ToList());
                    //新接口Api
                    code = UpApiEPSummaryReport(upReport).ToString();
                    if (code == "1")
                    {
                        foreach (var item in upReport.Select(p => p.EPSummaryReportId))
                        {
                            var report = db.Information_EPSummaryReport.FirstOrDefault(e => e.EPSummaryReportId == item);
                            if (report != null)
                            {
                                report.UpState = BLL.Const.UpState_3;
                                db.SubmitChanges();
                                ////更新 当前人要处理的意见
                                ProjectDataFlowSetService.CloseFlowOperate(Const.EPSummaryReportMenuId, item, string.Empty);
                                // //更新催报信息 
                                UrgeReportService.SetComplete(report.UnitId, Const.ReportType_10, report.YearId.ToString(), string.Empty);
                            }
                        }
                        LogService.AddSys_Log(CurrUser, "【生态环保工作总结报告】上传到服务器" + upReport.Count().ToString() + "条数据;", null, BLL.Const.EPSummaryReportMenuId, BLL.Const.BtnUploadResources);
                    }
                    else
                    {
                        LogService.AddSys_Log(CurrUser, "【生态环保工作总结报告】上传到服务器失败;", null, BLL.Const.EPSummaryReportMenuId, BLL.Const.BtnUploadResources);
                    }
                }
                catch (Exception ex)
                {
                    ErrLogInfo.WriteLog("【生态环保工作总结报告】上传到服务器", ex);
                    LogService.AddSys_Log(CurrUser, "【生态环保工作总结报告】上传到服务器失败;", null, BLL.Const.EPSummaryReportMenuId, BLL.Const.BtnUploadResources);
                }
                return code;
            }
        }
        /// <summary>
        /// UpApiEPSummaryReport
        /// </summary>
        /// <param name="upReport">主表</param>
        /// <returns></returns>
        private static int UpApiEPSummaryReport(IQueryable<Model.EPSummaryReport> upReport)
        {
            string baseurl = "/api/InformationData/SaveEPSummaryReport";

            var resultJsonReport = JsonConvert.SerializeObject(upReport.FirstOrDefault());
            //var resultJsonReportItem = JsonConvert.SerializeObject(new { ChemicalReportItem = upReportItem });
            resultJsonReport = "{\"InformationDataItems\":[" + resultJsonReport.Replace("}{", ",") + "]}";
            var responeData = BLL.ServerService.PushCNCEC(resultJsonReport, baseurl);
            return responeData.code;
        }
        #endregion

        #endregion


        public partial class Information_MillionsMonthlyReport : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> AccidentMortalityField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> DeathAccidentFrequencyField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DutyPersonField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<System.DateTime> FillingDateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string FillingManField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> LostTimeInjuryRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> LostTimeRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string MillionsMonthlyReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MonthField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> RecordableIncidentRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string UnitIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> YearField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> InputCostsField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TrainNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> GeneralHazardNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MajorHazardNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> NotProofLargeProjectNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ProofLargeProjectNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> FireLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> LimitLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> HighLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> HoistingLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> BreakGroundLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ElectricityLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> RTLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> NightLicenseNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> CommissionerNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SoleDutyNumField;

            [global::System.ComponentModel.BrowsableAttribute(false)]

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SoleDutyNum
            {
                get
                {
                    return this.SoleDutyNumField;
                }
                set
                {
                    if ((this.SoleDutyNumField.Equals(value) != true))
                    {
                        this.SoleDutyNumField = value;
                        this.RaisePropertyChanged("SoleDutyNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> CommissionerNum
            {
                get
                {
                    return this.CommissionerNumField;
                }
                set
                {
                    if ((this.CommissionerNumField.Equals(value) != true))
                    {
                        this.CommissionerNumField = value;
                        this.RaisePropertyChanged("CommissionerNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> NightLicenseNum
            {
                get
                {
                    return this.NightLicenseNumField;
                }
                set
                {
                    if ((this.NightLicenseNumField.Equals(value) != true))
                    {
                        this.NightLicenseNumField = value;
                        this.RaisePropertyChanged("NightLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> RTLicenseNum
            {
                get
                {
                    return this.RTLicenseNumField;
                }
                set
                {
                    if ((this.RTLicenseNumField.Equals(value) != true))
                    {
                        this.RTLicenseNumField = value;
                        this.RaisePropertyChanged("RTLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ElectricityLicenseNum
            {
                get
                {
                    return this.ElectricityLicenseNumField;
                }
                set
                {
                    if ((this.ElectricityLicenseNumField.Equals(value) != true))
                    {
                        this.ElectricityLicenseNumField = value;
                        this.RaisePropertyChanged("ElectricityLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> BreakGroundLicenseNum
            {
                get
                {
                    return this.BreakGroundLicenseNumField;
                }
                set
                {
                    if ((this.BreakGroundLicenseNumField.Equals(value) != true))
                    {
                        this.BreakGroundLicenseNumField = value;
                        this.RaisePropertyChanged("BreakGroundLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> HoistingLicenseNum
            {
                get
                {
                    return this.HoistingLicenseNumField;
                }
                set
                {
                    if ((this.HoistingLicenseNumField.Equals(value) != true))
                    {
                        this.HoistingLicenseNumField = value;
                        this.RaisePropertyChanged("HoistingLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> HighLicenseNum
            {
                get
                {
                    return this.HighLicenseNumField;
                }
                set
                {
                    if ((this.HighLicenseNumField.Equals(value) != true))
                    {
                        this.HighLicenseNumField = value;
                        this.RaisePropertyChanged("HighLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> LimitLicenseNum
            {
                get
                {
                    return this.LimitLicenseNumField;
                }
                set
                {
                    if ((this.LimitLicenseNumField.Equals(value) != true))
                    {
                        this.LimitLicenseNumField = value;
                        this.RaisePropertyChanged("LimitLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> FireLicenseNum
            {
                get
                {
                    return this.FireLicenseNumField;
                }
                set
                {
                    if ((this.FireLicenseNumField.Equals(value) != true))
                    {
                        this.FireLicenseNumField = value;
                        this.RaisePropertyChanged("FireLicenseNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ProofLargeProjectNum
            {
                get
                {
                    return this.ProofLargeProjectNumField;
                }
                set
                {
                    if ((this.ProofLargeProjectNumField.Equals(value) != true))
                    {
                        this.ProofLargeProjectNumField = value;
                        this.RaisePropertyChanged("ProofLargeProjectNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> NotProofLargeProjectNum
            {
                get
                {
                    return this.NotProofLargeProjectNumField;
                }
                set
                {
                    if ((this.NotProofLargeProjectNumField.Equals(value) != true))
                    {
                        this.NotProofLargeProjectNumField = value;
                        this.RaisePropertyChanged("NotProofLargeProjectNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MajorHazardNum
            {
                get
                {
                    return this.MajorHazardNumField;
                }
                set
                {
                    if ((this.MajorHazardNumField.Equals(value) != true))
                    {
                        this.MajorHazardNumField = value;
                        this.RaisePropertyChanged("MajorHazardNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> GeneralHazardNum
            {
                get
                {
                    return this.GeneralHazardNumField;
                }
                set
                {
                    if ((this.GeneralHazardNumField.Equals(value) != true))
                    {
                        this.GeneralHazardNumField = value;
                        this.RaisePropertyChanged("GeneralHazardNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TrainNum
            {
                get
                {
                    return this.TrainNumField;
                }
                set
                {
                    if ((this.TrainNumField.Equals(value) != true))
                    {
                        this.TrainNumField = value;
                        this.RaisePropertyChanged("TrainNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> InputCosts
            {
                get
                {
                    return this.InputCostsField;
                }
                set
                {
                    if ((this.InputCostsField.Equals(value) != true))
                    {
                        this.InputCostsField = value;
                        this.RaisePropertyChanged("InputCosts");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]

            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> AccidentMortality
            {
                get
                {
                    return this.AccidentMortalityField;
                }
                set
                {
                    if ((this.AccidentMortalityField.Equals(value) != true))
                    {
                        this.AccidentMortalityField = value;
                        this.RaisePropertyChanged("AccidentMortality");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> DeathAccidentFrequency
            {
                get
                {
                    return this.DeathAccidentFrequencyField;
                }
                set
                {
                    if ((this.DeathAccidentFrequencyField.Equals(value) != true))
                    {
                        this.DeathAccidentFrequencyField = value;
                        this.RaisePropertyChanged("DeathAccidentFrequency");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DutyPerson
            {
                get
                {
                    return this.DutyPersonField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DutyPersonField, value) != true))
                    {
                        this.DutyPersonField = value;
                        this.RaisePropertyChanged("DutyPerson");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<System.DateTime> FillingDate
            {
                get
                {
                    return this.FillingDateField;
                }
                set
                {
                    if ((this.FillingDateField.Equals(value) != true))
                    {
                        this.FillingDateField = value;
                        this.RaisePropertyChanged("FillingDate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string FillingMan
            {
                get
                {
                    return this.FillingManField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.FillingManField, value) != true))
                    {
                        this.FillingManField = value;
                        this.RaisePropertyChanged("FillingMan");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> LostTimeInjuryRate
            {
                get
                {
                    return this.LostTimeInjuryRateField;
                }
                set
                {
                    if ((this.LostTimeInjuryRateField.Equals(value) != true))
                    {
                        this.LostTimeInjuryRateField = value;
                        this.RaisePropertyChanged("LostTimeInjuryRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> LostTimeRate
            {
                get
                {
                    return this.LostTimeRateField;
                }
                set
                {
                    if ((this.LostTimeRateField.Equals(value) != true))
                    {
                        this.LostTimeRateField = value;
                        this.RaisePropertyChanged("LostTimeRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string MillionsMonthlyReportId
            {
                get
                {
                    return this.MillionsMonthlyReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.MillionsMonthlyReportIdField, value) != true))
                    {
                        this.MillionsMonthlyReportIdField = value;
                        this.RaisePropertyChanged("MillionsMonthlyReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Month
            {
                get
                {
                    return this.MonthField;
                }
                set
                {
                    if ((this.MonthField.Equals(value) != true))
                    {
                        this.MonthField = value;
                        this.RaisePropertyChanged("Month");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> RecordableIncidentRate
            {
                get
                {
                    return this.RecordableIncidentRateField;
                }
                set
                {
                    if ((this.RecordableIncidentRateField.Equals(value) != true))
                    {
                        this.RecordableIncidentRateField = value;
                        this.RaisePropertyChanged("RecordableIncidentRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string UnitId
            {
                get
                {
                    return this.UnitIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.UnitIdField, value) != true))
                    {
                        this.UnitIdField = value;
                        this.RaisePropertyChanged("UnitId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Year
            {
                get
                {
                    return this.YearField;
                }
                set
                {
                    if ((this.YearField.Equals(value) != true))
                    {
                        this.YearField = value;
                        this.RaisePropertyChanged("Year");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_MillionsMonthlyReportItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AffiliationField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> AttemptedEventNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ContractorNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> EquipmentNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ExplosionNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> FireNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> FirstAidDressingsNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> LossDayNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MedicalTreatmentLossHourField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MedicalTreatmentPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string MillionsMonthlyReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string MillionsMonthlyReportItemIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorAccidentLossHourField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorAccidentNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorAccidentPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string NameField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> OtherAccidentLossHourField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> OtherAccidentNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> OtherAccidentPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> OtherNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> PostPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> QualityNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> RestrictedWorkLossHourField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> RestrictedWorkPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SeriousInjuriesLossHourField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SeriousInjuriesNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SeriousInjuriesPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SnapPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SortIndexField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SumPersonNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> TotalWorkNumField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TrafficNumField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string Affiliation
            {
                get
                {
                    return this.AffiliationField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AffiliationField, value) != true))
                    {
                        this.AffiliationField = value;
                        this.RaisePropertyChanged("Affiliation");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> AttemptedEventNum
            {
                get
                {
                    return this.AttemptedEventNumField;
                }
                set
                {
                    if ((this.AttemptedEventNumField.Equals(value) != true))
                    {
                        this.AttemptedEventNumField = value;
                        this.RaisePropertyChanged("AttemptedEventNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ContractorNum
            {
                get
                {
                    return this.ContractorNumField;
                }
                set
                {
                    if ((this.ContractorNumField.Equals(value) != true))
                    {
                        this.ContractorNumField = value;
                        this.RaisePropertyChanged("ContractorNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> EquipmentNum
            {
                get
                {
                    return this.EquipmentNumField;
                }
                set
                {
                    if ((this.EquipmentNumField.Equals(value) != true))
                    {
                        this.EquipmentNumField = value;
                        this.RaisePropertyChanged("EquipmentNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ExplosionNum
            {
                get
                {
                    return this.ExplosionNumField;
                }
                set
                {
                    if ((this.ExplosionNumField.Equals(value) != true))
                    {
                        this.ExplosionNumField = value;
                        this.RaisePropertyChanged("ExplosionNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> FireNum
            {
                get
                {
                    return this.FireNumField;
                }
                set
                {
                    if ((this.FireNumField.Equals(value) != true))
                    {
                        this.FireNumField = value;
                        this.RaisePropertyChanged("FireNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> FirstAidDressingsNum
            {
                get
                {
                    return this.FirstAidDressingsNumField;
                }
                set
                {
                    if ((this.FirstAidDressingsNumField.Equals(value) != true))
                    {
                        this.FirstAidDressingsNumField = value;
                        this.RaisePropertyChanged("FirstAidDressingsNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> LossDayNum
            {
                get
                {
                    return this.LossDayNumField;
                }
                set
                {
                    if ((this.LossDayNumField.Equals(value) != true))
                    {
                        this.LossDayNumField = value;
                        this.RaisePropertyChanged("LossDayNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MedicalTreatmentLossHour
            {
                get
                {
                    return this.MedicalTreatmentLossHourField;
                }
                set
                {
                    if ((this.MedicalTreatmentLossHourField.Equals(value) != true))
                    {
                        this.MedicalTreatmentLossHourField = value;
                        this.RaisePropertyChanged("MedicalTreatmentLossHour");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MedicalTreatmentPersonNum
            {
                get
                {
                    return this.MedicalTreatmentPersonNumField;
                }
                set
                {
                    if ((this.MedicalTreatmentPersonNumField.Equals(value) != true))
                    {
                        this.MedicalTreatmentPersonNumField = value;
                        this.RaisePropertyChanged("MedicalTreatmentPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string MillionsMonthlyReportId
            {
                get
                {
                    return this.MillionsMonthlyReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.MillionsMonthlyReportIdField, value) != true))
                    {
                        this.MillionsMonthlyReportIdField = value;
                        this.RaisePropertyChanged("MillionsMonthlyReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string MillionsMonthlyReportItemId
            {
                get
                {
                    return this.MillionsMonthlyReportItemIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.MillionsMonthlyReportItemIdField, value) != true))
                    {
                        this.MillionsMonthlyReportItemIdField = value;
                        this.RaisePropertyChanged("MillionsMonthlyReportItemId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorAccidentLossHour
            {
                get
                {
                    return this.MinorAccidentLossHourField;
                }
                set
                {
                    if ((this.MinorAccidentLossHourField.Equals(value) != true))
                    {
                        this.MinorAccidentLossHourField = value;
                        this.RaisePropertyChanged("MinorAccidentLossHour");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorAccidentNum
            {
                get
                {
                    return this.MinorAccidentNumField;
                }
                set
                {
                    if ((this.MinorAccidentNumField.Equals(value) != true))
                    {
                        this.MinorAccidentNumField = value;
                        this.RaisePropertyChanged("MinorAccidentNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorAccidentPersonNum
            {
                get
                {
                    return this.MinorAccidentPersonNumField;
                }
                set
                {
                    if ((this.MinorAccidentPersonNumField.Equals(value) != true))
                    {
                        this.MinorAccidentPersonNumField = value;
                        this.RaisePropertyChanged("MinorAccidentPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string Name
            {
                get
                {
                    return this.NameField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.NameField, value) != true))
                    {
                        this.NameField = value;
                        this.RaisePropertyChanged("Name");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> OtherAccidentLossHour
            {
                get
                {
                    return this.OtherAccidentLossHourField;
                }
                set
                {
                    if ((this.OtherAccidentLossHourField.Equals(value) != true))
                    {
                        this.OtherAccidentLossHourField = value;
                        this.RaisePropertyChanged("OtherAccidentLossHour");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> OtherAccidentNum
            {
                get
                {
                    return this.OtherAccidentNumField;
                }
                set
                {
                    if ((this.OtherAccidentNumField.Equals(value) != true))
                    {
                        this.OtherAccidentNumField = value;
                        this.RaisePropertyChanged("OtherAccidentNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> OtherAccidentPersonNum
            {
                get
                {
                    return this.OtherAccidentPersonNumField;
                }
                set
                {
                    if ((this.OtherAccidentPersonNumField.Equals(value) != true))
                    {
                        this.OtherAccidentPersonNumField = value;
                        this.RaisePropertyChanged("OtherAccidentPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> OtherNum
            {
                get
                {
                    return this.OtherNumField;
                }
                set
                {
                    if ((this.OtherNumField.Equals(value) != true))
                    {
                        this.OtherNumField = value;
                        this.RaisePropertyChanged("OtherNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> PostPersonNum
            {
                get
                {
                    return this.PostPersonNumField;
                }
                set
                {
                    if ((this.PostPersonNumField.Equals(value) != true))
                    {
                        this.PostPersonNumField = value;
                        this.RaisePropertyChanged("PostPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> QualityNum
            {
                get
                {
                    return this.QualityNumField;
                }
                set
                {
                    if ((this.QualityNumField.Equals(value) != true))
                    {
                        this.QualityNumField = value;
                        this.RaisePropertyChanged("QualityNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> RestrictedWorkLossHour
            {
                get
                {
                    return this.RestrictedWorkLossHourField;
                }
                set
                {
                    if ((this.RestrictedWorkLossHourField.Equals(value) != true))
                    {
                        this.RestrictedWorkLossHourField = value;
                        this.RaisePropertyChanged("RestrictedWorkLossHour");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> RestrictedWorkPersonNum
            {
                get
                {
                    return this.RestrictedWorkPersonNumField;
                }
                set
                {
                    if ((this.RestrictedWorkPersonNumField.Equals(value) != true))
                    {
                        this.RestrictedWorkPersonNumField = value;
                        this.RaisePropertyChanged("RestrictedWorkPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SeriousInjuriesLossHour
            {
                get
                {
                    return this.SeriousInjuriesLossHourField;
                }
                set
                {
                    if ((this.SeriousInjuriesLossHourField.Equals(value) != true))
                    {
                        this.SeriousInjuriesLossHourField = value;
                        this.RaisePropertyChanged("SeriousInjuriesLossHour");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SeriousInjuriesNum
            {
                get
                {
                    return this.SeriousInjuriesNumField;
                }
                set
                {
                    if ((this.SeriousInjuriesNumField.Equals(value) != true))
                    {
                        this.SeriousInjuriesNumField = value;
                        this.RaisePropertyChanged("SeriousInjuriesNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SeriousInjuriesPersonNum
            {
                get
                {
                    return this.SeriousInjuriesPersonNumField;
                }
                set
                {
                    if ((this.SeriousInjuriesPersonNumField.Equals(value) != true))
                    {
                        this.SeriousInjuriesPersonNumField = value;
                        this.RaisePropertyChanged("SeriousInjuriesPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SnapPersonNum
            {
                get
                {
                    return this.SnapPersonNumField;
                }
                set
                {
                    if ((this.SnapPersonNumField.Equals(value) != true))
                    {
                        this.SnapPersonNumField = value;
                        this.RaisePropertyChanged("SnapPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SortIndex
            {
                get
                {
                    return this.SortIndexField;
                }
                set
                {
                    if ((this.SortIndexField.Equals(value) != true))
                    {
                        this.SortIndexField = value;
                        this.RaisePropertyChanged("SortIndex");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SumPersonNum
            {
                get
                {
                    return this.SumPersonNumField;
                }
                set
                {
                    if ((this.SumPersonNumField.Equals(value) != true))
                    {
                        this.SumPersonNumField = value;
                        this.RaisePropertyChanged("SumPersonNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> TotalWorkNum
            {
                get
                {
                    return this.TotalWorkNumField;
                }
                set
                {
                    if ((this.TotalWorkNumField.Equals(value) != true))
                    {
                        this.TotalWorkNumField = value;
                        this.RaisePropertyChanged("TotalWorkNum");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TrafficNum
            {
                get
                {
                    return this.TrafficNumField;
                }
                set
                {
                    if ((this.TrafficNumField.Equals(value) != true))
                    {
                        this.TrafficNumField = value;
                        this.RaisePropertyChanged("TrafficNum");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_AccidentCauseReport : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AccidentCauseReportCodeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AccidentCauseReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AuditPersonField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> AverageManHoursField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> AverageTotalHoursField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> DeathAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> DeathTollField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> DirectLossField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string FillCompanyPersonChargeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<System.DateTime> FillingDateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> IndirectLossesField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> InjuredAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> InjuredTollField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> KnockOffTotalField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> LastMonthLossHoursTotalField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorWoundAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorWoundTollField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MonthField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string TabPeopleField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalLossField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalLossManField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalLossTimeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string UnitIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> YearField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AccidentCauseReportCode
            {
                get
                {
                    return this.AccidentCauseReportCodeField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AccidentCauseReportCodeField, value) != true))
                    {
                        this.AccidentCauseReportCodeField = value;
                        this.RaisePropertyChanged("AccidentCauseReportCode");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AccidentCauseReportId
            {
                get
                {
                    return this.AccidentCauseReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AccidentCauseReportIdField, value) != true))
                    {
                        this.AccidentCauseReportIdField = value;
                        this.RaisePropertyChanged("AccidentCauseReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AuditPerson
            {
                get
                {
                    return this.AuditPersonField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AuditPersonField, value) != true))
                    {
                        this.AuditPersonField = value;
                        this.RaisePropertyChanged("AuditPerson");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> AverageManHours
            {
                get
                {
                    return this.AverageManHoursField;
                }
                set
                {
                    if ((this.AverageManHoursField.Equals(value) != true))
                    {
                        this.AverageManHoursField = value;
                        this.RaisePropertyChanged("AverageManHours");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> AverageTotalHours
            {
                get
                {
                    return this.AverageTotalHoursField;
                }
                set
                {
                    if ((this.AverageTotalHoursField.Equals(value) != true))
                    {
                        this.AverageTotalHoursField = value;
                        this.RaisePropertyChanged("AverageTotalHours");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> DeathAccident
            {
                get
                {
                    return this.DeathAccidentField;
                }
                set
                {
                    if ((this.DeathAccidentField.Equals(value) != true))
                    {
                        this.DeathAccidentField = value;
                        this.RaisePropertyChanged("DeathAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> DeathToll
            {
                get
                {
                    return this.DeathTollField;
                }
                set
                {
                    if ((this.DeathTollField.Equals(value) != true))
                    {
                        this.DeathTollField = value;
                        this.RaisePropertyChanged("DeathToll");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> DirectLoss
            {
                get
                {
                    return this.DirectLossField;
                }
                set
                {
                    if ((this.DirectLossField.Equals(value) != true))
                    {
                        this.DirectLossField = value;
                        this.RaisePropertyChanged("DirectLoss");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string FillCompanyPersonCharge
            {
                get
                {
                    return this.FillCompanyPersonChargeField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.FillCompanyPersonChargeField, value) != true))
                    {
                        this.FillCompanyPersonChargeField = value;
                        this.RaisePropertyChanged("FillCompanyPersonCharge");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<System.DateTime> FillingDate
            {
                get
                {
                    return this.FillingDateField;
                }
                set
                {
                    if ((this.FillingDateField.Equals(value) != true))
                    {
                        this.FillingDateField = value;
                        this.RaisePropertyChanged("FillingDate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> IndirectLosses
            {
                get
                {
                    return this.IndirectLossesField;
                }
                set
                {
                    if ((this.IndirectLossesField.Equals(value) != true))
                    {
                        this.IndirectLossesField = value;
                        this.RaisePropertyChanged("IndirectLosses");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> InjuredAccident
            {
                get
                {
                    return this.InjuredAccidentField;
                }
                set
                {
                    if ((this.InjuredAccidentField.Equals(value) != true))
                    {
                        this.InjuredAccidentField = value;
                        this.RaisePropertyChanged("InjuredAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> InjuredToll
            {
                get
                {
                    return this.InjuredTollField;
                }
                set
                {
                    if ((this.InjuredTollField.Equals(value) != true))
                    {
                        this.InjuredTollField = value;
                        this.RaisePropertyChanged("InjuredToll");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> KnockOffTotal
            {
                get
                {
                    return this.KnockOffTotalField;
                }
                set
                {
                    if ((this.KnockOffTotalField.Equals(value) != true))
                    {
                        this.KnockOffTotalField = value;
                        this.RaisePropertyChanged("KnockOffTotal");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> LastMonthLossHoursTotal
            {
                get
                {
                    return this.LastMonthLossHoursTotalField;
                }
                set
                {
                    if ((this.LastMonthLossHoursTotalField.Equals(value) != true))
                    {
                        this.LastMonthLossHoursTotalField = value;
                        this.RaisePropertyChanged("LastMonthLossHoursTotal");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorWoundAccident
            {
                get
                {
                    return this.MinorWoundAccidentField;
                }
                set
                {
                    if ((this.MinorWoundAccidentField.Equals(value) != true))
                    {
                        this.MinorWoundAccidentField = value;
                        this.RaisePropertyChanged("MinorWoundAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorWoundToll
            {
                get
                {
                    return this.MinorWoundTollField;
                }
                set
                {
                    if ((this.MinorWoundTollField.Equals(value) != true))
                    {
                        this.MinorWoundTollField = value;
                        this.RaisePropertyChanged("MinorWoundToll");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Month
            {
                get
                {
                    return this.MonthField;
                }
                set
                {
                    if ((this.MonthField.Equals(value) != true))
                    {
                        this.MonthField = value;
                        this.RaisePropertyChanged("Month");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string TabPeople
            {
                get
                {
                    return this.TabPeopleField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.TabPeopleField, value) != true))
                    {
                        this.TabPeopleField = value;
                        this.RaisePropertyChanged("TabPeople");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalLoss
            {
                get
                {
                    return this.TotalLossField;
                }
                set
                {
                    if ((this.TotalLossField.Equals(value) != true))
                    {
                        this.TotalLossField = value;
                        this.RaisePropertyChanged("TotalLoss");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalLossMan
            {
                get
                {
                    return this.TotalLossManField;
                }
                set
                {
                    if ((this.TotalLossManField.Equals(value) != true))
                    {
                        this.TotalLossManField = value;
                        this.RaisePropertyChanged("TotalLossMan");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalLossTime
            {
                get
                {
                    return this.TotalLossTimeField;
                }
                set
                {
                    if ((this.TotalLossTimeField.Equals(value) != true))
                    {
                        this.TotalLossTimeField = value;
                        this.RaisePropertyChanged("TotalLossTime");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string UnitId
            {
                get
                {
                    return this.UnitIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.UnitIdField, value) != true))
                    {
                        this.UnitIdField = value;
                        this.RaisePropertyChanged("UnitId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Year
            {
                get
                {
                    return this.YearField;
                }
                set
                {
                    if ((this.YearField.Equals(value) != true))
                    {
                        this.YearField = value;
                        this.RaisePropertyChanged("Year");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_AccidentCauseReportItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AccidentCauseReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AccidentCauseReportItemIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AccidentTypeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death1Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death10Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death11Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death2Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death3Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death4Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death5Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death6Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death7Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death8Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Death9Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries1Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries10Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries11Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries2Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries3Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries4Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries5Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries6Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries7Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries8Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> Injuries9Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries1Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries10Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries11Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries2Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries3Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries4Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries5Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries6Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries7Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries8Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MinorInjuries9Field;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalDeathField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalInjuriesField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalMinorInjuriesField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AccidentCauseReportId
            {
                get
                {
                    return this.AccidentCauseReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AccidentCauseReportIdField, value) != true))
                    {
                        this.AccidentCauseReportIdField = value;
                        this.RaisePropertyChanged("AccidentCauseReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AccidentCauseReportItemId
            {
                get
                {
                    return this.AccidentCauseReportItemIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AccidentCauseReportItemIdField, value) != true))
                    {
                        this.AccidentCauseReportItemIdField = value;
                        this.RaisePropertyChanged("AccidentCauseReportItemId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AccidentType
            {
                get
                {
                    return this.AccidentTypeField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AccidentTypeField, value) != true))
                    {
                        this.AccidentTypeField = value;
                        this.RaisePropertyChanged("AccidentType");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death1
            {
                get
                {
                    return this.Death1Field;
                }
                set
                {
                    if ((this.Death1Field.Equals(value) != true))
                    {
                        this.Death1Field = value;
                        this.RaisePropertyChanged("Death1");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death10
            {
                get
                {
                    return this.Death10Field;
                }
                set
                {
                    if ((this.Death10Field.Equals(value) != true))
                    {
                        this.Death10Field = value;
                        this.RaisePropertyChanged("Death10");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death11
            {
                get
                {
                    return this.Death11Field;
                }
                set
                {
                    if ((this.Death11Field.Equals(value) != true))
                    {
                        this.Death11Field = value;
                        this.RaisePropertyChanged("Death11");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death2
            {
                get
                {
                    return this.Death2Field;
                }
                set
                {
                    if ((this.Death2Field.Equals(value) != true))
                    {
                        this.Death2Field = value;
                        this.RaisePropertyChanged("Death2");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death3
            {
                get
                {
                    return this.Death3Field;
                }
                set
                {
                    if ((this.Death3Field.Equals(value) != true))
                    {
                        this.Death3Field = value;
                        this.RaisePropertyChanged("Death3");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death4
            {
                get
                {
                    return this.Death4Field;
                }
                set
                {
                    if ((this.Death4Field.Equals(value) != true))
                    {
                        this.Death4Field = value;
                        this.RaisePropertyChanged("Death4");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death5
            {
                get
                {
                    return this.Death5Field;
                }
                set
                {
                    if ((this.Death5Field.Equals(value) != true))
                    {
                        this.Death5Field = value;
                        this.RaisePropertyChanged("Death5");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death6
            {
                get
                {
                    return this.Death6Field;
                }
                set
                {
                    if ((this.Death6Field.Equals(value) != true))
                    {
                        this.Death6Field = value;
                        this.RaisePropertyChanged("Death6");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death7
            {
                get
                {
                    return this.Death7Field;
                }
                set
                {
                    if ((this.Death7Field.Equals(value) != true))
                    {
                        this.Death7Field = value;
                        this.RaisePropertyChanged("Death7");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death8
            {
                get
                {
                    return this.Death8Field;
                }
                set
                {
                    if ((this.Death8Field.Equals(value) != true))
                    {
                        this.Death8Field = value;
                        this.RaisePropertyChanged("Death8");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Death9
            {
                get
                {
                    return this.Death9Field;
                }
                set
                {
                    if ((this.Death9Field.Equals(value) != true))
                    {
                        this.Death9Field = value;
                        this.RaisePropertyChanged("Death9");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries1
            {
                get
                {
                    return this.Injuries1Field;
                }
                set
                {
                    if ((this.Injuries1Field.Equals(value) != true))
                    {
                        this.Injuries1Field = value;
                        this.RaisePropertyChanged("Injuries1");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries10
            {
                get
                {
                    return this.Injuries10Field;
                }
                set
                {
                    if ((this.Injuries10Field.Equals(value) != true))
                    {
                        this.Injuries10Field = value;
                        this.RaisePropertyChanged("Injuries10");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries11
            {
                get
                {
                    return this.Injuries11Field;
                }
                set
                {
                    if ((this.Injuries11Field.Equals(value) != true))
                    {
                        this.Injuries11Field = value;
                        this.RaisePropertyChanged("Injuries11");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries2
            {
                get
                {
                    return this.Injuries2Field;
                }
                set
                {
                    if ((this.Injuries2Field.Equals(value) != true))
                    {
                        this.Injuries2Field = value;
                        this.RaisePropertyChanged("Injuries2");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries3
            {
                get
                {
                    return this.Injuries3Field;
                }
                set
                {
                    if ((this.Injuries3Field.Equals(value) != true))
                    {
                        this.Injuries3Field = value;
                        this.RaisePropertyChanged("Injuries3");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries4
            {
                get
                {
                    return this.Injuries4Field;
                }
                set
                {
                    if ((this.Injuries4Field.Equals(value) != true))
                    {
                        this.Injuries4Field = value;
                        this.RaisePropertyChanged("Injuries4");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries5
            {
                get
                {
                    return this.Injuries5Field;
                }
                set
                {
                    if ((this.Injuries5Field.Equals(value) != true))
                    {
                        this.Injuries5Field = value;
                        this.RaisePropertyChanged("Injuries5");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries6
            {
                get
                {
                    return this.Injuries6Field;
                }
                set
                {
                    if ((this.Injuries6Field.Equals(value) != true))
                    {
                        this.Injuries6Field = value;
                        this.RaisePropertyChanged("Injuries6");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries7
            {
                get
                {
                    return this.Injuries7Field;
                }
                set
                {
                    if ((this.Injuries7Field.Equals(value) != true))
                    {
                        this.Injuries7Field = value;
                        this.RaisePropertyChanged("Injuries7");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries8
            {
                get
                {
                    return this.Injuries8Field;
                }
                set
                {
                    if ((this.Injuries8Field.Equals(value) != true))
                    {
                        this.Injuries8Field = value;
                        this.RaisePropertyChanged("Injuries8");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Injuries9
            {
                get
                {
                    return this.Injuries9Field;
                }
                set
                {
                    if ((this.Injuries9Field.Equals(value) != true))
                    {
                        this.Injuries9Field = value;
                        this.RaisePropertyChanged("Injuries9");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries1
            {
                get
                {
                    return this.MinorInjuries1Field;
                }
                set
                {
                    if ((this.MinorInjuries1Field.Equals(value) != true))
                    {
                        this.MinorInjuries1Field = value;
                        this.RaisePropertyChanged("MinorInjuries1");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries10
            {
                get
                {
                    return this.MinorInjuries10Field;
                }
                set
                {
                    if ((this.MinorInjuries10Field.Equals(value) != true))
                    {
                        this.MinorInjuries10Field = value;
                        this.RaisePropertyChanged("MinorInjuries10");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries11
            {
                get
                {
                    return this.MinorInjuries11Field;
                }
                set
                {
                    if ((this.MinorInjuries11Field.Equals(value) != true))
                    {
                        this.MinorInjuries11Field = value;
                        this.RaisePropertyChanged("MinorInjuries11");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries2
            {
                get
                {
                    return this.MinorInjuries2Field;
                }
                set
                {
                    if ((this.MinorInjuries2Field.Equals(value) != true))
                    {
                        this.MinorInjuries2Field = value;
                        this.RaisePropertyChanged("MinorInjuries2");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries3
            {
                get
                {
                    return this.MinorInjuries3Field;
                }
                set
                {
                    if ((this.MinorInjuries3Field.Equals(value) != true))
                    {
                        this.MinorInjuries3Field = value;
                        this.RaisePropertyChanged("MinorInjuries3");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries4
            {
                get
                {
                    return this.MinorInjuries4Field;
                }
                set
                {
                    if ((this.MinorInjuries4Field.Equals(value) != true))
                    {
                        this.MinorInjuries4Field = value;
                        this.RaisePropertyChanged("MinorInjuries4");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries5
            {
                get
                {
                    return this.MinorInjuries5Field;
                }
                set
                {
                    if ((this.MinorInjuries5Field.Equals(value) != true))
                    {
                        this.MinorInjuries5Field = value;
                        this.RaisePropertyChanged("MinorInjuries5");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries6
            {
                get
                {
                    return this.MinorInjuries6Field;
                }
                set
                {
                    if ((this.MinorInjuries6Field.Equals(value) != true))
                    {
                        this.MinorInjuries6Field = value;
                        this.RaisePropertyChanged("MinorInjuries6");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries7
            {
                get
                {
                    return this.MinorInjuries7Field;
                }
                set
                {
                    if ((this.MinorInjuries7Field.Equals(value) != true))
                    {
                        this.MinorInjuries7Field = value;
                        this.RaisePropertyChanged("MinorInjuries7");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries8
            {
                get
                {
                    return this.MinorInjuries8Field;
                }
                set
                {
                    if ((this.MinorInjuries8Field.Equals(value) != true))
                    {
                        this.MinorInjuries8Field = value;
                        this.RaisePropertyChanged("MinorInjuries8");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MinorInjuries9
            {
                get
                {
                    return this.MinorInjuries9Field;
                }
                set
                {
                    if ((this.MinorInjuries9Field.Equals(value) != true))
                    {
                        this.MinorInjuries9Field = value;
                        this.RaisePropertyChanged("MinorInjuries9");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalDeath
            {
                get
                {
                    return this.TotalDeathField;
                }
                set
                {
                    if ((this.TotalDeathField.Equals(value) != true))
                    {
                        this.TotalDeathField = value;
                        this.RaisePropertyChanged("TotalDeath");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalInjuries
            {
                get
                {
                    return this.TotalInjuriesField;
                }
                set
                {
                    if ((this.TotalInjuriesField.Equals(value) != true))
                    {
                        this.TotalInjuriesField = value;
                        this.RaisePropertyChanged("TotalInjuries");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalMinorInjuries
            {
                get
                {
                    return this.TotalMinorInjuriesField;
                }
                set
                {
                    if ((this.TotalMinorInjuriesField.Equals(value) != true))
                    {
                        this.TotalMinorInjuriesField = value;
                        this.RaisePropertyChanged("TotalMinorInjuries");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_SafetyQuarterlyReport : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> AccidentFrequencyField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AccidentFrequencyRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> BillionsOutputMortalityField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string BillionsOutputMortalityRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ChemicalAreaProjectCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ChemicalAreaProjectCountRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string CompileManField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> ConstructionRevenueField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ConstructionRevenueRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> CorporateDirectorEduField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string CorporateDirectorEduRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> EducationTrainInField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string EducationTrainInRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> EquipmentAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string EquipmentAccidentRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<System.DateTime> FillingDateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> FireAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string FireAccidentRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> FullTimeEduField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string FullTimeEduRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> FullTimeManField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string FullTimeManAttachUrlField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Collections.Generic.List<byte[]> FullTimeManAttachUrlFileContextField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string FullTimeManRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> HarmfulMediumCoverCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string HarmfulMediumCoverCountRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> HarmfulMediumCoverRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string HarmfulMediumCoverRateRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> KeyEquipmentReportCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string KeyEquipmentReportCountRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> KeyEquipmentTotalField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string KeyEquipmentTotalRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> LaboAndHealthInField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string LaborAndHealthInRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> MainBusinessIncomeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string MainBusinessIncomeRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MajorEquipAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string MajorEquipAccidentRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> MajorFireAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string MajorFireAccidentRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> PMManField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string PMManAttachUrlField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Collections.Generic.List<byte[]> PMManAttachUrlFileContextField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string PMManRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> PoisoningAndInjuriesField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string PoisoningAndInjuriesRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> ProductionInputField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ProductionInputRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ProductionSafetyInTotalField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ProductionSafetyInTotalRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> ProjectCostRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ProjectCostRateRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ProjectLeaderEduField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ProjectLeaderEduRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> ProtectionInputField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ProtectionInputRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> QuartersField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string RemarksField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> RevenueField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string RevenueRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string SafetyQuarterlyReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SeriousInjuryAccidentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string SeriousInjuryAccidentRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> TechnologyProgressInField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string TechnologyProgressInRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> ThreeKidsEduRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ThreeKidsEduRateRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalInWorkHoursField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string TotalInWorkHoursRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalOutWorkHoursField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string TotalOutWorkHoursRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string UnitIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> UnitTimeIncomeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string UnitTimeIncomeRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> UplinReportRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string UplinReportRateRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> WorkHoursAccuracyField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string WorkHoursAccuracyRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> WorkHoursLossRateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string WorkHoursLossRateRemarkField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> YearIdField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> AccidentFrequency
            {
                get
                {
                    return this.AccidentFrequencyField;
                }
                set
                {
                    if ((this.AccidentFrequencyField.Equals(value) != true))
                    {
                        this.AccidentFrequencyField = value;
                        this.RaisePropertyChanged("AccidentFrequency");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AccidentFrequencyRemark
            {
                get
                {
                    return this.AccidentFrequencyRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AccidentFrequencyRemarkField, value) != true))
                    {
                        this.AccidentFrequencyRemarkField = value;
                        this.RaisePropertyChanged("AccidentFrequencyRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> BillionsOutputMortality
            {
                get
                {
                    return this.BillionsOutputMortalityField;
                }
                set
                {
                    if ((this.BillionsOutputMortalityField.Equals(value) != true))
                    {
                        this.BillionsOutputMortalityField = value;
                        this.RaisePropertyChanged("BillionsOutputMortality");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string BillionsOutputMortalityRemark
            {
                get
                {
                    return this.BillionsOutputMortalityRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.BillionsOutputMortalityRemarkField, value) != true))
                    {
                        this.BillionsOutputMortalityRemarkField = value;
                        this.RaisePropertyChanged("BillionsOutputMortalityRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ChemicalAreaProjectCount
            {
                get
                {
                    return this.ChemicalAreaProjectCountField;
                }
                set
                {
                    if ((this.ChemicalAreaProjectCountField.Equals(value) != true))
                    {
                        this.ChemicalAreaProjectCountField = value;
                        this.RaisePropertyChanged("ChemicalAreaProjectCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ChemicalAreaProjectCountRemark
            {
                get
                {
                    return this.ChemicalAreaProjectCountRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ChemicalAreaProjectCountRemarkField, value) != true))
                    {
                        this.ChemicalAreaProjectCountRemarkField = value;
                        this.RaisePropertyChanged("ChemicalAreaProjectCountRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string CompileMan
            {
                get
                {
                    return this.CompileManField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.CompileManField, value) != true))
                    {
                        this.CompileManField = value;
                        this.RaisePropertyChanged("CompileMan");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> ConstructionRevenue
            {
                get
                {
                    return this.ConstructionRevenueField;
                }
                set
                {
                    if ((this.ConstructionRevenueField.Equals(value) != true))
                    {
                        this.ConstructionRevenueField = value;
                        this.RaisePropertyChanged("ConstructionRevenue");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ConstructionRevenueRemark
            {
                get
                {
                    return this.ConstructionRevenueRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ConstructionRevenueRemarkField, value) != true))
                    {
                        this.ConstructionRevenueRemarkField = value;
                        this.RaisePropertyChanged("ConstructionRevenueRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> CorporateDirectorEdu
            {
                get
                {
                    return this.CorporateDirectorEduField;
                }
                set
                {
                    if ((this.CorporateDirectorEduField.Equals(value) != true))
                    {
                        this.CorporateDirectorEduField = value;
                        this.RaisePropertyChanged("CorporateDirectorEdu");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string CorporateDirectorEduRemark
            {
                get
                {
                    return this.CorporateDirectorEduRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.CorporateDirectorEduRemarkField, value) != true))
                    {
                        this.CorporateDirectorEduRemarkField = value;
                        this.RaisePropertyChanged("CorporateDirectorEduRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> EducationTrainIn
            {
                get
                {
                    return this.EducationTrainInField;
                }
                set
                {
                    if ((this.EducationTrainInField.Equals(value) != true))
                    {
                        this.EducationTrainInField = value;
                        this.RaisePropertyChanged("EducationTrainIn");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string EducationTrainInRemark
            {
                get
                {
                    return this.EducationTrainInRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.EducationTrainInRemarkField, value) != true))
                    {
                        this.EducationTrainInRemarkField = value;
                        this.RaisePropertyChanged("EducationTrainInRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> EquipmentAccident
            {
                get
                {
                    return this.EquipmentAccidentField;
                }
                set
                {
                    if ((this.EquipmentAccidentField.Equals(value) != true))
                    {
                        this.EquipmentAccidentField = value;
                        this.RaisePropertyChanged("EquipmentAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string EquipmentAccidentRemark
            {
                get
                {
                    return this.EquipmentAccidentRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.EquipmentAccidentRemarkField, value) != true))
                    {
                        this.EquipmentAccidentRemarkField = value;
                        this.RaisePropertyChanged("EquipmentAccidentRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<System.DateTime> FillingDate
            {
                get
                {
                    return this.FillingDateField;
                }
                set
                {
                    if ((this.FillingDateField.Equals(value) != true))
                    {
                        this.FillingDateField = value;
                        this.RaisePropertyChanged("FillingDate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> FireAccident
            {
                get
                {
                    return this.FireAccidentField;
                }
                set
                {
                    if ((this.FireAccidentField.Equals(value) != true))
                    {
                        this.FireAccidentField = value;
                        this.RaisePropertyChanged("FireAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string FireAccidentRemark
            {
                get
                {
                    return this.FireAccidentRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.FireAccidentRemarkField, value) != true))
                    {
                        this.FireAccidentRemarkField = value;
                        this.RaisePropertyChanged("FireAccidentRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> FullTimeEdu
            {
                get
                {
                    return this.FullTimeEduField;
                }
                set
                {
                    if ((this.FullTimeEduField.Equals(value) != true))
                    {
                        this.FullTimeEduField = value;
                        this.RaisePropertyChanged("FullTimeEdu");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string FullTimeEduRemark
            {
                get
                {
                    return this.FullTimeEduRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.FullTimeEduRemarkField, value) != true))
                    {
                        this.FullTimeEduRemarkField = value;
                        this.RaisePropertyChanged("FullTimeEduRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> FullTimeMan
            {
                get
                {
                    return this.FullTimeManField;
                }
                set
                {
                    if ((this.FullTimeManField.Equals(value) != true))
                    {
                        this.FullTimeManField = value;
                        this.RaisePropertyChanged("FullTimeMan");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string FullTimeManAttachUrl
            {
                get
                {
                    return this.FullTimeManAttachUrlField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.FullTimeManAttachUrlField, value) != true))
                    {
                        this.FullTimeManAttachUrlField = value;
                        this.RaisePropertyChanged("FullTimeManAttachUrl");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Collections.Generic.List<byte[]> FullTimeManAttachUrlFileContext
            {
                get
                {
                    return this.FullTimeManAttachUrlFileContextField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.FullTimeManAttachUrlFileContextField, value) != true))
                    {
                        this.FullTimeManAttachUrlFileContextField = value;
                        this.RaisePropertyChanged("FullTimeManAttachUrlFileContext");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string FullTimeManRemark
            {
                get
                {
                    return this.FullTimeManRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.FullTimeManRemarkField, value) != true))
                    {
                        this.FullTimeManRemarkField = value;
                        this.RaisePropertyChanged("FullTimeManRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> HarmfulMediumCoverCount
            {
                get
                {
                    return this.HarmfulMediumCoverCountField;
                }
                set
                {
                    if ((this.HarmfulMediumCoverCountField.Equals(value) != true))
                    {
                        this.HarmfulMediumCoverCountField = value;
                        this.RaisePropertyChanged("HarmfulMediumCoverCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string HarmfulMediumCoverCountRemark
            {
                get
                {
                    return this.HarmfulMediumCoverCountRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.HarmfulMediumCoverCountRemarkField, value) != true))
                    {
                        this.HarmfulMediumCoverCountRemarkField = value;
                        this.RaisePropertyChanged("HarmfulMediumCoverCountRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> HarmfulMediumCoverRate
            {
                get
                {
                    return this.HarmfulMediumCoverRateField;
                }
                set
                {
                    if ((this.HarmfulMediumCoverRateField.Equals(value) != true))
                    {
                        this.HarmfulMediumCoverRateField = value;
                        this.RaisePropertyChanged("HarmfulMediumCoverRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string HarmfulMediumCoverRateRemark
            {
                get
                {
                    return this.HarmfulMediumCoverRateRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.HarmfulMediumCoverRateRemarkField, value) != true))
                    {
                        this.HarmfulMediumCoverRateRemarkField = value;
                        this.RaisePropertyChanged("HarmfulMediumCoverRateRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> KeyEquipmentReportCount
            {
                get
                {
                    return this.KeyEquipmentReportCountField;
                }
                set
                {
                    if ((this.KeyEquipmentReportCountField.Equals(value) != true))
                    {
                        this.KeyEquipmentReportCountField = value;
                        this.RaisePropertyChanged("KeyEquipmentReportCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string KeyEquipmentReportCountRemark
            {
                get
                {
                    return this.KeyEquipmentReportCountRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.KeyEquipmentReportCountRemarkField, value) != true))
                    {
                        this.KeyEquipmentReportCountRemarkField = value;
                        this.RaisePropertyChanged("KeyEquipmentReportCountRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> KeyEquipmentTotal
            {
                get
                {
                    return this.KeyEquipmentTotalField;
                }
                set
                {
                    if ((this.KeyEquipmentTotalField.Equals(value) != true))
                    {
                        this.KeyEquipmentTotalField = value;
                        this.RaisePropertyChanged("KeyEquipmentTotal");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string KeyEquipmentTotalRemark
            {
                get
                {
                    return this.KeyEquipmentTotalRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.KeyEquipmentTotalRemarkField, value) != true))
                    {
                        this.KeyEquipmentTotalRemarkField = value;
                        this.RaisePropertyChanged("KeyEquipmentTotalRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> LaboAndHealthIn
            {
                get
                {
                    return this.LaboAndHealthInField;
                }
                set
                {
                    if ((this.LaboAndHealthInField.Equals(value) != true))
                    {
                        this.LaboAndHealthInField = value;
                        this.RaisePropertyChanged("LaboAndHealthIn");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string LaborAndHealthInRemark
            {
                get
                {
                    return this.LaborAndHealthInRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.LaborAndHealthInRemarkField, value) != true))
                    {
                        this.LaborAndHealthInRemarkField = value;
                        this.RaisePropertyChanged("LaborAndHealthInRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> MainBusinessIncome
            {
                get
                {
                    return this.MainBusinessIncomeField;
                }
                set
                {
                    if ((this.MainBusinessIncomeField.Equals(value) != true))
                    {
                        this.MainBusinessIncomeField = value;
                        this.RaisePropertyChanged("MainBusinessIncome");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string MainBusinessIncomeRemark
            {
                get
                {
                    return this.MainBusinessIncomeRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.MainBusinessIncomeRemarkField, value) != true))
                    {
                        this.MainBusinessIncomeRemarkField = value;
                        this.RaisePropertyChanged("MainBusinessIncomeRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MajorEquipAccident
            {
                get
                {
                    return this.MajorEquipAccidentField;
                }
                set
                {
                    if ((this.MajorEquipAccidentField.Equals(value) != true))
                    {
                        this.MajorEquipAccidentField = value;
                        this.RaisePropertyChanged("MajorEquipAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string MajorEquipAccidentRemark
            {
                get
                {
                    return this.MajorEquipAccidentRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.MajorEquipAccidentRemarkField, value) != true))
                    {
                        this.MajorEquipAccidentRemarkField = value;
                        this.RaisePropertyChanged("MajorEquipAccidentRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> MajorFireAccident
            {
                get
                {
                    return this.MajorFireAccidentField;
                }
                set
                {
                    if ((this.MajorFireAccidentField.Equals(value) != true))
                    {
                        this.MajorFireAccidentField = value;
                        this.RaisePropertyChanged("MajorFireAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string MajorFireAccidentRemark
            {
                get
                {
                    return this.MajorFireAccidentRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.MajorFireAccidentRemarkField, value) != true))
                    {
                        this.MajorFireAccidentRemarkField = value;
                        this.RaisePropertyChanged("MajorFireAccidentRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> PMMan
            {
                get
                {
                    return this.PMManField;
                }
                set
                {
                    if ((this.PMManField.Equals(value) != true))
                    {
                        this.PMManField = value;
                        this.RaisePropertyChanged("PMMan");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string PMManAttachUrl
            {
                get
                {
                    return this.PMManAttachUrlField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.PMManAttachUrlField, value) != true))
                    {
                        this.PMManAttachUrlField = value;
                        this.RaisePropertyChanged("PMManAttachUrl");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Collections.Generic.List<byte[]> PMManAttachUrlFileContext
            {
                get
                {
                    return this.PMManAttachUrlFileContextField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.PMManAttachUrlFileContextField, value) != true))
                    {
                        this.PMManAttachUrlFileContextField = value;
                        this.RaisePropertyChanged("PMManAttachUrlFileContext");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string PMManRemark
            {
                get
                {
                    return this.PMManRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.PMManRemarkField, value) != true))
                    {
                        this.PMManRemarkField = value;
                        this.RaisePropertyChanged("PMManRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> PoisoningAndInjuries
            {
                get
                {
                    return this.PoisoningAndInjuriesField;
                }
                set
                {
                    if ((this.PoisoningAndInjuriesField.Equals(value) != true))
                    {
                        this.PoisoningAndInjuriesField = value;
                        this.RaisePropertyChanged("PoisoningAndInjuries");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string PoisoningAndInjuriesRemark
            {
                get
                {
                    return this.PoisoningAndInjuriesRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.PoisoningAndInjuriesRemarkField, value) != true))
                    {
                        this.PoisoningAndInjuriesRemarkField = value;
                        this.RaisePropertyChanged("PoisoningAndInjuriesRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> ProductionInput
            {
                get
                {
                    return this.ProductionInputField;
                }
                set
                {
                    if ((this.ProductionInputField.Equals(value) != true))
                    {
                        this.ProductionInputField = value;
                        this.RaisePropertyChanged("ProductionInput");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ProductionInputRemark
            {
                get
                {
                    return this.ProductionInputRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ProductionInputRemarkField, value) != true))
                    {
                        this.ProductionInputRemarkField = value;
                        this.RaisePropertyChanged("ProductionInputRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ProductionSafetyInTotal
            {
                get
                {
                    return this.ProductionSafetyInTotalField;
                }
                set
                {
                    if ((this.ProductionSafetyInTotalField.Equals(value) != true))
                    {
                        this.ProductionSafetyInTotalField = value;
                        this.RaisePropertyChanged("ProductionSafetyInTotal");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ProductionSafetyInTotalRemark
            {
                get
                {
                    return this.ProductionSafetyInTotalRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ProductionSafetyInTotalRemarkField, value) != true))
                    {
                        this.ProductionSafetyInTotalRemarkField = value;
                        this.RaisePropertyChanged("ProductionSafetyInTotalRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> ProjectCostRate
            {
                get
                {
                    return this.ProjectCostRateField;
                }
                set
                {
                    if ((this.ProjectCostRateField.Equals(value) != true))
                    {
                        this.ProjectCostRateField = value;
                        this.RaisePropertyChanged("ProjectCostRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ProjectCostRateRemark
            {
                get
                {
                    return this.ProjectCostRateRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ProjectCostRateRemarkField, value) != true))
                    {
                        this.ProjectCostRateRemarkField = value;
                        this.RaisePropertyChanged("ProjectCostRateRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ProjectLeaderEdu
            {
                get
                {
                    return this.ProjectLeaderEduField;
                }
                set
                {
                    if ((this.ProjectLeaderEduField.Equals(value) != true))
                    {
                        this.ProjectLeaderEduField = value;
                        this.RaisePropertyChanged("ProjectLeaderEdu");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ProjectLeaderEduRemark
            {
                get
                {
                    return this.ProjectLeaderEduRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ProjectLeaderEduRemarkField, value) != true))
                    {
                        this.ProjectLeaderEduRemarkField = value;
                        this.RaisePropertyChanged("ProjectLeaderEduRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> ProtectionInput
            {
                get
                {
                    return this.ProtectionInputField;
                }
                set
                {
                    if ((this.ProtectionInputField.Equals(value) != true))
                    {
                        this.ProtectionInputField = value;
                        this.RaisePropertyChanged("ProtectionInput");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ProtectionInputRemark
            {
                get
                {
                    return this.ProtectionInputRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ProtectionInputRemarkField, value) != true))
                    {
                        this.ProtectionInputRemarkField = value;
                        this.RaisePropertyChanged("ProtectionInputRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Quarters
            {
                get
                {
                    return this.QuartersField;
                }
                set
                {
                    if ((this.QuartersField.Equals(value) != true))
                    {
                        this.QuartersField = value;
                        this.RaisePropertyChanged("Quarters");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string Remarks
            {
                get
                {
                    return this.RemarksField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.RemarksField, value) != true))
                    {
                        this.RemarksField = value;
                        this.RaisePropertyChanged("Remarks");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> Revenue
            {
                get
                {
                    return this.RevenueField;
                }
                set
                {
                    if ((this.RevenueField.Equals(value) != true))
                    {
                        this.RevenueField = value;
                        this.RaisePropertyChanged("Revenue");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string RevenueRemark
            {
                get
                {
                    return this.RevenueRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.RevenueRemarkField, value) != true))
                    {
                        this.RevenueRemarkField = value;
                        this.RaisePropertyChanged("RevenueRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string SafetyQuarterlyReportId
            {
                get
                {
                    return this.SafetyQuarterlyReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.SafetyQuarterlyReportIdField, value) != true))
                    {
                        this.SafetyQuarterlyReportIdField = value;
                        this.RaisePropertyChanged("SafetyQuarterlyReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SeriousInjuryAccident
            {
                get
                {
                    return this.SeriousInjuryAccidentField;
                }
                set
                {
                    if ((this.SeriousInjuryAccidentField.Equals(value) != true))
                    {
                        this.SeriousInjuryAccidentField = value;
                        this.RaisePropertyChanged("SeriousInjuryAccident");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string SeriousInjuryAccidentRemark
            {
                get
                {
                    return this.SeriousInjuryAccidentRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.SeriousInjuryAccidentRemarkField, value) != true))
                    {
                        this.SeriousInjuryAccidentRemarkField = value;
                        this.RaisePropertyChanged("SeriousInjuryAccidentRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> TechnologyProgressIn
            {
                get
                {
                    return this.TechnologyProgressInField;
                }
                set
                {
                    if ((this.TechnologyProgressInField.Equals(value) != true))
                    {
                        this.TechnologyProgressInField = value;
                        this.RaisePropertyChanged("TechnologyProgressIn");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string TechnologyProgressInRemark
            {
                get
                {
                    return this.TechnologyProgressInRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.TechnologyProgressInRemarkField, value) != true))
                    {
                        this.TechnologyProgressInRemarkField = value;
                        this.RaisePropertyChanged("TechnologyProgressInRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> ThreeKidsEduRate
            {
                get
                {
                    return this.ThreeKidsEduRateField;
                }
                set
                {
                    if ((this.ThreeKidsEduRateField.Equals(value) != true))
                    {
                        this.ThreeKidsEduRateField = value;
                        this.RaisePropertyChanged("ThreeKidsEduRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ThreeKidsEduRateRemark
            {
                get
                {
                    return this.ThreeKidsEduRateRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ThreeKidsEduRateRemarkField, value) != true))
                    {
                        this.ThreeKidsEduRateRemarkField = value;
                        this.RaisePropertyChanged("ThreeKidsEduRateRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalInWorkHours
            {
                get
                {
                    return this.TotalInWorkHoursField;
                }
                set
                {
                    if ((this.TotalInWorkHoursField.Equals(value) != true))
                    {
                        this.TotalInWorkHoursField = value;
                        this.RaisePropertyChanged("TotalInWorkHours");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string TotalInWorkHoursRemark
            {
                get
                {
                    return this.TotalInWorkHoursRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.TotalInWorkHoursRemarkField, value) != true))
                    {
                        this.TotalInWorkHoursRemarkField = value;
                        this.RaisePropertyChanged("TotalInWorkHoursRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalOutWorkHours
            {
                get
                {
                    return this.TotalOutWorkHoursField;
                }
                set
                {
                    if ((this.TotalOutWorkHoursField.Equals(value) != true))
                    {
                        this.TotalOutWorkHoursField = value;
                        this.RaisePropertyChanged("TotalOutWorkHours");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string TotalOutWorkHoursRemark
            {
                get
                {
                    return this.TotalOutWorkHoursRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.TotalOutWorkHoursRemarkField, value) != true))
                    {
                        this.TotalOutWorkHoursRemarkField = value;
                        this.RaisePropertyChanged("TotalOutWorkHoursRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string UnitId
            {
                get
                {
                    return this.UnitIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.UnitIdField, value) != true))
                    {
                        this.UnitIdField = value;
                        this.RaisePropertyChanged("UnitId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> UnitTimeIncome
            {
                get
                {
                    return this.UnitTimeIncomeField;
                }
                set
                {
                    if ((this.UnitTimeIncomeField.Equals(value) != true))
                    {
                        this.UnitTimeIncomeField = value;
                        this.RaisePropertyChanged("UnitTimeIncome");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string UnitTimeIncomeRemark
            {
                get
                {
                    return this.UnitTimeIncomeRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.UnitTimeIncomeRemarkField, value) != true))
                    {
                        this.UnitTimeIncomeRemarkField = value;
                        this.RaisePropertyChanged("UnitTimeIncomeRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> UplinReportRate
            {
                get
                {
                    return this.UplinReportRateField;
                }
                set
                {
                    if ((this.UplinReportRateField.Equals(value) != true))
                    {
                        this.UplinReportRateField = value;
                        this.RaisePropertyChanged("UplinReportRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string UplinReportRateRemark
            {
                get
                {
                    return this.UplinReportRateRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.UplinReportRateRemarkField, value) != true))
                    {
                        this.UplinReportRateRemarkField = value;
                        this.RaisePropertyChanged("UplinReportRateRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> WorkHoursAccuracy
            {
                get
                {
                    return this.WorkHoursAccuracyField;
                }
                set
                {
                    if ((this.WorkHoursAccuracyField.Equals(value) != true))
                    {
                        this.WorkHoursAccuracyField = value;
                        this.RaisePropertyChanged("WorkHoursAccuracy");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string WorkHoursAccuracyRemark
            {
                get
                {
                    return this.WorkHoursAccuracyRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.WorkHoursAccuracyRemarkField, value) != true))
                    {
                        this.WorkHoursAccuracyRemarkField = value;
                        this.RaisePropertyChanged("WorkHoursAccuracyRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> WorkHoursLossRate
            {
                get
                {
                    return this.WorkHoursLossRateField;
                }
                set
                {
                    if ((this.WorkHoursLossRateField.Equals(value) != true))
                    {
                        this.WorkHoursLossRateField = value;
                        this.RaisePropertyChanged("WorkHoursLossRate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string WorkHoursLossRateRemark
            {
                get
                {
                    return this.WorkHoursLossRateRemarkField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.WorkHoursLossRateRemarkField, value) != true))
                    {
                        this.WorkHoursLossRateRemarkField = value;
                        this.RaisePropertyChanged("WorkHoursLossRateRemark");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> YearId
            {
                get
                {
                    return this.YearIdField;
                }
                set
                {
                    if ((this.YearIdField.Equals(value) != true))
                    {
                        this.YearIdField = value;
                        this.RaisePropertyChanged("YearId");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_DrillConductedQuarterlyReport : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string CompileManField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillConductedQuarterlyReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> QuarterField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<System.DateTime> ReportDateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string UnitIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> YearIdField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string CompileMan
            {
                get
                {
                    return this.CompileManField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.CompileManField, value) != true))
                    {
                        this.CompileManField = value;
                        this.RaisePropertyChanged("CompileMan");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillConductedQuarterlyReportId
            {
                get
                {
                    return this.DrillConductedQuarterlyReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillConductedQuarterlyReportIdField, value) != true))
                    {
                        this.DrillConductedQuarterlyReportIdField = value;
                        this.RaisePropertyChanged("DrillConductedQuarterlyReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> Quarter
            {
                get
                {
                    return this.QuarterField;
                }
                set
                {
                    if ((this.QuarterField.Equals(value) != true))
                    {
                        this.QuarterField = value;
                        this.RaisePropertyChanged("Quarter");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<System.DateTime> ReportDate
            {
                get
                {
                    return this.ReportDateField;
                }
                set
                {
                    if ((this.ReportDateField.Equals(value) != true))
                    {
                        this.ReportDateField = value;
                        this.RaisePropertyChanged("ReportDate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string UnitId
            {
                get
                {
                    return this.UnitIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.UnitIdField, value) != true))
                    {
                        this.UnitIdField = value;
                        this.RaisePropertyChanged("UnitId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> YearId
            {
                get
                {
                    return this.YearIdField;
                }
                set
                {
                    if ((this.YearIdField.Equals(value) != true))
                    {
                        this.YearIdField = value;
                        this.RaisePropertyChanged("YearId");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_DrillConductedQuarterlyReportItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> BasicConductCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> BasicInvestmentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> BasicPeopleCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> CPDesktopField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> CPSceneField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> ComprehensivePracticeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillConductedQuarterlyReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillConductedQuarterlyReportItemIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> HQConductCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> HQInvestmentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> HQPeopleCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string IndustryTypeField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SDDesktopField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SDSceneField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SortIndexField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SpecialDrillField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalConductCountField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<decimal> TotalInvestmentField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> TotalPeopleCountField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> BasicConductCount
            {
                get
                {
                    return this.BasicConductCountField;
                }
                set
                {
                    if ((this.BasicConductCountField.Equals(value) != true))
                    {
                        this.BasicConductCountField = value;
                        this.RaisePropertyChanged("BasicConductCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> BasicInvestment
            {
                get
                {
                    return this.BasicInvestmentField;
                }
                set
                {
                    if ((this.BasicInvestmentField.Equals(value) != true))
                    {
                        this.BasicInvestmentField = value;
                        this.RaisePropertyChanged("BasicInvestment");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> BasicPeopleCount
            {
                get
                {
                    return this.BasicPeopleCountField;
                }
                set
                {
                    if ((this.BasicPeopleCountField.Equals(value) != true))
                    {
                        this.BasicPeopleCountField = value;
                        this.RaisePropertyChanged("BasicPeopleCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> CPDesktop
            {
                get
                {
                    return this.CPDesktopField;
                }
                set
                {
                    if ((this.CPDesktopField.Equals(value) != true))
                    {
                        this.CPDesktopField = value;
                        this.RaisePropertyChanged("CPDesktop");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> CPScene
            {
                get
                {
                    return this.CPSceneField;
                }
                set
                {
                    if ((this.CPSceneField.Equals(value) != true))
                    {
                        this.CPSceneField = value;
                        this.RaisePropertyChanged("CPScene");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> ComprehensivePractice
            {
                get
                {
                    return this.ComprehensivePracticeField;
                }
                set
                {
                    if ((this.ComprehensivePracticeField.Equals(value) != true))
                    {
                        this.ComprehensivePracticeField = value;
                        this.RaisePropertyChanged("ComprehensivePractice");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillConductedQuarterlyReportId
            {
                get
                {
                    return this.DrillConductedQuarterlyReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillConductedQuarterlyReportIdField, value) != true))
                    {
                        this.DrillConductedQuarterlyReportIdField = value;
                        this.RaisePropertyChanged("DrillConductedQuarterlyReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillConductedQuarterlyReportItemId
            {
                get
                {
                    return this.DrillConductedQuarterlyReportItemIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillConductedQuarterlyReportItemIdField, value) != true))
                    {
                        this.DrillConductedQuarterlyReportItemIdField = value;
                        this.RaisePropertyChanged("DrillConductedQuarterlyReportItemId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> HQConductCount
            {
                get
                {
                    return this.HQConductCountField;
                }
                set
                {
                    if ((this.HQConductCountField.Equals(value) != true))
                    {
                        this.HQConductCountField = value;
                        this.RaisePropertyChanged("HQConductCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> HQInvestment
            {
                get
                {
                    return this.HQInvestmentField;
                }
                set
                {
                    if ((this.HQInvestmentField.Equals(value) != true))
                    {
                        this.HQInvestmentField = value;
                        this.RaisePropertyChanged("HQInvestment");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> HQPeopleCount
            {
                get
                {
                    return this.HQPeopleCountField;
                }
                set
                {
                    if ((this.HQPeopleCountField.Equals(value) != true))
                    {
                        this.HQPeopleCountField = value;
                        this.RaisePropertyChanged("HQPeopleCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string IndustryType
            {
                get
                {
                    return this.IndustryTypeField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.IndustryTypeField, value) != true))
                    {
                        this.IndustryTypeField = value;
                        this.RaisePropertyChanged("IndustryType");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SDDesktop
            {
                get
                {
                    return this.SDDesktopField;
                }
                set
                {
                    if ((this.SDDesktopField.Equals(value) != true))
                    {
                        this.SDDesktopField = value;
                        this.RaisePropertyChanged("SDDesktop");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SDScene
            {
                get
                {
                    return this.SDSceneField;
                }
                set
                {
                    if ((this.SDSceneField.Equals(value) != true))
                    {
                        this.SDSceneField = value;
                        this.RaisePropertyChanged("SDScene");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SortIndex
            {
                get
                {
                    return this.SortIndexField;
                }
                set
                {
                    if ((this.SortIndexField.Equals(value) != true))
                    {
                        this.SortIndexField = value;
                        this.RaisePropertyChanged("SortIndex");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SpecialDrill
            {
                get
                {
                    return this.SpecialDrillField;
                }
                set
                {
                    if ((this.SpecialDrillField.Equals(value) != true))
                    {
                        this.SpecialDrillField = value;
                        this.RaisePropertyChanged("SpecialDrill");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalConductCount
            {
                get
                {
                    return this.TotalConductCountField;
                }
                set
                {
                    if ((this.TotalConductCountField.Equals(value) != true))
                    {
                        this.TotalConductCountField = value;
                        this.RaisePropertyChanged("TotalConductCount");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<decimal> TotalInvestment
            {
                get
                {
                    return this.TotalInvestmentField;
                }
                set
                {
                    if ((this.TotalInvestmentField.Equals(value) != true))
                    {
                        this.TotalInvestmentField = value;
                        this.RaisePropertyChanged("TotalInvestment");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> TotalPeopleCount
            {
                get
                {
                    return this.TotalPeopleCountField;
                }
                set
                {
                    if ((this.TotalPeopleCountField.Equals(value) != true))
                    {
                        this.TotalPeopleCountField = value;
                        this.RaisePropertyChanged("TotalPeopleCount");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_DrillPlanHalfYearReport : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<System.DateTime> CompileDateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string CompileManField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillPlanHalfYearReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> HalfYearIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string TelephoneField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string UnitIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> YearIdField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<System.DateTime> CompileDate
            {
                get
                {
                    return this.CompileDateField;
                }
                set
                {
                    if ((this.CompileDateField.Equals(value) != true))
                    {
                        this.CompileDateField = value;
                        this.RaisePropertyChanged("CompileDate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string CompileMan
            {
                get
                {
                    return this.CompileManField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.CompileManField, value) != true))
                    {
                        this.CompileManField = value;
                        this.RaisePropertyChanged("CompileMan");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillPlanHalfYearReportId
            {
                get
                {
                    return this.DrillPlanHalfYearReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillPlanHalfYearReportIdField, value) != true))
                    {
                        this.DrillPlanHalfYearReportIdField = value;
                        this.RaisePropertyChanged("DrillPlanHalfYearReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> HalfYearId
            {
                get
                {
                    return this.HalfYearIdField;
                }
                set
                {
                    if ((this.HalfYearIdField.Equals(value) != true))
                    {
                        this.HalfYearIdField = value;
                        this.RaisePropertyChanged("HalfYearId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string Telephone
            {
                get
                {
                    return this.TelephoneField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.TelephoneField, value) != true))
                    {
                        this.TelephoneField = value;
                        this.RaisePropertyChanged("Telephone");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string UnitId
            {
                get
                {
                    return this.UnitIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.UnitIdField, value) != true))
                    {
                        this.UnitIdField = value;
                        this.RaisePropertyChanged("UnitId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> YearId
            {
                get
                {
                    return this.YearIdField;
                }
                set
                {
                    if ((this.YearIdField.Equals(value) != true))
                    {
                        this.YearIdField = value;
                        this.RaisePropertyChanged("YearId");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }

        public partial class Information_DrillPlanHalfYearReportItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged
        {

            [System.NonSerializedAttribute()]
            private System.Runtime.Serialization.ExtensionDataObject extensionDataField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string AccidentSceneField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillPlanDateField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillPlanHalfYearReportIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillPlanHalfYearReportItemIdField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string DrillPlanNameField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string ExerciseWayField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private string OrganizationUnitField;

            [System.Runtime.Serialization.OptionalFieldAttribute()]
            private System.Nullable<int> SortIndexField;

            [global::System.ComponentModel.BrowsableAttribute(false)]
            public System.Runtime.Serialization.ExtensionDataObject ExtensionData
            {
                get
                {
                    return this.extensionDataField;
                }
                set
                {
                    this.extensionDataField = value;
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string AccidentScene
            {
                get
                {
                    return this.AccidentSceneField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.AccidentSceneField, value) != true))
                    {
                        this.AccidentSceneField = value;
                        this.RaisePropertyChanged("AccidentScene");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillPlanDate
            {
                get
                {
                    return this.DrillPlanDateField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillPlanDateField, value) != true))
                    {
                        this.DrillPlanDateField = value;
                        this.RaisePropertyChanged("DrillPlanDate");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillPlanHalfYearReportId
            {
                get
                {
                    return this.DrillPlanHalfYearReportIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillPlanHalfYearReportIdField, value) != true))
                    {
                        this.DrillPlanHalfYearReportIdField = value;
                        this.RaisePropertyChanged("DrillPlanHalfYearReportId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillPlanHalfYearReportItemId
            {
                get
                {
                    return this.DrillPlanHalfYearReportItemIdField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillPlanHalfYearReportItemIdField, value) != true))
                    {
                        this.DrillPlanHalfYearReportItemIdField = value;
                        this.RaisePropertyChanged("DrillPlanHalfYearReportItemId");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string DrillPlanName
            {
                get
                {
                    return this.DrillPlanNameField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.DrillPlanNameField, value) != true))
                    {
                        this.DrillPlanNameField = value;
                        this.RaisePropertyChanged("DrillPlanName");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string ExerciseWay
            {
                get
                {
                    return this.ExerciseWayField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.ExerciseWayField, value) != true))
                    {
                        this.ExerciseWayField = value;
                        this.RaisePropertyChanged("ExerciseWay");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public string OrganizationUnit
            {
                get
                {
                    return this.OrganizationUnitField;
                }
                set
                {
                    if ((object.ReferenceEquals(this.OrganizationUnitField, value) != true))
                    {
                        this.OrganizationUnitField = value;
                        this.RaisePropertyChanged("OrganizationUnit");
                    }
                }
            }

            [System.Runtime.Serialization.DataMemberAttribute()]
            public System.Nullable<int> SortIndex
            {
                get
                {
                    return this.SortIndexField;
                }
                set
                {
                    if ((this.SortIndexField.Equals(value) != true))
                    {
                        this.SortIndexField = value;
                        this.RaisePropertyChanged("SortIndex");
                    }
                }
            }

            public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;

            protected void RaisePropertyChanged(string propertyName)
            {
                System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
                if ((propertyChanged != null))
                {
                    propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
                }
            }
        }
    }
}