Преглед изворни кода

添加设备健康相关模块的功能

dongjh пре 1 година
родитељ
комит
eb903e3a55
29 измењених фајлова са 588 додато и 57 уклоњено
  1. 1 1
      module_ems/src/main/java/org/jeecg/modules/dataCurrent/entity/DataCurrent.java
  2. 8 0
      module_ems/src/main/java/org/jeecg/modules/dataCurrent/mapper/DataCurrentMapper.java
  3. 29 0
      module_ems/src/main/java/org/jeecg/modules/dataCurrent/mapper/xml/DataCurrentMapper.xml
  4. 1 1
      module_ems/src/main/java/org/jeecg/modules/dataDemand/entity/DataDemand.java
  5. 1 1
      module_ems/src/main/java/org/jeecg/modules/dataElectricity/entity/DataElectricity.java
  6. 7 0
      module_ems/src/main/java/org/jeecg/modules/dataElectricity/mapper/DataElectricityMapper.java
  7. 31 0
      module_ems/src/main/java/org/jeecg/modules/dataElectricity/mapper/xml/DataElectricityMapper.xml
  8. 1 1
      module_ems/src/main/java/org/jeecg/modules/dataElectricityDay/entity/DataElectricityDay.java
  9. 1 1
      module_ems/src/main/java/org/jeecg/modules/dataPower/entity/DataPower.java
  10. 8 0
      module_ems/src/main/java/org/jeecg/modules/dataPower/mapper/DataPowerMapper.java
  11. 28 0
      module_ems/src/main/java/org/jeecg/modules/dataPower/mapper/xml/DataPowerMapper.xml
  12. 1 1
      module_ems/src/main/java/org/jeecg/modules/dataVoltage/entity/DataVoltage.java
  13. 8 0
      module_ems/src/main/java/org/jeecg/modules/dataVoltage/mapper/DataVoltageMapper.java
  14. 28 0
      module_ems/src/main/java/org/jeecg/modules/dataVoltage/mapper/xml/DataVoltageMapper.xml
  15. 84 2
      module_ems/src/main/java/org/jeecg/modules/emsStatistics/service/impl/IEmsStatisticsServiceImpl.java
  16. 15 15
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/controller/EquipmentOnoffController.java
  17. 5 4
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/entity/EquipmentOnoff.java
  18. 45 14
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/controller/EquipmentOnoffSectionController.java
  19. 25 8
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/entity/EquipmentOnoffSection.java
  20. 22 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/mapper/EquipmentOnoffSectionMapper.java
  21. 61 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/mapper/xml/EquipmentOnoffSectionMapper.xml
  22. 23 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/service/IEquipmentOnoffSectionService.java
  23. 33 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/service/impl/EquipmentOnoffSectionServiceImpl.java
  24. 19 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/controller/EquipmentStatusController.java
  25. 17 8
      module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/entity/EquipmentStatus.java
  26. 16 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/mapper/EquipmentStatusMapper.java
  27. 45 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/mapper/xml/EquipmentStatusMapper.xml
  28. 10 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/service/IEquipmentStatusService.java
  29. 15 0
      module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/service/impl/EquipmentStatusServiceImpl.java

+ 1 - 1
module_ems/src/main/java/org/jeecg/modules/dataCurrent/entity/DataCurrent.java

@@ -33,7 +33,7 @@ public class DataCurrent implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**设备实时电流ID*/
-	@Excel(name = "设备实时电流ID", width = 15)
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "设备实时电流ID")
     private java.lang.Long id;
 	/**点位ID*/

+ 8 - 0
module_ems/src/main/java/org/jeecg/modules/dataCurrent/mapper/DataCurrentMapper.java

@@ -16,4 +16,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 @Mapper
 public interface DataCurrentMapper extends BaseMapper<DataCurrent> {
 
+
+    /**
+     * 按日期、点位名查询设备实时电流列表
+     *
+     * @param current 设备实时电流
+     * @return 设备实时电流集合
+     */
+    public List<DataCurrent> selectCurrentByDay(DataCurrent current);
 }

+ 29 - 0
module_ems/src/main/java/org/jeecg/modules/dataCurrent/mapper/xml/DataCurrentMapper.xml

@@ -2,4 +2,33 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.dataCurrent.mapper.DataCurrentMapper">
 
+    <resultMap type="org.jeecg.modules.dataCurrent.entity.DataCurrent" id="DataCurrentResult">
+        <result property="id"    column="id"    />
+        <result property="tagid"    column="tagid"    />
+        <result property="tagname"    column="tagname"    />
+        <result property="equipmentid"    column="equipmentid"    />
+        <result property="equipmentname"    column="equipmentname"    />
+        <result property="logtime"    column="logtime"    />
+        <result property="tagvalue"    column="tagvalue"    />
+        <result property="year"    column="year"    />
+        <result property="month"    column="month"    />
+        <result property="day"    column="day"    />
+        <result property="time"    column="time"    />
+        <result property="yearmonth"    column="yearmonth"    />
+        <result property="week"    column="week"    />
+        <result property="dayofweek"    column="dayofweek"    />
+    </resultMap>
+
+    <!--按日期查询电流-->
+    <select id="selectCurrentByDay" parameterType="org.jeecg.modules.dataCurrent.entity.DataCurrent" resultMap="DataCurrentResult">
+        select tagname, equipmentid, equipmentname, logtime, tagvalue, time
+        from ems_data_current
+        <where>
+            <if test="equipmentid != null and equipmentid != ''"> and equipmentid = #{equipmentid}</if>
+            <if test="tagname != null and tagname != ''"> and tagname = #{tagname}</if>
+            <if test="day != null and day != ''"> and `day` = #{day}</if>
+        </where>
+        order by id asc
+    </select>
+
 </mapper>

+ 1 - 1
module_ems/src/main/java/org/jeecg/modules/dataDemand/entity/DataDemand.java

@@ -33,7 +33,7 @@ public class DataDemand implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**需量值ID*/
-	@Excel(name = "需量值ID", width = 15)
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "需量值ID")
     private java.lang.Long id;
 	/**点位ID*/

+ 1 - 1
module_ems/src/main/java/org/jeecg/modules/dataElectricity/entity/DataElectricity.java

