1:四管-安全管理

2:站点列表获取
master
yangzhe123 2026-01-14 13:48:18 +08:00
parent b712ff3fb4
commit 40b3dbcc74
22 changed files with 590 additions and 83 deletions

View File

@ -2,6 +2,7 @@ package com.gunshi.project.ss.common.mapper;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.common.model.vo.HomeJcskGnssBVo; import com.gunshi.project.ss.common.model.vo.HomeJcskGnssBVo;
import com.gunshi.project.ss.common.model.JcskGnssB; import com.gunshi.project.ss.common.model.JcskGnssB;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -58,4 +59,13 @@ public interface JcskGnssBMapper extends BaseMapper<JcskGnssB> {
""") """)
List<JcskGnssB> selectArtificial(); List<JcskGnssB> selectArtificial();
@Select("""
select t1.cd as stcd,t1.cd_nm as stnm,t1.lttd,t1.lgtd,t3.tm from jcsk_gnss_b t1
left join (
select cd,max(tm) as max_tm from jcsk_gnss_r group by cd
)t2 on t1.cd = t2.cd
left join jcsk_gnss_r t3 on t2.cd = t3.cd and t2.max_tm = t3.tm
""")
List<StationNormalVo> queryNormalList();
} }

View File

@ -3,6 +3,7 @@ package com.gunshi.project.ss.common.mapper;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.common.model.so.OsmoticDetailQuerySo; import com.gunshi.project.ss.common.model.so.OsmoticDetailQuerySo;
import com.gunshi.project.ss.common.model.so.OsmoticQuerySo; import com.gunshi.project.ss.common.model.so.OsmoticQuerySo;
import com.gunshi.project.ss.common.model.vo.HomeJcskSlBVo; import com.gunshi.project.ss.common.model.vo.HomeJcskSlBVo;
@ -160,4 +161,15 @@ public interface JcskSlBMapper extends BaseMapper<JcskSlB> {
</script> </script>
""") """)
String selectDvcdByStcdAndMpcd(@Param("mpcd") String mpcd); String selectDvcdByStcdAndMpcd(@Param("mpcd") String mpcd);
@Select("""
select t1.dvcd as stcd,t1.dvcd as stnm, t3.mstm as latestTm,t1.lttd,t1.lgtd
from jcsk_sl_b t1
left join(
select mpcd,max(mstm) as max_tm from jcsk_sl_r group by mpcd
)t2 on t1.mpcd = t2.mpcd
left join jcsk_sl_r t3 on t2.mpcd = t3.mpcd and t2.max_tm = t3.mstm
""")
List<StationNormalVo> queryNormalList();
} }

View File

@ -3,6 +3,7 @@ package com.gunshi.project.ss.common.mapper;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.ss.common.model.JcskSyB; import com.gunshi.project.ss.common.model.JcskSyB;
import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.common.model.vo.HomeJcskSYBVo; import com.gunshi.project.ss.common.model.vo.HomeJcskSYBVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -64,4 +65,15 @@ public interface JcskSyBMapper extends BaseMapper<JcskSyB> {
""") """)
List<String> selectAllDvcd(); List<String> selectAllDvcd();
@Select("""
select t1.dvcd as stcd,t1.dvcd as stnm, t3.mstm as latestTm,t1.lttd,t1.lgtd
from jcsk_sy_b t1
left join(
select stcd,mpcd,max(mstm) as max_tm from jcsk_sy_r group by stcd,mpcd
)t2 on t1.stcd = t2.stcd and t1.mpcd = t2.mpcd
left join jcsk_sy_r t3 on t2.stcd = t3.stcd and t2.mpcd = t3.mpcd and t2.max_tm = t3.mstm
""")
List<StationNormalVo> queryNormalList();
} }

View File

