From ac95ea4340322950e75b561d7c47d37183a3262a Mon Sep 17 00:00:00 2001 From: duhl <1558016038@qq.com> Date: Mon, 30 Mar 2020 17:02:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E5=85=AD=E6=AC=A1=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=BD=AE=E8=83=8E=E5=93=81=E7=89=8C?= =?UTF-8?q?=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/system/SysIndexController.java | 2 +- .../tyre/BaseCarbrandController.java | 6 +- .../tyre/BaseTyreBrandController.java | 154 ++++++++++++++++++ .../src/main/resources/static/img/tyre.jpg | Bin 0 -> 30896 bytes .../src/main/resources/templates/index.html | 18 +- .../src/main/resources/templates/login.html | 48 +++--- .../resources/templates/tyre/brand/add.html | 81 +++++++++ .../resources/templates/tyre/brand/brand.html | 119 ++++++++++++++ .../resources/templates/tyre/brand/edit.html | 85 ++++++++++ .../com/ruoyi/tyre/domain/BaseTyreBrand.java | 102 ++++++++++++ .../tyre/mapper/BaseTyreBrandMapper.java | 64 ++++++++ .../tyre/service/IBaseTyreBrandService.java | 63 +++++++ .../impl/BaseTyreBrandServiceImpl.java | 114 +++++++++++++ .../mapper/tyre/BaseTyreBrandMapper.xml | 94 +++++++++++ 14 files changed, 913 insertions(+), 37 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreBrandController.java create mode 100644 ruoyi-admin/src/main/resources/static/img/tyre.jpg create mode 100644 ruoyi-admin/src/main/resources/templates/tyre/brand/add.html create mode 100644 ruoyi-admin/src/main/resources/templates/tyre/brand/brand.html create mode 100644 ruoyi-admin/src/main/resources/templates/tyre/brand/edit.html create mode 100644 ruoyi-tyre/src/main/java/com/ruoyi/tyre/domain/BaseTyreBrand.java create mode 100644 ruoyi-tyre/src/main/java/com/ruoyi/tyre/mapper/BaseTyreBrandMapper.java create mode 100644 ruoyi-tyre/src/main/java/com/ruoyi/tyre/service/IBaseTyreBrandService.java create mode 100644 ruoyi-tyre/src/main/java/com/ruoyi/tyre/service/impl/BaseTyreBrandServiceImpl.java create mode 100644 ruoyi-tyre/src/main/resources/mapper/tyre/BaseTyreBrandMapper.xml diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java index 3f78e74..5b0e54d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysIndexController.java @@ -50,6 +50,6 @@ public class SysIndexController extends BaseController public String main(ModelMap mmap) { mmap.put("version", Global.getVersion()); - return "main"; + return "main_v1"; } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarbrandController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarbrandController.java index ff871c7..5ee1aaf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarbrandController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseCarbrandController.java @@ -29,7 +29,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import org.springframework.web.multipart.MultipartFile; /** - * 品牌Controller + * 车牌Controller * * @author dhl * @date 2020-03-26 @@ -51,7 +51,7 @@ public class BaseCarbrandController extends BaseController } /** - * 查询品牌列表 + * 查询车牌信息列表 */ @RequiresPermissions("tyre:carbrand:list") @PostMapping("/list") @@ -64,7 +64,7 @@ public class BaseCarbrandController extends BaseController } /** - * 导出品牌列表 + * 导出车牌信息列表 */ @RequiresPermissions("tyre:carbrand:export") @Log(title = "车辆车牌", businessType = BusinessType.EXPORT) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreBrandController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreBrandController.java new file mode 100644 index 0000000..ad6653f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tyre/BaseTyreBrandController.java @@ -0,0 +1,154 @@ +package com.ruoyi.web.controller.tyre; + +import java.util.Date; +import java.util.List; + +import com.ruoyi.common.constant.TyreConstants; +import com.ruoyi.framework.util.ShiroUtils; +import com.ruoyi.tyre.domain.BaseCarbrand; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.tyre.domain.BaseTyreBrand; +import com.ruoyi.tyre.service.IBaseTyreBrandService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 轮胎品牌信息Controller + * + * @author dhl + * @date 2020-03-30 + */ +@Controller +@RequestMapping("/tyre/brand") +public class BaseTyreBrandController extends BaseController +{ + private String prefix = "tyre/brand"; + + @Autowired + private IBaseTyreBrandService baseTyreBrandService; + + @RequiresPermissions("tyre:brand:view") + @GetMapping() + public String brand() + { + return prefix + "/brand"; + } + + /** + * 查询轮胎品牌信息列表 + */ + @RequiresPermissions("tyre:brand:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(BaseTyreBrand baseTyreBrand) + { + startPage(); + List list = baseTyreBrandService.selectBaseTyreBrandList(baseTyreBrand); + return getDataTable(list); + } + + /** + * 导出轮胎品牌信息列表 + */ + @RequiresPermissions("tyre:brand:export") + @Log(title = "轮胎品牌信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(BaseTyreBrand baseTyreBrand) + { + List list = baseTyreBrandService.selectBaseTyreBrandList(baseTyreBrand); + ExcelUtil util = new ExcelUtil(BaseTyreBrand.class); + return util.exportExcel(list, "brand"); + } + + /** + * 新增轮胎品牌信息 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存轮胎品牌信息 + */ + @RequiresPermissions("tyre:brand:add") + @Log(title = "轮胎品牌信息", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(BaseTyreBrand baseTyreBrand) + { + if(StringUtils.isBlank(baseTyreBrand.getBrandname())){ + //轮胎品牌名称为空,给提示 + return error("轮胎品牌不能为空"); + } + if (TyreConstants.BRANNO_NOT_UNIQUE.equals(baseTyreBrandService.checkBranNameUnique(baseTyreBrand))) + { + return error("新增轮胎品牌'" + baseTyreBrand.getBrandname() + "'失败,轮胎品牌名称已存在"); + } + baseTyreBrand.setRecorderid(ShiroUtils.getLoginName());//记录人信息 + baseTyreBrand.setRecordtime(new Date()); + return toAjax(baseTyreBrandService.insertBaseTyreBrand(baseTyreBrand)); + } + + /** + * 修改轮胎品牌信息 + */ + @GetMapping("/edit/{objid}") + public String edit(@PathVariable("objid") Long objid, ModelMap mmap) + { + BaseTyreBrand baseTyreBrand = baseTyreBrandService.selectBaseTyreBrandById(objid); + mmap.put("baseTyreBrand", baseTyreBrand); + return prefix + "/edit"; + } + + /** + * 修改保存轮胎品牌信息 + */ + @RequiresPermissions("tyre:brand:edit") + @Log(title = "轮胎品牌信息", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(BaseTyreBrand baseTyreBrand) + { + baseTyreBrand.setRecorderid(ShiroUtils.getLoginName());//记录人信息 + baseTyreBrand.setRecordtime(new Date()); + return toAjax(baseTyreBrandService.updateBaseTyreBrand(baseTyreBrand)); + } + + /** + * 删除轮胎品牌信息 + */ + @RequiresPermissions("tyre:brand:remove") + @Log(title = "轮胎品牌信息", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(baseTyreBrandService.deleteBaseTyreBrandByIds(ids)); + } + + /** + * 校验名牌名称 + */ + @PostMapping("/checkBranNameUnique") + @ResponseBody + public String checkBrannoUnique(BaseTyreBrand baseTyreBrand) + { + return baseTyreBrandService.checkBranNameUnique(baseTyreBrand); + } +} diff --git a/ruoyi-admin/src/main/resources/static/img/tyre.jpg b/ruoyi-admin/src/main/resources/static/img/tyre.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76dc322cf744f3e13867378f83b1bd60d19d9422 GIT binary patch literal 30896 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 - 若依系统首页 + 智能轮胎系统 @@ -29,7 +29,7 @@