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