예제 #1
0
        public int SetAllotStatus(string userName, int cityId, long[] allotIds, int oldCode, int stateCode, string remark
                                  , string userTrueName = "", string surveyUserName = "", string surveyUserTrueName = "", string checkRemark = "")
        {
            //var allotFlows = _unitOfWork.AllotFlowRepository.Get(m => allotIds.Contains(m.Id) && (m.UserName == userName || m.SurveyUserName == userName));
            var allotFlows = _unitOfWork.AllotFlowRepository.Get(m => allotIds.Contains(m.Id));
            //原状态错误
            var checkState = allotFlows.Where(m => m.StateCode != oldCode);

            if (checkState != null && checkState.Count() > 0)
            {
                return(0);
            }

            foreach (var allotFlow in allotFlows)
            {
                //var project = _unitOfWork.ProjectRepository.GetBy(m => m.ProjectId == allotFlow.DatId && m.CityID == cityId);

                DateTime time = DateTime.Now;
                //更新任务
                allotFlow.StateCode = stateCode;
                allotFlow.StateDate = time;

                //更新楼盘
                allotFlow.Project.Status   = stateCode;
                allotFlow.Project.SaleDate = time;
                allotFlow.Project.SaveUser = userName;
                //更新任务记录
                AllotSurvey survey = new AllotSurvey();
                survey.AllotId      = allotFlow.Id;
                survey.CityId       = allotFlow.CityId;
                survey.FxtCompanyId = allotFlow.FxtCompanyId;
                survey.CreateDate   = time;
                survey.StateDate    = time;
                survey.StateCode    = stateCode;
                survey.UserName     = userName;
                survey.TrueName     = userTrueName;
                survey.Remark       = remark;

                //撤销任务
                if (stateCode == SYSCodeManager.STATECODE_1)
                {
                    //allotFlow.UserName = "";
                    //allotFlow.UserTrueName = "";
                    allotFlow.SurveyUserName     = "";
                    allotFlow.SurveyUserTrueName = "";
                }
                //分配任务
                if (oldCode == SYSCodeManager.STATECODE_1 && stateCode == SYSCodeManager.STATECODE_2)
                {
                    allotFlow.UserName           = userName;
                    allotFlow.UserTrueName       = userTrueName;
                    allotFlow.SurveyUserName     = surveyUserName;
                    allotFlow.SurveyUserTrueName = surveyUserTrueName;
                }

                _unitOfWork.AllotFlowRepository.Update(allotFlow);
                //_unitOfWork.ProjectRepository.Update(project);
                _unitOfWork.AllotSurveyRepository.Insert(survey);
            }
            return(_unitOfWork.Commit());
        }