@ -2,6 +2,7 @@ package com.gunshi.project.ss.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.ss.common.model.StStbprpB; import com.gunshi.project.ss.common.model.StStbprpB;
import com.gunshi.project.ss.common.model.StationNormalVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -48,4 +49,64 @@ public interface StStbprpBMapper extends BaseMapper<StStbprpB> {
""") """)
List<StStbprpB> getFlowStations(); List<StStbprpB> getFlowStations();
@Select("""
SELECT
t1.lgtd,
t1.lttd,
t1.stcd,
t1.stnm,
t4.tm as latestTm
FROM st_stbprp_b t1
JOIN st_stbprp_b_elem t2 ON t1.stcd = t2.stcd
LEFT JOIN (
--
SELECT
stcd,
MAX(tm) as max_tm
FROM st_pptn_r
GROUP BY stcd
) t3 ON t1.stcd = t3.stcd
LEFT JOIN st_pptn_r t4 ON t1.stcd = t4.stcd AND t3.max_tm = t4.tm
WHERE t2.elem = 'drp';
""")
List<StationNormalVo> getPptnNoramlStations();
@Select(
"""
select
t1.lgtd,
t1.lttd,
t1.stcd,
t1.stnm,
t4.tm as latestTm
from st_stbprp_b t1
join st_stbprp_b_elem t2 on t1.stcd = t2.stcd
left join (
select stcd,MAX(tm) as max_tm
from st_rsvr_r group by stcd
) t3 on t1.stcd = t3.stcd
left join st_rsvr_r t4 on t1.stcd = t4.stcd and t3.max_tm = t4.tm
where t2.elem = 'rz'
"""
)
List<StationNormalVo> getRsvrNormalStations();
@Select("""
select
t1.lgtd,
t1.lttd,
t1.stcd,
t1.stnm,
t4.tm as latestTm
from st_stbprp_b t1
join st_stbprp_b_elem t2 on t1.stcd = t2.stcd
left join (
select stcd,MAX(tm) as max_tm
from st_flow_r group by stcd
) t3 on t1.stcd = t3.stcd
left join st_flow_r t4 on t1.stcd = t4.stcd and t3.max_tm = t4.tm
where t2.elem = 'flow'
""")
List<StationNormalVo> getFlowNormalStations();
} }

View File

@ -0,0 +1,46 @@
package com.gunshi.project.ss.common.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
*
*/
@Data
public class StationNormalVo {
/**
* 0 线 1线
*/
private Integer status;
/**
*
*/
private BigDecimal lgtd;
/**
*
*/
private BigDecimal lttd;
/**
* (indexCode)
*/
private String stcd;
/**
*
*/
private String stnm;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime latestTm;
}

View File

