Browse Source

中山需求修改

wangjun 4 năm trước cách đây
mục cha
commit
b4cd276a14
27 tập tin đã thay đổi với 1606 bổ sung215 xóa
  1. 15 15
      business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorInfoService.java
  2. 10 2
      business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorSuggestService.java
  3. 22 0
      business/base-service/src/main/java/com/yihu/jw/hospital/HospitalDao.java
  4. 14 0
      business/base-service/src/main/java/com/yihu/jw/hospital/consult/dao/BaseAdviceTreatmentDao.java
  5. 4 3
      business/base-service/src/main/java/com/yihu/jw/hospital/httplog/service/BaseOperateLogService.java
  6. 82 7
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/InspectionService.java
  7. 162 183
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  8. 1 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java
  9. 19 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamDao.java
  10. 16 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamMemberDao.java
  11. 12 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyySignFamilyDao.java
  12. 115 0
      business/base-service/src/main/java/com/yihu/jw/hospital/team/service/WlyyAdminTeamService.java
  13. 1 1
      business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java
  14. 45 0
      business/base-service/src/main/java/com/yihu/jw/wlyy/wlyyhttp/WlyyHttpService.java
  15. 0 1
      business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java
  16. 156 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/DmHospitalDO.java
  17. 141 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseAdviceTreatmentDO.java
  18. 146 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamDO.java
  19. 168 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamMemberDO.java
  20. 11 0
      gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/PostFilter.java
  21. 221 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/SyncWlyyHospitalService.java
  22. 81 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/util/SyncWlyyHosptialJob.java
  23. 30 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java
  24. 8 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java
  25. 15 3
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/BaseDoctorSuggestController.java
  26. 97 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/WlyyAdminTeamController.java
  27. 14 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

+ 15 - 15
business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorInfoService.java

@ -85,7 +85,7 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                " FROM " +
                " base_doctor a " +
                " JOIN base_doctor_hospital b ON a.id = b.doctor_code " +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6') e ON a.charge_type = e.charge_type " +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6' and t.is_del='1' ) e ON a.charge_type = e.charge_type " +
                " LEFT JOIN base_doctor_mapping c ON a.id = c.doctor " +
                " WHERE " +
                " 1 = 1";
