package com.iamberry.rst.controllers.pts; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.pts.*; import com.iamberry.rst.faces.pts.MachinePartsService; import com.iamberry.rst.faces.pts.ProduceService; import com.iamberry.rst.faces.pts.PtsBomService; import com.iamberry.rst.utils.StitchAttrUtil; import com.iamberry.wechat.tools.ResponseJson; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; /** * bom单管理 controller * wangxiaoming */ @Controller @RequestMapping("/admin/bom") public class AdminPtsBomController { @Autowired private PtsBomService ptsBomService; @Autowired private ProduceService produceService; @Autowired private MachinePartsService machinePartsService; /** * 获取bom单列表 * * @param request * @return */ @RequiresPermissions("bom:select:list") @RequestMapping("/_bom_list") public ModelAndView getPtsBom(HttpServletRequest request,PtsBom ptsBom, @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize, @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO, @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) { ModelAndView mv = new ModelAndView("pts/bom/bom_list"); PagedResult pagedResult = ptsBomService.listPtsBom(pageNO, pageSize, ptsBom, totalNum == 0); if (totalNum != 0){ pagedResult.setTotal(totalNum); } //获取产品集合,用于页面选择产品 List list = produceService.getProduceList(); mv.addObject("produceList",list); StitchAttrUtil.setModelAndView(ptsBom, mv, "/admin/bom/_bom_list", pagedResult); return mv; } /** * 跳转到添加bom单页面 * * @return */ @RequiresPermissions("bom:add:bom") @RequestMapping(value="/to_add_bom") public ModelAndView toAddBom(String employeeId, HttpServletRequest request) { ModelAndView mv = new ModelAndView("pts/bom/add_bom"); //获取产品集合,用于页面选择产品 List produceList = produceService.getProduceList(); mv.addObject("produceList",produceList); return mv; } /** * 添加员工 * * @return */ @ResponseBody @RequiresPermissions("bom:add:bom") @RequestMapping(value="/save_bom") public ResponseJson saveEmployee(PtsBom ptsBom, PtsBomComponents ptsBomComponents, HttpServletRequest request) { Integer flag = ptsBomService.savePtsBom(ptsBom); if (flag < 1 ){ return new ResponseJson(500, "ERROR", 500); }else { return new ResponseJson(200, "SUCCESS", 200); } } /** * 获取所有零件 * * @return */ @ResponseBody @RequiresPermissions(value={"bom:add:bom","bom:update:bom"},logical= Logical.OR) @RequestMapping(value="/get_listComponents") public ResponseJson listComponents(HttpServletRequest request) { String produceId = request.getParameter("produceId"); if (produceId == null || "".equals(produceId)){ return new ResponseJson(500, "ERROR", 500); } PtsComponents ptsComponents = new PtsComponents(); ptsComponents.setProduceId(Integer.valueOf(produceId)); ptsComponents.setComponentsStatus(1); //查询所有零件 List ptsComponentsList = machinePartsService.listPtsComponents(ptsComponents); if (ptsComponentsList.size() > 0 ){ ResponseJson rj = new ResponseJson(200, "SUCCESS", 200); rj.addResponseKeyValue("ptsComponentsList","ptsComponentsList"); return rj; }else { return new ResponseJson(500, "ERROR", 500); } } /** * 跳转到修改bom单页面 * * @return */ @ResponseBody @RequiresPermissions("bom:update:bom") @RequestMapping(value="/to_update_bom") public ModelAndView toUpdateBom(String bomId, HttpServletRequest request) { ModelAndView mv = new ModelAndView("pts/bom/update_bom"); if (bomId == null || "".equals(bomId)){ return mv; } //获取产品集合,用于页面选择产品 List produceList = produceService.getProduceList(); //查询所有零件 mv.addObject("produceList",produceList); return mv; } /** * 修改bom * * @return */ @ResponseBody @RequiresPermissions("bom:add:bom") @RequestMapping(value="/update_bom") public ResponseJson updateBom(PtsBom ptsBom, PtsBomComponents ptsBomComponents, HttpServletRequest request) { Integer flag = ptsBomService.savePtsBom(ptsBom); if (flag < 1 ){ return new ResponseJson(500, "ERROR", 500); }else { return new ResponseJson(200, "SUCCESS", 200); } } }