AdminProduceController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.iamberry.rst.controllers.pts;
  2. import com.iamberry.rst.core.pts.ProcessNode;
  3. import com.iamberry.rst.core.pts.Produce;
  4. import com.iamberry.rst.core.pts.ProduceProcess;
  5. import com.iamberry.rst.faces.pts.ProduceService;
  6. import com.iamberry.wechat.tools.ResponseJson;
  7. import net.sf.json.JSONArray;
  8. import net.sf.json.JSONObject;
  9. import org.apache.shiro.authz.annotation.RequiresPermissions;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Controller;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import org.springframework.web.servlet.ModelAndView;
  15. import javax.servlet.http.HttpServletRequest;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * 生产产品管理 controller
  21. * wangxiaoming
  22. */
  23. @Controller
  24. @RequestMapping("/admin/produce")
  25. public class AdminProduceController {
  26. @Autowired
  27. private ProduceService produceService;
  28. /**
  29. * 查询生产产品列表
  30. *
  31. * @param request
  32. * @return
  33. */
  34. @RequiresPermissions("produce:list_produce:produce")
  35. @RequestMapping("/_produce_list")
  36. public ModelAndView selectProduceList(HttpServletRequest request) {
  37. ModelAndView mv = new ModelAndView("pts/produce/produce_list");
  38. List<Produce> list = produceService.getProduceList();
  39. //获取每个产品的所有工序
  40. for (Produce produce : list){
  41. ProduceProcess produceProcess = new ProduceProcess();
  42. produceProcess.setProduceId(produce.getProduceId());
  43. List<ProduceProcess> produceProcessesList = produceService.listProduceProcess(produceProcess);
  44. produce.setProcess(produceProcessesList);
  45. }
  46. mv.addObject("resultList", list);
  47. return mv;
  48. }
  49. /**
  50. * 跳转到添加产品页面
  51. *
  52. * @return
  53. */
  54. @RequiresPermissions("produce:save_produce:produce")
  55. @RequestMapping("/to_save_produce")
  56. public ModelAndView goSaveProduce(HttpServletRequest request) {
  57. ModelAndView mv = new ModelAndView("pts/produce/save_produce");
  58. return mv;
  59. }
  60. /**
  61. * 添加产品
  62. *
  63. * @return
  64. */
  65. @ResponseBody
  66. @RequiresPermissions("produce:save_produce:produce")
  67. @RequestMapping(value="/save_produce")
  68. public ResponseJson saveProduce( Produce produce,HttpServletRequest request) {
  69. JSONArray jsonArray = JSONArray.fromObject(produce.getJson());
  70. List<ProduceProcess> process = (List) JSONArray.toCollection(jsonArray,ProduceProcess.class);
  71. for(ProduceProcess produceProcess :process){
  72. JSONArray nodesArray = JSONArray.fromObject(produceProcess.getJson());
  73. List<ProcessNode> processNode = (List) JSONArray.toCollection(nodesArray,ProcessNode.class);
  74. produceProcess.setNodes(processNode);
  75. }
  76. produce.setProcess(process);
  77. int falg = produceService.saveProduce(produce);
  78. if (falg < 1 ){
  79. return new ResponseJson(500, "ERROR", 500);
  80. }else {
  81. return new ResponseJson(200, "SUCCESS", 200);
  82. }
  83. }
  84. /**
  85. * 跳转到修改页面
  86. *
  87. * @return
  88. */
  89. @RequiresPermissions("produce:update_produce:produce")
  90. @RequestMapping("/to_update_produce")
  91. public ModelAndView toUpdateProduce(HttpServletRequest request,String produceId) {
  92. ModelAndView mv = new ModelAndView("pts/produce/update_produce");
  93. Produce produce = new Produce();
  94. produce.setProduceId(Integer.valueOf(produceId));
  95. produce = produceService.getProduce(produce);
  96. ProduceProcess produceProcess = new ProduceProcess();
  97. produceProcess.setProduceId(produce.getProduceId());
  98. List<ProduceProcess> produceProcessList = produceService.listProduceProcess(produceProcess);
  99. for (ProduceProcess producePro : produceProcessList){
  100. ProcessNode processNode = new ProcessNode();
  101. processNode.setProcessId(producePro.getProcessId());
  102. List<ProcessNode> processNodeList = produceService.listProcessNode(processNode);
  103. producePro.setNodes(processNodeList);
  104. }
  105. produce.setProcess(produceProcessList);
  106. mv.addObject("produce", produce);
  107. return mv;
  108. }
  109. /**
  110. * 修改产品
  111. *
  112. * @return
  113. */
  114. @ResponseBody
  115. @RequiresPermissions("produce:update_produce:produce")
  116. @RequestMapping("/update_produce")
  117. public ResponseJson updateProduce(HttpServletRequest request,Produce produce,String delProcessIds,String delNodeIds) {
  118. JSONArray jsonArray = JSONArray.fromObject(produce.getJson());
  119. List<ProduceProcess> process = (List) JSONArray.toCollection(jsonArray,ProduceProcess.class);
  120. for(ProduceProcess produceProcess :process){
  121. JSONArray nodesArray = JSONArray.fromObject(produceProcess.getJson());
  122. List<ProcessNode> processNode = (List) JSONArray.toCollection(nodesArray,ProcessNode.class);
  123. produceProcess.setNodes(processNode);
  124. }
  125. produce.setProcess(process);
  126. int flag = produceService.updateProduce(produce,delProcessIds,delNodeIds);
  127. if (flag < 1 ){
  128. return new ResponseJson(500, "ERROR", 500);
  129. }else {
  130. return new ResponseJson(200, "SUCCESS", 200);
  131. }
  132. }
  133. }