Merge branch 'dev-tw'
This commit is contained in:
commit
d6693bb27e
@ -92,7 +92,10 @@ public class GroupHelper {
|
|||||||
|
|
||||||
for(Map<String, Object> item : data) {
|
for(Map<String, Object> item : data) {
|
||||||
Object groupKey = this.getKey(item, groupInfo);
|
Object groupKey = this.getKey(item, groupInfo);
|
||||||
Object groupIndexKey = groupKey != null ? groupKey : null;
|
if (groupKey == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
Object groupIndexKey = groupKey;
|
||||||
Object tempCount = item.get("count_" + groupInfo.getSelector());
|
Object tempCount = item.get("count_" + groupInfo.getSelector());
|
||||||
if (tempCount == null) {
|
if (tempCount == null) {
|
||||||
tempCount = item.get("COUNT_" + groupInfo.getSelector().toUpperCase());
|
tempCount = item.get("COUNT_" + groupInfo.getSelector().toUpperCase());
|
||||||
|
|||||||
@ -31,7 +31,8 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
|
|||||||
this.strictInsertFill(metaObject, "updatedAt", Date.class, now);
|
this.strictInsertFill(metaObject, "updatedAt", Date.class, now);
|
||||||
// 更新时间
|
// 更新时间
|
||||||
this.strictInsertFill(metaObject, "modifyTime", Date.class, now);
|
this.strictInsertFill(metaObject, "modifyTime", Date.class, now);
|
||||||
|
// 更新时间
|
||||||
|
this.strictInsertFill(metaObject, "recordTime", Date.class, now);
|
||||||
try {
|
try {
|
||||||
String userId = SecurityUtils.getUserId();
|
String userId = SecurityUtils.getUserId();
|
||||||
// 创建人
|
// 创建人
|
||||||
|
|||||||
@ -28,7 +28,9 @@ public class MybitsPlusConfig {
|
|||||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||||
// 添加分页拦截器,指定数据库类型为 Oracle
|
// 添加分页拦截器,指定数据库类型为 Oracle
|
||||||
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
|
// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
|
||||||
|
// 添加分页拦截器,指定数据库类型为 Oracle
|
||||||
|
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.DM));
|
||||||
return interceptor;
|
return interceptor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -65,6 +65,7 @@ public class SecurityConfig {
|
|||||||
.requestMatchers("/eq/**").permitAll()
|
.requestMatchers("/eq/**").permitAll()
|
||||||
.requestMatchers("/env/**").permitAll()
|
.requestMatchers("/env/**").permitAll()
|
||||||
.requestMatchers("/warn/**").permitAll()
|
.requestMatchers("/warn/**").permitAll()
|
||||||
|
.requestMatchers("/threedroamb/**").permitAll()
|
||||||
.requestMatchers("/overview/**").permitAll()
|
.requestMatchers("/overview/**").permitAll()
|
||||||
.requestMatchers("/wt/**").permitAll()
|
.requestMatchers("/wt/**").permitAll()
|
||||||
.requestMatchers("/fb/**").permitAll()
|
.requestMatchers("/fb/**").permitAll()
|
||||||
|
|||||||
@ -249,6 +249,15 @@ public class SwaggerConfig {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public GroupedOpenApi groupThreedRoamApi() {
|
||||||
|
return GroupedOpenApi.builder()
|
||||||
|
.group("5.3 三维漫游")
|
||||||
|
.packagesToScan("com.yfd.platform.qgc_sys.threedRoam.controller")
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public GroupedOpenApi groupLygkApi() {
|
public GroupedOpenApi groupLygkApi() {
|
||||||
return GroupedOpenApi.builder()
|
return GroupedOpenApi.builder()
|
||||||
|
|||||||
@ -13,6 +13,8 @@ public class EngRsvrcscdBVo {
|
|||||||
|
|
||||||
private String rvcdName;
|
private String rvcdName;
|
||||||
|
|
||||||
|
private String bldsttCcode;
|
||||||
|
|
||||||
private String stcd;
|
private String stcd;
|
||||||
|
|
||||||
private String ennm;
|
private String ennm;
|
||||||
|
|||||||
@ -170,7 +170,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
wrapper.eq(StringUtils.hasText(baseId), SdEngInfoBH::getBaseId, baseId)
|
wrapper.eq(StringUtils.hasText(baseId), SdEngInfoBH::getBaseId, baseId)
|
||||||
.eq(StringUtils.hasText(hbrvcd), SdEngInfoBH::getHbrvcd, hbrvcd)
|
.eq(StringUtils.hasText(hbrvcd), SdEngInfoBH::getHbrvcd, hbrvcd)
|
||||||
.eq(StrUtil.isNotBlank(reachcd), SdEngInfoBH::getReachcd, reachcd)
|
.eq(StrUtil.isNotBlank(reachcd), SdEngInfoBH::getReachcd, reachcd)
|
||||||
.eq(StrUtil.isNotBlank(rvcd), SdEngInfoBH::getRvcd, rvcd)
|
.eq(StrUtil.isNotBlank(rvcd), SdEngInfoBH::getReachcd, rvcd)
|
||||||
.in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getReachcd, rvcds)
|
.in(rvcds != null && !rvcds.isEmpty(), SdEngInfoBH::getReachcd, rvcds)
|
||||||
.in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds)
|
.in(hbrvcds != null && !hbrvcds.isEmpty(), SdEngInfoBH::getHbrvcd, hbrvcds)
|
||||||
.like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm)
|
.like(StringUtils.hasText(ennm), SdEngInfoBH::getEnnm, ennm)
|
||||||
@ -1237,9 +1237,9 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
"eng.AVQ10 AS avq10, " +
|
"eng.AVQ10 AS avq10, " +
|
||||||
"eng.AVQ11 AS avq11, " +
|
"eng.AVQ11 AS avq11, " +
|
||||||
"eng.AVQ12 AS avq12, " +
|
"eng.AVQ12 AS avq12, " +
|
||||||
"CAST(NULL AS NUMBER) AS obmxq, " +
|
"rbh.OBMXQ AS obmxq, " +
|
||||||
"CAST(NULL AS NUMBER) AS obmnq, " +
|
"rbh.OBMNQ AS obmnq, " +
|
||||||
"CAST(NULL AS NUMBER) AS hmxq, " +
|
"rbh.HMXQ AS hmxq, " +
|
||||||
"eng.DSNFQFRQ AS dsnfqfrq, " +
|
"eng.DSNFQFRQ AS dsnfqfrq, " +
|
||||||
"eng.DSRCIN AS dsrcin, " +
|
"eng.DSRCIN AS dsrcin, " +
|
||||||
"eng.CKFQFQR AS ckfqfqr, " +
|
"eng.CKFQFQR AS ckfqfqr, " +
|
||||||
@ -1249,21 +1249,21 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
"eng.CKW3 AS ckw3, " +
|
"eng.CKW3 AS ckw3, " +
|
||||||
"eng.AVSD AS avsd, " +
|
"eng.AVSD AS avsd, " +
|
||||||
"eng.AVS AS avs, " +
|
"eng.AVS AS avs, " +
|
||||||
"CAST(NULL AS NUMBER) AS obmxs, " +
|
"rbh.OBMXS AS obmxs, " +
|
||||||
"CAST(NULL AS NUMBER) AS ckflz, " +
|
"rbh.CKFLZ AS ckflz, " +
|
||||||
"CAST(NULL AS NUMBER) AS dsflz, " +
|
"rbh.DSFLZ AS dsflz, " +
|
||||||
"CAST(NULL AS NUMBER) AS normz, " +
|
"rbh.NORMZ AS normz, " +
|
||||||
"CAST(NULL AS NUMBER) AS uzfc, " +
|
"rbh.UZFC AS uzfc, " +
|
||||||
"eng.FSLTDZ AS fsltdz, " +
|
"eng.FSLTDZ AS fsltdz, " +
|
||||||
"eng.YDOWNZ AS ydownz, " +
|
"eng.YDOWNZ AS ydownz, " +
|
||||||
"CAST(NULL AS NUMBER) AS ddz, " +
|
"rbh.DDZ AS ddz, " +
|
||||||
"eng.NRZAR AS nrzar, " +
|
"eng.NRZAR AS nrzar, " +
|
||||||
"eng.BCKLEN AS bcklen, " +
|
"eng.BCKLEN AS bcklen, " +
|
||||||
"rbh.TTCP AS ttcp, " +
|
"rbh.TTCP AS ttcp, " +
|
||||||
"CAST(NULL AS NUMBER) AS nmzcp, " +
|
"rbh.NMZCP AS nmzcp, " +
|
||||||
"CAST(NULL AS VARCHAR2(255)) AS fldcpStr, " +
|
"b.VAL AS fldcpStr, " +
|
||||||
"CAST(NULL AS NUMBER) AS actcp, " +
|
"rbh.ACTCP AS actcp, " +
|
||||||
"CAST(NULL AS NUMBER) AS ddcp, " +
|
"rbh.DDCP AS ddcp, " +
|
||||||
"eng.CPSC AS cpsc, " +
|
"eng.CPSC AS cpsc, " +
|
||||||
"eng.PRSC AS prsc, " +
|
"eng.PRSC AS prsc, " +
|
||||||
"eng.RGCP AS rgcp, " +
|
"eng.RGCP AS rgcp, " +
|
||||||
@ -1279,26 +1279,26 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
" WHEN '9' THEN '其他' " +
|
" WHEN '9' THEN '其他' " +
|
||||||
" ELSE NULL END AS rgcpName, " +
|
" ELSE NULL END AS rgcpName, " +
|
||||||
"eng.DSMXQ AS dsflzmxq, " +
|
"eng.DSMXQ AS dsflzmxq, " +
|
||||||
"CAST(NULL AS NUMBER) AS dsflzxyz, " +
|
"rbh.DSFLZXYZ AS dsflzxyz, " +
|
||||||
"eng.CHMXQ AS ckflzmxq, " +
|
"eng.CHMXQ AS ckflzmxq, " +
|
||||||
"CAST(NULL AS NUMBER) AS ckflzxyz, " +
|
"rbh.CKFLZXYZ AS ckflzxyz, " +
|
||||||
"CAST(NULL AS NUMBER) AS ksqadjq, " +
|
"rbh.KSQADJQ AS ksqadjq, " +
|
||||||
"CAST(NULL AS NUMBER) AS ksqxyz, " +
|
"rbh.KSQXYZ AS ksqxyz, " +
|
||||||
"eng.GEMAXRQ AS gemaxrq, " +
|
"eng.GEMAXRQ AS gemaxrq, " +
|
||||||
"CAST(NULL AS NUMBER) AS mxgeqxyz, " +
|
"rbh.MXGEQXYZ AS mxgeqxyz, " +
|
||||||
"eng.YRGEB AS ttpwr, " +
|
"eng.YRGEB AS ttpwr, " +
|
||||||
"CAST(NULL AS NUMBER) AS gncnt, " +
|
"pwr.GNCNT AS gncnt, " +
|
||||||
"eng.GNTP AS gntp, " +
|
"eng.GNTP AS gntp, " +
|
||||||
"CAST(NULL AS NUMBER) AS grntpwr, " +
|
"pwr.GRNTPWR AS grntpwr, " +
|
||||||
"pwr.YRGE AS yrge, " +
|
"pwr.YRGE AS yrge, " +
|
||||||
"CAST(NULL AS NUMBER) AS ushr, " +
|
"pwr.USHR AS ushr, " +
|
||||||
"CAST(NULL AS NUMBER) AS k, " +
|
"pwr.K AS k, " +
|
||||||
"eng.DMTP AS dmtp, " +
|
"eng.DMTP AS dmtp, " +
|
||||||
"eng.DMCREL AS dmcrel, " +
|
"eng.DMCREL AS dmcrel, " +
|
||||||
"eng.MXDMHG AS mxdmhg, " +
|
"eng.MXDMHG AS mxdmhg, " +
|
||||||
"eng.DMLEN AS dmlen, " +
|
"eng.DMLEN AS dmlen, " +
|
||||||
"CAST(NULL AS NUMBER) AS sgyge, " +
|
"pwr.SGYGE AS sgyge, " +
|
||||||
"CAST(NULL AS NUMBER) AS unyge, " +
|
"UNYGE AS unyge, " +
|
||||||
"eng.GAP AS gap, " +
|
"eng.GAP AS gap, " +
|
||||||
"eng.DVTP AS dvtp, " +
|
"eng.DVTP AS dvtp, " +
|
||||||
"CASE eng.DVTP " +
|
"CASE eng.DVTP " +
|
||||||
@ -1327,6 +1327,33 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
"LEFT JOIN SD_HYCD_DIC topHy ON topHy.HYCD = eng.TOP_HYCD AND NVL(topHy.IS_DELETED, 0) = 0 AND NVL(topHy.ENABLED, 1) = 1 " +
|
"LEFT JOIN SD_HYCD_DIC topHy ON topHy.HYCD = eng.TOP_HYCD AND NVL(topHy.IS_DELETED, 0) = 0 AND NVL(topHy.ENABLED, 1) = 1 " +
|
||||||
"LEFT JOIN SD_PWR_B_H pwr ON pwr.STCD = eng.STCD AND NVL(pwr.IS_DELETED, 0) = 0 " +
|
"LEFT JOIN SD_PWR_B_H pwr ON pwr.STCD = eng.STCD AND NVL(pwr.IS_DELETED, 0) = 0 " +
|
||||||
"LEFT JOIN SD_RSVRFCCH_B_H rbh ON rbh.STCD = eng.STCD " +
|
"LEFT JOIN SD_RSVRFCCH_B_H rbh ON rbh.STCD = eng.STCD " +
|
||||||
|
"LEFT JOIN ( SELECT STCD\n" +
|
||||||
|
" , MAX(CASE WHEN RN = 1 THEN TM END) AS TM\n" +
|
||||||
|
" , MAX(CASE WHEN RN = 1 THEN VAL END) AS VAL\n" +
|
||||||
|
" , MAX(VLSR) AS VLSR\n" +
|
||||||
|
" , MAX(VLSR_TM) AS VLSR_TM\n" +
|
||||||
|
" , LISTAGG('起始时间' || TO_CHAR(TM, 'YYYY-MM-DD') || '(' || VAL || ')' ||\n" +
|
||||||
|
" CASE WHEN VLSR IS NOT NULL THEN '来源' || VLSR ELSE '' END ||\n" +
|
||||||
|
" CASE WHEN VLSR_TM IS NOT NULL THEN ',来源时间' || TO_CHAR(VLSR_TM, 'YYYY-MM-DD') ELSE '' END,\n" +
|
||||||
|
" CHR(10)) WITHIN GROUP (ORDER BY TM DESC) AS ALL_VAL\n" +
|
||||||
|
" FROM ( SELECT STCD\n" +
|
||||||
|
" , TM\n" +
|
||||||
|
" , MAX(VLSR) AS VLSR\n" +
|
||||||
|
" , MAX(VLSR_TM) AS VLSR_TM\n" +
|
||||||
|
" , LISTAGG(\n" +
|
||||||
|
" SUBSTR(BGMD, 0, 2) || '月' || SUBSTR(BGMD, 3, 2) || '日' || '~' || SUBSTR(EDMD, 0, 2) || '月' ||\n" +
|
||||||
|
" SUBSTR(EDMD, 3, 2) || '日' || '限值为' ||\n" +
|
||||||
|
" (CASE WHEN FLDCPMN IS NOT NULL THEN (DECODE(SUBSTR(FLDCPMN, 1, 1), '.', '0' || FLDCPMN, FLDCPMN) ||\n" +
|
||||||
|
" '~' || DECODE(SUBSTR(FLDCP, 1, 1), '.', '0' || FLDCP, FLDCP))\n" +
|
||||||
|
" ELSE TO_CHAR(FLDCP) END), ',') WITHIN GROUP (ORDER BY BGMD) AS VAL\n" +
|
||||||
|
" , ROW_NUMBER() OVER (PARTITION BY STCD ORDER BY TM DESC) RN\n" +
|
||||||
|
" FROM SD_RSVRFSR_B\n" +
|
||||||
|
" WHERE BGMD IS NOT NULL\n" +
|
||||||
|
" AND EDMD IS NOT NULL\n" +
|
||||||
|
" AND FLDCPMN IS NOT NULL\n" +
|
||||||
|
" AND FLDCPMN > 0\n" +
|
||||||
|
" GROUP BY STCD, TM ) temp\n" +
|
||||||
|
" GROUP BY STCD) b ON b.STCD = eng.STCD " +
|
||||||
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
"LEFT JOIN MS_ALONG_B along ON along.BASEID = eng.BASE_ID AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 " +
|
||||||
"LEFT JOIN ( " +
|
"LEFT JOIN ( " +
|
||||||
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD " +
|
||||||
@ -3492,10 +3519,11 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
|
|
||||||
sql.append("SELECT ")
|
sql.append("SELECT ")
|
||||||
.append("r.ID AS id, ")
|
.append("r.ID AS id, ")
|
||||||
.append("r.RVCD AS rvcd, ")
|
.append("eng.BASE_ID AS rvcd, ")
|
||||||
.append("rv.RVNM AS rvcdName, ")
|
.append("eng.BASE_NAME AS rvcdName, ")
|
||||||
.append("r.STCD AS stcd, ")
|
.append("r.STCD AS stcd, ")
|
||||||
.append("r.ENNM AS ennm, ")
|
.append("eng.BLDSTT_CODE AS bldsttCcode, ")
|
||||||
|
.append("eng.ENNM AS ennm, ")
|
||||||
.append("r.SRCDIS AS srcdis, ")
|
.append("r.SRCDIS AS srcdis, ")
|
||||||
.append("r.DMHG AS dmhg, ")
|
.append("r.DMHG AS dmhg, ")
|
||||||
.append("r.NORMZ AS normz, ")
|
.append("r.NORMZ AS normz, ")
|
||||||
@ -3534,13 +3562,13 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
Map<String, Object> paramMap = new HashMap<>();
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT DISTINCT ")
|
sql.append("SELECT DISTINCT ")
|
||||||
.append("dic.HBRVCD AS wbsCode, ")
|
.append("dic.BASEID AS wbsCode, ")
|
||||||
.append("dic.HBRVNM AS wbsName, ")
|
.append("dic.BASENAME AS wbsName, ")
|
||||||
.append("dic.BASEID AS objId, ")
|
.append("dic.BASEID AS objId, ")
|
||||||
.append("NVL(dic.BASEID, 'ZZZZZZZZ') AS baseOrder, ")
|
.append("NVL(dic.BASEID, 'ZZZZZZZZ') AS baseOrder, ")
|
||||||
.append("NVL(dic.ORDER_INDEX, 999999) AS orderIndex ")
|
.append("NVL(dic.ORDER_INDEX, 999999) AS orderIndex ")
|
||||||
.append("FROM SD_HBRV_DIC dic ")
|
.append("FROM SD_HYDROBASE dic ")
|
||||||
.append("INNER JOIN SD_RSVRCSCD_B r ON r.RVCD = dic.HBRVCD AND NVL(r.IS_DELETED, 0) = 0 ")
|
.append("INNER JOIN SD_RSVRCSCD_B r ON r.BASE_ID = dic.BASEID AND NVL(r.IS_DELETED, 0) = 0 ")
|
||||||
.append("WHERE NVL(dic.IS_DELETED, 0) = 0 ")
|
.append("WHERE NVL(dic.IS_DELETED, 0) = 0 ")
|
||||||
.append("AND NVL(dic.ENABLED, 1) = 1 ");
|
.append("AND NVL(dic.ENABLED, 1) = 1 ");
|
||||||
|
|
||||||
@ -3685,7 +3713,8 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl<SdEngInfoBHMapper, SdEng
|
|||||||
}
|
}
|
||||||
return switch (field) {
|
return switch (field) {
|
||||||
case "id" -> "r.ID";
|
case "id" -> "r.ID";
|
||||||
case "rvcd" -> "r.RVCD";
|
case "rvcd" -> "eng.BASE_ID";
|
||||||
|
case "baseId" -> "eng.BASE_ID";
|
||||||
case "rvcdName" -> "rv.RVNM";
|
case "rvcdName" -> "rv.RVNM";
|
||||||
case "stcd" -> "r.STCD";
|
case "stcd" -> "r.STCD";
|
||||||
case "ennm" -> "r.ENNM";
|
case "ennm" -> "r.ENNM";
|
||||||
|
|||||||
@ -89,10 +89,17 @@ public class FishDraftDataController {
|
|||||||
return t;
|
return t;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// @PostMapping("/page")
|
||||||
|
// @Operation(summary = "分页查询过鱼数据(关联电站和设施)")
|
||||||
|
// public ResponseResult queryPageList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
// Page<FishDraftDataVO> result = fishDraftDataService.queryPageList(dataSourceRequest);
|
||||||
|
// return ResponseResult.successData(result);
|
||||||
|
// }
|
||||||
|
|
||||||
@PostMapping("/page")
|
@PostMapping("/page")
|
||||||
@Operation(summary = "分页查询过鱼数据(关联电站和设施)")
|
@Operation(summary = "分页查询过鱼数据(关联电站和设施,APPROVED状态时根据当前用户电站权限过滤)")
|
||||||
public ResponseResult queryPageList(@RequestBody DataSourceRequest dataSourceRequest) {
|
public ResponseResult queryPageListWithScope(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
Page<FishDraftDataVO> result = fishDraftDataService.queryPageList(dataSourceRequest);
|
Page<FishDraftDataVO> result = fishDraftDataService.queryPageListWithScope(dataSourceRequest);
|
||||||
return ResponseResult.successData(result);
|
return ResponseResult.successData(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@ -33,6 +34,24 @@ public interface FishDraftDataMapper extends BaseMapper<FishDraftData> {
|
|||||||
@Param("hbrvcd") String hbrvcd,
|
@Param("hbrvcd") String hbrvcd,
|
||||||
@Param("approvalId") String approvalId);
|
@Param("approvalId") String approvalId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联查询过鱼数据(分页,含电站权限过滤)
|
||||||
|
*/
|
||||||
|
Page<FishDraftDataVO> selectJoinPageWithStationScope(Page<FishDraftDataVO> page,
|
||||||
|
@Param("stcd") String stcd,
|
||||||
|
@Param("rstcd") String rstcd,
|
||||||
|
@Param("baseId") String baseId,
|
||||||
|
@Param("rvcd") String rvcd,
|
||||||
|
@Param("direction") String direction,
|
||||||
|
@Param("status") String status,
|
||||||
|
@Param("ftp") String ftp,
|
||||||
|
@Param("startTime") String startTime,
|
||||||
|
@Param("endTime") String endTime,
|
||||||
|
@Param("userId") String userId,
|
||||||
|
@Param("hbrvcd") String hbrvcd,
|
||||||
|
@Param("approvalId") String approvalId,
|
||||||
|
@Param("stationCodes") Set<String> stationCodes);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 关联查询过鱼数据(不分页)
|
* 关联查询过鱼数据(不分页)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -20,6 +20,12 @@ public interface IFishDraftDataService extends IService<FishDraftData> {
|
|||||||
*/
|
*/
|
||||||
Page<FishDraftDataVO> queryPageList(DataSourceRequest dataSourceRequest);
|
Page<FishDraftDataVO> queryPageList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询草稿数据(关联电站和设施表,含电站权限过滤)
|
||||||
|
* 当 status = APPROVED 时,根据当前用户有权限的电站编码过滤数据
|
||||||
|
*/
|
||||||
|
Page<FishDraftDataVO> queryPageListWithScope(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询草稿数据列表(关联电站和设施表,不分页)
|
* 查询草稿数据列表(关联电站和设施表,不分页)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
|||||||
import com.yfd.platform.common.DataSourceRequest;
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
import com.yfd.platform.qgc_base.domain.SdRvcdDic;
|
import com.yfd.platform.qgc_base.domain.SdRvcdDic;
|
||||||
import com.yfd.platform.qgc_base.mapper.SdRvcdDicMapper;
|
import com.yfd.platform.qgc_base.mapper.SdRvcdDicMapper;
|
||||||
|
import com.yfd.platform.qgc_base.service.ICurrentUserDataScopeService;
|
||||||
import com.yfd.platform.qgc_data.domain.ApprovalMain;
|
import com.yfd.platform.qgc_data.domain.ApprovalMain;
|
||||||
import com.yfd.platform.qgc_data.domain.FishDraftData;
|
import com.yfd.platform.qgc_data.domain.FishDraftData;
|
||||||
import com.yfd.platform.qgc_data.domain.SysUserDataScope;
|
import com.yfd.platform.qgc_data.domain.SysUserDataScope;
|
||||||
@ -89,6 +90,9 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
|
|||||||
@Resource
|
@Resource
|
||||||
private ISdFpssRService sdFpssRService;
|
private ISdFpssRService sdFpssRService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ICurrentUserDataScopeService currentUserDataScopeService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private PlatformTransactionManager transactionManager;
|
private PlatformTransactionManager transactionManager;
|
||||||
|
|
||||||
@ -108,19 +112,68 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
|
|||||||
String direction = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "direction");
|
String direction = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "direction");
|
||||||
String status = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "status");
|
String status = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "status");
|
||||||
String STRDT = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "strdt");
|
String STRDT = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "strdt");
|
||||||
String startTime=null;
|
String startTime = null;
|
||||||
String endTime=null;
|
String endTime = null;
|
||||||
// String userId = (SecurityUtils.hasPermission("sjtb:edit-review") || "admin".equals(SecurityUtils.getCurrentUsername())) ?null:SecurityUtils.getUserId();
|
// String userId = (SecurityUtils.hasPermission("sjtb:edit-review") || "admin".equals(SecurityUtils.getCurrentUsername())) ?null:SecurityUtils.getUserId();
|
||||||
String userId = SecurityUtils.getUserId();
|
String userId = SecurityUtils.getUserId();
|
||||||
if(StrUtil.isNotBlank(approvalId)){
|
if (StrUtil.isNotBlank(approvalId)) {
|
||||||
userId=null;
|
userId = null;
|
||||||
}
|
}
|
||||||
// 如果 startTime 和 endTime 为空,尝试从 TM 字段解析
|
// 如果 startTime 和 endTime 为空,尝试从 TM 字段解析
|
||||||
if (StrUtil.isNotBlank(STRDT)&& STRDT.split( ",").length==2) {
|
if (StrUtil.isNotBlank(STRDT) && STRDT.split(",").length == 2) {
|
||||||
startTime=STRDT.split(",")[0];
|
startTime = STRDT.split(",")[0];
|
||||||
endTime=STRDT.split(",")[1];
|
endTime = STRDT.split(",")[1];
|
||||||
}
|
}
|
||||||
Page<FishDraftDataVO> resultPage = fishDraftDataMapper.selectJoinPage(page, stcd, rstcd, baseId, rvcd, direction, status, ftp, startTime, endTime,userId,hbrvcd,approvalId);
|
Page<FishDraftDataVO> resultPage = fishDraftDataMapper.selectJoinPage(page, stcd, rstcd, baseId, rvcd, direction, status, ftp, startTime, endTime, userId, hbrvcd, approvalId);
|
||||||
|
fillUserNames(resultPage.getRecords());
|
||||||
|
return resultPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Page<FishDraftDataVO> queryPageListWithScope(DataSourceRequest dataSourceRequest) {
|
||||||
|
Page<FishDraftDataVO> page = KendoUtil.getPage(dataSourceRequest);
|
||||||
|
page.setSize(dataSourceRequest.getTake());
|
||||||
|
page.setCurrent(dataSourceRequest.getSkip());
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||||
|
String stcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "stcd");
|
||||||
|
String approvalId = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "approvalId");
|
||||||
|
String rstcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "rstcd");
|
||||||
|
String hbrvcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "hbrvcd");
|
||||||
|
String rvcd = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "rvcd");
|
||||||
|
String baseId = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "baseId");
|
||||||
|
String ftp = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "ftp");
|
||||||
|
String direction = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "direction");
|
||||||
|
String status = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "status");
|
||||||
|
String STRDT = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "strdt");
|
||||||
|
String startTime = null;
|
||||||
|
String endTime = null;
|
||||||
|
String userId = SecurityUtils.getUserId();
|
||||||
|
if (StrUtil.isNotBlank(approvalId)) {
|
||||||
|
userId = null;
|
||||||
|
}
|
||||||
|
if (StrUtil.isNotBlank(STRDT) && STRDT.split(",").length == 2) {
|
||||||
|
startTime = STRDT.split(",")[0];
|
||||||
|
endTime = STRDT.split(",")[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当 status = APPROVED 时,加上当前用户的电站权限过滤
|
||||||
|
Set<String> stationCodes = null;
|
||||||
|
if ("APPROVED".equals(status)) {
|
||||||
|
userId=null;
|
||||||
|
if (!currentUserDataScopeService.getCurrentUserDataScope().isManagedAdmin()) {
|
||||||
|
stationCodes = currentUserDataScopeService.getCurrentUserDataScope().getStationCodes();
|
||||||
|
// 如果用户没有电站权限且不是管理员,返回空结果
|
||||||
|
if (stationCodes == null || stationCodes.isEmpty()) {
|
||||||
|
page.setRecords(Collections.emptyList());
|
||||||
|
page.setTotal(0);
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Page<FishDraftDataVO> resultPage = fishDraftDataMapper.selectJoinPageWithStationScope(
|
||||||
|
page, stcd, rstcd, baseId, rvcd, direction, status, ftp,
|
||||||
|
startTime, endTime, userId, hbrvcd, approvalId, stationCodes);
|
||||||
fillUserNames(resultPage.getRecords());
|
fillUserNames(resultPage.getRecords());
|
||||||
return resultPage;
|
return resultPage;
|
||||||
}
|
}
|
||||||
@ -262,7 +315,7 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
|
|||||||
@Override
|
@Override
|
||||||
public boolean batchRemoveDraft(List<String> ids) {
|
public boolean batchRemoveDraft(List<String> ids) {
|
||||||
long count = countByIdsAndLockFlag(ids, 1);
|
long count = countByIdsAndLockFlag(ids, 1);
|
||||||
if(count > 0){
|
if (count > 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
String userId = SecurityUtils.getUserId();
|
String userId = SecurityUtils.getUserId();
|
||||||
@ -392,7 +445,7 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
|
|||||||
// hbrvnmSet.add(hbrv.getRvnm());
|
// hbrvnmSet.add(hbrv.getRvnm());
|
||||||
// }
|
// }
|
||||||
|
|
||||||
List<SdEngInfoBH> stationList = engInfoBHMapper.selectByRvcd(null,orgId);
|
List<SdEngInfoBH> stationList = engInfoBHMapper.selectByRvcd(null, orgId);
|
||||||
if (stationList != null) {
|
if (stationList != null) {
|
||||||
for (SdEngInfoBH station : stationList) {
|
for (SdEngInfoBH station : stationList) {
|
||||||
if (station.getStcd() != null) {
|
if (station.getStcd() != null) {
|
||||||
@ -401,7 +454,7 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
|
|||||||
if (station.getEnnm() != null) {
|
if (station.getEnnm() != null) {
|
||||||
ennmSet.add(station.getEnnm());
|
ennmSet.add(station.getEnnm());
|
||||||
}
|
}
|
||||||
if(station.getReachcdName() != null){
|
if (station.getReachcdName() != null) {
|
||||||
hbrvnmSet.add(station.getReachcdName());
|
hbrvnmSet.add(station.getReachcdName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -419,7 +472,7 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
|
|||||||
if (station.getEnnm() != null) {
|
if (station.getEnnm() != null) {
|
||||||
ennmSet.add(station.getEnnm());
|
ennmSet.add(station.getEnnm());
|
||||||
}
|
}
|
||||||
if(station.getReachcdName() != null){
|
if (station.getReachcdName() != null) {
|
||||||
hbrvnmSet.add(station.getReachcdName());
|
hbrvnmSet.add(station.getReachcdName());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -825,9 +878,9 @@ public class FishDraftDataServiceImpl extends ServiceImpl<FishDraftDataMapper, F
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void rollbackSubmittedDrafts(String approvalId,
|
private void rollbackSubmittedDrafts(String approvalId,
|
||||||
List<String> succeededIds,
|
List<String> succeededIds,
|
||||||
Map<String, String> originalStatusMap,
|
Map<String, String> originalStatusMap,
|
||||||
Exception originalException) {
|
Exception originalException) {
|
||||||
try {
|
try {
|
||||||
for (List<String> batchIds : splitList(normalizeBatchValues(succeededIds), IN_QUERY_BATCH_SIZE)) {
|
for (List<String> batchIds : splitList(normalizeBatchValues(succeededIds), IN_QUERY_BATCH_SIZE)) {
|
||||||
executeInNewTransaction(() -> {
|
executeInNewTransaction(() -> {
|
||||||
|
|||||||
@ -15,6 +15,7 @@ public class FprZyFishDicVo {
|
|||||||
private String rvcdName;
|
private String rvcdName;
|
||||||
private String name;
|
private String name;
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
private String typeName;
|
||||||
private String family;
|
private String family;
|
||||||
private String genus;
|
private String genus;
|
||||||
private String species;
|
private String species;
|
||||||
|
|||||||
@ -800,6 +800,7 @@ public class FprMonitorServiceImpl implements FprMonitorService {
|
|||||||
"rv.RVNM AS rvcdName, " +
|
"rv.RVNM AS rvcdName, " +
|
||||||
"src.NAME AS name, " +
|
"src.NAME AS name, " +
|
||||||
"src.TYPE AS type, " +
|
"src.TYPE AS type, " +
|
||||||
|
"CASE WHEN src.TYPE = 1 THEN '淡水' WHEN src.TYPE = 2 THEN '海水' ELSE '未知' END AS typeName,"+
|
||||||
"src.FAMILY AS family, " +
|
"src.FAMILY AS family, " +
|
||||||
"src.GENUS AS genus, " +
|
"src.GENUS AS genus, " +
|
||||||
"src.SPECIES AS species, " +
|
"src.SPECIES AS species, " +
|
||||||
@ -848,6 +849,7 @@ public class FprMonitorServiceImpl implements FprMonitorService {
|
|||||||
"NVL(relAgg.rvcdName, '') AS rvcdName, " +
|
"NVL(relAgg.rvcdName, '') AS rvcdName, " +
|
||||||
"src.NAME AS name, " +
|
"src.NAME AS name, " +
|
||||||
"src.TYPE AS type, " +
|
"src.TYPE AS type, " +
|
||||||
|
"CASE WHEN src.TYPE = 1 THEN '淡水' WHEN src.TYPE = 2 THEN '海水' ELSE '未知' END AS typeName,"+
|
||||||
"src.FAMILY AS family, " +
|
"src.FAMILY AS family, " +
|
||||||
"src.GENUS AS genus, " +
|
"src.GENUS AS genus, " +
|
||||||
"src.SPECIES AS species, " +
|
"src.SPECIES AS species, " +
|
||||||
|
|||||||
@ -44,6 +44,11 @@ public class OverviewVmsstbprptVo implements Serializable {
|
|||||||
private String introduce;
|
private String introduce;
|
||||||
private String logo;
|
private String logo;
|
||||||
private String inffile;
|
private String inffile;
|
||||||
|
private String boundary;
|
||||||
|
private String location;
|
||||||
|
private BigDecimal height;
|
||||||
|
private String url;
|
||||||
|
private String accuracy;
|
||||||
private BigDecimal inv;
|
private BigDecimal inv;
|
||||||
private Integer invinmn;
|
private Integer invinmn;
|
||||||
private Date stdsdt;
|
private Date stdsdt;
|
||||||
|
|||||||
@ -1459,6 +1459,11 @@ public class OverviewServiceImpl implements OverviewService {
|
|||||||
columnMap.put("introduce", "t.INTRODUCE AS \"introduce\"");
|
columnMap.put("introduce", "t.INTRODUCE AS \"introduce\"");
|
||||||
columnMap.put("logo", "t.LOGO AS \"logo\"");
|
columnMap.put("logo", "t.LOGO AS \"logo\"");
|
||||||
columnMap.put("inffile", "t.INFFILE AS \"inffile\"");
|
columnMap.put("inffile", "t.INFFILE AS \"inffile\"");
|
||||||
|
columnMap.put("url", "t.URL AS \"url\"");
|
||||||
|
columnMap.put("boundary", "t.BOUNDARY AS \"boundary\"");
|
||||||
|
columnMap.put("height", "t.HEIGHT AS \"height\"");
|
||||||
|
columnMap.put("location", "t.LOCATION AS \"location\"");
|
||||||
|
columnMap.put("accuracy", "t.ACCURACY AS \"accuracy\"");
|
||||||
columnMap.put("inv", "t.INV AS \"inv\"");
|
columnMap.put("inv", "t.INV AS \"inv\"");
|
||||||
columnMap.put("invinmn", "t.INVINMN AS \"invinmn\"");
|
columnMap.put("invinmn", "t.INVINMN AS \"invinmn\"");
|
||||||
columnMap.put("stdsdt", "t.STDSDT AS \"stdsdt\"");
|
columnMap.put("stdsdt", "t.STDSDT AS \"stdsdt\"");
|
||||||
|
|||||||
@ -1825,12 +1825,12 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
"LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = eng.RVCD " +
|
"LEFT JOIN SD_RVCD_DIC rv ON rv.RVCD = eng.RVCD " +
|
||||||
"LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " +
|
"LEFT JOIN SD_ADDVCD_DIC addv ON addv.ADDVCD = eng.ADDVCD " +
|
||||||
"LEFT JOIN MS_ALONG_B rvAlong ON rvAlong.BASEID = wq.BASE_ID AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
"LEFT JOIN MS_ALONG_B rvAlong ON rvAlong.BASEID = wq.BASE_ID AND rvAlong.CODE = 'common' AND NVL(rvAlong.IS_DELETED, 0) = 0 " +
|
||||||
"LEFT JOIN (SELECT det.SORT,cfg.BASEID, along.RVCD, det.STCD " +
|
"LEFT JOIN (SELECT det.SORT,along.BASEID, along.RVCD, det.STCD " +
|
||||||
" FROM MS_ALONGDET_B det " +
|
" FROM MS_ALONGDET_B det " +
|
||||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') rstAlong " +
|
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') rstAlong " +
|
||||||
" ON rstAlong.BASEID = wq.BASE_ID AND rstAlong.STCD = wq.RSTCD " +
|
" ON rstAlong.BASEID = wq.BASE_ID AND rstAlong.STCD = wq.RSTCD " +
|
||||||
"LEFT JOIN (SELECT det.SORT,cfg.BASEID, along.RVCD, det.STCD " +
|
"LEFT JOIN (SELECT det.SORT,along.BASEID, along.RVCD, det.STCD " +
|
||||||
" FROM MS_ALONGDET_B det " +
|
" FROM MS_ALONGDET_B det " +
|
||||||
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
" INNER JOIN MS_ALONG_B along ON det.ALONG_ID = along.ID " +
|
||||||
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') siteAlong " +
|
" WHERE NVL(det.IS_DELETED, 0) = 0 AND NVL(along.IS_DELETED, 0) = 0 AND along.CODE = 'common') siteAlong " +
|
||||||
|
|||||||
@ -2959,7 +2959,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
// @Cacheable(cacheNames = "wtCache#3600", keyGenerator = "cacheKeyByUserGenerator")
|
@Cacheable(cacheNames = "wtCache#3600", keyGenerator = "cacheKeyByUserGenerator")
|
||||||
public DataSourceResult<WaterTempMapVO> getEngTempPointListKendoListCust(DataSourceRequest dataSourceRequest) {
|
public DataSourceResult<WaterTempMapVO> getEngTempPointListKendoListCust(DataSourceRequest dataSourceRequest) {
|
||||||
DataSourceResult<WaterTempMapVO> dataSourceResult = new DataSourceResult<>();
|
DataSourceResult<WaterTempMapVO> dataSourceResult = new DataSourceResult<>();
|
||||||
dataSourceResult.setAggregates(new HashMap<>());
|
dataSourceResult.setAggregates(new HashMap<>());
|
||||||
|
|||||||
@ -437,7 +437,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
"SUM(CASE WHEN we.DCPC = #{map.dcpc2} THEN NVL(fish.FCNT, 0) ELSE 0 END) AS fcnt2 " +
|
"SUM(CASE WHEN we.DCPC = #{map.dcpc2} THEN NVL(fish.FCNT, 0) ELSE 0 END) AS fcnt2 " +
|
||||||
"FROM SD_WE_R we " +
|
"FROM SD_WE_R we " +
|
||||||
"INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID AND NVL(fish.IS_DELETED, 0) = 0 " +
|
"INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID AND NVL(fish.IS_DELETED, 0) = 0 " +
|
||||||
"INNER JOIN SD_WE_B_H section ON section.STCD = we.STCD AND NVL(section.USFL, 0) = 1 " +
|
"INNER JOIN SD_WE_B_H sec ON sec.STCD = we.STCD AND NVL(sec.USFL, 0) = 1 " +
|
||||||
"INNER JOIN SD_FISHDICTORY_B dict ON dict.ID = fish.FTP AND NVL(dict.IS_DELETED, 0) = 0 " +
|
"INNER JOIN SD_FISHDICTORY_B dict ON dict.ID = fish.FTP AND NVL(dict.IS_DELETED, 0) = 0 " +
|
||||||
"WHERE NVL(we.IS_DELETED, 0) = 0 " +
|
"WHERE NVL(we.IS_DELETED, 0) = 0 " +
|
||||||
"AND NVL(we.STATUS, 1) = 1 " +
|
"AND NVL(we.STATUS, 1) = 1 " +
|
||||||
@ -514,49 +514,49 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("CASE WHEN fishAgg.yr = #{map.endYear} THEN fishAgg.fcnt END AS endFtpCnt, ")
|
.append("CASE WHEN fishAgg.yr = #{map.endYear} THEN fishAgg.fcnt END AS endFtpCnt, ")
|
||||||
.append("CASE WHEN fishAgg.yr = #{map.endYear} THEN totalAgg.fcnt END AS endCnt ")
|
.append("CASE WHEN fishAgg.yr = #{map.endYear} THEN totalAgg.fcnt END AS endCnt ")
|
||||||
.append("FROM (")
|
.append("FROM (")
|
||||||
.append("SELECT fish.FTP AS ftp, section.HBRVCD AS hbrvcd, SUM(NVL(fish.FCNT, 0)) AS fcnt, TO_CHAR(we.TM, 'YYYY') AS yr ")
|
.append("SELECT fish.FTP AS ftp, sec.HBRVCD AS hbrvcd, SUM(NVL(fish.FCNT, 0)) AS fcnt, TO_CHAR(we.TM, 'YYYY') AS yr ")
|
||||||
.append("FROM SD_WE_R we ")
|
.append("FROM SD_WE_R we ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("INNER JOIN SD_WE_B_H section ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_B_H sec ON sec.STCD = we.STCD ")
|
||||||
.append("INNER JOIN V_SD_FISHDICTORY_B dictFilter ON dictFilter.FISH_ID = fish.FTP ")
|
.append("INNER JOIN V_SD_FISHDICTORY_B dictFilter ON dictFilter.FISH_ID = fish.FTP ")
|
||||||
.append(" AND (section.HBRVCD = dictFilter.RVCD OR dictFilter.RVCD = 'ZY') ")
|
.append(" AND (sec.HBRVCD = dictFilter.RVCD OR dictFilter.RVCD = 'ZY') ")
|
||||||
.append("WHERE NVL(we.STATUS, 1) = 1 ")
|
.append("WHERE NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append("AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append("AND TO_CHAR(we.TM, 'YYYY') IN (#{map.startYear}, #{map.endYear}) ");
|
.append("AND TO_CHAR(we.TM, 'YYYY') IN (#{map.startYear}, #{map.endYear}) ");
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("fishPageBaseId", baseId);
|
paramMap.put("fishPageBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.fishPageBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.fishPageBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(hbrvcd)) {
|
if (StrUtil.isNotBlank(hbrvcd)) {
|
||||||
paramMap.put("fishPageHbrvcd", hbrvcd);
|
paramMap.put("fishPageHbrvcd", hbrvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.fishPageHbrvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.fishPageHbrvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rstcd)) {
|
if (StrUtil.isNotBlank(rstcd)) {
|
||||||
paramMap.put("fishPageRstcd", rstcd);
|
paramMap.put("fishPageRstcd", rstcd);
|
||||||
sql.append("AND section.RSTCD = #{map.fishPageRstcd} ");
|
sql.append("AND sec.RSTCD = #{map.fishPageRstcd} ");
|
||||||
}
|
}
|
||||||
sql.append("GROUP BY fish.FTP, section.HBRVCD, TO_CHAR(we.TM, 'YYYY') ")
|
sql.append("GROUP BY fish.FTP, sec.HBRVCD, TO_CHAR(we.TM, 'YYYY') ")
|
||||||
.append(") fishAgg ")
|
.append(") fishAgg ")
|
||||||
.append("LEFT JOIN (")
|
.append("LEFT JOIN (")
|
||||||
.append("SELECT SUM(NVL(fish.FCNT, 0)) AS fcnt, TO_CHAR(we.TM, 'YYYY') AS yr ")
|
.append("SELECT SUM(NVL(fish.FCNT, 0)) AS fcnt, TO_CHAR(we.TM, 'YYYY') AS yr ")
|
||||||
.append("FROM SD_WE_R we ")
|
.append("FROM SD_WE_R we ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("INNER JOIN SD_WE_B_H section ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_B_H sec ON sec.STCD = we.STCD ")
|
||||||
.append("INNER JOIN V_SD_FISHDICTORY_B dictFilter ON dictFilter.FISH_ID = fish.FTP ")
|
.append("INNER JOIN V_SD_FISHDICTORY_B dictFilter ON dictFilter.FISH_ID = fish.FTP ")
|
||||||
.append(" AND (section.HBRVCD = dictFilter.RVCD OR dictFilter.RVCD = 'ZY') ")
|
.append(" AND (sec.HBRVCD = dictFilter.RVCD OR dictFilter.RVCD = 'ZY') ")
|
||||||
.append("WHERE NVL(we.STATUS, 1) = 1 ")
|
.append("WHERE NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append("AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append("AND TO_CHAR(we.TM, 'YYYY') IN (#{map.startYear}, #{map.endYear}) ");
|
.append("AND TO_CHAR(we.TM, 'YYYY') IN (#{map.startYear}, #{map.endYear}) ");
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
sql.append("AND section.BASE_ID = #{map.fishPageBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.fishPageBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(hbrvcd)) {
|
if (StrUtil.isNotBlank(hbrvcd)) {
|
||||||
sql.append("AND section.HBRVCD = #{map.fishPageHbrvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.fishPageHbrvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rstcd)) {
|
if (StrUtil.isNotBlank(rstcd)) {
|
||||||
sql.append("AND section.RSTCD = #{map.fishPageRstcd} ");
|
sql.append("AND sec.RSTCD = #{map.fishPageRstcd} ");
|
||||||
}
|
}
|
||||||
sql.append("GROUP BY TO_CHAR(we.TM, 'YYYY') ")
|
sql.append("GROUP BY TO_CHAR(we.TM, 'YYYY') ")
|
||||||
.append(") totalAgg ON totalAgg.yr = fishAgg.yr ")
|
.append(") totalAgg ON totalAgg.yr = fishAgg.yr ")
|
||||||
@ -1087,33 +1087,33 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
Map<String, Object> paramMap = new HashMap<>();
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT ")
|
sql.append("SELECT ")
|
||||||
.append("section.STCD AS stcd, ")
|
.append("sec.STCD AS stcd, ")
|
||||||
.append("section.STNM AS stnm, ")
|
.append("sec.STNM AS stnm, ")
|
||||||
.append("section.LGTD AS lgtd, ")
|
.append("sec.LGTD AS lgtd, ")
|
||||||
.append("section.LTTD AS lttd, ")
|
.append("sec.LTTD AS lttd, ")
|
||||||
.append("section.ELEV AS dtmel, ")
|
.append("sec.ELEV AS dtmel, ")
|
||||||
.append("section.RSTCD AS rstcds, ")
|
.append("sec.RSTCD AS rstcds, ")
|
||||||
.append("eng.ENNM AS ennm, ")
|
.append("eng.ENNM AS ennm, ")
|
||||||
.append("TO_CHAR(latest.TM, 'yyyy-mm-dd hh24:mi:ss') AS tm, ")
|
.append("TO_CHAR(latest.TM, 'yyyy-mm-dd hh24:mi:ss') AS tm, ")
|
||||||
.append("'WE' AS anchoPointState, ")
|
.append("'WE' AS anchoPointState, ")
|
||||||
.append("'WE' AS sttpMap, ")
|
.append("'WE' AS sttpMap, ")
|
||||||
.append("'WE' AS sttp, ")
|
.append("'WE' AS sttp, ")
|
||||||
.append("'WE' AS sttpCode, ")
|
.append("'WE' AS sttpCode, ")
|
||||||
.append("section.STNM AS titleName, ")
|
.append("sec.STNM AS titleName, ")
|
||||||
.append("section.RVCD AS rvcd, ")
|
.append("sec.RVCD AS rvcd, ")
|
||||||
.append("section.ADDVCD AS addvcd, ")
|
.append("sec.ADDVCD AS addvcd, ")
|
||||||
.append("section.BASE_ID AS baseId, ")
|
.append("sec.BASE_ID AS baseId, ")
|
||||||
.append("section.RSTCD AS rstcd, ")
|
.append("sec.RSTCD AS rstcd, ")
|
||||||
.append("siteSort.SORT AS siteStepSort ")
|
.append("siteSort.SORT AS siteStepSort ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = section.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = sec.RSTCD AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN ( ")
|
.append("LEFT JOIN ( ")
|
||||||
.append(" SELECT STCD, MAX(TM) AS TM ")
|
.append(" SELECT STCD, MAX(TM) AS TM ")
|
||||||
.append(" FROM SD_WE_R ")
|
.append(" FROM SD_WE_R ")
|
||||||
.append(" WHERE NVL(IS_DELETED, 0) = 0 AND STATUS = 1 ")
|
.append(" WHERE NVL(IS_DELETED, 0) = 0 AND STATUS = 1 ")
|
||||||
.append(" GROUP BY STCD ")
|
.append(" GROUP BY STCD ")
|
||||||
.append(") latest ON latest.STCD = section.STCD ")
|
.append(") latest ON latest.STCD = sec.STCD ")
|
||||||
.append("LEFT JOIN MS_ALONG_B along ON along.BASEID = section.BASE_ID ")
|
.append("LEFT JOIN MS_ALONG_B along ON along.BASEID = sec.BASE_ID ")
|
||||||
.append(" AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
.append(" AND along.CODE = 'common' AND NVL(along.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN ( ")
|
.append("LEFT JOIN ( ")
|
||||||
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
.append(" SELECT det.SORT,cfg.BASEID, cfg.RVCD, det.STCD ")
|
||||||
@ -1122,8 +1122,8 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 ")
|
.append(" WHERE NVL(det.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(cfg.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(cfg.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND cfg.CODE = 'common' ")
|
.append(" AND cfg.CODE = 'common' ")
|
||||||
.append(") siteSort ON siteSort.BASEID = section.BASE_ID AND siteSort.STCD = section.STCD ")
|
.append(") siteSort ON siteSort.BASEID = sec.BASE_ID AND siteSort.STCD = sec.STCD ")
|
||||||
.append("WHERE NVL(section.USFL, 1) = 1 ");
|
.append("WHERE NVL(sec.USFL, 1) = 1 ");
|
||||||
|
|
||||||
String filterSql = buildWePointFilterCondition(dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
String filterSql = buildWePointFilterCondition(dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||||
if (StrUtil.isNotBlank(filterSql)) {
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
@ -1186,8 +1186,8 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("FROM SD_WE_R we ")
|
.append("FROM SD_WE_R we ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("INNER JOIN SD_WE_B_H section ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_B_H sec ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(section.USFL, 1) = 1 ")
|
.append(" AND NVL(sec.USFL, 1) = 1 ")
|
||||||
.append("INNER JOIN ( ")
|
.append("INNER JOIN ( ")
|
||||||
.append(" SELECT STCD, MAX(TM) AS TM ")
|
.append(" SELECT STCD, MAX(TM) AS TM ")
|
||||||
.append(" FROM SD_WE_R ")
|
.append(" FROM SD_WE_R ")
|
||||||
@ -1201,7 +1201,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append(" WHERE NVL(rel.IS_DELETED, 0) = 0 ")
|
.append(" WHERE NVL(rel.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(dic.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(dic.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND (rel.FISH_ID <> rel.ZY_FISH_ID OR rel.RVCD = 'ZY') ")
|
.append(" AND (rel.FISH_ID <> rel.ZY_FISH_ID OR rel.RVCD = 'ZY') ")
|
||||||
.append(") dict ON fish.FTP = dict.FISH_ID AND (section.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
.append(") dict ON fish.FTP = dict.FISH_ID AND (sec.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
||||||
.append("WHERE fish.FCNT IS NOT NULL ")
|
.append("WHERE fish.FCNT IS NOT NULL ")
|
||||||
.append("AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append("AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append("AND NVL(we.STATUS, 1) = 1 ");
|
.append("AND NVL(we.STATUS, 1) = 1 ");
|
||||||
@ -1925,16 +1925,16 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT t.BASE_ID AS hbrvcd, t.YR AS yr ")
|
sql.append("SELECT t.BASE_ID AS hbrvcd, t.YR AS yr ")
|
||||||
.append("FROM (")
|
.append("FROM (")
|
||||||
.append("SELECT section.HBRVCD, section.RSTCD, section.BASE_ID, TO_CHAR(we.TM, 'yyyy') AS yr ")
|
.append("SELECT sec.HBRVCD, sec.RSTCD, sec.BASE_ID, TO_CHAR(we.TM, 'yyyy') AS yr ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
||||||
.append(" AND (section.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
.append(" AND (sec.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
||||||
.append("WHERE NVL(section.USFL, 0) = 1 ")
|
.append("WHERE NVL(sec.USFL, 0) = 1 ")
|
||||||
.append("AND CASE ")
|
.append("AND CASE ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 2 THEN 1 ")
|
.append("WHEN dict.SPEC_ORIGIN = 2 THEN 1 ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN 2 ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN 2 ")
|
||||||
@ -1943,11 +1943,11 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("weYearBaseId", baseId);
|
paramMap.put("weYearBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.weYearBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.weYearBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(hbrvcd)) {
|
if (StrUtil.isNotBlank(hbrvcd)) {
|
||||||
paramMap.put("weYearHbrvcd", hbrvcd);
|
paramMap.put("weYearHbrvcd", hbrvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.weYearHbrvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.weYearHbrvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(yr)) {
|
if (StrUtil.isNotBlank(yr)) {
|
||||||
paramMap.put("weYearYr", yr);
|
paramMap.put("weYearYr", yr);
|
||||||
@ -1965,11 +1965,11 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
placeholders.add("#{map." + key + "}");
|
placeholders.add("#{map." + key + "}");
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(placeholders)) {
|
if (CollUtil.isNotEmpty(placeholders)) {
|
||||||
sql.append("AND section.RSTCD IN (").append(String.join(", ", placeholders)).append(") ");
|
sql.append("AND sec.RSTCD IN (").append(String.join(", ", placeholders)).append(") ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sql.append("GROUP BY section.BASE_ID, section.HBRVCD, section.RSTCD, TO_CHAR(we.TM, 'yyyy')")
|
sql.append("GROUP BY sec.BASE_ID, sec.HBRVCD, sec.RSTCD, TO_CHAR(we.TM, 'yyyy')")
|
||||||
.append(") t ")
|
.append(") t ")
|
||||||
.append("INNER JOIN (")
|
.append("INNER JOIN (")
|
||||||
.append("SELECT det.STCD, det.SORT, cfg.RVCD ")
|
.append("SELECT det.STCD, det.SORT, cfg.RVCD ")
|
||||||
@ -1993,7 +1993,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT t.STCD AS stcd, t.STNM AS stnm, t.NUM AS num, t.TY AS ty, t2.SORT AS sort ")
|
sql.append("SELECT t.STCD AS stcd, t.STNM AS stnm, t.NUM AS num, t.TY AS ty, t2.SORT AS sort ")
|
||||||
.append("FROM (")
|
.append("FROM (")
|
||||||
.append("SELECT section.RSTCD AS STCD, ")
|
.append("SELECT sec.RSTCD AS STCD, ")
|
||||||
.append("eng.ENNM AS STNM, ")
|
.append("eng.ENNM AS STNM, ")
|
||||||
.append("COUNT(DISTINCT fish.FTP) AS NUM, ")
|
.append("COUNT(DISTINCT fish.FTP) AS NUM, ")
|
||||||
.append("CASE ")
|
.append("CASE ")
|
||||||
@ -2001,26 +2001,26 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
||||||
.append("END AS TY ")
|
.append("END AS TY ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
// .append(" AND NVL(we.STATUS, 1) = 1 ")
|
// .append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = section.RSTCD ")
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = sec.RSTCD ")
|
||||||
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
||||||
.append(" AND (section.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
.append(" AND (sec.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
||||||
.append("WHERE 1 = 1 ");
|
.append("WHERE 1 = 1 ");
|
||||||
// .append("WHERE NVL(section.USFL, 0) = 1 ");
|
// .append("WHERE NVL(sec.USFL, 0) = 1 ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("weFishStatBaseId", baseId);
|
paramMap.put("weFishStatBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.weFishStatBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.weFishStatBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(hbrvcd)) {
|
if (StrUtil.isNotBlank(hbrvcd)) {
|
||||||
paramMap.put("weFishStatHbrvcd", hbrvcd);
|
paramMap.put("weFishStatHbrvcd", hbrvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.weFishStatHbrvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.weFishStatHbrvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(yr)) {
|
if (StrUtil.isNotBlank(yr)) {
|
||||||
paramMap.put("weFishStatYr", yr);
|
paramMap.put("weFishStatYr", yr);
|
||||||
@ -2038,7 +2038,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
placeholders.add("#{map." + key + "}");
|
placeholders.add("#{map." + key + "}");
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(placeholders)) {
|
if (CollUtil.isNotEmpty(placeholders)) {
|
||||||
sql.append("AND section.RSTCD IN (").append(String.join(", ", placeholders)).append(") ");
|
sql.append("AND sec.RSTCD IN (").append(String.join(", ", placeholders)).append(") ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2047,7 +2047,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN 2 ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN 2 ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN 3 ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN 3 ")
|
||||||
.append("END IS NOT NULL ")
|
.append("END IS NOT NULL ")
|
||||||
.append("GROUP BY section.RSTCD, eng.ENNM, CASE ")
|
.append("GROUP BY sec.RSTCD, eng.ENNM, CASE ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 2 THEN '1' ")
|
.append("WHEN dict.SPEC_ORIGIN = 2 THEN '1' ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
||||||
@ -2074,7 +2074,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT t.STCD AS stcd, t.STNM AS stnm, t.NUM AS num, t.TY AS ty, t2.SORT AS sort ")
|
sql.append("SELECT t.STCD AS stcd, t.STNM AS stnm, t.NUM AS num, t.TY AS ty, t2.SORT AS sort ")
|
||||||
.append("FROM (")
|
.append("FROM (")
|
||||||
.append("SELECT section.RSTCD AS STCD, ")
|
.append("SELECT sec.RSTCD AS STCD, ")
|
||||||
.append("eng.ENNM AS STNM, ")
|
.append("eng.ENNM AS STNM, ")
|
||||||
.append("COUNT(DISTINCT fish.FTP) AS NUM, ")
|
.append("COUNT(DISTINCT fish.FTP) AS NUM, ")
|
||||||
.append("CASE ")
|
.append("CASE ")
|
||||||
@ -2083,29 +2083,29 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
||||||
.append("END AS TY, ")
|
.append("END AS TY, ")
|
||||||
.append("TO_CHAR(we.TM, 'yyyy') AS YR ")
|
.append("TO_CHAR(we.TM, 'yyyy') AS YR ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = section.RSTCD ")
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = sec.RSTCD ")
|
||||||
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_FISHDICTORY_B dict ON fish.FTP = dict.ID ")
|
.append("LEFT JOIN SD_FISHDICTORY_B dict ON fish.FTP = dict.ID ")
|
||||||
.append(" AND NVL(dict.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(dict.IS_DELETED, 0) = 0 ")
|
||||||
.append("WHERE NVL(section.USFL, 0) = 1 ");
|
.append("WHERE NVL(sec.USFL, 0) = 1 ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("weFishStatBaseId", baseId);
|
paramMap.put("weFishStatBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.weFishStatBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.weFishStatBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(hbrvcd)) {
|
if (StrUtil.isNotBlank(hbrvcd)) {
|
||||||
paramMap.put("weFishStatHbrvcd", hbrvcd);
|
paramMap.put("weFishStatHbrvcd", hbrvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.weFishStatHbrvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.weFishStatHbrvcd} ");
|
||||||
}
|
}
|
||||||
sql.append("AND section.RSTCD IS NOT NULL ")
|
sql.append("AND sec.RSTCD IS NOT NULL ")
|
||||||
.append("AND dict.SPEC_ORIGIN IS NOT NULL ")
|
.append("AND dict.SPEC_ORIGIN IS NOT NULL ")
|
||||||
.append("GROUP BY section.RSTCD, eng.ENNM, ")
|
.append("GROUP BY sec.RSTCD, eng.ENNM, ")
|
||||||
.append("CASE ")
|
.append("CASE ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 2 THEN '1' ")
|
.append("WHEN dict.SPEC_ORIGIN = 2 THEN '1' ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
||||||
@ -2189,36 +2189,36 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
Map<String, Object> paramMap) {
|
Map<String, Object> paramMap) {
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT ")
|
sql.append("SELECT ")
|
||||||
.append("section.RSTCD AS rstcd, ")
|
.append("sec.RSTCD AS rstcd, ")
|
||||||
.append("eng.ENNM AS rstcdName, ")
|
.append("eng.ENNM AS rstcdName, ")
|
||||||
.append("TO_CHAR(WM_CONCAT(DISTINCT section.STCD)) AS stcd, ")
|
.append("TO_CHAR(WM_CONCAT(DISTINCT sec.STCD)) AS stcd, ")
|
||||||
.append("TO_CHAR(WM_CONCAT(DISTINCT section.STNM)) AS stnm, ")
|
.append("TO_CHAR(WM_CONCAT(DISTINCT sec.STNM)) AS stnm, ")
|
||||||
.append("TO_CHAR(WM_CONCAT(DISTINCT dict.ZY_FISH_ID)) AS id ")
|
.append("TO_CHAR(WM_CONCAT(DISTINCT dict.ZY_FISH_ID)) AS id ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON section.RSTCD = eng.STCD ")
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON sec.RSTCD = eng.STCD ")
|
||||||
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
||||||
.append(" AND (section.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
.append(" AND (sec.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
||||||
.append("WHERE NVL(section.USFL, 0) = 1 ")
|
.append("WHERE NVL(sec.USFL, 0) = 1 ")
|
||||||
.append("AND section.RSTCD IS NOT NULL ")
|
.append("AND sec.RSTCD IS NOT NULL ")
|
||||||
.append("AND dict.ZY_FISH_ID IS NOT NULL ");
|
.append("AND dict.ZY_FISH_ID IS NOT NULL ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("qgcWeFishDetailBaseId", baseId);
|
paramMap.put("qgcWeFishDetailBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.qgcWeFishDetailBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.qgcWeFishDetailBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rstcd)) {
|
if (StrUtil.isNotBlank(rstcd)) {
|
||||||
paramMap.put("qgcWeFishDetailRstcd", rstcd);
|
paramMap.put("qgcWeFishDetailRstcd", rstcd);
|
||||||
sql.append("AND section.RSTCD = #{map.qgcWeFishDetailRstcd} ");
|
sql.append("AND sec.RSTCD = #{map.qgcWeFishDetailRstcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rvcd)) {
|
if (StrUtil.isNotBlank(rvcd)) {
|
||||||
paramMap.put("qgcWeFishDetailRvcd", rvcd);
|
paramMap.put("qgcWeFishDetailRvcd", rvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.qgcWeFishDetailRvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.qgcWeFishDetailRvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(yr)) {
|
if (StrUtil.isNotBlank(yr)) {
|
||||||
paramMap.put("qgcWeFishDetailYr", yr);
|
paramMap.put("qgcWeFishDetailYr", yr);
|
||||||
@ -2233,7 +2233,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("END = #{map.qgcWeFishDetailTy} ");
|
.append("END = #{map.qgcWeFishDetailTy} ");
|
||||||
}
|
}
|
||||||
|
|
||||||
sql.append("GROUP BY section.RSTCD, eng.ENNM ")
|
sql.append("GROUP BY sec.RSTCD, eng.ENNM ")
|
||||||
.append("ORDER BY eng.ENNM ASC NULLS LAST");
|
.append("ORDER BY eng.ENNM ASC NULLS LAST");
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
@ -2246,36 +2246,36 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
Map<String, Object> paramMap) {
|
Map<String, Object> paramMap) {
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT ")
|
sql.append("SELECT ")
|
||||||
.append("section.RSTCD AS rstcd, ")
|
.append("sec.RSTCD AS rstcd, ")
|
||||||
.append("eng.ENNM AS rstcdName, ")
|
.append("eng.ENNM AS rstcdName, ")
|
||||||
.append("TO_CHAR(WM_CONCAT(DISTINCT section.STCD)) AS stcd, ")
|
.append("TO_CHAR(WM_CONCAT(DISTINCT sec.STCD)) AS stcd, ")
|
||||||
.append("TO_CHAR(WM_CONCAT(DISTINCT section.STNM)) AS stnm, ")
|
.append("TO_CHAR(WM_CONCAT(DISTINCT sec.STNM)) AS stnm, ")
|
||||||
.append("TO_CHAR(WM_CONCAT(DISTINCT dict.NAME)) AS name ")
|
.append("TO_CHAR(WM_CONCAT(DISTINCT dict.NAME)) AS name ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON section.RSTCD = eng.STCD ")
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON sec.RSTCD = eng.STCD ")
|
||||||
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_FISHDICTORY_B dict ON fish.FTP = dict.ID ")
|
.append("LEFT JOIN SD_FISHDICTORY_B dict ON fish.FTP = dict.ID ")
|
||||||
.append(" AND NVL(dict.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(dict.IS_DELETED, 0) = 0 ")
|
||||||
.append("WHERE NVL(section.USFL, 0) = 1 ")
|
.append("WHERE NVL(sec.USFL, 0) = 1 ")
|
||||||
.append("AND section.RSTCD IS NOT NULL ")
|
.append("AND sec.RSTCD IS NOT NULL ")
|
||||||
.append("AND dict.NAME IS NOT NULL ");
|
.append("AND dict.NAME IS NOT NULL ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("weFishDetailBaseId", baseId);
|
paramMap.put("weFishDetailBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.weFishDetailBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.weFishDetailBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rstcd)) {
|
if (StrUtil.isNotBlank(rstcd)) {
|
||||||
paramMap.put("weFishDetailRstcd", rstcd);
|
paramMap.put("weFishDetailRstcd", rstcd);
|
||||||
sql.append("AND section.RSTCD = #{map.weFishDetailRstcd} ");
|
sql.append("AND sec.RSTCD = #{map.weFishDetailRstcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rvcd)) {
|
if (StrUtil.isNotBlank(rvcd)) {
|
||||||
paramMap.put("weFishDetailRvcd", rvcd);
|
paramMap.put("weFishDetailRvcd", rvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.weFishDetailRvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.weFishDetailRvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(yr)) {
|
if (StrUtil.isNotBlank(yr)) {
|
||||||
paramMap.put("weFishDetailYr", yr);
|
paramMap.put("weFishDetailYr", yr);
|
||||||
@ -2290,7 +2290,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("END = #{map.weFishDetailTy} ");
|
.append("END = #{map.weFishDetailTy} ");
|
||||||
}
|
}
|
||||||
|
|
||||||
sql.append("GROUP BY section.RSTCD, eng.ENNM ")
|
sql.append("GROUP BY sec.RSTCD, eng.ENNM ")
|
||||||
.append("ORDER BY eng.ENNM ASC NULLS LAST");
|
.append("ORDER BY eng.ENNM ASC NULLS LAST");
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
@ -2303,36 +2303,36 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
Map<String, Object> paramMap) {
|
Map<String, Object> paramMap) {
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT ")
|
sql.append("SELECT ")
|
||||||
.append("section.RSTCD AS rstcd, ")
|
.append("sec.RSTCD AS rstcd, ")
|
||||||
.append("eng.ENNM AS rstcdName, ")
|
.append("eng.ENNM AS rstcdName, ")
|
||||||
.append("section.STCD AS stcd, ")
|
.append("sec.STCD AS stcd, ")
|
||||||
.append("section.STNM AS stnm, ")
|
.append("sec.STNM AS stnm, ")
|
||||||
.append("dict.ZY_FISH_ID AS id ")
|
.append("dict.ZY_FISH_ID AS id ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON section.RSTCD = eng.STCD ")
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON sec.RSTCD = eng.STCD ")
|
||||||
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
.append("LEFT JOIN V_SD_FISHDICTORY_B dict ON fish.FTP = dict.FISH_ID ")
|
||||||
.append(" AND (section.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
.append(" AND (sec.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
||||||
.append("WHERE NVL(section.USFL, 0) = 1 ")
|
.append("WHERE NVL(sec.USFL, 0) = 1 ")
|
||||||
.append("AND section.RSTCD IS NOT NULL ")
|
.append("AND sec.RSTCD IS NOT NULL ")
|
||||||
.append("AND dict.ZY_FISH_ID IS NOT NULL ");
|
.append("AND dict.ZY_FISH_ID IS NOT NULL ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("hbbQgcWeFishDetailBaseId", baseId);
|
paramMap.put("hbbQgcWeFishDetailBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.hbbQgcWeFishDetailBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.hbbQgcWeFishDetailBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rstcd)) {
|
if (StrUtil.isNotBlank(rstcd)) {
|
||||||
paramMap.put("hbbQgcWeFishDetailRstcd", rstcd);
|
paramMap.put("hbbQgcWeFishDetailRstcd", rstcd);
|
||||||
sql.append("AND section.RSTCD = #{map.hbbQgcWeFishDetailRstcd} ");
|
sql.append("AND sec.RSTCD = #{map.hbbQgcWeFishDetailRstcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rvcd)) {
|
if (StrUtil.isNotBlank(rvcd)) {
|
||||||
paramMap.put("hbbQgcWeFishDetailRvcd", rvcd);
|
paramMap.put("hbbQgcWeFishDetailRvcd", rvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.hbbQgcWeFishDetailRvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.hbbQgcWeFishDetailRvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(yr)) {
|
if (StrUtil.isNotBlank(yr)) {
|
||||||
paramMap.put("hbbQgcWeFishDetailYr", yr);
|
paramMap.put("hbbQgcWeFishDetailYr", yr);
|
||||||
@ -2347,8 +2347,8 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("END = #{map.hbbQgcWeFishDetailTy} ");
|
.append("END = #{map.hbbQgcWeFishDetailTy} ");
|
||||||
}
|
}
|
||||||
|
|
||||||
sql.append("GROUP BY section.RSTCD, eng.ENNM, section.STCD, section.STNM,dict.ZY_FISH_ID ")
|
sql.append("GROUP BY sec.RSTCD, eng.ENNM, sec.STCD, sec.STNM,dict.ZY_FISH_ID ")
|
||||||
.append("ORDER BY eng.ENNM ASC NULLS LAST, section.STNM ASC NULLS LAST");
|
.append("ORDER BY eng.ENNM ASC NULLS LAST, sec.STNM ASC NULLS LAST");
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2364,27 +2364,27 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND NVL(dict.PTYPE, -1) <> 6 THEN '2' ")
|
||||||
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
.append("WHEN dict.SPEC_ORIGIN = 1 AND dict.PTYPE = 6 THEN '3' ")
|
||||||
.append("END AS ty ")
|
.append("END AS ty ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("LEFT JOIN SD_FISHDICTORY_B dict ON fish.FTP = dict.ID ")
|
.append("LEFT JOIN SD_FISHDICTORY_B dict ON fish.FTP = dict.ID ")
|
||||||
.append(" AND NVL(dict.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(dict.IS_DELETED, 0) = 0 ")
|
||||||
.append("WHERE NVL(section.USFL, 0) = 1 ");
|
.append("WHERE NVL(sec.USFL, 0) = 1 ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("weFishStatTabBaseId", baseId);
|
paramMap.put("weFishStatTabBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.weFishStatTabBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.weFishStatTabBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rvcd)) {
|
if (StrUtil.isNotBlank(rvcd)) {
|
||||||
paramMap.put("weFishStatTabRvcd", rvcd);
|
paramMap.put("weFishStatTabRvcd", rvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.weFishStatTabRvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.weFishStatTabRvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(rstcd)) {
|
if (StrUtil.isNotBlank(rstcd)) {
|
||||||
paramMap.put("weFishStatTabRstcd", rstcd);
|
paramMap.put("weFishStatTabRstcd", rstcd);
|
||||||
sql.append("AND section.RSTCD = #{map.weFishStatTabRstcd} ");
|
sql.append("AND sec.RSTCD = #{map.weFishStatTabRstcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(yr)) {
|
if (StrUtil.isNotBlank(yr)) {
|
||||||
paramMap.put("weFishStatTabYr", yr);
|
paramMap.put("weFishStatTabYr", yr);
|
||||||
@ -2547,7 +2547,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
"eng.RVCD_NAME AS rvcdName, " +
|
"eng.RVCD_NAME AS rvcdName, " +
|
||||||
"eng.HBRVCD AS hbrvcd, " +
|
"eng.HBRVCD AS hbrvcd, " +
|
||||||
"eng.HBRVCD_NAME AS hbrvcdName, " +
|
"eng.HBRVCD_NAME AS hbrvcdName, " +
|
||||||
"section.RSTCD AS rstcd, " +
|
"sec.RSTCD AS rstcd, " +
|
||||||
"eng.ENNM AS ennm, " +
|
"eng.ENNM AS ennm, " +
|
||||||
"eng.BASE_ID AS baseId, " +
|
"eng.BASE_ID AS baseId, " +
|
||||||
"eng.BASE_NAME AS baseName, " +
|
"eng.BASE_NAME AS baseName, " +
|
||||||
@ -2557,9 +2557,9 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
"FROM SD_WE_R we " +
|
"FROM SD_WE_R we " +
|
||||||
"INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID " +
|
"INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID " +
|
||||||
" AND NVL(fish.IS_DELETED, 0) = 0 " +
|
" AND NVL(fish.IS_DELETED, 0) = 0 " +
|
||||||
"INNER JOIN SD_WE_B_H section ON we.STCD = section.STCD " +
|
"INNER JOIN SD_WE_B_H sec ON we.STCD = sec.STCD " +
|
||||||
" AND NVL(section.USFL, 0) = 1 " +
|
" AND NVL(sec.USFL, 0) = 1 " +
|
||||||
"INNER JOIN SD_ENGINFO_B_H eng ON eng.STCD = section.RSTCD " +
|
"INNER JOIN SD_ENGINFO_B_H eng ON eng.STCD = sec.RSTCD " +
|
||||||
" AND NVL(eng.IS_DELETED, 0) = 0 " +
|
" AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||||
"INNER JOIN V_SD_FISHDICTORY_B dict ON dict.FISH_ID = fish.FTP " +
|
"INNER JOIN V_SD_FISHDICTORY_B dict ON dict.FISH_ID = fish.FTP " +
|
||||||
" AND (eng.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') " +
|
" AND (eng.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') " +
|
||||||
@ -2580,11 +2580,11 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
end = parseDateTimeSafely(endTime);
|
end = parseDateTimeSafely(endTime);
|
||||||
}
|
}
|
||||||
StringBuilder sql = new StringBuilder();
|
StringBuilder sql = new StringBuilder();
|
||||||
sql.append("SELECT agg.ftp AS ftp, section.STCD AS stcd, section.RSTCD AS rstcds, ")
|
sql.append("SELECT agg.ftp AS ftp, sec.STCD AS stcd, sec.RSTCD AS rstcds, ")
|
||||||
.append("section.STNM AS stnm, eng.ENNM AS ennm, ")
|
.append("sec.STNM AS stnm, eng.ENNM AS ennm, ")
|
||||||
.append("section.LGTD AS lgtd, section.LTTD AS lttd, ")
|
.append("sec.LGTD AS lgtd, sec.LTTD AS lttd, ")
|
||||||
.append("'ylfb' AS sttp, 'ylfb' AS sttpMap, ")
|
.append("'ylfb' AS sttp, 'ylfb' AS sttpMap, ")
|
||||||
.append("section.RVCD AS rvcd, section.ADDVCD AS addvcd, section.BASE_ID AS baseId, ")
|
.append("sec.RVCD AS rvcd, sec.ADDVCD AS addvcd, sec.BASE_ID AS baseId, ")
|
||||||
.append("'WE' AS sttpCode, 'ylfb' AS anchoPointState, '鱼类分布' AS titleName, ")
|
.append("'WE' AS sttpCode, 'ylfb' AS anchoPointState, '鱼类分布' AS titleName, ")
|
||||||
.append("eng.ELEV AS dtmel ")
|
.append("eng.ELEV AS dtmel ")
|
||||||
.append("FROM (")
|
.append("FROM (")
|
||||||
@ -2592,12 +2592,12 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("FROM (")
|
.append("FROM (")
|
||||||
.append("SELECT dict.ZY_FISH_ID AS ID, we.STCD AS stcd ")
|
.append("SELECT dict.ZY_FISH_ID AS ID, we.STCD AS stcd ")
|
||||||
.append("FROM SD_WE_R we ")
|
.append("FROM SD_WE_R we ")
|
||||||
.append("INNER JOIN SD_WE_B_H section ON we.STCD = section.STCD ")
|
.append("INNER JOIN SD_WE_B_H sec ON we.STCD = sec.STCD ")
|
||||||
.append(" AND NVL(section.USFL, 0) = 1 ")
|
.append(" AND NVL(sec.USFL, 0) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R fish ON we.ID = fish.WER_ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("INNER JOIN V_SD_FISHDICTORY_B dict ON dict.FISH_ID = fish.FTP ")
|
.append("INNER JOIN V_SD_FISHDICTORY_B dict ON dict.FISH_ID = fish.FTP ")
|
||||||
.append(" AND (section.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
.append(" AND (sec.HBRVCD = dict.RVCD OR dict.RVCD = 'ZY') ")
|
||||||
.append("WHERE NVL(we.IS_DELETED, 0) = 0 ")
|
.append("WHERE NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append("AND NVL(we.STATUS, 1) = 1 ");
|
.append("AND NVL(we.STATUS, 1) = 1 ");
|
||||||
|
|
||||||
@ -2625,12 +2625,12 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
sql.append("AND we.STCD IN (")
|
sql.append("AND we.STCD IN (")
|
||||||
.append("SELECT a.STCD ")
|
.append("SELECT a.STCD ")
|
||||||
.append("FROM SD_WE_R a ")
|
.append("FROM SD_WE_R a ")
|
||||||
.append("INNER JOIN SD_WE_B_H section2 ON a.STCD = section2.STCD ")
|
.append("INNER JOIN SD_WE_B_H sec2 ON a.STCD = sec2.STCD ")
|
||||||
.append(" AND NVL(section2.USFL, 0) = 1 ")
|
.append(" AND NVL(sec2.USFL, 0) = 1 ")
|
||||||
.append("INNER JOIN SD_WEFISH_R b ON a.ID = b.WER_ID ")
|
.append("INNER JOIN SD_WEFISH_R b ON a.ID = b.WER_ID ")
|
||||||
.append(" AND NVL(b.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(b.IS_DELETED, 0) = 0 ")
|
||||||
.append("INNER JOIN V_SD_FISHDICTORY_B c ON c.FISH_ID = b.FTP ")
|
.append("INNER JOIN V_SD_FISHDICTORY_B c ON c.FISH_ID = b.FTP ")
|
||||||
.append(" AND (section2.HBRVCD = c.RVCD OR c.RVCD = 'ZY') ")
|
.append(" AND (sec2.HBRVCD = c.RVCD OR c.RVCD = 'ZY') ")
|
||||||
.append("WHERE NVL(a.IS_DELETED, 0) = 0 ")
|
.append("WHERE NVL(a.IS_DELETED, 0) = 0 ")
|
||||||
.append("AND NVL(a.STATUS, 1) = 1 ");
|
.append("AND NVL(a.STATUS, 1) = 1 ");
|
||||||
if (start != null && end != null) {
|
if (start != null && end != null) {
|
||||||
@ -2644,16 +2644,16 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
sql.append("GROUP BY we.STCD, dict.ZY_FISH_ID")
|
sql.append("GROUP BY we.STCD, dict.ZY_FISH_ID")
|
||||||
.append(") t GROUP BY t.stcd")
|
.append(") t GROUP BY t.stcd")
|
||||||
.append(") agg ")
|
.append(") agg ")
|
||||||
.append("INNER JOIN SD_WE_B_H section ON agg.stcd = section.STCD ")
|
.append("INNER JOIN SD_WE_B_H sec ON agg.stcd = sec.STCD ")
|
||||||
.append(" AND NVL(section.USFL, 0) = 1 ")
|
.append(" AND NVL(sec.USFL, 0) = 1 ")
|
||||||
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = section.RSTCD ")
|
.append("LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = sec.RSTCD ")
|
||||||
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(eng.IS_DELETED, 0) = 0 ")
|
||||||
.append("WHERE 1 = 1 ");
|
.append("WHERE 1 = 1 ");
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("weFishPointBaseId", baseId);
|
paramMap.put("weFishPointBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.weFishPointBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.weFishPointBaseId} ");
|
||||||
}
|
}
|
||||||
sql.append("ORDER BY section.STCD ASC");
|
sql.append("ORDER BY sec.STCD ASC");
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2669,14 +2669,14 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return switch (field) {
|
return switch (field) {
|
||||||
case "stcd" -> "section.STCD";
|
case "stcd" -> "sec.STCD";
|
||||||
case "lgtd" -> "section.LGTD";
|
case "lgtd" -> "sec.LGTD";
|
||||||
case "stnm", "titleName" -> "section.STNM";
|
case "stnm", "titleName" -> "sec.STNM";
|
||||||
case "ennm" -> "eng.ENNM";
|
case "ennm" -> "eng.ENNM";
|
||||||
case "rvcd" -> "section.RVCD";
|
case "rvcd" -> "sec.RVCD";
|
||||||
case "addvcd" -> "section.ADDVCD";
|
case "addvcd" -> "sec.ADDVCD";
|
||||||
case "baseId" -> "section.BASE_ID";
|
case "baseId" -> "sec.BASE_ID";
|
||||||
case "rstcd", "rstcds" -> "section.RSTCD";
|
case "rstcd", "rstcds" -> "sec.RSTCD";
|
||||||
case "tm" -> "latest.TM";
|
case "tm" -> "latest.TM";
|
||||||
default -> null;
|
default -> null;
|
||||||
};
|
};
|
||||||
@ -2709,13 +2709,13 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return switch (field) {
|
return switch (field) {
|
||||||
case "stcd" -> "section.STCD";
|
case "stcd" -> "sec.STCD";
|
||||||
case "stnm", "titleName" -> "section.STNM";
|
case "stnm", "titleName" -> "sec.STNM";
|
||||||
case "ennm" -> "eng.ENNM";
|
case "ennm" -> "eng.ENNM";
|
||||||
case "tm" -> "latest.TM";
|
case "tm" -> "latest.TM";
|
||||||
case "rvcd" -> "section.RVCD";
|
case "rvcd" -> "sec.RVCD";
|
||||||
case "addvcd" -> "section.ADDVCD";
|
case "addvcd" -> "sec.ADDVCD";
|
||||||
case "baseId" -> "section.BASE_ID";
|
case "baseId" -> "sec.BASE_ID";
|
||||||
case "siteStepSort" -> "siteSort.SORT";
|
case "siteStepSort" -> "siteSort.SORT";
|
||||||
default -> null;
|
default -> null;
|
||||||
};
|
};
|
||||||
@ -3949,21 +3949,21 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
.append("COUNT(DISTINCT we.STCD) AS stcdCount, ")
|
.append("COUNT(DISTINCT we.STCD) AS stcdCount, ")
|
||||||
.append("COUNT(DISTINCT fish.FTP) AS ftpCount, ")
|
.append("COUNT(DISTINCT fish.FTP) AS ftpCount, ")
|
||||||
.append("NVL(SUM(NVL(fish.FCNT, 0)), 0) AS fcntSum ")
|
.append("NVL(SUM(NVL(fish.FCNT, 0)), 0) AS fcntSum ")
|
||||||
.append("FROM SD_WE_B_H section ")
|
.append("FROM SD_WE_B_H sec ")
|
||||||
.append("INNER JOIN SD_WE_R we ON section.STCD = we.STCD ")
|
.append("INNER JOIN SD_WE_R we ON sec.STCD = we.STCD ")
|
||||||
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(we.IS_DELETED, 0) = 0 ")
|
||||||
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
.append(" AND NVL(we.STATUS, 1) = 1 ")
|
||||||
.append("LEFT JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID ")
|
.append("LEFT JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID ")
|
||||||
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
.append(" AND NVL(fish.IS_DELETED, 0) = 0 ")
|
||||||
.append("WHERE NVL(section.USFL, 0) = 1 ");
|
.append("WHERE NVL(sec.USFL, 0) = 1 ");
|
||||||
|
|
||||||
if (StrUtil.isNotBlank(baseId)) {
|
if (StrUtil.isNotBlank(baseId)) {
|
||||||
paramMap.put("weStaticsBaseId", baseId);
|
paramMap.put("weStaticsBaseId", baseId);
|
||||||
sql.append("AND section.BASE_ID = #{map.weStaticsBaseId} ");
|
sql.append("AND sec.BASE_ID = #{map.weStaticsBaseId} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(hbrvcd)) {
|
if (StrUtil.isNotBlank(hbrvcd)) {
|
||||||
paramMap.put("weStaticsHbrvcd", hbrvcd);
|
paramMap.put("weStaticsHbrvcd", hbrvcd);
|
||||||
sql.append("AND section.HBRVCD = #{map.weStaticsHbrvcd} ");
|
sql.append("AND sec.HBRVCD = #{map.weStaticsHbrvcd} ");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(yr)) {
|
if (StrUtil.isNotBlank(yr)) {
|
||||||
paramMap.put("weStaticsYr", yr);
|
paramMap.put("weStaticsYr", yr);
|
||||||
@ -3981,7 +3981,7 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
placeholders.add("#{map." + key + "}");
|
placeholders.add("#{map." + key + "}");
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(placeholders)) {
|
if (CollUtil.isNotEmpty(placeholders)) {
|
||||||
sql.append("AND section.RSTCD IN (").append(String.join(", ", placeholders)).append(") ");
|
sql.append("AND sec.RSTCD IN (").append(String.join(", ", placeholders)).append(") ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
@ -4001,8 +4001,8 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
|
|
||||||
private String buildWeFishTDetailSql() {
|
private String buildWeFishTDetailSql() {
|
||||||
return "SELECT " +
|
return "SELECT " +
|
||||||
"section.STCD AS stcd, " +
|
"sec.STCD AS stcd, " +
|
||||||
"section.STNM AS stnm, " +
|
"sec.STNM AS stnm, " +
|
||||||
"eng.BASE_ID AS baseId, " +
|
"eng.BASE_ID AS baseId, " +
|
||||||
"eng.BASE_NAME AS baseName, " +
|
"eng.BASE_NAME AS baseName, " +
|
||||||
"eng.RVCD AS rvcd, " +
|
"eng.RVCD AS rvcd, " +
|
||||||
@ -4044,9 +4044,9 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
"FROM SD_WE_R we " +
|
"FROM SD_WE_R we " +
|
||||||
"INNER JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID " +
|
"INNER JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID " +
|
||||||
" AND NVL(fish.IS_DELETED, 0) = 0 " +
|
" AND NVL(fish.IS_DELETED, 0) = 0 " +
|
||||||
"INNER JOIN SD_WE_B_H section ON section.STCD = we.STCD " +
|
"INNER JOIN SD_WE_B_H sec ON sec.STCD = we.STCD " +
|
||||||
" AND NVL(section.USFL, 0) = 1 " +
|
" AND NVL(sec.USFL, 0) = 1 " +
|
||||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = section.RSTCD " +
|
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = sec.RSTCD " +
|
||||||
" AND NVL(eng.IS_DELETED, 0) = 0 " +
|
" AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||||
"LEFT JOIN SD_FISHDICTORY_B dict ON dict.ID = fish.FTP " +
|
"LEFT JOIN SD_FISHDICTORY_B dict ON dict.ID = fish.FTP " +
|
||||||
" AND NVL(dict.IS_DELETED, 0) = 0 " +
|
" AND NVL(dict.IS_DELETED, 0) = 0 " +
|
||||||
@ -4056,8 +4056,8 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
|
|
||||||
private String buildWeFishQgcDetailSql() {
|
private String buildWeFishQgcDetailSql() {
|
||||||
return "SELECT " +
|
return "SELECT " +
|
||||||
"section.STCD AS stcd, " +
|
"sec.STCD AS stcd, " +
|
||||||
"section.STNM AS stnm, " +
|
"sec.STNM AS stnm, " +
|
||||||
"eng.BASE_ID AS baseId, " +
|
"eng.BASE_ID AS baseId, " +
|
||||||
"eng.BASE_NAME AS baseName, " +
|
"eng.BASE_NAME AS baseName, " +
|
||||||
"eng.RVCD AS rvcd, " +
|
"eng.RVCD AS rvcd, " +
|
||||||
@ -4099,9 +4099,9 @@ public class WeFishServiceImpl implements WeFishService {
|
|||||||
"FROM SD_WE_R we " +
|
"FROM SD_WE_R we " +
|
||||||
"INNER JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID " +
|
"INNER JOIN SD_WEFISH_R fish ON fish.WER_ID = we.ID " +
|
||||||
" AND NVL(fish.IS_DELETED, 0) = 0 " +
|
" AND NVL(fish.IS_DELETED, 0) = 0 " +
|
||||||
"INNER JOIN SD_WE_B_H section ON section.STCD = we.STCD " +
|
"INNER JOIN SD_WE_B_H sec ON sec.STCD = we.STCD " +
|
||||||
// " AND NVL(section.USFL, 0) = 1 " +
|
// " AND NVL(sec.USFL, 0) = 1 " +
|
||||||
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = section.RSTCD " +
|
"LEFT JOIN SD_ENGINFO_B_H eng ON eng.STCD = sec.RSTCD " +
|
||||||
" AND NVL(eng.IS_DELETED, 0) = 0 " +
|
" AND NVL(eng.IS_DELETED, 0) = 0 " +
|
||||||
"LEFT JOIN SD_FISHDICTORY_B dict ON dict.ID = fish.FTP " +
|
"LEFT JOIN SD_FISHDICTORY_B dict ON dict.ID = fish.FTP " +
|
||||||
// " AND (dict.RVCD = 'ZY' OR dict.RVCD = eng.HBRVCD) " +
|
// " AND (dict.RVCD = 'ZY' OR dict.RVCD = eng.HBRVCD) " +
|
||||||
|
|||||||
@ -6,11 +6,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import com.yfd.platform.common.DataSourceRequest;
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
import com.yfd.platform.common.DataSourceResult;
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
import com.yfd.platform.common.exception.BizException;
|
import com.yfd.platform.common.exception.BizException;
|
||||||
|
import com.yfd.platform.common.utils.UserNameFillHelper;
|
||||||
import com.yfd.platform.config.ResponseResult;
|
import com.yfd.platform.config.ResponseResult;
|
||||||
import com.yfd.platform.qgc_base.service.ISdHbrvDicService;
|
import com.yfd.platform.qgc_base.service.ISdHbrvDicService;
|
||||||
import com.yfd.platform.qgc_env.wt.service.SdWtMonitorService;
|
import com.yfd.platform.qgc_env.wt.service.SdWtMonitorService;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.PowerDto;
|
import com.yfd.platform.qgc_lygk.along.domain.PowerDto;
|
||||||
|
import com.yfd.platform.qgc_lygk.along.domain.SttpDto;
|
||||||
import com.yfd.platform.qgc_lygk.along.service.IMsAlongBService;
|
import com.yfd.platform.qgc_lygk.along.service.IMsAlongBService;
|
||||||
import com.yfd.platform.qgc_sys.mapcfg.service.IMapmoduleBService;
|
import com.yfd.platform.qgc_sys.mapcfg.service.IMapmoduleBService;
|
||||||
import com.yfd.platform.utils.DataSourceRequestUtil;
|
import com.yfd.platform.utils.DataSourceRequestUtil;
|
||||||
@ -41,6 +43,9 @@ public class MsAlongBController {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private ISdHbrvDicService hbrvDicService;
|
private ISdHbrvDicService hbrvDicService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private UserNameFillHelper userNameFillHelper;
|
||||||
/**
|
/**
|
||||||
* 条件过滤数据列表
|
* 条件过滤数据列表
|
||||||
*/
|
*/
|
||||||
@ -48,6 +53,7 @@ public class MsAlongBController {
|
|||||||
@PostMapping("/GetKendoList")
|
@PostMapping("/GetKendoList")
|
||||||
public ResponseResult getKendoList(@RequestBody DataSourceRequest dataSourceRequest) {
|
public ResponseResult getKendoList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
DataSourceResult<MsAlongB> result = msAlongBService.getKendoList(dataSourceRequest);
|
DataSourceResult<MsAlongB> result = msAlongBService.getKendoList(dataSourceRequest);
|
||||||
|
userNameFillHelper.fillUserNames(result.getData());
|
||||||
return ResponseResult.successData(result);
|
return ResponseResult.successData(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,4 +105,11 @@ public class MsAlongBController {
|
|||||||
DataSourceResult<PowerDto> result = msAlongBService.getKendoPage(dataSourceRequest);
|
DataSourceResult<PowerDto> result = msAlongBService.getKendoPage(dataSourceRequest);
|
||||||
return ResponseResult.successData(result);
|
return ResponseResult.successData(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/sttp/GetKendoList")
|
||||||
|
@Operation(summary = "查询站类信息列表(支持模糊搜索和STTP_CODE过滤)")
|
||||||
|
public ResponseResult getSttpList(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceResult<SttpDto> result = msAlongBService.getSttpList(dataSourceRequest);
|
||||||
|
return ResponseResult.successData(result);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
|||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.yfd.platform.annotation.UserIdField;
|
||||||
|
import com.yfd.platform.annotation.UserNameField;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@ -47,10 +49,12 @@ public class MsAlongB implements Serializable {
|
|||||||
|
|
||||||
/** 创建人 */
|
/** 创建人 */
|
||||||
@TableField("RECORD_USER")
|
@TableField("RECORD_USER")
|
||||||
|
@UserIdField
|
||||||
private String recordUser;
|
private String recordUser;
|
||||||
|
|
||||||
/** 创建人名称(非数据库字段) */
|
/** 创建人名称(非数据库字段) */
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
|
@UserNameField
|
||||||
private String recordUserName;
|
private String recordUserName;
|
||||||
|
|
||||||
/** 创建时间 */
|
/** 创建时间 */
|
||||||
|
|||||||
@ -41,7 +41,11 @@ public class MsAlongDetB implements Serializable {
|
|||||||
|
|
||||||
/** 排序序号 */
|
/** 排序序号 */
|
||||||
@TableField("SORT")
|
@TableField("SORT")
|
||||||
private String sort;
|
private Integer sort;
|
||||||
|
|
||||||
|
// /** 排序序号 */
|
||||||
|
// @TableField("SORT")
|
||||||
|
// private String sort;
|
||||||
|
|
||||||
/** 沿程配置表ID */
|
/** 沿程配置表ID */
|
||||||
@TableField("ALONG_ID")
|
@TableField("ALONG_ID")
|
||||||
|
|||||||
@ -0,0 +1,32 @@
|
|||||||
|
package com.yfd.platform.qgc_lygk.along.domain;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 站类信息查询结果 DTO
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SttpDto {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
private String sttpCode;
|
||||||
|
private String sttpName;
|
||||||
|
private String sttpSname;
|
||||||
|
private String description;
|
||||||
|
private Integer enabled;
|
||||||
|
private String parentId;
|
||||||
|
private String fullPath;
|
||||||
|
private Integer treeLevel;
|
||||||
|
private Integer hasChildren;
|
||||||
|
private String introduce;
|
||||||
|
private String logo;
|
||||||
|
private String inffile;
|
||||||
|
private Integer internal;
|
||||||
|
private Integer orderIndex;
|
||||||
|
private String recordUser;
|
||||||
|
private Date recordTime;
|
||||||
|
private String modifyUser;
|
||||||
|
private Date modifyTime;
|
||||||
|
}
|
||||||
@ -5,6 +5,7 @@ import com.yfd.platform.common.DataSourceRequest;
|
|||||||
import com.yfd.platform.common.DataSourceResult;
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.PowerDto;
|
import com.yfd.platform.qgc_lygk.along.domain.PowerDto;
|
||||||
|
import com.yfd.platform.qgc_lygk.along.domain.SttpDto;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -28,6 +29,14 @@ public interface IMsAlongBService extends IService<MsAlongB> {
|
|||||||
|
|
||||||
DataSourceResult<PowerDto> getKendoPage(DataSourceRequest dataSourceRequest);
|
DataSourceResult<PowerDto> getKendoPage(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询站类信息列表(支持模糊搜索和STTP_CODE过滤)
|
||||||
|
*
|
||||||
|
* @param dataSourceRequest 数据源请求
|
||||||
|
* @return 数据源结果
|
||||||
|
*/
|
||||||
|
DataSourceResult<SttpDto> getSttpList(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * 保存或更新沿程配置
|
// * 保存或更新沿程配置
|
||||||
// *
|
// *
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import com.yfd.platform.qgc_base.domain.SdRvcdDic;
|
|||||||
import com.yfd.platform.qgc_base.mapper.SdRvcdDicMapper;
|
import com.yfd.platform.qgc_base.mapper.SdRvcdDicMapper;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
import com.yfd.platform.qgc_lygk.along.domain.MsAlongB;
|
||||||
import com.yfd.platform.qgc_lygk.along.domain.PowerDto;
|
import com.yfd.platform.qgc_lygk.along.domain.PowerDto;
|
||||||
|
import com.yfd.platform.qgc_lygk.along.domain.SttpDto;
|
||||||
import com.yfd.platform.qgc_lygk.along.mapper.MsAlongBMapper;
|
import com.yfd.platform.qgc_lygk.along.mapper.MsAlongBMapper;
|
||||||
import com.yfd.platform.qgc_lygk.along.service.IMsAlongBService;
|
import com.yfd.platform.qgc_lygk.along.service.IMsAlongBService;
|
||||||
import com.yfd.platform.utils.CodeToNameMetadataBo;
|
import com.yfd.platform.utils.CodeToNameMetadataBo;
|
||||||
@ -154,6 +155,127 @@ public class MsAlongBServiceImpl extends ServiceImpl<MsAlongBMapper, MsAlongB> i
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataSourceResult<SttpDto> getSttpList(DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
|
|
||||||
|
StringBuilder sql = new StringBuilder("SELECT * FROM SD_STTP_B WHERE NVL(IS_DELETED, 0) = 0");
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
|
||||||
|
// 解析过滤条件
|
||||||
|
if (dataSourceRequest != null && dataSourceRequest.getFilter() != null) {
|
||||||
|
String filterSql = parseSttpFilter(dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||||
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
|
sql.append(" AND ").append(filterSql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 解析排序
|
||||||
|
if (dataSourceRequest != null && CollUtil.isNotEmpty(dataSourceRequest.getSort())) {
|
||||||
|
List<String> orderList = new ArrayList<>();
|
||||||
|
for (SortDescriptor sort : dataSourceRequest.getSort()) {
|
||||||
|
String field = sort.getField();
|
||||||
|
if (StrUtil.isBlank(field) || !isSafeSttpField(field)) continue;
|
||||||
|
String direction = "asc".equalsIgnoreCase(sort.getDir()) ? "ASC" : "DESC";
|
||||||
|
orderList.add(field + " " + direction);
|
||||||
|
}
|
||||||
|
if (!orderList.isEmpty()) {
|
||||||
|
sql.append(" ORDER BY ").append(String.join(", ", orderList));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sql.append(" ORDER BY ORDER_INDEX ASC, STTP_CODE ASC");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 执行分页查询
|
||||||
|
Page<?> page = loadOptions == null ? null :
|
||||||
|
QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||||
|
List<SttpDto> list = microservicDynamicSQLMapper.pageAllListWithResultType(
|
||||||
|
page, sql.toString(), paramMap, SttpDto.class
|
||||||
|
);
|
||||||
|
|
||||||
|
DataSourceResult<SttpDto> result = new DataSourceResult<>();
|
||||||
|
result.setData(list);
|
||||||
|
result.setTotal(page != null ? page.getTotal() : list.size());
|
||||||
|
result.setAggregates(new HashMap<>());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 递归解析站类过滤条件
|
||||||
|
*/
|
||||||
|
private String parseSttpFilter(FilterDescriptor filter, Map<String, Object> paramMap, int[] paramIndex) {
|
||||||
|
if (filter == null) return "";
|
||||||
|
|
||||||
|
List<FilterDescriptor> childFilters = filter.getFilters();
|
||||||
|
if (CollUtil.isNotEmpty(childFilters)) {
|
||||||
|
List<String> childConditions = new ArrayList<>();
|
||||||
|
for (FilterDescriptor child : childFilters) {
|
||||||
|
String childSql = parseSttpFilter(child, paramMap, paramIndex);
|
||||||
|
if (StrUtil.isNotBlank(childSql)) {
|
||||||
|
childConditions.add(childSql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (childConditions.isEmpty()) return "";
|
||||||
|
String logic = StrUtil.isNotBlank(filter.getLogic()) ? filter.getLogic() : "and";
|
||||||
|
String connector = "and".equalsIgnoreCase(logic) ? " AND " : " OR ";
|
||||||
|
return "(" + String.join(connector, childConditions) + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
String field = filter.getField();
|
||||||
|
Object value = filter.getValue();
|
||||||
|
String operator = filter.getOperator();
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(field)) return "";
|
||||||
|
if (!isSafeSttpField(field)) return "";
|
||||||
|
|
||||||
|
String paramKey = "stp" + paramIndex[0]++;
|
||||||
|
paramMap.put(paramKey, value);
|
||||||
|
|
||||||
|
if ("contains".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " LIKE '%' || #{map." + paramKey + "} || '%'";
|
||||||
|
} else if ("startswith".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " LIKE #{map." + paramKey + "} || '%'";
|
||||||
|
} else if ("endswith".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " LIKE '%' || #{map." + paramKey + "}";
|
||||||
|
} else if ("neq".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " != #{map." + paramKey + "}";
|
||||||
|
} else if ("gt".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " > #{map." + paramKey + "}";
|
||||||
|
} else if ("gte".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " >= #{map." + paramKey + "}";
|
||||||
|
} else if ("lt".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " < #{map." + paramKey + "}";
|
||||||
|
} else if ("lte".equalsIgnoreCase(operator)) {
|
||||||
|
return field + " <= #{map." + paramKey + "}";
|
||||||
|
} else if ("isnull".equalsIgnoreCase(operator)) {
|
||||||
|
paramMap.remove(paramKey);
|
||||||
|
return field + " IS NULL";
|
||||||
|
} else if ("isnotnull".equalsIgnoreCase(operator)) {
|
||||||
|
paramMap.remove(paramKey);
|
||||||
|
return field + " IS NOT NULL";
|
||||||
|
} else if (value == null) {
|
||||||
|
paramMap.remove(paramKey);
|
||||||
|
return "";
|
||||||
|
} else {
|
||||||
|
// 默认 eq
|
||||||
|
return field + " = #{map." + paramKey + "}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 站类表安全字段白名单
|
||||||
|
*/
|
||||||
|
private boolean isSafeSttpField(String field) {
|
||||||
|
if (StrUtil.isBlank(field)) return false;
|
||||||
|
Set<String> validFields = new HashSet<>(Arrays.asList(
|
||||||
|
"ID", "STTP_CODE", "STTP_NAME", "STTP_SNAME", "DESCRIPTION",
|
||||||
|
"ENABLED", "PARENT_ID", "FULL_PATH", "TREE_LEVEL", "HAS_CHILDREN",
|
||||||
|
"INTRODUCE", "LOGO", "INFFILE", "INTERNAL", "ORDER_INDEX",
|
||||||
|
"IS_DELETED"
|
||||||
|
));
|
||||||
|
return validFields.contains(field.toUpperCase());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 递归解析 FilterDescriptor(完美适配你的内部类结构)
|
* 递归解析 FilterDescriptor(完美适配你的内部类结构)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -81,7 +81,7 @@ public class MsAlongDetBServiceImpl extends ServiceImpl<MsAlongDetBMapper, MsAlo
|
|||||||
List<PowerDto> powerDtos = msAlongDetBMapper.getWbsbList(stcd);
|
List<PowerDto> powerDtos = msAlongDetBMapper.getWbsbList(stcd);
|
||||||
if (CollUtil.isNotEmpty(powerDtos)) {
|
if (CollUtil.isNotEmpty(powerDtos)) {
|
||||||
// 取第一个结果(通常一个 STCD 只对应一条记录)
|
// 取第一个结果(通常一个 STCD 只对应一条记录)
|
||||||
String stnm = powerDtos.get(0).getStnm();
|
String stnm = powerDtos.getFirst().getStnm();
|
||||||
record.setStnm(stnm);
|
record.setStnm(stnm);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -154,7 +154,7 @@ public class MsAlongDetBServiceImpl extends ServiceImpl<MsAlongDetBMapper, MsAlo
|
|||||||
entity.setRecordUser(SecurityUtils.getUserId()); // 创建人
|
entity.setRecordUser(SecurityUtils.getUserId()); // 创建人
|
||||||
//entity.setRecordUser(SecurityUtils.getCurrentUsername()); // 创建人
|
//entity.setRecordUser(SecurityUtils.getCurrentUsername()); // 创建人
|
||||||
if (node.getSort() != null){
|
if (node.getSort() != null){
|
||||||
entity.setSort(String.valueOf(node.getSort())); // 若传了排序
|
entity.setSort(node.getSort()); // 若传了排序
|
||||||
}
|
}
|
||||||
if (StrUtil.isBlank(entity.getId())) {
|
if (StrUtil.isBlank(entity.getId())) {
|
||||||
entity.setId(null);
|
entity.setId(null);
|
||||||
|
|||||||
@ -0,0 +1,119 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
|
import com.yfd.platform.common.exception.BizException;
|
||||||
|
import com.yfd.platform.config.ResponseResult;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamMEntity;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.dto.MsThreedRoamBVO;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.dto.MsThreedRoamMVO;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.service.IMsThreedRoamMService;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据主表控制器
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/threedroamb")
|
||||||
|
@Tag(name = "三维漫游数据主表控制器")
|
||||||
|
public class MsThreedRoamMController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IMsThreedRoamMService msThreedRoamMService;
|
||||||
|
|
||||||
|
@PostMapping("/GetKendoListCust")
|
||||||
|
@Operation(summary = "条件过滤数据列表")
|
||||||
|
public ResponseResult getKendoListCust(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceResult<MsThreedRoamMEntity> result = msThreedRoamMService.getKendoListCustReturn(dataSourceRequest);
|
||||||
|
return ResponseResult.successData(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/save")
|
||||||
|
@Operation(summary = "保存三维漫游数据")
|
||||||
|
public ResponseResult save(@RequestBody MsThreedRoamMVO vo) {
|
||||||
|
if (msThreedRoamMService.save(vo)) {
|
||||||
|
return ResponseResult.success();
|
||||||
|
} else {
|
||||||
|
return ResponseResult.error("三维漫游数据保存失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/getThreedRoamDetails")
|
||||||
|
@Operation(summary = "获取三维漫游数据详情")
|
||||||
|
public ResponseResult getThreedRoamDetails(@RequestParam("id") String id) {
|
||||||
|
return ResponseResult.successData(msThreedRoamMService.getThreedRoamDetails(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/delete")
|
||||||
|
@Operation(summary = "删除三维漫游数据")
|
||||||
|
public ResponseResult delete(@RequestParam("id") String id) {
|
||||||
|
if (msThreedRoamMService.delete(id)) {
|
||||||
|
return ResponseResult.success();
|
||||||
|
} else {
|
||||||
|
return ResponseResult.error("三维漫游数据删除失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/getThreedRoamData")
|
||||||
|
@Operation(summary = "三维漫游数据")
|
||||||
|
public MsThreedRoamBVO getThreedRoamData(@RequestBody DataSourceRequest dataSourceRequest) {
|
||||||
|
return msThreedRoamMService.getThreedRoamData(dataSourceRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/export")
|
||||||
|
@Operation(summary = "导出三维漫游数据模板")
|
||||||
|
public void export(HttpServletResponse response) {
|
||||||
|
try {
|
||||||
|
String fileName = "三维漫游数据模板";
|
||||||
|
|
||||||
|
XSSFWorkbook workBook = new XSSFWorkbook();
|
||||||
|
XSSFSheet sheet = workBook.createSheet();
|
||||||
|
workBook.setSheetName(0, "三维漫游数据模板");
|
||||||
|
|
||||||
|
XSSFRow row = sheet.createRow(0);
|
||||||
|
row.createCell(0).setCellValue("飞行路径Code");
|
||||||
|
row.createCell(1).setCellValue("飞行路径名称");
|
||||||
|
row.createCell(2).setCellValue("经度\u00B0(0-180\u00B0)");
|
||||||
|
row.createCell(3).setCellValue("纬度\u00B0(0-90\u00B0)");
|
||||||
|
row.createCell(4).setCellValue("高程(m)(小于10000m)");
|
||||||
|
row.createCell(5).setCellValue("时间(s)(小于100s)");
|
||||||
|
row.createCell(6).setCellValue("序号");
|
||||||
|
row.createCell(7).setCellValue("里程碑节点编码(电站编码)");
|
||||||
|
row.createCell(8).setCellValue("里程碑节点名称(电站名称)");
|
||||||
|
|
||||||
|
response.setContentType("application/vnd.ms-excel;charset=utf-8");
|
||||||
|
response.setHeader("Content-Disposition", "attachment;filename="
|
||||||
|
+ URLEncoder.encode(fileName, "utf-8") + ".xlsx");
|
||||||
|
OutputStream outputStream = response.getOutputStream();
|
||||||
|
workBook.write(outputStream);
|
||||||
|
outputStream.flush();
|
||||||
|
outputStream.close();
|
||||||
|
} catch (Exception e) {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/import")
|
||||||
|
@Operation(summary = "导入三维漫游数据")
|
||||||
|
public ResponseResult importExcel(MultipartFile file) {
|
||||||
|
if (msThreedRoamMService.importData(file)) {
|
||||||
|
return ResponseResult.success();
|
||||||
|
} else {
|
||||||
|
return ResponseResult.error("导入三维漫游数据失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,78 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据表实体(子表)
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("MS_THREEDROAM_B")
|
||||||
|
public class MsThreedRoamEntity implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(type = IdType.ASSIGN_UUID)
|
||||||
|
@TableField("ID")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@TableField("ROAM_ID")
|
||||||
|
private String roamId;
|
||||||
|
|
||||||
|
@TableField("CODE")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@TableField("NAME")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@TableField("LGTD")
|
||||||
|
private BigDecimal lgtd;
|
||||||
|
|
||||||
|
@TableField("LTTD")
|
||||||
|
private BigDecimal lttd;
|
||||||
|
|
||||||
|
@TableField("DTMEL")
|
||||||
|
private BigDecimal dtmel;
|
||||||
|
|
||||||
|
@TableField("TIME")
|
||||||
|
private BigDecimal time;
|
||||||
|
|
||||||
|
@TableField("ORDER_INDEX")
|
||||||
|
private Integer orderIndex;
|
||||||
|
|
||||||
|
@TableField("STCD")
|
||||||
|
private String stcd;
|
||||||
|
|
||||||
|
@TableField("STNM")
|
||||||
|
private String stnm;
|
||||||
|
|
||||||
|
@TableField("RECORD_USER")
|
||||||
|
private String recordUser;
|
||||||
|
|
||||||
|
@TableField("RECORD_TIME")
|
||||||
|
private Date recordTime;
|
||||||
|
|
||||||
|
@TableField("MODIFY_USER")
|
||||||
|
private String modifyUser;
|
||||||
|
|
||||||
|
@TableField("MODIFY_TIME")
|
||||||
|
private Date modifyTime;
|
||||||
|
|
||||||
|
@TableField("IS_DELETED")
|
||||||
|
private Integer isDeleted;
|
||||||
|
|
||||||
|
@TableField("DELETE_USER")
|
||||||
|
private String deleteUser;
|
||||||
|
|
||||||
|
@TableField("DELETE_TIME")
|
||||||
|
private Date deleteTime;
|
||||||
|
}
|
||||||
@ -0,0 +1,71 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据主表实体
|
||||||
|
*
|
||||||
|
* @author migration
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("MS_THREEDROAMM_B")
|
||||||
|
public class MsThreedRoamMEntity implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableId(type = IdType.ASSIGN_UUID)
|
||||||
|
@TableField("ID")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@TableField("CODE")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@TableField("NAME")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@TableField("RVCD")
|
||||||
|
private String rvcd;
|
||||||
|
|
||||||
|
@TableField("REMARK")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@TableField(value = "RECORD_USER",fill = FieldFill.INSERT)
|
||||||
|
private String recordUser;
|
||||||
|
|
||||||
|
@TableField(value = "RECORD_TIME",fill = FieldFill.INSERT)
|
||||||
|
private Date recordTime;
|
||||||
|
|
||||||
|
@TableField(value = "MODIFY_USER",fill = FieldFill.INSERT_UPDATE)
|
||||||
|
private String modifyUser;
|
||||||
|
|
||||||
|
@TableField(value = "MODIFY_TIME",fill = FieldFill.INSERT_UPDATE)
|
||||||
|
private Date modifyTime;
|
||||||
|
|
||||||
|
@TableField("IS_DELETED")
|
||||||
|
private Integer isDeleted;
|
||||||
|
|
||||||
|
@TableField("DELETE_USER")
|
||||||
|
private String deleteUser;
|
||||||
|
|
||||||
|
@TableField("DELETE_TIME")
|
||||||
|
private Date deleteTime;
|
||||||
|
|
||||||
|
@TableField("BASE_ID")
|
||||||
|
private String baseId;
|
||||||
|
|
||||||
|
/** 河段名称(非表字段,查询时填充) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String rvcdName;
|
||||||
|
|
||||||
|
/** 基地编码(非表字段,查询时填充) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String bscd;
|
||||||
|
|
||||||
|
/** 基地名称(非表字段,查询时填充) */
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String bsnm;
|
||||||
|
}
|
||||||
@ -0,0 +1,27 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.dto;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游飞行路径数据查询结果 VO
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "三维漫游飞行路径数据")
|
||||||
|
public class MsThreedRoamBVO {
|
||||||
|
|
||||||
|
@Schema(description = "数据集合 (坐标序列: totalTime, lgtd, lttd, dtmel, ...)")
|
||||||
|
private List<Object> list;
|
||||||
|
|
||||||
|
@Schema(description = "里程碑集合")
|
||||||
|
private List<String[]> milestoneList;
|
||||||
|
|
||||||
|
@Schema(description = "流域/编码")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@Schema(description = "总时间")
|
||||||
|
private BigDecimal totalTime;
|
||||||
|
}
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.dto;
|
||||||
|
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamEntity;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据保存/查询 VO
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "三维漫游数据")
|
||||||
|
public class MsThreedRoamMVO {
|
||||||
|
|
||||||
|
@Schema(description = "主键")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "编码")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@Schema(description = "名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@Schema(description = "河段")
|
||||||
|
private String rvcd;
|
||||||
|
|
||||||
|
@Schema(description = "河段")
|
||||||
|
private String baseId;
|
||||||
|
|
||||||
|
@Schema(description = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@Schema(description = "漫游数据集合")
|
||||||
|
private List<MsThreedRoamEntity> list;
|
||||||
|
}
|
||||||
@ -0,0 +1,50 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.dto;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游列表 VO
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Schema(description = "三维漫游列表")
|
||||||
|
public class MsThreedRoamVO {
|
||||||
|
|
||||||
|
@Schema(description = "主键")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "编码")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@Schema(description = "名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@Schema(description = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@Schema(description = "创建人")
|
||||||
|
private String recordUser;
|
||||||
|
|
||||||
|
@Schema(description = "更新人")
|
||||||
|
private String modifyUser;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间")
|
||||||
|
private Date recordTime;
|
||||||
|
|
||||||
|
@Schema(description = "更新时间")
|
||||||
|
private Date modifyTime;
|
||||||
|
|
||||||
|
@Schema(description = "河段编码")
|
||||||
|
private String rvcd;
|
||||||
|
|
||||||
|
@Schema(description = "河段名称")
|
||||||
|
private String rvcdName;
|
||||||
|
|
||||||
|
@Schema(description = "基地编码")
|
||||||
|
private String bscd;
|
||||||
|
|
||||||
|
@Schema(description = "基地名称")
|
||||||
|
private String bsnm;
|
||||||
|
}
|
||||||
@ -0,0 +1,12 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamMEntity;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据主表 Mapper
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface MsThreedRoamMMapper extends BaseMapper<MsThreedRoamMEntity> {
|
||||||
|
}
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamEntity;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据子表 Mapper
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface MsThreedRoamMapper extends BaseMapper<MsThreedRoamEntity> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量插入漫游详细数据
|
||||||
|
*/
|
||||||
|
int batchInsertList(@Param("list") List<MsThreedRoamEntity> list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据漫游ID删除详细数据
|
||||||
|
*/
|
||||||
|
void deleteTheedRoam(@Param("roamId") String roamId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询电站编码和名称(校验里程碑节点是否存在)
|
||||||
|
*/
|
||||||
|
MsThreedRoamEntity selectStcd(@Param("stcd") String stcd);
|
||||||
|
}
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.service;
|
||||||
|
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamMEntity;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.dto.MsThreedRoamBVO;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.dto.MsThreedRoamMVO;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据主表 Service 接口
|
||||||
|
*/
|
||||||
|
public interface IMsThreedRoamMService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条件过滤数据列表(GetKendoListCust)
|
||||||
|
*/
|
||||||
|
DataSourceResult<MsThreedRoamMEntity> getKendoListCustReturn(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存三维漫游数据
|
||||||
|
*/
|
||||||
|
Boolean save(MsThreedRoamMVO vo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取三维漫游数据详情
|
||||||
|
*/
|
||||||
|
MsThreedRoamMVO getThreedRoamDetails(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除三维漫游数据
|
||||||
|
*/
|
||||||
|
Boolean delete(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取三维漫游飞行路径数据
|
||||||
|
*/
|
||||||
|
MsThreedRoamBVO getThreedRoamData(DataSourceRequest dataSourceRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导入三维漫游数据
|
||||||
|
*/
|
||||||
|
Boolean importData(MultipartFile file);
|
||||||
|
}
|
||||||
@ -0,0 +1,418 @@
|
|||||||
|
package com.yfd.platform.qgc_sys.threedRoam.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.yfd.platform.common.DataSourceLoadOptionsBase;
|
||||||
|
import com.yfd.platform.common.DataSourceRequest;
|
||||||
|
import com.yfd.platform.common.DataSourceResult;
|
||||||
|
import com.yfd.platform.common.MicroservicDynamicSQLMapper;
|
||||||
|
import com.yfd.platform.common.exception.BizException;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamEntity;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamMEntity;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.dto.MsThreedRoamBVO;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.dto.MsThreedRoamMVO;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.mapper.MsThreedRoamMMapper;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.mapper.MsThreedRoamMapper;
|
||||||
|
import com.yfd.platform.qgc_sys.threedRoam.service.IMsThreedRoamMService;
|
||||||
|
import com.yfd.platform.utils.QgcQueryWrapperUtil;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 三维漫游数据主表 Service 实现类
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class MsThreedRoamMServiceImpl extends ServiceImpl<MsThreedRoamMMapper, MsThreedRoamMEntity> implements IMsThreedRoamMService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MicroservicDynamicSQLMapper microservicDynamicSQLMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MsThreedRoamMapper msThreedRoamMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MsThreedRoamMMapper msThreedRoamMMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataSourceResult<MsThreedRoamMEntity> getKendoListCustReturn(DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest == null ? null : dataSourceRequest.toDevRequest();
|
||||||
|
|
||||||
|
StringBuilder sql = new StringBuilder();
|
||||||
|
sql.append("SELECT a.ID, a.CODE, a.NAME, a.RVCD, b.HBRVNM AS rvcdName, a.REMARK, ")
|
||||||
|
.append("a.RECORD_USER, a.RECORD_TIME, a.MODIFY_USER, a.MODIFY_TIME, ")
|
||||||
|
.append("c.BASEID AS bscd, c.BASENAME AS bsnm ")
|
||||||
|
.append("FROM MS_THREEDROAMM_B a ")
|
||||||
|
.append("LEFT JOIN SD_HBRV_DIC b ON a.RVCD = b.HBRVCD AND b.IS_DELETED = 0 ")
|
||||||
|
.append("LEFT JOIN SD_HYDROBASE c ON b.BASEID = c.BASEID AND c.IS_DELETED = 0 ")
|
||||||
|
.append("WHERE a.IS_DELETED = 0");
|
||||||
|
|
||||||
|
Map<String, Object> paramMap = new HashMap<>();
|
||||||
|
String filterSql = buildFilterSql(dataSourceRequest == null ? null : dataSourceRequest.getFilter(), paramMap, new int[]{0});
|
||||||
|
if (StrUtil.isNotBlank(filterSql)) {
|
||||||
|
sql.append(" AND ").append(filterSql);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
sql.append(" ORDER BY a.CODE ASC");
|
||||||
|
|
||||||
|
Page<?> page = loadOptions == null ? null
|
||||||
|
: QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||||
|
List<MsThreedRoamMEntity> list = microservicDynamicSQLMapper.pageAllListWithResultType(
|
||||||
|
page, sql.toString(), paramMap, MsThreedRoamMEntity.class
|
||||||
|
);
|
||||||
|
|
||||||
|
DataSourceResult<MsThreedRoamMEntity> result = new DataSourceResult<>();
|
||||||
|
result.setData(list);
|
||||||
|
result.setTotal(page == null ? list.size() : page.getTotal());
|
||||||
|
result.setAggregates(new HashMap<>());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 递归构建过滤 SQL
|
||||||
|
*/
|
||||||
|
private String buildFilterSql(com.yfd.platform.common.DataSourceRequest.FilterDescriptor filter,
|
||||||
|
Map<String, Object> paramMap, int[] indexHolder) {
|
||||||
|
if (filter == null) return "";
|
||||||
|
|
||||||
|
List<com.yfd.platform.common.DataSourceRequest.FilterDescriptor> childFilters = filter.getFilters();
|
||||||
|
if (CollUtil.isNotEmpty(childFilters)) {
|
||||||
|
List<String> childConditions = new ArrayList<>();
|
||||||
|
for (com.yfd.platform.common.DataSourceRequest.FilterDescriptor child : childFilters) {
|
||||||
|
String childSql = buildFilterSql(child, paramMap, indexHolder);
|
||||||
|
if (StrUtil.isNotBlank(childSql)) {
|
||||||
|
childConditions.add(childSql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (childConditions.isEmpty()) return "";
|
||||||
|
String logic = StrUtil.isNotBlank(filter.getLogic()) ? filter.getLogic() : "and";
|
||||||
|
String connector = "and".equalsIgnoreCase(logic) ? " AND " : " OR ";
|
||||||
|
return "(" + String.join(connector, childConditions) + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
String field = filter.getField();
|
||||||
|
Object value = filter.getValue();
|
||||||
|
String operator = filter.getOperator();
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(field)) return "";
|
||||||
|
|
||||||
|
String column = mapToListColumn(field);
|
||||||
|
if (StrUtil.isBlank(column)) return "";
|
||||||
|
|
||||||
|
if ("isnull".equalsIgnoreCase(operator)) return column + " IS NULL";
|
||||||
|
if ("isnotnull".equalsIgnoreCase(operator)) return column + " IS NOT NULL";
|
||||||
|
if (value == null) return "";
|
||||||
|
|
||||||
|
String paramKey = "t" + indexHolder[0]++;
|
||||||
|
paramMap.put(paramKey, value);
|
||||||
|
|
||||||
|
if ("eq".equalsIgnoreCase(operator)) {
|
||||||
|
return column + " = #{map." + paramKey + "}";
|
||||||
|
} else if ("neq".equalsIgnoreCase(operator)) {
|
||||||
|
return column + " != #{map." + paramKey + "}";
|
||||||
|
} else if ("contains".equalsIgnoreCase(operator)) {
|
||||||
|
return column + " LIKE '%' || #{map." + paramKey + "} || '%'";
|
||||||
|
} else if ("startswith".equalsIgnoreCase(operator)) {
|
||||||
|
return column + " LIKE #{map." + paramKey + "} || '%'";
|
||||||
|
} else if ("endswith".equalsIgnoreCase(operator)) {
|
||||||
|
return column + " LIKE '%' || #{map." + paramKey + "}";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
private String mapToListColumn(String field) {
|
||||||
|
if (StrUtil.isBlank(field)) return null;
|
||||||
|
return switch (field) {
|
||||||
|
case "code" -> "a.CODE";
|
||||||
|
case "name" -> "a.NAME";
|
||||||
|
case "rvcd" -> "a.RVCD";
|
||||||
|
case "remark" -> "a.REMARK";
|
||||||
|
default -> null;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean save(MsThreedRoamMVO vo) {
|
||||||
|
MsThreedRoamMEntity entity = new MsThreedRoamMEntity();
|
||||||
|
BeanUtils.copyProperties(vo, entity);
|
||||||
|
|
||||||
|
// 校验编码是否存在
|
||||||
|
if (!checkCodeExist(entity)) {
|
||||||
|
throw new BizException("该编码已存在");
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean result;
|
||||||
|
if (StrUtil.isNotBlank(entity.getId())) {
|
||||||
|
result = this.updateById(entity);
|
||||||
|
} else {
|
||||||
|
result = this.save(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result && CollUtil.isNotEmpty(vo.getList())) {
|
||||||
|
// 删除旧数据
|
||||||
|
msThreedRoamMapper.deleteTheedRoam(entity.getId());
|
||||||
|
|
||||||
|
// 批量插入新数据
|
||||||
|
List<MsThreedRoamEntity> batchList = new ArrayList<>();
|
||||||
|
List<MsThreedRoamEntity> detailList = vo.getList();
|
||||||
|
for (int i = 0; i < detailList.size(); i++) {
|
||||||
|
MsThreedRoamEntity detail = detailList.get(i);
|
||||||
|
if (StrUtil.isBlank(detail.getStcd())) {
|
||||||
|
detail.setStcd("");
|
||||||
|
}
|
||||||
|
if (StrUtil.isBlank(detail.getStnm())) {
|
||||||
|
detail.setStnm("");
|
||||||
|
}
|
||||||
|
detail.setRoamId(entity.getId());
|
||||||
|
detail.setCode(vo.getCode());
|
||||||
|
detail.setName(vo.getName());
|
||||||
|
batchList.add(detail);
|
||||||
|
|
||||||
|
if (batchList.size() == 2000 || i == detailList.size() - 1) {
|
||||||
|
int fruit = msThreedRoamMapper.batchInsertList(batchList);
|
||||||
|
if (fruit < 1) {
|
||||||
|
throw new BizException("保存三维漫游数据失败");
|
||||||
|
}
|
||||||
|
batchList = new ArrayList<>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验编码是否存在(修改时排除自身)
|
||||||
|
*/
|
||||||
|
private boolean checkCodeExist(MsThreedRoamMEntity entity) {
|
||||||
|
QueryWrapper<MsThreedRoamMEntity> wrapper = new QueryWrapper<>();
|
||||||
|
wrapper.eq("CODE", entity.getCode());
|
||||||
|
MsThreedRoamMEntity exist = msThreedRoamMMapper.selectOne(wrapper);
|
||||||
|
if (exist != null && !exist.getId().equals(entity.getId())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MsThreedRoamMVO getThreedRoamDetails(String id) {
|
||||||
|
MsThreedRoamMVO vo = new MsThreedRoamMVO();
|
||||||
|
MsThreedRoamMEntity entity = msThreedRoamMMapper.selectById(id);
|
||||||
|
if (entity != null) {
|
||||||
|
BeanUtils.copyProperties(entity, vo);
|
||||||
|
|
||||||
|
QueryWrapper<MsThreedRoamEntity> wrapper = new QueryWrapper<>();
|
||||||
|
wrapper.eq("ROAM_ID", id);
|
||||||
|
wrapper.orderByAsc("ORDER_INDEX");
|
||||||
|
List<MsThreedRoamEntity> list = msThreedRoamMapper.selectList(wrapper);
|
||||||
|
vo.setList(list);
|
||||||
|
}
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean delete(String id) {
|
||||||
|
// 删除子表数据
|
||||||
|
QueryWrapper<MsThreedRoamEntity> wrapper = new QueryWrapper<>();
|
||||||
|
wrapper.eq("ROAM_ID", id);
|
||||||
|
List<MsThreedRoamEntity> list = msThreedRoamMapper.selectList(wrapper);
|
||||||
|
if (CollUtil.isNotEmpty(list)) {
|
||||||
|
msThreedRoamMapper.delete(wrapper);
|
||||||
|
}
|
||||||
|
// 删除主表数据
|
||||||
|
int result = msThreedRoamMMapper.deleteById(id);
|
||||||
|
return result > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MsThreedRoamBVO getThreedRoamData(DataSourceRequest dataSourceRequest) {
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||||
|
String code = QgcQueryWrapperUtil.getFilterFieldValue(loadOptions, "code");
|
||||||
|
|
||||||
|
MsThreedRoamMEntity entity = msThreedRoamMMapper.selectOne(
|
||||||
|
new QueryWrapper<MsThreedRoamMEntity>().eq("CODE", code));
|
||||||
|
if (entity == null) {
|
||||||
|
throw new BizException("该流域没有三维漫游数据");
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryWrapper<MsThreedRoamEntity> wrapper = new QueryWrapper<>();
|
||||||
|
wrapper.eq("ROAM_ID", entity.getId());
|
||||||
|
wrapper.orderByAsc("ORDER_INDEX");
|
||||||
|
List<MsThreedRoamEntity> threedRoamList = msThreedRoamMapper.selectList(wrapper);
|
||||||
|
|
||||||
|
BigDecimal totalTime = BigDecimal.ZERO;
|
||||||
|
List<Object> lists = new ArrayList<>();
|
||||||
|
String baseCode = "";
|
||||||
|
List<String[]> milestoneList = new ArrayList<>();
|
||||||
|
List<String> stcdList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (MsThreedRoamEntity detail : threedRoamList) {
|
||||||
|
totalTime = totalTime.add(detail.getTime().multiply(new BigDecimal("0.2")));
|
||||||
|
lists.add(totalTime);
|
||||||
|
lists.add(detail.getLgtd());
|
||||||
|
lists.add(detail.getLttd());
|
||||||
|
lists.add(detail.getDtmel());
|
||||||
|
baseCode = detail.getCode();
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(detail.getStcd()) && !stcdList.contains(detail.getStnm())) {
|
||||||
|
stcdList.add(detail.getStnm());
|
||||||
|
milestoneList.add(new String[]{detail.getStnm(), totalTime.toString()});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MsThreedRoamBVO vo = new MsThreedRoamBVO();
|
||||||
|
vo.setList(lists);
|
||||||
|
vo.setTotalTime(totalTime);
|
||||||
|
vo.setCode(baseCode);
|
||||||
|
vo.setMilestoneList(milestoneList);
|
||||||
|
return vo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean importData(MultipartFile file) {
|
||||||
|
if (file == null) {
|
||||||
|
throw new BizException("请上传文件");
|
||||||
|
}
|
||||||
|
|
||||||
|
List<MsThreedRoamEntity> list = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream());
|
||||||
|
int sheets = workbook.getNumberOfSheets();
|
||||||
|
for (int i = 0; i < sheets; i++) {
|
||||||
|
XSSFSheet sheet = workbook.getSheetAt(i);
|
||||||
|
int rows = sheet.getPhysicalNumberOfRows();
|
||||||
|
for (int j = 1; j < rows; j++) {
|
||||||
|
MsThreedRoamEntity detail = new MsThreedRoamEntity();
|
||||||
|
XSSFRow row = sheet.getRow(j);
|
||||||
|
|
||||||
|
detail.setCode(row.getCell(0).toString());
|
||||||
|
detail.setName(row.getCell(1).toString());
|
||||||
|
|
||||||
|
double lgtd = Double.parseDouble(row.getCell(2).toString());
|
||||||
|
if (lgtd > 180 || lgtd < 0) {
|
||||||
|
throw new BizException("经度必须在0-180\u00B0之间");
|
||||||
|
}
|
||||||
|
detail.setLgtd(new BigDecimal(row.getCell(2).toString()));
|
||||||
|
|
||||||
|
double lttd = Double.parseDouble(row.getCell(3).toString());
|
||||||
|
if (lttd > 90 || lttd < 0) {
|
||||||
|
throw new BizException("纬度必须在0-90\u00B0之间");
|
||||||
|
}
|
||||||
|
detail.setLttd(new BigDecimal(row.getCell(3).toString()));
|
||||||
|
|
||||||
|
double dtmel = Double.parseDouble(row.getCell(4).toString());
|
||||||
|
if (dtmel >= 10000 || dtmel < 0) {
|
||||||
|
throw new BizException("高程小于10000米");
|
||||||
|
}
|
||||||
|
detail.setDtmel(new BigDecimal(row.getCell(4).toString()).setScale(3, BigDecimal.ROUND_HALF_UP));
|
||||||
|
|
||||||
|
double time = Double.parseDouble(row.getCell(5).toString());
|
||||||
|
if (time >= 100 || time < 0) {
|
||||||
|
throw new BizException("时间小于100秒");
|
||||||
|
}
|
||||||
|
detail.setTime(new BigDecimal(row.getCell(5).toString()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
||||||
|
|
||||||
|
int px = (int) Double.parseDouble(row.getCell(6).toString());
|
||||||
|
detail.setOrderIndex(px);
|
||||||
|
|
||||||
|
if (row.getCell(7) != null && StrUtil.isNotBlank(row.getCell(7).toString())) {
|
||||||
|
detail.setStcd(row.getCell(7).toString());
|
||||||
|
} else {
|
||||||
|
detail.setStcd("");
|
||||||
|
}
|
||||||
|
if (row.getCell(8) != null && StrUtil.isNotBlank(row.getCell(8).toString())) {
|
||||||
|
detail.setStnm(row.getCell(8).toString());
|
||||||
|
} else {
|
||||||
|
detail.setStnm("");
|
||||||
|
}
|
||||||
|
|
||||||
|
list.add(detail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new BizException("导入文档解析错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
return saveImportData(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存导入数据
|
||||||
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public Boolean saveImportData(List<MsThreedRoamEntity> list) {
|
||||||
|
Map<String, List<MsThreedRoamEntity>> collect = list.stream()
|
||||||
|
.collect(Collectors.groupingBy(MsThreedRoamEntity::getCode));
|
||||||
|
|
||||||
|
collect.forEach((code, roamList) -> {
|
||||||
|
MsThreedRoamMEntity entity = msThreedRoamMMapper.selectOne(
|
||||||
|
new QueryWrapper<MsThreedRoamMEntity>().eq("CODE", code));
|
||||||
|
if (entity == null) {
|
||||||
|
entity = new MsThreedRoamMEntity();
|
||||||
|
entity.setCode(code);
|
||||||
|
}
|
||||||
|
entity.setName(roamList.get(0).getName());
|
||||||
|
|
||||||
|
boolean result;
|
||||||
|
if (StrUtil.isNotBlank(entity.getId())) {
|
||||||
|
result = this.updateById(entity);
|
||||||
|
} else {
|
||||||
|
result = this.save(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (result) {
|
||||||
|
msThreedRoamMapper.deleteTheedRoam(entity.getId());
|
||||||
|
|
||||||
|
List<MsThreedRoamEntity> batchList = new ArrayList<>();
|
||||||
|
List<String> stcdExistList = new ArrayList<>();
|
||||||
|
List<String> newStcdList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (int i = 0; i < roamList.size(); i++) {
|
||||||
|
MsThreedRoamEntity detail = roamList.get(i);
|
||||||
|
detail.setRoamId(entity.getId());
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(detail.getStcd())) {
|
||||||
|
if (!stcdExistList.contains(detail.getStcd()) && !newStcdList.contains(detail.getStcd())) {
|
||||||
|
MsThreedRoamEntity stcdEntity = msThreedRoamMapper.selectStcd(detail.getStcd());
|
||||||
|
if (stcdEntity != null) {
|
||||||
|
stcdExistList.add(detail.getStcd());
|
||||||
|
} else {
|
||||||
|
newStcdList.add(detail.getStcd());
|
||||||
|
detail.setStcd("");
|
||||||
|
detail.setStnm("");
|
||||||
|
}
|
||||||
|
} else if (newStcdList.contains(detail.getStcd())) {
|
||||||
|
detail.setStcd("");
|
||||||
|
detail.setStnm("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
batchList.add(detail);
|
||||||
|
if (batchList.size() == 2000 || i == roamList.size() - 1) {
|
||||||
|
int fruit = msThreedRoamMapper.batchInsertList(batchList);
|
||||||
|
if (fruit < 1) {
|
||||||
|
throw new BizException("导入三维漫游数据失败");
|
||||||
|
}
|
||||||
|
batchList = new ArrayList<>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
package com.yfd.platform.utils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
public class AsyncWithCompletableFuture {
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
// 异步执行任务,返回 CompletableFuture
|
||||||
|
CompletableFuture<List<String>> future = CompletableFuture.supplyAsync(() -> {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
try {
|
||||||
|
Thread.sleep(2000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
});
|
||||||
|
|
||||||
|
// 注册回调(非阻塞)
|
||||||
|
future.thenAccept(result -> System.out.println("回调收到结果: " + result));
|
||||||
|
|
||||||
|
// 主线程继续执行
|
||||||
|
System.out.println("主线程继续...");
|
||||||
|
|
||||||
|
// 防止主线程提前退出(如果不想阻塞,可以省略)
|
||||||
|
future.join(); // 或 future.get()
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -11,8 +11,10 @@ spring:
|
|||||||
type: com.alibaba.druid.pool.DruidDataSource
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
druid:
|
druid:
|
||||||
master:
|
master:
|
||||||
driverClassName: oracle.jdbc.OracleDriver
|
# driverClassName: oracle.jdbc.OracleDriver
|
||||||
url: "${DB_MASTER_URL:jdbc:oracle:thin:@172.16.31.190:1521/SDLYZ}"
|
# url: "${DB_MASTER_URL:jdbc:oracle:thin:@172.16.31.190:1521/SDLYZ}"
|
||||||
|
driverClassName: dm.jdbc.driver.DmDriver
|
||||||
|
url: "${DB_MASTER_URL:jdbc:dm://172.16.21.143:5236/QGC_REFA}"
|
||||||
username: "${DB_MASTER_USERNAME:QGC_REFA}"
|
username: "${DB_MASTER_USERNAME:QGC_REFA}"
|
||||||
password: "${DB_MASTER_PASSWORD:Y4M4K1oCkL8U}"
|
password: "${DB_MASTER_PASSWORD:Y4M4K1oCkL8U}"
|
||||||
initial-size: 5
|
initial-size: 5
|
||||||
@ -35,14 +37,17 @@ spring:
|
|||||||
remove-abandoned-timeout: 1800
|
remove-abandoned-timeout: 1800
|
||||||
log-abandoned: true
|
log-abandoned: true
|
||||||
break-after-acquire-failure: true
|
break-after-acquire-failure: true
|
||||||
time-between-connect-error-millis: 300000
|
time-between-connect-error-millis: 30000
|
||||||
pool-prepared-statements: true
|
pool-prepared-statements: true
|
||||||
max-open-prepared-statements: 100
|
max-open-prepared-statements: 100
|
||||||
max-pool-prepared-statement-per-connection-size: 100
|
max-pool-prepared-statement-per-connection-size: 100
|
||||||
connection-properties: oracle.net.CONNECT_TIMEOUT=10000;oracle.jdbc.ReadTimeout=60000;oracle.net.READ_TIMEOUT=60000
|
connection-properties: connectTimeout=10000;oracle.jdbc.ReadTimeout=60000;oracle.net.READ_TIMEOUT=60000
|
||||||
|
# connection-properties: oracle.net.CONNECT_TIMEOUT=10000;oracle.jdbc.ReadTimeout=60000;oracle.net.READ_TIMEOUT=60000
|
||||||
slave:
|
slave:
|
||||||
driverClassName: oracle.jdbc.OracleDriver
|
driverClassName: dm.jdbc.driver.DmDriver
|
||||||
url: "${DB_SLAVE_URL:jdbc:oracle:thin:@172.16.31.190:1521/SDLYZ}"
|
url: "${DB_MASTER_URL:jdbc:dm://172.16.21.143:5236/QGC_REFA}"
|
||||||
|
# driverClassName: oracle.jdbc.OracleDriver
|
||||||
|
# url: "${DB_SLAVE_URL:jdbc:oracle:thin:@172.16.31.190:1521/SDLYZ}"
|
||||||
username: "${DB_SLAVE_USERNAME:QGC_REFA}"
|
username: "${DB_SLAVE_USERNAME:QGC_REFA}"
|
||||||
password: "${DB_SLAVE_PASSWORD:Y4M4K1oCkL8U}"
|
password: "${DB_SLAVE_PASSWORD:Y4M4K1oCkL8U}"
|
||||||
initial-size: 5
|
initial-size: 5
|
||||||
@ -65,11 +70,12 @@ spring:
|
|||||||
remove-abandoned-timeout: 1800
|
remove-abandoned-timeout: 1800
|
||||||
log-abandoned: true
|
log-abandoned: true
|
||||||
break-after-acquire-failure: true
|
break-after-acquire-failure: true
|
||||||
time-between-connect-error-millis: 300000
|
time-between-connect-error-millis: 30000
|
||||||
pool-prepared-statements: true
|
pool-prepared-statements: true
|
||||||
max-open-prepared-statements: 100
|
max-open-prepared-statements: 100
|
||||||
max-pool-prepared-statement-per-connection-size: 100
|
max-pool-prepared-statement-per-connection-size: 100
|
||||||
connection-properties: oracle.net.CONNECT_TIMEOUT=10000;oracle.jdbc.ReadTimeout=60000;oracle.net.READ_TIMEOUT=60000
|
connection-properties: connectTimeout=10000;oracle.jdbc.ReadTimeout=60000;oracle.net.READ_TIMEOUT=60000
|
||||||
|
# connection-properties: oracle.net.CONNECT_TIMEOUT=10000;oracle.jdbc.ReadTimeout=60000;oracle.net.READ_TIMEOUT=60000
|
||||||
filter:
|
filter:
|
||||||
stat:
|
stat:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
@ -191,6 +191,66 @@
|
|||||||
ORDER BY D.TM DESC, D.ROW_INDEX ASC
|
ORDER BY D.TM DESC, D.ROW_INDEX ASC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectJoinPageWithStationScope" resultMap="JoinResultMap">
|
||||||
|
SELECT
|
||||||
|
<include refid="joinColumns"/>
|
||||||
|
FROM FISH_DRAFT_DATA D
|
||||||
|
LEFT JOIN SD_FPSS_B_H F ON D.STCD = F.STCD
|
||||||
|
LEFT JOIN SD_FISHDICTORY_B FB ON FB.ID = D.FTP
|
||||||
|
LEFT JOIN SD_ENGINFO_B_H E ON F.RSTCD = E.STCD
|
||||||
|
LEFT JOIN SD_HYDROBASE H ON E.BASE_ID = H.BASEID
|
||||||
|
<include refid="rvcdDisplayJoin"/>
|
||||||
|
WHERE D.DELETED_FLAG = 0
|
||||||
|
<if test="stcd != null and stcd != ''">
|
||||||
|
AND D.STCD = #{stcd}
|
||||||
|
</if>
|
||||||
|
<if test="userId != null and userId != ''">
|
||||||
|
AND D.CREATED_BY = #{userId}
|
||||||
|
</if>
|
||||||
|
<if test="ftp != null and ftp != ''">
|
||||||
|
AND D.FTP = #{ftp}
|
||||||
|
</if>
|
||||||
|
<if test="rstcd != null and rstcd != ''">
|
||||||
|
AND F.RSTCD = #{rstcd}
|
||||||
|
</if>
|
||||||
|
<if test="baseId != null and baseId != ''">
|
||||||
|
AND E.BASE_ID = #{baseId}
|
||||||
|
</if>
|
||||||
|
<if test="rvcd != null and rvcd != ''">
|
||||||
|
AND E.REACHCD = #{rvcd}
|
||||||
|
</if>
|
||||||
|
<if test="hbrvcd != null and hbrvcd != ''">
|
||||||
|
AND E.HBRVCD = #{hbrvcd}
|
||||||
|
</if>
|
||||||
|
<if test="direction != null and direction != ''">
|
||||||
|
AND D.DIRECTION = #{direction}
|
||||||
|
</if>
|
||||||
|
<if test="status != null and status != ''">
|
||||||
|
AND D.STATUS = #{status}
|
||||||
|
</if>
|
||||||
|
<if test="approvalId != null and approvalId != ''">
|
||||||
|
AND D.APPROVAL_ID = #{approvalId}
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null and startTime != ''">
|
||||||
|
AND D.STRDT >= TO_DATE(#{startTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null and endTime != ''">
|
||||||
|
AND D.STRDT <= TO_DATE(#{endTime}, 'yyyy-mm-dd hh24:mi:ss')
|
||||||
|
</if>
|
||||||
|
<if test="stationCodes != null and stationCodes.size() > 0">
|
||||||
|
AND D.STCD IN (
|
||||||
|
SELECT F2.STCD
|
||||||
|
FROM SD_FPSS_B_H F2
|
||||||
|
INNER JOIN SD_ENGINFO_B_H E2 ON F2.RSTCD = E2.STCD
|
||||||
|
WHERE E2.STCD IN
|
||||||
|
<foreach collection="stationCodes" item="code" open="(" separator="," close=")">
|
||||||
|
#{code}
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
ORDER BY H.ORDER_INDEX ASC,E.ORDER_INDEX ASC, D.TM DESC, D.ROW_INDEX ASC
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectJoinList" resultMap="JoinResultMap">
|
<select id="selectJoinList" resultMap="JoinResultMap">
|
||||||
SELECT
|
SELECT
|
||||||
<include refid="joinColumns"/>
|
<include refid="joinColumns"/>
|
||||||
|
|||||||
@ -0,0 +1,43 @@
|
|||||||
|
<?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.yfd.platform.qgc_sys.threedRoam.mapper.MsThreedRoamMapper">
|
||||||
|
|
||||||
|
<insert id="batchInsertList" parameterType="List">
|
||||||
|
INSERT INTO MS_THREEDROAM_B(ROAM_ID, CODE, NAME, LGTD, LTTD, DTMEL, TIME, ORDER_INDEX, STCD, STNM)
|
||||||
|
SELECT *
|
||||||
|
FROM (
|
||||||
|
<foreach collection="list" item="item" separator="union all">
|
||||||
|
SELECT
|
||||||
|
#{item.roamId} AS roamId,
|
||||||
|
#{item.code} AS code,
|
||||||
|
#{item.name} AS name,
|
||||||
|
#{item.lgtd} AS lgtd,
|
||||||
|
#{item.lttd} AS lttd,
|
||||||
|
#{item.dtmel} AS dtmel,
|
||||||
|
#{item.time} AS time,
|
||||||
|
#{item.orderIndex} AS orderIndex,
|
||||||
|
#{item.stcd} AS stcd,
|
||||||
|
#{item.stnm} AS stnm
|
||||||
|
FROM DUAL
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<delete id="deleteTheedRoam" parameterType="java.lang.String">
|
||||||
|
DELETE FROM MS_THREEDROAM_B
|
||||||
|
<where>
|
||||||
|
<if test="roamId != null and roamId != ''">
|
||||||
|
AND ROAM_ID = #{roamId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="selectStcd" resultType="com.yfd.platform.qgc_sys.threedRoam.domain.MsThreedRoamEntity">
|
||||||
|
SELECT STCD, STNM FROM V_MS_STBPRP_T
|
||||||
|
WHERE STTP_CODE = 'ENG'
|
||||||
|
<if test="stcd != null and stcd != ''">
|
||||||
|
AND STCD = #{stcd}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue
Block a user