AdminPtsBomController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. package com.iamberry.rst.controllers.pts;
  2. import com.iamberry.rst.core.page.PagedResult;
  3. import com.iamberry.rst.core.pts.*;
  4. import com.iamberry.rst.faces.pts.MachinePartsService;
  5. import com.iamberry.rst.faces.pts.ProduceService;
  6. import com.iamberry.rst.faces.pts.PtsBomService;
  7. import com.iamberry.rst.utils.StitchAttrUtil;
  8. import com.iamberry.wechat.tools.ResponseJson;
  9. import org.apache.shiro.authz.annotation.Logical;
  10. import org.apache.shiro.authz.annotation.RequiresPermissions;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.http.HttpStatus;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. import org.springframework.web.bind.annotation.ResponseBody;
  17. import org.springframework.web.servlet.ModelAndView;
  18. import javax.servlet.http.HttpServletRequest;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. /**
  22. * bom单管理 controller
  23. * wangxiaoming
  24. */
  25. @Controller
  26. @RequestMapping("/admin/bom")
  27. public class AdminPtsBomController {
  28. @Autowired
  29. private PtsBomService ptsBomService;
  30. @Autowired
  31. private ProduceService produceService;
  32. @Autowired
  33. private MachinePartsService machinePartsService;
  34. /**
  35. * 获取bom单列表
  36. *
  37. * @param request
  38. * @return
  39. */
  40. @RequiresPermissions("bom:select:list")
  41. @RequestMapping("/_bom_list")
  42. public ModelAndView getPtsBom(HttpServletRequest request,PtsBom ptsBom,
  43. @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
  44. @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
  45. @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
  46. ModelAndView mv = new ModelAndView("pts/bom/bom_list");
  47. PagedResult<PtsBom> pagedResult = ptsBomService.listPtsBom(pageNO, pageSize, ptsBom, totalNum == 0);
  48. if (totalNum != 0){
  49. pagedResult.setTotal(totalNum);
  50. }
  51. //获取产品集合,用于页面选择产品
  52. List<Produce> list = produceService.getProduceList();
  53. mv.addObject("produceList",list);
  54. StitchAttrUtil.setModelAndView(ptsBom, mv, "/admin/bom/_bom_list", pagedResult);
  55. return mv;
  56. }
  57. /**
  58. * 跳转到添加bom单页面
  59. *
  60. * @return
  61. */
  62. @RequiresPermissions("bom:add:bom")
  63. @RequestMapping(value="/to_add_bom")
  64. public ModelAndView toAddBom(String employeeId, HttpServletRequest request) {
  65. ModelAndView mv = new ModelAndView("pts/bom/add_bom");
  66. //获取产品集合,用于页面选择产品
  67. List<Produce> produceList = produceService.getProduceList();
  68. mv.addObject("produceList",produceList);
  69. return mv;
  70. }
  71. /**
  72. * 添加员工
  73. *
  74. * @return
  75. */
  76. @ResponseBody
  77. @RequiresPermissions("bom:add:bom")
  78. @RequestMapping(value="/save_bom")
  79. public ResponseJson saveEmployee(PtsBom ptsBom, PtsBomComponents ptsBomComponents, HttpServletRequest request) {
  80. Integer flag = ptsBomService.savePtsBom(ptsBom);
  81. if (flag < 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. @ResponseBody
  93. @RequiresPermissions(value={"bom:add:bom","bom:update:bom"},logical= Logical.OR)
  94. @RequestMapping(value="/get_listComponents")
  95. public ResponseJson listComponents(HttpServletRequest request) {
  96. String produceId = request.getParameter("produceId");
  97. if (produceId == null || "".equals(produceId)){
  98. return new ResponseJson(500, "ERROR", 500);
  99. }
  100. PtsComponents ptsComponents = new PtsComponents();
  101. ptsComponents.setProduceId(Integer.valueOf(produceId));
  102. ptsComponents.setComponentsStatus(1);
  103. //查询所有零件
  104. List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponents(ptsComponents);
  105. if (ptsComponentsList.size() > 0 ){
  106. ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
  107. rj.addResponseKeyValue("ptsComponentsList","ptsComponentsList");
  108. return rj;
  109. }else {
  110. return new ResponseJson(500, "ERROR", 500);
  111. }
  112. }
  113. /**
  114. * 跳转到修改bom单页面
  115. *
  116. * @return
  117. */
  118. @ResponseBody
  119. @RequiresPermissions("bom:update:bom")
  120. @RequestMapping(value="/to_update_bom")
  121. public ModelAndView toUpdateBom(String bomId, HttpServletRequest request) {
  122. ModelAndView mv = new ModelAndView("pts/bom/update_bom");
  123. if (bomId == null || "".equals(bomId)){
  124. return mv;
  125. }
  126. //获取产品集合,用于页面选择产品
  127. List<Produce> produceList = produceService.getProduceList();
  128. //查询所有零件
  129. mv.addObject("produceList",produceList);
  130. return mv;
  131. }
  132. /**
  133. * 修改bom
  134. *
  135. * @return
  136. */
  137. @ResponseBody
  138. @RequiresPermissions("bom:add:bom")
  139. @RequestMapping(value="/update_bom")
  140. public ResponseJson updateBom(PtsBom ptsBom, PtsBomComponents ptsBomComponents, HttpServletRequest request) {
  141. Integer flag = ptsBomService.savePtsBom(ptsBom);
  142. if (flag < 1 ){
  143. return new ResponseJson(500, "ERROR", 500);
  144. }else {
  145. return new ResponseJson(200, "SUCCESS", 200);
  146. }
  147. }
  148. }