From 522fbf8743f8adffd3bffb4f1e331a163bd1bb8c Mon Sep 17 00:00:00 2001 From: tangw Date: Mon, 19 Jan 2026 17:16:32 +0800 Subject: [PATCH] QC --- .../core/domain/entity/lis/QcSample.java | 9 +++ .../controller/qc/QcBatchnoController.java | 12 ++++ .../controller/qc/QcStatController.java | 25 +++++++ .../controller/qc/QualitySetController.java | 3 - .../czlis/liswork/mapper/QcBatchnoMapper.java | 2 + .../czlis/liswork/mapper/QcStatMapper.java | 4 ++ .../liswork/pojo/DTO/QcCopySampleDTO.java | 33 +++++++++ .../czlis/liswork/pojo/DTO/QcSampleDTO.java | 26 ------- .../liswork/service/QcBatchnoService.java | 4 ++ .../czlis/liswork/service/QcStatService.java | 4 ++ .../czlis/liswork/service/QcValService.java | 1 - .../liswork/service/QualitySetService.java | 1 - .../service/impl/qc/QcBatchnoServiceImpl.java | 67 +++++++++++++++++-- .../service/impl/qc/QcStatServiceImpl.java | 8 +++ .../impl/qc/QualitySetServiceImpl.java | 4 -- .../main/resources/mapper/QcBatchnoMapper.xml | 25 +++++++ .../main/resources/mapper/QcStatMapper.xml | 8 +++ 17 files changed, 195 insertions(+), 41 deletions(-) create mode 100644 liswork/src/main/java/com/czlis/liswork/controller/qc/QcStatController.java create mode 100644 liswork/src/main/java/com/czlis/liswork/mapper/QcStatMapper.java create mode 100644 liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcCopySampleDTO.java delete mode 100644 liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcSampleDTO.java create mode 100644 liswork/src/main/java/com/czlis/liswork/service/QcStatService.java create mode 100644 liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcStatServiceImpl.java create mode 100644 liswork/src/main/resources/mapper/QcStatMapper.xml diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/QcSample.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/QcSample.java index b19e5c5..7757d37 100644 --- a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/QcSample.java +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/QcSample.java @@ -1,5 +1,7 @@ package com.czlis.common.core.domain.entity.lis; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -11,10 +13,16 @@ import java.util.Date; @AllArgsConstructor @NoArgsConstructor public class QcSample { + @ApiModelProperty(value = "仪器") private String yq; + @ApiModelProperty(value = "项目代码") private String xmdh; + @ApiModelProperty(value = "质控号") private String zkph; + @ApiModelProperty(value = "开始时间") + @JsonFormat(pattern = "yyyy-MM-dd") private Date ksrq; + @ApiModelProperty(value = "批号") private String zkpph; private String ld; private BigDecimal cv; @@ -28,6 +36,7 @@ public class QcSample { private Date endrq; private String standsrc; private Date outdt; + @JsonFormat(pattern = "yyyy-MM-dd") private Date stopdate; private String qcsrc; private Integer qc_sampleid; diff --git a/liswork/src/main/java/com/czlis/liswork/controller/qc/QcBatchnoController.java b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcBatchnoController.java index c134d1f..e5c756d 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/qc/QcBatchnoController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcBatchnoController.java @@ -5,6 +5,7 @@ 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; import io.swagger.annotations.ApiOperation; @@ -12,6 +13,7 @@ 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; /** @@ -64,4 +66,14 @@ public class QcBatchnoController extends BaseController { public Result saveQcSample(@RequestBody List qcSampleList){ return qcBatchnoService.saveQcSample(qcSampleList); } + @ApiOperation("复制靶值") + @GetMapping("/copyQcSample") + public Result copyQcSample(QcCopySampleDTO qcCopySample){ + return qcBatchnoService.copyQcSample(qcCopySample); + } + @ApiOperation("删除质控品参数") + @DeleteMapping("/delQcSample") + public Result delQcSample(QcSample qcSample){ + return qcBatchnoService.delQcSample(qcSample); + } } diff --git a/liswork/src/main/java/com/czlis/liswork/controller/qc/QcStatController.java b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcStatController.java new file mode 100644 index 0000000..7d7c717 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcStatController.java @@ -0,0 +1,25 @@ +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.QcVal; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/qcstat") +@Slf4j +@Api(tags = "质控数据统计") +public class QcStatController extends BaseController { + @ApiOperation("查询质控数据") + @GetMapping("/getmonthst") + public Result getmonthst(QcVal qcVal) { + return new Result("0","获取数据成功!"); + } +} diff --git a/liswork/src/main/java/com/czlis/liswork/controller/qc/QualitySetController.java b/liswork/src/main/java/com/czlis/liswork/controller/qc/QualitySetController.java index 3cb299b..1842890 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/qc/QualitySetController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/qc/QualitySetController.java @@ -3,14 +3,11 @@ package com.czlis.liswork.controller.qc; 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.domain.entity.lis.ComOpt; 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; import com.czlis.common.enums.BusinessType; import com.czlis.interfaceCommon.constants.SysLogConstants; import com.czlis.liswork.pojo.DTO.QcRulesDTO; -import com.czlis.liswork.pojo.DTO.QcSampleDTO; import com.czlis.liswork.service.QualitySetService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/QcBatchnoMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/QcBatchnoMapper.java index 7e8e4b5..da62796 100644 --- a/liswork/src/main/java/com/czlis/liswork/mapper/QcBatchnoMapper.java +++ b/liswork/src/main/java/com/czlis/liswork/mapper/QcBatchnoMapper.java @@ -1,6 +1,7 @@ package com.czlis.liswork.mapper; import com.czlis.common.core.domain.entity.lis.QcBatchno; +import com.czlis.common.core.domain.entity.lis.QcSample; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -11,6 +12,7 @@ public interface QcBatchnoMapper { void insert(QcBatchno qcBatchno); void update(QcBatchno qcBatchno); void delete(QcBatchno qcBatchno); + List qcSampleonly(@Param("yq") String yq, @Param("zkpph") String zkpph,@Param("zkph") String zkph); List> qcSampleList(@Param("yq") String yq, @Param("zkpph") String zkpph,@Param("zkph") String zkph); List> qcSampleByXmdh(@Param("yq") String yq, @Param("zkpph") String zkpph,@Param("zkph") String zkph,@Param("xmdh") String xmdh); } diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/QcStatMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/QcStatMapper.java new file mode 100644 index 0000000..f3905c9 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/mapper/QcStatMapper.java @@ -0,0 +1,4 @@ +package com.czlis.liswork.mapper; + +public interface QcStatMapper { +} diff --git a/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcCopySampleDTO.java b/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcCopySampleDTO.java new file mode 100644 index 0000000..26109ab --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcCopySampleDTO.java @@ -0,0 +1,33 @@ +package com.czlis.liswork.pojo.DTO; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class QcCopySampleDTO { + @ApiModelProperty(value = "本质控仪器") + private String yq; + @ApiModelProperty(value = "本质控品批号") + private String zkpph; + @ApiModelProperty(value = "本质控品号") + private String zkph; + @ApiModelProperty(value = "新质控仪器") + private String newyq; + @ApiModelProperty(value = "新质控品批号") + private String newzkpph; + @ApiModelProperty(value = "新质控品号") + private String newzkph; + @ApiModelProperty(value = "新质控是否使用新日期") + private String newdtflag; + @ApiModelProperty(value = "新质控日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date newstartda; + +} diff --git a/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcSampleDTO.java b/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcSampleDTO.java deleted file mode 100644 index 34a5127..0000000 --- a/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcSampleDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.czlis.liswork.pojo.DTO; - -import com.czlis.common.core.domain.entity.lis.QcFrmsmpl; -import com.czlis.common.core.domain.entity.lis.QcSample; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.util.List; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class QcSampleDTO { - private List qcSampleList; - private List qcFrmsmplList; - @ApiModelProperty(value = "质控品个数") - private String QCSAMPLECNT; //质控品个数 - private String REFSAMPLENO; //每日报告参考标本号 - private String QCMODE; //质控模式 - private String qcdisplayotherdot; //质控图显示非画图点 - private String qcavesdbyph; //质控图累积SD/CV值通过批号计算 - private String qc_dotline; //质控图是否画虚线 - private String yq; //仪器 -} diff --git a/liswork/src/main/java/com/czlis/liswork/service/QcBatchnoService.java b/liswork/src/main/java/com/czlis/liswork/service/QcBatchnoService.java index b30a73e..d296b85 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/QcBatchnoService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/QcBatchnoService.java @@ -3,7 +3,9 @@ package com.czlis.liswork.service; 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.liswork.pojo.DTO.QcCopySampleDTO; +import java.util.Date; import java.util.List; public interface QcBatchnoService { @@ -14,4 +16,6 @@ public interface QcBatchnoService { Result saveQcSample(List qcSampleList); Result queryValList(String yq,String zkpph,String zkph); Result queryValXmdh(String yq,String zkpph,String zkph,String xmdh); + Result copyQcSample(QcCopySampleDTO qcCopySample); + Result delQcSample(QcSample qcSample); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/QcStatService.java b/liswork/src/main/java/com/czlis/liswork/service/QcStatService.java new file mode 100644 index 0000000..b4e95a2 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/QcStatService.java @@ -0,0 +1,4 @@ +package com.czlis.liswork.service; + +public interface QcStatService { +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/QcValService.java b/liswork/src/main/java/com/czlis/liswork/service/QcValService.java index f361d2a..7b5133d 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/QcValService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/QcValService.java @@ -2,7 +2,6 @@ package com.czlis.liswork.service; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.QcVal; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; diff --git a/liswork/src/main/java/com/czlis/liswork/service/QualitySetService.java b/liswork/src/main/java/com/czlis/liswork/service/QualitySetService.java index 71a3079..6199e48 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/QualitySetService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/QualitySetService.java @@ -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.QcRulesDTO; -import com.czlis.liswork.pojo.DTO.QcSampleDTO; import java.util.List; diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcBatchnoServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcBatchnoServiceImpl.java index c4c329e..75b9a86 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcBatchnoServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcBatchnoServiceImpl.java @@ -5,8 +5,8 @@ import com.czlis.common.core.domain.entity.lis.QcBatchno; import com.czlis.common.core.domain.entity.lis.QcSample; import com.czlis.liswork.mapper.QcBatchnoMapper; import com.czlis.liswork.mapper.QcSampleMapper; +import com.czlis.liswork.pojo.DTO.QcCopySampleDTO; import com.czlis.liswork.service.QcBatchnoService; -import lombok.Data; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -15,7 +15,6 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; @Service public class QcBatchnoServiceImpl implements QcBatchnoService { @@ -27,8 +26,7 @@ public class QcBatchnoServiceImpl implements QcBatchnoService { @Override public List queryList(QcBatchno qcBatchno) { - List qcBatchnoList = qcBatchnoMapper.selectList(qcBatchno); - return qcBatchnoList; + return qcBatchnoMapper.selectList(qcBatchno); } @Override @@ -44,6 +42,8 @@ public class QcBatchnoServiceImpl implements QcBatchnoService { @Transactional(rollbackFor = Exception.class) @Override public Result addBatchno(QcBatchno qcBatchno){ + List qcBatchno0=qcBatchnoMapper.selectList(qcBatchno); + if(qcBatchno0.size()>0&&qcBatchno0!=null)return new Result("-1","已存在该批号!"); qcBatchnoMapper.insert(qcBatchno); return new Result("0","成功!"); } @@ -85,7 +85,7 @@ public class QcBatchnoServiceImpl implements QcBatchnoService { if(qcSampleList != null && !qcSampleList.isEmpty()){ for (QcSample qcSample : qcSampleList) { Date ksrq=qcSample.getKsrq(); - if(ksrq!=null) continue; + if(ksrq==null) continue; QcSample qcSample1 = qcSampleMapper.queryOne(qcSample); BigDecimal zkbz= qcSample.getZkbz(); if(zkbz==null) { @@ -103,5 +103,60 @@ public class QcBatchnoServiceImpl implements QcBatchnoService { } return new Result("0","保存数据成功!"); } - + @Override + public Result copyQcSample(QcCopySampleDTO qcCopySample){ + String yq=qcCopySample.getYq(); + String zkpph=qcCopySample.getZkpph(); + String zkph=qcCopySample.getZkph(); + List qcSampleList = qcBatchnoMapper.qcSampleonly(yq,zkpph,zkph); + if(qcSampleList == null || qcSampleList.isEmpty())return new Result("-1","当前质控品数据不存在!"); + String newYq=qcCopySample.getNewyq(); + String newZkpph=qcCopySample.getNewzkpph(); + String newZkph=qcCopySample.getNewzkph(); + String newdtflag=qcCopySample.getNewdtflag(); + Date newstartda=qcCopySample.getNewstartda(); + for (QcSample qcSample : qcSampleList) { + if("1".equals(newdtflag))qcSample.setKsrq(newstartda); + qcSample.setYq(newYq); + qcSample.setZkpph(newZkpph); + qcSample.setZkph(newZkph); + } + QcBatchno qcBatchno=new QcBatchno(); + qcBatchno.setYq(newYq); + qcBatchno.setZkpph(newZkpph); + qcBatchno.setZkph(newZkph); + qcBatchno.setStartda(newstartda); + List qcBatchnolist=qcBatchnoMapper.selectList(qcBatchno); + if(qcBatchnolist.size()==0||qcBatchnolist==null) { + qcBatchnoMapper.insert(qcBatchno); + } + return saveQcSamplenew(qcSampleList); + } + public Result saveQcSamplenew(List qcSampleList) { + if(qcSampleList != null && !qcSampleList.isEmpty()){ + for (QcSample qcSample : qcSampleList) { + Date ksrq=qcSample.getKsrq(); + if(ksrq==null) continue; + QcSample qcSample1 = qcSampleMapper.queryOne(qcSample); + if(qcSample1 == null){ + qcSampleMapper.insert(qcSample); + } + } + } + return new Result("0","保存数据成功!"); + } + @Transactional(rollbackFor = Exception.class) + @Override + public Result delQcSample(QcSample qcSample){ + String yq=qcSample.getYq(); + String zkph=qcSample.getZkph(); + String xmdh=qcSample.getXmdh(); + Date ksrq=qcSample.getKsrq(); + if("".equals(yq)||yq==null)return new Result("-1","仪器为空!"); + if("".equals(zkph)||zkph==null)return new Result("-1","质控水平为空!"); + if("".equals(xmdh)||xmdh==null)return new Result("-1","项目为空!"); + if(ksrq==null)return new Result("-1","开始时间为空!"); + qcSampleMapper.delete(qcSample); + return new Result("0","成功!"); + } } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcStatServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcStatServiceImpl.java new file mode 100644 index 0000000..e692097 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcStatServiceImpl.java @@ -0,0 +1,8 @@ +package com.czlis.liswork.service.impl.qc; + +import com.czlis.liswork.service.QcStatService; +import org.springframework.stereotype.Service; + +@Service +public class QcStatServiceImpl implements QcStatService { +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QualitySetServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QualitySetServiceImpl.java index 02e0989..5652ece 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QualitySetServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QualitySetServiceImpl.java @@ -2,15 +2,11 @@ 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.utils.ComOptionUtils; -import com.czlis.interfaceCommon.mapper.ComOptMapper; -import com.czlis.interfaceCommon.utils.CommonUtil; import com.czlis.liswork.mapper.QcFrmsmplMapper; import com.czlis.liswork.mapper.QcRulesMapper; import com.czlis.liswork.mapper.QcSampleMapper; import com.czlis.liswork.mapper.dict.ReportItemMapper; import com.czlis.liswork.pojo.DTO.QcRulesDTO; -import com.czlis.liswork.pojo.DTO.QcSampleDTO; import com.czlis.liswork.service.QualitySetService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/liswork/src/main/resources/mapper/QcBatchnoMapper.xml b/liswork/src/main/resources/mapper/QcBatchnoMapper.xml index 1b39423..13dcbb2 100644 --- a/liswork/src/main/resources/mapper/QcBatchnoMapper.xml +++ b/liswork/src/main/resources/mapper/QcBatchnoMapper.xml @@ -61,6 +61,31 @@ WHERE ( xm_info.yq = #{yq} ) AND ( xm_info.zkxm = 'Y' ) order by xm_info.dyxh + + select * from qc_sample where yq = #{yq} and xmdh = #{xmdh} and zkph = #{zkph} and ksrq = #{ksrq} + +