Quellcode durchsuchen

fix
权限问题

lifang vor 3 Monaten
Ursprung
Commit
10914b1a65

+ 8 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizClinicRoomService.java

@@ -12,6 +12,7 @@ import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
 import cn.tr.module.smart.common.vo.BizClinicAndAssessmentVO;
 import cn.tr.module.smart.common.vo.BizClinicAndDeviceVO;
 import cn.tr.module.smart.common.vo.BizClinicAndQuestionVO;
+import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
 import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
@@ -159,4 +160,11 @@ public interface IBizClinicRoomService {
      * @date 2025/8/29
      */
     BizClinicAndAssessmentVO selectClinicAndAssessmentByClinicId(String clinicId);
+
+    /**
+     * 绑定手术和输注信息
+     * @param source
+     * @return
+     */
+    Boolean bindDevice(BizDeviceBindClinicDTO source);
 }

+ 28 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomServiceImpl.java

@@ -19,6 +19,7 @@ import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
 import cn.tr.module.smart.common.dto.BizDeptDTO;
 import cn.tr.module.smart.common.entity.BizWxAppletQuestionAnswerEntity;
 import cn.tr.module.smart.common.enums.ClinicPhaseEnums;
+import cn.tr.module.smart.common.enums.InfusionBindType;
 import cn.tr.module.smart.common.enums.UserTypeEnums;
 import cn.tr.module.smart.common.mapper.BizClinicRoomMapper;
 import cn.tr.module.smart.common.mapper.BizInfusionHistoryMapper;
@@ -30,6 +31,7 @@ import cn.tr.module.smart.common.service.*;
 import cn.tr.module.smart.common.vo.BizClinicAndAssessmentVO;
 import cn.tr.module.smart.common.vo.BizClinicAndDeviceVO;
 import cn.tr.module.smart.common.vo.BizClinicAndQuestionVO;
+import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
 import cn.tr.module.smart.wx.controller.vo.BizAiAgentParamVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxAppletClinicDetailVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
@@ -105,6 +107,9 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
     @Autowired
     private ALiYunService aLiYunService;
 
+    @Autowired
+    private BizDeviceRepository deviceRepository;
+
     @Override
     public List<BizWxAppletClinicDetailVO> stdSelectWxAppletClinicList(BizWxAppletClinicQueryDTO query) {
         return baseRepository.stdSelectWxAppletClinicList(query);
@@ -563,6 +568,29 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
         return baseRepository.selectClinicAndAssessmentByClinicId(clinicId);
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean bindDevice(BizDeviceBindClinicDTO source) {
+        BizDevicePO bizDevicePO = deviceRepository.selectById(source.getDeviceId());
+        if(ObjectUtil.isNull(bizDevicePO)){
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "设备信息不存在");
+        }
+        BizClinicRoomPO bizClinicRoomPO = baseRepository.selectById(source.getClinicId());
+        if(ObjectUtil.isNull(bizClinicRoomPO)){
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "手术信息不存在");
+        }
+        String infusionId = bizDevicePO.getInfusionId();
+        infusionClinicRepository.delete(new LambdaQueryWrapper<BizInfusionClinicPO>()
+                .eq(BizInfusionClinicPO::getInfusionId,infusionId));
+        BizInfusionClinicPO infusionClinicPO = new BizInfusionClinicPO();
+        infusionClinicPO.setDeviceId(source.getDeviceId());
+        infusionClinicPO.setClinicId(source.getClinicId());
+        infusionClinicPO.setType(InfusionBindType.manualBind);
+        infusionClinicPO.setInfusionId(infusionId);
+        infusionClinicRepository.insert(infusionClinicPO);
+        return Boolean.TRUE;
+    }
+
     /**
      * 微信小程序基于医生已填写的信息更新数据
      */

+ 9 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/web/controller/BizClinicRoomController.java

@@ -8,12 +8,14 @@ import cn.tr.module.smart.common.dto.BizClinicRoomDTO;
 import cn.tr.module.smart.common.dto.BizClinicRoomQueryDTO;
 import cn.tr.module.smart.common.service.IBizClinicRoomService;
 import cn.tr.module.smart.common.service.IBizMpPublishTaskService;
+import cn.tr.module.smart.web.dto.BizDeviceBindClinicDTO;
 import cn.tr.plugin.mybatis.base.BaseController;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.quartz.SchedulerException;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
@@ -51,4 +53,11 @@ public class BizClinicRoomController extends BaseController{
         return CommonResult.success(bizClinicRoomService.selectBizClinicRoomById(id));
     }
 
+    @ApiOperationSupport(author = "lf", order = 6)
+    @ApiOperation(value = "绑定泵的输注信息", notes = "权限: 无")
+    @PostMapping("/bindDevice")
+    public CommonResult<Boolean> bindDevice(@RequestBody@Validated BizDeviceBindClinicDTO source) {
+        return CommonResult.success(bizClinicRoomService.bindDevice(source));
+    }
+
 }

+ 0 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/controller/WxAppletUserController.java

@@ -22,7 +22,6 @@ import me.chanjar.weixin.common.error.WxErrorException;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
-
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.util.*;