diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqdetailMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqdetailMapper.java index ca0c6a3..4ff249f 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqdetailMapper.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqdetailMapper.java @@ -8,4 +8,6 @@ public interface LabReqdetailMapper { List getLabReqdetailList(String sqh); int getCountByKey(String sqh); void insert(LabReqdetail labReqdetail); + void update(LabReqdetail labReqdetail); + LabReqdetail getLabReqdetailOne(String sqh,Integer xh); } 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 6a6a427..6668858 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 @@ -683,7 +683,7 @@ public class CommonUtil { } - @Transactional + @Transactional(rollbackFor = Exception.class) public void saveReqInfo(List labReqmainList,List labReqdetailList){ for (LabReqmain labReqmain : labReqmainList) { insertLabReqmain(labReqmain); @@ -693,4 +693,26 @@ public class CommonUtil { } } + + @Transactional(rollbackFor = Exception.class) + public void updateReqInfo(List labReqmainList,List labReqdetailList){ + for (LabReqmain labReqmain : labReqmainList) { + LabReqmain labReqmainOne = getLabReqmainOne(labReqmain.getSqh()); + if(labReqmainOne != null){ + labReqmainMapper.updateLabReqmain(labReqmain); + }else{ + insertLabReqmain(labReqmain); + } + + } + for (LabReqdetail labReqdetail : labReqdetailList) { + LabReqdetail labReqdetailOne = labReqdetailMapper.getLabReqdetailOne(labReqdetail.getSqh(), labReqdetail.getXh()); + if(labReqdetailOne != null){ + labReqdetailMapper.update(labReqdetail); + }else{ + insertLabReqdetail(labReqdetail); + } + + } + } } diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabReqdetailMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabReqdetailMapper.xml index c4af10c..459da17 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/LabReqdetailMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/LabReqdetailMapper.xml @@ -31,4 +31,21 @@ ) + + update lab_reqdetail set sqh = #{sqh} + xh = #{xh}, + sqxmdh = #{sqxmdh}, + sqxmmc = #{sqxmmc}, + sl = #{sl}, + dj = #{dj} + zt = #{zt} + jjzt = #{jjzt} + bz1 = #{bz1} + bz2 = #{bz2} + + + + diff --git a/mzcx/src/main/java/com/czlis/mzcx/controller/ReqInputLisWorkController.java b/mzcx/src/main/java/com/czlis/mzcx/controller/ReqInputLisWorkController.java index ca7d4ea..7f03389 100644 --- a/mzcx/src/main/java/com/czlis/mzcx/controller/ReqInputLisWorkController.java +++ b/mzcx/src/main/java/com/czlis/mzcx/controller/ReqInputLisWorkController.java @@ -1,10 +1,12 @@ package com.czlis.mzcx.controller; +import cn.hutool.core.bean.BeanUtil; import com.czlis.common.annotation.Log; import com.czlis.common.core.controller.BaseController; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.SysLoginParam; import com.czlis.common.core.domain.entity.lis.ComPat; +import com.czlis.common.core.domain.entity.lis.LabReqdetail; import com.czlis.common.core.domain.entity.lis.LabReqmain; import com.czlis.common.core.domain.entity.lis.XmFeeInstr; import com.czlis.common.enums.BusinessType; @@ -18,6 +20,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; @Api(tags = "科内开单") @@ -85,5 +88,20 @@ public class ReqInputLisWorkController extends BaseController { return reqInputLisWorkService.saveCanCreaeReqList(xmFeeInstrList); } + @Log(title = SysLogConstants.REQINPUT,businessType = BusinessType.UPDATE) + @ApiOperation("修改申请单信息") + @PostMapping("/updateReqInfo") + public Result updateReqInfo(@RequestBody ReqInputLisWorkReqInfoDTO reqInputLisWorkReqInfoDTO){ + LabReqmain labReqmain = reqInputLisWorkReqInfoDTO.getLabReqmain(); + List reqInputLisWorkVOList = reqInputLisWorkReqInfoDTO.getReqInputLisWorkVOList(); + List labReqdetailList = new ArrayList<>(); + for (ReqInputLisWorkVO reqInputLisWorkVO : reqInputLisWorkVOList) { + LabReqdetail labReqdetail = new LabReqdetail(); + BeanUtil.copyProperties(reqInputLisWorkVO,labReqdetail); + labReqdetailList.add(labReqdetail); + } + return reqInputLisWorkService.updateReqInfo(labReqmain,labReqdetailList); + } + } diff --git a/mzcx/src/main/java/com/czlis/mzcx/pojo/vo/ReqInputLisWorkVO.java b/mzcx/src/main/java/com/czlis/mzcx/pojo/vo/ReqInputLisWorkVO.java index e3a186e..c41c9d8 100644 --- a/mzcx/src/main/java/com/czlis/mzcx/pojo/vo/ReqInputLisWorkVO.java +++ b/mzcx/src/main/java/com/czlis/mzcx/pojo/vo/ReqInputLisWorkVO.java @@ -24,4 +24,10 @@ public class ReqInputLisWorkVO { private String yblx; private String sampletips; private String xh; + private String sqh; + private String bz1; + private String bz2; + private BigDecimal sl; + private String zt; + private String jjzt; } diff --git a/mzcx/src/main/java/com/czlis/mzcx/service/ReqInputLisWorkService.java b/mzcx/src/main/java/com/czlis/mzcx/service/ReqInputLisWorkService.java index 575c43a..1a6ea5c 100644 --- a/mzcx/src/main/java/com/czlis/mzcx/service/ReqInputLisWorkService.java +++ b/mzcx/src/main/java/com/czlis/mzcx/service/ReqInputLisWorkService.java @@ -2,6 +2,7 @@ package com.czlis.mzcx.service; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.ComPat; +import com.czlis.common.core.domain.entity.lis.LabReqdetail; import com.czlis.common.core.domain.entity.lis.LabReqmain; import com.czlis.common.core.domain.entity.lis.XmFeeInstr; import com.czlis.mzcx.pojo.dto.ReqInputLisWorkDTO; @@ -25,4 +26,6 @@ public interface ReqInputLisWorkService { Result saveCanCreaeReqList(List xmFeeInstrList); Result queryPatDetail(String sqh); + + Result updateReqInfo(LabReqmain labReqmain, List labReqdetailList); } diff --git a/mzcx/src/main/java/com/czlis/mzcx/service/impl/ReqInputLisWorkServiceImpl.java b/mzcx/src/main/java/com/czlis/mzcx/service/impl/ReqInputLisWorkServiceImpl.java index d4ea76d..90e0289 100644 --- a/mzcx/src/main/java/com/czlis/mzcx/service/impl/ReqInputLisWorkServiceImpl.java +++ b/mzcx/src/main/java/com/czlis/mzcx/service/impl/ReqInputLisWorkServiceImpl.java @@ -1,5 +1,6 @@ package com.czlis.mzcx.service.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.ComPat; @@ -14,6 +15,7 @@ import com.czlis.interfaceCommon.utils.LisInterfaceUtil; import com.czlis.interfaceCommon.utils.LisUtil; import com.czlis.mzcx.mapper.ReqInputLisWorkMapper; import com.czlis.mzcx.pojo.dto.ReqInputLisWorkDTO; +import com.czlis.mzcx.pojo.dto.ReqInputLisWorkReqInfoDTO; import com.czlis.mzcx.pojo.vo.ReqInputCreateReqListDTO; import com.czlis.mzcx.pojo.vo.ReqInputLisWorkVO; import com.czlis.mzcx.service.ReqInputLisWorkService; @@ -86,6 +88,15 @@ public class ReqInputLisWorkServiceImpl implements ReqInputLisWorkService { if(labReqmain.getYblx() == null || labReqmain.getYblx().equals("")) return new Result("-1","样本类型不能为空!"); if(labReqmain.getBrdh() == null || labReqmain.getBrdh().equals("")) return new Result("-1","病人代号不能为空!"); if(labReqmain.getBrxb() == null || labReqmain.getBrxb().equals("")) return new Result("-1","病人性别不能为空!"); + + String zt = labReqmain.getZt().trim(); + if(zt != null && !zt.equals("")) return new Result("0","申请单状态不是新开,不能保存数据!"); + if(zt.equals("1")){ + //修改申请单数据 + saveReqInfo(labReqmain,reqInputLisWorkVOList); + } + + List> reqInfoList = new ArrayList<>(); for (ReqInputLisWorkVO reqInputLisWorkVO : reqInputLisWorkVOList) { String sfxmmc = reqInputLisWorkVO.getSfxmmc(); @@ -173,10 +184,18 @@ public class ReqInputLisWorkServiceImpl implements ReqInputLisWorkService { public Result queryPatDetail(String sqh) { LabReqmain labReqmainOne = commonUtil.getLabReqmainOne(sqh); List labReqdetailList = commonUtil.getLabReqdetailList(sqh); - Map map = new HashMap<>(); - map.put("labReqmain",labReqmainOne); - map.put("labReqdetailList",labReqdetailList); - return new Result("0","获取数据成功!",map); + List reqInputLisWorkVOList = reqInputLisWorkMapper.queryXmInfoList(); + List reqInputLisWorkVOListResult = new ArrayList<>(); + for (LabReqdetail labReqdetail : labReqdetailList) { + List collect = reqInputLisWorkVOList.stream().filter(reqInputLisWorkVO -> reqInputLisWorkVO.getSfxmdh().equals(labReqdetail.getSqxmdh())).collect(Collectors.toList()); + if(collect.size() > 0) { + BeanUtil.copyProperties(labReqdetail,collect.get(0)); + reqInputLisWorkVOListResult.add(collect.get(0)); + } + } + + ReqInputLisWorkReqInfoDTO reqInputLisWorkReqInfoDTO = new ReqInputLisWorkReqInfoDTO(labReqmainOne,reqInputLisWorkVOListResult); + return new Result("0","获取数据成功!",reqInputLisWorkReqInfoDTO); } @@ -301,4 +320,15 @@ public class ReqInputLisWorkServiceImpl implements ReqInputLisWorkService { } + public Result updateReqInfo(LabReqmain labReqmain, List labReqdetailList){ + String zt = labReqmain.getZt().trim(); + if(zt == null || zt.equals("")) return new Result("-1","状态没有,不允许修改!"); + if(Integer.parseInt(zt) > 1) return new Result("-1","状态不是新开,不能修改数据!"); + List labReqmainList = new ArrayList<>(); + labReqmainList.add(labReqmain); + commonUtil.updateReqInfo(labReqmainList,labReqdetailList); + return new Result("0","修改成功!"); + } + + }