Bladeren bron

代码修改

LAPTOP-KB9HII50\70708 2 jaren geleden
bovenliggende
commit
107b4e12c3
13 gewijzigde bestanden met toevoegingen van 330 en 41 verwijderingen
  1. 4 0
      business/base-service/src/main/java/com/yihu/jw/healthUpload/service/HealthReportingFrequencyService.java
  2. 1 1
      business/base-service/src/main/java/com/yihu/jw/hospital/booking/dao/PatientReservationDao.java
  3. 11 0
      business/base-service/src/main/java/com/yihu/jw/processGuidance/dao/BasePatientProcessGuidanceDao.java
  4. 12 0
      business/base-service/src/main/java/com/yihu/jw/processGuidance/dao/BasePatientProcessGuidanceLogDao.java
  5. 4 0
      business/base-service/src/main/java/com/yihu/jw/processGuidance/dao/BaseProcessGuidanceDeptDao.java
  6. 43 0
      business/base-service/src/main/java/com/yihu/jw/processGuidance/service/ProcessGuidanceService.java
  7. 6 2
      business/base-service/src/main/java/com/yihu/jw/wechat/service/WechatUtilService.java
  8. 116 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/processGuidance/BasePatientProcessGuidanceDO.java
  9. 65 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/processGuidance/BasePatientProcessGuidanceLogDO.java
  10. 5 9
      starter/mysql-starter/src/main/java/com/yihu/jw/mysql/query/BaseJpaService.java
  11. 22 25
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/booking/PatientBookingEndpoint.java
  12. 3 4
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/healthUpload/HealthUploadPoint.java
  13. 38 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/processGuidance/ThirdProcessGuidanceEndpoint.java

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/healthUpload/service/HealthReportingFrequencyService.java

