ProductController.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6. using PMS.BusinessModels.SysManager;
  7. using PMS.Interface;
  8. using PMS.Interface.SysManager;
  9. using PMS.Interface.Product;
  10. using PMS.BusinessModels.Product;
  11. using PMS.EntityModels.Product;
  12. using PMS.Interface.BaseCode;
  13. using System.IO;
  14. namespace PMS.WebUI.Controllers
  15. {
  16. public class ProductController : BaseController
  17. {
  18. IProductModule ProductModule = InterfaceFactory.CreateBusinessInstance<IProductModule>();
  19. IBaseCode BaseCode_obj = InterfaceFactory.CreateBusinessInstance<IBaseCode>();
  20. // GET: Product
  21. #region 产品管理
  22. public ActionResult ProductInfoManage()
  23. {
  24. return View();
  25. }
  26. /// <summary>
  27. /// 版本计划
  28. /// </summary>
  29. /// <returns></returns>
  30. public ActionResult ProductVersionManagePlan()
  31. {
  32. return View();
  33. }
  34. public ActionResult ProductProblemWindow()
  35. {
  36. ViewBag.PersonProperty = GetCurrentUser().PersonProperty;
  37. return View();
  38. }
  39. /// <summary>
  40. /// 获取产品线datagrid
  41. /// </summary>
  42. /// <param name="Search"></param>
  43. /// <param name="States"></param>
  44. /// <returns></returns>
  45. [HttpGet]
  46. public ActionResult ProductInfoDataGrid(string Search, string States)
  47. {
  48. var json = ProductModule.GetProductInfoDataGrid(Search, States);
  49. return Content(json, "application/json");
  50. }
  51. /// <summary>
  52. /// 获取产品线combobox(valueField:ID,textField:名称)
  53. /// </summary>
  54. /// <returns></returns>
  55. public ActionResult ProductInfoCombobox()
  56. {
  57. var json = ProductModule.ProductInfoCombobox();
  58. return Content(json, "application/json");
  59. }
  60. /// <summary>
  61. /// 获取产品功能树
  62. /// </summary>
  63. /// <param name="Search"></param>
  64. /// <param name="States"></param>
  65. /// <param name="ProductId"></param>
  66. /// <returns></returns>
  67. [HttpGet]
  68. public ActionResult productFunctionTree(string Search, string States, string ProductId)
  69. {
  70. var json = ProductModule.GetProductFunctionTree(ProductId,Search, States);
  71. return Content(json, "application/json");
  72. }
  73. /// <summary>
  74. /// 通过ID获取产品信息
  75. /// </summary>
  76. /// <param name="id"></param>
  77. /// <returns></returns>
  78. public ActionResult GetProductInfo(string id)
  79. {
  80. var dt = ProductModule.GetProductInfo(id);
  81. return this.ResponseJson(System.Net.HttpStatusCode.OK, "读取成功", dt);
  82. }
  83. /// <summary>
  84. /// 产品信息编辑
  85. /// </summary>
  86. /// <param name="id"></param>
  87. /// <returns></returns>
  88. public ActionResult ProductInfoEdit(string id)
  89. {
  90. ViewBag.id = id;
  91. return View();
  92. }
  93. /// <summary>
  94. /// 删除产品线
  95. /// </summary>
  96. /// <param name="id"></param>
  97. /// <returns></returns>
  98. public ActionResult PostDelProduct(string id)
  99. {
  100. //调用业务接口进行删除
  101. var r = ProductModule.DelProduct(id);
  102. if (r)
  103. {//删除成功
  104. return this.ResponseJson(System.Net.HttpStatusCode.OK, "删除成功");
  105. }
  106. else
  107. {//删除失败
  108. return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "删除失败");
  109. }
  110. }
  111. /// <summary>
  112. /// 编辑产品线
  113. /// </summary>
  114. /// <param name="model"></param>
  115. /// <returns></returns>
  116. [HttpPost]
  117. public ActionResult PostSaveProduct(FormProductModel model)
  118. {
  119. //调用业务接口进行保存
  120. var r = ProductModule.SaveProductInfo(model);
  121. if (r)
  122. {//保存成功
  123. return this.ResponseJson(System.Net.HttpStatusCode.OK, "保存成功");
  124. }
  125. else
  126. {//保存失败
  127. return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "保存失败");
  128. }
  129. }
  130. /// <summary>
  131. /// 产品功能编辑
  132. /// </summary>
  133. /// <param name="id"></param>
  134. /// <returns></returns>
  135. public ActionResult ProductFunEdit(string id,string ProID,string ParentId)
  136. {
  137. ViewBag.id = id;
  138. ViewBag.ProID = ProID;
  139. ViewBag.ParentId = ParentId;
  140. return View();
  141. }
  142. /// <summary>
  143. /// 获取产品功能树
  144. /// </summary>
  145. /// <returns></returns>
  146. public ActionResult GetProdutFunTree(string ProID)
  147. {
  148. var json = ProductModule.GetProdutFunTree(ProID);
  149. return Content(json, "application/json");
  150. }
  151. /// <summary>
  152. /// 通过ID获取产品功能
  153. /// </summary>
  154. /// <param name="id"></param>
  155. /// <returns></returns>
  156. public ActionResult GetProductFunInfo(string id)
  157. {
  158. var dt = ProductModule.GetProductFunInfo(id);
  159. return this.ResponseJson(System.Net.HttpStatusCode.OK, "读取成功", dt);
  160. }
  161. /// <summary>
  162. /// 产品功能编辑
  163. /// </summary>
  164. [HttpPost]
  165. public ActionResult PostSaveProductFun(FormProductFunModel Model)
  166. {
  167. // 调用业务接口进行保存
  168. var r = ProductModule.PostSaveProductFun(Model);
  169. if (r)
  170. {//保存成功
  171. return this.ResponseJson(System.Net.HttpStatusCode.OK, "保存成功");
  172. }
  173. else
  174. {//保存失败
  175. return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "保存失败");
  176. }
  177. }
  178. /// <summary>
  179. /// 产品功能删除
  180. /// </summary>
  181. /// <param name="id"></param>
  182. /// <returns></returns>
  183. public ActionResult PostDelProductFun(string id)
  184. {
  185. //调用业务接口进行删除
  186. var r = ProductModule.DelProductFun(id);
  187. if (r)
  188. {//删除成功
  189. return this.ResponseJson(System.Net.HttpStatusCode.OK, "删除成功");
  190. }
  191. else
  192. {//删除失败
  193. return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "删除失败");
  194. }
  195. }
  196. #endregion
  197. #region 产品版本
  198. public ActionResult ProductVersionManage()
  199. {
  200. ViewBag.PersonProperty = GetCurrentUser().PersonProperty;
  201. return View();
  202. }
  203. /// <summary>
  204. /// 获取产品版本树
  205. /// </summary>
  206. /// <param name="ProductID">产品ID</param>
  207. /// <param name="States">状态</param>
  208. /// <returns></returns>
  209. public ActionResult productVersionInfoTreeGrid(string ProductID, string States)
  210. {
  211. var json = ProductModule.productVersionInfoTreeGrid(ProductID, States);
  212. return Content(json, "application/json");
  213. }
  214. public ActionResult ProductVerInfoEdit(string id,string ProID)
  215. {
  216. ViewBag.id = id;
  217. ViewBag.ProID = ProID;
  218. return View();
  219. }
  220. /// <summary>
  221. /// 获取产品版本树
  222. /// </summary>
  223. /// <param name="ProID">产品ID</param>
  224. /// <returns></returns>
  225. public ActionResult GetProdutVersionTree(string ProID)
  226. {
  227. var json = ProductModule.GetProdutVersionTree(ProID);
  228. return Content(json, "application/json");
  229. }
  230. /// <summary>
  231. /// 获取产品版本信息
  232. /// </summary>
  233. /// <param name="id">产品版本ID</param>
  234. /// <returns></returns>
  235. public ActionResult GetProductVerInfo(string id)
  236. {
  237. var dt = ProductModule.GetProductVerInfo(id);
  238. return this.ResponseJson(System.Net.HttpStatusCode.OK, "读取成功", dt);
  239. }
  240. public ActionResult PostSaveProductVersion(FormProductVerModel FormModel)
  241. {
  242. var emodel = FormModel.ToDBModel<ProductVersionModel>();
  243. // 调用业务接口进行保存
  244. var r = ProductModule.PostSaveProductVersion(emodel);
  245. if (r)
  246. {//保存成功
  247. return this.ResponseJson(System.Net.HttpStatusCode.OK, "保存成功");
  248. }
  249. else
  250. {//保存失败
  251. return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "保存失败");
  252. }
  253. }
  254. public ActionResult PostDelProductVer(string id)
  255. {
  256. //调用业务接口进行删除
  257. var r = ProductModule.PostDelProductVer(id);
  258. if (r)
  259. {//删除成功
  260. return this.ResponseJson(System.Net.HttpStatusCode.OK, "删除成功");
  261. }
  262. else
  263. {//删除失败
  264. return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "删除失败");
  265. }
  266. }
  267. /// <summary>
  268. /// 获取产品版本附件datagrid
  269. /// </summary>
  270. /// <param name="ProductVerID">版本ID</param>
  271. /// <returns></returns>
  272. public ActionResult ProductVerAnnexDataGrid (string ProductVerID)
  273. {
  274. var json = ProductModule.ProductVerAnnexDataGrid(ProductVerID);
  275. return Content(json, "application/json");
  276. }
  277. public ActionResult ProductVerFlieUpload(string id)
  278. {
  279. ViewBag.id = id;
  280. return View();
  281. }
  282. /// <summary>
  283. /// 根据分类ID获取基础编码
  284. /// </summary>
  285. /// <param name="ClassificationID"></param>
  286. /// <returns></returns>
  287. public ActionResult GetCodeCombobox(string ClassificationID)
  288. {
  289. var json = BaseCode_obj.GetCodeComboboxs(ClassificationID);
  290. return Content(json, "application/json");
  291. }
  292. //获取所有的产品目录列表
  293. public ActionResult GetAllProducts()
  294. {
  295. var json = ProductModule.GetAllProducts();
  296. return Content(json, "application/json");
  297. }
  298. /// <summary>
  299. /// 上传产品版本附件
  300. /// </summary>
  301. /// <param name="VersionId"></param>
  302. /// <param name="Type"></param>
  303. /// <returns></returns>
  304. public ActionResult UplodProductVersionFile(string VersionId,string Type)
  305. {
  306. var files = this.Request.Files;
  307. var rs = false;
  308. var Model = new ProductVersionFileModel();
  309. Model.Name = GetCurrentUser().Name;
  310. Model.VersionID = VersionId;
  311. Model.Type = Type;
  312. if (files.Count > 0)
  313. {
  314. for (int i = 0; i < files.Count; i++)
  315. {
  316. using (BinaryReader br = new BinaryReader(files[i].InputStream))
  317. {
  318. byte[] byteData = br.ReadBytes((int)files[i].InputStream.Length);
  319. var uploadFile = files[i];
  320. var fileName = uploadFile.FileName;
  321. string _tp = System.IO.Path.GetExtension(fileName);
  322. //上传
  323. var UplodResult = UploadFile(byteData, fileName, _tp);
  324. ///是否上传成功
  325. if (UplodResult.code == 100)
  326. {
  327. ///保存到问题附件表
  328. Model.FileId = UplodResult.data;
  329. var t= ProductModule.AddVersionFile(Model);
  330. if (t) rs = true;
  331. }
  332. }
  333. }
  334. }
  335. if (rs)
  336. {
  337. return Content(new PmsJsonResoult(System.Net.HttpStatusCode.OK, "成功", null).ToString(), "application/json");
  338. }
  339. else
  340. {
  341. return Content(new PmsJsonResoult(System.Net.HttpStatusCode.Forbidden, "失败", null).ToString(), "application/json");
  342. }
  343. }
  344. /// <summary>
  345. /// 删除产品版本附件
  346. /// </summary>
  347. /// <param name="VersionId"></param>
  348. /// <returns></returns>
  349. public ActionResult DeleteProductVersionFile(string id)
  350. {
  351. var rs = ProductModule.DeleteProductVersionFile(id);
  352. if (rs)
  353. {
  354. return Content(new PmsJsonResoult(System.Net.HttpStatusCode.OK, "成功", null).ToString(), "application/json");
  355. }
  356. else
  357. {
  358. return Content(new PmsJsonResoult(System.Net.HttpStatusCode.Forbidden, "失败", null).ToString(), "application/json");
  359. }
  360. }
  361. #endregion
  362. }
  363. }