@@ -33,7 +33,7 @@ public class DataElectricity implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**电量ID*/
-	@Excel(name = "电量ID", width = 15)
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "电量ID")
     private java.lang.Long id;
 	/**点位ID*/

+ 7 - 0
module_ems/src/main/java/org/jeecg/modules/dataElectricity/mapper/DataElectricityMapper.java

@@ -16,4 +16,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 @Mapper
 public interface DataElectricityMapper extends BaseMapper<DataElectricity> {
 
+    /**
+     * 按日期查询电量
+     *
+     * @param electricity 分时电量
+     * @return 分时电量集合
+     */
+    public List<DataElectricity> selectElectricityByDay(DataElectricity electricity);
 }

+ 31 - 0
module_ems/src/main/java/org/jeecg/modules/dataElectricity/mapper/xml/DataElectricityMapper.xml

@@ -2,4 +2,35 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.dataElectricity.mapper.DataElectricityMapper">
 
+    <resultMap type="org.jeecg.modules.dataElectricity.entity.DataElectricity" id="DataElectricityResult">
+        <result property="id"    column="id"    />
+        <result property="tagid"    column="tagid"    />
+        <result property="tagname"    column="tagname"    />
+        <result property="equipmentid"    column="equipmentid"    />
+        <result property="equipmentname"    column="equipmentname"    />
+        <result property="logtime"    column="logtime"    />
+        <result property="tagvalue"    column="tagvalue"    />
+        <result property="electricityvalue"    column="electricityvalue"    />
+        <result property="year"    column="year"    />
+        <result property="month"    column="month"    />
+        <result property="day"    column="day"    />
+        <result property="time"    column="time"    />
+        <result property="yearmonth"    column="yearmonth"    />
+        <result property="week"    column="week"    />
+        <result property="dayofweek"    column="dayofweek"    />
+        <result property="beginvalue"    column="beginvalue"    />
+        <result property="endvalue"    column="endvalue"    />
+    </resultMap>
+
+    <!--按日期查询电量-->
+    <select id="selectElectricityByDay" parameterType="org.jeecg.modules.dataElectricity.entity.DataElectricity" resultMap="DataElectricityResult">
+        select tagname, equipmentid, equipmentname, logtime, electricityvalue as tagvalue, time
+        from ems_data_electricity
+        <where>
+            <if test="equipmentid != null and equipmentid != ''"> and equipmentid = #{equipmentid}</if>
+            <if test="day != null and day != ''"> and `day` = #{day}</if>
+        </where>
+        order by id asc
+    </select>
+
 </mapper>

+ 1 - 1
module_ems/src/main/java/org/jeecg/modules/dataElectricityDay/entity/DataElectricityDay.java

@@ -33,7 +33,7 @@ public class DataElectricityDay implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**一天电量ID*/
-	@Excel(name = "一天电量ID", width = 15)
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "一天电量ID")
     private java.lang.Long id;
 	/**点位ID*/

+ 1 - 1
module_ems/src/main/java/org/jeecg/modules/dataPower/entity/DataPower.java

@@ -33,7 +33,7 @@ public class DataPower implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**设备实时功率ID*/
-	@Excel(name = "设备实时功率ID", width = 15)
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "设备实时功率ID")
     private java.lang.Long id;
 	/**点位ID*/

+ 8 - 0
module_ems/src/main/java/org/jeecg/modules/dataPower/mapper/DataPowerMapper.java

@@ -16,4 +16,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 @Mapper
 public interface DataPowerMapper extends BaseMapper<DataPower> {
 
+
+    /**
+     * 按日期查询功率
+     *
+     * @param power 功率
+     * @return 功率集合
+     */
+    public List<DataPower> selectPowerByDay(DataPower power);
 }

+ 28 - 0
module_ems/src/main/java/org/jeecg/modules/dataPower/mapper/xml/DataPowerMapper.xml

@@ -2,4 +2,32 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.dataPower.mapper.DataPowerMapper">
 
+    <resultMap type="org.jeecg.modules.dataPower.entity.DataPower" id="DataPowerResult">
+        <result property="id"    column="id"    />
+        <result property="tagid"    column="tagid"    />
+        <result property="tagname"    column="tagname"    />
+        <result property="equipmentid"    column="equipmentid"    />
+        <result property="equipmentname"    column="equipmentname"    />
+        <result property="logtime"    column="logtime"    />
+        <result property="tagvalue"    column="tagvalue"    />
+        <result property="year"    column="year"    />
+        <result property="month"    column="month"    />
+        <result property="day"    column="day"    />
+        <result property="time"    column="time"    />
+        <result property="yearmonth"    column="yearmonth"    />
+        <result property="week"    column="week"    />
+        <result property="dayofweek"    column="dayofweek"    />
+    </resultMap>
+
+    <!--按日期查询功率-->
+    <select id="selectPowerByDay" parameterType="org.jeecg.modules.dataPower.entity.DataPower" resultMap="DataPowerResult">
+        select tagname, equipmentid, equipmentname, logtime, tagvalue, time
+        from ems_data_power
+        <where>
+            <if test="equipmentid != null and equipmentid != ''"> and equipmentid = #{equipmentid}</if>
+            <if test="day != null  and day != ''"> and `day` = #{day}</if>
+        </where>
+        order by id asc
+    </select>
+
 </mapper>

+ 1 - 1
module_ems/src/main/java/org/jeecg/modules/dataVoltage/entity/DataVoltage.java

@@ -33,7 +33,7 @@ public class DataVoltage implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**设备实时电压ID*/
-	@Excel(name = "设备实时电压ID", width = 15)
+    @TableId(type = IdType.AUTO)
     @ApiModelProperty(value = "设备实时电压ID")
     private java.lang.Long id;
 	/**点位ID*/

+ 8 - 0
module_ems/src/main/java/org/jeecg/modules/dataVoltage/mapper/DataVoltageMapper.java

@@ -16,4 +16,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 @Mapper
 public interface DataVoltageMapper extends BaseMapper<DataVoltage> {
 
+
+    /**
+     * 按日期、点位名查询设备实时电压列表
+     *
+     * @param voltage 设备实时电压
+     * @return 设备实时电压集合
+     */
+    public List<DataVoltage> selectVoltageByDay(DataVoltage voltage);
 }

