123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- package com.iamberry.rst.controllers.pts;
- import com.iamberry.rst.core.page.PagedResult;
- import com.iamberry.rst.core.pts.Produce;
- import com.iamberry.rst.core.pts.PtsBom;
- import com.iamberry.rst.core.pts.PtsBomComponents;
- import com.iamberry.rst.core.pts.PtsComponents;
- 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 net.sf.json.JSONArray;
- import org.apache.shiro.authz.annotation.Logical;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- 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.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<PtsBom> pagedResult = ptsBomService.listPtsBom(pageNO, pageSize, ptsBom, totalNum == 0);
- if (totalNum != 0) {
- pagedResult.setTotal(totalNum);
- }
- //获取产品集合,用于页面选择产品
- List<Produce> 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(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("pts/bom/add_bom");
- //获取产品集合,用于页面选择产品
- List<Produce> produceList = produceService.getProduceList();
- mv.addObject("produceList", produceList);
- return mv;
- }
- /**
- * 添加bom单
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions("bom:add:bom")
- @RequestMapping(value = "/save_bom")
- public ResponseJson saveBom(PtsBom ptsBom, String bomComponentJson, HttpServletRequest request) {
- if (!this.isValiData(ptsBom) || bomComponentJson == null) {
- return new ResponseJson(500, "请检查表单,再次提交", 500);
- }
- JSONArray jsonArray = JSONArray.fromObject(bomComponentJson);
- List<PtsBomComponents> ptsBomComponentsList = (List) JSONArray.toCollection(jsonArray, PtsBomComponents.class);
- ptsBom.setPtsBomComponentsList(ptsBomComponentsList);
- Integer flag = ptsBomService.savePtsBom(ptsBom);
- if (flag < 1) {
- return new ResponseJson(500, "添加失败", 500);
- } else {
- return new ResponseJson(200, "添加成功", 200);
- }
- }
- /**
- * 验证方法
- * @param ptsBom
- * @return
- */
- public boolean isValiData(PtsBom ptsBom) {
- boolean flag = true;
- if (ptsBom.getBomName() == null || "".equals(ptsBom.getBomName())) {
- return false;
- }
- if(ptsBom.getProduceId() == null){
- return false;
- }
- if(ptsBom.getBomVersion() == null || "".equals(ptsBom.getBomVersion())){
- return false;
- }
- return flag;
- }
- /**
- * 获取bom单,根据produce
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions(value = {"bom:add:bom", "bom:update:bom"}, logical = Logical.OR)
- @RequestMapping(value = "/get_listBom")
- public ResponseJson listBomByProduceId(HttpServletRequest request) {
- String produceId = request.getParameter("produceId");
- if (produceId == null || "".equals(produceId)) {
- return new ResponseJson(500, "ERROR", 500);
- }
- PtsBom ptsBom = new PtsBom();
- ptsBom.setProduceId(Integer.valueOf(produceId));
- List<PtsBom> ptsBomsList = ptsBomService.listBom(ptsBom);
- if (ptsBomsList != null) {
- ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
- rj.addResponseKeyValue("ptsBomsList", ptsBomsList);
- return rj;
- } else {
- return new ResponseJson(500, "ERROR", 500);
- }
- }
- /**
- * 获取bom单,根据produce
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions(value = {"bom:add:bom", "bom:update:bom"}, logical = Logical.OR)
- @RequestMapping(value = "/get_bom")
- public ResponseJson getBom(HttpServletRequest request) {
- String bomId = request.getParameter("bomId");
- if (bomId == null || "".equals(bomId)) {
- return new ResponseJson(500, "ERROR", 500);
- }
- PtsBom ptsBom = new PtsBom();
- ptsBom.setBomId(Integer.valueOf(bomId));
- ptsBom = ptsBomService.getPtsBom(ptsBom);
- if (ptsBom != null) {
- ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
- rj.addResponseKeyValue("ptsBom", ptsBom);
- return rj;
- } else {
- return new ResponseJson(500, "ERROR", 500);
- }
- }
- /**
- * 获取所有零件
- *
- * @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");
- PtsComponents ptsComponents = new PtsComponents();
- if (produceId != null && !"".equals(produceId)) {
- ptsComponents.setProduceId(Integer.valueOf(produceId));
- }
- ptsComponents.setComponentsStatus(1);
- //查询所有零件
- List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponentsOrderByNo(ptsComponents);
- if (ptsComponentsList != null) {
- 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<Produce> produceList = produceService.getProduceList();
- //查询bom信息
- PtsBom ptsBom = new PtsBom();
- ptsBom.setBomId(Integer.valueOf(bomId));
- ptsBom = ptsBomService.getPtsBom(ptsBom);
- //所有零件
- PtsComponents ptsComponents = new PtsComponents();
- ptsComponents.setProduceId(ptsBom.getProduceId());
- ptsComponents.setComponentsStatus(1);
- List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponentsOrderByNo(ptsComponents);
- mv.addObject("produceList", produceList);
- mv.addObject("ptsBom", ptsBom);
- mv.addObject("ptsComponentsList", ptsComponentsList);
- return mv;
- }
- /**
- * 修改bom
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions("bom:add:bom")
- @RequestMapping(value = "/update_bom")
- public ResponseJson updateBom(PtsBom ptsBom, String bomComponentJson, HttpServletRequest request) {
- if (!this.isValiData(ptsBom) || bomComponentJson == null) {
- return new ResponseJson(500, "请检查表单,再次提交", 500);
- }
- JSONArray jsonArray = JSONArray.fromObject(bomComponentJson);
- List<PtsBomComponents> ptsBomComponentsList = (List) JSONArray.toCollection(jsonArray, PtsBomComponents.class);
- ptsBom.setPtsBomComponentsList(ptsBomComponentsList);
- ptsBom.setProduceId(null);
- Integer flag = ptsBomService.updatePtsBom(ptsBom);
- if (flag < 1) {
- return new ResponseJson(500, "修改失败", 500);
- } else {
- return new ResponseJson(200, "修改成功", 200);
- }
- }
- /**
- * 获取bom单详情
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions("bom:select:details")
- @RequestMapping(value = "/to_details_bom")
- public ModelAndView toBomDetails(String bomId, HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("pts/bom/bom_details");
- if (bomId == null || "".equals(bomId)) {
- return mv;
- }
- //查询bom信息
- PtsBom ptsBom = new PtsBom();
- ptsBom.setBomId(Integer.valueOf(bomId));
- ptsBom = ptsBomService.getPtsBomDetails(ptsBom);
- //所有零件
- // PtsComponents ptsComponents = new PtsComponents();
- // ptsComponents.setProduceId(ptsBom.getProduceId());
- // ptsComponents.setComponentsStatus(1);
- // List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponents(ptsComponents);
- mv.addObject("ptsBom", ptsBom);
- // mv.addObject("ptsComponentsList", ptsComponentsList);
- return mv;
- }
- }
|