diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/BactMedium.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/BactMedium.java new file mode 100644 index 0000000..33137ad --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/BactMedium.java @@ -0,0 +1,23 @@ +package com.czlis.common.core.domain.entity.lis; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BactMedium { + + private String mediumno; + private String mediumname; + private String conidtions; + private String culturehour; + private String watchinterval; + private String comments; + private String inputcode; + private Integer seq; + + + +} diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/BactMediumgroupdet.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/BactMediumgroupdet.java new file mode 100644 index 0000000..aae2001 --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/BactMediumgroupdet.java @@ -0,0 +1,18 @@ +package com.czlis.common.core.domain.entity.lis; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BactMediumgroupdet { + + private String mediumgroupno; + private String mediumno; + private Integer seq; + + + +} diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabGermsheetNew.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabGermsheetNew.java new file mode 100644 index 0000000..66f6bf5 --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabGermsheetNew.java @@ -0,0 +1,27 @@ +package com.czlis.common.core.domain.entity.lis; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LabGermsheetNew { + + private Integer gsid; + private Date jyrq; + private String yq; + private String ybh; + private String mediumno; + private Date sheetdate; + private String sheetuser; + private String medium; + private String condtions; + private String smear; + private String dyeing; + private String colonyresult; + private String colonynum; + private String otherresult; +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java index 4542f56..c248fad 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMapper.java @@ -16,4 +16,5 @@ public interface LabResultMapper { int delNullLabResult(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh); List getLabResultWithSql(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh") String ybh,@Param("wheresql") String wheresql); int insertLabResultByBarcode(@Param("jyrq") Date jyrq, @Param("yq") String yq,@Param("ybh") String ybh,@Param("sqh") String sqh); + int updateLabResultText(LabResult labResult); } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java index fa46f18..3e41ee8 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java @@ -282,6 +282,10 @@ public class CommonUtil { public int updateLabResult(LabResult labResult) { return labResultMapper.updateLabResult(labResult); } + @Transactional(rollbackFor = Exception.class) + public int updateLabResultText(LabResult labResult){ + return labResultMapper.updateLabResultText(labResult); + } //======危急值操作集合======= public List getLabResultwarning(Date jyrq, String yq, String ybh) { return labResultwarningMapper.getLabResultwarning(jyrq, yq, ybh); diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml index 0749858..ab20cce 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml @@ -388,5 +388,12 @@ and ybh = #{ybh,jdbcType=VARCHAR} and xmdh = #{xmdh,jdbcType=VARCHAR} - + + update lab_result + set textresult = #{textresult,jdbcType=LONGVARCHAR} + where jyrq = #{jyrq} + and yq = #{yq,jdbcType=CHAR} + and ybh = #{ybh,jdbcType=VARCHAR} + and xmdh = #{xmdh,jdbcType=VARCHAR} + \ No newline at end of file diff --git a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkGermController.java b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkGermController.java index 42a9b74..63f0035 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkGermController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkGermController.java @@ -3,16 +3,16 @@ package com.czlis.liswork.controller.work; import com.czlis.common.core.controller.BaseController; 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 com.czlis.common.core.page.TableDataInfo; import com.czlis.liswork.service.LabResultService; +import com.czlis.liswork.service.LisWorkGermService; import com.czlis.liswork.service.LisWorkService; 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; +import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; @@ -26,26 +26,28 @@ public class LisWorkGermController extends BaseController { private LisWorkService lisWorkService; @Autowired private LabResultService labResultService; + @Autowired + LisWorkGermService lisWorkGermService; @ApiOperation("获取微生物样本信息") @GetMapping("/sampleMedInfo") public Result sampleMedInfo(Date jyrq, String yq, String ybh) { return lisWorkService.sampleMedInfo(jyrq, yq, ybh); } - @ApiOperation("获取样本列表") - @GetMapping("/samplelist") - public Result getSampleList(Date jyrq,String yq,Long days){ - return new Result("0", "获取样本数据成功!",lisWorkService.getSampleList(jyrq,yq,days)); + @ApiOperation("获取仪器ID") + @GetMapping("/getinstrid") + public Result getInstrid(String yq){ + return new Result("0", "获取样本数据成功!",lisWorkGermService.getInstrid(yq)); } - @ApiOperation("获取样本列表") - @GetMapping("/samplelistpage") - public TableDataInfo samplelistpage(Date jyrq, String yq, Long days) { - try { - startPage(); - startOrderBy(); - List labPatList = lisWorkService.getSampleList(jyrq, yq, days); - return getDataTable(labPatList); - } finally { - clearPage(); - } + + @ApiOperation("写入专家评语") + @PostMapping("/savetestresult") + public Result savetestresult(@RequestBody LabResult labResult) { + return lisWorkGermService.saveTestResult(labResult); } + @ApiOperation("获取培养基记录") + @GetMapping("/getmedium") + public Result getmedium(Date jyrq, String yq, String ybh){ + return lisWorkGermService.getmedium(jyrq, yq, ybh); + } + } diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkGermMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkGermMapper.java new file mode 100644 index 0000000..e8f9ec8 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkGermMapper.java @@ -0,0 +1,16 @@ +package com.czlis.liswork.mapper; + +import com.czlis.common.core.domain.entity.lis.BactMediumgroupdet; +import com.czlis.common.core.domain.entity.lis.LabGermsheetNew; +import com.czlis.liswork.pojo.DTO.MediumDTO; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; +public interface LisWorkGermMapper { + List getmedium(@Param("jyrq") Date jyrq, @Param("yq") String yq, @Param("ybh")String ybh); + String getmediumno(@Param("sqh") String sqh,@Param("yblx") String yblx); + String getmediumnox(String yblx); + List getBactMediumgroupdet(String mediumno); + int insertmedium(LabGermsheetNew labGermsheetNew); +} diff --git a/liswork/src/main/java/com/czlis/liswork/pojo/DTO/MediumDTO.java b/liswork/src/main/java/com/czlis/liswork/pojo/DTO/MediumDTO.java new file mode 100644 index 0000000..b019730 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/pojo/DTO/MediumDTO.java @@ -0,0 +1,15 @@ +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; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MediumDTO { + private LabGermsheetNew labGermsheetNew; + private BactMedium bactMedium; +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/LisWorkGermService.java b/liswork/src/main/java/com/czlis/liswork/service/LisWorkGermService.java new file mode 100644 index 0000000..b2e98be --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/LisWorkGermService.java @@ -0,0 +1,13 @@ +package com.czlis.liswork.service; + +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.LabResult; +import com.czlis.common.core.page.TableDataInfo; + +import java.util.Date; + +public interface LisWorkGermService { + Result saveTestResult(LabResult labResult); + Result getInstrid(String yq); + Result getmedium(Date jyrq, String yq, String ybh); +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkGermServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkGermServiceImpl.java new file mode 100644 index 0000000..5bae105 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkGermServiceImpl.java @@ -0,0 +1,142 @@ +package com.czlis.liswork.service.impl; + +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.BactMediumgroupdet; +import com.czlis.common.core.domain.entity.lis.LabGermsheetNew; +import com.czlis.common.core.domain.entity.lis.LabPat; +import com.czlis.common.core.domain.entity.lis.LabResult; +import com.czlis.common.utils.SecurityUtils; +import com.czlis.interfaceCommon.utils.CommonUtil; +import com.czlis.liswork.mapper.LisWorkGermMapper; +import com.czlis.liswork.pojo.DTO.MediumDTO; +import com.czlis.liswork.service.LisWorkGermService; +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.*; + +@Service +@Slf4j +public class LisWorkGermServiceImpl implements LisWorkGermService { + @Autowired + CommonUtil commonUtil; + @Autowired + LisWorkGermMapper lisWorkGermMapper; + /** + * 保存专家评语 + * @param labResult + * @return + */ + @Override + public Result saveTestResult(LabResult labResult){ + String xmdh=labResult.getXmdh(); + String yq=labResult.getYq(); + String ybh=labResult.getYbh(); + Date jyrq=labResult.getJyrq(); + if (jyrq == null) return new Result("-1", "检验日期不能为空!"); + if ("".equals(ybh) || ybh == null) return new Result("-1", "样本号不能为空!"); + if ("".equals(yq) || yq == null) return new Result("-1", "仪器不能为空!"); + if ("".equals(xmdh) || xmdh == null) return new Result("-1", "项目代号不能为空!"); + commonUtil.updateLabResultText(labResult); + return new Result("0","成功",labResult); + } + /**初级报告仪器ID**/ + @Override + public Result getInstrid(String yq){ + String yq1=getFirstInstrid(yq); + if(yq1==null)return new Result("-1","没有设置初步报告仪器"); + String yq2=yq1.replace("CBBG","EJBG"); + Map map=new HashMap<>(); + map.put("yq1",yq1); + map.put("yq2",yq2); + return new Result("0","成功",map); + } + + /** + * 获取培养基记录 + * @param jyrq + * @param yq + * @param ybh + * @return + */ + @Override + public Result getmedium(Date jyrq, String yq, String ybh){ + return new Result("0","成功",getnewmedium(jyrq,yq,ybh)); + } + private List getnewmedium(Date jyrq, String yq, String ybh){ + List mediumDTO=lisWorkGermMapper.getmedium(jyrq,yq,ybh); + if(mediumDTO==null||mediumDTO.size()==0) { + LabPat labPat = commonUtil.getLabPatOne(jyrq, yq, ybh); + if (labPat == null) { + return null; + } + String sqh = labPat.getSqh(); + if (sqh == null || sqh.isEmpty()) { + return null; + } + String yblx = labPat.getYblx(); + String yblx0 = commonUtil.getComDictIdByName("BT", yblx); + if (yblx0 == null || yblx0.isEmpty()) yblx0 = yblx; + String mediumno = lisWorkGermMapper.getmediumno(sqh, yblx0); + if (mediumno == null || mediumno.isEmpty()) { + mediumno = lisWorkGermMapper.getmediumnox(yblx0); + } + if (sqh == null || sqh.isEmpty()) { + return null; + } + String yhdh = SecurityUtils.getLoginUser().getUsername(); + List mediumnolist = getmediumgroup(mediumno); + if (!mediumnolist.isEmpty()) { + for (BactMediumgroupdet mediumgroupdet : mediumnolist) { + LabGermsheetNew labGermsheet = new LabGermsheetNew(); + labGermsheet.setYq(yq); + labGermsheet.setYbh(ybh); + labGermsheet.setJyrq(jyrq); + labGermsheet.setSheetdate(labPat.getSqsj()); + labGermsheet.setSheetuser(yhdh); + labGermsheet.setMediumno(mediumgroupdet.getMediumno()); + insertmedium(labGermsheet); + } + } else { + LabGermsheetNew labGermsheet = new LabGermsheetNew(); + labGermsheet.setYq(yq); + labGermsheet.setYbh(ybh); + labGermsheet.setJyrq(jyrq); + labGermsheet.setSheetdate(labPat.getSqsj()); + labGermsheet.setSheetuser(yhdh); + labGermsheet.setMediumno(mediumno); + insertmedium(labGermsheet); + } + return lisWorkGermMapper.getmedium(jyrq,yq,ybh); + } + return mediumDTO; + } + private List getmediumgroup(String mediumno){ + return lisWorkGermMapper.getBactMediumgroupdet(mediumno); + } + @Transactional(rollbackFor = Exception.class) + public void insertmedium(LabGermsheetNew labGermsheet){ + lisWorkGermMapper.insertmedium(labGermsheet); + } + /**初级报告仪器ID**/ + private String getFirstInstrid(String yq){ + if(yq==null)return null; + yq=yq.trim(); + if("CBBG".contains(yq))return yq; + String bm=commonUtil.getComOptValue(yq,"cbbgyq"); + if(bm==null||"".equals(bm))return null; + return "CBBG"+bm; + } + /**二级报告仪器ID**/ + private String getSecondInstrid(String yq){ + if(yq==null)return null; + yq=yq.trim(); + if("EJBG".contains(yq))return yq; + String bm=commonUtil.getComOptValue(yq,"cbbgyq"); + if(bm==null||"".equals(bm))return null; + return "EJBG"+bm; + } + +} diff --git a/liswork/src/main/resources/mapper/LisWorkGermMapper.xml b/liswork/src/main/resources/mapper/LisWorkGermMapper.xml new file mode 100644 index 0000000..5b4d456 --- /dev/null +++ b/liswork/src/main/resources/mapper/LisWorkGermMapper.xml @@ -0,0 +1,39 @@ + + + + + + + + + + insert into lab_germsheet_new (jyrq, yq, ybh,mediumno,sheetdate,sheetuser,medium) + values (#{jyrq},#{yq},#{ybh},#{mediumno},#{sheetdate},#{sheetuser},#{medium}) + + \ No newline at end of file