diff --git a/liswork/src/main/java/com/czlis/liswork/controller/xtwh/AntibioticBreakpointController.java b/liswork/src/main/java/com/czlis/liswork/controller/xtwh/AntibioticBreakpointController.java new file mode 100644 index 0000000..9005423 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/controller/xtwh/AntibioticBreakpointController.java @@ -0,0 +1,49 @@ +package com.czlis.liswork.controller.xtwh; + +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.XmMed; +import com.czlis.common.core.domain.entity.lis.XmMedDetail; +import com.czlis.liswork.service.AntibioticBreakpointService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 抗生素折点范围字典 + */ +@Api(tags = "抗生素折点范围字典") +@RestController +@RequestMapping("/xm") +public class AntibioticBreakpointController { + + @Autowired + private AntibioticBreakpointService antibioticBreakpointService; + + @ApiOperation("获取菌属列表") + @GetMapping("/meddetail/germclass/list") + public Result getGermClassList() { + return antibioticBreakpointService.getGermClassList(); + } + + @ApiOperation("获取抗生素字典列表") + @GetMapping("/med/list") + public Result getAntibioticList(XmMed xmMed) { + return antibioticBreakpointService.getAntibioticList(xmMed); + } + + @ApiOperation("获取折点范围数据") + @GetMapping("/breakpoint/list") + public Result getBreakpointList(@RequestParam String germClassCode) { + return antibioticBreakpointService.getBreakpointList(germClassCode); + } + + @ApiOperation("批量保存折点范围") + @PostMapping("/breakpoint/batch") + public Result batchSaveBreakpoint(@RequestBody List breakpointList) { + return antibioticBreakpointService.batchSaveBreakpoint(breakpointList); + } +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/AntibioticBreakpointService.java b/liswork/src/main/java/com/czlis/liswork/service/AntibioticBreakpointService.java new file mode 100644 index 0000000..cfa2a29 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/AntibioticBreakpointService.java @@ -0,0 +1,33 @@ +package com.czlis.liswork.service; + +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.XmMed; +import com.czlis.common.core.domain.entity.lis.XmMedDetail; + +import java.util.List; + +/** + * 抗生素折点范围字典服务 + */ +public interface AntibioticBreakpointService { + + /** + * 获取菌属列表 + */ + Result getGermClassList(); + + /** + * 获取抗生素字典列表 + */ + Result getAntibioticList(XmMed xmMed); + + /** + * 获取折点范围数据 + */ + Result getBreakpointList(String germClassCode); + + /** + * 批量保存折点范围 + */ + Result batchSaveBreakpoint(List breakpointList); +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/AntibioticBreakpointServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/AntibioticBreakpointServiceImpl.java new file mode 100644 index 0000000..ef8d669 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/AntibioticBreakpointServiceImpl.java @@ -0,0 +1,61 @@ +package com.czlis.liswork.service.impl; + +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.XmMed; +import com.czlis.common.core.domain.entity.lis.XmMedDetail; +import com.czlis.liswork.mapper.LisWorkGermMapper; +import com.czlis.liswork.mapper.xtwh.XmMedMapper; +import com.czlis.liswork.service.AntibioticBreakpointService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +/** + * 抗生素折点范围字典服务实现 + */ +@Service +public class AntibioticBreakpointServiceImpl implements AntibioticBreakpointService { + + @Autowired + private LisWorkGermMapper lisWorkGermMapper; + + @Autowired + private XmMedMapper xmMedMapper; + + @Override + public Result getGermClassList() { + List> germClassList = lisWorkGermMapper.getGermClassList(); + return new Result("0", "成功", germClassList); + } + + @Override + public Result getAntibioticList(XmMed xmMed) { + List antibioticList = xmMedMapper.queryList(xmMed); + return new Result("0", "成功", antibioticList); + } + + @Override + public Result getBreakpointList(String germClassCode) { + List breakpointList = lisWorkGermMapper.getBreakpointList(germClassCode); + return new Result("0", "成功", breakpointList); + } + + @Override + @Transactional + public Result batchSaveBreakpoint(List breakpointList) { + try { + for (XmMedDetail detail : breakpointList) { + // 先删除旧数据 + lisWorkGermMapper.deleteBreakpoint(detail.getXmdh(), detail.getYwdh()); + // 再插入新数据 + lisWorkGermMapper.insertBreakpoint(detail); + } + return new Result("0", "保存成功"); + } catch (Exception e) { + return new Result("-1", "保存失败:" + e.getMessage()); + } + } +}