Browse Source

医生填写用户信息采集建议

wjj 1 week ago
parent
commit
5f203f7fee

+ 47 - 0
fs-doctor-app/src/main/java/com/fs/app/controller/UserInfoCollectionController.java

@@ -0,0 +1,47 @@
+package com.fs.app.controller;
+
+import com.fs.common.core.domain.R;
+import com.fs.his.param.FsDiagnosisListDParam;
+import com.fs.his.vo.FsDiagnosisListDVO;
+import com.fs.hisStore.domain.FsUserInformationCollection;
+import com.fs.hisStore.param.FsUserInformationCollectionListDParam;
+import com.fs.hisStore.service.IFsUserInformationCollectionService;
+import com.fs.hisStore.vo.FsUserInformationCollectionListDVO;
+import com.fs.hisStore.vo.FsUserInformationCollectionVO;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+//用户信息采集控制
+@RestController
+@RequestMapping("/app/collection")
+public class UserInfoCollectionController extends AppBaseController{
+    @Autowired
+    private IFsUserInformationCollectionService userInfoCollectionService;
+
+    @GetMapping("/getCollectionList")
+    public R getDiagnosisList(FsUserInformationCollectionListDParam param){
+        param.setDoctorId(Long.parseLong(getDoctorId()));
+        PageHelper.startPage(param.getPageNum(), param.getPageSize());
+        List<FsUserInformationCollectionListDVO> list = userInfoCollectionService.selectFsUserInformationCollectionListDVO(param);
+        PageInfo<FsUserInformationCollectionListDVO> pageInfo = new PageInfo<>(list);
+        return R.ok().put("data", pageInfo);
+    }
+
+    @GetMapping("/detail/{id}")
+    public R detail(@PathVariable("id") Long id){
+        FsUserInformationCollectionVO detail = userInfoCollectionService.detail(id);
+        return R.ok().put("data", detail);
+    }
+
+    /**
+     * 医生确认
+     */
+    @PutMapping("/doctorConfirm")
+    public R doctorConfirm(@RequestBody FsUserInformationCollection collection){
+        return userInfoCollectionService.doctorConfirm(collection);
+    }
+}

+ 6 - 0
fs-service/src/main/java/com/fs/hisStore/domain/FsUserInformationCollection.java

@@ -56,5 +56,11 @@ public class FsUserInformationCollection extends BaseEntity{
     //代收金额
     private BigDecimal amount;
 
+    //用户补充说明
+    private String userAdvice;
+
+    //医生建议
+    private String doctorAdvice;
+
 
 }

+ 14 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsUserInformationCollectionMapper.java

@@ -3,6 +3,10 @@ package com.fs.hisStore.mapper;
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.hisStore.domain.FsUserInformationCollection;
+import com.fs.hisStore.param.FsUserInformationCollectionListDParam;
+import com.fs.hisStore.vo.FsUserInformationCollectionListDVO;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 /**
  * 用户信息采集Mapper接口
@@ -60,4 +64,14 @@ public interface FsUserInformationCollectionMapper extends BaseMapper<FsUserInfo
     int deleteFsUserInformationCollectionByIds(Long[] ids);
 
     FsUserInformationCollection selectByUserId(Long userId);
+
+    @Select({"<script> " +
+            " SELECT uic.*,u.nickname userName FROM fs_user_information_collection uic LEFT JOIN fs_user u ON uic.user_id = u.user_id " +
+            "WHERE doctor_id = #{maps.doctorId} " +
+            "<if test='maps.doctorConfirm != null' > and uic.doctor_confirm = #{maps.doctorConfirm}  </if>" +
+            "<if test='maps.userConfirm != null' > and uic.user_confirm = #{maps.userConfirm}  </if>" +
+            "<if test='maps.userName != null ' > and u.nickname like concat('%',#{maps.userName},'%')</if>" +
+            "ORDER BY create_time desc" +
+            "</script>"})
+    List<FsUserInformationCollectionListDVO> selectFsUserInformationCollectionListDVO(@Param("maps")FsUserInformationCollectionListDParam param);
 }

+ 15 - 0
fs-service/src/main/java/com/fs/hisStore/param/FsUserInformationCollectionListDParam.java

@@ -0,0 +1,15 @@
+package com.fs.hisStore.param;
+
+import lombok.Data;
+
+@Data
+public class FsUserInformationCollectionListDParam extends BaseParam{
+    private String userName;
+
+    private Long doctorId;
+
+    //医生确认状态 0未确认 1已确认
+    private Integer doctorConfirm;
+
+    private Integer userConfirm;
+}

+ 14 - 0
fs-service/src/main/java/com/fs/hisStore/service/IFsUserInformationCollectionService.java

@@ -2,8 +2,11 @@ package com.fs.hisStore.service;
 
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fs.common.core.domain.R;
 import com.fs.hisStore.domain.FsUserInformationCollection;
+import com.fs.hisStore.param.FsUserInformationCollectionListDParam;
 import com.fs.hisStore.param.FsUserInformationCollectionParam;
+import com.fs.hisStore.vo.FsUserInformationCollectionListDVO;
 import com.fs.hisStore.vo.FsUserInformationCollectionVO;
 
 /**
@@ -64,4 +67,15 @@ public interface IFsUserInformationCollectionService extends IService<FsUserInfo
 
     FsUserInformationCollectionVO getInfo(FsUserInformationCollection fsUserInformationCollection);
 
+    /**
+     * 查询医生端用户信息采集列表
+     * @param param
+     * @return
+     */
+    List<FsUserInformationCollectionListDVO> selectFsUserInformationCollectionListDVO(FsUserInformationCollectionListDParam param);
+
+    FsUserInformationCollectionVO detail(Long id);
+
+    R doctorConfirm(FsUserInformationCollection collection);
+
 }