+ 28 - 0
module_ems/src/main/java/org/jeecg/modules/dataVoltage/mapper/xml/DataVoltageMapper.xml

@@ -2,4 +2,32 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.dataVoltage.mapper.DataVoltageMapper">
 
+    <resultMap type="org.jeecg.modules.dataVoltage.entity.DataVoltage" id="DataVoltageResult">
+        <result property="id"    column="id"    />
+        <result property="tagid"    column="tagid"    />
+        <result property="tagname"    column="tagname"    />
+        <result property="equipmentid"    column="equipmentid"    />
+        <result property="equipmentname"    column="equipmentname"    />
+        <result property="logtime"    column="logtime"    />
+        <result property="tagvalue"    column="tagvalue"    />
+        <result property="year"    column="year"    />
+        <result property="month"    column="month"    />
+        <result property="day"    column="day"    />
+        <result property="time"    column="time"    />
+        <result property="yearmonth"    column="yearmonth"    />
+        <result property="week"    column="week"    />
+        <result property="dayofweek"    column="dayofweek"    />
+    </resultMap>
+
+    <!--按日期查询电压-->
+    <select id="selectVoltageByDay" parameterType="org.jeecg.modules.dataVoltage.entity.DataVoltage" resultMap="DataVoltageResult">
+        select tagname, equipmentid, equipmentname, logtime, tagvalue, time
+        from ems_data_voltage
+        <where>
+            <if test="equipmentid != null and equipmentid != ''"> and equipmentid = #{equipmentid}</if>
+            <if test="tagname != null and tagname != ''"> and tagname = #{tagname}</if>
+            <if test="day != null and day != ''"> and `day` = #{day}</if>
+        </where>
+        order by id asc
+    </select>
 </mapper>

+ 84 - 2
module_ems/src/main/java/org/jeecg/modules/emsStatistics/service/impl/IEmsStatisticsServiceImpl.java

@@ -5,9 +5,13 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.baseSpace.entity.Space;
 import org.jeecg.modules.baseSpace.service.ISpaceService;
+import org.jeecg.modules.dataCurrent.entity.DataCurrent;
 import org.jeecg.modules.dataCurrent.mapper.DataCurrentMapper;
+import org.jeecg.modules.dataElectricity.entity.DataElectricity;
 import org.jeecg.modules.dataElectricity.mapper.DataElectricityMapper;
+import org.jeecg.modules.dataPower.entity.DataPower;
 import org.jeecg.modules.dataPower.mapper.DataPowerMapper;
+import org.jeecg.modules.dataVoltage.entity.DataVoltage;
 import org.jeecg.modules.dataVoltage.mapper.DataVoltageMapper;
 import org.jeecg.modules.elecfeeBase.entity.ElecfeeBase;
 import org.jeecg.modules.elecfeeBase.mapper.ElecfeeBaseMapper;
@@ -15,11 +19,14 @@ import org.jeecg.modules.emsStatistics.entity.EmsStatistics;
 import org.jeecg.modules.emsStatistics.mapper.EmsStatisticsMapper;
 import org.jeecg.modules.emsStatistics.service.IEmsStatisticsService;
 import org.jeecg.modules.energyItem.mapper.EnergyItemMapper;
+import org.jeecg.modules.equipmentStatus.entity.EquipmentStatus;
+import org.jeecg.modules.equipmentStatus.mapper.EquipmentStatusMapper;
 import org.jeecg.modules.tpmEquipment.entity.TpmEquipment;
 import org.jeecg.modules.tpmEquipment.mapper.TpmEquipmentMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.temporal.IsoFields;