@ -154,18 +154,7 @@ public class AttCctvBaseController {
@Operation(summary = "获取预览地址") @Operation(summary = "获取预览地址")
@GetMapping("/preview/{indexCode}") @GetMapping("/preview/{indexCode}")
public R<String> preview(@PathVariable("indexCode") String indexCode) { public R<String> preview(@PathVariable("indexCode") String indexCode) {
String api = "http://10.42.6.68:7000/liveAddressLimited?cameraIndexCode=%s&protocol=ws&token=111"; String ret = service.preview(indexCode);
OkHttpClient client = OkHttpUtil.build();
String ret = null;
try {
Response resp = client.newCall(new Request.Builder().url(String.format(api, indexCode)).build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
ret = map.get("data").toString();
} catch (IOException e) {
throw new RuntimeException(e);
}
return R.ok(ret); return R.ok(ret);
} }

View File

@ -0,0 +1,69 @@
package com.gunshi.project.ss.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gunshi.core.result.R;
import com.gunshi.project.ss.entity.so.DegradeScrapLedgerPageSo;
import com.gunshi.project.ss.model.DegradeScrapLedger;
import com.gunshi.project.ss.model.FileAssociations;
import com.gunshi.project.ss.service.DegradeScrapLedgerService;
import com.gunshi.project.ss.service.FileAssociationsService;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Tag(name = "安全管理-降等报废台账")
@RestController
@RequestMapping(value="/degradeScrapLedger")
public class DegradeScrapLedgerController extends AbstractCommonFileController {
@Autowired
private DegradeScrapLedgerService degradeScrapLedgerService;
@Autowired
private FileAssociationsService fileService;
@PostMapping("/page")
public R<Page<DegradeScrapLedger>> page(@RequestBody DegradeScrapLedgerPageSo pageSo){
Page<DegradeScrapLedger> page = degradeScrapLedgerService.pageInfo(pageSo);
for (DegradeScrapLedger record : page.getRecords()) {
List<FileAssociations> files = fileService.getFiles(getGroupId(), record.getId().toString());
record.setFiles(files);
}
return R.ok(page);
}
@PostMapping("/insert")
public R<DegradeScrapLedger> add(@RequestBody DegradeScrapLedger degradeScrapLedger){
boolean save = degradeScrapLedgerService.save(degradeScrapLedger);
if(save){
fileService.saveFile(degradeScrapLedger.getFiles(),getGroupId(),degradeScrapLedger.getId().toString());
}
return R.ok(degradeScrapLedger);
}
@PostMapping("/update")
public R<DegradeScrapLedger> update(@RequestBody DegradeScrapLedger degradeScrapLedger){
boolean update = degradeScrapLedgerService.updateById(degradeScrapLedger);
if(update){
fileService.saveFile(degradeScrapLedger.getFiles(),getGroupId(),degradeScrapLedger.getId().toString());
}
return R.ok(degradeScrapLedger);
}
@GetMapping("/del/{id}")
public R<Boolean> del(@PathVariable("id") Long id){
boolean flag = degradeScrapLedgerService.removeById(id);
if(flag){
fileService.deleteFile(getGroupId(),id.toString());
}
return R.ok(flag);
}
@Override
public String getGroupId() {
return "degradeScrapLedger";
}
}

View File

@ -35,13 +35,13 @@ public class DocCenterController extends AbstractCommonFileController {
@PostMapping("/page") @PostMapping("/page")
public R<Page<DocCenter>> pageInfo(@RequestBody DocCenterPageSo pageSo){ public R<Page<DocCenter>> pageInfo(@RequestBody DocCenterPageSo pageSo){
Page<DocCenter> res = docCenterService.pageInfo(pageSo); Page<DocCenter> res = docCenterService.pageInfo(pageSo);
// List<DocCenter> records = res.getRecords(); List<DocCenter> records = res.getRecords();
// if(!records.isEmpty()){ if(!records.isEmpty()){
// for (DocCenter record : records) { for (DocCenter record : records) {
// List<FileAssociations> files = fileService.getFiles(record.getBusinessName(), record.getId().toString()); List<FileAssociations> files = fileService.getFiles(record.getBusinessName(), record.getId().toString());
// record.setFiles(files); record.setFiles(files);
// } }
// } }
return R.ok(res); return R.ok(res);
} }
@ -49,9 +49,9 @@ public class DocCenterController extends AbstractCommonFileController {
@PostMapping("/insert") @PostMapping("/insert")
public DocCenter insert(@RequestBody DocCenter docCenter){ public DocCenter insert(@RequestBody DocCenter docCenter){
boolean flag = docCenterService.saveData(docCenter); boolean flag = docCenterService.saveData(docCenter);
// if(flag){ if(flag){
// fileService.saveFile(docCenter.getFiles(), docCenter.getBusinessName(), docCenter.getId().toString()); fileService.saveFile(docCenter.getFiles(), docCenter.getBusinessName(), docCenter.getId().toString());
// } }
return docCenter; return docCenter;
} }
@ -59,9 +59,9 @@ public class DocCenterController extends AbstractCommonFileController {
@GetMapping("/delete/{id}") @GetMapping("/delete/{id}")
public R<Boolean> delete(@PathVariable("id") Integer id){ public R<Boolean> delete(@PathVariable("id") Integer id){
DocCenter center = docCenterService.deleteById(id); DocCenter center = docCenterService.deleteById(id);
// if(center != null){ if(center != null){
// fileService.deleteFile(center.getBusinessName(), center.getId().toString()); fileService.deleteFile(center.getBusinessName(), center.getId().toString());
// } }
return R.ok(true); return R.ok(true);
} }
@ -70,14 +70,14 @@ public class DocCenterController extends AbstractCommonFileController {
@PostMapping("/edit") @PostMapping("/edit")
public DocCenter edit(@RequestBody DocCenter docCenter){ public DocCenter edit(@RequestBody DocCenter docCenter){
boolean flag = docCenterService.updateData(docCenter); boolean flag = docCenterService.updateData(docCenter);
// if(flag){ if(flag){
// fileService.saveFile(docCenter.getFiles(), docCenter.getBusinessName(), docCenter.getId().toString()); fileService.saveFile(docCenter.getFiles(), docCenter.getBusinessName(), docCenter.getId().toString());
// } }
return docCenter; return docCenter;
} }
@Override @Override
public String getGroupId() { public String getGroupId() {
return "zzzx"; return "doccenter";
} }
} }

View File

@ -2,17 +2,17 @@ package com.gunshi.project.ss.controller;
import com.gunshi.core.result.R; import com.gunshi.core.result.R;
import com.gunshi.project.ss.common.model.StStbprpB;
import com.gunshi.project.ss.entity.vo.ProfilePressTreeVo; import com.gunshi.project.ss.entity.vo.ProfilePressTreeVo;
import com.gunshi.project.ss.model.AttCctvBase; import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.service.AttCctvBaseService; import com.gunshi.project.ss.service.*;
import com.gunshi.project.ss.service.AttDamProfileService; import com.ruoyi.common.utils.StringUtils;
import com.gunshi.project.ss.service.StStbprpBService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@RestController @RestController
@ -29,47 +29,97 @@ public class StationController {
@Autowired @Autowired
private AttDamProfileService attDamProfileService;//渗压断面 private AttDamProfileService attDamProfileService;//渗压断面
@Autowired
private JcskSyBService jcskSyBService;
@Autowired
private JcskSlBService jcskSlBService;
@Autowired
private JcskGnssBService jcskGnssBService;
//获取雨量站信息 //获取雨量站信息
@GetMapping("/rainList") @GetMapping("/rainList")
public R<List<StStbprpB>> rainList(){ public R<List<StationNormalVo>> rainList(){
List<StStbprpB> stStbprpBList = stStbprpBService.getPptnStations(); List<StationNormalVo> stations = stStbprpBService.getPptnNoramlStations();
return R.ok(stStbprpBList); handlerStatus(stations);
return R.ok(stations);
} }
//获取水库水位站信息 //获取水库水位站信息
@GetMapping("/rzList") @GetMapping("/rzList")
public R<List<StStbprpB>> rzList(){ public R<List<StationNormalVo>> rzList(){
List<StStbprpB> stStbprpBList = stStbprpBService.getRsvrStations(); List<StationNormalVo> stations = stStbprpBService.getRsvrNormalStations();
return R.ok(stStbprpBList); handlerStatus(stations);
return R.ok(stations);
} }
// //获取河道水位站信息
// @GetMapping("/riverList")
// public R<List<StStbprpB>> riverList(){
// List<StStbprpB> stStbprpBList = stStbprpBService.getRiverStations();
// return R.ok(stStbprpBList);
// }
//获取流量站信息 //获取流量站信息
@GetMapping("/flowList") @GetMapping("/flowList")
public R<List<StStbprpB>> flowList(){ public R<List<StationNormalVo>> flowList(){
List<StStbprpB> stStbprpBList = stStbprpBService.getFlowStations(); List<StationNormalVo> stations = stStbprpBService.getFlowNormalStations();
return R.ok(stStbprpBList); handlerStatus(stations);
return R.ok(stations);
} }
//获取视频站信息 //获取视频站信息
@GetMapping("/cctvList") @GetMapping("/cctvList")
public R<List<AttCctvBase>> cctvList(){ public R<List<StationNormalVo>> cctvList(){
List<AttCctvBase> cctvBases = attCctvBaseService.queryList(); List<StationNormalVo> cctvBases = attCctvBaseService.queryNoramlList();
handlerCCTVStauts(cctvBases);
return R.ok(cctvBases); return R.ok(cctvBases);
} }
//获取渗压监测断面与对应测点 //渗压测点
@GetMapping("/syDmList") @GetMapping("/syList")
public R<List<ProfilePressTreeVo>> syDmList(){ public R<List<StationNormalVo>> syList(){
List<ProfilePressTreeVo> tree = attDamProfileService.tree(); List<StationNormalVo> tree = jcskSyBService.queryNormalList();
return R.ok(tree); return R.ok(tree);
} }
//位移
@GetMapping("/gnssList")
public R<List<StationNormalVo>> gnssList(){
List<StationNormalVo> tree = jcskGnssBService.queryNormalList();
return R.ok(tree);
}
//渗流测点
@GetMapping("/slList")
public R<List<StationNormalVo>> slList(){
List<StationNormalVo> tree = jcskSlBService.queryNormalList();
return R.ok(tree);
}
public void handlerCCTVStauts(List<StationNormalVo> stationNormalVos){
for (StationNormalVo station : stationNormalVos) {
String preview = attCctvBaseService.preview(station.getStcd());
if(preview == null || StringUtils.isBlank(preview) ||!preview.startsWith("ws")){
station.setStatus(0);
}else{
station.setStatus(1);
}
}
}
public void handlerStatus(List<StationNormalVo> stationNormalVos){
for (StationNormalVo station : stationNormalVos) {
LocalDateTime latestTm = station.getLatestTm();
if(latestTm == null){
station.setStatus(0);
continue;
}
LocalDateTime now = LocalDateTime.now();
Duration duration = Duration.between(latestTm, now);
if (duration.toHours() >= 1) {
// 超过1小时
station.setStatus(0);
}else{
station.setStatus(1);
}
}
}
} }

View File

@ -0,0 +1,19 @@
package com.gunshi.project.ss.entity.so;
import com.gunshi.db.dto.PageSo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class DegradeScrapLedgerPageSo {
@NotNull(message = "分页参数不能为空")
@Schema(description = "分页参数")
private PageSo pageSo;
private Integer year;
private Integer implementationMeasure;//0 降等 1报废
}

View File

@ -1,6 +1,7 @@
package com.gunshi.project.ss.mapper; package com.gunshi.project.ss.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.model.AttCctvBase; import com.gunshi.project.ss.model.AttCctvBase;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -25,4 +26,9 @@ public interface AttCctvBaseMapper extends BaseMapper<AttCctvBase> {
List<AttCctvBase> queryList(); List<AttCctvBase> queryList();
@Select("""
SELECT t1.name as stnm,t1.index_code as stcd,t1.lgtd,t1.lttd
from att_cctv_base t1
""")
List<StationNormalVo> queryNormalList();
} }

View File

@ -0,0 +1,9 @@
package com.gunshi.project.ss.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gunshi.project.ss.model.DegradeScrapLedger;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface DegradeScrapLedgerMapper extends BaseMapper<DegradeScrapLedger> {
}

View File

@ -15,6 +15,8 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -607,4 +609,26 @@ public class AttResBase implements Serializable {
@TableField(value="brief_tpl") @TableField(value="brief_tpl")
@JsonIgnore @JsonIgnore
private String briefTpl; private String briefTpl;
/**
*
*/
@TableField("competent_department")
@Schema(description = "主管部门")
private String competentDepartment;
@TableField("management_unit")
@Schema(description = "管理单位")
private String managementUnit;
@TableField("issuing_authority")
@Schema(description = "发证机关")
private String issuingAuthority;
@TableField("issuing_time")
@Schema(description = "发证时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate issuingTime;
} }

View File

@ -0,0 +1,118 @@
package com.gunshi.project.ss.model;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gunshi.project.ss.common.validate.markers.Insert;
import com.gunshi.project.ss.common.validate.markers.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
*
*/
@Schema(description = "降等报废台账")
@Data
@TableName("degrade_scrap_ledger")
public class DegradeScrapLedger implements Serializable {
private static final long serialVersionUID = 1L;
// ================ 主键 ================
@Schema(description = "主键ID")
@TableId(value = "id", type = IdType.AUTO)
@NotNull(message = "ID不能为空", groups = Update.class)
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
// ================ 决策信息 ================
@Schema(description = "实施措施0-降等 1-报废")
@TableField("implementation_measure")
@NotNull(message = "实施措施不能为空", groups = {Insert.class, Update.class})
private Integer implementationMeasure;
@Schema(description = "年度2024")
@TableField("year")
@NotBlank(message = "年度不能为空", groups = {Insert.class, Update.class})
private Integer year;
@Schema(description = "是否原计划0-否 1-是")
@TableField("is_original_plan")
private Integer isOriginalPlan;
@Schema(description = "降等、报废原因")
@TableField("reason")
private String reason;
// ================ 降等后信息(仅当实施措施为降等时填写) ================
@Schema(description = "工程规模降等后0-小2型 1-小1型 2-中型 3-大1型 4-大2型")
@TableField("project_scale_after")
private Integer projectScaleAfter;
@Schema(description = "主要功能(降等后)")
@TableField("main_function_after")
private String mainFunctionAfter;
@Schema(description = "主管部门(降等后)")
@TableField("competent_department_after")
private String competentDepartmentAfter;
@Schema(description = "管理单位(降等后)")
@TableField("management_unit_after")
private String managementUnitAfter;
// ================ 报废后信息(仅当实施措施为报废时填写) ================
@Schema(description = "报废后安全行洪措施落实情况")
@TableField("flood_safety_measure")
private String floodSafetyMeasure;
// ================ 进度信息 ================
@Schema(description = "进展情况")
@TableField("progress_status")
private String progressStatus;
@Schema(description = "拟完成时间")
@TableField("planned_completion_date")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate plannedCompletionDate;
@Schema(description = "降等、报废完成时间")
@TableField("actual_completion_date")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private LocalDate actualCompletionDate;
@Schema(description = "批准单位")
@TableField("approval_unit")
private String approvalUnit;
// ================ 系统字段 ================
@Schema(description = "创建人ID")
@TableField(value = "create_by")
@JsonSerialize(using = ToStringSerializer.class)
private Long createBy;
@Schema(description = "创建人姓名")
@TableField(value = "create_name")
private String createName;
@Schema(description = "创建时间")
@TableField(value = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
@Schema(description = "关联的文件列表")
@TableField(exist = false)
private List<FileAssociations> files;
}

View File

@ -1,13 +1,21 @@
package com.gunshi.project.ss.service; package com.gunshi.project.ss.service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.mapper.AttCctvBaseMapper; import com.gunshi.project.ss.mapper.AttCctvBaseMapper;
import com.gunshi.project.ss.model.AttCctvBase; import com.gunshi.project.ss.model.AttCctvBase;
import com.gunshi.project.ss.util.OkHttpUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* : * :
@ -23,6 +31,26 @@ public class AttCctvBaseService extends ServiceImpl<AttCctvBaseMapper, AttCctvBa
public List<AttCctvBase> queryList() { public List<AttCctvBase> queryList() {
return this.baseMapper.queryList(); return this.baseMapper.queryList();
} }
public List<StationNormalVo> queryNoramlList() {
return baseMapper.queryNormalList();
}
public String preview(String indexCode) {
String api = "http://10.42.6.68:7000/liveAddressLimited?cameraIndexCode=%s&protocol=ws&token=111";
OkHttpClient client = OkHttpUtil.build();
String ret = null;
try {
Response resp = client.newCall(new Request.Builder().url(String.format(api, indexCode)).build()).execute();
String respStr = resp.body().string();
ObjectMapper om = new ObjectMapper();
Map map = om.readValue(respStr, Map.class);
ret = map.get("data").toString();
} catch (IOException e) {
throw new RuntimeException(e);
}
return ret;
}
} }

View File

@ -0,0 +1,33 @@
package com.gunshi.project.ss.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gunshi.project.ss.entity.so.DegradeScrapLedgerPageSo;
import com.gunshi.project.ss.mapper.DegradeScrapLedgerMapper;
import com.gunshi.project.ss.mapper.ForecastResultsMapper;
import com.gunshi.project.ss.model.DegradeScrapLedger;
import com.gunshi.project.ss.model.ForecastResults;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
public class DegradeScrapLedgerService extends ServiceImpl<DegradeScrapLedgerMapper, DegradeScrapLedger> {
public Page<DegradeScrapLedger> pageInfo(DegradeScrapLedgerPageSo pageSo) {
LambdaQueryWrapper<DegradeScrapLedger> queryWrapper = new LambdaQueryWrapper<>();
if(pageSo.getYear() != null){
queryWrapper.eq(DegradeScrapLedger::getYear,pageSo.getYear());
}
if(pageSo.getImplementationMeasure() != null){
queryWrapper.eq(DegradeScrapLedger::getImplementationMeasure,pageSo.getImplementationMeasure());
}
queryWrapper.orderByDesc(DegradeScrapLedger::getCreateTime);
Page<DegradeScrapLedger> page = this.baseMapper.selectPage(pageSo.getPageSo().toPage(), queryWrapper);
return page;
}
}

View File

@ -146,7 +146,7 @@ public class DocCategoryService extends ServiceImpl<DocCategoryMapper, DocCatego
throw new IllegalArgumentException("对不起,该类目下设有下级类目,无法删除"); throw new IllegalArgumentException("对不起,该类目下设有下级类目,无法删除");
} }
}else{ }else{
//TODO 三级类目,如果关联有档案,则无法删除 //三级类目,如果关联有档案,则无法删除
LambdaQueryWrapper<DocCenter> lambdaQueryWrapper= new LambdaQueryWrapper<>(); LambdaQueryWrapper<DocCenter> lambdaQueryWrapper= new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DocCenter::getDocCategoryId, id); lambdaQueryWrapper.eq(DocCenter::getDocCategoryId, id);
Long count = docCenterMapper.selectCount(lambdaQueryWrapper); Long count = docCenterMapper.selectCount(lambdaQueryWrapper);

