Commit b21cf117 by jiang'yun

修改

parent dedd89d6
......@@ -1869,6 +1869,16 @@ public class SjDjjcController extends BaseController
}
/**
* 计算邻井井组
* @param sjDjjc
* @return
*/
@GetMapping("/jsljjz")
public AjaxResult jsljjz(SjDjjc sjDjjc) throws Exception {
return sjDjjcService.jsljjz(sjDjjc);
}
private static List<SjFdsgcsDcyx> processAndDisplay(List<SjDcfxDzfc> stratumList,double kscs, double targetCs,String jh,String kc) {
......
package com.zjsgfa.project.zjsgfa.domain;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel;
import com.zjsgfa.framework.web.domain.BaseEntity;
......@@ -65,6 +67,8 @@ public class ClYxsj extends BaseEntity
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdTime;
private List<ClYxsj> list;
public void setId(Long id)
{
this.id = id;
......
package com.zjsgfa.project.zjsgfa.service;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.zjsgfa.framework.web.domain.AjaxResult;
......@@ -69,4 +70,5 @@ public interface ISjDjjcService
AjaxResult saveZjzh(CommonParam param);
AjaxResult jsljjz(SjDjjc sjDjjc) throws Exception;
}
......@@ -991,5 +991,60 @@ public class SjDjjcServiceImpl implements ISjDjjcService
return AjaxResult.success("计算成功");
}
@Override
public AjaxResult jsljjz(SjDjjc sjDjjc)throws Exception {
//查询附近邻井
String jh = sjDjjc.getJh();
SjDjjc sjDjjc1 = sjDjjcMapper.selectSjDjjcByJh(jh);
if(sjDjjc1!=null){
if(sjDjjc1.getJdhzb()!=null && sjDjjc1.getJdzzb()!=null){
CommonParam param =new CommonParam();
param.setJkhzb(sjDjjc1.getJkhzb());
param.setJkzzb(sjDjjc1.getJkzzb());
param.setJl(3000.0);
param.setWjsjks("2020");
param.setWjsjjs("2025");
List<Ljjw> ljjwList=djdcService.getLjjwList2(param);
List<String> collect = ljjwList.stream().limit(20).map(Ljjw::getJh).collect(Collectors.toList());
if(collect.size()>0){
CommonParam param2=new CommonParam();
String jhs = String.join(",", collect);
param2.setJh(jhs);
List<DjZqsjfx> zqshfxList = djdcService.getZqshfxList(param2);
Map<String, List<DjZqsjfx>> result = zqshfxList.stream()
.collect(Collectors.groupingBy(DjZqsjfx::getKc)) // 按开次(kc)分组
.entrySet().stream()
.collect(Collectors.toMap(
Map.Entry::getKey, // 保持开次作为key
entry -> entry.getValue().stream()
.sorted(Comparator.comparingDouble(DjZqsjfx::getZb).reversed())
.limit(5)
.collect(Collectors.toList())
));
List<String> list2 = new ArrayList<>();
for (Map.Entry<String, List<DjZqsjfx>> entry : result.entrySet()) {
List<DjZqsjfx> value = entry.getValue();
list2.addAll(value.stream().map(DjZqsjfx::getJh).collect(Collectors.toList()));
}
Map<String,Object> map =new HashMap<>();
map.put("gzbjhList",list2.stream().distinct().limit(5).collect(Collectors.toList()));
//查询复杂井
List<Jsqa> jsqaList = djdcService.getJsqaList(param2);
List<String> collect1 = jsqaList.stream().map(Jsqa::getJh).collect(Collectors.toList());
map.put("fzsgjhList",collect1.stream().distinct().limit(5).collect(Collectors.toList()));
return AjaxResult.success(map);
}else {
return AjaxResult.error("未匹配到邻井");
}
}else {
return AjaxResult.error("未找到该井井底坐标");
}
}else {
return AjaxResult.error("未找到该井");
}
}
}
......@@ -40,6 +40,18 @@ public class SjFdsgcsZjyFdxnbServiceImpl implements ISjFdsgcsZjyFdxnbService
return sjFdsgcsZjyFdxnbMapper.selectSjFdsgcsZjyFdxnbById(id);
}
// 提取字符串中~前面的数字
private static int extractStartNumber(String jd) {
if (jd == null || !jd.contains("~")) {
return 0; // 处理异常情况
}
String numberPart = jd.split("~")[0];
try {
return Integer.parseInt(numberPart.trim());
} catch (NumberFormatException e) {
return 0; // 处理转换失败情况
}
}
/**
* 查询设计信息-分段施工措施-分段钻井液性能设计列表
*
......@@ -68,7 +80,12 @@ public class SjFdsgcsZjyFdxnbServiceImpl implements ISjFdsgcsZjyFdxnbService
// 提取井段(去重,按顺序排列)
List<String> wellSegments = list.stream()
.map(SjFdsgcsZjyFdxnb::getJd)
.distinct()
.distinct().sorted((s1, s2) -> {
// 提取第一个数值
int num1 = extractStartNumber(s1);
int num2 = extractStartNumber(s2);
return Integer.compare(num1, num2);
})
.collect(Collectors.toList());
// 表格数据:每行对应一个固定项目,每列对应一个井段
......
......@@ -26,6 +26,7 @@ public class CommonParam {
private List<String> jbs;
//井深
private Double js;
//区块名称
private String qk;
......
......@@ -2,6 +2,8 @@ package com.zjsgfa.project.zt.domain;
import lombok.Data;
import java.util.List;
/**
* 钻具组合分析
*/
......@@ -30,6 +32,8 @@ public class DjZjzhfx {
//时效
private Double zb;
private List<DjZjzhfx> list;
}
......@@ -3,6 +3,8 @@ package com.zjsgfa.project.zt.domain;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import java.util.List;
/**
* 邻井周期分析
*/
......@@ -55,4 +57,13 @@ public class DjZqsjfx {
//中完(完井异常描述)
private String wjycms;
private Double zb;
private List<DjZqsjfx> list;
private Double zjzqsj;
private Double hj;
}
......@@ -3,6 +3,7 @@ package com.zjsgfa.project.zt.domain;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class Jsha {
......@@ -70,4 +71,6 @@ public class Jsha {
private Date zzzrq;
private String pzlx;
private Double ztjg;
private List<Jsha> list;
}
......@@ -3,6 +3,8 @@ package com.zjsgfa.project.zt.domain;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import java.util.List;
@Data
public class Jskd {
@Excel(name = "井号")
......@@ -45,4 +47,6 @@ public class Jskd {
private String gldc;
@Excel(name = "关联造斜点")
private String glzxd;
private List<Jskd> list;
}
\ No newline at end of file
......@@ -2,6 +2,8 @@ package com.zjsgfa.project.zt.domain;
import lombok.Data;
import java.util.List;
/**
* 高指标井
*/
......@@ -27,4 +29,6 @@ public class LjGzbj {
private Double zs;
private Double zb;
private List<LjGzbj> list;
}
package com.zjsgfa.project.zt.domain;
import java.util.Date;
import java.util.List;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel;
......@@ -13,6 +15,7 @@ import com.zjsgfa.framework.web.domain.BaseEntity;
* @author
* @date 2025-06-29
*/
@Data
public class LjSzfxjg extends BaseEntity
{
private static final long serialVersionUID = 1L;
......@@ -73,6 +76,8 @@ public class LjSzfxjg extends BaseEntity
// @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdTime;
private List<LjSzfxjg> list;
public void setId(Long id)
{
this.id = id;
......
......@@ -3,6 +3,8 @@ package com.zjsgfa.project.zt.domain.vo;
import com.zjsgfa.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import java.util.List;
@Data
public class JsgaVo {
......@@ -51,4 +53,6 @@ public class JsgaVo {
private String clgk;
private List<JsgaVo> list;
}
package com.zjsgfa.project.zt.domain.vo;
import lombok.Data;
import java.util.Date;
/**
* 钻井日志
*/
@Data
public class JswaVo {
private Double sg;
//@Column(name = "XL", precision = 6, scale = 2)
private Double xl;
//@Column(name = "ZZTG", precision = 6, scale = 2)
private Double zztg;
//@Column(name = "ZRTG", precision = 6, scale = 2)
private Double zrtg;
//@Column(name = "FZQK", precision = 6, scale = 2)
private Double fzqk;
private Double sgsum;
//@Column(name = "XL", precision = 6, scale = 2)
private Double xlsum;
//@Column(name = "ZZTG", precision = 6, scale = 2)
private Double zztgsum;
//@Column(name = "ZRTG", precision = 6, scale = 2)
private Double zrtgsum;
//@Column(name = "FZQK", precision = 6, scale = 2)
private Double fzqksum;
private double zhj;
}
......@@ -4,6 +4,7 @@ import com.zjsgfa.framework.aspectj.lang.annotation.DataSource;
import com.zjsgfa.framework.aspectj.lang.enums.DataSourceType;
import com.zjsgfa.project.zt.domain.*;
import com.zjsgfa.project.zt.domain.vo.JsgaVo;
import com.zjsgfa.project.zt.domain.vo.JswaVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
......@@ -65,4 +66,9 @@ public interface DjdcInfoMapper {
Double jsgtzjds(CommonParam param);
List<Ljjw> getLjjwList2(CommonParam param);
JswaVo getJswaSum(CommonParam param);
}
......@@ -5,6 +5,7 @@ import com.zjsgfa.framework.web.domain.AjaxResult;
import com.zjsgfa.project.zjsgfa.domain.SjDcfxDzfc;
import com.zjsgfa.project.zt.domain.*;
import com.zjsgfa.project.zt.domain.vo.JsgaVo;
import com.zjsgfa.project.zt.domain.vo.JswaVo;
import java.util.List;
import java.util.Map;
......@@ -73,4 +74,11 @@ public interface DjdcService {
String jsgtzjds(CommonParam param);
List<LjSzfxjg> getszfxjgList2();
List<Ljjw> getLjjwList2(CommonParam param);
JswaVo getJswaSum(CommonParam param);
}
......@@ -14,6 +14,7 @@ import com.zjsgfa.project.zjsgfa.domain.*;
import com.zjsgfa.project.zjsgfa.mapper.*;
import com.zjsgfa.project.zt.domain.*;
import com.zjsgfa.project.zt.domain.vo.JsgaVo;
import com.zjsgfa.project.zt.domain.vo.JswaVo;
import com.zjsgfa.project.zt.domain.vo.SjInfo;
import com.zjsgfa.project.zt.mapper.*;
import com.zjsgfa.project.zt.service.DjdcService;
......@@ -1925,7 +1926,9 @@ public class DjdcServiceImpl implements DjdcService {
String[] jhs = param.getJh().split(",");
param.setJhs(jhs);
}
return djdcInfoMapper.getGzbjList(param);
List<LjGzbj> gzbjList = djdcInfoMapper.getGzbjList(param);
List<LjGzbj> collect = gzbjList.stream().filter(it -> it.getZb() != null).collect(Collectors.toList());
return collect;
}
@Override
......@@ -1996,6 +1999,26 @@ public class DjdcServiceImpl implements DjdcService {
return s+"";
}
@Override
public List<LjSzfxjg> getszfxjgList2() {
return ljSzfxjgMapper.selectLjSzfxjgList(new LjSzfxjg());
}
@Override
public List<Ljjw> getLjjwList2(CommonParam param) {
return djdcInfoMapper.getLjjwList2(param);
}
@Override
public JswaVo getJswaSum(CommonParam param) {
if(StringUtils.isNotEmpty(param.getJh())){
String[] jhs = param.getJh().split(",");
param.setJhs(jhs);
}
return djdcInfoMapper.getJswaSum(param);
}
/**
* 计算斜深
* @param a 层位垂深
......
package com.zjsgfa.project.zt.util;
import javax.net.ssl.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
public class SSLUtils {
// 忽略SSL证书验证
public static void disableSSLCertificateChecking() {
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException {}
@Override
public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException {}
}
};
try {
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
\ No newline at end of file
......@@ -44,7 +44,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="dql != null and dql != ''"> and dql = #{dql}</if>
<if test="sxnd != null and sxnd != ''"> and sxnd = #{sxnd}</if>
</where>
order by kc,jd
order by kc, CAST(SUBSTRING_INDEX(jd, '~', 1) AS UNSIGNED)
</select>
<select id="selectSjFdsgcsZjyFdxnbById" parameterType="Long" resultMap="SjFdsgcsZjyFdxnbResult">
......
......@@ -225,7 +225,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="getZqshfxList" resultType="com.zjsgfa.project.zt.domain.DjZqsjfx">
select a.jh,c.kc,ksjs,c.js,to_char((case when kc ='1' then b.KZRQ1 when kc ='2' then b.KZRQ2 when kc ='3' then b.KZRQ3 when kc ='4' then b.KZRQ4 when kc ='5' then b.KZRQ5 else null end ),'YYYY-MM-DD') || ' ' ||
select a.jh,c.kc,ksjs,c.js,d.zb,to_char((case when kc ='1' then b.KZRQ1 when kc ='2' then b.KZRQ2 when kc ='3' then b.KZRQ3 when kc ='4' then b.KZRQ4 when kc ='5' then b.KZRQ5 else null end ),'YYYY-MM-DD') || ' ' ||
TO_CHAR(TO_DATE((case when kc ='1' then b.KZSJ1 when kc ='2' then b.KZSJ2 when kc ='3' then b.KZSJ3 when kc ='4' then b.KZSJ4 when kc ='5' then b.KZSJ5 else null end ), 'HH24MI'), 'HH24:MI') || ':00' AS kssj
,to_char((case when kc ='1' then b.KZRQ2 when kc ='2' then (case when KZRQ3 is null or KZRQ3 ='' then WJRQ else KZRQ3 end ) when kc ='3' then (case when KZRQ4 is null or KZRQ4 ='' then WJRQ else KZRQ4 end ) when kc ='4' then (case when KZRQ5 is null or KZRQ5 ='' then WJRQ else KZRQ5 end ) when kc ='5' then b.WJRQ else null end ),'YYYY-MM-DD') || ' ' ||
TO_CHAR(TO_DATE((case when kc ='1' then b.KZSJ2 when kc ='2' then (case when KZRQ3 is null or KZRQ3 ='' then WJSJ else KZSJ3 end ) when kc ='3' then (case when KZRQ4 is null or KZRQ4 ='' then WJSJ else KZSJ4 end ) when kc ='4' then (case when KZRQ5 is null or KZRQ5 ='' then WJSJ else KZSJ5 end ) when kc ='5' then b.WJSJ else null end ), 'HH24MI'), 'HH24:MI') || ':00' AS JSSJ
......@@ -239,7 +239,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM JSDB jsdb
where jsdb.tgcc not like '%导管%'
order by jh) c on a.jh=c.jh
left join (select jh,
ZZJS,
ROUND(SUM(jc) / case when SUM(JCSJHJ) / 24 = 0 then 1 else SUM(JCSJHJ) / 24 end, 2) zb
from JSHA
group by jh, ZZJS -- 按 jh 和 ZZJS 分组,确保对应关系
order by ZZJS) d on a.JH = d.jh and d.zzjs > c.ksjs and d.zzjs &lt;= c.js
where 1=1
<if test="jdhzb!=null">
and ABS(#{jdhzb} - a.jdhzb) &lt; #{jl}
......@@ -400,6 +405,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="js!=null">
and b.wjjs &lt;= #{js}
</if>
<if test="ksjs!=null">
and b.wjjs >= #{ksjs}
</if>
<if test="jxs != null and jxs.size() > 0">
AND a.jx IN
<foreach item="item" collection="jxs" open="(" separator="," close=")">
......@@ -567,7 +575,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
)jsha
on jsha.jh=ss.jh and jsha.zzjs between ss.lag_js and ss.js
)ss
)ss where kc is not null and ztxh is not null
group by ss.kc,ss.ztxh,ss.cc,ss.cj
</select>
<select id="getFdcsList" resultType="com.zjsgfa.project.zt.domain.Jsha">
......@@ -745,11 +753,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from JSTA
where NVL(JD1, 0) != NVL(JD2,0)) c on a.JH = c.JH and t.js = c.JD2
left join (
select jh,ZZJS,
ROUND(jc / case when (JCSJHJ / 24) =0 then 1 else (JCSJHJ / 24) end , 2) zb
select jh,
ZZJS,
ROUND(SUM(jc) / case when SUM(JCSJHJ) / 24 = 0 then 1 else SUM(JCSJHJ) / 24 end, 2) zb
from JSHA
order by xh
group by jh, ZZJS -- 按 jh 和 ZZJS 分组,确保对应关系
order by ZZJS
) d on a.JH=d.jh and d.zzjs>ksjs and d.zzjs &lt;=js
where
1=1
......@@ -890,4 +899,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT max_value - guantao_value AS result
FROM max_value_cte, guantao_value_cte
</select>
<select id="getLjjwList2" resultType="com.zjsgfa.project.zt.domain.Ljjw">
SELECT a.*, round(power(power(a.jkhzb - ${jkhzb}
, 2) + power(a.jkzzb - ${jkzzb}, 2), 0.5), 2) as jkjl
FROM JSBA a
left join jsaa b on a.jh=b.jh
WHERE 1 = 1
and a.jh not like '%侧%'
and a.jkhzb - #{jkhzb} &lt; #{jl}
AND a.jkzzb - #{jkzzb} &lt; #{jl}
and TO_CHAR(b.wjrq, 'YYYY') between #{wjsjks} and #{wjsjjs}
order by jkjl asc
</select>
<select id="getJswaSum" resultType="com.zjsgfa.project.zt.domain.vo.JswaVo">
select a.*,(sgsum+zztgsum+zrtgsum+xlsum+fzqksum) zhj from (SELECT SUM(CASE WHEN sg > 0 THEN 1 ELSE 0 END) AS sg,
SUM(CASE WHEN ZZTG > 0 THEN 1 ELSE 0 END) AS ZZTG,
SUM(CASE WHEN ZRTG > 0 THEN 1 ELSE 0 END) AS ZRTG,
SUM(CASE WHEN xl > 0 THEN 1 ELSE 0 END) AS xl,
SUM(CASE WHEN FZQK > 0 THEN 1 ELSE 0 END) AS FZQK,
sum(sg) sgsum,
sum(ZZTG) zztgsum,
sum(ZRTG) zrtgsum,
sum(xl) xlsum,
sum(FZQK) fzqksum
FROM jswa a
WHERE 1=1
<if test="jhs!=null">
and a.jh in
<foreach item="jh" collection="jhs"
open="(" separator="," close=")">
#{jh}
</foreach>
</if>
) a
</select>
</mapper>
\ No newline at end of file
......@@ -17,7 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{jh}
</foreach>
</if>
order by jh
order by fsrq desc,jh
</select>
<select id="getJsqaByjhAndJs" resultType="com.zjsgfa.project.zt.domain.Jsqa">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment