username@email.com
2022-08-27 6e2b929cf381e2320ba6e7dec56c0371124d2b51
zhengcaioa/Services/ProjectService.cs
@@ -297,11 +297,11 @@
            List<ProjectDTO> list = new List<ProjectDTO>();
            //筛选
            StringBuilder sql = new StringBuilder();
            sql.Append("SELECT distinct a.[Id],a.[start_time],a.[drhx_defen],a.[caigouyusuan],a.[dshx_defen] ,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.[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 = 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' ");
@@ -592,8 +592,52 @@
                }
               
            }
           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;
@@ -700,5 +744,66 @@
            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;
        }
    }
}