Ver Fonte

完善新版信息采集表流程执行代码

cgp há 4 dias atrás
pai
commit
f6d369b756

+ 7 - 6
fs-doctor-app/src/main/java/com/fs/app/controller/PrescribeController.java

@@ -12,6 +12,7 @@ import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.core.utils.OrderCodeUtils;
+import com.fs.enums.PostPayPrescStatusEnum;
 import com.fs.his.domain.*;
 import com.fs.his.dto.FsInquiryOrderPatientDTO;
 import com.fs.his.dto.PayloadDTO;
@@ -115,16 +116,16 @@ public class PrescribeController extends  AppBaseController {
     @ApiOperation("药师审核处方")
     @PostMapping("/audit")
     @Synchronized
-    public R audit(@Validated @RequestBody FsPrescribeAuditParam param, HttpServletRequest request){
+    public R audit(@Validated @RequestBody FsPrescribeAuditParam param, HttpServletRequest request) {
         param.setDoctorId(Long.parseLong(getDoctorId()));
-        if (param.getQwTag()!=null&&param.getQwTag()==0){
-            //企微审核逻辑
-            return prescribeService.audit(param);
-        } else if (param.getQwTag()!=null&&param.getQwTag()==1&&param.getPersonalCollectStatus()!=null&&param.getPersonalCollectStatus()==3) {
+        if (param.getQwTag() != null && param.getQwTag() == 1 && param.getPersonalCollectStatus() != null && param.getPersonalCollectStatus().equals(PostPayPrescStatusEnum.PENDING_DRUG_DOCTOR.getCode())) {
             //个微审核逻辑
             return prescribeService.auditAfterPaymentList(param);
+        } else if (param.getQwTag() == null || param.getQwTag() == 0) {
+            //之前的审核逻辑
+            return prescribeService.audit(param);
         }
-        log.error("药师审核处方入参:{}",param);
+        log.error("药师审核处方入参:{}", param);
         return R.error("参数错误");
     }
 

+ 2 - 2
fs-service/src/main/java/com/fs/his/mapper/FsPrescribeMapper.java

@@ -94,9 +94,9 @@ public interface FsPrescribeMapper
             "</script>"})
     List<FsPrescribeListVO> selectFsPrescribeListVO(FsPrescribeParam fsPrescribe);
     @Select({"<script> " +
-            "select p.*,d.doctor_name,infoc.id as collectionId,infoc.qw_tag,infoc.personal_collect_status  from fs_prescribe p    " +
+            "select p.*,d.doctor_name,infoc.id as collectionId,infoc.qw_tag as qwTag,infoc.personal_collect_status as personalCollectStatus from fs_prescribe p    " +
             " left join fs_doctor d on d.doctor_id = p.doctor_id " +
-            " left join fs_user_information_collection infoc on p.user_id = infoc.user_id " +
+            " left join fs_user_information_collection infoc on p.collection_id = infoc.id " +
             "where 1=1  " +
             "<if test = ' maps.patientName!=null and maps.patientName != \"\"  '> " +
             "and p.patient_name like concat('%', #{maps.patientName}, '%') " +

+ 0 - 5
fs-service/src/main/java/com/fs/his/param/FsPrescribeParam.java

@@ -161,9 +161,4 @@ public class FsPrescribeParam {
     /** 医生开始操作时间戳 */
     private Long startOperateTime;
 
-    /**
-     * 信息采集主键id
-     * */
-    private Long collectionId;
-
 }

+ 2 - 3
fs-service/src/main/java/com/fs/his/service/impl/FsPrescribeServiceImpl.java

@@ -1359,7 +1359,7 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
             fsExportTaskService.resetFsExportTaskByPrescribeIdAndSignFlag(param.getPrescribeId(),2);
             //修改采集表个微状态 销售可以根据处方给客户分享套餐包进行下单了
             FsUserInformationCollection informationCollection = collectionMapper.selectFsUserInformationCollectionById(param.getCollectionId());
-            informationCollection.setPersonalCollectStatus(PostPayPrescStatusEnum.PENDING_SHARE.getCode());
+            informationCollection.setPersonalCollectStatus(PostPayPrescStatusEnum.PACKAGE_BIND.getCode());
             collectionMapper.updateFsUserInformationCollection(informationCollection);
         }
         if (param.getStatus() == 2) {
@@ -1606,9 +1606,8 @@ public class FsPrescribeServiceImpl implements IFsPrescribeService
         //待药师审核
         fsPrescribe.setStatus(0);
         fsPrescribeMapper.updateFsPrescribe(fsPrescribe);
-
         //用户信息采集医生确认
-        FsUserInformationCollection collection = collectionMapper.selectFsUserInformationCollectionById(param.getCollectionId());
+        FsUserInformationCollection collection = collectionMapper.selectFsUserInformationCollectionById(fsPrescribe.getCollectionId());
         if (collection != null) {
             FsUserInformationCollection willUpdate = new FsUserInformationCollection();
             willUpdate.setId(collection.getId());

+ 4 - 3
fs-service/src/main/java/com/fs/hisStore/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -407,7 +407,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
             redisCache.setCacheObject("doctorConfirm:" + collection.getId(), doctorConfirm);
             if (addPrescribeResult > 0){
                 R result=new R();
-                result.put("currentCode",collection.getPersonalCollectStatus());
+                result.put("personalCollectStatus",collection.getPersonalCollectStatus());
                 return result;
             }
 
@@ -422,10 +422,10 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         fsPrescribe.setCreateTime(DateUtils.getNowDate());
         fsPrescribe.setStatus(0);//待开方
         fsPrescribe.setDoctorConfirm(0);//未确认
-        fsPrescribe.setUsageJson(JSON.toJSONString(param.getAnswers()));
         fsPrescribe.setHistoryAllergic(fsUserInformationCollection.getAllergy());
         fsPrescribe.setPrescribeCode(prescribeCode);
         fsPrescribe.setCollectionId(fsUserInformationCollection.getId());
+        fsPrescribe.setUserId(fsUserInformationCollection.getUserId());
         //查询销售绑定医生
         CompanyUser companyUser = companyUserMapper.selectCompanyUserByCompanyUserId(fsUserInformationCollection.getCompanyUserId());
         if (companyUser == null || companyUser.getDoctorId() == null) {
@@ -461,6 +461,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
             fsPrescribe.setPatientBirthday(birthday);
             fsPrescribe.setPatientAge(String.valueOf(calculateAge(birthday)));
         }
+        fsPrescribe.setWeight(String.valueOf(param.getPatientInfo().getWeight()));
         fsPrescribe.setPatientId(param.getPatientInfo().getPatientId());
         fsPrescribe.setPatientName(param.getPatientInfo().getPatientName());
         fsPrescribe.setPatientTel(param.getPatientInfo().getMobile());
@@ -1714,7 +1715,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
             informationCollection.setPackageId(param.getPackageId());
             informationCollection.setPayType(param.getPayType());
             informationCollection.setAmount(param.getAmount());
-            informationCollection.setPersonalCollectStatus(PostPayPrescStatusEnum.PACKAGE_BIND.getCode());
+            informationCollection.setPersonalCollectStatus(PostPayPrescStatusEnum.PENDING_SHARE.getCode());
             int result = fsUserInformationCollectionMapper.updateFsUserInformationCollection(informationCollection);
             if (result > 0){
                 return informationCollection.getId();

+ 6 - 3
fs-service/src/main/resources/mapper/his/FsPrescribeMapper.xml

@@ -331,10 +331,11 @@
         LEFT JOIN fs_store fse ON fse.store_id = so.store_id
         LEFT JOIN fs_user_information_collection_schedule uics ON uics.order_code = fso.order_code
         LEFT JOIN fs_user_information_collection infoc ON infoc.third_party_user_id = so.third_party_user_id
-        LEFT JOIN fs_user_information_collection main_infoc ON main_infoc.user_id = so.user_id
+        LEFT JOIN fs_user_information_collection main_infoc ON main_infoc.id = so.collection_id
         <where>
             so.doctor_confirm != -1                <!--  被医生拒访的处方不展示-->
             AND (fso.order_id IS NULL OR (fso.status != -3 AND fso.status != -2))   <!--  已取消与已退款的订单处方不展示-->
+            AND (main_infoc.id IS NULL OR main_infoc.qw_tag = 0)  <!--  如果用户在信息采集表中,则添加企微筛选条件-->
             <if test="companyId != null ">and fso.company_id = #{companyId}</if>
             <if test="companyUserId != null ">and fso.company_user_id = #{companyUserId}</if>
             <if test="prescribeType != null ">and so.prescribe_type = #{prescribeType}</if>
@@ -470,13 +471,15 @@
         dp.doctor_name doctor_drug_name,
         fse.store_name,
         main_infoc.id as collectionId,
-        main_infoc.complete_status as completeStatus
+        main_infoc.complete_status as completeStatus,
+        main_infoc.personal_collect_status as personalCollectStatus,
+        main_infoc.qw_tag as qwTag
         FROM fs_prescribe so
         LEFT JOIN fs_user us ON us.user_id=so.user_id
         LEFT JOIN fs_doctor dc ON dc.doctor_id = so.doctor_id
         LEFT JOIN fs_doctor dp ON dp.doctor_id =so.drug_doctor_id
         LEFT JOIN fs_store fse ON fse.store_id = so.store_id
-        LEFT JOIN fs_user_information_collection main_infoc ON main_infoc.user_id = so.user_id
+        LEFT JOIN fs_user_information_collection main_infoc ON main_infoc.id = so.collection_id
         <where>
             main_infoc.qw_tag=1 <!--  只查询类型是个微的信息采集用户-->
             and so.doctor_confirm != -1     <!--  被医生拒访的处方不展示-->