From 346afef6d0688501216a03d2ad87d23acb157072 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Tue, 15 Oct 2024 14:24:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../csdevice/pojo/po/PortableOffMainLog.java | 65 +++++++++++++++++++ .../csdevice/pojo/po/PortableOfflLog.java | 5 +- .../controller/equipment/CsLogController.java | 3 +- .../equipment/PortableOfflLogController.java | 10 +++ .../mapper/PortableOffMainLogMapper.java | 15 +++++ .../mapping/PortableOffMainLogMapper.xml | 9 +++ .../service/IPortableOfflLogService.java | 3 + .../service/PortableOffMainLogService.java | 16 +++++ .../service/impl/CsLogsPOServiceImpl.java | 5 +- .../impl/PortableOffMainLogServiceImpl.java | 19 ++++++ .../impl/PortableOfflLogServiceImpl.java | 54 ++++++++++++++- 11 files changed, 197 insertions(+), 7 deletions(-) create mode 100644 cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOffMainLog.java create mode 100644 cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/PortableOffMainLogMapper.java create mode 100644 cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/PortableOffMainLogMapper.xml create mode 100644 cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/PortableOffMainLogService.java create mode 100644 cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOffMainLogServiceImpl.java diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOffMainLog.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOffMainLog.java new file mode 100644 index 0000000..169f015 --- /dev/null +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOffMainLog.java @@ -0,0 +1,65 @@ +package com.njcn.csdevice.pojo.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.time.LocalDateTime; +import java.util.List; + +import com.njcn.db.bo.BaseEntity; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * + * Description: + * Date: 2024/10/15 10:43【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@NoArgsConstructor +@TableName(value = "portable_off_main_log") +public class PortableOffMainLog extends BaseEntity { + /** + * 批次id + */ + @TableId(value = "id", type = IdType.INPUT) + private String id; + + /** + * 导入开始时间 + */ + @TableField(value = "start_time") + private LocalDateTime startTime; + + /** + * 工程名称 + */ + @TableField(value = "project_name") + private String projectName; + + /** + * 导入结束时间 + */ + @TableField(value = "end_time") + private LocalDateTime endTime; + + /** + * 成功解析数 + */ + @TableField(value = "success_count") + private Integer successCount; + + /** + * 状态(0:删除 1:正常) + */ + @TableField(value = "status") + private String status; + + @TableField(exist = false) + private List portableOfflLogList; + +} \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOfflLog.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOfflLog.java index 372cc0f..718dfe4 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOfflLog.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/PortableOfflLog.java @@ -1,5 +1,6 @@ package com.njcn.csdevice.pojo.po; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.njcn.db.bo.BaseEntity; import lombok.Getter; @@ -21,6 +22,8 @@ public class PortableOfflLog extends BaseEntity { private static final long serialVersionUID = 1L; private String logsIndex; + @TableField( value = "log_main_id") + private String logMainId; /** * 文件名称 @@ -38,7 +41,7 @@ public class PortableOfflLog extends BaseEntity { private String dataPath; /** - * 0-未解析 1-解析成功 2-解析失败 3-文件不存在 + * 0-无需解析解析 1-解析成功 2-解析失败 3-文件不存在 */ private Integer state; diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsLogController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsLogController.java index 6a0de3e..004825c 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsLogController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/CsLogController.java @@ -56,9 +56,10 @@ public class CsLogController extends BaseController { @ApiOperation("查询日志") @ApiImplicitParam(name = "baseParam", value = "查询日志参数", required = true) public HttpResult> queryLog(@RequestBody BaseParam baseParam){ - IPage list = csLogsPOService.queryPage(baseParam); String methodDescribe = getMethodDescribe("queryLog"); + IPage list = csLogsPOService.queryPage(baseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java index ff7fdbb..9f90f1f 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/equipment/PortableOfflLogController.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.csdevice.pojo.param.WlRecordTemplete; +import com.njcn.csdevice.pojo.po.PortableOffMainLog; import com.njcn.csdevice.pojo.po.PortableOfflLog; import com.njcn.csdevice.service.IPortableOfflLogService; import com.njcn.csdevice.utils.ExcelStyleUtil; @@ -80,6 +81,15 @@ public class PortableOfflLogController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryMainLogPage") + @ApiOperation("便携式设备解析日志") + public HttpResult> queryMainLogPage(@RequestBody BaseParam baseParam){ + String methodDescribe = getMethodDescribe("queryMainLogPage"); + Page list = iPortableOfflLogService.queryMainLogPage(baseParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("离线数据导入") @PostMapping(value = "importEquipment") diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/PortableOffMainLogMapper.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/PortableOffMainLogMapper.java new file mode 100644 index 0000000..5d8d80d --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/PortableOffMainLogMapper.java @@ -0,0 +1,15 @@ +package com.njcn.csdevice.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.csdevice.pojo.po.PortableOffMainLog; + +/** + * + * Description: + * Date: 2024/10/15 10:43【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface PortableOffMainLogMapper extends BaseMapper { +} \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/PortableOffMainLogMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/PortableOffMainLogMapper.xml new file mode 100644 index 0000000..d5543ed --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/PortableOffMainLogMapper.xml @@ -0,0 +1,9 @@ + + + + + + id, start_time, project_name, end_time, success_count, create_by, create_time, update_by, + update_time + + \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IPortableOfflLogService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IPortableOfflLogService.java index 18e2ffb..66175a9 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IPortableOfflLogService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/IPortableOfflLogService.java @@ -2,6 +2,7 @@ package com.njcn.csdevice.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.csdevice.pojo.po.PortableOffMainLog; import com.njcn.csdevice.pojo.po.PortableOfflLog; import com.njcn.csdevice.param.UploadDataParam; import com.njcn.web.pojo.param.BaseParam; @@ -19,4 +20,6 @@ public interface IPortableOfflLogService extends IService { Page queryPage(BaseParam baseParam); void importEquipment(UploadDataParam uploadDataParam); + + Page queryMainLogPage(BaseParam baseParam); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/PortableOffMainLogService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/PortableOffMainLogService.java new file mode 100644 index 0000000..665c867 --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/PortableOffMainLogService.java @@ -0,0 +1,16 @@ +package com.njcn.csdevice.service; + +import com.njcn.csdevice.pojo.po.PortableOffMainLog; +import com.baomidou.mybatisplus.extension.service.IService; + /** + * + * Description: + * Date: 2024/10/15 10:43【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface PortableOffMainLogService extends IService{ + + +} diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLogsPOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLogsPOServiceImpl.java index a18530c..4193daf 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLogsPOServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLogsPOServiceImpl.java @@ -46,8 +46,9 @@ public class CsLogsPOServiceImpl extends ServiceImpl i String userRole = RequestUtil.getUserRole(); List strings = JSONArray.parseArray(userRole, String.class); QueryWrapper csLogsPOQueryWrapper = new QueryWrapper<>(); - csLogsPOQueryWrapper.lambda().eq(!strings.contains(AppRoleEnum.OPERATION_MANAGER.getCode()),CsLogsPO::getUserName, username). - ge(StringUtils.isNotBlank(baseParam.getSearchBeginTime()),CsLogsPO::getCreateTime,baseParam.getSearchBeginTime()). + csLogsPOQueryWrapper.lambda() +// .eq(!strings.contains(AppRoleEnum.OPERATION_MANAGER.getCode()),CsLogsPO::getUserName, username) + .ge(StringUtils.isNotBlank(baseParam.getSearchBeginTime()),CsLogsPO::getCreateTime,baseParam.getSearchBeginTime()). le(StringUtils.isNotBlank(baseParam.getSearchEndTime()),CsLogsPO::getCreateTime,baseParam.getSearchEndTime()).orderByDesc(CsLogsPO::getCreateTime); IPage list = this.getBaseMapper().selectPage(returnpage,csLogsPOQueryWrapper); return list; diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOffMainLogServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOffMainLogServiceImpl.java new file mode 100644 index 0000000..0f1de13 --- /dev/null +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOffMainLogServiceImpl.java @@ -0,0 +1,19 @@ +package com.njcn.csdevice.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.csdevice.pojo.po.PortableOffMainLog; +import com.njcn.csdevice.mapper.PortableOffMainLogMapper; +import com.njcn.csdevice.service.PortableOffMainLogService; +/** + * + * Description: + * Date: 2024/10/15 10:43【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +public class PortableOffMainLogServiceImpl extends ServiceImpl implements PortableOffMainLogService{ + +} diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOfflLogServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOfflLogServiceImpl.java index 840ab2d..7124174 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOfflLogServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/PortableOfflLogServiceImpl.java @@ -1,8 +1,8 @@ package com.njcn.csdevice.service.impl; -import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; import com.alibaba.nacos.shaded.com.google.gson.Gson; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.tocrhz.mqtt.publisher.MqttPublisher; import com.njcn.common.pojo.exception.BusinessException; @@ -11,10 +11,12 @@ import com.njcn.csdevice.constant.DataParam; import com.njcn.csdevice.enums.AlgorithmResponseEnum; import com.njcn.csdevice.mapper.PortableOfflLogMapper; import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO; +import com.njcn.csdevice.pojo.po.PortableOffMainLog; import com.njcn.csdevice.pojo.po.PortableOfflLog; import com.njcn.csdevice.service.IPortableOfflLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.csdevice.param.UploadDataParam; +import com.njcn.csdevice.service.PortableOffMainLogService; import com.njcn.csdevice.util.InfluxDbParamUtil; import com.njcn.csharmonic.api.EventFeignClient; import com.njcn.csharmonic.api.OfflineDataUploadFeignClient; @@ -28,7 +30,6 @@ import com.njcn.csharmonic.offline.mincfg.AnalyseComtradeCfg; import com.njcn.csharmonic.offline.mincfg.vo.CmnModeCfg; import com.njcn.csharmonic.offline.vo.Response; import com.njcn.csharmonic.pojo.po.CsEventPO; -import com.njcn.influx.imapper.CommonMapper; import com.njcn.influx.imapper.EvtDataMapper; import com.njcn.influx.imapper.PqdDataMapper; import com.njcn.influx.pojo.po.cs.EntData; @@ -41,6 +42,7 @@ import com.njcn.web.pojo.param.BaseParam; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -48,6 +50,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.*; import java.text.DecimalFormat; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -87,6 +90,7 @@ public class PortableOfflLogServiceImpl extends ServiceImpl queryPage(BaseParam baseParam) { @@ -244,10 +248,21 @@ public class PortableOfflLogServiceImpl extends ServiceImpl getCommonPrefix(s1, s2)) + .orElse(null)); + int successcCount = 0; + portableOffMainLog.setStatus("1"); + + for(MultipartFile file : uploadDataParam.getFiles()){ //初始上传日志基本信息 PortableOfflLog portableOfflLog = new PortableOfflLog(); + portableOfflLog.setLogMainId(portableOffMainLog.getId()); portableOfflLog.setName(file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("/")+1)); portableOfflLog.setPath(file.getOriginalFilename()); portableOfflLog.setDataPath(fileStorageUtil.uploadMultipart(file, DataParam.wlRecordPath+uploadDataParam.getDevId()+"/"+uploadDataParam.getLineId()+"/"+getFolderName()+"/")); @@ -443,8 +458,32 @@ public class PortableOfflLogServiceImpl extends ServiceImpl queryMainLogPage(BaseParam baseParam) { + Page returnpage = new Page<> (baseParam.getPageNum(), baseParam.getPageSize ()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda() + .ge(StringUtils.isNotBlank(baseParam.getSearchBeginTime()), PortableOffMainLog::getCreateTime,baseParam.getSearchBeginTime()) + .le(StringUtils.isNotBlank(baseParam.getSearchEndTime()),PortableOffMainLog::getCreateTime,baseParam.getSearchEndTime()).orderByDesc(PortableOffMainLog::getCreateTime); + Page portableOffMainLogPage = portableOffMainLogService.getBaseMapper().selectPage(returnpage, queryWrapper); + portableOffMainLogPage.getRecords().forEach(temp->{ + List list = this.lambdaQuery().eq(PortableOfflLog::getLogMainId, temp.getId()).list(); + temp.setPortableOfflLogList(list); + }); + + return returnpage; } //根据文件全路径(包含文件夹)解析文件的分类 @@ -461,4 +500,13 @@ public class PortableOfflLogServiceImpl extends ServiceImpl