From 5701636d0554a89cdb6a06327658de75d74f67ed Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期一, 16 一月 2023 13:42:09 +0800
Subject: [PATCH] 添加客户关联企业功能

---
 zhengcaioa/Services/CooperatecustomCustomerService.cs |  150 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 146 insertions(+), 4 deletions(-)

diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs
index 2a60265..3e6ca7f 100644
--- a/zhengcaioa/Services/CooperatecustomCustomerService.cs
+++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs
@@ -55,12 +55,43 @@
 
                 if (String.IsNullOrEmpty(cooperatecustomCustomer.Id))
                 {
+                    if (!string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl))
+                    {
+                        cooperatecustomCustomer.Ywjltime = DateTime.Now;
+                        var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        if (Cooper + Inten >= 2000)
+                        {
+                            resultEntity.Result = false;
+                            resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�";
+                            return resultEntity;
+                        }
+                    }
+
                     cooperatecustomCustomer.Id = Guid.NewGuid().ToString();
                     _context.CooperatecustomCustomers.Add(cooperatecustomCustomer);
                 }
                 else
                 {
                     var updateproject = _context.CooperatecustomCustomers.Find(cooperatecustomCustomer.Id);
+
+                    if (!string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl) && (string.IsNullOrEmpty(updateproject.Ywjl) || !string.IsNullOrEmpty(updateproject.Ywjl) && cooperatecustomCustomer.Ywjl != updateproject.Ywjl))
+                    {
+                        updateproject.Ywjltime = DateTime.Now;
+                        var Cooper = _context.CooperatecustomCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        var Inten = _context.IntentionCustomers.Count(x => x.RecStatus == "A" && x.Ywjl == cooperatecustomCustomer.Ywjl);
+                        if (Cooper + Inten >= 2000)
+                        {
+                            resultEntity.Result = false;
+                            resultEntity.Message = "璇ヤ笟鍔$粡鐞嗭紝瀹㈡埛鍗曚綅鍜屽悎浣滃鎴峰悎璁¤秴杩�2000锛�";
+                            return resultEntity;
+                        }
+                    }
+                    if (string.IsNullOrEmpty(cooperatecustomCustomer.Ywjl))
+                    {
+                        updateproject.Ywjltime = DateTime.Now;
+                    }
+
 
                     updateproject.Sheng = cooperatecustomCustomer.Sheng;
                     updateproject.City = cooperatecustomCustomer.City;
@@ -272,7 +303,7 @@
                           && (string.IsNullOrWhiteSpace(searchEntity.Khly) || a.Khly == searchEntity.Khly.Trim())
                            && (string.IsNullOrWhiteSpace(searchEntity.Hyfl) || a.Hyfl == searchEntity.Hyfl.Trim())
                             && (string.IsNullOrWhiteSpace(searchEntity.Khlx) || a.Khlx == searchEntity.Khlx.Trim())
-                             && (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim())
+                             //&& (string.IsNullOrWhiteSpace(searchEntity.Ywjl) || a.Ywjl == searchEntity.Ywjl.Trim())
                               && (string.IsNullOrWhiteSpace(searchEntity.Sheng) || a.Sheng == searchEntity.Sheng.Trim())
                                && (string.IsNullOrWhiteSpace(searchEntity.City) || a.City == searchEntity.City.Trim())
                                 && (string.IsNullOrWhiteSpace(searchEntity.AreaId) || a.AreaId == searchEntity.AreaId.Trim())
@@ -340,17 +371,29 @@
                              Taocanjianshu = a.Taocanjianshu ?? 0,
                              Customertype = "鍚堜綔瀹㈡埛",
                          }
-                        ).OrderByDescending(x => x.Modifytime).ToList();
+                        );
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.Ywjl))
+            {
+                if (searchEntity.Ywjl != "11111")
+                {
+                    query = query.Where(a => a.Ywjl == searchEntity.Ywjl.Trim());
+                }
+                else
+                {
+                    query = query.Where(a => a.Ywjl == null);
+                }
 
 
+            }
 
             //if (searchEntity.totalrows == 0)
-                searchEntity.totalrows = query.Count();
+            searchEntity.totalrows = query.Count();
             data.Heji1 = Math.Round(query.Sum(x => x.Yufukuan) ?? 0, 2);
             data.Heji2 = Math.Round(query.Sum(x => x.Shouxinedu) ?? 0, 2);
             data.Heji3 = Math.Round(query.Sum(x => x.Shenyushouxin) ?? 0, 2);
             data.Heji4 = Math.Round(query.Sum(x => x.Moneycountde) ?? 0, 2);
-            var lianlist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+            var lianlist = query.OrderByDescending(x => x.Modifytime).Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
             data.DangyeHeji1 = Math.Round(lianlist.Sum(x => x.Yufukuan) ?? 0, 2);
             data.DangyeHeji2 = Math.Round(lianlist.Sum(x => x.Shouxinedu) ?? 0, 2);
             data.DangyeHeji3 = Math.Round(lianlist.Sum(x => x.Shenyushouxin) ?? 0, 2);
@@ -402,6 +445,8 @@
                     {
                         cooperatecustomCustomerDTO.Hezuoyewu += "閲囪喘鍏憡鏉冮檺 | ";
                     }
