Commit cb3dd5de authored by KeYong's avatar KeYong

Merge branch 'develop_dl' of http://36.40.66.175:5000/moa/amos-boot-biz into develop_dl

# Conflicts: # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/mapper/EquipmentSpecificMapper.java # amos-boot-system-equip/src/main/resources/mapper/EquipmentSpecificMapper.xml
parents 3bb0c62a d805f471
package com.yeejoin.equipmanage.common.dto;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemGroupEntity;
import com.yeejoin.equipmanage.common.entity.publics.BaseDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class FireFightingSystemGroupDto extends BaseDTO<FireFightingSystemGroupEntity> {
@ApiModelProperty(value = "分组名称")
private String groupName;
@ApiModelProperty(value = "分组编码")
private String groupCode;
@ApiModelProperty(value = "展示类型:0-系统部件 1-安措")
private Integer showType;
@ApiModelProperty(value = "系统ID")
private String systemIds;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "分组排序")
private Integer sort;
@ApiModelProperty(value = "业务组织编码")
private String bizOrgCode;
@ApiModelProperty(value = "业务组织名称")
private String bizOrgName;
@ApiModelProperty(value = "系统与系统部件")
private List<SystemEquipmentRelationDto> systemEquipmentRelations;
}
package com.yeejoin.equipmanage.common.dto;
import com.yeejoin.equipmanage.common.entity.SystemEquipmentRelationEntity;
import com.yeejoin.equipmanage.common.entity.publics.BaseDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class SystemEquipmentRelationDto extends BaseDTO<SystemEquipmentRelationEntity> {
@ApiModelProperty(value = "系统ID")
private Long systemId;
@ApiModelProperty(value = "分组编码")
private Long equipmentId;
@ApiModelProperty(value = "类型(0:系统部件、1:安措)")
private Integer type;
@ApiModelProperty(value = "部件排序")
private Integer sort;
}
...@@ -110,4 +110,13 @@ public class Equipment extends BaseEntity { ...@@ -110,4 +110,13 @@ public class Equipment extends BaseEntity {
*/ */
@TableField(value = "clean_type") @TableField(value = "clean_type")
private String cleanType = "0"; private String cleanType = "0";
@TableField(exist = false)
private Long equipCategoryId; // 装备分类id
@TableField(exist = false)
private String equipCategoryName; // 装备分类名称
@TableField(exist = false)
private String equipCategoryCode; // 装备分类编码
} }
...@@ -100,4 +100,29 @@ public class EquipmentCategory extends BaseEntity implements TreeNode<EquipmentC ...@@ -100,4 +100,29 @@ public class EquipmentCategory extends BaseEntity implements TreeNode<EquipmentC
public int compareTo(EquipmentCategory o) { public int compareTo(EquipmentCategory o) {
return getId().compareTo(o.getId()); return getId().compareTo(o.getId());
} }
public void addCountToParent() {
if (parentId != 0) {
EquipmentCategory parent = findParent(this);
if (parent != null) {
parent.setCount(parent.getCount() + this.getCount());
parent.addCountToParent();
}
}
}
private EquipmentCategory findParent(EquipmentCategory node) {
for (EquipmentCategory child : children) {
if (child.getId().equals(node.getParentId())) {
return child;
} else {
EquipmentCategory parent = findParent(child);
if (parent != null) {
return parent;
}
}
}
return null;
}
} }
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@Builder
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@TableName("f_fire_fighting_system_group")
@ApiModel(value = "f_fire_fighting_system_group", description = "消防系统分组")
public class FireFightingSystemGroupEntity extends BaseEntity {
@ApiModelProperty(value = "分组名称")
private String groupName;
@ApiModelProperty(value = "分组编码")
private String groupCode;
@ApiModelProperty(value = "展示类型:0-系统部件 1-安措")
private Integer displayType;
@ApiModelProperty(value = "系统ID")
private String systemIds;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "分组排序")
private Integer sort;
@ApiModelProperty(value = "业务组织编码")
private String bizOrgCode;
@ApiModelProperty(value = "业务组织名称")
private String bizOrgName;
}
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@Data
@Builder
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@TableName("f_system_equipment_relation")
@ApiModel(value = "f_system_equipment_relation", description = "消防系统部件关系")
public class SystemEquipmentRelationEntity extends BaseEntity {
@ApiModelProperty(value = "系统ID")
private Long systemId;
@ApiModelProperty(value = "分组编码")
private Long equipmentId;
@ApiModelProperty(value = "类型(0:系统部件、1:安措)")
private Integer type;
@ApiModelProperty(value = "部件排序")
private Integer sort;
}
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("wl_spare_equipment")
@ApiModel(value = "WlSpareEquipment对象", description = "设备平台备品备件管理")
public class WlSpareEquipment extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@TableField("name")
private String name; // 装备名称
@TableField("equip_model_id")
private Long equipModelId; // 装备定义id
@TableField("equip_model_name")
private String equipModelName; // 装备定义名称
@TableField("equip_model_code")
private String equipModelCode; // 装备定义编码
@TableField("equip_category_id")
private Long equipCategoryId; // 装备分类id
@TableField("equip_category_name")
private String equipCategoryName; // 装备分类名称
@TableField("equip_category_code")
private String equipCategoryCode; // 装备分类编码
@TableField("stock_num")
private Float stockNum; // 库存数量
@TableField("manufacturer")
private String manufacturer; // 生产厂家
@TableField("manufacturer_id")
private Long manufacturerId; // 生产厂家id
@TableField("standard")
private String standard; // 规格
@TableField("brand")
private String brand; // 品牌
@TableField("production_date")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date productionDate; // 生产日期
@TableField("purchase_date")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date purchaseDate; // 采购日期
@TableField("warehouse_structure_id")
private Long warehouseStructureId; // 存储位置id
@TableField("warehouse_structure_code")
private String warehouseStructureCode; // 存储位置code
@TableField("warehouse_structure")
private String warehouseStructure; // 存储位置
@TableField("position")
private String position; // 存储位置详情描述
@TableField("unit")
private String unit; // 计量单位
@TableField("unit_id")
private Long unitId; // 计量单位id
@TableField("remark")
private String remark; // 备注
@TableField("biz_org_name")
private String bizOrgName; // 机构名称
@TableField("biz_org_code")
private String bizOrgCode; // 机构编码
@TableField("single")
private Integer single; // 管理方式(默认单件)
@TableField("is_delete")
private Boolean isDelete = false; // 是否删除 0-否 1-是
@TableField(exist = false)
private List<UploadFile> img;
@TableField(exist = false)
private List<UploadFile> video;
@TableField(exist = false)
private List<UploadFile> certification;
@TableField(exist = false)
private List<UploadFile> instruction;
@TableField(exist = false)
private List<EquProperty> equPropertyList;
@TableField(exist = false)
private List<UploadFile> quality;
@TableField(exist = false)
private List<UploadFile> operation;
@TableField(exist = false)
private String agencyId;
@TableField(exist = false)
private Integer pageNum;
@TableField(exist = false)
private Integer pageSize;
@TableField(exist = false)
private String equipmentClassificationCode;
@TableField(exist = false)
private String industryCode;
@TableField(exist = false)
private String code; // 装备定义code筛选字段
}
package com.yeejoin.equipmanage.common.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class CoreEquipmentsDto {
@ApiModelProperty(value = "装备ID")
private String id;
@ApiModelProperty(value = "装备名称")
private String name;
@ApiModelProperty(value = "装备排序")
private Integer sort;
@ApiModelProperty(value = "所属类型")
private Integer type;
}
package com.yeejoin.equipmanage.common.entity.dto;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemGroupEntity;
import com.yeejoin.equipmanage.common.entity.publics.BaseDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class FireFightingSystemGroupModalDto extends BaseDTO<FireFightingSystemGroupEntity> {
@ApiModelProperty(value = "分组名称")
private String groupName;
@ApiModelProperty(value = "展示类型:0-安措 1-保护区域")
private Integer displayType;
@ApiModelProperty(value = "分组排序")
private Integer sort;
@ApiModelProperty(value = "系统装备列表")
private List<SystemEquipmentsDto> systems;
@ApiModelProperty(value = "业务组织编码")
private String bizOrgCode;
@ApiModelProperty(value = "业务组织名称")
private String bizOrgName;
}
package com.yeejoin.equipmanage.common.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@Accessors(chain = true)
public class SystemEquipmentsDto {
@ApiModelProperty(value = "系统ID")
private String id;
@ApiModelProperty(value = "系统名称")
private String name;
@ApiModelProperty(value = "系统排序")
private Integer sort;
@ApiModelProperty(value = "装备列表")
private List<CoreEquipmentsDto> equipments;
}
...@@ -22,4 +22,6 @@ public class EquipCountBySystemVO { ...@@ -22,4 +22,6 @@ public class EquipCountBySystemVO {
private Integer equipmentNum; private Integer equipmentNum;
@ApiModelProperty(value = "单位") @ApiModelProperty(value = "单位")
private String unitName; private String unitName;
@ApiModelProperty(value = "图标")
private String img;
} }
...@@ -79,4 +79,7 @@ public class EquipTypeImgAmountVO { ...@@ -79,4 +79,7 @@ public class EquipTypeImgAmountVO {
@ApiModelProperty(value = "日常运维") @ApiModelProperty(value = "日常运维")
private String equip; private String equip;
@ApiModelProperty(value = "系统IDs")
private String systemId;
} }
package com.yeejoin.equipmanage.common.entity.vo;
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class WlSpareEquipmentExportVo {
@Excel(name = "装备名称")
@ExcelProperty(value = "装备名称", index = 0)
private String name; // 装备名称
@Excel(name = "装备编码(从装备定义中获取)")
@ExcelProperty(value = "装备编码(从装备定义中获取)", index = 1)
private String equipModelCode;
@Excel(name = "管理方式(单项管理/批量管理)")
@ExcelProperty(value = "管理方式(单项管理/批量管理)", index = 2)
private String single;
@Excel(name = "数量")
@ExcelProperty(value = "数量", index = 3)
private Float stockNum; // 库存数量
@Excel(name = "计量单位")
@ExcelProperty(value = "计量单位", index = 4)
private String unit; // 计量单位
@Excel(name = "规格型号")
@ExcelProperty(value = "规格型号", index = 5)
private String standard; // 规格型号
@Excel(name = "品牌")
@ExcelProperty(value = "品牌", index = 6)
private String brand; // 品牌
@Excel(name = "生产厂家名称")
@ExcelProperty(value = "生产厂家名称", index = 7)
private String manufacturer; // 生产厂家
@Excel(name = "存放位置(建筑或房间编码)")
@ExcelProperty(value = "存放位置(建筑或房间编码)", index = 8)
private String warehouseStructure; // 存储位置
@Excel(name = "位置信息")
@ExcelProperty(value = "位置信息", index = 9)
private String position; // 存储位置详情描述
@Excel(name = "生产日期")
@ExcelProperty(value = "生产日期", index = 10)
private String productionDate; // 生产日期
@Excel(name = "采购日期")
@ExcelProperty(value = "采购日期", index = 11)
private String purchaseDate; // 采购日期
@Excel(name = "备注")
@ExcelProperty(value = "备注", index = 12)
private String remark; // 备注
}
...@@ -4,7 +4,8 @@ public enum BillContentEnum { ...@@ -4,7 +4,8 @@ public enum BillContentEnum {
ZB("1", "装备", "equipment"), ZB("1", "装备", "equipment"),
CL("2", "车辆", "car"), CL("2", "车辆", "car"),
MHYJ("3", "灭火药剂", "extinguishing "), MHYJ("3", "灭火药剂", "extinguishing "),
RY("4", "人员", "people"); RY("4", "人员", "people"),
BPBJ("1", "备品备件", "spareEquipment");
private String name; private String name;
......
package com.yeejoin.equipmanage.common.enums;
public enum SingleEnum {
PLGL("批量管理", 0),
DXGL("单项管理", 1);
SingleEnum(String name, Integer key) {
this.name = name;
this.key = key;
}
private String name;
private Integer key;
public String getName() {
return name;
}
public Integer getKey() {
return key;
}
}
package com.yeejoin.equipmanage.common.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Objects;
@Getter
@AllArgsConstructor
public enum SystemGroupShowTypeEnum {
SYSTEM_EQUIPMENT(0, "系统部件"),
SECURITY_MEASURE(1, "安措");
private final Integer code;
private final String value;
public static SystemGroupShowTypeEnum getEnumByCode(Integer code) {
SystemGroupShowTypeEnum aEnum = null;
for (SystemGroupShowTypeEnum item : SystemGroupShowTypeEnum.values()) {
if (Objects.equals(item.getCode(), code)) {
aEnum = item;
break;
}
}
return aEnum;
}
}
...@@ -2,6 +2,7 @@ package com.yeejoin.equipmanage.common.vo; ...@@ -2,6 +2,7 @@ package com.yeejoin.equipmanage.common.vo;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail; import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific; import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.WlSpareEquipment;
/** /**
* 消防设备 * 消防设备
...@@ -13,6 +14,16 @@ public class EquipmentDate { ...@@ -13,6 +14,16 @@ public class EquipmentDate {
private EquipmentDetail equipmentDetail; private EquipmentDetail equipmentDetail;
private WlSpareEquipment spareEquipment;
public WlSpareEquipment getSpareEquipment() {
return spareEquipment;
}
public void setSpareEquipment(WlSpareEquipment spareEquipment) {
this.spareEquipment = spareEquipment;
}
public EquipmentSpecific getEquipmentSpecific() { public EquipmentSpecific getEquipmentSpecific() {
return equipmentSpecific; return equipmentSpecific;
} }
......
...@@ -599,6 +599,18 @@ public class EquipmentController extends AbstractBaseController { ...@@ -599,6 +599,18 @@ public class EquipmentController extends AbstractBaseController {
return iEquipmentService.listByCategoryId(categoryId); return iEquipmentService.listByCategoryId(categoryId);
} }
/**
* 装备分类定义数据API【全量】
*
* @return
*/
@RequestMapping(value = "/equipList", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "装备分类定义数据API【全量】", notes = "装备分类定义数据API【全量】")
public List<Equipment> categoryList() {
return iEquipmentService.categoryList();
}
@RequestMapping(value = "/listLike/{code}", method = RequestMethod.GET, produces = "application/json;charset=UTF-8") @RequestMapping(value = "/listLike/{code}", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询") @ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
......
package com.yeejoin.equipmanage.controller; package com.yeejoin.equipmanage.controller;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -127,6 +128,9 @@ public class EquipmentDetailController extends AbstractBaseController { ...@@ -127,6 +128,9 @@ public class EquipmentDetailController extends AbstractBaseController {
@Value("${iot.code.prefix.have.used:20210003,20210004,20210005}") @Value("${iot.code.prefix.have.used:20210003,20210004,20210005}")
private String haveUsedIotPrefix; private String haveUsedIotPrefix;
@Autowired
private WlSpareEquipmentService wlSpareEquipmentService;
/** /**
* 新增 * 新增
* *
...@@ -190,6 +194,10 @@ public class EquipmentDetailController extends AbstractBaseController { ...@@ -190,6 +194,10 @@ public class EquipmentDetailController extends AbstractBaseController {
} }
EquipmentDetailController controllerProxy = SpringUtils.getBean(EquipmentDetailController.class); EquipmentDetailController controllerProxy = SpringUtils.getBean(EquipmentDetailController.class);
controllerProxy.refreshCount(vo.getBizOrgCode()); controllerProxy.refreshCount(vo.getBizOrgCode());
WlSpareEquipment spareEquipment = equipmentDate.getSpareEquipment();
if (ObjectUtil.isNotEmpty(spareEquipment) && ObjectUtil.isNotEmpty(spareEquipment.getId())) {
wlSpareEquipmentService.subtractNum(spareEquipment.getId(), Float.valueOf(vo.getNum()));
}
return date; return date;
} }
......
package com.yeejoin.equipmanage.controller; package com.yeejoin.equipmanage.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
...@@ -132,6 +134,16 @@ public class FireFightingSystemController extends AbstractBaseController { ...@@ -132,6 +134,16 @@ public class FireFightingSystemController extends AbstractBaseController {
return fireFightingSystemService.getEquipCountBySystemId(systemId); return fireFightingSystemService.getEquipCountBySystemId(systemId);
} }
@RequestMapping(value = "/getEquipCountPageBySystemId", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("根据系统id查询分组设备数量")
public Page<EquipCountBySystemVO> getEquipCountPageBySystemId(@RequestParam("systemId") Long systemId,
@RequestParam(value = "pageNumber", required = false) Integer pageNumber,
@RequestParam(value = "pageSize", required = false) Integer pageSize
) {
return fireFightingSystemService.getEquipCountPageBySystemId(systemId, pageNumber, pageSize);
}
@RequestMapping(value = "/getOneById", method = RequestMethod.GET) @RequestMapping(value = "/getOneById", method = RequestMethod.GET)
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation("通过id查询消防系统信息") @ApiOperation("通过id查询消防系统信息")
...@@ -855,6 +867,24 @@ public class FireFightingSystemController extends AbstractBaseController { ...@@ -855,6 +867,24 @@ public class FireFightingSystemController extends AbstractBaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "消防系统列表查询(不分页)", notes = "下拉使用")
@GetMapping(value = "/systems")
public List<FireFightingSystemEntity> systems(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode) {
if (StringUtils.isEmpty(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
bizOrgCode = personIdentity.getBizOrgCode();
}
}
Wrapper<FireFightingSystemEntity> wrapper = Wrappers.<FireFightingSystemEntity>lambdaQuery()
.likeRight(FireFightingSystemEntity::getBizOrgCode, bizOrgCode)
.isNotNull(FireFightingSystemEntity::getName)
.isNotNull(FireFightingSystemEntity::getSystemType);
return fireFightingSystemService.list(wrapper);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "消防系统树和消防建筑树", notes = "树菜单") @ApiOperation(value = "消防系统树和消防建筑树", notes = "树菜单")
@GetMapping(value = "/getBuildingTreeAndSystemTree") @GetMapping(value = "/getBuildingTreeAndSystemTree")
public Map<String, List> getBuildingTreeAndSystemTree(RequestBaseDto dto) { public Map<String, List> getBuildingTreeAndSystemTree(RequestBaseDto dto) {
......
package com.yeejoin.equipmanage.controller;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity;
import com.yeejoin.equipmanage.common.entity.dto.FireFightingSystemGroupModalDto;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.service.FireFightingSystemGroupService;
import com.yeejoin.equipmanage.service.IFireFightingSystemService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Slf4j
@RestController
@Api(tags = "消防系统分组")
@RequestMapping(value = "/fire-fighting-system-group")
public class FireFightingSystemGroupController extends BaseController {
@Autowired
private FireFightingSystemGroupService fireFightingSystemGroupService;
@ApiOperation(value = "消防系统列表查询(未绑定分组的系统)", notes = "下拉使用")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/systems")
public ResponseModel systems(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode) {
if (StringUtils.isEmpty(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
bizOrgCode = personIdentity.getBizOrgCode();
}
}
return CommonResponseUtil.success(fireFightingSystemGroupService.selectUnboundSystems(bizOrgCode));
}
@RequestMapping(value = "/save-or-update", method = {RequestMethod.PUT, RequestMethod.POST})
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "添加/更新分组", notes = "添加/更新分组")
public ResponseModel save(@RequestBody FireFightingSystemGroupModalDto dto) {
if (!(Objects.nonNull(dto.getGroupName()) && Objects.nonNull(dto.getDisplayType()) && Objects.nonNull(dto.getSystems()))) {
return CommonResponseUtil.failure("非法参数");
}
ReginParams reginParams = getSelectedOrgInfo();
dto.setBizOrgCode(reginParams.getPersonIdentity().getCompanyBizOrgCode());
dto.setBizOrgName(reginParams.getPersonIdentity().getCompanyName());
return CommonResponseUtil.success(fireFightingSystemGroupService.saveOrUpdate(dto));
}
@PutMapping(value = "/update-group-sort")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "PUT", value = "更新分组展示顺序", notes = "更新分组展示顺序")
public ResponseModel updateGroupSort(@RequestParam("groupIds") String groupIds) {
if (Objects.isNull(groupIds) || groupIds.isEmpty()) {
return CommonResponseUtil.failure("非法参数");
}
List<Long> ids = Arrays.stream(groupIds.split(",")).map(Long::valueOf).mapToLong(Long::longValue).boxed().collect(Collectors.toList());
fireFightingSystemGroupService.updateGroupSort(ids);
return CommonResponseUtil.success();
}
@PostMapping(value = "/update-system-sort/{groupId}")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "更新系统展示顺序", notes = "更新系统展示顺序")
public ResponseModel updateSystemSort(@PathVariable Long groupId, @RequestBody List<Long> systemIds) {
if (Objects.isNull(systemIds) || systemIds.isEmpty()) {
return CommonResponseUtil.failure("非法参数");
}
fireFightingSystemGroupService.updateSystemSort(groupId, systemIds);
return CommonResponseUtil.success();
}
@GetMapping(value = "/list")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "查询分组列表", notes = "查询分组列表")
public ResponseModel list(@RequestParam(required = false) String bizOrgCode) {
if (StringUtils.isEmpty(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
bizOrgCode = reginParams.getPersonIdentity().getCompanyBizOrgCode();
}
return CommonResponseUtil.success(fireFightingSystemGroupService.listGroup(bizOrgCode));
}
@DeleteMapping(value = "/{id}")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "DELETE", value = "删除分组", notes = "删除分组")
public ResponseModel deteleGroup(@PathVariable("id") Long id) {
fireFightingSystemGroupService.deleteGroup(id);
return CommonResponseUtil.success();
}
}
...@@ -29,6 +29,8 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> { ...@@ -29,6 +29,8 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
int getEquipmentSpeCount(Map<String, Object> map); int getEquipmentSpeCount(Map<String, Object> map);
List<Map<String, Object>> getEquipmentCount(@Param("bizOrgCode") String bizOrgCode);
IPage<ComplementCodeVO> selectEquipmentSpecific(Page page, EquipmentSpecificDTO equipmentSpecificDTO); IPage<ComplementCodeVO> selectEquipmentSpecific(Page page, EquipmentSpecificDTO equipmentSpecificDTO);
/** /**
...@@ -336,4 +338,6 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> { ...@@ -336,4 +338,6 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
List<Map<String, Object>> getFireEquipStatistic(@Param("bizOrgCode") String bizOrgCode); List<Map<String, Object>> getFireEquipStatistic(@Param("bizOrgCode") String bizOrgCode);
Integer selectEquipmentCountBySystemId(@Param("systemId") Long systemId);
} }
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemGroupEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FireFightingSystemGroupMapper extends BaseMapper<FireFightingSystemGroupEntity> {
}
...@@ -53,6 +53,8 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE ...@@ -53,6 +53,8 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
*/ */
List<EquipCountBySystemVO> getEquipCountBySystemId(Long systemId); List<EquipCountBySystemVO> getEquipCountBySystemId(Long systemId);
Page<EquipCountBySystemVO> getEquipCountPageBySystemId(@Param("page") Page<Object> page, @Param("systemId") Long systemId);
/** /**
* 保存 * 保存
* *
......
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.SystemEquipmentRelationEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SystemEquipmentRelationMapper extends BaseMapper<SystemEquipmentRelationEntity> {
}
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.equipmanage.common.entity.WlSpareEquipment;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface WlSpareEquipmentMapper extends BaseMapper<WlSpareEquipment> {
Page<WlSpareEquipment> listByPage(@Param("page") Page page,
@Param("dto") WlSpareEquipment dto,
@Param("hierarchy") int hierarchy,
@Param("codeHead") String codeHead);
List<Map<String, Object>> countSpareEquip(@Param("bizOrgCode") String bizOrgCode);
List<WlSpareEquipment> exportList(@Param("dto") WlSpareEquipment dto,
@Param("hierarchy") int hierarchy,
@Param("codeHead") String codeHead);
}
package com.yeejoin.equipmanage.service;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemGroupEntity;
import com.yeejoin.equipmanage.common.entity.dto.FireFightingSystemGroupModalDto;
import java.util.List;
public interface FireFightingSystemGroupService extends IService<FireFightingSystemGroupEntity> {
/**
* 获取未绑定分组的系统列表
*/
JSONArray selectUnboundSystems(String bizOrgCode);
/**
* 保存分组
*
* @param fireFightingSystemGroupModalDto 分组信息
*/
Boolean saveOrUpdate(FireFightingSystemGroupModalDto fireFightingSystemGroupModalDto);
/**
* 更新分组排序
*/
void updateGroupSort(List<Long> groupIds);
/**
* 更新系统排序
*/
void updateSystemSort(Long groupId, List<Long> systemIds);
/**
* 获取分组
*
* @param bizOrgCode 业务组织编码
* @return 分组列表
*/
JSONArray listGroup(String bizOrgCode);
/**
* 删除分组
*/
void deleteGroup(Long groupId);
}
...@@ -128,4 +128,7 @@ public interface IEquipmentService extends IService<Equipment> { ...@@ -128,4 +128,7 @@ public interface IEquipmentService extends IService<Equipment> {
EquipmentVo getEquipBySpecific(Long equipmentSpecificId); EquipmentVo getEquipBySpecific(Long equipmentSpecificId);
List<Equipment> getAllByCode(String id); List<Equipment> getAllByCode(String id);
List<Equipment> categoryList();
} }
...@@ -60,6 +60,14 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE ...@@ -60,6 +60,14 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE
List<EquipCountBySystemVO> getEquipCountBySystemId(Long systemId); List<EquipCountBySystemVO> getEquipCountBySystemId(Long systemId);
/** /**
* 根据系统id查询分组设备数量
*
* @param systemId
* @return
*/
Page<EquipCountBySystemVO> getEquipCountPageBySystemId(Long systemId, Integer pageNumber, Integer pageSize);
/**
* 保存 * 保存
* *
* @param vo * @param vo
......
package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.SystemEquipmentRelationEntity;
public interface SystemEquipmentRelationService extends IService<SystemEquipmentRelationEntity> {
}
package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.equipmanage.common.entity.EquipmentCategory;
import com.yeejoin.equipmanage.common.entity.WlSpareEquipment;
import com.yeejoin.equipmanage.common.entity.vo.WlSpareEquipmentExportVo;
import com.yeejoin.equipmanage.common.vo.EquipmentDate;
import java.util.List;
import java.util.Map;
public interface WlSpareEquipmentService {
/**
* 新增/编辑
*/
WlSpareEquipment saveOrUpdateSpareEquipment(WlSpareEquipment wlSpareEquipment, ReginParams reginParams);
/**
* 删除
*/
int deleteByIds(List<Long> ids);
WlSpareEquipment getById(Long id);
Page<WlSpareEquipment> listByPage(WlSpareEquipment dto, Page page, int hierarchy, String codeHead);
void saveImportBatch(List<WlSpareEquipmentExportVo> list, ReginParams reginParams);
void subtractNum(Long id, Float num);
List<EquipmentCategory> getEquipmentTypeAndCount(String bizOrgCode);
List<Map<String, Object>> countSpareEquip(String bizOrgCode);
List<WlSpareEquipment> exportList(WlSpareEquipment dto, int hierarchy, String codeHead);
}
package com.yeejoin.equipmanage.service.impl; package com.yeejoin.equipmanage.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -18,6 +19,7 @@ import com.yeejoin.equipmanage.service.IEquipmentDetailService; ...@@ -18,6 +19,7 @@ import com.yeejoin.equipmanage.service.IEquipmentDetailService;
import com.yeejoin.equipmanage.service.IEquipmentIndexService; import com.yeejoin.equipmanage.service.IEquipmentIndexService;
import com.yeejoin.equipmanage.service.IEquipmentService; import com.yeejoin.equipmanage.service.IEquipmentService;
import com.yeejoin.equipmanage.service.IUnitService; import com.yeejoin.equipmanage.service.IUnitService;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -347,6 +349,41 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment ...@@ -347,6 +349,41 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment
} }
@Override @Override
public List<Equipment> categoryList() {
List<Equipment> list = this.list();
Map<String, List<EquipmentIndex>> equipmentIndexMap = iEquipmentIndexService.list().stream()
.collect(Collectors.groupingBy(EquipmentIndex::getEquipmentId));
Map<Long, Unit> unitMap = iUnitService.list().stream().collect(Collectors.toMap(Unit::getId, t -> t));
Map<Long, EquipmentCategory> categoryMap = equipmentCategoryMapper.selectList(null).stream().collect(Collectors.toMap(EquipmentCategory::getId, t -> t));
for (Equipment equipment : list) {
List<EquipmentIndex> quotaList = equipmentIndexMap.get(equipment.getId().toString());
List<EquProperty> properList = new ArrayList<EquProperty>();
if (CollUtil.isNotEmpty(quotaList)) {
for (EquipmentIndex equipmentIndex : quotaList) {
EquProperty equProperty = new EquProperty();
equProperty.setEquipmentIndexId(equipmentIndex.getId());
equProperty.setPerfQuotaName(equipmentIndex.getPerfQuotaName());
equProperty.setEquipmentIndexName(equipmentIndex.getPerfQuotaName());
equProperty.setGroupName(equipmentIndex.getGroupName());
equProperty.setValue(equipmentIndex.getPerfValue());
equProperty.setUnitName(equipmentIndex.getUnitName());
equProperty.setEquipmentIndexKey(equipmentIndex.getPerfQuotaDefinitionId());
properList.add(equProperty);
}
}
EquipmentCategory equipmentCategory = categoryMap.get(equipment.getCategoryId());
if (ObjectUtils.isNotEmpty(equipmentCategory)) {
equipment.setEquipCategoryId(equipmentCategory.getId());
equipment.setEquipCategoryCode(equipmentCategory.getCode());
equipment.setEquipCategoryName(equipmentCategory.getName());
}
equipment.setEquPropertyList(properList);
equipment.setUnit(unitMap.get(equipment.getUnitId()));
}
return list;
}
@Override
public EquipmentAppVO getEquipmentAppMessage(String qrCode) { public EquipmentAppVO getEquipmentAppMessage(String qrCode) {
EquipmentAppVO equipmentApp = new EquipmentAppVO(); EquipmentAppVO equipmentApp = new EquipmentAppVO();
//设备信息参数 //设备信息参数
......
package com.yeejoin.equipmanage.service.impl; package com.yeejoin.equipmanage.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
...@@ -63,6 +65,7 @@ import java.net.NetworkInterface; ...@@ -63,6 +65,7 @@ import java.net.NetworkInterface;
import java.net.SocketException; import java.net.SocketException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -94,6 +97,8 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -94,6 +97,8 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
@Autowired @Autowired
EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper; EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired @Autowired
EquipmentSpecificAlarmLogMapper equipmentSpecificAlarmLogMapper;
@Autowired
private SourceSceneMapper sourceSceneMapper; private SourceSceneMapper sourceSceneMapper;
@Value("${equipment.fire.systemid}") @Value("${equipment.fire.systemid}")
private String fireSystemId; private String fireSystemId;
...@@ -182,6 +187,12 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -182,6 +187,12 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
} }
@Override @Override
public Page<EquipCountBySystemVO> getEquipCountPageBySystemId(Long systemId, Integer pageNumber, Integer pageSize) {
return this.baseMapper.getEquipCountPageBySystemId(new Page(pageNumber, pageSize), systemId);
}
@Override
public List<EquiplistSpecificBySystemVO> public List<EquiplistSpecificBySystemVO>
getEquiplistBySystemId(Long systemId) { getEquiplistBySystemId(Long systemId) {
return this.baseMapper.getEquiplistBySystemId(systemId); return this.baseMapper.getEquiplistBySystemId(systemId);
...@@ -1000,11 +1011,31 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -1000,11 +1011,31 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
} }
IPage<EquipTypeImgAmountVO> list = fireFightingSystemMapper IPage<EquipTypeImgAmountVO> list = fireFightingSystemMapper
.getColaCategoryAmountEquList(equipTypeAmountPage.getPage(), hierarchy, codeHead, equipTypeAmountPage); .getColaCategoryAmountEquList(equipTypeAmountPage.getPage(), hierarchy, codeHead, equipTypeAmountPage);
ArrayList<String> systemIds = new ArrayList<>();
list.getRecords().forEach(x -> { list.getRecords().forEach(x -> {
if (!x.getEqtype().startsWith("4") && StringUtil.isNotEmpty(x.getAmount())) { if (!x.getEqtype().startsWith("4") && StringUtil.isNotEmpty(x.getAmount())) {
x.setAmount(x.getAmount().split("\\.")[0]); x.setAmount(x.getAmount().split("\\.")[0]);
} }
if (StringUtil.isNotEmpty(x.getSystemId())) {
List<String> systemId = Arrays.asList(x.getSystemId().split(","));
systemIds.addAll(systemId);
}
}); });
if (CollUtil.isNotEmpty(systemIds)) {
LambdaQueryWrapper<FireFightingSystemEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.in(FireFightingSystemEntity::getId, systemIds);
List<FireFightingSystemEntity> fireSystemList = fireFightingSystemMapper.selectList(wrapper);
Map<String, String> systemNameMap = fireSystemList.stream().collect(Collectors.toMap(t -> t.getId().toString(), FireFightingSystemEntity::getName));
list.getRecords().parallelStream().forEach(item -> {
if (StringUtil.isNotEmpty(item.getSystemId())) {
ArrayList<String> systemNames = new ArrayList<>();
List<String> systemIdList = Arrays.asList(item.getSystemId().split(","));
systemIdList.parallelStream().forEach(id -> systemNames.add(systemNameMap.getOrDefault(id, "")));
String join = String.join(",", systemNames);
item.setSystemName(join);
}
});
}
return list; return list;
} }
...@@ -1114,7 +1145,21 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -1114,7 +1145,21 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
@Override @Override
public List<AlarmDataVO> getSystemById(Long id) { public List<AlarmDataVO> getSystemById(Long id) {
return this.baseMapper.getSystemById(id); List<AlarmDataVO> list = this.baseMapper.getSystemById(id);
// 部件总数
Integer equipmentCount = equipmentSpecificMapper.selectCount(
Wrappers.<EquipmentSpecific>lambdaQuery().eq(EquipmentSpecific::getSystemId, id)
);
// 今日报警次数
Integer alarmCount = equipmentSpecificAlarmLogMapper.selectCount(
Wrappers.<EquipmentSpecificAlarmLog>lambdaQuery()
.like(EquipmentSpecificAlarmLog::getSystemIds, id)
.eq(EquipmentSpecificAlarmLog::getStatus, "1")
.likeRight(EquipmentSpecificAlarmLog::getCreateDate, LocalDate.now().toString())
);
list.add(new AlarmDataVO("部件总数", equipmentCount + " 个", false));
list.add(new AlarmDataVO("今日报警次数", alarmCount + " 次", false));
return list;
} }
@Override @Override
......
package com.yeejoin.equipmanage.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.equipmanage.common.entity.SystemEquipmentRelationEntity;
import com.yeejoin.equipmanage.mapper.SystemEquipmentRelationMapper;
import com.yeejoin.equipmanage.service.SystemEquipmentRelationService;
import org.springframework.stereotype.Service;
@Service
public class SystemEquipmentRelationServiceImpl extends ServiceImpl<SystemEquipmentRelationMapper, SystemEquipmentRelationEntity> implements SystemEquipmentRelationService {
}
...@@ -109,6 +109,26 @@ ...@@ -109,6 +109,26 @@
AND code like CONCAT('%',#{code},'%') AND code like CONCAT('%',#{code},'%')
</if> </if>
</select> </select>
<select id="getEquipmentCount" resultType="Map">
SELECT
we.id AS equipmentId,
we.name AS equipmentName,
count(1) AS count,
u.name AS unit
FROM
wl_equipment_specific wesp
LEFT JOIN wl_equipment_detail wsd ON wesp.equipment_detail_id = wsd.id
LEFT JOIN wl_equipment we ON wsd.equipment_id = we.id
LEFT JOIN wl_unit u on u.id = we.unit_id
<where>
we.id IS NOT NULL
<if test="bizOrgCode != null and bizOrgCode != ''">
AND wesp.biz_org_code like concat(#{bizOrgCode},'%')
</if>
</where>
GROUP BY
we.code
</select>
<select id="selectEquipmentSpecific" resultMap="ComplementCode"> <select id="selectEquipmentSpecific" resultMap="ComplementCode">
SELECT SELECT
wesp.id id, wesp.id id,
...@@ -2880,7 +2900,7 @@ ...@@ -2880,7 +2900,7 @@
And find_in_set(es.id, #{bussIds}) > 0 And find_in_set(es.id, #{bussIds}) > 0
</if> </if>
</select> </select>
<select id="getFireEquipStatistic" resultType="Map"> <select id="getFireEquipStatistic" resultType="Map">
SELECT SELECT
a.`name` AS `name`, a.`name` AS `name`,
...@@ -2901,4 +2921,26 @@ ...@@ -2901,4 +2921,26 @@
wes.equipment_code wes.equipment_code
</select> </select>
<select id="selectEquipmentCountBySystemId" resultType="int">
SELECT
es.id,
es.name,
es.biz_org_name bizOrgName,
es.code,
es.position,
ed.standard,
DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) AS dayNum
FROM
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_equipment e ON ed.equipment_id = e.id
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE
ed.production_date IS NOT NULL
AND e.expiry_date IS NOT NULL
<if test="bussIds != null and bussIds != ''">
And find_in_set(es.id, #{bussIds}) > 0
</if>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<result property="equipmentName" column="equipment_name"></result> <result property="equipmentName" column="equipment_name"></result>
<result property="equipmentNum" column="num"></result> <result property="equipmentNum" column="num"></result>
<result property="unitName" column="unit_name"></result> <result property="unitName" column="unit_name"></result>
<result property="img" column="img"></result>
</resultMap> </resultMap>
<resultMap id="CategoryAmountList" type="com.yeejoin.equipmanage.common.entity.vo.EquipTypeImgAmountVO"> <resultMap id="CategoryAmountList" type="com.yeejoin.equipmanage.common.entity.vo.EquipTypeImgAmountVO">
<result column="id" property="id"></result> <result column="id" property="id"></result>
...@@ -98,6 +99,7 @@ ...@@ -98,6 +99,7 @@
det.NAME equipment_name, det.NAME equipment_name,
count(spe.id) num, count(spe.id) num,
unit.name unit_name, unit.name unit_name,
wle.img,
cate.NAME AS equipmentCateGoryName cate.NAME AS equipmentCateGoryName
FROM FROM
wl_equipment_specific AS spe wl_equipment_specific AS spe
...@@ -109,6 +111,24 @@ ...@@ -109,6 +111,24 @@
find_in_set(#{systemId},spe.system_id) and spe.single = true find_in_set(#{systemId},spe.system_id) and spe.single = true
group by wle.id group by wle.id
</select> </select>
<select id="getEquipCountPageBySystemId" resultMap="EquipCountBySystemId">
SELECT
wle.id equipment_id,
det.NAME equipment_name,
count(spe.id) num,
unit.name unit_name,
wle.img,
cate.NAME AS equipmentCateGoryName
FROM
wl_equipment_specific AS spe
LEFT JOIN wl_equipment_detail AS det ON spe.equipment_detail_id = det.id
LEFT JOIN wl_equipment AS wle ON wle.id = det.equipment_id
LEFT JOIN wl_equipment_category cate ON cate.id = wle.category_id
LEFT JOIN wl_unit as unit ON wle.unit_id = unit.id
where
find_in_set(#{systemId},spe.system_id) and spe.single = true
group by wle.id
</select>
<insert id="save"> <insert id="save">
INSERT INTO INSERT INTO
f_fire_fighting_system f_fire_fighting_system
...@@ -719,7 +739,17 @@ ...@@ -719,7 +739,17 @@
f_fire_fighting_system fffs f_fire_fighting_system fffs
LEFT JOIN wl_equipment_category wlec ON fffs.system_type = wlec.id LEFT JOIN wl_equipment_category wlec ON fffs.system_type = wlec.id
left join wl_manufacturer_info wlmi on wlmi.id=fffs.maintenance_unit left join wl_manufacturer_info wlmi on wlmi.id=fffs.maintenance_unit
left join wl_manufacturer_info wlmi1 on wlmi1.id=fffs.construction_unit) a where a.id=#{id} order by sort left join wl_manufacturer_info wlmi1 on wlmi1.id=fffs.construction_unit
UNION ALL
SELECT
fffs.id,
'保护区域' AS `key`,
pro_object AS value,
false as isHref,
9 as sort
FROM
f_fire_fighting_system fffs
) a where a.id=#{id} order by sort
</select> </select>
<select id="getEquipmentAlarmBySystemIdOrSourceIdVO" <select id="getEquipmentAlarmBySystemIdOrSourceIdVO"
resultType="com.yeejoin.equipmanage.common.entity.vo.EquipmentAlarmBySystemIdOrSourceIdVO"> resultType="com.yeejoin.equipmanage.common.entity.vo.EquipmentAlarmBySystemIdOrSourceIdVO">
...@@ -2071,7 +2101,7 @@ ...@@ -2071,7 +2101,7 @@
<select id="getColaCategoryAmountEquList" resultMap="CategoryAmountList"> <select id="getColaCategoryAmountEquList" resultMap="CategoryAmountList">
select * from (
SELECT SELECT
wles.id, wles.id,
wles.qr_code, wles.qr_code,
...@@ -2083,8 +2113,7 @@ ...@@ -2083,8 +2113,7 @@
concat_ws('-',wlws.full_name,wled.area) as full_name, concat_ws('-',wlws.full_name,wled.area) as full_name,
wlws.name as belongBuildName, wlws.name as belongBuildName,
wlun.NAME unitName, wlun.NAME unitName,
(SELECT GROUP_CONCAT(fem.name) FROM `f_fire_fighting_system` fem WHERE find_in_set(fem.id,wles.system_id)) wles.system_id as systemId,
as systemName,
wlsd.amount, wlsd.amount,
wlsd.id as stockDetailId, wlsd.id as stockDetailId,
'equipment' as type, 'equipment' as type,
...@@ -2165,13 +2194,12 @@ ...@@ -2165,13 +2194,12 @@
<if test="equipTypeAmountPage.iotCode!=null and equipTypeAmountPage.iotCode!=''"> <if test="equipTypeAmountPage.iotCode!=null and equipTypeAmountPage.iotCode!=''">
AND wles.iot_code LIKE CONCAT('%',#{equipTypeAmountPage.iotCode},'%') AND wles.iot_code LIKE CONCAT('%',#{equipTypeAmountPage.iotCode},'%')
</if> </if>
)s1 WHERE 1=1
<if test="equipTypeAmountPage.warehouseStructureName!=null and equipTypeAmountPage.warehouseStructureName!=''"> <if test="equipTypeAmountPage.warehouseStructureName!=null and equipTypeAmountPage.warehouseStructureName!=''">
AND s1.full_name LIKE CONCAT('%',#{equipTypeAmountPage.warehouseStructureName},'%') AND concat_ws('-',wlws.full_name,wled.area) LIKE CONCAT('%',#{equipTypeAmountPage.warehouseStructureName},'%')
</if> </if>
<if test="equipTypeAmountPage.bizOrgCode!=null and equipTypeAmountPage.bizOrgCode!=''"> <if test="equipTypeAmountPage.bizOrgCode!=null and equipTypeAmountPage.bizOrgCode!=''">
AND s1.bizOrgCode LIKE CONCAT(#{equipTypeAmountPage.bizOrgCode},'%') AND wles.biz_org_code LIKE CONCAT(#{equipTypeAmountPage.bizOrgCode},'%')
</if> </if>
order by createDate DESC order by createDate DESC
</select> </select>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.equipmanage.mapper.WlSpareEquipmentMapper">
<select id="listByPage" resultType="com.yeejoin.equipmanage.common.entity.WlSpareEquipment">
SELECT
*
FROM wl_spare_equipment
<where>
is_delete = 0
AND stock_num > 0
<if test="dto.bizOrgCode != null and dto.bizOrgCode != ''">
AND `biz_org_code` LIKE concat(#{dto.bizOrgCode}, '%')
</if>
<if test="dto.name != null and dto.name != ''">
AND `name` LIKE CONCAT('%', #{dto.name}, '%')
</if>
<if test="dto.code != null and dto.code != ''">
AND `equip_model_code` LIKE concat('%', #{dto.code}, '%')
</if>
<if test="codeHead != null and codeHead != ''">
AND LEFT (equip_model_code, #{hierarchy}) = #{codeHead}
</if>
<if test="dto.manufacturerId != null">
AND manufacturer_id = #{dto.manufacturerId}
</if>
<if test="dto.warehouseStructureId != null">
AND warehouse_structure_id = #{dto.warehouseStructureId}
</if>
<if test="dto.equipModelId != null">
AND `equip_model_id` = #{dto.equipModelId}
</if>
</where>
ORDER BY create_date DESC
</select>
<select id="countSpareEquip" resultType="java.util.Map">
select
a.equip_model_name AS `name`,
sum( a.stock_num ) AS `value`,
a.unit AS unit,
IFNULL( ifnull( b.img, b.shbz_img ), '' ) AS icon,
a.equip_model_id AS equipmentModelId,
a.equip_model_code AS equipmentModelCode
FROM
wl_spare_equipment a
LEFT JOIN wl_equipment b ON b.id = a.equip_model_id
<where>
a.is_delete = 0
<if test="bizOrgCode != '' and bizOrgCode != null">
AND a.`biz_org_code` LIKE concat(#{bizOrgCode}, '%')
</if>
</where>
GROUP BY
a.equip_model_id
</select>
<select id="exportList" resultType="com.yeejoin.equipmanage.common.entity.WlSpareEquipment">
SELECT
*
FROM wl_spare_equipment
<where>
is_delete = 0
AND stock_num > 0
<if test="dto.bizOrgCode != null and dto.bizOrgCode != ''">
AND `biz_org_code` LIKE concat(#{dto.bizOrgCode}, '%')
</if>
<if test="dto.name != null and dto.name != ''">
AND `name` LIKE CONCAT('%', #{dto.name}, '%')
</if>
<if test="dto.code != null and dto.code != ''">
AND `equip_model_code` LIKE concat('%', #{dto.code}, '%')
</if>
<if test="codeHead != null and codeHead != ''">
AND LEFT (equip_model_code, #{hierarchy}) = #{codeHead}
</if>
<if test="dto.manufacturerId != null">
AND manufacturer_id = #{dto.manufacturerId}
</if>
<if test="dto.warehouseStructureId != null">
AND warehouse_structure_id = #{dto.warehouseStructureId}
</if>
<if test="dto.equipModelId != null">
AND `equip_model_id` = #{dto.equipModelId}
</if>
</where>
ORDER BY create_date DESC
</select>
</mapper>
...@@ -249,7 +249,7 @@ public class KafkaConsumerService { ...@@ -249,7 +249,7 @@ public class KafkaConsumerService {
* *
* @param message 消息 * @param message 消息
*/ */
@KafkaListener(id = "consumerSingle", topics = "#{'${kafka.topics}'.split(',')}", concurrency = "2") @KafkaListener(id = "consumerSingle", groupId = "${kafka.station.groupId}", topics = "#{'${kafka.topics}'.split(',')}", concurrency = "2")
public void consumerSingle(String message, Acknowledgment ack) { public void consumerSingle(String message, Acknowledgment ack) {
JSONObject messageObj = JSONObject.fromObject(message); JSONObject messageObj = JSONObject.fromObject(message);
try { try {
......
...@@ -114,3 +114,5 @@ kafka.auto-startup=false ...@@ -114,3 +114,5 @@ kafka.auto-startup=false
#浜嬩欢鍛婅瀵规帴Kafka涓婚 #浜嬩欢鍛婅瀵规帴Kafka涓婚
queue.kafka.eventAlarm.topics=JKXT2BP-GJ-Topic-site queue.kafka.eventAlarm.topics=JKXT2BP-GJ-Topic-site
kafka.station.groupId=shaoxing
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment