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>