From b124e1d4d323d2dc8f574054f44041d621ef0bce Mon Sep 17 00:00:00 2001 From: tangw Date: Tue, 27 Jan 2026 18:01:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E6=8E=A7=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/qc/QcGraphController.java | 17 +++- .../czlis/liswork/mapper/QcGraphMapper.java | 5 +- .../czlis/liswork/service/QcGraphService.java | 6 ++ .../service/impl/qc/QcGraphServiceImpl.java | 29 ++++-- .../service/impl/qc/QcStatServiceImpl.java | 16 ++++ .../main/resources/mapper/QcGraphMapper.xml | 94 +++++++++++++++---- .../main/resources/mapper/QcStatMapper.xml | 14 ++- 7 files changed, 150 insertions(+), 31 deletions(-) diff --git a/liswork/src/main/java/com/czlis/liswork/controller/qc/QcGraphController.java b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcGraphController.java index a4f6b71..f059f53 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/qc/QcGraphController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcGraphController.java @@ -1,19 +1,32 @@ package com.czlis.liswork.controller.qc; import com.czlis.common.core.controller.BaseController; -import com.czlis.liswork.service.QcBatchnoService; +import com.czlis.common.core.domain.Result; +import com.czlis.liswork.pojo.DTO.QcGraphParamDTO; import com.czlis.liswork.service.QcGraphService; 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.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController -@RequestMapping("/qc") +@RequestMapping("/qcgraph") @Slf4j @Api(tags = "质控批号设置") public class QcGraphController extends BaseController { @Autowired private QcGraphService qcGraphService; + @ApiOperation("查询质控参数列表") + @GetMapping("/querysample") + public Result querysample(QcGraphParamDTO qcGraphParamDTO) { + return qcGraphService.querysample(qcGraphParamDTO); + } + @ApiOperation("查询质控数据") + @GetMapping("/query") + public Result query(QcGraphParamDTO qcGraphParamDTO) { + return qcGraphService.query(qcGraphParamDTO); + } } diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/QcGraphMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/QcGraphMapper.java index c253233..e1964cf 100644 --- a/liswork/src/main/java/com/czlis/liswork/mapper/QcGraphMapper.java +++ b/liswork/src/main/java/com/czlis/liswork/mapper/QcGraphMapper.java @@ -12,7 +12,10 @@ import java.util.List; public interface QcGraphMapper { List querysample(QcGraphParamDTO qcGraphParamDTO); List queryhead(QcGraphParamDTO qcGraphParamDTO); - List queryhead1(QcGraphParamDTO qcGraphParamDTO); + List queryhead3(QcGraphParamDTO qcGraphParamDTO); List query(QcGraphParamDTO qcGraphParamDTO); + List query8(QcGraphParamDTO qcGraphParamDTO); + List query9(QcGraphParamDTO qcGraphParamDTO); + List query0(QcGraphParamDTO qcGraphParamDTO); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/QcGraphService.java b/liswork/src/main/java/com/czlis/liswork/service/QcGraphService.java index 6a4cf70..d4b5222 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/QcGraphService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/QcGraphService.java @@ -1,4 +1,10 @@ package com.czlis.liswork.service; +import com.czlis.common.core.domain.Result; +import com.czlis.liswork.pojo.DTO.QcGraphParamDTO; + public interface QcGraphService { + Result querysample(QcGraphParamDTO qcGraphParamDTO); + Result query(QcGraphParamDTO qcGraphParamDTO); + Result queryhead(QcGraphParamDTO qcGraphParamDTO); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcGraphServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcGraphServiceImpl.java index 598542e..59a863e 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcGraphServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcGraphServiceImpl.java @@ -2,21 +2,32 @@ package com.czlis.liswork.service.impl.qc; 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.common.utils.SecurityUtils; -import com.czlis.liswork.mapper.QcSampleMapper; -import com.czlis.liswork.mapper.QcStatMapper; +import com.czlis.liswork.mapper.QcGraphMapper; +import com.czlis.liswork.pojo.DTO.QcGraphParamDTO; import com.czlis.liswork.pojo.DTO.QcMonthstDTO; +import com.czlis.liswork.pojo.DTO.QcValDTO; import com.czlis.liswork.service.QcGraphService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; import java.util.List; -import java.util.Optional; - @Service public class QcGraphServiceImpl implements QcGraphService { + @Autowired + private QcGraphMapper qcGraphMapper; + @Override + public Result querysample(QcGraphParamDTO qcGraphParamDTO){ + List QcSamplelist=qcGraphMapper.querysample(qcGraphParamDTO); + return new Result("0","成功",QcSamplelist); + } + @Override + public Result query(QcGraphParamDTO qcGraphParamDTO){ + List QcValDTOList=qcGraphMapper.query(qcGraphParamDTO); + return new Result("0","成功",QcValDTOList); + } + @Override + public Result queryhead(QcGraphParamDTO qcGraphParamDTO){ + List QcSamplelist=qcGraphMapper.queryhead(qcGraphParamDTO); + return new Result("0","成功",QcSamplelist); + } } 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 index eff6799..3118fbe 100644 --- 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 @@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.DecimalFormat; import java.util.Date; import java.util.List; import java.util.Optional; @@ -45,6 +46,21 @@ public class QcStatServiceImpl implements QcStatService { qcMonthstDTO.setSd3(monthsttemp.get().getSd3()); qcMonthstDTO.setCnt3(monthsttemp.get().getCnt3()); } + Integer badcnt=qcMonthstDTO.getBadcnt(); + Integer process=qcMonthstDTO.getProcess(); + Integer cnt=qcMonthstDTO.getCnt(); + if(cnt>0&&cnt!=null) { + if (badcnt > 0 && badcnt != null) { + double percentValue = (double) badcnt / cnt; + DecimalFormat df = new DecimalFormat("#.#%"); + qcMonthstDTO.setSkl(df.format(percentValue)); + if (process > 0 && process != null) { + double process0 = (double) process / badcnt; + DecimalFormat df0 = new DecimalFormat("#.#%"); + qcMonthstDTO.setCll(df0.format(process0)); + } + } + } } return new Result("0","成功",monthst); } diff --git a/liswork/src/main/resources/mapper/QcGraphMapper.xml b/liswork/src/main/resources/mapper/QcGraphMapper.xml index 6d2b6e5..caa9f0e 100644 --- a/liswork/src/main/resources/mapper/QcGraphMapper.xml +++ b/liswork/src/main/resources/mapper/QcGraphMapper.xml @@ -36,6 +36,67 @@ order by qc_val.zkrq,qc_val.cs + + + + - - SELECT qc_val.yq,qc_val.xmdh,qc_val.zkph,count(1) cnt3,cast(avg(zkjg) as decimal(12, 3)) avg3, cast(STDEV(zkjg) as decimal(12, 3)) sd3,cast(100*STDEV(zkjg)/avg(zkjg) as decimal(12, 3)) as cv3 - FROM qc_val where zkrq>=(select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and convert(datetime,convert(char(8),#{zkrq},120)+'01') >=x.ksrq) - and isnull((select min(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and x.ksrq>(select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and convert(datetime,convert(char(8),#{zkrq},120)+'01')>=x.ksrq ) and convert(datetime,convert(char(8),DATEADD(month,1,#{zkrq}),120)+'01')>=x.ksrq ),convert(datetime,convert(char(8),DATEADD(month,1,#{zkrq}),120)+'01') )>zkrq - and qc_val.yq=#{yq} and qc_val.zkph=#{zkph} + FROM qc_val join qc_sample on qc_sample.yq=qc_val.yq and qc_sample.xmdh=qc_val.xmdh and qc_sample.zkph=qc_val.zkph + and qc_sample.ksrq=(select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and qc_val.zkrq>=x.ksrq) + join qc_sample s on s.yq=qc_val.yq and s.xmdh=qc_val.xmdh and s.zkph=qc_val.zkph + and s.ksrq=isnull((select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and #{zkrq1}>=x.ksrq),(select min(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and #{zkrq2}>=x.ksrq and x.ksrq>=#{zkrq1})) + + and qc_val.yq = #{yq} + and qc_val.xmdh = #{xmdh} + and qc_val.zkph = #{zkph} + and qc_val.ksrq>=(select min(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and qc_sample.zkpph=x.zkpph) + and #{zkrq2}>= qc_val.ksrq + + and qc_sample.zkpph=s.zkpph group by qc_val.yq,qc_val.zkph,qc_val.xmdh SELECT qc_val.yq,qc_val.xmdh,qc_val.zkph,count(1) cnt3,cast(avg(zkjg) as decimal(12, 3)) avg3, cast(STDEV(zkjg) as decimal(12, 3)) sd3,cast(100*STDEV(zkjg)/avg(zkjg) as decimal(12, 3)) as cv3 - FROM qc_val where zkrq>=(select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and convert(datetime,convert(char(8),#{zkrq},120)+'01') >=x.ksrq) - and isnull((select min(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and x.ksrq>(select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and convert(datetime,convert(char(8),#{zkrq},120)+'01')>=x.ksrq ) and convert(datetime,convert(char(8),DATEADD(month,1,#{zkrq}),120)+'01')>=x.ksrq ),convert(datetime,convert(char(8),DATEADD(month,1,#{zkrq}),120)+'01') )>zkrq - and qc_val.yq=#{yq} and qc_val.zkph=#{zkph} + FROM qc_val join qc_sample on qc_sample.yq=qc_val.yq and qc_sample.xmdh=qc_val.xmdh and qc_sample.zkph=qc_val.zkph + and qc_sample.ksrq=(select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and qc_val.zkrq>=x.ksrq) + join qc_sample s on s.yq=qc_val.yq and s.xmdh=qc_val.xmdh and s.zkph=qc_val.zkph + and s.ksrq=isnull((select max(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and convert(datetime,convert(char(8),#{zkrq},120)+'01')>=x.ksrq),(select min(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and convert(datetime,convert(char(8),DATEADD(month,1,#{zkrq}),120)+'01')>=x.ksrq and x.ksrq>=convert(datetime,convert(char(8),#{zkrq},120)+'01'))) + + and qc_val.yq = #{yq} + and qc_val.zkph = #{zkph} + and qc_val.ksrq>=(select min(ksrq) from qc_sample x where x.yq=qc_val.yq and x.xmdh=qc_val.xmdh and x.zkph=qc_val.zkph and qc_sample.zkpph=x.zkpph) + and convert(datetime,convert(char(8),DATEADD(month,1,#{zkrq}),120)+'01')>= qc_val.ksrq + + and qc_sample.zkpph=s.zkpph group by qc_val.yq,qc_val.zkph,qc_val.xmdh