Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

wangjun 4 years ago
parent
commit
318a00bb1d
53 changed files with 83 additions and 7277 deletions
  1. 5 0
      business/base-service/pom.xml
  2. 28 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  3. 2 2
      business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java
  4. 1 1
      business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java
  5. 47 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  6. 0 0
      svr/svr-oracle-test/sql/sql
  7. 0 25
      svr/svr-oracle-test/src/main/java/com/yihu/SvrInternetHospitalApplication.java
  8. 0 27
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/BeanConfig.java
  9. 0 18
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SpringSecurityAuditorAware.java
  10. 0 44
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SwaggerDocs.java
  11. 0 19
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ConsultPriceDao.java
  12. 0 19
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDao.java
  13. 0 19
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDeptDao.java
  14. 0 18
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeCategoryDao.java
  15. 0 13
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ReservationSettingDao.java
  16. 0 20
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/SysDictDao.java
  17. 0 28
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/WlyyPatientExpressageAddrDao.java
  18. 0 33
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/account/PatientEndpoint.java
  19. 0 49
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/analysis/AnalysisEndPoint.java
  20. 0 108
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/appointment/AppointmentEndPoint.java
  21. 0 198
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleEndpoint.java
  22. 0 202
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/base/BaseInfoEndpoint.java
  23. 0 120
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/config/DoctorServiceEndPoint.java
  24. 0 101
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ConsultPriceEndpoint.java
  25. 0 746
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java
  26. 0 614
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java
  27. 0 101
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ReservationSettingEndpoint.java
  28. 0 157
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/SysDictEndpoint.java
  29. 0 43
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/demo/HibenateDemoEndpoint.java
  30. 0 195
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/ExpressageEndpoint.java
  31. 0 109
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/WlyyPatientExpressageAddrEndpoint.java
  32. 0 81
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/file_upload/FileUploadEndpoint.java
  33. 0 230
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/internet/InternetController.java
  34. 0 111
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/message/SystemMessageController.java
  35. 0 209
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  36. 0 947
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java
  37. 0 791
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java
  38. 0 226
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/survey/SurveyEndpoint.java
  39. 0 60
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/version/VersionEndpoint.java
  40. 0 108
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/SystemMessage/HospitalSystemMessageService.java
  41. 0 52
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/analysis/AnalysisService.java
  42. 0 73
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/ConsultPriceService.java
  43. 0 177
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeArticleService.java
  44. 0 61
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeCategoryService.java
  45. 0 64
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/ReservationSettingService.java
  46. 0 113
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/SysDictService.java
  47. 0 110
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/WlyyPatientExpressageAddrService.java
  48. 0 90
      svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/useragent/UserAgent.java
  49. 0 656
      svr/svr-oracle-test/src/main/resources/application.yml
  50. 0 6
      svr/svr-oracle-test/src/main/resources/banner.txt
  51. 0 83
      svr/svr-oracle-test/src/main/resources/bootstrap.yml
  52. BIN
      svr/svr-oracle-test/src/main/resources/image/d-male.png
  53. BIN
      svr/svr-oracle-test/src/main/resources/image/p-female.png

+ 5 - 0
business/base-service/pom.xml

@ -202,6 +202,11 @@
            <artifactId>jiguang-common</artifactId>
            <version>1.1.9</version>
        </dependency>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <!-- <scope>runtime</scope> -->
        </dependency>
        <dependency>
            <groupId>cn.jpush.api</groupId>
            <artifactId>jpush-client</artifactId>

+ 28 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -113,6 +113,8 @@ import com.ylzinfo.ehc.EhcHandler;
import com.ylzinfo.ehc.common.utils.DateUtils;
import com.ylzinfo.ehc.trans.TransRequest;
import com.ylzinfo.ehc.trans.TransResponse;
import com.zaxxer.hikari.HikariDataSource;
import com.zaxxer.hikari.HikariPoolMXBean;
import jxl.write.*;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@ -133,9 +135,13 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.management.JMX;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.Boolean;
import java.lang.management.ManagementFactory;
import java.math.BigDecimal;
import java.net.URL;
import java.text.DecimalFormat;
@ -300,6 +306,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    private TnyyEntranceService tnyyEntranceService;
    @Autowired
    private BaseJpushTemplateDao baseJpushTemplateDao;
    @Autowired
    HikariDataSource dataSource;
    @Value("${demo.flag}")
@ -12144,4 +12152,24 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    }
    public void test(){
        try{
            MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
            ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (" + dataSource.getPoolName() + ")");
            HikariPoolMXBean poolProxy = JMX.newMXBeanProxy(mBeanServer, poolName, HikariPoolMXBean.class);
            if(poolProxy == null) {
                System.out.println("Hikari not initialized,please wait...");
            }else {
                System.out.println("HikariPoolState = "
                        + "Active=[" + String.valueOf(poolProxy.getActiveConnections() + "] "
                        + "Idle=[" + String.valueOf(poolProxy.getIdleConnections() + "] "
                        + "Wait=["+poolProxy.getThreadsAwaitingConnection()+"] "
                        + "Total=["+poolProxy.getTotalConnections()+"]")));
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

+ 2 - 2
business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java

@ -922,7 +922,7 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
                        wlyyPrescriptionDO.setPayStatus(1);
                        wlyyPrescriptionDO.setPayTime(new Date());
                        prescriptionDao.save(wlyyPrescriptionDO);
                        List<WlyyInspectionDO> inspectionDOList = inspectionDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
                        /*List<WlyyInspectionDO> inspectionDOList = inspectionDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
                        for (WlyyInspectionDO wlyyInspectionDO:inspectionDOList){
                            String updateMsYj01 = "update V_MS_YJ01 t set t.HLWJF=1 where t.yjxh='"+wlyyInspectionDO.getHisCode()+"'";
                            try {
@ -930,7 +930,7 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        }
                        }*/
                        prescriptionLogService.addPrescriptionLog(wlyyPrescriptionDO.getId(),30,1,wlyyPrescriptionDO.getPatientCode(),wlyyPrescriptionDO.getPatientName(),"",new Date());
                        List<WlyyPrescriptionInfoDO> infoDOS = prescriptionInfoDao.findByPrescriptionId(wlyyPrescriptionDO.getId(),1);
                        if (infoDOS!=null&&infoDOS.size()!=0){

+ 1 - 1
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -4051,7 +4051,7 @@ public class ImService {
				" LEFT JOIN base_patient d on op.patient = d.id " +
				" WHERE 1=1 ";
		if (status == 1) {
			sql += " and op.status = 0";
			sql += " and op.status = 0 and op.pay_status =1 ";
		}else if (status==0){
		}else if (status==2) {

+ 47 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -1729,6 +1729,53 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
        return businessOrderService.findYktCardCharge(startTime,endTime,orderNo,yktOrderNo,patientName,idCard,medicard,status,page,pageSize);
    }
    /**
     * 咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultHead)
    @ApiOperation(value = " 咨询分析-头部")
    public ObjEnvelop getConsultHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String lowCode) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultHead(startDate, endDate, area, level, index,lowCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scheduleHead)
    @ApiOperation(value = "排班头部")
    public ObjEnvelop getScheduleTotal(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScheduleTotal(startDate, endDate,index,level,area);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.zsMsgFlowTest)
    @ApiOperation(value = "消息中心发送消息测试接口", notes = "")

+ 0 - 0
svr/svr-oracle-test/sql/sql


+ 0 - 25
svr/svr-oracle-test/src/main/java/com/yihu/SvrInternetHospitalApplication.java

@ -1,25 +0,0 @@
package com.yihu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
/**
 * Created by Trick on 2019/5/13.
 */
@SpringBootApplication
@EnableJpaAuditing
public class SvrInternetHospitalApplication extends SpringBootServletInitializer {
    public static void main(String[] args)  {
        SpringApplication.run(SvrInternetHospitalApplication.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SvrInternetHospitalApplication.class);
    }
}

+ 0 - 27
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/BeanConfig.java

@ -1,27 +0,0 @@
package com.yihu.jw.hospital.config;
import com.yihu.jw.hospital.prescription.service.PrescriptionExpressageService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanConfig {
    //顺丰快递接口请求地址
    @Value("${express.sf_url}")
    private String sf_url;
    //顺丰快递接口接入编码
    @Value("${express.sf_code}")
    private String sf_code;
    //顺丰快递接口checkword
    @Value("${express.sf_check_word}")
    private String sf_check_word;
    @Bean(name = "prescriptionExpressageService")
    PrescriptionExpressageService prescriptionExpressageService(){
        return new PrescriptionExpressageService(sf_url,sf_code,sf_check_word);
    }
}

+ 0 - 18
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SpringSecurityAuditorAware.java

@ -1,18 +0,0 @@
package com.yihu.jw.hospital.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.AuditorAware;
@Configuration
public class SpringSecurityAuditorAware implements AuditorAware {
    @Override
    public Object getCurrentAuditor() {
//        return Optional.ofNullable(SecurityContextHolder.getContext())
//                .map(SecurityContext::getAuthentication)
//                .filter(Authentication::isAuthenticated)
//                .map(Authentication::getPrincipal);
////                .map(Authentication::getDetails);
        return "123";
    }
}

+ 0 - 44
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/config/SwaggerDocs.java

@ -1,44 +0,0 @@
package com.yihu.jw.hospital.config;
import io.github.swagger2markup.GroupBy;
import io.github.swagger2markup.Language;
import io.github.swagger2markup.Swagger2MarkupConfig;
import io.github.swagger2markup.Swagger2MarkupConverter;
import io.github.swagger2markup.builder.Swagger2MarkupConfigBuilder;
import io.github.swagger2markup.markup.builder.MarkupLanguage;
import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
 * Created by lith on 2018/11/23
 */
public class SwaggerDocs {
    public static void main(String[] args) throws Exception {
        //1.请求 http://ip:port/swagger-resources获取group
        String group = "Default";
        //2.定义请求地址 new URL("http://ip:port/v2/api-docs?group=" + groupName)
        //项目的swagger-ui地址
        URL remoteSwaggerFile = new URL("http://127.0.0.1:10022/v2/api-docs?group=" + group);
        //3.定义文件输出路径
        String prefix = Thread.currentThread().getContextClassLoader().getResource("").getPath();
        //文档输出地址
        Path outputFile = Paths.get(prefix.substring(prefix.lastIndexOf(":") + 1, prefix.indexOf("target") - 1) + "/build/" + group);
        Swagger2MarkupConfig config = new Swagger2MarkupConfigBuilder()
                .withMarkupLanguage(MarkupLanguage.ASCIIDOC)
                .withOutputLanguage(Language.ZH)
                .withPathsGroupedBy(GroupBy.TAGS)
                .withGeneratedExamples()
                .withoutInlineSchema()
                //.withBasePathPrefix()
                .build();
        Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(remoteSwaggerFile)
                .withConfig(config)
                .build();
        converter.toFile(outputFile);
    }
}

+ 0 - 19
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ConsultPriceDao.java

@ -1,19 +0,0 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface ConsultPriceDao extends PagingAndSortingRepository<WlyyHospitalConsultPriceDO, String>, JpaSpecificationExecutor<WlyyHospitalConsultPriceDO>  {
    // 根据机构编码查询所有计费列表
    List<WlyyHospitalConsultPriceDO> findByHospital(String hospital);
    // 根据机构编码、服务科室、医生类型、服务对象,查询单条价格记录
    WlyyHospitalConsultPriceDO findByHospitalAndDeptAndDoctorJobAndServiceRange(String hospital, String dept, String doctorJob, String serviceRange);
    // 根据id 查询已有记录
    WlyyHospitalConsultPriceDO findById(String id);
}

+ 0 - 19
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDao.java

@ -1,19 +0,0 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
 * 健康文章DAO
 * @author huangwenjie
 * @date 2019/9/10 14:07
 */
public interface KnowledgeArticleDao extends PagingAndSortingRepository<KnowledgeArticleDO, String>, JpaSpecificationExecutor<KnowledgeArticleDO> {
	@Query("select a from KnowledgeArticleDO a where a.del=1 and (categoryFirst = ?1 or categorySecond=?1)")
	List<KnowledgeArticleDO> findByCategory(String category);
}

+ 0 - 19
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeArticleDeptDao.java

@ -1,19 +0,0 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDeptDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * 健康文章部门关系DAO
 * @author huangwenjie
 * @date 2019/9/18 10:03
 */
public interface KnowledgeArticleDeptDao extends PagingAndSortingRepository<KnowledgeArticleDeptDO, String>, JpaSpecificationExecutor<KnowledgeArticleDeptDO> {
	
	List<KnowledgeArticleDeptDO> findByArticleId(String articleId);
	
	List<KnowledgeArticleDeptDO> findByDept(String dept);
}

+ 0 - 18
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/KnowledgeCategoryDao.java

@ -1,18 +0,0 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
/**
 * 健康文章分类
 * @author huangwenjie
 */
public interface KnowledgeCategoryDao extends PagingAndSortingRepository<KnowledgeCategoryDO, String>, JpaSpecificationExecutor<KnowledgeCategoryDO> {
	@Query("update KnowledgeCategoryDO c set c.del = 0 where c.id = ?1")
	@Modifying
	void updateDel(String id);
}

+ 0 - 13
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/ReservationSettingDao.java

@ -1,13 +0,0 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalReservationSettingDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface ReservationSettingDao extends PagingAndSortingRepository<WlyyHospitalReservationSettingDO, String>, JpaSpecificationExecutor<WlyyHospitalReservationSettingDO>  {
    // 根据id 查询已有记录
    WlyyHospitalReservationSettingDO findById(String id);
}

+ 0 - 20
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/SysDictDao.java

@ -1,20 +0,0 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface SysDictDao extends PagingAndSortingRepository<WlyyHospitalSysDictDO, String>, JpaSpecificationExecutor<WlyyHospitalSysDictDO>  {
    WlyyHospitalSysDictDO findByHospitalAndDictCode(String hospital, String dictCode);
    List<WlyyHospitalSysDictDO> findByHospitalAndDictName(String hospital, String dictName);
    WlyyHospitalSysDictDO findById(String id);
    List<WlyyHospitalSysDictDO> findByDictName(String dictName);
}

+ 0 - 28
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/dao/consult/WlyyPatientExpressageAddrDao.java

@ -1,28 +0,0 @@
package com.yihu.jw.hospital.dao.consult;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * 
 * 居民收获地址 数据库访问层
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * Administrator 	1.0  		2019年06月12日 	Created
 *
 * </pre>
 * @since 1.
 */
public interface WlyyPatientExpressageAddrDao extends PagingAndSortingRepository<WlyyPatientExpressageAddrDO, String>, JpaSpecificationExecutor<WlyyPatientExpressageAddrDO>  {
    boolean existsByPatientAndIsDefault(String patient, Integer isDefault);
    List<WlyyPatientExpressageAddrDO> queryByPatientAndIsDefault(String patient, Integer isDefault);
    List<WlyyPatientExpressageAddrDO> queryByPatient(String patient);
}

+ 0 - 33
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/account/PatientEndpoint.java

@ -1,33 +0,0 @@
package com.yihu.jw.hospital.endpoint.account;
import com.yihu.jw.patient.service.BasePatientService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("patient" )
@Api(tags = "用户基础信息", description = "互联网医院")
public class PatientEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BasePatientService basePatientService;
    @GetMapping(value = BaseRequestMapping.BasePatient.getPatientById)
    @ApiOperation(value = "获取居民信息")
    public Envelop getPatientById(
            @ApiParam(name = "id", value = "居民id")
            @RequestParam(value = "id", required = true) String id) throws Exception {
        String result = basePatientService.getPatientById(id);
        return success(result);
    }
}

+ 0 - 49
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/analysis/AnalysisEndPoint.java

@ -1,49 +0,0 @@
package com.yihu.jw.hospital.endpoint.analysis;
import com.yihu.jw.hospital.service.analysis.AnalysisService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/21
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Analysis.PREFIX)
@Api(value = "分析总览", description = "分析总览", tags = {"互联网医院 - 医生分析总览接口"})
public class AnalysisEndPoint extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(AnalysisEndPoint.class);
    @Autowired
    private AnalysisService analysisService;
    @GetMapping(value= BaseHospitalRequestMapping.Analysis.queryAnalysis)
    @ApiOperation("查询分析数据")
    public Envelop queryAnalysis(
            @ApiParam(name = "doctor", value = "doctor", required = true)
            @RequestParam(value = "doctor", required = true)String doctor,
            @ApiParam(name = "startTime", value = "startTime", required = true)
            @RequestParam(value = "startTime", required = true)String startTime,
            @ApiParam(name = "endTime", value = "endTime", required = true)
            @RequestParam(value = "endTime", required = false)String endTime)throws Exception{
        Object num = analysisService.queryAnalysis(doctor,startTime,endTime);
        return success(num);
    }
}

+ 0 - 108
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/appointment/AppointmentEndPoint.java

@ -1,108 +0,0 @@
package com.yihu.jw.hospital.endpoint.appointment;
import com.yihu.jw.hospital.appointment.service.AppointmentService;
import com.yihu.jw.hospital.appointment.service.SpecialDiseaseService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyOutpatientVO;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
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.*;
import java.util.List;
/**
 * Created by Trick on 2019/10/30.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Appointment.PREFIX)
@Api(value = "预约挂号", description = "预约挂号", tags = {"预约挂号接口"})
public class AppointmentEndPoint extends EnvelopRestEndpoint {
    @Autowired
    private AppointmentService appointmentService;
    @Autowired
    private SpecialDiseaseService specialDiseaseService;
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.getDoctorSchedule)
    @ApiOperation(value = "获取医生号源")
    public ListEnvelop getDoctorSchedule(@ApiParam(name = "dept", value = "部门ID")
                                         @RequestParam(value = "dept",required = false) String dept,
                                         @ApiParam(name = "docMappingCode", value = "中山医院医生ID精确查询")
                                         @RequestParam(value = "docMappingCode",required = false)String docMappingCode,
                                         @ApiParam(name = "nameKey", value = "医生姓名模糊")
                                         @RequestParam(value = "nameKey",required = false)String nameKey,
                                         @ApiParam(name = "specialCode", value = "专科")
                                         @RequestParam(value = "specialCode",required = false)String specialCode,
                                         @ApiParam(name = "chargeType", value = "号别")
                                         @RequestParam(value = "chargeType",required = false)String chargeType,
                                         @ApiParam(name = "startDate", value = "开始时间")
                                         @RequestParam(value = "startDate",required = true)String startDate,
                                         @ApiParam(name = "endDate", value = "结束时间")
                                         @RequestParam(value = "endDate",required = true)String endDate) throws Exception {
        return success(appointmentService.getDoctorSchedule( dept,  docMappingCode, nameKey, specialCode, chargeType, startDate, endDate));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.getDoctorScheduleTime)
    @ApiOperation(value = "获取医生具体号源时间")
    public ListEnvelop getDoctorScheduleTime(@ApiParam(name = "dept", value = "部门ID")
                                         @RequestParam(value = "dept",required = true) String dept,
                                         @ApiParam(name = "docMappingCode", value = "医生ID精确查询")
                                         @RequestParam(value = "docMappingCode",required = true)String docMappingCode,
                                         @ApiParam(name = "date", value = "日期")
                                         @RequestParam(value = "date",required = true)String date,
                                         @ApiParam(name = "ampm", value = "上午a,下午p")
                                         @RequestParam(value = "ampm",required = true)String ampm) throws Exception {
        return success(appointmentService.getDoctorScheduleTime(dept,docMappingCode,date,ampm));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.getAppointmentList)
    @ApiOperation(value = "获取预约记录列表")
    public ListEnvelop getAppointmentList(@ApiParam(name = "idcard", value = "患者idcard")
                                          @RequestParam(value = "idcard",required = false) String idcard,
                                          @ApiParam(name = "doctor", value = "医生ID精确查询")
                                          @RequestParam(value = "doctor",required = false)String doctor,
                                          @ApiParam(name = "doctorName", value = "医生姓名模糊")
                                          @RequestParam(value = "doctorName",required = false)String doctorName,
                                          @ApiParam(name = "dept", value = "部门")
                                          @RequestParam(value = "dept",required = false)String dept,
                                          @ApiParam(name = "chargeType", value = "号别")
                                          @RequestParam(value = "chargeType",required = false)String chargeType,
                                          @ApiParam(name = "startDate", value = "开始时间")
                                          @RequestParam(value = "startDate",required = true)String startDate,
                                          @ApiParam(name = "endDate", value = "结束时间")
                                          @RequestParam(value = "endDate",required = true)String endDate) throws Exception {
        return success(appointmentService.getAppointmentList(idcard,doctor,doctorName,dept,startDate,endDate,chargeType));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Appointment.makeAppointment)
    @ApiOperation(value = "预约")
    public ObjEnvelop makeAppointment(@ApiParam(name = "appointmentJson", value = "预约实体")
                                       @RequestParam(value = "appointmentJson",required = false) String appointmentJson) throws Exception {
        return success(appointmentService.makeAppointment(appointmentJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Appointment.cancelAppointment)
    @ApiOperation(value = "取消预约")
    public ObjEnvelop cancelAppointment(@ApiParam(name = "appointmentJson", value = "预约实体")
                                        @RequestParam(value = "appointmentJson",required = false) String appointmentJson) throws Exception {
        return success(appointmentService.cancelAppointment(appointmentJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Appointment.getDoctorByMappingCode)
    @ApiOperation(value = "转化医生映射code")
    public ObjEnvelop getDoctorByMappingCode(@ApiParam(name = "mappingCode", value = "患者ID")
                                        @RequestParam(value = "mappingCode",required = false) String mappingCode) throws Exception {
        return success(appointmentService.getDoctorByMappingCode(mappingCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Appointment.findAllSpecialDisease)
    @ApiOperation(value = "获取专病字典")
    public ListEnvelop findAllSpecialDisease() throws Exception {
        return success(specialDiseaseService.findAllSpecialDisease());
    }
}

+ 0 - 198
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/article/ArticleEndpoint.java

@ -1,198 +0,0 @@
package com.yihu.jw.hospital.endpoint.article;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import com.yihu.jw.hospital.service.consult.KnowledgeArticleService;
import com.yihu.jw.hospital.service.consult.KnowledgeCategoryService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
 * 健康文章
 * @author huangwenjie
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.PREFIX)
@Api(value = "健康文章", description = "健康文章接口", tags = {"健康文章接口"})
public class ArticleEndpoint extends EnvelopRestEndpoint {
	
	@Autowired
	private KnowledgeArticleService  knowledgeArticleService;
	
	@Autowired
	private KnowledgeCategoryService knowledgeCategoryService;
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
	@ApiOperation(value = "获取文章列表")
	public Envelop searchKnowledgePageList(
//			@ApiParam(name = "category_first", value = "1级分类编码")
//			@RequestParam(value = "category_first", required = false) String category_first,
//			@ApiParam(name = "category_secend", value = "2级分类编码")
//			@RequestParam(value = "category_second", required = false) String category_second,
//			@ApiParam(name = "keyword", value = "关键字")
//			@RequestParam(value = "keyword", required = false) String keyword,
//			@ApiParam(name = "status", value = "审核状态:0未审核,1已审核")
//			@RequestParam(value = "status", required = false) String status,
//			@ApiParam(name = "start", value = "开始时间")
//			@RequestParam(value = "start", required = false) String start,
//			@ApiParam(name = "end", value = "结束时间")
//			@RequestParam(value = "end", required = false) String end,
			@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
			@RequestParam(value = "fields", required = false) String fields,
			@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
			@RequestParam(value = "filters", required = false) String filters,
			@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
			@RequestParam(value = "sorts", required = false) String sorts,
			@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
			@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
			@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
			@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
		if(StringUtils.isBlank(filters)){
			filters=filters+"del=1";
		}else{
			filters=filters+";del=1";
		}
		
		List<KnowledgeArticleDO> list  = knowledgeArticleService.search(fields,filters,sorts,page,pageSize);
		List<KnowledgeArticleDO> totals  = knowledgeArticleService.search(fields,filters,sorts);
		
		JSONObject result = new JSONObject();
		result.put("total",totals.size());
		result.put("detailModelList",list);
		
		return success(result);
	}
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.queryById)
	@ApiOperation(value = "根据id查询文章")
	public Envelop queryByCode(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id) throws Exception{
			KnowledgeArticleDO articleDO = knowledgeArticleService.retrieve(id);
		return success(articleDO);
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.deleteById)
	@ApiOperation(value = "根据id删除文章")
	public Envelop deleteById(
			@ApiParam(name = "id", value = "id,多个使用英文逗号分隔", required = true)
			@RequestParam(value = "id", required = true)String id)throws Exception {
			knowledgeArticleService.delArticle(id);
			return success("操作成功");
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticle)
	@ApiOperation(value = "保存/更新文章")
	public Envelop saveArticle(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
		knowledgeArticleService.saveArticle(jsonData);
		return success("操作成功");
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.reviewArticle)
	@ApiOperation(value = "审核/退回文章")
	public Envelop saveArticle(
			@ApiParam(name = "articleId", value = "文章ID")
			@RequestParam(value = "articleId", required = true) String articleId,
			@ApiParam(name = "status", value = "0未审核,1已审核,2退回")
			@RequestParam(value = "status", required = true) Integer status,
			@ApiParam(name = "reason", value = "退回理由")
			@RequestParam(value = "reason", required = false) String reason
	)throws Exception {
		knowledgeArticleService.reviewArticle(articleId,status,reason);
		return success("操作成功");
	}
	
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchCategoryList)
	@ApiOperation(value = "获取分类列表")
	public ListEnvelop searchCategoryList(
			@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
			@RequestParam(value = "fields", required = false) String fields,
			@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
			@RequestParam(value = "filters", required = false) String filters,
			@ApiParam(name = "sorts", value = "排序,规则参见说明文档")
			@RequestParam(value = "sorts", required = false) String sorts,
			@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
			@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
			@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
			@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
		List<KnowledgeCategoryDO> list  = knowledgeCategoryService.search(fields,filters,sorts,page,pageSize);
		List<KnowledgeCategoryDO> result = new ArrayList<>();
		for(KnowledgeCategoryDO knowledgeCategoryDO:list){
			if(knowledgeCategoryDO.getDel() == 1){
				result.add(knowledgeCategoryDO);
			}
		}
		return success(result);
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.saveCategory)
	@ApiOperation(value = "保存/更新分类")
	public Envelop saveCategory(
			@ApiParam(name = "jsonData", value = "Json数据", required = true)
			@RequestParam String jsonData)throws Exception {
		knowledgeCategoryService.saveCategory(jsonData);
		return success("操作成功");
	}
	
	@PostMapping (value = BaseHospitalRequestMapping.KnowledgeArticle.updateDel)
	@ApiOperation(value = "根据分类code删除分类")
	public Envelop updateDel(
			@ApiParam(name = "id", value = "id", required = true)
			@RequestParam(value = "id", required = true)String id)throws Exception {
		Boolean flag = knowledgeCategoryService.updateDel(id);
		if (flag) {
			return success("操作成功");
		}else{
			return failed("操作失败");
		}
		
	}
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveArticleDept)
	@ApiOperation(value = "设置文章发送的科室")
	public ObjEnvelop saveArticleDept(@ApiParam(name = "articleId", value = "文章ID")
	                                 @RequestParam(value = "articleId",required = true)String articleId,
	                                 @ApiParam(name = "sdJsons", value = "部门与科室关系json")
	                                 @RequestParam(value = "sdJsons",required = true)String sdJsons)throws Exception {
		return success(knowledgeArticleService.saveArticleDept(articleId,sdJsons));
	}
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findDeptByArticle)
	@ApiOperation(value = "查询文章下的科室")
	public ListEnvelop findDeptByArticle(@ApiParam(name = "articleId", value = "文章ID")
	                                    @RequestParam(value = "articleId",required = true)String articleId)throws Exception {
		return success(knowledgeArticleService.findDeptByArticle(articleId));
	}
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.findArticleByDept)
	@ApiOperation(value = "查询部门下发放的文章")
	public ListEnvelop findArticleByDept(@ApiParam(name = "dept", value = "科室")
	                                    @RequestParam(value = "dept",required = true)String dept)throws Exception {
		return success(knowledgeArticleService.findArticleByDept(dept));
	}
	
	@PostMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.saveDeptArticle)
	@ApiOperation(value = "设置科室发送的文章")
	public ObjEnvelop saveDeptArticle(@ApiParam(name = "dept", value = "部门code")
	                                 @RequestParam(value = "dept",required = true)String dept,
	                                 @ApiParam(name = "sdJsons", value = "部门与科室关系json")
	                                 @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
		return success(knowledgeArticleService.saveDeptArticle(dept,sdJsons));
	}
}

+ 0 - 202
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/base/BaseInfoEndpoint.java

@ -1,202 +0,0 @@
package com.yihu.jw.hospital.endpoint.base;
import com.yihu.jw.area.service.BaseCityService;
import com.yihu.jw.area.service.BaseStreetService;
import com.yihu.jw.dict.service.BaseDictJobTitleService;
import com.yihu.jw.dict.service.HospitalDeptService;
import com.yihu.jw.doctor.service.BaseDoctorHosService;
import com.yihu.jw.entity.base.area.BaseCityDO;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
import com.yihu.jw.org.service.BaseOrgInfoService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * Created by cws on 2019/5/28.
 */
@RestController
@RequestMapping("internet/base" )
@Api(tags = "基础字典专用,用于各下拉框数据获取", description = "互联网医院")
public class BaseInfoEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseCityService cityService;
    @Autowired
    private HospitalDeptService hospitalDeptService;
    @Autowired
    private BaseDictJobTitleService baseDictJobTitleService;
    @Autowired
    private BaseDoctorHosService baseDoctorHosService;
    @Autowired
    private BaseOrgInfoService baseOrgInfoService;
    @Autowired
    private BaseStreetService baseStreetService;
    @Autowired
    private WlyyBusinessService wlyyBusinessService;
    @Autowired
    private YkyyEntranceService ykyyEntranceService;
    /**
     * 获取市列表信息
     * @return
     */
    @GetMapping(value = "/getCity")
    @ApiOperation(value = "获取市列表信息", notes = "基础数据获取")
    public Envelop getCity() throws Exception {
        List<BaseCityDO> res =  cityService.getAllCity();
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取市列表信息!");
        }
    }
    /**
     * 根据市编码,获取该市范围内所有的医院列表信息
     * @return
     */
    @GetMapping(value = "/getOrgByCity")
    @ApiOperation(value = "根据市编码,获取该市范围内所有的医院列表信息", notes = "基础数据获取")
    public Envelop getOrgByCity(
            @ApiParam(name = "cityCode", value = "市编码")
            @RequestParam(value = "cityCode", required = false) String cityCode,
            @ApiParam(name = "level", value = "等级医院,1等级医院,2.社区医院")
            @RequestParam(value = "level", required = false) Integer level) {
        List<BaseOrgDO> res =  baseOrgInfoService.getOrgByCity(cityCode,level);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("该市未维护医院信息!");
        }
    }
    /**
     * 根据机构编码获取部门列表信息
     * @param orgCode
     * @return
     */
    @GetMapping(value = "/getDeptByOrgCode")
    @ApiOperation(value = "根据机构编码获取部门列表信息", notes = "基础数据获取")
    public Envelop getDeptByOrgCode(
            @ApiParam(name = "orgCode", value = "机构编码")
            @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "consultDeptFlag", value = "是否是就诊科室,1为查询门诊,不传为全部")
            @RequestParam(value = "consultDeptFlag", required = false) String consultDeptFlag)  {
        List<DictHospitalDeptDO> res =  hospitalDeptService.getHosDeptByCode(orgCode,consultDeptFlag);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构的部门列表信息!");
        }
    }
    /**
     * 根据机构编码及科室信息获取科室内所有医生列表信息
     * @param orgCode
     * @return
     */
    @GetMapping(value = "/getDoctorByOrgAndDept")
    @ApiOperation(value = "根据机构编码及科室信息获取科室内所有医生列表信息", notes = "基础数据获取")
    public Envelop getDoctorByOrgAndDept(
            @ApiParam(name = "orgCode", value = "机构编码")
            @RequestParam(value = "orgCode", required = false) String orgCode,
            @ApiParam(name = "deptCode", value = "部门编码")
            @RequestParam(value = "deptCode", required = false) String deptCode) {
        List<BaseDoctorHospitalDO> res =  baseDoctorHosService.getDoctorByOrgAndDept(orgCode,deptCode);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构科室下的医生信息!");
        }
    }
    /**
     * 获取机构职称信息
     * @return
     */
    @GetMapping(value = "/getJobBySaasId")
    @ApiOperation(value = "获取机构职称信息", notes = "基础数据获取")
    public Envelop getJobBySaasId(
            @ApiParam(name = "saasId", value = "租户ID,当为空的情况下查询所有")
            @RequestParam(value = "saasId", required = false) String saasId)  {
        List<DictJobTitleDO> res= baseDictJobTitleService.getBySaasId(saasId);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构的职称信息!");
        }
    }
    //==================区域互联网======================================
    @GetMapping(value = "/findByTown")
    @ApiOperation(value = "获取街道信息", notes = "获取街道信息")
    public Envelop findByTown(@ApiParam(name = "town", value = "区级code")
                              @RequestParam(value = "town", required = true) String town)  {
        return success(baseStreetService.findByTown(town));
    }
    @GetMapping(value = "/findWlyyHospital")
    @ApiOperation(value = "同步医院信息", notes = "同步医院信息")
    public Envelop findWlyyHospital() throws Exception {
        return success(wlyyBusinessService.findWlyyHospital());
    }
    @GetMapping(value = "/findWlyyDept")
    @ApiOperation(value = "同步部门信息", notes = "同步部门信息")
    public Envelop findWlyyDept()  throws Exception{
        return success(wlyyBusinessService.findWlyyDept());
    }
    @GetMapping(value = "/findWlyyDoctor")
    @ApiOperation(value = "同步医生信息", notes = "同步医生信息")
    public Envelop findWlyyDoctor() throws Exception{
        return success(wlyyBusinessService.findWlyyDoctor());
    }
    //===============区域互联网===========================================
    //===============眼科中心信息同步======================================
    @GetMapping(value = "/updateYkyyDept")
    @ApiOperation(value = "同步科室数据", notes = "同步医生数据")
    public Envelop updateYkyyDept() throws Exception{
        return success(ykyyEntranceService.updateYkyyDept());
    }
    @GetMapping(value = "/updateYkyyDoctor")
    @ApiOperation(value = "同步医生信息", notes = "同步医生信息")
    public Envelop updateYkyyDoctor() throws Exception {
        return success(ykyyEntranceService.updateYkyyDoctor());
    }
    @GetMapping(value = "/test")
    @ApiOperation(value = "test", notes = "test")
    public Envelop test() throws Exception {
        return success(ykyyEntranceService.test());
    }
    //===============眼科中心信息同步======================================
}