View File

@ -6,6 +6,7 @@ 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.gunshi.project.ss.common.mapper.JcskGnssRMapper; import com.gunshi.project.ss.common.mapper.JcskGnssRMapper;
import com.gunshi.project.ss.common.model.JcskGnssR; import com.gunshi.project.ss.common.model.JcskGnssR;
import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.common.model.so.JcskGnssBPageSo; import com.gunshi.project.ss.common.model.so.JcskGnssBPageSo;
import com.gunshi.project.ss.common.model.vo.HomeJcskGnssBVo; import com.gunshi.project.ss.common.model.vo.HomeJcskGnssBVo;
import com.gunshi.project.ss.common.mapper.JcskGnssBMapper; import com.gunshi.project.ss.common.mapper.JcskGnssBMapper;
@ -80,4 +81,8 @@ public class JcskGnssBService extends ServiceImpl<JcskGnssBMapper, JcskGnssB> {
} }
} }
} }
public List<StationNormalVo> queryNormalList() {
return baseMapper.queryNormalList();
}
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.common.model.so.JcskSlBPageSo; import com.gunshi.project.ss.common.model.so.JcskSlBPageSo;
import com.gunshi.project.ss.common.model.vo.HomeJcskSlBVo; import com.gunshi.project.ss.common.model.vo.HomeJcskSlBVo;
import com.gunshi.project.ss.common.mapper.JcskSlBMapper; import com.gunshi.project.ss.common.mapper.JcskSlBMapper;
@ -50,4 +51,8 @@ public class JcskSlBService extends ServiceImpl<JcskSlBMapper, JcskSlB> {
public String getDvcdByStcdAndMpcd(String mpcd) { public String getDvcdByStcdAndMpcd(String mpcd) {
return this.baseMapper.selectDvcdByStcdAndMpcd(mpcd); return this.baseMapper.selectDvcdByStcdAndMpcd(mpcd);
} }
public List<StationNormalVo> queryNormalList() {
return baseMapper.queryNormalList();
}
} }

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
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.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.common.model.so.JcskSyBPageSo; import com.gunshi.project.ss.common.model.so.JcskSyBPageSo;
import com.gunshi.project.ss.common.model.vo.HomeJcskSYBVo; import com.gunshi.project.ss.common.model.vo.HomeJcskSYBVo;
import com.gunshi.project.ss.common.mapper.JcskSyBMapper; import com.gunshi.project.ss.common.mapper.JcskSyBMapper;
@ -56,4 +57,8 @@ public class JcskSyBService extends ServiceImpl<JcskSyBMapper, JcskSyB> {
public List<String> getAllDvcd() { public List<String> getAllDvcd() {
return this.baseMapper.selectAllDvcd(); return this.baseMapper.selectAllDvcd();
} }
public List<StationNormalVo> queryNormalList() {
return baseMapper.queryNormalList();
}
} }

