diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/PqDevTypeClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/PqDevTypeClient.java new file mode 100644 index 000000000..0cd3b9dea --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/PqDevTypeClient.java @@ -0,0 +1,26 @@ +package com.njcn.device.pq.api; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.pq.api.fallback.PqDevTypeFallbackFactory; +import com.njcn.device.pq.pojo.po.PqDevType; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2022年02月14日 14:02 + */ +@FeignClient(value = ServerInfo.DEVICE, path = "/devType", fallbackFactory = PqDevTypeFallbackFactory.class, contextId = "devType") +public interface PqDevTypeClient { + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDevTypeList") + HttpResult> getDevTypeList(); +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/PqDevTypeFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/PqDevTypeFallbackFactory.java new file mode 100644 index 000000000..75af75b13 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/PqDevTypeFallbackFactory.java @@ -0,0 +1,44 @@ +package com.njcn.device.pq.api.fallback; + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.biz.utils.DeviceEnumUtil; +import com.njcn.device.pq.api.PqDevTypeClient; +import com.njcn.device.pq.pojo.po.PqDevType; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zbj + * @version 1.0.0 + * @date 2023年04月13日 13:34 + */ +@Slf4j +@Component +public class PqDevTypeFallbackFactory implements FallbackFactory { + @Override + public PqDevTypeClient create(Throwable throwable) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new PqDevTypeClient() + { + + @Override + public HttpResult> getDevTypeList() { + log.error("{}异常,降级处理,异常为:{}", "查询装置型号全部信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + + + } +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PqIcdPathDTO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PqIcdPathDTO.java index b9b54575b..1659d9647 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PqIcdPathDTO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PqIcdPathDTO.java @@ -1,5 +1,6 @@ package com.njcn.device.pq.pojo.dto; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,13 +12,31 @@ import lombok.Data; */ @Data public class PqIcdPathDTO { - //模型索引 + /** + * icd主键 + */ + @ApiModelProperty("icd主键") private String id; - //更新时间 - private String updateTime; - //icd文件名 + /** + * icd文件名 + */ + @ApiModelProperty("icd文件名") private String fileName; - //icd文件存储的地址 + /** + * icd文件存储的地址 + */ + @ApiModelProperty("icd文件存储的地址") private String filePath; + + /** + * 装置类型名称 + */ + @ApiModelProperty("装置类型名称") private String devType; + + /** + * 更新时间 + */ + @ApiModelProperty("更新时间") + private String updateTime; } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LogsListParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LogsListParam.java index 6c4a38906..745004b55 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LogsListParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LogsListParam.java @@ -20,4 +20,7 @@ public class LogsListParam extends BaseParam { @ApiModelProperty("日志类型") private String type; + @ApiModelProperty("id:终端或者监测点)") + private String id; + } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/PqDevTypeParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/PqDevTypeParam.java new file mode 100644 index 000000000..947548058 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/PqDevTypeParam.java @@ -0,0 +1,62 @@ +package com.njcn.device.pq.pojo.param; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.njcn.common.pojo.constant.PatternRegex; +import com.njcn.web.constant.ValidMessage; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Pattern; + +/** + * Description: + * Date: 2024/11/5 11:34【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class PqDevTypeParam { + + /** + * icd文件名 + */ + @ApiModelProperty("装置类型名称") + @NotBlank(message = "装置类型名称不能为空") + private String name; + + /** + * 关联icdId + */ + @ApiModelProperty("关联icd表Id") + @NotBlank(message = "关联icd不能为空") + private String icdId; + + /** + * 更新操作实体 + */ + @Data + @EqualsAndHashCode(callSuper = true) + public static class PqDevTypeUpdateParam extends PqDevTypeParam { + /** + * 表Id + */ + @ApiModelProperty("id") + @NotBlank(message = ValidMessage.ID_NOT_BLANK) + @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR) + private String id; + + } + + @Data + public static class A { + + @ApiModelProperty("Id") + private String id; + + @ExcelProperty("Name") + private String name; + } +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/PqIcdPathParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/PqIcdPathParam.java index a1407ebd0..e23d7a9ea 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/PqIcdPathParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/PqIcdPathParam.java @@ -19,12 +19,19 @@ import javax.validation.constraints.Pattern; @Data public class PqIcdPathParam { - - //icd文件名 + /** + * icd文件名 + */ + @ApiModelProperty("icd文件名") + @NotBlank(message = "icd文件名不能为空") private String fileName; - //icd文件存储的地址 + + /** + * icd文件存储的地址 + */ + @ApiModelProperty("icd文件存储的地址") + @NotBlank(message = "icd文件存储的地址不能为空") private String filePath; - private String devType; /** * 更新操作实体 diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Device.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Device.java index 25875bbf1..350692728 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Device.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/Device.java @@ -1,7 +1,7 @@ package com.njcn.device.pq.pojo.po; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -25,6 +25,7 @@ public class Device implements Serializable{ /** * 装置序号 */ + @TableId private String id; /** diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqDevType.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqDevType.java new file mode 100644 index 000000000..7b775572b --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqDevType.java @@ -0,0 +1,52 @@ +package com.njcn.device.pq.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 com.njcn.db.bo.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * + * Description: + * Date: 2024/11/5 11:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +@TableName(value = "pq_dev_type") +public class PqDevType extends BaseEntity { + + private static final long serialVersionUID = 1L; + + + /** + * 型号id + */ + @TableId(value = "ID", type = IdType.ASSIGN_UUID) + private String id; + + /** + * 型号名称 + */ + @TableField(value = "Name") + private String name; + + /** + * 关联icd表id + */ + @TableField(value = "Icd_Id") + private String icdId; + + /** + * 状态 0-删除;1-正常;默认正常 + */ + @TableField(value = "State") + private Integer state; +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqIcdPath.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqIcdPath.java index d139570de..d31e5257f 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqIcdPath.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/po/PqIcdPath.java @@ -4,7 +4,10 @@ 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.io.Serializable; + +import com.njcn.db.bo.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -21,7 +24,9 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor @TableName(value = "pq_icd_path") -public class PqIcdPath { +public class PqIcdPath extends BaseEntity implements Serializable { + + private static final long serialVersionUID = 1L; /** * 装置类型GUID */ @@ -29,16 +34,21 @@ public class PqIcdPath { private String id; /** - * 装置类型名称 + * icd名称 */ @TableField(value = "Name") private String name; + /** + * icd文件路径 + */ @TableField(value = "Path") private String path; + /** + * 状态 0-删除;1-正常;默认正常 + */ + @TableField(value = "State") + private Integer state; - - @TableField(value = "Update_Time") - private LocalDateTime updateTime; } \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqDevTypeController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqDevTypeController.java new file mode 100644 index 000000000..c3e49497b --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqDevTypeController.java @@ -0,0 +1,95 @@ +package com.njcn.device.pq.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.pq.pojo.param.PqDevTypeParam; +import com.njcn.device.pq.pojo.po.PqDevType; +import com.njcn.device.pq.service.PqDevTypeService; +import com.njcn.web.controller.BaseController; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +/** + * 前置程序控制器 + * + * @author cdf + * @since 2022-01-07 + */ +@Slf4j +@Api(tags = "装置型号管理") +@RestController +@RequestMapping("/devType") +@RequiredArgsConstructor +public class PqDevTypeController extends BaseController { + + private final PqDevTypeService pqDevTypeService; + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getDevTypeList") + @ApiOperation("查询装置型号全部信息") + public HttpResult> getDevTypeList() { + String methodDescribe = getMethodDescribe("getDevTypeList"); + List list = pqDevTypeService.list(new LambdaQueryWrapper() + .eq(PqDevType::getState, DataStateEnum.ENABLE.getCode()) + .orderByDesc(PqDevType::getCreateTime) + ); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/pageDevTypeList") + @ApiOperation("分页查询装置型号信息") + public HttpResult> pageDevTypeList(@RequestBody BaseParam param) { + String methodDescribe = getMethodDescribe("pageDevTypeList"); + Page list = pqDevTypeService.pageDevTypeList(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + + @ApiOperation("新增装置型号") + @PostMapping("/addDevType") + @OperateInfo(info = LogEnum.BUSINESS_MEDIUM, operateType = OperateType.ADD) + public HttpResult addDevType(@RequestBody PqDevTypeParam param) { + String methodDescribe = getMethodDescribe("addDevType"); + Boolean result = pqDevTypeService.addDevType(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @ApiOperation("更新装置型号") + @PostMapping("/updateDevType") + @OperateInfo(info = LogEnum.BUSINESS_MEDIUM, operateType = OperateType.UPDATE) + public HttpResult updateDevType(@RequestBody PqDevTypeParam.PqDevTypeUpdateParam param) { + String methodDescribe = getMethodDescribe("updateDevType"); + Boolean result = pqDevTypeService.updateDevType(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + + @PostMapping("/delDevType") + @ApiOperation(value = "删除新装置型号") + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DELETE) + public HttpResult delIDevType(@RequestBody List ids) { + String methodDescribe = getMethodDescribe("delIDevType"); + Boolean flag = pqDevTypeService.delIDevType(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); + } + + +} + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqIcdPathController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqIcdPathController.java index 208d898dd..2e66e35cf 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqIcdPathController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqIcdPathController.java @@ -1,40 +1,41 @@ package com.njcn.device.pq.controller; -import cn.hutool.core.date.DatePattern; -import cn.hutool.core.date.LocalDateTimeUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.device.pq.pojo.dto.DeviceInfo; import com.njcn.device.pq.pojo.dto.PqIcdPathDTO; -import com.njcn.device.pq.pojo.param.NodeDeviceParam; import com.njcn.device.pq.pojo.param.PqIcdPathParam; import com.njcn.device.pq.pojo.po.PqIcdPath; -import com.njcn.device.pq.service.NodeDeviceService; import com.njcn.device.pq.service.PqIcdPathService; import com.njcn.web.controller.BaseController; +import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; + import java.util.List; -import java.util.stream.Collectors; + import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; /** * 前置程序控制器 + * * @author cdf * @since 2022-01-07 */ @Slf4j @Api(tags = "icd模型管理") @RestController -@RequestMapping("icd") +@RequestMapping("/icd") @RequiredArgsConstructor public class PqIcdPathController extends BaseController { @@ -43,48 +44,65 @@ public class PqIcdPathController extends BaseController { /** * 根据终端模型获取icd模型,如果模型为空则获取全部icd模型 - */ - @ApiOperation("获取icd模型") + @ApiOperation("前置获取icd模型") @OperateInfo(info = LogEnum.BUSINESS_MEDIUM) - @PostMapping("icdPathList") - public HttpResult> icdPathList(@RequestBody List devType){ + @PostMapping("/icdPathList") + public HttpResult> icdPathList(@RequestBody List devType) { String methodDescribe = getMethodDescribe("icdPathList"); - List list = pqIcdPathService.lambdaQuery().in(!CollectionUtils.isEmpty(devType), PqIcdPath::getName, devType).list(); - - List result = list.stream().map(temp -> { - PqIcdPathDTO pqIcdPathDTO = new PqIcdPathDTO(); - pqIcdPathDTO.setId(temp.getId()); - pqIcdPathDTO.setUpdateTime(LocalDateTimeUtil.format(temp.getUpdateTime(), DatePattern.NORM_DATETIME_PATTERN)); - pqIcdPathDTO.setFileName(temp.getPath().substring(temp.getPath().lastIndexOf('/') + 1)); - pqIcdPathDTO.setFilePath(temp.getPath()); - pqIcdPathDTO.setDevType(temp.getName()); - return pqIcdPathDTO; - }).collect(Collectors.toList()); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + List list = pqIcdPathService.icdPathList(devType); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } - @ApiOperation("获取icd模型") - @OperateInfo(info = LogEnum.BUSINESS_MEDIUM) - @PostMapping("addIcdPath") - public HttpResult addIcdPath(@RequestBody PqIcdPathParam pqIcdPathParam){ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getIcdList") + @ApiOperation("查询icd全部信息") + public HttpResult> getIcdList() { + String methodDescribe = getMethodDescribe("getIcdList"); + List list = pqIcdPathService.list(new LambdaQueryWrapper() + .eq(PqIcdPath::getState, DataStateEnum.ENABLE.getCode()) + .orderByDesc(PqIcdPath::getCreateTime) + ); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/pageIcdList") + @ApiOperation("分页查询icd信息") + public HttpResult> pageIcdList(@RequestBody BaseParam param) { + String methodDescribe = getMethodDescribe("pageIcdList"); + Page list = pqIcdPathService.pageIcdList(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + + @ApiOperation("新增icd模型") + @PostMapping("/addIcdPath") + @OperateInfo(info = LogEnum.BUSINESS_MEDIUM, operateType = OperateType.ADD) + public HttpResult addIcdPath(@RequestBody PqIcdPathParam pqIcdPathParam) { String methodDescribe = getMethodDescribe("addIcdPath"); Boolean result = pqIcdPathService.addIcdPath(pqIcdPathParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @ApiOperation("更新icd模型") - @OperateInfo(info = LogEnum.BUSINESS_MEDIUM) - @PostMapping("updateIcdPath") - public HttpResult updateIcdPath(@RequestBody PqIcdPathParam.PqIcdPathUpdateParam pqIcdPathUpdateParam){ + @PostMapping("/updateIcdPath") + @OperateInfo(info = LogEnum.BUSINESS_MEDIUM, operateType = OperateType.UPDATE) + public HttpResult updateIcdPath(@RequestBody PqIcdPathParam.PqIcdPathUpdateParam pqIcdPathUpdateParam) { String methodDescribe = getMethodDescribe("updateIcdPath"); Boolean result = pqIcdPathService.updateIcdPath(pqIcdPathUpdateParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } - - + @PostMapping("/delIcdPath") + @ApiOperation(value = "icd模型删除") + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DELETE) + public HttpResult delIcdPath(@RequestBody List ids) { + String methodDescribe = getMethodDescribe("delIcdPath"); + Boolean flag = pqIcdPathService.delIcdPath(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDevTypeMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDevTypeMapper.java new file mode 100644 index 000000000..947067d67 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDevTypeMapper.java @@ -0,0 +1,15 @@ +package com.njcn.device.pq.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.pq.pojo.po.PqDevType; + +/** + * + * Description: + * Date: 2024/11/5 11:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface PqDevTypeMapper extends BaseMapper { +} \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDevTypeMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDevTypeMapper.xml new file mode 100644 index 000000000..2f94f3cd6 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDevTypeMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqIcdPathMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqIcdPathMapper.xml index 8daacbe77..cd11a2d66 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqIcdPathMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqIcdPathMapper.xml @@ -1,16 +1,5 @@ - - - - - - - - - - - ID, Name, Pat`, Update_Time - + \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml index 08d1da123..9f33e6947 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/TerminalMaintainMapper.xml @@ -9,6 +9,7 @@ a.NAME, a.level, b.run_flag, + b.ip, b.com_flag, e.NAME devType, ifnull(g.name,'/') version, @@ -25,7 +26,7 @@ LEFT JOIN cld_dev_version f on a.id = f.line_id and f.flag = 1 and f.state = 1 LEFT JOIN cld_version g on f.version_id = g.id LEFT JOIN - (select * from cld_month_flow where date_format(time_id,'%Y-%m' ) = date_format(CURRENT_TIME(),'%Y-%m')) mo on a.id = mo.Dev_Id + (select * from cld_month_flow where DATE_FORMAT(time_id,'%Y-%m' ) = DATE_FORMAT(now(),'%Y-%m')) mo on a.id = mo.Dev_Id where a.id in #{item} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/PqDevTypeService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/PqDevTypeService.java new file mode 100644 index 000000000..04b14e547 --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/PqDevTypeService.java @@ -0,0 +1,59 @@ +package com.njcn.device.pq.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.pq.pojo.param.PqDevTypeParam; +import com.njcn.device.pq.pojo.po.PqDevType; +import com.njcn.web.pojo.param.BaseParam; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** +* +* Description: +* Date: 2024/11/5 11:24【需求编号】 +* +* @author clam +* @version V1.0.0 +*/ +public interface PqDevTypeService extends IService{ + + + /** + * @Description: 分页查询装置型号信息 + * @param param + * @return: com.baomidou.mybatisplus.extension.plugins.pagination.Page + * @Author: wr + * @Date: 2025/4/17 10:47 + */ + Page pageDevTypeList(BaseParam param); + + /** + * @Description: 新增装置型号 + * @param param + * @return: java.lang.Boolean + * @Author: wr + * @Date: 2025/4/17 10:43 + */ + Boolean addDevType(PqDevTypeParam param); + + /** + * @Description: 修改装置型号 + * @param param + * @return: java.lang.Boolean + * @Author: wr + * @Date: 2025/4/17 10:43 + */ + Boolean updateDevType(PqDevTypeParam.PqDevTypeUpdateParam param); + + /** + * 删除装置型号信息 + * @param ids + * @return + */ + Boolean delIDevType(List ids); + + void batchTerminal(MultipartFile file, HttpServletResponse response); +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/PqIcdPathService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/PqIcdPathService.java index cd5644c25..35cb6bf54 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/PqIcdPathService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/PqIcdPathService.java @@ -1,20 +1,61 @@ package com.njcn.device.pq.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.device.pq.pojo.dto.PqIcdPathDTO; import com.njcn.device.pq.pojo.param.PqIcdPathParam; import com.njcn.device.pq.pojo.po.PqIcdPath; import com.baomidou.mybatisplus.extension.service.IService; - /** - * +import com.njcn.web.pojo.param.BaseParam; + +import java.util.List; + +/** * Description: * Date: 2024/11/5 11:24【需求编号】 * * @author clam * @version V1.0.0 */ -public interface PqIcdPathService extends IService{ +public interface PqIcdPathService extends IService { + /** + * 前置获取icd模型 + * @param devType + * @return + */ + List icdPathList(List devType); - Boolean addIcdPath(PqIcdPathParam pqIcdPathParam); + /** + * @Description: 分页查询icd信息 + * @param param + * @return: com.baomidou.mybatisplus.extension.plugins.pagination.Page + * @Author: wr + * @Date: 2025/4/17 10:47 + */ + Page pageIcdList(BaseParam param); - Boolean updateIcdPath(PqIcdPathParam.PqIcdPathUpdateParam pqIcdPathUpdateParam); - } + /** + * @Description: 新增icd + * @param pqIcdPathParam + * @return: java.lang.Boolean + * @Author: wr + * @Date: 2025/4/17 10:43 + */ + Boolean addIcdPath(PqIcdPathParam pqIcdPathParam); + + /** + * @Description: 修改icd + * @param param + * @return: java.lang.Boolean + * @Author: wr + * @Date: 2025/4/17 10:43 + */ + Boolean updateIcdPath(PqIcdPathParam.PqIcdPathUpdateParam param); + + /** + * 删除icd信息 + * @param ids + * @return + */ + Boolean delIcdPath(List ids); +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDevTypeServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDevTypeServiceImpl.java new file mode 100644 index 000000000..dcc440c5a --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDevTypeServiceImpl.java @@ -0,0 +1,141 @@ +package com.njcn.device.pq.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.enums.common.DataStateEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.enums.PmsDeviceResponseEnum; +import com.njcn.device.pq.mapper.PqDevTypeMapper; +import com.njcn.device.pq.pojo.param.PqDevTypeParam; +import com.njcn.device.pq.pojo.po.Device; +import com.njcn.device.pq.pojo.po.PqDevType; +import com.njcn.device.pq.service.IDeviceService; +import com.njcn.device.pq.service.PqDevTypeService; +import com.njcn.user.api.UserFeignClient; +import com.njcn.user.pojo.po.User; +import com.njcn.web.pojo.param.BaseParam; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + + +/** + * Description: + * Date: 2024/11/5 11:24【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@RequiredArgsConstructor +public class PqDevTypeServiceImpl extends ServiceImpl implements PqDevTypeService { + + private final UserFeignClient userFeignClient; + private final IDeviceService deviceService; + + @Override + public Page pageDevTypeList(BaseParam param) { + Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()) + , new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(param.getSearchValue()), PqDevType::getName, param.getSearchValue()) + .eq(PqDevType::getState, DataStateEnum.ENABLE.getCode()) + .orderByDesc(PqDevType::getCreateTime) + ); + List records = page.getRecords(); + if (CollUtil.isNotEmpty(records)) { + List userIds = new ArrayList<>(); + userIds.addAll(records.stream().map(PqDevType::getCreateBy).filter(x -> StrUtil.isNotBlank(x)).distinct().collect(Collectors.toList())); + userIds.addAll(records.stream().map(PqDevType::getUpdateBy).filter(x -> StrUtil.isNotBlank(x)).distinct().collect(Collectors.toList())); + List collect = userIds.stream().distinct().collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect)) { + List users = userFeignClient.getUserByIdList(collect).getData(); + Map userMap = users.stream().collect(Collectors.toMap(User::getId, User::getName)); + for (PqDevType record : records) { + if (userMap.containsKey(record.getCreateBy())) { + record.setCreateBy(userMap.get(record.getCreateBy())); + } + if (userMap.containsKey(record.getUpdateBy())) { + record.setUpdateBy(userMap.get(record.getUpdateBy())); + } + } + } + } + return page; + } + + @Override + public Boolean addDevType(PqDevTypeParam param) { + Integer count = this.lambdaQuery() + .eq(PqDevType::getState, DataStateEnum.ENABLE.getCode()) + .eq(PqDevType::getName, param.getName()).count(); + if (count > 0) { + throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT); + } + PqDevType devType = new PqDevType(); + devType.setName(param.getName()); + devType.setIcdId(param.getIcdId()); + devType.setState(DataStateEnum.ENABLE.getCode()); + return this.save(devType); + } + + @Override + public Boolean updateDevType(PqDevTypeParam.PqDevTypeUpdateParam param) { + int count = this.count(new LambdaQueryWrapper() + .ne(PqDevType::getId, param.getId()) + .eq(PqDevType::getState, DataStateEnum.ENABLE.getCode()) + .and(wrapper -> + wrapper.eq(PqDevType::getName, param.getName()) + ) + ); + if (count > 0) { + throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT); + } + PqDevType pqDevType = BeanUtil.copyProperties(param, PqDevType.class); + return this.updateById(pqDevType); + } + + @Override + public Boolean delIDevType(List ids) { + if (CollUtil.isNotEmpty(ids)) { + int count = deviceService.count(new LambdaQueryWrapper() + .in(Device::getDevType, ids)); + if (count > 0) { + throw new BusinessException("装置类型已绑定装置无法删除!"); + } + return this.update(new LambdaUpdateWrapper() + .set(PqDevType::getState, DataStateEnum.DELETED.getCode()) + .in(PqDevType::getId, ids) + ); + } + return false; + } + + @Override + public void batchTerminal(MultipartFile file, HttpServletResponse response) { + List list = EasyExcel.read(new File("C:\\Users\\web2023\\Desktop\\sys_dict_data.xlsx")) + .head(PqDevTypeParam.A.class) + .sheet(0).doReadSync(); + List info = new ArrayList<>(); + for (PqDevTypeParam.A a : list) { + PqDevType pqDevType = new PqDevType(); + pqDevType.setId(a.getId()); + pqDevType.setName(a.getName()); + pqDevType.setState(DataStateEnum.ENABLE.getCode()); + info.add(pqDevType); + } + this.saveBatch(info); + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqIcdPathServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqIcdPathServiceImpl.java index 25475eb66..ef643d838 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqIcdPathServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqIcdPathServiceImpl.java @@ -1,13 +1,29 @@ package com.njcn.device.pq.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.device.pms.enums.PmsDeviceResponseEnum; +import com.njcn.device.pq.pojo.dto.PqIcdPathDTO; import com.njcn.device.pq.pojo.param.PqIcdPathParam; +import com.njcn.device.pq.pojo.po.PqDevType; +import com.njcn.device.pq.service.PqDevTypeService; +import com.njcn.user.api.UserFeignClient; +import com.njcn.user.pojo.po.User; +import com.njcn.web.pojo.param.BaseParam; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import org.springframework.beans.factory.annotation.Autowired; -import java.time.LocalDateTime; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.device.pq.pojo.po.PqIcdPath; @@ -16,7 +32,6 @@ import com.njcn.device.pq.service.PqIcdPathService; import org.springframework.transaction.annotation.Transactional; /** - * * Description: * Date: 2024/11/5 11:24【需求编号】 * @@ -24,28 +39,119 @@ import org.springframework.transaction.annotation.Transactional; * @version V1.0.0 */ @Service -public class PqIcdPathServiceImpl extends ServiceImpl implements PqIcdPathService{ +@RequiredArgsConstructor +public class PqIcdPathServiceImpl extends ServiceImpl implements PqIcdPathService { + + private final PqDevTypeService devTypeService; + private final UserFeignClient userFeignClient; + + + @Override + public List icdPathList(List devType) { + List list = devTypeService.list( + new LambdaQueryWrapper() + .in(CollUtil.isNotEmpty(devType), PqDevType::getName, devType) + .eq(PqDevType::getState, DataStateEnum.ENABLE.getCode()) + ); + List info = new ArrayList<>(); + if (CollUtil.isNotEmpty(list)) { + List icdIDS = list.stream().map(PqDevType::getIcdId).distinct().collect(Collectors.toList()); + List pqIcdPaths = this.listByIds(icdIDS); + Map pqIcdPathMap = pqIcdPaths.stream().collect(Collectors.toMap(PqIcdPath::getId, Function.identity())); + for (PqDevType pqDevType : list) { + if (pqIcdPathMap.containsKey(pqDevType.getIcdId())) { + PqIcdPath pqIcdPath = pqIcdPathMap.get(pqDevType.getIcdId()); + PqIcdPathDTO pqIcdPathDTO = new PqIcdPathDTO(); + pqIcdPathDTO.setId(pqDevType.getId()); + pqIcdPathDTO.setDevType(pqDevType.getName()); + pqIcdPathDTO.setFileName(pqIcdPath.getName()); + pqIcdPathDTO.setFilePath(pqIcdPath.getPath()); + pqIcdPathDTO.setUpdateTime(LocalDateTimeUtil.format(pqDevType.getUpdateTime(), DatePattern.NORM_DATETIME_PATTERN)); + info.add(pqIcdPathDTO); + } + } + } + return info; + } + + @Override + public Page pageIcdList(BaseParam param) { + Page page = this.page(new Page<>(param.getPageNum(), param.getPageSize()) + , new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(param.getSearchValue()), PqIcdPath::getName, param.getSearchValue()) + .eq(PqIcdPath::getState, DataStateEnum.ENABLE.getCode()) + .orderByDesc(PqIcdPath::getCreateTime) + ); + List records = page.getRecords(); + if (CollUtil.isNotEmpty(records)) { + List userIds = new ArrayList<>(); + userIds.addAll(records.stream().map(PqIcdPath::getCreateBy).filter(x -> StrUtil.isNotBlank(x)).distinct().collect(Collectors.toList())); + userIds.addAll(records.stream().map(PqIcdPath::getUpdateBy).filter(x -> StrUtil.isNotBlank(x)).distinct().collect(Collectors.toList())); + List collect = userIds.stream().distinct().collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect)) { + List users = userFeignClient.getUserByIdList(collect).getData(); + Map userMap = users.stream().collect(Collectors.toMap(User::getId, User::getName)); + for (PqIcdPath record : records) { + if (userMap.containsKey(record.getCreateBy())) { + record.setCreateBy(userMap.get(record.getCreateBy())); + } + if (userMap.containsKey(record.getUpdateBy())) { + record.setUpdateBy(userMap.get(record.getUpdateBy())); + } + } + } + } + return page; + } @Override @Transactional(rollbackFor = Exception.class) public Boolean addIcdPath(PqIcdPathParam pqIcdPathParam) { - PqIcdPath pqIcdPath = new PqIcdPath(); - PqIcdPath one = this.lambdaQuery().eq(PqIcdPath::getName, pqIcdPathParam.getDevType()).one(); - if(Objects.isNull(one)){ - throw new BusinessException(pqIcdPathParam.getDevType()+"已存在icd文件"); + Integer count = this.lambdaQuery() + .eq(PqIcdPath::getState, DataStateEnum.ENABLE.getCode()) + .eq(PqIcdPath::getName, pqIcdPathParam.getFileName()).count(); + if (count > 0) { + throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT); } - pqIcdPath.setName(pqIcdPathParam.getDevType()); + PqIcdPath pqIcdPath = new PqIcdPath(); + pqIcdPath.setName(pqIcdPathParam.getFileName()); pqIcdPath.setPath(pqIcdPathParam.getFilePath()); - pqIcdPath.setUpdateTime(LocalDateTime.now()); - this.save(pqIcdPath); - return true; + pqIcdPath.setState(DataStateEnum.ENABLE.getCode()); + return this.save(pqIcdPath); } @Override - public Boolean updateIcdPath(PqIcdPathParam.PqIcdPathUpdateParam pqIcdPathUpdateParam) { - this.lambdaUpdate().eq(PqIcdPath::getName, pqIcdPathUpdateParam.getDevType()) - .set(PqIcdPath::getPath,pqIcdPathUpdateParam.getFilePath()) - .set(PqIcdPath::getUpdateTime,LocalDateTime.now()).update(); - return true; + public Boolean updateIcdPath(PqIcdPathParam.PqIcdPathUpdateParam param) { + int count = this.count(new LambdaQueryWrapper() + .ne(PqIcdPath::getId, param.getId()) + .eq(PqIcdPath::getState, DataStateEnum.ENABLE.getCode()) + .and(wrapper -> + wrapper.eq(PqIcdPath::getName, param.getFileName()) + ) + ); + if (count > 0) { + throw new BusinessException(PmsDeviceResponseEnum.MODEL_NAME_REPEAT); + } + PqIcdPath icdPath = BeanUtil.copyProperties(param, PqIcdPath.class); + icdPath.setName(param.getFileName()); + icdPath.setPath(param.getFilePath()); + return this.updateById(icdPath); + } + + @Override + public Boolean delIcdPath(List ids) { + if (CollUtil.isNotEmpty(ids)) { + int count = devTypeService.count(new LambdaQueryWrapper() + .in(PqDevType::getIcdId, ids)); + if (count > 0) { + throw new BusinessException("icd已被装置类型绑定无法删除!"); + } + return this.update(new LambdaUpdateWrapper() + .set(PqIcdPath::getState, DataStateEnum.DELETED.getCode()) + .in(PqIcdPath::getId, ids) + ); + } + return false; + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsTerminalLogsServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsTerminalLogsServiceImpl.java index 7057d7b64..f6b9d2a3a 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsTerminalLogsServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqsTerminalLogsServiceImpl.java @@ -57,6 +57,8 @@ public class PqsTerminalLogsServiceImpl extends ServiceImpl page; LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(StrUtil.isNotBlank(logsListParam.getType()),PqsTerminalLogs::getLogsType,logsListParam.getType()) + .like(StrUtil.isNotBlank(logsListParam.getSearchValue()),PqsTerminalLogs::getTerminalDescribe,logsListParam.getSearchValue()) + .eq(StrUtil.isNotBlank(logsListParam.getId()),PqsTerminalLogs::getObjIndex,logsListParam.getId()) .between(PqsTerminalLogs::getCreateTime, DateUtil.beginOfDay(DateUtil.parse(logsListParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(logsListParam.getSearchEndTime()))) .orderByDesc(PqsTerminalLogs::getCreateTime); page = pqsTerminalLogsMapper.selectPage(new Page<>(PageFactory.getPageNum(logsListParam),PageFactory.getPageSize(logsListParam)),lambdaQueryWrapper); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java index 9b817a29f..ace320464 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalMaintainServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; @@ -138,20 +139,12 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService { @Override public boolean updateRunFlagManage(TerminalParam terminalParam) { - //终端状态管理 - List tem = new ArrayList<>(); - terminalParam.getIds().forEach(item -> { - Device device = new Device(); - device.setId(item); - device.setRunFlag(terminalParam.getRunFlag()); - tem.add(device); - }); - QueryWrapper wrapper = new QueryWrapper<>(); - List idList = tem.stream().map(Device::getId).collect(Collectors.toList()); - wrapper.in("id", idList); - List newList = iDeviceService.list(wrapper); - boolean b = iDeviceService.updateBatchById(tem); + wrapper.in("id", terminalParam.getIds()); + List newList = iDeviceService.listByIds(terminalParam.getIds()); + boolean b = iDeviceService.update(new LambdaUpdateWrapper() + .set(Device::getRunFlag,terminalParam.getRunFlag()) + .in(Device::getId,terminalParam.getIds())); //添加日志信息 if (b) { List oldList = iDeviceService.list(wrapper); diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/DictDataServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/DictDataServiceImpl.java index fe4277337..c1656717e 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/DictDataServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/DictDataServiceImpl.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.db.constant.DbConstant; +import com.njcn.device.pq.api.PqDevTypeClient; +import com.njcn.device.pq.pojo.po.PqDevType; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.enums.SystemResponseEnum; @@ -28,6 +30,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Objects; @@ -43,8 +46,9 @@ import java.util.stream.Collectors; public class DictDataServiceImpl extends ServiceImpl implements IDictDataService { private final IConfigService iConfigService; - private final IDictTypeService dictTypeService; + private final PqDevTypeClient pqDevTypeClient; + @Override public Page listDictData(DictDataParam.DictDataQueryParam queryParam) { @@ -129,14 +133,34 @@ public class DictDataServiceImpl extends ServiceImpl i @Override public List getDicDataByTypeName(String dictTypeName) { + if(DicDataTypeEnum.DEV_TYPE.getName().equals(dictTypeName)){ + return getDicData(); + } return this.baseMapper.getDicDataByTypeName(dictTypeName); } @Override public List getDicDataByTypeCode(String dictTypeCode) { + if(DicDataTypeEnum.DEV_TYPE.getCode().equals(dictTypeCode)){ + return getDicData(); + } return this.baseMapper.getDicDataByTypeCode(dictTypeCode); } + + public List getDicData() { + List info=new ArrayList<>(); + List data = pqDevTypeClient.getDevTypeList().getData(); + DictData dictData; + for (PqDevType datum : data) { + dictData=new DictData(); + dictData.setId(datum.getId()); + dictData.setName(datum.getName()); + info.add(dictData); + } + return info; + } + @Override public DictData getDicDataByName(String dicName) { return this.baseMapper.getDicDataByName(dicName); diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/TimerTaskInitListener.java b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/TimerTaskInitListener.java index c0b1e76a6..21428385a 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/timer/TimerTaskInitListener.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/timer/TimerTaskInitListener.java @@ -38,7 +38,7 @@ public class TimerTaskInitListener implements ApplicationRunner, Ordered { List list = sysTimersService.list(lambdaQueryChainWrapper); // 添加定时任务到调度器 for (Timers sysTimers : list) { - timerExeService.startTimer(String.valueOf(sysTimers.getId()), sysTimers.getCron(), sysTimers.getActionClass()); +// timerExeService.startTimer(String.valueOf(sysTimers.getId()), sysTimers.getCron(), sysTimers.getActionClass()); } // 设置秒级别的启用