mirror of https://gitee.com/y_project/RuoYi.git
feat(all): 增加:winlistCaTask
parent
80786eedf7
commit
3beba7e7b2
|
@ -25,11 +25,11 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- spring-boot-devtools -->
|
<!-- spring-boot-devtools -->
|
||||||
<!-- <dependency>-->
|
<dependency>
|
||||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
<groupId>org.springframework.boot</groupId>
|
||||||
<!-- <artifactId>spring-boot-devtools</artifactId>-->
|
<artifactId>spring-boot-devtools</artifactId>
|
||||||
<!-- <optional>true</optional> <!– 表示依赖不会传递 –>-->
|
<optional>true</optional> <!-- 表示依赖不会传递 -->
|
||||||
<!-- </dependency>-->
|
</dependency>
|
||||||
|
|
||||||
<!-- swagger3-->
|
<!-- swagger3-->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
@ -119,6 +119,11 @@
|
||||||
<artifactId>gson</artifactId>
|
<artifactId>gson</artifactId>
|
||||||
<version>2.11.0</version>
|
<version>2.11.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.google.guava</groupId>
|
||||||
|
<artifactId>guava</artifactId>
|
||||||
|
<version>32.1.3-jre</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.neuhis.his.domain.vo.bjca.BjCaResult;
|
||||||
import com.neuhis.his.domain.vo.bjca.CaResultVo;
|
import com.neuhis.his.domain.vo.bjca.CaResultVo;
|
||||||
import com.neuhis.his.domain.vo.bjca.CaStartVo;
|
import com.neuhis.his.domain.vo.bjca.CaStartVo;
|
||||||
import com.neuhis.his.service.IBjCaService;
|
import com.neuhis.his.service.IBjCaService;
|
||||||
|
import com.neuhis.his.service.winlis.ILasSapSampleregService;
|
||||||
import com.neuhis.his.service.winlis.IWinLisService;
|
import com.neuhis.his.service.winlis.IWinLisService;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
|
@ -31,6 +32,8 @@ public class AppBjCaController {
|
||||||
private IBjCaService bjCaService;
|
private IBjCaService bjCaService;
|
||||||
@Resource
|
@Resource
|
||||||
private IWinLisService winLisService;
|
private IWinLisService winLisService;
|
||||||
|
@Resource
|
||||||
|
private ILasSapSampleregService lasSapSampleregService;
|
||||||
/**
|
/**
|
||||||
* startAutoSign启动自动签名获取的签名数据,[签名任务id]
|
* startAutoSign启动自动签名获取的签名数据,[签名任务id]
|
||||||
* 使用过的任务id: SD_4c6ec5f6-22e3-4fae-b2aa-681e5beacf1e
|
* 使用过的任务id: SD_4c6ec5f6-22e3-4fae-b2aa-681e5beacf1e
|
||||||
|
@ -64,7 +67,9 @@ public class AppBjCaController {
|
||||||
@ApiOperation(value = "获取:Winlis的CA原文", notes = "获取:Winlis的CA原文;生成CA信息(签名结果、证书、时间戳)")
|
@ApiOperation(value = "获取:Winlis的CA原文", notes = "获取:Winlis的CA原文;生成CA信息(签名结果、证书、时间戳)")
|
||||||
public AjaxResult getWinLisCaInfo() {
|
public AjaxResult getWinLisCaInfo() {
|
||||||
//String caOriginText = winLisService.getWinLisCaOriginText("20250228", "WSW_caris200", "9999");
|
//String caOriginText = winLisService.getWinLisCaOriginText("20250228", "WSW_caris200", "9999");
|
||||||
CaResultVo caResultVo = winLisService.generateBjCaInfo("20250228", "WSW_caris200", "9999", autoSignSignDataId);
|
//CaResultVo caResultVo = winLisService.generateBjCaInfo("20250228", "WSW_caris200", "9999", autoSignSignDataId);
|
||||||
return AjaxResult.success(caResultVo);
|
//return AjaxResult.success(caResultVo);
|
||||||
|
//return AjaxResult.success(lasSapSampleregService.selectWaitingCaSignList("202503", 10));
|
||||||
|
return AjaxResult.success(winLisService.winlistCaTask("202503", 10));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,18 +2,22 @@ package com.neuhis.his.domain.entity.winlis;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CA签名信息
|
* CA签名信息 对通过数字签名完成的数据进行保存对象 las_sap_cadata
|
||||||
对通过数字签名完成的数据进行保存对象 las_sap_cadata
|
|
||||||
*
|
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-03-07
|
* @date 2025-03-07
|
||||||
*/
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
public class LasSapCadata extends BaseEntity
|
public class LasSapCadata extends BaseEntity
|
||||||
{
|
{
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
@ -34,124 +38,27 @@ public class LasSapCadata extends BaseEntity
|
||||||
@Excel(name = "条码号")
|
@Excel(name = "条码号")
|
||||||
private String barcode;
|
private String barcode;
|
||||||
|
|
||||||
|
|
||||||
/** 原始数据 */
|
/** 原始数据 */
|
||||||
@Excel(name = "原始数据")
|
@Excel(name = "原始数据")
|
||||||
private String srcdata;
|
private String srcdata;
|
||||||
|
|
||||||
/** CA数据 */
|
/** CA原始数据(原始数据的BASE64形式) */
|
||||||
@Excel(name = "CA数据")
|
@Excel(name = "CA原始数据(原始数据的BASE64形式)")
|
||||||
private String caclobdata;
|
|
||||||
|
|
||||||
/** CA原始数据 */
|
|
||||||
@Excel(name = "CA原始数据")
|
|
||||||
private String srcclobdata;
|
private String srcclobdata;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CA数据,形如:
|
||||||
|
* <pre>
|
||||||
|
* 签名结果:
|
||||||
|
* 时间戳:
|
||||||
|
* 证书:
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Excel(name = "CA数据,包含:签名结果:、时间戳:、证书:")
|
||||||
|
private String caclobdata;
|
||||||
|
|
||||||
/** CAID */
|
/** CAID */
|
||||||
@Excel(name = "CAID")
|
@Excel(name = "CAID")
|
||||||
private String caid;
|
private String caid;
|
||||||
|
|
||||||
public void setCatime(Date catime)
|
|
||||||
{
|
|
||||||
this.catime = catime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getCatime()
|
|
||||||
{
|
|
||||||
return catime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTestdate(String testdate)
|
|
||||||
{
|
|
||||||
this.testdate = testdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTestdate()
|
|
||||||
{
|
|
||||||
return testdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMachineid(String machineid)
|
|
||||||
{
|
|
||||||
this.machineid = machineid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMachineid()
|
|
||||||
{
|
|
||||||
return machineid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSampleid(String sampleid)
|
|
||||||
{
|
|
||||||
this.sampleid = sampleid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSampleid()
|
|
||||||
{
|
|
||||||
return sampleid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBarcode(String barcode)
|
|
||||||
{
|
|
||||||
this.barcode = barcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getBarcode()
|
|
||||||
{
|
|
||||||
return barcode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSrcdata(String srcdata)
|
|
||||||
{
|
|
||||||
this.srcdata = srcdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSrcdata()
|
|
||||||
{
|
|
||||||
return srcdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCaclobdata(String caclobdata)
|
|
||||||
{
|
|
||||||
this.caclobdata = caclobdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCaclobdata()
|
|
||||||
{
|
|
||||||
return caclobdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSrcclobdata(String srcclobdata)
|
|
||||||
{
|
|
||||||
this.srcclobdata = srcclobdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSrcclobdata()
|
|
||||||
{
|
|
||||||
return srcclobdata;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCaid(String caid)
|
|
||||||
{
|
|
||||||
this.caid = caid;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCaid()
|
|
||||||
{
|
|
||||||
return caid;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
|
||||||
.append("catime", getCatime())
|
|
||||||
.append("testdate", getTestdate())
|
|
||||||
.append("machineid", getMachineid())
|
|
||||||
.append("sampleid", getSampleid())
|
|
||||||
.append("barcode", getBarcode())
|
|
||||||
.append("srcdata", getSrcdata())
|
|
||||||
.append("caclobdata", getCaclobdata())
|
|
||||||
.append("srcclobdata", getSrcclobdata())
|
|
||||||
.append("caid", getCaid())
|
|
||||||
.toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.neuhis.his.domain.vo.winlis;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询等待签名的CA列表
|
||||||
|
*
|
||||||
|
* @author dazer
|
||||||
|
* @date 2025/3/7 08:55
|
||||||
|
**/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class LasSapCadataWatingSignVo {
|
||||||
|
private String testdate;
|
||||||
|
private String machineid;
|
||||||
|
private String sampleid;
|
||||||
|
/**
|
||||||
|
* 条码号
|
||||||
|
*/
|
||||||
|
private String barcode;
|
||||||
|
}
|
|
@ -1,77 +1,35 @@
|
||||||
package com.neuhis.his.mapper.winlis;
|
package com.neuhis.his.mapper.winlis;
|
||||||
|
|
||||||
import com.neuhis.his.domain.entity.winlis.LasSapCadata;
|
import com.neuhis.his.domain.entity.winlis.LasSapCadata;
|
||||||
|
import com.neuhis.his.domain.vo.winlis.LasSapCadataWatingSignVo;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CA签名信息
|
* CA签名信息 对通过数字签名完成的数据进行保存Mapper接口
|
||||||
对通过数字签名完成的数据进行保存Mapper接口
|
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
* @date 2025-03-07
|
* @date 2025-03-07
|
||||||
*/
|
*/
|
||||||
public interface LasSapCadataMapper
|
public interface LasSapCadataMapper
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* 查询等待CA签名的列表
|
||||||
|
*/
|
||||||
|
List<LasSapCadataWatingSignVo> selectWaitingCaSignList(String testdateLike, Integer limit);
|
||||||
/**
|
/**
|
||||||
* 查询CA签名信息
|
* 新增CA签名信息 对通过数字签名完成的数据进行保存
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
*
|
*
|
||||||
* @param catime CA签名信息
|
* @param lasSapCadata CA签名信息 对通过数字签名完成的数据进行保存
|
||||||
对通过数字签名完成的数据进行保存主键
|
|
||||||
* @return CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
*/
|
|
||||||
public LasSapCadata selectLasSapCadataByCatime(Date catime);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存列表
|
|
||||||
*
|
|
||||||
* @param lasSapCadata CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
* @return CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存集合
|
|
||||||
*/
|
|
||||||
public List<LasSapCadata> selectLasSapCadataList(LasSapCadata lasSapCadata);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 新增CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
*
|
|
||||||
* @param lasSapCadata CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int insertLasSapCadata(LasSapCadata lasSapCadata);
|
int insertLasSapCadata(LasSapCadata lasSapCadata);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改CA签名信息
|
* 修改CA签名信息对通过数字签名完成的数据进行保存
|
||||||
对通过数字签名完成的数据进行保存
|
* @param lasSapCadata CA签名信息 对通过数字签名完成的数据进行保存
|
||||||
*
|
|
||||||
* @param lasSapCadata CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int updateLasSapCadata(LasSapCadata lasSapCadata);
|
int updateLasSapCadata(LasSapCadata lasSapCadata);
|
||||||
|
|
||||||
/**
|
|
||||||
* 删除CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
*
|
|
||||||
* @param catime CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存主键
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int deleteLasSapCadataByCatime(Date catime);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量删除CA签名信息
|
|
||||||
对通过数字签名完成的数据进行保存
|
|
||||||
*
|
|
||||||
* @param catimes 需要删除的数据主键集合
|
|
||||||
* @return 结果
|
|
||||||
*/
|
|
||||||
public int deleteLasSapCadataByCatimes(String[] catimes);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,22 +15,9 @@ Mapper接口
|
||||||
public interface LasSapSampleregMapper
|
public interface LasSapSampleregMapper
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
*
|
* 根据:三要素查询常规检验注册信息
|
||||||
|
|
||||||
*
|
|
||||||
* @param testdate 常规检验登记表
|
* @param testdate 常规检验登记表
|
||||||
* @return 常规检验登记表
|
* @return 常规检验登记表
|
||||||
*/
|
*/
|
||||||
LasSapSamplereg selectLasSapSampleregByTestdate(@Param("testdate")String testdate,@Param("machineid") String machineid,@Param("sampleId") String sampleId);
|
LasSapSamplereg selectLasSapSampleregByTestdate(@Param("testdate")String testdate,@Param("machineid") String machineid,@Param("sampleId") String sampleId);
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
列表
|
|
||||||
*
|
|
||||||
* @param lasSapSamplereg 常规检验登记表
|
|
||||||
|
|
||||||
* @return 常规检验登记表
|
|
||||||
集合
|
|
||||||
*/
|
|
||||||
List<LasSapSamplereg> selectLasSapSampleregList(LasSapSamplereg lasSapSamplereg);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@ import java.util.Map;
|
||||||
public class BjCaServiceImpl implements IBjCaService {
|
public class BjCaServiceImpl implements IBjCaService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private BjCaConfig bjCaConfig;
|
private BjCaConfig bjCaConfig;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过 https://demo-system.isignet.cn/signHelper/sign.html 校验签名值是否正确
|
* 通过 https://demo-system.isignet.cn/signHelper/sign.html 校验签名值是否正确
|
||||||
* @return
|
* @return
|
||||||
|
@ -87,7 +86,7 @@ public class BjCaServiceImpl implements IBjCaService {
|
||||||
params.put("attachCert", StrUtil.isNotEmpty(signature) ? "true" : "false");//最终产生的时间戳是否带证书 (true/false)
|
params.put("attachCert", StrUtil.isNotEmpty(signature) ? "true" : "false");//最终产生的时间戳是否带证书 (true/false)
|
||||||
params.put("signature", signature);//最终产生的时间戳是否带证书 (true/false)
|
params.put("signature", signature);//最终产生的时间戳是否带证书 (true/false)
|
||||||
BjCaResult<CaCreateAndGetTssInfoVo> result = postBjCa(bjCaConfig.getServerTssInfo(), params, CaCreateAndGetTssInfoVo.class);
|
BjCaResult<CaCreateAndGetTssInfoVo> result = postBjCa(bjCaConfig.getServerTssInfo(), params, CaCreateAndGetTssInfoVo.class);
|
||||||
return result != null && result.isSuccess() ? result.getData().getTsResp() : "";
|
return result.isSuccess() ? result.getData().getTsResp() : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("all")
|
@SuppressWarnings("all")
|
||||||
|
@ -109,6 +108,10 @@ public class BjCaServiceImpl implements IBjCaService {
|
||||||
"北京CA开始HTTP请求,URL:" + (bjCaConfig.getServerBase()+url) + "\n," +
|
"北京CA开始HTTP请求,URL:" + (bjCaConfig.getServerBase()+url) + "\n," +
|
||||||
"请求入参:" + requestJson + "\n" +
|
"请求入参:" + requestJson + "\n" +
|
||||||
"响应结果:" + resultJson);
|
"响应结果:" + resultJson);
|
||||||
|
//89003046 自动签未开启或已过期, 如果;提示这个,需要重新【协同签名】app,后续所有的操作都无法进行
|
||||||
|
if (bjCaResult.getStatus() != null && bjCaResult.getStatus().equals(89003046L)) {
|
||||||
|
throw new RuntimeException("错误码:89003046;错误信息:自动签未开启或已过期,请重新【协同签名】app,后续所有的操作都无法进行,所有操作需要中断!");
|
||||||
|
}
|
||||||
return bjCaResult;
|
return bjCaResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package com.neuhis.his.service.impl;
|
package com.neuhis.his.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.codec.Base64;
|
||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import com.fasterxml.jackson.databind.ser.Serializers;
|
||||||
import com.neuhis.his.domain.dto.DeadLockRac;
|
import com.neuhis.his.domain.dto.DeadLockRac;
|
||||||
import com.ruoyi.common.annotation.DataSource;
|
import com.ruoyi.common.annotation.DataSource;
|
||||||
import com.ruoyi.common.enums.DataSourceType;
|
import com.ruoyi.common.enums.DataSourceType;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.neuhis.his.service.impl.winlis;
|
package com.neuhis.his.service.impl.winlis;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
@ -7,10 +9,14 @@ import cn.hutool.core.lang.Opt;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.neuhis.his.domain.entity.winlis.LasRolPerson;
|
import com.neuhis.his.domain.entity.winlis.LasRolPerson;
|
||||||
import com.neuhis.his.domain.entity.winlis.LasRtResult;
|
import com.neuhis.his.domain.entity.winlis.LasRtResult;
|
||||||
|
import com.neuhis.his.domain.entity.winlis.LasSapCadata;
|
||||||
import com.neuhis.his.domain.entity.winlis.LasSapSamplereg;
|
import com.neuhis.his.domain.entity.winlis.LasSapSamplereg;
|
||||||
|
import com.neuhis.his.domain.vo.bjca.CaResultVo;
|
||||||
|
import com.neuhis.his.domain.vo.winlis.LasSapCadataWatingSignVo;
|
||||||
import com.neuhis.his.domain.vo.winlis.LasSapSampleregVo;
|
import com.neuhis.his.domain.vo.winlis.LasSapSampleregVo;
|
||||||
import com.neuhis.his.mapper.winlis.LasRolPersonMapper;
|
import com.neuhis.his.mapper.winlis.LasRolPersonMapper;
|
||||||
import com.neuhis.his.mapper.winlis.LasRtResultMapper;
|
import com.neuhis.his.mapper.winlis.LasRtResultMapper;
|
||||||
|
import com.neuhis.his.mapper.winlis.LasSapCadataMapper;
|
||||||
import com.neuhis.his.mapper.winlis.LasSapSampleregMapper;
|
import com.neuhis.his.mapper.winlis.LasSapSampleregMapper;
|
||||||
import com.neuhis.his.service.winlis.ILasSapSampleregService;
|
import com.neuhis.his.service.winlis.ILasSapSampleregService;
|
||||||
import com.ruoyi.common.annotation.DataSource;
|
import com.ruoyi.common.annotation.DataSource;
|
||||||
|
@ -35,23 +41,10 @@ public class LasSapSampleregServiceImpl implements ILasSapSampleregService
|
||||||
private LasRtResultMapper lasRtResultMapper;
|
private LasRtResultMapper lasRtResultMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private LasRolPersonMapper latestRolPersonMapper;
|
private LasRolPersonMapper latestRolPersonMapper;
|
||||||
|
@Autowired
|
||||||
|
private LasSapCadataMapper lasSapCadataMapper;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
|
|
||||||
*
|
|
||||||
* @param testdate 常规检验登记表
|
|
||||||
主键
|
|
||||||
* @return 常规检验登记表
|
|
||||||
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public LasSapSamplereg selectLasSapSampleregByTestdate(String testdate, String machineid, String sampleId)
|
|
||||||
{
|
|
||||||
return lasSapSampleregMapper.selectLasSapSampleregByTestdate(testdate, machineid, sampleId);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public LasSapSampleregVo selectLasSapSampleregVo(String testdate, String machineid, String sampleId) {
|
public LasSapSampleregVo selectLasSapSampleregVo(String testdate, String machineid, String sampleId) {
|
||||||
//region 查询1:条码信息 Winlis.las_sap_samplereg
|
//region 查询1:条码信息 Winlis.las_sap_samplereg
|
||||||
|
@ -78,14 +71,39 @@ public class LasSapSampleregServiceImpl implements ILasSapSampleregService
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param lasSapSamplereg 常规检验登记表
|
|
||||||
* @return 常规检验登记表
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public List<LasSapSamplereg> selectLasSapSampleregList(LasSapSamplereg lasSapSamplereg)
|
public List<LasSapCadataWatingSignVo> selectWaitingCaSignList(String testdateLike, Integer limit) {
|
||||||
{
|
return lasSapCadataMapper.selectWaitingCaSignList(testdateLike, limit);
|
||||||
return lasSapSampleregMapper.selectLasSapSampleregList(lasSapSamplereg);
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int insertLasSapCaData(LasSapCadataWatingSignVo watingSignVo, CaResultVo caResultVo) {
|
||||||
|
if (watingSignVo == null || caResultVo == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
LasSapCadata cadata = new LasSapCadata();
|
||||||
|
cadata.setTestdate(watingSignVo.getTestdate());
|
||||||
|
cadata.setMachineid(watingSignVo.getMachineid());
|
||||||
|
cadata.setSampleid(watingSignVo.getSampleid());
|
||||||
|
cadata.setBarcode(watingSignVo.getBarcode());
|
||||||
|
|
||||||
|
cadata.setSrcdata(caResultVo.getOriData());
|
||||||
|
cadata.setSrcclobdata(caResultVo.getOriDataBase64());
|
||||||
|
cadata.setCatime(new Date());
|
||||||
|
cadata.setCaid(caResultVo.getSignDataId());
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CA数据,形如:
|
||||||
|
* 签名结果:
|
||||||
|
* 时间戳:
|
||||||
|
* 证书:
|
||||||
|
*/
|
||||||
|
String caclobdata =
|
||||||
|
"签名结果:" + caResultVo.getSignResult() + "\n"
|
||||||
|
+"时间戳:" + caResultVo.getTimeciphertext() + "\n"
|
||||||
|
+"证书:" + caResultVo.getSignCert()
|
||||||
|
;
|
||||||
|
cadata.setCaclobdata(caclobdata);
|
||||||
|
return lasSapCadataMapper.insertLasSapCadata(cadata);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,12 @@ import cn.hutool.core.codec.Base64;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||||
import com.neuhis.his.domain.entity.winlis.LasRtResult;
|
import com.neuhis.his.domain.entity.winlis.LasRtResult;
|
||||||
import com.neuhis.his.domain.vo.bjca.BjCaResult;
|
import com.neuhis.his.domain.vo.bjca.BjCaResult;
|
||||||
import com.neuhis.his.domain.vo.bjca.CaResultVo;
|
import com.neuhis.his.domain.vo.bjca.CaResultVo;
|
||||||
import com.neuhis.his.domain.vo.bjca.CaStartVo;
|
import com.neuhis.his.domain.vo.bjca.CaStartVo;
|
||||||
|
import com.neuhis.his.domain.vo.winlis.LasSapCadataWatingSignVo;
|
||||||
import com.neuhis.his.domain.vo.winlis.LasSapSampleregVo;
|
import com.neuhis.his.domain.vo.winlis.LasSapSampleregVo;
|
||||||
import com.neuhis.his.service.IBjCaService;
|
import com.neuhis.his.service.IBjCaService;
|
||||||
import com.neuhis.his.service.winlis.ILasSapSampleregService;
|
import com.neuhis.his.service.winlis.ILasSapSampleregService;
|
||||||
|
@ -20,8 +22,10 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ArrayBlockingQueue;
|
||||||
import static cn.hutool.core.date.DatePattern.NORM_DATETIME_PATTERN;
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Winlis相关
|
* Winlis相关
|
||||||
|
@ -33,10 +37,27 @@ import static cn.hutool.core.date.DatePattern.NORM_DATETIME_PATTERN;
|
||||||
@Service
|
@Service
|
||||||
@DataSource(value = DataSourceType.WINLIS)
|
@DataSource(value = DataSourceType.WINLIS)
|
||||||
public class WinLisServiceImpl implements IWinLisService {
|
public class WinLisServiceImpl implements IWinLisService {
|
||||||
|
/**
|
||||||
|
* 线程池
|
||||||
|
* Executors.newFixedThreadPool(10);
|
||||||
|
* 这里不限制大小,线程会按照最大能力,开启,限制了大小,比如:10, 就一共只开启这么多线程
|
||||||
|
* 核心线程:60个;当线程超过核心线程会增加到最大线程:120个;当超过队列:500个,就会抛弃掉;
|
||||||
|
* 队列数量不能太多:否则oom
|
||||||
|
*/
|
||||||
|
private static ThreadPoolExecutor executorService = new ThreadPoolExecutor(20, 50, 60L, TimeUnit.SECONDS,
|
||||||
|
new ArrayBlockingQueue<>(5000), new ThreadFactoryBuilder().setNameFormat("winlisca-task-thread-pool-%d").build());
|
||||||
@Autowired
|
@Autowired
|
||||||
private ILasSapSampleregService lasSapSampleregService;
|
private ILasSapSampleregService lasSapSampleregService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBjCaService bjCaService;
|
private IBjCaService bjCaService;
|
||||||
|
/**
|
||||||
|
* startAutoSign启动自动签名获取的签名数据,[签名任务id]
|
||||||
|
* 使用过的任务id: SD_4c6ec5f6-22e3-4fae-b2aa-681e5beacf1e
|
||||||
|
* 使用过的任务id: SD_892d8817-4a96-445c-a5c1-2eb9f334fecc
|
||||||
|
*/
|
||||||
|
private String autoSignSignDataId = "SD_4c6ec5f6-22e3-4fae-b2aa-681e5beacf1e";
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getWinLisCaOriginText(String testdate, String machineid, String sampleId) {
|
public String getWinLisCaOriginText(String testdate, String machineid, String sampleId) {
|
||||||
LasSapSampleregVo reg = lasSapSampleregService.selectLasSapSampleregVo(testdate, machineid, sampleId);
|
LasSapSampleregVo reg = lasSapSampleregService.selectLasSapSampleregVo(testdate, machineid, sampleId);
|
||||||
|
@ -230,7 +251,7 @@ public class WinLisServiceImpl implements IWinLisService {
|
||||||
|
|
||||||
//region 2、北京CA自动签名
|
//region 2、北京CA自动签名
|
||||||
BjCaResult<CaStartVo> autoSignRe = bjCaService.autoSign(autoSignSignDataId, Base64.encode(originText));
|
BjCaResult<CaStartVo> autoSignRe = bjCaService.autoSign(autoSignSignDataId, Base64.encode(originText));
|
||||||
if (autoSignRe == null || !autoSignRe.isSuccess()) {
|
if (autoSignRe == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
//endregion
|
//endregion
|
||||||
|
@ -255,6 +276,26 @@ public class WinLisServiceImpl implements IWinLisService {
|
||||||
return caResultVo;
|
return caResultVo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int winlistCaTask(String testdateLike, Integer limit) {
|
||||||
|
AtomicInteger successNum = new AtomicInteger();
|
||||||
|
List<LasSapCadataWatingSignVo> watingSignVos = lasSapSampleregService.selectWaitingCaSignList(testdateLike, limit);
|
||||||
|
for (LasSapCadataWatingSignVo vo : watingSignVos) {
|
||||||
|
AtomicInteger i = new AtomicInteger();
|
||||||
|
executorService.execute(() -> {
|
||||||
|
log.debug("开始winlistCaTask, index = {}", i.incrementAndGet());
|
||||||
|
String originText = getWinLisCaOriginText(vo.getTestdate(), vo.getMachineid(), vo.getSampleid());
|
||||||
|
CaResultVo caResultVo = generateBjCaInfo(vo.getTestdate(), vo.getMachineid(), vo.getSampleid(), autoSignSignDataId);
|
||||||
|
if (StrUtil.isEmpty(originText) || caResultVo == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int result = lasSapSampleregService.insertLasSapCaData(vo, caResultVo);
|
||||||
|
successNum.addAndGet(result);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return successNum.get();
|
||||||
|
}
|
||||||
|
|
||||||
private String strDef(String str) {
|
private String strDef(String str) {
|
||||||
if ("null".equalsIgnoreCase(str)) {
|
if ("null".equalsIgnoreCase(str)) {
|
||||||
return "";
|
return "";
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
package com.neuhis.his.service.winlis;
|
package com.neuhis.his.service.winlis;
|
||||||
|
|
||||||
|
import com.neuhis.his.domain.entity.winlis.LasSapCadata;
|
||||||
import com.neuhis.his.domain.entity.winlis.LasSapSamplereg;
|
import com.neuhis.his.domain.entity.winlis.LasSapSamplereg;
|
||||||
|
import com.neuhis.his.domain.vo.bjca.CaResultVo;
|
||||||
|
import com.neuhis.his.domain.vo.winlis.LasSapCadataWatingSignVo;
|
||||||
import com.neuhis.his.domain.vo.winlis.LasSapSampleregVo;
|
import com.neuhis.his.domain.vo.winlis.LasSapSampleregVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -14,29 +17,21 @@ Service接口
|
||||||
*/
|
*/
|
||||||
public interface ILasSapSampleregService
|
public interface ILasSapSampleregService
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
*
|
|
||||||
|
|
||||||
*
|
|
||||||
* @param testdate 常规检验登记表
|
|
||||||
主键
|
|
||||||
* @return 常规检验登记表
|
|
||||||
|
|
||||||
*/
|
|
||||||
LasSapSamplereg selectLasSapSampleregByTestdate(String testdate, String machineid, String sampleId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 返回一个试管检验条码信息和检验结果明细信息
|
* 返回一个试管检验条码信息和检验结果明细信息
|
||||||
* @param testdate 检验时间
|
* @param testdate 检验时间
|
||||||
* @param barcode 条码
|
|
||||||
* @param machineid 机器
|
* @param machineid 机器
|
||||||
|
* @param sampleId 样本号
|
||||||
*/
|
*/
|
||||||
LasSapSampleregVo selectLasSapSampleregVo(String testdate, String machineid, String sampleId);
|
LasSapSampleregVo selectLasSapSampleregVo(String testdate, String machineid, String sampleId);
|
||||||
|
/**
|
||||||
|
* 查询等待CA签名的列表
|
||||||
|
* @param testdateLike,查询时间:2025,202503
|
||||||
|
*/
|
||||||
|
List<LasSapCadataWatingSignVo> selectWaitingCaSignList(String testdateLike, Integer limit);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* 插入CA数据
|
||||||
* @param lasSapSamplereg 常规检验登记表
|
|
||||||
* @return 常规检验登记表
|
|
||||||
*/
|
*/
|
||||||
List<LasSapSamplereg> selectLasSapSampleregList(LasSapSamplereg lasSapSamplereg);
|
int insertLasSapCaData(LasSapCadataWatingSignVo watingSignVo, CaResultVo caResultVo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,4 +22,6 @@ public interface IWinLisService {
|
||||||
* 生成北京CA签名信息
|
* 生成北京CA签名信息
|
||||||
*/
|
*/
|
||||||
CaResultVo generateBjCaInfo(String testdate, String machineid, String sampleId, String autoSignSignDataId);
|
CaResultVo generateBjCaInfo(String testdate, String machineid, String sampleId, String autoSignSignDataId);
|
||||||
|
|
||||||
|
int winlistCaTask(String testdateLike, Integer limit);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.neuhis.his.domain.dto.DeadLock;
|
||||||
import com.neuhis.his.domain.dto.DeadLockRac;
|
import com.neuhis.his.domain.dto.DeadLockRac;
|
||||||
import com.neuhis.his.push.OracleSlaveDataAutoPushService;
|
import com.neuhis.his.push.OracleSlaveDataAutoPushService;
|
||||||
import com.neuhis.his.service.IOracleSysService;
|
import com.neuhis.his.service.IOracleSysService;
|
||||||
|
import com.neuhis.his.service.winlis.IWinLisService;
|
||||||
import com.neuhis.quartz.task.common.JobService;
|
import com.neuhis.quartz.task.common.JobService;
|
||||||
import com.ruoyi.common.config.RuoYiConfig;
|
import com.ruoyi.common.config.RuoYiConfig;
|
||||||
import com.neuhis.quartz.task.common.JobSwitchConstant;
|
import com.neuhis.quartz.task.common.JobSwitchConstant;
|
||||||
|
@ -31,6 +32,8 @@ public class HisTask {
|
||||||
private IOracleSysService oracleSysService;
|
private IOracleSysService oracleSysService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RuoYiConfig ruoYiConfig;
|
private RuoYiConfig ruoYiConfig;
|
||||||
|
@Autowired
|
||||||
|
private IWinLisService winLisService;
|
||||||
|
|
||||||
public void pushData()
|
public void pushData()
|
||||||
{
|
{
|
||||||
|
@ -82,4 +85,13 @@ public class HisTask {
|
||||||
log.info("日志数据删除结束,共删除 "+num+" 条日志。" + DateUtil.format(DateUtil.date(), "yyyy-MM-dd HH:mm:ss"));
|
log.info("日志数据删除结束,共删除 "+num+" 条日志。" + DateUtil.format(DateUtil.date(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void winlisCaTask(String testdateLike, Integer limit)
|
||||||
|
{
|
||||||
|
if (ruoYiConfig.isQuzrtzTask()) {
|
||||||
|
log.info("winlisCA数据推送开始" + DateUtil.format(DateUtil.date(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
winLisService.winlistCaTask(testdateLike,limit);
|
||||||
|
log.info("winlisCA数据推送结束" + DateUtil.format(DateUtil.date(), "yyyy-MM-dd HH:mm:ss"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,20 +20,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
select catime, testdate, machineid, sampleid, barcode, srcdata, caclobdata, srcclobdata, caid from las_sap_cadata
|
select catime, testdate, machineid, sampleid, barcode, srcdata, caclobdata, srcclobdata, caid from las_sap_cadata
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectLasSapCadataList" parameterType="com.neuhis.his.domain.entity.winlis.LasSapCadata" resultMap="LasSapCadataResult">
|
<select id="selectWaitingCaSignList" resultType="com.neuhis.his.domain.vo.winlis.LasSapCadataWatingSignVo">
|
||||||
<include refid="selectLasSapCadataVo"/>
|
select r.* from (
|
||||||
<where>
|
select t.testdate, t.machineid, t.sampleid, t.barcode from Winlis.las_sap_samplereg t where not exists
|
||||||
<if test="barcode != null and barcode != ''"> and barcode = #{barcode}</if>
|
(select 1 from winlis.las_sap_cadata c where c.testdate = t.testdate and c.machineid = t.machineid and c.sampleid = t.sampleid)
|
||||||
<if test="srcdata != null and srcdata != ''"> and srcdata = #{srcdata}</if>
|
and t.approvetime is not null
|
||||||
<if test="caclobdata != null and caclobdata != ''"> and caclobdata = #{caclobdata}</if>
|
and t.testdate like #{srcclobdata}||'%' order by t.testdate desc
|
||||||
<if test="srcclobdata != null and srcclobdata != ''"> and srcclobdata = #{srcclobdata}</if>
|
) r where rownum <![CDATA[<=]]> #{rownum}
|
||||||
<if test="caid != null and caid != ''"> and caid = #{caid}</if>
|
|
||||||
</where>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectLasSapCadataByCatime" parameterType="Date" resultMap="LasSapCadataResult">
|
|
||||||
<include refid="selectLasSapCadataVo"/>
|
|
||||||
where catime = #{catime}
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertLasSapCadata" parameterType="com.neuhis.his.domain.entity.winlis.LasSapCadata" useGeneratedKeys="true" keyProperty="catime">
|
<insert id="insertLasSapCadata" parameterType="com.neuhis.his.domain.entity.winlis.LasSapCadata" useGeneratedKeys="true" keyProperty="catime">
|
||||||
|
@ -74,16 +67,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</trim>
|
</trim>
|
||||||
where catime = #{catime}
|
where catime = #{catime}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<delete id="deleteLasSapCadataByCatime" parameterType="Date">
|
|
||||||
delete from las_sap_cadata where catime = #{catime}
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
<delete id="deleteLasSapCadataByCatimes" parameterType="String">
|
|
||||||
delete from las_sap_cadata where catime in
|
|
||||||
<foreach item="catime" collection="array" open="(" separator="," close=")">
|
|
||||||
#{catime}
|
|
||||||
</foreach>
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -108,106 +108,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
select testdate, machineid, sampleid, barcode, patienttype, patientid, patientseq, patientname, patientsex, patientage, patientageunit, patienttel, patientbedno, patientidenno, patientrace, patientsite, execsqn, emc, hisitemidlist, hisitemnamelist, hisitemprice, doctorid, doctorname, deptid, deptname, ordertime, execdeptid, execdeptname, wardid, wardname, sampletype, urineqty, samplestate, sampleposition, diagnosis, confirmstate, printstate, alertstate, state, testtype, groupid, nurseid, nursename, sampletime, senderid, sendername, sendtime, sendformid, inceptorid, inceptorname, incepttime, accepterid, acceptername, accepttime, approverid, approvername, approvetime, memo, rackcup, printedtime, printerid, printername, checktime, resulttime, hospitalid, sampleid2, lismemo, birthday, extrainfo, planitemcount, actualitemcount, testeditemcount, ishighrisk, isgcp, barcode2, barprinttime, documenttime, documentid, documentname, reporttime, samplegetname, samplegetid, state2, lsptestform, execsqn2, diagnosisid, patientid2, patientid3, patientinfo, autoconfirminfo, barcodememo, tjflag, menstrualcycle, translationinfo, mixcode, passportno, patientnameen from las_sap_samplereg
|
select testdate, machineid, sampleid, barcode, patienttype, patientid, patientseq, patientname, patientsex, patientage, patientageunit, patienttel, patientbedno, patientidenno, patientrace, patientsite, execsqn, emc, hisitemidlist, hisitemnamelist, hisitemprice, doctorid, doctorname, deptid, deptname, ordertime, execdeptid, execdeptname, wardid, wardname, sampletype, urineqty, samplestate, sampleposition, diagnosis, confirmstate, printstate, alertstate, state, testtype, groupid, nurseid, nursename, sampletime, senderid, sendername, sendtime, sendformid, inceptorid, inceptorname, incepttime, accepterid, acceptername, accepttime, approverid, approvername, approvetime, memo, rackcup, printedtime, printerid, printername, checktime, resulttime, hospitalid, sampleid2, lismemo, birthday, extrainfo, planitemcount, actualitemcount, testeditemcount, ishighrisk, isgcp, barcode2, barprinttime, documenttime, documentid, documentname, reporttime, samplegetname, samplegetid, state2, lsptestform, execsqn2, diagnosisid, patientid2, patientid3, patientinfo, autoconfirminfo, barcodememo, tjflag, menstrualcycle, translationinfo, mixcode, passportno, patientnameen from las_sap_samplereg
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectLasSapSampleregList" parameterType="com.neuhis.his.domain.entity.winlis.LasSapSamplereg" resultMap="LasSapSampleregResult">
|
|
||||||
<include refid="selectLasSapSampleregVo"/>
|
|
||||||
<where>
|
|
||||||
<if test="barcode != null and barcode != ''"> and barcode = #{barcode}</if>
|
|
||||||
<if test="patienttype != null and patienttype != ''"> and patienttype = #{patienttype}</if>
|
|
||||||
<if test="patientid != null and patientid != ''"> and patientid = #{patientid}</if>
|
|
||||||
<if test="patientseq != null and patientseq != ''"> and patientseq = #{patientseq}</if>
|
|
||||||
<if test="patientname != null and patientname != ''"> and patientname like concat('%', #{patientname}, '%')</if>
|
|
||||||
<if test="patientsex != null and patientsex != ''"> and patientsex = #{patientsex}</if>
|
|
||||||
<if test="patientage != null and patientage != ''"> and patientage = #{patientage}</if>
|
|
||||||
<if test="patientageunit != null and patientageunit != ''"> and patientageunit = #{patientageunit}</if>
|
|
||||||
<if test="patienttel != null and patienttel != ''"> and patienttel = #{patienttel}</if>
|
|
||||||
<if test="patientbedno != null and patientbedno != ''"> and patientbedno = #{patientbedno}</if>
|
|
||||||
<if test="patientidenno != null and patientidenno != ''"> and patientidenno = #{patientidenno}</if>
|
|
||||||
<if test="patientrace != null and patientrace != ''"> and patientrace = #{patientrace}</if>
|
|
||||||
<if test="patientsite != null and patientsite != ''"> and patientsite = #{patientsite}</if>
|
|
||||||
<if test="execsqn != null and execsqn != ''"> and execsqn = #{execsqn}</if>
|
|
||||||
<if test="emc != null and emc != ''"> and emc = #{emc}</if>
|
|
||||||
<if test="hisitemidlist != null and hisitemidlist != ''"> and hisitemidlist = #{hisitemidlist}</if>
|
|
||||||
<if test="hisitemnamelist != null and hisitemnamelist != ''"> and hisitemnamelist = #{hisitemnamelist}</if>
|
|
||||||
<if test="hisitemprice != null "> and hisitemprice = #{hisitemprice}</if>
|
|
||||||
<if test="doctorid != null and doctorid != ''"> and doctorid = #{doctorid}</if>
|
|
||||||
<if test="doctorname != null and doctorname != ''"> and doctorname like concat('%', #{doctorname}, '%')</if>
|
|
||||||
<if test="deptid != null and deptid != ''"> and deptid = #{deptid}</if>
|
|
||||||
<if test="deptname != null and deptname != ''"> and deptname like concat('%', #{deptname}, '%')</if>
|
|
||||||
<if test="ordertime != null "> and ordertime = #{ordertime}</if>
|
|
||||||
<if test="execdeptid != null and execdeptid != ''"> and execdeptid = #{execdeptid}</if>
|
|
||||||
<if test="execdeptname != null and execdeptname != ''"> and execdeptname like concat('%', #{execdeptname}, '%')</if>
|
|
||||||
<if test="wardid != null and wardid != ''"> and wardid = #{wardid}</if>
|
|
||||||
<if test="wardname != null and wardname != ''"> and wardname like concat('%', #{wardname}, '%')</if>
|
|
||||||
<if test="sampletype != null and sampletype != ''"> and sampletype = #{sampletype}</if>
|
|
||||||
<if test="urineqty != null and urineqty != ''"> and urineqty = #{urineqty}</if>
|
|
||||||
<if test="samplestate != null and samplestate != ''"> and samplestate = #{samplestate}</if>
|
|
||||||
<if test="sampleposition != null and sampleposition != ''"> and sampleposition = #{sampleposition}</if>
|
|
||||||
<if test="diagnosis != null and diagnosis != ''"> and diagnosis = #{diagnosis}</if>
|
|
||||||
<if test="confirmstate != null and confirmstate != ''"> and confirmstate = #{confirmstate}</if>
|
|
||||||
<if test="printstate != null and printstate != ''"> and printstate = #{printstate}</if>
|
|
||||||
<if test="alertstate != null and alertstate != ''"> and alertstate = #{alertstate}</if>
|
|
||||||
<if test="state != null and state != ''"> and state = #{state}</if>
|
|
||||||
<if test="testtype != null and testtype != ''"> and testtype = #{testtype}</if>
|
|
||||||
<if test="groupid != null and groupid != ''"> and groupid = #{groupid}</if>
|
|
||||||
<if test="nurseid != null and nurseid != ''"> and nurseid = #{nurseid}</if>
|
|
||||||
<if test="nursename != null and nursename != ''"> and nursename like concat('%', #{nursename}, '%')</if>
|
|
||||||
<if test="sampletime != null "> and sampletime = #{sampletime}</if>
|
|
||||||
<if test="senderid != null and senderid != ''"> and senderid = #{senderid}</if>
|
|
||||||
<if test="sendername != null and sendername != ''"> and sendername like concat('%', #{sendername}, '%')</if>
|
|
||||||
<if test="sendtime != null "> and sendtime = #{sendtime}</if>
|
|
||||||
<if test="sendformid != null and sendformid != ''"> and sendformid = #{sendformid}</if>
|
|
||||||
<if test="inceptorid != null and inceptorid != ''"> and inceptorid = #{inceptorid}</if>
|
|
||||||
<if test="inceptorname != null and inceptorname != ''"> and inceptorname like concat('%', #{inceptorname}, '%')</if>
|
|
||||||
<if test="incepttime != null "> and incepttime = #{incepttime}</if>
|
|
||||||
<if test="accepterid != null and accepterid != ''"> and accepterid = #{accepterid}</if>
|
|
||||||
<if test="acceptername != null and acceptername != ''"> and acceptername like concat('%', #{acceptername}, '%')</if>
|
|
||||||
<if test="accepttime != null "> and accepttime = #{accepttime}</if>
|
|
||||||
<if test="approverid != null and approverid != ''"> and approverid = #{approverid}</if>
|
|
||||||
<if test="approvername != null and approvername != ''"> and approvername like concat('%', #{approvername}, '%')</if>
|
|
||||||
<if test="approvetime != null "> and approvetime = #{approvetime}</if>
|
|
||||||
<if test="memo != null and memo != ''"> and memo = #{memo}</if>
|
|
||||||
<if test="rackcup != null and rackcup != ''"> and rackcup = #{rackcup}</if>
|
|
||||||
<if test="printedtime != null "> and printedtime = #{printedtime}</if>
|
|
||||||
<if test="printerid != null and printerid != ''"> and printerid = #{printerid}</if>
|
|
||||||
<if test="printername != null and printername != ''"> and printername like concat('%', #{printername}, '%')</if>
|
|
||||||
<if test="checktime != null "> and checktime = #{checktime}</if>
|
|
||||||
<if test="resulttime != null "> and resulttime = #{resulttime}</if>
|
|
||||||
<if test="hospitalid != null and hospitalid != ''"> and hospitalid = #{hospitalid}</if>
|
|
||||||
<if test="sampleid2 != null and sampleid2 != ''"> and sampleid2 = #{sampleid2}</if>
|
|
||||||
<if test="lismemo != null and lismemo != ''"> and lismemo = #{lismemo}</if>
|
|
||||||
<if test="birthday != null "> and birthday = #{birthday}</if>
|
|
||||||
<if test="extrainfo != null and extrainfo != ''"> and extrainfo = #{extrainfo}</if>
|
|
||||||
<if test="planitemcount != null "> and planitemcount = #{planitemcount}</if>
|
|
||||||
<if test="actualitemcount != null "> and actualitemcount = #{actualitemcount}</if>
|
|
||||||
<if test="testeditemcount != null "> and testeditemcount = #{testeditemcount}</if>
|
|
||||||
<if test="ishighrisk != null and ishighrisk != ''"> and ishighrisk = #{ishighrisk}</if>
|
|
||||||
<if test="isgcp != null and isgcp != ''"> and isgcp = #{isgcp}</if>
|
|
||||||
<if test="barcode2 != null and barcode2 != ''"> and barcode2 = #{barcode2}</if>
|
|
||||||
<if test="barprinttime != null "> and barprinttime = #{barprinttime}</if>
|
|
||||||
<if test="documenttime != null "> and documenttime = #{documenttime}</if>
|
|
||||||
<if test="documentid != null and documentid != ''"> and documentid = #{documentid}</if>
|
|
||||||
<if test="documentname != null and documentname != ''"> and documentname like concat('%', #{documentname}, '%')</if>
|
|
||||||
<if test="reporttime != null "> and reporttime = #{reporttime}</if>
|
|
||||||
<if test="samplegetname != null and samplegetname != ''"> and samplegetname like concat('%', #{samplegetname}, '%')</if>
|
|
||||||
<if test="samplegetid != null and samplegetid != ''"> and samplegetid = #{samplegetid}</if>
|
|
||||||
<if test="state2 != null and state2 != ''"> and state2 = #{state2}</if>
|
|
||||||
<if test="lsptestform != null and lsptestform != ''"> and lsptestform = #{lsptestform}</if>
|
|
||||||
<if test="execsqn2 != null and execsqn2 != ''"> and execsqn2 = #{execsqn2}</if>
|
|
||||||
<if test="diagnosisid != null and diagnosisid != ''"> and diagnosisid = #{diagnosisid}</if>
|
|
||||||
<if test="patientid2 != null and patientid2 != ''"> and patientid2 = #{patientid2}</if>
|
|
||||||
<if test="patientid3 != null and patientid3 != ''"> and patientid3 = #{patientid3}</if>
|
|
||||||
<if test="patientinfo != null and patientinfo != ''"> and patientinfo = #{patientinfo}</if>
|
|
||||||
<if test="autoconfirminfo != null and autoconfirminfo != ''"> and autoconfirminfo = #{autoconfirminfo}</if>
|
|
||||||
<if test="barcodememo != null and barcodememo != ''"> and barcodememo = #{barcodememo}</if>
|
|
||||||
<if test="tjflag != null and tjflag != ''"> and tjflag = #{tjflag}</if>
|
|
||||||
<if test="menstrualcycle != null and menstrualcycle != ''"> and menstrualcycle = #{menstrualcycle}</if>
|
|
||||||
<if test="translationinfo != null and translationinfo != ''"> and translationinfo = #{translationinfo}</if>
|
|
||||||
<if test="mixcode != null and mixcode != ''"> and mixcode = #{mixcode}</if>
|
|
||||||
<if test="passportno != null and passportno != ''"> and passportno = #{passportno}</if>
|
|
||||||
<if test="patientnameen != null and patientnameen != ''"> and patientnameen = #{patientnameen}</if>
|
|
||||||
</where>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="selectLasSapSampleregByTestdate" parameterType="String" resultMap="LasSapSampleregResult">
|
<select id="selectLasSapSampleregByTestdate" parameterType="String" resultMap="LasSapSampleregResult">
|
||||||
<include refid="selectLasSapSampleregVo"/>
|
<include refid="selectLasSapSampleregVo"/>
|
||||||
where testdate = #{testdate} and machineid = #{machineid} and sampleid = #{sampleId}
|
where testdate = #{testdate} and machineid = #{machineid} and sampleid = #{sampleId}
|
||||||
|
|
Loading…
Reference in New Issue