package cn.stylefeng.guns.modular.zsx.bs.productBomInfo.controller; import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; import cn.stylefeng.guns.modular.zsx.bs.productBomChildInfo.entity.ProductBomChildInfo; import cn.stylefeng.guns.modular.zsx.bs.productBomChildInfo.service.ProductBomChildInfoService; import cn.stylefeng.guns.modular.zsx.bs.productBomInfo.entity.ProductBomInfo; import cn.stylefeng.guns.modular.zsx.bs.productBomInfo.model.params.ProductBomInfoParam; import cn.stylefeng.guns.modular.zsx.bs.productBomInfo.service.ProductBomInfoService; import cn.stylefeng.roses.core.base.controller.BaseController; import cn.stylefeng.roses.core.mutidatasource.annotion.DataSource; import cn.stylefeng.roses.kernel.model.response.ResponseData; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.ResponseBody; import java.util.List; /** * 基础BOM控制器 * * @author ruimin * @Date 2023-08-24 08:50:55 */ @Controller @RequestMapping("/productBomInfo") public class ProductBomInfoController extends BaseController { private String PREFIX = "/modular/bs/productBomInfo"; @Autowired private ProductBomInfoService productBomInfoService; @Autowired private ProductBomChildInfoService productBomChildInfoService; /** * 跳转到主页面 * * @author ruimin * @Date 2023-08-24 */ @RequestMapping("") public String index() { return PREFIX + "/productBomInfo.html"; } /** * 新增页面 * * @author ruimin * @Date 2023-08-24 */ @RequestMapping("/add") public String add() { return PREFIX + "/productBomInfo_add.html"; } /** * 编辑页面 * * @author ruimin * @Date 2023-08-24 */ @RequestMapping("/edit") public String edit() { return PREFIX + "/productBomInfo_edit.html"; } /** * 新增接口 * * @author ruimin * @Date 2023-08-24 */ @RequestMapping("/addItem") @ResponseBody @DataSource(name = "self") public ResponseData addItem(ProductBomInfoParam productBomInfoParam) { this.productBomInfoService.add(productBomInfoParam); return ResponseData.success(); } /** * 编辑接口 * * @author ruimin * @Date 2023-08-24 */ @RequestMapping("/editItem") @ResponseBody @DataSource(name = "self") public ResponseData editItem(ProductBomInfoParam productBomInfoParam) { this.productBomInfoService.update(productBomInfoParam); return ResponseData.success(); } /** * 删除接口 * * @author ruimin * @Date 2023-08-24 */ @RequestMapping("/delete") @ResponseBody @DataSource(name = "self") public ResponseData delete(ProductBomInfoParam productBomInfoParam) { List bomCode = productBomChildInfoService.list(new QueryWrapper().eq("bom_code", productBomInfoParam.getBomCode())); for (ProductBomChildInfo productBomChildInfo : bomCode) { productBomChildInfoService.deleteBomChildByBomCode(productBomChildInfo.getBomCode()); } this.productBomInfoService.delete(productBomInfoParam); return ResponseData.success(); } /** * 查看详情接口 * * @author ruimin * @Date 2023-08-24 */ @RequestMapping("/detail") @ResponseBody @DataSource(name = "self") public ResponseData detail(ProductBomInfoParam productBomInfoParam) { ProductBomInfo detail = this.productBomInfoService.getById(productBomInfoParam.getId()); return ResponseData.success(detail); } /** * 查询列表 * * @author ruimin * @Date 2023-08-24 */ @ResponseBody @RequestMapping("/list") @DataSource(name = "self") public LayuiPageInfo list(ProductBomInfoParam productBomInfoParam) { return this.productBomInfoService.findPageBySpec(productBomInfoParam); } }