Browse Source

完善opc展示页面

hfxc226 2 years ago
parent
commit
7c586c4d42

+ 9 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/remote/RemoteOpcLogVO.java

@@ -109,4 +109,13 @@ public class RemoteOpcLogVO extends BaseVO implements Serializable {
      */
     private String line;
 
+    /**
+     * 每日数据的json数组[{time:12:03,
+     *              data:20.0},
+     *            {time:12:03,
+     *              data:20.0}
+     *              *              ]
+     */
+    private String dataJsonStr;
+
 }

+ 2 - 15
platform-dao/src/main/resources/mapper/remote/RemoteOpcLogMapper.xml

@@ -108,28 +108,15 @@
             and opc_log.update_time = #{updateTime}
         </if>
         <if test="keyword != null and keyword != ''">
-            and (
-                opc.sb_name like concat(concat('%',#{keyword}),'%')
-                or opc_log.position_num like concat(concat('%',#{keyword}),'%')
-            )
-        </if>
-        <if test="sbName != null and sbName != ''">
-            and opc.sb_name like concat(concat('%',#{sbName}),'%')
-        </if>
-        <if test="line != null">
-            and opc.line = #{line}
+            and opc_log.position_num like concat(concat('%',#{keyword}),'%')
         </if>
     </sql>
     <select id="selectList" parameterType="com.platform.dao.dto.remote.RemoteOpcLogDTO"
             resultType="com.platform.dao.vo.query.remote.RemoteOpcLogVO">
-        select opc_log.*, opc.sb_name sbName, opc.line line, opc.type
+        select opc_log.*
         from t_remote_opc_log as opc_log
-        left join t_remote_opc opc on opc_log.position_num = opc.position_num
         <where>
             <include refid="List_Condition"/>
-            <if test="line != null">
-                and opc.line = #{line}
-            </if>
         </where>
     </select>
 

+ 2 - 2
platform-rest/src/main/java/com/platform/rest/controller/remote/RemoteOpcLogController.java

@@ -40,8 +40,8 @@ public class RemoteOpcLogController {
      * @return R
      */
     @GetMapping("/{id}")
-    public R<RemoteOpcLog> getById(@PathVariable("id") String id) {
-        return new R<>(remoteOpcLogService.getModelById(id));
+    public R getById(@PathVariable("id") String id) {
+        return new R(remoteOpcLogService.getVOById(id));
     }
 
     /**

+ 22 - 11
platform-service/src/main/java/com/platform/service/remote/RemoteOpcLogService.java

@@ -17,16 +17,25 @@ import java.util.List;
  */
 public interface RemoteOpcLogService extends IBaseService<RemoteOpcLog, RemoteOpcLogDTO> {
 
-   /**
-    * 批量删除
-    *
-    * @param ids :
-    * @return :
-    */
+    /**
+     * 获取明细
+     *
+     * @param id
+     * @return
+     */
+    RemoteOpcLogVO getVOById(String id);
+
+    /**
+     * 批量删除
+     *
+     * @param ids :
+     * @return :
+     */
     int batchDelete(List<String> ids);
 
     /**
      * 分页查询
+     *
      * @param record
      * @param pageNum
      * @param pageSize
@@ -36,15 +45,17 @@ public interface RemoteOpcLogService extends IBaseService<RemoteOpcLog, RemoteOp
 
     /**
      * 分页查询
+     *
      * @param record
      * @return
      */
     List<RemoteOpcLogVO> selectList(RemoteOpcLogDTO record);
 
- /**
-  * 分页查询
-  * @param remoteOpcLogDTO
-  * @return
-  */
+    /**
+     * 分页查询
+     *
+     * @param remoteOpcLogDTO
+     * @return
+     */
     List<RemoteOpcLogHistoryVO> selectListHistory(RemoteOpcLogDTO remoteOpcLogDTO);
 }

+ 8 - 0
platform-service/src/main/java/com/platform/service/remote/RemoteOpcService.java

@@ -25,6 +25,14 @@ public interface RemoteOpcService extends IBaseService<RemoteOpc, RemoteOpcDTO>
      */
     int batchDelete(List<String> ids);
 
+    /**
+     * 批量删除
+     *
+     * @param positionNum :
+     * @return :
+     */
+    RemoteOpc selectByPositionNum(String positionNum);
+
     /**
      * 分页查询
      *

+ 33 - 0
platform-service/src/main/java/com/platform/service/remote/impl/RemoteOpcLogServiceImpl.java

@@ -1,12 +1,16 @@
 package com.platform.service.remote.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
 import com.platform.common.exception.BusinessException;
+import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.DateUtils;
 import com.platform.common.util.IdGeneratorUtils;
 import com.platform.dao.bean.MyPage;
 import com.platform.dao.dto.remote.RemoteOpcLogDTO;
+import com.platform.dao.entity.remote.RemoteOpc;
 import com.platform.dao.entity.remote.RemoteOpcLog;
 import com.platform.dao.mapper.remote.RemoteOpcLogMapper;
 import com.platform.dao.mapper.upms.SysDictMapper;
@@ -14,9 +18,12 @@ import com.platform.dao.vo.query.remote.RemoteOpcLogHistoryVO;
 import com.platform.dao.vo.query.remote.RemoteOpcLogVO;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.remote.RemoteOpcLogService;
+import com.platform.service.remote.RemoteOpcService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+import sun.swing.StringUIClientPropertyKey;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
@@ -35,6 +42,32 @@ import java.util.List;
 @AllArgsConstructor
 @Service("remoteOpcLogService")
 public class RemoteOpcLogServiceImpl extends BaseServiceImpl<RemoteOpcLogMapper, RemoteOpcLog, RemoteOpcLogDTO> implements RemoteOpcLogService {
+    private final RemoteOpcService remoteOpcService;
+    @Override
+    public RemoteOpcLogVO getVOById(String id) {
+        RemoteOpcLog log = mapper.selectByPrimaryKey(id);
+        RemoteOpc remoteOpc = remoteOpcService.selectByPositionNum(log.getPositionNum());
+        log.setSbId(remoteOpc.getId());
+        log.setSbName(remoteOpc.getSbName());
+        log.setUnit(remoteOpc.getUnit());
+        log.setRatio(remoteOpc.getRatio());
+        log.setType(remoteOpc.getType());
+        log.setDescription(remoteOpc.getDescription());
+        RemoteOpcLogVO vo = BeanConverterUtil.copyObjectProperties(log, RemoteOpcLogVO.class);
+        if(!StringUtils.isEmpty(log.getRemark())){
+            String[] remarks = log.getRemark().split(";");
+            JSONArray array = new JSONArray();
+            for(String remark:remarks){
+                String[] data = remark.split(",");
+                JSONObject object = new JSONObject();
+                object.put("time",data[0] );
+                object.put("value",data[1] + "");
+                array.add(object);
+            }
+            vo.setDataJsonStr(array.toJSONString());
+        }
+        return vo;
+    }
 
     @Override
     public int batchDelete(List<String> ids) {

+ 18 - 0
platform-service/src/main/java/com/platform/service/remote/impl/RemoteOpcServiceImpl.java

@@ -123,6 +123,24 @@ public class RemoteOpcServiceImpl extends BaseServiceImpl<RemoteOpcMapper, Remot
         return 1;
     }
 
+    /**
+     * *
+     * @param positionNum :
+     * @return
+     */
+    @Override
+    public RemoteOpc selectByPositionNum(String positionNum) {
+        Weekend<RemoteOpc> weekend = new Weekend<>(RemoteOpc.class);
+        WeekendCriteria<RemoteOpc, Object> weekendCriteria = weekend.weekendCriteria();
+        weekendCriteria.andEqualTo(RemoteOpc::getPositionNum, positionNum);
+        // 同一个点位会存在多个点位值,不同车间绑定了同一个点位,在发起分组的时候,要按照分组来获取数据?
+        List<RemoteOpc> remoteOpcList = mapper.selectByExample(weekend);
+        if(!CollectionUtils.isEmpty(remoteOpcList)){
+            return remoteOpcList.get(0);
+        }
+        return null;
+    }
+
     @Override
     public AbstractPageResultBean<RemoteOpcVO> selectPageList(RemoteOpcDTO record, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);