批量打印

This commit is contained in:
tangw 2026-07-03 18:06:32 +08:00
parent 5aa54f3cf3
commit 7e1e257c19
82 changed files with 465 additions and 294 deletions

View File

@ -0,0 +1,18 @@
package com.czlis.interfaceCommon.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class BatchPrintDTO{
private Date jyrq;
private String yq;
private String ybh;
private String flag;
private String msg;
}

View File

@ -5,25 +5,19 @@ import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.czlis.common.annotation.Async;
import com.czlis.common.annotation.Log;
import com.czlis.common.asyncmanager.AsyncManager;
import com.czlis.common.config.RuoYiConfig;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.SysOperLog;
import com.czlis.common.core.domain.entity.SysUser;
import com.czlis.common.core.domain.model.LoginUser;
import com.czlis.common.core.text.Convert;
import com.czlis.common.enums.BusinessStatus;
import com.czlis.common.enums.BusinessType;
import com.czlis.common.utils.ExceptionUtil;
import com.czlis.common.utils.SecurityUtils;
import com.czlis.common.utils.ServletUtils;
import com.czlis.common.utils.StringUtils;
import com.czlis.common.utils.ip.AddressUtils;
import com.czlis.common.utils.ip.IpUtils;
import com.czlis.common.utils.spring.SpringUtils;
import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants;
import com.czlis.common.core.domain.Result;
import com.czlis.interfaceCommon.mapper.LisInterfaceMapper;
import com.czlis.interfaceCommon.service.ISysOperLogService;
import com.czlis.interfaceCommon.service.LisInterfaceType;
@ -33,7 +27,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimerTask;

View File

@ -1,7 +1,7 @@
package com.czlis.interfaceCommon.utils;
import cn.hutool.core.codec.Base64;
import com.czlis.common.utils.DateUtils;
import cn.hutool.core.util.StrUtil;
import com.lowagie.text.Document;
import com.lowagie.text.pdf.PdfCopy;
import com.lowagie.text.pdf.PdfReader;
@ -762,4 +762,115 @@ public class LisUtil {
}
return null;
}
/**
* 通过样本号范围集合获取样本号查询条件(SQL Server专用,右补20空格对齐比较)
*
* @param code 样本号字段别名,白名单校验:仅允许字母数字._,如 ybh; a.ybh;lab_pat.ybh
* @param input 样本号范围集合,支持逗号分隔、区间符-,示例:1,2,3-10,100-200
* @return 拼接好的where条件片段,空输入返回空串
*/
public static String getYbhWhere(String code, String input) {
// 1. 空输入直接返回
if (StrUtil.isBlank(input)) {
return "";
}
// 字段白名单校验:仅允许 字母、数字、下划线、点、表别名
if (!code.matches("^[a-zA-Z0-9_.]+$")) {
throw new IllegalArgumentException("样本号字段别名非法,仅允许字母数字._");
}
// 统一中文逗号转英文逗号,去除首尾空格
input = input.trim().replace(",", ",").replaceAll("--","-");
String[] splitArr = StrUtil.splitToArray(input, ",");
// 存储等值单值、区间条件
List<String> eqList = new ArrayList<>();
StringBuilder rangeSb = new StringBuilder();
String colWrap = getBankYbhWrap(code);
for (String seg : splitArr) {
String segTrim = seg.trim();
if (StrUtil.isBlank(segTrim)) {
continue;
}
// 区间段处理
if (segTrim.contains("-")) {
String[] rangePair = StrUtil.splitToArray(segTrim, "-");
// 必须两段,过滤 3--5、-10、5- 这类非法区间
if (rangePair.length != 2 || StrUtil.isBlank(rangePair[0]) || StrUtil.isBlank(rangePair[1])) {
continue;
}
String low = rangePair[0].trim();
String high = rangePair[1].trim();
// 下限大于上限直接跳过该区间
// if (low.compareTo(high) > 0) {
// continue;
// }
// 拼接区间条件,用参数占位防注入(适配MyBatis $+# 分离)
String rangeCond = String.format("(%s >= %s AND %s <= %s)",
colWrap, getBankYbhWrapParam(low), colWrap, getBankYbhWrapParam(high));
if (rangeSb.length() > 0) {
rangeSb.append(" OR ");
}
rangeSb.append(rangeCond);
} else {
// 等值单值
eqList.add(segTrim);
}
}
// 组装等值条件
StringBuilder eqSb = new StringBuilder();
if (!eqList.isEmpty()) {
if (eqList.size() == 1) {
// 单个等值:code = #{param}
eqSb.append(String.format("%s = %s", code, eqList.get(0)));
} else {
// 多个in:code IN (#{p1},#{p2},...)
eqSb.append(code).append(" IN (");
for (int i = 0; i < eqList.size(); i++) {
if (i > 0) {
eqSb.append(",");
}
eqSb.append(eqList.get(i));
}
eqSb.append(")");
}
}
String eqSql = eqSb.toString();
String rangeSql = rangeSb.toString();
// 合并最终条件
if (StrUtil.isNotBlank(eqSql) && StrUtil.isNotBlank(rangeSql)) {
return String.format("(%s OR (%s))", eqSql, rangeSql);
} else if (StrUtil.isNotBlank(eqSql)) {
return eqSql;
} else if (StrUtil.isNotBlank(rangeSql)) {
return String.format("(%s)", rangeSql);
}
return "";
}
/**
* 生成对齐包装字段:right(replicate(' ',20) + 字段,20)
*/
private static String getBankYbhWrap(String colCode) {
return String.format("right(replicate(' ',20) + %s,20)", colCode);
}
/**
* 生成对齐包装参数(MyBatis预编译占位,防SQL注入)
* 业务层配合:拼接后用MyBatis #{}接收参数,禁止直接拼接单引号字符串
* @param val 样本号值
* @return 带对齐函数的参数占位
*/
private static String getBankYbhWrapParam(String val) {
// 方案1:MyBatis环境推荐,返回占位符,外部传入参数Map
// return String.format("right(replicate(' ',20) + #{ybh_%s},20)", val);
// 方案2:若必须直接拼接字符串(不推荐,仅兼容旧逻辑),转义单引号
String safeVal = val.replace("'", "''");
return String.format("right(replicate(' ',20) + '%s',20)", safeVal);
}
}

View File

