From 38cbb39d04f607eef513af11231b885c66d9539d Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 18 九月 2025 11:38:40 +0800
Subject: [PATCH] yys 弘也水泥-采购价格管理
---
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java | 3
src/main/java/com/ruoyi/procurementrecord/controller/ProcurementPriceManagementController.java | 73 ++++++++++++
src/main/resources/mapper/procurementrecord/ProcurementPriceManagementMapper.xml | 16 ++
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementPriceManagementServiceImpl.java | 78 +++++++++++++
src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementPriceManagement.java | 122 ++++++++++++++++++++
src/main/java/com/ruoyi/procurementrecord/service/ProcurementPriceManagementService.java | 26 ++++
src/main/resources/application-dhdc.yml | 4
src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementPriceManagementMapper.java | 23 +++
src/main/resources/application.yml | 2
src/main/resources/application-cmny.yml | 2
10 files changed, 344 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java b/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
index 264f23a..e3538d1 100644
--- a/src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
+++ b/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);
diff --git a/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementPriceManagementController.java b/src/main/java/com/ruoyi/procurementrecord/controller/ProcurementPriceManagementController.java
new file mode 100644
index 0000000..9135b7b
--- /dev/null
+++ b/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("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ }
+ boolean result = procurementPriceManagementService.removeByIds(ids);
+ return result ? AjaxResult.success() : AjaxResult.error();
+ }
+
+ /**
+ * 瀵煎嚭
+ * @param response
+ */
+ @PostMapping("/export")
+ public void export(HttpServletResponse response) {
+ procurementPriceManagementService.export(response);
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementPriceManagementMapper.java b/src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementPriceManagementMapper.java
new file mode 100644
index 0000000..36b274c
--- /dev/null
+++ b/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);
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementPriceManagement.java b/src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementPriceManagement.java
new file mode 100644
index 0000000..08c9d21
--- /dev/null
+++ b/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;
+
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/ProcurementPriceManagementService.java b/src/main/java/com/ruoyi/procurementrecord/service/ProcurementPriceManagementService.java
new file mode 100644
index 0000000..fc26ab6
--- /dev/null
+++ b/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);
+}
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementPriceManagementServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementPriceManagementServiceImpl.java
new file mode 100644
index 0000000..e90a7a2
--- /dev/null
+++ b/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, "閲囪喘浠锋牸绠$悊");}
+}
diff --git a/src/main/resources/application-cmny.yml b/src/main/resources/application-cmny.yml
index 911faa2..6239c56 100644
--- a/src/main/resources/application-cmny.yml
+++ b/src/main/resources/application-cmny.yml
@@ -17,7 +17,7 @@
# 寮�鍙戠幆澧冮厤缃�
server:
# 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
- port: 9070
+ port: 9088
servlet:
# 搴旂敤鐨勮闂矾寰�
context-path: /
diff --git a/src/main/resources/application-dhdc.yml b/src/main/resources/application-dhdc.yml
index 579ad20..52fbd62 100644
--- a/src/main/resources/application-dhdc.yml
+++ b/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
# 鏁版嵁搴撶储寮�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 7163e17..33d6165 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,4 +1,4 @@
# Spring閰嶇疆
spring:
profiles:
- active: zqhx
+ active: demo
diff --git a/src/main/resources/mapper/procurementrecord/ProcurementPriceManagementMapper.xml b/src/main/resources/mapper/procurementrecord/ProcurementPriceManagementMapper.xml
new file mode 100644
index 0000000..196adfa
--- /dev/null
+++ b/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>
\ No newline at end of file
--
Gitblit v1.9.3