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