AdminMachinePartsController.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package com.iamberry.rst.controllers.pts;
  2. import com.iamberry.rst.core.page.PagedResult;
  3. import com.iamberry.rst.core.pts.Produce;
  4. import com.iamberry.rst.core.pts.PtsBom;
  5. import com.iamberry.rst.core.pts.PtsComponents;
  6. import com.iamberry.rst.core.pts.PtsSupplier;
  7. import com.iamberry.rst.faces.pts.MachinePartsService;
  8. import com.iamberry.rst.faces.pts.MachineSupplierService;
  9. import com.iamberry.rst.faces.pts.ProduceService;
  10. import com.iamberry.rst.faces.pts.PtsBomService;
  11. import com.iamberry.rst.utils.StitchAttrUtil;
  12. import com.iamberry.wechat.tools.ResponseJson;
  13. import org.apache.shiro.authz.annotation.RequiresPermissions;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Controller;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RequestParam;
  18. import org.springframework.web.bind.annotation.ResponseBody;
  19. import org.springframework.web.servlet.ModelAndView;
  20. import javax.servlet.http.HttpServletRequest;
  21. import java.util.Date;
  22. import java.util.List;
  23. /**
  24. * Created by LJK on 2017/8/29.
  25. */
  26. @Controller
  27. @RequestMapping("/admin/machineParts")
  28. public class AdminMachinePartsController {
  29. @Autowired
  30. private MachinePartsService machinePartsService;
  31. @Autowired
  32. private ProduceService produceService;
  33. @Autowired
  34. private MachineSupplierService machineSupplierService;
  35. @Autowired
  36. private PtsBomService ptsBomService;
  37. /**
  38. * 进入添加机器零件页面
  39. * **/
  40. @RequiresPermissions("machineParts:add:machineParts")
  41. @RequestMapping("/_to_add_machineParts")
  42. public ModelAndView toAddMachineParts(){
  43. ModelAndView mv = new ModelAndView("pts/machinePtras/ptras_add");
  44. List<Produce> list = produceService.getProduceList();
  45. mv.addObject("produceList", list);
  46. List<PtsSupplier> listSupplier = machineSupplierService.listMachineSupplier();
  47. mv.addObject("listSupplier", listSupplier);
  48. return mv;
  49. }
  50. /**
  51. * 添加机器零件
  52. * **/
  53. @ResponseBody
  54. @RequiresPermissions("machineParts:add:machineParts")
  55. @RequestMapping("/add_machineParts")
  56. public ResponseJson addMachineParts(HttpServletRequest request,PtsComponents ptsComponents){
  57. ResponseJson responseJson = new ResponseJson();
  58. if(ptsComponents == null){
  59. responseJson.setReturnCode(500);
  60. return responseJson;
  61. }
  62. PtsComponents components = machinePartsService.getmachineParts(ptsComponents);
  63. if(components != null){
  64. responseJson.setReturnCode(501);
  65. return responseJson;
  66. }
  67. ptsComponents.setComponentsCost(ptsComponents.getComponentsCost() * 100);//元转换为分
  68. ptsComponents.setComponentsCreateTime(new Date());
  69. Integer msg = machinePartsService.addMachineParts(ptsComponents);
  70. if(msg > 0){
  71. responseJson.setReturnCode(200);
  72. }else{
  73. responseJson.setReturnCode(500);
  74. }
  75. return responseJson;
  76. }
  77. /**
  78. * 获取机器零件列表
  79. *
  80. * @param request
  81. * @return
  82. */
  83. @RequiresPermissions("parts:select:list")
  84. @RequestMapping("/_parts_list")
  85. public ModelAndView getPtsBom(HttpServletRequest request,PtsComponents ptsComponents,
  86. @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
  87. @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
  88. @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
  89. ModelAndView mv = new ModelAndView("pts/machinePtras/parts_list");
  90. PagedResult<PtsComponents> pagedResult = machinePartsService.listPtsComponents(pageNO, pageSize, ptsComponents, totalNum == 0);
  91. if (totalNum != 0){
  92. pagedResult.setTotal(totalNum);
  93. }
  94. //获取产品集合,用于页面选择产品
  95. List<Produce> list = produceService.getProduceList();
  96. mv.addObject("produceList",list);
  97. StitchAttrUtil.setModelAndView(ptsComponents, mv, "/admin/machineParts/_parts_list", pagedResult);
  98. return mv;
  99. }
  100. /**
  101. * 进入修改机器零件页面
  102. * **/
  103. @RequiresPermissions("machineParts:update:machineParts")
  104. @RequestMapping("/_to_update_machineParts")
  105. public ModelAndView toupdateMachineParts(HttpServletRequest request){
  106. ModelAndView mv = new ModelAndView("pts/machinePtras/ptras_update");
  107. String componentsId = request.getParameter("componentsId");
  108. PtsComponents ptsComponents = new PtsComponents();
  109. ptsComponents.setComponentsId(Integer.valueOf(componentsId));
  110. ptsComponents = machinePartsService.getmachineParts(ptsComponents);
  111. mv.addObject("ptsComponents", ptsComponents);
  112. List<Produce> list = produceService.getProduceList();
  113. mv.addObject("produceList", list);
  114. List<PtsSupplier> listSupplier = machineSupplierService.listMachineSupplier();
  115. mv.addObject("listSupplier", listSupplier);
  116. return mv;
  117. }
  118. /**
  119. * 修改机器零件
  120. * **/
  121. @ResponseBody
  122. @RequiresPermissions("machineParts:update:machineParts")
  123. @RequestMapping("/update_machineParts")
  124. public ResponseJson updateMachineParts(HttpServletRequest request,PtsComponents ptsComponents){
  125. ResponseJson responseJson = new ResponseJson();
  126. if(ptsComponents == null){
  127. responseJson.setReturnCode(500);
  128. return responseJson;
  129. }
  130. Integer componentsId = ptsComponents.getComponentsId();
  131. PtsComponents componentsByid = new PtsComponents();
  132. componentsByid.setComponentsId(componentsId);
  133. PtsComponents components = machinePartsService.getmachineParts(componentsByid);
  134. if(!components.getComponentsNo().equals(ptsComponents.getComponentsNo()) ||
  135. components.getComponentsStatus() != ptsComponents.getComponentsStatus() ||
  136. components.getProduceId() != components.getProduceId()){
  137. ptsComponents.setComponentsId(null);
  138. components = machinePartsService.getmachineParts(ptsComponents);
  139. if(components != null){
  140. responseJson.setReturnCode(501);
  141. return responseJson;
  142. }
  143. }
  144. //如果改变了产品或者状态,则删掉关联的bom单
  145. if(components.getComponentsStatus() != ptsComponents.getComponentsStatus() ||
  146. components.getProduceId() != components.getProduceId()){
  147. ptsBomService.deleteBomComponentByComponentsId(componentsId);
  148. }
  149. ptsComponents.setComponentsId(componentsId);
  150. ptsComponents.setComponentsCost(ptsComponents.getComponentsCost() * 100);//元转换为分
  151. ptsComponents.setComponentsUpdateTime(new Date());
  152. Integer msg = machinePartsService.updateParts(ptsComponents);
  153. if(msg > 0){
  154. responseJson.setReturnCode(200);
  155. }else{
  156. responseJson.setReturnCode(500);
  157. }
  158. return responseJson;
  159. }
  160. }