+ 45 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -1,5 +1,6 @@
 package com.fs.hisStore.service.impl;
 
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
@@ -10,6 +11,7 @@ import java.util.stream.Stream;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.fs.common.BeanCopyUtils;
+import com.fs.common.core.domain.R;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.DateUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -21,7 +23,9 @@ import com.fs.his.service.IFsDoctorService;
 import com.fs.his.service.IFsQuestionAndAnswerService;
 import com.fs.his.vo.AnswerVO;
 import com.fs.his.vo.FsQuestionAndAnswerVO;
+import com.fs.hisStore.param.FsUserInformationCollectionListDParam;
 import com.fs.hisStore.param.FsUserInformationCollectionParam;
+import com.fs.hisStore.vo.FsUserInformationCollectionListDVO;
 import com.fs.hisStore.vo.FsUserInformationCollectionVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -51,6 +55,9 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
     @Autowired
     private IFsQuestionAndAnswerService questionAndAnswerService;
 
+    @Autowired
+    private FsUserInformationCollectionMapper fsUserInformationCollectionMapper;
+
     /**
      * 查询用户信息采集
      * 
@@ -135,6 +142,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         Long questionId = map.getQuestionId();
         FsUserInformationCollection fsUserInformationCollection = baseMapper.selectByUserId(userId);
         if (fsUserInformationCollection != null) {
+            //组装返回数据
             vo.setQuestionId(fsUserInformationCollection.getQuestionId());
             vo.setId(fsUserInformationCollection.getId());
             vo.setAmount(fsUserInformationCollection.getAmount());
@@ -177,6 +185,43 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         return vo;
     }
 
+    @Override
+    public List<FsUserInformationCollectionListDVO> selectFsUserInformationCollectionListDVO(FsUserInformationCollectionListDParam param) {
+        return fsUserInformationCollectionMapper.selectFsUserInformationCollectionListDVO(param);
+    }
+
+    @Override
+    public FsUserInformationCollectionVO detail(Long id) {
+        FsUserInformationCollectionVO vo = new FsUserInformationCollectionVO();
+        FsUserInformationCollection collection = fsUserInformationCollectionMapper.selectFsUserInformationCollectionById(id);
+        if (collection != null) {
+            vo.setAnswers(JSON.parseArray(collection.getJsonInfo(), AnswerVO.class));
+        }
+        return vo;
+    }
+
+    @Override
+    public R doctorConfirm(FsUserInformationCollection collection) {
+        FsUserInformationCollection fsUserInformationCollection = fsUserInformationCollectionMapper.selectFsUserInformationCollectionById(collection.getId());
+        if (fsUserInformationCollection == null) {
+            return R.error("没有用户采集信息");
+        }
+        if (fsUserInformationCollection.getUserConfirm() == 0){
+            return R.error("用户未确认");
+        }
+        if (fsUserInformationCollection.getDoctorConfirm() == 1){
+            return R.error("医生已确认");
+        }
+        FsUserInformationCollection map = new FsUserInformationCollection();
+        map.setId(collection.getId());
+        map.setDoctorAdvice(collection.getDoctorAdvice());
+        map.setDoctorConfirm(1);
+        if (fsUserInformationCollectionMapper.updateFsUserInformationCollection(map) > 0) {
+            return R.ok();
+        }
+        return R.error("医生确认失败");
+    }
+
     private List<AnswerVO> getAnswerVOs(List<AnswerVO> target,List<AnswerVO> source) {
         target.addAll(source);
         return target.stream()

+ 18 - 0
fs-service/src/main/java/com/fs/hisStore/vo/FsUserInformationCollectionListDVO.java

@@ -0,0 +1,18 @@
+package com.fs.hisStore.vo;
+
+import lombok.Data;
+
+@Data
+public class FsUserInformationCollectionListDVO {
+
+    private Long id;
+
+    //用户信息
+    private String userName;
+
+    //医生确认状态 0未确认 1已确认
+    private Integer doctorConfirm;
+
+
+    private Integer userConfirm;
+}

+ 6 - 0
fs-service/src/main/resources/mapper/hisStore/FsUserInformationCollectionMapper.xml

@@ -60,6 +60,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="packageId != null">package_id,</if>
             <if test="payType != null">pay_type,</if>
             <if test="amount != null">amount,</if>
+            <if test="userAdvice != null">user_advice,</if>
+            <if test="doctorAdvice != null">doctor_advice,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="questionId != null">#{questionId},</if>
@@ -74,6 +76,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="packageId != null">#{packageId},</if>
             <if test="payType != null">#{payType},</if>
             <if test="amount != null">#{amount},</if>
+            <if test="userAdvice != null">#{userAdvice},</if>
+            <if test="doctorAdvice != null">#{doctorAdvice},</if>
          </trim>
     </insert>
 
@@ -92,6 +96,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="packageId != null">package_id = #{packageId},</if>
             <if test="payType != null">pay_type = #{payType},</if>
             <if test="amount != null">amount = #{amount},</if>
+            <if test="userAdvice != null">user_advice = #{userAdvice},</if>
+            <if test="doctorAdvice != null">doctor_advice = #{doctorAdvice},</if>
         </trim>
         where id = #{id}
     </update>