Richtext.ashx 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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>() { {"url","http://172.18.32.32:9000/"+fileName } });
  29. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  30. }
  31. //获取产品型号
  32. if (context.Request["m"].ToString() == "getproductmodel")
  33. {
  34. using (IDataAccess conn = DataAccess.Create())
  35. {
  36. string sqlStr = @"SELECT GOODSID AS ID, GOODSCODE FROM TP_MST_GOODS WHERE VALUEFLAG=1";
  37. DataTable dt = conn.ExecuteDatatable(sqlStr);
  38. context.Response.Write(JsonConvert.SerializeObject(dt, Formatting.Indented));
  39. }
  40. }
  41. //添加记录
  42. if (context.Request["m"].ToString() == "add")
  43. {
  44. //获取前端传递的表单
  45. var formData = context.Request.Form;
  46. using (IDataAccess conn = DataAccess.Create())
  47. {
  48. if (formData["id"].ToString() != "")
  49. {
  50. conn.ExecuteNonQuery(
  51. " UPDATE TP_PM_QUALITYLIBRARY SET " +
  52. "VALUEFLAG=0 WHERE LIBRARYID=" + formData["id"].ToString());
  53. }
  54. //创建记录
  55. DataTable dt = conn.ExecuteDatatable(@"SELECT SEQ_PM_QUALITYLIBRARY_ID.nextval FROM dual");
  56. int result = conn.ExecuteNonQuery(@"
  57. INSERT INTO TP_PM_QUALITYLIBRARY (
  58. LIBRARYID,--总单ID
  59. LIBRARYNAME, --项目名称
  60. GOODSID,--产品ID
  61. GOODSCODE,--产品编码(产品型
  62. PARTICIPANTS,--参与人员
  63. QUESTION,--问题
  64. SOLUTION,--解决方式
  65. SOLUTIONEFFECT,--解决效果
  66. ANNEX,--项目相关资料(附件)
  67. ACCOUNTID,CREATEUSERID,UPDATEUSERID
  68. ) VALUES (
  69. @LIBRARYID@,
  70. @LIBRARYNAME@,
  71. @GOODSID@,
  72. @GOODSCODE@,
  73. @PARTICIPANTS@,
  74. @QUESTION@,
  75. @SOLUTION@,
  76. @SOLUTIONEFFECT@,
  77. @ANNEX@,
  78. @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@
  79. )
  80. ",
  81. new CDAParameter("LIBRARYID", dt.Rows[0][0]),
  82. new CDAParameter("LIBRARYNAME", formData["name"]),
  83. new CDAParameter("GOODSID", formData["modelid"]),
  84. new CDAParameter("GOODSCODE", formData["modelname"]),
  85. new CDAParameter("PARTICIPANTS", formData["participants"]),
  86. new CDAParameter("QUESTION", formData["problem"]),
  87. new CDAParameter("SOLUTION", formData["solution"]),
  88. new CDAParameter("SOLUTIONEFFECT", formData["solutioneffect"]),
  89. new CDAParameter("ANNEX", formData["annex"]),
  90. new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
  91. new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
  92. new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"]));
  93. context.Response.Write(JsonConvert.SerializeObject(result == 1 ? dt.Rows[0][0] : "false", Formatting.Indented));
  94. }
  95. }
  96. //获取所有(单个记录)
  97. if (context.Request["m"].ToString() == "get")
  98. {
  99. //获取前端传递的表单
  100. var formData = context.Request.Form;
  101. int id = formData["id"] != null ? int.Parse(formData["id"].ToString()) : 0;
  102. using (IDataAccess conn = DataAccess.Create())
  103. {
  104. 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";
  105. if (id != 0)
  106. {
  107. sqlStr += "AND Q.LIBRARYID=" + id;
  108. }
  109. sqlStr += "ORDER BY q.CREATETIME DESC";
  110. DataTable dt = conn.ExecuteDatatable(sqlStr);
  111. List<Dictionary<string, string>> result = new List<Dictionary<string, string>>();
  112. for (int i = 0; i < dt.Rows.Count; i++)
  113. {
  114. Dictionary<string, string> content = new Dictionary<string, string>();
  115. //id
  116. content.Add("id", dt.Rows[i]["LIBRARYID"].ToString());
  117. //项目名称
  118. content.Add("name", dt.Rows[i]["LIBRARYNAME"].ToString());
  119. //产品型号id
  120. content.Add("modelid", dt.Rows[i]["GOODSID"].ToString());
  121. //产品型号
  122. content.Add("modelname", dt.Rows[i]["GOODSCODE"].ToString());
  123. //参与人员
  124. content.Add("participants", dt.Rows[i]["PARTICIPANTS"].ToString());
  125. //问题
  126. content.Add("problem", dt.Rows[i]["QUESTION"].ToString());
  127. //解决方式
  128. content.Add("solution", dt.Rows[i]["SOLUTION"].ToString());
  129. //解决效果
  130. content.Add("solutioneffect", dt.Rows[i]["SOLUTIONEFFECT"].ToString());
  131. //附件
  132. content.Add("annex", dt.Rows[i]["ANNEX"].ToString());
  133. //创建时间
  134. content.Add("createtime", dt.Rows[i]["CREATETIME"].ToString());
  135. //创建人
  136. content.Add("username", dt.Rows[i]["USERNAME"].ToString());
  137. result.Add(content);
  138. }
  139. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  140. }
  141. }
  142. //删除文件
  143. if (context.Request["m"].ToString() == "deletefile")
  144. {
  145. //获取前端传递的表单
  146. var formData = context.Request.Form;
  147. int id = formData["id"] != null ? int.Parse(formData["id"].ToString()) : 0;
  148. using (IDataAccess conn = DataAccess.Create())
  149. {
  150. int result = conn.ExecuteNonQuery(" UPDATE TP_PM_QUALITYLIBRARY SET ANNEX=null WHERE LIBRARYID=" + formData["id"].ToString());
  151. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  152. }
  153. }
  154. }
  155. public bool IsReusable
  156. {
  157. get
  158. {
  159. return false;
  160. }
  161. }
  162. }