예제 #2
0
        /// <summary>
        /// 新增任务
        /// </summary>
        /// <param name="project">楼盘</param>
        /// <param name="developersCompany">开发商</param>
        /// <param name="managerCompany">物管公司</param>
        /// <returns>任务已存在返回任务状态,1.成功,0失败,-1未设置模板</returns>
        public ProjectAllotFlowSurveyDto AddAllot(Project project, string developersCompany, string managerCompany, string remark, int cityId, int fxtCompanyId, string userName, string userTrueName, int status)
        {
            ProjectAllotFlowSurveyDto dto = new ProjectAllotFlowSurveyDto();

            DateTime now = DateTime.Now;

            //模板
            var templet = _unitOfWork.TempletRepository.GetBy(m => m.FxtCompanyId == fxtCompanyId && m.DatType == SYSCodeManager.DATATYPECODE_1 && m.IsCurrent == true && m.Vaild == 1);

            if (templet == null)
            {
                dto.AllotState = -1;

                return(dto);
            }

            project.CityID       = cityId;
            project.Status       = status;
            project.FxtCompanyId = fxtCompanyId;
            project.CreateTime   = now;
            project.Creator      = userName;
            project.Valid        = 1;
            project.TempletId    = templet.TempletId;
            project = _unitOfWork.ProjectRepository.Insert(project);
            _unitOfWork.Commit();
            //任务
            var allot = new AllotFlow()
            {
                CityId             = project.CityID,
                CreateTime         = now,
                DatType            = SYSCodeManager.DATATYPECODE_1,
                FxtCompanyId       = project.FxtCompanyId.Value,
                UserName           = userName,
                UserTrueName       = userTrueName,
                StateCode          = status,
                DatId              = project.ProjectId,
                StateDate          = now,
                SurveyUserName     = status == SYSCodeManager.STATECODE_2 ? userName : "",
                SurveyUserTrueName = status == SYSCodeManager.STATECODE_2 ? userTrueName : ""
            };

            allot = _unitOfWork.AllotFlowRepository.Insert(allot);
            _unitOfWork.Commit();
            //任务记录
            var allotSurvey = new AllotSurvey()
            {
                AllotId      = allot.Id,
                CityId       = allot.CityId,
                FxtCompanyId = fxtCompanyId,
                CreateDate   = now,
                StateCode    = status,
                StateDate    = now,
                UserName     = userName,
                TrueName     = userTrueName,
                Remark       = remark
            };

            allotSurvey = _unitOfWork.AllotSurveyRepository.Insert(allotSurvey);
            //停车状况
            var parkingStatus = _unitOfWork.P_AppendageRepository.Get(m => m.AppendageCode == SYSCodeManager.APPENDAGECODE_14 && m.CityId == project.CityID && m.ProjectId == project.ProjectId).FirstOrDefault();

            if (parkingStatus != null)
            {
                parkingStatus.ClassCode = project.ParkingStatus;
                _unitOfWork.P_AppendageRepository.Update(parkingStatus);
            }
            else
            {
                parkingStatus               = new PAppendage();
                parkingStatus.ClassCode     = project.ParkingStatus;
                parkingStatus.AppendageCode = SYSCodeManager.APPENDAGECODE_14;
                parkingStatus.CityId        = project.CityID;
                parkingStatus.ProjectId     = project.ProjectId;
                parkingStatus.IsInner       = true;
                _unitOfWork.P_AppendageRepository.Insert(parkingStatus);
            }
            //开发商
            if (!string.IsNullOrEmpty(developersCompany))
            {
                var developcompany = _unitOfWork.P_CompanyRepository.Get(m => m.CompanyName == developersCompany && m.CompanyType == SYSCodeManager.COMPANYTYPECODE_1 &&
                                                                         m.ProjectId == project.ProjectId && m.CityId == project.CityID).FirstOrDefault();
                if (developcompany == null)
                {
                    developcompany             = new PCompany();
                    developcompany.CityId      = project.CityID;
                    developcompany.CompanyName = developersCompany;
                    developcompany.CompanyType = SYSCodeManager.COMPANYTYPECODE_1;
                    developcompany.ProjectId   = project.ProjectId;
                    _unitOfWork.P_CompanyRepository.Insert(developcompany);
                }
            }
            //物管公司
            if (!string.IsNullOrEmpty(managerCompany))
            {
                var managercompany = _unitOfWork.P_CompanyRepository.Get(m => m.CompanyName == managerCompany && m.CompanyType == SYSCodeManager.COMPANYTYPECODE_4 &&
                                                                         m.ProjectId == project.ProjectId && m.CityId == project.CityID).FirstOrDefault();
                if (managercompany == null)
                {
                    managercompany             = new PCompany();
                    managercompany.CityId      = project.CityID;
                    managercompany.CompanyName = managerCompany;
                    managercompany.CompanyType = SYSCodeManager.COMPANYTYPECODE_4;
                    managercompany.ProjectId   = project.ProjectId;
                    _unitOfWork.P_CompanyRepository.Insert(managercompany);
                }
            }

            dto.AllotId    = allot.Id;
            dto.ProjectId  = project.ProjectId;
            dto.AllotState = _unitOfWork.Commit() > 0 ? 1 : 0;
            return(dto);
        }
