diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java new file mode 100644 index 00000000..b8e296fa --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java @@ -0,0 +1,119 @@ +package cn.iocoder.yudao.module.project.controller.admin; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.service.RepairWaresService; +import cn.iocoder.yudao.module.project.vo.RepairWaresPageReqVO; +import cn.iocoder.yudao.module.project.vo.RepairWaresRespVO; +import cn.iocoder.yudao.module.project.vo.RepairWaresSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 配件库") +@RestController +@RequestMapping("/repair/wares") +@Validated +public class RepairWaresController { + + @Resource + private RepairWaresService waresService; + + /** + * 创建配件库 + * + * @param createReqVO RepairWaresSaveReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 11:20 2024/9/14 + **/ + @PostMapping("/create") + @Operation(summary = "创建配件库") + @PreAuthorize("@ss.hasPermission('repair:wares:create')") + public CommonResult createWares(@Valid @RequestBody RepairWaresSaveReqVO createReqVO) { + return success(waresService.createWares(createReqVO)); + } + + /** + * 更新配件库 + * + * @param updateReqVO RepairWaresSaveReqVO实体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 11:21 2024/9/14 + **/ + @PutMapping("/update") + @Operation(summary = "更新配件库") + @PreAuthorize("@ss.hasPermission('repair:wares:update')") + public CommonResult updateWares(@Valid @RequestBody RepairWaresSaveReqVO updateReqVO) { + waresService.updateWares(updateReqVO); + return success(true); + } + + /** + * 删除配件库 + * + * @param id 产品id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 11:21 2024/9/14 + **/ + @DeleteMapping("/delete") + @Operation(summary = "删除配件库") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('repair:wares:delete')") + public CommonResult deleteWares(@RequestParam("id") String id) { + waresService.deleteWares(id); + return success(true); + } + + /** + * 获得配件库 + * + * @param id 产品id + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + * @author PQZ + * @date 11:21 2024/9/14 + **/ + @GetMapping("/get") + @Operation(summary = "获得配件库") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('repair:wares:query')") + public CommonResult getWares(@RequestParam("id") String id) { + RepairWares wares = waresService.getWares(id); + return success(BeanUtils.toBean(wares, RepairWaresRespVO.class)); + } + + /** + * 获得配件库分页 + * + * @param pageReqVO RepairWaresPageReqVO 实体 + * @param pageNo 分页参数 + * @param pageSize 分页参数 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult> + * @author PQZ + * @date 11:30 2024/9/14 + **/ + @GetMapping("/page") + @Operation(summary = "获得配件库分页") + @PreAuthorize("@ss.hasPermission('repair:wares:query')") + public CommonResult> getWaresPage(RepairWaresPageReqVO pageReqVO, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page page = new Page<>(pageNo, pageSize); + return success(waresService.getWaresPage(pageReqVO, page)); + } + + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/entity/RepairWares.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/entity/RepairWares.java new file mode 100644 index 00000000..d81b5cce --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/entity/RepairWares.java @@ -0,0 +1,102 @@ +package cn.iocoder.yudao.module.project.entity; + +import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * 维修配件库 + * + * @author pqz + */ +@TableName("dl_repair_wares") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class RepairWares extends TenantBaseDO { + + /** + * 主键标识 + */ + @TableId(type = IdType.ASSIGN_UUID) + private String id; + /** + * 条形码 + */ + private String barCode; + /** + * 商品编码 + */ + private String code; + /** + * 商品名称 + */ + private String name; + /** + * 规格型号 + */ + private String model; + /** + * 销售价格 + */ + private String price; + /** + * 所属分类 + */ + private String type; + /** + * 计量单位 + */ + private String unit; + /** + * 默认仓库 + */ + private String warehouse; + /** + * 最低库存 + */ + private BigDecimal miniStock; + /** + * 最高库存 + */ + private BigDecimal maxStock; + /** + * 当前库存 + */ + private BigDecimal stock; + /** + * 产品图片 + */ + private String img; + /** + * 配件属性 + */ + private String attribute; + /** + * 适用子公司 + */ + private String corpId; + /** + * 封面图片 + */ + private String coverImg; + /** + * 适用车型 + */ + private String carModel; + /** + * 备注 + */ + private String remark; + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java new file mode 100644 index 00000000..1564de5e --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java @@ -0,0 +1,31 @@ +package cn.iocoder.yudao.module.project.mapper; + +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.vo.RepairWaresPageReqVO; +import cn.iocoder.yudao.module.project.vo.RepairWaresRespVO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 配件库 Mapper + * + * @author pqz + */ +@Mapper +public interface RepairWaresMapper extends BaseMapper { + + /** + * 分页查询配件库 + * + * @param pageReqVO RepairWaresPageReqVO实体 + * @param page RepairWaresRespVO实体 + * @return com.baomidou.mybatisplus.core.metadata.IPage + * @author PQZ + * @date 10:35 2024/9/14 + **/ + IPage queryListPage(@Param("entity") RepairWaresPageReqVO pageReqVO, Page page); + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java new file mode 100644 index 00000000..4afe8b60 --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java @@ -0,0 +1,57 @@ +package cn.iocoder.yudao.module.project.service; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.vo.RepairWaresPageReqVO; +import cn.iocoder.yudao.module.project.vo.RepairWaresRespVO; +import cn.iocoder.yudao.module.project.vo.RepairWaresSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 配件库 Service 接口 + * + * @author pqz + */ +public interface RepairWaresService extends IService { + + /** + * 创建配件库 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createWares(RepairWaresSaveReqVO createReqVO); + + /** + * 更新配件库 + * + * @param updateReqVO 更新信息 + */ + void updateWares(RepairWaresSaveReqVO updateReqVO); + + /** + * 删除配件库 + * + * @param id 编号 + */ + void deleteWares(String id); + + /** + * 获得配件库 + * + * @param id 编号 + * @return 配件库 + */ + RepairWares getWares(String id); + + /** + * 获得配件库分页 + * + * @param pageReqVO 分页查询 + * @return 配件库分页 + */ + IPage getWaresPage(RepairWaresPageReqVO pageReqVO, Page page); + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java new file mode 100644 index 00000000..389b9272 --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.project.service.impl; + +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.project.entity.RepairWares; +import cn.iocoder.yudao.module.project.mapper.RepairWaresMapper; +import cn.iocoder.yudao.module.project.service.RepairWaresService; +import cn.iocoder.yudao.module.project.vo.RepairWaresPageReqVO; +import cn.iocoder.yudao.module.project.vo.RepairWaresRespVO; +import cn.iocoder.yudao.module.project.vo.RepairWaresSaveReqVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; + +/** + * 配件库 Service 实现类 + * + * @author pqz + */ +@Service +@Validated +public class RepairWaresServiceImpl extends ServiceImpl implements RepairWaresService { + + @Resource + private RepairWaresMapper waresMapper; + + @Override + public String createWares(RepairWaresSaveReqVO createReqVO) { + // 插入 + RepairWares wares = BeanUtils.toBean(createReqVO, RepairWares.class); + waresMapper.insert(wares); + // 返回 + return wares.getId(); + } + + @Override + public void updateWares(RepairWaresSaveReqVO updateReqVO) { + // 更新 + RepairWares updateObj = BeanUtils.toBean(updateReqVO, RepairWares.class); + waresMapper.updateById(updateObj); + } + + @Override + public void deleteWares(String id) { + // 删除 + waresMapper.deleteById(id); + } + + + @Override + public RepairWares getWares(String id) { + return waresMapper.selectById(id); + } + + @Override + public IPage getWaresPage(RepairWaresPageReqVO pageReqVO, Page page) { + return waresMapper.queryListPage(pageReqVO,page); + } + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairProjectRespVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairProjectRespVO.java index d2db34ff..895fbf00 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairProjectRespVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairProjectRespVO.java @@ -1,23 +1,14 @@ package cn.iocoder.yudao.module.project.vo; import cn.iocoder.yudao.module.project.entity.RepairProject; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; - -import java.util.*; -import java.math.BigDecimal; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.time.LocalDateTime; - -import com.alibaba.excel.annotation.*; +import lombok.Data; @Schema(description = "管理后台 - 维修项目 Response VO") @Data @ExcelIgnoreUnannotated public class RepairProjectRespVO extends RepairProject { - /**所属分类*/ private String typeName; } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresPageReqVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresPageReqVO.java new file mode 100644 index 00000000..ce720e2e --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresPageReqVO.java @@ -0,0 +1,20 @@ +package cn.iocoder.yudao.module.project.vo; + +import cn.iocoder.yudao.module.project.entity.RepairProject; +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 配件库分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class RepairWaresPageReqVO extends RepairProject { + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresRespVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresRespVO.java new file mode 100644 index 00000000..29cd604a --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresRespVO.java @@ -0,0 +1,17 @@ +package cn.iocoder.yudao.module.project.vo; + +import cn.iocoder.yudao.module.project.entity.RepairProject; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 配件库 Response VO") +@Data +@ExcelIgnoreUnannotated +public class RepairWaresRespVO extends RepairProject { + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresSaveReqVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresSaveReqVO.java new file mode 100644 index 00000000..635d7045 --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/vo/RepairWaresSaveReqVO.java @@ -0,0 +1,15 @@ +package cn.iocoder.yudao.module.project.vo; + +import cn.iocoder.yudao.module.project.entity.RepairProject; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 配件库新增/修改 Request VO") +@Data +public class RepairWaresSaveReqVO extends RepairProject { + + +} \ No newline at end of file diff --git a/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml b/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml new file mode 100644 index 00000000..a20996c7 --- /dev/null +++ b/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file