From ceb82b46aff1f20e5670a199aa2e0eef87ccd5a8 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期五, 16 六月 2023 20:15:42 +0800 Subject: [PATCH] 预警与能耗 --- igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5502.java | 72 ++++++++++ igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5801.java | 46 ++++++ igds-api-phone/src/main/java/com/ld/igds/phone35/dto/Dto5501.java | 2 igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoWarn.java | 31 ++++ igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35WarnCommonParam.java | 18 ++ igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoEnergy.java | 26 +++ igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5503.java | 70 ++++++++++ igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml | 71 ++++++++++ igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5802.java | 38 +++++ igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java | 37 ++++ 10 files changed, 406 insertions(+), 5 deletions(-) diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/Dto5501.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/Dto5501.java index 37b087a..ab2def7 100644 --- a/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/Dto5501.java +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/Dto5501.java @@ -6,6 +6,8 @@ import java.util.Date; /** + * 瀹炴柦閰嶇數鏁版嵁灏佽 + * * @Author:YAN */ @Data diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoEnergy.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoEnergy.java new file mode 100644 index 0000000..71a9a25 --- /dev/null +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoEnergy.java @@ -0,0 +1,26 @@ +package com.ld.igds.phone35.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @Author:YAN + */ +@Data +public class DtoEnergy { + + private String depotId; + private String depotName; + private double epSum; + private double eqSum; + private double esSum; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date updateTime; + + private double ep; + private double eq; + private double es; + +} diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoWarn.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoWarn.java new file mode 100644 index 0000000..02479e5 --- /dev/null +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/dto/DtoWarn.java @@ -0,0 +1,31 @@ +package com.ld.igds.phone35.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * 璀﹀憡璁板綍灏佽 + * + * @Author:YAN + */ +@Data +public class DtoWarn { + + + private String id; + private String name; + private String type; + private String bizType; + private String level; + private String status; + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date time; + private String info; + private String depotId; + private String depotName; + private String remark; + + +} diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java index a7393e5..5156d18 100644 --- a/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/mapper/Phone35Mapper.java @@ -1,9 +1,9 @@ package com.ld.igds.phone35.mapper; -import com.ld.igds.phone35.dto.Dto5501; -import com.ld.igds.phone35.dto.DtoPhoneGas; -import com.ld.igds.phone35.dto.DtoPhonePest; +import com.ld.igds.phone35.dto.*; +import com.ld.igds.phone35.param.Phone35DepotCommonParam; +import com.ld.igds.phone35.param.Phone35WarnCommonParam; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -39,4 +39,35 @@ * @return */ List<Dto5501> getRealEnergyByDept(@Param("companyId") String companyId, @Param("deptId") String deptId); + + /** + * 鑾峰彇璀﹀憡鍒楄〃 + * + * @param param + * @return + */ + List<DtoWarn> getWarnByDept(@Param("param") Phone35DepotCommonParam param); + + /** + * 璀﹀憡澶勭悊 + * + * @param param + */ + void updateWarn(@Param("param") Phone35WarnCommonParam param); + + /** + * 鑾峰彇杩滅▼鎶勮〃鍒楄〃 + * + * @param param + * @return + */ + List<DtoEnergy> getMeter(@Param("param") Phone35DepotCommonParam param); + + /** + * 鑳借�楃鐞�-浠撳簱鑳借�楁煡璇� + * + * @param param + * @return + */ + List<DtoEnergy> getEnergy(@Param("param") Phone35DepotCommonParam param); } diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35WarnCommonParam.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35WarnCommonParam.java new file mode 100644 index 0000000..2b674fb --- /dev/null +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/param/Phone35WarnCommonParam.java @@ -0,0 +1,18 @@ +package com.ld.igds.phone35.param; + +import lombok.Data; + +import java.util.Date; + +/** + * @Author:YAN + */ +@Data +public class Phone35WarnCommonParam extends Phone35CommonParam { + + private String id; + private String status; + private String remark; + private Date completeTime; + private String completeUser; +} \ No newline at end of file diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5502.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5502.java new file mode 100644 index 0000000..6da54b2 --- /dev/null +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5502.java @@ -0,0 +1,72 @@ +package com.ld.igds.phone35.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.ld.igds.constant.RespCodeEnum; +import com.ld.igds.phone35.constant.Phone35Constant; +import com.ld.igds.phone35.dto.DtoEnergy; +import com.ld.igds.phone35.dto.Phone35AuthUser; +import com.ld.igds.phone35.dto.PhoneResponse; +import com.ld.igds.phone35.mapper.Phone35Mapper; +import com.ld.igds.phone35.param.Phone35DepotCommonParam; +import com.ld.igds.phone35.param.Phone35Request; +import com.ld.igds.phone35.service.Phone35Service; +import com.ld.igds.phone35.util.Phone35Util; +import com.ld.igds.phone35.util.PhoneRespUtil; +import com.ld.igds.util.DateUtil; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +/** + * 杩滅▼鎶勮〃 + * + * @Author:YAN + */ +@Service +public class Phone35ServiceImpl5502 implements Phone35Service { + + @Autowired + private Phone35Mapper phone35Mapper; + @Autowired + private Phone35Util phone35Util; + + @Override + public String getInterfaceId() { + return Phone35Constant.API_PHONE_5502; + } + + @Override + public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception { + //杞寲瀵硅薄 + Phone35DepotCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35DepotCommonParam.class); + if (null == param) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + //鍙傛暟楠岃瘉 + if (StringUtils.isEmpty(param.getDeptId())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + if (StringUtils.isEmpty(param.getDateTime())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + + Date date = DateUtils.parseDate(param.getDateTime(), "yyyy-MM-dd"); + param.setStartTime(date); + param.setEndTime(DateUtil.getNextZero(date)); + param.setCompanyId(phone35AuthUser.getCompanyId()); + List<DtoEnergy> list = phone35Mapper.getMeter(param); + Map<String, DtoEnergy> meterMap = new HashMap<>(); + for (DtoEnergy data : list) { + if (null == meterMap.get(data.getDepotId())) { + String depotName = phone35Util.getDepotName(phone35AuthUser.getCompanyId(), data.getDepotId()); + data.setDepotName(depotName); + meterMap.put(data.getDepotId(), data); + } + } + ArrayList<DtoEnergy> meterList = new ArrayList<>(meterMap.values()); + return PhoneRespUtil.success(meterList, req); + } +} diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5503.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5503.java new file mode 100644 index 0000000..b272758 --- /dev/null +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5503.java @@ -0,0 +1,70 @@ +package com.ld.igds.phone35.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.ld.igds.constant.RespCodeEnum; +import com.ld.igds.phone.util.PhoneUtil; +import com.ld.igds.phone35.constant.Phone35Constant; +import com.ld.igds.phone35.dto.DtoEnergy; +import com.ld.igds.phone35.dto.Phone35AuthUser; +import com.ld.igds.phone35.dto.PhoneResponse; +import com.ld.igds.phone35.mapper.Phone35Mapper; +import com.ld.igds.phone35.param.Phone35DepotCommonParam; +import com.ld.igds.phone35.param.Phone35Request; +import com.ld.igds.phone35.service.Phone35Service; +import com.ld.igds.phone35.util.PhoneRespUtil; +import com.ld.igds.util.DateUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Author:YAN + */ +@Service +public class Phone35ServiceImpl5503 implements Phone35Service { + + @Autowired + private Phone35Mapper phone35Mapper; + @Autowired + private PhoneUtil phone35Util; + + @Override + public String getInterfaceId() { + return Phone35Constant.API_PHONE_5503; + } + + @Override + public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception { + //杞寲瀵硅薄 + Phone35DepotCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35DepotCommonParam.class); + if (null == param) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + //鍙傛暟楠岃瘉 + if (StringUtils.isEmpty(param.getDeptId())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + if (null == param.getStartTime()) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + param.setEndTime(DateUtil.getNextZero(param.getEndTime())); + param.setCompanyId(phone35AuthUser.getCompanyId()); + List<DtoEnergy> energyList = phone35Mapper.getEnergy(param); + Map<String, DtoEnergy> energyMap = new HashMap<>(); + for (DtoEnergy data : energyList) { + //todo +// if (null == energyMap.get(data.getDepotId())) { +// String depotName = phone35Util.getDepotName(phone35AuthUser.getCompanyId(), data.getDepotId()); +// data.setDepotName(depotName); +// energyMap.put(data.getDepotId(), data); +// } + } + List<DtoEnergy> list = new ArrayList<>(); + return null; + } +} diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5801.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5801.java index 30381db..92d9766 100644 --- a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5801.java +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5801.java @@ -1,16 +1,38 @@ package com.ld.igds.phone35.service.impl; import com.alibaba.fastjson.JSONObject; +import com.ld.igds.constant.BizType; +import com.ld.igds.constant.RespCodeEnum; +import com.ld.igds.constant.WarnType; import com.ld.igds.phone35.constant.Phone35Constant; +import com.ld.igds.phone35.dto.DtoWarn; import com.ld.igds.phone35.dto.Phone35AuthUser; import com.ld.igds.phone35.dto.PhoneResponse; +import com.ld.igds.phone35.mapper.Phone35Mapper; +import com.ld.igds.phone35.param.Phone35DepotCommonParam; import com.ld.igds.phone35.param.Phone35Request; import com.ld.igds.phone35.service.Phone35Service; +import com.ld.igds.phone35.util.PhoneRespUtil; +import com.ld.igds.util.ContextUtil; +import com.ld.igds.util.DateUtil; +import com.ld.igds.warn.WarnUtils; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; /** * @Author:YAN */ +@Service public class Phone35ServiceImpl5801 implements Phone35Service { + + @Autowired + private Phone35Mapper phone35Mapper; + @Override public String getInterfaceId() { return Phone35Constant.API_PHONE_5801; @@ -18,6 +40,28 @@ @Override public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception { - return null; + //杞寲瀵硅薄 + Phone35DepotCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35DepotCommonParam.class); + if (null == param) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + //鍙傛暟楠岃瘉 + if (StringUtils.isEmpty(param.getDeptId())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + //鍙傛暟楠岃瘉 + if (StringUtils.isEmpty(param.getDateTime())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + Date date = DateUtils.parseDate(param.getDateTime(), "yyyy-MM-dd"); + param.setStartTime(date); + param.setEndTime(DateUtil.getNextZero(date)); + param.setCompanyId(phone35AuthUser.getCompanyId()); + List<DtoWarn> list = phone35Mapper.getWarnByDept(param); + for (DtoWarn warn : list) { + warn.setType(WarnType.getMsg(warn.getType())); + warn.setBizType(BizType.getMsg(warn.getBizType())); + } + return PhoneRespUtil.success(list, req); } } diff --git a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5802.java b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5802.java index 052a4e4..d2c55b9 100644 --- a/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5802.java +++ b/igds-api-phone/src/main/java/com/ld/igds/phone35/service/impl/Phone35ServiceImpl5802.java @@ -1,16 +1,33 @@ package com.ld.igds.phone35.service.impl; import com.alibaba.fastjson.JSONObject; +import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.phone35.constant.Phone35Constant; import com.ld.igds.phone35.dto.Phone35AuthUser; import com.ld.igds.phone35.dto.PhoneResponse; +import com.ld.igds.phone35.mapper.Phone35Mapper; +import com.ld.igds.phone35.param.Phone35DepotCommonParam; import com.ld.igds.phone35.param.Phone35Request; +import com.ld.igds.phone35.param.Phone35WarnCommonParam; import com.ld.igds.phone35.service.Phone35Service; +import com.ld.igds.phone35.util.PhoneRespUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; /** + * 璀﹀憡澶勭悊 + * * @Author:YAN */ +@Service public class Phone35ServiceImpl5802 implements Phone35Service { + + @Autowired + private Phone35Mapper phone35Mapper; + @Override public String getInterfaceId() { return Phone35Constant.API_PHONE_5802; @@ -18,6 +35,25 @@ @Override public PhoneResponse<Object> execute(Phone35Request<JSONObject> req, Phone35AuthUser phone35AuthUser) throws Exception { - return null; + //杞寲瀵硅薄 + Phone35WarnCommonParam param = JSONObject.parseObject(req.getData().toString(), Phone35WarnCommonParam.class); + if (null == param) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + //鍙傛暟楠岃瘉 + if (StringUtils.isEmpty(param.getId())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + //鍙傛暟楠岃瘉 + if (StringUtils.isEmpty(param.getStatus())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + //鍙傛暟楠岃瘉 + if (StringUtils.isEmpty(param.getRemark())) { + return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "鍙傛暟鏈夎锛岃閲嶈瘯锛侊紒"); + } + param.setCompleteTime(new Date()); + phone35Mapper.updateWarn(param); + return PhoneRespUtil.success(null, req); } } diff --git a/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml b/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml index 85edbcd..a8c6f85 100644 --- a/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml +++ b/igds-api-phone/src/main/resources/mapper/Phone35Mapper.xml @@ -63,4 +63,75 @@ <if test="deptId != null and deptId != ''">AND d.DEPT_ID_ = #{deptId}</if> ORDER BY d.ID_ </select> + <!--璀﹀憡璁板綍--> + <select id="getWarnByDept" resultType="com.ld.igds.phone35.dto.DtoWarn" + parameterType="com.ld.igds.phone35.param.Phone35DepotCommonParam"> + SELECT w.ID_ as id, + w.NAME_ as name, + w.TYPE_ as type, + w.BIZ_TYPE_ as bizType, + w.LEVEL_ as level, + w.STATUS_ as status, + w.TIME_ as `time`, + w.INFO_ as info, + w.DEPOT_ID_ as depotId, + w.REMARK_ as remark + FROM D_M_WARN_INFO w + WHERE w.COMPANY_ID_ = #{param.companyId} + <if test="param.deptId != null and param.deptId != ''">AND w.DEPT_ID_ = #{param.deptId}</if> + <if test="param.startTime != null and param.endTime != null">AND w.TIME_ between #{param.startTime} and + #{param.endTime} + </if> + </select> + <!--璀﹀憡澶勭悊--> + <update id="updateWarn"> + UPDATE D_M_WARN_INFO + <set> + <if test="param.status != null and param.status != ''">STATUS_ = #{param.status},</if> + <if test="param.remark != null and param.remark != ''">REMARK_ = #{param.remark},</if> + <if test="param.completeUser != null and param.completeUser != ''">COMPLETE_USER_ = #{param.completeUser}, + </if> + </set> + WHERE ID_ = #{param.id} + </update> + <!--杩滅▼鎶勮〃--> + <select id="getMeter" resultType="com.ld.igds.phone35.dto.DtoEnergy"> + SELECT EP_INC_ AS epSum, + EQ_INC_ AS eqSum, + ES_INC_ AS esSum, + DEPOT_ID_ AS depotId, + UPDATE_TIME_ AS updateTime + FROM D_ENERGY + <where> + <if test="param.companyId != null">AND COMPANY_ID_ = #{param.companyId}</if> + <if test="param.startTime != null and param.endTime != null">AND UPDATE_TIME_ between #{param.startTime} + and + #{param.endTime} + </if> + </where> + ORDER BY UPDATE_TIME_ desc + </select> + <!-- 浠撳簱鑳借�楁煡璇�--> + <select id="getEnergy" resultType="com.ld.igds.phone35.dto.DtoEnergy"> + SELECT EP_INC_ AS epSum, + EQ_INC_ AS eqSum, + ES_INC_ AS esSum, + EP_ AS ep, + EQ_ AS eq, + ES_ AS es, + DEPOT_ID_ AS depotId, + UPDATE_TIME_ AS updateTime + FROM D_ENERGY + <where> + <if test="param.companyId != null">AND COMPANY_ID_ = #{param.companyId}</if> + <if test="param.depotId != null and param.depotId != ''">AND DEPOT_ID_ = #{param.depotId}</if> + <if test="param.startTime != null">AND + UPDATE_TIME_ <![CDATA[ > ]]>#{param.startTime,jdbcType=TIMESTAMP} + </if> + <if test="param.endTime != null">AND + UPDATE_TIME_ <![CDATA[ < ]]>#{param.endTime,jdbcType=TIMESTAMP} + </if> + </where> + ORDER BY UPDATE_TIME_ desc + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3