@@ -27,7 +34,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
-public class IEmsStatisticsServiceImpl implements IEmsStatisticsService {
+public class EmsStatisticsServiceImpl implements IEmsStatisticsService {
 
     @Autowired
     private EmsStatisticsMapper emsStatisticsMapper;
@@ -56,6 +63,8 @@ public class IEmsStatisticsServiceImpl implements IEmsStatisticsService {
     @Autowired
     private DataPowerMapper dataPowerMapper;
 
+    @Autowired
+    private EquipmentStatusMapper equipmentStatusMapper;
     /**
      * 能耗总览
      *
@@ -401,7 +410,80 @@ public class IEmsStatisticsServiceImpl implements IEmsStatisticsService {
      */
     @Override
     public Result<Object> searchEquipmentDetail(String equipmentid, String day, String tagtype) {
-        return null;
+        List rtn = new ArrayList();
+        EquipmentStatus equipmentStatus = equipmentStatusMapper.selectStatusByEquipmentid(equipmentid);
+        String tagname = "";
+        switch (tagtype) {
+            case "electricity":
+                DataElectricity emsElectricity = new DataElectricity();
+                emsElectricity.setEquipmentid(equipmentid);
+                emsElectricity.setDay(day);
+                List<DataElectricity> elecList = electricityMapper.selectElectricityByDay(emsElectricity);
+
+                // 电量,计算累计值
+                Double elecsum = 0D;
+                DecimalFormat df = new DecimalFormat("#.00");
+                if (elecList != null && elecList.size() > 0) {
+                    for (int i = 0; i < elecList.size(); i++) {
+                        elecsum += elecList.get(i).getTagvalue() == null ? 0 : elecList.get(i).getTagvalue();
+                        elecList.get(i).setTagvalue(Double.parseDouble(df.format(elecsum)));
+                    }
+                }
+
+                rtn = elecList;
+                break;
+            case "currentA":
+            case "currentB":
+            case "currentC":
+                if (equipmentStatus == null) {
+                    break;
+                }
+                if ("currentA".equals(tagtype)) {
+                    tagname = equipmentStatus.getTagnameca();
+                }
+                else if ("currentB".equals(tagtype)) {
+                    tagname = equipmentStatus.getTagnamecb();
+                }
+                else {
+                    tagname = equipmentStatus.getTagnamecc();
+                }
+                DataCurrent emsCurrent = new DataCurrent();
+                emsCurrent.setEquipmentid(equipmentid);
+                emsCurrent.setTagname(tagname);
+                emsCurrent.setDay(day);
+                rtn = dataCurrentMapper.selectCurrentByDay(emsCurrent);
+                break;
+            case "voltageA":
+            case "voltageB":
+            case "voltageC":
+                if (equipmentStatus == null) {
+                    break;
+                }
+                if ("voltageA".equals(tagtype)) {
+                    tagname = equipmentStatus.getTagnameva();
+                }
+                else if ("voltageB".equals(tagtype)) {
+                    tagname = equipmentStatus.getTagnamevb();
+                }
+                else {
+                    tagname = equipmentStatus.getTagnamevc();
+                }
+                DataVoltage emsVoltage = new DataVoltage();
+                emsVoltage.setEquipmentid(equipmentid);
+                emsVoltage.setTagname(tagname);
+                emsVoltage.setDay(day);
+                rtn = dataVoltageMapper.selectVoltageByDay(emsVoltage);
+                break;
+            case "power":
+                DataPower emsPower = new DataPower();
+                emsPower.setEquipmentid(equipmentid);
+                emsPower.setDay(day);
+                rtn = dataPowerMapper.selectPowerByDay(emsPower);
+                break;
+            default:
+                break;
+        }
+        return Result.OK(rtn);
     }
 
 

+ 15 - 15
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/controller/EquipmentOnoffController.java

@@ -37,12 +37,12 @@ import io.swagger.annotations.ApiOperation;
 import org.jeecg.common.aspect.annotation.AutoLog;
 
  /**
- * @Description: tpm_equipment_onoff
+ * @Description: 设备运行情况详情
  * @Author: jeecg-boot
  * @Date:   2024-02-16
  * @Version: V1.0
  */
-@Api(tags="tpm_equipment_onoff")
+@Api(tags="设备运行情况详情")
 @RestController
 @RequestMapping("/equipmentOnoff/equipmentOnoff")
 @Slf4j
@@ -59,8 +59,8 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
 	 * @param req
 	 * @return
 	 */
-	//@AutoLog(value = "tpm_equipment_onoff-分页列表查询")
-	@ApiOperation(value="tpm_equipment_onoff-分页列表查询", notes="tpm_equipment_onoff-分页列表查询")
+	//@AutoLog(value = "设备运行情况详情-分页列表查询")
+	@ApiOperation(value="设备运行情况详情-分页列表查询", notes="设备运行情况详情-分页列表查询")
 	@GetMapping(value = "/list")
 	public Result<IPage<EquipmentOnoff>> queryPageList(EquipmentOnoff equipmentOnoff,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -78,8 +78,8 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
 	 * @param equipmentOnoff
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff-添加")
-	@ApiOperation(value="tpm_equipment_onoff-添加", notes="tpm_equipment_onoff-添加")
+	@AutoLog(value = "设备运行情况详情-添加")
+	@ApiOperation(value="设备运行情况详情-添加", notes="设备运行情况详情-添加")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody EquipmentOnoff equipmentOnoff) {
@@ -93,8 +93,8 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
 	 * @param equipmentOnoff
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff-编辑")
-	@ApiOperation(value="tpm_equipment_onoff-编辑", notes="tpm_equipment_onoff-编辑")
+	@AutoLog(value = "设备运行情况详情-编辑")
+	@ApiOperation(value="设备运行情况详情-编辑", notes="设备运行情况详情-编辑")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
 	public Result<String> edit(@RequestBody EquipmentOnoff equipmentOnoff) {
@@ -108,8 +108,8 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
 	 * @param id
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff-通过id删除")
-	@ApiOperation(value="tpm_equipment_onoff-通过id删除", notes="tpm_equipment_onoff-通过id删除")
+	@AutoLog(value = "设备运行情况详情-通过id删除")
+	@ApiOperation(value="设备运行情况详情-通过id删除", notes="设备运行情况详情-通过id删除")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
@@ -123,8 +123,8 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
 	 * @param ids
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff-批量删除")
-	@ApiOperation(value="tpm_equipment_onoff-批量删除", notes="tpm_equipment_onoff-批量删除")
+	@AutoLog(value = "设备运行情况详情-批量删除")
+	@ApiOperation(value="设备运行情况详情-批量删除", notes="设备运行情况详情-批量删除")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff:deleteBatch")
 	@DeleteMapping(value = "/deleteBatch")
 	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
@@ -138,8 +138,8 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
 	 * @param id
 	 * @return
 	 */
-	//@AutoLog(value = "tpm_equipment_onoff-通过id查询")
-	@ApiOperation(value="tpm_equipment_onoff-通过id查询", notes="tpm_equipment_onoff-通过id查询")
+	//@AutoLog(value = "设备运行情况详情-通过id查询")
+	@ApiOperation(value="设备运行情况详情-通过id查询", notes="设备运行情况详情-通过id查询")
 	@GetMapping(value = "/queryById")
 	public Result<EquipmentOnoff> queryById(@RequestParam(name="id",required=true) String id) {
 		EquipmentOnoff equipmentOnoff = equipmentOnoffService.getById(id);
@@ -168,7 +168,7 @@ public class EquipmentOnoffController extends JeecgController<EquipmentOnoff, IE
     * @param response
     * @return
     */
-    //@RequiresPermissions("tpm_equipment_onoff:importExcel")
+    //@RequiresPermissions("设备运行情况详情:importExcel")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, EquipmentOnoff.class);

+ 5 - 4
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoff/entity/EquipmentOnoff.java

@@ -19,7 +19,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 /**
- * @Description: tpm_equipment_onoff
+ * @Description: 设备运行情况详情
  * @Author: jeecg-boot
  * @Date:   2024-02-16
  * @Version: V1.0
@@ -28,7 +28,7 @@ import lombok.experimental.Accessors;
 @TableName("tpm_equipment_onoff")
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = false)
-@ApiModel(value="tpm_equipment_onoff对象", description="tpm_equipment_onoff")
+@ApiModel(value="tpm_equipment_onoff对象", description="设备运行情况详情")
 public class EquipmentOnoff implements Serializable {
     private static final long serialVersionUID = 1L;
 
@@ -37,9 +37,10 @@ public class EquipmentOnoff implements Serializable {
     @ApiModelProperty(value = "设备运行状态记录id")
     private java.lang.Integer id;
 	/**设备id*/
-	@Excel(name = "设备id", width = 15)
+    @Excel(name = "设备ID", width = 15, dictTable = "tpm_equipment", dicText = "equipmentcode", dicCode = "id")
+    @Dict(dictTable = "tpm_equipment", dicText = "equipmentcode", dicCode = "id")
     @ApiModelProperty(value = "设备id")
-    private java.lang.Integer equipmentid;
+    private java.lang.String equipmentid;
 	/**设备名称*/
 	@Excel(name = "设备名称", width = 15)
     @ApiModelProperty(value = "设备名称")

+ 45 - 14
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/controller/EquipmentOnoffSectionController.java

@@ -9,6 +9,9 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import org.apache.ibatis.mapping.ParameterMap;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
@@ -20,6 +23,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.system.entity.SysUser;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -37,12 +41,12 @@ import io.swagger.annotations.ApiOperation;
 import org.jeecg.common.aspect.annotation.AutoLog;
 
  /**
- * @Description: tpm_equipment_onoff_section
+ * @Description: 设备运行情况
  * @Author: jeecg-boot
  * @Date:   2024-02-16
  * @Version: V1.0
  */
-@Api(tags="tpm_equipment_onoff_section")
+@Api(tags="设备运行情况")
 @RestController
 @RequestMapping("/equipmentOnoffSection/equipmentOnoffSection")
 @Slf4j
@@ -59,8 +63,8 @@ public class EquipmentOnoffSectionController extends JeecgController<EquipmentOn
 	 * @param req
 	 * @return
 	 */
-	//@AutoLog(value = "tpm_equipment_onoff_section-分页列表查询")
-	@ApiOperation(value="tpm_equipment_onoff_section-分页列表查询", notes="tpm_equipment_onoff_section-分页列表查询")
+	//@AutoLog(value = "设备运行情况-分页列表查询")
+	@ApiOperation(value="设备运行情况-分页列表查询", notes="设备运行情况-分页列表查询")
 	@GetMapping(value = "/list")
 	public Result<IPage<EquipmentOnoffSection>> queryPageList(EquipmentOnoffSection equipmentOnoffSection,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@@ -78,8 +82,8 @@ public class EquipmentOnoffSectionController extends JeecgController<EquipmentOn
 	 * @param equipmentOnoffSection
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff_section-添加")
-	@ApiOperation(value="tpm_equipment_onoff_section-添加", notes="tpm_equipment_onoff_section-添加")
+	@AutoLog(value = "设备运行情况-添加")
+	@ApiOperation(value="设备运行情况-添加", notes="设备运行情况-添加")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff_section:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody EquipmentOnoffSection equipmentOnoffSection) {
@@ -93,8 +97,8 @@ public class EquipmentOnoffSectionController extends JeecgController<EquipmentOn
 	 * @param equipmentOnoffSection
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff_section-编辑")
-	@ApiOperation(value="tpm_equipment_onoff_section-编辑", notes="tpm_equipment_onoff_section-编辑")
+	@AutoLog(value = "设备运行情况-编辑")
+	@ApiOperation(value="设备运行情况-编辑", notes="设备运行情况-编辑")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff_section:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
 	public Result<String> edit(@RequestBody EquipmentOnoffSection equipmentOnoffSection) {
@@ -108,8 +112,8 @@ public class EquipmentOnoffSectionController extends JeecgController<EquipmentOn
 	 * @param id
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff_section-通过id删除")
-	@ApiOperation(value="tpm_equipment_onoff_section-通过id删除", notes="tpm_equipment_onoff_section-通过id删除")
+	@AutoLog(value = "设备运行情况-通过id删除")
+	@ApiOperation(value="设备运行情况-通过id删除", notes="设备运行情况-通过id删除")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff_section:delete")
 	@DeleteMapping(value = "/delete")
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
@@ -123,8 +127,8 @@ public class EquipmentOnoffSectionController extends JeecgController<EquipmentOn
 	 * @param ids
 	 * @return
 	 */
-	@AutoLog(value = "tpm_equipment_onoff_section-批量删除")
-	@ApiOperation(value="tpm_equipment_onoff_section-批量删除", notes="tpm_equipment_onoff_section-批量删除")
+	@AutoLog(value = "设备运行情况-批量删除")
+	@ApiOperation(value="设备运行情况-批量删除", notes="设备运行情况-批量删除")
 	//@RequiresPermissions("org.jeecg.modules:tpm_equipment_onoff_section:deleteBatch")
 	@DeleteMapping(value = "/deleteBatch")
 	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
@@ -138,8 +142,8 @@ public class EquipmentOnoffSectionController extends JeecgController<EquipmentOn
 	 * @param id
 	 * @return
 	 */
-	//@AutoLog(value = "tpm_equipment_onoff_section-通过id查询")
-	@ApiOperation(value="tpm_equipment_onoff_section-通过id查询", notes="tpm_equipment_onoff_section-通过id查询")
+	//@AutoLog(value = "设备运行情况-通过id查询")
+	@ApiOperation(value="设备运行情况-通过id查询", notes="设备运行情况-通过id查询")
 	@GetMapping(value = "/queryById")
 	public Result<EquipmentOnoffSection> queryById(@RequestParam(name="id",required=true) String id) {
 		EquipmentOnoffSection equipmentOnoffSection = equipmentOnoffSectionService.getById(id);
@@ -174,4 +178,31 @@ public class EquipmentOnoffSectionController extends JeecgController<EquipmentOn
         return super.importExcel(request, response, EquipmentOnoffSection.class);
     }
 
+	 /**
+	  * 获取设备运行时间段信息(状态横向)
+	  */
+//	 @RequiresPermissions("@ss.hasPermi('tpm:tpmequipmentonoffsection:list')")
+	 @GetMapping("/listtransverse")
+	 public Result<IPage<EquipmentOnoffSection>> listtransverse(EquipmentOnoffSection equipmentOnoffSection,
+															   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+															   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+															   HttpServletRequest req) {
+		 java.util.Map<java.lang.String,java.lang.String[]> params = req.getParameterMap();
+		 Page<EquipmentOnoffSection> page = new Page<EquipmentOnoffSection>(pageNo, pageSize);
+
+		 IPage<EquipmentOnoffSection> pageList = equipmentOnoffSectionService.selectOnoffTransverseList(page, params.get("equipmentid")[0], params.get("day_begin")[0], params.get("day_end")[0]);
+		 return Result.OK(pageList);
+	 }
+
+
+	 /**
+	  * 获取设备运行时间段信息(状态横向)
+	  */
+//	 @RequiresPermissions("@ss.hasPermi('tpm:tpmequipmentonoffsection:list')")
+	 @GetMapping("/gettransverse")
+	 public Result getTransverse(EquipmentOnoffSection equipmentOnoffSection, HttpServletRequest req) {
+		 java.util.Map<java.lang.String,java.lang.String[]> params = req.getParameterMap();
+		 List<EquipmentOnoffSection> list = equipmentOnoffSectionService.selectOnoffTransverse(params.get("day_begin")[0], params.get("day_end")[0]);
+		 return Result.OK(list);
+	 }
 }

+ 25 - 8
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/entity/EquipmentOnoffSection.java

@@ -4,10 +4,8 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -19,7 +17,7 @@ import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
 /**
- * @Description: tpm_equipment_onoff_section
+ * @Description: 设备运行情况
  * @Author: jeecg-boot
  * @Date:   2024-02-16
  * @Version: V1.0
@@ -28,7 +26,7 @@ import lombok.experimental.Accessors;
 @TableName("tpm_equipment_onoff_section")
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = false)
-@ApiModel(value="tpm_equipment_onoff_section对象", description="tpm_equipment_onoff_section")
+@ApiModel(value="tpm_equipment_onoff_section对象", description="设备运行情况")
 public class EquipmentOnoffSection implements Serializable {
     private static final long serialVersionUID = 1L;
 
@@ -37,9 +35,10 @@ public class EquipmentOnoffSection implements Serializable {
     @ApiModelProperty(value = "设备运行状态时间段id")
     private java.lang.Integer id;
 	/**设备id*/
-	@Excel(name = "设备id", width = 15)
+    @Excel(name = "设备ID", width = 15, dictTable = "tpm_equipment", dicText = "equipmentname", dicCode = "id")
+    @Dict(dictTable = "tpm_equipment", dicText = "equipmentname", dicCode = "id")
     @ApiModelProperty(value = "设备id")
-    private java.lang.Integer equipmentid;
+    private String equipmentid;
 	/**设备状态:1运行、2待机、3停机*/
 	@Excel(name = "设备状态:1运行、2待机、3停机", width = 15)
     @ApiModelProperty(value = "设备状态:1运行、2待机、3停机")
@@ -88,4 +87,22 @@ public class EquipmentOnoffSection implements Serializable {
 	@Excel(name = "周几", width = 15)
     @ApiModelProperty(value = "周几")
     private java.lang.Integer dayofweek;
+
+
+    /**设备编号*/
+    @TableField(exist = false)
+    @ApiModelProperty(value = "设备编号")
+    private String equipmentcode;
+    /**运行时长(分钟)*/
+    @TableField(exist = false)
+    @ApiModelProperty(value = "运行时长(分钟)")
+    private String onduration;
+    /**待机时长(分钟)*/
+    @TableField(exist = false)
+    @ApiModelProperty(value = "待机时长(分钟)")
+    private String pauseduration;
+    /**关机时长(分钟)*/
+    @TableField(exist = false)
+    @ApiModelProperty(value = "关机时长(分钟)")
+    private String offduration;
 }

+ 22 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/mapper/EquipmentOnoffSectionMapper.java

@@ -2,9 +2,12 @@ package org.jeecg.modules.equipmentOnoffSection.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.equipmentOnoffSection.entity.EquipmentOnoffSection;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.system.entity.SysUser;
 
 /**
  * @Description: tpm_equipment_onoff_section
@@ -14,4 +17,23 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface EquipmentOnoffSectionMapper extends BaseMapper<EquipmentOnoffSection> {
 
+    /**
+     * 获取设备运行时间段信息(状态横向)
+     * @param page
+     * @param equipmentid 设备id
+     * @param begintime 开始日期
+     * @param endtime 结束日期
+     * @return
+     */
+    public IPage<EquipmentOnoffSection> selectOnoffTransverseList(Page<EquipmentOnoffSection> page, @Param("equipmentid") String equipmentid,
+                                         @Param("begintime") String begintime, @Param("endtime") String endtime);
+
+    /**
+     * 获取设备运行时间段信息(状态横向)
+     * @param begintime 开始日期
+     * @param endtime 结束日期
+     * @return
+     */
+    public List<EquipmentOnoffSection> selectOnoffTransverse(String begintime, String endtime);
+
 }

+ 61 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/mapper/xml/EquipmentOnoffSectionMapper.xml

@@ -2,4 +2,65 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.equipmentOnoffSection.mapper.EquipmentOnoffSectionMapper">
 
+    <resultMap type="org.jeecg.modules.equipmentOnoffSection.entity.EquipmentOnoffSection" id="EquipmentOnoffSectionResult">
+        <result property="id"    column="id"    />
+        <result property="equipmentid"    column="equipmentid"    />
+        <result property="status"    column="status"    />
+        <result property="starttime"    column="starttime"    />
+        <result property="endtime"    column="endtime"    />
+        <result property="duration"    column="duration"    />
+        <result property="year"    column="year"    />
+        <result property="month"    column="month"    />
+        <result property="day"    column="day"    />
+        <result property="time"    column="time"    />
+        <result property="yearmonth"    column="yearmonth"    />
+        <result property="week"    column="week"    />
+        <result property="dayofweek"    column="dayofweek"    />
+        <result property="equipmentcode"    column="equipmentcode"    />
+        <result property="onduration"    column="onduration"    />
+        <result property="pauseduration"    column="pauseduration"    />
+        <result property="offduration"    column="offduration"    />
+    </resultMap>
+
+    <!--获取设备运行时间段信息(状态横向)-->
+    <select id="selectOnoffTransverseList" resultMap="EquipmentOnoffSectionResult">
+        select s.equipmentid, e.equipmentcode, o.day, sum(o.duration) as duration,
+            sum( CASE o.status WHEN "1" THEN o.duration ELSE 0 END ) as onduration,
+            sum( CASE o.status WHEN "2" THEN o.duration ELSE 0 END ) as pauseduration,
+            sum( CASE o.status WHEN "3" THEN o.duration ELSE 0 END ) as offduration
+        from tpm_equipment_status as s, tpm_equipment_onoff_section as o
+        left join tpm_equipment as e
+            on o.equipmentid=e.id
+        where s.equipmentid=o.equipmentid
+        <if test="equipmentid != null and equipmentid != ''"> and o.equipmentid = #{equipmentid}</if>
+        <if test="begintime != null and begintime != ''"><!-- 开始时间检索 -->
+            and o.day &gt;= #{begintime}
+        </if>
+        <if test="endtime != null and endtime != ''"><!-- 结束时间检索 -->
+            and o.day &lt;= #{endtime}
+        </if>
+        group by o.equipmentid, o.day
+        order by o.day desc
+    </select>
+
+    <!--获取设备运行时间段信息(状态横向)-->
+    <select id="selectOnoffTransverse" resultMap="EquipmentOnoffSectionResult">
+        select s.equipmentid, e.equipmentcode, sum(o.duration) as duration,
+            sum( CASE o.status WHEN "1" THEN o.duration ELSE 0 END ) as onduration,
+            sum( CASE o.status WHEN "2" THEN o.duration ELSE 0 END ) as pauseduration,
+            sum( CASE o.status WHEN "3" THEN o.duration ELSE 0 END ) as offduration
+        from tpm_equipment_status as s, tpm_equipment_onoff_section as o
+        left join tpm_equipment as e
+            on o.equipmentid=e.id
+        where s.equipmentid=o.equipmentid
+        <if test="begintime != null and begintime != ''"><!-- 开始时间检索 -->
+            and o.day &gt;= #{begintime}
+        </if>
+        <if test="endtime != null and endtime != ''"><!-- 结束时间检索 -->
+            and o.day &lt;= #{endtime}
+        </if>
+        group by o.equipmentid
+        order by o.equipmentid asc
+    </select>
+
 </mapper>

+ 23 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/service/IEquipmentOnoffSectionService.java

@@ -1,7 +1,12 @@
 package org.jeecg.modules.equipmentOnoffSection.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.equipmentOnoffSection.entity.EquipmentOnoffSection;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.entity.SysUser;
+
+import java.util.List;
 
 /**
  * @Description: tpm_equipment_onoff_section
@@ -11,4 +16,22 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEquipmentOnoffSectionService extends IService<EquipmentOnoffSection> {
 
+    /**
+     * 获取设备运行时间段信息(状态横向)
+     * @param page
+     * @param equipmentid 设备id
+     * @param begintime 开始日期
+     * @param endtime 结束日期
+     * @return
+     */
+    public IPage<EquipmentOnoffSection> selectOnoffTransverseList(Page<EquipmentOnoffSection> page, String equipmentid, String begintime, String endtime);
+
+    /**
+     * 获取设备运行时间段信息(状态横向)
+     * @param begintime 开始日期
+     * @param endtime 结束日期
+     * @return
+     */
+    public List<EquipmentOnoffSection> selectOnoffTransverse(String begintime, String endtime);
+
 }

+ 33 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentOnoffSection/service/impl/EquipmentOnoffSectionServiceImpl.java

@@ -1,12 +1,18 @@
 package org.jeecg.modules.equipmentOnoffSection.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.equipmentOnoffSection.entity.EquipmentOnoffSection;
 import org.jeecg.modules.equipmentOnoffSection.mapper.EquipmentOnoffSectionMapper;
 import org.jeecg.modules.equipmentOnoffSection.service.IEquipmentOnoffSectionService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.List;
+
 /**
  * @Description: tpm_equipment_onoff_section
  * @Author: jeecg-boot
@@ -16,4 +22,31 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class EquipmentOnoffSectionServiceImpl extends ServiceImpl<EquipmentOnoffSectionMapper, EquipmentOnoffSection> implements IEquipmentOnoffSectionService {
 
+    @Autowired
+    private EquipmentOnoffSectionMapper onoffSectionMapper;
+
+    /**
+     * 获取设备运行时间段信息(状态横向)
+     * @param page
+     * @param equipmentid 设备id
+     * @param begintime 开始日期
+     * @param endtime 结束日期
+     * @return
+     */
+    @Override
+    public IPage<EquipmentOnoffSection> selectOnoffTransverseList(Page<EquipmentOnoffSection> page, String equipmentid, String begintime, String endtime) {
+        return onoffSectionMapper.selectOnoffTransverseList(page, equipmentid, begintime, endtime);
+    }
+
+    /**
+     * 获取设备运行时间段信息(状态横向)
+     * @param begintime 开始日期
+     * @param endtime 结束日期
+     * @return
+     */
+    @Override
+    public List<EquipmentOnoffSection> selectOnoffTransverse(String begintime, String endtime) {
+        return onoffSectionMapper.selectOnoffTransverse(begintime, endtime);
+    }
+
 }

+ 19 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/controller/EquipmentStatusController.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.equipmentStatus.controller;
 
+import java.text.SimpleDateFormat;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -174,4 +176,21 @@ public class EquipmentStatusController extends JeecgController<EquipmentStatus,
         return super.importExcel(request, response, EquipmentStatus.class);
     }
 
+
+	 /**
+	  * 导出excel
+	  * 获取设备当天用电量
+	  * @param day 日期
+	  */
+	 @ApiOperation("获取设备当天用电量")
+	 @GetMapping("/getElectricity")
+	 public Result getEquipmentElectricity(String day) {
+		 //获取当前日期
+		 if (day == null || "".equals(day)) {
+			 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+			 Date currentdate = new Date();
+			 day = simpleDateFormat.format(currentdate);
+		 }
+	 	return Result.OK(equipmentStatusService.getEquipmentElectricity(day));
+	 }
 }

+ 17 - 8
module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/entity/EquipmentStatus.java

@@ -4,10 +4,8 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -33,9 +31,8 @@ public class EquipmentStatus implements Serializable {
     private static final long serialVersionUID = 1L;
 
 	/**设备状态ID*/
-	@TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "设备状态ID")
-    private java.lang.Integer id;
+    private String id;
 	/**创建者*/
     @ApiModelProperty(value = "创建者")
     private java.lang.String createBy;
@@ -57,9 +54,10 @@ public class EquipmentStatus implements Serializable {
     @ApiModelProperty(value = "备注")
     private java.lang.String remark;
 	/**设备ID*/
-	@Excel(name = "设备ID", width = 15)
+    @Excel(name = "设备ID", width = 15, dictTable = "tpm_equipment", dicText = "equipmentname", dicCode = "id")
+    @Dict(dictTable = "tpm_equipment", dicText = "equipmentname", dicCode = "id")
     @ApiModelProperty(value = "设备ID")
-    private java.lang.Integer equipmentid;
+    private java.lang.String equipmentid;
 	/**额定功率(KWh)*/
 	@Excel(name = "额定功率(KWh)", width = 15)
     @ApiModelProperty(value = "额定功率(KWh)")
@@ -130,4 +128,15 @@ public class EquipmentStatus implements Serializable {
 	@Excel(name = "状态:0正常、1运行、2待机、3停机", width = 15)
     @ApiModelProperty(value = "状态:0正常、1运行、2待机、3停机")
     private java.lang.String status;
+
+
+    /**设备编号*/
+    @TableField(exist = false)
+    @ApiModelProperty(value = "设备编号")
+    private String equipmentcode;
+
+    /**值*/
+    @TableField(exist = false)
+    @ApiModelProperty(value = "值")
+    private float tagvalue;
 }

+ 16 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/mapper/EquipmentStatusMapper.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.equipmentStatus.mapper;
 import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.equipmentOnoffSection.entity.EquipmentOnoffSection;
 import org.jeecg.modules.equipmentStatus.entity.EquipmentStatus;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -14,4 +15,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface EquipmentStatusMapper extends BaseMapper<EquipmentStatus> {
 
+    /**
+     * 获取设备当天的总用电量
+     * @param day 日期
+     * @return
+     */
+    public List<EquipmentStatus> getEquipmentElectricity(@Param("day") String day);
+
+    /**
+     * 查询设备状态
+     *
+     * @param equipmentid 设备ID
+     * @return 设备状态
+     */
+    public EquipmentStatus selectStatusByEquipmentid(@Param("equipmentid") String equipmentid);
+
 }

+ 45 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/mapper/xml/EquipmentStatusMapper.xml

@@ -2,4 +2,49 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.equipmentStatus.mapper.EquipmentStatusMapper">
 
+    <resultMap type="org.jeecg.modules.equipmentStatus.entity.EquipmentStatus" id="EquipmentStatusResult">
+        <result property="id"    column="id"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+        <result property="equipmentid"    column="equipmentid"    />
+        <result property="ratedpower"    column="ratedpower"    />
+        <result property="tagnamep"    column="tagnamep"    />
+        <result property="tagnameca"    column="tagnameca"    />
+        <result property="tagnameva"    column="tagnameva"    />
+        <result property="tagnamecb"    column="tagnamecb"    />
+        <result property="tagnamevb"    column="tagnamevb"    />
+        <result property="tagnamecc"    column="tagnamecc"    />
+        <result property="tagnamevc"    column="tagnamevc"    />
+        <result property="tagvaluep"    column="tagvaluep"    />
+        <result property="tagvalueca"    column="tagvalueca"    />
+        <result property="tagvalueva"    column="tagvalueva"    />
+        <result property="tagvaluecb"    column="tagvaluecb"    />
+        <result property="tagvaluevb"    column="tagvaluevb"    />
+        <result property="tagvaluecc"    column="tagvaluecc"    />
+        <result property="tagvaluevc"    column="tagvaluevc"    />
+        <result property="logtime"    column="logtime"    />
+        <result property="status"    column="status"    />
+        <result property="equipmentcode"    column="equipmentcode"    />
+        <result property="tagvalue"    column="tagvalue"    />
+    </resultMap>
+
+    <select id="getEquipmentElectricity" resultMap="EquipmentStatusResult">
+        select s.equipmentid,s.status, e.equipmentcode, d.electricityvalue as tagvalue,
+            s.tagvaluep, s.tagvalueca, s.tagvalueva, s.tagvaluecb, s.tagvaluevb, s.tagvaluecc, s.tagvaluevc
+        from tpm_equipment_status as s
+        left join tpm_equipment as e
+            on s.equipmentid=e.id
+        left join ems_data_electricity_day as d
+            on s.equipmentid=d.equipmentid and d.day = #{day}
+    </select>
+
+    <select id="selectStatusByEquipmentid" resultMap="EquipmentStatusResult">
+        select *
+        from tpm_equipment_status
+        where equipmentid = #{equipmentid}
+    </select>
+
 </mapper>

+ 10 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/service/IEquipmentStatusService.java

@@ -1,8 +1,11 @@
 package org.jeecg.modules.equipmentStatus.service;
 
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.equipmentStatus.entity.EquipmentStatus;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * @Description: 设备状态定义
  * @Author: jeecg-boot
@@ -11,4 +14,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IEquipmentStatusService extends IService<EquipmentStatus> {
 
+    /**
+     * 获取设备当天的总用电量
+     * @param day 日期
+     * @return
+     */
+    public List<EquipmentStatus> getEquipmentElectricity(String day);
+
 }

+ 15 - 0
module_tpm/src/main/java/org/jeecg/modules/equipmentStatus/service/impl/EquipmentStatusServiceImpl.java

@@ -3,10 +3,13 @@ package org.jeecg.modules.equipmentStatus.service.impl;
 import org.jeecg.modules.equipmentStatus.entity.EquipmentStatus;
 import org.jeecg.modules.equipmentStatus.mapper.EquipmentStatusMapper;
 import org.jeecg.modules.equipmentStatus.service.IEquipmentStatusService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import java.util.List;
+
 /**
  * @Description: 设备状态定义
  * @Author: jeecg-boot
@@ -16,4 +19,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class EquipmentStatusServiceImpl extends ServiceImpl<EquipmentStatusMapper, EquipmentStatus> implements IEquipmentStatusService {
 
+    @Autowired
+    EquipmentStatusMapper equipmentStatusMapper;
+    /**
+     * 获取设备当天的总用电量
+     * @param day 日期
+     * @return
+     */
+    @Override
+    public List<EquipmentStatus> getEquipmentElectricity(String day) {
+        return equipmentStatusMapper.getEquipmentElectricity(day);
+    }
+
 }