@ -3,18 +3,21 @@ package com.czlis.interfaceCommon.utils;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.czlis.common.config.RuoYiConfig;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComReportInstr;
import com.czlis.common.core.domain.entity.lis.LabGraph;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabReqreportPdffile;
import com.czlis.common.utils.file.FileUtils;
import com.czlis.common.utils.file.ImageUtils;
import com.czlis.common.utils.ip.IpUtils;
import com.czlis.common.utils.uuid.UUID;
import com.czlis.interfaceCommon.mapper.BackPaperMapper;
import com.czlis.interfaceCommon.mapper.LabReportvsitemMapper;
import com.czlis.interfaceCommon.pojo.dto.BatchPrintDTO;
import com.czlis.interfaceCommon.pojo.entity.BackPaperDetail;
import com.czlis.interfaceCommon.pojo.entity.BackPaperParam;
import com.czlis.interfaceCommon.pojo.entity.LabRptgetruledetailCX;
@ -64,7 +67,7 @@ public class ReportUtil {
public void printBarCode(ReportParam mzReportParam) {
Map<String,Object> parameters=new HashMap<>();
Map<String, Object> parameters = new HashMap<>();
parameters.put("barcode", mzReportParam.getSqh());
parameters.put("line1", mzReportParam.getBrxm() + " " + mzReportParam.getBrxb() + " " + mzReportParam.getNl());
parameters.put("line2", mzReportParam.getSfxmmc());
@ -72,7 +75,7 @@ public class ReportUtil {
//构造数据
JasperReportUtil.print(RuoYiConfig.getMzPrintName(), "barcode", parameters);
} catch (Exception e) {
e.printStackTrace();
e.printStackTrace();
log.error("打印条码报错,条码号:{}", mzReportParam.getSqh(), e);
}
}
@ -124,29 +127,25 @@ public class ReportUtil {
}
public Result printToPdf(String templatename, ReportParam reportParam, String pdfName, boolean base64) {
String staticpath=ImageUtils.getStaticPath()+ File.separator;
String staticpath = ImageUtils.getStaticPath() + File.separator;
String pdfName1 = UUID.randomUUID().toString();
String outputPath = staticpath+ File.separator + "printPDF"+ File.separator + pdfName1 + ".pdf"; // PDF输出路径(多级目录会自动创建)
String outputPath = staticpath + "printPDF" + File.separator + pdfName1 + ".pdf";
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(reportParam);
try {
Connection connection = dataSource.getConnection();
try (Connection connection = dataSource.getConnection()) {
JasperReportUtil.exportToPdf(templatename, stringObjectMap, connection, outputPath);
} catch (Exception e) {
e.printStackTrace();
log.error("打印条码失败,参数{}", reportParam, e);
}
String httpPath = getPrintURL(pdfName1);
log.info("传给前端的pdf地址:{}", httpPath);
if (base64) {
//删除图片文件
String[] pic = reportParam.getPic();
if(pic != null){
if (pic != null) {
for (String s : pic) {
String picFilePath = staticpath + File.separator + "graphs" + File.separator + StrUtil.splitToArray(s, "graphs/")[1];
FileUtils.deleteFile(picFilePath);
}
}
//删除最后给前端的pdf文件
File file = new File(outputPath);
String data = "";
if (file.exists()) {
@ -157,12 +156,12 @@ public class ReportUtil {
} else {
return new Result("0", "打印成功!", httpPath);
}
}
public String getPrintURL(String pdfName) {
return getHttpURL("printPDF")+"/"+pdfName+".pdf";
return getHttpURL("printPDF") + "/" + pdfName + ".pdf";
}
public String getHttpURL(String pathChild) {
String httpPath;
if (printURL == null || printURL.isEmpty()) {
@ -177,8 +176,8 @@ public class ReportUtil {
* 判断当前报告单是否使用A4报告单
*
* @param jyrq 检验日期
* @param yq 仪器
* @param ybh 样本号
* @param yq 仪器
* @param ybh 样本号
* @return 返回纸张格式
*/
public String getReportPaperSize(Date jyrq, String yq, String ybh) {
@ -343,10 +342,13 @@ public class ReportUtil {
return printReport(commonUtil.getLabPatOne(jyrq, yq, ybh));
}
public Result printReport(LabPat labPat) {
return printReport(labPat,true);
}
public Result printReport(LabPat labPat,boolean base64) {
Date jyrq = labPat.getJyrq();
String yq = labPat.getYq();
String ybh = labPat.getYbh();
String yljg=commonUtil.getLabInstr(yq).getYljg();
String yljg = commonUtil.getLabInstr(yq).getYljg();
String hospitalName = commonUtil.getCompany(yljg);
ReportParam reportParam = new ReportParam();
reportParam.setJyrq(jyrq);
@ -358,67 +360,86 @@ public class ReportUtil {
reportParam.setCheckercbpic(getSignName(labPat.getChecker())); //初审者
String[] picPath = getReportpic(jyrq, yq, ybh);
reportParam.setPic(picPath);
ComReportInstr comReportInstr=getReportTemplate(jyrq, yq, ybh);
if(comReportInstr==null) {
return new Result("-1","未找到打印模板,请检查报告单设置");
ComReportInstr comReportInstr = getReportTemplate(jyrq, yq, ybh);
if (comReportInstr == null) {
return new Result("-1", "未找到打印模板,请检查报告单设置");
}
if(comReportInstr.getReportId()==null) {
return new Result("-1","未找到打印模板,请检查报告单设置");
if (comReportInstr.getReportId() == null) {
return new Result("-1", "未找到打印模板,请检查报告单设置");
}
reportParam.setReportRows(comReportInstr.getReportRows());
Integer count=labReportvsitemMapper.getLabReportCount(jyrq,yq,ybh);
if(count==null) {count=0;}
Integer count = labReportvsitemMapper.getLabReportCount(jyrq, yq, ybh);
if (count == null) {
count = 0;
}
reportParam.setResultRows(count);
String filename=labReportvsitemMapper.getreportCode(comReportInstr.getReportBgdh());
return printToPdf(filename, reportParam, UUID.randomUUID().toString(), true);
String filename = labReportvsitemMapper.getreportCode(comReportInstr.getReportBgdh());
Result ref=printToPdf(filename, reportParam,"", base64);
String size=comReportInstr.getReportSize();
if(ref!=null&&"0".equals(ref.getCode())) {
if ("1".equals(size)) {
ref.setMsg("A5");
}
{
ref.setMsg("A4");
}
}
return ref;
}
/**
* 获取报告单模板
*
* @param jyrq 检验日期
* @param yq 仪器
* @param yq 仪器
* @param ybh 样本号
* @return 报告单模板
*/
public ComReportInstr getReportTemplate(Date jyrq, String yq, String ybh) {
ComReportInstr comReportInstr0=new ComReportInstr();
String yqdl=commonUtil.getYqdl(yq);
List<ComReportInstr> info=labReportvsitemMapper.getComReportInstrByInstr(yq);
if("细菌仪".equals(yqdl)) {
ComReportInstr comReportInstr0 = new ComReportInstr();
String yqdl = commonUtil.getYqdl(yq);
List<ComReportInstr> info = labReportvsitemMapper.getComReportInstrByInstr(yq);
if ("细菌仪".equals(yqdl)) {
String tyep;
int med = commonUtil.getLabResultMedCountAll(jyrq, yq, ybh);
if (med > 1)tyep="2";
if (med > 1) tyep = "2";
else {
tyep = "1";
}
List<ComReportInstr> info0 = info.stream().filter(ss -> tyep.equals(ss.getReportType())).collect(Collectors.toList());
if(info0.isEmpty()||info0==null)return comReportInstr0;
if (info0.isEmpty() || info0 == null) return comReportInstr0;
return info0.get(0);
}
Integer rows=labReportvsitemMapper.getLabReportCount(jyrq,yq,ybh);
if(rows==null) {rows=0;}
Integer rows = labReportvsitemMapper.getLabReportCount(jyrq, yq, ybh);
if (rows == null) {
rows = 0;
}
for (ComReportInstr comReportInstr : info) {
Integer minrows=comReportInstr.getReportMinrows();
Integer maxrows=comReportInstr.getReportMaxrows();
if(minrows!=null&&minrows>0){
if(rows<minrows){continue;}
Integer minrows = comReportInstr.getReportMinrows();
Integer maxrows = comReportInstr.getReportMaxrows();
if (minrows != null && minrows > 0) {
if (rows < minrows) {
continue;
}
}
if(maxrows!=null&&maxrows>0){
if(rows>maxrows){continue;}
if (maxrows != null && maxrows > 0) {
if (rows > maxrows) {
continue;
}
}
String items=comReportInstr.getReportItems();
if(items!=null&&!"".equals(items)) {
String items = comReportInstr.getReportItems();
if (items != null && !"".equals(items)) {
List<String> itemList = Arrays.asList(items.split(","));
int xms=labReportvsitemMapper.getLabReportCountwithitem(jyrq, yq, ybh, itemList);
if(xms>0){
int xms = labReportvsitemMapper.getLabReportCountwithitem(jyrq, yq, ybh, itemList);
if (xms > 0) {
return comReportInstr;
}
}
comReportInstr0=comReportInstr;
comReportInstr0 = comReportInstr;
}
return comReportInstr0;
}
public String[] getReportpic(Date jyrq, String yq, String ybh) {
List<LabGraph> labGraphList = commonUtil.getLabGraphAll(jyrq, yq, ybh);
String filepath = "graphs";
@ -446,28 +467,29 @@ public class ReportUtil {
/**
* 获取电子签名
*
* @param yhdh 用户代号
* @return 签名地址
*/
public String getSignName(String yhdh) {
if(yhdh==null|| yhdh.isEmpty())return "";
if (yhdh == null || yhdh.isEmpty()) return "";
//SELECT zplx INTO :ls_pictype FROM off_staff WHERE rydh = :as_userno ;
String pictype="jpg";//暂时写死是jpg,8.0新版本后期可以考虑用户表增加字段指定类型
String dirpath="signname";
String pictype = "jpg";//暂时写死是jpg,8.0新版本后期可以考虑用户表增加字段指定类型
String dirpath = "signname";
String httpPath = getHttpURL(dirpath);
String txlbmc = yhdh+ "." + pictype.toLowerCase();
String filepath =ImageUtils.getStaticPath()+ File.separator +dirpath+ File.separator +txlbmc;
String txlbmc = yhdh + "." + pictype.toLowerCase();
String filepath = ImageUtils.getStaticPath() + File.separator + dirpath + File.separator + txlbmc;
//如果文件不存在则写入
if(!ImageUtils.isFileExists(filepath)){
byte[] txnr= commonUtil.getComUsrdzqm(yhdh);
if(txnr==null)return "";
if (!ImageUtils.isFileExists(filepath)) {
byte[] txnr = commonUtil.getComUsrdzqm(yhdh);
if (txnr == null) return "";
try {
ImageUtils.generateToStaticDir(txnr, dirpath, txlbmc);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return httpPath+"/"+txlbmc;
return httpPath + "/" + txlbmc;
}
public static String convertA5ToA4Blank(String a5PdfBase64) throws IOException {
@ -526,4 +548,85 @@ public class ReportUtil {
return org.apache.commons.codec.binary.Base64.encodeBase64String(a4PdfBytes);
}
/**批量打印报告单
*
* @param bgmap 报告单主键,jyrq,yq,ybh
* @return
*/
public Result printReport(List<BatchPrintDTO> bgmap) {
String staticpath = ImageUtils.getStaticPath() + File.separator+"printPDF"+ File.separator;
// List<Map<String,Object>> bgdhBase64List = new ArrayList<>();
List<String> mergeBgdhList = new ArrayList<>();
String brdh = "";
int j = 0;
int fall=0,succ=0;
for (BatchPrintDTO bg : bgmap) {
String yq = bg.getYq();
String ybh = bg.getYbh();
Date jyrq=bg.getJyrq();
LabPat labPatOne =commonUtil.getLabPatOne(jyrq, yq, ybh);
Result res= printReport(labPatOne,true);
if(res==null){
fall++;
bg.setFlag("-1");
bg.setMsg("打印失败");
continue;
}
if(!"0".equals(res.getCode())){
fall++;
bg.setFlag("-1");
bg.setMsg(res.getMsg());
continue;
}
bg.setFlag("1");
bg.setMsg("打印成功");
String pageType=res.getMsg();
// Map<String,Object> map = new HashMap<>();
// map.put("data", res.getData());
// map.put("pageType", pageType);
// map.put("brdh",labPatOne.getBrdh());
// map.put("confirmdt",labPatOne.getConfirmdt());
// map.put("jyrq", jyrq);
// map.put("yq", yq);
// map.put("ybh", ybh);
// bgdhBase64List.add(map);
mergeBgdhList.add(getStringValue(res.getData()));
j++;
}
String encode = "";
try {
//合并成一个pdf交给前端
String pdfName = UUID.randomUUID().toString();
String path = staticpath+pdfName+".pdf";
LisUtil.mergeToFile(mergeBgdhList,path);
//String httpPath = reportUtil.getPrintURL(pdfName);
//转成base64字符串
File file = new File(path);
encode = Base64.encode(file);
//删除pdf文件
FileUtils.deleteFile(path);
} catch (Exception e) {
e.printStackTrace();
log.error("合并pdf报告失败:{}",e);
return new Result("-1",e.getMessage());
}
//修改打印标志
for (BatchPrintDTO list : bgmap) {
String flag=list.getFlag();
if(flag!=null&&"1".equals(flag)) {
String yq = list.getYq();
String ybh = list.getYbh();
Date jyrq = list.getJyrq();
commonUtil.updateLabPatByColumn(jyrq, yq, ybh, "dybz", "1");
}
}
return new Result("0","打印成功!",encode);
}
private String getStringValue(Object obj) {
return obj == null ? null : obj.toString();
}
}

View File

@ -2,6 +2,7 @@ package com.czlis.interfaceCommon.websocket;
import com.alibaba.fastjson2.JSON;
import com.czlis.common.core.redis.RedisCache;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -10,6 +11,7 @@ import java.util.concurrent.TimeUnit;
/**
* 消息重试服务(若依框架适配)
*/
@Slf4j
@Service
public class RetryMsgService {
@ -79,7 +81,8 @@ public class RetryMsgService {
redisCache.redisTemplate.delete(RETRY_COUNT_KEY_PREFIX + msgId);
System.out.println("消息[" + msgId + "]重试第" + (retryCount + 1) + "次成功");
} catch (Exception e) {
e.printStackTrace();
// e.printStackTrace();
log.error("调用WebSocketMessage出错:",e);
WebSocketMessage wsMessage = JSON.parseObject(msgJson, WebSocketMessage.class);
String msgId = generateMsgId(wsMessage);

View File

@ -5,12 +5,11 @@ import com.czlis.common.annotation.Anonymous;
import com.czlis.common.annotation.Log;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.core.domain.entity.lis.ComDict;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.enums.BusinessType;
import com.czlis.common.utils.poi.ExcelUtil;
import com.czlis.interfaceCommon.constants.SysLogConstants;
import com.czlis.interfaceCommon.websocket.WebSocketInstrComm;
import com.czlis.liswork.service.ComDictService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@ -3,8 +3,8 @@ package com.czlis.liswork.controller.dict;
import com.czlis.common.annotation.Log;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.core.domain.entity.lis.XmBase;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.enums.BusinessType;
import com.czlis.interfaceCommon.constants.SysLogConstants;
import com.czlis.liswork.service.XmBaseService;

View File

@ -3,7 +3,6 @@ package com.czlis.liswork.controller.dict;
import com.czlis.common.annotation.Log;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.common.enums.BusinessType;
import com.czlis.interfaceCommon.constants.SysLogConstants;
@ -15,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* 仪器收费项目对照

View File

@ -3,8 +3,8 @@ package com.czlis.liswork.controller.dict;
import com.czlis.common.annotation.Log;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.core.domain.entity.lis.XmReqitemVsReportitem;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.enums.BusinessType;
import com.czlis.interfaceCommon.constants.SysLogConstants;
import com.czlis.liswork.service.XmReqitemVsReportitemService;

View File

@ -4,7 +4,6 @@ import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.QcBatchno;
import com.czlis.common.core.domain.entity.lis.QcSample;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.liswork.pojo.DTO.QcCopySampleDTO;
import com.czlis.liswork.service.QcBatchnoService;
import io.swagger.annotations.Api;
@ -13,7 +12,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**

View File

@ -5,7 +5,6 @@ import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.QcSample;
import com.czlis.common.core.domain.entity.lis.QcVal;
import com.czlis.liswork.service.QcStatService;
import com.czlis.liswork.service.QcValService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;

View File

@ -2,10 +2,7 @@ package com.czlis.liswork.controller.qc;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.QcBatchno;
import com.czlis.common.core.domain.entity.lis.QcSample;
import com.czlis.common.core.domain.entity.lis.QcVal;
import com.czlis.liswork.service.QcBatchnoService;
import com.czlis.liswork.service.QcValService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@ -7,7 +7,9 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController

View File

@ -2,7 +2,6 @@ package com.czlis.liswork.controller.stats;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComStatsParameter;
import com.czlis.liswork.service.StatsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -10,7 +9,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController

View File

@ -9,7 +9,10 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

View File

@ -2,7 +2,6 @@ package com.czlis.liswork.controller.work;
import com.czlis.common.core.domain.Result;
import com.czlis.liswork.pojo.VO.BatchPrintQueryVO;
import com.czlis.liswork.pojo.VO.BatchPrintVO;
import com.czlis.liswork.service.BatchPrintService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -13,8 +12,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 批量打印
*/
@ -29,8 +26,8 @@ public class BatchPrintController {
@ApiOperation("打印数据")
@PostMapping("/printAll")
public Result printAll(@RequestBody List<BatchPrintVO> batchPrintVOList){
return batchPrintService.printAll(batchPrintVOList);
public Result printAll(@RequestBody BatchPrintQueryVO batchPrintQueryVO){
return batchPrintService.printAll(batchPrintQueryVO);
}
@ApiOperation("查询需要打印的数据")

View File

@ -5,7 +5,6 @@ import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.ResultT;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabReqmain;
import com.czlis.common.core.domain.entity.lis.LabResult;
import com.czlis.common.core.domain.entity.lis.view.LabReqmainVO;
import com.czlis.common.core.page.TableDataInfo;

View File

@ -7,7 +7,6 @@ import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.core.text.Convert;
import com.czlis.common.enums.BusinessType;
import com.czlis.common.utils.JsonParamUtils;
import com.czlis.interfaceCommon.constants.SysLogConstants;
import com.czlis.liswork.mapper.LisWorkGermMapper;
import com.czlis.liswork.mapper.xtwh.XmMedMapper;

View File

@ -8,7 +8,6 @@ import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabResult;
import com.czlis.common.enums.BusinessType;
import com.czlis.interfaceCommon.constants.SysLogConstants;
import com.czlis.liswork.mapper.LisWorkPageInfoMapper;
import com.czlis.liswork.service.LisWorkOperService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@ -1,6 +1,5 @@
package com.czlis.liswork.controller.work;
import com.czlis.common.annotation.Anonymous;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabResultRe;

View File

@ -1,8 +1,6 @@
package com.czlis.liswork.controller.work;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.ResultT;
import com.czlis.common.core.domain.entity.lis.view.LabReqmainVO;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.liswork.pojo.WholeProcessVO;
import com.czlis.liswork.service.WholeProcessService;
@ -11,7 +9,6 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

View File

@ -3,10 +3,10 @@ package com.czlis.liswork.controller.xtwh;
import com.czlis.common.annotation.Log;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.AjaxResult;
import com.czlis.common.core.domain.entity.lis.ComConfigDict;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.enums.BusinessType;
import com.czlis.common.utils.poi.ExcelUtil;
import com.czlis.common.core.domain.entity.lis.ComConfigDict;
import com.czlis.liswork.service.ComConfigDictService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

View File

@ -1,18 +1,10 @@
package com.czlis.liswork.controller.xtwh;
import com.czlis.common.annotation.Anonymous;
import com.czlis.common.annotation.Log;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.AjaxResult;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComConfigDict;
import com.czlis.common.core.domain.entity.lis.ComOpt;
import com.czlis.common.core.domain.entity.lis.ComOptTemplate;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.page.TableDataInfo;
import com.czlis.common.enums.BusinessType;
import com.czlis.interfaceCommon.constants.SysLogConstants;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.liswork.service.ComOptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -21,7 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(tags = "后台参数界面")

View File

@ -3,8 +3,6 @@ package com.czlis.liswork.controller.xtwh;
import com.czlis.common.annotation.Log;
import com.czlis.common.core.controller.BaseController;
import com.czlis.common.core.domain.AjaxResult;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComDict;
import com.czlis.common.core.domain.entity.lis.ComReportDict;
import com.czlis.common.enums.BusinessType;
import com.czlis.common.utils.poi.ExcelUtil;
@ -19,7 +17,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
@Api(tags = "参数模板设置")

View File

@ -6,7 +6,6 @@ import com.czlis.common.core.domain.AjaxResult;
import com.czlis.common.core.domain.entity.lis.ComReportInstr;
import com.czlis.common.enums.BusinessType;
import com.czlis.common.utils.poi.ExcelUtil;
import com.czlis.interfaceCommon.utils.LisfileUtil;
import com.czlis.liswork.service.ComReportInstrService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -14,7 +13,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

View File

@ -1,7 +1,10 @@
package com.czlis.liswork.mapper;
import com.czlis.common.core.domain.entity.*;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.SysUser;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabPatBk;
import com.czlis.common.core.domain.entity.lis.LabResultBk;
import com.czlis.common.core.domain.entity.lis.XmInter;
import org.apache.ibatis.annotations.Param;
import java.util.Date;

View File

@ -3,6 +3,7 @@ package com.czlis.liswork.mapper;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.interfaceCommon.pojo.entity.ResultCalcDTO;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;

View File

@ -4,9 +4,7 @@ import com.czlis.common.core.domain.entity.lis.QcSample;
import com.czlis.liswork.pojo.DTO.QcGraphParamDTO;
import com.czlis.liswork.pojo.DTO.QcMonthstDTO;
import com.czlis.liswork.pojo.DTO.QcValDTO;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface QcGraphMapper {

View File

@ -1,6 +1,5 @@
package com.czlis.liswork.mapper;
import com.czlis.common.core.domain.entity.lis.QcFrmsmpl;
import com.czlis.common.core.domain.entity.lis.QcRules;
import com.czlis.common.core.domain.entity.lis.QcSample;

View File

@ -1,12 +1,9 @@
package com.czlis.liswork.mapper.dict;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.liswork.pojo.DTO.QueryXmDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public interface XmFeeInstrItemMapper {
List<Map<String, Object>> queryXm(QueryXmDTO queryXmDTO);

View File

@ -5,7 +5,6 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public interface XmReqitemVsReportitemMapper {
List<XmReqitemVsReportitem> query(XmReqitemVsReportitem xmReqitemVsReportitem);

View File

@ -1,6 +1,5 @@
package com.czlis.liswork.mapper.work;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.liswork.pojo.DTO.BatchCheckDTO;
import java.util.List;

View File

@ -1,10 +1,10 @@
package com.czlis.liswork.mapper.work;
import com.czlis.liswork.pojo.VO.BatchPrintQueryVO;
import com.czlis.liswork.pojo.VO.BatchPrintVO;
import java.util.List;
import java.util.Map;
public interface BatchPrintMapper {
List<Map<String,Object>> queryList(BatchPrintQueryVO batchPrintQueryVO);
List<BatchPrintVO> queryList(BatchPrintQueryVO batchPrintQueryVO);
}

View File

@ -1,7 +1,7 @@
package com.czlis.liswork.mapper.work;
import java.util.Map;
import java.util.List;
import java.util.Map;
public interface RcvBarcodeRefusedMapper {
List<Map<String,Object>> refreshData(String sqh);

View File

@ -1,7 +1,6 @@
package com.czlis.liswork.mapper.xtwh;
import com.czlis.common.core.domain.entity.lis.ComReportInstr;
import org.apache.ibatis.annotations.Param;
import java.util.List;

View File

@ -1,7 +1,6 @@
package com.czlis.liswork.mapper.xtwh;
import com.czlis.common.core.domain.entity.lis.LabInstr;
import org.apache.ibatis.annotations.Param;
import java.util.List;

View File

@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.util.Date;
@Data

View File

@ -1,7 +1,5 @@
package com.czlis.liswork.pojo.DTO;
import com.czlis.common.core.domain.entity.lis.LabGermsheetNew;
import com.czlis.common.core.domain.entity.lis.BactMedium;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@ -1,6 +1,5 @@
package com.czlis.liswork.pojo.DTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,7 +1,5 @@
package com.czlis.liswork.pojo.DTO;
import com.czlis.common.core.domain.entity.lis.LabInputmdl;
import com.czlis.common.core.domain.entity.lis.LabInputmdlDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;

View File

@ -1,5 +1,7 @@
package com.czlis.liswork.pojo.VO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -10,24 +12,42 @@ import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "BatchPrintQueryVO", description = "批量查询入参")
public class BatchPrintQueryVO {
@ApiModelProperty(value = "检验日期")
private Date jyrq;
@NotBlank(message = "样本号不能为空")
@ApiModelProperty(value = "样本号范围")
private String ybh;
@ApiModelProperty(value = "病人类型")
private String brly;
@ApiModelProperty(value = "科室")
private String ksdh;
@ApiModelProperty(value = "仪器")
private String yq;
@ApiModelProperty(value = "排除选择的科室")
private String notksdh;
@ApiModelProperty(value = "排除选择的病人类型")
private String notbrly;
@ApiModelProperty(value = "分组打印报告")
private String fzdy;
@ApiModelProperty(value = "打印未打印报告")
private String dybz;
@ApiModelProperty(value = "打印未审核报告")
private String jgbz;
@ApiModelProperty(value = "打印排序类型")
private String sorttype;
@ApiModelProperty(value = "无病人姓名不打印")
private String nobrxm;
@ApiModelProperty(value = "无检验结果不打印")
private String nocsjg;
@ApiModelProperty(value = "打印已审核报告")
private String jgbz2;
@ApiModelProperty(value = "仪器组别")
private String yqz;
@ApiModelProperty(value = "仅打印阳性报告")
private String dyyx;
@ApiModelProperty(value = "排除阳性报告")
private String pcyx;
}

View File

@ -1,5 +1,8 @@
package com.czlis.liswork.pojo.VO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -9,9 +12,28 @@ import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "BatchPrintVO", description = "查询返回")
public class BatchPrintVO {
@ApiModelProperty(value = "检验日期")
private Date jyrq;
@ApiModelProperty(value = "仪器")
private String yq;
@ApiModelProperty(value = "样本号")
private String ybh;
@ApiModelProperty(value = "病人姓名")
private String brxm;
@ApiModelProperty(value = "科室")
private String ksdh;
@ApiModelProperty(value = "床号")
private String ch;
@ApiModelProperty(value = "病人类型")
private String brly;
@ApiModelProperty(value = "数量")
private Integer cp_cnt;
@ApiModelProperty(value = "消息")
private String cp_msg;
@ApiModelProperty(value = "阳性数量")
private Integer ycjg;
@ApiModelProperty(value = "排序样本号")
private String cp_ybh;
}

View File

@ -2,12 +2,9 @@ package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
import com.czlis.liswork.pojo.VO.BatchPrintQueryVO;
import com.czlis.liswork.pojo.VO.BatchPrintVO;
import java.util.List;
public interface BatchPrintService {
Result printAll(List<BatchPrintVO> batchPrintVOList);
Result printAll(BatchPrintQueryVO batchPrintVOList);
Result queryList(BatchPrintQueryVO batchPrintQueryVO);
}

View File

@ -1,9 +1,6 @@
package com.czlis.liswork.service;
import com.czlis.common.constant.UserConstants;
import com.czlis.common.core.domain.entity.lis.ComConfigDict;
import com.czlis.common.exception.ServiceException;
import com.czlis.common.utils.StringUtils;
import java.util.List;

View File

@ -1,10 +1,8 @@
package com.czlis.liswork.service;
import com.czlis.common.core.domain.entity.lis.ComConfigDict;
import com.czlis.common.core.domain.entity.lis.ComLocalconfig;
import java.util.List;
import java.util.Map;
public interface ComLocalconfigService {
List<ComConfigDict> getComLocalconfigList();

View File

@ -2,8 +2,6 @@ package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComConfigDict;
import com.czlis.common.core.domain.entity.lis.ComOpt;
import com.czlis.common.core.domain.entity.lis.ComOptTemplate;
import java.util.List;

View File

@ -1,8 +1,6 @@
package com.czlis.liswork.service;
import com.czlis.common.core.domain.AjaxResult;
import com.czlis.common.core.domain.entity.lis.ComReportInstr;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;

View File

@ -2,8 +2,6 @@ package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabResult;
import java.util.Date;
import java.util.List;

View File

@ -5,7 +5,6 @@ import com.czlis.common.core.domain.entity.lis.QcBatchno;
import com.czlis.common.core.domain.entity.lis.QcSample;
import com.czlis.liswork.pojo.DTO.QcCopySampleDTO;
import java.util.Date;
import java.util.List;
public interface QcBatchnoService {

View File

@ -5,8 +5,6 @@ import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.QcSample;
import com.czlis.common.core.domain.entity.lis.QcVal;
import java.util.Date;
public interface QcStatService {
Result queryMonthst(QcVal qcVal);
Result queryMonthskzj(QcSample qcSample);

View File

@ -1,7 +1,8 @@
package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.lis.QcFrmsmpl;
import com.czlis.common.core.domain.entity.lis.QcRules;
import com.czlis.liswork.pojo.DTO.QcRulesDTO;
import java.util.List;

View File

@ -3,7 +3,6 @@ package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.liswork.pojo.DTO.XmInfoNewDTO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;

View File

@ -1,9 +1,7 @@
package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComStatsParameter;
import java.util.List;
import java.util.Map;
public interface StatsService {

View File

@ -1,6 +1,5 @@
package com.czlis.liswork.service;
import com.czlis.common.core.domain.Result;
import com.czlis.liswork.pojo.WholeProcessVO;
import java.util.List;

View File

@ -4,8 +4,6 @@ import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.liswork.pojo.DTO.QueryXmDTO;
import java.util.List;
public interface XmFeeInstrService {
Result query(XmFeeInstr xmFeeInstr);

View File

@ -3,9 +3,9 @@ package com.czlis.liswork.service.impl;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComDict;
import com.czlis.common.utils.StringUtils;
import com.czlis.interfaceCommon.mapper.ComDictMapper;
import com.czlis.common.core.domain.entity.lis.ComDict;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.liswork.service.ComDictService;
import lombok.extern.slf4j.Slf4j;
@ -14,7 +14,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**

View File

@ -1,13 +1,12 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.Result;
import com.czlis.liswork.mapper.xtwh.InstrMapper;
import com.czlis.common.core.domain.entity.lis.LabInstr;
import com.czlis.liswork.mapper.xtwh.InstrMapper;
import com.czlis.liswork.service.InstrService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service

View File

@ -5,18 +5,13 @@ import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.utils.SecurityUtils;
import com.czlis.common.utils.ServletUtils;
import com.czlis.interfaceCommon.constants.*;
import com.czlis.interfaceCommon.mapper.ComDictMapper;
import com.czlis.interfaceCommon.mapper.LabResultMedMapper;
import com.czlis.interfaceCommon.pojo.inter.SetReport;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisInterfaceUtil;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.interfaceCommon.utils.LisWorkUtils;
import com.czlis.liswork.mapper.LisWorkGermMapper;
import com.czlis.liswork.mapper.LisWorkMapper;
import com.czlis.liswork.mapper.xtwh.XmMedgroupMapper;
import com.czlis.liswork.pojo.DTO.MediumDTO;
import com.czlis.liswork.pojo.HistoryResult;
import com.czlis.liswork.service.LisWorkGermService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
@ -24,7 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service

View File

@ -1,21 +1,24 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.utils.*;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.utils.JsonParamUtils;
import com.czlis.common.utils.SecurityUtils;
import com.czlis.common.utils.ServletUtils;
import com.czlis.common.utils.StringUtils;
import com.czlis.interfaceCommon.constants.LabPatConstants;
import com.czlis.interfaceCommon.utils.*;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisWorkUtils;
import com.czlis.liswork.mapper.LisWorkPageInfoMapper;
import com.czlis.liswork.service.LisWorkOperService;
import com.sun.org.apache.bcel.internal.generic.RETURN;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Service

View File

@ -7,13 +7,12 @@ import cn.hutool.core.date.DateUtil;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.interfaceCommon.pojo.entity.LastLabPatParam;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisWorkUtils;
import com.czlis.interfaceCommon.utils.ReportUtil;
import com.czlis.liswork.mapper.LisWorkPageInfoMapper;
import com.czlis.liswork.pojo.DTO.HistoryResultDTO;
import com.czlis.liswork.pojo.HistoryResult;
import com.czlis.liswork.service.LisWorkPageInfoService;
import com.czlis.interfaceCommon.utils.CommonUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@ -1,8 +1,8 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.ResultT;
import com.czlis.common.core.domain.entity.*;
import com.czlis.common.core.domain.entity.SysLoginParam;
import com.czlis.common.core.domain.entity.SysUser;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.lis.view.LabReqmainVO;
import com.czlis.common.enums.UserStatus;
@ -20,8 +20,6 @@ import com.czlis.interfaceCommon.pojo.inter.GetReqInterface;
import com.czlis.interfaceCommon.pojo.inter.SetReqStatus;
import com.czlis.interfaceCommon.utils.*;
import com.czlis.liswork.mapper.LisWorkMapper;
import com.czlis.liswork.service.LisWorkService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;

View File

@ -11,8 +11,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
@Service

View File

@ -1,15 +1,14 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.Result;
import com.czlis.liswork.mapper.dict.XmBaseMapper;
import com.czlis.common.core.domain.entity.lis.XmBase;
import com.czlis.liswork.mapper.dict.XmBaseMapper;
import com.czlis.liswork.service.XmBaseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service

View File

@ -1,16 +1,15 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.interfaceCommon.mapper.XmFeeInstrMapper;
import com.czlis.liswork.mapper.dict.XmFeeInstrItemMapper;
import com.czlis.common.core.domain.entity.lis.XmFeeInstr;
import com.czlis.liswork.pojo.DTO.QueryXmDTO;
import com.czlis.liswork.service.XmFeeInstrService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

View File

@ -1,13 +1,12 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.XmMedinter;
import com.czlis.liswork.mapper.xtwh.XmMedinterMapper;
import com.czlis.liswork.service.XmMedinterService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.czlis.common.core.domain.Result;
import java.util.List;

View File

@ -1,8 +1,8 @@
package com.czlis.liswork.service.impl;
import com.czlis.common.core.domain.Result;
import com.czlis.liswork.mapper.dict.XmReqitemVsReportitemMapper;
import com.czlis.common.core.domain.entity.lis.XmReqitemVsReportitem;
import com.czlis.liswork.mapper.dict.XmReqitemVsReportitemMapper;
import com.czlis.liswork.service.XmReqitemVsReportitemService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -11,7 +11,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Service

View File

@ -6,7 +6,6 @@ import com.czlis.common.core.domain.entity.lis.QcVal;
import com.czlis.common.utils.DateUtils;
import com.czlis.common.utils.SecurityUtils;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.liswork.mapper.QcBatchnoMapper;
import com.czlis.liswork.mapper.QcValMapper;
import com.czlis.liswork.service.QcValService;
import lombok.extern.slf4j.Slf4j;

View File

@ -1,7 +1,10 @@
package com.czlis.liswork.service.impl.qc;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.lis.QcFrmsmpl;
import com.czlis.common.core.domain.entity.lis.QcRules;
import com.czlis.common.core.domain.entity.lis.XmInfoNew;
import com.czlis.common.core.domain.entity.lis.XmInfoVs;
import com.czlis.liswork.mapper.QcFrmsmplMapper;
import com.czlis.liswork.mapper.QcRulesMapper;
import com.czlis.liswork.mapper.QcSampleMapper;

View File

@ -2,22 +2,17 @@ package com.czlis.liswork.service.impl.stats;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.ComStatsParameter;
import com.czlis.common.core.domain.entity.lis.ComStatsTemplate;
import com.czlis.common.utils.StringUtils;
import com.czlis.interfaceCommon.utils.CalcUtils;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.interfaceCommon.utils.LisWorkUtils;
import com.czlis.liswork.mapper.stats.StatsMapper;
import com.czlis.liswork.mapper.xtwh.ComStatsParameterMapper;
import com.czlis.liswork.mapper.xtwh.ComStatsTemplateMapper;
import com.czlis.liswork.service.NcisService;
import com.czlis.liswork.service.StatsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
@Service
@Slf4j

View File

@ -12,7 +12,6 @@ import com.czlis.liswork.mapper.xtwh.ComStatsParameterMapper;
import com.czlis.liswork.mapper.xtwh.ComStatsTemplateMapper;
import com.czlis.liswork.service.StatsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@ -3,7 +3,9 @@ package com.czlis.liswork.service.impl.work;
import cn.hutool.core.date.DateUtil;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabResult;
import com.czlis.common.core.domain.entity.lis.LabResultMed;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.interfaceCommon.utils.LisWorkUtils;

View File

@ -5,10 +5,8 @@ import com.czlis.common.core.domain.entity.lis.LabInputmdl;
import com.czlis.common.core.domain.entity.lis.LabInputmdlDetail;
import com.czlis.common.core.domain.entity.lis.LabPat;
import com.czlis.common.core.domain.entity.lis.LabResult;
import com.czlis.common.utils.DateUtils;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.interfaceCommon.utils.LisUtil;
import com.czlis.interfaceCommon.utils.LisWorkBase;
import com.czlis.interfaceCommon.utils.LisWorkcom;
import com.czlis.liswork.pojo.VO.BatchInVO;
import com.czlis.liswork.service.BatchInService;
@ -21,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Slf4j

View File

@ -1,9 +1,10 @@
package com.czlis.liswork.service.impl.work;
import cn.hutool.core.util.StrUtil;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.LabInstr;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.common.core.domain.ResultT;
import com.czlis.common.utils.bean.BeanUtils;
import com.czlis.interfaceCommon.pojo.dto.BatchPrintDTO;
import com.czlis.interfaceCommon.utils.ReportUtil;
import com.czlis.liswork.mapper.work.BatchPrintMapper;
import com.czlis.liswork.pojo.VO.BatchPrintQueryVO;
import com.czlis.liswork.pojo.VO.BatchPrintVO;
@ -13,62 +14,64 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@Service
public class BatchPrintServiceImpl implements BatchPrintService {
@Autowired
CommonUtil commonUtil;
@Autowired
BatchPrintMapper batchPrintMapper;
@Autowired
ReportUtil reportUtil;
@Override
public Result printAll(List<BatchPrintVO> batchPrintVOList) {
public Result printAll(BatchPrintQueryVO batchPrintQueryVO) {
//TODO 直接过滤掉未审核的报告了,如果需要后面再加吧
List<BatchPrintVO> batchPrintVOList=queryListdata(batchPrintQueryVO);
if(batchPrintVOList.size() <= 0) return new Result("0","没有数据可打印!");
LabInstr labInstr = commonUtil.getLabInstr(batchPrintVOList.get(0).getYq());
if(labInstr.getPcdyms().equals("所有标本")){
for (BatchPrintVO batchPrintVO : batchPrintVOList) {
List<BatchPrintDTO> list1 = batchPrintVOList.stream().map(item2 -> {
BatchPrintDTO item1 = new BatchPrintDTO();
BeanUtils.copyProperties(item2, item1);
return item1;
}).collect(Collectors.toList());
Result result =reportUtil.printReport(list1);
if(result==null&&!result.getCode().equals("0")) return null;
Map<String, BatchPrintDTO> table1Map = list1.stream().collect(Collectors.toMap(BatchPrintDTO::getYbh, t -> t));
// 2. 遍历目标list2,匹配覆盖字段
for (BatchPrintVO t2 : batchPrintVOList) {
BatchPrintDTO t1 = table1Map.get(t2.getYbh());
if (t1 != null) {
// 两个字段覆盖
t2.setCp_msg(t1.getMsg());
t2.setCp_cnt(Integer.getInteger(t1.getFlag()));
}
}
return null;
Map<String, Object> map=new HashMap<>();
map.put("base64data",result.getData());
map.put("printflag",batchPrintVOList);
return new Result("0","打印成功!",map);
}
@Override
public Result queryList(BatchPrintQueryVO batchPrintQueryVO) {
int perpage = 0;
List<BatchPrintVO> mapList=queryListdata(batchPrintQueryVO);
if(mapList==null||mapList.size() <= 0) return new Result("-1","没有符合条件的数据!");
return new ResultT<>("0","查询成功!",mapList);
}
private List<BatchPrintVO> queryListdata(BatchPrintQueryVO batchPrintQueryVO) {
//校验参数
String ybh = batchPrintQueryVO.getYbh().trim();
Result result = LisCommonUtil.changeYBHToSQL(ybh);
if(!result.getCode().equals("0")) return result;
if(!result.getCode().equals("0")) return null;
ybh = result.getData().toString();
batchPrintQueryVO.setYbh(ybh);
//TODO 调用查询sql
String yq = batchPrintQueryVO.getYq();
String autofeedpaper = commonUtil.getComOptValue(yq, "AUTOFEEDPAPER");
LabInstr labInstr = commonUtil.getLabInstr(yq);
if(labInstr != null){
perpage = labInstr.getMyhs();
}else{
perpage = 15;
}
List<Map<String, Object>> mapList = batchPrintMapper.queryList(batchPrintQueryVO);
if(mapList.size() <= 0) return new Result("-1","没有符合条件的数据!");
return new Result("0","查询成功!",mapList);
List<BatchPrintVO> mapList = batchPrintMapper.queryList(batchPrintQueryVO);
if(mapList.size() <= 0) return null;
return mapList;
}
}

View File

@ -1,6 +1,5 @@
package com.czlis.liswork.service.impl.xtwh;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.utils.SecurityUtils;
@ -9,7 +8,6 @@ import com.czlis.liswork.mapper.xtwh.ComReportDictMapper;
import com.czlis.liswork.mapper.xtwh.LocalconfigMapper;
import com.czlis.liswork.service.ComConfigDictService;
import com.czlis.liswork.service.ComLocalconfigService;
import com.itextpdf.commons.utils.JsonUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@ -1,10 +1,12 @@
package com.czlis.liswork.service.impl.xtwh;
import com.czlis.common.core.domain.Result;
import com.czlis.common.core.domain.entity.lis.*;
import com.czlis.common.core.domain.entity.lis.ComConfigDict;
import com.czlis.common.core.domain.entity.lis.ComDict;
import com.czlis.common.core.domain.entity.lis.ComOpt;
import com.czlis.common.core.domain.entity.lis.LabInstr;
import com.czlis.common.utils.ComOptionUtils;
import com.czlis.common.utils.SecurityUtils;
import com.czlis.interfaceCommon.constants.ConfigTypeConstants;
import com.czlis.interfaceCommon.mapper.ComOptMapper;
import com.czlis.interfaceCommon.utils.CommonUtil;
import com.czlis.liswork.service.ComConfigDictService;

View File

@ -4,7 +4,6 @@ import com.czlis.common.constant.UserConstants;
import com.czlis.common.core.domain.AjaxResult;
import com.czlis.common.core.domain.entity.lis.ComReportDict;
import com.czlis.common.core.domain.entity.lis.ComReportInstr;
import com.czlis.common.core.domain.entity.lis.LabReportinstr;
import com.czlis.common.exception.ServiceException;
import com.czlis.common.utils.SecurityUtils;
import com.czlis.common.utils.StringUtils;
@ -12,7 +11,6 @@ import com.czlis.common.utils.file.FileUtils;
import com.czlis.interfaceCommon.utils.LisfileUtil;
import com.czlis.liswork.mapper.xtwh.ComReportDictMapper;
import com.czlis.liswork.mapper.xtwh.ComReportInstrMapper;
import com.czlis.liswork.mapper.xtwh.LabReportinstrMapper;
import com.czlis.liswork.service.ComReportDictService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -20,11 +18,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.List;
/**
* 配置参数报表模板,系统配置菜单依据本报表模板自动创建配置档

View File

@ -1,24 +1,13 @@
package com.czlis.liswork.service.impl.xtwh;
import com.czlis.common.constant.UserConstants;
import com.czlis.common.core.domain.AjaxResult;
import com.czlis.common.core.domain.entity.lis.ComReportInstr;
import com.czlis.common.core.domain.entity.lis.LabReportinstr;
import com.czlis.common.exception.ServiceException;
import com.czlis.common.utils.SecurityUtils;
import com.czlis.common.utils.StringUtils;
import com.czlis.common.utils.file.FileUtils;
import com.czlis.interfaceCommon.utils.LisfileUtil;
import com.czlis.liswork.mapper.xtwh.ComReportInstrMapper;
import com.czlis.liswork.mapper.xtwh.LabReportinstrMapper;
import com.czlis.liswork.service.ComReportInstrService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.List;
/**

View File

@ -12,6 +12,7 @@ import com.czlis.liswork.service.ComStatsTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service

View File

@ -8,7 +8,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j

View File

@ -9,7 +9,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Slf4j

View File

@ -2,6 +2,7 @@ package com.czlis.liswork.utils;
import cn.hutool.core.util.StrUtil;
import com.czlis.common.core.domain.Result;
import com.czlis.interfaceCommon.utils.LisUtil;
import java.util.ArrayList;
import java.util.List;
@ -9,27 +10,9 @@ import java.util.List;
public class LisCommonUtil {
public static Result changeYBHToSQL(String ybh) {
//转换样本号
ybh = ybh.replaceAll(",",",");
ybh = ybh.replaceAll("--","-");
String[] strings = StrUtil.splitToArray(ybh, ",");
String ybhSQL = "",ybhSQL_ = "";
for (String string : strings) {
if(string.contains("-")){
String[] split = StrUtil.splitToArray(string, "-");
if(split.length != 2) return new Result("-1","样本号输入非法!");
int start = Integer.parseInt(split[0]);
int end = Integer.parseInt(split[1]);
if(start > end) return new Result("-1","样本号输入非法!");
ybhSQL_ = ybhSQL_ + " or (ybh >= '"+ start + "' and ybh <='" + end + "') ";
}else{
//全是,的
ybhSQL = ybhSQL + "'" + string + "',";
}
}
ybhSQL = "ybh in (" + ybhSQL + ")";
ybh = "("+ybhSQL + ybhSQL_ + ")";
return new Result("0","样本号转换成功!",ybh);
String ybhSQL= LisUtil.getYbhWhere("ybh",ybh);
if("".equals(ybhSQL))return new Result("-1","样本号输入非法!");
return new Result("0","样本号转换成功!",ybhSQL);
}
public static Result changeYBHToList(String ybhStr){
@ -56,4 +39,6 @@ public class LisCommonUtil {
}
return new Result("0","样本号转换成功!",ybhList);
}
}

View File

@ -2,30 +2,34 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.czlis.liswork.mapper.work.BatchPrintMapper">
<select id="queryList" resultType="map">
<select id="queryList" resultType="com.czlis.liswork.pojo.VO.BatchPrintVO">
SELECT DISTINCT lab_pat.brxm,
lab_pat.ksdh,
lab_pat.ch,
lab_pat.brly,
lab_pat.ybh,
0 as cp_cnt,
'1' as cp_msg,
(select count(*) from lab_result where lab_result.yq=lab_pat.yq and lab_result.jyrq=lab_pat.jyrq and lab_result.ybh=lab_pat.ybh and result_flag in('H','L','P')) as ycjg
'待打印' as cp_msg,
(select count(1) from lab_result where lab_result.yq=lab_pat.yq and lab_result.jyrq=lab_pat.jyrq and lab_result.ybh=lab_pat.ybh and result_flag in('H','L','P')) as ycjg,
right(replicate(' ',20) + ybh,20) as cp_ybh,jyrq,yq
FROM lab_pat where jyrq = #{jyrq} and yq = #{yq} and ${ybh} and jgbz = '2'
<if test="nobrxm != null and nobrxm != ''"><![CDATA[and ltrim(brxm) <> '']]></if>
<if test="dybz != null and dybz != ''"><![CDATA[and (dybz is null or dybz <> '1')]]></if>
<if test="jgbz != null and jgbz != ''"><![CDATA[and (jgbz is null or jgbz <> '2')]]></if>
<if test="jgbz2 != null and jgbz2 != ''"><![CDATA[and (jgbz = '2')]]></if>
<choose>
<when test="brly != null and brly != '' and notbrly != null and notbrly !=''"><![CDATA[and (brly is null or brly <> "'" + #{brly} + "'")]]></when>
<when test="brly != null and brly != '' and notbrly == null"><![CDATA[and (brly = "'" + #{brly} + "'")]]></when>
</choose>
<if test="nobrxm != null and nobrxm != '' "> and ltrim(brxm) != '' </if>
<if test="dybz != null and dybz != '' "> and isnull(dybz,'') != '1' </if>
<if test="jgbz != null and jgbz != '' "> and isnull(jgbz,'') != '2' </if>
<if test="jgbz2 != null and jgbz2 != '' "> and jgbz = '2' </if>
<if test="ksdh != null and ksdh != '' and notksdh != null and notksdh !=''"> and isnull(ksdh,'') != #{ksdh} </if>
<if test="ksdh != null and ksdh != '' and (notksdh == null or notksdh != '1') "> and ksdh = #{ksdh} </if>
<if test="brly != null and brly != '' and notbrly != null and notbrly !=''"> and isnull(brly,'') != #{brly} </if>
<if test="brly != null and brly != '' and (notbrly == null or notbrly != '1') "> and brly = #{brly} </if>
<if test="dyyx != null and dyyx != '' "> and (select count(1) from lab_result where lab_result.yq=lab_pat.yq and lab_result.jyrq=lab_pat.jyrq and lab_result.ybh=lab_pat.ybh and result_flag in('H','L','P'))>0 </if>
<if test="pcyx != null and pcyx != '' "> and (select count(1) from lab_result where lab_result.yq=lab_pat.yq and lab_result.jyrq=lab_pat.jyrq and lab_result.ybh=lab_pat.ybh and result_flag in('H','L','P'))=0 </if>
<choose>
<when test="sorttype == 2">order by ksdh,ch,ybh</when>
<when test="sorttype == 3">order by brly,ksdh,ch,ybh</when>
<when test="sorttype == 4">order by brly,ksdh,ybh</when>
<when test="sorttype == 5">order by ycjg,ybh</when>
<otherwise>order by ybh</otherwise>
<otherwise>order by right(replicate(' ',20) + ybh,20)</otherwise>
</choose>
</select>