コード例 #1
0
        /// <summary>
        /// 30、	项目详情
        /// </summary>
        /// <param name="id">项目id</param>
        /// <returns></returns>
        /// Jerry Shi
        public ProjectDetailResponse detail(string token, string id)
        {
            ProjectDetailResponse projectDetailResponse = new ProjectDetailResponse();

            try
            {
                string ApiResponse = string.Empty;

                Dictionary <string, string> sPara = new Dictionary <string, string>();

                sPara.Add("id", id);

                ApiResponse = F8YLSubmit.BuildGetRequest(sPara, "project/detail?token=" + token);

                if (!ApiResponse.Contains("[]"))
                {
                    projectDetailResponse = JsonHelper.DeserializeJsonToObject <ProjectDetailResponse>(ApiResponse);
                }
            }
            catch (Exception ex)
            {
                AppLog.Instance.Write("detail", AppLog.LogMessageType.Error, ex);
            }
            return(projectDetailResponse);
        }
コード例 #2
0
        /// <summary>
        /// 获取项目明细
        /// </summary>
        /// <param name="projectId"></param>
        /// <returns></returns>
        public async Task <ProjectDetailResponse> GetDetailAsync(string projectId)
        {
            var query = new SqlBuilder();

            query.AddSql(@"
select distinct pro.Id
              , pro.Name            ProjectName
              , pro.EngineerId      ProjectCollectionId
              , eng.Name            ProjectCollectionName
              , pro.PType           ProjectType
              , pro.Code            ProjectCode
              , pro.KvLevel         KVLevel
              , pro.ConstructType   Construction
              , pro.Stage           Stage
              , pro.Batch           Batch
              , eng.PlannedYear     BatchYear
              , pro.PileRange       PileRange
              , pro.DisclosureRange DisclosureRange
              , ''                  Province
              , ''                  City
              , ''                  Area
              , pro.Meteorologic    Meteorologic
              , pro.CompanyId       CompanyId
              , pro.CreatedOn       CreatedOn
              , ps.Status           FlowState
              , ps.IsResetSurvey    IsResetSurvey
              , '备注'                Remark
from pdd_t_project pro
         inner join pdd_t_engineer eng on eng.Id = pro.EngineerId
         inner join pdd_t_project_state ps on ps.Id = pro.Id
         inner join pdd_t_project_allot_user pau
                    on pau.ProjectId = pro.Id and pau.UserId = @UserId and pau.ArrangeType = 1 
where pro.Id = @ProjectId;");
            query.AddParam("UserId", CurrentUser.Id);
            query.AddParam("ProjectId", projectId);
            var project = await DbHelper.QuerySingleAsync <ProjectResponse>(query);

            var projectState = await DbHelper.FindByIdAsync <ProjectState>(project.Id);

            ProjectDetailResponse result = null;

            if (project != null)
            {
                result         = new ProjectDetailResponse();
                result.Project = project;
                if (project.FlowState == ProjectFlowState.未勘察)
                {
                    return(result);
                }
                query.ClearSql();
                query.AddSql(@"
                SELECT tower.*,extTower.PoleTypeCode FROM pdd_t_survey_tower  tower
                LEFT JOIN pdd_t_survey_tower_ext extTower 
                on tower.ID=extTower.ID
                WHERE tower.ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT ptsc.*,ptsce.C_ModeID
                FROM pdd_t_survey_cable as ptsc
				LEFT JOIN pdd_t_survey_cable_ext as ptsce ON ptsc.ID=ptsce.ID
                WHERE ptsc.ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_survey_cablechannel
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_survey_cabledevice
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_survey_overheaddevice
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT line.*,lineExt.L_ModeID FROM pdd_t_survey_line  line
                LEFT JOIN pdd_t_survey_line_ext lineExt on lineExt.Id=line.ID
                WHERE line.ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_survey_mark
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_survey_media
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_trackrecord
                WHERE ProjectID=@ProjectId and RecordType=1;");
                query.AddSql(@"
                SELECT *
                FROM pdd_t_design_tower tower
                LEFT JOIN pdd_t_design_tower_ext extTower 
                on tower.ID=extTower.ID
                WHERE tower.ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT ptdc.*,ptdce.C_ModeID
                FROM pdd_t_design_cable  as ptdc
				LEFT JOIN pdd_t_design_cable_ext as ptdce ON ptdc.ID=ptdce.ID
                WHERE ptdc.ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_design_cablechannel
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_design_cabledevice
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_design_overheaddevice
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT line.*,lineExt.L_ModeID FROM pdd_t_design_line  line
                LEFT JOIN pdd_t_design_line_ext lineExt on lineExt.Id=line.ID
                WHERE line.ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_design_mark
                WHERE ProjectID=@ProjectId;");
                query.AddSql(@"
                SELECT * FROM pdd_t_design_media
                WHERE ProjectID=@ProjectId;");

                if ((projectState.OutsideStatus & ProjectOutsideStatus.交底中) > 0 || (projectState.OutsideStatus & ProjectOutsideStatus.交底完成) > 0)
                {
                    query.AddSql(@"
                    SELECT * FROM pdd_t_trackrecord
                    WHERE ProjectID=@ProjectId and RecordType=2;");
                    query.AddSql(@"
                    SELECT * FROM pdd_t_project_disclosure
                    WHERE ProjectID=@ProjectId;");
                    query.AddSql(@"
                    SELECT * FROM pdd_t_project_disclosureitem
                    WHERE ProjectID=@ProjectId;");
                }
                using (var reader = await DbHelper.QueryMultipleAsync(query))
                {
                    result.SurveyData        = new CollectionDataResponse();
                    result.SurveyData.Towers = await reader.ReadAsync <TowerResponse>();

                    result.SurveyData.Cables = await reader.ReadAsync <CableResponse>();

                    result.SurveyData.CableChannels = await reader.ReadAsync <CableChannelResponse>();

                    result.SurveyData.CableEquipments = await reader.ReadAsync <CableEquipmentResponse>();

                    result.SurveyData.OverheadEquipments = await reader.ReadAsync <OverheadEquipmentResponse>();

                    result.SurveyData.Lines = await reader.ReadAsync <LineResponse>();

                    foreach (var surveyDataLine in result.SurveyData.Lines)
                    {
                        surveyDataLine.L_Mode = surveyDataLine.L_ModeID;
                    }
                    result.SurveyData.Marks = await reader.ReadAsync <MarkResponse>();

                    result.SurveyData.Medias = await reader.ReadAsync <MediaResponse>();

                    result.SurveyData.TrackRecords = await reader.ReadAsync <ProjectTrackRecordResponse>();

                    result.DesignData        = new CollectionDataResponse();
                    result.DesignData.Towers = await reader.ReadAsync <TowerResponse>();

                    result.DesignData.Cables = await reader.ReadAsync <CableResponse>();

                    result.DesignData.CableChannels = await reader.ReadAsync <CableChannelResponse>();

                    result.DesignData.CableEquipments = await reader.ReadAsync <CableEquipmentResponse>();

                    result.DesignData.OverheadEquipments = await reader.ReadAsync <OverheadEquipmentResponse>();

                    result.DesignData.Lines = await reader.ReadAsync <LineResponse>();

                    foreach (var designDataLine in result.DesignData.Lines)
                    {
                        designDataLine.L_Mode = designDataLine.L_ModeID;
                    }
                    result.DesignData.Marks = await reader.ReadAsync <MarkResponse>();

                    result.DesignData.Medias = await reader.ReadAsync <MediaResponse>();


                    if ((projectState.OutsideStatus & ProjectOutsideStatus.交底中) > 0 || (projectState.OutsideStatus & ProjectOutsideStatus.交底完成) > 0)
                    {
                        result.DisclosureData = new DisclosureDataResponse();
                        result.DisclosureData.TrackRecords = await reader.ReadAsync <ProjectTrackRecordResponse>();

                        result.DisclosureData.Disclosures = (await reader.ReadAsync <ProjectDisclosureResponse>())?.ToList();
                        var disclosureItems = (await reader.ReadAsync <ProjectDisclosureItemResponse>())?.ToList();
                        if (result.DisclosureData.Disclosures.HasVal() && disclosureItems.HasVal())
                        {
                            foreach (var item in result.DisclosureData.Disclosures)
                            {
                                item.Items = disclosureItems.Where(m => m.DisclosureId == item.Id).ToList();
                                disclosureItems.RemoveAll(m => m.DisclosureId == item.Id);
                            }
                        }
                    }
                }
            }
            return(result);
        }
コード例 #3
0
        //ProjectDetail
        public ActionResult ProjectDetail(string id)
        {
            var token = Session["token"] == null ? "XXXXXXX" : Session["token"].ToString();

            ViewBag.role     = Session["role"] == null ? "XXXXXXX" : Session["role"].ToString();
            ViewBag.username = Session["username"] == null ? "XXXXXXX" : Session["username"].ToString();

            ViewBag.sessionHospitalid = Session["hospitalid"] == null ? "XXXXXXX" : Session["hospitalid"].ToString();


            //实体
            ProjectDetailResponse projectDetailResponse = new ProjectDetailResponse();

            HospitalRequest hospitalrequest = new HospitalRequest();

            HospitalSearchResponse response = new HospitalSearchResponse();                  //医院列表

            HospitalUserProfileResponse hospitalprofile = new HospitalUserProfileResponse(); //医院pi

            ProjectTplListResponse tplListResponse = new ProjectTplListResponse();           //模板列表

            TplDetailResponse tpldetailresponse = new TplDetailResponse();                   //模板详情

            //方法
            UserRequest userrequest = new UserRequest();

            ViewBag.UserFile = userrequest.profile(token, "").data;

            ProjectRequest projecttplrequest = new ProjectRequest();

            //TplRequest tplrequest = new TplRequest();

            List <HospitalUserProfileResponse> listhospitalfrofile = new List <HospitalUserProfileResponse>();

            string apiResponse = string.Empty;

            try
            {
                projectDetailResponse = projectRequest.detail(token, id);

                if (projectDetailResponse.data != null)
                {
                    if (projectDetailResponse.data.tpl == null)
                    {
                        projectDetailResponse.data.tpl = new List <ProjectDetailTplInfo>();
                    }

                    //模板列表
                    tplListResponse = projecttplrequest.ProjectTplList(token, projectDetailResponse.data.id, "", 1);

                    if (tplListResponse.data != null)
                    {
                        //列表detail
                        tpldetailresponse = tplrequest.TplDetail(token, tplListResponse.data.data[0].tplid);
                    }

                    //医院列表
                    response = hospitalrequest.Search(token, 1, "");

                    //医院pi
                    if (response.data != null)
                    {
                        foreach (HospitalEntity hs in response.data.data)
                        {
                            hospitalprofile = userrequest.SearchHospitalPi(token, hs.id, "");
                            if (hospitalprofile.data != null)
                            {
                                listhospitalfrofile.Add(hospitalprofile);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            ViewBag.TplList        = tplListResponse;     //tpllist
            ViewBag.hospitalSearch = response;            //hospitallist
            ViewBag.hopital        = listhospitalfrofile; //pi
            ViewBag.TplDetail      = tpldetailresponse;   //tpldetail
            ViewBag.Token          = token;
            return(View(projectDetailResponse));
        }