feat(wms): 添加合同信息和供应商信息模块

- 新增合同信息和供应商信息的数据库实体、业务对象、视图对象
- 实现合同信息和供应商信息的 CRUD 功能
- 添加相关控制器、服务接口和 Mapper 接口
- 编写 MyBatis XML 映射文件
This commit is contained in:
2025-08-12 11:54:03 +08:00
parent eb0c702702
commit 9cc9daa35a
16 changed files with 971 additions and 0 deletions

View File

@@ -0,0 +1,106 @@
package com.klp.controller;
import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.domain.vo.WmsContractVo;
import com.klp.domain.bo.WmsContractBo;
import com.klp.service.IWmsContractService;
import com.klp.common.core.page.TableDataInfo;
/**
* 合同信息
*
* @author Joshi
* @date 2025-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/contract")
public class WmsContractController extends BaseController {
private final IWmsContractService iWmsContractService;
/**
* 查询合同信息列表
*/
@SaCheckPermission("wms:contract:list")
@GetMapping("/list")
public TableDataInfo<WmsContractVo> list(WmsContractBo bo, PageQuery pageQuery) {
return iWmsContractService.queryPageList(bo, pageQuery);
}
/**
* 导出合同信息列表
*/
@SaCheckPermission("wms:contract:export")
@Log(title = "合同信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsContractBo bo, HttpServletResponse response) {
List<WmsContractVo> list = iWmsContractService.queryList(bo);
ExcelUtil.exportExcel(list, "合同信息", WmsContractVo.class, response);
}
/**
* 获取合同信息详细信息
*
* @param contractId 主键
*/
@SaCheckPermission("wms:contract:query")
@GetMapping("/{contractId}")
public R<WmsContractVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long contractId) {
return R.ok(iWmsContractService.queryById(contractId));
}
/**
* 新增合同信息
*/
@SaCheckPermission("wms:contract:add")
@Log(title = "合同信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsContractBo bo) {
return toAjax(iWmsContractService.insertByBo(bo));
}
/**
* 修改合同信息
*/
@SaCheckPermission("wms:contract:edit")
@Log(title = "合同信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsContractBo bo) {
return toAjax(iWmsContractService.updateByBo(bo));
}
/**
* 删除合同信息
*
* @param contractIds 主键串
*/
@SaCheckPermission("wms:contract:remove")
@Log(title = "合同信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{contractIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] contractIds) {
return toAjax(iWmsContractService.deleteWithValidByIds(Arrays.asList(contractIds), true));
}
}

View File

@@ -0,0 +1,106 @@
package com.klp.controller;
import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.domain.vo.WmsSupplierVo;
import com.klp.domain.bo.WmsSupplierBo;
import com.klp.service.IWmsSupplierService;
import com.klp.common.core.page.TableDataInfo;
/**
* 供应商信息
*
* @author Joshi
* @date 2025-08-12
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/supplier")
public class WmsSupplierController extends BaseController {
private final IWmsSupplierService iWmsSupplierService;
/**
* 查询供应商信息列表
*/
@SaCheckPermission("wms:supplier:list")
@GetMapping("/list")
public TableDataInfo<WmsSupplierVo> list(WmsSupplierBo bo, PageQuery pageQuery) {
return iWmsSupplierService.queryPageList(bo, pageQuery);
}
/**
* 导出供应商信息列表
*/
@SaCheckPermission("wms:supplier:export")
@Log(title = "供应商信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsSupplierBo bo, HttpServletResponse response) {
List<WmsSupplierVo> list = iWmsSupplierService.queryList(bo);
ExcelUtil.exportExcel(list, "供应商信息", WmsSupplierVo.class, response);
}
/**
* 获取供应商信息详细信息
*
* @param supplierId 主键
*/
@SaCheckPermission("wms:supplier:query")
@GetMapping("/{supplierId}")
public R<WmsSupplierVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long supplierId) {
return R.ok(iWmsSupplierService.queryById(supplierId));
}
/**
* 新增供应商信息
*/
@SaCheckPermission("wms:supplier:add")
@Log(title = "供应商信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsSupplierBo bo) {
return toAjax(iWmsSupplierService.insertByBo(bo));
}
/**
* 修改供应商信息
*/
@SaCheckPermission("wms:supplier:edit")
@Log(title = "供应商信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsSupplierBo bo) {
return toAjax(iWmsSupplierService.updateByBo(bo));
}
/**
* 删除供应商信息
*
* @param supplierIds 主键串
*/
@SaCheckPermission("wms:supplier:remove")
@Log(title = "供应商信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{supplierIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] supplierIds) {
return toAjax(iWmsSupplierService.deleteWithValidByIds(Arrays.asList(supplierIds), true));
}
}