From c052583025ff87735d2120dc63aeee7ea5e5524e Mon Sep 17 00:00:00 2001
From: wzp <2040239371@qq.com>
Date: 星期三, 23 十一月 2022 09:25:11 +0800
Subject: [PATCH] 多项优化

---
 web/web/GwOrder.ashx |  256 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 172 insertions(+), 84 deletions(-)

diff --git a/web/web/GwOrder.ashx b/web/web/GwOrder.ashx
index 485c75d..e774479 100644
--- a/web/web/GwOrder.ashx
+++ b/web/web/GwOrder.ashx
@@ -22,11 +22,19 @@
     private List<GwOp> _OpList;
     private List<GwOpGroup> _GroupList;
     private List<GwProduct> _ProductList;   //浜у搧鍙婁骇鍝佸垎绫�
-    //private List<GwProduct> _ProductClassList;  //浜у搧鍒嗙被
+                                            //private List<GwProduct> _ProductClassList;  //浜у搧鍒嗙被
+
+    private int _userId = -1;
+    private string _userType = "";
+    private string _account = "";
 
     public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
     {
         string @string = context.GetString("action");
+        _userId = context.SessionObject.UserID;
+        _userType = context.SessionObject.UserType;
+        _account = context.SessionObject.Account;
+
         switch (@string)
         {
             case "delete":
@@ -47,6 +55,8 @@
                 return this.Cancel(context);      //鍙栨秷    
             case "audit":
                 return this.Audit(context);      //璁㈠崟瀹℃牳
+            case "getOrderBySpId":
+                return this.GetOrderBySpId(context);      //璁㈠崟瀹℃牳
 
             default:
                 throw new Exception("Invalid Action=" + @string);
@@ -59,16 +69,18 @@
         //Console.WriteLine("List.............[" + context.GetInt("name") + "][" + context.GetInt("classes") + "]");
         string spId = context.GetString("spId");
         string clientId = context.GetString("clientId");
-        string clientName = context.GetString("clientName");
+        string compay = context.GetString("compay");
         int flag = context.GetInt("flag");
         DateTime startDate = context.GetDateTime("startDate");
-        DateTime endDate = context.GetDateTime("endDate");
+        DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate");
 
         int recordCount = 0;
         int pageSize = context.GetInt("pageSize", 50);
         int pageIndex = context.GetInt("pageIndex", 1);
 
-        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC");
+
+        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, compay, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount);
 
         string str1 = "";
         if (list != null && list.Count > 0)
@@ -81,28 +93,31 @@
 
                 str1 += "<tr><td>" + bean.OrderId + "</td>";
                 str1 = str1 + "<td>" + bean.SpId + "</td>";
-                str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+                str1 = str1 + "<td>" + bean.ClientId + "</td>";
+                str1 = str1 + "<td>" + bean.Company + "</td>";
                 str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
                 //str1 = str1 + "<td>" + bean.ComboId + "</td>";
                 str1 = str1 + "<td>" + bean.BasicNum + "</td>";
                 str1 = str1 + "<td>" + bean.GivingNum + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+                str1 = str1 + "<td>" + bean.Auditor + "</td>";
                 str1 = str1 + "<td>" + bean.Creator + "</td>";
                 str1 = str1 + "<td>" + bean.CreateTime + "</td>";
                 str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
                 //str1 = str1 + "<td>" + bean.Remark + "</td>";
 
                 str1 += "<td  class=\"text-right\">";
-                str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;鏌ョ湅</a> ", (object) bean.OrderId);
+                str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;鏌ョ湅</a> ", (object) bean.OrderId);
                 str1 += "</td>";
                 str1 += "</tr>";
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -116,16 +131,18 @@
     {
         string spId = context.GetString("spId");
         string clientId = context.GetString("clientId");
-        string clientName = context.GetString("clientName");
+        string company = context.GetString("company");
         int flag = context.GetInt("flag");
         DateTime startDate = context.GetDateTime("startDate");
-        DateTime endDate = context.GetDateTime("endDate");
+        DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate");
 
         int recordCount = 0;
         int pageSize = context.GetInt("pageSize", 50);
         int pageIndex = context.GetInt("pageIndex", 1);
 
-        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC");
+
+        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, company, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount);
 
         string str1 = "";
         if (list != null && list.Count > 0)
@@ -138,23 +155,26 @@
 
                 str1 += "<tr><td>" + bean.OrderId + "</td>";
                 str1 = str1 + "<td>" + bean.SpId + "</td>";
-                str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+                str1 = str1 + "<td>" + bean.ClientId + "</td>";
+                str1 = str1 + "<td>" + bean.Company + "</td>";
                 str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
                 //str1 = str1 + "<td>" + bean.ComboId + "</td>";
                 str1 = str1 + "<td>" + bean.BasicNum + "</td>";
                 str1 = str1 + "<td>" + bean.GivingNum + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+                str1 = str1 + "<td>" + bean.Auditor + "</td>";
                 str1 = str1 + "<td>" + bean.Creator + "</td>";
                 str1 = str1 + "<td>" + bean.CreateTime + "</td>";
                 str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
                 //str1 = str1 + "<td>" + bean.Remark + "</td>";
 
                 str1 += "<td  class=\"text-right\">";
-                str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;鏌ョ湅</a> ", (object) bean.OrderId);
-                str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-audit btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;瀹℃牳</a> ", (object) bean.OrderId);
+                str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn  btn-info btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;鏌ョ湅</a> ", (object) bean.OrderId);
+                str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" style=\"margin-top:10px; \" class=\"action-modal-audit btn  btn-success btn-xs\"><i class=\"fa fa-edit\"></i>&nbsp;瀹℃牳</a> ", (object) bean.OrderId);
                 if(bean.Status == 0) {
                     str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-cancel btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;鍙栨秷</a> ", (object) bean.OrderId);
                 }
