basic-server/src/main/java/com/ruoyi/basic/controller/CoalQualityController.java
@@ -45,10 +45,8 @@ /** * 删除 */ @DeleteMapping("/delSupply") @DeleteMapping("/delCoalQuality") public R remove(@RequestBody Long[] ids) { return R.ok(coalQualityService.delCoalQualityByIds(ids)); } } basic-server/src/main/java/com/ruoyi/basic/controller/SupplyController.java
@@ -9,6 +9,8 @@ import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> * 供应商信息表 前端控制器 @@ -29,12 +31,20 @@ * 查询 */ @GetMapping("/list") public R<IPage<Supply>> list(Page page,SupplyDto supplyDto) { IPage<Supply> list = supplyService.selectSupplyList(page,supplyDto); public R<IPage<Supply>> list(Page page, SupplyDto supplyDto) { IPage<Supply> list = supplyService.selectSupplyList(page, supplyDto); return R.ok(list); } /** * 供应商 */ @GetMapping("/supplyList") public R<List<Supply>> list() { return R.ok(supplyService.supplyList()); } /** * 新增修改 */ @PostMapping("/addOrEditSupply") basic-server/src/main/java/com/ruoyi/basic/dto/SupplyDto.java
@@ -3,6 +3,20 @@ import com.ruoyi.basic.entity.Supply; import lombok.Data; import java.util.List; @Data public class SupplyDto extends Supply { /** * 经营地址省市区ids */ private List<Long> bids; /** * 联系地址省市区ids */ private List<Long> cids; private String searchAll; } basic-server/src/main/java/com/ruoyi/basic/entity/CoalInfo.java
@@ -1,6 +1,7 @@ package com.ruoyi.basic.entity; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import com.ruoyi.common.core.domain.MyBaseEntity; @@ -22,20 +23,21 @@ * 主键ID */ @TableId(value = "id", type = IdType.AUTO) private Integer id; private Long id; /** * 煤种名称 */ @TableField(value = "coal_name") private String coalName; @TableField(value = "coal") private String coal; /** * 维护人姓名 */ @TableField(value = "maintainer") private String maintainer; @TableField(value = "maintainer_id") private Long maintainerId; /** * 维护日期 */ @TableField(value = "maintenance_date") @JsonFormat(pattern = "yyyy-MM-dd") private Date maintenanceDate; } basic-server/src/main/java/com/ruoyi/basic/entity/Supply.java
@@ -56,35 +56,41 @@ */ @TableField(value = "contact_address") private String contactAddress; /** * 联系人的电话 */ @TableField(value = "contact_phone") private String contactPhone; /** * 供应商所在省份的ID(关联地址字典表),默认0 */ @TableField(value = "province_id") @TableField(value = "b_province_id") private Long BProvinceId; /** * 供应商所在城市的ID(关联地址字典表),默认0 */ @TableField(value = "city_id") @TableField(value = "b_city_id") private Long BCityId; /** * 供应商所在区县的ID(关联地址字典表),默认0,用于地址层级划分 */ @TableField(value = "district_id") @TableField(value = "b_district_id") private Long BDistrictId; /** * 联系地址 省份的ID */ @TableField(value = "province_id") @TableField(value = "c_province_id") private Long CProvinceId; /** * 联系地址所在城市的ID(关联地址字典表),默认0 */ @TableField(value = "city_id") @TableField(value = "c_city_id") private Long CCityId; /** * 联系地址所在区县的ID(关联地址字典表),默认0,用于地址层级划分 */ @TableField(value = "district_id") @TableField(value = "c_district_id") private Long CDistrictId; } basic-server/src/main/java/com/ruoyi/basic/service/SupplyService.java
@@ -6,6 +6,8 @@ import com.ruoyi.basic.dto.SupplyDto; import com.ruoyi.basic.entity.Supply; import java.util.List; /** * <p> * 供应商信息表 服务类 @@ -21,4 +23,6 @@ int addOrEditSupply(SupplyDto supplyDto); int delSupplyByIds(Long[] ids); List<Supply> supplyList(); } basic-server/src/main/java/com/ruoyi/basic/service/impl/CoalInfoServiceImpl.java
@@ -9,9 +9,12 @@ import com.ruoyi.basic.entity.CoalInfo; import com.ruoyi.basic.mapper.CoalInfoMapper; import com.ruoyi.basic.service.CoalInfoService; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.BeanUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.Objects; @@ -32,6 +35,9 @@ @Override public IPage<CoalInfo> selectCoalInfoList(Page page, CoalInfoDto coalInfoDto) { LambdaQueryWrapper<CoalInfo> queryWrapper = new LambdaQueryWrapper<>(); if (StringUtils.hasText(coalInfoDto.getCoal())) { queryWrapper.like(CoalInfo::getCoal,coalInfoDto.getCoal()); } queryWrapper.orderByDesc(CoalInfo::getCreateTime); return coalInfoMapper.selectPage(page, queryWrapper); } @@ -40,6 +46,8 @@ public int addOrEditCoalInfo(CoalInfoDto coalInfoDto) { CoalInfo coalInfo = new CoalInfo(); BeanUtils.copyProperties(coalInfoDto, coalInfo); coalInfo.setMaintainerId(SecurityUtils.getUserId()); coalInfo.setMaintenanceDate(DateUtils.getNowDate()); if (Objects.isNull(coalInfo.getId())) { return coalInfoMapper.insert(coalInfo); } else { basic-server/src/main/java/com/ruoyi/basic/service/impl/SupplyServiceImpl.java
@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.util.List; import java.util.Objects; /** @@ -33,17 +34,29 @@ @Override public IPage<Supply> selectSupplyList(Page page, SupplyDto supplyDto) { LambdaQueryWrapper<Supply> queryWrapper = new LambdaQueryWrapper<>(); // 供应商名称模糊查询 if (StringUtils.hasText(supplyDto.getSupplierName())) { queryWrapper.like(Supply::getSupplierName, supplyDto.getSupplierName()); // 全局模糊搜索字段 if (StringUtils.hasText(supplyDto.getSearchAll())) { String keyword = supplyDto.getSearchAll(); queryWrapper.and(wrapper -> wrapper .like(Supply::getSupplierName, keyword) .or() .like(Supply::getTaxpayerId, keyword) .or() .like(Supply::getBusinessAddress, keyword) ); } else { // 单独条件查询 if (StringUtils.hasText(supplyDto.getSupplierName())) { queryWrapper.like(Supply::getSupplierName, supplyDto.getSupplierName()); } if (StringUtils.hasText(supplyDto.getTaxpayerId())) { queryWrapper.like(Supply::getTaxpayerId, supplyDto.getTaxpayerId()); } if (StringUtils.hasText(supplyDto.getBusinessAddress())) { queryWrapper.like(Supply::getBusinessAddress, supplyDto.getBusinessAddress()); } } // 纳税人识别号精确查询 if (StringUtils.hasText(supplyDto.getTaxpayerId())) { queryWrapper.eq(Supply::getTaxpayerId, supplyDto.getTaxpayerId()); } // 默认按创建时间倒序排列 queryWrapper.orderByDesc(Supply::getCreateTime); return supplyMapper.selectPage(page, queryWrapper); } @@ -65,13 +78,16 @@ if (ids == null || ids.length == 0) { return 0; } // 构造更新条件 UpdateWrapper<Supply> updateWrapper = new UpdateWrapper<>(); updateWrapper.in("id", ids) .set("deleted", 1); // 设置 deleted 为 1 表示已删除 // 执行批量逻辑删除 return supplyMapper.update(null, updateWrapper); } @Override public List<Supply> supplyList() { return supplyMapper.selectList(null); } } basic-server/src/main/resources/db/migration/postgresql/V20250603102701__create_table_coal_info.sql
@@ -1,16 +1,16 @@ -- 创建 coal_info 表 CREATE TABLE coal_info ( id SERIAL PRIMARY KEY, -- 主键,自动递增 coal_name VARCHAR(255) NOT NULL, -- 煤种名称,不允许为空 maintainer VARCHAR(255) NOT NULL, -- 维护人,不允许为空 maintenance_date DATE NOT NULL, -- 维护日期,不允许为空 id SERIAL PRIMARY KEY, -- 主键,自动递增 coal VARCHAR(255) NOT NULL, -- 煤种名称,不允许为空 maintainer_id int4 NOT NULL DEFAULT 0, -- 维护人,不允许为空 maintenance_date DATE NOT NULL, -- 维护日期,不允许为空 -- 新增字段 deleted int4 NOT NULL DEFAULT 0, -- 是否删除(软删除标志) create_by VARCHAR(255), -- 创建人 deleted int4 NOT NULL DEFAULT 0, -- 是否删除(软删除标志) create_by VARCHAR(255), -- 创建人 create_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- 创建时间,默认当前时间 update_by VARCHAR(255), -- 最后更新人 update_by VARCHAR(255), -- 最后更新人 update_time TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP -- 最后更新时间,默认当前时间 ); @@ -19,8 +19,8 @@ -- 为字段添加注释 COMMENT ON COLUMN coal_info.id IS '主键ID'; COMMENT ON COLUMN coal_info.coal_name IS '煤种名称'; COMMENT ON COLUMN coal_info.maintainer IS '维护人姓名'; COMMENT ON COLUMN coal_info.coal IS '煤种名称'; COMMENT ON COLUMN coal_info.maintainer_id IS '维护人姓名'; COMMENT ON COLUMN coal_info.maintenance_date IS '维护日期'; -- 新增字段的注释 main-business/src/main/java/com/ruoyi/business/entity/PurchaseRegistration.java
@@ -28,7 +28,7 @@ @TableId(value = "id", type = IdType.AUTO) private Long id; /** * * 供应商id */ @TableField(value = "supplier_id") private Long supplierId; pom.xml
@@ -226,6 +226,19 @@ <artifactId>lombok</artifactId> <scope>provided</scope> </dependency> <!-- pom.xml --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>1.5.5.Final</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>1.5.5.Final</version> <scope>provided</scope> </dependency> <!-- MyBatis-Plus 核心依赖 --> <dependency>