From 05a2af8c929455303f4e122937c507442a63f690 Mon Sep 17 00:00:00 2001 From: mashili Date: Fri, 11 Jul 2025 15:04:46 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ems/EmsTicketController.java | 5 ++- .../controller/system/SysUserController.java | 13 ++++++ .../com/xzzn/ems/domain/vo/TicketListVo.java | 40 +++++++++++++++++++ .../com/xzzn/ems/mapper/EmsTicketMapper.java | 8 ++++ .../xzzn/ems/service/IEmsTicketService.java | 9 +++++ .../service/impl/EmsTicketServiceImpl.java | 13 ++++++ .../resources/mapper/ems/EmsTicketMapper.xml | 15 +++++++ 7 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/vo/TicketListVo.java diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java index 1970124..754cac1 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java @@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse; import com.xzzn.common.utils.poi.ExcelUtil; import com.xzzn.ems.domain.EmsTicket; +import com.xzzn.ems.domain.vo.TicketListVo; import com.xzzn.ems.service.IEmsTicketService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -43,7 +44,7 @@ public class EmsTicketController extends BaseController public TableDataInfo list(EmsTicket emsTicket) { startPage(); - List list = emsTicketService.selectEmsTicketList(emsTicket); + List list = emsTicketService.getAllTicketList(emsTicket); return getDataTable(list); } @@ -111,6 +112,6 @@ public class EmsTicketController extends BaseController @PostMapping("/drop") public AjaxResult drop(@RequestBody EmsTicket emsTicket) { - return toAjax(emsTicketService.dropEmsTicketById(emsTicket.getId())); + return toAjax(emsTicketService.dropEmsTicketById(emsTicket.getTicketNo())); } } diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/system/SysUserController.java b/ems-admin/src/main/java/com/xzzn/web/controller/system/SysUserController.java index ffe93bb..842620f 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/system/SysUserController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/system/SysUserController.java @@ -3,6 +3,8 @@ package com.xzzn.web.controller.system; import java.util.List; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; + +import com.xzzn.system.service.impl.SysUserServiceImpl; import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -52,6 +54,8 @@ public class SysUserController extends BaseController @Autowired private ISysPostService postService; + @Autowired + private SysUserServiceImpl sysUserServiceImpl; /** * 获取用户列表 @@ -253,4 +257,13 @@ public class SysUserController extends BaseController { return success(deptService.selectDeptTreeList(dept)); } + + /** + * 获取所有用户 + */ + @GetMapping("/getAllUser") + public AjaxResult getAllUser(SysUser user) + { + return success(userService.selectUserList(user)); + } } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/TicketListVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/TicketListVo.java new file mode 100644 index 0000000..22d90ec --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/TicketListVo.java @@ -0,0 +1,40 @@ +package com.xzzn.ems.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.annotation.Excel; +import com.xzzn.common.core.domain.BaseEntity; +import com.xzzn.ems.domain.EmsTicket; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 工单列表对象 + * + */ +public class TicketListVo extends EmsTicket +{ + private static final long serialVersionUID = 1L; + + // 提交人姓名 + private String userName; + // 处理人姓名 + private String workName; + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getWorkName() { + return workName; + } + + public void setWorkName(String workName) { + this.workName = workName; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsTicketMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsTicketMapper.java index f944a4c..7dcf5a9 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsTicketMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsTicketMapper.java @@ -1,6 +1,7 @@ package com.xzzn.ems.mapper; import com.xzzn.ems.domain.EmsTicket; +import com.xzzn.ems.domain.vo.TicketListVo; import java.util.List; @@ -66,4 +67,11 @@ public interface EmsTicketMapper * @return */ public int dropEmsTicketById(String id); + + /** + * 获取工单列表 + * @param emsTicket + * @return + */ + public List getAllTicketList(EmsTicket emsTicket); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsTicketService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsTicketService.java index 7fe9993..6eac8e2 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsTicketService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsTicketService.java @@ -1,6 +1,7 @@ package com.xzzn.ems.service; import com.xzzn.ems.domain.EmsTicket; +import com.xzzn.ems.domain.vo.TicketListVo; import java.util.List; @@ -66,4 +67,12 @@ public interface IEmsTicketService * @return */ public int dropEmsTicketById(String id); + + /** + * 获取工单列表 + * + * @param emsTicket 工单主 + * @return 工单主集合 + */ + public List getAllTicketList(EmsTicket emsTicket); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsTicketServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsTicketServiceImpl.java index f9917ec..a63f057 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsTicketServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsTicketServiceImpl.java @@ -1,8 +1,11 @@ package com.xzzn.ems.service.impl; import java.util.List; +import java.util.Random; + import com.xzzn.common.utils.DateUtils; import com.xzzn.ems.domain.EmsTicket; +import com.xzzn.ems.domain.vo.TicketListVo; import com.xzzn.ems.mapper.EmsTicketMapper; import com.xzzn.ems.service.IEmsTicketService; import org.springframework.beans.factory.annotation.Autowired; @@ -54,6 +57,11 @@ public class EmsTicketServiceImpl implements IEmsTicketService @Override public int insertEmsTicket(EmsTicket emsTicket) { + // 工单号随机生产 + String ticketNo = ""; + String nowDate = DateUtils.dateTime(); + ticketNo = "T" + nowDate + String.format("%06d", new Random().nextInt(1000000)); + emsTicket.setTicketNo(ticketNo); emsTicket.setCreateTime(DateUtils.getNowDate()); return emsTicketMapper.insertEmsTicket(emsTicket); } @@ -106,4 +114,9 @@ public class EmsTicketServiceImpl implements IEmsTicketService { return emsTicketMapper.dropEmsTicketById(id); } + + @Override + public List getAllTicketList(EmsTicket emsTicket) { + return emsTicketMapper.getAllTicketList(emsTicket); + } } diff --git a/ems-system/src/main/resources/mapper/ems/EmsTicketMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsTicketMapper.xml index f0901b2..eb0041e 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsTicketMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsTicketMapper.xml @@ -114,4 +114,19 @@ update ems_ticket set isDelete = 0 where id = #{id} + + \ No newline at end of file From 84757ab358c6b47f3b13ed049fd7a2952ba64f73 Mon Sep 17 00:00:00 2001 From: mashili Date: Fri, 11 Jul 2025 16:43:47 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=B1=BB=E5=9E=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ems-system/src/main/java/com/xzzn/ems/domain/EmsTicket.java | 6 +++--- .../xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsTicket.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsTicket.java index da19310..ea401d1 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsTicket.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsTicket.java @@ -26,7 +26,7 @@ public class EmsTicket extends BaseEntity /** 提交用户ID */ @Excel(name = "提交用户ID") - private String userId; + private Long userId; /** 工单标题 */ @Excel(name = "工单标题") @@ -77,12 +77,12 @@ public class EmsTicket extends BaseEntity return ticketNo; } - public void setUserId(String userId) + public void setUserId(Long userId) { this.userId = userId; } - public String getUserId() + public Long getUserId() { return userId; } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java index 18ec20e..6e38d64 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsAlarmRecordsServiceImpl.java @@ -143,7 +143,7 @@ public class EmsAlarmRecordsServiceImpl implements IEmsAlarmRecordsService emsTicket.setTicketNo(ticketNo); emsTicket.setTitle("工单"+id.toString()); emsTicket.setContent(emsAlarmRecords.getAlarmContent()); - emsTicket.setUserId(userId.toString()); + emsTicket.setUserId(userId); emsTicket.setWorkUserId(userId); emsTicket.setCreateTime(DateUtils.getNowDate()); emsTicket.setCreateBy(user.getUserName()); From 3b55f3d05328fa7ec93779abfc27b19d6936454b Mon Sep 17 00:00:00 2001 From: mashili Date: Fri, 11 Jul 2025 19:47:15 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E7=AD=96=E7=95=A5=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E8=AF=A6=E6=83=85=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems/EmsStrategyCurveController.java | 102 +++++++++ .../ems/EmsStrategyTempController.java | 110 ++++++++++ .../ems/EmsStrategyTimeConfigController.java | 101 +++++++++ .../controller/ems/EmsTicketController.java | 2 +- .../com/xzzn/ems/domain/EmsStrategyCurve.java | 136 ++++++++++++ .../com/xzzn/ems/domain/EmsStrategyTemp.java | 194 ++++++++++++++++++ .../ems/domain/EmsStrategyTimeConfig.java | 102 +++++++++ .../ems/mapper/EmsStrategyCurveMapper.java | 61 ++++++ .../ems/mapper/EmsStrategyTempMapper.java | 64 ++++++ .../mapper/EmsStrategyTimeConfigMapper.java | 61 ++++++ .../ems/service/IEmsStrategyCurveService.java | 61 ++++++ .../ems/service/IEmsStrategyTempService.java | 63 ++++++ .../IEmsStrategyTimeConfigService.java | 61 ++++++ .../impl/EmsStrategyCurveServiceImpl.java | 96 +++++++++ .../impl/EmsStrategyTempServiceImpl.java | 101 +++++++++ .../EmsStrategyTimeConfigServiceImpl.java | 96 +++++++++ .../mapper/ems/EmsStrategyCurveMapper.xml | 101 +++++++++ .../mapper/ems/EmsStrategyTempMapper.xml | 128 ++++++++++++ .../ems/EmsStrategyTimeConfigMapper.xml | 92 +++++++++ 19 files changed, 1731 insertions(+), 1 deletion(-) create mode 100644 ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyCurveController.java create mode 100644 ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java create mode 100644 ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTimeConfigController.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyCurve.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyCurveMapper.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyCurveService.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTimeConfigService.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyCurveServiceImpl.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTimeConfigServiceImpl.java create mode 100644 ems-system/src/main/resources/mapper/ems/EmsStrategyCurveMapper.xml create mode 100644 ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml create mode 100644 ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyCurveController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyCurveController.java new file mode 100644 index 0000000..f66bcc1 --- /dev/null +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyCurveController.java @@ -0,0 +1,102 @@ +package com.xzzn.web.controller.ems; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.xzzn.common.annotation.Log; +import com.xzzn.common.core.controller.BaseController; +import com.xzzn.common.core.domain.AjaxResult; +import com.xzzn.common.enums.BusinessType; +import com.xzzn.ems.domain.EmsStrategyCurve; +import com.xzzn.ems.service.IEmsStrategyCurveService; +import com.xzzn.common.utils.poi.ExcelUtil; +import com.xzzn.common.core.page.TableDataInfo; + +/** + * 策曲线Controller + * + * @author xzzn + * @date 2025-07-11 + */ +@RestController +@RequestMapping("/strategy/curve") +public class EmsStrategyCurveController extends BaseController +{ + @Autowired + private IEmsStrategyCurveService emsStrategyCurveService; + + /** + * 查询策曲线列表 + */ + @PreAuthorize("@ss.hasPermi('system:curve:list')") + @GetMapping("/list") + public AjaxResult list(EmsStrategyCurve emsStrategyCurve) + { + return success(emsStrategyCurveService.selectEmsStrategyCurveList(emsStrategyCurve)); + } + + /** + * 导出策曲线列表 + */ + @PreAuthorize("@ss.hasPermi('system:curve:export')") + @Log(title = "策曲线", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EmsStrategyCurve emsStrategyCurve) + { + List list = emsStrategyCurveService.selectEmsStrategyCurveList(emsStrategyCurve); + ExcelUtil util = new ExcelUtil(EmsStrategyCurve.class); + util.exportExcel(response, list, "策曲线数据"); + } + + /** + * 获取策曲线详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:curve:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(emsStrategyCurveService.selectEmsStrategyCurveById(id)); + } + + /** + * 新增策曲线 + */ + @PreAuthorize("@ss.hasPermi('system:curve:add')") + @Log(title = "策曲线", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EmsStrategyCurve emsStrategyCurve) + { + return toAjax(emsStrategyCurveService.insertEmsStrategyCurve(emsStrategyCurve)); + } + + /** + * 修改策曲线 + */ + @PreAuthorize("@ss.hasPermi('system:curve:edit')") + @Log(title = "策曲线", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EmsStrategyCurve emsStrategyCurve) + { + return toAjax(emsStrategyCurveService.updateEmsStrategyCurve(emsStrategyCurve)); + } + + /** + * 删除策曲线 + */ + @PreAuthorize("@ss.hasPermi('system:curve:remove')") + @Log(title = "策曲线", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(emsStrategyCurveService.deleteEmsStrategyCurveByIds(ids)); + } +} diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java new file mode 100644 index 0000000..647c943 --- /dev/null +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java @@ -0,0 +1,110 @@ +package com.xzzn.web.controller.ems; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.xzzn.common.annotation.Log; +import com.xzzn.common.core.controller.BaseController; +import com.xzzn.common.core.domain.AjaxResult; +import com.xzzn.common.enums.BusinessType; +import com.xzzn.ems.domain.EmsStrategyTemp; +import com.xzzn.ems.service.IEmsStrategyTempService; +import com.xzzn.common.utils.poi.ExcelUtil; + +/** + * 模板Controller + * + * @author xzzn + * @date 2025-07-11 + */ +@RestController +@RequestMapping("/strategy/temp") +public class EmsStrategyTempController extends BaseController +{ + @Autowired + private IEmsStrategyTempService emsStrategyTempService; + + /** + * 查询模板列表 + */ + @PreAuthorize("@ss.hasPermi('system:temp:list')") + @GetMapping("/list") + public AjaxResult list(EmsStrategyTemp emsStrategyTemp) + { + return success(emsStrategyTempService.selectEmsStrategyTempList(emsStrategyTemp)); + } + + /** + * 导出模板列表 + */ + @PreAuthorize("@ss.hasPermi('system:temp:export')") + @Log(title = "模板", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EmsStrategyTemp emsStrategyTemp) + { + List list = emsStrategyTempService.selectEmsStrategyTempList(emsStrategyTemp); + ExcelUtil util = new ExcelUtil(EmsStrategyTemp.class); + util.exportExcel(response, list, "模板数据"); + } + + /** + * 获取模板详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:temp:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(emsStrategyTempService.selectEmsStrategyTempById(id)); + } + + /** + * 新增模板 + */ + @PreAuthorize("@ss.hasPermi('system:temp:add')") + @Log(title = "模板", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EmsStrategyTemp emsStrategyTemp) + { + return toAjax(emsStrategyTempService.insertEmsStrategyTemp(emsStrategyTemp)); + } + + /** + * 修改模板 + */ + @PreAuthorize("@ss.hasPermi('system:temp:edit')") + @Log(title = "模板", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EmsStrategyTemp emsStrategyTemp) + { + return toAjax(emsStrategyTempService.updateEmsStrategyTemp(emsStrategyTemp)); + } + + /** + * 删除模板 + */ + @PreAuthorize("@ss.hasPermi('system:temp:remove')") + @Log(title = "模板", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(emsStrategyTempService.deleteEmsStrategyTempByIds(ids)); + } + + /** + * 根据策略id站点id获取所有模板名称 + */ + @GetMapping("/getTempNameList") + public AjaxResult getTempNameList(Long strategyId, String siteId) + { + return success(emsStrategyTempService.getTempNameList(strategyId, siteId)); + } +} diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTimeConfigController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTimeConfigController.java new file mode 100644 index 0000000..1267d36 --- /dev/null +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTimeConfigController.java @@ -0,0 +1,101 @@ +package com.xzzn.web.controller.ems; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.xzzn.common.annotation.Log; +import com.xzzn.common.core.controller.BaseController; +import com.xzzn.common.core.domain.AjaxResult; +import com.xzzn.common.enums.BusinessType; +import com.xzzn.ems.domain.EmsStrategyTimeConfig; +import com.xzzn.ems.service.IEmsStrategyTimeConfigService; +import com.xzzn.common.utils.poi.ExcelUtil; + +/** + * 时间配置Controller + * + * @author xzzn + * @date 2025-07-11 + */ +@RestController +@RequestMapping("/strategy/timeConfig") +public class EmsStrategyTimeConfigController extends BaseController +{ + @Autowired + private IEmsStrategyTimeConfigService emsStrategyTimeConfigService; + + /** + * 查询时间配置列表 + */ + @PreAuthorize("@ss.hasPermi('system:config:list')") + @GetMapping("/list") + public AjaxResult list(EmsStrategyTimeConfig emsStrategyTimeConfig) + { + return success(emsStrategyTimeConfigService.selectEmsStrategyTimeConfigList(emsStrategyTimeConfig)); + } + + /** + * 导出时间配置列表 + */ + @PreAuthorize("@ss.hasPermi('system:config:export')") + @Log(title = "时间配置", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, EmsStrategyTimeConfig emsStrategyTimeConfig) + { + List list = emsStrategyTimeConfigService.selectEmsStrategyTimeConfigList(emsStrategyTimeConfig); + ExcelUtil util = new ExcelUtil(EmsStrategyTimeConfig.class); + util.exportExcel(response, list, "时间配置数据"); + } + + /** + * 获取时间配置详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:config:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(emsStrategyTimeConfigService.selectEmsStrategyTimeConfigById(id)); + } + + /** + * 新增时间配置 + */ + @PreAuthorize("@ss.hasPermi('system:config:add')") + @Log(title = "时间配置", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody EmsStrategyTimeConfig emsStrategyTimeConfig) + { + return toAjax(emsStrategyTimeConfigService.insertEmsStrategyTimeConfig(emsStrategyTimeConfig)); + } + + /** + * 修改时间配置 + */ + @PreAuthorize("@ss.hasPermi('system:config:edit')") + @Log(title = "时间配置", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody EmsStrategyTimeConfig emsStrategyTimeConfig) + { + return toAjax(emsStrategyTimeConfigService.updateEmsStrategyTimeConfig(emsStrategyTimeConfig)); + } + + /** + * 删除时间配置 + */ + @PreAuthorize("@ss.hasPermi('system:config:remove')") + @Log(title = "时间配置", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(emsStrategyTimeConfigService.deleteEmsStrategyTimeConfigByIds(ids)); + } +} diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java index 754cac1..f1c26d9 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsTicketController.java @@ -112,6 +112,6 @@ public class EmsTicketController extends BaseController @PostMapping("/drop") public AjaxResult drop(@RequestBody EmsTicket emsTicket) { - return toAjax(emsTicketService.dropEmsTicketById(emsTicket.getTicketNo())); + return toAjax(emsTicketService.dropEmsTicketById(emsTicket.getId())); } } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyCurve.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyCurve.java new file mode 100644 index 0000000..dff611c --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyCurve.java @@ -0,0 +1,136 @@ +package com.xzzn.ems.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.xzzn.common.annotation.Excel; + +/** + * 策曲线对象 ems_strategy_curve + * + * @author xzzn + * @date 2025-07-11 + */ +public class EmsStrategyCurve extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 关联的策略ID */ + @Excel(name = "关联的策略ID") + private Long strategyId; + + /** 任务编号 */ + @Excel(name = "任务编号") + private Long taskNumber; + + /** 开始日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date startDate; + + /** 结束日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "结束日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date endDate; + + /** 功率数据,可以是JSON格式存储曲线数据 */ + @Excel(name = "功率数据,可以是JSON格式存储曲线数据") + private String powerData; + + /** 站点id */ + @Excel(name = "站点id") + private String siteId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setStrategyId(Long strategyId) + { + this.strategyId = strategyId; + } + + public Long getStrategyId() + { + return strategyId; + } + + public void setTaskNumber(Long taskNumber) + { + this.taskNumber = taskNumber; + } + + public Long getTaskNumber() + { + return taskNumber; + } + + public void setStartDate(Date startDate) + { + this.startDate = startDate; + } + + public Date getStartDate() + { + return startDate; + } + + public void setEndDate(Date endDate) + { + this.endDate = endDate; + } + + public Date getEndDate() + { + return endDate; + } + + public void setPowerData(String powerData) + { + this.powerData = powerData; + } + + public String getPowerData() + { + return powerData; + } + + public void setSiteId(String siteId) + { + this.siteId = siteId; + } + + public String getSiteId() + { + return siteId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("strategyId", getStrategyId()) + .append("taskNumber", getTaskNumber()) + .append("startDate", getStartDate()) + .append("endDate", getEndDate()) + .append("powerData", getPowerData()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("siteId", getSiteId()) + .toString(); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java new file mode 100644 index 0000000..20d8064 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java @@ -0,0 +1,194 @@ +package com.xzzn.ems.domain; + +import java.math.BigDecimal; +import java.time.LocalTime; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.xzzn.common.annotation.Excel; + +/** + * 模板对象 ems_strategy_temp + * + * @author xzzn + * @date 2025-07-11 + */ +public class EmsStrategyTemp extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 关联的策略ID */ + @Excel(name = "关联的策略ID") + private Long strategyId; + + /** 模板名称,如“模板一” */ + @Excel(name = "模板名称,如“模板一”") + private String templateName; + + /** SDC限制 (%) */ + @Excel(name = "SDC限制 (%)") + private BigDecimal sdcLimit; + + /** SDC下限 (%) */ + @Excel(name = "SDC下限 (%)") + private BigDecimal sdcDown; + + /** SDC上限 (%) */ + @Excel(name = "SDC上限 (%)") + private BigDecimal sdcUp; + + /** 开始时间 */ + @JsonFormat(pattern = "HH:mm:ss") + @Excel(name = "开始时间", width = 30, dateFormat = "HH:mm:ss") + private LocalTime startTime; + + /** 结束时间 */ + @JsonFormat(pattern = "HH:mm:ss") + @Excel(name = "结束时间", width = 30, dateFormat = "HH:mm:ss") + private LocalTime endTime; + + /** 充放功率 (kW) */ + @Excel(name = "充放功率 (kW)") + private BigDecimal chargeDischargePower; + + /** 充电状态,如“1-充电”、“2-待机” */ + @Excel(name = "充电状态,如“1-充电”、“2-待机”") + private String chargeStatus; + + /** 站点id */ + @Excel(name = "站点id") + private String siteId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setStrategyId(Long strategyId) + { + this.strategyId = strategyId; + } + + public Long getStrategyId() + { + return strategyId; + } + + public void setTemplateName(String templateName) + { + this.templateName = templateName; + } + + public String getTemplateName() + { + return templateName; + } + + public void setSdcLimit(BigDecimal sdcLimit) + { + this.sdcLimit = sdcLimit; + } + + public BigDecimal getSdcLimit() + { + return sdcLimit; + } + + public void setSdcDown(BigDecimal sdcDown) + { + this.sdcDown = sdcDown; + } + + public BigDecimal getSdcDown() + { + return sdcDown; + } + + public void setSdcUp(BigDecimal sdcUp) + { + this.sdcUp = sdcUp; + } + + public BigDecimal getSdcUp() + { + return sdcUp; + } + + public LocalTime getStartTime() { + return startTime; + } + + public void setStartTime(LocalTime startTime) { + this.startTime = startTime; + } + + public LocalTime getEndTime() { + return endTime; + } + + public void setEndTime(LocalTime endTime) { + this.endTime = endTime; + } + + public void setChargeDischargePower(BigDecimal chargeDischargePower) + { + this.chargeDischargePower = chargeDischargePower; + } + + public BigDecimal getChargeDischargePower() + { + return chargeDischargePower; + } + + public void setChargeStatus(String chargeStatus) + { + this.chargeStatus = chargeStatus; + } + + public String getChargeStatus() + { + return chargeStatus; + } + + public void setSiteId(String siteId) + { + this.siteId = siteId; + } + + public String getSiteId() + { + return siteId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("strategyId", getStrategyId()) + .append("templateName", getTemplateName()) + .append("sdcLimit", getSdcLimit()) + .append("sdcDown", getSdcDown()) + .append("sdcUp", getSdcUp()) + .append("startTime", getStartTime()) + .append("endTime", getEndTime()) + .append("chargeDischargePower", getChargeDischargePower()) + .append("chargeStatus", getChargeStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("siteId", getSiteId()) + .toString(); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java new file mode 100644 index 0000000..250f68f --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java @@ -0,0 +1,102 @@ +package com.xzzn.ems.domain; + +import com.xzzn.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.xzzn.common.annotation.Excel; + +/** + * 时间配置对象 ems_strategy_time_config + * + * @author xzzn + * @date 2025-07-11 + */ +public class EmsStrategyTimeConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 关联的策略ID */ + @Excel(name = "关联的策略ID") + private Long strategyId; + + /** 月份,1-12 */ + @Excel(name = "月份,1-12") + private Long month; + + /** 充放电模式,如“两充两放” */ + @Excel(name = "充放电模式,如“两充两放”") + private String chargeDischargeMode; + + /** 站点id */ + @Excel(name = "站点id") + private String siteId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setStrategyId(Long strategyId) + { + this.strategyId = strategyId; + } + + public Long getStrategyId() + { + return strategyId; + } + + public void setMonth(Long month) + { + this.month = month; + } + + public Long getMonth() + { + return month; + } + + public void setChargeDischargeMode(String chargeDischargeMode) + { + this.chargeDischargeMode = chargeDischargeMode; + } + + public String getChargeDischargeMode() + { + return chargeDischargeMode; + } + + public void setSiteId(String siteId) + { + this.siteId = siteId; + } + + public String getSiteId() + { + return siteId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("strategyId", getStrategyId()) + .append("month", getMonth()) + .append("chargeDischargeMode", getChargeDischargeMode()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("siteId", getSiteId()) + .toString(); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyCurveMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyCurveMapper.java new file mode 100644 index 0000000..9776cd1 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyCurveMapper.java @@ -0,0 +1,61 @@ +package com.xzzn.ems.mapper; + +import java.util.List; +import com.xzzn.ems.domain.EmsStrategyCurve; + +/** + * 策曲线Mapper接口 + * + * @author xzzn + * @date 2025-07-11 + */ +public interface EmsStrategyCurveMapper +{ + /** + * 查询策曲线 + * + * @param id 策曲线主键 + * @return 策曲线 + */ + public EmsStrategyCurve selectEmsStrategyCurveById(Long id); + + /** + * 查询策曲线列表 + * + * @param emsStrategyCurve 策曲线 + * @return 策曲线集合 + */ + public List selectEmsStrategyCurveList(EmsStrategyCurve emsStrategyCurve); + + /** + * 新增策曲线 + * + * @param emsStrategyCurve 策曲线 + * @return 结果 + */ + public int insertEmsStrategyCurve(EmsStrategyCurve emsStrategyCurve); + + /** + * 修改策曲线 + * + * @param emsStrategyCurve 策曲线 + * @return 结果 + */ + public int updateEmsStrategyCurve(EmsStrategyCurve emsStrategyCurve); + + /** + * 删除策曲线 + * + * @param id 策曲线主键 + * @return 结果 + */ + public int deleteEmsStrategyCurveById(Long id); + + /** + * 批量删除策曲线 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEmsStrategyCurveByIds(Long[] ids); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java new file mode 100644 index 0000000..4ee49b1 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java @@ -0,0 +1,64 @@ +package com.xzzn.ems.mapper; + +import java.util.List; +import com.xzzn.ems.domain.EmsStrategyTemp; +import org.apache.ibatis.annotations.Param; + +/** + * 模板Mapper接口 + * + * @author xzzn + * @date 2025-07-11 + */ +public interface EmsStrategyTempMapper +{ + /** + * 查询模板 + * + * @param id 模板主键 + * @return 模板 + */ + public EmsStrategyTemp selectEmsStrategyTempById(Long id); + + /** + * 查询模板列表 + * + * @param emsStrategyTemp 模板 + * @return 模板集合 + */ + public List selectEmsStrategyTempList(EmsStrategyTemp emsStrategyTemp); + + /** + * 新增模板 + * + * @param emsStrategyTemp 模板 + * @return 结果 + */ + public int insertEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp); + + /** + * 修改模板 + * + * @param emsStrategyTemp 模板 + * @return 结果 + */ + public int updateEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp); + + /** + * 删除模板 + * + * @param id 模板主键 + * @return 结果 + */ + public int deleteEmsStrategyTempById(Long id); + + /** + * 批量删除模板 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEmsStrategyTempByIds(Long[] ids); + + public List getTempNameList(@Param("strategyId")Long strategyId, @Param("siteId")String siteId); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java new file mode 100644 index 0000000..2662826 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java @@ -0,0 +1,61 @@ +package com.xzzn.ems.mapper; + +import java.util.List; +import com.xzzn.ems.domain.EmsStrategyTimeConfig; + +/** + * 时间配置Mapper接口 + * + * @author xzzn + * @date 2025-07-11 + */ +public interface EmsStrategyTimeConfigMapper +{ + /** + * 查询时间配置 + * + * @param id 时间配置主键 + * @return 时间配置 + */ + public EmsStrategyTimeConfig selectEmsStrategyTimeConfigById(Long id); + + /** + * 查询时间配置列表 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 时间配置集合 + */ + public List selectEmsStrategyTimeConfigList(EmsStrategyTimeConfig emsStrategyTimeConfig); + + /** + * 新增时间配置 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 结果 + */ + public int insertEmsStrategyTimeConfig(EmsStrategyTimeConfig emsStrategyTimeConfig); + + /** + * 修改时间配置 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 结果 + */ + public int updateEmsStrategyTimeConfig(EmsStrategyTimeConfig emsStrategyTimeConfig); + + /** + * 删除时间配置 + * + * @param id 时间配置主键 + * @return 结果 + */ + public int deleteEmsStrategyTimeConfigById(Long id); + + /** + * 批量删除时间配置 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEmsStrategyTimeConfigByIds(Long[] ids); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyCurveService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyCurveService.java new file mode 100644 index 0000000..74e883a --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyCurveService.java @@ -0,0 +1,61 @@ +package com.xzzn.ems.service; + +import java.util.List; +import com.xzzn.ems.domain.EmsStrategyCurve; + +/** + * 策曲线Service接口 + * + * @author xzzn + * @date 2025-07-11 + */ +public interface IEmsStrategyCurveService +{ + /** + * 查询策曲线 + * + * @param id 策曲线主键 + * @return 策曲线 + */ + public EmsStrategyCurve selectEmsStrategyCurveById(Long id); + + /** + * 查询策曲线列表 + * + * @param emsStrategyCurve 策曲线 + * @return 策曲线集合 + */ + public List selectEmsStrategyCurveList(EmsStrategyCurve emsStrategyCurve); + + /** + * 新增策曲线 + * + * @param emsStrategyCurve 策曲线 + * @return 结果 + */ + public int insertEmsStrategyCurve(EmsStrategyCurve emsStrategyCurve); + + /** + * 修改策曲线 + * + * @param emsStrategyCurve 策曲线 + * @return 结果 + */ + public int updateEmsStrategyCurve(EmsStrategyCurve emsStrategyCurve); + + /** + * 批量删除策曲线 + * + * @param ids 需要删除的策曲线主键集合 + * @return 结果 + */ + public int deleteEmsStrategyCurveByIds(Long[] ids); + + /** + * 删除策曲线信息 + * + * @param id 策曲线主键 + * @return 结果 + */ + public int deleteEmsStrategyCurveById(Long id); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java new file mode 100644 index 0000000..21e2fd7 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java @@ -0,0 +1,63 @@ +package com.xzzn.ems.service; + +import java.util.List; +import com.xzzn.ems.domain.EmsStrategyTemp; + +/** + * 模板Service接口 + * + * @author xzzn + * @date 2025-07-11 + */ +public interface IEmsStrategyTempService +{ + /** + * 查询模板 + * + * @param id 模板主键 + * @return 模板 + */ + public EmsStrategyTemp selectEmsStrategyTempById(Long id); + + /** + * 查询模板列表 + * + * @param emsStrategyTemp 模板 + * @return 模板集合 + */ + public List selectEmsStrategyTempList(EmsStrategyTemp emsStrategyTemp); + + /** + * 新增模板 + * + * @param emsStrategyTemp 模板 + * @return 结果 + */ + public int insertEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp); + + /** + * 修改模板 + * + * @param emsStrategyTemp 模板 + * @return 结果 + */ + public int updateEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp); + + /** + * 批量删除模板 + * + * @param ids 需要删除的模板主键集合 + * @return 结果 + */ + public int deleteEmsStrategyTempByIds(Long[] ids); + + /** + * 删除模板信息 + * + * @param id 模板主键 + * @return 结果 + */ + public int deleteEmsStrategyTempById(Long id); + + public List getTempNameList(Long strategyId, String siteId); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTimeConfigService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTimeConfigService.java new file mode 100644 index 0000000..dd658d6 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTimeConfigService.java @@ -0,0 +1,61 @@ +package com.xzzn.ems.service; + +import java.util.List; +import com.xzzn.ems.domain.EmsStrategyTimeConfig; + +/** + * 时间配置Service接口 + * + * @author xzzn + * @date 2025-07-11 + */ +public interface IEmsStrategyTimeConfigService +{ + /** + * 查询时间配置 + * + * @param id 时间配置主键 + * @return 时间配置 + */ + public EmsStrategyTimeConfig selectEmsStrategyTimeConfigById(Long id); + + /** + * 查询时间配置列表 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 时间配置集合 + */ + public List selectEmsStrategyTimeConfigList(EmsStrategyTimeConfig emsStrategyTimeConfig); + + /** + * 新增时间配置 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 结果 + */ + public int insertEmsStrategyTimeConfig(EmsStrategyTimeConfig emsStrategyTimeConfig); + + /** + * 修改时间配置 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 结果 + */ + public int updateEmsStrategyTimeConfig(EmsStrategyTimeConfig emsStrategyTimeConfig); + + /** + * 批量删除时间配置 + * + * @param ids 需要删除的时间配置主键集合 + * @return 结果 + */ + public int deleteEmsStrategyTimeConfigByIds(Long[] ids); + + /** + * 删除时间配置信息 + * + * @param id 时间配置主键 + * @return 结果 + */ + public int deleteEmsStrategyTimeConfigById(Long id); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyCurveServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyCurveServiceImpl.java new file mode 100644 index 0000000..62a0bb2 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyCurveServiceImpl.java @@ -0,0 +1,96 @@ +package com.xzzn.ems.service.impl; + +import java.util.List; +import com.xzzn.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.xzzn.ems.mapper.EmsStrategyCurveMapper; +import com.xzzn.ems.domain.EmsStrategyCurve; +import com.xzzn.ems.service.IEmsStrategyCurveService; + +/** + * 策曲线Service业务层处理 + * + * @author xzzn + * @date 2025-07-11 + */ +@Service +public class EmsStrategyCurveServiceImpl implements IEmsStrategyCurveService +{ + @Autowired + private EmsStrategyCurveMapper emsStrategyCurveMapper; + + /** + * 查询策曲线 + * + * @param id 策曲线主键 + * @return 策曲线 + */ + @Override + public EmsStrategyCurve selectEmsStrategyCurveById(Long id) + { + return emsStrategyCurveMapper.selectEmsStrategyCurveById(id); + } + + /** + * 查询策曲线列表 + * + * @param emsStrategyCurve 策曲线 + * @return 策曲线 + */ + @Override + public List selectEmsStrategyCurveList(EmsStrategyCurve emsStrategyCurve) + { + return emsStrategyCurveMapper.selectEmsStrategyCurveList(emsStrategyCurve); + } + + /** + * 新增策曲线 + * + * @param emsStrategyCurve 策曲线 + * @return 结果 + */ + @Override + public int insertEmsStrategyCurve(EmsStrategyCurve emsStrategyCurve) + { + emsStrategyCurve.setCreateTime(DateUtils.getNowDate()); + return emsStrategyCurveMapper.insertEmsStrategyCurve(emsStrategyCurve); + } + + /** + * 修改策曲线 + * + * @param emsStrategyCurve 策曲线 + * @return 结果 + */ + @Override + public int updateEmsStrategyCurve(EmsStrategyCurve emsStrategyCurve) + { + emsStrategyCurve.setUpdateTime(DateUtils.getNowDate()); + return emsStrategyCurveMapper.updateEmsStrategyCurve(emsStrategyCurve); + } + + /** + * 批量删除策曲线 + * + * @param ids 需要删除的策曲线主键 + * @return 结果 + */ + @Override + public int deleteEmsStrategyCurveByIds(Long[] ids) + { + return emsStrategyCurveMapper.deleteEmsStrategyCurveByIds(ids); + } + + /** + * 删除策曲线信息 + * + * @param id 策曲线主键 + * @return 结果 + */ + @Override + public int deleteEmsStrategyCurveById(Long id) + { + return emsStrategyCurveMapper.deleteEmsStrategyCurveById(id); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java new file mode 100644 index 0000000..8e426fe --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java @@ -0,0 +1,101 @@ +package com.xzzn.ems.service.impl; + +import java.util.List; +import com.xzzn.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.xzzn.ems.mapper.EmsStrategyTempMapper; +import com.xzzn.ems.domain.EmsStrategyTemp; +import com.xzzn.ems.service.IEmsStrategyTempService; + +/** + * 模板Service业务层处理 + * + * @author xzzn + * @date 2025-07-11 + */ +@Service +public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService +{ + @Autowired + private EmsStrategyTempMapper emsStrategyTempMapper; + + /** + * 查询模板 + * + * @param id 模板主键 + * @return 模板 + */ + @Override + public EmsStrategyTemp selectEmsStrategyTempById(Long id) + { + return emsStrategyTempMapper.selectEmsStrategyTempById(id); + } + + /** + * 查询模板列表 + * + * @param emsStrategyTemp 模板 + * @return 模板 + */ + @Override + public List selectEmsStrategyTempList(EmsStrategyTemp emsStrategyTemp) + { + return emsStrategyTempMapper.selectEmsStrategyTempList(emsStrategyTemp); + } + + /** + * 新增模板 + * + * @param emsStrategyTemp 模板 + * @return 结果 + */ + @Override + public int insertEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp) + { + emsStrategyTemp.setCreateTime(DateUtils.getNowDate()); + return emsStrategyTempMapper.insertEmsStrategyTemp(emsStrategyTemp); + } + + /** + * 修改模板 + * + * @param emsStrategyTemp 模板 + * @return 结果 + */ + @Override + public int updateEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp) + { + emsStrategyTemp.setUpdateTime(DateUtils.getNowDate()); + return emsStrategyTempMapper.updateEmsStrategyTemp(emsStrategyTemp); + } + + /** + * 批量删除模板 + * + * @param ids 需要删除的模板主键 + * @return 结果 + */ + @Override + public int deleteEmsStrategyTempByIds(Long[] ids) + { + return emsStrategyTempMapper.deleteEmsStrategyTempByIds(ids); + } + + /** + * 删除模板信息 + * + * @param id 模板主键 + * @return 结果 + */ + @Override + public int deleteEmsStrategyTempById(Long id) + { + return emsStrategyTempMapper.deleteEmsStrategyTempById(id); + } + + @Override + public List getTempNameList(Long strategyId, String siteId) { + return emsStrategyTempMapper.getTempNameList(strategyId, siteId); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTimeConfigServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTimeConfigServiceImpl.java new file mode 100644 index 0000000..fb35ed4 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTimeConfigServiceImpl.java @@ -0,0 +1,96 @@ +package com.xzzn.ems.service.impl; + +import java.util.List; +import com.xzzn.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.xzzn.ems.mapper.EmsStrategyTimeConfigMapper; +import com.xzzn.ems.domain.EmsStrategyTimeConfig; +import com.xzzn.ems.service.IEmsStrategyTimeConfigService; + +/** + * 时间配置Service业务层处理 + * + * @author xzzn + * @date 2025-07-11 + */ +@Service +public class EmsStrategyTimeConfigServiceImpl implements IEmsStrategyTimeConfigService +{ + @Autowired + private EmsStrategyTimeConfigMapper emsStrategyTimeConfigMapper; + + /** + * 查询时间配置 + * + * @param id 时间配置主键 + * @return 时间配置 + */ + @Override + public EmsStrategyTimeConfig selectEmsStrategyTimeConfigById(Long id) + { + return emsStrategyTimeConfigMapper.selectEmsStrategyTimeConfigById(id); + } + + /** + * 查询时间配置列表 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 时间配置 + */ + @Override + public List selectEmsStrategyTimeConfigList(EmsStrategyTimeConfig emsStrategyTimeConfig) + { + return emsStrategyTimeConfigMapper.selectEmsStrategyTimeConfigList(emsStrategyTimeConfig); + } + + /** + * 新增时间配置 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 结果 + */ + @Override + public int insertEmsStrategyTimeConfig(EmsStrategyTimeConfig emsStrategyTimeConfig) + { + emsStrategyTimeConfig.setCreateTime(DateUtils.getNowDate()); + return emsStrategyTimeConfigMapper.insertEmsStrategyTimeConfig(emsStrategyTimeConfig); + } + + /** + * 修改时间配置 + * + * @param emsStrategyTimeConfig 时间配置 + * @return 结果 + */ + @Override + public int updateEmsStrategyTimeConfig(EmsStrategyTimeConfig emsStrategyTimeConfig) + { + emsStrategyTimeConfig.setUpdateTime(DateUtils.getNowDate()); + return emsStrategyTimeConfigMapper.updateEmsStrategyTimeConfig(emsStrategyTimeConfig); + } + + /** + * 批量删除时间配置 + * + * @param ids 需要删除的时间配置主键 + * @return 结果 + */ + @Override + public int deleteEmsStrategyTimeConfigByIds(Long[] ids) + { + return emsStrategyTimeConfigMapper.deleteEmsStrategyTimeConfigByIds(ids); + } + + /** + * 删除时间配置信息 + * + * @param id 时间配置主键 + * @return 结果 + */ + @Override + public int deleteEmsStrategyTimeConfigById(Long id) + { + return emsStrategyTimeConfigMapper.deleteEmsStrategyTimeConfigById(id); + } +} diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyCurveMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyCurveMapper.xml new file mode 100644 index 0000000..21666b5 --- /dev/null +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyCurveMapper.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + select id, strategy_id, task_number, start_date, end_date, power_data, create_by, create_time, update_by, update_time, remark, site_id from ems_strategy_curve + + + + + + + + insert into ems_strategy_curve + + strategy_id, + task_number, + start_date, + end_date, + power_data, + create_by, + create_time, + update_by, + update_time, + remark, + site_id, + + + #{strategyId}, + #{taskNumber}, + #{startDate}, + #{endDate}, + #{powerData}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{siteId}, + + + + + update ems_strategy_curve + + strategy_id = #{strategyId}, + task_number = #{taskNumber}, + start_date = #{startDate}, + end_date = #{endDate}, + power_data = #{powerData}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + site_id = #{siteId}, + + where id = #{id} + + + + delete from ems_strategy_curve where id = #{id} + + + + delete from ems_strategy_curve where id in + + #{id} + + + \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml new file mode 100644 index 0000000..886c4a0 --- /dev/null +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, strategy_id, template_name, sdc_limit, sdc_down, sdc_up, start_time, end_time, charge_discharge_power, charge_status, create_by, create_time, update_by, update_time, remark, site_id from ems_strategy_temp + + + + + + + + insert into ems_strategy_temp + + strategy_id, + template_name, + sdc_limit, + sdc_down, + sdc_up, + start_time, + end_time, + charge_discharge_power, + charge_status, + create_by, + create_time, + update_by, + update_time, + remark, + site_id, + + + #{strategyId}, + #{templateName}, + #{sdcLimit}, + #{sdcDown}, + #{sdcUp}, + #{startTime}, + #{endTime}, + #{chargeDischargePower}, + #{chargeStatus}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{siteId}, + + + + + update ems_strategy_temp + + strategy_id = #{strategyId}, + template_name = #{templateName}, + sdc_limit = #{sdcLimit}, + sdc_down = #{sdcDown}, + sdc_up = #{sdcUp}, + start_time = #{startTime}, + end_time = #{endTime}, + charge_discharge_power = #{chargeDischargePower}, + charge_status = #{chargeStatus}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + site_id = #{siteId}, + + where id = #{id} + + + + delete from ems_strategy_temp where id = #{id} + + + + delete from ems_strategy_temp where id in + + #{id} + + + + + \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml new file mode 100644 index 0000000..6408e38 --- /dev/null +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + select id, strategy_id, month, charge_discharge_mode, create_by, create_time, update_by, update_time, remark, site_id from ems_strategy_time_config + + + + + + + + insert into ems_strategy_time_config + + strategy_id, + month, + charge_discharge_mode, + create_by, + create_time, + update_by, + update_time, + remark, + site_id, + + + #{strategyId}, + #{month}, + #{chargeDischargeMode}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{siteId}, + + + + + update ems_strategy_time_config + + strategy_id = #{strategyId}, + month = #{month}, + charge_discharge_mode = #{chargeDischargeMode}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + site_id = #{siteId}, + + where id = #{id} + + + + delete from ems_strategy_time_config where id = #{id} + + + + delete from ems_strategy_time_config where id in + + #{id} + + + \ No newline at end of file From 7dc664446eafcad26f8b8573288bf75d9dbee1f3 Mon Sep 17 00:00:00 2001 From: mashili Date: Fri, 11 Jul 2025 20:58:55 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=97=E8=A1=A8-?= =?UTF-8?q?=E4=B8=8D=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/ems/EmsSiteConfigController.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java index 61bf378..b0559c8 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java @@ -42,7 +42,7 @@ public class EmsSiteConfigController extends BaseController{ } /** - * 获取设备列表 + * 获取设备列表-分页 */ @GetMapping("/getDeviceInfoList") public TableDataInfo getDeviceInfoList(@RequestParam String siteId) @@ -60,4 +60,13 @@ public class EmsSiteConfigController extends BaseController{ { return success(iEmsDeviceSettingService.getDeviceDetailInfo(deviceId)); } + + /** + * 获取设备列表-不分页 + */ + @GetMapping("/getDeviceList") + public AjaxResult getDeviceInfoList2(@RequestParam String siteId) + { + return success(iEmsSiteService.getAllDeviceList(siteId)); + } } From 118be05c8a7c6f2703276c1cddc9695d918dd04e Mon Sep 17 00:00:00 2001 From: mashili Date: Sat, 12 Jul 2025 14:48:35 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=97=E8=A1=A8-?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems/EmsSiteConfigController.java | 79 +++++++++++++++-- .../com/xzzn/common/enums/DeviceCategory.java | 3 +- .../xzzn/ems/domain/EmsDevicesSetting.java | 17 +++- .../xzzn/ems/domain/vo/SiteDeviceListVo.java | 20 +++++ .../ems/mapper/EmsDevicesSettingMapper.java | 9 +- .../ems/service/IEmsDeviceSettingService.java | 13 ++- .../impl/EmsDeviceSettingServiceImpl.java | 87 ++++++++++++++++++- .../service/impl/SingleSiteServiceImpl.java | 3 +- .../mapper/ems/EmsDevicesSettingMapper.xml | 10 ++- .../mapper/ems/EmsSiteSettingMapper.xml | 4 +- 10 files changed, 222 insertions(+), 23 deletions(-) diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java index b0559c8..099fff5 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java @@ -1,17 +1,19 @@ package com.xzzn.web.controller.ems; +import com.xzzn.common.config.RuoYiConfig; import com.xzzn.common.core.controller.BaseController; import com.xzzn.common.core.domain.AjaxResult; import com.xzzn.common.core.page.TableDataInfo; +import com.xzzn.common.utils.file.FileUploadUtils; +import com.xzzn.common.utils.file.MimeTypeUtils; +import com.xzzn.ems.domain.EmsDevicesSetting; import com.xzzn.ems.domain.EmsSiteSetting; import com.xzzn.ems.domain.vo.SiteDeviceListVo; import com.xzzn.ems.service.IEmsDeviceSettingService; import com.xzzn.ems.service.IEmsSiteService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -56,9 +58,9 @@ public class EmsSiteConfigController extends BaseController{ * 获取设备详细信息 */ @GetMapping("/getDeviceDetailInfo") - public AjaxResult getDeviceDetailInfo(@RequestParam String deviceId) + public AjaxResult getDeviceDetailInfo(@RequestParam Long id) { - return success(iEmsDeviceSettingService.getDeviceDetailInfo(deviceId)); + return success(iEmsDeviceSettingService.getDeviceDetailInfo(id)); } /** @@ -69,4 +71,69 @@ public class EmsSiteConfigController extends BaseController{ { return success(iEmsSiteService.getAllDeviceList(siteId)); } + + /** + * 获取所有设备类别 + */ + @GetMapping("/getDeviceCategory") + public AjaxResult getDeviceCategory() + { + return success(iEmsDeviceSettingService.getDeviceCategory()); + } + + /** + * 新增设备 + */ + @PostMapping("/addDevice") + public AjaxResult addDevice(@RequestBody EmsDevicesSetting devicesSetting) + { + int result = iEmsDeviceSettingService.addDevice(devicesSetting); + if (result > 0) { + return AjaxResult.success(result); + } else { + return AjaxResult.error("该设备已存在"); + } + } + + /** + * 上传设备图片 + */ + @PostMapping("/uploadDeviceImg") + public AjaxResult uploadDeviceImg(@RequestParam("avatarfile") MultipartFile file) throws Exception + { + if (!file.isEmpty()) { + String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION); + + AjaxResult ajax = AjaxResult.success(); + ajax.put("imgUrl", avatar); + return ajax; + } + return error("上传图片异常,请联系管理员"); + } + + /** + * 修改Modbus设备配置 + */ + @PostMapping("/updateDevice") + public AjaxResult updateDevice(@RequestBody EmsDevicesSetting emsDevicesSetting) + { + int result = iEmsDeviceSettingService.updateDevice(emsDevicesSetting); + if (result > 0) { + return AjaxResult.success(result); + } else if (result == -1) { + return AjaxResult.error("数据不存在"); + } else if (result == -2) { + return AjaxResult.error("该设备已存在"); + } + return AjaxResult.success(result); + } + + /** + * 删除Modbus设备配置 + */ + @DeleteMapping("/deleteService/{id}") + public AjaxResult deleteService(@PathVariable Long id) + { + return toAjax(iEmsDeviceSettingService.deleteEmsDevicesSettingById(id)); + } } diff --git a/ems-common/src/main/java/com/xzzn/common/enums/DeviceCategory.java b/ems-common/src/main/java/com/xzzn/common/enums/DeviceCategory.java index aefa25a..3b48820 100644 --- a/ems-common/src/main/java/com/xzzn/common/enums/DeviceCategory.java +++ b/ems-common/src/main/java/com/xzzn/common/enums/DeviceCategory.java @@ -12,7 +12,8 @@ public enum DeviceCategory STACK("STACK", "电池堆"), CLUSTER("CLUSTER", "电池簇"), BATTERY("BATTERY", "单体电池"), - AMMETER("AMMETER", "电表"); + AMMETER("AMMETER", "电表"), + COOLING("COOLING", "冷液体"); private final String code; private final String info; diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java index 0f174ca..694d0e8 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsDevicesSetting.java @@ -11,7 +11,7 @@ import com.xzzn.common.annotation.Excel; * Modbus设备配置对象 ems_devices_setting * * @author xzzn - * @date 2025-07-02 + * @date 2025-07-12 */ public class EmsDevicesSetting extends BaseEntity { @@ -102,6 +102,10 @@ public class EmsDevicesSetting extends BaseEntity @Excel(name = "设备类别,例如“STACK/CLUSTER/PCS等”") private String deviceCategory; + /** 设备图像地址 */ + @Excel(name = "设备图像地址") + private String pictureUrl; + public void setId(Long id) { this.id = id; @@ -312,6 +316,16 @@ public class EmsDevicesSetting extends BaseEntity return deviceCategory; } + public void setPictureUrl(String pictureUrl) + { + this.pictureUrl = pictureUrl; + } + + public String getPictureUrl() + { + return pictureUrl; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -336,6 +350,7 @@ public class EmsDevicesSetting extends BaseEntity .append("deviceId", getDeviceId()) .append("parentId", getParentId()) .append("deviceCategory", getDeviceCategory()) + .append("pictureUrl", getPictureUrl()) .toString(); } } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteDeviceListVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteDeviceListVo.java index 13e95b0..387b64c 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteDeviceListVo.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/SiteDeviceListVo.java @@ -19,6 +19,10 @@ public class SiteDeviceListVo { private String communicationStatus; /** 设备类型 */ private String deviceCategory; + /** 设备类型 */ + private String pictureUrl; + /** 唯一标识 */ + private String id; public String getSiteId() { return siteId; @@ -75,4 +79,20 @@ public class SiteDeviceListVo { public void setDeviceCategory(String deviceCategory) { this.deviceCategory = deviceCategory; } + + public String getPictureUrl() { + return pictureUrl; + } + + public void setPictureUrl(String pictureUrl) { + this.pictureUrl = pictureUrl; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } } diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDevicesSettingMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDevicesSettingMapper.java index 6e0ef1f..66f78af 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDevicesSettingMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDevicesSettingMapper.java @@ -76,17 +76,12 @@ public interface EmsDevicesSettingMapper */ public List> getDeviceInfosBySiteIdAndCategory(@Param("siteId")String siteId, @Param("deviceCategory")String deviceCategory); - /** - * 获取该设备的详细数据 - * @param deviceId - * @return - */ - public EmsDevicesSetting getDeviceDetailInfo(String deviceId); - /** * 获取该设备下的总表 * @param siteId * @return */ public List> getLoadNameList(String siteId); + + public EmsDevicesSetting getDeviceBySiteAndDeviceId(@Param("deviceId")String deviceId, @Param("siteId")String siteId); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsDeviceSettingService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsDeviceSettingService.java index 970d040..3340e50 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsDeviceSettingService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsDeviceSettingService.java @@ -1,7 +1,10 @@ package com.xzzn.ems.service; +import com.xzzn.common.enums.DeviceCategory; import com.xzzn.ems.domain.EmsDevicesSetting; +import java.util.List; + /** * 设备信息 服务层 * @@ -9,5 +12,13 @@ import com.xzzn.ems.domain.EmsDevicesSetting; public interface IEmsDeviceSettingService { - public EmsDevicesSetting getDeviceDetailInfo(String deviceId); + public EmsDevicesSetting getDeviceDetailInfo(Long deviceId); + + public int addDevice(EmsDevicesSetting devicesSetting); + + public int updateDevice(EmsDevicesSetting emsDevicesSetting); + + public int deleteEmsDevicesSettingById(Long id); + + public List getDeviceCategory(); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java index b8485a1..1837a49 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsDeviceSettingServiceImpl.java @@ -1,11 +1,17 @@ package com.xzzn.ems.service.impl; +import com.xzzn.common.enums.DeviceCategory; +import com.xzzn.common.utils.DateUtils; +import com.xzzn.common.utils.StringUtils; import com.xzzn.ems.domain.EmsDevicesSetting; import com.xzzn.ems.mapper.EmsDevicesSettingMapper; import com.xzzn.ems.service.IEmsDeviceSettingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; +import java.util.List; + /** * 站点信息 服务层实现 * @@ -18,11 +24,86 @@ public class EmsDeviceSettingServiceImpl implements IEmsDeviceSettingService /** * 获取设备详细信息 - * @param deviceId + * @param id * @return */ @Override - public EmsDevicesSetting getDeviceDetailInfo(String deviceId) { - return emsDevicesMapper.getDeviceDetailInfo(deviceId); + public EmsDevicesSetting getDeviceDetailInfo(Long id) { + return emsDevicesMapper.selectEmsDevicesSettingById(id); + } + + /** + * 新增设备 + * @param devicesSetting + * @return + */ + @Override + public int addDevice(EmsDevicesSetting devicesSetting) { + boolean flag = checkDeviceExist(devicesSetting); + if (flag) { + return -1; + } + devicesSetting.setCreateTime(DateUtils.getNowDate()); + return emsDevicesMapper.insertEmsDevicesSetting(devicesSetting); + } + + /** + * 更新设备 + * @param devicesSetting + * @return + */ + @Override + public int updateDevice(EmsDevicesSetting devicesSetting) { + boolean checkExist = false; + if (devicesSetting.getId() != null) { + // 根据id判断该数据是否存在 + EmsDevicesSetting existDevice = emsDevicesMapper.selectEmsDevicesSettingById(devicesSetting.getId()); + if (existDevice == null) { + return -1; + } + // 存在判断是否修改deviceId和siteId + String deviceId = existDevice.getDeviceId(); + String siteId = existDevice.getSiteId(); + if (!deviceId.equals(devicesSetting.getDeviceId()) + || !siteId.equals(devicesSetting.getSiteId())) { + checkExist = checkDeviceExist(devicesSetting); + } + } + // 已修改校验修改后数据是否存在 + if (checkExist) { + return -2; + } + devicesSetting.setUpdateTime(DateUtils.getNowDate()); + return emsDevicesMapper.updateEmsDevicesSetting(devicesSetting); + } + + private boolean checkDeviceExist(EmsDevicesSetting devicesSetting) { + String deviceId = devicesSetting.getDeviceId(); + String siteId = devicesSetting.getSiteId(); + if (!StringUtils.isEmpty(deviceId) && !StringUtils.isEmpty(siteId)) { + EmsDevicesSetting emsDevicesSetting = emsDevicesMapper.getDeviceBySiteAndDeviceId(deviceId, siteId); + if (emsDevicesSetting != null) { + return true; + } + } + return false; + } + + /** + * 删除设备配置信息 + * + * @param id Modbus设备配置主键 + * @return 结果 + */ + @Override + public int deleteEmsDevicesSettingById(Long id){ + + return emsDevicesMapper.deleteEmsDevicesSettingById(id); + } + + @Override + public List getDeviceCategory() { + List deviceList = Arrays.asList(DeviceCategory.values()); + return deviceList; } } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index a456966..a67127e 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -402,7 +402,8 @@ public class SingleSiteServiceImpl implements ISingleSiteService { } else if (AMMETER_DEVICE_METE.equals(ammeterId)) { AmmeterMeteDataVo ammeterMeteDataVo = new AmmeterMeteDataVo(); ammeterMeteDataVo.setDeviceName(ammeterDevice.get("deviceName").toString()); - ammeterMeteDataVo.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus").toString()); + ammeterMeteDataVo.setEmsCommunicationStatus(ammeterDevice.get("communicationStatus") == null? "" : + ammeterDevice.get("communicationStatus").toString()); // 处理储能表数据 dealAmmeterMeteData(ammeterData,ammeterMeteDataVo); ammeterResponse.setAmmeterMeteDataVoList(ammeterMeteDataVo); diff --git a/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml index 679568b..df9a946 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsDevicesSettingMapper.xml @@ -26,10 +26,11 @@ + - select id, device_name, device_type, slave_id, timeout_ms, retries, ip_address, ip_port, serial_port, baud_rate, data_bits, stop_bits, parity, description, created_at, updated_at, site_id, communication_status, device_id, parent_id, device_category from ems_devices_setting + select id, device_name, device_type, slave_id, timeout_ms, retries, ip_address, ip_port, serial_port, baud_rate, data_bits, stop_bits, parity, description, created_at, updated_at, site_id, communication_status, device_id, parent_id, device_category, picture_url from ems_devices_setting @@ -86,6 +88,7 @@ device_id, parent_id, device_category, + picture_url, #{deviceName}, @@ -108,6 +111,7 @@ #{deviceId}, #{parentId}, #{deviceCategory}, + #{pictureUrl}, @@ -134,6 +138,7 @@ device_id = #{deviceId}, parent_id = #{parentId}, device_category = #{deviceCategory}, + picture_url = #{pictureUrl}, where id = #{id} @@ -180,9 +185,10 @@ from ems_devices_setting where site_id = #{siteId} and device_category = #{deviceCategory} - where device_id = #{deviceId} + AND site_id = #{siteId} limit 1 diff --git a/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml index 4968384..9b83f92 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsSiteSettingMapper.xml @@ -137,7 +137,9 @@ select es.site_id as siteId,es.site_name as siteName, ed.device_id as deviceId,ed.device_name as deviceName, ed.device_type as deviceType,ed.communication_status as communicationStatus, - ed.device_category as deviceCategory + ed.device_category as deviceCategory, + ed.picture_url as pictureUrl, + ed.id from ems_site_setting es INNER JOIN ems_devices_setting ed on es.site_id = ed.site_id where 1=1 From eafb0ec2c63a0960513802ee2fa71c443d1aabfd Mon Sep 17 00:00:00 2001 From: mashili Date: Sat, 12 Jul 2025 14:54:18 +0800 Subject: [PATCH 06/17] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=97=E8=A1=A8-?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E8=AE=BE=E5=A4=87=E5=9B=BE=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xzzn/web/controller/ems/EmsSiteConfigController.java | 2 +- .../src/main/java/com/xzzn/common/config/RuoYiConfig.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java index 099fff5..50d2276 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteConfigController.java @@ -102,7 +102,7 @@ public class EmsSiteConfigController extends BaseController{ public AjaxResult uploadDeviceImg(@RequestParam("avatarfile") MultipartFile file) throws Exception { if (!file.isEmpty()) { - String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION); + String avatar = FileUploadUtils.upload(RuoYiConfig.getDevicePath(), file, MimeTypeUtils.IMAGE_EXTENSION); AjaxResult ajax = AjaxResult.success(); ajax.put("imgUrl", avatar); diff --git a/ems-common/src/main/java/com/xzzn/common/config/RuoYiConfig.java b/ems-common/src/main/java/com/xzzn/common/config/RuoYiConfig.java index 39db47a..d56e411 100644 --- a/ems-common/src/main/java/com/xzzn/common/config/RuoYiConfig.java +++ b/ems-common/src/main/java/com/xzzn/common/config/RuoYiConfig.java @@ -119,4 +119,12 @@ public class RuoYiConfig { return getProfile() + "/upload"; } + + /** + * 获取头像上传路径 + */ + public static String getDevicePath() + { + return getProfile() + "/device"; + } } From aa751464b49ceb5cf7c027540c03d5e6f889aa0c Mon Sep 17 00:00:00 2001 From: mashili Date: Sat, 12 Jul 2025 18:51:23 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E7=AD=96=E7=95=A5=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=BF=AE=E6=94=B9&=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ems/EmsStrategyController.java | 11 +- .../ems/EmsStrategyTempController.java | 51 +++--- .../com/xzzn/common/enums/SdcLimitType.java | 30 ++++ ems-system/pom.xml | 4 + .../com/xzzn/ems/domain/EmsStrategyTemp.java | 76 +-------- .../ems/domain/EmsStrategyTempTimeConfig.java | 122 ++++++++++++++ .../ems/domain/EmsStrategyTimeConfig.java | 19 ++- .../domain/vo/StrategyTempConfigRequest.java | 107 ++++++++++++ .../domain/vo/StrategyTempTimeConfigVo.java | 152 ++++++++++++++++++ .../ems/mapper/EmsStrategyRunningMapper.java | 2 +- .../ems/mapper/EmsStrategyTempMapper.java | 8 +- .../EmsStrategyTempTimeConfigMapper.java | 67 ++++++++ .../ems/service/IEmsStrategyTempService.java | 33 ++-- .../service/impl/EmsStrategyServiceImpl.java | 2 +- .../impl/EmsStrategyTempServiceImpl.java | 88 ++++++---- .../mapper/ems/EmsStrategyRunningMapper.xml | 2 +- .../mapper/ems/EmsStrategyTempMapper.xml | 30 +--- .../ems/EmsStrategyTempTimeConfigMapper.xml | 105 ++++++++++++ .../ems/EmsStrategyTimeConfigMapper.xml | 8 +- 19 files changed, 733 insertions(+), 184 deletions(-) create mode 100644 ems-common/src/main/java/com/xzzn/common/enums/SdcLimitType.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempTimeConfigVo.java create mode 100644 ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java create mode 100644 ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyController.java index 5f82dda..e534224 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyController.java @@ -1,5 +1,6 @@ package com.xzzn.web.controller.ems; +import com.xzzn.common.utils.StringUtils; import com.xzzn.ems.domain.EmsStrategyRunning; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -60,8 +61,16 @@ public class EmsStrategyController extends BaseController @PostMapping(value = "/configStrategy") public AjaxResult configStrategy(@RequestBody EmsStrategyRunning emsStrategyRunning) { + if (emsStrategyRunning.getMainStrategyId() == null + || StringUtils.isEmpty(emsStrategyRunning.getSiteId())){ + return error("缺少必填字段"); + } emsStrategyRunning.setCreateBy(getUsername()); emsStrategyRunning.setUpdateBy(getUsername()); - return toAjax(emsStrategyService.configStrategy(emsStrategyRunning)); + int result = emsStrategyService.configStrategy(emsStrategyRunning); + if (result == -1){ + return error("站点该策略配置运行中"); + } + return success(result); } } diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java index 647c943..548a971 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java @@ -2,6 +2,8 @@ package com.xzzn.web.controller.ems; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -34,47 +36,24 @@ public class EmsStrategyTempController extends BaseController private IEmsStrategyTempService emsStrategyTempService; /** - * 查询模板列表 + * 获取单个模板时间配置详细信息 */ @PreAuthorize("@ss.hasPermi('system:temp:list')") @GetMapping("/list") - public AjaxResult list(EmsStrategyTemp emsStrategyTemp) + public AjaxResult list(Long templateId) { - return success(emsStrategyTempService.selectEmsStrategyTempList(emsStrategyTemp)); + return success(emsStrategyTempService.selectEmsStrategyTempList(templateId)); } /** - * 导出模板列表 - */ - @PreAuthorize("@ss.hasPermi('system:temp:export')") - @Log(title = "模板", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, EmsStrategyTemp emsStrategyTemp) - { - List list = emsStrategyTempService.selectEmsStrategyTempList(emsStrategyTemp); - ExcelUtil util = new ExcelUtil(EmsStrategyTemp.class); - util.exportExcel(response, list, "模板数据"); - } - - /** - * 获取模板详细信息 - */ - @PreAuthorize("@ss.hasPermi('system:temp:query')") - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return success(emsStrategyTempService.selectEmsStrategyTempById(id)); - } - - /** - * 新增模板 + * 新增模板及时间配置 */ @PreAuthorize("@ss.hasPermi('system:temp:add')") @Log(title = "模板", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody EmsStrategyTemp emsStrategyTemp) + public AjaxResult add(@RequestBody StrategyTempConfigRequest requestVo) { - return toAjax(emsStrategyTempService.insertEmsStrategyTemp(emsStrategyTemp)); + return success(emsStrategyTempService.addNewTempAndTimeConfig(requestVo)); } /** @@ -85,7 +64,12 @@ public class EmsStrategyTempController extends BaseController @PutMapping public AjaxResult edit(@RequestBody EmsStrategyTemp emsStrategyTemp) { - return toAjax(emsStrategyTempService.updateEmsStrategyTemp(emsStrategyTemp)); + int result = emsStrategyTempService.updateEmsStrategyTemp(emsStrategyTemp); + if (result > 0) { + return success(result); + } else { + return AjaxResult.error("新增失败请重试!"); + } } /** @@ -93,10 +77,11 @@ public class EmsStrategyTempController extends BaseController */ @PreAuthorize("@ss.hasPermi('system:temp:remove')") @Log(title = "模板", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) + @DeleteMapping("/{id}") + public AjaxResult remove(@PathVariable Long id) { - return toAjax(emsStrategyTempService.deleteEmsStrategyTempByIds(ids)); + emsStrategyTempService.deleteStrategyTempById(id); + return success(); } /** diff --git a/ems-common/src/main/java/com/xzzn/common/enums/SdcLimitType.java b/ems-common/src/main/java/com/xzzn/common/enums/SdcLimitType.java new file mode 100644 index 0000000..d7a60f6 --- /dev/null +++ b/ems-common/src/main/java/com/xzzn/common/enums/SdcLimitType.java @@ -0,0 +1,30 @@ +package com.xzzn.common.enums; + +/** + * strategy模板-sdc限制 + * + * @author xzzn + */ +public enum SdcLimitType +{ + OFF("0", "关"), ON("1", "开"); + + private final String code; + private final String info; + + SdcLimitType(String code, String info) + { + this.code = code; + this.info = info; + } + + public String getCode() + { + return code; + } + + public String getInfo() + { + return info; + } +} diff --git a/ems-system/pom.xml b/ems-system/pom.xml index 458ffa1..7f2b1e1 100644 --- a/ems-system/pom.xml +++ b/ems-system/pom.xml @@ -22,6 +22,10 @@ com.xzzn ems-common + + org.glassfish.jaxb + jaxb-runtime + diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java index 20d8064..3a68e7f 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java @@ -1,9 +1,7 @@ package com.xzzn.ems.domain; import java.math.BigDecimal; -import java.time.LocalTime; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; + import com.xzzn.common.core.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -13,13 +11,13 @@ import com.xzzn.common.annotation.Excel; * 模板对象 ems_strategy_temp * * @author xzzn - * @date 2025-07-11 + * @date 2025-07-12 */ public class EmsStrategyTemp extends BaseEntity { private static final long serialVersionUID = 1L; - /** $column.columnComment */ + /** */ private Long id; /** 关联的策略ID */ @@ -30,9 +28,9 @@ public class EmsStrategyTemp extends BaseEntity @Excel(name = "模板名称,如“模板一”") private String templateName; - /** SDC限制 (%) */ - @Excel(name = "SDC限制 (%)") - private BigDecimal sdcLimit; + /** SDC限制 (%) 1 = 开,0 = 关 */ + @Excel(name = "SDC限制 (%) 1 = 开,0 = 关") + private Integer sdcLimit; /** SDC下限 (%) */ @Excel(name = "SDC下限 (%)") @@ -42,24 +40,6 @@ public class EmsStrategyTemp extends BaseEntity @Excel(name = "SDC上限 (%)") private BigDecimal sdcUp; - /** 开始时间 */ - @JsonFormat(pattern = "HH:mm:ss") - @Excel(name = "开始时间", width = 30, dateFormat = "HH:mm:ss") - private LocalTime startTime; - - /** 结束时间 */ - @JsonFormat(pattern = "HH:mm:ss") - @Excel(name = "结束时间", width = 30, dateFormat = "HH:mm:ss") - private LocalTime endTime; - - /** 充放功率 (kW) */ - @Excel(name = "充放功率 (kW)") - private BigDecimal chargeDischargePower; - - /** 充电状态,如“1-充电”、“2-待机” */ - @Excel(name = "充电状态,如“1-充电”、“2-待机”") - private String chargeStatus; - /** 站点id */ @Excel(name = "站点id") private String siteId; @@ -94,12 +74,12 @@ public class EmsStrategyTemp extends BaseEntity return templateName; } - public void setSdcLimit(BigDecimal sdcLimit) + public void setSdcLimit(Integer sdcLimit) { this.sdcLimit = sdcLimit; } - public BigDecimal getSdcLimit() + public Integer getSdcLimit() { return sdcLimit; } @@ -124,42 +104,6 @@ public class EmsStrategyTemp extends BaseEntity return sdcUp; } - public LocalTime getStartTime() { - return startTime; - } - - public void setStartTime(LocalTime startTime) { - this.startTime = startTime; - } - - public LocalTime getEndTime() { - return endTime; - } - - public void setEndTime(LocalTime endTime) { - this.endTime = endTime; - } - - public void setChargeDischargePower(BigDecimal chargeDischargePower) - { - this.chargeDischargePower = chargeDischargePower; - } - - public BigDecimal getChargeDischargePower() - { - return chargeDischargePower; - } - - public void setChargeStatus(String chargeStatus) - { - this.chargeStatus = chargeStatus; - } - - public String getChargeStatus() - { - return chargeStatus; - } - public void setSiteId(String siteId) { this.siteId = siteId; @@ -179,10 +123,6 @@ public class EmsStrategyTemp extends BaseEntity .append("sdcLimit", getSdcLimit()) .append("sdcDown", getSdcDown()) .append("sdcUp", getSdcUp()) - .append("startTime", getStartTime()) - .append("endTime", getEndTime()) - .append("chargeDischargePower", getChargeDischargePower()) - .append("chargeStatus", getChargeStatus()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java new file mode 100644 index 0000000..3740ef7 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java @@ -0,0 +1,122 @@ +package com.xzzn.ems.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xzzn.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.xzzn.common.annotation.Excel; + +/** + * 模板配置对象 ems_strategy_temp_time_config + * + * @author xzzn + * @date 2025-07-12 + */ +public class EmsStrategyTempTimeConfig extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date startTime; + + /** 结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date endTime; + + /** 充放功率 (kW) */ + @Excel(name = "充放功率 (kW)") + private BigDecimal chargeDischargePower; + + /** 充电状态,如“1-充电”、“2-待机” */ + @Excel(name = "充电状态,如“1-充电”、“2-待机”") + private String chargeStatus; + + /** 模板id */ + @Excel(name = "模板id") + private Long templateId; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setStartTime(Date startTime) + { + this.startTime = startTime; + } + + public Date getStartTime() + { + return startTime; + } + + public void setEndTime(Date endTime) + { + this.endTime = endTime; + } + + public Date getEndTime() + { + return endTime; + } + + public void setChargeDischargePower(BigDecimal chargeDischargePower) + { + this.chargeDischargePower = chargeDischargePower; + } + + public BigDecimal getChargeDischargePower() + { + return chargeDischargePower; + } + + public void setChargeStatus(String chargeStatus) + { + this.chargeStatus = chargeStatus; + } + + public String getChargeStatus() + { + return chargeStatus; + } + + public void setTemplateId(Long templateId) + { + this.templateId = templateId; + } + + public Long getTemplateId() + { + return templateId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("startTime", getStartTime()) + .append("endTime", getEndTime()) + .append("chargeDischargePower", getChargeDischargePower()) + .append("chargeStatus", getChargeStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("templateId", getTemplateId()) + .toString(); + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java index 250f68f..17256d6 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java @@ -9,13 +9,13 @@ import com.xzzn.common.annotation.Excel; * 时间配置对象 ems_strategy_time_config * * @author xzzn - * @date 2025-07-11 + * @date 2025-07-12 */ public class EmsStrategyTimeConfig extends BaseEntity { private static final long serialVersionUID = 1L; - /** $column.columnComment */ + /** */ private Long id; /** 关联的策略ID */ @@ -34,6 +34,10 @@ public class EmsStrategyTimeConfig extends BaseEntity @Excel(name = "站点id") private String siteId; + /** 模板id */ + @Excel(name = "模板id") + private String templateId; + public void setId(Long id) { this.id = id; @@ -84,6 +88,16 @@ public class EmsStrategyTimeConfig extends BaseEntity return siteId; } + public void setTemplateId(String templateId) + { + this.templateId = templateId; + } + + public String getTemplateId() + { + return templateId; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -97,6 +111,7 @@ public class EmsStrategyTimeConfig extends BaseEntity .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("siteId", getSiteId()) + .append("templateId", getTemplateId()) .toString(); } } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java new file mode 100644 index 0000000..2c9ac93 --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java @@ -0,0 +1,107 @@ +package com.xzzn.ems.domain.vo; + +import com.xzzn.ems.domain.EmsStrategyTempTimeConfig; + +import java.math.BigDecimal; +import java.util.List; + +/** + * 新增模板+模板时间数据 + * + * @author xzzn + * @date 2025-07-12 + */ +public class StrategyTempConfigRequest +{ + + /** 模板id */ + private Long id; + /** 站点id */ + private String siteId; + + /** 关联的策略ID */ + private Long strategyId; + + /** 模板名称,如“模板一” */ + private String templateName; + + /** SDC限制 (%) 1 = 开,0 = 关 */ + private Integer sdcLimit; + + /** SDC下限 (%) */ + private BigDecimal sdcDown; + + /** SDC上限 (%) */ + private BigDecimal sdcUp; + + /** 模板时间 */ + private List timeConfigList; + + public void setStrategyId(Long strategyId) + { + this.strategyId = strategyId; + } + + public Long getStrategyId() + { + return strategyId; + } + + public void setTemplateName(String templateName) + { + this.templateName = templateName; + } + + public String getTemplateName() + { + return templateName; + } + + public void setSdcLimit(Integer sdcLimit) + { + this.sdcLimit = sdcLimit; + } + + public Integer getSdcLimit() + { + return sdcLimit; + } + + public void setSdcDown(BigDecimal sdcDown) + { + this.sdcDown = sdcDown; + } + + public BigDecimal getSdcDown() + { + return sdcDown; + } + + public void setSdcUp(BigDecimal sdcUp) + { + this.sdcUp = sdcUp; + } + + public BigDecimal getSdcUp() + { + return sdcUp; + } + + public void setSiteId(String siteId) + { + this.siteId = siteId; + } + + public String getSiteId() + { + return siteId; + } + + public List getTimeConfigList() { + return timeConfigList; + } + + public void setTimeConfigList(List timeConfigList) { + this.timeConfigList = timeConfigList; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempTimeConfigVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempTimeConfigVo.java new file mode 100644 index 0000000..b631cff --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempTimeConfigVo.java @@ -0,0 +1,152 @@ +package com.xzzn.ems.domain.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 模板+模板时间数据 + * + * @author xzzn + * @date 2025-07-12 + */ +public class StrategyTempTimeConfigVo +{ + /** 模版id */ + private Long id; + + /** 关联的策略ID */ + private Long strategyId; + + /** 模板名称,如“模板一” */ + private String templateName; + + /** SDC限制 (%) 1 = 开,0 = 关 */ + private Integer sdcLimit; + + /** SDC下限 (%) */ + private BigDecimal sdcDown; + + /** SDC上限 (%) */ + private BigDecimal sdcUp; + + /** 站点id */ + private String siteId; + + /** 开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date startTime; + + /** 结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date endTime; + + /** 充放功率 (kW) */ + private BigDecimal chargeDischargePower; + + /** 充电状态,如“1-充电”、“2-待机” */ + private String chargeStatus; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setStrategyId(Long strategyId) + { + this.strategyId = strategyId; + } + + public Long getStrategyId() + { + return strategyId; + } + + public void setTemplateName(String templateName) + { + this.templateName = templateName; + } + + public String getTemplateName() + { + return templateName; + } + + public void setSdcLimit(Integer sdcLimit) + { + this.sdcLimit = sdcLimit; + } + + public Integer getSdcLimit() + { + return sdcLimit; + } + + public void setSdcDown(BigDecimal sdcDown) + { + this.sdcDown = sdcDown; + } + + public BigDecimal getSdcDown() + { + return sdcDown; + } + + public void setSdcUp(BigDecimal sdcUp) + { + this.sdcUp = sdcUp; + } + + public BigDecimal getSdcUp() + { + return sdcUp; + } + + public void setSiteId(String siteId) + { + this.siteId = siteId; + } + + public String getSiteId() + { + return siteId; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public BigDecimal getChargeDischargePower() { + return chargeDischargePower; + } + + public void setChargeDischargePower(BigDecimal chargeDischargePower) { + this.chargeDischargePower = chargeDischargePower; + } + + public String getChargeStatus() { + return chargeStatus; + } + + public void setChargeStatus(String chargeStatus) { + this.chargeStatus = chargeStatus; + } +} diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyRunningMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyRunningMapper.java index 2443df7..8d52260 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyRunningMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyRunningMapper.java @@ -60,7 +60,7 @@ public interface EmsStrategyRunningMapper */ public int deleteEmsStrategyRunningByIds(Long[] ids); - // 获取站点运行策略 + // 获取站点运行策略列表 public List getRunningList(String siteId); // 停止策略 diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java index 4ee49b1..b59e610 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java @@ -1,6 +1,8 @@ package com.xzzn.ems.mapper; import java.util.List; +import java.util.Map; + import com.xzzn.ems.domain.EmsStrategyTemp; import org.apache.ibatis.annotations.Param; @@ -60,5 +62,9 @@ public interface EmsStrategyTempMapper */ public int deleteEmsStrategyTempByIds(Long[] ids); - public List getTempNameList(@Param("strategyId")Long strategyId, @Param("siteId")String siteId); + // 获取模板名称和id + public List> getTempNameList(@Param("strategyId")Long strategyId, @Param("siteId")String siteId); + + // 删除模板 + public int deleteEmsStrategyTempByIds(Long id); } diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java new file mode 100644 index 0000000..b02f10d --- /dev/null +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java @@ -0,0 +1,67 @@ +package com.xzzn.ems.mapper; + +import java.util.List; +import com.xzzn.ems.domain.EmsStrategyTempTimeConfig; + +/** + * 模板配置Mapper接口 + * + * @author xzzn + * @date 2025-07-12 + */ +public interface EmsStrategyTempTimeConfigMapper +{ + /** + * 查询模板配置 + * + * @param id 模板配置主键 + * @return 模板配置 + */ + public EmsStrategyTempTimeConfig selectEmsStrategyTempTimeConfigById(Long id); + + /** + * 查询模板配置列表 + * + * @param emsStrategyTempTimeConfig 模板配置 + * @return 模板配置集合 + */ + public List selectEmsStrategyTempTimeConfigList(EmsStrategyTempTimeConfig emsStrategyTempTimeConfig); + + /** + * 新增模板配置 + * + * @param emsStrategyTempTimeConfig 模板配置 + * @return 结果 + */ + public int insertEmsStrategyTempTimeConfig(EmsStrategyTempTimeConfig emsStrategyTempTimeConfig); + + /** + * 修改模板配置 + * + * @param emsStrategyTempTimeConfig 模板配置 + * @return 结果 + */ + public int updateEmsStrategyTempTimeConfig(EmsStrategyTempTimeConfig emsStrategyTempTimeConfig); + + /** + * 删除模板配置 + * + * @param id 模板配置主键 + * @return 结果 + */ + public int deleteEmsStrategyTempTimeConfigById(Long id); + + /** + * 批量删除模板配置 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEmsStrategyTempTimeConfigByIds(Long[] ids); + + // 获取模板的时间 + public List getTimeListByTempId(Long templateId); + + // 根据模板id删除时间配置 + public void deleteTimeConfigByTempId(Long templateId); +} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java index 21e2fd7..f80bee7 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java @@ -1,7 +1,11 @@ package com.xzzn.ems.service; import java.util.List; +import java.util.Map; + import com.xzzn.ems.domain.EmsStrategyTemp; +import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; +import com.xzzn.ems.domain.vo.StrategyTempTimeConfigVo; /** * 模板Service接口 @@ -11,29 +15,12 @@ import com.xzzn.ems.domain.EmsStrategyTemp; */ public interface IEmsStrategyTempService { - /** - * 查询模板 - * - * @param id 模板主键 - * @return 模板 - */ - public EmsStrategyTemp selectEmsStrategyTempById(Long id); - /** - * 查询模板列表 - * - * @param emsStrategyTemp 模板 - * @return 模板集合 - */ - public List selectEmsStrategyTempList(EmsStrategyTemp emsStrategyTemp); + // 获取该模板下的时间配置 + public List selectEmsStrategyTempList(Long id); - /** - * 新增模板 - * - * @param emsStrategyTemp 模板 - * @return 结果 - */ - public int insertEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp); + // 新增模板及时间配置 + public int addNewTempAndTimeConfig(StrategyTempConfigRequest requestVo); /** * 修改模板 @@ -59,5 +46,7 @@ public interface IEmsStrategyTempService */ public int deleteEmsStrategyTempById(Long id); - public List getTempNameList(Long strategyId, String siteId); + public List> getTempNameList(Long strategyId, String siteId); + + public void deleteStrategyTempById(Long id); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyServiceImpl.java index 78054e3..4bce076 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyServiceImpl.java @@ -48,7 +48,7 @@ public class EmsStrategyServiceImpl implements IEmsStrategyService @Override public int configStrategy(EmsStrategyRunning emsStrategyRunning) { - // 校验改策略是否已存在 + // 校验是否已存在已运行的相同策略 EmsStrategyRunning existStrategy = emsStrategyRunningMapper.selectEmsStrategyRunning(emsStrategyRunning); if (existStrategy != null) { return -1; diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java index 8e426fe..532cacd 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java @@ -1,7 +1,15 @@ package com.xzzn.ems.service.impl; +import java.util.ArrayList; import java.util.List; +import java.util.Map; + import com.xzzn.common.utils.DateUtils; +import com.xzzn.common.utils.bean.BeanUtils; +import com.xzzn.ems.domain.EmsStrategyTempTimeConfig; +import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; +import com.xzzn.ems.domain.vo.StrategyTempTimeConfigVo; +import com.xzzn.ems.mapper.EmsStrategyTempTimeConfigMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xzzn.ems.mapper.EmsStrategyTempMapper; @@ -19,42 +27,36 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService { @Autowired private EmsStrategyTempMapper emsStrategyTempMapper; - - /** - * 查询模板 - * - * @param id 模板主键 - * @return 模板 - */ - @Override - public EmsStrategyTemp selectEmsStrategyTempById(Long id) - { - return emsStrategyTempMapper.selectEmsStrategyTempById(id); - } + @Autowired + private EmsStrategyTempTimeConfigMapper emsStrategyTempTimeConfigMapper; /** * 查询模板列表 * - * @param emsStrategyTemp 模板 + * @param templateId 模板 * @return 模板 */ @Override - public List selectEmsStrategyTempList(EmsStrategyTemp emsStrategyTemp) + public List selectEmsStrategyTempList(Long templateId) { - return emsStrategyTempMapper.selectEmsStrategyTempList(emsStrategyTemp); - } - - /** - * 新增模板 - * - * @param emsStrategyTemp 模板 - * @return 结果 - */ - @Override - public int insertEmsStrategyTemp(EmsStrategyTemp emsStrategyTemp) - { - emsStrategyTemp.setCreateTime(DateUtils.getNowDate()); - return emsStrategyTempMapper.insertEmsStrategyTemp(emsStrategyTemp); + List dataList = new ArrayList<>(); + EmsStrategyTemp temp = emsStrategyTempMapper.selectEmsStrategyTempById(templateId); + if (temp != null) { + List timeList = emsStrategyTempTimeConfigMapper.getTimeListByTempId(templateId); + if (timeList != null) { + for (EmsStrategyTempTimeConfig timeConfig : timeList) { + StrategyTempTimeConfigVo vo = new StrategyTempTimeConfigVo(); + BeanUtils.copyProperties(timeConfig, vo); + BeanUtils.copyProperties(temp, vo); + dataList.add(vo); + } + } else { + StrategyTempTimeConfigVo vo = new StrategyTempTimeConfigVo(); + BeanUtils.copyProperties(temp, vo); + dataList.add(vo); + } + } + return dataList; } /** @@ -95,7 +97,35 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService } @Override - public List getTempNameList(Long strategyId, String siteId) { + public List> getTempNameList(Long strategyId, String siteId) { return emsStrategyTempMapper.getTempNameList(strategyId, siteId); } + + @Override + public int addNewTempAndTimeConfig(StrategyTempConfigRequest requestVo) { + EmsStrategyTemp emsStrategyTemp = new EmsStrategyTemp(); + BeanUtils.copyProperties(requestVo, emsStrategyTemp); + emsStrategyTemp.setCreateTime(DateUtils.getNowDate()); + emsStrategyTempMapper.insertEmsStrategyTemp(emsStrategyTemp); + + List timeList = requestVo.getTimeConfigList(); + if (timeList != null) { + for (EmsStrategyTempTimeConfig timeConfig : timeList) { + timeConfig.setCreateTime(DateUtils.getNowDate()); + timeConfig.setTemplateId(emsStrategyTemp.getId()); + emsStrategyTempTimeConfigMapper.insertEmsStrategyTempTimeConfig(timeConfig); + } + } + return 1; + } + + + @Override + public void deleteStrategyTempById(Long id) { + // 先删除时间配置 + emsStrategyTempTimeConfigMapper.deleteTimeConfigByTempId(id); + + // 再删除模板 + emsStrategyTempMapper.deleteEmsStrategyTempById(id); + } } diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyRunningMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyRunningMapper.xml index d35175b..19d5206 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyRunningMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyRunningMapper.xml @@ -108,6 +108,6 @@ where site_id = #{siteId} and main_strategy_id = #{mainStrategyId} and auxiliary_strategy_id = #{auxiliaryStrategyId} - and `status` != 4 + and `status` = 1 \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml index 886c4a0..08b914d 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml @@ -11,10 +11,6 @@ - - - - @@ -24,7 +20,7 @@ - select id, strategy_id, template_name, sdc_limit, sdc_down, sdc_up, start_time, end_time, charge_discharge_power, charge_status, create_by, create_time, update_by, update_time, remark, site_id from ems_strategy_temp + select id, strategy_id, template_name, sdc_limit, sdc_down, sdc_up, create_by, create_time, update_by, update_time, remark, site_id from ems_strategy_temp @@ -56,10 +48,6 @@ sdc_limit, sdc_down, sdc_up, - start_time, - end_time, - charge_discharge_power, - charge_status, create_by, create_time, update_by, @@ -73,10 +61,6 @@ #{sdcLimit}, #{sdcDown}, #{sdcUp}, - #{startTime}, - #{endTime}, - #{chargeDischargePower}, - #{chargeStatus}, #{createBy}, #{createTime}, #{updateBy}, @@ -94,10 +78,6 @@ sdc_limit = #{sdcLimit}, sdc_down = #{sdcDown}, sdc_up = #{sdcUp}, - start_time = #{startTime}, - end_time = #{endTime}, - charge_discharge_power = #{chargeDischargePower}, - charge_status = #{chargeStatus}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, @@ -119,10 +99,14 @@ - + select DISTINCT id as templateId,template_name as templateName from ems_strategy_temp where site_id = #{siteId} and strategy_id = #{strategyId} + + \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml new file mode 100644 index 0000000..c639a86 --- /dev/null +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + select id, start_time, end_time, charge_discharge_power, charge_status, create_by, create_time, update_by, update_time, remark, template_id from ems_strategy_temp_time_config + + + + + + + + insert into ems_strategy_temp_time_config + + start_time, + end_time, + charge_discharge_power, + charge_status, + create_by, + create_time, + update_by, + update_time, + remark, + template_id, + + + #{startTime}, + #{endTime}, + #{chargeDischargePower}, + #{chargeStatus}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{templateId}, + + + + + update ems_strategy_temp_time_config + + start_time = #{startTime}, + end_time = #{endTime}, + charge_discharge_power = #{chargeDischargePower}, + charge_status = #{chargeStatus}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + template_id = #{templateId}, + + where id = #{id} + + + + delete from ems_strategy_temp_time_config where id = #{id} + + + + delete from ems_strategy_temp_time_config where id in + + #{id} + + + + + + + delete from ems_strategy_temp_time_config where template_id = #{templateId} + + \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml index 6408e38..49175c1 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml @@ -15,10 +15,11 @@ + - select id, strategy_id, month, charge_discharge_mode, create_by, create_time, update_by, update_time, remark, site_id from ems_strategy_time_config + select id, strategy_id, month, charge_discharge_mode, create_by, create_time, update_by, update_time, remark, site_id, template_id from ems_strategy_time_config @@ -93,4 +93,18 @@ #{id} + + + \ No newline at end of file From 7b798f8323e7aebd6273a12d4801aa02f83b0b71 Mon Sep 17 00:00:00 2001 From: mashili Date: Sun, 13 Jul 2025 11:58:40 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E7=AD=96=E7=95=A5=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E6=A8=A1=E6=9D=BF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems/EmsStrategyTempController.java | 32 ++-- .../com/xzzn/ems/domain/EmsStrategyTemp.java | 82 ++++++++++- .../ems/domain/EmsStrategyTempTimeConfig.java | 8 +- .../domain/vo/StrategyTempConfigRequest.java | 10 +- .../ems/mapper/EmsStrategyTempMapper.java | 7 +- .../EmsStrategyTempTimeConfigMapper.java | 67 --------- .../ems/service/IEmsStrategyTempService.java | 33 +---- .../impl/EmsStrategyTempServiceImpl.java | 138 ++++++------------ .../mapper/ems/EmsStrategyTempMapper.xml | 38 ++++- .../ems/EmsStrategyTempTimeConfigMapper.xml | 105 ------------- 10 files changed, 195 insertions(+), 325 deletions(-) delete mode 100644 ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java delete mode 100644 ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java index 0a994f6..b8a5071 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsStrategyTempController.java @@ -1,8 +1,5 @@ package com.xzzn.web.controller.ems; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -18,9 +15,7 @@ import com.xzzn.common.annotation.Log; import com.xzzn.common.core.controller.BaseController; import com.xzzn.common.core.domain.AjaxResult; import com.xzzn.common.enums.BusinessType; -import com.xzzn.ems.domain.EmsStrategyTemp; import com.xzzn.ems.service.IEmsStrategyTempService; -import com.xzzn.common.utils.poi.ExcelUtil; /** * 模板Controller @@ -35,12 +30,21 @@ public class EmsStrategyTempController extends BaseController @Autowired private IEmsStrategyTempService emsStrategyTempService; + /** + * 根据策略id站点id获取所有模板名称 + */ + @GetMapping("/getTempNameList") + public AjaxResult getTempNameList(Long strategyId, String siteId) + { + return success(emsStrategyTempService.getTempNameList(strategyId, siteId)); + } + /** * 获取单个模板时间配置详细信息 */ @PreAuthorize("@ss.hasPermi('system:temp:list')") @GetMapping("/list") - public AjaxResult list(Long templateId) + public AjaxResult list(String templateId) { return success(emsStrategyTempService.selectEmsStrategyTempList(templateId)); } @@ -82,19 +86,9 @@ public class EmsStrategyTempController extends BaseController */ @PreAuthorize("@ss.hasPermi('system:temp:remove')") @Log(title = "模板", businessType = BusinessType.DELETE) - @DeleteMapping("/{id}") - public AjaxResult remove(@PathVariable Long id) + @DeleteMapping("/{templateId}") + public AjaxResult remove(@PathVariable String templateId) { - emsStrategyTempService.deleteStrategyTempById(id); - return success(); - } - - /** - * 根据策略id站点id获取所有模板名称 - */ - @GetMapping("/getTempNameList") - public AjaxResult getTempNameList(Long strategyId, String siteId) - { - return success(emsStrategyTempService.getTempNameList(strategyId, siteId)); + return success(emsStrategyTempService.deleteStrategyTempById(templateId)); } } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java index 3a68e7f..8b05e5b 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTemp.java @@ -1,7 +1,8 @@ package com.xzzn.ems.domain; import java.math.BigDecimal; - +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; import com.xzzn.common.core.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -11,7 +12,7 @@ import com.xzzn.common.annotation.Excel; * 模板对象 ems_strategy_temp * * @author xzzn - * @date 2025-07-12 + * @date 2025-07-13 */ public class EmsStrategyTemp extends BaseEntity { @@ -40,10 +41,32 @@ public class EmsStrategyTemp extends BaseEntity @Excel(name = "SDC上限 (%)") private BigDecimal sdcUp; + /** 开始时间 */ + @JsonFormat(pattern = "HH:mm") + @Excel(name = "开始时间", width = 30, dateFormat = "HH:mm") + private Date startTime; + + /** 结束时间 */ + @JsonFormat(pattern = "HH:mm") + @Excel(name = "结束时间", width = 30, dateFormat = "HH:mm") + private Date endTime; + + /** 充放功率 (kW) */ + @Excel(name = "充放功率 (kW)") + private BigDecimal chargeDischargePower; + + /** 充电状态,如“1-充电”、“2-待机” */ + @Excel(name = "充电状态,如“1-充电”、“2-待机”") + private String chargeStatus; + /** 站点id */ @Excel(name = "站点id") private String siteId; + /** 模板id */ + @Excel(name = "模板id") + private String templateId; + public void setId(Long id) { this.id = id; @@ -104,6 +127,46 @@ public class EmsStrategyTemp extends BaseEntity return sdcUp; } + public void setStartTime(Date startTime) + { + this.startTime = startTime; + } + + public Date getStartTime() + { + return startTime; + } + + public void setEndTime(Date endTime) + { + this.endTime = endTime; + } + + public Date getEndTime() + { + return endTime; + } + + public void setChargeDischargePower(BigDecimal chargeDischargePower) + { + this.chargeDischargePower = chargeDischargePower; + } + + public BigDecimal getChargeDischargePower() + { + return chargeDischargePower; + } + + public void setChargeStatus(String chargeStatus) + { + this.chargeStatus = chargeStatus; + } + + public String getChargeStatus() + { + return chargeStatus; + } + public void setSiteId(String siteId) { this.siteId = siteId; @@ -114,6 +177,16 @@ public class EmsStrategyTemp extends BaseEntity return siteId; } + public void setTemplateId(String templateId) + { + this.templateId = templateId; + } + + public String getTemplateId() + { + return templateId; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -123,12 +196,17 @@ public class EmsStrategyTemp extends BaseEntity .append("sdcLimit", getSdcLimit()) .append("sdcDown", getSdcDown()) .append("sdcUp", getSdcUp()) + .append("startTime", getStartTime()) + .append("endTime", getEndTime()) + .append("chargeDischargePower", getChargeDischargePower()) + .append("chargeStatus", getChargeStatus()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("remark", getRemark()) .append("siteId", getSiteId()) + .append("templateId", getTemplateId()) .toString(); } } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java index cc01298..9bb2f52 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java @@ -22,13 +22,13 @@ public class EmsStrategyTempTimeConfig extends BaseEntity private Long id; /** 开始时间 */ - @JsonFormat(pattern = "HH:mm:ss") - @Excel(name = "开始时间", width = 30, dateFormat = "HH:mm:ss") + @JsonFormat(pattern = "HH:mm") + @Excel(name = "开始时间", width = 30, dateFormat = "HH:mm") private Date startTime; /** 结束时间 */ - @JsonFormat(pattern = "HH:mm:ss") - @Excel(name = "结束时间", width = 30, dateFormat = "HH:mm:ss") + @JsonFormat(pattern = "HH:mm") + @Excel(name = "结束时间", width = 30, dateFormat = "HH:mm") private Date endTime; /** 充放功率 (kW) */ diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java index 53f086e..f05d001 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTempConfigRequest.java @@ -15,7 +15,7 @@ public class StrategyTempConfigRequest { /** 模板id */ - private Long id; + private String templateId; /** 站点id */ private String siteId; @@ -37,12 +37,12 @@ public class StrategyTempConfigRequest /** 模板时间 */ private List timeConfigList; - public Long getId() { - return id; + public String getTemplateId() { + return templateId; } - public void setId(Long id) { - this.id = id; + public void setTemplateId(String templateId) { + this.templateId = templateId; } public void setStrategyId(Long strategyId) diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java index b59e610..24db8da 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempMapper.java @@ -65,6 +65,9 @@ public interface EmsStrategyTempMapper // 获取模板名称和id public List> getTempNameList(@Param("strategyId")Long strategyId, @Param("siteId")String siteId); - // 删除模板 - public int deleteEmsStrategyTempByIds(Long id); + // 根据模板id获取模板所有的时间配置 + public List selectStrategyTempByTempId(String templateId); + + // 根据模板id全部删除 + public int deleteTempByTempId(String templateId); } diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java deleted file mode 100644 index b02f10d..0000000 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTempTimeConfigMapper.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.xzzn.ems.mapper; - -import java.util.List; -import com.xzzn.ems.domain.EmsStrategyTempTimeConfig; - -/** - * 模板配置Mapper接口 - * - * @author xzzn - * @date 2025-07-12 - */ -public interface EmsStrategyTempTimeConfigMapper -{ - /** - * 查询模板配置 - * - * @param id 模板配置主键 - * @return 模板配置 - */ - public EmsStrategyTempTimeConfig selectEmsStrategyTempTimeConfigById(Long id); - - /** - * 查询模板配置列表 - * - * @param emsStrategyTempTimeConfig 模板配置 - * @return 模板配置集合 - */ - public List selectEmsStrategyTempTimeConfigList(EmsStrategyTempTimeConfig emsStrategyTempTimeConfig); - - /** - * 新增模板配置 - * - * @param emsStrategyTempTimeConfig 模板配置 - * @return 结果 - */ - public int insertEmsStrategyTempTimeConfig(EmsStrategyTempTimeConfig emsStrategyTempTimeConfig); - - /** - * 修改模板配置 - * - * @param emsStrategyTempTimeConfig 模板配置 - * @return 结果 - */ - public int updateEmsStrategyTempTimeConfig(EmsStrategyTempTimeConfig emsStrategyTempTimeConfig); - - /** - * 删除模板配置 - * - * @param id 模板配置主键 - * @return 结果 - */ - public int deleteEmsStrategyTempTimeConfigById(Long id); - - /** - * 批量删除模板配置 - * - * @param ids 需要删除的数据主键集合 - * @return 结果 - */ - public int deleteEmsStrategyTempTimeConfigByIds(Long[] ids); - - // 获取模板的时间 - public List getTimeListByTempId(Long templateId); - - // 根据模板id删除时间配置 - public void deleteTimeConfigByTempId(Long templateId); -} diff --git a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java index b3e9386..35ac3b8 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/IEmsStrategyTempService.java @@ -5,7 +5,6 @@ import java.util.Map; import com.xzzn.ems.domain.EmsStrategyTemp; import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; -import com.xzzn.ems.domain.vo.StrategyTempTimeConfigVo; /** * 模板Service接口 @@ -15,13 +14,6 @@ import com.xzzn.ems.domain.vo.StrategyTempTimeConfigVo; */ public interface IEmsStrategyTempService { - - // 获取该模板下的时间配置 - public List selectEmsStrategyTempList(Long id); - - // 新增模板及时间配置 - public boolean addNewTempAndTimeConfig(StrategyTempConfigRequest requestVo); - /** * 修改模板 * @@ -30,23 +22,14 @@ public interface IEmsStrategyTempService */ public boolean updateEmsStrategyTemp(StrategyTempConfigRequest requestVo); - /** - * 批量删除模板 - * - * @param ids 需要删除的模板主键集合 - * @return 结果 - */ - public int deleteEmsStrategyTempByIds(Long[] ids); - - /** - * 删除模板信息 - * - * @param id 模板主键 - * @return 结果 - */ - public int deleteEmsStrategyTempById(Long id); - public List> getTempNameList(Long strategyId, String siteId); - public void deleteStrategyTempById(Long id); + // 获取该模板下的时间配置 + public List selectEmsStrategyTempList(String templateId); + + // 新增模板及时间配置 + public boolean addNewTempAndTimeConfig(StrategyTempConfigRequest requestVo); + + //根据templateId删除模板 + public int deleteStrategyTempById(String templateId); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java index c7e5d75..32b08eb 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java @@ -1,15 +1,13 @@ package com.xzzn.ems.service.impl; -import java.util.ArrayList; import java.util.List; import java.util.Map; import com.xzzn.common.utils.DateUtils; +import com.xzzn.common.utils.StringUtils; import com.xzzn.common.utils.bean.BeanUtils; import com.xzzn.ems.domain.EmsStrategyTempTimeConfig; import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; -import com.xzzn.ems.domain.vo.StrategyTempTimeConfigVo; -import com.xzzn.ems.mapper.EmsStrategyTempTimeConfigMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xzzn.ems.mapper.EmsStrategyTempMapper; @@ -26,10 +24,9 @@ import org.springframework.transaction.annotation.Transactional; @Service public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService { + private static final String PREFIX= "Temp"; @Autowired private EmsStrategyTempMapper emsStrategyTempMapper; - @Autowired - private EmsStrategyTempTimeConfigMapper emsStrategyTempTimeConfigMapper; /** * 查询模板列表 @@ -38,26 +35,42 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService * @return 模板 */ @Override - public List selectEmsStrategyTempList(Long templateId) + public List selectEmsStrategyTempList(String templateId) { - List dataList = new ArrayList<>(); - EmsStrategyTemp temp = emsStrategyTempMapper.selectEmsStrategyTempById(templateId); - if (temp != null) { - List timeList = emsStrategyTempTimeConfigMapper.getTimeListByTempId(templateId); - if (timeList != null && !timeList.isEmpty()) { - for (EmsStrategyTempTimeConfig timeConfig : timeList) { - StrategyTempTimeConfigVo vo = new StrategyTempTimeConfigVo(); - BeanUtils.copyProperties(timeConfig, vo); - BeanUtils.copyProperties(temp, vo); - dataList.add(vo); - } - } else { - StrategyTempTimeConfigVo vo = new StrategyTempTimeConfigVo(); - BeanUtils.copyProperties(temp, vo); - dataList.add(vo); - } + return emsStrategyTempMapper.selectStrategyTempByTempId(templateId); + } + + /** + * 新增模板和时间配置 + * @param requestVo + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean addNewTempAndTimeConfig(StrategyTempConfigRequest requestVo) { + // 随机生产模板id格式:Temp+时间戳 + String templateId = requestVo.getTemplateId(); + if (StringUtils.isEmpty(templateId)) { + templateId = PREFIX + DateUtils.dateTimeNow(); } - return dataList; + + EmsStrategyTemp publicTemp = new EmsStrategyTemp(); + BeanUtils.copyProperties(requestVo, publicTemp); + publicTemp.setTemplateId(templateId); + publicTemp.setCreateTime(DateUtils.getNowDate()); + + List timeList = requestVo.getTimeConfigList(); + if (timeList != null && !timeList.isEmpty()) { + for (EmsStrategyTempTimeConfig timeConfig : timeList) { + EmsStrategyTemp temp = new EmsStrategyTemp(); + BeanUtils.copyProperties(publicTemp, temp); + BeanUtils.copyProperties(timeConfig, temp); + emsStrategyTempMapper.insertEmsStrategyTemp(temp); + } + } else {// 无时间配置只配置模板基本信息 + emsStrategyTempMapper.insertEmsStrategyTemp(publicTemp); + } + return true; } /** @@ -70,88 +83,25 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService @Transactional(rollbackFor = Exception.class) public boolean updateEmsStrategyTemp(StrategyTempConfigRequest requestVo) { - Long id = requestVo.getId(); - // 根据模板id校验该模板是否存在 - EmsStrategyTemp temp = emsStrategyTempMapper.selectEmsStrategyTempById(id); - if (temp == null) { - return false; - } - // 更新模板数据 - BeanUtils.copyProperties(requestVo, temp); - emsStrategyTempMapper.updateEmsStrategyTemp(temp); + String templateId = requestVo.getTemplateId(); + // 无发匹配原数据 + // 全删 + emsStrategyTempMapper.deleteTempByTempId(templateId); - // 先删除再加 - emsStrategyTempTimeConfigMapper.deleteTimeConfigByTempId(id); - - List timeList = requestVo.getTimeConfigList(); - if (timeList != null) { - for (EmsStrategyTempTimeConfig timeConfig : timeList) { - timeConfig.setTemplateId(id); - timeConfig.setCreateTime(DateUtils.getNowDate()); - timeConfig.setUpdateTime(DateUtils.getNowDate()); - emsStrategyTempTimeConfigMapper.insertEmsStrategyTempTimeConfig(timeConfig); - } - } + // 重新新增 + addNewTempAndTimeConfig(requestVo); return true; } - /** - * 批量删除模板 - * - * @param ids 需要删除的模板主键 - * @return 结果 - */ - @Override - public int deleteEmsStrategyTempByIds(Long[] ids) - { - return emsStrategyTempMapper.deleteEmsStrategyTempByIds(ids); - } - - /** - * 删除模板信息 - * - * @param id 模板主键 - * @return 结果 - */ - @Override - public int deleteEmsStrategyTempById(Long id) - { - return emsStrategyTempMapper.deleteEmsStrategyTempById(id); - } - @Override public List> getTempNameList(Long strategyId, String siteId) { return emsStrategyTempMapper.getTempNameList(strategyId, siteId); } - // 新增模板和时间配置 - @Override - @Transactional(rollbackFor = Exception.class) - public boolean addNewTempAndTimeConfig(StrategyTempConfigRequest requestVo) { - EmsStrategyTemp emsStrategyTemp = new EmsStrategyTemp(); - BeanUtils.copyProperties(requestVo, emsStrategyTemp); - emsStrategyTemp.setCreateTime(DateUtils.getNowDate()); - emsStrategyTempMapper.insertEmsStrategyTemp(emsStrategyTemp); - - List timeList = requestVo.getTimeConfigList(); - if (timeList != null) { - for (EmsStrategyTempTimeConfig timeConfig : timeList) { - timeConfig.setCreateTime(DateUtils.getNowDate()); - timeConfig.setTemplateId(emsStrategyTemp.getId()); - emsStrategyTempTimeConfigMapper.insertEmsStrategyTempTimeConfig(timeConfig); - } - } - return true; - } - @Override - public void deleteStrategyTempById(Long id) { - // 先删除时间配置 - emsStrategyTempTimeConfigMapper.deleteTimeConfigByTempId(id); - - // 再删除模板 - emsStrategyTempMapper.deleteEmsStrategyTempById(id); + public int deleteStrategyTempById(String templateId) { + return emsStrategyTempMapper.deleteTempByTempId(templateId); } } diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml index 08b914d..b297a52 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempMapper.xml @@ -11,16 +11,21 @@ + + + + + - select id, strategy_id, template_name, sdc_limit, sdc_down, sdc_up, create_by, create_time, update_by, update_time, remark, site_id from ems_strategy_temp + select id, strategy_id, template_name, sdc_limit, sdc_down, sdc_up, start_time, end_time, charge_discharge_power, charge_status, create_by, create_time, update_by, update_time, remark, site_id, template_id from ems_strategy_temp @@ -48,12 +58,17 @@ sdc_limit, sdc_down, sdc_up, + start_time, + end_time, + charge_discharge_power, + charge_status, create_by, create_time, update_by, update_time, remark, site_id, + template_id, #{strategyId}, @@ -61,12 +76,17 @@ #{sdcLimit}, #{sdcDown}, #{sdcUp}, + #{startTime}, + #{endTime}, + #{chargeDischargePower}, + #{chargeStatus}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{remark}, #{siteId}, + #{templateId}, @@ -78,12 +98,17 @@ sdc_limit = #{sdcLimit}, sdc_down = #{sdcDown}, sdc_up = #{sdcUp}, + start_time = #{startTime}, + end_time = #{endTime}, + charge_discharge_power = #{chargeDischargePower}, + charge_status = #{chargeStatus}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, update_time = #{updateTime}, remark = #{remark}, site_id = #{siteId}, + template_id = #{templateId}, where id = #{id} @@ -100,7 +125,7 @@ select count(1) from ems_strategy_temp where template_id = #{templateId} + + + + + delete from ems_strategy_temp where template_id = #{templateId} + \ No newline at end of file diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml deleted file mode 100644 index c639a86..0000000 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyTempTimeConfigMapper.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - select id, start_time, end_time, charge_discharge_power, charge_status, create_by, create_time, update_by, update_time, remark, template_id from ems_strategy_temp_time_config - - - - - - - - insert into ems_strategy_temp_time_config - - start_time, - end_time, - charge_discharge_power, - charge_status, - create_by, - create_time, - update_by, - update_time, - remark, - template_id, - - - #{startTime}, - #{endTime}, - #{chargeDischargePower}, - #{chargeStatus}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, - #{remark}, - #{templateId}, - - - - - update ems_strategy_temp_time_config - - start_time = #{startTime}, - end_time = #{endTime}, - charge_discharge_power = #{chargeDischargePower}, - charge_status = #{chargeStatus}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - remark = #{remark}, - template_id = #{templateId}, - - where id = #{id} - - - - delete from ems_strategy_temp_time_config where id = #{id} - - - - delete from ems_strategy_temp_time_config where id in - - #{id} - - - - - - - delete from ems_strategy_temp_time_config where template_id = #{templateId} - - \ No newline at end of file From 819e4cd3a7fa95e114b42bca049c2b6914142e70 Mon Sep 17 00:00:00 2001 From: mashili Date: Sun, 13 Jul 2025 14:14:07 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E7=AD=96=E7=95=A5=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java | 6 +++--- .../java/com/xzzn/ems/domain/vo/StrategyTimeConfigVo.java | 6 +++--- .../resources/mapper/ems/EmsStrategyTimeConfigMapper.xml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java index 5ba82ef..de02b59 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTimeConfig.java @@ -36,7 +36,7 @@ public class EmsStrategyTimeConfig extends BaseEntity /** 模版id */ @Excel(name = "模版id") - private Long templateId; + private String templateId; public void setId(Long id) { @@ -88,12 +88,12 @@ public class EmsStrategyTimeConfig extends BaseEntity return siteId; } - public void setTemplateId(Long templateId) + public void setTemplateId(String templateId) { this.templateId = templateId; } - public Long getTemplateId() + public String getTemplateId() { return templateId; } diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTimeConfigVo.java b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTimeConfigVo.java index 18862ce..4d7a202 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTimeConfigVo.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/vo/StrategyTimeConfigVo.java @@ -24,7 +24,7 @@ public class StrategyTimeConfigVo private String chargeDischargeMode; /** 模板id */ - private Long templateId; + private String templateId; /** 模板名称 */ private String templateName; @@ -79,12 +79,12 @@ public class StrategyTimeConfigVo return siteId; } - public void setTemplateId(Long templateId) + public void setTemplateId(String templateId) { this.templateId = templateId; } - public Long getTemplateId() + public String getTemplateId() { return templateId; } diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml index e67ef9e..1e526f9 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml @@ -29,7 +29,7 @@ and month = #{month} and charge_discharge_mode = #{chargeDischargeMode} and site_id = #{siteId} - and template_id = #{templateId} + and template_id = #{templateId} From a0b83fc8a48a91adba4419e6cab4370e1cef540c Mon Sep 17 00:00:00 2001 From: mashili Date: Sun, 13 Jul 2025 15:02:00 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E7=AD=96=E7=95=A5=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=85=8D=E7=BD=AE=E5=AD=97=E6=AE=B5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java | 3 +++ .../xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java | 5 +++++ .../resources/mapper/ems/EmsStrategyTimeConfigMapper.xml | 5 ++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java index 0754ce5..0dc81b6 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsStrategyTimeConfigMapper.java @@ -62,4 +62,7 @@ public interface EmsStrategyTimeConfigMapper // 获取该策略下的时间配置 public List getStrategyTimeList(EmsStrategyTimeConfig emsStrategyTimeConfig); + + // 删除模板时间配置 + public void deleteTimeConfigByTemplateId(String templateId); } diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java index 32b08eb..1674340 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStrategyTempServiceImpl.java @@ -8,6 +8,7 @@ import com.xzzn.common.utils.StringUtils; import com.xzzn.common.utils.bean.BeanUtils; import com.xzzn.ems.domain.EmsStrategyTempTimeConfig; import com.xzzn.ems.domain.vo.StrategyTempConfigRequest; +import com.xzzn.ems.mapper.EmsStrategyTimeConfigMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.xzzn.ems.mapper.EmsStrategyTempMapper; @@ -27,6 +28,8 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService private static final String PREFIX= "Temp"; @Autowired private EmsStrategyTempMapper emsStrategyTempMapper; + @Autowired + private EmsStrategyTimeConfigMapper emsStrategyTimeConfigMapper; /** * 查询模板列表 @@ -102,6 +105,8 @@ public class EmsStrategyTempServiceImpl implements IEmsStrategyTempService @Override public int deleteStrategyTempById(String templateId) { + // 先删除模板的时间配置 + emsStrategyTimeConfigMapper.deleteTimeConfigByTemplateId(templateId); return emsStrategyTempMapper.deleteTempByTempId(templateId); } } diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml index 1e526f9..397ae7a 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml @@ -101,10 +101,13 @@ t.template_id as templateId, temp.template_name as templateName from ems_strategy_time_config t - LEFT JOIN ems_strategy_temp temp on t.template_id = temp.id + LEFT JOIN ems_strategy_temp temp on t.template_id = temp.template_id where t.site_id = #{siteId} and t.strategy_id = #{strategyId} order by month + + delete from ems_strategy_time_config where template_id = #{templateId} + \ No newline at end of file From 9fcc81fbac58038312b091086d0799cf8562791d Mon Sep 17 00:00:00 2001 From: mashili Date: Sun, 13 Jul 2025 15:27:38 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E7=AD=96=E7=95=A5=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E9=85=8D=E7=BD=AE=E5=AD=97=E6=AE=B5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java | 6 +++--- .../resources/mapper/ems/EmsStrategyTimeConfigMapper.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java index 9bb2f52..1cf9f9f 100644 --- a/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java +++ b/ems-system/src/main/java/com/xzzn/ems/domain/EmsStrategyTempTimeConfig.java @@ -41,7 +41,7 @@ public class EmsStrategyTempTimeConfig extends BaseEntity /** 模板id */ @Excel(name = "模板id") - private Long templateId; + private String templateId; public void setId(Long id) { @@ -93,12 +93,12 @@ public class EmsStrategyTempTimeConfig extends BaseEntity return chargeStatus; } - public void setTemplateId(Long templateId) + public void setTemplateId(String templateId) { this.templateId = templateId; } - public Long getTemplateId() + public String getTemplateId() { return templateId; } diff --git a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml index 397ae7a..dd01db4 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsStrategyTimeConfigMapper.xml @@ -95,7 +95,7 @@ - - delete from ems_strategy_time_config where template_id = #{templateId} - + + update ems_strategy_time_config set template_id = '' where template_id = #{templateId} + \ No newline at end of file From cceafdca921c40f332cf18aca7c9a221c5785260 Mon Sep 17 00:00:00 2001 From: mashili Date: Mon, 14 Jul 2025 10:53:36 +0800 Subject: [PATCH 17/17] =?UTF-8?q?log=E7=BA=A7=E5=88=AB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ems-admin/src/main/resources/application.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ems-admin/src/main/resources/application.yml b/ems-admin/src/main/resources/application.yml index 70ad9a7..7b1963f 100644 --- a/ems-admin/src/main/resources/application.yml +++ b/ems-admin/src/main/resources/application.yml @@ -34,7 +34,7 @@ server: # 日志配置 logging: level: - com.xzzn: debug + com.xzzn: info org.springframework: warn # 用户配置 @@ -135,4 +135,4 @@ mqtt: password: qwer1234 connection-timeout: 15 keep-alive-interval: 30 - automatic-reconnect: true \ No newline at end of file + automatic-reconnect: true