diff --git a/ruoyi-asset/pom.xml b/ruoyi-asset/pom.xml
index b9aa56f..ea0e7b1 100644
--- a/ruoyi-asset/pom.xml
+++ b/ruoyi-asset/pom.xml
@@ -23,6 +23,28 @@
ruoyi-framework
+
+ com.ruoyi
+ ruoyi-system
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.5.4
+
+
+
+
diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/controller/AmsWarehouseController.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/controller/AmsWarehouseController.java
new file mode 100644
index 0000000..4fed7d3
--- /dev/null
+++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/controller/AmsWarehouseController.java
@@ -0,0 +1,169 @@
+package com.ruoyi.asset.controller;
+
+import java.util.List;
+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.constant.UserConstants;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.asset.domain.AmsWarehouse;
+import com.ruoyi.asset.service.IAmsWarehouseService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.system.service.ISysDeptService;
+
+/**
+ * 仓库管理Controller
+ *
+ * @author Yangk
+ * @date 2026-06-03
+ */
+@Controller
+@RequestMapping("/asset/warehouse")
+public class AmsWarehouseController extends BaseController
+{
+ private String prefix = "asset/warehouse";
+
+ @Autowired
+ private IAmsWarehouseService amsWarehouseService;
+
+ @Autowired
+ private ISysDeptService sysDeptService;
+
+ @RequiresPermissions("asset:warehouse:view")
+ @GetMapping()
+ public String warehouse(ModelMap mmap)
+ {
+ mmap.put("deptList", selectNormalDeptList());
+ return prefix + "/warehouse";
+ }
+
+ /**
+ * 查询仓库管理列表
+ */
+ @RequiresPermissions("asset:warehouse:list")
+ @PostMapping("/list")
+ @ResponseBody
+ public TableDataInfo list(AmsWarehouse amsWarehouse)
+ {
+ startPage();
+ List list = amsWarehouseService.selectAmsWarehouseList(amsWarehouse);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出仓库管理列表
+ */
+ @RequiresPermissions("asset:warehouse:export")
+ @Log(title = "仓库管理", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ @ResponseBody
+ public AjaxResult export(AmsWarehouse amsWarehouse)
+ {
+ List list = amsWarehouseService.selectAmsWarehouseList(amsWarehouse);
+ ExcelUtil util = new ExcelUtil(AmsWarehouse.class);
+ return util.exportExcel(list, "仓库管理数据");
+ }
+
+ /**
+ * 查看仓库管理详情
+ */
+ @RequiresPermissions("asset:warehouse:view")
+ @GetMapping("/view/{warehouseId}")
+ public String view(@PathVariable("warehouseId") Long warehouseId, ModelMap mmap)
+ {
+ AmsWarehouse amsWarehouse = amsWarehouseService.selectAmsWarehouseByWarehouseId(warehouseId);
+ mmap.put("amsWarehouse", amsWarehouse);
+ return prefix + "/view";
+ }
+
+ /**
+ * 新增仓库管理
+ */
+ @RequiresPermissions("asset:warehouse:add")
+ @GetMapping("/add")
+ public String add(ModelMap mmap)
+ {
+ mmap.put("deptList", selectNormalDeptList());
+ return prefix + "/add";
+ }
+
+ /**
+ * 新增保存仓库管理
+ */
+ @RequiresPermissions("asset:warehouse:add")
+ @Log(title = "仓库管理", businessType = BusinessType.INSERT)
+ @PostMapping("/add")
+ @ResponseBody
+ public AjaxResult addSave(AmsWarehouse amsWarehouse)
+ {
+ if (!amsWarehouseService.checkWarehouseCodeUnique(amsWarehouse))
+ {
+ return error("新增仓库'" + amsWarehouse.getWarehouseName() + "'失败,仓库编码已存在");
+ }
+ amsWarehouse.setCreateBy(getLoginName());
+ return toAjax(amsWarehouseService.insertAmsWarehouse(amsWarehouse));
+ }
+
+ /**
+ * 修改仓库管理
+ */
+ @RequiresPermissions("asset:warehouse:edit")
+ @GetMapping("/edit/{warehouseId}")
+ public String edit(@PathVariable("warehouseId") Long warehouseId, ModelMap mmap)
+ {
+ AmsWarehouse amsWarehouse = amsWarehouseService.selectAmsWarehouseByWarehouseId(warehouseId);
+ mmap.put("amsWarehouse", amsWarehouse);
+ mmap.put("deptList", selectNormalDeptList());
+ return prefix + "/edit";
+ }
+
+ /**
+ * 修改保存仓库管理
+ */
+ @RequiresPermissions("asset:warehouse:edit")
+ @Log(title = "仓库管理", businessType = BusinessType.UPDATE)
+ @PostMapping("/edit")
+ @ResponseBody
+ public AjaxResult editSave(AmsWarehouse amsWarehouse)
+ {
+ if (!amsWarehouseService.checkWarehouseCodeUnique(amsWarehouse))
+ {
+ return error("修改仓库'" + amsWarehouse.getWarehouseName() + "'失败,仓库编码已存在");
+ }
+ amsWarehouse.setUpdateBy(getLoginName());
+ return toAjax(amsWarehouseService.updateAmsWarehouse(amsWarehouse));
+ }
+
+ /**
+ * 删除仓库管理
+ */
+ @RequiresPermissions("asset:warehouse:remove")
+ @Log(title = "仓库管理", businessType = BusinessType.DELETE)
+ @PostMapping( "/remove")
+ @ResponseBody
+ public AjaxResult remove(String ids)
+ {
+ return toAjax(amsWarehouseService.deleteAmsWarehouseByWarehouseIds(ids));
+ }
+
+ /**
+ * 只提供正常部门给仓库选择,避免仓库主数据挂到已停用部门。
+ */
+ private List selectNormalDeptList()
+ {
+ SysDept dept = new SysDept();
+ dept.setStatus(UserConstants.DEPT_NORMAL);
+ return sysDeptService.selectDeptList(dept);
+ }
+}
diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/domain/AmsWarehouse.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/domain/AmsWarehouse.java
new file mode 100644
index 0000000..e7a6f30
--- /dev/null
+++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/domain/AmsWarehouse.java
@@ -0,0 +1,175 @@
+package com.ruoyi.asset.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 仓库管理对象 ams_warehouse
+ *
+ * @author Yangk
+ * @date 2026-06-03
+ */
+public class AmsWarehouse extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 仓库ID */
+ private Long warehouseId;
+
+ /** 仓库编码 */
+ @Excel(name = "仓库编码")
+ private String warehouseCode;
+
+ /** 仓库名称 */
+ @Excel(name = "仓库名称")
+ private String warehouseName;
+
+ /** 管理部门ID,表示仓库责任部门 */
+ private Long manageDeptId;
+
+ /** 管理部门 */
+ @Excel(name = "管理部门")
+ private String manageDeptName;
+
+ /** 仓库地址 */
+ @Excel(name = "仓库地址")
+ private String warehouseAddress;
+
+ /** 负责人 */
+ @Excel(name = "负责人")
+ private String managerName;
+
+ /** 联系电话 */
+ @Excel(name = "联系电话")
+ private String contactPhone;
+
+ /** 启用状态 */
+ @Excel(name = "启用状态")
+ private String enabled;
+
+ /** 逻辑删除标识 */
+ private String delFlag;
+
+ public void setWarehouseId(Long warehouseId)
+ {
+ this.warehouseId = warehouseId;
+ }
+
+ public Long getWarehouseId()
+ {
+ return warehouseId;
+ }
+
+ public void setWarehouseCode(String warehouseCode)
+ {
+ this.warehouseCode = warehouseCode;
+ }
+
+ public String getWarehouseCode()
+ {
+ return warehouseCode;
+ }
+
+ public void setWarehouseName(String warehouseName)
+ {
+ this.warehouseName = warehouseName;
+ }
+
+ public String getWarehouseName()
+ {
+ return warehouseName;
+ }
+
+ public void setManageDeptId(Long manageDeptId)
+ {
+ this.manageDeptId = manageDeptId;
+ }
+
+ public Long getManageDeptId()
+ {
+ return manageDeptId;
+ }
+
+ public void setManageDeptName(String manageDeptName)
+ {
+ this.manageDeptName = manageDeptName;
+ }
+
+ public String getManageDeptName()
+ {
+ return manageDeptName;
+ }
+
+ public void setWarehouseAddress(String warehouseAddress)
+ {
+ this.warehouseAddress = warehouseAddress;
+ }
+
+ public String getWarehouseAddress()
+ {
+ return warehouseAddress;
+ }
+
+ public void setManagerName(String managerName)
+ {
+ this.managerName = managerName;
+ }
+
+ public String getManagerName()
+ {
+ return managerName;
+ }
+
+ public void setContactPhone(String contactPhone)
+ {
+ this.contactPhone = contactPhone;
+ }
+
+ public String getContactPhone()
+ {
+ return contactPhone;
+ }
+
+ public void setEnabled(String enabled)
+ {
+ this.enabled = enabled;
+ }
+
+ public String getEnabled()
+ {
+ return enabled;
+ }
+
+ public void setDelFlag(String delFlag)
+ {
+ this.delFlag = delFlag;
+ }
+
+ public String getDelFlag()
+ {
+ return delFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("warehouseId", getWarehouseId())
+ .append("warehouseCode", getWarehouseCode())
+ .append("warehouseName", getWarehouseName())
+ .append("manageDeptId", getManageDeptId())
+ .append("manageDeptName", getManageDeptName())
+ .append("warehouseAddress", getWarehouseAddress())
+ .append("managerName", getManagerName())
+ .append("contactPhone", getContactPhone())
+ .append("enabled", getEnabled())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("updateTime", getUpdateTime())
+ .append("remark", getRemark())
+ .append("delFlag", getDelFlag())
+ .toString();
+ }
+}
diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/mapper/AmsWarehouseMapper.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/mapper/AmsWarehouseMapper.java
new file mode 100644
index 0000000..09cc44d
--- /dev/null
+++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/mapper/AmsWarehouseMapper.java
@@ -0,0 +1,77 @@
+package com.ruoyi.asset.mapper;
+
+import java.util.List;
+import com.ruoyi.asset.domain.AmsWarehouse;
+
+/**
+ * 仓库管理Mapper接口
+ *
+ * @author Yangk
+ * @date 2026-06-03
+ */
+public interface AmsWarehouseMapper
+{
+ /**
+ * 查询仓库管理
+ *
+ * @param warehouseId 仓库管理主键
+ * @return 仓库管理
+ */
+ public AmsWarehouse selectAmsWarehouseByWarehouseId(Long warehouseId);
+
+ /**
+ * 查询仓库管理列表
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 仓库管理集合
+ */
+ public List selectAmsWarehouseList(AmsWarehouse amsWarehouse);
+
+ /**
+ * 校验仓库编码是否唯一
+ *
+ * @param warehouseCode 仓库编码
+ * @return 仓库信息
+ */
+ public AmsWarehouse checkWarehouseCodeUnique(String warehouseCode);
+
+ /**
+ * 查询仓库被业务数据引用的数量
+ *
+ * @param warehouseId 仓库主键
+ * @return 引用数量
+ */
+ public int countWarehouseReferences(Long warehouseId);
+
+ /**
+ * 新增仓库管理
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ public int insertAmsWarehouse(AmsWarehouse amsWarehouse);
+
+ /**
+ * 修改仓库管理
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ public int updateAmsWarehouse(AmsWarehouse amsWarehouse);
+
+ /**
+ * 删除仓库管理
+ *
+ * @param warehouseId 仓库管理主键
+ * @return 结果
+ */
+ public int deleteAmsWarehouseByWarehouseId(Long warehouseId);
+
+ /**
+ * 批量删除仓库管理
+ *
+ * @param warehouseIds 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteAmsWarehouseByWarehouseIds(String[] warehouseIds);
+}
diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/service/IAmsWarehouseService.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/IAmsWarehouseService.java
new file mode 100644
index 0000000..314f1bd
--- /dev/null
+++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/IAmsWarehouseService.java
@@ -0,0 +1,69 @@
+package com.ruoyi.asset.service;
+
+import java.util.List;
+import com.ruoyi.asset.domain.AmsWarehouse;
+
+/**
+ * 仓库管理Service接口
+ *
+ * @author Yangk
+ * @date 2026-06-03
+ */
+public interface IAmsWarehouseService
+{
+ /**
+ * 查询仓库管理
+ *
+ * @param warehouseId 仓库管理主键
+ * @return 仓库管理
+ */
+ public AmsWarehouse selectAmsWarehouseByWarehouseId(Long warehouseId);
+
+ /**
+ * 查询仓库管理列表
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 仓库管理集合
+ */
+ public List selectAmsWarehouseList(AmsWarehouse amsWarehouse);
+
+ /**
+ * 校验仓库编码是否唯一
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ public boolean checkWarehouseCodeUnique(AmsWarehouse amsWarehouse);
+
+ /**
+ * 新增仓库管理
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ public int insertAmsWarehouse(AmsWarehouse amsWarehouse);
+
+ /**
+ * 修改仓库管理
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ public int updateAmsWarehouse(AmsWarehouse amsWarehouse);
+
+ /**
+ * 批量删除仓库管理
+ *
+ * @param warehouseIds 需要删除的仓库管理主键集合
+ * @return 结果
+ */
+ public int deleteAmsWarehouseByWarehouseIds(String warehouseIds);
+
+ /**
+ * 删除仓库管理信息
+ *
+ * @param warehouseId 仓库管理主键
+ * @return 结果
+ */
+ public int deleteAmsWarehouseByWarehouseId(Long warehouseId);
+}
diff --git a/ruoyi-asset/src/main/java/com/ruoyi/asset/service/impl/AmsWarehouseServiceImpl.java b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/impl/AmsWarehouseServiceImpl.java
new file mode 100644
index 0000000..6e87cef
--- /dev/null
+++ b/ruoyi-asset/src/main/java/com/ruoyi/asset/service/impl/AmsWarehouseServiceImpl.java
@@ -0,0 +1,178 @@
+package com.ruoyi.asset.service.impl;
+
+import java.util.List;
+import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.asset.mapper.AmsWarehouseMapper;
+import com.ruoyi.asset.domain.AmsWarehouse;
+import com.ruoyi.asset.service.IAmsWarehouseService;
+import com.ruoyi.common.core.text.Convert;
+import com.ruoyi.system.service.ISysDeptService;
+
+/**
+ * 仓库管理Service业务层处理
+ *
+ * @author Yangk
+ * @date 2026-06-03
+ */
+@Service
+public class AmsWarehouseServiceImpl implements IAmsWarehouseService
+{
+ private static final String ENABLED_YES = "Y";
+
+ private static final String DEL_FLAG_NORMAL = "0";
+
+ @Autowired
+ private AmsWarehouseMapper amsWarehouseMapper;
+
+ @Autowired
+ private ISysDeptService sysDeptService;
+
+ /**
+ * 查询仓库管理
+ *
+ * @param warehouseId 仓库管理主键
+ * @return 仓库管理
+ */
+ @Override
+ public AmsWarehouse selectAmsWarehouseByWarehouseId(Long warehouseId)
+ {
+ return amsWarehouseMapper.selectAmsWarehouseByWarehouseId(warehouseId);
+ }
+
+ /**
+ * 查询仓库管理列表
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 仓库管理
+ */
+ @Override
+ public List selectAmsWarehouseList(AmsWarehouse amsWarehouse)
+ {
+ return amsWarehouseMapper.selectAmsWarehouseList(amsWarehouse);
+ }
+
+ /**
+ * 校验仓库编码是否唯一
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ @Override
+ public boolean checkWarehouseCodeUnique(AmsWarehouse amsWarehouse)
+ {
+ if (StringUtils.isEmpty(amsWarehouse.getWarehouseCode()))
+ {
+ return UserConstants.UNIQUE;
+ }
+ Long warehouseId = StringUtils.isNull(amsWarehouse.getWarehouseId()) ? -1L : amsWarehouse.getWarehouseId();
+ AmsWarehouse info = amsWarehouseMapper.checkWarehouseCodeUnique(amsWarehouse.getWarehouseCode());
+ if (StringUtils.isNotNull(info) && info.getWarehouseId().longValue() != warehouseId.longValue())
+ {
+ return UserConstants.NOT_UNIQUE;
+ }
+ return UserConstants.UNIQUE;
+ }
+
+ /**
+ * 新增仓库管理
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ @Override
+ public int insertAmsWarehouse(AmsWarehouse amsWarehouse)
+ {
+ if (StringUtils.isEmpty(amsWarehouse.getEnabled()))
+ {
+ amsWarehouse.setEnabled(ENABLED_YES);
+ }
+ fillManageDeptName(amsWarehouse);
+ amsWarehouse.setDelFlag(DEL_FLAG_NORMAL);
+ amsWarehouse.setCreateTime(DateUtils.getNowDate());
+ return amsWarehouseMapper.insertAmsWarehouse(amsWarehouse);
+ }
+
+ /**
+ * 修改仓库管理
+ *
+ * @param amsWarehouse 仓库管理
+ * @return 结果
+ */
+ @Override
+ public int updateAmsWarehouse(AmsWarehouse amsWarehouse)
+ {
+ fillManageDeptName(amsWarehouse);
+ amsWarehouse.setUpdateTime(DateUtils.getNowDate());
+ return amsWarehouseMapper.updateAmsWarehouse(amsWarehouse);
+ }
+
+ /**
+ * 批量删除仓库管理
+ *
+ * @param warehouseIds 需要删除的仓库管理主键
+ * @return 结果
+ */
+ @Override
+ public int deleteAmsWarehouseByWarehouseIds(String warehouseIds)
+ {
+ String[] ids = Convert.toStrArray(warehouseIds);
+ for (String id : ids)
+ {
+ checkWarehouseReferenced(Long.valueOf(id));
+ }
+ return amsWarehouseMapper.deleteAmsWarehouseByWarehouseIds(ids);
+ }
+
+ /**
+ * 删除仓库管理信息
+ *
+ * @param warehouseId 仓库管理主键
+ * @return 结果
+ */
+ @Override
+ public int deleteAmsWarehouseByWarehouseId(Long warehouseId)
+ {
+ checkWarehouseReferenced(warehouseId);
+ return amsWarehouseMapper.deleteAmsWarehouseByWarehouseId(warehouseId);
+ }
+
+ /**
+ * 删除前做引用保护,避免仓库作为资产位置主数据被逻辑删除后产生悬挂引用。
+ */
+ private void checkWarehouseReferenced(Long warehouseId)
+ {
+ AmsWarehouse warehouse = selectAmsWarehouseByWarehouseId(warehouseId);
+ if (StringUtils.isNotNull(warehouse) && amsWarehouseMapper.countWarehouseReferences(warehouseId) > 0)
+ {
+ throw new ServiceException(String.format("仓库【%1$s】已被引用,不允许删除", warehouse.getWarehouseName()));
+ }
+ }
+
+ /**
+ * 部门名称作为仓库责任部门快照保存,避免前端传入名称和部门ID不一致。
+ */
+ private void fillManageDeptName(AmsWarehouse amsWarehouse)
+ {
+ if (StringUtils.isNull(amsWarehouse.getManageDeptId()))
+ {
+ amsWarehouse.setManageDeptName(null);
+ return;
+ }
+
+ SysDept query = new SysDept();
+ query.setDeptId(amsWarehouse.getManageDeptId());
+ query.setStatus(UserConstants.DEPT_NORMAL);
+ List deptList = sysDeptService.selectDeptList(query);
+ if (deptList == null || deptList.isEmpty())
+ {
+ throw new ServiceException("管理部门不存在或已停用");
+ }
+ amsWarehouse.setManageDeptName(deptList.get(0).getDeptName());
+ }
+}
diff --git a/ruoyi-asset/src/main/resources/mapper/asset/AmsWarehouseMapper.xml b/ruoyi-asset/src/main/resources/mapper/asset/AmsWarehouseMapper.xml
new file mode 100644
index 0000000..02c9b6c
--- /dev/null
+++ b/ruoyi-asset/src/main/resources/mapper/asset/AmsWarehouseMapper.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select warehouse_id, warehouse_code, warehouse_name, manage_dept_id, manage_dept_name, warehouse_address, manager_name, contact_phone, enabled, create_by, create_time, update_by, update_time, remark, del_flag from ams_warehouse
+
+
+
+
+
+
+
+
+
+
+
+ insert into ams_warehouse
+
+ warehouse_code,
+ warehouse_name,
+ manage_dept_id,
+ manage_dept_name,
+ warehouse_address,
+ manager_name,
+ contact_phone,
+ enabled,
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ remark,
+ del_flag,
+
+
+ #{warehouseCode},
+ #{warehouseName},
+ #{manageDeptId},
+ #{manageDeptName},
+ #{warehouseAddress},
+ #{managerName},
+ #{contactPhone},
+ #{enabled},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{updateTime},
+ #{remark},
+ #{delFlag},
+
+
+
+
+ update ams_warehouse
+
+ warehouse_code = #{warehouseCode},
+ warehouse_name = #{warehouseName},
+ manage_dept_id = #{manageDeptId},
+ manage_dept_name = #{manageDeptName},
+ warehouse_address = #{warehouseAddress},
+ manager_name = #{managerName},
+ contact_phone = #{contactPhone},
+ enabled = #{enabled},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ update_time = #{updateTime},
+ remark = #{remark},
+ del_flag = #{delFlag},
+
+ where warehouse_id = #{warehouseId}
+
+
+
+ update ams_warehouse set del_flag = '1' where warehouse_id = #{warehouseId}
+
+
+
+ update ams_warehouse set del_flag = '1' where warehouse_id in
+
+ #{warehouseId}
+
+
+
+
diff --git a/ruoyi-asset/src/main/resources/templates/asset/warehouse/add.html b/ruoyi-asset/src/main/resources/templates/asset/warehouse/add.html
new file mode 100644
index 0000000..0a70ee4
--- /dev/null
+++ b/ruoyi-asset/src/main/resources/templates/asset/warehouse/add.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-asset/src/main/resources/templates/asset/warehouse/edit.html b/ruoyi-asset/src/main/resources/templates/asset/warehouse/edit.html
new file mode 100644
index 0000000..1e7a20c
--- /dev/null
+++ b/ruoyi-asset/src/main/resources/templates/asset/warehouse/edit.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-asset/src/main/resources/templates/asset/warehouse/view.html b/ruoyi-asset/src/main/resources/templates/asset/warehouse/view.html
new file mode 100644
index 0000000..8ce0541
--- /dev/null
+++ b/ruoyi-asset/src/main/resources/templates/asset/warehouse/view.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-asset/src/main/resources/templates/asset/warehouse/warehouse.html b/ruoyi-asset/src/main/resources/templates/asset/warehouse/warehouse.html
new file mode 100644
index 0000000..7ad0cad
--- /dev/null
+++ b/ruoyi-asset/src/main/resources/templates/asset/warehouse/warehouse.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
+
+
+