diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java index ec7381d..559b589 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAddParm.java @@ -32,8 +32,8 @@ public class CsEquipmentDeliveryAddParm{ /** * 网关识别码 */ - @ApiModelProperty(value="网关识别码") - @NotBlank(message="网关识别码不能为空!") + @ApiModelProperty(value="网络设备ID") + @NotBlank(message="网络设备ID不能为空!") private String ndid; /** @@ -44,18 +44,11 @@ public class CsEquipmentDeliveryAddParm{ private String mac; /** - * 装置用途(治理、监测...) + * 装置类型(直连设备、网关设备) */ - @ApiModelProperty(value="装置用途") - @NotBlank(message="装置用途不能为空!") - private String devUse; - -// /** -// * 装置类型(直连设备、网关设备) -// */ -// @ApiModelProperty(value="装置类型") -// @NotBlank(message="装置类型不能为空!") -// private String devType; + @ApiModelProperty(value="装置类型") + @NotBlank(message="装置类型不能为空!") + private String devType; /** * 装置型号(pqs588、pqs680...) @@ -114,6 +107,10 @@ public class CsEquipmentDeliveryAddParm{ @ApiModelProperty(value="营销经理") private String salesManager; - + /** + * 装置接入方式 + */ + @ApiModelProperty(value="装置接入方式") + private String devAccessMethod; } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java index 17ccfa1..6be0d4b 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryAuditParm.java @@ -43,16 +43,10 @@ public class CsEquipmentDeliveryAuditParm { private String mac; /** - * 装置用途(治理、监测...) + * 装置类型(直连设备、网关设备) */ - @ApiModelProperty(value="装置用途") - private String devUse; - -// /** -// * 装置类型(直连设备、网关设备) -// */ -// @ApiModelProperty(value="装置类型") -// private String devType; + @ApiModelProperty(value="装置类型") + private String devType; /** * 装置型号(pqs588、pqs680...) @@ -60,6 +54,12 @@ public class CsEquipmentDeliveryAuditParm { @ApiModelProperty(value="装置型号") private String devModel; + /** + * 装置接入方式 + */ + @ApiModelProperty(value="装置接入方式") + private String devAccessMethod; + /** * 装置程序版本 */ @@ -105,7 +105,10 @@ public class CsEquipmentDeliveryAuditParm { @ApiModelProperty(value="营销经理") private String salesManager; + /** + * 状态 + */ @TableField(value = "status") - private String status; + private Integer status; } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryQueryParm.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryQueryParm.java index d4949e8..d8f0d18 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryQueryParm.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/param/CsEquipmentDeliveryQueryParm.java @@ -1,10 +1,13 @@ package com.njcn.csdevice.pojo.param; import com.fasterxml.jackson.annotation.JsonFormat; +import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.EqualsAndHashCode; import java.util.Date; +import java.util.List; /** * @@ -16,91 +19,20 @@ import java.util.Date; * @version V1.0.0 */ +@EqualsAndHashCode(callSuper = true) @Data -public class CsEquipmentDeliveryQueryParm { +public class CsEquipmentDeliveryQueryParm extends BaseParam { + @ApiModelProperty("装置类型(直连设备、网关、装置)") + private String devType; - /** - * 装置名称 - */ - @ApiModelProperty(value="装置名称") - private String name; - - /** - * 网关识别码 - */ - @ApiModelProperty(value="网关识别码") - private String ndid; - - /** - * 装置mac地址 - */ - @ApiModelProperty(value="装置mac地址") - private String mac; - - /** - * 装置用途(治理、监测...) - */ - @ApiModelProperty(value="装置用途") - private String devUse; - -// /** -// * 装置类型(直连设备、网关设备) -// */ -// @ApiModelProperty(value="装置类型") -// private String devType; - - /** - * 装置型号(pqs588、pqs680...) - */ - @ApiModelProperty(value="装置型号") + @ApiModelProperty("装置型号") private String devModel; - /** - * 装置程序版本 - */ - @ApiModelProperty(value="装置程序版本") - private String programVersion; - - /** - * 调试人员 - */ - @ApiModelProperty(value="调试人员") - private String debugPerson; - - /** - * 出厂日期 - */ - @ApiModelProperty(value="出厂日期") - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") - private Date producteTime; - - /** - * 检修日期 - */ - @ApiModelProperty(value="检修日期") - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") - private Date checkTime; - - /** - * 调试日期 - */ - @ApiModelProperty(value="调试日期") - @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") - private Date debugTime; - - /** - * 合同号 - */ - @ApiModelProperty(value="合同号") - private String cntractNo; - - /** - * 营销经理 - */ - @ApiModelProperty(value="营销经理") - private String salesManager; - + @ApiModelProperty("装置接入方式(mqtt、cloud)") + private String devAccessMethod; + @ApiModelProperty("状态 1:未注册 2:注册 3:接入") + private Integer status; } \ No newline at end of file diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java index ab64324..55db02f 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsEquipmentDeliveryPO.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.njcn.db.bo.BaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; import java.util.Date; @@ -19,6 +20,7 @@ import java.util.Date; /** * 设备出厂表 */ +@EqualsAndHashCode(callSuper = true) @Data @TableName(value = "cs_equipment_delivery") public class CsEquipmentDeliveryPO extends BaseEntity { @@ -49,14 +51,14 @@ public class CsEquipmentDeliveryPO extends BaseEntity { /** * 装置用途(治理、监测...) */ - @TableField(value = "dev_use") - private String devUse; +// @TableField(value = "dev_use") +// private String devUse; -// /** -// * 装置类型(直连设备、网关设备) -// */ -// @TableField(value = "dev_type") -// private String devType; + /** + * 装置类型(直连设备、网关设备、装置) + */ + @TableField(value = "dev_type") + private String devType; /** * 装置型号(pqs588、pqs680...) @@ -64,6 +66,12 @@ public class CsEquipmentDeliveryPO extends BaseEntity { @TableField(value = "dev_model") private String devModel; + /** + * 装置接入方式(mqtt、cloud) + */ + @TableField(value = "dev_access_method") + private String devAccessMethod; + /** * 装置程序版本 */ @@ -107,7 +115,7 @@ public class CsEquipmentDeliveryPO extends BaseEntity { private String salesManager; /** - * 状态(0:删除 1:正常) + * 状态(0:删除 1:未注册 2:注册 3:接入) */ @TableField(value = "status") private String status; diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/EquipmentDeliveryController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/EquipmentDeliveryController.java index 1f05c68..87aae8e 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/EquipmentDeliveryController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/Equipment/EquipmentDeliveryController.java @@ -1,6 +1,7 @@ package com.njcn.csdevice.controller.Equipment; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; @@ -8,6 +9,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAddParm; import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAuditParm; +import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryQueryParm; import com.njcn.csdevice.pojo.param.ProjectEquipmentQueryParm; import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO; import com.njcn.csdevice.pojo.vo.CsEquipmentDeliveryVO; @@ -48,7 +50,6 @@ public class EquipmentDeliveryController extends BaseController { @ApiImplicitParam(name = "csEquipmentDeliveryAddParm", value = "新增项目参数", required = true) public HttpResult addEquipmentDelivery(@RequestBody @Validated CsEquipmentDeliveryAddParm csEquipmentDeliveryAddParm){ String methodDescribe = getMethodDescribe("addEquipmentDelivery"); - Boolean flag = csEquipmentDeliveryService.save (csEquipmentDeliveryAddParm); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); } @@ -59,7 +60,6 @@ public class EquipmentDeliveryController extends BaseController { @ApiOperation("删除出厂设备") public HttpResult AuditEquipmentDelivery(@RequestParam("id")String id ){ String methodDescribe = getMethodDescribe("AuditEquipmentDelivery"); - Boolean flag = csEquipmentDeliveryService.AuditEquipmentDelivery(id); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); } @@ -70,7 +70,6 @@ public class EquipmentDeliveryController extends BaseController { @ApiImplicitParam(name = "csEquipmentDeliveryAuditParm", value = "新增项目参数", required = true) public HttpResult updateEquipmentDelivery(@RequestBody @Validated CsEquipmentDeliveryAuditParm csEquipmentDeliveryAuditParm ){ String methodDescribe = getMethodDescribe("updateEquipmentDelivery"); - Boolean flag = csEquipmentDeliveryService.updateEquipmentDelivery(csEquipmentDeliveryAuditParm); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); } @@ -94,9 +93,8 @@ public class EquipmentDeliveryController extends BaseController { @ApiImplicitParam(name = "projectEquipmentQueryParm", value = "项目信息", required = true) public HttpResult> queryEquipmentByProject(@RequestBody ProjectEquipmentQueryParm projectEquipmentQueryParm){ String methodDescribe = getMethodDescribe("queryEquipmentByProject"); - - IPage projectEquipmentVOS = csEquipmentDeliveryService.queryEquipmentByProject(projectEquipmentQueryParm); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, projectEquipmentVOS, methodDescribe); + IPage projectEquipmentVos = csEquipmentDeliveryService.queryEquipmentByProject(projectEquipmentQueryParm); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, projectEquipmentVos, methodDescribe); } @OperateInfo(info = LogEnum.BUSINESS_COMMON) @@ -121,4 +119,21 @@ public class EquipmentDeliveryController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csEquipmentDeliveryPOS, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/list") + @ApiOperation("出厂设备列表") + @ApiImplicitParam(name = "param", value = "查询参数", required = true) + public HttpResult> list(@RequestBody CsEquipmentDeliveryQueryParm param){ + String methodDescribe = getMethodDescribe("list"); + Page page = csEquipmentDeliveryService.list(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + + + + + + + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsEquipmentDeliveryMapper.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsEquipmentDeliveryMapper.java index dd1d458..34150e4 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsEquipmentDeliveryMapper.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/CsEquipmentDeliveryMapper.java @@ -1,10 +1,13 @@ package com.njcn.csdevice.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryQueryParm; import com.njcn.csdevice.pojo.param.ProjectEquipmentQueryParm; import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO; import com.njcn.csdevice.pojo.vo.ProjectEquipmentVO; +import com.njcn.system.pojo.vo.EleEpdPqdVO; import org.apache.ibatis.annotations.Param; /** @@ -18,4 +21,8 @@ import org.apache.ibatis.annotations.Param; */ public interface CsEquipmentDeliveryMapper extends BaseMapper { Page queryProjectEquipmentVO(Page returnpage,@Param("projectEquipmentQueryParm")ProjectEquipmentQueryParm projectEquipmentQueryParm); + + Page page(Page returnpage,@Param("ew") QueryWrapper queryWrapper); + + } \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml index efe5d80..7630a7a 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/mapper/mapping/CsEquipmentDeliveryMapper.xml @@ -59,4 +59,17 @@ order by a.create_time desc + + + + \ No newline at end of file diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java index 0cb99f0..8a9137e 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsEquipmentDeliveryService.java @@ -1,14 +1,18 @@ package com.njcn.csdevice.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAddParm; import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAuditParm; +import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryQueryParm; import com.njcn.csdevice.pojo.param.ProjectEquipmentQueryParm; import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO; import com.njcn.csdevice.pojo.vo.CsEquipmentDeliveryVO; import com.njcn.csdevice.pojo.vo.ProjectEquipmentVO; +import java.util.List; + /** * * Description: @@ -60,4 +64,11 @@ public interface CsEquipmentDeliveryService extends IService list(CsEquipmentDeliveryQueryParm param); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index 2a09109..820e71b 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -1,5 +1,9 @@ package com.njcn.csdevice.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -11,6 +15,7 @@ import com.njcn.csdevice.mapper.CsEquipmentDeliveryMapper; import com.njcn.csdevice.mapper.CsLedgerMapper; import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAddParm; import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryAuditParm; +import com.njcn.csdevice.pojo.param.CsEquipmentDeliveryQueryParm; import com.njcn.csdevice.pojo.param.ProjectEquipmentQueryParm; import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO; import com.njcn.csdevice.pojo.po.CsLedger; @@ -18,11 +23,21 @@ import com.njcn.csdevice.pojo.vo.CsEquipmentDeliveryVO; import com.njcn.csdevice.pojo.vo.ProjectEquipmentVO; import com.njcn.csdevice.service.CsEquipmentDeliveryService; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.system.enums.SystemResponseEnum; +import com.njcn.system.pojo.param.EleEpdPqdParam; +import com.njcn.system.pojo.po.EleEpdPqd; import lombok.RequiredArgsConstructor; +import com.njcn.db.constant.DbConstant; +import com.njcn.system.pojo.vo.EleEpdPqdVO; +import com.njcn.web.factory.PageFactory; +import org.apache.logging.log4j.util.Strings; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.List; import java.util.Objects; import java.util.Optional; @@ -47,13 +62,10 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl queryEquipmentByProject(ProjectEquipmentQueryParm projectEquipmentQueryParm) { Page returnpage = new Page<> (projectEquipmentQueryParm.getPageNum ( ), projectEquipmentQueryParm.getPageSize ( )); @@ -95,10 +107,18 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(CsEquipmentDeliveryPO::getNdid,csEquipmentDeliveryAuditParm.getNdid()) + .in(CsEquipmentDeliveryPO::getStatus,Arrays.asList(1,2,3)) + .ne(CsEquipmentDeliveryPO::getId, csEquipmentDeliveryAuditParm.getId()); + int countByAccount = this.count(lambdaQueryWrapper); + //大于等于1个则表示重复 + if (countByAccount >= 1) { + throw new BusinessException(AlgorithmResponseEnum.NDID_ERROR); + } + CsEquipmentDeliveryPO csEquipmentDeliveryPo = new CsEquipmentDeliveryPO(); + BeanUtils.copyProperties (csEquipmentDeliveryAuditParm, csEquipmentDeliveryPo); + return this.updateById (csEquipmentDeliveryPo); } @Override @@ -108,4 +128,40 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl list(CsEquipmentDeliveryQueryParm queryParam) { + QueryWrapper queryWrapper = new QueryWrapper(); + if (ObjectUtil.isNotNull(queryParam)) { + //查询参数不为空,进行条件填充 + if (StrUtil.isNotBlank(queryParam.getSearchValue())) { + //部门根据名称模糊查询 + queryWrapper + .and(param -> param.like("cs_equipment_delivery.name", queryParam.getSearchValue()) + .or().like("cs_equipment_delivery.ndid", queryParam.getSearchValue()) + .or().like("cs_equipment_delivery.mac", queryParam.getSearchValue())); + } + //排序 + if (ObjectUtil.isAllNotEmpty(queryParam.getSortBy(), queryParam.getOrderBy())) { + queryWrapper.orderBy(true, queryParam.getOrderBy().equalsIgnoreCase(DbConstant.ASC), StrUtil.toUnderlineCase(queryParam.getSortBy())); + } else { + //默认根据创建时间排序 + queryWrapper.orderBy(true, true, "create_time"); + } + } + if (Strings.isNotBlank(queryParam.getDevType()) || !Objects.isNull(queryParam.getDevType())){ + queryWrapper.eq("cs_equipment_delivery.dev_type", queryParam.getDevType()); + } + if (Strings.isNotBlank(queryParam.getDevModel()) || !Objects.isNull(queryParam.getDevModel())){ + queryWrapper.eq("cs_equipment_delivery.dev_model", queryParam.getDevModel()); + } + if (Strings.isNotBlank(queryParam.getDevAccessMethod()) || !Objects.isNull(queryParam.getDevAccessMethod())){ + queryWrapper.eq("cs_equipment_delivery.dev_access_method", queryParam.getDevAccessMethod()); + } + if (!Objects.isNull(queryParam.getStatus())){ + queryWrapper.eq("cs_equipment_delivery.status", queryParam.getStatus()); + } else { + queryWrapper.in("cs_equipment_delivery.status", Arrays.asList(1,2,3)); + } + return this.baseMapper.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper); + } }