Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<%@ WebHandler Language="C#" Class="AjaxSummaryOrder" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
public class AjaxSummaryOrder : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
Kenanfans.KDO.SqlDataBaseOperator _Sdbo = null;
public void ProcessRequest (HttpContext context) {
_Sdbo = DataService.Sdbo;
//System.Threading.Thread.Sleep(2000);
String act = context.Request["Action"];
String msg = "";
JSONObject jo = new JSONObject();
jo.Add("Action", act);
if (act == "SummaryOrder")
{
String dateStr = context.Request["DateStr"];
Guid orderID = Guid.NewGuid();
Boolean ifNewOrder = true;
DataRow orderRow = _Sdbo.ExecuteDataRow("SELECT OrderID,OrderStatus FROM MyOrder.Info WHERE DeliveryID='{0}' AND CreateDate={1}", MySession.UserGroupID, dateStr);
SqlConnection conn = _Sdbo.GetConnection();
conn.Open();
SqlTransaction st = conn.BeginTransaction();
SqlCommand cmd = conn.CreateCommand();
cmd.Transaction = st;
try
{
cmd.CommandType = CommandType.Text;
String sql = "";
if (orderRow != null)
{
GlobalDefine.OrderStatus oldStatus = (GlobalDefine.OrderStatus)Convert.ToInt32(orderRow["OrderStatus"]);
//如果订单已存在,则只有未提交的订单可以汇总审核
if (oldStatus != GlobalDefine.OrderStatus.NotSubmit)
{
throw new Exception("当前订单状态不能提交或保存");
}
ifNewOrder = false;
orderID = (Guid)orderRow["OrderID"];
}
if (ifNewOrder)
{
sql = String.Format("INSERT INTO MyOrder.Info VALUES ('{0}','{1}','{2}',{3},'{4}','{5}',{6})", orderID, MySession.UserGroupID, MySession.UserID, dateStr, DateTime.Now, "", (int)GlobalDefine.OrderStatus.NotAuth);
cmd.CommandText = sql;
int res = cmd.ExecuteNonQuery();
}
else
{
sql = String.Format("DELETE FROM MyOrder.Detail WHERE OrderID='{0}'", orderID);
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
sql = String.Format("UPDATE MyOrder.Info SET OrderStatus={0} WHERE OrderID='{1}'", (int)GlobalDefine.OrderStatus.NotAuth, orderID);
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
String[] postDatas = context.Request["OrderData"].Split("|".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
foreach (String pd in postDatas)
{
//商品ID,价格,数量
String[] pdArr = pd.Split(",".ToCharArray());
sql = String.Format("INSERT INTO MyOrder.Detail VALUES ('{0}','{1}',{2},{3},0)", orderID, pdArr[0], pdArr[1], pdArr[2]);
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
}
st.Commit();
jo.Add("status", "success");
_Sdbo.ExecuteNonQueryProc("msp_OrderTrace", MySession.UserID, orderID, DateTime.Now, "汇总审核订单");
msg = "汇总审核成功";
}
catch (Exception ex)
{
st.Rollback();
jo.Add("status", "failed");
msg = String.Format("汇总审核失败,原因是:<div>{0}</div>", ex.Message);
}
jo.Add("msg", msg);
context.Response.Write(JSONConvert.SerializeObject(jo));
}
}
public bool IsReusable {
get {
return false;
}
}
}