From c6013d774ee7e0f688f64568b858c8910cf7910b Mon Sep 17 00:00:00 2001 From: tangw Date: Fri, 16 Jan 2026 11:34:30 +0800 Subject: [PATCH] QC --- .../controller/qc/QcValController.java | 2 +- .../com/czlis/liswork/mapper/QcValMapper.java | 1 + .../czlis/liswork/service/QcValService.java | 2 +- .../service/impl/qc/QcValServiceImpl.java | 76 +++++++++++++++---- .../src/main/resources/mapper/QcValMapper.xml | 20 +++++ 5 files changed, 85 insertions(+), 16 deletions(-) diff --git a/liswork/src/main/java/com/czlis/liswork/controller/qc/QcValController.java b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcValController.java index 2454c9c..d9eb154 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/qc/QcValController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/qc/QcValController.java @@ -46,7 +46,7 @@ public class QcValController extends BaseController { } @ApiOperation("保存质控数据(单项目一个月)") @PostMapping("/saveqcvalmonth") - public Result saveQcValmonth(@RequestBody Map qcVal){ + public Result saveQcValmonth(@RequestBody List> qcVal){ return qcValService.saveQcValmonth(qcVal); } @ApiOperation("保存质控数据(当天所有项目)") diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/QcValMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/QcValMapper.java index b37b233..843277b 100644 --- a/liswork/src/main/java/com/czlis/liswork/mapper/QcValMapper.java +++ b/liswork/src/main/java/com/czlis/liswork/mapper/QcValMapper.java @@ -14,6 +14,7 @@ public interface QcValMapper { QcVal queryById(Long qc_valid); QcVal queryOne(QcVal qcVal); List query(QcVal qcVal); + List querymonth(QcVal qcVal); List> queryvalmonth(QcVal qcVal); List> queryvalitem(QcVal qcVal); List> queryitem(String yq); 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 7a118b3..f361d2a 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/QcValService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/QcValService.java @@ -12,7 +12,7 @@ public interface QcValService { Result getqcvalitem(QcVal qcVal); Result getqcvalmonth(QcVal qcVal); Result saveQcVal(List qcValList); - Result saveQcValmonth(Map qcVal); + Result saveQcValmonth(List> qcVal); Result saveQcValitem(List> qcVal); Result queryitem(String yq); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcValServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcValServiceImpl.java index 25362bd..88ac497 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcValServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/qc/QcValServiceImpl.java @@ -62,23 +62,71 @@ public class QcValServiceImpl implements QcValService { } @Transactional(rollbackFor = Exception.class) @Override - public Result saveQcValmonth(Map map){ - for (int i = 0; i <31; i++) { - Long cs=i+1L; - String xh="cs"+cs; - if (!map.containsKey(xh))continue; - List> qcVallist=(List)map.get(xh); - if(qcVallist!=null && qcVallist.size()>0){ - for (int j = 0; j map0=qcVallist.get(j); - String yq=map0.get("yq").toString(); - String xmdh=map0.get("xmdh").toString(); - String zkph=map0.get("zkph").toString(); - Date zkrq= DateUtils.dateTime("yyy-mm-dd",map0.get("zkph").toString()); + public Result saveQcValmonth(List> qcVallist){ + String yhdh = SecurityUtils.getLoginUser().getUsername(); + if(qcVallist!=null && qcVallist.size()>0){ + QcVal qcVal0=new QcVal(); + qcVal0.setYq(qcVallist.get(0).get("yq").toString()); + qcVal0.setZkph(qcVallist.get(0).get("zkph").toString()); + qcVal0.setZkrq(DateUtils.dateTime("yyy-MM-dd",qcVallist.get(0).get("zkrq").toString())); + qcVal0.setXmdh(qcVallist.get(0).get("xmdh").toString()); + List qcValall=qcValMapper.querymonth(qcVal0); + for (int j = 0; j map0=qcVallist.get(j); + String yq=map0.get("yq").toString(); + String xmdh=map0.get("xmdh").toString(); + String zkph=map0.get("zkph").toString(); + Date zkrq= DateUtils.dateTime("yyy-MM-dd",map0.get("zkrq").toString()); + for (int i = 0; i <7; i++) { + Long cs=i+1L; + Integer cs0=i+1; + String xh="cs"+cs; + if (!map0.containsKey(xh))continue; + String zkjg=map0.get(xh).toString(); + QcVal qcVal1=null; + if(qcValall!=null&&qcValall.size()>0) { + Optional qcvalfind = qcValall.stream().filter(aa -> aa.getCs() == cs0 && zkrq.equals(aa.getZkrq())).findAny(); + if (qcvalfind.isPresent()) qcVal1 = qcvalfind.get(); + } + // log.info("qcVal1:",qcVal1); + if (zkjg==null||"".equals(zkjg)){ + if (qcVal1 != null) { + qcValMapper.deleteById(qcVal1.getQc_valid()); + String logdata="质控结果删除: 项目 ["+qcVal1.getXmdh()+"] 结果 "+qcVal1.getZkjg()+"!"; + qcmodifylog(qcVal1,"1",logdata); + } + }else { + if(!LisUtil.isNumber(zkjg))continue; + if (qcVal1 == null) { + qcVal1=new QcVal(); + qcVal1.setYq(yq); + qcVal1.setZkph(zkph); + qcVal1.setZkrq(zkrq); + qcVal1.setXmdh(xmdh); + qcVal1.setCs(cs0); + qcVal1.setYhdh(yhdh); + qcVal1.setInputdt(new Date()); + BigDecimal zkjgs = new BigDecimal(zkjg); + qcVal1.setZkjg(zkjgs); + qcValMapper.insert(qcVal1); + } else { + // log.info("qcVal1:",qcVal1); + // log.info("getQcValid:",qcVal1.getQc_valid()); + BigDecimal zkjgs = new BigDecimal(zkjg); + BigDecimal zkjg0 = qcVal1.getZkjg(); + if (zkjgs != zkjg0) { + qcVal1.setZkjg(zkjgs); + qcVal1.setYhdh(yhdh); + qcVal1.setInputdt(new Date()); + qcValMapper.update(qcVal1); + String logdata = "质控结果修改: 项目 ["+qcVal1.getXmdh()+"] 结果: "+zkjg0+" 修改为: "+zkjgs+" !"; + qcmodifylog(qcVal1, "2", logdata); + } + } + } } } } - return new Result("0","保存数据成功!"); } @Transactional(rollbackFor = Exception.class) diff --git a/liswork/src/main/resources/mapper/QcValMapper.xml b/liswork/src/main/resources/mapper/QcValMapper.xml index 08e179f..17e3094 100644 --- a/liswork/src/main/resources/mapper/QcValMapper.xml +++ b/liswork/src/main/resources/mapper/QcValMapper.xml @@ -110,6 +110,26 @@ +