From 6e2b929cf381e2320ba6e7dec56c0371124d2b51 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期六, 27 八月 2022 15:03:00 +0800 Subject: [PATCH] 提交 --- zhengcaioa/Services/ProjectService.cs | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 259 insertions(+), 10 deletions(-) diff --git a/zhengcaioa/Services/ProjectService.cs b/zhengcaioa/Services/ProjectService.cs index 4097033..8c304df 100644 --- a/zhengcaioa/Services/ProjectService.cs +++ b/zhengcaioa/Services/ProjectService.cs @@ -64,6 +64,9 @@ updateproject.Name = project.Name; updateproject.Drhx = project.Drhx; updateproject.DrhxPrice = project.DrhxPrice; + updateproject.DrhxDefen = project.DrhxDefen; + updateproject.DshxDefen = project.DshxDefen; + updateproject.Dshx = project.Dshx; updateproject.Dshx = project.Dshx; updateproject.DshxPrice = project.DshxPrice; updateproject.Zhuanjia = project.Zhuanjia; @@ -89,6 +92,10 @@ updateproject.Dailiname = project.Dailiname; updateproject.Dailicontact = project.Dailicontact; updateproject.Dailiaddress = project.Dailiaddress; + updateproject.Fencha = project.Fencha; + updateproject.Shuliang = project.Shuliang; + updateproject.Caigouyusuan = project.Caigouyusuan; + } //瀛愯〃 @@ -188,6 +195,7 @@ } projectzhongbiao.Names = projectDTO.Names[i]; projectzhongbiao.Price = projectDTO.Price[i]; + projectzhongbiao.Defen = projectDTO.Defen[i]; projectzhongbiao.ProjectId = project.Id; _context.Projectzhongbiaos.Add(projectzhongbiao); } @@ -227,7 +235,10 @@ var projectDTO = _mapper.Map<ProjectDTO>(entity); - if(projectreasons!=null && projectreasons.Count>0) + projectDTO.DrhxDefenName = projectDTO.DrhxDefen.HasValue ? projectDTO.DrhxDefen.Value.ToString("F2") : ""; + projectDTO.DshxDefenName = projectDTO.DshxDefen.HasValue ? projectDTO.DshxDefen.Value.ToString("F2") : ""; + projectDTO.CaigouyusuanName = projectDTO.Caigouyusuan.HasValue ? projectDTO.Caigouyusuan.Value.ToString() : ""; + if (projectreasons!=null && projectreasons.Count>0) { projectDTO.projectreasons = projectreasons; } @@ -251,12 +262,26 @@ if (Projectzhongbiaos != null && Projectzhongbiaos.Count > 0) { - projectDTO.Projectzhongbiaos = Projectzhongbiaos; + List<ProjectzhongbiaoDTO> projectzhongbiaoDTOs = new List<ProjectzhongbiaoDTO>(); + foreach(var projectzhongbiao in Projectzhongbiaos) + { + ProjectzhongbiaoDTO projectzhongbiaoDTO = new ProjectzhongbiaoDTO(); + projectzhongbiaoDTO.DefenName = projectzhongbiao.Defen.HasValue ? projectzhongbiao.Defen.Value.ToString("F2") : ""; + + projectzhongbiaoDTO.ZhongbiaoId = projectzhongbiao.ZhongbiaoId; + projectzhongbiaoDTO.ProjectId = projectzhongbiao.ProjectId; + projectzhongbiaoDTO.Names = projectzhongbiao.Names; + projectzhongbiaoDTO.Price = projectzhongbiao.Price; + projectzhongbiaoDTO.Defen = projectzhongbiao.Defen; + + projectzhongbiaoDTOs.Add(projectzhongbiaoDTO); + } + projectDTO.Projectzhongbiaos = projectzhongbiaoDTOs; } else { - var Projectzhongbiaoslist = new List<Projectzhongbiao>(); - Projectzhongbiaoslist.Add(new Projectzhongbiao()); + var Projectzhongbiaoslist = new List<ProjectzhongbiaoDTO>(); + Projectzhongbiaoslist.Add(new ProjectzhongbiaoDTO()); projectDTO.Projectzhongbiaos = Projectzhongbiaoslist; } @@ -272,11 +297,11 @@ List<ProjectDTO> list = new List<ProjectDTO>(); //绛涢�� StringBuilder sql = new StringBuilder(); - sql.Append("SELECT distinct a.[Id],a.[start_time] ,b.[name] +'-'+c.[name]+'-'+d.[name] Sheng ,a.city ,a.[area_id],a.cgfs, a.[name] ,a.[number],a.creater,a.createtime,a.modifier,a.modifytime ,a.[drhx],a.[drhx_price],a.[dshx],a.[dshx_price],a.[remark],a.[rec_status] ,a.[question] ,a.[zhongbiaocishu],a.[feibiaocishu],a.[zhongbiaojine],a.[Fblx],a.[Fbyy] , a.[zhuanjia] , a.[caigourenname], a.[caigourenaddress], a.[caigourencontact], a.[dailiname], a.[dailiaddress], a.[dailicontact] ,toubiaocishu = stuff((select '銆�'+ f.[names] from [Projectzhongbiao] f where f.[ProjectId] = a.[Id] for xml path('')), 1,1, '') "); //zhuanjia = stuff((select ','+name from [Zhuanjia] f where CHARINDEX(f.id,a.[zhuanjia]) >0 for xml path('')), 1,1, '') + sql.Append("SELECT distinct a.[Id],a.[start_time],a.[drhx_defen],a.[caigouyusuan],a.[dshx_defen] ,a.sheng ,a.city ,a.[area_id],a.cgfs, a.[name] ,a.[number],a.creater,a.createtime,a.modifier,a.modifytime ,a.[drhx],a.[drhx_price],a.[dshx],a.[dshx_price],a.[Fencha],a.[Shuliang],a.[remark],a.[rec_status] ,a.[question] ,a.[zhongbiaocishu],a.[feibiaocishu],a.[zhongbiaojine],a.[Fblx],a.[Fbyy] , a.[zhuanjia] , a.[caigourenname], a.[caigourenaddress], a.[caigourencontact], a.[dailiname], a.[dailiaddress], a.[dailicontact] ,'' toubiaocishu "); //zhuanjia = stuff((select ','+name from [Zhuanjia] f where CHARINDEX(f.id,a.[zhuanjia]) >0 for xml path('')), 1,1, '') = stuff((select '銆�'+ f.[names] from [Projectzhongbiao] f where f.[ProjectId] = a.[Id] for xml path('')), 1,1, '') sql.Append("FROM [Project] a "); - sql.Append("left join [Area] b on a.[sheng] = b.[codeID] "); - sql.Append("left join [Area] c on a.[city] = c.[codeID] "); - sql.Append("left join [Area] d on a.[area_id] = d.[codeID] "); + //sql.Append("left join [Area] b on a.[sheng] = b.[codeID] "); + //sql.Append("left join [Area] c on a.[city] = c.[codeID] "); + //sql.Append("left join [Area] d on a.[area_id] = d.[codeID] "); //sql.Append("left join [Zhuanjia] e on CHARINDEX(e.id,a.[zhuanjia]) >0 "); sql.Append(" where a.rec_status='A' "); @@ -301,6 +326,79 @@ sql.Append(" )"); } + if (!string.IsNullOrWhiteSpace(searchEntity.Fencha)) + { + decimal aaaa = 0; + decimal.TryParse(searchEntity.Fencha, out aaaa); + if (aaaa > 0) + { + sql.Append(" and exists ( select b.[ProjectId] from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] and (b.[defen]-a.[drhx_defen]) <= " + aaaa + " ) "); + } + } + if (!string.IsNullOrWhiteSpace(searchEntity.Baojiachaxiaoyu)) + { + decimal aaaa = 0; + decimal.TryParse(searchEntity.Baojiachaxiaoyu, out aaaa); + if (aaaa > 0) + { + sql.Append(" and exists ( select b.[ProjectId] from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] and (convert(numeric(10,2),b.[price] )-convert(numeric(10,2),a.[drhx_price] )) <= " + aaaa + " ) "); + } + } + + + if (!string.IsNullOrWhiteSpace(searchEntity.Fenchadayu)) + { + decimal aaaa = 0; + decimal.TryParse(searchEntity.Fenchadayu, out aaaa); + if (aaaa > 0) + { + sql.Append(" and exists ( select b.[ProjectId] from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] and (b.[defen]-a.[drhx_defen]) >= " + aaaa + " ) "); + } + } + + if (!string.IsNullOrWhiteSpace(searchEntity.Shuliang)) + { + decimal aaaa = 0; + decimal.TryParse(searchEntity.Shuliang, out aaaa); + if (aaaa > 0) + { + sql.Append(" and exists ( select * from( select ( isnull((select COUNT(*) ProjectIdshuliang from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] group by b.ProjectId) ,0)+ "); + + sql.Append(" isnull( (select COUNT(*) ProjectIdshuliang from [Projectreason] b where a.[Id]=b.[ProjectId] group by b.ProjectId),0)+ "); + sql.Append(" isnull( (select COUNT(*) ProjectIdshuliang from [Projectyouxiao] b where a.[Id]=b.[ProjectId] group by b.ProjectId),0)+ "); + sql.Append(" isnull( ( select COUNT(*) ProjectIdshuliang from [Project] b where a.[Id]=b.[Id] and b.drhx is not null ),0)+ "); + sql.Append(" isnull( (select COUNT(*) ProjectIdshuliang from [Project] b where a.[Id]=b.[Id] and b.dshx is not null ),0) "); + sql.Append(" ) as sum_count ) a where a.sum_count <= " + aaaa + ""); + sql.Append(" ) "); + } + } + if (!string.IsNullOrWhiteSpace(searchEntity.Chuanbiaofenxi)) + { + if (searchEntity.Chuanbiaofenxi == "01") + { + sql.Append(" and exists ( select b.[ProjectId] from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] and (b.[defen]-a.[drhx_defen]) >= 10 ) "); + sql.Append(" and exists ( select * from( select ( isnull((select COUNT(*) ProjectIdshuliang from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] group by b.ProjectId) ,0)+ "); + + sql.Append(" isnull( (select COUNT(*) ProjectIdshuliang from [Projectreason] b where a.[Id]=b.[ProjectId] group by b.ProjectId),0)+ "); + sql.Append(" isnull( (select COUNT(*) ProjectIdshuliang from [Projectyouxiao] b where a.[Id]=b.[ProjectId] group by b.ProjectId),0)+ "); + sql.Append(" isnull( ( select COUNT(*) ProjectIdshuliang from [Project] b where a.[Id]=b.[Id] and b.drhx is not null ),0)+ "); + sql.Append(" isnull( (select COUNT(*) ProjectIdshuliang from [Project] b where a.[Id]=b.[Id] and b.dshx is not null ),0) "); + sql.Append(" ) as sum_count ) a where a.sum_count <= 5 "); + sql.Append(" ) "); + } + else if (searchEntity.Chuanbiaofenxi == "02") + { + sql.Append(" and exists ( select b.[ProjectId] from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] and (b.[defen]-a.[drhx_defen]) >= 20 ) "); + + + } + else if (searchEntity.Chuanbiaofenxi == "03") + { + sql.Append(" and exists ( select b.[ProjectId] from [Projectzhongbiao] b where a.[Id]=b.[ProjectId] and (b.[defen]-a.[drhx_defen]) >= 10 ) "); + } + + } + if (!string.IsNullOrWhiteSpace(searchEntity.Reasonname)) { @@ -360,9 +458,30 @@ } + if (!string.IsNullOrWhiteSpace(searchEntity.KaibiaoTimeStar)) + { + sql.Append(" and a.start_time >='" + searchEntity.KaibiaoTimeStar + "'"); + + } + if (!string.IsNullOrWhiteSpace(searchEntity.KaibiaoTimeEnd)) + { + sql.Append(" and a.start_time <='" + searchEntity.KaibiaoTimeEnd + "'"); + + } + + if (!string.IsNullOrWhiteSpace(searchEntity.Caigourenname)) + { + sql.Append("and a.[caigourenname] like '%" + searchEntity.Caigourenname.Trim().Replace("'", "''") + "%'"); + + } + + if (!string.IsNullOrWhiteSpace(searchEntity.Dailiname)) + { + sql.Append("and a.[dailiname] like '%" + searchEntity.Dailiname.Trim().Replace("'", "''") + "%'"); + + } - if (!string.IsNullOrWhiteSpace(searchEntity.Sheng)) { @@ -458,10 +577,68 @@ - if (searchEntity.totalrows == 0) + //if (searchEntity.totalrows == 0) searchEntity.totalrows = query.Count(); var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); list = _mapper.Map<List<ProjectDTO>>(lianlist); + + var cgfs = GetCgfs(); + foreach(var projectDTO in list) + { + var cgf = cgfs.Where(x=>x.Id == projectDTO.Cgfs).FirstOrDefault(); + if (cgf != null) + { + projectDTO.CgfsName = cgf.Name; + } + + } + var areas = _context.Areas.ToList(); + + foreach (var projectDTO in list) + { + var sheng = areas.Where(x => x.CodeId == projectDTO.Sheng).FirstOrDefault(); + if (sheng != null) + { + projectDTO.Sheng = sheng.Name ; + } + var City = areas.Where(x => x.CodeId == projectDTO.City).FirstOrDefault(); + if (City != null) + { + projectDTO.Sheng += "-" + City.Name; + } + var AreaId = areas.Where(x => x.CodeId == projectDTO.AreaId).FirstOrDefault(); + if (AreaId != null) + { + projectDTO.Sheng += "-" + AreaId.Name; + } + + } + + List<string> projiectid = new List<string>(); + foreach (var projectDTO in list) + { + projiectid.Add(projectDTO.Id); + } + var projectzhongbiaos = _context.Projectzhongbiaos.Where(x => projiectid.Contains(x.ProjectId)).ToList(); + foreach (var projectDTO in list) + { + var ProjectIds = projectzhongbiaos.Where(x => x.ProjectId == projectDTO.Id).ToList(); + projectDTO.Toubiaocishu = ""; + for (int i=0;i< ProjectIds.Count; i++) + { + if(i== ProjectIds.Count - 1) + { + projectDTO.Toubiaocishu += ProjectIds[i].Names ; + } + else + { + projectDTO.Toubiaocishu += ProjectIds[i].Names + "銆�"; + } + + + } + } + data.LoadData(searchEntity, list); return data; } @@ -556,5 +733,77 @@ CacheHelperNetCore.CacheInsert("Projects", list); return list; } + + + public List<ProjectDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax) + { + + + var listPosition = _context.Projects.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax).ToList(); + + var list = _mapper.Map<List<ProjectDTO>>(listPosition); + return list; + } + + + + + public ResultEntity saveZxdsfxl(ZxdsfxlDTO zxdsfxlDTO) + { + ResultEntity resultEntity = new ResultEntity(); + try + { + + var zxdsfxl = _mapper.Map<Zxdsfxl>(zxdsfxlDTO); + + + + + if (String.IsNullOrEmpty(zxdsfxl.Id)) + { + zxdsfxl.Id = Guid.NewGuid().ToString(); + _context.Zxdsfxls.Add(zxdsfxl); + } + else + { + var updatezxdsfxl = _context.Zxdsfxls.Find(zxdsfxl.Id); + updatezxdsfxl.Huiyuanid = zxdsfxl.Huiyuanid; + updatezxdsfxl.Huiyuanname = zxdsfxl.Huiyuanname; + updatezxdsfxl.Visittime = zxdsfxl.Visittime; + updatezxdsfxl.Token = zxdsfxl.Token; + updatezxdsfxl.Leixing = zxdsfxl.Leixing; + + + + updatezxdsfxl.RecStatus = zxdsfxl.RecStatus; + updatezxdsfxl.Modifier = zxdsfxl.Modifier; + updatezxdsfxl.Modifytime = zxdsfxl.Modifytime; + + } + + + + _context.SaveChanges(); + resultEntity.ReturnID = zxdsfxl.Id; + resultEntity.Result = true; + } + catch (Exception ex) + { + resultEntity.Result = false; + resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�"; + + } + return resultEntity; + } + + public List<ZxdsfxlDTO> GetListZxdsfxl(string userid, DateTime datemin, DateTime datemax, string leixing) + { + + + var listPosition = _context.Zxdsfxls.Where(r => r.RecStatus == "A" && r.Leixing == leixing && r.Huiyuanid == userid && r.Visittime >= datemin && r.Visittime < datemax).ToList(); + + var list = _mapper.Map<List<ZxdsfxlDTO>>(listPosition); + return list; + } } } -- Gitblit v1.9.1