diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/QcRules.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/QcRules.java new file mode 100644 index 0000000..2956bf9 --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/QcRules.java @@ -0,0 +1,15 @@ +package com.czlis.common.core.domain.entity.lis; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class QcRules { + private String yq; + private String xmdh; + private String rules; + private String bz; +} 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 62dfec5..8bb1e85 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 @@ -2,15 +2,15 @@ package com.czlis.liswork.controller.qc; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.ComOpt; +import com.czlis.common.core.domain.entity.lis.QcRules; +import com.czlis.common.core.domain.entity.lis.XmInfoNew; +import com.czlis.liswork.pojo.DTO.QcRulesDTO; import com.czlis.liswork.service.QualitySetService; 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.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -35,9 +35,14 @@ public class QualitySetController { @ApiOperation("保存质控项目数据") @PostMapping("/saveQCItem") - public Result saveQCItem(){ - //return qualitySetService.saveQCItem(); - return null; + public Result saveQCItem(@RequestBody List QcRulesDTOList){ + return qualitySetService.saveQCItem(QcRulesDTOList); + } + + @ApiOperation("查询项目的质控规则") + @GetMapping("/queryRules") + public Result queryRules(QcRules qcRules){ + return qualitySetService.queryRules(qcRules); } } diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/QcRulesMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/QcRulesMapper.java new file mode 100644 index 0000000..5278983 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/mapper/QcRulesMapper.java @@ -0,0 +1,11 @@ +package com.czlis.liswork.mapper; + +import com.czlis.common.core.domain.entity.lis.QcRules; + +public interface QcRulesMapper { + + QcRules queryOne(QcRules qcRules); + void insert(QcRules qcRules); + void update(QcRules qcRules); + void delete(QcRules qcRules); +} diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/dict/ReportItemMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/dict/ReportItemMapper.java index 42ab083..8cfc443 100644 --- a/liswork/src/main/java/com/czlis/liswork/mapper/dict/ReportItemMapper.java +++ b/liswork/src/main/java/com/czlis/liswork/mapper/dict/ReportItemMapper.java @@ -32,7 +32,7 @@ public interface ReportItemMapper { void deleteXmValNew(XmValNew xmValNew); Long getXmInfoVsCount(Integer xmid); - + void updateXmInfoNew1(XmInfoNew xmInfoNew); void updateXmInfoNew(XmInfoNew xmInfoNewRow); void updateXmDoubleRow(XmDouble xmDoubleRow); void updateXmInterRow(XmInter xmInterRow); diff --git a/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcRulesDTO.java b/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcRulesDTO.java new file mode 100644 index 0000000..c0d9a5d --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/pojo/DTO/QcRulesDTO.java @@ -0,0 +1,15 @@ +package com.czlis.liswork.pojo.DTO; + +import com.czlis.common.core.domain.entity.lis.QcRules; +import com.czlis.common.core.domain.entity.lis.XmInfoNew; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class QcRulesDTO { + private QcRules qcRules; + private XmInfoNew xmInfoNew; +} 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 fd1d8b9..db66db7 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/QualitySetService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/QualitySetService.java @@ -2,9 +2,16 @@ package com.czlis.liswork.service; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.ComOpt; +import com.czlis.common.core.domain.entity.lis.QcRules; +import com.czlis.common.core.domain.entity.lis.XmInfoNew; +import com.czlis.liswork.pojo.DTO.QcRulesDTO; import java.util.List; public interface QualitySetService { Result saveOpt(List comOptList); + + Result saveQCItem(List QcRulesDTOList); + + Result queryRules(QcRules qcRules); } 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 6ac136f..a85418d 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,12 +2,19 @@ package com.czlis.liswork.service.impl.qc; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.ComOpt; +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.common.utils.ComOptionUtils; import com.czlis.interfaceCommon.mapper.ComOptMapper; +import com.czlis.liswork.mapper.QcRulesMapper; +import com.czlis.liswork.mapper.dict.ReportItemMapper; +import com.czlis.liswork.pojo.DTO.QcRulesDTO; import com.czlis.liswork.service.QualitySetService; 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; @@ -17,6 +24,10 @@ public class QualitySetServiceImpl implements QualitySetService { @Autowired ComOptMapper comOptMapper; + @Autowired + ReportItemMapper reportItemMapper; + @Autowired + QcRulesMapper qcRulesMapper; @Override public Result saveOpt(List comOptList) { @@ -39,4 +50,44 @@ public class QualitySetServiceImpl implements QualitySetService { } return new Result("0","修改成功!"); } + + @Transactional(rollbackFor = Exception.class) + @Override + public Result saveQCItem(List QcRulesDTOList) { + for (QcRulesDTO qcRulesDTO : QcRulesDTOList) { + XmInfoNew xmInfoNew = qcRulesDTO.getXmInfoNew(); + QcRules qcRules = qcRulesDTO.getQcRules(); + String yq = xmInfoNew.getYq(); + String xmdh = xmInfoNew.getXmdh(); + if(yq == null) return new Result("-1","仪器参数不能为空!"); + if(xmdh == null) return new Result("-1","项目代号不能为空!"); + XmInfoNew xmInfoNew1 = new XmInfoNew(); + xmInfoNew1.setYq(yq); + xmInfoNew1.setXmdh(xmdh); + List xmInfoNewOneList = reportItemMapper.query(xmInfoNew1); + if(xmInfoNewOneList.size() <= 0) return new Result("-1","没有查询到xm_info表中的数据!"); + reportItemMapper.updateXmInfoNew1(xmInfoNew); + Integer xmid = xmInfoNewOneList.get(0).getXmid(); + XmInfoVs xmInfoVs = new XmInfoVs(); + xmInfoVs.setZkxm(xmInfoNew.getZkxm()); + xmInfoVs.setYq(xmInfoNew.getYq()); + xmInfoVs.setXmid(xmid); + reportItemMapper.updateXminfoVs(xmInfoVs); + //保存质控规则 + QcRules qcRules1 = qcRulesMapper.queryOne(qcRules); + if(qcRules1 == null) { + qcRulesMapper.insert(qcRules); + }else{ + qcRulesMapper.update(qcRules); + } + + } + return new Result("0","修改数据成功!"); + } + + @Override + public Result queryRules(QcRules qcRules) { + QcRules qcRulesOne = qcRulesMapper.queryOne(qcRules); + return new Result("0","获取数据成功!",qcRulesOne); + } } diff --git a/liswork/src/main/resources/mapper/QcRulesMapper.xml b/liswork/src/main/resources/mapper/QcRulesMapper.xml new file mode 100644 index 0000000..016a0c4 --- /dev/null +++ b/liswork/src/main/resources/mapper/QcRulesMapper.xml @@ -0,0 +1,21 @@ + + + + + + + insert into qc_rules(yq, xmdh, rules, bz) values (#{yq},#{xmdh},#{rules},#{bz}) + + + + update qc_rules set rules = #{rules}, bz = #{bz} where yq = #{yq} and xmdh = #{xmdh} + + + + delete from qc_rules where yq = #{yq} and xmdh = #{xmdh} + + + diff --git a/liswork/src/main/resources/mapper/ReportItemMapper.xml b/liswork/src/main/resources/mapper/ReportItemMapper.xml index 1097418..7ad97c4 100644 --- a/liswork/src/main/resources/mapper/ReportItemMapper.xml +++ b/liswork/src/main/resources/mapper/ReportItemMapper.xml @@ -403,6 +403,16 @@ where xmid = #{xmid} + + update xm_info_new set + zkxm = #{zkxm}, + qcuselog = #{qcuselog}, + qcusepos = #{qcusepos}, + qccv = #{qccv}, + yq = #{yq}, xmdh = #{xmdh} + where yq = #{yq} and xmdh = #{xmdh} + + update xm_double