@@ -163,7 +183,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -189,16 +209,21 @@
 
         string spId = context.GetString("spId");
         string clientId = context.GetString("clientId");
-        string clientName = context.GetString("clientName");
+        string company = context.GetString("company");
         int flag = context.GetInt("flag");
+        //string startDate = context.GetString("startDate");
+        //string endDate = context.GetString("endDate");
         DateTime startDate = context.GetDateTime("startDate");
-        DateTime endDate = context.GetDateTime("endDate");
+        DateTime endDate = context.GetDateTime("endDate")==DateTime.Parse("0001-01-01 00:00:00")? DateTime.Now : context.GetDateTime("endDate");
 
         int recordCount = 0;
         int pageSize = context.GetInt("pageSize", 50);
         int pageIndex = context.GetInt("pageIndex", 1);
 
-        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+        string permissionsSQL = new GwClientDao().GetClientPermissions(_userId, _userType, "GWC");
+
+        //List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, Convert.ToDateTime(startDate), Convert.ToDateTime(endDate).AddDays(1.0), pageSize, pageIndex, out recordCount);
+        List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, company, flag, startDate, endDate.AddDays(1.0), pageSize, pageIndex, permissionsSQL, out recordCount);
 
         string str1 = "";
         if (list != null && list.Count > 0)
@@ -211,21 +236,24 @@
 
                 str1 += "<tr><td>" + bean.OrderId + "</td>";
                 str1 = str1 + "<td>" + bean.SpId + "</td>";
-                str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+                str1 = str1 + "<td>" + bean.ClientId + "</td>";
+                str1 = str1 + "<td>" + bean.Company + "</td>";
                 str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
                 //str1 = str1 + "<td>" + bean.ComboId + "</td>";
                 str1 = str1 + "<td>" + bean.BasicNum + "</td>";
                 str1 = str1 + "<td>" + bean.GivingNum + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
