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