From 0879713a184c48a0306a771a1e151387d5a9cf4c Mon Sep 17 00:00:00 2001
From: LR-20210131IOQH\Administrator <jackcold@163.com>
Date: 星期一, 28 六月 2021 12:40:37 +0800
Subject: [PATCH] 电话费用录入修改

---
 zhengcaioa/Services/SimService.cs |  131 +++++++++++++++++++++++++++++++------------
 1 files changed, 95 insertions(+), 36 deletions(-)

diff --git a/zhengcaioa/Services/SimService.cs b/zhengcaioa/Services/SimService.cs
index 07fdc0e..674535e 100644
--- a/zhengcaioa/Services/SimService.cs
+++ b/zhengcaioa/Services/SimService.cs
@@ -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,9 +284,9 @@
         /// </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
@@ -298,26 +298,29 @@
                 //                && 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))
-                {
-                    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();
-                }
+                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()
                 //{
@@ -329,7 +332,7 @@
                 //    username = a.username
                 //}).ToList();
 
-                data.LoadData(searchEntity, signinList);
+                //data.LoadData(searchEntity, signinList);
             }
             catch (Exception ex)
             {
@@ -338,7 +341,13 @@
             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)
         {
 
@@ -349,6 +358,56 @@
             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 orderby c.sim select c).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)
+            {
+                throw;
+            }
+            return data;
+        }
+
         #endregion
     }
 }

--
Gitblit v1.9.1