-                str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));
+                str1 = str1 + string.Format("<td>{0}</td>", (object)(Convert.ToDecimal(bean.PayAmount) / new Decimal(1000)));
                 str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+                str1 = str1 + "<td>" + bean.Auditor + "</td>";
                 str1 = str1 + "<td>" + bean.Creator + "</td>";
                 str1 = str1 + "<td>" + bean.CreateTime + "</td>";
                 str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
                 //str1 = str1 + "<td>" + bean.Remark + "</td>";
 
-                str1 += "<td  class=\"text-right\">";
+                str1 += "<td  class=\"text-center\">";
                 str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;鏌ョ湅</a> ", (object) bean.OrderId);
                 //str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-audit btn  btn-success btn-xs\"><i class=\"fa fa-search\"></i>&nbsp;瀹℃牳</a> ", (object) bean.OrderId);
                 //if(bean.Status == 0) {
@@ -236,7 +264,7 @@
             }
         }
         else
-            str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+            str1 += "<tr><td colspan=\"16\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
 
         return new JsonPageResult(true,  new
         {
@@ -285,17 +313,22 @@
     {
         string spId = context.GetString("spId");
         string orderId = context.GetString("orderId");
-        int basicNum = context.GetInt("basicNum");
-        int givingNum = context.GetInt("givingNum");
+        Int64 basicNum = context.GetInt64("basicNum");
+        Int64 givingNum = context.GetInt64("givingNum");
         string clientId = "";
-        int payAmount = 0;
-        int tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+        Int64 payAmount = 0;//閲戦
+        Int64 tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         payAmount = tmpPayAmount;
         //double price = context.GetDecimal(price);
-        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+        int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         string remark = context.GetString("remark");
         int status = context.GetInt("status");  //0-瀹℃牳涓嶉�氳繃锛�1-瀹℃牳閫氳繃
         string auditReason = context.GetString("auditReason");
+
+        if (status == 0 && string.IsNullOrEmpty(auditReason))
+        {
+            throw new ArgumentException("璇疯緭鍏ヤ笉閫氳繃鍘熷洜锛�");
+        }
         DateTime createTime = DateTime.Now;
         string creator = context.OperatorID;
 
@@ -392,7 +425,6 @@
                 nextSort = nowSort + 1;
                 //鑾峰彇瀹℃牳娴佺▼鐨勭涓�鐜妭娴佺▼浠g爜
                 nextFlowCode = getNextFlowCode(flowGroup, nextSort);
-
             }
 
         }
@@ -422,10 +454,10 @@
         }
         else if(status==1)
         {
-            int beforeBasicNum = 0;
-            int beforeGivingNum = 0;
-            int balance = 0;
-            int topUpAmountTotal = 0;
+            Int64 beforeBasicNum = 0;
+            Int64 beforeGivingNum = 0;
+            Int64 balance = 0;
+            Int64 topUpAmountTotal = 0;
             if (string.IsNullOrEmpty(nextFlowCode))
             {
                 orderStatus = 2;
@@ -439,11 +471,12 @@
 
                 //鑾峰彇瀹㈡埛淇℃伅
                 GwClient gwClient = _GwClientDao.Get(gwSp.ClientID);
-                balance =  int.Parse(gwClient.Balance.ToString() );
-                topUpAmountTotal = int.Parse(gwClient.Top_up_Amount_Total.ToString() );
+                balance =  Int64.Parse(gwClient.Balance.ToString() );
+                topUpAmountTotal = Int64.Parse(gwClient.Top_up_Amount_Total.ToString() );
 
                 //涓�1-棰勪粯璐�
-                if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+                //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+                if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum)
                 {
                     throw new ArgumentException("瀹㈡埛浣欓鍙婂厖鍊奸噾棰濅笉瓒宠喘涔帮紝璇疯皟鏁村悗鎻愪氦锛�");
                 }
@@ -451,23 +484,20 @@
                 //gwSp.Balance = balance - num * basicNum;
                 //gwSp.BasicNum = beforeBasicNum + basicNum;
                 //gwSp.GivingNum = beforeGivingNum + givingNum;
-
-                _GwSpDao.UpdateBalanceByOrder(balance - num * basicNum
-                    , beforeBasicNum + basicNum
-                    , beforeGivingNum + givingNum
-                    , spId
-                    );
+                //鏇存柊璐﹀彿鍏呭�兼暟鎹�
+                _GwSpDao.UpdateBalanceByOrder( payAmount, basicNum , givingNum , spId );
 
 
                 //鏈夊厖鍊奸噾棰濇椂锛屾洿鏂板鎴风疮璁″厖鍊奸噾棰濓紙鍘橈級
-                if (payAmount > 0) {
+                if (payAmount > 0 || basicNum > 0 ) {
                     //GwClient gwClient = new GwClient();
-                    gwClient = new GwClient();
-                    gwClient.Top_up_Amount_Total = topUpAmountTotal + payAmount;    //绱閲戦:鍗曚綅锛堝帢锛�
-                    gwClient.Balance = ((balance + payAmount) - num * basicNum) ;   //璐︽埛浣欓:鍗曚綅锛堝帢锛�
-                    gwClient.ClientID = clientId;
+                    //gwClient = new GwClient();
+                    //gwClient.Balance = ((balance + payAmount) - num * basicNum) ;   //鍏呭�间綑棰�:鍗曚綅锛堝帢锛�
+                    //gwClient.Top_up_Amount_Total = topUpAmountTotal + payAmount;    //鍏呭�奸噾棰�:鍗曚綅锛堝帢锛�
+                    //gwClient.ClientID = clientId;
 
-                    _GwClientDao.UpdateClientAmount(gwClient);
+                    //鏇存柊瀹㈡埛鍏呭�兼暟鎹�
+                    _GwClientDao.UpdateClientAmount(payAmount-( num * basicNum), payAmount, clientId );
                 }
             }
             else
@@ -513,21 +543,21 @@
         string clientId = context.GetString("clientId");
         string productId = context.GetString("productId");
         //string comboId = context.GetString("comboId");
-        int basicNum = context.GetInt("basicNum", 0);
-        int givingNum = context.GetInt("givingNum", 0);
+        Int64 basicNum = context.GetInt("basicNum", 0);
+        Int64 givingNum = context.GetInt("givingNum", 0);
         int price = 0;
 
-        int orderNumTotal = context.GetInt("orderNumTotal", 0);
-        int orderAmountTotal = context.GetInt("orderAmountTotal", 0);
-        int payAmount = 0;
-        int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
+        Int64 orderNumTotal = context.GetInt("orderNumTotal", 0);
+        Int64 orderAmountTotal = context.GetInt("orderAmountTotal", 0);
+        Int64 payAmount = 0;
+        Int64 beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
         //瀹㈡湇浜哄憳鎻愪氦璁㈠崟鏃剁殑鐘舵�佷负1-瀹℃牳涓��
         int status = 1; //0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳閫氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛涚敵璇疯鍗曞湪鏈鏍告儏鍐典笅鍙互鍙栨秷銆�
         string remark = context.GetString("remark");
         DateTime createTime = DateTime.Now;
         string creator = context.OperatorID;
 
-        int tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
+        Int64 tmpPayAmount = Math.Max((Int64) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         payAmount = tmpPayAmount;
         int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         price = num;
@@ -542,11 +572,11 @@
 
         if (string.IsNullOrEmpty(clientId))
         {
-            throw new ArgumentException("瀹㈡埛涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("瀹㈡埛璐﹀彿涓嶈兘涓虹┖锛�");
         }
         if (string.IsNullOrEmpty(spId))
         {
-            throw new ArgumentException("璐﹀彿涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("鐭俊璐﹀彿涓嶈兘涓虹┖锛�");
         }
 
         if (basicNum<=0 && givingNum <= 0 && payAmount <=0)
@@ -556,7 +586,7 @@
 
         //鑾峰彇璐﹀彿淇℃伅
         GwSp gwSp = _GwSpDao.Get(spId);
-        int balance = 0;
+        Int64 balance = 0;
         if (gwSp == null)
         {
             throw new ArgumentException("璐﹀彿涓嶅瓨鍦紒");
@@ -569,10 +599,11 @@
 
         //鑾峰彇瀹㈡埛淇℃伅
         GwClient gwClient = _GwClientDao.Get(gwSp.ClientID);
-        balance =  int.Parse(gwClient.Balance.ToString() );
+        balance =  Int64.Parse(gwClient.Balance.ToString() );
 
         //涓�1-棰勪粯璐�
-        if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+        //if (gwSp.ChargeType==1 && (balance + payAmount) < num * basicNum)
+        if (gwClient.ChargeType==1 && (balance + payAmount) < num * basicNum)
         {
             throw new ArgumentException("瀹㈡埛浣欓鍙婂厖鍊奸噾棰濅笉瓒宠喘涔帮紝璇疯皟鏁村悗鎻愪氦锛�");
         }
@@ -640,6 +671,12 @@
         productId = gwSp.ProductId;
         price = gwSp.Price;
 
+
+        if (string.IsNullOrEmpty(gwSp.ProductId))
+        {
+            throw new ArgumentException("浜у搧閰嶇疆涓嶅厑璁镐负绌猴紒璇峰厛閰嶇疆璐﹀彿鎵�鍏宠仈浜у搧锛�");
+        }
+
         orderNumTotal = basicNum + givingNum;
         orderAmountTotal = basicNum * price;
 
@@ -695,20 +732,20 @@
         string clientId = context.GetString("clientId");
         string productId = context.GetString("productId");
         string comboId = context.GetString("clientId");
-        int basicNum = context.GetInt("basicNum", 0);
-        int givingNum = context.GetInt("givingNum", 0);
+        Int64 basicNum = context.GetInt("basicNum", 0);
+        Int64 givingNum = context.GetInt("givingNum", 0);
         int price = 0;
 
-        int orderNumTotal = context.GetInt("orderNumTotal", 0);
-        int orderAmountTotal = context.GetInt("orderAmountTotal", 0);
-        int payAmount = 0;
-        int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
+        Int64 orderNumTotal = context.GetInt("orderNumTotal", 0);
+        Int64 orderAmountTotal = context.GetInt("orderAmountTotal", 0);
+        Int64 payAmount = 0;
+        Int64 beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
         int status = 0;
         string remark = context.GetString("remark");
         DateTime createTime = DateTime.Now;
         string creator = context.OperatorID;
 
-        int tmpPayAmount = Math.Max((int) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
+        Int64 tmpPayAmount = Math.Max((Int64) (context.GetDecimal("payAmount", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
         payAmount = tmpPayAmount;
 
         int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 0);
@@ -724,11 +761,11 @@
 
         if (string.IsNullOrEmpty(clientId))
         {
-            throw new ArgumentException("瀹㈡埛涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("瀹㈡埛璐﹀彿涓嶈兘涓虹┖锛�");
         }
         if (string.IsNullOrEmpty(spId))
         {
-            throw new ArgumentException("璐﹀彿涓嶈兘涓虹┖锛�");
+            throw new ArgumentException("鐭俊璐﹀彿涓嶈兘涓虹┖锛�");
         }
 
         if (basicNum<=0 && givingNum <= 0)
@@ -763,7 +800,58 @@
     //鏍规嵁涓婚敭鑾峰彇浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
     private JsonPageResult Get(PageContext<SysUser> context)
     {
-        return new JsonPageResult(true, this._Dao.Get(context.GetString("orderId")));
+        GwOrder gwOrder = _Dao.Get(context.GetString("orderId"));
+
+        return new JsonPageResult(true,gwOrder);
+    }
+
+    //鏍规嵁瀹㈡埛API璐﹀彿鑾峰彇鍏呭�煎垵濮嬩俊鎭�
+    private JsonPageResult GetOrderBySpId(PageContext<SysUser> context)
+    {
+        string spId = context.GetString("spId");
+
+        if (!string.IsNullOrEmpty(spId))
+        {
+            GwSp  gwSp = new GwSpDao().Get(spId);
+            if(gwSp==null)
+            {
+                throw new ArgumentException("璐﹀彿涓嶅瓨鍦紒");
+
+            }
+            else if (gwSp.Status==0)
+            {
+                throw new ArgumentException("璐﹀彿鐘舵�佸凡鍋滅敤锛�");
+
+            }
+
+
+            GwOrder gwOrder = new GwOrder();
+
+            GwClient gwClient = new GwClient();
+            using (GwClientDao gwClientDao = new GwClientDao())
+            {
+                gwClient = gwClientDao.Get(gwSp.ClientID);
+                gwOrder.Company = gwClient.Company;
+                gwOrder.Balance = long.Parse(gwClient.Balance.ToString() );    //浣欓
+            }
+
+            gwOrder.SpId = gwSp.SpID;
+            gwOrder.ClientId = gwSp.ClientID;
+            gwOrder.ProductId = gwSp.ProductId;
+            gwOrder.ProductName = gwSp.ProductName;
+            gwOrder.Price = gwSp.Price;
+            gwOrder.BasicNum = gwSp.BasicNum;  //鍩烘湰鏉℃暟
+            gwOrder.GivingNum = gwSp.GivingNum;
+
+            return new JsonPageResult(true, gwOrder);
+        }
+        else
+        {
+            throw new ArgumentException("璇烽�夋嫨鐭俊璐﹀彿锛�");
+
+        }
+
+
     }
 
     //鑾峰彇閫氶亾鍒楄〃
@@ -811,9 +899,9 @@
         if (classes == -1)
             return string.Empty;
         else if(classes == 0)
-            return "0-浜у搧鍒嗙被";
+            return "浜у搧鍒嗙被";
         else if(classes == 1)
-            return "1-浜у搧";
+            return "浜у搧";
 
         return string.Empty;
     }
@@ -824,9 +912,9 @@
         if (isDefault == -1)
             return string.Empty;
         else if(isDefault == 0)
-            return "0-涓�у寲";
+            return "涓�у寲";
         else if(isDefault == 1)
-            return "1-绯荤粺榛樿";
+            return "绯荤粺榛樿";
 
         return string.Empty;
     }
@@ -837,9 +925,9 @@
         if (isEnable == -1)
             return string.Empty;
         else if(isEnable == 0)
-            return "0-鍋滅敤";
+            return "鍋滅敤";
         else if(isEnable == 1)
-            return "1-鍚敤";
+            return "鍚敤";
 
         return string.Empty;
     }
@@ -861,15 +949,15 @@
         if (status == -1)
             return string.Empty;
         else if(status == 0)
-            return "0-寰呭鏍革紙宸叉彁浜わ級";
+            return "寰呭鏍革紙宸叉彁浜わ級";
         else if(status == 1)
-            return "1-瀹℃牳涓�";
+            return "瀹℃牳涓�";
         else if(status == 2)
-            return "2-瀹℃牳閫氳繃";
+            return "瀹℃牳閫氳繃";
         else if(status == 3)
-            return "3-瀹℃牳涓嶉�氳繃";
+            return "瀹℃牳涓嶉�氳繃";
         else if(status == 4)
-            return "4-鍙栨秷";
+            return "鍙栨秷";
 
         return string.Empty;
     }

--
Gitblit v1.9.1