+ 0 - 120
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/config/DoctorServiceEndPoint.java

@ -1,120 +0,0 @@
package com.yihu.jw.hospital.endpoint.config;
import com.yihu.jw.doctor.service.BaseDoctorService;
import com.yihu.jw.entity.base.doctor.BaseDoctorVo;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/12/9
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.DoctorSetting.PREFIX)
@Api(tags = "互联网医院后台医生服务配置", description = "互联网医院后台医生服务配置")
public class DoctorServiceEndPoint extends EnvelopRestEndpoint {
    @Autowired
    private BaseDoctorService baseDoctorService;
    @GetMapping(value = BaseHospitalRequestMapping.DoctorSetting.queryList)
    @ApiOperation(value = "获取分页列表")
    public Envelop queryList(
            @ApiParam(name = "city", value = "市区")
            @RequestParam(value = "city", required = false) String city,
            @ApiParam(name = "hospital", value = "机构")
            @RequestParam(value = "hospital", required = false) String hospital,
            @ApiParam(name = "status", value = "状态")
            @RequestParam(value = "status", required = false) String status,
            @ApiParam(name = "name", value = "科室或医生名称")
            @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "type", value = "咨询类型")
            @RequestParam(value = "type", required = false) String type,
            @ApiParam(name = "typeCode", value = "分部,无分部不传")
            @RequestParam(value = "typeCode", required = false)String typeCode,
            @ApiParam(name = "dept", value = "部门")
            @RequestParam(value = "dept", required = false)String dept,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "pageSize", value = "页码", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize") int pageSize) throws Exception {
        return baseDoctorService.queryList(city,hospital,status,name,type,typeCode,dept,page,pageSize);
    }
    @GetMapping(value = BaseHospitalRequestMapping.DoctorSetting.queryById)
    @ApiOperation(value = "根据医生id查询详情")
    public Envelop queryById(
            @ApiParam(name = "doctorId", value = "医生id")
            @RequestParam(value = "doctorId", required = true) String doctorId,
            @ApiParam(name = "typeCode", value = "分部,无不传")
            @RequestParam(value = "typeCode", required = false)String typeCode)throws Exception{
        Object object = baseDoctorService.queryById(doctorId,typeCode);
        if (null != object){
            return success("查询成功",object);
        }
        return failed("查询失败");
    }
    @PostMapping(value = BaseHospitalRequestMapping.DoctorSetting.update)
    @ApiOperation(value = "修改医生服务配置")
    public Envelop update(
            @ApiParam(name = "baseDoctorVo", value = "JSON数据", required = true)
            @RequestParam(value = "baseDoctorVo") String baseDoctorVo)throws Exception{
        JSONObject jsonObject = JSONObject.fromObject(baseDoctorVo);
        Boolean update = baseDoctorService.update(jsonObject);
        if (!update){
            return failed("保存失败,参数不可为空");
        }
        return success("保存成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.DoctorSetting.updateList)
    @ApiOperation(value = "批量修改医生服务配置")
    public Envelop updateList(
            @ApiParam(name = "baseDoctorVos", value = "JSON数据", required = true)
            @RequestParam(value = "baseDoctorVos") String baseDoctorVos)throws Exception{
        JSONArray jsonArray = JSONArray.fromObject(baseDoctorVos);
        Boolean update = baseDoctorService.updateList(jsonArray);
        return success("保存成功");
    }
    @GetMapping(value = BaseHospitalRequestMapping.DoctorSetting.updateStatus)
    @ApiOperation(value = "修改医生状态")
    public Envelop updateStatus(
            @ApiParam(name = "doctorId", value = "状态")
            @RequestParam(value = "doctorId", required = true) String doctorId,
            @ApiParam(name = "status", value = "状态")
            @RequestParam(value = "status", required = true) String status)throws Exception{
        baseDoctorService.updateStatus(doctorId,status);
        return success("修改成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.DoctorSetting.updateDoctorPw)
    @ApiOperation(value = "修改医生账号密码")
    public Envelop updateDoctorPw(@ApiParam(name = "id", value = "医生ID")
                                  @RequestParam(value = "id", required = true)String id,
                                  @ApiParam(name = "pw", value = "密码")
                                  @RequestParam(value = "pw", required = true)String pw)throws Exception{
        return success(baseDoctorService.updateDoctorPw(id,pw));
    }
}

+ 0 - 101
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ConsultPriceEndpoint.java

@ -1,101 +0,0 @@
package com.yihu.jw.hospital.endpoint.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import com.yihu.jw.hospital.service.consult.ConsultPriceService;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalConsultPriceVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping("internet/consult/price" )
@Api(tags = "医院咨询计费价目表", description = "互联网医院")
public class ConsultPriceEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ConsultPriceService consultPriceService;
    /**
     * 新增咨询计费信息
     * @param jsonData
     * @return
     * @throws Exception
     */
    @PostMapping(value = "/create")
    @ApiOperation(value = "新增咨询计费信息", notes = "新增咨询计费信息")
    public Envelop createConsultPrice(
            @ApiParam(name = "json_data", value = "JSON数据", required = true, defaultValue = "15")
            @RequestParam(value = "json_data") String jsonData ) throws Exception {
        int flag = -1;
        WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDO = new WlyyHospitalConsultPriceDO();
        Map dataDetail  = JSONObject.fromObject(jsonData);
        String hospital = dataDetail.get("hospital").toString();
        // 获取到职称及服务对象列表,拆分成json数组,再进行处理
        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString();
        JSONArray array = JSONArray.fromObject(data);
        if (array.size() > 0) {
                for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                wlyyHospitalConsultPriceDO = consultPriceService.saveConsultPrice(jsonObject,hospital);
                if(wlyyHospitalConsultPriceDO != null){
                    flag = 0;
                }else{
                    break;
                }
            }
        }
        if(flag == 0){
            return success("新增咨费成功!");
        }else{
            return failed("新增咨费失败!");
        }
    }
    @GetMapping(value = "/search")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<WlyyHospitalConsultPriceVO> page(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<WlyyHospitalConsultPriceDO> wlyyHospitalConsultPriceDOS = consultPriceService.search(fields, filters, sorts, page, size);
        int count = (int) consultPriceService.getCount(filters);
        return success(wlyyHospitalConsultPriceDOS, count, page, size, WlyyHospitalConsultPriceVO.class);
    }
    @PostMapping(value = "/delete")
    @ApiOperation(value = "删除指定ID的咨费记录", notes = "新增咨询计费信息")
    public Envelop deleteConsultPrice(
            @ApiParam(name = "id", value = "唯一标识ID")
            @RequestParam(value = "id", required = false) String id) {
        consultPriceService.deleteConsultPrice(id);
        return success("删除成功!");
    }
}

File diff suppressed because it is too large
+ 0 - 746
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java


File diff suppressed because it is too large
+ 0 - 614
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java


+ 0 - 101
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/ReservationSettingEndpoint.java

@ -1,101 +0,0 @@
package com.yihu.jw.hospital.endpoint.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalReservationSettingDO;
import com.yihu.jw.hospital.service.consult.ReservationSettingService;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalReservationSettingVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping("internet/reservation/setting" )
@Api(tags = "服务配置", description = "互联网医院")
public class ReservationSettingEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private ReservationSettingService reservationSettingService;
    @PostMapping(value = "/create")
    @ApiOperation(value = "新增服务配置信息", notes = "服务配置")
    public Envelop createResverationSetting(
            @ApiParam(name = "json_data", value = "JSON数据", required = true, defaultValue = "15")
            @RequestParam(value = "json_data") String jsonData ) throws Exception {
        int flag = -1;
        WlyyHospitalReservationSettingDO wlyyHospitalReservationSettingDO = new WlyyHospitalReservationSettingDO();
        Map dataDetail  = JSONObject.fromObject(jsonData);
        Map baseInfo = new HashMap();
        String hospital = dataDetail.get("hospital").toString();
        baseInfo.put("city",dataDetail.get("city").toString());
        baseInfo.put("cityName",dataDetail.get("cityName").toString());
        baseInfo.put("town",dataDetail.get("town").toString());
        baseInfo.put("townName",dataDetail.get("townName").toString());
        baseInfo.put("hospital",dataDetail.get("hospital").toString());
        baseInfo.put("hospitalName",dataDetail.get("hospitalName").toString());
        // 获取到职称及服务对象列表,拆分成json数组,再进行处理
        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString();
        JSONArray array = JSONArray.fromObject(data);
        if (array.size() > 0) {
                for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                    wlyyHospitalReservationSettingDO = reservationSettingService.saveReverationSetting(jsonObject,baseInfo);
                if(wlyyHospitalReservationSettingDO != null){
                    flag = 0;
                }else{
                    break;
                }
            }
        }
        if(flag == 0){
            return success("新增服务配置成功!");
        }else{
            return failed("新增服务配置失败!");
        }
    }
    @GetMapping(value = "/search")
    @ApiOperation(value = "获取分页")
    public PageEnvelop<WlyyHospitalReservationSettingVO> page(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1")
            @RequestParam(value = "page") int page,
            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15")
            @RequestParam(value = "size") int size) throws Exception {
        List<WlyyHospitalReservationSettingDO> wlyyHospitalReservationSettingDOS = reservationSettingService.search(fields, filters, sorts, page, size);
        int count = (int) reservationSettingService.getCount(filters);
        return success(wlyyHospitalReservationSettingDOS, count, page, size, WlyyHospitalReservationSettingVO.class);
    }
    @PostMapping(value = "/delete")
    @ApiOperation(value = "删除指定ID的配置服务记录", notes = "服务配置")
    public Envelop deleteConsultPrice(
            @ApiParam(name = "id", value = "唯一标识ID")
            @RequestParam(value = "id", required = false) String id) {
        reservationSettingService.deleteReservationSetting(id);
        return success("删除成功!");
    }
}

+ 0 - 157
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/consult/SysDictEndpoint.java

@ -1,157 +0,0 @@
package com.yihu.jw.hospital.endpoint.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.service.consult.SysDictService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping("internet/consult/sysdict" )
@Api(tags = "互联网医院功能业务字典及开关设置表", description = "互联网医院")
public class SysDictEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SysDictService sysDictService;
    /**
     * 新增功能业务字典
     * @param jsonData
     * @return
     * @throws Exception
     */
    @PostMapping(value = "/create")
    @ApiOperation(value = "新增&修改功能业务字典", notes = "互联网医院功能业务字典及开关设置表")
    public Envelop createSysDict(
            @ApiParam(name = "json_data", value = "JSON数据", required = true)
            @RequestParam(value = "json_data") String jsonData )  throws Exception {
        int flag = -1;
        Envelop envelop = new Envelop();
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO();
        Map dataDetail  = JSONObject.fromObject(jsonData);
        String hospital = dataDetail.get("hospital") == "" ? "": dataDetail.get("hospital") .toString();
        String dictName = dataDetail.get("dictName") == "" ? "": dataDetail.get("dictName") .toString();
        String data = dataDetail.get("data") == "" ? "": dataDetail.get("data") .toString();
        JSONArray array = JSONArray.fromObject(data);
        if(array.size()>0) {
            for (int i = 0; i < array.size(); i++) {
                JSONObject jsonObject = array.getJSONObject(i);
                wlyyHospitalSysDictDO = sysDictService.saveConsultSetting(jsonObject, hospital, dictName);
                if (wlyyHospitalSysDictDO != null) {
                    flag = 0;
                    continue;
                } else {
                    break;
                }
            }
            if (flag < 0) {
                return failed("配置新增失败!");
            } else {
                return success("配置新增成功!", wlyyHospitalSysDictDO);
            }
        }else{
            return failed("获取待更新配置项失败!");
        }
    }
    /**
     * 该接口实现按医院编号、字典名称、字典项编码进行查询的功能
     * 字典及项值约定:
     * dictName( 候诊延时: WaitingDelay )  dictCode ( 等待时长:WaitingTime  过号延时保号: OverdueDelay   过号延时时长: OverdueTime  延时退费规则: DelayedRefundRule )
     * dictName( 邀请专家配置: InvitedConfig )   dictCode ( 支付配置:PayType  邀请确认:InvitedValid   退费规则:RefundRule )
     */
    @GetMapping(value = "/findByHosAndDn")
    @ApiOperation(value = "基于医院编号及字典名称,查询配置列表", notes = "互联网医院功能业务字典及开关设置表")
    public Envelop findByHosAndDn(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictName", value = "字典名称", defaultValue = "")
            @RequestParam(value = "dictName", required = false) String dictName ) throws Exception {
        List<WlyyHospitalSysDictDO>  wlyyHospitalSysDictDOS = new ArrayList<WlyyHospitalSysDictDO>();
        wlyyHospitalSysDictDOS = sysDictService.findByHospitalAndDictName(hospital,dictName);
        Map res = new HashMap();
        res.put("hospital",hospital);
        res.put("dictName",dictName);
        if(wlyyHospitalSysDictDOS != null){
            for(WlyyHospitalSysDictDO wlyyHospitalSysDictDO : wlyyHospitalSysDictDOS){
                res.put(wlyyHospitalSysDictDO.getDictCode().toString(),wlyyHospitalSysDictDO.getDictValue().toString());
            }
            return success("查询配置信息成功!",res);
        }else{
            return failed("配置信息未存储,请先保存!");
        }
    }
    /**
     * 根据医院编号及字典编码,获取配置界面中某一配置项的值信息
     * dictName( 候诊延时: WaitingDelay )  dictCode ( 等待时长:WaitingTime  过号延时保号: OverdueDelay   过号延时时长: OverdueTime  延时退费规则: DelayedRefundRule )
     * dictName( 邀请专家配置: InvitedConfig )   dictCode ( 支付配置:PayType  邀请确认:InvitedValid   退费规则:RefundRule )
     * @param hospital
     * @param dictCode
     * @return
     * @throws Exception
     */
    @GetMapping(value = "/findByHosAndDc")
    @ApiOperation(value = "基于医院编号、字典名称及字典项编码,查询指定配置", notes = "互联网医院功能业务字典及开关设置表")
    public ObjEnvelop findByHosAndDc(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictCode", value = "字典项编码", defaultValue = "")
            @RequestParam(value = "dictCode", required = false) String dictCode ) throws Exception {
        ObjEnvelop objEnvelop = new ObjEnvelop();
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO();
        wlyyHospitalSysDictDO = sysDictService.findByHospitalAndDictCode(hospital,dictCode);
        if(wlyyHospitalSysDictDO != null){
            objEnvelop.setObj(wlyyHospitalSysDictDO);
            objEnvelop.setStatus(200);
            objEnvelop.setMessage("查询配置信息成功!");
        }else{
            objEnvelop.setStatus(-1);
            objEnvelop.setMessage("对不起,未查询到相关的配置信息!");
        }
        return objEnvelop;
    }
    
    @Override
    public com.alibaba.fastjson.JSONObject getUserAgent() {
        return super.getUserAgent();
    }
    @GetMapping(value = "/findByHosAndDict")
    @ApiOperation(value = "根据医院和字典名查询")
    public Envelop findByHosAndDict(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictName", value = "字典名称", required = true)
            @RequestParam(value = "dictName", required = true) String dictName ) throws Exception {
        List<Map<String, Object>> list = sysDictService.findByHosAndDict(hospital, dictName);
        return success("查询成功",list);
    }
}

