Richtext.ashx 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <%@ WebHandler Language="C#" Class="Richtext" %>
  2. using System;
  3. using System.Web;
  4. using System.Web.SessionState;
  5. using System.Linq;
  6. using Newtonsoft.Json;
  7. using System.Collections.Generic;
  8. using Curtain.DataAccess;
  9. using System.Data;
  10. public class Richtext : IHttpHandler, IReadOnlySessionState
  11. {
  12. public void ProcessRequest(HttpContext context)
  13. {
  14. context.Response.ContentType = "text/plain";
  15. //上传文件
  16. if (context.Request["m"].ToString() == "0")
  17. {
  18. string guid = Guid.NewGuid().ToString().Split('-')[0];
  19. string filePath = "/mes/upload/" + DateTime.Now.ToString("yyyy-MM-dd");
  20. System.IO.Directory.CreateDirectory(context.Server.MapPath(filePath));
  21. string fileName = filePath + "/" + DateTime.Now.ToString("yyyy-MM-dd") + "-" + guid + "-" + context.Request.Files[0].FileName.Split('.')[0];
  22. fileName += System.IO.Path.GetExtension(context.Request.Files[0].FileName);
  23. string diskFileName = context.Server.MapPath(fileName);
  24. if (System.IO.File.Exists(diskFileName)) System.IO.File.Delete(diskFileName);
  25. context.Request.Files[0].SaveAs(diskFileName);
  26. Dictionary<string, object> result = new Dictionary<string, object>();
  27. result.Add("errno", 0);
  28. result.Add("data", new Dictionary<string, string>()
  29. {
  30. {"url","http://localhost:62173"+fileName }
  31. });
  32. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  33. }
  34. //获取产品型号
  35. if (context.Request["m"].ToString() == "getproductmodel")
  36. {
  37. using (IDataAccess conn = DataAccess.Create())
  38. {
  39. string sqlStr = @"SELECT GOODSID AS ID, GOODSCODE FROM TP_MST_GOODS WHERE VALUEFLAG=1";
  40. DataTable dt = conn.ExecuteDatatable(sqlStr);
  41. context.Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
  42. }
  43. }
  44. //添加记录
  45. if (context.Request["m"].ToString() == "add")
  46. {
  47. //获取前端传递的表单
  48. var formData = context.Request.Form;
  49. using (IDataAccess conn = DataAccess.Create())
  50. {
  51. if (formData["id"].ToString() != "")
  52. {
  53. conn.ExecuteNonQuery(
  54. " UPDATE TP_PM_QUALITYLIBRARY SET " +
  55. "VALUEFLAG=0 WHERE LIBRARYID=" + formData["id"].ToString());
  56. }
  57. //创建记录
  58. DataTable dt = conn.ExecuteDatatable(@"SELECT SEQ_PM_QUALITYLIBRARY_ID.nextval FROM dual");
  59. int result = conn.ExecuteNonQuery(@"
  60. INSERT INTO TP_PM_QUALITYLIBRARY (
  61. LIBRARYID,--总单ID
  62. LIBRARYNAME, --项目名称
  63. GOODSID,--产品ID
  64. GOODSCODE,--产品编码(产品型
  65. PARTICIPANTS,--参与人员
  66. QUESTION,--问题
  67. SOLUTION,--解决方式
  68. SOLUTIONEFFECT,--解决效果
  69. ANNEX,--项目相关资料(附件)
  70. ACCOUNTID,CREATEUSERID,UPDATEUSERID
  71. ) VALUES (
  72. @LIBRARYID@,
  73. @LIBRARYNAME@,
  74. @GOODSID@,
  75. @GOODSCODE@,
  76. @PARTICIPANTS@,
  77. @QUESTION@,
  78. @SOLUTION@,
  79. @SOLUTIONEFFECT@,
  80. @ANNEX@,
  81. @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@
  82. )
  83. ",
  84. new CDAParameter("LIBRARYID", dt.Rows[0][0]),
  85. new CDAParameter("LIBRARYNAME", formData["name"]),
  86. new CDAParameter("GOODSID", formData["modelid"]),
  87. new CDAParameter("GOODSCODE", formData["modelname"]),
  88. new CDAParameter("PARTICIPANTS", formData["participants"]),
  89. new CDAParameter("QUESTION", formData["problem"]),
  90. new CDAParameter("SOLUTION", formData["solution"]),
  91. new CDAParameter("SOLUTIONEFFECT", formData["solutioneffect"]),
  92. new CDAParameter("ANNEX", formData["annex"]),
  93. new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
  94. new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
  95. new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"]));
  96. context.Response.Write(JsonConvert.SerializeObject(result == 1 ? dt.Rows[0][0] : "false", Formatting.Indented));
  97. }
  98. }
  99. //获取所有(单个记录)
  100. if (context.Request["m"].ToString() == "get")
  101. {
  102. //获取前端传递的表单
  103. var formData = context.Request.Form;
  104. int id = formData["id"] != null ? int.Parse(formData["id"].ToString()) : 0;
  105. using (IDataAccess conn = DataAccess.Create())
  106. {
  107. string sqlStr = "SELECT Q.*,U.USERNAME FROM TP_PM_QUALITYLIBRARY Q LEFT JOIN TP_MST_USER U ON Q.CREATEUSERID=U.USERID WHERE Q.VALUEFLAG=1";
  108. if (id != 0)
  109. {
  110. sqlStr += "AND Q.LIBRARYID=" + id;
  111. }
  112. sqlStr += "ORDER BY q.CREATETIME DESC";
  113. DataTable dt = conn.ExecuteDatatable(sqlStr);
  114. List<Dictionary<string, string>> result = new List<Dictionary<string, string>>();
  115. for (int i = 0; i < dt.Rows.Count; i++)
  116. {
  117. Dictionary<string, string> content = new Dictionary<string, string>();
  118. //id
  119. content.Add("id", dt.Rows[i]["LIBRARYID"].ToString());
  120. //项目名称
  121. content.Add("name", dt.Rows[i]["LIBRARYNAME"].ToString());
  122. //产品型号id
  123. content.Add("modelid", dt.Rows[i]["GOODSID"].ToString());
  124. //产品型号
  125. content.Add("modelname", dt.Rows[i]["GOODSCODE"].ToString());
  126. //参与人员
  127. content.Add("participants", dt.Rows[i]["PARTICIPANTS"].ToString());
  128. //问题
  129. content.Add("problem", dt.Rows[i]["QUESTION"].ToString());
  130. //解决方式
  131. content.Add("solution", dt.Rows[i]["SOLUTION"].ToString());
  132. //解决效果
  133. content.Add("solutioneffect", dt.Rows[i]["SOLUTIONEFFECT"].ToString());
  134. //附件
  135. content.Add("annex", dt.Rows[i]["ANNEX"].ToString());
  136. //创建时间
  137. content.Add("createtime", dt.Rows[i]["CREATETIME"].ToString());
  138. //创建人
  139. content.Add("username", dt.Rows[i]["USERNAME"].ToString());
  140. result.Add(content);
  141. }
  142. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  143. }
  144. }
  145. //删除文件
  146. if (context.Request["m"].ToString() == "deletefile")
  147. {
  148. //获取前端传递的表单
  149. var formData = context.Request.Form;
  150. int id = formData["id"] != null ? int.Parse(formData["id"].ToString()) : 0;
  151. using (IDataAccess conn = DataAccess.Create())
  152. {
  153. int result = conn.ExecuteNonQuery(" UPDATE TP_PM_QUALITYLIBRARY SET ANNEX=null WHERE LIBRARYID=" + formData["id"].ToString());
  154. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  155. }
  156. }
  157. }
  158. public bool IsReusable
  159. {
  160. get
  161. {
  162. return false;
  163. }
  164. }
  165. }