+
+                    cooperatecustomCustomerDTO.Guanliankehushu = _context.CustomerGuanlians.Count(x => x.CustomerId == cooperatecustomCustomerDTO.Id);
 
                 }
             }
@@ -521,5 +566,102 @@
             var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
             return list;
         }
+
+
+        public ResultEntity saveCustomerGuanlian(CustomerGuanlianDTO DTO)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            resultEntity.Result = false;
+            var customerGuanlian = _mapper.Map<CustomerGuanlian>(DTO);
+
+
+            if (String.IsNullOrEmpty(customerGuanlian.Id))
+            {
+                customerGuanlian.Id = Guid.NewGuid().ToString();
+                DTO.Id = customerGuanlian.Id;
+                _context.CustomerGuanlians.Add(customerGuanlian);
+
+                CustomerGuanlian customerGuanlian1 = new CustomerGuanlian();
+                customerGuanlian1.Id = Guid.NewGuid().ToString();
+                customerGuanlian1.CustomerId = customerGuanlian.SecCustomerId;
+                customerGuanlian1.Customertype = customerGuanlian.SecCustomertype;
+                customerGuanlian1.SecCustomerId = customerGuanlian.CustomerId;
+                customerGuanlian1.SecCustomertype = customerGuanlian.Customertype;
+                _context.CustomerGuanlians.Add(customerGuanlian1);
+            }
+           
+            _context.SaveChanges();
+            resultEntity.ReturnID = customerGuanlian.Id;
+            resultEntity.Result = true;
+
+            return resultEntity;
+        }
+
+        public CustomerGuanlianDTO GetCustomerGuanlian(string CustomerId, string SecCustomerId)
+        {
+            var entity = _context.CustomerGuanlians.Where(x=>x.CustomerId == CustomerId && x.SecCustomerId == SecCustomerId).FirstOrDefault();
+            if (entity == null)
+            {
+                entity = new CustomerGuanlian();
+            }
+            var customerGuanlianDTO = _mapper.Map<CustomerGuanlianDTO>(entity);
+            return customerGuanlianDTO;
+        }
+
+        public ResultEntity DeleteCustomerGuanlian(string CustomerId, string SecCustomerId)
+        {
+            ResultEntity resultEntity = new ResultEntity();
+            resultEntity.Result = false;
+
+
+            var entity = _context.CustomerGuanlians.Where(x => x.CustomerId == CustomerId && x.SecCustomerId == SecCustomerId).FirstOrDefault();
+
+            if (entity != null)
+            {
+                var entity1 = _context.CustomerGuanlians.Where(x => x.CustomerId == entity.SecCustomerId && x.SecCustomerId == entity.CustomerId).FirstOrDefault();
+                _context.CustomerGuanlians.Remove(entity);
+                if (entity1 != null)
+                {
+                    _context.CustomerGuanlians.Remove(entity1);
+                }
+            }
+            _context.SaveChanges();
+            resultEntity.ReturnID = CustomerId;
+            resultEntity.Result = true;
+            return resultEntity;
+        }
+        public List<CooperatecustomCustomerDTO> GetListCustomerGuanlian(string CustomerId)
+        {
+            var customerGuanlians = _context.CustomerGuanlians.Where(x=>x.CustomerId == CustomerId).ToList();
+            List <CooperatecustomCustomerDTO> cooperatecustomCustomerDTOs = new List<CooperatecustomCustomerDTO>();
+            if (customerGuanlians!=null && customerGuanlians.Count > 0)
+            {
+              var hezuokehu  =  customerGuanlians/*.Where(x => x.SecCustomertype == "鍚堜綔瀹㈡埛")*/.Select(x => x.SecCustomerId).ToArray();
+                if(hezuokehu!=null&& hezuokehu.Length > 0)
+                {
+                    var cooperatecustomCustomers = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && hezuokehu.Contains(x.Id)).ToList();
+                    var cooperatecustomCustomerDTOssss = _mapper.Map<List<CooperatecustomCustomerDTO>>(cooperatecustomCustomers);
+                    foreach(var cooperatecustomCustomerDTO  in cooperatecustomCustomerDTOssss)
+                    {
+                        cooperatecustomCustomerDTO.Customertype = "鍚堜綔瀹㈡埛";
+                        cooperatecustomCustomerDTOs.Add(cooperatecustomCustomerDTO);
+
+                    }
+
+                }
+                //var dangankehu = customerGuanlians.Where(x => x.SecCustomertype == "妗f瀹㈡埛").Select(x => x.SecCustomerId).ToArray();
+                if (hezuokehu != null && hezuokehu.Length > 0)
+                {
+                    var intentionCustomers = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && hezuokehu.Contains(x.Id)).ToList();
+                    var cooperatecustomCustomerDTOssss = _mapper.Map<List<CooperatecustomCustomerDTO>>(intentionCustomers);
+                    foreach (var cooperatecustomCustomerDTO in cooperatecustomCustomerDTOssss)
+                    {
+                        cooperatecustomCustomerDTO.Customertype = "妗f瀹㈡埛";
+                        cooperatecustomCustomerDTOs.Add(cooperatecustomCustomerDTO);
+                    }
+                }
+            }
+            return cooperatecustomCustomerDTOs;
+        }
     }
 }

--
Gitblit v1.9.1