+ 0 - 43
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/demo/HibenateDemoEndpoint.java

@ -1,43 +0,0 @@
package com.yihu.jw.hospital.endpoint.demo;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.utils.hibernate.HibenateDemo;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by Trick on 2019/12/10.
 */
@RestController
@RequestMapping("/demo/hibenate" )
@Api(tags = "综合查询demos", description = "综合查询demo")
public class HibenateDemoEndpoint extends EnvelopRestEndpoint {
    @Autowired
    HibenateDemo hibenateDemo;
    @GetMapping(value = "/test")
    @ApiOperation(value = "综合查询dome")
    public Envelop findHotDeptAndDiseaseDict(@ApiParam(name = "id", value = "id")
                                             @RequestParam(value = "id", required = false)String id,
                                             @ApiParam(name = "name", value = "姓名")
                                             @RequestParam(value = "name", required = false)String name,
                                             @ApiParam(name = "createTime", value = "创建时间")
                                             @RequestParam(value = "createTime", required = false)String createTime,
                                             @ApiParam(name = "page", value = "第几页,1开始")
                                             @RequestParam(value = "page", required = true)Integer page,
                                             @ApiParam(name = "size", value = "每页大小")
                                             @RequestParam(value = "size", required = true)Integer size)throws Exception{
        return hibenateDemo.findDoctorInfo(id,name,createTime,page,size);
    }
}

+ 0 - 195
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/ExpressageEndpoint.java

@ -1,195 +0,0 @@
package com.yihu.jw.hospital.endpoint.expressage;
import com.yihu.jw.entity.hospital.prescription.WlyyExpressagePriceDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionExpressageDO;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.service.PrescriptionExpressageService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.net.URLDecoder;
import java.util.List;
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Expressage.PREFIX)
@Api(value = "门诊处方快递物流管理器", description = "门诊处方快递物流管理器", tags = {"wlyy基础服务 - 门诊处方快递物流管理服务接口"})
public class ExpressageEndpoint extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(ExpressageEndpoint.class);
    @Autowired
    private PrescriptionExpressageService sfexpressService;
    @RequestMapping(value="/sfrouteserviceSearch",method = RequestMethod.GET)
    @ApiOperation("通过门诊编号查询顺丰物流派送记录")
    public Envelop SFRouteServiceSearch(@ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        try {
            List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
            if(CollectionUtils.isEmpty(expressageDOList)){
                return failed("当前门诊没有物流信息!");
            }
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            String result  = sfexpressService.getRoutInfosSearch(sfexpress_obj);
            return success(result);
        }catch (Exception e){
            //返回接口异常信息处理结果
            return failed( "查询失败,"+e.getMessage());
        }
    }
    @RequestMapping(value = "/getsfexpressprice", method = RequestMethod.GET)
    @ApiOperation("根据收寄地址获取快递费用")
    public Envelop SFExpressPrice(
//            @ApiParam(name = "j_city", value = "寄方地址(城市),默认为厦门", defaultValue = "厦门")
//            @RequestParam(value = "j_city", required = false) String j_city,
            @ApiParam(name = "d_province", value = "收方地址(省份)")
            @RequestParam(value = "d_province", required = false) String d_province,
            @ApiParam(name = "d_city", value = "收方地址(城市)")
            @RequestParam(value = "d_city", required = false) String d_city){
        try {
            WlyyExpressagePriceDO expreprice = sfexpressService.getSFExpressPrice(d_province,d_city);
            return success(expreprice);
        }catch (Exception e){
            //返回接口异常信息处理结果
            return failed("获取快递费用失败,"+e.getMessage());
        }
    }
    @RequestMapping(value = "/sforderfilterservice", method = RequestMethod.GET)
    @ApiOperation("查询派送地址是否属于顺丰的派送范围")
    public Envelop SFOrderFilterService(
            @ApiParam(name = "d_address", value = "派送地址")
            @RequestParam(value = "d_address", required = true) String d_address){
        try {
            boolean result = sfexpressService.getSFOrderFilterService(d_address);
            if(result){
                return success("地址可派送!");
            }else{
                return failed("地址需要人工审核或不可派送!");
            }
        }catch (Exception e){
            return failed("异常:"+e.getMessage());
        }
    }
    @RequestMapping(value="/sforderservice",method = RequestMethod.POST)
    @ApiOperation("向顺丰快递下订单")
    public Envelop SFOrderService(
            @ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        try {
            List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
            if(CollectionUtils.isEmpty(expressageDOList)){
                return failed("顺丰快递下单失败,未找到该处方的派送地址!");
            }else{
                WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
                //如果该处方的快递单号已生成,则说明已经下单成功,不需要重复下单,直接返回成功
                if(StringUtils.isNotBlank(sfexpress_obj.getMailno())){
                    return success("顺丰快递下单成功!");
                }else{
                    //如果该处方的快递单号未生成,则继续下单
                    //根据业务订单号判断是否已经下单成功
                    boolean go_on = sfexpressService.sfOrderSearchService(sfexpress_obj);
                    //如果该业务订单号未下单成功过,则重新下单
                    if(go_on){
                        //请求顺丰接口下单,成功下单后,返回快递单号
                        sfexpress_obj = sfexpressService.postSFOrderService(sfexpress_obj);
                        //保存快递单号和增加处方物流记录为配送
                        sfexpressService.updatePrescriptionExpressage(sfexpress_obj);
                    }
                    return success(sfexpress_obj);
                }
            }
        }catch (Exception e){
            //返回接口异常信息处理结果
            return failed(e.getMessage());
        }
    }
    @RequestMapping(value="/sfgetorderinfoservice",method = RequestMethod.GET)
    @ApiOperation("通过门诊编号查询顺丰快递单信息(不包含物流记录)")
    public Envelop SFGetOrderInfo(
            @ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        try {
            List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
            if(CollectionUtils.isEmpty(expressageDOList)){
                return failed( "当前门诊不存在快递信息");
            }
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            return success(sfexpress_obj);
        }catch (Exception e) {
            return failed("查询失败," + e.getMessage());
        }
    }
    @RequestMapping(value="/sfordersearchservice",method = RequestMethod.GET)
    @ApiOperation("通过门诊编号查询顺丰快递是否下单成功")
    public Envelop SFOrderSearchService(
            @ApiParam(name="outpatientId", value="门诊编号") @RequestParam(value = "outpatientId",required = true) String outpatientId){
        List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("outpatientId",outpatientId);
        if(CollectionUtils.isEmpty(expressageDOList)){
            return failed( "当前门诊没有顺丰快递信息");
        }
        try {
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            boolean go_on = sfexpressService.sfOrderSearchServiceJustSearch(sfexpress_obj);
            return success(go_on);
        }catch (Exception e) {
            return failed("查询失败," + e.getMessage());
        }
    }
    @RequestMapping(value="/sforderConfirm",method = RequestMethod.GET)
    @ApiOperation("通过快递单号取消快递")
    public Envelop sforderConfirm(
            @ApiParam(name="mailno", value="快递单号") @RequestParam(value = "mailno",required = true) String mailno){
        List<WlyyPrescriptionExpressageDO> expressageDOList = sfexpressService.findByField("mailno",mailno);
        if(CollectionUtils.isEmpty(expressageDOList)){
            return failed( "当前快递单号的门诊不存在,");
        }
        try {
            WlyyPrescriptionExpressageDO sfexpress_obj = expressageDOList.get(0);
            String result = sfexpressService.postOrderConfirmService(sfexpress_obj);
            return success(result);
        }catch (Exception e) {
            return failed("异常," + e.getMessage());
        }
    }
    @RequestMapping(value="/test",method = RequestMethod.GET)
    @ApiOperation("test")
    public Envelop test(String test){
        try {
            sfexpressService.test();
            return success("ok");
        }catch (Exception e) {
            return failed("异常," + e.getMessage());
        }
    }
}

+ 0 - 109
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/expressage/WlyyPatientExpressageAddrEndpoint.java

@ -1,109 +0,0 @@
package com.yihu.jw.hospital.endpoint.expressage;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import com.yihu.jw.hospital.service.consult.WlyyPatientExpressageAddrService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPatientExpressageAddrVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 居民收获地址控制器
 *
 * @version <pre>
 * Author	Version		Date		Changes
 * Administrator 	1.0  		2019年06月12日 	Created
 *
 * </pre>
 * @since 1.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.PREFIX)
@Api(value = "居民收获地址管理", description = "居民收获地址管理服务接口", tags = {"wlyy基础服务 - 居民收获地址管理服务接口"})
public class WlyyPatientExpressageAddrEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private WlyyPatientExpressageAddrService wlyyPatientExpressageAddrService;
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.CREATE)
    @ApiOperation(value = "新增地址")
    public Envelop create(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData)throws Exception{
            WlyyPatientExpressageAddrDO addrDO = wlyyPatientExpressageAddrService.createAddr(jsonData);
            if (addrDO == null){
                return failed("新增地址失败,新增数据为空");
            }
            return success(addrDO);
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.DELETE)
    @ApiOperation(value = "删除")
    public Envelop delete(
            @ApiParam(name = "ids", value = "id串,中间用,分隔", required = true)
            @RequestParam(value = "ids") String ids) {
        wlyyPatientExpressageAddrService.delete(ids.split(","));
        return success("删除成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.setDefault)
    @ApiOperation(value = "将地址设置为默认")
    public Envelop setAddrDefault(
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient,
            @ApiParam(name = "addrId", value = "当前地址id", required = true) @RequestParam(value = "addrId") String addrId)throws Exception{
            Object result = wlyyPatientExpressageAddrService.setAddrDefault(patient, addrId);
            if (!"OK".equals(result.toString())) {
                return failed("设置默认地址失败,"+result);
            }
            return success("设置默认地址成功");
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.hasDefault)
    @ApiOperation(value = "判断当前居民是否已经存在默认地址")
    public Envelop hasDefault(
            @ApiParam(name = "patient", value = "居民code", required = true) @RequestParam(value = "patient") String patient) {
        boolean result = wlyyPatientExpressageAddrService.hasDefault(patient);
        return success(result);
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.UPDATE)
    @ApiOperation(value = "更新")
    public ObjEnvelop<WlyyPatientExpressageAddrVO> update(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam String jsonData) throws Exception {
        WlyyPatientExpressageAddrDO wlyyPatientExpressageAddr = toEntity(jsonData, WlyyPatientExpressageAddrDO.class);
        if (null == wlyyPatientExpressageAddr.getId()) {
            return failed("ID不能为空", ObjEnvelop.class);
        }
        wlyyPatientExpressageAddr = wlyyPatientExpressageAddrService.updateAddr(wlyyPatientExpressageAddr);
        return success(wlyyPatientExpressageAddr, WlyyPatientExpressageAddrVO.class);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyyPatientExpressageAddr.LIST)
    @ApiOperation(value = "获取列表")
    public ListEnvelop<WlyyPatientExpressageAddrVO> list(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts) throws Exception {
        List<WlyyPatientExpressageAddrDO> wlyyPatientExpressageAddrs = wlyyPatientExpressageAddrService.search(fields, filters, sorts);
        return success(wlyyPatientExpressageAddrs, WlyyPatientExpressageAddrVO.class);
    }
}

+ 0 - 81
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/file_upload/FileUploadEndpoint.java

@ -1,81 +0,0 @@
package com.yihu.jw.hospital.endpoint.file_upload;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.restmodel.iot.common.UploadVO;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
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.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.Map;
/**
 * 文件上传公共类
 */
@RestController
@RequestMapping(BaseRequestMapping.FileUpload.PREFIX)
@Api(tags = "文件上传相关操作", description = "文件上传相关操作")
public class FileUploadEndpoint extends EnvelopRestEndpoint {
    @Value("${fastDFS.fastdfs_file_url}")
    private String fastdfs_file_url;
    @Autowired
    FileUploadService fileUploadService;
    @Value("${testPattern.sign}")
    private String isClose;
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_IMG)
    @ApiOperation(value = "文件流上传图片", notes = "文件流上传图片")
    public ObjEnvelop<UploadVO> uploadImg(@ApiParam(value = "文件", required = true)
                                       @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        // 得到文件的完整名称  xxx.txt
        String originalFilename = file.getOriginalFilename();
        InputStream inputStream = file.getInputStream();
        UploadVO uploadVO = fileUploadService.uploadImg(inputStream,originalFilename,file.getSize(),fastdfs_file_url);
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM_ATTACHMENT)
    @ApiOperation(value = "文件流上传附件", notes = "文件流上传附件")
    public ObjEnvelop<UploadVO> uploadAttachment(@ApiParam(value = "文件", required = true)
                                       @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        String originalFilename = file.getOriginalFilename();
        InputStream inputStream = file.getInputStream();
        UploadVO uploadVO = fileUploadService.uploadAttachment(inputStream,originalFilename,file.getSize(),fastdfs_file_url);
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STREAM)
    @ApiOperation(value = "文件流上传文件", notes = "文件流上传文件")
    public ObjEnvelop<UploadVO> uploadStream(@ApiParam(value = "文件", required = true)
                                                 @RequestParam(value = "file", required = true) MultipartFile file) throws Exception{
        UploadVO uploadVO = new UploadVO();
        if (isClose.equalsIgnoreCase("1")){
            Map<String, Object> map = fileUploadService.uploadImg(file);
            uploadVO.setFullUri(map.get("accessory").toString());
        }else {
            // 得到文件的完整名称  xxx.txt
            String originalFilename = file.getOriginalFilename();
            InputStream inputStream = file.getInputStream();
            uploadVO = fileUploadService.uploadStream(inputStream,originalFilename,fastdfs_file_url);
        }
        return success("上传成功", uploadVO);
    }
    @PostMapping(value = BaseRequestMapping.FileUpload.UPLOAD_STRING)
    @ApiOperation(value = "base64上传图片",notes = "base64上传图片")
    public ObjEnvelop<UploadVO> uploadImages(@ApiParam(name = "jsonData", value = "头像转化后的输入流")
                                             @RequestParam(value = "jsonData", required = true) String jsonData) throws Exception {
        UploadVO uploadVO = fileUploadService.uploadImages(jsonData,fastdfs_file_url);
        return success("上传成功", uploadVO);
    }
}

+ 0 - 230
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/internet/InternetController.java