View File

@ -190,19 +190,19 @@ public class StQxWarnRService extends ServiceImpl<StQxWarnRMapper, StQxWarnR> {
} }
} }
vo.setAiWarnVoMap(aiWarnVoMap); vo.setAiWarnVoMap(aiWarnVoMap);
Map<String,List<RiverWarningVo>> riverWarningVoMap = new HashMap<>(); // Map<String,List<RiverWarningVo>> riverWarningVoMap = new HashMap<>();
List<RiverWarningVo> overWarn = new ArrayList<>(); // List<RiverWarningVo> overWarn = new ArrayList<>();
List<RiverWarningVo> overPmis = new ArrayList<>(); // List<RiverWarningVo> overPmis = new ArrayList<>();
//TODO 超河道上游 // //TODO 超河道上游
String upperStcd = "999999999";//固定的站点编码 // String upperStcd = "999999999";//固定的站点编码
setUpAndDownOverRvUpAndDown(upperStcd,dateTimeRangeSo,overWarn,overPmis); // setUpAndDownOverRvUpAndDown(upperStcd,dateTimeRangeSo,overWarn,overPmis);
//
//TODO 超河道下游 // //TODO 超河道下游
String lowerStcd = "999999998";//固定的站点编码 // String lowerStcd = "999999998";//固定的站点编码
setUpAndDownOverRvUpAndDown(lowerStcd,dateTimeRangeSo,overWarn,overPmis); // setUpAndDownOverRvUpAndDown(lowerStcd,dateTimeRangeSo,overWarn,overPmis);
riverWarningVoMap.put("overWarn",overWarn); // riverWarningVoMap.put("overWarn",overWarn);
riverWarningVoMap.put("overPromise",overPmis); // riverWarningVoMap.put("overPromise",overPmis);
vo.setRiverWarningVoMap(riverWarningVoMap); // vo.setRiverWarningVoMap(riverWarningVoMap);
return vo; return vo;
} }

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gunshi.project.ss.common.mapper.StStbprpBMapper; import com.gunshi.project.ss.common.mapper.StStbprpBMapper;
import com.gunshi.project.ss.common.model.StRiverR; import com.gunshi.project.ss.common.model.StRiverR;
import com.gunshi.project.ss.common.model.StStbprpB; import com.gunshi.project.ss.common.model.StStbprpB;
import com.gunshi.project.ss.common.model.StationNormalVo;
import com.gunshi.project.ss.common.model.vo.OsmoticShiftListVo2; import com.gunshi.project.ss.common.model.vo.OsmoticShiftListVo2;
import com.gunshi.project.ss.entity.dto.StZqrlBDto; import com.gunshi.project.ss.entity.dto.StZqrlBDto;
import com.gunshi.project.ss.entity.so.HomeStStbprpBSo; import com.gunshi.project.ss.entity.so.HomeStStbprpBSo;
@ -17,6 +18,7 @@ import com.gunshi.project.ss.mapper.StbprpBVoMapper;
import com.gunshi.project.ss.common.model.StRsvrR; import com.gunshi.project.ss.common.model.StRsvrR;
import com.gunshi.project.ss.model.*; import com.gunshi.project.ss.model.*;
import com.gunshi.project.ss.util.DateUtil; import com.gunshi.project.ss.util.DateUtil;
import com.ruoyi.common.utils.StringUtils;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -114,19 +116,6 @@ public class StStbprpBService extends ServiceImpl<StStbprpBMapper, StStbprpB> {
} }
} }
res.setRsvrStationList(rzList); res.setRsvrStationList(rzList);
//河道
List<StStatusVo> zList = stbprpBVoMapper.zList();
for (StStatusVo stStatusVo : zList) {
String tm = stStatusVo.getTm();
if(tm != null && !(DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(tm), new Date()) > 24 )){
stStatusVo.setStatus(1);
onlineCount++;
}else{
stStatusVo.setStatus(0);
offlineCount++;
}
}
res.setRiverStationList(zList);
// 视频点 // 视频点
List<AttCctvBase> attCctvBases = attCctvBaseService.queryList(); List<AttCctvBase> attCctvBases = attCctvBaseService.queryList();
List<StStatusVo> cctvList = new ArrayList<>(); List<StStatusVo> cctvList = new ArrayList<>();
@ -135,7 +124,12 @@ public class StStbprpBService extends ServiceImpl<StStbprpBMapper, StStbprpB> {
stStatusVo.setStnm(attCctvBase.getName()); stStatusVo.setStnm(attCctvBase.getName());
stStatusVo.setLgtd(attCctvBase.getLgtd() == null?null:new BigDecimal(attCctvBase.getLgtd())); stStatusVo.setLgtd(attCctvBase.getLgtd() == null?null:new BigDecimal(attCctvBase.getLgtd()));
stStatusVo.setLttd(attCctvBase.getLttd() == null?null:new BigDecimal(attCctvBase.getLttd())); stStatusVo.setLttd(attCctvBase.getLttd() == null?null:new BigDecimal(attCctvBase.getLttd()));
String preview = attCctvBaseService.preview(attCctvBase.getIndexCode());
if(preview == null || StringUtils.isBlank(preview) ||!preview.startsWith("ws")){
stStatusVo.setStatus(0); stStatusVo.setStatus(0);
}else{
stStatusVo.setStatus(1);
}
cctvList.add(stStatusVo); cctvList.add(stStatusVo);
offlineCount++; offlineCount++;
} }
@ -582,6 +576,18 @@ public class StStbprpBService extends ServiceImpl<StStbprpBMapper, StStbprpB> {
public List<StStbprpB> getFlowStations() { public List<StStbprpB> getFlowStations() {
return baseMapper.getFlowStations(); return baseMapper.getFlowStations();
} }
public List<StationNormalVo> getPptnNoramlStations() {
return baseMapper.getPptnNoramlStations();
}
public List<StationNormalVo> getRsvrNormalStations() {
return baseMapper.getRsvrNormalStations();
}
public List<StationNormalVo> getFlowNormalStations() {
return baseMapper.getFlowNormalStations();
}
} }