From 23e4d027e282bf5d16e4da35349d4567b2f63f4e Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 30 七月 2025 13:18:04 +0800
Subject: [PATCH] yys  修改能源bug,新增售后服务模块

---
 src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java                                   |  123 ++++++++++++++++++++
 src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java                |   40 ++++++
 src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java                   |   93 +++++++++++++++
 src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java                         |   22 +++
 src/main/resources/mapper/aftersalesservice/AfterSalesServiceMapper.xml                                 |   19 +++
 src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java                 |    3 
 src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java |   16 ++
 src/main/java/com/ruoyi/aftersalesservice/mapper/AfterSalesServiceMapper.java                           |   22 +++
 8 files changed, 337 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java b/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java
new file mode 100644
index 0000000..d3c4bed
--- /dev/null
+++ b/src/main/java/com/ruoyi/aftersalesservice/controller/AfterSalesServiceController.java
@@ -0,0 +1,93 @@
+package com.ruoyi.aftersalesservice.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
+import com.ruoyi.aftersalesservice.service.AfterSalesServiceService;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
+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.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author :yys
+ * @date : 2025/7/30 9:27
+ */
+@RestController
+@Api(tags = "鍞悗鏈嶅姟")
+@RequestMapping("/afterSalesService")
+public class AfterSalesServiceController extends BaseController {
+
+
+    @Autowired
+    private AfterSalesServiceService afterSalesServiceService;
+
+    @Autowired
+    private SysUserMapper sysUserMapper;
+
+    @GetMapping("/listPage")
+    @ApiOperation("鍞悗鏈嶅姟-鍒嗛〉鏌ヨ")
+    @Log(title = "鍞悗鏈嶅姟-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    public AjaxResult listPage(Page page, AfterSalesService afterSalesService) {
+        IPage<AfterSalesService> listPage = afterSalesServiceService.listPage(page, afterSalesService);
+        return AjaxResult.success(listPage);
+    }
+
+    @PostMapping("/add")
+    @ApiOperation("鍞悗鏈嶅姟-鏂板")
+    @Log(title = "鍞悗鏈嶅姟-鏂板", businessType = BusinessType.INSERT)
+    public AjaxResult add(@RequestBody AfterSalesService afterSalesService) {
+        afterSalesService.setStatus(1);
+        SysUser sysUser = sysUserMapper.selectUserById(afterSalesService.getCheckUserId());
+        if(sysUser == null) throw new RuntimeException("瀹℃牳浜轰笉瀛樺湪");
+        afterSalesService.setCheckNickName(sysUser.getNickName());
+        boolean save = afterSalesServiceService.save(afterSalesService);
+        return save ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @PostMapping("/update")
+    @ApiOperation("鍞悗鏈嶅姟-淇敼")
+    @Log(title = "鍞悗鏈嶅姟-淇敼", businessType = BusinessType.UPDATE)
+    public AjaxResult update(@RequestBody AfterSalesService afterSalesService) {
+        boolean update = afterSalesServiceService.updateById(afterSalesService);
+        return update ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @DeleteMapping("/delete")
+    @ApiOperation("鍞悗鏈嶅姟-鍒犻櫎")
+    @Log(title = "鍞悗鏈嶅姟-鍒犻櫎", businessType = BusinessType.DELETE)
+    public AjaxResult delete(@RequestBody List<Long> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+        }
+        boolean delete = afterSalesServiceService.removeByIds(ids);
+        return delete ? AjaxResult.success() : AjaxResult.error();
+    }
+
+    @PostMapping("/dispose")
+    @ApiOperation("鍞悗鏈嶅姟-澶勭悊")
+    @Log(title = "鍞悗鏈嶅姟-澶勭悊", businessType = BusinessType.UPDATE)
+    public AjaxResult dispose(@RequestBody AfterSalesService afterSalesService) {
+        AfterSalesService byId = afterSalesServiceService.getById(afterSalesService.getId());
+        if(byId == null) throw new RuntimeException("鏈壘鍒拌鏁版嵁");
+        if(byId.getStatus().equals(2)) throw new RuntimeException("璇ユ暟鎹凡澶勭悊");
+        SysUser sysUser = sysUserMapper.selectUserById(afterSalesService.getDisposeUserId());
+        if(sysUser == null) throw new RuntimeException("澶勭悊浜轰笉瀛樺湪");
+        afterSalesService.setDisposeNickName(sysUser.getNickName());
+        boolean update = afterSalesServiceService.updateById(afterSalesService);
+        return update ? AjaxResult.success() : AjaxResult.error();
+    }
+
+
+}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/mapper/AfterSalesServiceMapper.java b/src/main/java/com/ruoyi/aftersalesservice/mapper/AfterSalesServiceMapper.java
new file mode 100644
index 0000000..1c09a0e
--- /dev/null
+++ b/src/main/java/com/ruoyi/aftersalesservice/mapper/AfterSalesServiceMapper.java
@@ -0,0 +1,22 @@
+package com.ruoyi.aftersalesservice.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.aftersalesservice.pojo.AfterSalesService;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author :yys
+ * @date : 2025/7/30 9:24
+ */
+public interface AfterSalesServiceMapper extends BaseMapper<AfterSalesService> {
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page
+     * @param afterSalesService
+     * @return
+     */
+    IPage<AfterSalesService> listPage(Page page,@Param("req") AfterSalesService afterSalesService);
+}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java b/src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java
new file mode 100644
index 0000000..7605ef9
--- /dev/null
+++ b/src/main/java/com/ruoyi/aftersalesservice/pojo/AfterSalesService.java
@@ -0,0 +1,123 @@
+package com.ruoyi.aftersalesservice.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * @author :yys
+ * @date : 2025/7/30 9:19
+ */
+@Data
+@TableName("after_sales_service")
+@ApiModel
+public class AfterSalesService {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 鐘舵�� 1-寰呭鐞� 2-宸插鐞�
+     */
+    @ApiModelProperty("鐘舵�� 1-寰呭鐞� 2-宸插鐞�")
+    private Integer status;
+
+    /**
+     * 鐧昏浜�
+     */
+    @ApiModelProperty("鐧昏浜�")
+    private Long checkUserId;
+
+    /**
+     * 鐧昏浜哄悕绉�
+     */
+    @ApiModelProperty("鐧昏浜哄悕绉�")
+    private String checkNickName;
+
+    /**
+     * 澶勭悊浜�
+     */
+    @ApiModelProperty("澶勭悊浜�")
+    private Long disposeUserId;
+
+    /**
+     * 澶勭悊浜哄悕绉�
+     */
+    @ApiModelProperty("澶勭悊浜哄悕绉�")
+    private String disposeNickName;
+
+    /**
+     * 瀹㈡埛鍚嶇О
+     */
+    @ApiModelProperty("瀹㈡埛鍚嶇О")
+    private String customerName;
+
+    /**
+     * 闂鎻忚堪
+     */
+    @ApiModelProperty("闂鎻忚堪")
+    private String proDesc;
+
+    /**
+     * 澶勭悊缁撴灉
+     */
+    @ApiModelProperty("澶勭悊缁撴灉")
+    private String disRes;
+
+    /**
+     * 鍙嶉鏃ユ湡
+     */
+    @ApiModelProperty("鍙嶉鏃ユ湡")
+    private LocalDate feedbackDate;
+
+    /**
+     * 澶勭悊鏃ユ湡
+     */
+    @ApiModelProperty("澶勭悊鏃ユ湡")
+    private LocalDate disDate;
+
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    /**
+     * 淇敼鑰�
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    private Integer updateUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+    /**
+     * 绉熸埛ID
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+    @TableField(exist = false)
+    @ApiModelProperty("閮ㄩ棬鍚嶇О")
+    private String deptName;
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java b/src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java
new file mode 100644
index 0000000..f5ba2d7
--- /dev/null
+++ b/src/main/java/com/ruoyi/aftersalesservice/service/AfterSalesServiceService.java
@@ -0,0 +1,22 @@
+package com.ruoyi.aftersalesservice.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.aftersalesservice.pojo.AfterSalesService;
+
+/**
+ * @author :yys
+ * @date : 2025/7/30 9:25
+ */
+public interface AfterSalesServiceService extends IService<AfterSalesService> {
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param page
+     * @param afterSalesService
+     * @return
+     */
+    IPage<AfterSalesService> listPage(Page page, AfterSalesService afterSalesService);
+}
diff --git a/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java b/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
new file mode 100644
index 0000000..4f8237f
--- /dev/null
+++ b/src/main/java/com/ruoyi/aftersalesservice/service/impl/AfterSalesServiceServiceImpl.java
@@ -0,0 +1,40 @@
+package com.ruoyi.aftersalesservice.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.aftersalesservice.mapper.AfterSalesServiceMapper;
+import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
+import com.ruoyi.aftersalesservice.service.AfterSalesServiceService;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.project.system.domain.SysDept;
+import com.ruoyi.project.system.mapper.SysDeptMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author :yys
+ * @date : 2025/7/30 9:26
+ */
+@Service
+@Slf4j
+public class AfterSalesServiceServiceImpl extends ServiceImpl<AfterSalesServiceMapper, AfterSalesService> implements AfterSalesServiceService {
+
+    @Autowired
+    private AfterSalesServiceMapper afterSalesServiceMapper;
+
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
+
+    @Override
+    public IPage<AfterSalesService> listPage(Page page, AfterSalesService afterSalesService) {
+        Long tenantId = SecurityUtils.getLoginUser().getTenantId();
+        SysDept sysDept = sysDeptMapper.selectDeptById(tenantId);
+        IPage<AfterSalesService> afterSalesServiceIPage = afterSalesServiceMapper.listPage(page, afterSalesService);
+        afterSalesServiceIPage.getRecords().forEach(item -> {
+            item.setDeptName(sysDept.getDeptName());
+        });
+        return afterSalesServiceIPage;
+    }
+}
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java
index 429423f..5dc5686 100644
--- a/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/controller/EquipmentEnergyConsumptionController.java
@@ -1,7 +1,10 @@
 package com.ruoyi.equipmentenergyconsumption.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.Customer;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.device.pojo.DeviceLedger;
 import com.ruoyi.equipmentenergyconsumption.pojo.EquipmentEnergyConsumption;
 import com.ruoyi.equipmentenergyconsumption.service.EquipmentEnergyConsumptionService;
@@ -16,6 +19,7 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -77,10 +81,22 @@
      */
     @Log(title = "瀵煎叆璁惧鑳借��", businessType = BusinessType.IMPORT)
     @PostMapping("/importData")
+    @ApiOperation("瀵煎叆璁惧鑳借��")
     public AjaxResult importData(MultipartFile file) throws Exception {
         return equipmentEnergyConsumptionService.importData(file);
     }
 
+    /**
+     * 瀵煎嚭璁惧鑳借��
+     */
+    @Log(title = "瀵煎嚭璁惧鑳借��", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ApiOperation("瀵煎嚭璁惧鑳借��")
+    public void export(HttpServletResponse response) {
+        ExcelUtil<EquipmentEnergyConsumption> util = new ExcelUtil<EquipmentEnergyConsumption>(EquipmentEnergyConsumption.class);
+        util.exportExcel(response, null , "瀹㈡埛妗f鏁版嵁");
+    }
+
     @GetMapping("/listPageByTrend")
     @ApiOperation("璁惧鑳借��-鑳芥簮瓒嬪娍-鍒嗛〉鏌ヨ")
     @Log(title = "璁惧鑳借��-鑳芥簮瓒嬪娍-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
diff --git a/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java
index 4ed1aff..c6562aa 100644
--- a/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java
+++ b/src/main/java/com/ruoyi/equipmentenergyconsumption/pojo/EquipmentEnergyConsumption.java
@@ -11,6 +11,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 /**
  * @author :yys
@@ -96,7 +97,7 @@
     @ApiModelProperty("杩愯鏃堕棿")
     @Excel(name = "杩愯鏃堕棿" , width = 30, dateFormat = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
-    private LocalDate runDate;
+    private Date runDate;
 
     /**
      * 姣忔棩闄愬埗鐢甸噺
diff --git a/src/main/resources/mapper/aftersalesservice/AfterSalesServiceMapper.xml b/src/main/resources/mapper/aftersalesservice/AfterSalesServiceMapper.xml
new file mode 100644
index 0000000..17419a4
--- /dev/null
+++ b/src/main/resources/mapper/aftersalesservice/AfterSalesServiceMapper.xml
@@ -0,0 +1,19 @@
+<?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.aftersalesservice.mapper.AfterSalesServiceMapper">
+
+    <select id="listPage" resultType="com.ruoyi.aftersalesservice.pojo.AfterSalesService">
+        select * from after_sales_service
+        where 1 = 1
+        <if test="req.feedbackDate != null and req.feedbackDate != ''">
+            and feedback_date like concat('%', #{req.feedbackDate}, '%')
+        </if>
+        <if test="req.disDate != null and req.disDate != ''">
+            and dis_date like concat('%', #{req.disDate}, '%')
+        </if>
+        <if test="req.tenantId != null and req.tenantId != ''">
+            and tenant_id = #{req.tenantId}
+        </if>
+        order by update_time desc
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3