@ -16,6 +16,10 @@ public class HealthReportingFrequencyService extends BaseJpaService<HealthReport
    @Resource
    private HealthReportingFrequencyDao healthReportingFrequencyDao;
    public void deleteById(String id){
        healthReportingFrequencyDao.deleteById(id);
    }
    public String getTypeName(Integer type){
        String name = "院内科室";
        switch (type){

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/booking/dao/PatientReservationDao.java

@ -33,7 +33,7 @@ public interface PatientReservationDao extends PagingAndSortingRepository<Patien
	PatientReservation findByPatientAndCancelerAndCancelTime(String patient,String canceler,String cancelerTime);
	//根据患者医获取近三个月的已取消的预约记录
	@Query("select a from PatientReservation a where a.patient = ?1 and a.startTime between ?2 and ?3 and a.status = 1 order by a.startTime desc")
	@Query("select a from PatientReservation a where a.patient = ?1 and a.startTime between ?2 and ?3 order by a.startTime desc")
	List<PatientReservation> findByPatientAndStartTime(String patientCode,Date startTime,Date endTime);
	@Query("select a from PatientReservation a where a.relationCode = ?1 and a.status = 1 order by a.czrq desc")

+ 11 - 0
business/base-service/src/main/java/com/yihu/jw/processGuidance/dao/BasePatientProcessGuidanceDao.java

@ -0,0 +1,11 @@
package com.yihu.jw.processGuidance.dao;
import com.yihu.jw.entity.base.processGuidance.BasePatientProcessGuidanceDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
 * Created by yeshijie on 2022/11/23.
 */
public interface BasePatientProcessGuidanceDao extends JpaRepository<BasePatientProcessGuidanceDO, String>, JpaSpecificationExecutor<BasePatientProcessGuidanceDO> {
}

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/processGuidance/dao/BasePatientProcessGuidanceLogDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.processGuidance.dao;
import com.yihu.jw.entity.base.processGuidance.BasePatientProcessGuidanceLogDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
 * Created by yeshijie on 2022/11/23.
 */
public interface BasePatientProcessGuidanceLogDao extends JpaRepository<BasePatientProcessGuidanceLogDO, String>, JpaSpecificationExecutor<BasePatientProcessGuidanceLogDO> {
}

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/processGuidance/dao/BaseProcessGuidanceDeptDao.java

@ -3,6 +3,7 @@ package com.yihu.jw.processGuidance.dao;
import com.yihu.jw.entity.base.processGuidance.BaseProcessGuidanceDeptDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import java.util.List;
@ -14,4 +15,7 @@ public interface BaseProcessGuidanceDeptDao extends JpaRepository<BaseProcessGui
    List<BaseProcessGuidanceDeptDO> findByProcessGuidanceId(String processGuidanceId);
    void deleteByProcessGuidanceId(String processGuidanceId);
    @Query(value = "select a.* from base_process_guidance_dept a,base_process_guidance d where a.process_guidance_id=d.id and (a.dept_code =?1 or d.is_all_dept=1) ORDER BY d.create_time desc LIMIT 1" ,nativeQuery = true)
    BaseProcessGuidanceDeptDO findByDeptCode(String deptCode);
}

+ 43 - 0
business/base-service/src/main/java/com/yihu/jw/processGuidance/service/ProcessGuidanceService.java

@ -1,13 +1,56 @@
package com.yihu.jw.processGuidance.service;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.processGuidance.BasePatientProcessGuidanceDO;
import com.yihu.jw.entity.base.processGuidance.BaseProcessGuidanceDeptDO;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.processGuidance.dao.BasePatientProcessGuidanceDao;
import com.yihu.jw.processGuidance.dao.BasePatientProcessGuidanceLogDao;
import com.yihu.jw.processGuidance.dao.BaseProcessGuidanceDao;
import com.yihu.jw.processGuidance.dao.BaseProcessGuidanceDeptDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
 * Created by yeshijie on 2022/11/18.
 */
@Service
public class ProcessGuidanceService {
    @Autowired
    private BasePatientDao patientDao;
    @Autowired
    private BasePatientProcessGuidanceDao patientProcessGuidanceDao;
    @Autowired
    private BasePatientProcessGuidanceLogDao patientProcessGuidanceLogDao;
    @Autowired
    private BaseProcessGuidanceDao processGuidanceDao;
    @Autowired
    private BaseProcessGuidanceDeptDao deptDao;
    /**
     * 医院推送的全流程指引
     * type 全流程流程类型
     */
    public void sendGuidanceInfo(String jsonData,String type){
        BasePatientProcessGuidanceDO patientProcessGuidanceDO = JSONObject.parseObject(jsonData, BasePatientProcessGuidanceDO.class);
        BasePatientDO patientDO = patientDao.findByIdcard(patientProcessGuidanceDO.getIdcard());
        if(patientDO==null){
            patientProcessGuidanceDO.setPatient(patientDO.getId());
        }
        patientProcessGuidanceDO.setCreateTime(new Date());
        //查找科室对应的流程
        BaseProcessGuidanceDeptDO deptDO = deptDao.findByDeptCode(patientProcessGuidanceDO.getDeptCode());
        if(deptDO!=null){
            patientProcessGuidanceDO.setGuidanceId(deptDO.getProcessGuidanceId());
        }
        patientProcessGuidanceDao.save(patientProcessGuidanceDO);
    }
    public void sendGuidance(String patient,String type,String orderId) {

+ 6 - 2
business/base-service/src/main/java/com/yihu/jw/wechat/service/WechatUtilService.java

@ -22,7 +22,11 @@ public class WechatUtilService {
    private WeixinMessagePushUtils weixinMessagePushUtils;
    public void putWxMsg(String openid, WxTemplateConfigDO newConfig){
        WxAccessTokenDO wxAccessTokenDO = wxAccessTokenService.getWxAccessTokenById(wechatId);
        weixinMessagePushUtils.putWxMsg(wxAccessTokenDO.getAccessToken(), openid, newConfig);
        try {
            WxAccessTokenDO wxAccessTokenDO = wxAccessTokenService.getWxAccessTokenById(wechatId);
            weixinMessagePushUtils.putWxMsg(wxAccessTokenDO.getAccessToken(), openid, newConfig);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

+ 116 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/processGuidance/BasePatientProcessGuidanceDO.java

@ -0,0 +1,116 @@
package com.yihu.jw.entity.base.processGuidance;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by yeshijie on 2022/11/23.
 */
@Entity
@Table(name = "base_patient_process_guidance")
public class BasePatientProcessGuidanceDO extends UuidIdentityEntityWithCreateTime {
    private String guidanceId;//预设流程id
    private String patient;//
    private String name;//就诊人姓名
    private String idcard;//身份证
    private Double fee;//挂号费
    private String orgAddress;//医院地址
    private String registerTime;//挂号时间
    private String deptCode;//科室编码
    private String deptName;//科室名称
    private String deptAddress;//科室地址
    @Column(name = "guidance_id")
    public String getGuidanceId() {
        return guidanceId;
    }
    public void setGuidanceId(String guidanceId) {
        this.guidanceId = guidanceId;
    }
    @Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "idcard")
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    @Column(name = "fee")
    public Double getFee() {
        return fee;
    }
    public void setFee(Double fee) {
        this.fee = fee;
    }
    @Column(name = "org_address")
    public String getOrgAddress() {
        return orgAddress;
    }
    public void setOrgAddress(String orgAddress) {
        this.orgAddress = orgAddress;
    }
    @Column(name = "register_time")
    public String getRegisterTime() {
        return registerTime;
    }
    public void setRegisterTime(String registerTime) {
        this.registerTime = registerTime;
    }
    @Column(name = "dept_code")
    public String getDeptCode() {
        return deptCode;
    }
    public void setDeptCode(String deptCode) {
        this.deptCode = deptCode;
    }
    @Column(name = "dept_name")
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    @Column(name = "dept_address")
    public String getDeptAddress() {
        return deptAddress;
    }
    public void setDeptAddress(String deptAddress) {
        this.deptAddress = deptAddress;
    }
}

+ 65 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/processGuidance/BasePatientProcessGuidanceLogDO.java

@ -0,0 +1,65 @@
package com.yihu.jw.entity.base.processGuidance;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 居民全流程指引日志
 * Created by yeshijie on 2022/11/23.
 */
@Entity
@Table(name = "base_patient_process_guidance_log")
public class BasePatientProcessGuidanceLogDO extends UuidIdentityEntityWithCreateTime {
    private String patient;
    private String patientGuidanceId;//关联居民流程表id
    private Integer type;//类型
    private Integer status;//状态 0取消 1进行中 2已完成
    private String relationId;//关联id
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    @Column(name = "patient_guidance_id")
    public String getPatientGuidanceId() {
        return patientGuidanceId;
    }
    public void setPatientGuidanceId(String patientGuidanceId) {
        this.patientGuidanceId = patientGuidanceId;
    }
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    @Column(name = "relation_id")
    public String getRelationId() {
        return relationId;
    }
    public void setRelationId(String relationId) {
        this.relationId = relationId;
    }
}

+ 5 - 9
starter/mysql-starter/src/main/java/com/yihu/jw/mysql/query/BaseJpaService.java

@ -63,7 +63,7 @@ public abstract class BaseJpaService<T, R extends CrudRepository> {
    }
    public T save (T entity) {
        return (T) getRepository().save(entity);
        return (T) getJpaRepository().save(entity);
    }
    public void batchInsert (List list) {
@ -77,15 +77,15 @@ public abstract class BaseJpaService<T, R extends CrudRepository> {
    }
    public void delete(Serializable id) {
        getRepository().deleteById(id);
        getJpaRepository().deleteById(id);
    }
    public void delete(T entity) {
        getRepository().delete(entity);
        getJpaRepository().delete(entity);
    }
    public void delete(Iterable ids) {
        getRepository().delete(ids);
        getJpaRepository().delete(ids);
    }
    public int delete(Object[] ids){
@ -103,7 +103,7 @@ public abstract class BaseJpaService<T, R extends CrudRepository> {
    }
    public T retrieve(Serializable id) {
        return (T) getRepository().findById(id).orElse(null);
        return (T) getJpaRepository().findById(id).orElse(null);
    }
    public List search(String filters) throws ParseException {
@ -219,10 +219,6 @@ public abstract class BaseJpaService<T, R extends CrudRepository> {
        return (JpaRepository) SpringContext.getService(repoClass);
    }
    public R getRepository() {
        return SpringContext.getService(repoClass);
    }
    public Session currentSession() {
        return entityManager.unwrap(Session.class);
    }

+ 22 - 25
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/booking/PatientBookingEndpoint.java

@ -27,7 +27,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;
import java.util.HashMap;
@ -44,15 +43,13 @@ public class PatientBookingEndpoint extends EnvelopRestEndpoint {
    private static final Logger logger = LoggerFactory.getLogger(PatientBookingEndpoint.class);
//    @Autowired
//    private GuahaoXMService guahaoXM;
    @Resource
    @Autowired
    private PatientReservationService patientReservationService;
    @Resource
    @Autowired
    private BasePatientDao patientDao;
    @Resource
    @Autowired
    private WechatUtilService wechatUtilService;
    @Resource
    @Autowired
    private JwSmjkEntranceService jwSmjkService;
//    @Autowired
//    private SMSDao smsDao;
@ -264,25 +261,25 @@ public class PatientBookingEndpoint extends EnvelopRestEndpoint {
                              @ApiParam(name = "patientPhone", value = "患者手机", defaultValue = "13950116510")
                              @RequestParam(value = "patientPhone", required = true) String patientPhone,
                              @ApiParam(name = "key", value = "验证码key")
                              @RequestParam(value = "key", required = true) String key,
                              @RequestParam(value = "key", required = false) String key,
                              @ApiParam(name = "text", value = "text")
                              @RequestParam(value = "text", required = true) String text) {
        try{
            boolean pass = false;
            key = key.replaceFirst(":",":"+patient+"_");
            String captcha = redisTemplate.opsForValue().get(key);
            if (captcha != null && captcha.equals(text.toLowerCase())){
                pass = true;
                redisTemplate.delete(key);
            }
            if(!pass){
                return Envelop.getError("验证码校验失败");
            }
        } catch (Exception e){
            return failedException2(e);
        }
                              @RequestParam(value = "text", required = false) String text) {
//        try{
//            boolean pass = false;
//            key = key.replaceFirst(":",":"+patient+"_");
//
//            String captcha = redisTemplate.opsForValue().get(key);
//            if (captcha != null && captcha.equals(text.toLowerCase())){
//                pass = true;
//                redisTemplate.delete(key);
//            }
//
//            if(!pass){
//                return Envelop.getError("验证码校验失败");
//            }
//        } catch (Exception e){
//            return failedException2(e);
//        }
        try {
            recordRequestLog("CreateOrder");

+ 3 - 4
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/healthUpload/HealthUploadPoint.java

@ -24,7 +24,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.net.URLEncoder;
@ -46,9 +45,9 @@ public class HealthUploadPoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseDoctorHealthUploadService baseDoctorHealthUploadService;
    @Resource
    @Autowired
    private HealthReportingFrequencyService healthReportingFrequencyService;
    @Resource
    @Autowired
    private DictHospitalDeptDao hospitalDeptDao;
    @PostMapping(value = "delReportingFrequency")
@ -57,7 +56,7 @@ public class HealthUploadPoint extends EnvelopRestEndpoint {
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id") String id) {
        try {
            healthReportingFrequencyService.delete(id);
            healthReportingFrequencyService.deleteById(id);
            return success("删除成功");
        }catch (Exception e){
            e.printStackTrace();

+ 38 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/processGuidance/ThirdProcessGuidanceEndpoint.java

@ -0,0 +1,38 @@
package com.yihu.jw.hospital.endpoint.processGuidance;
import com.yihu.jw.processGuidance.service.ProcessGuidanceService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by yeshijie on 2022/11/23.
 */
@RestController
@RequestMapping(value = "open/gc/processGuidance")
@Api(value = "全流程指引-第三方推送通知", tags = {"全流程指引-第三方推送通知"})
public class ThirdProcessGuidanceEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ProcessGuidanceService processGuidanceService;
    @PostMapping(value = "sendGuidanceInfo")
    @ApiOperation(value = "推送全流程指引")
    public Envelop sendGuidanceInfo(@ApiParam(name = "jsonData", value = "jsonData", required = true)
                                @RequestParam(value = "jsonData") String jsonData) {
        try {
//            processGuidanceService.sendGuidance(patient, type, orderId);
            return success("操作成功");
        }catch (Exception e){
            e.printStackTrace();
        }
        return Envelop.getError("保存失败");
    }
}