From acd5c596b40b44e3ac3624a9cde7f62a1be6a076 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期二, 12 八月 2025 09:39:24 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/pim_yys' --- src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 2 src/main/java/com/ruoyi/waterrecord/pojo/WaterRecord.java | 135 ++++++++++++++++++++++ src/main/resources/mapper/waterrecord/WaterRecordMapper.xml | 17 ++ src/main/java/com/ruoyi/waterrecord/controller/WaterRecordController.java | 88 ++++++++++++++ src/main/java/com/ruoyi/waterrecord/service/WaterRecordService.java | 25 ++++ src/main/java/com/ruoyi/waterrecord/service/impl/WaterRecordServiceImpl.java | 52 ++++++++ src/main/java/com/ruoyi/waterrecord/mapper/WaterRecordMapper.java | 21 +++ 7 files changed, 339 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java index f7c98aa..d0ff36a 100644 --- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java +++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java @@ -132,7 +132,7 @@ ApproveNode approveNode1 = approveNodeMapper.selectOne(approveNodeLambdaQueryWrapper); approveProcess.setApproveStatus(status); if(approveNode1 != null){ - approveProcess.setApproveUserCurrentId(approveNode.getApproveNodeUserId()); + approveProcess.setApproveUserCurrentId(approveNode1.getApproveNodeUserId()); approveProcess.setApproveUserCurrentName(approveNode1.getApproveNodeUser()); } approveProcessMapper.updateById(approveProcess); diff --git a/src/main/java/com/ruoyi/waterrecord/controller/WaterRecordController.java b/src/main/java/com/ruoyi/waterrecord/controller/WaterRecordController.java new file mode 100644 index 0000000..87a9b7d --- /dev/null +++ b/src/main/java/com/ruoyi/waterrecord/controller/WaterRecordController.java @@ -0,0 +1,88 @@ +package com.ruoyi.waterrecord.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.framework.aspectj.lang.annotation.Log; +import com.ruoyi.framework.aspectj.lang.enums.BusinessType; +import com.ruoyi.framework.web.controller.BaseController; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.waterrecord.pojo.WaterRecord; +import com.ruoyi.waterrecord.service.WaterRecordService; +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.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * @author :yys + * @date : 2025/8/11 10:08 + */ +@RestController +@Api(tags = "鐢ㄦ按绠$悊") +@RequestMapping("/waterRecord") +public class WaterRecordController extends BaseController { + + @Autowired + private WaterRecordService waterRecordService; + + @GetMapping("/listPage") + @Log(title = "鐢ㄦ按绠$悊-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER) + public AjaxResult listPage(Page page, WaterRecord waterRecord){ + IPage<WaterRecord> listPage = waterRecordService.listPage(page, waterRecord); + return AjaxResult.success(listPage); + } + + @PostMapping("/add") + @Log(title = "鐢ㄦ按绠$悊-鏂板", businessType = BusinessType.INSERT) + @Transactional(rollbackFor = Exception.class) + public AjaxResult add(@RequestBody WaterRecord waterRecord){ + boolean save = waterRecordService.save(waterRecord); + return save ? AjaxResult.success() : AjaxResult.error(); + } + + @PostMapping("/update") + @Log(title = "鐢ㄦ按绠$悊-淇敼", businessType = BusinessType.UPDATE) + @Transactional(rollbackFor = Exception.class) + public AjaxResult update(@RequestBody WaterRecord waterRecord){ + boolean update = waterRecordService.updateById(waterRecord); + return update ? AjaxResult.success() : AjaxResult.error(); + } + + @DeleteMapping("/delete") + @Log(title = "鐢ㄦ按绠$悊-鍒犻櫎", businessType = BusinessType.DELETE) + @Transactional(rollbackFor = Exception.class) + public AjaxResult delete(@RequestBody List<Long> ids){ + if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); + boolean delete = waterRecordService.removeBatchByIds(ids); + return delete ? AjaxResult.success() : AjaxResult.error(); + } + + /** + * 瀵煎叆鐢ㄦ按绠$悊 + */ + @Log(title = "瀵煎叆鐢ㄦ按绠$悊", businessType = BusinessType.IMPORT) + @PostMapping("/importData") + @ApiOperation("瀵煎叆鐢ㄦ按绠$悊") + public AjaxResult importData(MultipartFile file) throws Exception { + return waterRecordService.importData(file); + } + + /** + * 瀵煎嚭鐢ㄦ按绠$悊 + */ + @Log(title = "瀵煎嚭鐢ㄦ按绠$悊", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("瀵煎嚭鐢ㄦ按绠$悊") + public void export(HttpServletResponse response) { + ExcelUtil<WaterRecord> util = new ExcelUtil<WaterRecord>(WaterRecord.class); + util.exportExcel(response, null , "鐢ㄦ按绠$悊"); + } + +} diff --git a/src/main/java/com/ruoyi/waterrecord/mapper/WaterRecordMapper.java b/src/main/java/com/ruoyi/waterrecord/mapper/WaterRecordMapper.java new file mode 100644 index 0000000..d66c16f --- /dev/null +++ b/src/main/java/com/ruoyi/waterrecord/mapper/WaterRecordMapper.java @@ -0,0 +1,21 @@ +package com.ruoyi.waterrecord.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.waterrecord.pojo.WaterRecord; +import org.apache.ibatis.annotations.Param; + +/** + * @author :yys + * @date : 2025/8/11 10:06 + */ +public interface WaterRecordMapper extends BaseMapper<WaterRecord> { + + /** + * @param page + * @param waterRecord + * @return + */ + IPage<WaterRecord> listPage(Page page,@Param("req") WaterRecord waterRecord); +} diff --git a/src/main/java/com/ruoyi/waterrecord/pojo/WaterRecord.java b/src/main/java/com/ruoyi/waterrecord/pojo/WaterRecord.java new file mode 100644 index 0000000..e2c6e9b --- /dev/null +++ b/src/main/java/com/ruoyi/waterrecord/pojo/WaterRecord.java @@ -0,0 +1,135 @@ +package com.ruoyi.waterrecord.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.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * @author :yys + * @date : 2025/8/11 10:00 + */ +@Data +@TableName("water_record") +@ApiModel +public class WaterRecord { + + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 瑙勬牸鍨嬪彿 + */ + @ApiModelProperty("瑙勬牸鍨嬪彿") + @Excel(name = "瑙勬牸鍨嬪彿") + private String deviceModel; + + /** + * 鐢ㄦ按绫诲瀷 + */ + @ApiModelProperty("鐢ㄦ按绫诲瀷") + @Excel(name = "鐢ㄦ按绫诲瀷", readConverterExp = "industrial=宸ヤ笟鐢ㄦ按,domestic=鐢熸椿鐢ㄦ按,fire=娑堥槻鐢ㄦ按,greening=缁垮寲鐢ㄦ按") + private String type; + + /** + * 璁惧鍚嶇О + */ + @ApiModelProperty("璁惧鍚嶇О") + @Excel(name = "璁惧鍚嶇О") + @TableField(exist = false) + private String deviceName; + + + + /** + * 棰濆畾娴侀噺 + */ + @ApiModelProperty("棰濆畾娴侀噺") + @Excel(name = "棰濆畾娴侀噺") + private String ratedRate; + + /** + * 瀹為檯娴侀噺 + */ + @ApiModelProperty("瀹為檯娴侀噺") + @Excel(name = "瀹為檯娴侀噺") + private String actualTraffic; + + /** + * 杩愯鏃堕棿 + */ + @ApiModelProperty("杩愯鏃堕棿") + @Excel(name = "杩愯鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date runTime; + + + /** + * 褰撴棩鐢ㄦ按閲� + */ + @ApiModelProperty("褰撴棩鐢ㄦ按閲�") + @Excel(name = "褰撴棩鐢ㄦ按閲�") + private String waterDay; + + /** + * 姣忔棩闄愬埗姘撮噺 + */ + @ApiModelProperty("姣忔棩闄愬埗姘撮噺") + @Excel(name = "姣忔棩闄愬埗姘撮噺") + private String waterDayLimit; + + /** + * 姘磋垂鍗曚环 + */ + @ApiModelProperty("姘磋垂鍗曚环") + @Excel(name = "姘磋垂鍗曚环") + private String waterPrice; + + /** + * 澶囨敞 + */ + @ApiModelProperty("澶囨敞") + private String remarks; + + /** + * 鍒涘缓鑰� + */ + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + /** + * 鍒涘缓鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 淇敼鑰� + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + /** + * 淇敼鏃堕棿 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + /** + * 绉熸埛ID + */ + @TableField(fill = FieldFill.INSERT) + private Long tenantId; + +} diff --git a/src/main/java/com/ruoyi/waterrecord/service/WaterRecordService.java b/src/main/java/com/ruoyi/waterrecord/service/WaterRecordService.java new file mode 100644 index 0000000..775fb25 --- /dev/null +++ b/src/main/java/com/ruoyi/waterrecord/service/WaterRecordService.java @@ -0,0 +1,25 @@ +package com.ruoyi.waterrecord.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.framework.web.domain.AjaxResult; +import com.ruoyi.waterrecord.pojo.WaterRecord; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author :yys + * @date : 2025/8/11 10:07 + */ +public interface WaterRecordService extends IService<WaterRecord> { + + /** + * 鍒嗛〉鏌ヨ + * @param page + * @param waterRecord + * @return + */ + IPage<WaterRecord> listPage(Page page, WaterRecord waterRecord); + + AjaxResult importData(MultipartFile file); +} diff --git a/src/main/java/com/ruoyi/waterrecord/service/impl/WaterRecordServiceImpl.java b/src/main/java/com/ruoyi/waterrecord/service/impl/WaterRecordServiceImpl.java new file mode 100644 index 0000000..4359ea8 --- /dev/null +++ b/src/main/java/com/ruoyi/waterrecord/service/impl/WaterRecordServiceImpl.java @@ -0,0 +1,52 @@ +package com.ruoyi.waterrecord.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.poi.ExcelUtil; +import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption; +import com.ruoyi.framework.web.domain.AjaxResult; +import com.ruoyi.waterrecord.mapper.WaterRecordMapper; +import com.ruoyi.waterrecord.pojo.WaterRecord; +import com.ruoyi.waterrecord.service.WaterRecordService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * @author :yys + * @date : 2025/8/11 10:08 + */ +@Service +@Slf4j +public class WaterRecordServiceImpl extends ServiceImpl<WaterRecordMapper, WaterRecord> implements WaterRecordService { + + @Autowired + private WaterRecordMapper waterRecordMapper; + + + @Override + public IPage<WaterRecord> listPage(Page page, WaterRecord waterRecord) { + return waterRecordMapper.listPage(page,waterRecord); + } + + @Override + public AjaxResult importData(MultipartFile file) { + try { + ExcelUtil<WaterRecord> util = new ExcelUtil<WaterRecord>(WaterRecord.class); + List<WaterRecord> userList = util.importExcel(file.getInputStream()); + if(CollectionUtils.isEmpty(userList)){ + return AjaxResult.warn("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�"); + } + this.saveOrUpdateBatch(userList); + return AjaxResult.success(true); + }catch (Exception e){ + e.printStackTrace(); + return AjaxResult.error("瀵煎叆澶辫触"); + } + } +} diff --git a/src/main/resources/mapper/waterrecord/WaterRecordMapper.xml b/src/main/resources/mapper/waterrecord/WaterRecordMapper.xml new file mode 100644 index 0000000..e0a9135 --- /dev/null +++ b/src/main/resources/mapper/waterrecord/WaterRecordMapper.xml @@ -0,0 +1,17 @@ +<?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.waterrecord.mapper.WaterRecordMapper"> + + <select id="listPage" resultType="com.ruoyi.waterrecord.pojo.WaterRecord"> + select + t1.*, + t2.device_name + from water_record t1 + left join device_ledger t2 on t1.device_model = t2.device_model + <where> + <if test="req.deviceName != null and req.deviceName != ''"> + and t2.device_name like concat('%',#{req.deviceName},'%') + </if> + </where> + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.3