AdminProduceController.java 5.6 KB

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