Przeglądaj źródła

add:数据修改记录(平板技改)

zhouzeyu 7 miesięcy temu
rodzic
commit
55b886e38e

+ 4 - 0
nb-service-api/app-doctor-api/pom.xml

@@ -28,6 +28,10 @@
             <groupId>com.tuoren</groupId>
             <artifactId>config-common</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.tuoren</groupId>
+            <artifactId>web-service-api</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

+ 146 - 0
nb-service-api/app-doctor-api/src/main/java/com/nb/app/doctor/api/feign/result/EditRecordModifyResult.java

@@ -0,0 +1,146 @@
+package com.nb.app.doctor.api.feign.result;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.nb.web.api.enums.DeviceTypeEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.DecimalMax;
+import javax.validation.constraints.DecimalMin;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Author zzy
+ * @Data 2025/5/19
+ * @Version 1.0
+ * @Description XXX
+ */
+@Data
+@ApiModel("数据修改记录")
+public class EditRecordModifyResult {
+
+    @ApiModelProperty(value = "住院号")
+    private String patientId;
+
+    @ApiModelProperty(value = "病人名称")
+    private String patientName;
+
+    @ApiModelProperty(value = "病区名称")
+    private String ward;
+
+    @ApiModelProperty(value = "床号")
+    private String BedNo;
+
+    @ApiModelProperty(value = "参数修改时间")
+    private Date modifyTime;
+
+    @ApiModelProperty(value = "泵类型",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @TableField(updateStrategy = FieldStrategy.NEVER)
+    private DeviceTypeEnum type;
+
+    @ApiModelProperty(value = "总量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @Max(value = 999,message = "总量最大值不得超过999")
+    @Min(value = 0,message ="总量最小值不得超过0" )
+    private Integer totalDose;
+
+    @ApiModelProperty(value = "公共参数-首次量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @Max(value = 50,message = "首次量最大值不得超过50")
+    @Min(value = 0,message ="首次量最小值不得超过0" )
+    private Integer firstDose;
+
+
+    @ApiModelProperty(value = "公共参数-剩余量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    private BigDecimal remainDose;
+
+    @ApiModelProperty(value = "公共参数-已输入量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    private BigDecimal inputDose;
+
+    @ApiModelProperty(value = "公共参数-追加量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "10",message = "PCA追加量最大值不得超过10")
+    @DecimalMin(value = "0",message ="PCA追加量最小值不得超过0" )
+    private BigDecimal appendDose;
+
+    @ApiModelProperty(value = "公共参数-追加锁时",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "99",message = "PCA追加量最大值不得超过99")
+    @DecimalMin(value = "1",message ="PCA追加量最小值不得超过0" )
+    private BigDecimal appendLockTime;
+
+    @ApiModelProperty(value = "公共参数-极限量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "90",message = "PCA追加量最大值不得超过90")
+    @DecimalMin(value = "0",message ="PCA追加量最小值不得超过0" )
+    private BigDecimal maxDose;
+
+    @ApiModelProperty(value = "公共参数-自控锁时",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    private BigDecimal selfControlLockTime;
+
+//    @ApiModelProperty(value = "公共参数-自控次数",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+//    private Integer selfControlCount;
+
+    @ApiModelProperty(value = "公共参数-pca有效次数",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    private Integer pcaValidCount;
+
+    @ApiModelProperty(value = "公共参数-pca无效次数",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    private Integer pcaInvalidCount;
+
+    @ApiModelProperty(value = "公共参数-pca总按次数",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    private Integer pcaTotalCount;
+
+    @ApiModelProperty(value = "持续泵参数-持续量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "50",message = "持续给液量最大值不得超过50")
+    @DecimalMin(value = "0",message ="持续给液量最小值不得超过0" )
+    private BigDecimal continueDose;
+
+    @ApiModelProperty(value = "脉冲泵参数-脉冲量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @Max(value = 20,message = "脉冲量最大值不得超过20")
+    @Min(value = 0,message ="脉冲量最小值不得超过0" )
+    private Integer pulseDose;
+
+    @ApiModelProperty(value = "脉冲泵参数-脉冲锁时",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @Max(value = 90,message = "脉冲锁时最大值不得超过90")
+    @Min(value = 30,message ="脉冲锁时最小值不得超过30" )
+    private Integer pulseLockTime;
+
+    @ApiModelProperty(value = "脉冲泵参数-脉冲首次锁时",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @Max(value = 60,message = "脉冲首次锁时最大值不得超过60")
+    @Min(value = 0,message ="脉冲首次锁时最小值不得超过0" )
+    private Integer pulseFirstLockTime;
+
+    @ApiModelProperty(value = "智能泵参数-加档周期",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "10",message = "加档周期最大值不得超过10")
+    @DecimalMin(value = "0.5",message ="加档周期最小值不得超过0.5" )
+    private BigDecimal flowUpCycle;
+
+    @ApiModelProperty(value = "智能泵参数-减档周期",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "10",message = "减档周期最大值不得超过10")
+    @DecimalMin(value = "0.5",message ="减档周期最小值不得超过0.5" )
+    private BigDecimal flowDownCycle;
+
+    @ApiModelProperty(value = "智能泵参数-计次",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "10",message = "PCA追加量最大值不得超过10")
+    @DecimalMin(value = "1",message ="PCA追加量最小值不得超过1" )
+    private BigDecimal flowCount;
+
+    @ApiModelProperty(value = "智能泵参数-上限",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "50",message = "智能泵上限值最大值不得超过90")
+    @DecimalMin(value = "1",message ="智能泵上限值最小值不得超过0" )
+    private BigDecimal flowUpLimit;
+
+    @ApiModelProperty(value = "智能泵参数-下限",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "50",message = "智能泵下限值最大值不得超过50")
+    @DecimalMin(value = "0.1",message ="智能泵下限值最小值不得超过0.1" )
+    private BigDecimal flowDownLimit;
+
+    @ApiModelProperty(value = "智能泵参数-自调比例",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    @DecimalMax(value = "95",message = "自调比例不得超过95")
+    @DecimalMin(value = "0",message ="自调比例最小值不得超过0" )
+    private BigDecimal flowAdjustRate;
+
+    @ApiModelProperty(value = "公共参数-电量",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
+    private Integer electricQuantity;
+
+}

+ 2 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IPatientClient.java

@@ -125,4 +125,6 @@ public interface IPatientClient {
      * @return
      */
     boolean editAbnormalMark(BusPatientAbnormalMarkDTO query);
+
+    BusClinicEntity selectClinicId(String clinicId);
 }

+ 13 - 4
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java

@@ -14,12 +14,13 @@ import com.nb.app.assistant.api.feign.result.PatientBindAssistantResult;
 import com.nb.app.assistant.api.feign.result.UpdateBindPatientParam;
 import com.nb.app.doctor.api.feign.IAppDoctorUserClient;
 import com.nb.app.doctor.api.feign.result.AppDoctorUserResult;
+import com.nb.app.doctor.api.feign.result.EditRecordModifyResult;
 import com.nb.app.doctor.controller.vo.ChangeManageVo;
 import com.nb.app.doctor.controller.vo.InviteCodeVo;
 import com.nb.app.doctor.controller.vo.UpdateBindPatientVo;
+import com.nb.app.doctor.service.PatientClientService;
 import com.nb.core.entity.GenericEntity;
 import com.nb.web.api.dto.BusPatientAbnormalMarkDTO;
-import com.nb.web.api.feign.IHospitalClient;
 import com.nb.web.api.feign.query.DoctorPatientMonitorQuery;
 import com.nb.web.api.feign.result.DoctorPatientMonitorResult;
 import com.nb.app.doctor.service.dto.PatientMonitorConsultResult;
@@ -34,21 +35,20 @@ import com.nb.web.api.entity.BusDeviceHistoryEntity;
 import com.nb.web.api.feign.IPatientClient;
 import com.nb.web.api.feign.query.GetPatientInfoVo;
 import com.nb.web.api.feign.query.PatientMonitorQuery;
-import com.nb.web.api.feign.result.HospitalResult;
 import com.nb.web.api.feign.result.InviteCodeResult;
 import com.nb.web.api.feign.result.PatientMonitorDetailResult;
-import com.nb.web.service.bus.controller.BusAppDoctorUserController;
 import com.nb.web.service.bus.controller.vo.MonitorFinishedVo;
 import com.nb.web.service.bus.entity.BusPatientEntity;
 import com.nb.web.service.bus.enums.AnaTypeEnum;
 import com.nb.web.service.bus.enums.ConstantEnum;
-import com.nb.web.service.bus.enums.ConstantMixEnum;
 import com.nb.web.service.bus.service.LocalBusDeviceHistoryService;
 import com.nb.web.service.bus.service.LocalBusInfusionHistoryService;
+import com.nb.web.service.bus.service.LocalBusInfusionModifyService;
 import com.nb.web.service.bus.service.LocalBusPatientService;
 import com.nb.web.service.bus.service.constant.AbstractConstantService;
 import com.nb.web.service.bus.service.constant.LocalBusConMixService;
 import com.nb.web.service.bus.service.dto.DeviceHistoryQuery;
+import com.nb.web.service.bus.service.dto.EditModifyQuery;
 import com.nb.web.service.bus.service.dto.ManualUndoConfig;
 import com.nb.web.service.bus.utils.WsPublishUtils;
 import io.swagger.annotations.Api;
@@ -79,6 +79,9 @@ public class PatientMonitorController {
     @Autowired
     private IPatientClient patientClient;
 
+    @Autowired
+    private PatientClientService patientClientService;
+
     @Autowired
     private LocalBusPatientService patientService;
 
@@ -292,6 +295,12 @@ public class PatientMonitorController {
         return R.success(historyService.pageQuery(query));
     }
 
+    @PostMapping("/editRecord")
+    @ApiOperation(value = "数据修改记录(平板技改)")
+    public R<EditRecordModifyResult> editRecord(@RequestBody @Validated EditModifyQuery query){
+        return R.success(patientClientService.EditRecord(query));
+    }
+
     @PostMapping("/ward/page")
     @ApiOperation(value = "病区查询")
     public R queryPager() {

+ 79 - 0
nb-service/app-doctor/src/main/java/com/nb/app/doctor/service/PatientClientService.java

@@ -0,0 +1,79 @@
+package com.nb.app.doctor.service;
+
+import com.nb.app.doctor.api.feign.result.EditRecordModifyResult;
+import com.nb.web.api.entity.BusClinicEntity;
+import com.nb.web.api.entity.BusInfusionHistoryEntity;
+import com.nb.web.api.feign.IPatientClient;
+import com.nb.web.service.bus.entity.BusInfusionModifyEntity;
+import com.nb.web.service.bus.service.LocalBusInfusionHistoryService;
+import com.nb.web.service.bus.service.LocalBusInfusionModifyService;
+import com.nb.web.service.bus.service.dto.DeviceHistoryQuery;
+import com.nb.web.service.bus.service.dto.EditModifyQuery;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Author zzy
+ * @Data 2025/5/19
+ * @Version 1.0
+ * @Description XXX
+ */
+@Component
+public class PatientClientService {
+    @Autowired
+    private IPatientClient iPatientClient;
+
+    @Autowired
+    private LocalBusInfusionHistoryService infusionHistoryService;
+
+    @Autowired
+    private LocalBusInfusionModifyService infusionModifyService;
+
+    public EditRecordModifyResult EditRecord(EditModifyQuery query) {
+        if (query.getClinicId() == null) {
+            throw new RuntimeException("临床id不能为空");
+        }
+        //通过临床id查询
+        BusClinicEntity busClinicEntity = iPatientClient.selectClinicId(query.getClinicId());
+        EditRecordModifyResult editRecordModifyResult = new EditRecordModifyResult();
+        editRecordModifyResult.setPatientId(busClinicEntity.getPatientId());
+        editRecordModifyResult.setPatientName(busClinicEntity.getPatientName());
+        editRecordModifyResult.setWard(busClinicEntity.getWard());
+        editRecordModifyResult.setBedNo(busClinicEntity.getBedNo());
+
+        BusInfusionHistoryEntity busInfusionHistoryEntity = infusionHistoryService.selectInfusionId(query.getClinicId());
+        String infusionId = busInfusionHistoryEntity.getId();
+        //通过id查询输注记录
+        BusInfusionModifyEntity busInfusionModify = infusionModifyService.selectInfusionId(infusionId);
+        editRecordModifyResult.setModifyTime(busInfusionModify.getModifyTime());
+        editRecordModifyResult.setType(busInfusionModify.getType());
+        editRecordModifyResult.setTotalDose(busInfusionModify.getTotalDose());
+        editRecordModifyResult.setFirstDose(busInfusionModify.getFirstDose());
+        editRecordModifyResult.setRemainDose(busInfusionModify.getRemainDose());
+        editRecordModifyResult.setInputDose(busInfusionModify.getInputDose());
+        editRecordModifyResult.setAppendDose(busInfusionModify.getAppendDose());
+        editRecordModifyResult.setAppendLockTime(busInfusionModify.getAppendLockTime());
+        editRecordModifyResult.setMaxDose(busInfusionModify.getMaxDose());
+        editRecordModifyResult.setSelfControlLockTime(busInfusionModify.getSelfControlLockTime());
+        editRecordModifyResult.setPcaValidCount(busInfusionModify.getPcaValidCount());
+        editRecordModifyResult.setPcaInvalidCount(busInfusionModify.getPcaInvalidCount());
+        editRecordModifyResult.setPcaTotalCount(busInfusionModify.getPcaTotalCount());
+        editRecordModifyResult.setContinueDose(busInfusionModify.getContinueDose());
+        editRecordModifyResult.setPulseDose(busInfusionModify.getPulseDose());
+        editRecordModifyResult.setPulseLockTime(busInfusionModify.getPulseLockTime());
+        editRecordModifyResult.setPulseFirstLockTime(busInfusionModify.getPulseFirstLockTime());
+        editRecordModifyResult.setFlowUpCycle(busInfusionModify.getFlowUpCycle());
+        editRecordModifyResult.setFlowDownCycle(busInfusionModify.getFlowDownCycle());
+        editRecordModifyResult.setFlowCount(busInfusionModify.getFlowCount());
+        editRecordModifyResult.setFlowUpLimit(busInfusionModify.getFlowUpLimit());
+        editRecordModifyResult.setFlowDownLimit(busInfusionModify.getFlowDownLimit());
+        editRecordModifyResult.setFlowAdjustRate(busInfusionModify.getFlowAdjustRate());
+        editRecordModifyResult.setElectricQuantity(busInfusionModify.getElectricQuantity());
+
+
+        return editRecordModifyResult;
+    }
+}

+ 4 - 2
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusDeviceHistoryService.java

@@ -2,7 +2,9 @@ package com.nb.web.service.bus.service;
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.nb.app.doctor.api.feign.result.EditRecordModifyResult;
 import com.nb.web.api.entity.BusDeviceHistoryEntity;
+import com.nb.web.api.feign.IPatientClient;
 import com.nb.web.service.bus.mapper.BusDeviceHistoryMapper;
 import com.nb.web.service.bus.service.dto.DeviceHistoryQuery;
 import com.nb.common.crud.BaseService;
@@ -77,10 +79,10 @@ public class LocalBusDeviceHistoryService extends BaseService<BusDeviceHistoryMa
     }
 
     public BigDecimal computeLossRate(List<BusDeviceHistoryEntity> sources) {
-        if(CollectionUtil.isEmpty(sources)){
+        if (CollectionUtil.isEmpty(sources)) {
             return BigDecimal.ZERO;
         }
         long count = sources.stream().map(BusDeviceHistoryEntity::getDataNumber).distinct().count();
-        return computeLossRate(count,sources);
+        return computeLossRate(count, sources);
     }
 }

+ 8 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusInfusionHistoryService.java

@@ -400,4 +400,12 @@ public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHisto
                 .forEach(infusion ->infusion.setRepeal(repeal));
         updateBatchById(infusions);
     }
+
+
+    public BusInfusionHistoryEntity selectInfusionId(String clinicId) {
+
+        BusInfusionHistoryEntity infusionHistoryEntity = this.getOne(new QueryWrapper<BusInfusionHistoryEntity>()
+                .lambda().eq(BusInfusionHistoryEntity::getClinicId,clinicId));
+        return infusionHistoryEntity;
+    }
 }

+ 10 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusInfusionModifyService.java

@@ -1,5 +1,7 @@
 package com.nb.web.service.bus.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.nb.web.api.entity.BusInfusionHistoryEntity;
 import com.nb.web.service.bus.entity.BusInfusionModifyEntity;
 import com.nb.web.service.bus.mapper.BusInfusionModifyMapper;
 import com.nb.common.crud.BaseService;
@@ -32,4 +34,12 @@ public class LocalBusInfusionModifyService extends BaseService<BusInfusionModify
     public BusInfusionModifyEntity recentModify(String clinicId,String tenantId){
         return this.baseMapper.recentModify(clinicId,tenantId);
     }
+
+    public BusInfusionModifyEntity selectInfusionId(String infusionId) {
+
+        BusInfusionModifyEntity infusionModify = this.getOne(new QueryWrapper<BusInfusionModifyEntity>()
+                .lambda().eq(BusInfusionModifyEntity::getInfusionId,infusionId));
+
+        return infusionModify;
+    }
 }

+ 6 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusPatientService.java

@@ -848,4 +848,10 @@ public class LocalBusPatientService extends BaseService<BusPatientMapper, BusPat
         }
         return clinicMapper.updateById(clinic)!=0;
     }
+
+    @Override
+    public BusClinicEntity selectClinicId(String clinicId) {
+        BusClinicEntity clinic = clinicMapper.selectById(clinicId);
+        return clinic;
+    }
 }

+ 21 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/dto/EditModifyQuery.java

@@ -0,0 +1,21 @@
+package com.nb.web.service.bus.service.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author zzy
+ * @Data 2025/5/19
+ * @Version 1.0
+ * @Description XXX
+ */
+@Data
+@ApiModel("输注参数修改查询参数")
+public class EditModifyQuery {
+    @ApiModelProperty(value = "临床id",required = true)
+    @NotNull(message = "临床id不能为空")
+    private String clinicId;
+}