Richtext.ashx 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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. try
  49. {
  50. //开启事务
  51. conn.BeginTransaction();
  52. if (formData["id"].ToString() != "")
  53. {
  54. conn.ExecuteNonQuery(
  55. " UPDATE TP_PM_QUALITYLIBRARY SET " +
  56. "VALUEFLAG=0 WHERE LIBRARYID=" + formData["id"].ToString());
  57. }
  58. //创建记录
  59. DataTable dt = conn.ExecuteDatatable(@"SELECT SEQ_PM_QUALITYLIBRARY_ID.nextval FROM dual");
  60. int result = conn.ExecuteNonQuery(@"
  61. INSERT INTO TP_PM_QUALITYLIBRARY (
  62. LIBRARYID,--总单ID
  63. LIBRARYNAME, --项目名称
  64. GOODSID,--产品ID
  65. GOODSCODE,--产品编码(产品型
  66. PARTICIPANTS,--参与人员
  67. QUESTION,--问题
  68. SOLUTION,--解决方式
  69. SOLUTIONEFFECT,--解决效果
  70. ANNEX,--项目相关资料(附件)
  71. ACCOUNTID,CREATEUSERID,UPDATEUSERID
  72. ) VALUES (
  73. @LIBRARYID@,
  74. @LIBRARYNAME@,
  75. @GOODSID@,
  76. @GOODSCODE@,
  77. @PARTICIPANTS@,
  78. @QUESTION@,
  79. @SOLUTION@,
  80. @SOLUTIONEFFECT@,
  81. @ANNEX@,
  82. @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@
  83. )
  84. ",
  85. new CDAParameter("LIBRARYID", dt.Rows[0][0]),
  86. new CDAParameter("LIBRARYNAME", formData["name"]),
  87. new CDAParameter("GOODSID", formData["modelid"]),
  88. new CDAParameter("GOODSCODE", formData["modelname"]),
  89. new CDAParameter("PARTICIPANTS", formData["participants"]),
  90. new CDAParameter("QUESTION", formData["problem"]),
  91. new CDAParameter("SOLUTION", formData["solution"]),
  92. new CDAParameter("SOLUTIONEFFECT", formData["solutioneffect"]),
  93. new CDAParameter("ANNEX", formData["annex"]),
  94. new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
  95. new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
  96. new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"]));
  97. //提交事务
  98. conn.Commit();
  99. context.Response.Write(JsonConvert.SerializeObject(result == 1 ? dt.Rows[0][0] : false, Formatting.Indented));
  100. }
  101. catch
  102. {
  103. //回滚事务
  104. conn.Rollback();
  105. context.Response.Write(JsonConvert.SerializeObject(false, Formatting.Indented));
  106. }
  107. }
  108. }
  109. //获取所有(单个记录)
  110. if (context.Request["m"].ToString() == "get")
  111. {
  112. //获取前端传递的表单
  113. var formData = context.Request.Form;
  114. int id = formData["id"] != null ? int.Parse(formData["id"].ToString()) : 0;
  115. using (IDataAccess conn = DataAccess.Create())
  116. {
  117. 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";
  118. if (id != 0)
  119. {
  120. sqlStr += "AND Q.LIBRARYID=" + id;
  121. }
  122. sqlStr += "ORDER BY q.CREATETIME DESC";
  123. DataTable dt = conn.ExecuteDatatable(sqlStr);
  124. List<Dictionary<string, string>> result = new List<Dictionary<string, string>>();
  125. for (int i = 0; i < dt.Rows.Count; i++)
  126. {
  127. Dictionary<string, string> content = new Dictionary<string, string>();
  128. //id
  129. content.Add("id", dt.Rows[i]["LIBRARYID"].ToString());
  130. //项目名称
  131. content.Add("name", dt.Rows[i]["LIBRARYNAME"].ToString());
  132. //产品型号id
  133. content.Add("modelid", dt.Rows[i]["GOODSID"].ToString());
  134. //产品型号
  135. content.Add("modelname", dt.Rows[i]["GOODSCODE"].ToString());
  136. //参与人员
  137. content.Add("participants", dt.Rows[i]["PARTICIPANTS"].ToString());
  138. //问题
  139. content.Add("problem", dt.Rows[i]["QUESTION"].ToString());
  140. //解决方式
  141. content.Add("solution", dt.Rows[i]["SOLUTION"].ToString());
  142. //解决效果
  143. content.Add("solutioneffect", dt.Rows[i]["SOLUTIONEFFECT"].ToString());
  144. //附件
  145. content.Add("annex", dt.Rows[i]["ANNEX"].ToString());
  146. //创建时间
  147. content.Add("createtime", dt.Rows[i]["CREATETIME"].ToString());
  148. //创建人
  149. content.Add("username", dt.Rows[i]["USERNAME"].ToString());
  150. result.Add(content);
  151. }
  152. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  153. }
  154. }
  155. //删除文件
  156. if (context.Request["m"].ToString() == "deletefile")
  157. {
  158. //获取前端传递的表单
  159. var formData = context.Request.Form;
  160. int id = formData["id"] != null ? int.Parse(formData["id"].ToString()) : 0;
  161. using (IDataAccess conn = DataAccess.Create())
  162. {
  163. int result = conn.ExecuteNonQuery(" UPDATE TP_PM_QUALITYLIBRARY SET ANNEX=null WHERE LIBRARYID=" + formData["id"].ToString());
  164. context.Response.Write(JsonConvert.SerializeObject(result, Formatting.Indented));
  165. }
  166. }
  167. if (context.Request["m"].ToString() == "deletedata")
  168. {
  169. //获取前端传递的表单
  170. var formData = context.Request.Form;
  171. var id = formData["id"];
  172. int code = 500;
  173. using (IDataAccess conn = DataAccess.Create())
  174. {
  175. int result = conn.ExecuteNonQuery(" UPDATE TP_PM_QUALITYLIBRARY SET VALUEFLAG=0 WHERE LIBRARYID=" + id);
  176. code = result != 0 ? 200 : 500;
  177. }
  178. context.Response.Write(JsonConvert.SerializeObject(code, Formatting.Indented));
  179. }
  180. }
  181. public bool IsReusable
  182. {
  183. get
  184. {
  185. return false;
  186. }
  187. }
  188. }