예제 #3
0
        public ActionResult Call(string ids, UserCenter_LoginUserInfo loginUserInfo)
        {
            string mes = string.Empty;

            try
            {
                List <CAS.Entity.DBEntity.DATProject> projectList = DataCenterProjectApi.GetProjectBuildingHouse(loginUserInfo.NowCityId, ids, loginUserInfo.UserName, loginUserInfo.SignName, loginUserInfo.AppList);
                //log.Info("数据中心楼盘:" + projectList.Count);
                if (projectList != null && projectList.Count > 0)
                {
                    foreach (var item in projectList)
                    {
                        //行政区 + 楼盘名称||已有的projectid||没有入库
                        var exists = _unitOfWork.ProjectRepository.Get(m =>
                                                                       (m.ProjectName == item.projectname ||
                                                                        m.ProjectName == item.areaname + item.projectname ||
                                                                        m.FxtProjectId == item.projectid) && m.Status != SYSCodeManager.STATECODE_10
                                                                       ).FirstOrDefault();
                        if (exists != null)
                        {
                            mes += item.projectname + ",";
                            continue;//任务重复
                        }
                        DateTime now = DateTime.Now;
                        //楼盘
                        Project project = Mapper.Map <CAS.Entity.DBEntity.DATProject, Project>(item);
                        project.FxtProjectId = item.projectid;
                        project.FxtCompanyId = item.fxtcompanyid;
                        project.Status       = SYSCodeManager.STATECODE_1;
                        project.ProjectId    = 0;
                        project.CreateTime   = now;
                        project.X            = item.projectx;
                        project.Y            = item.projecty;
                        project.Valid        = 1;
                        //_unitOfWork.ProjectRepository.Insert(project);
                        project = _unitOfWork.ProjectRepository.Insert(project);
                        _unitOfWork.Commit();
                        //任务
                        var allot = new AllotFlow()
                        {
                            CityId       = project.CityID,
                            CreateTime   = now,
                            DatType      = SYSCodeManager.DATATYPECODE_1,
                            FxtCompanyId = project.FxtCompanyId.Value,
                            UserName     = loginUserInfo.UserName,
                            UserTrueName = loginUserInfo.TrueName,
                            StateCode    = SYSCodeManager.STATECODE_1,
                            DatId        = project.ProjectId,
                            StateDate    = now
                        };
                        allot = _unitOfWork.AllotFlowRepository.Insert(allot);
                        //_unitOfWork.Commit();
                        //任务记录
                        var allotSurvey = new AllotSurvey()
                        {
                            AllotId    = allot.Id,
                            CityId     = allot.CityId,
                            CreateDate = now,
                            StateCode  = SYSCodeManager.STATECODE_1,
                            StateDate  = now,
                            UserName   = loginUserInfo.UserName,
                            TrueName   = loginUserInfo.TrueName,
                            Remark     = "从调度中心(数据中心) <span class=\"red\">导入任务</span>"
                        };
                        allotSurvey = _unitOfWork.AllotSurveyRepository.Insert(allotSurvey);
                        //停车状况
                        var parkingStatus = _unitOfWork.P_AppendageRepository.Get(m => m.AppendageCode == SYSCodeManager.APPENDAGECODE_14 && m.CityId == project.CityID && m.ProjectId == project.ProjectId).FirstOrDefault();
                        if (parkingStatus != null)
                        {
                            parkingStatus.ClassCode = project.ParkingStatus;
                            _unitOfWork.P_AppendageRepository.Update(parkingStatus);
                        }
                        else
                        {
                            parkingStatus               = new PAppendage();
                            parkingStatus.ClassCode     = project.ParkingStatus;
                            parkingStatus.AppendageCode = SYSCodeManager.APPENDAGECODE_14;
                            parkingStatus.CityId        = project.CityID;
                            parkingStatus.ProjectId     = project.ProjectId;
                            parkingStatus.IsInner       = true;
                            _unitOfWork.P_AppendageRepository.Insert(parkingStatus);
                        }
                        //开发商
                        if (!string.IsNullOrEmpty(item.devecompanyname))
                        {
                            var developcompany = _unitOfWork.P_CompanyRepository.Get(m => m.CompanyName == item.devecompanyname && m.CompanyType == SYSCodeManager.COMPANYTYPECODE_1 &&
                                                                                     m.ProjectId == project.ProjectId && m.CityId == project.CityID).FirstOrDefault();
                            if (developcompany == null)
                            {
                                developcompany             = new PCompany();
                                developcompany.CityId      = project.CityID;
                                developcompany.CompanyName = item.devecompanyname;
                                developcompany.CompanyType = SYSCodeManager.COMPANYTYPECODE_1;
                                developcompany.ProjectId   = project.ProjectId;
                                _unitOfWork.P_CompanyRepository.Insert(developcompany);
                            }
                        }
                        //物管公司
                        if (!string.IsNullOrEmpty(item.managercompanyname))
                        {
                            var managercompany = _unitOfWork.P_CompanyRepository.Get(m => m.CompanyName == item.managercompanyname && m.CompanyType == SYSCodeManager.COMPANYTYPECODE_4 &&
                                                                                     m.ProjectId == project.ProjectId && m.CityId == project.CityID).FirstOrDefault();
                            if (managercompany == null)
                            {
                                managercompany             = new PCompany();
                                managercompany.CityId      = project.CityID;
                                managercompany.CompanyName = item.managercompanyname;
                                managercompany.CompanyType = SYSCodeManager.COMPANYTYPECODE_4;
                                managercompany.ProjectId   = project.ProjectId;
                                _unitOfWork.P_CompanyRepository.Insert(managercompany);
                            }
                        }
                    }
                    _unitOfWork.Commit();
                }
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }
            if (!string.IsNullOrEmpty(mes))
            {
                //mes += "部分任务导入完成,楼盘:";
                mes += ",不能重复导入。";
            }
            return(Json(new { result = 1, message = mes }));
        }