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/SimService.cs |  162 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 125 insertions(+), 37 deletions(-)

diff --git a/zhengcaioa/Services/SimService.cs b/zhengcaioa/Services/SimService.cs
index 5278ed0..4b49961 100644
--- a/zhengcaioa/Services/SimService.cs
+++ b/zhengcaioa/Services/SimService.cs
@@ -142,7 +142,7 @@
                     dt = dt.Where(c => !string.IsNullOrEmpty(c.username) && c.username.Contains(searchEntity.username)).ToList();
                 }
 
-                if (searchEntity.totalrows == 0)
+                //if (searchEntity.totalrows == 0)
                     searchEntity.totalrows = dt.Count();
 
                 var signinList = dt.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
@@ -209,13 +209,13 @@
             ResultEntity resultEntity = new ResultEntity();
             try
             {
-                var temp = _context.SimCost.Where(e => e.id == md.id).SingleOrDefault();
+                var temp = _context.SimCost.Where(e => e.sim_id == md.sim_id && e.bill_year==md.bill_year && e.bill_month==md.bill_month).SingleOrDefault();
                 var tempBind = _context.SimBindView.Where(e => e.Id == md.sim_id).SingleOrDefault();                
                 if (temp != null && temp.status=="0")
                 {                    
                     temp.bill_amount = md.bill_amount;
-                    temp.bill_month = md.accounted_time.Month;
-                    temp.bill_year = md.accounted_time.Year;
+                    //temp.bill_month =md.m;
+                    //temp.bill_year = md.accounted_time.Year;
                     temp.sub_userid = md.sub_userid;                    
                     temp.up_time = DateTime.Now;
                     if(tempBind!=null)
@@ -227,22 +227,22 @@
                 }
                 else
                 {
-                    md.bill_month = md.accounted_time.Month;
-                    md.bill_year = md.accounted_time.Year;
+                    //md.bill_month = md.accounted_time.Month;
+                    //md.bill_year = md.accounted_time.Year;
 
                     //褰撴湀閲嶅鍒ゆ柇
-                    var monthck = _context.SimCost.Where(c => c.sim_id == md.sim_id && c.bill_year == md.bill_year && c.bill_month == md.bill_month).Count();
-                    if(monthck>0)
-                    {
-                        resultEntity.Result = false;
-                        resultEntity.Message = string.Format("姝ょ數璇濆崱鍦╗{0}-{1}]鏈堝凡瀛樺湪璁板綍锛屼笉鑳介噸澶嶆坊鍔狅紱",md.bill_year,md.bill_month);
-                        return resultEntity;
-                    }
-                    else
+                    //var monthck = _context.SimCost.Where(c => c.sim_id == md.sim_id && c.bill_year == md.bill_year && c.bill_month == md.bill_month).Count();
+                    //if(monthck>0)
+                    //{
+                    //    resultEntity.Result = false;
+                    //    resultEntity.Message = string.Format("姝ょ數璇濆崱鍦╗{0}-{1}]鏈堝凡瀛樺湪璁板綍锛屼笉鑳介噸澶嶆坊鍔狅紱",md.bill_year,md.bill_month);
+                    //    return resultEntity;
+                    //}
+                    //else
                     {
                         md.up_time = DateTime.Now;
                         md.status = "0";
-
+                        md.accounted_time = DateTime.Now;
                         if (tempBind != null)
                         {
                             md.allow_amount = decimal.Parse(tempBind.cardpro);
@@ -284,34 +284,43 @@
         /// </summary>
         /// <param name="searchEntity"></param>
         /// <returns></returns>
-        public ResultDataEntity<SimCostView> SearchSimCostByPage(SimCostDTOSearch searchEntity)
+        public List<SimCostView> SearchSimCostByPage(string sim ,int year)
         {
-            ResultDataEntity<SimCostView> data = new ResultDataEntity<SimCostView>();
+            List<SimCostView> data = new List<SimCostView>();
             try
             {
-                var codedata = (from e in _context.SysCodes
-                                join c in _context.SysCodeDtls
-                                on e.Id equals c.CodeId
-                                where e.RecStatus == "A"
-                                && c.RecStatus == "A"
-                                && e.CodeTable == "t_sim_bind"
-                                && e.CodeField == "cardpro"
-                                select c).OrderBy(x => x.Sort).ToList();
+                //var codedata = (from e in _context.SysCodes
+                //                join c in _context.SysCodeDtls
+                //                on e.Id equals c.CodeId
+                //                where e.RecStatus == "A"
+                //                && c.RecStatus == "A"
+                //                && e.CodeTable == "t_sim_bind"
+                //                && e.CodeField == "cardpro"
+                //                select c).OrderBy(x => x.Sort).ToList();
 
-                var dt = _context.SimCostView.OrderByDescending(c => c.accounted_time).ToList();
-                if (!string.IsNullOrEmpty(searchEntity.searchtime))
-                {
-                    //dt = dt.Where(c => c.simcard.Contains(searchEntity.simcard)).ToList();
-                }
-                if (!string.IsNullOrEmpty(searchEntity.searchsim))
-                {
-                    dt = dt.Where(c => !string.IsNullOrEmpty(c.simcard) && c.simcard.Contains(searchEntity.searchsim)).ToList();
-                }
+                data = _context.SimCostView.Where(c => c.bill_year==year && c.sim_id==sim).OrderBy(c=>c.bill_month).ToList();
+                //if (!string.IsNullOrEmpty(searchEntity.searchtime))
+                //{
+                //    var times = searchEntity.searchtime.Split('|');
+                //    if(times.Length==2)
+                //    {
+                //        DateTime d1 = DateTime.Parse(times[0]);
+                //        DateTime d2 = DateTime.Parse(times[1]);
+                //        dt = dt.Where(c => c.accounted_time > d1 && c.accounted_time < d2).ToList();
+                //    }                    
+                //}
+                //if (!string.IsNullOrEmpty(searchEntity.searchsim))
+                //{
+                //    dt = dt.Where(c => !string.IsNullOrEmpty(c.simcard) && c.simcard.Contains(searchEntity.searchsim)).ToList();
+                //}
+                //SimCostDTOSearch searchEntity = new SimCostDTOSearch();
+                //searchEntity.rows = 20;
+                //searchEntity.page = 1;
 
-                if (searchEntity.totalrows == 0)
-                    searchEntity.totalrows = dt.Count();
+                //if (searchEntity.totalrows == 0)
+                //    searchEntity.totalrows = dt.Count();
 
-                var signinList = dt.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+                //var signinList = dt.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
 
                 //signinList = signinList.Select(a => new SimBindView()
                 //{
@@ -323,6 +332,85 @@
                 //    username = a.username
                 //}).ToList();
 
+                //data.LoadData(searchEntity, signinList);
+            }
+            catch (Exception ex)
+            {
+                throw;
+            }
+            return data;
+        }
+
+        /// <summary>
+        /// 鏌ヨ璐圭敤璁板綍
+        /// </summary>
+        /// <param name="userid"></param>
+        /// <param name="bill_year"></param>
+        /// <param name="bill_month"></param>
+        /// <returns></returns>
+        public SimCostView GetSimCost(string userid, int bill_year, int bill_month)
+        {
+
+            var entity = _context.SimCostView.Where(x => x.user_id == userid && x.bill_year == bill_year && x.bill_month  == bill_month).FirstOrDefault();
+            
+
+
+            return entity;
+        }
+
+        /// <summary>
+        /// 鏌ヨ鍐呭
+        /// </summary>
+        /// <param name="searchEntity"></param>
+        /// <returns></returns>
+        public ResultDataEntity<SimCostYearView> SearchSimCostYearByPage(SimCostDTOSearch searchEntity)
+        {
+            ResultDataEntity<SimCostYearView> data = new ResultDataEntity<SimCostYearView>();
+            try
+            {
+                int year=DateTime.Now.Year;
+                if (!string.IsNullOrEmpty(searchEntity.searchtime))
+                {
+                    year = int.Parse(searchEntity.searchtime);
+                }
+                
+                var dt = (from c in _context.SimCostYearView where c.bill_year==year select c).ToList();
+                //娣诲姞鏈湁璁板綍鐨�
+                var stringId = dt.Select(c => c.sim_id).ToList();
+                var nolog = (from c in _context.SimBindView where !stringId.Contains(c.Id) select c).ToList();
+                foreach(var item in nolog)
+                {
+                    SimCostYearView ss = new SimCostYearView();
+                    ss.bill_year = year;
+                    ss.sim_id = item.Id;
+                    ss.sim = item.simcard;
+                    dt.Add(ss);
+                }
+                dt = dt.OrderBy(c => c.sim).ToList();
+
+                if (!string.IsNullOrEmpty(searchEntity.searchsim))
+                {
+                    dt = dt.Where(c => c.sim==searchEntity.searchsim).ToList();
+                }
+
+                //if (searchEntity.totalrows == 0)
+                    searchEntity.totalrows = dt.Count();
+
+                var signinList = dt.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
+                if(signinList.Count>0)
+                {
+                    var month = DateTime.Now.Month-1;
+                    var ck = (from c in _context.SimCost where c.status == "1" && c.bill_year == year orderby c.bill_month descending select c).FirstOrDefault();
+                    if(ck!=null)
+                    {
+                        month= ck.bill_month;                        
+                    }
+                    foreach (var item in signinList)
+                    {
+                        item.month = month;
+                    }
+                }
+
                 data.LoadData(searchEntity, signinList);
             }
             catch (Exception ex)

--
Gitblit v1.9.1