Commit b0822c9c authored by maoying's avatar maoying

解决冲突

parents df82f465 4f60600e
......@@ -9,6 +9,8 @@ import com.yeejoin.amos.fas.business.util.FileHelper;
import com.yeejoin.amos.fas.business.vo.ReginParams;
import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.core.util.CommonResponseUtil;
import com.yeejoin.amos.fas.exception.YeeException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
......@@ -119,6 +121,9 @@ public class ExcelController extends BaseController {
iExcelService.importWaterResource(list);
}
return CommonResponseUtil.success();
} catch (YeeException e) {
logger.info("导入数据异常", e);
return CommonResponseUtil.failure(e.getMessage());
} catch (Exception e) {
logger.info("导入数据异常", e);
return CommonResponseUtil.failure("导入失败");
......
package com.yeejoin.amos.fas.business.controller;
import com.google.common.collect.Maps;
import com.itextpdf.text.pdf.PdfStructTreeController.returnType;
import com.yeejoin.amos.fas.business.dao.mapper.FireEquipPointMapper;
import com.yeejoin.amos.fas.business.entity.mybatis.FireEquipmentPointEntity;
import com.yeejoin.amos.fas.business.service.intfc.IFireEquipPontService;
......@@ -163,6 +164,15 @@ public class FireEquimtPointController extends BaseController {
@ApiOperation(value = "修改监测点", notes = "修改监测点")
@PostMapping(value = "/update")
public CommonResponse update(@ApiParam(value = "监测点对象", required = true) @RequestBody FireEquipmentPointEntity fireEquipmentPointEntity) {
FireEquipmentPoint old = fireEquipPontService.queryOne(fireEquipmentPointEntity.getId());
if(old.getId() != 0 ) {
String[] idArray = new String[] { String.valueOf(old.getId()) };
if(fireEquipPontService.countImpEquipment(idArray) > 0) {
String riskSourceNames = fireEquipPontService.findBindRiskSourceStrByPointIds(idArray);
return CommonResponseUtil.failure("该设备已被风险区域 [" + riskSourceNames + "] 绑定,请先删除绑定关系");
}
}
return fireEquipPontService.update(fireEquipmentPointEntity);
}
......@@ -172,6 +182,11 @@ public class FireEquimtPointController extends BaseController {
if (StringUtils.isEmpty(pointIds)) {
return CommonResponseUtil.failure("监测点编号必填");
}
String[] idArray = pointIds.split(",");
if(fireEquipPontService.countImpEquipment(idArray) > 0) {
String riskSourceNames = fireEquipPontService.findBindRiskSourceStrByPointIds(idArray);
return CommonResponseUtil.failure("该点位已被风险区域 [" + riskSourceNames + "] 绑定,请先删除绑定关系");
}
List<Long> ids = Arrays.stream(pointIds.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
return fireEquipPontService.batchDelete(ids);
}
......
package com.yeejoin.amos.fas.business.controller;
import com.yeejoin.amos.fas.business.param.CommonPageInfoParam;
import com.yeejoin.amos.fas.business.service.intfc.IEquipmentService;
import com.yeejoin.amos.fas.business.service.intfc.IFireCarService;
import com.yeejoin.amos.fas.business.service.intfc.IFireEquipService;
import com.yeejoin.amos.fas.business.service.intfc.IWaterResourceService;
......@@ -16,6 +17,7 @@ import com.yeejoin.amos.fas.dao.entity.FireEquipment;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
......@@ -35,6 +37,8 @@ public class FireSourceController extends BaseController {
private IFireEquipService iFireEquipService;
@Autowired
private IWaterResourceService iWaterResourceService;
@Autowired
private IEquipmentService iEquipService;
@ApiOperation(httpMethod = "POST", value = "添加消防装备", notes = "添加消防装备")
@RequestMapping(value = "", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
......@@ -82,6 +86,9 @@ public class FireSourceController extends BaseController {
if (iFireEquipService.countAssociatedEquipStationByIds(idArray) > 0) {
return CommonResponseUtil.failure("该设备已被消防泡沫间或消防小室绑定,请先删除绑定关系");
}
if (iEquipService.countImpEquipByIds(idArray) > 0) {
return CommonResponseUtil.failure("该设备已被重点设备绑定,请先删除绑定关系");
}
return CommonResponseUtil.success(iFireEquipService.delete(idArray));
}
......@@ -177,11 +184,12 @@ public class FireSourceController extends BaseController {
@ApiParam(value = "设备名称", required = false) @RequestParam(required = false) String name,
@ApiParam(value = "设备编号", required = false) @RequestParam(required = false) String code,
@ApiParam(value = "设备类型", required = false) @RequestParam(required = false) String equipClassify,
@ApiParam(value = "是否绑定配套设备", required = false) @RequestParam(required = false) String bindStation,
int pageNumber, int pageSize) {
CommonPageable commonPageable = new CommonPageable(pageNumber, pageSize);
return CommonResponseUtil.success(iFireEquipService.queryForEquipmentList(StringUtils.trimToNull(name),
StringUtils.trimToNull(code), StringUtils.trimToNull(equipClassify), commonPageable));
StringUtils.trimToNull(code), StringUtils.trimToNull(equipClassify), commonPageable,StringUtils.trimToNull(bindStation)));
}
@ApiOperation(httpMethod = "GET", value = "消防状态明细信息", notes = "消防状态明细信息")
......
......@@ -41,14 +41,16 @@ public interface FireEquipMapper extends BaseMapper {
long queryForEquipmentPageCount(@Param("name") String name,
@Param("code") String code,
@Param("equipClassify") String equipClassify);
@Param("equipClassify") String equipClassify,
@Param("bindStation") String bindStation);
List<Map> queryForEquipmentPage(
@Param("name") String name,
@Param("code") String code,
@Param("equipClassify") String equipClassify,
@Param("start") long start,
@Param("length") int length);
@Param("length") int length,
@Param("bindStation") String bindStation);
List<Map> queryForGroupCount(@Param("fireStationId") Long fireStationId);
......
......@@ -22,4 +22,7 @@ public interface IEquipmentFireEquipmentDao extends BaseDao<EquipmentFireEquipme
List<EquipmentFireEquipment> findAllByEquipmentId(Long equipmentId);
@Query(value = "SELECT count(1) FROM `f_equipment_fire_equipment` WHERE fire_equipment_id in ?1", nativeQuery = true)
int countImpEquipByIds(String[] ids);
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.fas.business.dao.repository;
import java.util.Optional;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.yeejoin.amos.fas.dao.entity.FireEquipmentPoint;
......@@ -15,4 +16,13 @@ public interface IFireEquipmentPointDao extends BaseDao<FireEquipmentPoint, Long
int countByCode(String code);
@Query(value = "SELECT count(1) FROM `f_fmea_equipment_point` WHERE equipment_point_id in ?1", nativeQuery = true)
int countImpEquipment(String[] idArray);
@Query(value = "select group_CONCAT(r.name) from f_fmea_equipment_point ep " +
"left join f_fmea f on f.id = ep.fmea_id " +
"left join f_risk_source r on r.id = f.risk_source_id " +
" WHERE ep.equipment_point_id in ?1 ", nativeQuery = true)
String findBindRiskSourceStrByPointIds(String[] idArray);
}
......@@ -39,4 +39,6 @@ public interface IRiskSourceDao extends BaseDao<RiskSource, Long> {
Optional<RiskSource> findByOrgCodeAndParentId(String orgCode, Long parentId);
List<RiskSource> findByParentIdAndIsRegion(long id, String string);
Optional<RiskSource> findByCode(String riskSourceCode);
}
......@@ -16,7 +16,9 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{
@Override
public void apply(RequestTemplate template) {
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
if(attributes != null) {
HttpServletRequest request = attributes.getRequest();
/* Get token from header */
String authToken = request.getHeader("X-Access-Token");
/* If token not found get it from request parameter */
......@@ -27,4 +29,5 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{
template.header("X-Access-Token", authToken);
template.header("token", authToken);
}
}
}
......@@ -48,9 +48,12 @@ public class FireEquipmentParam {
@Excel(name = "重量", orderNum = "13")
private Double weight = 0.00;
@Excel(name = "风险区域编号", orderNum = "14")
// @Excel(name = "风险区域id", orderNum = "14")
private Long riskSourceId;
@Excel(name = "风险区域编号(必填)", orderNum = "14")
private String riskSourceCode;
@Excel(name = "厂商", orderNum = "15", width = 20)
private String manufacturer;
......@@ -189,4 +192,18 @@ public class FireEquipmentParam {
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
/**
* @return the riskSourceCode
*/
public String getRiskSourceCode() {
return riskSourceCode;
}
/**
* @param riskSourceCode the riskSourceCode to set
*/
public void setRiskSourceCode(String riskSourceCode) {
this.riskSourceCode = riskSourceCode;
}
}
......@@ -6,13 +6,13 @@ public class WaterResourceParam {
private Long id;
@Excel(name = "编号", width = 20)
@Excel(name = "编号(必填)", width = 20)
private String code;
@Excel(name = "名称", orderNum = "1", width = 20)
private String name;
@Excel(name = "类型", replace = {"消火栓_1", "消防水池_2", "喷淋_3"}, orderNum = "3")
@Excel(name = "类型(消火栓_1,消防水池_2,喷淋_3)", replace = {"消火栓_1", "消防水池_2", "喷淋_3"}, orderNum = "3")
private String type;
@Excel(name = "三维坐标", orderNum = "4", width = 15)
......@@ -21,12 +21,15 @@ public class WaterResourceParam {
@Excel(name = "三维楼层", orderNum = "5")
private String floor3d;
@Excel(name = "是否室内", replace = {"是_1", "否_0"}, orderNum = "6")
@Excel(name = "是否室内(是_1,否_0)", replace = {"是_1", "否_0"}, orderNum = "6")
private Boolean isIndoor=true;
@Excel(name = "所属风险区域", orderNum = "7")
// @Excel(name = "所属风险区域", orderNum = "7")
private Long riskSourceId;
@Excel(name = "所属风险区域编号(必填)", orderNum = "7")
private String riskSourceCode;
@Excel(name = "房间", orderNum = "8")
private String room;
......@@ -123,4 +126,18 @@ public class WaterResourceParam {
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
/**
* @return the riskSourceCode
*/
public String getRiskSourceCode() {
return riskSourceCode;
}
/**
* @param riskSourceCode the riskSourceCode to set
*/
public void setRiskSourceCode(String riskSourceCode) {
this.riskSourceCode = riskSourceCode;
}
}
......@@ -51,7 +51,7 @@ public class AccidentTypeServiceImpl implements IAccidentTypeService {
private void checkBeforeDet(Long id) {
List<RiskFactor> list = iRiskFactorDao.findByAccidentTypeId(id);
if(null != list && list.size()>0){
throw new YeeException("危险因素"+list.get(0).getName()+"在使用中,不能删除");
throw new YeeException(list.get(0).getName()+"在使用中,不能删除");
}
}
......
......@@ -486,4 +486,10 @@ public class EquipmentServiceImpl implements IEquipmentService {
return data.get(0);
}
@Override
public int countImpEquipByIds(String[] idArray) {
return equipmentFireEquipmentDao.countImpEquipByIds(idArray);
}
}
......@@ -6,6 +6,7 @@ import com.google.common.collect.Sets;
import com.yeejoin.amos.fas.business.dao.mapper.FireEquipMapper;
import com.yeejoin.amos.fas.business.dao.mapper.FireEquipPointMapper;
import com.yeejoin.amos.fas.business.dao.mapper.WaterResourceMapper;
import com.yeejoin.amos.fas.business.dao.repository.IRiskSourceDao;
import com.yeejoin.amos.fas.business.entity.mybatis.FireEquipmentEntity;
import com.yeejoin.amos.fas.business.entity.mybatis.FireEquipmentPointEntity;
import com.yeejoin.amos.fas.business.param.FireEquipmentParam;
......@@ -14,7 +15,10 @@ import com.yeejoin.amos.fas.business.param.WaterResourceParam;
import com.yeejoin.amos.fas.business.service.intfc.IExcelService;
import com.yeejoin.amos.fas.business.service.intfc.IFireEquipPontService;
import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.dao.entity.RiskSource;
import com.yeejoin.amos.fas.dao.entity.WaterResource;
import com.yeejoin.amos.fas.exception.YeeException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageImpl;
......@@ -25,6 +29,7 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
@Service("excelService")
......@@ -42,6 +47,9 @@ public class ExcelServiceImpl implements IExcelService {
@Autowired
private WaterResourceMapper waterResourceMapper;
@Autowired
private IRiskSourceDao riskSourceDao;
@Transactional
@Override
public void importFireEquipment(List<FireEquipmentParam> list) {
......@@ -53,6 +61,13 @@ public class ExcelServiceImpl implements IExcelService {
List<FireEquipmentParam> updateList = Lists.newArrayList();
list.forEach(fireEquipment -> {
String code = fireEquipment.getCode();
String riskSourceCode = fireEquipment.getRiskSourceCode();
Optional<RiskSource> riskSourceOptional = riskSourceDao.findByCode(riskSourceCode);
if(riskSourceOptional.isPresent()) {
fireEquipment.setRiskSourceId(riskSourceOptional.get().getId());
}else {
throw new YeeException("编号: [" + riskSourceCode + "] 风险区域不存在!");
}
FireEquipmentEntity fireEquipmentEntity = equipmentMap.get(code);
if (fireEquipmentEntity == null) {
saveList.add(fireEquipment);
......@@ -132,6 +147,13 @@ public class ExcelServiceImpl implements IExcelService {
List<WaterResourceParam> saveList = Lists.newArrayList();
List<WaterResourceParam> updateList = Lists.newArrayList();
list.forEach(warerRes -> {
String riskSourceCode = warerRes.getRiskSourceCode();
Optional<RiskSource> riskSourceOptional = riskSourceDao.findByCode(riskSourceCode);
if(riskSourceOptional.isPresent()) {
warerRes.setRiskSourceId(riskSourceOptional.get().getId());
}else {
throw new YeeException("编号: [" + riskSourceCode + "] 风险区域不存在!");
}
String code = warerRes.getCode();
WaterResource waterResource = waterResourceMap.get(code);
if (waterResource == null) {
......
......@@ -154,4 +154,16 @@ public class FireEquipPointServiceImpl implements IFireEquipPontService {
List<FireEquipmentEntity> equipments = fireEquipMapper.listByType(type);
return CommonResponseUtil.success(equipments);
}
@Override
public int countImpEquipment(String[] idArray) {
return fireEquipmentPointDao.countImpEquipment(idArray);
}
@Override
public String findBindRiskSourceStrByPointIds(String[] idArray) {
return fireEquipmentPointDao.findBindRiskSourceStrByPointIds(idArray);
}
}
......@@ -119,9 +119,9 @@ public class FireEquipServiceImpl implements IFireEquipService {
}
public Page queryForEquipmentList(String name, String code,String equipClassify,CommonPageable commonPageable) {
long total = fireEquipMapper.queryForEquipmentPageCount( name, code,equipClassify);
List<Map> content = this.fireEquipMapper.queryForEquipmentPage(name, code,equipClassify,commonPageable.getOffset(),commonPageable.getPageSize());
public Page queryForEquipmentList(String name, String code,String equipClassify,CommonPageable commonPageable,String bindStation) {
long total = fireEquipMapper.queryForEquipmentPageCount( name, code,equipClassify,bindStation);
List<Map> content = this.fireEquipMapper.queryForEquipmentPage(name, code,equipClassify,commonPageable.getOffset(),commonPageable.getPageSize(),bindStation);
Page result = new CommonPage(content, commonPageable, total);
return result;
}
......
......@@ -103,4 +103,6 @@ public interface IEquipmentService {
EquipCommunicationData findFireEquipDataByPointCode(String code);
int countImpEquipByIds(String[] idArray);
}
......@@ -59,4 +59,10 @@ public interface IFireEquipPontService {
CommonResponse batchDelete(List<Long> ids);
CommonResponse listByType(Integer type);
int countImpEquipment(String[] idArray);
String findBindRiskSourceStrByPointIds(String[] idArray);
}
......@@ -35,7 +35,7 @@ public interface IFireEquipService {
String endTime,
CommonPageable commonPageable);
Page queryForEquipmentList(String name, String code,String equipClassify,CommonPageable commonPageable);
Page queryForEquipmentList(String name, String code,String equipClassify,CommonPageable commonPageable,String bindStation);
//查询设备明细
Object queryForDetail(String type, Long id) throws Exception;
......
......@@ -15,7 +15,7 @@ eureka.client.healthcheck.enabled = true
eureka.client.fetchRegistry = true
eureka.instance.prefer-ip-address=true
#DB properties:
spring.datasource.url=jdbc:mysql://172.16.11.33:3306/safety-business-2.0?allowMultiQueries=true&serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.url=jdbc:mysql://172.16.11.33:3306/safety-business-2.0-36?allowMultiQueries=true&serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=admin_1234
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
......@@ -33,7 +33,7 @@ spring.data.mongodb.uri = mongodb://172.16.11.33:27017/iecmonitor
params.remoteRuleUrl=http://magintursh.xicp.net:18080/
params.remoteWebsocketUrl=http://172.16.10.91:10600/
spring.redis.database=1
spring.redis.database=5
spring.redis.host=172.16.11.33
spring.redis.port=6379
spring.redis.password=1234560
......@@ -44,7 +44,7 @@ spring.redis.jedis.pool.min-idle=0
spring.redis.timeout=1000
#picture upload
file.uploadUrl=E:\\upload\\files\\
file.uploadUrl=F:\\upload\\files\\
#picture read
file.readUrl=http://172.16.3.89:8083/file/getFile?in=
params.isPush=true
......@@ -57,6 +57,7 @@ emqx.user-name=super
emqx.password=a123456
Push.fegin.name=APPMESSAGEPUSHSERVICE-36
dutyMode.fegin.name=AMOSDUTYMODE
DutyMode.dutyUrl=http://172.16.11.36:10005/
......
spring.application.name = AMOS-AUTOSYS-my
spring.application.name = Amos-autosys
server.port = 8083
......@@ -33,24 +34,22 @@ mybatis.type-aliases-package = com.yeejoin.amos.fas.business.entity.mybatis
mybatis.configuration.mapUnderscoreToCamelCase=true
logging.level.com.yeejoin.amos.fas.business.dao.mapper=debug
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB
#liquibase
spring.liquibase.change-log = classpath:/db/changelog/changelog-master.xml
spring.liquibase.enabled= true
param.system.online.date = 2020-02-12
param.system.online.date = 2019-02-12
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB
#feginName
visual.fegin.name=maas-visual
dutyMode.fegin.name=AMOSDUTYMODE
spring.http.multipart.maxFileSize = 10480000
spring.http.multipart.MaxRequestSize = 50480000
windows.img.path = E:\\
windows.img.path = F:\\
linux.img.path = /
param.safetyIndexChange.cron = 0 0 2 * * ?
#获取天气地址
param.weather.url = http://t.weather.sojson.com/api/weather/city/
......@@ -241,9 +241,18 @@
<if test="name!=null">
and (fe.`name` like '%${name}%' or fe.`code` like '%${name}%')
</if>
<!-- 筛选未绑定的配套设施
-->
<if test="bindStation != null and bindStation == 'false'">
AND (select true from
f_fire_station_equipment fse
left join f_fire_equipment e on fse.fire_equipment_id = e.id
where fse.fire_equipment_id = fe.id AND e.equip_classify != 1 limit 0,1) is not true
</if>
</select>
<select id="queryForEquipmentPage" resultType="map">
select * from (
select
fe.*, (
SELECT
......@@ -253,19 +262,29 @@
WHERE
efe.fire_equipment_id = fe.id limit 0,1
) isBind,
frs.name riskSourceName
frs.name riskSourceName,
(select true from
f_fire_station_equipment fse
left join f_fire_equipment e on fse.fire_equipment_id = e.id
where fse.fire_equipment_id = fe.id AND e.equip_classify != 1 limit 0,1) as bindStation
from f_fire_equipment fe
left join f_risk_source frs on frs.id = fe.risk_source_id
where 1=1) tmp
<where>
<if test="equipClassify!=null">
and fe.equip_classify in ( ${equipClassify} )
and tmp.equip_classify in ( ${equipClassify} )
</if>
<if test="code!=null">
and fe.`code` like '%${code}%'
and tmp.`code` like '%${code}%'
</if>
<if test="name!=null">
and (fe.`name` like '%${name}%' or fe.`code` like '%${name}%')
and (tmp.`name` like '%${name}%' or tmp.`code` like '%${name}%')
</if>
<!-- 筛选未绑定的配套设施
-->
<if test="bindStation != null and bindStation == 'false'">
AND tmp.bindStation is not true
</if>
</where>
LIMIT ${start},${length}
......@@ -385,6 +404,7 @@
is_indoor,
name,
maintenance_cycle,
manufacturer,
number,
unit,
room,
......@@ -404,6 +424,7 @@
#{item.isIndoor},
#{item.name},
#{item.maintenanceCycle},
#{item.manufacturer},
#{item.number},
#{item.unit},
#{item.room},
......@@ -445,6 +466,9 @@
<if test="item.maintenanceCycle != null">
maintenance_cycle = #{item.maintenanceCycle},
</if>
<if test="item.manufacturer != null">
manufacturer = #{item.manufacturer},
</if>
<if test="item.number != null">
number = #{item.number},
</if>
......
......@@ -1338,7 +1338,7 @@ from (select concat('riskSource',r.id) as id,r.name,r.code,r.ue4_location as ue4
)
END positionDTO,
m.name as label,
f.name as protectObjName,
group_concat(f.name) as protectObjName,
'' as routeName,
'' as person,
m.name as title,
......@@ -1347,6 +1347,7 @@ from (select concat('riskSource',r.id) as id,r.name,r.code,r.ue4_location as ue4
left join f_equipment_fire_equipment fe on fe.fire_equipment_id = m.id
left join f_equipment f on f.id = fe.equipment_id
where equip_classify = 0
group By m.code
<if test="protectObjName != null and protectObjName != ''">
AND f.name = #{protectObjName}
</if>
......
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