maven
2025-09-18 38cbb39d04f607eef513af11231b885c66d9539d
yys  弘也水泥-采购价格管理
已添加6个文件
已修改4个文件
349 ■■■■■ 文件已修改
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/controller/ProcurementPriceManagementController.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementPriceManagementMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementPriceManagement.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/service/ProcurementPriceManagementService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementPriceManagementServiceImpl.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-cmny.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dhdc.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/procurementrecord/ProcurementPriceManagementMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -15,6 +15,7 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
import org.ehcache.spi.service.MaintainableService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -101,7 +102,7 @@
    }
    @GetMapping("scanDevice")
    @ApiModelProperty("获取设备台账")
    @ApiOperation("获取设备台账")
    @Anonymous
    public AjaxResult scanDevice(Long id) {
        List<DeviceMaintenance> list = deviceMaintenanceMapper.list1(id);
src/main/java/com/ruoyi/procurementrecord/controller/ProcurementPriceManagementController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,73 @@
package com.ruoyi.procurementrecord.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.procurementrecord.pojo.ProcurementPriceManagement;
import com.ruoyi.procurementrecord.service.ProcurementPriceManagementService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * @author :yys
 * @date : 2025/9/17 15:08
 */
@RestController
@Api(tags = "采购价格管理")
@RequestMapping("/procurementPriceManagement")
public class ProcurementPriceManagementController extends BaseController {
    @Autowired
    private ProcurementPriceManagementService procurementPriceManagementService;
    @GetMapping("/listPage")
    @ApiOperation("采购价格管理-查询")
    public AjaxResult listPage(Page page, ProcurementPriceManagement procurementPriceManagement){
        IPage<ProcurementPriceManagement> result = procurementPriceManagementService.listPage(page, procurementPriceManagement);
        return AjaxResult.success(result);
    }
    @PostMapping("/add")
    @ApiOperation("采购价格管理-添加")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult add(@RequestBody ProcurementPriceManagement procurementPriceManagement){
        boolean result = procurementPriceManagementService.save(procurementPriceManagement);
        return result ? AjaxResult.success() : AjaxResult.error();
    }
    @PostMapping("/update")
    @ApiOperation("采购价格管理-修改")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult update(@RequestBody ProcurementPriceManagement procurementPriceManagement){
        boolean result = procurementPriceManagementService.updateById(procurementPriceManagement);
        return result ? AjaxResult.success() : AjaxResult.error();
    }
    @DeleteMapping("/del")
    @ApiOperation("采购价格管理-删除")
    @Transactional(rollbackFor = Exception.class)
    public AjaxResult delete(@RequestBody List<Long> ids){
        if (ids == null || ids.isEmpty()) {
            return AjaxResult.error("请传入要删除的ID");
        }
        boolean result = procurementPriceManagementService.removeByIds(ids);
        return result ? AjaxResult.success() : AjaxResult.error();
    }
    /**
     * å¯¼å‡º
     * @param response
     */
    @PostMapping("/export")
    public void export(HttpServletResponse response) {
        procurementPriceManagementService.export(response);
    }
}
src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementPriceManagementMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.ruoyi.procurementrecord.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.procurementrecord.pojo.ProcurementPriceManagement;
import org.apache.ibatis.annotations.Param;
/**
 * @author :yys
 * @date : 2025/9/17 15:05
 */
public interface ProcurementPriceManagementMapper extends BaseMapper<ProcurementPriceManagement> {
    /**
     * æŸ¥è¯¢é‡‡è´­ä»·æ ¼ç®¡ç†åˆ—表
     *
     * @param page
     * @param procurementPriceManagement
     * @return
     */
    IPage<ProcurementPriceManagement> listPage(Page page,@Param("req") ProcurementPriceManagement procurementPriceManagement);
}
src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementPriceManagement.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,122 @@
package com.ruoyi.procurementrecord.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.Date;
/**
 * @author :yys
 * @date : 2025/9/17 14:58
 */
@Data
@TableName("procurement_price_management")
@ApiModel
public class ProcurementPriceManagement {
    private static final long serialVersionUID = 1L;
    /**
     * åºå·
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    @ApiModelProperty(value = "商品名称")
    @Excel(name = "商品名称")
    private String productName;
    @ApiModelProperty(value = "商品编码")
    @Excel(name = "商品编码")
    private String productCode;
    @ApiModelProperty(value = "规格型号")
    @Excel(name = "规格型号")
    private String specification;
    @ApiModelProperty(value = "供应商名称")
    @Excel(name = "供应商名称")
    private String supplierName;
    @ApiModelProperty(value = "基础价格")
    @Excel(name = "基础价格")
    private String basePrice;
    @ApiModelProperty(value = "状态")
    @TableField(exist = false)
    @Excel(name = "状态")
    private String status;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "折扣类型")
    @Excel(name = "折扣类型", readConverterExp = "=无折扣,percentage=百分比折扣,fixed=固定金额")
    private String discountType;
    @ApiModelProperty(value = "折扣值")
    @Excel(name = "折扣值")
    private String discountValue;
    @ApiModelProperty(value = "折扣有效期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date discountEndTime;
    @ApiModelProperty(value = "最低价格")
    @Excel(name = "最低价格")
    private String minPrice;
    @ApiModelProperty(value = "最高价格")
    @Excel(name = "最高价格")
    private String maxPrice;
    @ApiModelProperty(value = "预警阈值(%)")
    private String warningThreshold;
    @ApiModelProperty(value = "生效时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveTime;
    @ApiModelProperty(value = "失效时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date expireTime;
    @ApiModelProperty(value = "调价原因")
    private String reason;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @ApiModelProperty(value = "创建用户")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    @ApiModelProperty(value = "修改用户")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @ApiModelProperty(value = "租户ID")
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
}
src/main/java/com/ruoyi/procurementrecord/service/ProcurementPriceManagementService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.ruoyi.procurementrecord.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.procurementrecord.pojo.ProcurementPriceManagement;
import javax.servlet.http.HttpServletResponse;
/**
 * @author :yys
 * @date : 2025/9/17 15:06
 */
public interface ProcurementPriceManagementService extends IService<ProcurementPriceManagement> {
    /**
     * é‡‡è´­ä»·æ ¼ç®¡ç†-查询
     *
     * @param page
     * @param procurementPriceManagement
     * @return
     */
    IPage<ProcurementPriceManagement> listPage(Page page, ProcurementPriceManagement procurementPriceManagement);
    void export(HttpServletResponse response);
}
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementPriceManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
package com.ruoyi.procurementrecord.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.excel.ExcelUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.procurementrecord.dto.ProcurementPageDto;
import com.ruoyi.procurementrecord.mapper.ProcurementPriceManagementMapper;
import com.ruoyi.procurementrecord.pojo.ProcurementPriceManagement;
import com.ruoyi.procurementrecord.service.ProcurementPriceManagementService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
 * @author :yys
 * @date : 2025/9/17 15:07
 */
@Service
@Slf4j
public class ProcurementPriceManagementServiceImpl extends ServiceImpl<ProcurementPriceManagementMapper, ProcurementPriceManagement> implements ProcurementPriceManagementService {
    @Autowired
    private ProcurementPriceManagementMapper procurementPriceManagementMapper;
    @Override
    public IPage<ProcurementPriceManagement> listPage(Page page, ProcurementPriceManagement procurementPriceManagement) {
        IPage<ProcurementPriceManagement> result = procurementPriceManagementMapper.listPage(page, procurementPriceManagement);
        // æ ¹æ®ç”Ÿæ•ˆæ—¶é—´ï¼Œå¤±æ•ˆæ—¶é—´åˆ¤æ–­çŠ¶æ€ æœ‰æ•ˆï¼Œå¾…生效,已过期
        for (ProcurementPriceManagement record : result.getRecords()) {
            if (record.getEffectiveTime() != null) {
                if (record.getEffectiveTime().getTime() <= System.currentTimeMillis()) {
                    record.setStatus("active");
                }
            }
            if (record.getEffectiveTime() != null) {
                if (record.getEffectiveTime().getTime() > System.currentTimeMillis()) {
                    record.setStatus("pending");
                }
            }
            if (record.getExpireTime() != null) {
                if (record.getExpireTime().getTime() <= System.currentTimeMillis()) {
                    record.setStatus("expired");
                }
            }
        }
        return result;
    }
    @Override
    public void export(HttpServletResponse response) {
        List<ProcurementPriceManagement> procurementPriceManagements = procurementPriceManagementMapper.selectList(null);
        for (ProcurementPriceManagement procurementPriceManagement : procurementPriceManagements) {
            if (procurementPriceManagement.getEffectiveTime() != null) {
                if (procurementPriceManagement.getEffectiveTime().getTime() <= System.currentTimeMillis()) {
                    procurementPriceManagement.setStatus("有效");
                }
            }
            if (procurementPriceManagement.getEffectiveTime() != null) {
                if (procurementPriceManagement.getEffectiveTime().getTime() > System.currentTimeMillis()) {
                    procurementPriceManagement.setStatus("待生效");
                }
            }
            if (procurementPriceManagement.getExpireTime() != null) {
                if (procurementPriceManagement.getExpireTime().getTime() <= System.currentTimeMillis()) {
                    procurementPriceManagement.setStatus("已过期");
                }
            }
        }
        ExcelUtil<ProcurementPriceManagement> util = new ExcelUtil<ProcurementPriceManagement>(ProcurementPriceManagement.class);
        util.exportExcel(response, procurementPriceManagements, "采购价格管理");}
}
src/main/resources/application-cmny.yml
@@ -17,7 +17,7 @@
# å¼€å‘环境配置
server:
  # æœåŠ¡å™¨çš„HTTP端口,默认为8080
  port: 9070
  port: 9088
  servlet:
    # åº”用的访问路径
    context-path: /
src/main/resources/application-dhdc.yml
@@ -62,7 +62,7 @@
    druid:
      # ä¸»åº“数据源
      master:
        url: jdbc:mysql://192.168.1.195:3306/product-inventory-management-dhdc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        url: jdbc:mysql://192.168.1.8:3306/product-inventory-management-dhdc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        username: root
        password: 123456
      # ä»Žåº“数据源
@@ -135,7 +135,7 @@
  redis:
    # åœ°å€
#    host: 127.0.0.1
    host: 192.168.1.195
    host: 192.168.1.8
    # ç«¯å£ï¼Œé»˜è®¤ä¸º6379
    port: 6379
    # æ•°æ®åº“索引
src/main/resources/application.yml
@@ -1,4 +1,4 @@
# Spring配置
spring:
  profiles:
    active: zqhx
    active: demo
src/main/resources/mapper/procurementrecord/ProcurementPriceManagementMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.procurementrecord.mapper.ProcurementPriceManagementMapper">
    <select id="listPage" resultType="com.ruoyi.procurementrecord.pojo.ProcurementPriceManagement">
        SELECT * FROM procurement_price_management
        <where>
            <if test="req.productName != null and req.productName != ''">
                AND product_name like concat('%',#{req.productName},'%')
            </if>
            <if test="req.supplierName != null and req.supplierName != ''">
                AND supplier_name = #{req.supplierName}
            </if>
        </where>
    </select>
</mapper>