@ -152,13 +152,13 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                " FROM " +
                " base_doctor a " +
                " JOIN base_doctor_hospital b ON a.id = b.doctor_code " +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6') e ON a.charge_type = e.charge_type " +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict d ON a.xtfz_charge_type = d.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type\n" +
                " LEFT JOIN (SELECT * FROM wlyy_charge_dict t WHERE t.dept_type_code ='6' and t.is_del='1') e ON a.charge_type = e.charge_type " +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type and n.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type and p.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict d ON a.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                " LEFT JOIN base_doctor_mapping c ON a.id = c.doctor " +
                " WHERE 1=1";
        if (StringUtils.isNotBlank(city)){
@ -229,12 +229,12 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                " LEFT JOIN dict_hospital_dept h ON b.dept_code = h.code " +
                " LEFT JOIN wlyy_doctor_special_disease d ON a.id = d.doctor_code " +
                " LEFT JOIN wlyy_charge_dict e ON a.charge_type = e.charge_type " +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict q ON a.xtfz_charge_type = q.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict m ON a.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict n ON a.spfz_charge_type = n.charge_type and n.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict p ON a.spzx_charge_type = p.charge_type and p.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict v ON a.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict q ON a.xtfz_charge_type = q.charge_type and q.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict g ON a.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                " WHERE 1=1 ";
        if(StringUtils.isNotBlank(doctorId)){
            sql+=" AND a.id =:id";
@ -586,7 +586,7 @@ public class BaseDoctorInfoService extends BaseJpaService<BaseDoctorDO, BaseDoct
                wlyyChargeDictDO.setCreateTime(new Date());
                wlyyChargeDictDO.setReqFee(chargeFee);
                wlyyChargeDictDO.setChargeType(fee+"");
                wlyyChargeDictDO.setDeptTypeCode("6");
                wlyyChargeDictDO.setIsDel("1");
                wlyyChargeDictDO.setChargeName(doctorName+"创建的号别");
                wlyyChargeDictDO = wlyyChargeDictDao.save(wlyyChargeDictDO);
                return  wlyyChargeDictDO.getChargeType();

+ 10 - 2
business/base-service/src/main/java/com/yihu/jw/doctor/service/BaseDoctorSuggestService.java

@ -1,5 +1,6 @@
package com.yihu.jw.doctor.service;
import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorSuggestDao;
@ -42,8 +43,15 @@ public class BaseDoctorSuggestService  extends BaseJpaService<BaseDoctorSuggestD
    @Value("${wechat.flag}")
    private boolean flag;
    public void saveDoctorSuggest(String json) throws  Exception{
        BaseDoctorSuggestDO baseDoctorSuggestDO=objectMapper.readValue(json,BaseDoctorSuggestDO.class);
    public void saveDoctorSuggest(String suggestType,String  suggestContent,String  imgUrl,String doctor,String createUser,String relationCode,String relationType) throws  Exception{
        BaseDoctorSuggestDO baseDoctorSuggestDO=new BaseDoctorSuggestDO();
        baseDoctorSuggestDO.setCreateUser(createUser);
        baseDoctorSuggestDO.setSuggestType(suggestType);
        baseDoctorSuggestDO.setSuggestContent(suggestContent);
        baseDoctorSuggestDO.setImgUrl(imgUrl);
        baseDoctorSuggestDO.setRelationCode(relationCode);
        baseDoctorSuggestDO.setRelationType(relationType);
        baseDoctorSuggestDO.setDoctor(doctor);
        baseDoctorSuggestDO.setCreateTime(new Date());
        baseDoctorSuggestDO.setIsDel("1");
        BasePatientDO basePatientDO=basePatientDao.findById(baseDoctorSuggestDO.getCreateUser());

+ 22 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/HospitalDao.java

@ -0,0 +1,22 @@
package com.yihu.jw.hospital;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface HospitalDao extends PagingAndSortingRepository<DmHospitalDO, Integer>, JpaSpecificationExecutor<DmHospitalDO> {
    @Query("from DmHospitalDO t where t.town=?1 and t.del='1'")
    List<DmHospitalDO> findByTownCode(String town, Pageable pageRequest);
    @Query("from DmHospitalDO t where t.code=?1 and t.del='1'")
    DmHospitalDO findByCode(String code);
    boolean existsByCode(String code);
}

+ 14 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/consult/dao/BaseAdviceTreatmentDao.java

@ -0,0 +1,14 @@
package com.yihu.jw.hospital.consult.dao;
import com.yihu.jw.entity.hospital.consult.WlyyDoctorClinicRoomDO;
import com.yihu.jw.entity.hospital.prescription.BaseAdviceTreatmentDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface BaseAdviceTreatmentDao   extends PagingAndSortingRepository<BaseAdviceTreatmentDO, String>, JpaSpecificationExecutor<BaseAdviceTreatmentDO> {
    @Query("from BaseAdviceTreatmentDO t where t.relationCode=?1")
    List<BaseAdviceTreatmentDO> findByRelationCode(String outpatientId);
}

+ 4 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/httplog/service/BaseOperateLogService.java

@ -78,13 +78,13 @@ public class BaseOperateLogService extends BaseJpaService<BaseOperateLogDO, Base
            sql+=" and t.code='"+code+"'";
        }
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.name like '%"+name+"&'";
            sql+=" and t.name like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(patientName)){
            sql+=" and t.patient_name like '%"+patientName+"&'";
            sql+=" and t.patient_name like '%"+patientName+"%'";
        }
        if (StringUtils.isNoneBlank(doctorName)){
            sql+=" and t.operator_name like '%"+doctorName+"&'";
            sql+=" and t.operator_name like '%"+doctorName+"%'";
        }
        if (StringUtils.isNotBlank(startTime)){
            if("xm_ykyy_wx".equals(wxId)){
@ -123,4 +123,5 @@ public class BaseOperateLogService extends BaseJpaService<BaseOperateLogDO, Base
        mixEnvelop.setCurrPage(page);
        return mixEnvelop;
    }
}

+ 82 - 7
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/InspectionService.java

@ -1,23 +1,27 @@
package com.yihu.jw.hospital.prescription.service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.prescription.WlyyInspectionDO;
import com.yihu.jw.entity.hospital.prescription.WlyyInspectionPartsDictDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.hospital.consult.dao.BaseAdviceTreatmentDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.prescription.dao.InspectionPartsDictDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDao;
import com.yihu.jw.hospital.prescription.dao.WlyyInspectionDao;
import com.yihu.jw.hospital.httplog.service.BaseOperateLogService;
import com.yihu.jw.hospital.prescription.dao.*;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
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.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -27,7 +31,7 @@ import java.util.Map;
@Service
@Transactional
public class InspectionService extends BaseJpaService<WlyyInspectionDO, WlyyInspectionDao> {
    private static final Logger logger = LoggerFactory.getLogger(InspectionService.class);
    @Value("${demo.flag}")
    private boolean demoFlag;
    @Autowired
@ -38,6 +42,16 @@ public class InspectionService extends BaseJpaService<WlyyInspectionDO, WlyyInsp
    private EntranceService entranceService;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BaseOperateLogService baseOperateLogService;
    @Autowired
    private BaseAdviceTreatmentDao baseAdviceTreatmentDao;
    @Autowired
    private PrescriptionInfoDao prescriptionInfoDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private OutpatientDao outpatientDao;
    public List<WlyyInspectionPartsDictDO> findByPartsCode(String parentCode) {
        return inspectionPartsDictDao.findByParentCode(parentCode);
@ -79,5 +93,66 @@ public class InspectionService extends BaseJpaService<WlyyInspectionDO, WlyyInsp
        mixEnvelop.setCurrPage(page);
        return mixEnvelop;
    }
    public BaseAdviceTreatmentDO saveTreatment(String json,String adviceJson) throws Exception{
        BaseAdviceTreatmentDO baseAdviceTreatmentDO=objectMapper.readValue(adviceJson,BaseAdviceTreatmentDO.class);
        baseAdviceTreatmentDO.setDel(1);
        baseAdviceTreatmentDO.setCreateTime(new Date());
        baseAdviceTreatmentDO=baseAdviceTreatmentDao.save(baseAdviceTreatmentDO);
        if (StringUtils.isNotBlank(json)) {
            //药品
            List<WlyyPrescriptionInfoDO> infoDOs = (List<WlyyPrescriptionInfoDO>) com.alibaba.fastjson.JSONArray.parseArray(json, WlyyPrescriptionInfoDO.class);
            for (WlyyPrescriptionInfoDO info : infoDOs) {
                info.setDel(1);
                info.setPrescriptionId(baseAdviceTreatmentDO.getId());
            }
            //保存药品信息
            prescriptionInfoDao.save(infoDOs);
            logger.info("123");
            Double price = getInfoFee(infoDOs);
            logger.info("12312313213" + price);
            //计算药品费用
            baseAdviceTreatmentDO.setDrugFee(price);
            baseAdviceTreatmentDao.save(baseAdviceTreatmentDO);
        }
        WlyyOutpatientDO wlyyOutpatientDO=outpatientDao.findById(baseAdviceTreatmentDO.getRelationCode());
        if(wlyyOutpatientDO!=null){
            wlyyOutpatientDO.setIcd10Name(baseAdviceTreatmentDO.getDiagnosisName());
            wlyyOutpatientDO.setStatus("2");
            wlyyOutpatientDO.setAdvice(baseAdviceTreatmentDO.getTreatment());
            outpatientDao.save(wlyyOutpatientDO);
        }
        return baseAdviceTreatmentDO;
    }
    /**
     * 计算药品费用
     *
     * @param infoDOs
     * @return
     */
    public Double getInfoFee(List<WlyyPrescriptionInfoDO> infoDOs) {
        DecimalFormat df = new DecimalFormat("#.00");
        Double fee = 0D;
        if (infoDOs != null && infoDOs.size() > 0) {
            for (WlyyPrescriptionInfoDO info : infoDOs) {
                logger.error("getInfoFee===========Quantity:" + info.getQuantity());
                /*      Integer quantity = Integer.parseInt(info.getQuantity());*/
                logger.error("getInfoFee===========PackRetprice:" + info.getPackRetprice());
                /*   fee += info.getPackRetprice() * quantity;*/
                logger.error("getInfoFee===========:" + fee);
                BigDecimal total = new BigDecimal(0);
                BigDecimal quantity = new BigDecimal(info.getQuantity());
                BigDecimal price = new BigDecimal(info.getPackRetprice());
                total = total.add(quantity.multiply(price));
                Double f1 = total.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                fee += f1;
            }
            logger.error("getInfoFee===========:" + fee);
        }
        return fee;
    }
}

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

@ -51,6 +51,7 @@ import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.entity.ylzinfo.OauthYlzConfigDO;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.hospital.consult.dao.BaseAdviceTreatmentDao;
import com.yihu.jw.hospital.consult.dao.HospitalWaitingRoomDao;
import com.yihu.jw.hospital.consult.dao.WlyyConsultAdviceDao;
import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
@ -310,12 +311,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    private TnyyEntranceService tnyyEntranceService;
    @Autowired
    private BaseJpushTemplateDao baseJpushTemplateDao;
    /*@Autowired
    HikariDataSource dataSource;*/
    @Autowired
    HikariDataSource dataSource;
    @Autowired
    private BaseSensitiveDao baseSensitiveDao;
    @Autowired
    private BaseOperateLogService baseOperateLogService;
    @Autowired
    private BaseAdviceTreatmentDao baseAdviceTreatmentDao;
    @Value("${demo.flag}")
    private boolean demoFlag;
@ -342,20 +345,22 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
        logger.info("findOutpatientList patNo " + patNo);
        List<WlyyOutpatientVO> wlyyOutpatientVOList  =  entranceService.BS30025(patNo, null, startTime, endTime, demoFlag,ksdm);
        if (!ksdm.equalsIgnoreCase("1500010")){
            List<WlyyOutpatientVO> wlyyOutpatientVOList1  =  entranceService.BS30025(patNo, null, startTime, endTime, demoFlag,"1500010");
            if (wlyyOutpatientVOList!=null&&wlyyOutpatientVOList.size()!=0){
                if(wlyyOutpatientVOList1!=null&&wlyyOutpatientVOList1.size()!=0){
                    for (WlyyOutpatientVO wlyyOutpatientVO:wlyyOutpatientVOList1){
                        logger.info("==="+wlyyOutpatientVO);
                        if (wlyyOutpatientVO!=null){
                            wlyyOutpatientVOList.add(wlyyOutpatientVO);
        if (StringUtils.isNoneBlank(ksdm)){
            if (!ksdm.equalsIgnoreCase("1500010")){
                List<WlyyOutpatientVO> wlyyOutpatientVOList1  =  entranceService.BS30025(patNo, null, startTime, endTime, demoFlag,"1500010");
                if (wlyyOutpatientVOList!=null&&wlyyOutpatientVOList.size()!=0){
                    if(wlyyOutpatientVOList1!=null&&wlyyOutpatientVOList1.size()!=0){
                        for (WlyyOutpatientVO wlyyOutpatientVO:wlyyOutpatientVOList1){
                            logger.info("==="+wlyyOutpatientVO);
                            if (wlyyOutpatientVO!=null){
                                wlyyOutpatientVOList.add(wlyyOutpatientVO);
                            }
                        }
                    }
                }else {
                    wlyyOutpatientVOList = new ArrayList<>();
                    wlyyOutpatientVOList = wlyyOutpatientVOList1;
                }
            }else {
                wlyyOutpatientVOList = new ArrayList<>();
                wlyyOutpatientVOList = wlyyOutpatientVOList1;
            }
        }
        return wlyyOutpatientVOList;
@ -659,82 +664,95 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        } else {
            prescriptionDOs = prescriptionDao.findByOutpatientId(outpatientId);
        }
        List<WlyyPrescriptionVO> prescriptionVOs = new ArrayList<>();
        List<BusinessOrderDO> businessOrders = new ArrayList<>();
        BusinessOrderDO businessOrder = new BusinessOrderDO();
        if (prescriptionDOs != null && prescriptionDOs.size() > 0) {
            convertToModels(prescriptionDOs, prescriptionVOs, WlyyPrescriptionVO.class);
            for (WlyyPrescriptionVO vo : prescriptionVOs) {
                List<WlyyPrescriptionCheckDO> prescriptionCheckDO = prescriptionCheckDao.findByPrescriptionId(vo.getId());
                //疾病信息
                vo.setDiagnosisVOs(findDiagnosisById(vo.getId()));
                if(null!=prescriptionCheckDO&&prescriptionCheckDO.size()>0){
                    vo.setDispUser(prescriptionCheckDO.get(0).getOperate());
                    vo.setDispUserName(prescriptionCheckDO.get(0).getOperateName());
                }
                //药品信息
                List<WlyyPrescriptionInfoVO> infoVOs = new ArrayList<>();
                System.out.println("=====PrescriptionId======"+vo.getId());
                convertToModels(prescriptionInfoDao.findByPrescriptionId(vo.getId(), 1), infoVOs, WlyyPrescriptionInfoVO.class);
                vo.setInfoVOs(infoVOs);
                //检查检验信息
                List<WlyyInspectionVO> inspectionVOs = new ArrayList<>();
                vo.setInspectionVOs(convertToModels(wlyyInspectionDao.findByPrescriptionId(vo.getId(), 1), inspectionVOs, WlyyInspectionVO.class));
                if (wxId.equalsIgnoreCase("xm_zsyy_wx")) {
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                    if (wlyyPrescriptionEmrDO1 != null) {
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                    } else {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO = readOutPatientXml(outpatientDO.getOriginRegisterNo());
                        //电子病历
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO);
        if (!"2".equalsIgnoreCase(outpatientDO.getOutpatientType())){
            List<WlyyPrescriptionVO> prescriptionVOs = new ArrayList<>();
            List<BusinessOrderDO> businessOrders = new ArrayList<>();
            BusinessOrderDO businessOrder = new BusinessOrderDO();
            if (prescriptionDOs != null && prescriptionDOs.size() > 0) {
                convertToModels(prescriptionDOs, prescriptionVOs, WlyyPrescriptionVO.class);
                for (WlyyPrescriptionVO vo : prescriptionVOs) {
                    List<WlyyPrescriptionCheckDO> prescriptionCheckDO = prescriptionCheckDao.findByPrescriptionId(vo.getId());
                    //疾病信息
                    vo.setDiagnosisVOs(findDiagnosisById(vo.getId()));
                    if(null!=prescriptionCheckDO&&prescriptionCheckDO.size()>0){
                        vo.setDispUser(prescriptionCheckDO.get(0).getOperate());
                        vo.setDispUserName(prescriptionCheckDO.get(0).getOperateName());
                    }
                } else if (wxId.equalsIgnoreCase("xm_xzzx_wx")) {
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                    if (wlyyPrescriptionEmrDO1 != null) {
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                    } else {
                        List<WlyyPrescriptionEmrDO> listEmr = xzzxEntranceService.selectHistoryEmr(hisPatient,"");
                        if (null!=listEmr&&listEmr.size()>0){
                            vo.setWlyyPrescriptionEmrDO(listEmr.get(0));
                    //药品信息
                    List<WlyyPrescriptionInfoVO> infoVOs = new ArrayList<>();
                    System.out.println("=====PrescriptionId======"+vo.getId());
                    convertToModels(prescriptionInfoDao.findByPrescriptionId(vo.getId(), 1), infoVOs, WlyyPrescriptionInfoVO.class);
                    vo.setInfoVOs(infoVOs);
                    //检查检验信息
                    List<WlyyInspectionVO> inspectionVOs = new ArrayList<>();
                    vo.setInspectionVOs(convertToModels(wlyyInspectionDao.findByPrescriptionId(vo.getId(), 1), inspectionVOs, WlyyInspectionVO.class));
                    if (wxId.equalsIgnoreCase("xm_zsyy_wx")) {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                        if (wlyyPrescriptionEmrDO1 != null) {
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                        } else {
                            WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO = readOutPatientXml(outpatientDO.getOriginRegisterNo());
                            //电子病历
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO);
                        }
                    } else if (wxId.equalsIgnoreCase("xm_xzzx_wx")) {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                        if (wlyyPrescriptionEmrDO1 != null) {
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                        } else {
                            List<WlyyPrescriptionEmrDO> listEmr = xzzxEntranceService.selectHistoryEmr(hisPatient,"");
                            if (null!=listEmr&&listEmr.size()>0){
                                vo.setWlyyPrescriptionEmrDO(listEmr.get(0));
                            }
                        }
                    }else {
                        WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                        if (wlyyPrescriptionEmrDO1 != null) {
                            vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                        }
                    }
                }else {
                    WlyyPrescriptionEmrDO wlyyPrescriptionEmrDO1 = prescriptionEmrDao.findEmrByPrescriptionId(vo.getId());
                    if (wlyyPrescriptionEmrDO1 != null) {
                        vo.setWlyyPrescriptionEmrDO(wlyyPrescriptionEmrDO1);
                    //支付信息
                    BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(vo.getId());
                    if (null!=businessOrderDO){
                        businessOrders.add(businessOrderDO);
                    }
                }
                //支付信息
                BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(vo.getId());
                if (null!=businessOrderDO){
                    businessOrders.add(businessOrderDO);
                }
            }
            rs.put("prescriptions", prescriptionVOs);
            rs.put("businessOrder", businessOrders);
        }
        rs.put("prescriptions", prescriptionVOs);
        rs.put("businessOrder", businessOrders);
            //物流信息
            List<WlyyPrescriptionExpressageDO> expressageDOs = prescriptionExpressageDao.findByOutpatientId(outpatientId);
            if (expressageDOs != null && expressageDOs.size() > 0) {
                rs.put("expressage", convertToModel(expressageDOs.get(0), WlyyPrescriptionExpressageVO.class));
            } else {
                rs.put("expressage", null);
            }
        //物流信息
        List<WlyyPrescriptionExpressageDO> expressageDOs = prescriptionExpressageDao.findByOutpatientId(outpatientId);
        if (expressageDOs != null && expressageDOs.size() > 0) {
            rs.put("expressage", convertToModel(expressageDOs.get(0), WlyyPrescriptionExpressageVO.class));
        } else {
            rs.put("expressage", null);
            //物流配送新
            List<WlyyPrescriptionExpressageLogDO> expressageLogDOs = prescriptionExpressageLogDao.queryByOutpatientIdOrderByCreateTimeDesc(outpatientId);
            List<WlyyPrescriptionExpressageLogVO> expressageLogVOs = new ArrayList<>();
            if (expressageLogDOs != null && expressageLogDOs.size() > 0) {
                rs.put("expressageLogs", convertToModels(expressageLogDOs, expressageLogVOs, WlyyPrescriptionExpressageLogVO.class));
            } else {
                rs.put("expressageLogs", null);
            }
        }else {
            List<BaseAdviceTreatmentDO>  treatmentDOS=baseAdviceTreatmentDao.findByRelationCode(outpatientId);
            if (treatmentDOS!=null&&treatmentDOS.size()>0){
                //药品
                List<WlyyPrescriptionInfoDO> infoDOList=prescriptionInfoDao.findByPrescriptionId(treatmentDOS.get(0).getId(), 1);
                treatmentDOS.get(0).setInfoList(infoDOList);
                rs.put("treatments",treatmentDOS.get(0));
            }else{
                rs.put("treatments","");
            }
        }
        //物流配送新
        List<WlyyPrescriptionExpressageLogDO> expressageLogDOs = prescriptionExpressageLogDao.queryByOutpatientIdOrderByCreateTimeDesc(outpatientId);
        List<WlyyPrescriptionExpressageLogVO> expressageLogVOs = new ArrayList<>();
        if (expressageLogDOs != null && expressageLogDOs.size() > 0) {
            rs.put("expressageLogs", convertToModels(expressageLogDOs, expressageLogVOs, WlyyPrescriptionExpressageLogVO.class));
        } else {
            rs.put("expressageLogs", null);
        }
        //预约记录
        List<WlyyPatientRegisterTimeDO> timeDOs = patientRegisterTimeDao.findByOutpatientId(outpatientId);
@ -1737,29 +1755,15 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        "\td.req_fee as \"xtzxFee\"\n" +
                        "FROM\n" +
                        "\tbase_doctor t\n" +
                        "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict d ON t.twzx_charge_type = d.charge_type\n" +
                        " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                        "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                        "LEFT JOIN wlyy_charge_dict d ON t.twzx_charge_type = d.charge_type and d.is_del='1'\n" +
                        " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                        "WHERE t.id = '"+doctor.get("id")+"' ";
                chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
                /*if (null!=doctor.get("chargeType")){
                    String chargeTypeList = doctor.get("chargeType").toString();
                    if (chargeType.contains(",")){
                        chargeTypeList = chargeType.replace(",","','");
                    }
                    String sqlCharge = "select charge_type as \"chargeType\",charge_name as \"chargeName\"," +
                            "req_fee  as \"reqFee\",zj_fee  as \"zjFee\",xt_fee  as \"xtFee\",dept_type_code as \"deptTypeCode\" " +
                            " from wlyy_charge_dict where 1=1";
                    sqlCharge+=" and charge_type in ( '"+chargeTypeList+"')";
                    if (StringUtils.isNoneBlank(deptTyepCode)){
                        sqlCharge+=" and dept_type_code in ( '"+deptTyepCode+"')";
                    }
                    chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
                }*/
                doctor.put("chargeTypeList",chargeDictDOLists);
            }
            if (StringUtils.isNotBlank(doctorCode)) {
@ -3762,39 +3766,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            rs.put("sex",doctorDO.getSex());
            rs.put("popularity",doctorDO.getPopularity());
            rs.put("qrcode",doctorDO.getQrcode());
            //号别
            /*String deptTyepCode = "";
            if ("xm_zsyy_wx".equalsIgnoreCase(wechatId)){
                deptTyepCode = "6";
                List<BaseDoctorHospitalDO> depts = baseDoctorHospitalDao.findByDoctorCode(doctor);
                if (null!=depts&&depts.size()>0){
                    BaseDoctorHospitalDO baseDoctorHospitalDO = depts.get(0);
                    String deptcode =  baseDoctorHospitalDO.getDeptCode();
                    String hosptitalCode = baseDoctorHospitalDO.getOrgCode();
                    List<DictHospitalDeptDO> dictHospitalDeptDO = dictHospitalDeptDao.findByOrgCodeAndCode(hosptitalCode,deptcode);
                    if(null!=dictHospitalDeptDO&&dictHospitalDeptDO.size()>0){
                        if (StringUtils.isNotBlank(dictHospitalDeptDO.get(0).getDeptTypeCode())){
                            deptTyepCode = dictHospitalDeptDO.get(0).getDeptTypeCode();
                        }
                    }
                }
            }*/
            List<Map<String,Object>> chargeDictDOLists = new ArrayList<>();
            /*String chargeType = doctorDO.getChargeType();
            if (StringUtils.isNotBlank(chargeType)){
                if (chargeType.contains(",")){
                    chargeType = chargeType.replace(",","','");
                }
                String sqlCharge = "select charge_type as \"chargeType\",charge_name as \"chargeName\"," +
                        "req_fee  as \"reqFee\",zj_fee  as \"zjFee\",xt_fee  as \"xtFee\",dept_type_code as \"deptTypeCode\" " +
                        " from wlyy_charge_dict where 1=1";
                sqlCharge+=" and charge_type in ( '"+chargeType+"')";
                if (StringUtils.isNoneBlank(deptTyepCode)){
                    sqlCharge+=" and dept_type_code in ( '"+deptTyepCode+"')";
                }
                chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            }*/
            String sqlCharge = "SELECT\n" +
                    "\tm.req_fee as \"twfzFee\",\n" +
                    "\ta.req_fee as \"spfzFee\",\n" +
@ -3804,12 +3776,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    "\td.req_fee as \"xtzxFee\"\n" +
                    "FROM\n" +
                    "\tbase_doctor t\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                    "WHERE t.id = '"+doctorDO.getId()+"' ";
            chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            //System.out.println(chargeDictDOLists.get(1));
@ -4093,13 +4065,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    "\td.req_fee as \"xtzxFee\"\n" +
                    "FROM\n" +
                    "\tbase_doctor t\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                    "WHERE t.id = '"+doctorDO.getId()+"' ";
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                    "WHERE t.id = '"+doctorDO.getId()+"'";
            chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            rs.put("chargeTypeList",chargeDictDOLists);
            //机构科室信息
@ -4212,6 +4184,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            }
            else if("2".equalsIgnoreCase(wlyyOutpatientDO.getType())&&"3".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
                type="17";
            }else if("2".equalsIgnoreCase(wlyyOutpatientDO.getOutpatientType())){
                type="12";
            }
            description = "居民取消";
            if (StringUtils.isNoneBlank(type)){
@ -4443,6 +4417,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                contentMsg = "您发起的视频咨询已被您取消。由于订单取消将不做扣费处理。";
                first = outpatientDO.getConsumerName() + ",您好!您的视频咨询已被您取消,您可重新发起";
            }
            if ("12".equals(type)) {
                return;
            }
            logger.info("patientCancel诊查费支付成功推送模板消息:outpatientId="+outpatientId);
            msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
        }else if("systemCancelRemind".equalsIgnoreCase(titelType)){
@ -4469,8 +4446,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                first = outpatientDO.getConsumerName() + ",您好!您有一笔未完成的在线问诊订单,请及时处理。";//您有一个视频复诊订单待支付,请及时支付。
                msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
                logger.info("视频复诊订单待支付微信消息模板推送开始");
            }
            if ("1".equals(type)) {
            }else if ("1".equals(type)) {
                contentMsg = "您有一个图文咨询订单待支付,点击完成支付,如您已支付请忽略本条信息";
                msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
                first = outpatientDO.getConsumerName() + ",您好!您有一个图文咨询订单待支付,请及时支付。";
@ -4480,23 +4456,24 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
                first =  outpatientDO.getConsumerName() + ",您好!您有一个视频咨询订单待支付,请及时支付。";
                logger.info("视频咨询订单待支付微信消息模板推送开始");
            }else {
                return;
            }
        } else if ("paySuccess".equalsIgnoreCase(titelType)) {
            if ("9".equals(type)) {
                contentMsg = "您已成功发起图文复诊,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起图文复诊";
            }
            if ("16".equals(type)) {
            }else if ("16".equals(type)) {
                contentMsg =  "您已成功发起视频复诊,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起视频复诊";
            }
            if ("1".equals(type)) {
            }else if ("1".equals(type)) {
                contentMsg =  "您已成功发起图文咨询,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起图文咨询";
            }
            if ("17".equals(type)) {
            }else if ("17".equals(type)) {
                contentMsg = "您已成功发起视频咨询,请耐心等待医生接单。如长时间未接诊,建议选择其他医生";
                first = outpatientDO.getConsumerName() + ",您好!您已成功发起视频咨询";
            }else {
                return;
            }
            logger.info("paySuccess诊查费支付成功推送模板消息:outpatientId="+outpatientId);
            msgUrl="/ims-wx/index.html#/returnVisit/record?outpatientId="+outpatientId;
@ -4544,18 +4521,17 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            if (consultTeam.getType()!=null&&1==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条图文咨询已结束,请及时对咨询医生进行评价。";
                logger.info("图文咨询服务评价微信消息模板推送开始");
            }
            if (consultTeam.getType()!=null&&9==consultTeam.getType()){
            }else if (consultTeam.getType()!=null&&9==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条图文复诊已结束,请及时对咨询医生进行评价。";
                logger.info("图文复诊服务评价微信消息模板推送开始");
            }
            if (consultTeam.getType()!=null&&16==consultTeam.getType()){
            }else if (consultTeam.getType()!=null&&16==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条视频复诊已结束,请及时对咨询医生进行评价。";
                logger.info("视频复诊服务评价微信消息模板推送开始");
            }
            if (consultTeam.getType()!=null&&17==consultTeam.getType()){
            }else if (consultTeam.getType()!=null&&17==consultTeam.getType()){
                first = consultTeam.getName() + ",您好!您有1条视频咨询已结束,请及时对咨询医生进行评价。";
                logger.info("视频咨询服务评价微信消息模板推送开始");
            }else {
                return;
            }
            contentMsg = "请对" + consDoctorDO.getName() + "医生的服务进行评价";
            msgUrl="/ims-wx/index.html#/fuwupingjia?consultCode="+consultTeam.getConsult();
@ -5237,8 +5213,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            //根据身份证计算年龄
            for (Map<String, Object> outpatient : list) {
                String idcard = (String) outpatient.get("idcard");
                int patientAge = 0;
                int patientSex = 3;
                Integer patientAge = 0;
                Integer patientSex = 3;
                if (null!=outpatient.get("outPatient")){
                   BasePatientDO basePatientDO = basePatientDao.findById(outpatient.get("outPatient").toString());
                   if (null!=basePatientDO){
@ -5714,7 +5690,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        if (pagesize <= 0) {
            pagesize = 10;
        }*/
        //testHikar();
        testHikar();
        long statr = new Date().getTime();
        String sql = "SELECT " +
                " d.id AS \"id\", " +
@ -5907,13 +5883,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                "\td.req_fee as \"xtzxFee\"\n" +
                "FROM\n" +
                "\t  ("+sql+")  t \n" +
                "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n"+
                " where t.id is not null ";
                "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n"+
                " where t.id is not null";
        List<Map<String,Object>> chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge, params);
        //查询医生各项评价平均分
        String sqlscore = "select t.doctor as \"id\" ,sum(t.score)/3 as\"score\" from ("+
@ -6258,13 +6234,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    "\td.req_fee as \"xtzxFee\"\n" +
                    "FROM\n" +
                    "\tbase_doctor t\n" +
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type\n" +
                    "WHERE t.id = '"+map.get("id")+"' ";
                    "LEFT JOIN wlyy_charge_dict m ON t.twfz_charge_type = m.charge_type and m.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict a ON t.spfz_charge_type = a.charge_type and a.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict b ON t.spzx_charge_type = b.charge_type and b.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict v ON t.twzx_charge_type = v.charge_type and v.is_del='1'\n" +
                    "LEFT JOIN wlyy_charge_dict d ON t.xtfz_charge_type = d.charge_type and d.is_del='1'\n" +
                    " LEFT JOIN wlyy_charge_dict g ON t.jyzx_charge_type = g.charge_type and g.is_del='1'\n" +
                    "WHERE t.id = '"+map.get("id")+"'";
            chargeDictDOLists =  hibenateUtils.createSQLQuery(sqlCharge);
            map.put("chargeTypeList",chargeDictDOLists);
            //查询医生各项评价平均分
@ -9560,6 +9536,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     * @throws Exception
     */
    public net.sf.json.JSON outpatient(String patient,String doctorId) throws Exception {
        try {
            baseOperateLogService.saveOperateLog(doctorId,patient,"EMR","住院病历","","");
        }catch (Exception e){
            e.printStackTrace();
        }
        PatientMappingDO mappingDO = patientMappingDao.findByPatient(patient);
        String url = "";
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = hospitalSysDictDao.findById("HAI_TAI_OUTPATIENT_URL");
@ -9583,12 +9564,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        XMLSerializer xmlSerializer = new XMLSerializer();
        net.sf.json.JSON json = xmlSerializer.read(returnValue);
        logger.info("返回json" + json);
        try {
            baseOperateLogService.saveOperateLog(doctorId,patient,"EMR","查询电子病历","","");
        }catch (Exception e){
            e.printStackTrace();
        }
        return json;
    }
@ -10790,6 +10766,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                                    chargeDictDO.setReqFee(twPrcie1);
                                    chargeDictDO.setChargeType(twPrcie+"");
                                    chargeDictDO.setChargeName(twPrcie+"");
                                    chargeDictDO.setIsDel("1");
                                    chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                                }
                                doctorDO.setTwzxChargeType(chargeDictDO.getChargeType());
@ -10827,6 +10804,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                                    chargeDictDO.setReqFee(spPrcie1);
                                    chargeDictDO.setChargeType(spPrcie+"");
                                    chargeDictDO.setChargeName(spPrcie+"");
                                    chargeDictDO.setIsDel("1");
                                    chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                                }
                                doctorDO.setSpzxChargeType(chargeDictDO.getChargeType());
@ -10906,6 +10884,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                            chargeDictDO.setReqFee(price1);
                            chargeDictDO.setChargeType(price + "");
                            chargeDictDO.setChargeName(price + "");
                            chargeDictDO.setIsDel("1");
                            chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                        }
                        doctorDO.setTwzxChargeType(chargeDictDO.getChargeType());
@ -10925,6 +10904,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                            chargeDictDO.setReqFee(price1);
                            chargeDictDO.setChargeType(price + "");
                            chargeDictDO.setChargeName(price + "");
                            chargeDictDO.setIsDel("1");
                            chargeDictDO = wlyyChargeDictDao.save(chargeDictDO);
                        }
                        doctorDO.setSpzxChargeType(chargeDictDO.getChargeType());
@ -12645,7 +12625,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    }
    /*public void testHikar(){
    public void testHikar(){
        try{
            MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
            ObjectName poolName = new ObjectName("com.zaxxer.hikari:type=Pool (" + dataSource.getPoolName() + ")");
@ -12663,7 +12643,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            e.printStackTrace();
        }
    }*/
    }
    public String findDomainUrlInDict(){
        try {
            WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("domainUrl");
@ -12677,5 +12657,4 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            return "";
        }
    }
}

+ 1 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java

@ -1822,6 +1822,7 @@ public class EntranceService {
                            wlyyChargeDictDO.setDeptTypeCode(winNo);
                            Double free = null == jsonObjectBody.get("req_fee") ? 0 : Double.parseDouble(jsonObjectBody.get("req_fee").toString());
                            wlyyChargeDictDO.setReqFee(free);
                            wlyyChargeDictDO.setIsDel("1");
                            wlyyChargeDictDO.setCreateTime(new Date());
                            map.put(chareCode + "_" + winNo, chareName);
                            wlyyChargeDictDO = wlyyChargeDictDao.save(wlyyChargeDictDO);

+ 19 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamDao.java

@ -0,0 +1,19 @@
package com.yihu.jw.hospital.team.dao;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface WlyyAdminTeamDao extends PagingAndSortingRepository<WlyyAdminTeamDO, Integer>, JpaSpecificationExecutor<WlyyAdminTeamDO> {
    @Query("from WlyyAdminTeamDO  t where t.orgCode=?1 and t.available=1")
    List<WlyyAdminTeamDO> findTeamByOrgCode(String orgCode, Pageable pageRequest);
    @Query("from WlyyAdminTeamDO  t where t.available=1")
    List<WlyyAdminTeamDO> findTeamAndAvailable();
}

+ 16 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyyAdminTeamMemberDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.hospital.team.dao;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamMemberDO;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.List;
public interface WlyyAdminTeamMemberDao extends PagingAndSortingRepository<WlyyAdminTeamMemberDO, Integer>, JpaSpecificationExecutor<WlyyAdminTeamMemberDO> {
    @Query("from WlyyAdminTeamMemberDO t where t.teamId=?1 and t.available=1")
    List<WlyyAdminTeamMemberDO> findByTeamId(Long teamId, Pageable pageRequest);
}

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/dao/WlyySignFamilyDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.hospital.team.dao;
import com.yihu.jw.entity.door.SignFamily;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface WlyySignFamilyDao extends PagingAndSortingRepository<SignFamily, Integer>, JpaSpecificationExecutor<SignFamily> {
    @Query("select count(*) from SignFamily  t where t.doctor=?1 and t.status=1")
    Integer getCountByDoctorCode(String doctor);
}

+ 115 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/team/service/WlyyAdminTeamService.java

@ -0,0 +1,115 @@
package com.yihu.jw.hospital.team.service;
import com.tencentcloudapi.tci.v20190318.models.Person;
import com.yihu.jw.area.dao.BaseTownDao;
import com.yihu.jw.entity.base.area.BaseTownDO;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamMemberDO;
import com.yihu.jw.hospital.HospitalDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamMemberDao;
import com.yihu.jw.hospital.team.dao.WlyySignFamilyDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class WlyyAdminTeamService {
    @Autowired
    private WlyyAdminTeamDao wlyyAdminTeamDao;
    @Autowired
    private WlyyAdminTeamMemberDao wlyyAdminTeamMemberDao;
    @Autowired
    private HospitalDao hospitalDao;
    @Autowired
    private WlyySignFamilyDao wlyySignFamilyDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BaseTownDao baseTownDao;
    //查询机构
    public MixEnvelop findHospitalByTown(String townCode,Integer page,Integer pageSize){
        PageRequest pageRequest = new PageRequest(page-1,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        List<DmHospitalDO> list =null;
        list = hospitalDao.findByTownCode(townCode,pageRequest);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(list==null?0:list.size());
        return mixEnvelop;
    }
    //查询团队
    public MixEnvelop findTeamByOrg(String cityCode,String townCode,String orgCode,Integer page,Integer pageSize){
        String sql ="select t.id as \"id\"," +
                "t.name as \"name\"," +
                "t.create_time as \"createTime\"," +
                "t.leader_code as \"leaderCode\"," +
                "t.leader_name as \"leaderName\"," +
                "t.org_code as \"orgCode\"," +
                "t.member_count as \"memberCount\"," +
                "b.name as \"orgName\"," +
                "t.accept_type as \"acceptType\"," +
                "t.special_code as \"specialCode\"," +
                "t.special_name as \"specialName\"," +
                "t.available as \"available\"" +
                " from wlyy_admin_team t inner join dm_hospital b on t.org_code = b.code where t.available=1";
        PageRequest pageRequest = new PageRequest(page-1,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        if (StringUtils.isNoneBlank(townCode)){
           sql+=" and b.town ='"+townCode+"'";
        }else {
            sql+=" and b.city ='"+cityCode+"'";
        }
        if (StringUtils.isNoneBlank(orgCode)){
            sql+=" and t.org_code ='"+orgCode+"'";
        }
        List<Map<String ,Object>>list= hibenateUtils.createSQLQuery(sql,page,pageSize);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(list==null?0:list.size());
        return mixEnvelop;
    }
    //查询团队下的医生
    public MixEnvelop findDoctorByTeam(String teamCode,Integer page,Integer pageSize){
        PageRequest pageRequest = new PageRequest(page-1,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        List<WlyyAdminTeamMemberDO> list = wlyyAdminTeamMemberDao.findByTeamId(Long.parseLong(teamCode),pageRequest);
        for (WlyyAdminTeamMemberDO wlyyAdminTeamMemberDO:list){
            /*Integer count = wlyySignFamilyDao.getCountByDoctorCode(wlyyAdminTeamMemberDO.getDoctorCode());
            wlyyAdminTeamMemberDO.setSignNum(count==null?0:count);*/
            WlyyAdminTeamDO wlyyAdminTeamDO = wlyyAdminTeamDao.findOne(wlyyAdminTeamMemberDO.getTeamId().intValue());
            if (wlyyAdminTeamDO != null) {
                if (wlyyAdminTeamDO.getLeaderCode().equalsIgnoreCase(wlyyAdminTeamMemberDO.getDoctorCode())) {
                    wlyyAdminTeamMemberDO.setTeamLeader(true);
                    wlyyAdminTeamMemberDO.setTeamLeaderOrder(1);
                }else {
                    wlyyAdminTeamMemberDO.setTeamLeaderOrder(0);
                }
            }else {
                wlyyAdminTeamMemberDO.setTeamLeaderOrder(0);
            }
        }
        list=list.stream().sorted(Comparator.comparing(WlyyAdminTeamMemberDO::getTeamLeaderOrder).reversed()).collect(Collectors.toList());
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setTotalCount(list==null?0:list.size());
        return mixEnvelop;
    }
    public List<BaseTownDO> findTownByCity(String city){
       return baseTownDao.findByCityCode(city);
    }
}

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/wlyy/service/WlyyBusinessService.java

@ -401,7 +401,7 @@ public class WlyyBusinessService {
                }
            }
            try {
                baseOperateLogService.saveOperateLog(doctorId,patientId,"JKDA","查询健康档案","","");
                baseOperateLogService.saveOperateLog(doctorId,patientId,"JKDA","健康档案","","");
            }catch (Exception e){
                e.printStackTrace();
            }

+ 45 - 0
business/base-service/src/main/java/com/yihu/jw/wlyy/wlyyhttp/WlyyHttpService.java

@ -95,6 +95,51 @@ public class WlyyHttpService {
        }
        return null;
    }
    /**
     * @param configId 配置ID
     * @param param key为param,的参数
     * @return
     */
    public JSONObject sendWlyyMesGet(String configId,String param) {
        try{
            OauthWlyyConfigDO oauthWlyyConfigDO = oauthWlyyConfigDao.findOne(configId);
            //token获取accesstoken
            List<NameValuePair> params = new ArrayList<>();
            params.add(new BasicNameValuePair("appid", oauthWlyyConfigDO.getAppId()));
            params.add(new BasicNameValuePair("appSecret", oauthWlyyConfigDO.getAppSecret()));
            String res = httpClientUtil.post(oauthWlyyConfigDO.getTokenUrl(), params, "UTF-8");
            String token = null;
            JSONObject rsjson = JSONObject.parseObject(res);
            logger.info("sendWlyyMes token :" + rsjson.toString());
            Integer status = rsjson.getInteger("status");
            if (status == 10000) {
                //设置头部
                token = rsjson.getJSONObject("result").getString("accesstoken");
                Map<String,Object> headerMap = new HashedMap();
                headerMap.put("accesstoken",token);
                logger.info("sendWlyyMes url :"+oauthWlyyConfigDO.getUrl()+param);
                String rs = httpClientUtil.get(oauthWlyyConfigDO.getUrl()+param,"utf-8",headerMap);
                JSONObject re = JSONObject.parseObject(rs);
                Integer s = re.getInteger("status");
                if(s == 200){
                    return re;
                }else{
                    return null;
                }
            }else{
                return null;
            }
        }catch (Exception e){
            logger.error("sendWlyyMes error:"+e.toString());
        }
        return null;
    }
    
}

+ 0 - 1
business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java

@ -3748,7 +3748,6 @@ public class StatisticsEsService {
            List<SaveModel> total = elasticsearchUtil.findListDateQuotaLevel1(startDate, endDate, area, level, index1, SaveModel.timeLevel_ZL, null,lowCode);
            //已结束
            List<SaveModel> endTotal = elasticsearchUtil.findListDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, null,lowCode,"3");
            logger.info("total"+total==null?"0":String.valueOf(total.size())+";"+total.get(0).getResult1());
            //已接诊
            List<SaveModel> haveReceiveTotal = elasticsearchUtil.findListDateQuotaLevel2(startDate, endDate, area, level, index1, SaveModel.timeLevel_ZL, null,lowCode,"1");
            //未接诊

+ 156 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/DmHospitalDO.java

@ -0,0 +1,156 @@
package com.yihu.jw.entity.hospital;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 医院
 *
 * @author George
 */
@Entity
@Table(name = "dm_hospital")
public class DmHospitalDO extends IntegerIdentityEntity {
	private static final long serialVersionUID = 8039389705624435301L;
	private String code;            // 医院編碼
	private String name;	        // 医院名稱
	private String del;             // 作废标志
	private String province;        //省份标志
	private String provinceName;    //省份名称
	private String city;            //城市标志
	private String cityName;        //城市名称
	private String town;            //区县标志
	private String townName;        //区县名称
	private Integer level;          //级别,1医院,2社区医院
	private String address;         //医院详细地址
	private String intro;           //医院简介
	private String photo;           //医院图片
	private String roadCode;        //街道编码
	private String centerSite;      //中心/站点
	public String getDel() {
		return del;
	}
	public void setDel(String del) {
		this.del = del;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getProvince() {
		return province;
	}
	public void setProvince(String province) {
		this.province = province;
	}
	public String getProvinceName() {
		return provinceName;
	}
	public void setProvinceName(String provinceName) {
		this.provinceName = provinceName;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	public String getCityName() {
		return cityName;
	}
	public void setCityName(String cityName) {
		this.cityName = cityName;
	}
	public String getTown() {
		return town;
	}
	public void setTown(String town) {
		this.town = town;
	}
	public String getTownName() {
		return townName;
	}
	public void setTownName(String townName) {
		this.townName = townName;
	}
	public Integer getLevel() {
		return level;
	}
	public void setLevel(Integer level) {
		this.level = level;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getIntro() {
		return intro;
	}
	public void setIntro(String intro) {
		this.intro = intro;
	}
	public String getPhoto() {
		return photo;
	}
	public void setPhoto(String photo) {
		this.photo = photo;
	}
	@Column(name="road_code")
	public String getRoadCode() {
		return roadCode;
	}
	public void setRoadCode(String roadCode) {
		this.roadCode = roadCode;
	}
	@Column(name="center_site")
	public String getCenterSite() {
		return centerSite;
	}
	public void setCenterSite(String centerSite) {
		this.centerSite = centerSite;
	}
}

+ 141 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/BaseAdviceTreatmentDO.java

@ -0,0 +1,141 @@
package com.yihu.jw.entity.hospital.prescription;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;
/**
* 治疗建议
*
* @author Administrator on  2019年05月16日
*
*/
@Entity
@Table(name = "base_advice_treatment")
public class BaseAdviceTreatmentDO extends UuidIdentityEntity {
    /**
     * 关联outpatientid
     */
    private String relationCode;
    /**
     * 1可用 0删除
     */
    private Integer del;
    /**
     * 诊断编码
     */
    private String diagnosis;
    /**
     * 诊断名称
     */
    private String diagnosisName;
    /**
     * 检查
     */
    private String inspection;
    /**
     * 治疗建议
     */
    private String treatment;
    private Double drugFee;
    private String check;
    private Date createTime;
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    @Transient
    private List<WlyyPrescriptionInfoDO> infoList;
    @Transient
    public List<WlyyPrescriptionInfoDO> getInfoList() {
        return infoList;
    }
    public void setInfoList(List<WlyyPrescriptionInfoDO> infoList) {
        this.infoList = infoList;
    }
    @Column(name = "check_treat")
    public String getCheck() {
        return check;
    }
    public void setCheck(String check) {
        this.check = check;
    }
    @Column(name = "drug_fee")
    public Double getDrugFee() {
        return drugFee;
    }
    public void setDrugFee(Double drugFee) {
        this.drugFee = drugFee;
    }
    @Column(name = "relation_code")
    public String getRelationCode() {
        return relationCode;
    }
    public void setRelationCode(String relationCode) {
        this.relationCode = relationCode;
    }
    @Column(name = "diagnosis")
    public String getDiagnosis() {
        return diagnosis;
    }
    public void setDiagnosis(String diagnosis) {
        this.diagnosis = diagnosis;
    }
    @Column(name = "diagnosis_name")
    public String getDiagnosisName() {
        return diagnosisName;
    }
    public void setDiagnosisName(String diagnosisName) {
        this.diagnosisName = diagnosisName;
    }
    @Column(name = "inspection")
    public String getInspection() {
        return inspection;
    }
    public void setInspection(String inspection) {
        this.inspection = inspection;
    }
    @Column(name = "treatment")
    public String getTreatment() {
        return treatment;
    }
    public void setTreatment(String treatment) {
        this.treatment = treatment;
    }
    @Column(name = "del")
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
}

+ 146 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamDO.java

@ -0,0 +1,146 @@
package com.yihu.jw.entity.hospital.team;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import javax.persistence.criteria.CriteriaBuilder;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * Created by yww on 2016/11/15.
 */
@Entity
@Table(name = "wlyy_admin_team")
@EntityListeners(AuditingEntityListener.class)
public class WlyyAdminTeamDO implements Serializable {
    private Integer id;
    private static final long serialVersionUID = 1L;
    private String name;            //团队名称
    private Date createTime;              //创建时间
    private Integer available;
    private String orgCode;
    private String orgName;
    private String leaderCode;
    private String leaderName;
    private String mappingCode;
    private String mappingName;
    private Date lastModified;
    private String memberCount;
    @Id
    @Column(name = "id")
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getMemberCount() {
        return memberCount;
    }
    public void setMemberCount(String memberCount) {
        this.memberCount = memberCount;
    }
    //不对应表中字段
    private List<WlyyAdminTeamMemberDO> memberList = new ArrayList<>();
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Integer getAvailable() {
        return available;
    }
    public void setAvailable(Integer available) {
        this.available = available;
    }
    @Column(name = "org_code")
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    @Transient
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    @Column(name = "leader_code")
    public String getLeaderCode() {
        return leaderCode;
    }
    public void setLeaderCode(String leaderCode) {
        this.leaderCode = leaderCode;
    }
    @Column(name = "leader_name")
    public String getLeaderName() {
        return leaderName;
    }
    public void setLeaderName(String leaderName) {
        this.leaderName = leaderName;
    }
    @Column(name = "mapping_code")
    public String getMappingCode() {
        return mappingCode;
    }
    public void setMappingCode(String mappingCode) {
        this.mappingCode = mappingCode;
    }
    @Transient
    public String getMappingName() {
        return mappingName;
    }
    public void setMappingName(String mappingName) {
        this.mappingName = mappingName;
    }
    @Column(name = "last_modified")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getLastModified() {
        return lastModified;
    }
    public void setLastModified(Date lastModified) {
        this.lastModified = lastModified;
    }
    @Transient
    public List<WlyyAdminTeamMemberDO> getMemberList() {
        return memberList;
    }
    public void setMemberList(List<WlyyAdminTeamMemberDO> memberList) {
        this.memberList = memberList;
    }
}

+ 168 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/team/WlyyAdminTeamMemberDO.java

@ -0,0 +1,168 @@
package com.yihu.jw.entity.hospital.team;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.IntegerIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
/**
 * Created by yww on 2016/11/15.
 */
@Entity
@Table(name = "wlyy_admin_team_member")
public class WlyyAdminTeamMemberDO extends IntegerIdentityEntity {
    private static final long serialVersionUID = 1L;
    private Long teamId;
    private String doctorCode;
    private Date joinTime;
    private Integer available;
    private Date lastModified;
    private String photo;
    private String idcard;
    //不对应表字段
    private String doctorName;
    private String mobile;
    private String jobName;
    private Integer level;
    private String levelName;
    private boolean teamLeader;
    private Integer teamLeaderOrder;
    private Integer signNum;
    @Transient
    public Integer getTeamLeaderOrder() {
        return teamLeaderOrder;
    }
    public void setTeamLeaderOrder(Integer teamLeaderOrder) {
        this.teamLeaderOrder = teamLeaderOrder;
    }
    @Column(name = "photo")
    public String getPhoto() {
        return photo;
    }
    public void setPhoto(String photo) {
        this.photo = photo;
    }
    @Transient
    public Integer getSignNum() {
        return signNum;
    }
    public void setSignNum(Integer signNum) {
        this.signNum = signNum;
    }
    @Column(name = "idcard")
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    @Transient
    public boolean isTeamLeader() {
        return teamLeader;
    }
    public void setTeamLeader(boolean teamLeader) {
        this.teamLeader = teamLeader;
    }
    @Column(name = "team_id")
    public Long getTeamId() {
        return teamId;
    }
    public void setTeamId(Long teamId) {
        this.teamId = teamId;
    }
    @Column(name = "doctor_code")
    public String getDoctorCode() {
        return doctorCode;
    }
    public void setDoctorCode(String doctorCode) {
        this.doctorCode = doctorCode;
    }
    @Column(name = "join_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getJoinTime() {
        return joinTime;
    }
    public void setJoinTime(Date joinTime) {
        this.joinTime = joinTime;
    }
    public Integer getAvailable() {
        return available;
    }
    public void setAvailable(Integer available) {
        this.available = available;
    }
    @Column(name = "last_modified")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getLastModified() {
        return lastModified;
    }
    public void setLastModified(Date lastModified) {
        this.lastModified = lastModified;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    @Transient
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    @Transient
    public String getJobName() {
        return jobName;
    }
    public void setJobName(String jobName) {
        this.jobName = jobName;
    }
    @Transient
    public Integer getLevel() {
        return level;
    }
    public void setLevel(Integer level) {
        this.level = level;
    }
    @Transient
    public String getLevelName() {
        return levelName;
    }
    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }
}

+ 11 - 0
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/PostFilter.java

@ -7,6 +7,7 @@ import com.netflix.zuul.ZuulFilter;
import com.netflix.zuul.context.RequestContext;
import com.yihu.jw.entity.base.dict.BaseExceptionLogDO;
import com.yihu.jw.entity.base.dict.BaseExceptionServerDictDO;
import com.yihu.jw.entity.hospital.prescription.BaseAdviceTreatmentDO;
import com.yihu.jw.gateway.AesEncryptUtils;
import com.yihu.jw.gateway.methlog.BaseExceptionService;
@ -106,6 +107,15 @@ public class PostFilter extends ZuulFilter {
                    }catch (Exception s){
                        s.printStackTrace();
                    }
                }else {
                    String  in = ctx.getRequest().getParameter("object");
                    String requestParam = AesEncryptUtils.decrypt(in);
                    baseExceptionLogDO.setRequest(requestParam);
                    baseExceptionLogDO.setExceptionType("其他异常");
                    baseExceptionLogDO.setServiceCode(serviceId);
                    baseExceptionLogDO.setExceptionCode(status);
                    baseExceptionLogDO.setResponse(jsonObject.toString());
                    baseExceptionLogDao.save(baseExceptionLogDO);
                }
            }
        }catch (Exception e){
@ -133,5 +143,6 @@ public class PostFilter extends ZuulFilter {
        return null;
 
    }
 
}

+ 221 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/SyncWlyyHospitalService.java

@ -0,0 +1,221 @@
package com.yihu.jw.service.channel;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jhlabs.image.WoodFilter;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.entity.hospital.DmHospitalDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamDO;
import com.yihu.jw.entity.hospital.team.WlyyAdminTeamMemberDO;
import com.yihu.jw.hospital.HospitalDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamDao;
import com.yihu.jw.hospital.team.dao.WlyyAdminTeamMemberDao;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.wlyy.service.WlyyBusinessService;
import com.yihu.jw.wlyy.wlyyhttp.WlyyHttpService;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.time.DateFormatUtils;
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 java.util.*;
@Service
public class SyncWlyyHospitalService {
    private static final Logger logger = LoggerFactory.getLogger(SyncWlyyHospitalService.class);
    @Autowired
    private WlyyHttpService wlyyHttpService;
    @Autowired
    private HospitalDao hospitalDao;
    @Autowired
    private WlyyAdminTeamDao wlyyAdminTeamDao;
    @Autowired
    private WlyyAdminTeamMemberDao wlyyAdminTeamMemberDao;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    public void syncHospital(String townCode){
        String param="";
        if (StringUtils.isNoneBlank(townCode)){
            param="?townCode="+townCode;
        }
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findHospital",param);
        if(re!=null){
            JSONArray hospitals = JSONArray.parseArray(re.getString("data"));
            logger.info("hospitals size:"+hospitals.size());
            if(hospitals!=null&&hospitals.size()>0){
                Integer addCount = 0;
                Integer updateCount =0;
                for(int i=0;i<hospitals.size();i++){
                    JSONObject h = (JSONObject) hospitals.get(i);
                    String code = h.getString("code");
                    if(!hospitalDao.existsByCode(code)){
                        DmHospitalDO org = new DmHospitalDO();
                        org.setCode(code);
                        org.setName(h.getString("name"));
                        org.setProvince(h.getString("province"));
                        org.setProvinceName(h.getString("provinceName"));
                        org.setCity(h.getString("city"));
                        org.setCityName(h.getString("cityName"));
                        org.setTown(h.getString("town"));
                        org.setTownName(h.getString("townName"));
                        org.setLevel(h.getInteger("level"));
                        org.setDel("1");
                        hospitalDao.save(org);
                        addCount++;
                    }else{
                        DmHospitalDO org = hospitalDao.findByCode(code);
                        org.setName(h.getString("name"));
                        org.setProvince(h.getString("province"));
                        org.setProvinceName(h.getString("provinceName"));
                        org.setCity(h.getString("city"));
                        org.setCityName(h.getString("cityName"));
                        org.setTown(h.getString("town"));
                        org.setTownName(h.getString("townName"));
                        org.setLevel(h.getInteger("level"));
                        hospitalDao.save(org);
                        updateCount++;
                    }
                }
                logger.info("hospitals addCount:"+addCount+" updateCount:"+updateCount);
            }
        }
    }
    public void syncTeam(String orgCode){
        String param="";
        if(StringUtils.isNotBlank(orgCode)){
            param="?orgCode="+orgCode;
        }
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findHospitalTeam",param);
        if(re!=null){
            JSONArray teamlisf = JSONArray.parseArray(re.getString("data"));
            logger.info("team size:"+teamlisf.size());
            if(teamlisf!=null&&teamlisf.size()>0){
                Integer addCount = 0;
                Integer updateCount =0;
                for(int i=0;i<teamlisf.size();i++){
                    JSONObject h = (JSONObject) teamlisf.get(i);
                    if ("true".equalsIgnoreCase(h.getString("available"))){
                        h.put("available",1);
                    }else {
                        h.put("available",0);
                    }
                    WlyyAdminTeamDO wlyyAdminTeam =JSON.toJavaObject(h,WlyyAdminTeamDO.class);
                    WlyyAdminTeamDO wlyyAdminTeamDO=wlyyAdminTeamDao.findOne(wlyyAdminTeam.getId());
                    if(wlyyAdminTeamDO==null){
                        addCount++;
                    }else{
                        updateCount++;
                    }
                    wlyyAdminTeamDao.save(wlyyAdminTeam);
                }
                logger.info("team addCount:"+addCount+" updateCount:"+updateCount);
            }
        }
    }
    public void syncTeamMember(String teamId){
        List<WlyyAdminTeamDO> list=wlyyAdminTeamDao.findTeamAndAvailable();
        String wlyyDomainUrl="";
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("wlyyDomainUrl");
        if (wlyyHospitalSysDictDO!=null){
            wlyyDomainUrl=wlyyHospitalSysDictDO.getDictValue();
        }
        for (WlyyAdminTeamDO wlyyAdminTeamDO:list){
            String param="";
            if (StringUtils.isNoneBlank(teamId)){
                param="?teamId="+teamId;
            }else if(null!=wlyyAdminTeamDO.getId()){
                param="?teamId="+wlyyAdminTeamDO.getId();
            }
            JSONObject re = wlyyHttpService.sendWlyyMesGet("findTeamMembers",param);
            if(re!=null){
                JSONArray teamlisf = JSONArray.parseArray(re.getString("data"));
                logger.info("member size:"+teamlisf.size());
                if(teamlisf!=null&&teamlisf.size()>0){
                    Integer addCount = 0;
                    Integer updateCount =0;
                    for(int i=0;i<teamlisf.size();i++){
                        JSONObject h = (JSONObject) teamlisf.get(i);
                        if ("true".equalsIgnoreCase(h.getString("available"))){
                            h.put("available",1);
                        }else {
                            h.put("available",0);
                        }
                        WlyyAdminTeamMemberDO wlyyAdminTeamMember =JSON.toJavaObject(h,WlyyAdminTeamMemberDO.class);
                        if (StringUtils.isNoneBlank(wlyyAdminTeamMember.getPhoto())&&wlyyAdminTeamMember.getPhoto().contains("group")){
                            wlyyAdminTeamMember.setPhoto(wlyyDomainUrl+wlyyAdminTeamMember.getPhoto());
                        }
                        WlyyAdminTeamMemberDO wlyyAdminTeamMemberDO=wlyyAdminTeamMemberDao.findOne(wlyyAdminTeamMember.getId());
                        if(wlyyAdminTeamMemberDO==null){
                            wlyyAdminTeamMember.setLastModified(new Date());
                            addCount++;
                        }else{
                            wlyyAdminTeamMember.setLastModified(new Date());
                            updateCount++;
                        }
                        wlyyAdminTeamMemberDao.save(wlyyAdminTeamMember);
                    }
                    logger.info("team addCount:"+addCount+" updateCount:"+updateCount);
                }
            }
            if (StringUtils.isNoneBlank(teamId)){
                break;
            }
        }
    }
    public void syncTeamMemberByTime(String nowTime){
        String param="?modifyTime="+nowTime;
        JSONObject re = wlyyHttpService.sendWlyyMesGet("findTeamMembersByModifyTime",param);
        String wlyyDomainUrl="";
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("wlyyDomainUrl");
        if (wlyyHospitalSysDictDO!=null){
            wlyyDomainUrl=wlyyHospitalSysDictDO.getDictValue();
        }
        if(re!=null){
            JSONArray teamlist = JSONArray.parseArray(re.getString("data"));
            logger.info("member size:"+teamlist.size());
            if(teamlist!=null&&teamlist.size()>0){
                Integer addCount = 0;
                Integer updateCount =0;
                for(int i=0;i<teamlist.size();i++){
                    JSONObject h = (JSONObject) teamlist.get(i);
                    if ("true".equalsIgnoreCase(h.getString("available"))){
                        h.put("available",1);
                    }else {
                        h.put("available",0);
                    }
                    WlyyAdminTeamMemberDO wlyyAdminTeamMember =JSON.toJavaObject(h,WlyyAdminTeamMemberDO.class);
                    if (StringUtils.isNoneBlank(wlyyAdminTeamMember.getPhoto())){
                        wlyyAdminTeamMember.setPhoto(wlyyDomainUrl+wlyyAdminTeamMember.getPhoto());
                    }
                    WlyyAdminTeamMemberDO wlyyAdminTeamMemberDO=wlyyAdminTeamMemberDao.findOne(wlyyAdminTeamMember.getId());
                    if(wlyyAdminTeamMemberDO==null){
                        wlyyAdminTeamMemberDO.setLastModified(new Date());
                        addCount++;
                    }else{
                        wlyyAdminTeamMemberDO.setLastModified(new Date());
                        updateCount++;
                    }
                    wlyyAdminTeamMemberDao.save(wlyyAdminTeamMember);
                }
                logger.info("team addCount:"+addCount+" updateCount:"+updateCount);
            }
        }
    }
}

+ 81 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/util/SyncWlyyHosptialJob.java

@ -0,0 +1,81 @@
package com.yihu.jw.util;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.service.channel.SyncWlyyHospitalService;
import org.apache.commons.lang.time.DateFormatUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@Lazy(false)
@Component
@EnableScheduling
public class SyncWlyyHosptialJob implements SchedulingConfigurer {
    private static final Logger logger = LoggerFactory.getLogger(SyncWlyyHosptialJob.class);
    private static String cron = "0 0 2 * * ?";//"0 0 0 * * ?";0 */5 * * * ?
    public SyncWlyyHosptialJob(){
        cron="0 0 2 * * ?";
        System.out.println("初始化时的corn"+cron);
    }
    @Autowired
    private SyncWlyyHospitalService wlyyHospitalService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Override
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
        taskRegistrar.addTriggerTask(new Runnable() {
            @Override
            public void run() {
                try {
                    WlyyHospitalSysDictDO wlyyHospitalSysDictDO=wlyyHospitalSysDictDao.findById("openSyncWlyy");
                    String openSyncWlyy="0";
                    if (wlyyHospitalSysDictDO!=null){
                        openSyncWlyy=wlyyHospitalSysDictDO.getDictCode();
                    }
                    if ("1".equalsIgnoreCase(openSyncWlyy)){
                        logger.info("START========syncHospital========");
                        wlyyHospitalService.syncHospital("");
                        logger.info("END========syncHospital========");
                        logger.info("START========syncTeam========");
                        wlyyHospitalService.syncTeam("");
                        logger.info("END========syncTeam========");
                        logger.info("START========syncTeamMember========");
                        Calendar calendar = new GregorianCalendar();
                        calendar.setTime(new Date());
                        calendar.add(calendar.DATE,-1);
                        String nowTime= DateFormatUtils.format(calendar,"yyyy-MM-dd");
                        wlyyHospitalService.syncTeamMemberByTime(nowTime);
                        logger.info("END========syncTeamMember========");
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    logger.error("END===ERROE===syncHospital,message:"+e.getMessage());
                }
            }
        }, new Trigger() {
            @Override
            public Date nextExecutionTime(TriggerContext triggerContext) {
                // 任务触发,可修改任务的执行周期
                CronTrigger trigger = new CronTrigger(cron);
                System.out.println("syncHospital,可修改任务的执行周期"+cron);
                Date nextExec = trigger.nextExecutionTime(triggerContext);
                return nextExec;
            }
        });
    }
}

+ 30 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java

@ -16,6 +16,7 @@ import com.yihu.jw.repository.job.QuartzJobConfigDao;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.service.channel.PrescriptionStatusUpdateService;
import com.yihu.jw.service.channel.RemindDoctorService;
import com.yihu.jw.service.channel.SyncWlyyHospitalService;
import com.yihu.jw.service.quota.JobService;
import com.yihu.jw.util.AutoTimeOutRemind;
import com.yihu.jw.util.OverdueJob;
@ -81,6 +82,8 @@ public class JobController extends BaseController {
    private PrescriptionStatusUpdateService prescriptionStatusUpdateService;
    @Autowired
    private RemindDoctorService remindDoctorService;
    @Autowired
    private SyncWlyyHospitalService syncWlyyHospitalService;
    @Autowired
    public JobController(JobService jobService, QuartzHelper quartzHelper) {
@ -739,4 +742,31 @@ public class JobController extends BaseController {
        return success("发送成功");
    }
    @RequestMapping(value = "/syncDmHospital", method = RequestMethod.GET)
    @ApiOperation("syncDmHospital")
    public String syncDmHospital(@RequestParam(value = "param", required = false)String param){
        syncWlyyHospitalService.syncHospital(param);
        return success("操作成功");
    }
    @RequestMapping(value = "/syncTeam", method = RequestMethod.GET)
    @ApiOperation("syncTeam")
    public String syncTeam(@RequestParam(value = "orgCode", required = false)String orgCode){
        syncWlyyHospitalService.syncTeam(orgCode);
        return success("操作成功");
    }
    @RequestMapping(value = "/syncTeamMember", method = RequestMethod.GET)
    @ApiOperation("syncTeamMember")
    public String syncTeamMember(@RequestParam(value = "teamId", required = false)String teamId){
        syncWlyyHospitalService.syncTeamMember(teamId);
        return success("操作成功");
    }
    @RequestMapping(value = "/syncTeamMemberByTime", method = RequestMethod.GET)
    @ApiOperation("syncTeamMemberByTime")
    public String syncTeamMemberByTime(@RequestParam(value = "nowTime", required = false)String nowTime){
        syncWlyyHospitalService.syncTeamMemberByTime(nowTime);
        return success("操作成功");
    }
}

+ 8 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -245,6 +245,8 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
					}else if ("1".equalsIgnoreCase(outpatientDO.getType())){
						consult.setType(1);//图文咨询
					}
				}else if ("2".equalsIgnoreCase(outpatientDO.getOutpatientType())){
					consult.setType(12);//协同门诊
				}
			}
@ -570,7 +572,13 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
					}
					logger.info("发送诊查费支付模板消息end");
				}
				if (outpatientDO.getStatus().equalsIgnoreCase("0")){
					outpatientDO.setStatus("-1");
				}else {
					outpatientDO.setStatus("3");
				}
				outpatientDO.setEndTime(new Date());
				System.out.println(outpatientDO.getStatus()+"================");
				outpatientDao.save(outpatientDO);
				try {
				    ConsultDo consultDo = consultDao.findByRelationCode(outpatientDO.getId());

+ 15 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/BaseDoctorSuggestController.java

@ -57,11 +57,23 @@ public class BaseDoctorSuggestController extends EnvelopRestEndpoint {
    @PostMapping(value= BaseHospitalRequestMapping.DoctorSuggest.saveSuggest)
    @ApiOperation("新增医生反馈建议")
    public Envelop saveSuggest(
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestParam(value = "json", required = false)String json)throws Exception{
            @ApiParam(name = "suggestType", value = "", required = false)
            @RequestParam(value = "suggestType", required = false)String suggestType,
            @ApiParam(name = "suggestContent", value = "", required = false)
            @RequestParam(value = "suggestContent", required = false)String suggestContent,
            @ApiParam(name = "imgUrl", value = "", required = false)
            @RequestParam(value = "imgUrl", required = false)String imgUrl,
            @ApiParam(name = "doctor", value = "", required = false)
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "createUser", value = "", required = false)
            @RequestParam(value = "createUser", required = false)String createUser,
            @ApiParam(name = "relationCode", value = "", required = false)
            @RequestParam(value = "relationCode", required = false)String relationCode,
            @ApiParam(name = "relationType", value = "", required = false)
            @RequestParam(value = "relationType", required = false)String relationType)throws Exception{
        try {
           baseDoctorSuggestService.saveDoctorSuggest(json);
           baseDoctorSuggestService.saveDoctorSuggest(suggestType,suggestContent,imgUrl,doctor,createUser,relationCode,relationType);
            return success("新增成功");
        }catch (Exception e){
            return failedException(e);

+ 97 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/hospital/WlyyAdminTeamController.java

@ -0,0 +1,97 @@
package com.yihu.jw.hospital.endpoint.hospital;
import com.yihu.jw.hospital.team.service.WlyyAdminTeamService;
import com.yihu.jw.restmodel.web.MixEnvelop;
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 javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URL;
import java.util.UUID;
@RestController
@RequestMapping("/wlyyAdminManage")
@Api(value = "社区管理", description = "社区管理", tags = {"互联网医院 - 社区管理"})
public class WlyyAdminTeamController extends EnvelopRestEndpoint {
    @Autowired
    private WlyyAdminTeamService wlyyAdminTeamService;
    @ApiOperation("查询社区")
    @GetMapping("/findOrgList")
    public MixEnvelop findOrgList(@ApiParam(name = "code", value = "code", required = false)
                                           @RequestParam(value = "code", required = false)String code,
                                           @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){
        try {
            return wlyyAdminTeamService.findHospitalByTown(code,page,pageSize);
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
    @ApiOperation("查询团队")
    @GetMapping("/findTeamList")
    public MixEnvelop findTeamList(@ApiParam(name = "city", value = "city", required = false)
                                  @RequestParam(value = "city", required = false)String city,
                                   @ApiParam(name = "town", value = "town", required = false)
                                   @RequestParam(value = "town", required = false)String town,
                                   @ApiParam(name = "orgCode", value = "orgCode", required = false)
                                       @RequestParam(value = "orgCode", required = false)String orgCode,
                                  @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){
        try {
            return wlyyAdminTeamService.findTeamByOrg(city,town,orgCode,page,pageSize);
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
    @ApiOperation("查询医生")
    @GetMapping("/findMemberList")
    public MixEnvelop findMemberList(@ApiParam(name = "code", value = "code", required = false)
                                  @RequestParam(value = "code", required = false)String code,
                                  @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){
        try {
            return wlyyAdminTeamService.findDoctorByTeam(code,page,pageSize);
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
    @ApiOperation("查询区")
    @GetMapping("/findTown")
    public MixEnvelop findTown(@ApiParam(name = "code", value = "code", required = false)
                                     @RequestParam(value = "code", required = false)String code){
        try {
            return MixEnvelop.getSuccess("操作成功",wlyyAdminTeamService.findTownByCity(code));
        }catch (Exception e){
            System.out.println(e.getClass());
            return failedMixEnvelopException(e);
        }
    }
}

+ 14 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -3076,5 +3076,19 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
            return Envelop.getError(e.getMessage());
        }
    }
    @PostMapping("/treatment")
    @ApiOperation(value = "下诊断", notes = "下诊断接口")
    public Envelop treatment(
                                    @ApiParam(name = "infoJsons", value = "药品json")
                                    @RequestParam(value = "infoJsons", required = false)String infoJsons,
                                    @ApiParam(name = "treatmentJson", value = "治疗方案json")
                                    @RequestParam(value = "treatmentJson", required = false)String treatmentJson)throws Exception {
       try {
           BaseAdviceTreatmentDO baseAdviceTreatmentDO = inspectionService.saveTreatment(infoJsons,treatmentJson);
           return success("操作成功");
       }catch (Exception e){
           return Envelop.getError(e.getMessage());
       }
    }
}