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()); }
/// <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); }
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 })); }