@ -1,230 +0,0 @@
package com.yihu.jw.hospital.endpoint.internet;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.internet.service.InternetService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
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.slf4j.Logger;
import org.slf4j.LoggerFactory;
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;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping(value ="/internetUp")
@Api(value = "监管平台数据上传", description = "监管平台数据上传", tags = {"监管平台数据上传"})
public class InternetController extends EnvelopRestEndpoint {
    private Logger logger = LoggerFactory.getLogger(InternetController.class);
    @Autowired
    private InternetService internetService;
    @PostMapping(value = "/upNsUserToken")
    @ApiOperation(value = "2.1 获取监管平台token数据")
    public ObjEnvelop upNsUserToken() {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String token =  internetService.upNsUserToken(internetService.getUrl());
            if("".equals(token)){
                return ObjEnvelop.getError("用户更新失败! ");
            }else{
                return ObjEnvelop.getSuccess("用户更新成功!",token);
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("用户更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upNsOrganBas")
    @ApiOperation(value = "2.2 医院基本信息")
    public ObjEnvelop upNsOrganBas()throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upNsOrganBas();
            JSONObject resJson = (JSONObject) JSONObject.parse(res);
            if("200".equals(resJson.get("msg").toString())) {
                return ObjEnvelop.getSuccess("医院信息更新成功!",res);
            }else {
                return ObjEnvelop.getError(resJson.get("reqContent").toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("医院信息更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upNsDoctorRecord")
    @ApiOperation(value = "2.3 医生信息上传")
    public Envelop upNsDoctorRecord(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId) {
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            res =  internetService.upNsDoctorRecord(startDate,endDate,keyId);
            return ObjEnvelop.getSuccess(res);
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("医生信息更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/achNsDoctorRecord")
    @ApiOperation(value = "2.4 获取监管平台医师唯一标识 micc.achNsDoctorRecord")
    public Envelop achNsDoctorRecord(
            @ApiParam(name = "idCard", value = "医生身份证号", required = true)
            @RequestParam(value = "idCard") String idCard) {
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            res =  internetService.achNsDoctorRecord(idCard);
            JSONObject resJson = (JSONObject) JSONObject.parse(res);
            if("200".equals(resJson.get("msg").toString())){
                return ObjEnvelop.getSuccess("获取成功! ",resJson);
            }else{
                return ObjEnvelop.getError("获取失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("获取失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upAppointmentOnline")
    @ApiOperation(value = "2.5 网上预约挂号")
    public Envelop upAppointmentOnline(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId){
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            res = internetService.upAppointmentOnline(startDate,endDate,keyId);
            return  ObjEnvelop.getSuccess("预约挂号信息上传状况如下: " + res );
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("网上预约挂号上传失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upNsDoctorScore")
    @ApiOperation(value = "2.7. 医生评价信息")
    public String upNsDoctorScore(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId) throws  Exception{
        Envelop env = new Envelop();
        Map map = new HashMap();
        String res = "";
        try {
            // 获取机构内评价列表信息
            res = internetService.upNsDoctorScore(startDate,endDate,keyId);
            return  res;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    @PostMapping(value = "/upNsOnlineAsk")
    @ApiOperation(value = "2.8 网络咨询服务信息 micc.upNsOnlineAsk")
    public ObjEnvelop upNsOnlineAsk(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId)throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upNsOnlineAsk(startDate,endDate,keyId);
            if(res != null) {
                return ObjEnvelop.getSuccess("网络咨询服务上报成功!",res);
            }else{
                return ObjEnvelop.getError("网络咨询服务上报失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("网络咨询服务上报失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upPrescription")
    @ApiOperation(value = "10 电子处方表 micc.upPrescription")
    public ObjEnvelop upPrescription(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId)throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upPrescription(startDate,endDate,keyId);
            if(res != null) {
                return ObjEnvelop.getSuccess("电子处方更新成功!",res);
            }else{
                return ObjEnvelop.getError("电子处方更新失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("电子处方更新失败! " + e.getMessage());
        }
    }
    @PostMapping(value = "/upPrescriptionDrug")
    @ApiOperation(value = "2.11. 电子处方_药品明细表")
    public ObjEnvelop upPrescriptionDrug(
            @ApiParam(name = "startDate", value = "上报起始日期", required = false)
            @RequestParam(value = "startDate") String startDate,
            @ApiParam(name = "endDate", value = "上报结束日期", required = false)
            @RequestParam(value = "endDate") String endDate,
            @ApiParam(name = "keyId", value = "关联ID", required = false)
            @RequestParam(value = "keyId") String keyId)throws Exception {
        ObjEnvelop env = new ObjEnvelop();
        Map map = new HashMap();
        try {
            String res =  internetService.upPrescriptionDrug(startDate,endDate,keyId);
            if(res != null) {
                return ObjEnvelop.getSuccess("电子处方_药品明细表更新成功!",res);
            }else{
                return ObjEnvelop.getError("电子处方_药品明细表更新失败! ");
            }
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("电子处方_药品明细表更新失败! " + e.getMessage());
        }
    }
}

+ 0 - 111
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/message/SystemMessageController.java

@ -1,111 +0,0 @@
package com.yihu.jw.hospital.endpoint.message;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.service.SystemMessageService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * @author zmk
 * @vsrsion 1.0
 * Created at 2019/11/18
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.SystemMessage.PREFIX)
@Api(value = "线上就诊消息管理器", description = "线上就诊消息管理器", tags = {"互联网医院 - 线上就诊消息管理器接口"})
public class SystemMessageController extends EnvelopRestEndpoint {
    private static Logger logger = LoggerFactory.getLogger(SystemMessageController.class);
    @Autowired
    private SystemMessageService systemMessageService;
    @PostMapping(value= BaseHospitalRequestMapping.SystemMessage.addMessage)
    @ApiOperation("新增线上就诊消息")
    public Envelop addMessage(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestBody SystemMessageDO systemMessageDO)throws Exception{
        SystemMessageDO messageDO = systemMessageService.addMessage(systemMessageDO);
        if (null == messageDO){
            return failed("新增失败");
        }
        return success("新增成功");
    }
    @PostMapping(value= BaseHospitalRequestMapping.SystemMessage.updateMessage)
    @ApiOperation("更新线上就诊消息")
    public Envelop updateMessage(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true)String id,
            @ApiParam(name = "read", value = "read", required = false)
            @RequestParam(value = "read", required = false)String read,
            @ApiParam(name = "del", value = "del", required = false)
            @RequestParam(value = "del", required = false)String del)throws Exception{
        SystemMessageDO systemMessageDO = systemMessageService.updateMessage(id,read,del);
        if (null == systemMessageDO){
            return failed("更新失败,就诊消息不存在");
        }
        return success("更新成功");
    }
    @GetMapping(value = BaseHospitalRequestMapping.SystemMessage.searchMessagePageList)
    @ApiOperation(value = "获取线上就诊消息列表")
    public Envelop searchMessagePageList(
            @ApiParam(name = "fields", value = "返回的字段,为空返回全部字段")
            @RequestParam(value = "fields", required = false) String fields,
            @ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
            @RequestParam(value = "filters", required = false) String filters,
            @ApiParam(name = "sorts", value = "排序,规则参见说明文档")
            @RequestParam(value = "sorts", required = false) String sorts,
            @ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
            @RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
            @ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize)throws Exception{
        if(StringUtils.isBlank(filters)){
            filters="del=1";
        }else{
            filters=filters+";del=1";
        }
        List<SystemMessageDO> list  = systemMessageService.search(fields,filters,sorts,page,pageSize);
        int count = (int) systemMessageService.getCount(filters);
        return success(list, count, page, pageSize, SystemMessageDO.class);
    }
    @GetMapping(value = BaseHospitalRequestMapping.SystemMessage.queryById)
    @ApiOperation(value = "获取线上就诊消息详情")
    public Envelop queryById(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true)String id)throws Exception{
        SystemMessageDO systemMessageDO = systemMessageService.queryById(id);
        if (null == systemMessageDO){
            return failed("获取失败,线上就诊消息不存在");
        }
        return success("获取成功",200,systemMessageDO);
    }
}

+ 0 - 209
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -1,209 +0,0 @@
package com.yihu.jw.hospital.endpoint.patient;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dict.service.BaseDictJobTitleService;
import com.yihu.jw.doctor.service.BaseDoctorService;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.service.consult.SysDictService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.axis.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author zmk
 * 患者不用登陆访问居民PC端控制类
 * Created at 2019/12/25
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.PatientNoLogin.PREFIX)
@Api(value = "患者不用登陆访问居民PC端控制类", description = "患者不用登陆访问居民PC端控制类")
public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private static final Logger logger = LoggerFactory.getLogger(PatientNoLoginEndPoint.class);
    @Autowired
    private PrescriptionService prescriptionService;
    @Autowired
    private SysDictService sysDictService;
    @Autowired
    private ImService imService;
    @Autowired
    private BaseDictJobTitleService baseDictJobTitleService;
    @Autowired
    private BaseDoctorService baseDoctorService;
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorByHospitalAndDiseaseAndDept)
    @ApiOperation(value = "根据疾病名称,热门部门查询医生", notes = "根据疾病名称,热门部门查询医生")
    public ListEnvelop findDoctorByHospitalAndDiseaseAndDept(@ApiParam(name = "orgCode", value = "机构code")
                                                             @RequestParam(value = "orgCode", required = true,defaultValue = "350211A1002")String orgCode,
                                                             @ApiParam(name = "dept", value = "部门code")
                                                             @RequestParam(value = "dept", required = false)String dept,
                                                             @ApiParam(name = "diseaseKey", value = "疾病名称关键字")
                                                             @RequestParam(value = "diseaseKey", required = false)String diseaseKey,
                                                             @ApiParam(name = "doctorNameKey", value = "医生名称关键字")
                                                             @RequestParam(value = "doctorNameKey", required = false)String doctorNameKey,
                                                             @ApiParam(name = "jobTitleNameKey", value = "医生职称关键字")
                                                             @RequestParam(value = "jobTitleNameKey", required = false)String jobTitleNameKey,
                                                             @ApiParam(name = "outpatientType", value = "咨询类型1图文,2视频")
                                                             @RequestParam(value = "outpatientType", required = false)String outpatientType,
                                                             @ApiParam(name = "keyName", value = "姓名/科室/疾病模糊搜索关键字")
                                                             @RequestParam(value = "keyName", required = false)String keyName,
                                                             @ApiParam(name = "workingTime", value = "排班时间YYYY-MM-DD")
                                                             @RequestParam(value = "workingTime", required = false)String workingTime,
                                                             @ApiParam(name = "consultStatus", value = "在线状态")
                                                             @RequestParam(value = "consultStatus", required = false,defaultValue = "")String consultStatus,
                                                             @ApiParam(name = "chargType", value = "医生号别")
                                                             @RequestParam(value = "chargType", required = false,defaultValue = "")String chargType,
                                                             @ApiParam(name = "consutlSort", value = "咨询量排序")
                                                             @RequestParam(value = "consutlSort", required = true,defaultValue = "DESC")String consutlSort,
                                                             @ApiParam(name = "page", value = "第几页")
                                                             @RequestParam(value = "page",required = false) Integer page,
                                                             @ApiParam(name = "pagesize", value = "分页大小")
                                                             @RequestParam(value = "pagesize",required = false) Integer pagesize
    ) throws Exception{
        logger.info("findDoctorByHospitalAndDiseaseAndDept start:"+ DateUtil.dateToStr(new Date(),"yyyy-MM-dd HH:mm:ss:SSS"));
        return success(prescriptionService.findDoctorByHospitalAndDiseaseAndDept(null,
                orgCode,dept,
                diseaseKey,doctorNameKey,
                jobTitleNameKey,outpatientType,
                keyName,workingTime,consultStatus,chargType,consutlSort,page,pagesize));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findHotDeptAndDiseaseDict)
    @ApiOperation(value = "获取常见疾病、热门部门、医生拒绝接诊原因 字典", notes = "获取常见疾病、热门部门、医生拒绝接诊原因 字典")
    public ListEnvelop findHotDeptAndDiseaseDict(@ApiParam(name = "dictName", value = "dictName")
                                                 @RequestParam(value = "dictName", required = true,defaultValue = "ONLINE_HOSPITAL_DEPT_350211A1002")String dictName)throws Exception{
        return success(prescriptionService.findHotDeptAndDiseaseDict(dictName));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.getTodayOutpatinetList)
    @ApiOperation(value = "居民获取当日就诊列表", notes = "居民获取当日就诊列表")
    public ListEnvelop getTodayOutpatinetList(@ApiParam(name = "patient", value = "居民ID")
                                              @RequestParam(value = "patient", required = true) String patient){
        return success(prescriptionService.getTodayOutpatinetList(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findByDeptTypeCode)
    @ApiOperation(value = "就诊费用查询", notes = "就诊费用查询")
    public ListEnvelop findByDeptTypeCode(@ApiParam(name = "deptTypeCode", value = "6总部7金榜8夏禾")
                                          @RequestParam(value = "deptTypeCode", required = false)String deptTypeCode) throws Exception{
        return success(prescriptionService.findByDeptTypeCode(deptTypeCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findByHosAndDict)
    @ApiOperation(value = "根据医院和字典名查询")
    public Envelop findByHosAndDict(
            @ApiParam(name = "hospital", value = "医院编码", required = true)
            @RequestParam(value = "hospital", required = true) String hospital,
            @ApiParam(name = "dictName", value = "字典名称", required = true)
            @RequestParam(value = "dictName", required = true) String dictName ) throws Exception {
        List<Map<String, Object>> list = sysDictService.findByHosAndDict(hospital, dictName);
        return success("查询成功",list);
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findDoctorInfo)
    @ApiOperation(value = "获取医生信息", notes = "获取医生信息")
    public ObjEnvelop findDoctorInfo(@ApiParam(name = "doctor", value = "医生code")
                                     @RequestParam(value = "doctor", required = true)String doctor,
                                     @ApiParam(name = "withWork", value = "传1带排班,其他不带")
                                     @RequestParam(value = "withWork", required = false)String withWork){
        return success(prescriptionService.findDoctorInfo(doctor,withWork));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.isExistsUnfinishedConsult)
    @ApiOperation(value = "查询居民与某个医生是否存在未结束的专家咨询")
    public Envelop isExistsUnfinishedConsult(
            @ApiParam(name = "doctor", value = "医生CODE")
            @RequestParam(value = "doctor",required = true) String doctor,
            @ApiParam(name = "patient", value = "居民CODE")
            @RequestParam(value = "patient",required = true) String patient)throws Exception {
        if(StringUtils.isEmpty(patient)){
            patient= getUID();
        }
        String consultCode = imService.getUnfinishedConsult(patient, doctor);
        return success("请求成功",consultCode);
    }
    /**
     * 获取机构职称信息
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.getJobBySaasId)
    @ApiOperation(value = "获取机构职称信息", notes = "基础数据获取")
    public Envelop getJobBySaasId(
            @ApiParam(name = "saasId", value = "租户ID,当为空的情况下查询所有")
            @RequestParam(value = "saasId", required = false) String saasId)  {
        List<DictJobTitleDO> res= baseDictJobTitleService.getBySaasId(saasId);
        if(res != null && res.size() > 0 ){
            return  success(res);
        }else{
            return success("无法获取该机构的职称信息!");
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findWorkTimeInfo)
    @ApiOperation(value = "获取具体号源", notes = "获取具体号源")
    public ListEnvelop findWorkTimeInfo(@ApiParam(name = "id", value = "排班id")
                                        @RequestParam(value = "id", required = false)String id) {
        return success(prescriptionService.findWorkTimeInfo(id));
    }
    @GetMapping(value = BaseHospitalRequestMapping.PatientNoLogin.findLevelOneDoctorUpcoming)
    @ApiOperation(value = "根据医生身份证查找互联网医院待办数量", notes = "根据医生身份证查找互联网医院待办数量")
    public ObjEnvelop findLevelOneDoctorUpcoming(@ApiParam(name = "doctor_idcard", value = "医生身份证")
                                                 @RequestParam(value = "doctor_idcard", required = true)String doctor_idcard){
        List<BaseDoctorDO> doctors = baseDoctorService.findByField("idcard",doctor_idcard);
        BaseDoctorDO doctor = null;
        JSONObject result = new JSONObject();
        if(!doctors.isEmpty()){
            doctor = doctors.get(0);
            //专家咨询
            Integer zjCount = imService.sessionCountByType(doctor.getId(),1,0);
            //全科医生求助专科
            Integer zjqzCount = imService.sessionCountByType(doctor.getId(),15,0);
            result.put("zjCount",zjCount+zjqzCount);//专家咨询数量
        }else{
            result.put("zjCount",0);//专家咨询数量
        }
        return success("请求成功",result);
    }
}

+ 0 - 947
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -1,947 +0,0 @@
package com.yihu.jw.hospital.endpoint.prescription;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.prescription.service.InspectionService;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.entrance.DoctorPreSignService;
import com.yihu.jw.hospital.service.SystemMessage.HospitalSystemMessageService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.restmodel.base.dict.DictHospitalDeptVO;
import com.yihu.jw.restmodel.base.org.BaseOrgVO;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
import com.yihu.jw.restmodel.hospital.doctor.WlyyDoctorWorkTimeVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyOutpatientVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
import com.yihu.jw.restmodel.im.ConsultVO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/16.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Prescription.PREFIX)
@Api(value = "在线复诊", description = "在线复诊接口", tags = {"在线复诊接口"})
public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private PrescriptionService prescriptionService;
    @Autowired
    private WlyyBusinessService wlyyBusinessService;
    @Autowired
    private PrescriptionLogService prescriptionLogService;
    @Autowired
    private InspectionService inspectionService;
    @Autowired
    private DoctorPreSignService doctorPreSignService;
    
    @Autowired
    private HospitalSystemMessageService hospitalSystemMessageService;
    
    @Autowired
    private ImService imService;
    @Value("${demo.flag}")
    private boolean demoFlag;
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOutpatientList)
    @ApiOperation(value = " 查询某个时间段的患者门诊就诊记录")
    public ListEnvelop findOutpatientList(@ApiParam(name = "patient", value = "居民id")
                               @RequestParam(value = "patient",required = false) String patient,
                               @ApiParam(name = "startTime", value = "开始时间")
                               @RequestParam(value = "startTime",required = false) String startTime,
                               @ApiParam(name = "endTime", value = "结束时间")
                               @RequestParam(value = "endTime",required = false) String endTime) throws Exception {
        List<WlyyOutpatientVO> vos = prescriptionService.findOutpatientList(patient, startTime, endTime, demoFlag);
        return success(vos);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOutpatientInfo)
    @ApiOperation(value = " 查询单条门诊就诊记录")
    public ObjEnvelop findOutpatientInfo(@ApiParam(name = "patient", value = "居民id")
                                         @RequestParam(value = "patient",required = false) String patient,
                                         @ApiParam(name = "conNo", value = "就诊次数")
                                         @RequestParam(value = "conNo",required = false) String conNo)throws Exception{
        WlyyOutpatientVO obj = prescriptionService.findOutpatientInfo(patient,conNo);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOriginPrescriptionList)
    @ApiOperation(value = "门诊下所有处方信息")
    public ListEnvelop findOriginPrescriptionList(
            @ApiParam(name = "registerSn", value = "流水号")
            @RequestParam(value = "registerSn",required = false) String registerSn,
            @ApiParam(name = "patNo", value = "病人id")
            @RequestParam(value = "patNo",required = false) String patNo,
            @ApiParam(name = "admNo", value = "住院唯一号")
            @RequestParam(value = "admNo",required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号")
            @RequestParam(value = "realOrder",required = false) String realOrder) throws Exception {
        List<WlyyPrescriptionVO> obj = prescriptionService.findOriginPrescriptionList(registerSn, patNo, realOrder, admNo,demoFlag);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOriginPrescription)
    @ApiOperation(value = "历史处方信息(单条)")
    public ObjEnvelop findOriginPrescription(
            @ApiParam(name = "registerSn", value = "流水号", required = false)
            @RequestParam(value = "registerSn",required = false) String registerSn,
            @ApiParam(name = "patNo", value = "病人id", required = false)
            @RequestParam(value = "patNo",required = false) String patNo,
            @ApiParam(name = "admNo", value = "住院唯一号", required = false)
            @RequestParam(value = "admNo",required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号", required = false)
            @RequestParam(value = "realOrder",required = false) String realOrder) throws Exception {
        WlyyPrescriptionVO obj = prescriptionService.findOriginPrescription(registerSn, patNo, admNo,realOrder, demoFlag);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPrescriptionList)
    @ApiOperation(value = "获取续方记录列表", notes = "获取续方记录列表")
    public MixEnvelop<WlyyPrescriptionVO,WlyyPrescriptionVO> findPrescriptionList(@ApiParam(name = "patient", value = "居民code")
                                                                                  @RequestParam(value = "patient", required = false) String patient,
                                                                                  @ApiParam(name = "status", value = "状态,多状态‘,’分割,例如‘1,2’,‘1,2,3’")
                                                                                  @RequestParam(value = "status", required = false)String status,
                                                                                  @ApiParam(name = "startTime", value = "开始时间,‘yyyy-MM-dd’")
                                                                                  @RequestParam(value = "startTime", required = false)String startTime,
                                                                                  @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd’")
                                                                                  @RequestParam(value = "endTime", required = false)String endTime,
                                                                                  @ApiParam(name = "page", value = "第几页,1开始’")
                                                                                  @RequestParam(value = "page", required = false)Integer page,
                                                                                  @ApiParam(name = "size", value = "每页大小")
                                                                                  @RequestParam(value = "size", required = true) Integer size) {
        return prescriptionService.findPrescriptionList(patient,status,startTime,endTime,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findReOutpatientList)
    @ApiOperation(value = "查询复诊记录列表", notes = "查询复诊记录列表")
    public MixEnvelop<WlyyOutpatientVO,WlyyOutpatientVO> findReOutpatientList(@ApiParam(name = "patient", value = "居民code")
                                                                              @RequestParam(value = "patient", required = true) String patient,
                                                                              @ApiParam(name = "status", value = "状态:-1取消,0候诊中,1就诊中,2已完成")
                                                                              @RequestParam(value = "status", required = false) Integer status,
                                                                              @ApiParam(name = "startTime", value = "开始时间,‘yyyy-MM-dd’")
                                                                              @RequestParam(value = "startTime", required = false)String startTime,
                                                                              @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd’")
                                                                              @RequestParam(value = "endTime", required = false)String endTime,
                                                                              @ApiParam(name = "page", value = "第几页,1开始’")
                                                                              @RequestParam(value = "page", required = false)Integer page,
                                                                              @ApiParam(name = "size", value = "每页大小")
                                                                              @RequestParam(value = "size", required = true) Integer size) {
        return prescriptionService.findReOutpatientList(patient,status,startTime,endTime,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findReOutpatientInfo)
    @ApiOperation(value = "查询复诊记录,处方,居民信息,物流(单条)", notes = "查询复诊记录,处方,居民信息,物流(单条)")
    public ObjEnvelop findReOutpatientInfo(@ApiParam(name = "outpatientId", value = "复诊ID")
                                           @RequestParam(value = "outpatientId", required = true) String outpatientId,
                                           @ApiParam(name = "prescriptionId", value = "处方ID")
                                           @RequestParam(value = "prescriptionId", required = false) String prescriptionId)throws Exception{
        com.alibaba.fastjson.JSONObject obj =  prescriptionService.findReOutpatientInfo(outpatientId,prescriptionId);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPrescriptionInfo)
    @ApiOperation(value = "获取所有居民相关信息,续方信息,物流信息,药品信息(单条)", notes = "获取所有居民相关信息,续方信息,物流信息,药品信息(单条)")
    public ObjEnvelop<Map<String,Object>> findPrescriptionInfo(@ApiParam(name = "prescriptionId", value = "续方明细")
                                                               @RequestParam(value = "prescriptionId", required = false) String prescriptionId) {
        return success(BaseHospitalRequestMapping.Prescription.api_success,prescriptionService.findPrescriptionInfo(prescriptionId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.checkPrescription)
    @ApiOperation(value = "判断是否可续方,true 可以,false不可以", notes = "判断是否可续方,true 可以,false不可以")
    public ObjEnvelop<Boolean> checkPrescription(@ApiParam(name = "patient", value = "续方明细")
                                                               @RequestParam(value = "patient", required = false) String patient) {
        return success(BaseHospitalRequestMapping.Prescription.api_success,prescriptionService.checkPrescription(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.cancelPrescription)
    @ApiOperation(value = "居民取消续方", notes = "居民取消续方")
    public ObjEnvelop<Boolean> cancelPrescription(@ApiParam(name = "prescriptionId", value = "续方ID")
                                                      @RequestParam(value = "prescriptionId", required = false) String prescriptionId) {
        return success(BaseHospitalRequestMapping.Prescription.api_success,prescriptionService.cancelPrescription(prescriptionId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientCard)
    @ApiOperation(value = "查询患者就诊卡", notes = "查询患者就诊卡")
    public ListEnvelop findPatientCard(@ApiParam(name = "patient", value = "居民Code")
                                       @RequestParam(value = "patient", required = true)String patient)throws Exception {
        return success(prescriptionService.findPatientCard(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.checkOutpatient)
    @ApiOperation(value = "判断是否可用发起门诊", notes = "判断是否可用发起门诊")
    public ObjEnvelop checkOutpatient(@ApiParam(name = "patient", value = "续方明细")
                                      @RequestParam(value = "patient", required = true)String patient)throws Exception{
        return success(prescriptionService.checkOutpatient(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findAllHospital)
    @ApiOperation(value = "查询所有机构", notes = "查询所有机构")
    public ListEnvelop findAllHospital(@ApiParam(name = "level", value = "医院等级")
                                       @RequestParam(value = "level", required = false)Integer level) {
        return success(prescriptionService.findAllHospital(level));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDeptByHospital)
    @ApiOperation(value = "查询机构底下部门", notes = "查询机构底下部门")
    public ListEnvelop findDeptByHospital(@ApiParam(name = "orgCode", value = "机构code")
                                          @RequestParam(value = "orgCode", required = true)String orgCode,
                                          @ApiParam(name = "dept", value = "需要置顶部门")
                                          @RequestParam(value = "dept", required = false)String dept,
                                          @ApiParam(name = "consultDeptFlag", value = "1为查询开通服务部门")
                                          @RequestParam(value = "consultDeptFlag", required = false)String consultDeptFlag) {
        return success(prescriptionService.findDeptByHospital(orgCode,dept,consultDeptFlag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorByHospitalAndDept)
    @ApiOperation(value = "查询部门下医生", notes = "查询部门下医生")
    public ListEnvelop findDoctorByHospitalAndDept(@ApiParam(name = "orgCode", value = "机构code")
                                                   @RequestParam(value = "orgCode", required = false)String orgCode,
                                                   @ApiParam(name = "dept", value = "部门code")
                                                   @RequestParam(value = "dept", required = false)String dept,
                                                   @ApiParam(name = "chargeType", value = "号别")
                                                   @RequestParam(value = "chargeType", required = false)String chargeType,
                                                   @ApiParam(name = "doctorCode", value = "需要置顶医生")
                                                   @RequestParam(value = "doctorCode", required = false)String doctorCode,
                                                   @ApiParam(name = "outpatientType", value = "1图文,2视频")
                                                   @RequestParam(value = "outpatientType", required = false)String outpatientType,
                                                   @ApiParam(name = "startDate", value = "开始时间,yyyy-MM-dd HH:mm:ss")
                                                   @RequestParam(value = "startDate", required = false)String startDate,
                                                   @ApiParam(name = "endDate", value = "结束时间,yyyy-MM-dd HH:mm:ss")
                                                   @RequestParam(value = "endDate", required = false)String endDate,
                                                   @ApiParam(name = "key", value = "关键字搜索,医生名字/科室名称/专长")
                                                   @RequestParam(value = "key", required = false)String key,
                                                   @ApiParam(name = "consultStatus", value = "是否在线")
                                                   @RequestParam(value = "consultStatus", required = false)String consultStatus) {
        return success(prescriptionService.findDoctorByHospitalAndDept(orgCode,dept,chargeType,doctorCode,outpatientType,startDate,endDate,key,consultStatus));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.appointmentRevisit)
    @ApiOperation(value = "居民发起复诊", notes = "居民发起复诊")
    public ObjEnvelop appointmentRevisit(@ApiParam(name = "outpatientJson", value = "居民门诊json")
                                         @RequestParam(value = "outpatientJson", required = false)String outpatientJson,
                                         @ApiParam(name = "expressageJson", value = "居民物流json")
                                         @RequestParam(value = "expressageJson", required = false)String expressageJson,
                                         @ApiParam(name = "registerJson", value = "预约时间")
                                         @RequestParam(value = "registerJson", required = false)String registerJson,
                                         @ApiParam(name = "chargeType", value = "预约实体json")
                                         @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
    
        WlyyOutpatientDO wlyyOutpatientDO = prescriptionService.appointmentRevisit(outpatientJson,expressageJson,registerJson,chargeType);
    
        //发送系统消息
        SystemMessageDO systemMessageDO = prescriptionService.sendOutPatientMes(wlyyOutpatientDO);
        //发送IM消息
        hospitalSystemMessageService.sendImMessage(systemMessageDO);
        
        //发送医生抢单消息
        if(StringUtils.isBlank(wlyyOutpatientDO.getDoctor())){
            hospitalSystemMessageService.sendImPichCheckMessage(wlyyOutpatientDO);
        }
    
        return success(BaseHospitalRequestMapping.Prescription.api_success,wlyyOutpatientDO);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getICD10)
    @ApiOperation(value = "获取ICD10诊断编码", notes = "获取ICD10诊断编码")
    public ListEnvelop getICD10(@ApiParam(name = "pyKey", value = "拼音关键字")
                                @RequestParam(value = "pyKey", required = false)String pyKey)throws Exception {
        return success(prescriptionService.getICD10(pyKey));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDrugDictionary)
    @ApiOperation(value = "获取药品字典", notes = "获取药品字典")
    public ListEnvelop getDrugDictionary(@ApiParam(name = "drugNo", value = "药品编码")
                                         @RequestParam(value = "drugNo", required = false)String drugNo,
                                         @ApiParam(name = "pyKey", value = "拼音关键字")
                                         @RequestParam(value = "pyKey", required = false)String pyKey,
                                         @ApiParam(name = "winNo", value = "分部编码")
                                         @RequestParam(value = "winNo", required = false)String winNo,
                                         @ApiParam(name = "groupNo", value = "药房编码")
                                         @RequestParam(value = "groupNo", required = false)String groupNo)throws Exception {
        return success(prescriptionService.getDrugDictionary(drugNo,pyKey,winNo,groupNo));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDrugUse)
    @ApiOperation(value = "获取用法", notes = "获取用法")
    public ListEnvelop getDrugUse(@ApiParam(name = "pyKey", value = "拼音关键字")
                                  @RequestParam(value = "pyKey", required = false)String pyKey,
                                  @ApiParam(name = "drugNo", value = "药品编码")
                                  @RequestParam(value = "drugNo", required = false)String drugNo)throws Exception {
        return success(prescriptionService.getDrugUse(drugNo,pyKey));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDrugFrequency)
    @ApiOperation(value = "获取用药频次", notes = "获取用药频次")
    public ListEnvelop getDrugFrequency()throws Exception {
        return success(prescriptionService.getDrugFrequency());
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.makeDiagnosis)
    @ApiOperation(value = "下诊断", notes = "下诊断接口")
    public ObjEnvelop makeDiagnosis(@ApiParam(name = "outPatientId", value = "门诊编号")
                                            @RequestParam(value = "outPatientId", required = true)String outPatientId,
                                            @ApiParam(name = "advice", value = "医嘱")
                                            @RequestParam(value = "advice", required = false)String advice,
                                            @ApiParam(name = "type", value = "1需要提交his,2不提交只下诊断")
                                            @RequestParam(value = "type", required = true)String type,
                                            @ApiParam(name = "infoJsons", value = "药品json")
                                            @RequestParam(value = "infoJsons", required = false)String infoJsons,
                                            @ApiParam(name = "diagnosisJson", value = "诊断json")
                                            @RequestParam(value = "diagnosisJson", required = true)String diagnosisJson,
                                            @ApiParam(name = "inspectionJson", value = "检查检验")
                                            @RequestParam(value = "inspectionJson", required = false)String inspectionJson)throws Exception {
        return success(prescriptionService.makeDiagnosis(outPatientId,advice,type,infoJsons,diagnosisJson,inspectionJson));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findExpressageList)
    @ApiOperation(value = "获取订单列表", notes = "获取订单列表")
    public MixEnvelop findExpressageList(@ApiParam(name = "status", value = "流程状态,多状态用‘,’分割")
                                         @RequestParam(value = "status", required = false)String status,
                                         @ApiParam(name = "oneselfPickupFlg", value = "是否自取 1是 0否")
                                         @RequestParam(value = "oneselfPickupFlg", required = false)String oneselfPickupFlg,
                                         @ApiParam(name = "nameKey", value = "配送员名称")
                                         @RequestParam(value = "nameKey", required = false)String nameKey,
                                         @ApiParam(name = "startTime", value = "开始时间,yyyy-MM-dd")
                                         @RequestParam(value = "startTime", required = false)String startTime,
                                         @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd")
                                         @RequestParam(value = "endTime", required = false)String endTime,
                                         @ApiParam(name = "page", value = "第几页,1开始")
                                         @RequestParam(value = "page", required = false)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                         @RequestParam(value = "size", required = false)Integer size) {
        return prescriptionService.findExpressageList(status,oneselfPickupFlg,nameKey,startTime,endTime,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.setMailno)
    @ApiOperation(value = "设置订单编号", notes = "设置订单编号")
    public ObjEnvelop setMailno(@ApiParam(name = "mailno", value = "订单号")
                                @RequestParam(value = "mailno", required = false)String mailno,
                                @ApiParam(name = "expressageId", value = "订单id")
                                @RequestParam(value = "expressageId", required = false)String expressageId) {
        return success(prescriptionService.setMailno(mailno,expressageId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.pushListWrite)
    @ApiOperation(value = "订单导出", notes = "订单导出")
    public void pushListWrite(@ApiParam(name = "status", value = "流程状态,多状态用‘,’分割")
                                    @RequestParam(value = "status", required = false)String status,
                                    @ApiParam(name = "oneselfPickupFlg", value = "是否自取 1是 0否")
                                    @RequestParam(value = "oneselfPickupFlg", required = false)String oneselfPickupFlg,
                                    @ApiParam(name = "nameKey", value = "配送员名称")
                                    @RequestParam(value = "nameKey", required = false)String nameKey,
                                    @ApiParam(name = "startTime", value = "开始时间,yyyy-MM-dd")
                                    @RequestParam(value = "startTime", required = false)String startTime,
                                    @ApiParam(name = "endTime", value = "结束时间,yyyy-MM-dd")
                                    @RequestParam(value = "endTime", required = false)String endTime,
                                    HttpServletResponse response) throws Exception{
        MixEnvelop expressages = prescriptionService.findExpressageList(status,oneselfPickupFlg,nameKey,startTime,endTime,1,10000);
        List<Map<String,Object>> list = expressages.getDetailModelList();
        response.setContentType("octets/stream");
        response.setHeader("Content-Disposition", "attachment; filename="+ new String( "pushDataList.xls"));
        OutputStream os = response.getOutputStream();
        prescriptionService.pushListWrite(os,list);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByDeptTypeCode)
    @ApiOperation(value = "就诊费用查询", notes = "就诊费用查询")
    public ListEnvelop findByDeptTypeCode(@ApiParam(name = "deptTypeCode", value = "6总部7金榜8夏禾")
                                @RequestParam(value = "deptTypeCode", required = false)String deptTypeCode) throws Exception{
        return success(prescriptionService.findByDeptTypeCode(deptTypeCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getCardInfo)
    @ApiOperation(value = "获取卡信息", notes = "获取卡信息")
    public ObjEnvelop getCardInfo(@ApiParam(name = "cardNo", value = "卡号")
                                  @RequestParam(value = "cardNo", required = false)String cardNo) throws Exception {
        return success(prescriptionService.getCardInfo(cardNo,demoFlag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorWithWork)
    @ApiOperation(value = "查询医生带排班", notes = "查询医生带排班")
    public ObjEnvelop findDoctorWithWork(@ApiParam(name = "orgCode", value = "机构code")
                                         @RequestParam(value = "orgCode", required = false)String orgCode,
                                         @ApiParam(name = "dept", value = "部门code")
                                         @RequestParam(value = "dept", required = false)String dept,
                                         @ApiParam(name = "doctorCode", value = "需要置顶医生code")
                                         @RequestParam(value = "doctorCode", required = false)String doctorCode,
                                         @ApiParam(name = "chargeType", value = "号别")
                                         @RequestParam(value = "chargeType", required = false)String chargeType,
                                         @ApiParam(name = "outpatientType", value = "1图文,2视频")
                                         @RequestParam(value = "outpatientType", required = false)String outpatientType,
                                         @ApiParam(name = "startDate", value = "开始时间,yyyy-MM-dd HH:mm:ss")
                                         @RequestParam(value = "startDate", required = false)String startDate,
                                         @ApiParam(name = "endDate", value = "结束时间,yyyy-MM-dd HH:mm:ss")
                                         @RequestParam(value = "endDate", required = false)String endDate,
                                         @ApiParam(name = "key", value = "关键字搜索,医生名字/科室名称/专长")
                                         @RequestParam(value = "key", required = false)String key,
                                         @ApiParam(name = "consultStatus", value = "是否在线")
                                         @RequestParam(value = "consultStatus", required = false)String consultStatus,
                                         @ApiParam(name = "page", value = "第几页")
                                         @RequestParam(value = "page", required = true)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                         @RequestParam(value = "size", required = true)Integer size) {
        return success(prescriptionService.findDoctorWithWork(orgCode,dept,chargeType,doctorCode,outpatientType,startDate,endDate,key,consultStatus,page,size));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorWithMouthWork)
    @ApiOperation(value = "查询医生列表带月份排班状态", notes = "查询医生列表带月份排班状态")
    public ObjEnvelop findDoctorWithMouthWork(@ApiParam(name = "orgCode", value = "机构code")
                                         @RequestParam(value = "orgCode", required = true)String orgCode,
                                         @ApiParam(name = "dept", value = "部门code")
                                         @RequestParam(value = "dept", required = false)String dept,
                                         @ApiParam(name = "date", value = "yyyy-MM")
                                         @RequestParam(value = "date", required = true)String date,
                                         @ApiParam(name = "chargeType", value = "号别")
                                         @RequestParam(value = "chargeType", required = false)String chargeType,
                                         @ApiParam(name = "nameKey", value = "名字关键字")
                                         @RequestParam(value = "nameKey", required = false)String nameKey,
                                         @ApiParam(name = "page", value = "第几页")
                                         @RequestParam(value = "page", required = true)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                         @RequestParam(value = "size", required = true)Integer size) {
        return success(prescriptionService.findDoctorWithMouthWork(orgCode,dept,chargeType,date,nameKey,page,size));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findWorkTimeInfo)
    @ApiOperation(value = "获取具体号源", notes = "获取具体号源")
    public ListEnvelop findWorkTimeInfo(@ApiParam(name = "id", value = "排班id")
                                        @RequestParam(value = "id", required = false)String id) {
        return success(prescriptionService.findWorkTimeInfo(id));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorInfo)
    @ApiOperation(value = "获取医生信息", notes = "获取医生信息")
    public ObjEnvelop findDoctorInfo(@ApiParam(name = "doctor", value = "医生code")
                                     @RequestParam(value = "doctor", required = true)String doctor,
                                     @ApiParam(name = "withWork", value = "传1带排班,其他不带")
                                     @RequestParam(value = "withWork", required = false)String withWork){
        return success(prescriptionService.findDoctorInfo(doctor,withWork));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorBaseInfo)
    @ApiOperation(value = "获取医生基本信息信息", notes = "获取医生基本信息信息")
    public ObjEnvelop findDoctorBaseInfo(@ApiParam(name = "doctor", value = "医生code")
                                     @RequestParam(value = "doctor", required = true)String doctor){
        return success(prescriptionService.findDoctorBaseInfo(doctor));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.cancelOutPatient)
    @ApiOperation(value = "取消复诊", notes = "取消复诊")
    public ObjEnvelop cancelOutPatient(@ApiParam(name = "outPatientId", value = "门诊记录")
                                       @RequestParam(value = "outPatientId", required = false)String outPatientId,
                                       @ApiParam(name = "cancelType", value = "取消原因类型")
                                       @RequestParam(value = "cancelType", required = false)String cancelType,
                                       @ApiParam(name = "cancelValue", value = "取消原因名称")
                                       @RequestParam(value = "cancelValue", required = false)String cancelValue,
                                       @ApiParam(name = "cancelRemark", value = "取消原因详细说明")
                                       @RequestParam(value = "cancelRemark", required = false)String cancelRemark) {
        return success(prescriptionService.cancelOutPatient(outPatientId,cancelType,cancelValue,cancelRemark,1));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findCancelReasonList)
    @ApiOperation(value = "获取居民取消原因字典", notes = "获取居民取消原因字典")
    public ListEnvelop findCancelReasonList(){
        return success(prescriptionService.findCancelReasonList());
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findFastRegisterDate)
    @ApiOperation(value = "獲取快速咨詢時間", notes = "獲取快速咨詢時間")
    public ListEnvelop findFastRegisterDate(){
        return success(prescriptionService.findFastRegisterDate());
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByTimeSlot)
    @ApiOperation(value = "获取快速咨询时间分段", notes = "获取快速咨询时间分段")
    public ListEnvelop findByTimeSlot(@ApiParam(name = "startTime", value = "开始时间")
                                      @RequestParam(value = "startTime", required = false)String startTime,
                                      @ApiParam(name = "endTime", value = "结束时间")
                                      @RequestParam(value = "endTime", required = false)String endTime) {
        return success(prescriptionService.findByTimeSlot(startTime,endTime));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorWorkTimeByMonth)
    @ApiOperation(value = "查询某个医生某个月份排班记录", notes = "查询某个医生某个月份排班记录")
    public ListEnvelop findDoctorWorkTimeByMonth(@ApiParam(name = "doctor", value = "医生code")
                                                 @RequestParam(value = "doctor", required = true)String doctor,
                                                 @ApiParam(name = "date", value = "年份和月份,yyyy-MM")
                                                 @RequestParam(value = "date", required = false)String date,
                                                 @ApiParam(name = "startDate", value = "yyyy-MM-dd")
                                                 @RequestParam(value = "startDate", required = false)String startDate,
                                                 @ApiParam(name = "endDate", value = "yyyy-MM-dd")
                                                 @RequestParam(value = "endDate", required = false)String endDate) {
        return success(prescriptionService.findDoctorWorkTimeByMonth(doctor,date,startDate,endDate));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findWorkRule)
    @ApiOperation(value = "查询排班规则", notes = "查询排班规则")
    public ListEnvelop findWorkRule(@ApiParam(name = "hospital", value = "医生code")
                                    @RequestParam(value = "hospital", required = true)String hospital) {
        return success(prescriptionService.findWorkRule("Scheduling",hospital));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.updateWorkRule)
    @ApiOperation(value = "保存排班规则", notes = "保存排班规则")
    public ObjEnvelop updateWorkRule(@ApiParam(name = "workRoleJsons", value = "排班规则json")
                                     @RequestParam(value = "workRoleJsons", required = true)String workRoleJsons) {
        return success(prescriptionService.updateWorkRule(workRoleJsons));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveDoctorWorkTimeJson)
    @ApiOperation(value = "排班批量保存接口", notes = "排班批量保存接口")
    public ObjEnvelop saveDoctorWorkTimeJson(@ApiParam(name = "type", value = "1.全医院,2.科室,3.医生")
                                             @RequestParam(value = "type", required = true)String type,
                                             @ApiParam(name = "codes", value = "1.医院code,2.科室code,‘,’分割,3.医生code,‘,’分割")
                                             @RequestParam(value = "codes", required = true)String codes,
                                             @ApiParam(name = "workTimeJson", value = "排班列表json")
                                             @RequestParam(value = "workTimeJson", required = true)String workTimeJson,
                                             @ApiParam(name = "date", value = "yyyy-MM,支持‘,’分割")
                                             @RequestParam(value = "date", required = false)String date)throws Exception {
        return success(prescriptionService.saveDoctorWorkTimeJson(type,codes,workTimeJson,date));
    }
    @PostMapping(value = "test")
    @ApiOperation(value = "test", notes = "test")
    public Envelop test()throws Exception {
        return success(prescriptionService.test());
    }
    @PostMapping(value = "test2")
    @ApiOperation(value = "test2", notes = "test2")
    public Envelop test(String no)throws Exception {
        return success(prescriptionService.test2(no));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientInfo)
    @ApiOperation(value = "获取居民信息接口", notes = "获取居民信息接口")
    public ObjEnvelop findPatientInfo(@ApiParam(name = "patient", value = "居民ID")
                                      @RequestParam(value = "patient", required = true)String patient){
        return success(prescriptionService.findPatientInfo(patient));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveDoctorOnlineWork)
    @ApiOperation(value = "保存在线排班", notes = "保存在线排班")
    public Envelop saveDoctorOnlineWork(@ApiParam(name = "onlineWorkJson", value = "保存在线排班json")
                                        @RequestParam(value = "onlineWorkJson", required = true)String onlineWorkJson)throws Exception {
        return prescriptionService.saveDoctorOnlineWork(onlineWorkJson);
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.delDoctorOnlineWork)
    @ApiOperation(value = "删除在线排班", notes = "删除在线排班")
    public Envelop delDoctorOnlineWork(@ApiParam(name = "id", value = "保存在线排班ID")
                                       @RequestParam(value = "id", required = true)String id)throws Exception {
        return prescriptionService.delDoctorOnlineWork(id);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorOnlineWorkList)
    @ApiOperation(value = "查询医生在线排班", notes = "查询医生在线排班")
    public ListEnvelop findDoctorOnlineWorkList(@ApiParam(name = "doctor", value = "医生code")
                                                @RequestParam(value = "doctor", required = true)String doctor,
                                                @ApiParam(name = "startDate", value = "开始时间,YYYY-MM-dd")
                                                @RequestParam(value = "startDate", required = true)String startDate,
                                                @ApiParam(name = "endDate", value = "结束时间,YYYY-MM-dd")
                                                @RequestParam(value = "endDate", required = true)String endDate)throws Exception {
        return success(prescriptionService.findDoctorOnlineWorkList(doctor,startDate,endDate));
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.cooperativeOutpatient)
    @ApiOperation(value = "发起协同门诊", notes = "发起协同门诊")
    public ObjEnvelop cooperativeOutpatient(@ApiParam(name = "outpatientJson", value = "复诊实体json")
                                            @RequestParam(value = "outpatientJson", required = true)String outpatientJson,
                                            @ApiParam(name = "registerJson", value = "预约实体json")
                                            @RequestParam(value = "registerJson", required = false)String registerJson,
                                            @ApiParam(name = "chargeType", value = "号别")
                                            @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
        WlyyOutpatientDO wlyyOutpatientDO = prescriptionService.cooperativeOutpatient(outpatientJson,registerJson,chargeType);
    
        //构建系统消息
        SystemMessageDO systemMessageDO = prescriptionService.sendOutPatientMes(wlyyOutpatientDO);
        //发送系统消息
        hospitalSystemMessageService.sendImMessage(systemMessageDO);
    
        //发送医生抢单消息
        if(StringUtils.isBlank(wlyyOutpatientDO.getDoctor())){
            hospitalSystemMessageService.sendImPichCheckMessage(wlyyOutpatientDO);
        }
    
        return success(wlyyOutpatientDO);
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveOutpatientDoctor)
    @ApiOperation(value = "设置门诊医生", notes = "设置门诊医生")
    public ObjEnvelop saveOutpatientDoctor(@ApiParam(name = "outpatientJson", value = "复诊实体json")
                                             @RequestParam(value = "outpatientJson", required = true)String outpatientJson,
                                             @ApiParam(name = "registerJson", value = "预约实体json")
                                             @RequestParam(value = "registerJson", required = false)String registerJson,
                                             @ApiParam(name = "chargeType", value = "号别")
                                             @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
        return success(prescriptionService.saveOutpatientDoctor(outpatientJson,registerJson,chargeType));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.checkOauthQRCode)
    @ApiOperation(value = "验证授权", notes = "验证授权")
    public ObjEnvelop checkOauthQRCode(@ApiParam(name = "authorizeNo", value = "流水编号")
                                       @RequestParam(value = "authorizeNo", required = true)String authorizeNo)throws Exception {
        return success(prescriptionService.checkOauthQRCode(authorizeNo));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByGeneralDoctor)
    @ApiOperation(value = "全科医生协同门诊列表", notes = "全科医生协同门诊列表")
    public Envelop findByGeneralDoctor(@ApiParam(name = "generalDoctor", value = "全科医生")
                                           @RequestParam(value = "generalDoctor", required = true)String generalDoctor,
                                           @ApiParam(name = "startDate", value = "开始时间")
                                           @RequestParam(value = "startDate", required = false)String startDate,
                                           @ApiParam(name = "endDate", value = "结束时间")
                                           @RequestParam(value = "endDate", required = false)String endDate,
                                           @ApiParam(name = "status", value = "状态")
                                           @RequestParam(value = "status", required = false)String status,
                                           @ApiParam(name = "sort", value = "排序")
                                           @RequestParam(value = "sort", required = false)String sort,
                                           @ApiParam(name = "page", value = "第几页")
                                           @RequestParam(value = "page", required = true)Integer page,
                                           @ApiParam(name = "size", value = "每页大小")
                                           @RequestParam(value = "size", required = true)Integer size) {
        return prescriptionService.findByGeneralDoctor(generalDoctor,startDate,endDate,status,sort,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findGeneralDoctorInfo)
    @ApiOperation(value = "全科医生首页统计信息", notes = "全科医生首页统计信息")
    public ObjEnvelop findGeneralDoctorInfo(@ApiParam(name = "generalDoctor", value = "全科医生")
                                            @RequestParam(value = "generalDoctor", required = true)String generalDoctor) {
        return success(prescriptionService.findGeneralDoctorInfo(generalDoctor));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.sendWlyyOutpatientMes)
    @ApiOperation(value = "发送i健康系统消息", notes = "发送i健康系统消息")
    public ObjEnvelop sendWlyyOutpatientMes(@ApiParam(name = "doctor", value = "全科医生Id")
                                            @RequestParam(value = "doctor", required = true)String doctor,
                                            @ApiParam(name = "outPatientId", value = "门诊id")
                                            @RequestParam(value = "outPatientId", required = true)String outPatientId) {
        return success(wlyyBusinessService.sendWlyyOutpatientMes(doctor,outPatientId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.readWlyyOutpatientMes)
    @ApiOperation(value = "设置I健康消息已读", notes = "设置I健康消息已读")
    public ObjEnvelop readWlyyOutpatientMes(@ApiParam(name = "outPatientId", value = "门诊id")
                                            @RequestParam(value = "outPatientId", required = true)String outPatientId){
        return success(wlyyBusinessService.readWlyyOutpatientMes(outPatientId));
    }
    //===========
    
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getTodayOutpatinetList)
    @ApiOperation(value = "居民获取当日就诊列表", notes = "居民获取当日就诊列表")
    public ListEnvelop getTodayOutpatinetList(@ApiParam(name = "patient", value = "居民ID")
                                                  @RequestParam(value = "patient", required = true) String patient){
        return success(prescriptionService.getTodayOutpatinetList(patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDoctorMapping)
    @ApiOperation(value = "获取医生mappingcode", notes = "获取医生mappingcode")
    public ObjEnvelop getDoctorMapping(@ApiParam(name = "doctor", value = "医生code")
                                       @RequestParam(value = "doctor", required = true)String doctor,
                                       @ApiParam(name = "orgCode", value = "机构code")
                                       @RequestParam(value = "orgCode", required = true)String orgCode){
        return success(prescriptionService.getDoctorMapping(doctor,orgCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getInspectionDictionary)
    @ApiOperation(value = "获取检查检验", notes = "获取检查检验")
    public ListEnvelop getInspectionDictionary(@ApiParam(name = "pyKey", value = "拼音码")
                                              @RequestParam(value = "pyKey", required = false)String pyKey,
                                              @ApiParam(name = "winNo", value = "6总部7金榜8夏禾")
                                              @RequestParam(value = "winNo", required = true)String winNo,
                                              @ApiParam(name = "codes", value = "检查检验收费码codes,用逗号分割")
                                              @RequestParam(value = "codes", required = false)String codes)throws Exception{
        return success(prescriptionService.getInspectionDictionary(pyKey,codes,winNo));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPrescriptionLogByPreId)
    @ApiOperation(value = "查询处方日志", notes = "查询处方日志")
    public ListEnvelop findPrescriptionLogByPreId(@ApiParam(name = "prescriptionCode", value = "处方code")
                                               @RequestParam(value = "prescriptionCode", required = true)String prescriptionCode)throws Exception{
        return success(prescriptionLogService.findPrescriptionLogByPreId(prescriptionCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByPartsCode)
    @ApiOperation(value = "查询部位字典", notes = "查询部位字典")
    public ListEnvelop findByPartsCode(@ApiParam(name = "parentCode", value = "父节点ID,第一层为0")
                                                  @RequestParam(value = "parentCode", required = true)String parentCode)throws Exception{
        return success(inspectionService.findByPartsCode(parentCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDictByName)
    @ApiOperation(value = "查询检查检验字典", notes = "查询检查检验字典")
    public ListEnvelop findDictByName(@ApiParam(name = "hospital", value = "医院")
                                      @RequestParam(value = "hospital", required = true)String hospital,
                                      @ApiParam(name = "name", value = "字典名称,类型:InspectionType;固定液体 :InspectionFixativeType")
                                      @RequestParam(value = "name", required = true)String name)throws Exception{
        return success(inspectionService.findDictByName(hospital,name));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getJymb)
    @ApiOperation(value = "检验模板接口")
    public ListEnvelop getJymb(@ApiParam(name = "bz_code", value = "入参条件为第一节点代码")
                               @RequestParam(value = "bz_code",defaultValue = "") String bz_code,
                               @ApiParam(name = "tc_no", value = "二级节点代码")
                               @RequestParam(value = "tc_no",defaultValue = "") String tc_no,
                               @ApiParam(name = "flag", value = "入参条件为第一节点代码")
                               @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
        return success(prescriptionService.getJymb(bz_code,tc_no,flag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getJcmb)
    @ApiOperation(value = "检查模板接口")
    public ListEnvelop getJcmb(
            @ApiParam(name = "bz_code", value = "入参条件为第一节点代码")
            @RequestParam(value = "bz_code",defaultValue = "") String bz_code,
            @ApiParam(name = "tc_no", value = "二级节点代码")
            @RequestParam(value = "tc_no",defaultValue = "") String tc_no,
            @ApiParam(name = "flag", value = "入参条件为第一节点代码")
            @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
        return success(prescriptionService.getJcmb(bz_code,tc_no,flag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getTcChild)
    @ApiOperation(value = "套餐子项目字典接口")
    public ListEnvelop getTcChild(
            @ApiParam(name = "parent_code", value = "入参条件为子项目编码")
            @RequestParam(value = "parent_code",defaultValue = "") String parent_code) throws Exception {
        return success(prescriptionService.getTcChild(parent_code));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getInsChild)
    @ApiOperation(value = "主项目绑定子项目字典接口")
    public ListEnvelop getInsChild(
            @ApiParam(name = "zd_charge_code", value = "入参条件为项目代码")
            @RequestParam(value = "zd_charge_code",defaultValue = "") String zd_charge_code) throws Exception {
        return success(prescriptionService.getInsChild(zd_charge_code));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getTcxz)
    @ApiOperation(value = "套餐选择接口")
    public ListEnvelop getTcxz(
            @ApiParam(name = "bz_code", value = "入参条件为收费项目代码")
            @RequestParam(value = "bz_code",defaultValue = "") String charge_code,
            @ApiParam(name = "tc_no", value = "二级节点代码")
            @RequestParam(value = "tc_no",defaultValue = "") String tc_no,
            @ApiParam(name = "flag", value = "入参条件为第一节点代码")
            @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
        return success(prescriptionService.getTcxz(charge_code,tc_no,flag));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDoctorPreSign)
    @ApiOperation(value = "获取医生签名")
    public ObjEnvelop getDoctorPreSign(@ApiParam(name = "doctor", value = "医生编码")
                                         @RequestParam(value = "doctor",required = false) String doctor)throws Exception{
        return success(doctorPreSignService.getDoctorSign(doctor));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDoctorIntroduction)
    @ApiOperation(value = "获取医生简介")
    public ObjEnvelop getDoctorIntroduction(@ApiParam(name = "doctor", value = "医生编码")
                                            @RequestParam(value = "doctor",required = false) String doctor)throws Exception{
        return success(prescriptionService.getDoctorIntroduction(doctor));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findByDict)
    @ApiOperation(value = "查询医院字典", notes = "查询医院字典")
    public ListEnvelop findByDict(@ApiParam(name = "name", value = "字典名称")
                                  @RequestParam(value = "name", required = true)String name,
                                  @ApiParam(name = "hospital", value = "医生code")
                                  @RequestParam(value = "hospital", required = true)String hospital) {
        return success(prescriptionService.findByDict(name,hospital));
    }
    
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getPatientAccetokenByIdcard)
    @ApiOperation(value = "根据居民CODE换取居民请求秘钥")
    public Envelop getPatientAccetokenByIdcard(@ApiParam(name = "patientCode", value = "居民CODE")
                                       @RequestParam(value = "patientCode",required = true) String patientCode)throws Exception{
        return success(wlyyBusinessService.wlyyGetPatientAccetokenByIdcard(patientCode));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findWlyyPatient)
    @ApiOperation(value = "获取居民信息")
    public Envelop findWlyyPatient(@ApiParam(name = "idcard", value = "idcard")
                                               @RequestParam(value = "idcard",required = true) String idcard)throws Exception{
        return success(wlyyBusinessService.findWlyyPatient(idcard));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientListBySscOrIdCard)
    @ApiOperation(value = "获取居民身份证信息")
    public Envelop findPatientListBySscOrIdCard(@ApiParam(name = "idcard", value = "idcard")
                                                @RequestParam(value = "idcard",required = false) String idcard,
                                                @ApiParam(name = "ssc", value = "社保卡")
                                                @RequestParam(value = "ssc",required = false) String ssc)throws Exception{
        if(StringUtils.isNotBlank(idcard)&&idcard.length()>=6){
            return success(wlyyBusinessService.findPatientListBySscOrIdCard(idcard,null));
        }
        if(StringUtils.isNotBlank(ssc)&&ssc.length()>=6){
            return success(wlyyBusinessService.findPatientListBySscOrIdCard(null,ssc));
        }
        return failed("身份证或医保卡格式有误");
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.makeBase64Qrcode)
    @ApiOperation(value = "获取医生二维码")
    public ObjEnvelop makeBase64Qrcode(@ApiParam(name = "doctor", value = "医生ID")
                                    @RequestParam(value = "doctor",required = true) String doctor)throws Exception{
        return success("获取医生二维码成功",wlyyBusinessService.makeBase64Qrcode(doctor));
    }
    
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.doctorUpcomingList)
    @ApiOperation(value = "医生待办事项列表")
    public Envelop doctorUpcomingList(@ApiParam(name = "doctorCode", value = "医生CODE")
                                      @RequestParam(value = "doctorCode",required = true) String doctorCode,
                                      @ApiParam(name = "type", value = "类型:1.视频复诊(16)、2.专科协同(12)、3.图文复诊(9)、4.专家咨询(1,15)")
                                      @RequestParam(value = "type",required = true) String type)throws Exception{
    
        com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray();
        List<ConsultVO> data = imService.doctorUpcomingList(doctorCode, type);
    
        if (data != null) {
            for (ConsultVO consult : data) {
                if (consult == null) {
                    continue;
                }
                com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject();
                json.put("id", consult.getId());
                // 设置咨询类型:1专家咨询,9在线复诊,待扩展,13协同门诊
                json.put("type", consult.getType());
//
//                //如果是协同门诊,多返回全科医生的详细信息
//                if(13 == consult.getType() && StringUtils.isNoneBlank(consult.getGeneralDoctor())){
//                    BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(consult.getGeneralDoctor());
//                    json.put("generalDoctorName", baseDoctorDO.getName());
//                }
            
                // 设置显示标题
                json.put("title", consult.getTitle());
                // 设置主诉
                json.put("symptoms", consult.getSymptoms());
                // 咨询状态
                json.put("status", consult.getStatus());
                // 设置咨询日期
                json.put("czrq", DateUtil.dateToStrLong(consult.getCzrq()));
                //是否评价
                json.put("evaluate", consult.getEvaluate());
            
                //患者ID
                json.put("patientId", consult.getPatientId());
                //患者性别
                json.put("patientsex", consult.getPatientsex());
                //患者姓名
                json.put("patientName", consult.getPatientName());
                //患者年龄
                json.put("patientAge", DateUtil.getAgeForIdcard(consult.getPatientIdcard()));
                //就诊记录ID
                json.put("outpatientId", consult.getOutpatientid());
                //就诊记录状态
                json.put("outpatientstatus", consult.getOutpatientstatus());
                // 设置咨询日期
                json.put("registerDate", DateUtil.dateToStrLong(consult.getRegisterDate()));
                //图文或者视频类型
                json.put("consultType", consult.getConsultType());
                //诊断
                json.put("icd10Name", consult.getIcd10Name());
                
                if("1,15".equals(type)){//专家咨询
                    if(1 == consult.getType()){//专家咨询
                        json.put("session_id", consult.getPatientId()+"_"+ consult.getDoctorCode()+"_1");
                    }else if(15 == consult.getType()){//家医求助
                        json.put("session_id", consult.getPatientId()+"_"+ consult.getGeneralDoctor()+"_"+ consult.getDoctorCode()+"_15");
                    }else{}
                }else if("9".equals(type)){//图文复诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_9");
                    json.put("type",type);
                }else if("16".equals(type)){//视频复诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_16");
                    json.put("type",type);
                }else if("12".equals(type)){//协同门诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_12");
                    json.put("type",type);
                }else{}
            
                array.add(json);
            }
        }
        return success(array);
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.setRecord)
    @ApiOperation(value = "his建立档案与互联网医院账户同步")
    public Envelop setRecord(@ApiParam(name = "json", value = "档案实体json")
                             @RequestParam(value = "json",required = true) String json,
                             @ApiParam(name = "type", value = "1.需要his建档,2.仅同步互联网医院账户")
                             @RequestParam(value = "type",required = true)String type)throws Exception{
        return success(prescriptionService.setRecord(json,type));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPatientRecord)
    @ApiOperation(value = "获取HIIS居民档案信息")
    public Envelop findPatientRecord(@ApiParam(name = "idcard", value = "居民身份证")
                                     @RequestParam(value = "idcard",required = false) String idcard,
                                     @ApiParam(name = "patient", value = "居民code")
                                     @RequestParam(value = "patient",required = false)String patient,
                                     @ApiParam(name = "admitNum", value = "就诊次数")
                                     @RequestParam(value = "admitNum",required = false)String admitNum,
                                     @ApiParam(name = "ybcard", value = "医保卡")
                                     @RequestParam(value = "ybcard",required = false)String ybcard)throws Exception{
        return success(prescriptionService.findPatientRecord(idcard,patient,admitNum,ybcard));
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDoctorByName)
    @ApiOperation(value = "获取医生信息")
    public ListEnvelop findDoctorByName(@ApiParam(name = "hospital", value = "医院code")
                                        @RequestParam(value = "hospital",required = false)String hospital,
                                        @ApiParam(name = "name", value = "医生名称")
                                        @RequestParam(value = "name",required = false)String name,
                                        @ApiParam(name = "chargeType", value = "号别")
                                        @RequestParam(value = "chargeType",required = false)String chargeType) {
        return success(prescriptionService.findDoctorByName(hospital,name,chargeType));
    }
}

+ 0 - 791
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java

@ -1,791 +0,0 @@
package com.yihu.jw.hospital.endpoint.statistics;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.es.service.StatisticsEsService;
import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * Created by wangzhinan on 2019/12/3.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Statistics.PREFIX)
@Api(value = "统计分析", description = "统计分析", tags = {"统计分析"})
public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private StatisticsEsService statisticsEsService;
    @Autowired
    private ElasticsearchUtil elasticsearchUtil;
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientLine)
    @ApiOperation(value = "门诊类别统计-曲线")
    public ObjEnvelop getOutPatientLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
            //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getOutPatientLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.prescriptionLine)
    @ApiOperation(value = "开方量周统计-曲线")
    public ObjEnvelop getPrescriptionLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getPrescriptionLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.total)
    @ApiOperation(value = " 查询总数")
    public ObjEnvelop getIndexTotal(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getTotalAmount(startDate, endDate, area, level, index, level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientCircular)
    @ApiOperation(value = "门诊类别统计-圆形")
    public ObjEnvelop getOutPatientCircular(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getOutPatientCircular(startDate, endDate, area, level, index, level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 门诊统计-分级
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index
     * @param level2_type 5 市  4区  3医院 2科室 1医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientGrade)
    @ApiOperation(value = "门诊统计-分级")
    public ObjEnvelop getOutPatient(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getOutPatientGrade(startDate, endDate, area, level, index, level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 问诊量统计-类别曲线
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientTypeLine)
    @ApiOperation(value = "问诊量统计-类别曲线")
    public ObjEnvelop getOutPatientTypeline(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false) String level2_type) {
        //新版与旧版统计适配
        level = elasticsearchUtil.changeLevel(level);
        String[] indexes = index.split(",");
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getOutPatientTypeline(startDate, endDate, area, level, index,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.doctorStatictis)
    @ApiOperation(value = "人员统计")
    public ObjEnvelop getDoctorStatistics(@RequestParam(required = true) String startDate,
                                          @RequestParam(required = true) String endDate,
                                          @RequestParam(required = true) String area,
                                          @RequestParam(required = true) int level,
                                          @RequestParam(required = true) String index,
                                          @RequestParam(required = false) String level2_type,
                                          @RequestParam(required = true) Integer flag) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getDoctorStatistics(startDate,endDate,area,level,index,level2_type,flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.doctorTotal)
    @ApiOperation(value = "各职称人数统计")
    public ObjEnvelop getDoctorTotal(@RequestParam(required = true) String startDate,
                                     @RequestParam(required = true) String endDate,
                                     @RequestParam(required = true) String area,
                                     @RequestParam(required = true) int level,
                                     @RequestParam(required = true) String index,
                                     @RequestParam(required = false) String level2_type,
                                     @RequestParam(required = true) Integer flag) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getDoctorTotal(startDate,endDate,area,level,index,level2_type,flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.doctorStatictisExcel)
    @ApiOperation(value = "人数统计-excel表")
    public ObjEnvelop getDoctorStatisticsExcel(@RequestParam(required = true) String startDate,
                                     @RequestParam(required = true) String endDate,
                                     @RequestParam(required = true) String area,
                                     @RequestParam(required = true) int level,
                                     @RequestParam(required = true) String index,
                                     @RequestParam(required = false) String level2_type,
                                     @RequestParam(required = true) Integer flag) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getDoctorStatisticsExcel(startDate,endDate,area,level,index,level2_type,flag);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 专科咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.specialConsultHead)
    @ApiOperation(value = " 专科咨询分析-头部")
    public ObjEnvelop specialConsultHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getSpecialConsultHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 专科咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.specialConsultLine)
    @ApiOperation(value = "专科咨询分析曲线")
    public ObjEnvelop specialConsultLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getSpecialConsultLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 专科咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param lowLevel 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.specialConsultExcel)
    @ApiOperation(value = "专科咨询列表")
    public ObjEnvelop specialConsultExcel(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getConsultingStatisticsList(startDate, endDate,level,area,lowLevel);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 服务评价总平均分
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scoreHead)
    @ApiOperation(value = " 服务评价总平均分-头部")
    public ObjEnvelop getScoreHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getScoreHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 服务评价分析曲线
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scoreLine)
    @ApiOperation(value = "服务评价分析曲线")
    public ObjEnvelop getScoreLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScoreLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 服务评价分析列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param lowLevel 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scoreList)
    @ApiOperation(value = "服务评价分析列表")
    public ObjEnvelop getScoreList(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScoreList(startDate, endDate,level,area,lowLevel);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scheduleHead)
    @ApiOperation(value = "排班头部")
    public ObjEnvelop getScheduleTotal(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScheduleTotal(startDate, endDate,index,level,area);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scheduleLine)
    @ApiOperation(value = "排班曲线")
    public ObjEnvelop getScheduleLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)Integer interval) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScheduleLine(startDate, endDate,area,level,index,interval);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.scheduleList)
    @ApiOperation(value = "排班表格")
    public ObjEnvelop getScheduleList(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String levelCode) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getScheduleList(startDate, endDate,index,level,area,levelCode);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultHead)
    @ApiOperation(value = " 咨询分析-头部")
    public ObjEnvelop getConsultHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        //新版与旧版统计适配
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultLine)
    @ApiOperation(value = "咨询分析曲线")
    public ObjEnvelop getConsultLine(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = false)int interval,
            @RequestParam(required = false) String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getConsultLine(startDate, endDate, area, level, index, interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * 咨询列表
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param lowLevel 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultList)
    @ApiOperation(value = "咨询列表")
    public ObjEnvelop getConsultingList(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true) String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.getConsultingList(startDate, endDate,level,area,lowLevel,index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页门诊量统计
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 5咨询量,6专家咨询,11图文复诊,13专科协同,15视频复诊
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultTotalApp)
    @ApiOperation(value = "app端首页门诊量统计")
    public ObjEnvelop getConsultTotalApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultTotalApp(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页门诊量-圆形图
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultCircularApp)
    @ApiOperation(value = "app端首页门诊量-圆形图")
    public ObjEnvelop getConsultCircularApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultCircularApp(startDate, endDate, area, level);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页门诊量统计-曲线图
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 5
     * @param interval
     * @param level2_type
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultLineApp)
    @ApiOperation(value = "app端首页门诊量统计-曲线图")
    public ObjEnvelop getConsultLineApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)Integer interval,
            @RequestParam(required = false)String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultLineApp(startDate, endDate, area, level, index,interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultListApp)
    @ApiOperation(value = "app端首页门诊量统计-表格")
    public ObjEnvelop getConsultListApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultListApp(startDate, endDate,level,area, lowLevel,index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 专家咨询6,图文复诊11,专家协同13,视频复诊15
     * @param interval
     * @param level2_type
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultLinePC)
    @ApiOperation(value = "pc端首页门诊量统计-曲线图")
    public ObjEnvelop getConsultLinePC(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)Integer interval,
            @RequestParam(required = false)String level2_type) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultLinePC(startDate, endDate, area, level, index,interval,level2_type);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     *pc端首页门诊量统计-表格
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 专家咨询6,图文复诊11,专家协同13,视频复诊15
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.consultListPC)
    @ApiOperation(value = "pc端首页门诊量统计-表格")
    public ObjEnvelop getConsultLinePC(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String lowLevel) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getConsultingListPC(startDate, endDate, level,area,lowLevel, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     * app端首页数据统计
     * @param startDate
     * @param endDate
     * @param area
     * @param level
     * @param index 6专家,13协同,11、在线复诊
     * @param timeLevel
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.indexTotalApp)
    @ApiOperation(value = "app端首页数据统计")
    public ObjEnvelop getIndexTotalApp(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index,
            @RequestParam(required = true)String timeLevel) {
        JSONObject result = new JSONObject();
        try {
            result = statisticsEsService.getIndexTotalApp(startDate, endDate,area, level,index,timeLevel);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
}

+ 0 - 226
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/survey/SurveyEndpoint.java

@ -1,226 +0,0 @@
package com.yihu.jw.hospital.endpoint.survey;
import com.yihu.jw.hospital.survey.service.SurveyService;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
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.*;
import java.util.List;
/**
 * Created by Trick on 2019/9/10.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.WlyySurvey.PREFIX)
@Api(value = "问卷调查", description = "问卷调查", tags = {"问卷调查"})
public class SurveyEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private SurveyService surveyService;
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyLabel)
    @ApiOperation(value = "问题-查询字典")
    public ListEnvelop findSurveyLabel(@ApiParam(name = "name", value = "1.surveyLabel 标签;2.surveyScreenLabel 问卷类型")
                                       @RequestParam(value = "name",required = true) String name) throws Exception {
        List<WlyyHospitalSysDictVO> vos = surveyService.findSurveyLabel(name);
        return success(vos);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyQuestion)
    @ApiOperation(value = "问题-获取问卷问题列表")
    public MixEnvelop findSurveyQuestion(@ApiParam(name = "title", value = "标题")
                                          @RequestParam(value = "title",required = false) String title,
                                         @ApiParam(name = "questionType", value = "问题类型")
                                          @RequestParam(value = "questionType",required = false)Integer questionType,
                                         @ApiParam(name = "page", value = "第几页,1开始")
                                          @RequestParam(value = "page",required = true)Integer page,
                                         @ApiParam(name = "size", value = "每页大小")
                                          @RequestParam(value = "size",required = true)Integer size) throws Exception {
        return surveyService.findSurveyQuestion(title,questionType,page,size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findBySurveyId)
    @ApiOperation(value = "问题-获取问卷问题详情(单条)")
    public ObjEnvelop findBySurveyId(@ApiParam(name = "surveyId", value = "问卷Id")
                                     @RequestParam(value = "surveyId",required = true) String surveyId) throws Exception {
        return success(surveyService.findBySurveyId(surveyId));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyQuestion)
    @ApiOperation(value = "问题-批量保存问卷问题")
    public ObjEnvelop saveSurveyQuestion(@ApiParam(name = "sqjsons", value = "问题实体列表json")
                                         @RequestParam(value = "sqjsons",required = true)String sqjsons,
                                         @ApiParam(name = "sqOptionJson", value = "选项实体列表json")
                                         @RequestParam(value = "sqOptionJson",required = false)String sqOptionJson) throws Exception {
        return success(surveyService.saveSurveyQuestion(sqjsons,sqOptionJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.updataSurveyQuestion)
    @ApiOperation(value = "问题-更新问题(单条)")
    public ObjEnvelop updataSurveyQuestion(@ApiParam(name = "sqjson", value = "问题实体json")
                                           @RequestParam(value = "sqjson",required = true)String sqjson,
                                           @ApiParam(name = "sqOptionJson", value = "选项实体列表json")
                                           @RequestParam(value = "sqOptionJson",required = false)String sqOptionJson) throws Exception {
        return success(surveyService.updataSurveyQuestion(sqjson,sqOptionJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.delSurveyQuestion)
    @ApiOperation(value = "问题-批量删除")
    public ObjEnvelop delSurveyQuestion(@ApiParam(name = "ids", value = "问题实体ID,逗号分割")
                                        @RequestParam(value = "ids",required = true)String ids) throws Exception {
        return success(surveyService.delSurveyQuestion(ids));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyTemplate)
    @ApiOperation(value = "模板-查询模板列表")
    public MixEnvelop findSurveyTemplate(@ApiParam(name = "title", value = "标题")
                                              @RequestParam(value = "title",required = false) String title,
                                          @ApiParam(name = "label", value = "标签code")
                                              @RequestParam(value = "label",required = false)String label,
                                          @ApiParam(name = "page", value = "第几页,1开始")
                                              @RequestParam(value = "page",required = true)Integer page,
                                          @ApiParam(name = "size", value = "每页大小")
                                              @RequestParam(value = "size",required = true)Integer size) throws Exception {
        return surveyService.findSurveyTemplate( title, label, page, size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyTemplateById)
    @ApiOperation(value = "模板-获取模板详情(单条)")
    public ObjEnvelop findSurveyTemplateById(@ApiParam(name = "tempId", value = "模板ID")
                                             @RequestParam(value = "tempId",required = true) String tempId) throws Exception {
        return success(surveyService.findSurveyTemplateById(tempId));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyTemplate)
    @ApiOperation(value = "问题-批量保存问卷问题")
    public ObjEnvelop saveSurveyTemplate(@ApiParam(name = "tempJson", value = "模板实体json")
                                         @RequestParam(value = "tempJson",required = true)String tempJson,
                                         @ApiParam(name = "tempQJson", value = "模板问题列表json")
                                         @RequestParam(value = "tempQJson",required = false)String tempQJson,
                                         @ApiParam(name = "tempOpJson", value = "模板问题选项列表json")
                                         @RequestParam(value = "tempOpJson",required = false)String tempOpJson,
                                         @ApiParam(name = "labelJson", value = "模板标签json")
                                         @RequestParam(value = "labelJson",required = false)String labelJson,
                                         @ApiParam(name = "labelInspJson", value = "模板筛查标签json")
                                         @RequestParam(value = "labelInspJson",required = false)String labelInspJson) throws Exception {
        return success(surveyService.saveSurveyTemplate(tempJson,tempQJson,tempOpJson,labelJson,labelInspJson));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.delSurveyTemplate)
    @ApiOperation(value = "模板-删除模板")
    public ObjEnvelop delSurveyTemplate(@ApiParam(name = "tempId", value = "模板实体json")
                                        @RequestParam(value = "tempId",required = true)String tempId) throws Exception {
        return success(surveyService.delSurveyTemplate(tempId));
    }
    //=================调查问卷居民查询\答题
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyDept)
    @ApiOperation(value = "模板-设置模板发送的科室")
    public ObjEnvelop saveSurveyDept(@ApiParam(name = "tempId", value = "模板ID")
                                     @RequestParam(value = "tempId",required = true)String tempId,
                                     @ApiParam(name = "sdJsons", value = "部门与科室关系json")
                                     @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
        return success(surveyService.saveSurveyDept(tempId,sdJsons));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveDeptSurvey)
    @ApiOperation(value = "模板-设置科室发送的模板")
    public ObjEnvelop saveDeptSurvey(@ApiParam(name = "dept", value = "部门code")
                                     @RequestParam(value = "dept",required = true)String dept,
                                     @ApiParam(name = "sdJsons", value = "部门与科室关系json")
                                     @RequestParam(value = "sdJsons",required = false)String sdJsons)throws Exception {
        return success(surveyService.saveDeptSurvey(dept,sdJsons));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyByDept)
    @ApiOperation(value = "模板-查询部门下发放的问卷")
    public ListEnvelop findSurveyByDept(@ApiParam(name = "dept", value = "科室")
                                        @RequestParam(value = "dept",required = true)String dept)throws Exception {
        return success(surveyService.findSurveyByDept(dept));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyByDeptAndPatient)
    @ApiOperation(value = "模板-查询部门下发放的问卷用户答题情况")
    public ListEnvelop findSurveyByDeptAndPatient(@ApiParam(name = "dept", value = "科室")
                                                  @RequestParam(value = "dept",required = true)String dept,
                                                  @ApiParam(name = "patient", value = "居民code")
                                                  @RequestParam(value = "patient",required = true)String patient)throws Exception {
        return success(surveyService.findSurveyByDeptAndPatient(dept,patient));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findDeptBySurvey)
    @ApiOperation(value = "模板-查询模板下的科室")
    public ListEnvelop findDeptBySurvey(@ApiParam(name = "tempId", value = "模板ID")
                                        @RequestParam(value = "tempId",required = true)String tempId)throws Exception {
        return success(surveyService.findDeptBySurvey(tempId));
    }
    @PostMapping(value = BaseHospitalRequestMapping.WlyySurvey.saveSurveyAnswer)
    @ApiOperation(value = "模板-保存问卷答案")
    public ObjEnvelop saveSurveyAnswer(@ApiParam(name = "suJson", value = "发送状态json")
                                     @RequestParam(value = "suJson",required = true)String suJson,
                                     @ApiParam(name = "suaJsons", value = "答案集合json")
                                     @RequestParam(value = "suaJsons",required = true)String suaJsons)throws Exception {
        return success(surveyService.saveSurveyAnswer(suJson, suaJsons));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findAnswerBySurveyTempCode)
    @ApiOperation(value = "模板-查询用户问卷答案")
    public ListEnvelop findAnswerBySurveyTempCode(@ApiParam(name = "patient", value = "居民ID")
                                                  @RequestParam(value = "patient",required = true)String patient,
                                                  @ApiParam(name = "tempId", value = "模板id")
                                                  @RequestParam(value = "tempId",required = true)String tempId,
                                                  @ApiParam(name = "surverUserId", value = "答题批次号")
                                                  @RequestParam(value = "surverUserId",required = false)String surverUserId)throws Exception {
        return success(surveyService.findAnswerBySurveyTempCode(surverUserId,patient,tempId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findSurveyTemplateResult)
    @ApiOperation(value = "统计-查询问题情况")
    public ObjEnvelop findSurveyTemplateResult(@ApiParam(name = "tempId", value = "模板ID")
                                                @RequestParam(value = "tempId",required = true)String tempId)throws Exception {
        return success(surveyService.findSurveyTemplateResult(tempId));
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findQuestionInfoList)
    @ApiOperation(value = "统计-查询问题情况")
    public MixEnvelop findQuestionInfoList(@ApiParam(name = "comment", value = "选项备注")
                                           @RequestParam(value = "comment",required = false) String comment,
                                           @ApiParam(name = "content", value = "选项内容,问答题内容")
                                           @RequestParam(value = "content",required = false)String content,
                                           @ApiParam(name = "tempQuestionCode", value = "问题code")
                                           @RequestParam(value = "tempQuestionCode",required = false)String tempQuestionCode,
                                           @ApiParam(name = "tempOptionCode", value = "选项code")
                                           @RequestParam(value = "tempOptionCode",required = false)String tempOptionCode,
                                           @ApiParam(name = "page", value = "第几页,1开始")
                                           @RequestParam(value = "page",required = true)Integer page,
                                           @ApiParam(name = "size", value = "每页大小")
                                           @RequestParam(value = "size",required = true)Integer size)throws Exception {
        return surveyService.findQuestionInfoList(comment,content,tempQuestionCode,tempOptionCode,page, size);
    }
    @GetMapping(value = BaseHospitalRequestMapping.WlyySurvey.findAnswerList)
    @ApiOperation(value = "统计-综合查询问题答案")
    public MixEnvelop findAnswerList(@ApiParam(name = "tempId", value = "模板id")
                                     @RequestParam(value = "tempId",required = false) String tempId,
                                     @ApiParam(name = "patient", value = "标题")
                                     @RequestParam(value = "patient",required = false) String patient,
                                     @ApiParam(name = "title", value = "标题")
                                     @RequestParam(value = "title",required = false) String title,
                                     @ApiParam(name = "page", value = "第几页,1开始")
                                     @RequestParam(value = "page",required = true)Integer page,
                                     @ApiParam(name = "size", value = "每页大小")
                                     @RequestParam(value = "size",required = true)Integer size)throws Exception {
        return surveyService.findAnswerList(tempId,patient,title,page,size);
    }
    //=================
}

+ 0 - 60
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/endpoint/version/VersionEndpoint.java

@ -1,60 +0,0 @@
package com.yihu.jw.hospital.endpoint.version;
import com.yihu.jw.entity.base.version.AppVersionDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.version.service.AppVersionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.map.HashedMap;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
 * Created by Trick on 2020/2/24.
 */
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Version.PREFIX)
@Api(value = "app升级", description = "app升级", tags = {"app升级"})
public class VersionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private AppVersionService versionsService;
    /**
     * 校验APP版本号
     * @param code 版本类型编码
     * @param version 当前版本号
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Version.app)
    @ApiOperation(value = "app升级")
    public Envelop appVersion(String code, double version) {
            AppVersionDO temp = versionsService.findVersionByCode(code);
            if (temp == null) {
                return Envelop.getError( "无效的APP类型失败!");
            }
            if (version > 0) {
                if (temp.getVersionInt() > version) {
                    // 有新的版本号
                    return success("发现新版本!", temp.getUrl());
                } else {
                    // 已是最新版本
                    return success("已是最新版本!");
                }
            } else {
                Map<String,Object> map = new HashedMap();
                map.put("version_int", temp.getVersionInt());
                map.put("version_str", temp.getVersionStr());
                map.put("url", temp.getUrl());
                map.put("info", temp.getInfo());
                map.put("size", temp.getSize());
                return success("读取版本号成功!", map);
            }
    }
}

+ 0 - 108
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/SystemMessage/HospitalSystemMessageService.java

@ -1,108 +0,0 @@
package com.yihu.jw.hospital.service.SystemMessage;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.message.service.SystemMessageService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.util.idcard.IdCardUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
 * 互联网医院系统消息业务层
 * @author huangwenjie
 * @date 2019/11/22 13:53
 */
@Service
public class HospitalSystemMessageService  {
	private static Logger logger = LoggerFactory.getLogger(HospitalSystemMessageService.class);
	@Autowired
	private SystemMessageService systemMessageService;
	
	@Autowired
	private BasePatientDao basePatientDao;
	
	@Autowired
	private ImService imService;
	
	@Autowired
	private PrescriptionService prescriptionService;
	
	/**
	 * 保存系统消息&发送IM外层刷新事件的消息
	 * @param systemMessageDO
	 * @throws Exception
	 */
	public void saveMessage(SystemMessageDO systemMessageDO) throws Exception{
		//发送系统消息
		systemMessageService.saveMessage(systemMessageDO);
		//发型IM外层消息
		
		JSONObject object = new JSONObject();
		object.put("socket_sms_type",11);//系统消息刷新事件
		object.put("relation_code",systemMessageDO.getType());
		imService.sendWaiSocketMessage(systemMessageDO.getSender(),systemMessageDO.getReceiver(),object.toString(),"1");
	}
	/**
	 * 发送IM消息推送
	 * @param systemMessageDO
	 * @throws Exception
     */
	public void sendImMessage(SystemMessageDO systemMessageDO) throws Exception{
		try{
			//发型IM外层消息
			JSONObject object = new JSONObject();
			object.put("socket_sms_type",11);//系统消息刷新事件
			object.put("relation_code",systemMessageDO.getType());
			imService.sendWaiSocketMessage(systemMessageDO.getSender(),systemMessageDO.getReceiver(),object.toString(),"1");
		}catch (Exception e){
			logger.error(e.toString());
		}
	}
	
	/**
	 * 通知医生抢单消息
	 * @param wlyyOutpatientDO
	 */
	@Async
	public void sendImPichCheckMessage(WlyyOutpatientDO wlyyOutpatientDO) throws Exception {
		BasePatientDO basePatientDO =basePatientDao.findById(wlyyOutpatientDO.getPatient());
		String tagMsg = "";
		JSONObject object = new JSONObject();
		object.put("socket_sms_type",12);//抢单事件
		if("1".equals(wlyyOutpatientDO.getOutpatientType())&&"1".equals(wlyyOutpatientDO.getType())){//图文复诊
			object.put("relation_code","1:"+wlyyOutpatientDO.getId());
			tagMsg = "图文复诊";
		}else if ("1".equals(wlyyOutpatientDO.getOutpatientType())&&"2".equals(wlyyOutpatientDO.getType())){//视频复诊
			object.put("relation_code","3:"+wlyyOutpatientDO.getId());
			tagMsg = "视频复诊";
		}else if ("2".equals(wlyyOutpatientDO.getOutpatientType())){//协同门诊
			object.put("relation_code","3:"+wlyyOutpatientDO.getId());
			tagMsg = "协同门诊";
		}else{}
		
		object.put("msg",basePatientDO.getName()+"("+ IdCardUtil.getSexForIdcardReturnName(basePatientDO.getIdcard())+" "
				+ IdCardUtil.getAgeForIdcard(basePatientDO.getIdcard())+"岁)发起了随机邀请"+tagMsg+",问题:"+wlyyOutpatientDO.getDescription());
		
//		List<Map<String,Object>> doctorlist = prescriptionService.findDoctorByHospitalAndDept();
		
//		imService.sendWaiSocketMessage(wlyyOutpatientDO.getPatient(),wlyyOutpatientDO.getDoctor(),object.toString(),"1");
	}
}

+ 0 - 52
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/analysis/AnalysisService.java

@ -1,52 +0,0 @@
package com.yihu.jw.hospital.service.analysis;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.util.date.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
 * @author zmk.
 * @vsrsion 1.0
 * Created at 2019/11/21
 */
@Service
public class AnalysisService {
    @Autowired
    private OutpatientDao outpatientDao;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    /**
     * 分析总览数据查询
     * @param doctor
     * @param startTime
     * @param endTime
     * @return
     * @throws Exception
     */
    public Object queryAnalysis(String doctor,String startTime,String endTime)throws Exception{
        Map<String, Integer> map = new HashMap<>();
        Date start = DateUtil.strToDate(startTime, "yyyy-MM-dd HH:mm:ss");
        Date end = DateUtil.strToDate(endTime, "yyyy-MM-dd HH:mm:ss");
        //在线复诊
        Integer fzNum = outpatientDao.countByTime("1",doctor,start,end);
        //专科协同
        Integer xtNum = outpatientDao.countByTime("2",doctor,start,end);
        //专家咨询
        Integer imNum = consultTeamDao.countByTime(1,doctor,start,end);
        map.put("fzNum",fzNum);
        map.put("xtNum",xtNum);
        map.put("imNum",imNum);
        return map;
    }
}

+ 0 - 73
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/ConsultPriceService.java

@ -1,73 +0,0 @@
package com.yihu.jw.hospital.service.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalConsultPriceDO;
import com.yihu.jw.hospital.dao.consult.ConsultPriceDao;
import com.yihu.mysql.query.BaseJpaService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class ConsultPriceService extends BaseJpaService<WlyyHospitalConsultPriceDO, ConsultPriceDao> {
    @Autowired
    private ConsultPriceDao consultPriceDao;
    /**
     * // 根据机构编码查询所有计费列表
     * @param jsonObject
     * @param hospital
     * @return
     *
     */
    public WlyyHospitalConsultPriceDO saveConsultPrice(JSONObject jsonObject, String hospital){
        /*CREATE TABLE `wlyy_hospital_consult_price` (
             `id` varchar(50) NOT NULL,
             `saas_id` varchar(50) DEFAULT NULL,
             `type` int(1) DEFAULT '1' COMMENT '0图文 1视频',
             `pay_type` int(1) DEFAULT '0' COMMENT '0按次收费 1计时收费 3固定时长收费 4',
             `dept` varchar(500) DEFAULT NULL COMMENT '服务科室',
             `doctor_job` varchar(50) DEFAULT NULL COMMENT '0专家 1主任 2医师',
             `service_range` varchar(50) DEFAULT NULL COMMENT '0帮扶医院、社区  1普通患者',
             `price` int(11) DEFAULT NULL COMMENT '价格',
             `hospital` varchar(50) DEFAULT NULL,
                   PRIMARY KEY (`id`)
           ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='医院咨询计费价目表';*/
        int flag = -1;
        WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDO = new WlyyHospitalConsultPriceDO();
        Map dataDetail  = JSONObject.fromObject(jsonObject);
        String id = dataDetail.get("id") == "" ? "":dataDetail.get("id").toString();
        // 若id为空,则为新增,否则走更新操作。
        if ("".equals(id)) {
            wlyyHospitalConsultPriceDO.setSaasId("");
            wlyyHospitalConsultPriceDO.setType(dataDetail.get("type") == "" ? 0 : Integer.parseInt(dataDetail.get("type").toString()));
            wlyyHospitalConsultPriceDO.setPayType(dataDetail.get("payType") == "" ? 0 : Integer.parseInt(dataDetail.get("payType").toString()));
            wlyyHospitalConsultPriceDO.setDept(dataDetail.get("dept") == "" ? "" : dataDetail.get("dept").toString());
            wlyyHospitalConsultPriceDO.setDoctorJob(dataDetail.get("doctorJob") == "" ? "" : dataDetail.get("doctorJob").toString());
            wlyyHospitalConsultPriceDO.setServiceRange(dataDetail.get("serviceRange") == "" ? "" : dataDetail.get("serviceRange").toString());
            wlyyHospitalConsultPriceDO.setPrice(dataDetail.get("price") == "" ? 0 : Integer.parseInt(dataDetail.get("price").toString()));
            wlyyHospitalConsultPriceDO.setHospital(hospital);
            wlyyHospitalConsultPriceDO = consultPriceDao.save(wlyyHospitalConsultPriceDO);
        }else{
            WlyyHospitalConsultPriceDO wlyyHospitalConsultPriceDOL = consultPriceDao.findById(id);
            wlyyHospitalConsultPriceDOL.setType(dataDetail.get("type") == "" ? 0 : Integer.parseInt(dataDetail.get("type").toString()));
            wlyyHospitalConsultPriceDOL.setPayType(dataDetail.get("payType") == "" ? 0 : Integer.parseInt(dataDetail.get("payType").toString()));
            wlyyHospitalConsultPriceDOL.setDept(dataDetail.get("dept") == "" ? "" : dataDetail.get("dept").toString());
            wlyyHospitalConsultPriceDOL.setDoctorJob(dataDetail.get("doctorJob") == "" ? "" : dataDetail.get("doctorJob").toString());
            wlyyHospitalConsultPriceDOL.setServiceRange(dataDetail.get("serviceRange") == "" ? "" : dataDetail.get("serviceRange").toString());
            wlyyHospitalConsultPriceDOL.setPrice(dataDetail.get("price") == "" ? 0 : Integer.parseInt(dataDetail.get("price").toString()));
            wlyyHospitalConsultPriceDO.setHospital(hospital);
            wlyyHospitalConsultPriceDO = consultPriceDao.save(wlyyHospitalConsultPriceDOL);
        }
        return wlyyHospitalConsultPriceDO;
    }
    public void deleteConsultPrice(String id){
        consultPriceDao.delete(id);
    }
}

+ 0 - 177
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeArticleService.java

@ -1,177 +0,0 @@
package com.yihu.jw.hospital.service.consult;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDeptDO;
import com.yihu.jw.entity.hospital.survey.WlyySurveyDeptDO;
import com.yihu.jw.hospital.dao.consult.KnowledgeArticleDao;
import com.yihu.jw.hospital.dao.consult.KnowledgeArticleDeptDao;
import com.yihu.jw.utils.EntityUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
 * 健康文章业务层代码
 * @author huangwenjie
 * @date 2019/9/10 13:54
 */
@Service
public class KnowledgeArticleService extends BaseJpaService<KnowledgeArticleDO, KnowledgeArticleDao> {
	
	@Autowired
	private KnowledgeArticleDao knowledgeArticleDao;
	
	@Autowired
	private KnowledgeArticleDeptDao knowledgeArticleDeptDao;
	
	/**
	 * 删除,支持批量
	 * @param id
	 */
	public boolean delArticle(String id){
		String[] split = id.split(",|,");
		String ids = StringUtils.join(split, ",");
		String sql = "update wlyy_knowledge_article a set a.del = 0 where a.id in(" + ids + ")";
		int update = jdbcTemplate.update(sql);
		if (update > 0) {
			return true;
		}
		return false;
	}
	
	/**
	 * 更新/保存健康文章
	 * @param jsonData
	 * @return
	 * @throws Exception
	 */
	public KnowledgeArticleDO saveArticle(String jsonData) throws  Exception {
		KnowledgeArticleDO knowledgeArticleDO = EntityUtils.jsonToEntity(jsonData, KnowledgeArticleDO.class);
		if (null == knowledgeArticleDO.getId()) {
			// 新增
			knowledgeArticleDO.setId(UUID.randomUUID().toString().replace("-", ""));
			knowledgeArticleDO.setCreateTime(new Date());
//			knowledgeArticleDO.setSource("客服");
			knowledgeArticleDO.setDel(1);
			knowledgeArticleDO = knowledgeArticleDao.save(knowledgeArticleDO);
			return knowledgeArticleDO;
		} else {
			KnowledgeArticleDO one = knowledgeArticleDao.findOne(knowledgeArticleDO.getId());
			one.setTitle(knowledgeArticleDO.getTitle());
			one.setContent(knowledgeArticleDO.getContent());
			one.setImage(knowledgeArticleDO.getImage());
			one.setUpdateTime(new Date());
			knowledgeArticleDao.save(one);
			return  one;
		}
	}
	
	//审核/退回文章
	public KnowledgeArticleDO reviewArticle(String articleId,Integer status,String reason) throws Exception{
		
		KnowledgeArticleDO knowledgeArticleDO = knowledgeArticleDao.findOne(articleId);
		if (null == knowledgeArticleDO) {
			throw new Exception("该文章不存在");
		} else {
			knowledgeArticleDO.setStatus(status);
			knowledgeArticleDO.setUpdateTime(new Date());
			if(StringUtils.isNotBlank(reason)){
				knowledgeArticleDO.setCancelReason(reason);
			}
			knowledgeArticleDao.save(knowledgeArticleDO);
			return  knowledgeArticleDO;
		}
	}
	
	/**
	 * 保存文章科室关系
	 * @param articleId
	 * @param sdJsons
	 * @return
	 * @throws Exception
	 */
	public Boolean saveArticleDept(String articleId,String sdJsons)throws Exception{
		
		//删除之前关系
		List<KnowledgeArticleDeptDO> list = knowledgeArticleDeptDao.findByArticleId(articleId);
		if(list!=null&&list.size()>0){
			knowledgeArticleDeptDao.delete(list);
		}
		
		if(org.apache.commons.lang3.StringUtils.isNotBlank(sdJsons)){
			List<KnowledgeArticleDeptDO> _list = EntityUtils.jsonToList(sdJsons,KnowledgeArticleDeptDO.class);
			if(_list!=null&&_list.size()>0){
				knowledgeArticleDeptDao.save(_list);
			}
		}
		return true;
	}
	
	/**
	 * 查询文章下科室
	 * @param articleId
	 * @return
	 */
	public List<Map<String,Object>> findDeptByArticle(String articleId)throws Exception{
		String sql ="SELECT " +
				" d.article_id AS articleId," +
				" d.dept, " +
				" d.dept_name AS deptName " +
				" FROM " +
				" wlyy_knowledge_article t " +
				" JOIN wlyy_knowledge_article_dept d ON t.id = d.article_id " +
				" WHERE " +
				" t.id = '"+articleId+"'";
		List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
		return list;
	}
	
	/**
	 * 查询部门下的文章
	 * @param dept
	 * @return
	 */
	public List<Map<String,Object>> findArticleByDept(String dept)throws Exception{
		String sql = "SELECT " +
				" t.id, " +
				" t.title, " +
				" t.create_time AS create_time ," +
				" t.image AS image " +
				" FROM " +
				" wlyy_knowledge_article t " +
				" JOIN wlyy_knowledge_article_dept d ON t.id = d.article_id " +
				" WHERE " +
				" d.dept = '"+dept+"'";
		List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
		return list;
	}
	
	/**
	 * 设置部门发送文章
	 * @param dept
	 * @param sdJsons
	 * @return
	 */
	public Boolean saveDeptArticle(String dept, String sdJsons) throws Exception{
		
		//删除之前关系
		List<KnowledgeArticleDeptDO> dels = knowledgeArticleDeptDao.findByDept(dept);
		if(dels!=null&&dels.size()>0){
			knowledgeArticleDeptDao.delete(dels);
		}
		
		if(org.apache.commons.lang3.StringUtils.isNotBlank(sdJsons)){
			List<KnowledgeArticleDeptDO> list = EntityUtils.jsonToList(sdJsons,KnowledgeArticleDeptDO.class);
			if(list!=null&&list.size()>0){
				knowledgeArticleDeptDao.save(list);
			}
		}
		return true;
	}
}

+ 0 - 61
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/KnowledgeCategoryService.java

@ -1,61 +0,0 @@
package com.yihu.jw.hospital.service.consult;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import com.yihu.jw.hospital.dao.consult.KnowledgeArticleDao;
import com.yihu.jw.hospital.dao.consult.KnowledgeCategoryDao;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
 * 健康文章分类
 * @author huangwenjie
 */
@Service
public class KnowledgeCategoryService extends BaseJpaService<KnowledgeCategoryDO, KnowledgeCategoryDao> {
	@Autowired
	private KnowledgeCategoryDao knowledgeCategoryDao;
	@Autowired
	private KnowledgeArticleDao articleDao;
	
	@Autowired
	private ObjectMapper objectMapper;
	
	public KnowledgeCategoryDO saveCategory(String jsonData) throws Exception {
		jsonData = URLDecoder.decode(jsonData,"utf-8");
		KnowledgeCategoryDO knowledgeCategoryDO = objectMapper.readValue(jsonData, KnowledgeCategoryDO.class);
		if (null == knowledgeCategoryDO.getPid()) {
			knowledgeCategoryDO.setPid("0");
		}
		if (null == knowledgeCategoryDO.getId()) {
			// 新增
			knowledgeCategoryDO.setCreateTime(new Date());
			knowledgeCategoryDO.setDel(1);
		} else {
			KnowledgeCategoryDO one = knowledgeCategoryDao.findOne(knowledgeCategoryDO.getId());
			knowledgeCategoryDO.setId(one.getId());
			knowledgeCategoryDO.setDel(one.getDel());
			knowledgeCategoryDO.setUpdateTime(new Date());
		}
		return knowledgeCategoryDao.save(knowledgeCategoryDO);
	}
	
	@Transactional
	public Boolean updateDel(String code) {
		List<KnowledgeArticleDO> byCategory = articleDao.findByCategory(code);
		if (null != byCategory && byCategory.size() > 0) {
			return false;
		}
		knowledgeCategoryDao.updateDel(code);
		return true;
	}
}

+ 0 - 64
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/ReservationSettingService.java

@ -1,64 +0,0 @@
package com.yihu.jw.hospital.service.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalReservationSettingDO;
import com.yihu.jw.hospital.dao.consult.ReservationSettingDao;
import com.yihu.mysql.query.BaseJpaService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class ReservationSettingService extends BaseJpaService<WlyyHospitalReservationSettingDO, ReservationSettingDao> {
    @Autowired
    private ReservationSettingDao reservationSettingDao;
    public WlyyHospitalReservationSettingDO saveReverationSetting(JSONObject jsonObject, Map baseInfo){
        int flag = -1;
        WlyyHospitalReservationSettingDO wlyyHospitalReservationSettingDO = new WlyyHospitalReservationSettingDO();
        Map dataDetail  = JSONObject.fromObject(jsonObject);
        String id = dataDetail.get("id") == "" ? "":dataDetail.get("id").toString();
        // 若id为空,则为新增,否则走更新操作。
        if ("".equals(id)) {
            wlyyHospitalReservationSettingDO.setSaasId("");
            wlyyHospitalReservationSettingDO.setCity(baseInfo.get("city").toString());
            wlyyHospitalReservationSettingDO.setCityName(baseInfo.get("cityName").toString());
            wlyyHospitalReservationSettingDO.setTown(baseInfo.get("town").toString());
            wlyyHospitalReservationSettingDO.setTownName(baseInfo.get("townName").toString());
            wlyyHospitalReservationSettingDO.setHospital(baseInfo.get("hospital").toString());
            wlyyHospitalReservationSettingDO.setHospitalName(baseInfo.get("hospitalName").toString());
            wlyyHospitalReservationSettingDO.setDept(dataDetail.get("dept").toString());
            wlyyHospitalReservationSettingDO.setDeptName(dataDetail.get("deptName").toString());
            wlyyHospitalReservationSettingDO.setDoctor(dataDetail.get("doctor").toString());
            wlyyHospitalReservationSettingDO.setDoctorName(dataDetail.get("doctorName").toString());
            wlyyHospitalReservationSettingDO.setJob(dataDetail.get("job").toString());
            wlyyHospitalReservationSettingDO.setJobName(dataDetail.get("jobName").toString());
            wlyyHospitalReservationSettingDO.setDiseaseRange(dataDetail.get("diseaseRange").toString());
            wlyyHospitalReservationSettingDO.setConsultType(Integer.parseInt(dataDetail.get("consultType").toString()));
            wlyyHospitalReservationSettingDO.setReservationStatus(Integer.parseInt(dataDetail.get("reservationStatus").toString()));
            wlyyHospitalReservationSettingDO = reservationSettingDao.save(wlyyHospitalReservationSettingDO);
        }else{
            WlyyHospitalReservationSettingDO wlyyHospitalReservationSettingDOL = reservationSettingDao.findById(id);
            wlyyHospitalReservationSettingDOL.setDept(dataDetail.get("dept").toString());
            wlyyHospitalReservationSettingDOL.setDeptName(dataDetail.get("deptName").toString());
            wlyyHospitalReservationSettingDOL.setDoctor(dataDetail.get("doctor").toString());
            wlyyHospitalReservationSettingDOL.setDoctorName(dataDetail.get("doctorName").toString());
            wlyyHospitalReservationSettingDOL.setJob(dataDetail.get("job").toString());
            wlyyHospitalReservationSettingDOL.setJobName(dataDetail.get("jobName").toString());
            wlyyHospitalReservationSettingDOL.setDiseaseRange(dataDetail.get("diseaseRange").toString());
            wlyyHospitalReservationSettingDOL.setConsultType(Integer.parseInt(dataDetail.get("consultType").toString()));
            wlyyHospitalReservationSettingDOL.setReservationStatus(Integer.parseInt(dataDetail.get("reservationStatus").toString()));
            wlyyHospitalReservationSettingDO = reservationSettingDao.save(wlyyHospitalReservationSettingDOL);
        }
        return  wlyyHospitalReservationSettingDO;
    }
    public void deleteReservationSetting(String id){
        reservationSettingDao.delete(id);
    }
}

+ 0 - 113
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/SysDictService.java

@ -1,113 +0,0 @@
package com.yihu.jw.hospital.service.consult;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dao.consult.SysDictDao;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import net.sf.json.JSONObject;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class SysDictService {
    @Autowired
    private SysDictDao sysDictDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    /**
     * 新增&更新社区医生邀请专家配置
     * @param jsonObject
     * @return
     */
    public WlyyHospitalSysDictDO saveConsultSetting(JSONObject jsonObject,String hospital,String dictName ){
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = new WlyyHospitalSysDictDO();
        //JSON数据解析
        Map dataDetail  = JSONObject.fromObject(jsonObject);
        String dictCode = dataDetail.get("dictCode") == "" ? "": dataDetail.get("dictCode") .toString();
        String dictValue = dataDetail.get("dictValue") == "" ? "": dataDetail.get("dictValue") .toString();
        String id = dataDetail.get("id") == "" ? "": dataDetail.get("id") .toString();
        String saasId = "";
        if("".equals(id)){
            wlyyHospitalSysDictDO.setSaasId(saasId);
            wlyyHospitalSysDictDO.setHospital(hospital);
            wlyyHospitalSysDictDO.setDictName(dictName);
            wlyyHospitalSysDictDO.setDictCode(dictCode);
            wlyyHospitalSysDictDO.setDictValue(dictValue);
            wlyyHospitalSysDictDO = sysDictDao.save(wlyyHospitalSysDictDO);
        }else{
            WlyyHospitalSysDictDO wlyyHospitalSysDictDOL = sysDictDao.findById(id);
            wlyyHospitalSysDictDOL.setDictValue(dictValue);
            wlyyHospitalSysDictDO = sysDictDao.save(wlyyHospitalSysDictDOL);
        }
        return wlyyHospitalSysDictDO;
    }
    /**
     * 根据医院编号及字典编码,获取配置界面中某一配置项的值信息
     * dictName( 候诊延时: WaitingDelay )  dictCode ( 等待时长:WaitingTime  过号延时保号: OverdueDelay   过号延时时长: OverdueTime  延时退费规则: DelayedRefundRule )
     * dictName( 邀请专家配置: InvitedConfig )   dictCode ( 支付配置:PayType  邀请确认:InvitedValid   退费规则:RefundRule )
     * @param hospital
     * @param dictCode
     * @return
     */
    public WlyyHospitalSysDictDO findByHospitalAndDictCode(String hospital, String dictCode){
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = sysDictDao.findByHospitalAndDictCode(hospital,dictCode);
        if(wlyyHospitalSysDictDO != null){
            return wlyyHospitalSysDictDO;
        }else{
            return null;
        }
    }
    /**
     * 根据医院编号及字典名称,获取配置界面所有的配置信息
     * dictName( 候诊延时: WaitingDelay )
     * dictName( 邀请专家配置: InvitedConfig )
     * @param hospital
     * @param dictName
     * @return
     */
    public List<WlyyHospitalSysDictDO> findByHospitalAndDictName(String hospital, String dictName){
        List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOs = sysDictDao.findByHospitalAndDictName(hospital,dictName);
        if(wlyyHospitalSysDictDOs != null & wlyyHospitalSysDictDOs.size() > 0){
            return wlyyHospitalSysDictDOs;
        }else{
            return null;
        }
    }
    public List<Map<String, Object>> findByHosAndDict(String hospital, String dictName){
        Map<String,Object> params = new HashedMap();
        String sql ="SELECT " +
                " a.id AS \"id\", " +
                " a.dict_name AS \"dictName\", " +
                " a.dict_code AS \"dictCode\", " +
                " a.dict_value AS \"dictValue\" " +
                " FROM " +
                " wlyy_hospital_sys_dict a " +
                " WHERE 1=1 ";
        if(StringUtils.isNotBlank(hospital)){
            sql+=" AND a.hospital =:hospital";
            params.put("hospital",hospital);
        }
        if(StringUtils.isNotBlank(dictName)){
            sql+=" AND a.dict_name =:dictName";
            params.put("dictName",dictName);
        }
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql, params);
        return  list;
    }
}

+ 0 - 110
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/service/consult/WlyyPatientExpressageAddrService.java

@ -1,110 +0,0 @@
package com.yihu.jw.hospital.service.consult;
import com.yihu.jw.entity.hospital.prescription.WlyyPatientExpressageAddrDO;
import com.yihu.jw.hospital.dao.consult.WlyyPatientExpressageAddrDao;
import com.yihu.jw.utils.EntityUtils;
import com.yihu.jw.utils.StringUtil;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * 居民收获地址服务service
 *
 * @version <pre>
 * Author	Version		Date		Changes
 * Administrator    1.0  2019年06月12日 Created
 *
 * </pre>
 * @since 1.
 */
@Service
public class WlyyPatientExpressageAddrService extends BaseJpaService<WlyyPatientExpressageAddrDO, WlyyPatientExpressageAddrDao> {
    Logger logger = LoggerFactory.getLogger(WlyyPatientExpressageAddrService.class);
    @Autowired
    private WlyyPatientExpressageAddrDao patientExpressageAddrDao;
    /**
     * 新增居民收货地址
     *
     * @param jsonData
     * @return
     */
    public WlyyPatientExpressageAddrDO createAddr(String jsonData)throws Exception{
        WlyyPatientExpressageAddrDO addrDO = null;
        if (!StringUtil.isEmpty(jsonData)){
            addrDO = EntityUtils.jsonToEntity(jsonData, WlyyPatientExpressageAddrDO.class);
            if(1 == addrDO.getIsDefault()){
                List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(addrDO.getPatient(),1);
                if(defaultAddrDOList != null && defaultAddrDOList.size()>0){
                    WlyyPatientExpressageAddrDO olddefaultAddr = defaultAddrDOList.get(0);
                    olddefaultAddr.setIsDefault(0);
                    this.save(olddefaultAddr);
                }
            }
            this.save(addrDO);
        }
        return addrDO;
    }
     public boolean hasDefault(String patient){
        if(StringUtils.isEmpty(patient)){
            return false;
        }
        return patientExpressageAddrDao.existsByPatientAndIsDefault(patient,1);
     }
    /**
     * 将地址设置为默认地址
     * @param id
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public Object setAddrDefault(String patient,String id)throws Exception{
        StringBuilder error = new StringBuilder("OK");
        WlyyPatientExpressageAddrDO newDefaultAddr = patientExpressageAddrDao.findOne(id);
        if(null == newDefaultAddr){
            error.replace(0,2,"当前地址不存在!");
            return error;
        }
        List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(patient,1);
        if(defaultAddrDOList != null && defaultAddrDOList.size()>0){
            WlyyPatientExpressageAddrDO oldDefaultAddr = defaultAddrDOList.get(0);
            oldDefaultAddr.setIsDefault(0);
            this.save(oldDefaultAddr);
        }
        newDefaultAddr.setIsDefault(1);
        this.save(newDefaultAddr);
        return error;
    }
    /**
     * 更新居民收货地址
     * @param addrDO
     * @return
     * @throws Exception
     */
    public WlyyPatientExpressageAddrDO updateAddr(WlyyPatientExpressageAddrDO addrDO)throws Exception{
        if(1 == addrDO.getIsDefault()){
            List<WlyyPatientExpressageAddrDO> defaultAddrDOList = patientExpressageAddrDao.queryByPatientAndIsDefault(addrDO.getPatient(),1);
            if(defaultAddrDOList != null && defaultAddrDOList.size()>0){
                WlyyPatientExpressageAddrDO olddefaultAddr = defaultAddrDOList.get(0);
                olddefaultAddr.setIsDefault(0);
                this.save(olddefaultAddr);
            }
        }
        this.save(addrDO);
        return addrDO;
    }
}

+ 0 - 90
svr/svr-oracle-test/src/main/java/com/yihu/jw/hospital/useragent/UserAgent.java

@ -1,90 +0,0 @@
package com.yihu.jw.hospital.useragent;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
 * 用户头部信息获取
 * Created by Trick on 2018/10/30.
 */
@Component
public class UserAgent {
    /**
     * 获取当前登录人ID
     * @return
     */
    public String getUID() {
        try {
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            String userAgent = request.getHeader("userAgent");
            if (StringUtils.isEmpty(userAgent)) {
                userAgent = request.getHeader("User-Agent");
            }
            JSONObject json = JSON.parseObject(userAgent);
            return json.getString("uid");
        } catch (Exception e) {
            return null;
        }
    }
    /**
     * 获取登录人姓名
     * @return
     */
    public String getUNAME(){
        try {
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            String userAgent = request.getHeader("userAgent");
            if (StringUtils.isEmpty(userAgent)) {
                userAgent = request.getHeader("User-Agent");
            }
            JSONObject json = JSON.parseObject(userAgent);
            String info = json.getString("uname");
            String uname = java.net.URLDecoder.decode(info,"UTF-8");
            return uname;
        } catch (Exception e) {
            return null;
        }
    }
    /**
     * 获取角色ID
     * @return
     */
    public String getROLEID() {
        try {
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            String userAgent = request.getHeader("userAgent");
            if (StringUtils.isEmpty(userAgent)) {
                userAgent = request.getHeader("User-Agent");
            }
            JSONObject json = JSON.parseObject(userAgent);
            return json.getString("roleid");
        } catch (Exception e) {
            return null;
        }
    }
    public JSONObject getUserAgent(){
        try{
            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            String userAgent = request.getHeader("userAgent");
            JSONObject user = JSON.parseObject(userAgent);
            return user;
        }catch (Exception e){
            return null;
        }
    }
}

+ 0 - 656
svr/svr-oracle-test/src/main/resources/application.yml

@ -1,656 +0,0 @@
#通用的配置不用区分环境变量
server:
  port: ${server.svr-internet-hospital-port}
spring:
  aop:
    proxy-target-class: true
  datasource:
    max-active: 200
    max-idle: 200 #最大空闲连接
    min-idle: 10 #最小空闲连接
    validation-query-timeout: 20
    log-validation-errors: true
    validation-interval: 60000 #避免过度验证,保证验证不超过这个频率——以毫秒为单位。如果一个连接应该被验证,但上次验证未达到指定间隔,将不再次验证。
    validation-query: SELECT 1 #SQL 查询, 用来验证从连接池取出的连接, 在将连接返回给调用者之前。 如果指定, 则查询必须是一个SQL SELECT 并且必须返回至少一行记录
    test-on-borrow: true #指明是否在从池中取出连接前进行检验, 如果检验失败, 则从池中去除连接并尝试取出另一个。注意: 设置为true 后如果要生效,validationQuery 参数必须设置为非空字符串
    test-on-return: true #指明是否在归还到池中前进行检验 注意: 设置为true 后如果要生效validationQuery 参数必须设置为非空字符串
    idle-timeout: 20000
    connection-test-query: SELECT 1
    num-tests-per-eviction-run: 200 #在每次空闲连接回收器线程(如果有)运行时检查的连接数量,最好和maxActive
    test-while-idle: true #指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
    min-evictable-idle-time-millis: 3600000 #连接池中连接,在时间段内一直空闲,被逐出连接池的时间(1000*60*60),以毫秒为单位
    time-between-eviction-runs-millis: 300000 #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小
  http:
    multipart:
      max-file-size: 30MB
#      location: D:/work/soft_dev/IdeaWorkSpace/wlyy2.0/svr/svr-patient/temp_file/
#      resolve-lazily: true
  redis:
    database: 0 # Database index used by the connection factory.
    password: # Login password of the redis server.
    timeout: 120000 # 连接超时时间(毫秒) 60秒
    pool:
      max-active: 20 # 连接池最大连接数(使用负值表示没有限制)
      max-wait: -1  # 连接池最大阻塞等待时间(使用负值表示没有限制)
      max-idle: 20  # 连接池中的最大空闲连接
      min-idle: 5  # 连接池中的最小空闲连接
  mail:
    default-encoding: UTF-8
#端口
    port: 25
#协议
    protocol: smtp
    properties.mail.smtp.auth: true
    properties.mail.smtp.starttls.enable: true
    properties.mail.smtp.starttls.required: true
    host: smtp.163.com
#发送者的邮箱密码
    password: xmijk181016jkzl
#发送者的邮箱账号
    username: i_jiankang@163.com
es:
  index:
    servicePackLog: base_service_package_log
  type:
    servicePackLog: base_service_package_log
fast-dfs:
  connect-timeout: 2 #链接超时时间
  network-timeout: 30
  charset: ISO8859-1 #编码
  http:
    tracker-http-port: 80
    anti-steal-token: no
    secret-key: FastDFS1234567890
  pool: #连接池大小
    init-size: 5
    max-size: 20
    wait-time: 500
configDefault: # 默认配置
  saasId: xmjkzl_saasId
express:
  sf_url: http://bsp-oisp.sf-express.com/bsp-oisp/sfexpressService
  sf_code: JKZL
  sf_check_word: QkeIfIvQdheqIv2cVSgAUnBU29lfNbVk
---
spring:
  profiles: jwdev
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://172.26.0.114/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    username: root
    password: jkzlehr
#  elasticsearch:
#    cluster-name: jkzl #集群名 默认elasticsearch
#    cluster-nodes: 172.26.0.115:9300,172.26.0.115:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
#    client-transport-sniff: false
#    jest:
#      uris: http://172.26.0.112:9200,http://172.26.0.112:9200
#      connection-timeout: 60000 # Connection timeout in milliseconds.
#      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://172.26.0.116:61616
    user: admin
    password: admin
  redis:
    host: 172.26.0.253 # Redis server host.
    port: 6379 # Redis server port.
#    password: jkzl_ehr
#  zipkin:
#    base-url: http://localhost:9411 #日志追踪的地址
fastDFS:
  fastdfs_file_url: http://172.26.0.110:8888/
fast-dfs:
  tracker-server: 172.26.0.110:22122 #服务器地址
# 短信发送地址
jw:
  smsUrl: http://svr-base:10020/sms_gateway/send
myFamily:
  qrCodeFailurTime: 2
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: true
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.26.0.105:3000/
  data_base_name: im_internet_hospital
es:
  pwflag: 1 # 1需要密码,2不需要密码
  index:
    Statistics: hlw_quota_test
  type:
    Statistics: hlw_quota_test
  host:  http://172.26.0.112:9200
  tHost: 172.26.0.112:9300
  clusterName: jkzl
  securityUser: elastic:elastic
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
---
spring:
  profiles: jwtest
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://172.26.0.104/base?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true&useSSL=false
    username: ssgg
    password: ssgg@jkzl2019
#  elasticsearch:
#    cluster-name: jkzl #集群名 默认elasticsearch
#    cluster-nodes: 172.26.0.115:9300,172.26.0.115:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
#    client-transport-sniff: false
#    jest:
#      uris: http://172.26.0.112:9200,http://172.26.0.112:9200
#      connection-timeout: 60000 # Connection timeout in milliseconds.
#      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://172.26.0.116:61616
    user: admin
    password: admin
  redis:
    host: 172.26.0.253 # Redis server host.
    port: 6379 # Redis server port.
fastDFS:
  fastdfs_file_url: http://172.26.0.110:8888/
fast-dfs:
  tracker-server: 172.26.0.110:22122 #服务器地址
wechat:
  id: 97ed8a0a-4f07-4b85-ab02-b716c611a464  # base库中,wx_wechat 的id字段
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
myFamily:
  qrCodeFailurTime: 2
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: true
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.26.0.105:3000/
  data_base_name: im_internet_hospital
es:
  pwflag: 1 # 1需要密码,2不需要密码
  index:
    Statistics: hlw_quota_test
  type:
    Statistics: hlw_quota_test
  host:  http://172.26.0.55:9200
  tHost: 172.26.0.55:9300
  clusterName: jkzl
  securityUser: elastic:changeme
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 0
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
---
spring:
  profiles: jwprod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://172.16.1.42:3306/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    username: im
    password: 2oEq3Kf7
#  elasticsearch:
#    cluster-name: jkzl #集群名 默认elasticsearch
#    cluster-nodes: 192.0.33.26:9200 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
#    client-transport-sniff: false
#    jest:
#      uris: http://192.0.33.26:9300
#      connection-timeout: 60000 # Connection timeout in milliseconds.
#      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://59.61.92.90:9103
    user: jkzl
    password: jkzlehr
  redis:
    host: 192.0.33.26 # Redis server host.
    port: 6390 # Redis server port.
    password: Kb6wKDQP1W4
fastDFS:
  fastdfs_file_url: https://hlwyy.xmzsh.com/fastdfs/
fast-dfs:
  tracker-server: 192.0.33.26:22122 #服务器地址
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
myFamily:
  qrCodeFailurTime: 2
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: true
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.16.1.42:3000/
  data_base_name: im
es:
  pwflag: 1 # 1需要密码,2不需要密码
  index:
    Statistics: hlw_quota_prod
  type:
    Statistics: hlw_quota_prod
  host:  http://192.0.33.26:9200
  tHost: 192.0.33.26:9300
  clusterName: jkzl
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 0
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
---
spring:
  profiles: jwOracleTest
  datasource:
    driver-class-name: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@172.26.0.141:1521:helowin
    username: normal
    password: normal
  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.Oracle10gDialect
        show_sql: true
    database: oracle
#    url: jdbc:mysql://172.19.103.77/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true
#    username: root
#    password: 123456
#  elasticsearch:
#    cluster-name: jkzl #集群名 默认elasticsearch
#    cluster-nodes: 172.26.0.115:9300,172.26.0.115:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
#    client-transport-sniff: false
#    jest:
#      uris: http://172.26.0.112:9200,http://172.26.0.112:9200
#      connection-timeout: 60000 # Connection timeout in milliseconds.
#      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://172.26.0.116:61616
    user: admin
    password: admin
  redis:
    host: 172.26.0.253 # Redis server host.
    port: 6379 # Redis server port.
fastDFS:
  fastdfs_file_url: http://172.26.0.110:8888/
fast-dfs:
  tracker-server: 172.26.0.110:22122 #服务器地址
wechat:
  id: 97ed8a0a-4f07-4b85-ab02-b716c611a464  # base库中,wx_wechat 的id字段
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
myFamily:
  qrCodeFailurTime: 2
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: true
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.26.0.105:3000/
  data_base_name: im_internet_hospital
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
es:
  pwflag: 1 # 1需要密码,2不需要密码
  index:
    Statistics: hlw_quota_test
  type:
    Statistics: hlw_quota_test
  host:  http://172.26.0.55:9200
  tHost: 172.26.0.55:9300
  clusterName: jkzl
  securityUser: elastic:changeme
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 0
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
---
spring:
  profiles: jwOracleProd
  datasource:
    driver-class-name: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@172.26.0.141:1521:helowin
    username: normal
    password: normal
  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.Oracle10gDialect
        show_sql: true
    database: oracle
#  elasticsearch:
#    cluster-name: jkzl #集群名 默认elasticsearch
#    cluster-nodes: 172.26.0.115:9300,172.26.0.115:9300 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
#    client-transport-sniff: false
#    jest:
#      uris: http://172.26.0.112:9200,http://172.26.0.112:9200
#      connection-timeout: 60000 # Connection timeout in milliseconds.
#      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://172.26.0.116:61616
    user: admin
    password: admin
  redis:
    host: 172.26.0.253 # Redis server host.
    port: 6379 # Redis server port.
fastDFS:
  fastdfs_file_url: http://172.26.0.110:8888/
fast-dfs:
  tracker-server: 172.26.0.110:22122 #服务器地址
wechat:
  id: 97ed8a0a-4f07-4b85-ab02-b716c611a464  # base库中,wx_wechat 的id字段
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP
myFamily:
  qrCodeFailurTime: 2
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: true
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.26.0.105:3000/
  data_base_name: im_internet_hospital
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
es:
  pwflag: 1 # 1需要密码,2不需要密码
  index:
    Statistics: hlw_quota_test
  type:
    Statistics: hlw_quota_test
  host:  http://172.26.0.112:9200
  tHost: 172.26.0.112:9300
  clusterName: jkzl
  securityUser: elastic:elastic
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 0
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
---
##==心脏中心 ===============================================================================
spring:
  profiles: xzprod_in
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.103.155:7306/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    username: jkzl
    password: jkzl@2020
  elasticsearch:
    cluster-name: jkzl #集群名 默认elasticsearch
    cluster-nodes: 192.168.103.153:9200 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    client-transport-sniff: false
    jest:
      uris: http://192.168.103.153:9300
      connection-timeout: 60000 # Connection timeout in milliseconds.
      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://59.61.92.90:9103
    user: jkzl
    password: jkzlehr
  redis:
    host: 192.168.103.158 # Redis server host.
    port: 6380 # Redis server port.
    password: q4YaQemf
fastDFS:
  fastdfs_file_url: http://192.168.103.159:8888/
fast-dfs:
  tracker-server: 192.168.103.159:22122 #服务器地址
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
myFamily:
  qrCodeFailurTime: 2
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: false
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://192.168.103.150:3000/
  data_base_name: im
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
es:
  pwflag: 1 # 1需要密码,2不需要密码
  index:
    Statistics: hlw_quota_test
  type:
    Statistics: hlw_quota_test
  host:  http://192.168.103.153:9200
  tHost: 192.168.103.153:9300
  clusterName: jkzl
  securityUser: lion:jkzlehr
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 0
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
---
##==心脏中心外 ===============================================================================
spring:
  profiles: xzprod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://172.16.100.240:7306/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    username: jkzl
    password: jkzl@2020
  elasticsearch:
    cluster-name: jkzl #集群名 默认elasticsearch
    cluster-nodes: 172.16.100.240:9200 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    client-transport-sniff: false
    jest:
      uris: http://172.16.100.240:9300
      connection-timeout: 60000 # Connection timeout in milliseconds.
      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://59.61.92.90:9103
    user: jkzl
    password: jkzlehr
  redis:
    host: 172.16.100.240 # Redis server host.
    port: 6380 # Redis server port.
    password: q4YaQemf
fastDFS:
  fastdfs_file_url: http://172.16.100.240:8888/
fast-dfs:
  tracker-server: 172.16.100.240:22122 #服务器地址
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
myFamily:
  qrCodeFailurTime: 2
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: false
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.16.100.241:3000/
  data_base_name: im
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
es:
  pwflag: 1 # 1需要密码,2不需要密码
  index:
    Statistics: hlw_quota_prod
  type:
    Statistics: hlw_quota_prod
  host:  http://172.16.100.240:9200
  tHost: 172.16.100.240:9300
  clusterName: jkzl
  securityUser: lion:jkzlehr
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 0
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
---
##==厦门卫计委 ===============================================================================
spring:
  profiles: xmjwprod
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://59.61.92.90:9409/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    username: wlyy
    password: qY#j2n5O
  elasticsearch:
    cluster-name: jkzl #集群名 默认elasticsearch
    cluster-nodes: 10.95.22.155:9200 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    client-transport-sniff: false
    jest:
      uris: http://10.95.22.155:9300
      connection-timeout: 60000 # Connection timeout in milliseconds.
      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://59.61.92.90:9103
    user: jkzl
    password: jkzlehr
  redis:
    host: 59.61.92.90 # Redis server host.
    port: 9054  # Redis server port.
    password: jkzlehr
fastDFS:
  fastdfs_file_url: http://192.168.103.159:8888/
fast-dfs:
  tracker-server: 192.168.103.159:22122 #服务器地址
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段  # todo 待配置
# 短信验证码发送的客户端标识,居民端
sms:
  clientId: EwC0iRSrcP #todo 待配置
myFamily:
  qrCodeFailurTime: 2
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
demo:
  flag: false
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
im:
  im_list_get: http://172.16.1.42:3000/
  data_base_name: im
# 上传文件临时路径配置
FileTempPath:
  upload_temp_path : /var/local/temp
  image_path : /var/local/upload/images
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
#是否开启i健康接口 0关闭,1开启
testPattern:
  sign: 1
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
es:
  pwflag: 0 # 1需要密码,0不需要密码
  index:
    Statistics: hlw_quota_prod
  type:
    Statistics: hlw_quota_prod
  host:  http://172.16.100.240:9200
  tHost: 172.16.100.240:9300
  clusterName: jkzl
  securityUser: lion:jkzlehr

+ 0 - 6
svr/svr-oracle-test/src/main/resources/banner.txt

@ -1,6 +0,0 @@
                               _           _                                  _             _                             _   _             _ 
  ___  __   __  _ __          (_)  _ __   | |_    ___   _ __   _ __     ___  | |_          | |__     ___    ___   _ __   (_) | |_    __ _  | |
 / __| \ \ / / | '__|  _____  | | | '_ \  | __|  / _ \ | '__| | '_ \   / _ \ | __|  _____  | '_ \   / _ \  / __| | '_ \  | | | __|  / _` | | |
 \__ \  \ V /  | |    |_____| | | | | | | | |_  |  __/ | |    | | | | |  __/ | |_  |_____| | | | | | (_) | \__ \ | |_) | | | | |_  | (_| | | |
 |___/   \_/   |_|            |_| |_| |_|  \__|  \___| |_|    |_| |_|  \___|  \__|         |_| |_|  \___/  |___/ | .__/  |_|  \__|  \__,_| |_|
                                                                                                                 |_|                          

+ 0 - 83
svr/svr-oracle-test/src/main/resources/bootstrap.yml

@ -1,83 +0,0 @@
spring:
  application:
    name:  svr-internet-hospital-yl
  cloud:
    config:
      failFast: true
      username: jw
      password: jkzl
---
spring:
  profiles: jwdev
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://172.26.0.107:1221}
      label: ${wlyy.spring.config.label:jwdev}
---
spring:
  profiles: jwtest
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://172.26.0.107:1221}
      label: ${wlyy.spring.config.label:jwdev}
---
spring:
  profiles: qytest
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://127.0.0.1:1221}
      label: ${wlyy.spring.config.label:jwdev}
---
spring:
  profiles: jwprod
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://192.0.33.26:1221}
      label: ${wlyy.spring.config.label:master}
---
spring:
  profiles: local
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://192.168.131.174:1221}
      label: ${wlyy.spring.config.label:local}
---
spring:
  profiles: jwprod70
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://172.16.1.70:1221}
      label: ${wlyy.spring.config.label:master}
---
spring:
  profiles: jwOracleTest
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://172.26.0.107:1221}
      label: ${wlyy.spring.config.label:jwdev}
---
spring:
  profiles: jwOracleProd
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://192.168.33.199:1221}
      label: ${wlyy.spring.config.label:master}
---
spring:
  profiles: xzprod
  cloud:
    config:
      uri: ${wlyy.pring.config.uri:http://172.16.100.63:1221}
      label: ${wlyy.spring.config.label:master}
---
spring:
  profiles: xmjwprod
  cloud:
    config:
      uri: ${wlyy.pring.config.uri:http://192.168.120.210:1221}
      label: ${wlyy.spring.config.label:master}

BIN
svr/svr-oracle-test/src/main/resources/image/d-male.png


BIN
svr/svr-oracle-test/src/main/resources/image/p-female.png