Commit b6d44c41 by jiang'yun

修改

parent 6e040cc3
......@@ -144,45 +144,32 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// 添加CORS filter
.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class)
.addFilterBefore(corsFilter, LogoutFilter.class);
}
//开启cas
if (casProperties.isCasEnable()) {
httpSecurity
// CSRF禁用,因为不使用session
.csrf().disable()
.csrf(csrf -> csrf.disable())
// 禁用HTTP响应标头
.headers((headersCustomizer) -> {
headersCustomizer.cacheControl(cache -> cache.disable()).frameOptions(options -> options.sameOrigin());
})
// 认证失败处理类
.exceptionHandling(exception -> exception.authenticationEntryPoint(unauthorizedHandler))
// 基于token,所以不需要session
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
// 过滤请求
.authorizeRequests()
// 对于登录login 验证码captchaImage 允许匿名访问
//.antMatchers("/login", "/captchaImage").anonymous()
.antMatchers(
HttpMethod.GET,
"/*.html",
"/**/*.html",
"/**/*.css",
"/**/*.js"
).permitAll()
.antMatchers("/profile/**").anonymous()
.antMatchers("/common/download**").anonymous()
.antMatchers("/common/download/resource**").anonymous()
.antMatchers("/swagger-ui.html").anonymous()
.antMatchers("/swagger-resources/**").anonymous()
.antMatchers("/webjars/**").anonymous()
.antMatchers("/*/api-docs").anonymous()
.antMatchers("/druid/**").anonymous()
.antMatchers("/websocket/**").anonymous()
.antMatchers("/magic/web/**").anonymous()
.antMatchers("/**/**").anonymous()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated()
.and()
.headers().frameOptions().disable();
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
// 注解标记允许匿名访问的url
.authorizeHttpRequests((requests) -> {
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
requests.antMatchers("/login", "/register", "/captchaImage").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**", "/**/**").permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated();
});
//单点登录登出
httpSecurity.logout().permitAll().logoutSuccessHandler(logoutSuccessHandler);
// Custom JWT based security filter
......@@ -199,6 +186,56 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// disable page caching
httpSecurity.headers().cacheControl();
}
//开启cas
// if (casProperties.isCasEnable()) {
// httpSecurity
// // CSRF禁用,因为不使用session
// .csrf().disable()
// // 基于token,所以不需要session
// .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
// // 过滤请求
// .authorizeRequests()
// // 对于登录login 验证码captchaImage 允许匿名访问
// //.antMatchers("/login", "/captchaImage").anonymous()
// .antMatchers(
// HttpMethod.GET,
// "/*.html",
// "/**/*.html",
// "/**/*.css",
// "/**/*.js"
// ).permitAll()
// .antMatchers("/profile/**").anonymous()
// .antMatchers("/common/download**").anonymous()
// .antMatchers("/common/download/resource**").anonymous()
// .antMatchers("/swagger-ui.html").anonymous()
// .antMatchers("/swagger-resources/**").anonymous()
// .antMatchers("/webjars/**").anonymous()
// .antMatchers("/*/api-docs").anonymous()
// .antMatchers("/druid/**").anonymous()
// .antMatchers("/websocket/**").anonymous()
// .antMatchers("/magic/web/**").anonymous()
// .antMatchers("/**/**").anonymous()
// // 除上面外的所有请求全部需要鉴权认证
// .anyRequest().authenticated()
// .and()
// .headers().frameOptions().disable();
// //单点登录登出
// httpSecurity.logout().permitAll().logoutSuccessHandler(logoutSuccessHandler);
// // Custom JWT based security filter
// httpSecurity.addFilter(casAuthenticationFilter())
// .addFilterBefore(authenticationTokenFilter, CasAuthenticationFilter.class)
// //.addFilterBefore(casLogoutFilter(), LogoutFilter.class)
// .addFilterBefore(singleSignOutFilter(), CasAuthenticationFilter.class).exceptionHandling()
// //认证失败
// .authenticationEntryPoint(casAuthenticationEntryPoint());
//
// // 添加CORS filter
// httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class);
// httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class);
// // disable page caching
// httpSecurity.headers().cacheControl();
// }
}
/**
......
......@@ -1830,8 +1830,10 @@ public class SjDjjcController extends BaseController
sjFdfxMapper.deleteSjFdfxByZbid(id);
sjFdfxMapper.insertSjFdfxBatch(sjFdfxList);
}
}
//高指标井
sjDjjcService.getGzbjList(jh);
} catch (IOException e) {
e.getMessage();
e.printStackTrace();
......@@ -1841,6 +1843,9 @@ public class SjDjjcController extends BaseController
workbook.close();
}
String name = file.getOriginalFilename();
String type = StringUtils.substringAfterLast(name, ".");
String fileNameYs = name.substring(0,name.lastIndexOf("."));
......@@ -1917,15 +1922,6 @@ 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) {
......@@ -2178,14 +2174,14 @@ public class SjDjjcController extends BaseController
return sjDjjcService.saveLjzl(param);
}
/**
* 计算风险
*/
@PostMapping("/saveFx")
public AjaxResult saveFx(@RequestBody CommonParam param) throws Exception{
return sjDjjcService.saveLjzl(param);
}
// /**
// * 计算风险
// */
// @PostMapping("/saveFx")
// public AjaxResult saveFx(@RequestBody CommonParam param) throws Exception{
//
// return sjDjjcService.saveLjzl(param);
// }
/**
* 计算钻头
......@@ -2205,6 +2201,18 @@ public class SjDjjcController extends BaseController
return sjDjjcService.saveZjzh(param);
}
/**
* 计算邻井井组
* @param sjDjjc
* @return
*/
@GetMapping("/jsljjz")
public AjaxResult jsljjz(SjDjjc sjDjjc) throws Exception {
return sjDjjcService.jsljjz(sjDjjc);
}
@PostMapping("/exportWord")
public void exportWord(long id,HttpServletResponse response) throws Exception {
SjDjjc sjDjjc = sjDjjcService.selectSjDjjcById(id);
......
......@@ -103,6 +103,47 @@ public class SgfambKcSggy extends BaseEntity
//施工参数条件id
private Long sgcstjid;
//钻压上限
private String zjzysx;
//转速上限
private String zjzssx;
//排量上限
private String zjplsx;
//泵压上限
private String zjbysx;
/** 厂家 */
@Excel(name = "厂家")
private String cj;
/** 尺寸 */
@Excel(name = "尺寸")
private String cc;
/** 水眼 */
@Excel(name = "水眼")
private String sy;
/** 压降 */
@Excel(name = "压降")
private String yj;
/** 钻井液密度 */
@Excel(name = "钻井液密度")
private String zjymd;
/** 刀翼 */
@Excel(name = "刀翼")
private String dy;
/** 复合片 */
@Excel(name = "复合片")
private String ffp;
/** 复合片齿形 */
@Excel(name = "复合片齿形")
private String ffpcx;
}
......@@ -77,7 +77,7 @@ public class SjFdsgcsZjyFdxnb extends BaseEntity
/** 塑性黏度 */
@Excel(name = "塑性黏度")
private String sxnd;
private Double firstNumber;
private List<SjFdsgcsZjyFdxnb> list;
public void setId(Long id)
......
......@@ -2,6 +2,7 @@ package com.zjsgfa.project.zjsgfa.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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 +14,7 @@ import com.zjsgfa.framework.web.domain.BaseEntity;
* @author
* @date 2025-08-20
*/
@Data
public class SjSggyZjyFdxnb extends BaseEntity
{
private static final long serialVersionUID = 1L;
......@@ -85,6 +87,7 @@ public class SjSggyZjyFdxnb extends BaseEntity
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdTime;
private Double firstNumber;
public void setId(Long id)
{
this.id = id;
......
......@@ -2,6 +2,7 @@ package com.zjsgfa.project.zjsgfa.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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 +14,7 @@ import com.zjsgfa.framework.web.domain.BaseEntity;
* @author
* @date 2025-07-17
*/
@Data
public class SjZjyFdxnb extends BaseEntity
{
private static final long serialVersionUID = 1L;
......@@ -85,6 +87,8 @@ public class SjZjyFdxnb extends BaseEntity
@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date createdTime;
private Double firstNumber;
public void setId(Long id)
{
this.id = id;
......
......@@ -58,4 +58,7 @@ public interface SjZtcsxxMapper
* @return 结果
*/
public int deleteSjZtcsxxByIds(Long[] ids);
int deleteSjZtcsxxByJhAndKcAndlb(SjZtcsxx sjZtcsxx);
}
......@@ -71,4 +71,7 @@ public interface ISjDjjcService
AjaxResult saveZjzh(CommonParam param);
AjaxResult jsljjz(SjDjjc sjDjjc) throws Exception;
int getGzbjList(String jh) throws Exception;
}
......@@ -23,6 +23,7 @@ import com.zjsgfa.project.zt.service.DjdcService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zjsgfa.project.zjsgfa.service.ISjDjjcService;
import org.springframework.transaction.annotation.Transactional;
/**
* 设计信息-井基础信息Service业务层处理
......@@ -104,6 +105,9 @@ public class SjDjjcServiceImpl implements ISjDjjcService
@Autowired
private MxglpzMapper mxglpzMapper;
@Autowired
private SjZtcsxxMapper sjZtcsxxMapper;
......@@ -140,17 +144,13 @@ public class SjDjjcServiceImpl implements ISjDjjcService
* @return 结果
*/
@Override
@Transactional
public int insertSjDjjc(SjDjjc sjDjjc) throws Exception {
SjDjjc sjDjjc1 =sjDjjcMapper.selectSjDjjcByJh(sjDjjc.getJh());
if(sjDjjc1!=null){
return 3;
}
sjDjjc.setCreatedBy(SecurityUtils.getUsername());
int i = sjDjjcMapper.insertSjDjjc(sjDjjc);
......@@ -160,6 +160,10 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjSggyGjsbxnyqMapper.insertSjSggyGjsbxnyq2(sjSggyGjsbxnyq);
List<String> sjggjyh= new ArrayList<>();
//匹配高指标井
//根据方案id查询
List<SgfambKcSggy> sgfambKcSggyList=sgfambKcSggyMapper.selectSgfambKcSggyListByQk(new SgfambKcSggy());
......@@ -285,10 +289,11 @@ public class SjDjjcServiceImpl implements ISjDjjcService
if (sjZtxxes.size() > 0) {
SjZtxx sjZtxx1 = sjZtxxes.get(0);
sjZtxx1.setZtxh(sgfambKcSggy.getZtxh());
sjZtxx.setLb("高指标井推荐");
sjZtxxMapper.updateSjZtxx(sjZtxx1);
} else {
sjZtxx.setZtxh(sgfambKcSggy.getZtxh());
sjZtxx.setLb("井推荐");
sjZtxx.setLb("高指标井推荐");
sjZtxxMapper.insertSjZtxx(sjZtxx);
}
SjZjcsxx sjZjcsxx = new SjZjcsxx();
......@@ -301,14 +306,47 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjZjcsxx1.setZjzs(sgfambKcSggy.getZjzs());
sjZjcsxx1.setZjpl(sgfambKcSggy.getZjpl());
sjZjcsxx1.setZjby(sgfambKcSggy.getZjby());
sjZjcsxx1.setZjzysx(sgfambKcSggy.getZjzysx());
sjZjcsxx1.setZjbysx(sgfambKcSggy.getZjbysx());
sjZjcsxx1.setZjzssx(sgfambKcSggy.getZjzssx());
sjZjcsxx1.setZjplsx(sgfambKcSggy.getZjplsx());
sjZjcsxx1.setCj(sgfambKcSggy.getCj());
sjZjcsxx1.setCc(sgfambKcSggy.getCc());
sjZjcsxx1.setSy(sgfambKcSggy.getSy());
sjZjcsxx1.setYj(sgfambKcSggy.getYj());
sjZjcsxx1.setZjymd(sgfambKcSggy.getZjymd());
sjZjcsxx1.setZtxh(sgfambKcSggy.getZtxh());
sjZjcsxxMapper.updateSjZjcsxx(sjZjcsxx1);
} else {
sjZjcsxx.setZjzy(sgfambKcSggy.getZjzy());
sjZjcsxx.setZjzs(sgfambKcSggy.getZjzs());
sjZjcsxx.setZjpl(sgfambKcSggy.getZjpl());
sjZjcsxx.setZjby(sgfambKcSggy.getZjby());
sjZjcsxx.setZjzysx(sgfambKcSggy.getZjzysx());
sjZjcsxx.setZjbysx(sgfambKcSggy.getZjbysx());
sjZjcsxx.setZjzssx(sgfambKcSggy.getZjzssx());
sjZjcsxx.setZjplsx(sgfambKcSggy.getZjplsx());
sjZjcsxx.setCj(sgfambKcSggy.getCj());
sjZjcsxx.setCc(sgfambKcSggy.getCc());
sjZjcsxx.setSy(sgfambKcSggy.getSy());
sjZjcsxx.setYj(sgfambKcSggy.getYj());
sjZjcsxx.setZjymd(sgfambKcSggy.getZjymd());
sjZjcsxx.setZtxh(sgfambKcSggy.getZtxh());
sjZjcsxxMapper.insertSjZjcsxx(sjZjcsxx);
}
//钻头参数信息
SjZtcsxx sjZtcsxx = new SjZtcsxx();
sjZtcsxx.setJh(sjDjjc.getJh());
sjZtcsxx.setKc(sgfambKcSggy.getKc());
sjZtcsxx.setLb("高指标井推荐");
sjZtcsxx.setDy(sgfambKcSggy.getDy());
sjZtcsxx.setZtxh(sgfambKcSggy.getZtxh());
sjZtcsxx.setSy(sgfambKcSggy.getSy());
sjZtcsxx.setFfp(sgfambKcSggy.getFfp());
sjZtcsxx.setFfpcx(sgfambKcSggy.getFfpcx());
sjZtcsxxMapper.insertSjZtcsxx(sjZtcsxx);
}
......@@ -339,75 +377,6 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjHseMapper.insertSjHse(sjHse);
}
// if(sjDjjc.getFaid()!=null){
// SgfambKcSggy sgfambKcSggy = sgfambKcSggyMapper.selectSgfambKcSggyById(sjDjjc.getFaid());
// if (sgfambKcSggy != null) {
// //查询分段施工
// SjFdsgcs sjFdsgcs = new SjFdsgcs();
// sjFdsgcs.setKc(sgfambKcSggy.getKc());
// sjFdsgcs.setJh(sjDjjc.getJh());
// SjFdsgcs sjFdsgcs1 = sjFdsgcsMapper.selectSjFdsgcsByJhAndKc(sjFdsgcs);
// if (sjFdsgcs1 != null) {
// sjFdsgcs1.setJh(sjDjjc.getJh());
// sjFdsgcs1.setKc(sgfambKcSggy.getKc());
// sjFdsgcs1.setZjzh(sgfambKcSggy.getZjzh());
// sjFdsgcs1.setZjzhzysx(sgfambKcSggy.getZjzhzysx());
// sjFdsgcs1.setGjfx(sgfambKcSggy.getGjfx());
// sjFdsgcs1.setGjyh(sgfambKcSggy.getGjyh());
// sjFdsgcs1.setZjycs(sgfambKcSggy.getZjycs());
// sjFdsgcs1.setZjgccs(sgfambKcSggy.getZjgccs());
// sjFdsgcsMapper.updateSjFdsgcs(sjFdsgcs);
// } else {
// sjFdsgcs1 = new SjFdsgcs();
// sjFdsgcs1.setJh(sjDjjc.getJh());
// sjFdsgcs1.setKc(sgfambKcSggy.getKc());
// sjFdsgcs1.setZjzh(sgfambKcSggy.getZjzh());
// sjFdsgcs1.setZjzhzysx(sgfambKcSggy.getZjzhzysx());
// sjFdsgcs1.setGjfx(sgfambKcSggy.getGjfx());
// sjFdsgcs1.setGjyh(sgfambKcSggy.getGjyh());
// sjFdsgcs1.setZjycs(sgfambKcSggy.getZjycs());
// sjFdsgcs1.setZjgccs(sgfambKcSggy.getZjgccs());
// sjFdsgcsMapper.insertSjFdsgcs(sjFdsgcs1);
// }
// SjZtxx sjZtxx = new SjZtxx();
// sjZtxx.setJh(sjDjjc.getJh());
// sjZtxx.setKc(sgfambKcSggy.getKc());
// List<SjZtxx> sjZtxxes = sjZtxxMapper.selectSjZtxxList(sjZtxx);
// if (sjZtxxes.size() > 0) {
// SjZtxx sjZtxx1 = sjZtxxes.get(0);
// sjZtxx1.setZtxh(sgfambKcSggy.getZtxh());
// sjZtxxMapper.updateSjZtxx(sjZtxx1);
// } else {
// sjZtxx.setZtxh(sgfambKcSggy.getZtxh());
// sjZtxx.setLb("邻井推荐");
// sjZtxxMapper.insertSjZtxx(sjZtxx);
// }
// SjZjcsxx sjZjcsxx = new SjZjcsxx();
// sjZjcsxx.setJh(sjDjjc.getJh());
// sjZjcsxx.setKc(sgfambKcSggy.getKc());
// List<SjZjcsxx> sjZjcsxxes = sjZjcsxxMapper.selectSjZjcsxxList(sjZjcsxx);
// if (sjZjcsxxes.size() > 0) {
// SjZjcsxx sjZjcsxx1 = sjZjcsxxes.get(0);
// sjZjcsxx1.setZjzy(sgfambKcSggy.getZjzy());
// sjZjcsxx1.setZjzs(sgfambKcSggy.getZjzs());
// sjZjcsxx1.setZjpl(sgfambKcSggy.getZjpl());
// sjZjcsxx1.setZjby(sgfambKcSggy.getZjby());
// sjZjcsxxMapper.updateSjZjcsxx(sjZjcsxx1);
// } else {
// sjZjcsxx.setZjzy(sgfambKcSggy.getZjzy());
// sjZjcsxx.setZjzs(sgfambKcSggy.getZjzs());
// sjZjcsxx.setZjpl(sgfambKcSggy.getZjpl());
// sjZjcsxx.setZjby(sgfambKcSggy.getZjby());
// sjZjcsxxMapper.insertSjZjcsxx(sjZjcsxx);
// }
// }
// }
return i;
}
......@@ -436,6 +405,7 @@ public class SjDjjcServiceImpl implements ISjDjjcService
* @return 结果
*/
@Override
@Transactional
public int updateSjDjjc(SjDjjc sjDjjc) throws Exception
{
sjDjjc.setUpdateTime(DateUtils.getNowDate());
......@@ -503,12 +473,13 @@ public class SjDjjcServiceImpl implements ISjDjjcService
// }
// }
// }
//根据区块查询
//施工概要
SjSggyGjsbxnyq sjSggyGjsbxnyq = new SjSggyGjsbxnyq();
sjSggyGjsbxnyq.setJh(sjDjjc.getJh());
sjSggyGjsbxnyqMapper.insertSjSggyGjsbxnyq2(sjSggyGjsbxnyq);
List<String> sjggjyh= new ArrayList<>();
List<SgfambKcSggy> sgfambKcSggyList=sgfambKcSggyMapper.selectSgfambKcSggyListByQk(new SgfambKcSggy());
List<SgfambKcSggy> collect = new ArrayList<>();
if(sjDjjc.getFaid()!=null){
collect = sgfambKcSggyList.stream().filter(sgfambKcSggy -> sgfambKcSggy.getZbid().toString().equals(sjDjjc.getFaid().toString())).collect(Collectors.toList());
}
List<SgfambKcSggy> collect = sgfambKcSggyList.stream().filter(sgfambKcSggy -> sgfambKcSggy.getZbid().toString().equals(sjDjjc.getFaid().toString())).collect(Collectors.toList());
// if(collect.size()==0){
// Map<String, List<SgfambKcSggy>> groupedByQk = sgfambKcSggyList.stream()
// .collect(Collectors.groupingBy(SgfambKcSggy::getQk));
......@@ -517,13 +488,18 @@ public class SjDjjcServiceImpl implements ISjDjjcService
// break;
// }
// }
for (SgfambKcSggy sgfambKcSggy : collect) {
if (sgfambKcSggy != null) {
String gjyhxx=sgfambKcSggy.getKc()+"轨迹优化,"+sgfambKcSggy.getGjyh();
sjggjyh.add(gjyhxx);
//查询分段施工
SjFdsgcs sjFdsgcs = new SjFdsgcs();
sjFdsgcs.setKc(sgfambKcSggy.getKc());
sjFdsgcs.setJh(sjDjjc.getJh());
SjFdsgcs sjFdsgcs1 = sjFdsgcsMapper.selectSjFdsgcsByJhAndKc(sjFdsgcs);
String zjzh="";
if(StringUtils.isNotEmpty(sgfambKcSggy.getZjzh())){
boolean containsTemplate = sgfambKcSggy.getZjzh().contains("{{") && sgfambKcSggy.getZjzh().contains("}}");
if (containsTemplate) {
......@@ -539,6 +515,9 @@ public class SjDjjcServiceImpl implements ISjDjjcService
rc,
new TypeReference<Map<String, Object>>() {}
);
// 将JSON字符串转换为Map
// Map<String, Object> resultMap = new HashMap<>();
// resultMap.put("jh", sjDjjc.getJh());
String tokenres = HttpUtil.get(url, resultMap);
System.out.println(tokenres);
zjzh=sgfambKcSggy.getZjzh().replace("{{" + s + "}}", tokenres);
......@@ -551,7 +530,46 @@ public class SjDjjcServiceImpl implements ISjDjjcService
}
}
SjFdsgcs sjFdsgcs1 = sjFdsgcsMapper.selectSjFdsgcsByJhAndKc(sjFdsgcs);
String fxts="";
//邻井风险
if(StringUtils.isNotEmpty( sgfambKcSggy.getFxts())){
SjZysx sjZysx=new SjZysx();
sjZysx.setJh(sjDjjc.getJh());
sjZysx.setLb("喷漏卡塌");
List<SjZysx> sjZysxes = sjZysxMapper.selectSjZysxList(sjZysx);
boolean containsTemplate = sgfambKcSggy.getFxts().contains("{{") && sgfambKcSggy.getFxts().contains("}}");
if (containsTemplate) {
String s= extractFirstVariable(sgfambKcSggy.getFxts());
Mxglpz mxglpz=mxglpzMapper.selectMxglpzByName(s);
if(mxglpz!=null){
String url = mxglpz.getUrl();
String rc = mxglpz.getRc();
ObjectMapper objectMapper = new ObjectMapper();
// 将JSON字符串转换为Map
Map<String, Object> resultMap = objectMapper.readValue(
rc,
new TypeReference<Map<String, Object>>() {}
);
String tokenres = HttpUtil.get(url, resultMap);
System.out.println(tokenres);
fxts=tokenres;
}else {
fxts= s;
}
}else {
fxts= sgfambKcSggy.getFxts();
}
if(sjZysxes.size()>0){
SjZysx sjZysx1 = sjZysxes.get(0);
sjZysx1.setZysx(fxts);
sjZysxMapper.updateSjZysx(sjZysx1);
}else {
sjZysx.setZysx(fxts);
sjZysxMapper.insertSjZysx(sjZysx);
}
}
if (sjFdsgcs1 != null) {
sjFdsgcs1.setJh(sjDjjc.getJh());
sjFdsgcs1.setKc(sgfambKcSggy.getKc());
......@@ -561,6 +579,7 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjFdsgcs1.setGjyh(sgfambKcSggy.getGjyh());
sjFdsgcs1.setZjycs(sgfambKcSggy.getZjycs());
sjFdsgcs1.setZjgccs(sgfambKcSggy.getZjgccs());
sjFdsgcs1.setZyfx(fxts);
sjFdsgcsMapper.updateSjFdsgcs(sjFdsgcs1);
} else {
sjFdsgcs1 = new SjFdsgcs();
......@@ -572,19 +591,24 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjFdsgcs1.setGjyh(sgfambKcSggy.getGjyh());
sjFdsgcs1.setZjycs(sgfambKcSggy.getZjycs());
sjFdsgcs1.setZjgccs(sgfambKcSggy.getZjgccs());
sjFdsgcs1.setZyfx(fxts);
sjFdsgcsMapper.insertSjFdsgcs(sjFdsgcs1);
}
SjZtxx sjZtxx = new SjZtxx();
sjZtxx.setJh(sjDjjc.getJh());
sjZtxx.setKc(sgfambKcSggy.getKc());
sjZtxx.setLb("高指标井推荐");
List<SjZtxx> sjZtxxes = sjZtxxMapper.selectSjZtxxList(sjZtxx);
if (sjZtxxes.size() > 0) {
SjZtxx sjZtxx1 = sjZtxxes.get(0);
sjZtxx1.setZtxh(sgfambKcSggy.getZtxh());
sjZtxx1.setKc(sgfambKcSggy.getKc());
sjZtxx1.setLb("高指标井推荐");
sjZtxxMapper.updateSjZtxx(sjZtxx1);
} else {
sjZtxx.setZtxh(sgfambKcSggy.getZtxh());
sjZtxx.setLb("邻井推荐");
sjZtxx.setKc(sgfambKcSggy.getKc());
sjZtxx.setLb("高指标井推荐");
sjZtxxMapper.insertSjZtxx(sjZtxx);
}
SjZjcsxx sjZjcsxx = new SjZjcsxx();
......@@ -597,76 +621,51 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjZjcsxx1.setZjzs(sgfambKcSggy.getZjzs());
sjZjcsxx1.setZjpl(sgfambKcSggy.getZjpl());
sjZjcsxx1.setZjby(sgfambKcSggy.getZjby());
sjZjcsxx1.setZjzysx(sgfambKcSggy.getZjzysx());
sjZjcsxx1.setZjbysx(sgfambKcSggy.getZjbysx());
sjZjcsxx1.setZjzssx(sgfambKcSggy.getZjzssx());
sjZjcsxx1.setZjplsx(sgfambKcSggy.getZjplsx());
sjZjcsxx1.setCj(sgfambKcSggy.getCj());
sjZjcsxx1.setCc(sgfambKcSggy.getCc());
sjZjcsxx1.setSy(sgfambKcSggy.getSy());
sjZjcsxx1.setYj(sgfambKcSggy.getYj());
sjZjcsxx1.setZjymd(sgfambKcSggy.getZjymd());
sjZjcsxx1.setZtxh(sgfambKcSggy.getZtxh());
sjZjcsxxMapper.updateSjZjcsxx(sjZjcsxx1);
} else {
sjZjcsxx.setZjzy(sgfambKcSggy.getZjzy());
sjZjcsxx.setZjzs(sgfambKcSggy.getZjzs());
sjZjcsxx.setZjpl(sgfambKcSggy.getZjpl());
sjZjcsxx.setZjby(sgfambKcSggy.getZjby());
sjZjcsxx.setZjzysx(sgfambKcSggy.getZjzysx());
sjZjcsxx.setZjbysx(sgfambKcSggy.getZjbysx());
sjZjcsxx.setZjzssx(sgfambKcSggy.getZjzssx());
sjZjcsxx.setZjplsx(sgfambKcSggy.getZjplsx());
sjZjcsxx.setCj(sgfambKcSggy.getCj());
sjZjcsxx.setCc(sgfambKcSggy.getCc());
sjZjcsxx.setSy(sgfambKcSggy.getSy());
sjZjcsxx.setYj(sgfambKcSggy.getYj());
sjZjcsxx.setZjymd(sgfambKcSggy.getZjymd());
sjZjcsxx.setZtxh(sgfambKcSggy.getZtxh());
sjZjcsxxMapper.insertSjZjcsxx(sjZjcsxx);
}
//邻井风险
if(StringUtils.isNotEmpty( sgfambKcSggy.getFxts())){
SjZysx sjZysx=new SjZysx();
sjZysx.setJh(sjDjjc.getJh());
sjZysx.setLb("喷漏卡塌");
List<SjZysx> sjZysxes = sjZysxMapper.selectSjZysxList(sjZysx);
boolean containsTemplate = sgfambKcSggy.getFxts().contains("{{") && sgfambKcSggy.getFxts().contains("}}");
String fxts="";
if (containsTemplate) {
String s= extractFirstVariable(sgfambKcSggy.getFxts());
Mxglpz mxglpz=mxglpzMapper.selectMxglpzByName(s);
if(mxglpz!=null){
String url = mxglpz.getUrl();
String rc = mxglpz.getRc();
ObjectMapper objectMapper = new ObjectMapper();
// 将JSON字符串转换为Map
Map<String, Object> resultMap = objectMapper.readValue(
rc,
new TypeReference<Map<String, Object>>() {}
);
String tokenres = HttpUtil.get(url, resultMap);
System.out.println(tokenres);
fxts=tokenres;
}else {
fxts= s;
}
}else {
fxts= sgfambKcSggy.getFxts();
}
if(sjZysxes.size()>0){
SjZysx sjZysx1 = sjZysxes.get(0);
sjZysx1.setZysx(fxts);
sjZysxMapper.updateSjZysx(sjZysx1);
}else {
sjZysx.setZysx(fxts);
sjZysxMapper.insertSjZysx(sjZysx);
}
}
//钻头参数信息
SjZtcsxx sjZtcsxx = new SjZtcsxx();
sjZtcsxx.setJh(sjDjjc.getJh());
sjZtcsxx.setKc(sgfambKcSggy.getKc());
sjZtcsxx.setLb("高指标井推荐");
sjZtcsxx.setDy(sgfambKcSggy.getDy());
sjZtcsxx.setZtxh(sgfambKcSggy.getZtxh());
sjZtcsxx.setSy(sgfambKcSggy.getSy());
sjZtcsxx.setFfp(sgfambKcSggy.getFfp());
sjZtcsxx.setFfpcx(sgfambKcSggy.getFfpcx());
sjZtcsxxMapper.deleteSjZtcsxxByJhAndKcAndlb(sjZtcsxx);
sjZtcsxxMapper.insertSjZtcsxx(sjZtcsxx);
}
}
//井口装置
List<JcxxJkzp> jcxxJkzps = jcxxJkzpMapper.selectJcxxJkzpList(new JcxxJkzp());
JcxxJkzp jcxxJkzp = jcxxJkzps.stream().filter(it -> it.getQk().equals(sjDjjc.getQk())).findFirst().orElse(null);
sjSggyGjsbxnyq.setSjyh(String.join(";", sjggjyh));
sjSggyGjsbxnyqMapper.updateSjSggyGjsbxnyqByjh(sjSggyGjsbxnyq);
if(jcxxJkzp!=null){
SjJkzp sjJkzp =new SjJkzp();
sjJkzp.setJh(sjDjjc.getJh());
sjJkzp.setClcb(jcxxJkzp.getClcb());
sjJkzp.setJlgh(jcxxJkzp.getJlgh());
sjJkzp.setSyyq(jcxxJkzp.getSyyq());
sjJkzp.setZjkzz(jcxxJkzp.getZjkzz());
sjJkzpMapper.insertSjJkzp(sjJkzp);
}
List<JcxxHse> jcxxHses = jcxxHseMapper.selectJcxxHseList(new JcxxHse());
JcxxHse jcxxHse = jcxxHses.stream().filter(it -> it.getQk().equals(sjDjjc.getQk())).findFirst().orElse(null);
if(jcxxHse!=null){
SjHse sjHse =new SjHse();
sjHse.setJh(sjDjjc.getJh());
sjHse.setHse(jcxxHse.getHse());
sjHseMapper.insertSjHse(sjHse);
}
return sjDjjcMapper.updateSjDjjc(sjDjjc);
}
......@@ -733,13 +732,11 @@ public class SjDjjcServiceImpl implements ISjDjjcService
// sjLjjwMapper.insertSjLjjwBatch(sjLjjwList);
//
// }
param.setJkhzb(null);
param.setJkzzb(null);
param.setJdhzb(null);
param.setJdzzb(null);
param.setJh(ljjh);
CommonParam param1 = new CommonParam();
param1.setJh(ljjh);
param1.setQk(sjDjjc.getQk());
//周期分析
List<DjZqsjfx> zqshfxList = djdcService.getZqshfxList(param);
List<DjZqsjfx> zqshfxList = djdcService.getZqshfxList(param1);
List<SjZqfx> sjZqfxList=new ArrayList<>();
zqshfxList.forEach(item->{
SjZqfx sjZqfx=new SjZqfx();
......@@ -763,7 +760,7 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjZqfxMapper.insertSjZqfxBatch(sjZqfxList);
}
//钻头关键数据
List<Djjc> djjcList = djdcService.getDjjcList(param);
List<Djjc> djjcList = djdcService.getDjjcList(param1);
List<SjZtgjsj> sjZtgjsjList=new ArrayList<>();
djjcList.forEach(item->{
......@@ -778,7 +775,9 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjZtgjsjMapper.insertSjZtgjsjBatch(sjZtgjsjList);
}
//区块钻头分析
List<DjZtfx> djZtfxList = djdcService.getDjZtfxList(param);
CommonParam commonParam =new CommonParam();
commonParam.setQk(sjDjjc.getQk());
List<DjZtfx> djZtfxList = djdcService.getDjZtfxList(commonParam);
List<SjQkztfx> sjQkztfxList=new ArrayList<>();
djZtfxList.forEach(item->{
SjQkztfx sjQkztfx=new SjQkztfx();
......@@ -802,8 +801,10 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjInfo.setZtcc(sjJsjgList.get(i).getZtzj());
sjInfoList.add(sjInfo);
}
param.setSj(sjInfoList);
List<LjSzfxjg> ljSzfxjgList=djdcService.getSztfxjgList(djZtfxList,djjcList,param);
CommonParam zsParam=new CommonParam();
zsParam.setSj(sjInfoList);
zsParam.setJh(ljjh);
List<LjSzfxjg> ljSzfxjgList=djdcService.getSztfxjgList(djZtfxList,djjcList,zsParam);
List<SjSzfxjg> sjSzfxjgList=new ArrayList<>();
ljSzfxjgList.forEach(item->{
SjSzfxjg sjSzfxjg=new SjSzfxjg();
......@@ -828,6 +829,15 @@ public class SjDjjcServiceImpl implements ISjDjjcService
sjJsjg.setJh(jh);
List<SjJsjg> sjJsjgList = sjJsjgMapper.selectSjJsjgList(sjJsjg);
List<SjLjtjzt> sjLjtjztList=new ArrayList<>();
SjDjjc sjDjjc=sjDjjcMapper.selectSjDjjcByJh(jh);
List<SgfambKcSggy> sgfambKcSggyList=sgfambKcSggyMapper.selectSgfambKcSggyListByQk(new SgfambKcSggy());
List<SgfambKcSggy> sggyList = new ArrayList<>();
if(sjDjjc.getFaid()!=null){
sggyList = sgfambKcSggyList.stream().filter(sgfambKcSggy -> sgfambKcSggy.getZbid().toString().equals(sjDjjc.getFaid().toString())).collect(Collectors.toList());
}
double ksjs=0;
for(int i=0;i<sjJsjgList.size();i++){
SjJsjg sjJsjg1 = sjJsjgList.get(i);
......@@ -864,12 +874,34 @@ public class SjDjjcServiceImpl implements ISjDjjcService
djjc.setKc(kc+"");
djjc.setJd(it.getJd());
djjc.setJxzs(it.getJxzs());
// Djjc djjc1=djdcService.selectZtsj(djjc);
// if(djjc1!=null){
// sjLjtjzt.setCj(djjc1.getCj());
// }
Djjc djjc1=djdcService.selectZtsj(djjc);
if(djjc1!=null){
sjLjtjzt.setCj(djjc1.getCj());
}
sjLjtjztList.add(sjLjtjzt);
});
//
SgfambKcSggy sgfambKcSggy=sggyList.stream().filter(it->it.getKc().equals(sjJsjg1.getKc())).findFirst().orElse(null);
if(sgfambKcSggy!=null){
//概要施工参数
SjSggyZjzhcs sjSggyZjzhcs=new SjSggyZjzhcs();
sjSggyZjzhcs.setJh(jh);
sjSggyZjzhcs.setKc(sjJsjg1.getKc());
sjSggyZjzhcs.setJd(ksjs+"-"+sjJsjg1.getJs());
sjSggyZjzhcs.setZtxh(sgfambKcSggy.getZtxh());
sjSggyZjzhcs.setCc(sgfambKcSggy.getCc());
sjSggyZjzhcs.setSy(sgfambKcSggy.getSy());
sjSggyZjzhcs.setZjymd(sgfambKcSggy.getZjymd());
sjSggyZjzhcs.setZjpl(StringUtils.isNotEmpty(sgfambKcSggy.getZjplsx())?sgfambKcSggy.getZjpl()+"-"+sgfambKcSggy.getZjplsx():sgfambKcSggy.getZjpl());
sjSggyZjzhcs.setZjby(StringUtils.isNotEmpty(sgfambKcSggy.getZjbysx())?sgfambKcSggy.getZjby()+"-"+sgfambKcSggy.getZjbysx():sgfambKcSggy.getZjby());
sjSggyZjzhcs.setZjjg(sgfambKcSggy.getZjzh());
sjSggyZjzhcs.setCj(sgfambKcSggy.getCj());
sjSggyZjzhcs.setYj(sgfambKcSggy.getYj());
sjSggyZjzhcs.setZjzy(StringUtils.isNotEmpty(sgfambKcSggy.getZjzysx())?sgfambKcSggy.getZjzy()+"-"+sgfambKcSggy.getZjzysx():sgfambKcSggy.getZjzy());
sjSggyZjzhcs.setZjzs(StringUtils.isNotEmpty(sgfambKcSggy.getZjzssx())?sgfambKcSggy.getZjzs()+"-"+sgfambKcSggy.getZjzssx():sgfambKcSggy.getZjzs());
sjSggyZjzhcsMapper.deleteSjSggyZjzhcsByZjzhcs(sjSggyZjzhcs);
sjSggyZjzhcsMapper.insertSjSggyZjzhcs(sjSggyZjzhcs);
}
if(collect.size()>0){
SjZtgjsj sjZtgjsj1 = collect.get(0);
sjZtxx.setJh(jh);
......@@ -926,26 +958,7 @@ public class SjDjjcServiceImpl implements ISjDjjcService
// sjFdsgcs1.setZjzh(zjzh);
// sjFdsgcsMapper.insertSjFdsgcs(sjFdsgcs1);
// }
// //概要施工参数
// SjSggyZjzhcs sjSggyZjzhcs=new SjSggyZjzhcs();
// sjSggyZjzhcs.setJh(jh);
// sjSggyZjzhcs.setKc(sjJsjg1.getKc());
// sjSggyZjzhcs.setJd(ksjs+"-"+sjJsjg1.getJs());
// sjSggyZjzhcs.setZtxh(sjZtgjsj1.getZtxh());
// sjSggyZjzhcs.setCc(sjZtgjsj1.getZtcc()+"");
// sjSggyZjzhcs.setSy(sjZtgjsj1.getPz()+"");
// sjSggyZjzhcs.setZjymd(sjZtgjsj1.getZjymd()+"");
// sjSggyZjzhcs.setZjpl(sjZtgjsj1.getPl()+"");
// sjSggyZjzhcs.setZjby(sjZtgjsj1.getLgby()+"");
// sjSggyZjzhcs.setZjjg(zjzh);
// if(djjc1!=null){
// sjSggyZjzhcs.setCj(djjc1.getCj());
// sjSggyZjzhcs.setYj(djjc1.getZtyj()+"");
// sjSggyZjzhcs.setZjzy(djjc1.getZy());
// sjSggyZjzhcs.setZjzs(djjc1.getZs()+"");
// }
// sjSggyZjzhcsMapper.deleteSjSggyZjzhcsByZjzhcs(sjSggyZjzhcs);
// sjSggyZjzhcsMapper.insertSjSggyZjzhcs(sjSggyZjzhcs);
}
}
if(sjLjtjztList.size()>0){
......@@ -1074,5 +1087,76 @@ public class SjDjjcServiceImpl implements ISjDjjcService
}
}
@Override
public int getGzbjList(String jh) throws Exception {
//查询附近邻井
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 =new HashMap<>();
if(zqshfxList.size()>0){
result = zqshfxList.stream().filter(it->StringUtils.isNotEmpty(it.getKc()) && it.getZb()!=null)
.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()));
}
if(list2.size()>0){
//保存邻井
String[] collect2Array = list2.stream().distinct().limit(5).toArray(String[]::new);
param.setJhs(collect2Array);
param.setJdhzb(sjDjjc1.getJkhzb());
param.setJdzzb(sjDjjc1.getJkzzb());
List<Ljjw> ljjwList2=djdcService.getLjjwList3(param);
List<SjLjjw> sjLjjwList=new ArrayList<>();
ljjwList2.forEach(item->{
SjLjjw sjLjjw=new SjLjjw();
BeanUtils.copyProperties(item,sjLjjw);
sjLjjw.setJh(jh);
sjLjjw.setLjjh(item.getJh());
sjLjjwList.add(sjLjjw);
});
if(sjLjjwList.size()>0){
sjLjjwMapper.deleteSjLjjwByJh(jh);
sjLjjwMapper.insertSjLjjwBatch(sjLjjwList);
}
CommonParam commonParam=new CommonParam();
commonParam.setQk(sjDjjc1.getQk());
commonParam.setSjjh(jh);
commonParam.setJh(String.join(",",list2));
saveLjzl(commonParam);
}
}
}
}
return 1;
}
}
......@@ -329,7 +329,13 @@ public class SjFdsgcsServiceImpl implements ISjFdsgcsService
sjFdsgcs.setZjgccs(zjgccs);
sjFdsgcs.setZjycs(zjycs);
sjFdsgcs.setZyfx(zyfx);
String join = String.join(";", fzqk);
String join = "";
if(fzqk.size()>0){
join = String.join(";", fzqk);
}else {
join = "无";
}
if(ytzl>0&& ytzl<100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%;";
sjFdsgcs.setTzqk(tzqk);
......@@ -344,9 +350,11 @@ public class SjFdsgcsServiceImpl implements ISjFdsgcsService
if(ytzl>0&& ytzl<100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%";
sjFdsgcs.setTzqk(tzqk);
sjFdsgcs.setLjfzqk("无");
}else if(ytzl>=100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%,可实现一趟钻完成";
sjFdsgcs.setTzqk(tzqk);
sjFdsgcs.setLjfzqk("无");
}
......@@ -409,7 +417,12 @@ public class SjFdsgcsServiceImpl implements ISjFdsgcsService
sjFdsgcs1.setZjgccs(zjgccs);
sjFdsgcs1.setZjycs(zjycs);
sjFdsgcs1.setZyfx(zyfx);
String join = String.join(";", fzqk);
String join = "";
if(fzqk.size()>0){
join = String.join(";", fzqk);
}else {
join = "无";
}
if(ytzl>=0&& ytzl<100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%;";
sjFdsgcs1.setTzqk(tzqk);
......@@ -423,18 +436,39 @@ public class SjFdsgcsServiceImpl implements ISjFdsgcsService
if(ytzl>=0&& ytzl<100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%";
sjFdsgcs1.setTzqk(tzqk);
sjFdsgcs1.setLjfzqk("无");
}else if(ytzl>=100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%,可实现一趟钻完成";
sjFdsgcs1.setTzqk(tzqk);
sjFdsgcs1.setLjfzqk("无");
}
}
}else {
if(ytzl>=0&& ytzl<100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%";
sjFdsgcs1.setTzqk(tzqk);
sjFdsgcs1.setLjfzqk("无");
}else if(ytzl>=100){
String tzqk="邻井一趟钻完成率为"+ytzl+"%,可实现一趟钻完成";
sjFdsgcs1.setTzqk(tzqk);
sjFdsgcs1.setLjfzqk("无");
}
}
//井段情况
double cs = CxszhUtil.getCs(sjJygjGdsjgdcsList, sjJsjg1.getJs());
csaa=cs;
SjFdsgcsDcyx sjFdsgcsDcyx =new SjFdsgcsDcyx();
sjFdsgcsDcyx.setJh(sjFdsgcs1.getJh());
sjFdsgcsDcyx.setKscs(previousDepth);
sjFdsgcsDcyx.setJscs(cs);
List<SjFdsgcsDcyx> sjFdsgcsDcyxList=sjFdsgcsDcyxMapper.getListByJh(sjFdsgcsDcyx);
if(sjFdsgcsDcyxList.size()>0){
if(sjFdsgcsDcyxList.size()==1){
sjFdsgcs1.setJdqk(previousDepth+"-"+cs+","+sjFdsgcsDcyxList.get(0).getDcmc());
}else {
sjFdsgcs1.setJdqk(previousDepth+"-"+cs+","+sjFdsgcsDcyxList.get(0).getDcmc()+"-"+sjFdsgcsDcyxList.get(sjFdsgcsDcyxList.size()-1).getDcmc());
}
}
sjFdsgcsMapper.updateSjFdsgcs(sjFdsgcs1);
......
......@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
import com.zjsgfa.common.utils.StringUtils;
import com.zjsgfa.common.utils.bean.BeanUtils;
import com.zjsgfa.project.zjsgfa.domain.SjSggyZjyFdxnb;
import com.zjsgfa.project.zjsgfa.domain.SjZjyFdxnb;
import com.zjsgfa.project.zjsgfa.mapper.SjSggyZjyFdxnbMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -78,14 +79,18 @@ public class SjFdsgcsZjyFdxnbServiceImpl implements ISjFdsgcsZjyFdxnbService
);
// 提取井段(去重,按顺序排列)
List<String> wellSegments = list.stream()
// List<String> wellSegments = list.stream()
// .map(SjFdsgcsZjyFdxnb::getJd)
// .distinct().sorted((s1, s2) -> {
// // 提取第一个数值
// int num1 = extractStartNumber(s1);
// int num2 = extractStartNumber(s2);
// return Integer.compare(num1, num2);
// })
// .collect(Collectors.toList());
List<String> wellSegments = list.stream().sorted(Comparator.comparing(SjFdsgcsZjyFdxnb::getFirstNumber))
.map(SjFdsgcsZjyFdxnb::getJd)
.distinct().sorted((s1, s2) -> {
// 提取第一个数值
int num1 = extractStartNumber(s1);
int num2 = extractStartNumber(s2);
return Integer.compare(num1, num2);
})
.distinct()
.collect(Collectors.toList());
// 表格数据:每行对应一个固定项目,每列对应一个井段
......
......@@ -72,14 +72,18 @@ public class SjSggyZjyFdxnbServiceImpl implements ISjSggyZjyFdxnbService
);
// 提取井段(去重,按顺序排列)
List<String> wellSegments = list.stream()
// List<String> wellSegments = list.stream()
// .map(SjSggyZjyFdxnb::getJd)
// .distinct().sorted((s1, s2) -> {
// // 提取第一个数值
// int num1 = extractStartNumber(s1);
// int num2 = extractStartNumber(s2);
// return Integer.compare(num1, num2);
// })
// .collect(Collectors.toList());
List<String> wellSegments = list.stream().sorted(Comparator.comparing(SjSggyZjyFdxnb::getFirstNumber))
.map(SjSggyZjyFdxnb::getJd)
.distinct().sorted((s1, s2) -> {
// 提取第一个数值
int num1 = extractStartNumber(s1);
int num2 = extractStartNumber(s2);
return Integer.compare(num1, num2);
})
.distinct()
.collect(Collectors.toList());
// 表格数据:每行对应一个固定项目,每列对应一个井段
List<Map<String, String>> tableData = new ArrayList<>();
......
......@@ -6,6 +6,7 @@ import java.util.stream.Collectors;
import com.zjsgfa.common.utils.DateUtils;
import com.zjsgfa.project.zjsgfa.domain.SjFdsgcsZjyFdxnb;
import com.zjsgfa.project.zjsgfa.domain.SjSggyZjyFdxnb;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zjsgfa.project.zjsgfa.mapper.SjZjyFdxnbMapper;
......@@ -72,14 +73,18 @@ public class SjZjyFdxnbServiceImpl implements ISjZjyFdxnbService
);
// 提取井段(去重,按顺序排列)
List<String> wellSegments = list.stream()
// List<String> wellSegments = list.stream()
// .map(SjZjyFdxnb::getJd)
// .distinct().sorted((s1, s2) -> {
// // 提取第一个数值
// int num1 = extractStartNumber(s1);
// int num2 = extractStartNumber(s2);
// return Integer.compare(num1, num2);
// })
// .collect(Collectors.toList());
List<String> wellSegments = list.stream().sorted(Comparator.comparing(SjZjyFdxnb::getFirstNumber))
.map(SjZjyFdxnb::getJd)
.distinct().sorted((s1, s2) -> {
// 提取第一个数值
int num1 = extractStartNumber(s1);
int num2 = extractStartNumber(s2);
return Integer.compare(num1, num2);
})
.distinct()
.collect(Collectors.toList());
// 表格数据:每行对应一个固定项目,每列对应一个井段
......
......@@ -4,6 +4,7 @@ import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.*;
import com.zjsgfa.common.utils.StringUtils;
......@@ -456,7 +457,7 @@ public class DjdcController {
@PostMapping(value = "/szfxjgccdy")
public AjaxResult ccdmxdy(@RequestBody LjSzfxjg ljSzfxjg,HttpServletResponse response) throws IOException {
Map<String, Object> map = new HashMap<>();
map.put("stream", true);
map.put("stream", false);
Map<String, Object> map2 = new HashMap<>();
map2.put("field_name","data");
map2.put("type","input");
......@@ -470,13 +471,16 @@ public class DjdcController {
// dymxcom(map,url,key,response);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(map);
// String result2 = HttpRequest.post(url).header("Authorization","Bearer "+key).body(json).execute().body();
// System.out.println(result2);
String result2 = HttpRequest.post(url).header("Authorization","Bearer "+key).body(json).execute().body();
System.out.println(result2);
// // 解析API响应
String textPresentation ="由于您没有提供具体的各开次时效最大的前5口钻具组合分析统计结果数据,我无法进行实际的数据分析和推荐。不过,我可以为您提供一个通用的分析框架和示例输出,您可以根据实际数据填充具体内容。\\n\\n通用分析框架:\\n\\n1. 数据分析:\\n- 对于每个开次(如一开、二开、三开等),查看时效最高的5个钻具组合\\n- 比较它们的机械钻速、钻头寿命、稳定性等关键指标\\n- 分析地层特点与钻具组合的匹配程度\\n\\n2. 选择最优钻具组合:\\n- 优先选择时效最高的组合\\n- 在时效相近时,选择稳定性更好的组合\\n- 考虑钻头寿命与更换频率的平衡\\n\\n3. 理由阐明:\\n- 该组合在类似地层中表现最佳\\n- 机械钻速与钻压、转速等参数匹配最优\\n- 振动控制良好,减少非生产时间\\n\\n示例输出(请用实际数据替换):\\n\\n```json\\n{\\n \\\"bit_recommendations\\\": {\\n \\\"section_1\\\": {\\n \\\"recommended_bit\\\": \\\"Φ444.5mm PDC钻头 + Φ203.2mm钻铤×6根 + Φ177.8mm钻铤×9根 + 随钻震击器\\\",\\n \\\"rationale\\\": \\\"该组合在一开表层钻井中平均机械钻速达到35m/h,比第二名的28m/h高出25%,且振动幅度控制在安全范围内,起下钻次数最少。\\\"\\n },\\n \\\"section_2\\\": {\\n \\\"recommended_bit\\\": \\\"Φ311.2mm 混合钻头 + Φ228.6mm钻铤×9根 + Φ203.2mm钻铤×6根 + 螺杆钻具\\\",\\n \\\"rationale\\\": \\\"在二开井段硬夹层地层中,该组合时效达到22m/h,钻头寿命达180小时,无需中途更换,综合时效比使用牙轮钻头提高40%。\\\"\\n },\\n \\\"section_3\\\": {\\n \\\"recommended_bit\\\": \\\"Φ215.9mm 5刀翼PDC钻头 + Φ165.1mm钻铤×12根 + 随钻测斜仪 + 涡轮增压器\\\",\\n \\\"rationale\\\": \\\"针对三开深部复杂地层,该组合在保持18m/h钻速的同时,有效控制井斜在1°以内,减少纠斜时间,综合时效最优。\\\"\\n }\\n }\\n}\\n```\\n\\n请提供具体的各开次前5名钻具组合的详细统计数据(包括但不限于:钻头类型、钻具组合、机械钻速、钻头寿命、振动数据等),我可以为您做出更精确的分析和推荐。";
// String textPresentation ="由于您没有提供具体的各开次时效最大的前5口钻具组合分析统计结果数据,我无法进行实际的数据分析和推荐。不过,我可以为您提供一个通用的分析框架和示例输出,您可以根据实际数据填充具体内容。\\n\\n通用分析框架:\\n\\n1. 数据分析:\\n- 对于每个开次(如一开、二开、三开等),查看时效最高的5个钻具组合\\n- 比较它们的机械钻速、钻头寿命、稳定性等关键指标\\n- 分析地层特点与钻具组合的匹配程度\\n\\n2. 选择最优钻具组合:\\n- 优先选择时效最高的组合\\n- 在时效相近时,选择稳定性更好的组合\\n- 考虑钻头寿命与更换频率的平衡\\n\\n3. 理由阐明:\\n- 该组合在类似地层中表现最佳\\n- 机械钻速与钻压、转速等参数匹配最优\\n- 振动控制良好,减少非生产时间\\n\\n示例输出(请用实际数据替换):\\n\\n```json\\n{\\n \\\"bit_recommendations\\\": {\\n \\\"section_1\\\": {\\n \\\"recommended_bit\\\": \\\"Φ444.5mm PDC钻头 + Φ203.2mm钻铤×6根 + Φ177.8mm钻铤×9根 + 随钻震击器\\\",\\n \\\"rationale\\\": \\\"该组合在一开表层钻井中平均机械钻速达到35m/h,比第二名的28m/h高出25%,且振动幅度控制在安全范围内,起下钻次数最少。\\\"\\n },\\n \\\"section_2\\\": {\\n \\\"recommended_bit\\\": \\\"Φ311.2mm 混合钻头 + Φ228.6mm钻铤×9根 + Φ203.2mm钻铤×6根 + 螺杆钻具\\\",\\n \\\"rationale\\\": \\\"在二开井段硬夹层地层中,该组合时效达到22m/h,钻头寿命达180小时,无需中途更换,综合时效比使用牙轮钻头提高40%。\\\"\\n },\\n \\\"section_3\\\": {\\n \\\"recommended_bit\\\": \\\"Φ215.9mm 5刀翼PDC钻头 + Φ165.1mm钻铤×12根 + 随钻测斜仪 + 涡轮增压器\\\",\\n \\\"rationale\\\": \\\"针对三开深部复杂地层,该组合在保持18m/h钻速的同时,有效控制井斜在1°以内,减少纠斜时间,综合时效最优。\\\"\\n }\\n }\\n}\\n```\\n\\n请提供具体的各开次前5名钻具组合的详细统计数据(包括但不限于:钻头类型、钻具组合、机械钻速、钻头寿命、振动数据等),我可以为您做出更精确的分析和推荐。";
String textPresentation ="";
// try {
// // 创建ObjectMapper实例
// ObjectMapper objectMapper = new ObjectMapper();
// // 全局忽略未知字段
// objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// // 解析JSON为ApiResponse对象
// ApiResponse res = objectMapper.readValue(json, ApiResponse.class);
// // 提取"文本呈现"的内容
......@@ -486,9 +490,59 @@ public class DjdcController {
// } catch (Exception e) {
// e.printStackTrace();
// }
// 解析为顶层JsonObject
JsonObject root = gson.fromJson(result2, JsonObject.class);
// 逐层获取"文本呈现"内容
// 1. 获取外层data节点
JsonObject outerData = root.getAsJsonObject("data");
// 2. 获取内层data节点
JsonObject innerData = outerData.getAsJsonObject("data");
// 3. 获取"文本呈现"字段的值
textPresentation = innerData.get("文本呈现").getAsString();
// 打印结果
System.out.println("文本呈现内容:\n" + textPresentation);
// 进阶:提取"文本呈现"中嵌套的JSON示例(如bit_recommendations)
// 1. 从文本中截取JSON部分(通过```json标记分割)
// String[] textParts = textPresentation.split("```json");
// if (textParts.length > 1) {
// String jsonPart = textParts[1].split("```")[0].trim();
// // 2. 解析截取的JSON字符串
// JsonObject recommendations = gson.fromJson(jsonPart, JsonObject.class);
// // 3. 获取一开推荐的钻头
// String section1Bit = recommendations
// .getAsJsonObject("bit_recommendations")
// .getAsJsonObject("section_1")
// .get("recommended_bit")
// .getAsString();
//
// System.out.println("\n一开推荐钻头:" + section1Bit); // 输出 P5354
// }
return AjaxResult.success(textPresentation);
}
public static void main(String[] args) {
String json="{\"code\":200,\"msg\":\"成功\",\"data\":{\"event\":\"workflow_finished\",\"session_id\":\"1ef1627eedc6498bbd197a1697a0c7fb\",\"step_id\":\"\",\"created\":1763347609215,\"data\":{\"usage\":{\"completion_tokens\":881,\"max_token\":\"8k\",\"prompt_tokens\":886,\"total_tokens\":1767},\"文本呈现\":\"### 数据分析\\n\\n首先,我们需要对输入的数据进行详细分析,以便为每个开次选择最优的钻具组合。输入数据包含了多个开次(如一开、二开)的钻头使用情况,主要关注以下几个方面:\\n1. **钻头进尺最高**:反映了钻头在单次使用中的钻进能力。\\n2. **钻头机速最快**:反映了钻头的机械钻速,即单位时间内的钻进速度。\\n3. **钻头数量使用最多**:反映了该钻头的使用频率和可靠性。\\n4. **一趟钻率**:反映了钻头在一次下井中完成钻进任务的能力,高一趟钻率通常意味着更高的效率和更少的起下钻时间。\\n\\n#### 一开(1开)数据分析:\\n- **P5354钻头**:\\n - 进尺最高:359.0米(5只钻头,一趟钻率100%)。\\n - 机速最快:机械转速126.88(5只钻头,一趟钻率100%)。\\n - 数量使用最多:5只钻头,一趟钻率100%。\\n - 其他:在所有指标中表现最优,且一趟钻率高达100%,说明其效率和可靠性非常高。\\n\\n#### 二开(2开)数据分析:\\n- **HT2565钻头**:\\n - 进尺最高:2758.3米(4只钻头,一趟钻率25%)。\\n - 机速最快:机械转速40.465(4只钻头,一趟钻率25%)。\\n - 数量使用最多:4只钻头(与HT2555并列),一趟钻率25%。\\n- **HT2555钻头**:\\n - 进尺最高:422.0米(4只钻头,一趟钻率25%)。\\n - 机速最快:机械转速26.925(4只钻头,一趟钻率25%)。\\n - 数量使用最多:4只钻头(与HT2565并列),一趟钻率25%。\\n- 对比:\\n - HT2565在进尺和机速上显著优于HT2555(进尺2758.3 vs 422.0,机速40.465 vs 26.925)。\\n - 一趟钻率两者相同(25%),但HT2565的绝对进尺和机速更高,说明其时效更高。\\n\\n### 选择最优钻头\\n#### 一开(1开):\\n- **最优钻头**:P5354。\\n - 理由:\\n - 在所有指标(进尺、机速、数量)中表现最优。\\n - 一趟钻率100%,说明其高效且可靠,能够一次性完成钻进任务,减少起下钻时间。\\n - 机械转速高达126.88,远高于其他钻头(二开的HT2565仅为40.465),说明其钻进速度极快。\\n\\n#### 二开(2开):\\n- **最优钻头**:HT2565。\\n - 理由:\\n - 进尺最高(2758.3米),远高于HT2555的422.0米,说明其单次钻进能力更强。\\n - 机速最快(40.465),高于HT2555的26.925,说明其钻进速度更快。\\n - 虽然一趟钻率较低(25%),但其绝对进尺和机速的优势足以弥补这一点,综合时效更高。\\n\\n### 输出结果\\n```json\\n{\\n \\\"bit_recommendations\\\": {\\n \\\"section_1\\\": {\\n \\\"recommended_bit\\\": \\\"P5354\\\",\\n \\\"reason\\\": \\\"P5354在一开中表现最优,进尺最高(359.0米)、机速最快(126.88)、数量使用最多(5只),且一趟钻率100%,综合时效最高。\\\"\\n },\\n \\\"section_2\\\": {\\n \\\"recommended_bit\\\": \\\"HT2565\\\",\\n \\\"reason\\\": \\\"HT2565在二开中进尺最高(2758.3米)、机速最快(40.465),虽然一趟钻率为25%,但其绝对进尺和机速的优势使其综合时效最高。\\\"\\n }\\n }\\n}\\n```\"},\"url_list\":[],\"search_results\":[],\"usage\":{\"total_tokens\":1767,\"prompt_tokens\":886,\"completion_tokens\":881,\"max_token\":\"8k\"}}}";
Gson gson = new Gson();
// 解析为顶层JsonObject
JsonObject root = gson.fromJson(json, JsonObject.class);
// 逐层获取"文本呈现"内容
// 1. 获取外层data节点
JsonObject outerData = root.getAsJsonObject("data");
// 2. 获取内层data节点
JsonObject innerData = outerData.getAsJsonObject("data");
// 3. 获取"文本呈现"字段的值
String textPresentation = innerData.get("文本呈现").getAsString();
// 打印结果
System.out.println("文本呈现内容:\n" + textPresentation);
}
......
package com.zjsgfa.project.zt.domain.vo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;
@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class ApiResponse {
private int code;
......
......@@ -30,11 +30,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="sgcstjid" column="sgcstjid" />
<result property="tjmc" column="tjmc" />
<result property="fxts" column="fxts" />
<result property="zjzysx" column="zjzysx" />
<result property="zjzssx" column="zjzssx" />
<result property="zjplsx" column="zjplsx" />
<result property="zjbysx" column="zjbysx" />
<result property="cj" column="cj" />
<result property="cc" column="cc" />
<result property="sy" column="sy" />
<result property="yj" column="yj" />
<result property="zjymd" column="zjymd" />
<result property="dy" column="dy" />
<result property="ffp" column="ffp" />
<result property="ffpcx" column="ffpcx" />
</resultMap>
<sql id="selectSgfambKcSggyVo">
select id, zbid, kc, ksjs, jsjs, ztxh, zjzy, zjzs, zjpl, zjby, zjzh, zjzhzysx, gjfx, gjyh, zjycs,
zjgccs, created_by, created_time, update_by, update_time, zttjid,zjzhtjid,sgcstjid,tjmc,fxts from sgfamb_kc_sggy
zjgccs, created_by, created_time, update_by, update_time, zttjid,zjzhtjid,sgcstjid,tjmc,fxts,zjzysx,zjzssx,zjplsx,zjbysx,cj,cc,sy,yj,zjymd,dy,ffp,ffpcx from sgfamb_kc_sggy
</sql>
<select id="selectSgfambKcSggyList" parameterType="SgfambKcSggy" resultMap="SgfambKcSggyResult">
......@@ -61,6 +73,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="zjzhtjid != null "> and zjzhtjid = #{zjzhtjid}</if>
<if test="sgcstjid != null "> and sgcstjid = #{sgcstjid}</if>
<if test="tjmc != null "> and tjmc = #{tjmc}</if>
<if test="zjzysx != null and zjzysx != ''"> and zjzysx = #{zjzysx}</if>
<if test="zjzssx != null and zjzssx != ''"> and zjzssx = #{zjzssx}</if>
<if test="zjplsx != null and zjplsx != ''"> and zjplsx = #{zjplsx}</if>
<if test="zjbysx != null and zjbysx != ''"> and zjbysx = #{zjbysx}</if>
<if test="cj != null and cj != ''"> and cj = #{cj}</if>
<if test="cc != null and cc != ''"> and cc = #{cc}</if>
<if test="sy != null and sy != ''"> and sy = #{sy}</if>
<if test="yj != null and yj != ''"> and yj = #{yj}</if>
<if test="zjymd != null and zjymd != ''"> and zjymd = #{zjymd}</if>
<if test="dy != null and dy != ''"> and dy = #{dy}</if>
<if test="ffp != null and ffp != ''"> and ffp = #{ffp}</if>
<if test="ffpcx != null and ffpcx != ''"> and ffpcx = #{ffpcx}</if>
</where>
</select>
......@@ -110,6 +134,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="sgcstjid != null">sgcstjid,</if>
<if test="tjmc != null">tjmc,</if>
<if test="fxts != null">fxts,</if>
<if test="zjzysx != null">zjzysx,</if>
<if test="zjzssx != null">zjzssx,</if>
<if test="zjbysx != null">zjbysx,</if>
<if test="zjplsx != null">zjplsx,</if>
<if test="cj != null">cj,</if>
<if test="cc != null">cc,</if>
<if test="sy != null">sy,</if>
<if test="yj != null">yj,</if>
<if test="zjymd != null">zjymd,</if>
<if test="dy != null">dy,</if>
<if test="ffp != null">ffp,</if>
<if test="ffpcx != null">ffpcx,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="zbid != null">#{zbid},</if>
......@@ -136,6 +172,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="sgcstjid != null">#{sgcstjid},</if>
<if test="tjmc != null">#{tjmc},</if>
<if test="fxts != null">#{fxts},</if>
<if test="zjzysx != null">#{zjzysx},</if>
<if test="zjzssx != null">#{zjzssx},</if>
<if test="zjbysx != null">#{zjbysx},</if>
<if test="zjplsx != null">#{zjplsx},</if>
<if test="cj != null">#{cj},</if>
<if test="cc != null">#{cc},</if>
<if test="sy != null">#{sy},</if>
<if test="yj != null">#{yj},</if>
<if test="zjymd != null">#{zjymd},</if>
<if test="dy != null">#{dy},</if>
<if test="ffp != null">#{ffp},</if>
<if test="ffpcx != null">#{ffpcx},</if>
</trim>
</insert>
......@@ -166,6 +214,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="zjzhtjid != null">zjzhtjid = #{zjzhtjid},</if>
<if test="tjmc != null">tjmc = #{tjmc},</if>
<if test="fxts != null">fxts = #{fxts},</if>
<if test="zjzysx != null">zjzysx = #{zjzysx},</if>
<if test="zjzssx != null">zjzssx = #{zjzssx},</if>
<if test="zjbysx != null">zjbysx = #{zjbysx},</if>
<if test="zjplsx != null">zjplsx = #{zjplsx},</if>
<if test="cj != null">cj = #{cj},</if>
<if test="cc != null">cc = #{cc},</if>
<if test="sy != null">sy = #{sy},</if>
<if test="yj != null">yj = #{yj},</if>
<if test="zjymd != null">zjymd = #{zjymd},</if>
<if test="dy != null">dy = #{dy},</if>
<if test="ffp != null">ffp = #{ffp},</if>
<if test="ffpcx != null">ffpcx = #{ffpcx},</if>
</trim>
where id = #{id}
</update>
......
......@@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="cw != null and cw != ''"> and cw = #{cw}</if>
<if test="jds != null "> and jds = #{jds}</if>
</where>
order by jds
</select>
<select id="selectSjDcfxTsyxById" parameterType="Long" resultMap="SjDcfxTsyxResult">
......
......@@ -36,10 +36,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="hsezt" column="hsezt" />
<result property="jhjdzt" column="jhjdzt" />
<result property="flzt" column="flzt" />
<result property="faid" column="faid" />
</resultMap>
<sql id="selectSjDjjcVo">
select id, jh, jb, jx, jkhzb, jkzzb, gzwz, wzcw, ztmd, wzyz, wjfa, created_by, created_time, update_by, update_time, zjgs, zjd, jdhzb, jdzzb, zt, qk, sjzt, ljzlzt, dzfxzt, fxtszt, sggyzt, fdsgzt, jkzt, hsezt, jhjdzt, flzt from sj_djjc
select id, jh, jb, jx, jkhzb, jkzzb, gzwz, wzcw, ztmd, wzyz, wjfa, created_by, created_time, update_by, update_time, zjgs, zjd, jdhzb, jdzzb, zt, qk, sjzt, ljzlzt, dzfxzt, fxtszt, sggyzt, fdsgzt, jkzt, hsezt, jhjdzt, flzt, faid from sj_djjc
</sql>
<select id="selectSjDjjcList" parameterType="SjDjjc" resultMap="SjDjjcResult">
......@@ -119,6 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="hsezt != null">hsezt,</if>
<if test="jhjdzt != null">jhjdzt,</if>
<if test="flzt != null">flzt,</if>
<if test="faid != null">faid,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="jh != null">#{jh},</if>
......@@ -151,6 +153,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="hsezt != null">#{hsezt},</if>
<if test="jhjdzt != null">#{jhjdzt},</if>
<if test="flzt != null">#{flzt},</if>
<if test="faid != null">#{faid},</if>
</trim>
</insert>
......@@ -186,6 +189,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="hsezt != null">hsezt = #{hsezt},</if>
<if test="jhjdzt != null">jhjdzt = #{jhjdzt},</if>
<if test="flzt != null">flzt = #{flzt},</if>
<if test="faid != null">faid = #{faid},</if>
</trim>
where jh = #{jh}
</update>
......
......@@ -23,7 +23,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectSjFdsgcsZjyFdxnbVo">
select id, jh, kc, jd, md, msldnd, apilsl, apinb, jql, ph, hsl, zgh, mzxs, dql, sxnd from sj_fdsgcs_zjy_fdxnb
select id, jh, kc, jd, md, msldnd, apilsl, apinb, jql, ph, hsl, zgh, mzxs, dql, sxnd,
CAST(TRIM(SUBSTRING_INDEX(jd, '~', 1)) AS DECIMAL(10, 2)) AS first_number from sj_fdsgcs_zjy_fdxnb
</sql>
<select id="selectSjFdsgcsZjyFdxnbList" parameterType="SjFdsgcsZjyFdxnb" resultMap="SjFdsgcsZjyFdxnbResult">
......@@ -44,7 +45,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, CAST(SUBSTRING_INDEX(jd, '~', 1) AS UNSIGNED)
order by kc, first_number
</select>
<select id="selectSjFdsgcsZjyFdxnbById" parameterType="Long" resultMap="SjFdsgcsZjyFdxnbResult">
......
......@@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createdBy != null and createdBy != ''"> and created_by = #{createdBy}</if>
<if test="createdTime != null "> and created_time = #{createdTime}</if>
</where>
order by jh ,kc
order by jh ,js
</select>
<select id="selectSjJsjgById" parameterType="Long" resultMap="SjJsjgResult">
......
......@@ -24,10 +24,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createdTime" column="created_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="firstNumber" column="first_number" />
</resultMap>
<sql id="selectSjSggyZjyFdxnbVo">
select id, jh, jd, md, msldnd, apilsl, apinb, jql, ph, hsl, zgh, mzxs, dql, sxnd, bz, created_by, created_time, update_by, update_time from sj_sggy_zjy_fdxnb
select id, jh, jd, md, msldnd, apilsl, apinb, jql, ph, hsl, zgh, mzxs, dql, sxnd, bz, created_by, created_time, update_by, update_time,
CAST(TRIM(SUBSTRING_INDEX(jd, '~', 1)) AS DECIMAL(10, 2)) AS first_number from sj_sggy_zjy_fdxnb
</sql>
<select id="selectSjSggyZjyFdxnbList" parameterType="SjSggyZjyFdxnb" resultMap="SjSggyZjyFdxnbResult">
......@@ -50,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createdBy != null and createdBy != ''"> and created_by = #{createdBy}</if>
<if test="createdTime != null "> and created_time = #{createdTime}</if>
</where>
order by jd
order by first_number
</select>
<select id="selectSjSggyZjyFdxnbById" parameterType="Long" resultMap="SjSggyZjyFdxnbResult">
......
......@@ -24,10 +24,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="createdTime" column="created_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="firstNumber" column="first_number" />
</resultMap>
<sql id="selectSjZjyFdxnbVo">
select id, jh, jd, md, msldnd, apilsl, apinb, jql, ph, hsl, zgh, mzxs, dql, sxnd, bz, created_by, created_time, update_by, update_time from sj_zjy_fdxnb
select id, jh, jd, md, msldnd, apilsl, apinb, jql, ph, hsl, zgh, mzxs, dql, sxnd, bz, created_by, created_time, update_by, update_time,
CAST(TRIM(SUBSTRING_INDEX(jd, '~', 1)) AS DECIMAL(10, 2)) AS first_number from sj_zjy_fdxnb
</sql>
<select id="selectSjZjyFdxnbList" parameterType="SjZjyFdxnb" resultMap="SjZjyFdxnbResult">
......@@ -50,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createdBy != null and createdBy != ''"> and created_by = #{createdBy}</if>
<if test="createdTime != null "> and created_time = #{createdTime}</if>
</where>
order by jd
order by first_number
</select>
<select id="selectSjZjyFdxnbById" parameterType="Long" resultMap="SjZjyFdxnbResult">
......
......@@ -88,4 +88,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
</foreach>
</delete>
<delete id="deleteSjZtcsxxByJhAndKcAndlb">
delete from sj_ztcsxx where jh=#{jh} and kc=#{kc} and lb=#{lb}
</delete>
</mapper>
\ No newline at end of file
......@@ -69,6 +69,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</delete>
<delete id="deleteSjZtxxByZtxx">
delete from sj_ztxx where jh = #{jh} and kc = #{kc}
delete from sj_ztxx where jh = #{jh} and kc = #{kc} and lb = #{lb}
</delete>
</mapper>
\ No newline at end of file
......@@ -269,7 +269,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
kc
ORDER BY
kc
) d on a.JH = d.jh
) d on a.JH = d.jh and c.kc=d.kc
where 1=1
<if test="jdhzb!=null">
and ABS(#{jdhzb} - a.jdhzb) &lt; #{jl}
......
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