Commit 719ffc15 authored by zhengjiawei's avatar zhengjiawei

风险模型

parent 192a86d3
package com.yeejoin.amos.fas.business.controller;
import com.yeejoin.amos.fas.business.param.FmeaBindParam;
import com.yeejoin.amos.fas.business.service.intfc.EquipmentSpecificService;
import com.yeejoin.amos.fas.business.service.intfc.IEquipmentCategoryService;
import com.yeejoin.amos.fas.config.Permission;
import com.yeejoin.amos.fas.core.common.request.CommonPageable;
import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.core.util.CommonResponseUtil;
import com.yeejoin.amos.fas.dao.entity.EquipmentCategory;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
......@@ -37,6 +45,42 @@ public class EquipmentSpecificController extends BaseController{
@ApiOperation(value = "绑定消防设备指标", notes = "绑定消防设备指标")
@PostMapping(value = "/upDateEquimentPoint")
public CommonResponse upDateEquimentPoint(@RequestBody FmeaBindParam fmeaBindParam) {
return CommonResponseUtil.success(equipmentSpecificService.upDateEquimentPoint(fmeaBindParam));
}
@ApiOperation(httpMethod = "GET", value = "查询指定风险点绑定关系", notes = "查询指定风险点绑定关系")
@RequestMapping(value = "/getAssoEquips", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public CommonResponse getAssoEquips(
@RequestParam Long fmeaId,
@RequestParam int pageNumber,
@RequestParam int pageSize) {
return CommonResponseUtil.success(equipmentSpecificService.getAssoEquips(fmeaId, pageNumber, pageSize));
}
@ApiOperation(value = "查询设备指标", notes = "查询设备指标")
@GetMapping(value = "/getBindEquipment")
public CommonResponse getBindEquipment(@RequestParam Long fmeaId,
@RequestParam Long importantEquipId,
@RequestParam Long equimentId,
@RequestParam(required = false) String equipmentPointName) {
return CommonResponseUtil.success(equipmentSpecificService.getBindEquipment(fmeaId, importantEquipId, equimentId, equipmentPointName));
}
@GetMapping(value = "/fireequiment")
@ApiOperation(httpMethod = "GET", value = "查询绑定关系设备", notes = "查询绑定关系设备")
public CommonResponse getFireEquiments(
@RequestParam(value = "equipmentId") String equipmentId,
@RequestParam(value = "fname",required = false) String fname) {
return CommonResponseUtil.success(equipmentSpecificService.getFireEquiments( equipmentId, fname));
}
@GetMapping(value = "/getEquipmentBySpe")
@ApiOperation(httpMethod = "GET", value = "获取装备台账信息", notes = "获取装备台账信息")
public CommonResponse getEquipmentBySpe(
......
package com.yeejoin.amos.fas.business.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.fas.business.vo.AssoEquipsVo;
import com.yeejoin.amos.fas.business.vo.EquipmentPointVo;
import com.yeejoin.amos.fas.business.vo.EquipmentSpecificVo;
import com.yeejoin.amos.fas.dao.entity.FmeaEquipmentPoint;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -13,6 +16,21 @@ import java.util.List;
* @date 2020-11-04
*/
public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecificVo> {
Long saveBatch(List<FmeaEquipmentPoint> list);
int deletPointBuFmeaId(@Param("fmeaId")Long fmeaId,@Param("importantEquipId")Long importantEquipId);
List<AssoEquipsVo>getAssoEquips(@Param("fmeaId")Long fmeaId, @Param("pageNumber")int pageNumber,@Param("pageSize") int pageSize);
/**
* 查询设备指标
* @param fmeaId
* @param importantEquipId
* @param equimentId
* @param equipmentPointName
* @return
*/
List<EquipmentPointVo> getBindEquipment(@Param("fmeaId")Long fmeaId, @Param("importantEquipId")Long importantEquipId, @Param("equimentId")Long equimentId, @Param("equipmentPointName")String equipmentPointName);
/**
* 获取配置数据
* @param pageNumber
......@@ -24,4 +42,13 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecificVo>
*/
List<EquipmentSpecificVo> getEquipmentBySpe(@Param("pageNumber") int pageNumber, @Param("pageSize") int pageSize, @Param("name")String name, @Param("code")String code,@Param("equipmentId") String equipmentId);
int getEquipmentBySpeCount( @Param("name")String name, @Param("code")String code,@Param("equipmentId") String equipmentId);
/**
* 查询绑定关系设备
* @param equipmentId
* @param fname
* @return
*/
List<EquipmentSpecificVo> getFireEquiments(@Param("equipmentId")String equipmentId, @Param("fname")String fname);
}
package com.yeejoin.amos.fas.business.service.impl;
import com.yeejoin.amos.fas.business.dao.mapper.EquipmentSpecificMapper;
import com.yeejoin.amos.fas.business.param.FmeaBindParam;
import com.yeejoin.amos.fas.business.service.intfc.EquipmentSpecificService;
import com.yeejoin.amos.fas.business.vo.AssoEquipsVo;
import com.yeejoin.amos.fas.business.vo.EquipmentPointVo;
import com.yeejoin.amos.fas.business.vo.EquipmentSpecificVo;
import com.yeejoin.amos.fas.dao.entity.FmeaEquipmentPoint;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -25,6 +31,49 @@ public class EquipmentSpecificServiceImpl implements EquipmentSpecificService {
@Override
public List<FmeaEquipmentPoint> upDateEquimentPoint(FmeaBindParam fmeaBindParam) {
Long fmeaId = fmeaBindParam.getFmeaId();
Long importantEquipId = fmeaBindParam.getImportantEquipmentId();
equipmentSpecificMapper.deletPointBuFmeaId(fmeaId,importantEquipId);
List<FmeaEquipmentPoint> returnList = new ArrayList<>();
for (Long equipmentPointId : fmeaBindParam.getEquipmentPointIds()) {
FmeaEquipmentPoint fmeaEquipmentPoint = new FmeaEquipmentPoint();
fmeaEquipmentPoint.setFmeaId(fmeaId);
fmeaEquipmentPoint.setImportantEquipmentId(importantEquipId);
fmeaEquipmentPoint.setEquipmentPointId(equipmentPointId);
returnList.add(fmeaEquipmentPoint);
}
if (!CollectionUtils.isEmpty(returnList)) {
equipmentSpecificMapper.saveBatch(returnList);
}
return returnList;
}
@Override
public Map<String, Object> getAssoEquips(Long fmeaId, int pageNumber, int pageSize) {
Map<String, Object> map = new HashMap<>();
pageNumber = pageNumber*pageSize;
List<AssoEquipsVo> assoEquips = equipmentSpecificMapper.getAssoEquips(fmeaId, pageNumber, pageSize);
map.put("content",assoEquips);
return map;
}
@Override
public List<EquipmentPointVo> getBindEquipment(Long fmeaId, Long importantEquipId, Long equimentId, String equipmentPointName) {
return equipmentSpecificMapper.getBindEquipment(fmeaId,importantEquipId,equimentId,equipmentPointName);
}
@Override
public Map<String, List<EquipmentSpecificVo> > getFireEquiments(String equipmentId, String fname) {
Map<String, List<EquipmentSpecificVo> > map = new HashMap<>();
List<EquipmentSpecificVo> fireEquiments = equipmentSpecificMapper.getFireEquiments(equipmentId, fname);
map.put("content",fireEquiments);
return map;
}
@Override
public Map<String ,Object> getEquipmentBySpe(String name, String code, int pageNumber, int pageSize ,String equipmentId) {
Map<String, Object> map = new HashMap<>();
pageNumber = pageNumber*pageSize;
......
package com.yeejoin.amos.fas.business.service.intfc;
import com.yeejoin.amos.fas.business.param.FmeaBindParam;
import com.yeejoin.amos.fas.business.vo.EquipmentPointVo;
import com.yeejoin.amos.fas.business.vo.EquipmentSpecificVo;
import com.yeejoin.amos.fas.dao.entity.FmeaEquipmentPoint;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
/**
......@@ -9,6 +16,34 @@ import java.util.Map;
*/
public interface EquipmentSpecificService {
/**
* 修改绑定项目
* @param fmeaBindParam
* @return
*/
List<FmeaEquipmentPoint> upDateEquimentPoint( FmeaBindParam fmeaBindParam);
Map<String ,Object> getAssoEquips (Long fmeaId, int pageNumber, int pageSize);
/**
* 查询设备指标
* @param fmeaId
* @param importantEquipId
* @param equimentId
* @param equipmentPointName
* @return
*/
List<EquipmentPointVo>getBindEquipment(Long fmeaId, Long importantEquipId, Long equimentId, String equipmentPointName);
/**
* 查询绑定关系设备
* @param equipmentId
* @param fname
* @return
*/
Map<String , List<EquipmentSpecificVo>> getFireEquiments(String equipmentId, String fname) ;
/**
* 获取配置装备
* @param name
......
package com.yeejoin.amos.fas.business.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
public class AssoEquipsVo {
private String equipmentCode;
private String equipmentName;
private String importantEquipName;
private String equipmentPointNames;
private String equipmentId;
private int fmeaId;
private int importantEquipId;
public AssoEquipsVo() {
}
@JsonProperty
public String getEquipmentId() {
return equipmentId;
}
public void setEquipmentId(String equipmentId) {
this.equipmentId = equipmentId;
}
@JsonProperty
public String getEquipmentCode() {
return equipmentCode;
}
public void setEquipmentCode(String equipmentCode) {
this.equipmentCode = equipmentCode;
}
@JsonProperty
public String getEquipmentName() {
return equipmentName;
}
public void setEquipmentName(String equipmentName) {
this.equipmentName = equipmentName;
}
@JsonProperty
public String getImportantEquipName() {
return importantEquipName;
}
public void setImportantEquipName(String importantEquipName) {
this.importantEquipName = importantEquipName;
}
@JsonProperty
public String getEquipmentPointNames() {
return equipmentPointNames;
}
public void setEquipmentPointNames(String equipmentPointNames) {
this.equipmentPointNames = equipmentPointNames;
}
@JsonProperty
public int getFmeaId() {
return fmeaId;
}
public void setFmeaId(int fmeaId) {
this.fmeaId = fmeaId;
}
@JsonProperty
public int getImportantEquipId() {
return importantEquipId;
}
public void setImportantEquipId(int importantEquipId) {
this.importantEquipId = importantEquipId;
}
}
package com.yeejoin.amos.fas.business.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
public class EquipmentPointVo {
private String id;
private String name;
private String isBound;
public EquipmentPointVo() {
}
public EquipmentPointVo(String id, String name, String isBound) {
this.id = id;
this.name = name;
this.isBound = isBound;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@JsonProperty
public String getIsBound() {
return isBound;
}
public void setIsBound(String isBound) {
this.isBound = isBound;
}
}
package com.yeejoin.amos.fas.business.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
public class EquipmentSpeVo {
private String id;
//装备码
private String fCode;
//装备名称
private String fName;
//装备分类
public EquipmentSpeVo() {
}
public EquipmentSpeVo(String id, String fCode, String fName) {
this.id = id;
this.fCode = fCode;
this.fName = fName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@JsonProperty
public String getfCode() {
return fCode;
}
public void setfCode(String fCode) {
this.fCode = fCode;
}
@JsonProperty
public String getfName() {
return fName;
}
public void setfName(String fName) {
this.fName = fName;
}
}
......@@ -2,6 +2,30 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.fas.business.dao.mapper.EquipmentSpecificMapper">
<insert id="saveBatch" keyColumn="id" keyProperty="id"
parameterType="com.yeejoin.amos.fas.dao.entity.FmeaEquipmentPoint"
useGeneratedKeys="true">
insert into f_fmea_equipment_point
(
fmea_id,
important_equipment_id,
equipment_point_id,
create_date
)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.fmeaId},
#{item.importantEquipmentId},
#{item.equipmentPointId},
now()
)
</foreach>
</insert>
<delete id="deletPointBuFmeaId">
delete from f_fmea_equipment_point where fmea_id = #{fmeaId} and important_equipment_id =#{importantEquipId}
</delete>
<select id="getEquipmentBySpe" resultType="com.yeejoin.amos.fas.business.vo.EquipmentSpecificVo">
select
sto.id as id ,
......@@ -49,4 +73,76 @@
and cate.code like CONCAT('%',#{code},'%' )
</if>
</select>
<select id="getFireEquiments" resultType="com.yeejoin.amos.fas.business.vo.EquipmentSpeVo">
select
sto.id as id ,
equ.code as f_code,
det.name as f_name
from
wl_stock_detail as sto
left join wl_equipment_detail as det on sto.equipment_detail_id = det.id
left join wl_equipment as equ on det.equipment_id = equ.id
left join f_equipment_fire_equipment as fire on sto.id = fire.fire_equipment_id
where sto.amount <![CDATA[>]]> 0
<if test="fname != null and fname!='null' ">
and det.name like CONCAT('%',#{fname},'%' )
</if>
<if test="equipmentId != null and equipmentId!='null' ">
and fire.equipment_id = #{equipmentId}
</if>
</select>
<select id="getBindEquipment" resultType="com.yeejoin.amos.fas.business.vo.EquipmentPointVo">
select
speind.id,
equindex.name,
(
select
case when count(1) > 0 then 'bound' else 'noBound' end
from
f_fmea_equipment_point as d
where
d.equipment_point_id = speind.id
and
d.fmea_id = #{fmeaId}
and
d.important_equipment_id = #{importantEquipId} ) isBound
from
f_equipment_fire_equipment as fire
left join wl_stock_detail as sto on fire.fire_equipment_id = sto.id
left join wl_equipment_specific as spe on sto.qr_code = spe.qr_code
left join wl_equipment_specific_index as speind on spe.id = speind.equipment_specific_id
left join wl_equipment_index as equindex on speind.equipment_index_id = equindex.id
where equindex.type_code ='BREAKDOWN'
<if test="importantEquipId != null ">
and fire.equipment_id = #{importantEquipId}
</if>
<if test="equimentId != null ">
and fire.fire_equipment_id =#{equimentId}
</if>
<if test="equipmentPointName != null and equipmentPointName!='null' ">
and equindex.name like CONCAT('%',#{equipmentPointName},'%' )
</if>
</select>
<select id="getAssoEquips" resultType="com.yeejoin.amos.fas.business.vo.AssoEquipsVo">
select
sto.id as equipmentId,
equip.code as equipmentCode,
det.name as equipmentName ,
fqe.name as importantEquipName ,
(select group_concat(concat( name, '##', state )) from wl_equipment_index as equindex where equip.id = equindex.equipment_id and type_code = 'BREAKDOWN' group by equindex.equipment_id) as equipmentPointNames,
poin.important_equipment_id as importantEquipId,
fmea_id as fmeaId
from
f_fmea_equipment_point as poin
left join f_equipment as fqe on poin.important_equipment_id = fqe.id
left join wl_equipment_specific_index as speind on poin.equipment_point_id = speind.id
left join wl_equipment_specific as spe on speind.equipment_specific_id = spe.id
left join wl_stock_detail as sto on sto.qr_code = spe.qr_code
left join wl_equipment_detail as det on spe.equipment_detail_id = det.id
left join wl_equipment as equip on det.equipment_id = equip.id
<if test="fmeaId != null ">
where fmea_id = #{fmeaId}
</if>
limit #{pageNumber},#{pageSize}
</select>
</mapper>
\ No newline at end of file
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