From ce50650dbd08bddfa53ef8ab592a477761633e3d Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期一, 26 十二月 2022 14:36:52 +0800
Subject: [PATCH] 采购公告录入                每个月220个    采购公告,  自己手动找的录入的采购公告

---
 zhengcaioa/Services/ProjectService.cs |  350 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 346 insertions(+), 4 deletions(-)

diff --git a/zhengcaioa/Services/ProjectService.cs b/zhengcaioa/Services/ProjectService.cs
index 03221d8..6fcde97 100644
--- a/zhengcaioa/Services/ProjectService.cs
+++ b/zhengcaioa/Services/ProjectService.cs
@@ -5,6 +5,7 @@
 using AutoMapper;
 using CommonToolsCore;
 using DTO;
+using DTO.WebCrawler;
 using IServices;
 using Microsoft.AspNetCore.Mvc.Rendering;
 using Microsoft.EntityFrameworkCore;
@@ -16,10 +17,12 @@
     {
         private readonly zhengcaioaContext _context;
         private readonly IMapper _mapper;
-        public ProjectService(zhengcaioaContext context, IMapper mapper)
+        private readonly WebCrawlerContext _webcontext;
+        public ProjectService(zhengcaioaContext context, IMapper mapper, WebCrawlerContext webcontext)
         {
             _context = context;
             _mapper = mapper;
+            _webcontext = webcontext;
         }
 
         public ResultEntity saveLiaotian(ProjectDTO projectDTO)
@@ -651,8 +654,7 @@
 
 
                 var query = _context.Projects
-           .FromSqlRaw(sql.ToString()).OrderByDescending(x=>x.StartTime)
-           .ToList();
+           .FromSqlRaw(sql.ToString());
 
 
 
@@ -662,7 +664,7 @@
 
             //if (searchEntity.totalrows == 0)
             searchEntity.totalrows = query.Count();
-            var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+            var lianlist = query.OrderByDescending(x => x.StartTime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
             list = _mapper.Map<List<ProjectDTO>>(lianlist);
 
             var cgfs = GetCgfs();
@@ -882,6 +884,17 @@
             return list;
         }
 
+        public List<ZhengfuProjectDTO> GetcaigougonggaoListsalary(string userid, DateTime datemin, DateTime datemax)
+        {
+
+
+            var listPosition = _webcontext.ZhengfuProjects.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax).ToList();
+
+            var list = _mapper.Map<List<ZhengfuProjectDTO>>(listPosition);
+            return list;
+        }
+
+
 
 
 
@@ -1058,5 +1071,334 @@
             return resultEntity;
         }
 
+
+
+        public ResultDataEntity<ZhengfuProjectDTO> SearchByPagingCaigougonggao(ZhengfuProjectDTOSearch searchEntity)
+        {
+            ResultDataEntity<ZhengfuProjectDTO> data = new ResultDataEntity<ZhengfuProjectDTO>();
+            List<ZhengfuProjectDTO> list = new List<ZhengfuProjectDTO>();
+
+
+
+
+            var listCode = (from a in _context.SysCodeDtls
+                            join b in _context.SysCodes
+                            on a.CodeId equals b.Id
+                            where a.RecStatus == "A"
+                                          && b.RecStatus == "A"
+                            select new CodeDataEntity()
+                            {
+                                CodeId = b.Id,
+                                CodeTable = b.CodeTable,
+                                CodeField = b.CodeField,
+                                CodeSn = a.CodeSn,
+                                Comments = a.Comments,
+                                Contents = a.Contents,
+                                RecStatus = a.RecStatus,
+                                Sort = a.Sort
+                            }
+                      );
+
+
+            DateTime Createtimestart = DateTime.Now;
+            DateTime Createtimeend = DateTime.Now;
+            if (!string.IsNullOrWhiteSpace(searchEntity.Createtime))
+            {
+                string[] Createtimes = searchEntity.Createtime.Split("|");
+                DateTime.TryParse(Createtimes[0], out Createtimestart);
+                DateTime.TryParse(Createtimes[1], out Createtimeend);
+                Createtimeend = Createtimeend.AddDays(1);
+            }
+
+            DateTime StartTimestart = DateTime.Now;
+            DateTime StartTimeeend = DateTime.Now;
+            if (!string.IsNullOrWhiteSpace(searchEntity.StartTime))
+            {
+                string[] StartTimes = searchEntity.StartTime.Split("|");
+                DateTime.TryParse(StartTimes[0], out StartTimestart);
+                DateTime.TryParse(StartTimes[1], out StartTimeeend);
+                StartTimeeend = StartTimeeend.AddDays(1);
+            }
+
+
+
+            var query = (from a in _webcontext.ZhengfuProjects
+
+
+                         where a.RecStatus == "A"
+                          && (string.IsNullOrWhiteSpace(searchEntity.Createtime) || (a.Createtime >= Createtimestart && a.Createtime <= Createtimeend))
+                            && (string.IsNullOrWhiteSpace(searchEntity.StartTime) || (a.NoticeTime >= StartTimestart && a.NoticeTime <= StartTimeeend))
+                         && (string.IsNullOrWhiteSpace(searchEntity.Name) || a.Title.Contains(searchEntity.Name.Trim()))
+                           && (string.IsNullOrWhiteSpace(searchEntity.Number) || a.OpenTenderCode.Contains(searchEntity.Number.Trim()))
+                          && (string.IsNullOrWhiteSpace(searchEntity.Sheng) || a.Sheng == searchEntity.Sheng.Trim())
+                           && (string.IsNullOrWhiteSpace(searchEntity.City) || a.City == searchEntity.City.Trim())
+                            && (string.IsNullOrWhiteSpace(searchEntity.AreaId) || a.RegionCode == searchEntity.AreaId.Trim())
+                             && (string.IsNullOrWhiteSpace(searchEntity.Cgfs) || a.Cgfs == searchEntity.Cgfs.Trim())
+
+                                 && (string.IsNullOrWhiteSpace(searchEntity.Gglx) || a.Gglx == searchEntity.Gglx.Trim())
+                                   && (string.IsNullOrWhiteSpace(searchEntity.Creater) || a.Creater == searchEntity.Creater.Trim())
+
+                         select a
+
+                        );
+
+
+
+            //if (searchEntity.totalrows == 0)
+            searchEntity.totalrows = query.Count();
+           
+            var lianlist = query.OrderByDescending(x => x.NoticeTime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+            var querytrsult = _mapper.Map<List<ZhengfuProjectDTO>>(lianlist);
+            //var querytrsult = (  from a in lianlist
+
+            //               //      join f in _context.Areas on a.Sheng equals f.CodeId
+            //               //into fsss
+            //               //      from fff in fsss.DefaultIfEmpty()
+
+
+            //                     //join g in _context.Areas on a.City equals g.CodeId
+            //                     //   into gsss
+            //                     //from ggg in gsss.DefaultIfEmpty()
+
+
+            //                     //join h in _context.Areas on a.RegionCode equals h.CodeId
+            //                     //   into hsss
+            //                     //from hhh in hsss.DefaultIfEmpty()
+
+            //            //         join b in listCode.Where(x => x.CodeTable == "zhengfu_Project" && x.CodeField == "cgfs")
+            //            //on a.Cgfs equals b.CodeSn
+            //            //into bsss
+            //            //         from bbb in bsss.DefaultIfEmpty()
+
+            //                     //join c in listCode.Where(x => x.CodeTable == "zhengfu_Project" && x.CodeField == "gglx")
+            //                     //on a.Gglx equals c.CodeSn
+            //                     // into csss
+            //                     //from ccc in csss.DefaultIfEmpty()
+
+            //             //        join e in _context.PltUsers
+            //             //on a.Creater equals e.Id
+            //             //into esss
+            //             //        from abi in esss.DefaultIfEmpty()
+
+            //                     select new ZhengfuProjectDTO
+            //                     {
+            //                         Id = a.Id,
+            //                         NoticeTime = a.NoticeTime,
+            //                         NoticeTimeName = a.NoticeTime.ToString("yyyy-MM-dd"),
+            //                         Sheng = a.Sheng,
+            //                         City = a.City,
+            //                         RegionCode = a.RegionCode,
+            //                         /*ShengName = fff.Name + "-" + ggg.Name + "-" + hhh.Name,*/
+            //                         Cgfs = a.Cgfs,
+            //                         //CgfsName = bbb.Comments,
+            //                         Gglx = a.Gglx,
+            //                         //GglxName = ccc.Comments,
+
+            //                         OpenTenderCode = a.OpenTenderCode,
+            //                         Title = a.Title,
+
+            //                         Shorttitle = a.Shorttitle,
+            //                         Pageurl = a.Pageurl,
+            //                         Remark = a.Remark,
+            //                         RecStatus = a.RecStatus,
+            //                         Creater = a.Creater,
+            //                         //CreaterName = abi.UserName,
+            //                         Createtime = a.Createtime,
+            //                         Modifier = a.Modifier,
+
+            //                         Modifytime = a.Modifytime,
+            //                         Content = a.Content,
+            //                         Pingmu = a.Pingmu,
+            //                         Purchaser = a.Purchaser,
+            //                         Budget = a.Budget,
+
+            //                         Agency = a.Agency,
+            //                         AgencyCode = a.AgencyCode,
+
+            //                     }
+            //     ).OrderByDescending(x => x.NoticeTime).ToList();
+
+
+            foreach ( var zhengfuProjectDTO   in querytrsult)
+            {
+                if (zhengfuProjectDTO.Creater != "1")
+                {
+                 var pltUser   =   _context.PltUsers.Where(x=>x.Id == zhengfuProjectDTO.Creater).FirstOrDefault();
+                    if (pltUser != null)
+                    {
+                        zhengfuProjectDTO.CreaterName = pltUser.UserName;
+                    }
+                   
+                }
+                if (!string.IsNullOrWhiteSpace(zhengfuProjectDTO.Cgfs))
+                {
+                    var codeDataEntity = listCode.Where(x => x.CodeTable == "zhengfu_Project" && x.CodeField == "cgfs").Where(x => x.CodeSn == zhengfuProjectDTO.Cgfs).FirstOrDefault();
+                    if (codeDataEntity != null)
+                    {
+                        zhengfuProjectDTO.CgfsName = codeDataEntity.Comments;
+                    }
+
+                }
+                if (!string.IsNullOrWhiteSpace(zhengfuProjectDTO.Gglx))
+                {
+                    var codeDataEntity = listCode.Where(x => x.CodeTable == "zhengfu_Project" && x.CodeField == "gglx").Where(x => x.CodeSn == zhengfuProjectDTO.Gglx).FirstOrDefault();
+                    if (codeDataEntity != null)
+                    {
+                        zhengfuProjectDTO.GglxName = codeDataEntity.Comments;
+                    }
+
+                }
+                if (!string.IsNullOrWhiteSpace(zhengfuProjectDTO.Sheng))
+                {
+                    var area1 = _context.Areas.Where(x => x.CodeId == zhengfuProjectDTO.Sheng).FirstOrDefault();
+                    if (area1 != null)
+                    {
+                        zhengfuProjectDTO.ShengName  =   area1.Name;
+                    }
+
+                }
+
+                if (!string.IsNullOrWhiteSpace(zhengfuProjectDTO.City))
+                {
+                    var area = _context.Areas.Where(x => x.CodeId == zhengfuProjectDTO.City).FirstOrDefault();
+                    if (area != null)
+                    {
+                        zhengfuProjectDTO.ShengName += "-" + area.Name;
+                    }
+
+                    if (!string.IsNullOrWhiteSpace(zhengfuProjectDTO.RegionCode))
+                    {
+                        var area1 = _context.Areas.Where(x => x.CodeId == zhengfuProjectDTO.RegionCode).FirstOrDefault();
+                        if (area1 != null)
+                        {
+                            zhengfuProjectDTO.ShengName += "-" + area1.Name;
+                        }
+
+                    }
+                }
+
+            }
+
+            data.LoadData(searchEntity, querytrsult);
+            return data;
+        }
+
+
+
+        public ZhengfuProjectDTO GetZhengfuProjectDTO(string id)
+        {
+
+            var entity = _webcontext.ZhengfuProjects.Find(id);
+            if (entity.RecStatus != "A")
+            {
+                entity = new ZhengfuProject();
+            }
+
+
+            var zhengfuProjectDTO = _mapper.Map<ZhengfuProjectDTO>(entity);
+
+
+            return zhengfuProjectDTO;
+        }
+
+
+        public ResultEntity saveZhengfuProjectDTO(ZhengfuProjectDTO dTO)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            try
+            {
+                var checkUserSn = _webcontext.ZhengfuProjects.Where(x => x.Pageurl == dTO.Pageurl && x.RecStatus == "A" && x.Id != dTO.Id).FirstOrDefault();
+                if (checkUserSn != null && (string.IsNullOrWhiteSpace(dTO.Id) || (!string.IsNullOrWhiteSpace(dTO.Id) && checkUserSn.Id != dTO.Id)))
+                {
+                    resultEntity.Result = false;
+                    resultEntity.Message = "璇ラ〉闈㈠凡缁忎繚瀛�";
+                    return resultEntity;
+                }
+
+
+                var checkUserSnss = _webcontext.ZhengfuProjects.Where(x => x.Title == dTO.Title && x.RecStatus == "A" && x.Id != dTO.Id && x.NoticeTime > dTO.NoticeTime.AddDays(-1) && x.NoticeTime < dTO.NoticeTime.AddDays(1)).FirstOrDefault();
+                if (checkUserSnss != null && (string.IsNullOrWhiteSpace(dTO.Id) || (!string.IsNullOrWhiteSpace(dTO.Id) && checkUserSnss.Id != dTO.Id)))
+                {
+                    resultEntity.Result = false;
+                    resultEntity.Message = "璇ラ〉闈㈠凡缁忎繚瀛�";
+                    return resultEntity;
+                }
+
+
+
+
+                var zhengfuProject = _mapper.Map<ZhengfuProject>(dTO);
+
+
+                if (String.IsNullOrEmpty(zhengfuProject.Id))
+                {
+                    zhengfuProject.Id = Guid.NewGuid().ToString();
+                    dTO.Id = zhengfuProject.Id;
+                    _webcontext.ZhengfuProjects.Add(zhengfuProject);
+                }
+                else
+                {
+                    var updateproject = _webcontext.ZhengfuProjects.Find(dTO.Id);
+
+                    updateproject.NoticeTime = dTO.NoticeTime;
+                    updateproject.Sheng = dTO.Sheng;
+                    updateproject.City = dTO.City;
+                    updateproject.RegionCode = dTO.RegionCode;
+                    updateproject.Cgfs = dTO.Cgfs;
+                    updateproject.Gglx = dTO.Gglx;
+                    updateproject.OpenTenderCode = dTO.OpenTenderCode;
+                    updateproject.Title = dTO.Title;
+                    updateproject.Shorttitle = dTO.Shorttitle;
+                    updateproject.Pageurl = dTO.Pageurl;
+                    updateproject.Remark = dTO.Remark;
+ 
+
+
+                    updateproject.Content = dTO.Content;
+                    updateproject.Pingmu = dTO.Pingmu;
+                    updateproject.Purchaser = dTO.Purchaser;
+
+                    updateproject.Budget = dTO.Budget;
+                    updateproject.Agency = dTO.Agency;
+                    updateproject.AgencyCode = dTO.AgencyCode;
+                    updateproject.OpenTenderTime = dTO.OpenTenderTime;
+                    
+ 
+                    updateproject.RecStatus = dTO.RecStatus;
+                    updateproject.Modifier = dTO.Modifier;
+                    updateproject.Modifytime = dTO.Modifytime;
+                }
+
+                _webcontext.SaveChanges();
+ 
+
+                resultEntity.ReturnID = dTO.Id;
+                resultEntity.Result = true;
+            }
+            catch (Exception ex)
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "淇濆瓨澶辫触锛岃鑱旂郴绠$悊鍛�";
+
+            }
+            return resultEntity;
+        }
+
+
+        public ResultEntity GetZhengfuProjectDTOByPageurl(string Pageurl, string Id)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            resultEntity.Result = true;
+            var checkUserSn = _webcontext.ZhengfuProjects.Where(x => x.Pageurl == Pageurl && x.RecStatus == "A" && x.Id != Id).FirstOrDefault();
+            if (checkUserSn != null && (string.IsNullOrWhiteSpace(Id) || (!string.IsNullOrWhiteSpace(Id) && checkUserSn.Id != Id)))
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "璇ラ〉闈㈠凡缁忓瓨鍦�";
+                 
+            }
+
+
+            return resultEntity;
+        }
     }
 }

--
Gitblit v1.9.1