Ver código fonte

管理后台修改

wangjun 3 anos atrás
pai
commit
55e9281dfa
23 arquivos alterados com 946 adições e 25 exclusões
  1. 28 2
      business/base-service/src/main/java/com/yihu/jw/complaint/BaseComplaintService.java
  2. 10 0
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseDrugDictDao.java
  3. 10 0
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateDao.java
  4. 14 0
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateDictDao.java
  5. 9 0
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateOrgDao.java
  6. 109 0
      business/base-service/src/main/java/com/yihu/jw/dict/service/BaseDrugDictService.java
  7. 113 0
      business/base-service/src/main/java/com/yihu/jw/dict/service/TemplateManageService.java
  8. 18 2
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  9. 34 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/WorkTimeService.java
  10. 2 2
      business/base-service/src/main/java/com/yihu/jw/order/dao/BusinessOrderDao.java
  11. 9 6
      business/base-service/src/main/java/com/yihu/jw/patient/service/BasePatientService.java
  12. 1 2
      common/common-entity/src/main/java/com/yihu/jw/entity/base/complaint/BaseComplaintDO.java
  13. 268 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseDrugDictDO.java
  14. 57 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseTemplateDO.java
  15. 40 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseTemplateDictDO.java
  16. 49 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseTemplateOrgDO.java
  17. 10 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/doctor/WlyyDoctorWorkTimeVO.java
  18. 1 9
      server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java
  19. 86 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DictDrugEndpoint.java
  20. 1 1
      svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java
  21. 1 1
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java
  22. 29 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  23. 47 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

+ 28 - 2
business/base-service/src/main/java/com/yihu/jw/complaint/BaseComplaintService.java

@ -89,6 +89,12 @@ public class BaseComplaintService {
            baseComplaintDictDO.setUpdateTime(new Date());
            baseComplaintDictDao.save(baseComplaintDictDO);
        }
        List<BaseComplaintDoctorDO> baseComplaintDoctorDOs = baseComplaintDoctorDao.findbyComplaintId(id);
        for (BaseComplaintDoctorDO baseComplaintDoctorDO:baseComplaintDoctorDOs){
            baseComplaintDoctorDO.setIsDel("0");
        }
        baseComplaintDoctorDao.save(baseComplaintDoctorDOs);
        return baseComplaintDictDO;
    }
@ -120,6 +126,26 @@ public class BaseComplaintService {
            String doctorName = "";
            BaseComplaintDoctorDO preDoctor= baseComplaintDoctorDao.findbyDoctorAndDel(doctor);
            BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor);
            List<BaseDoctorRoleDO> baseDoctorRoleDOs = baseDoctorRoleDao.findByDoctorCode(doctor);
            if (baseDoctorRoleDOs==null||baseDoctorRoleDOs.size()==0){
                BaseDoctorRoleDO baseDoctorRoleDO = new BaseDoctorRoleDO();
                baseDoctorRoleDO.setDoctorCode(doctor);
                baseDoctorRoleDO.setRoleCode("specialist");
                baseDoctorRoleDao.save(baseDoctorRoleDO);
            }else if (baseDoctorRoleDOs!=null){
                Boolean addRoleFlag=true;//是否为对应医生添加专科医生角色表示 true即为添加
                for (BaseDoctorRoleDO baseDoctorRoleDO :baseDoctorRoleDOs){
                    if (baseDoctorRoleDO.getRoleCode().equalsIgnoreCase("specialist")){
                        addRoleFlag=false;
                    }
                }
                if(addRoleFlag){
                    BaseDoctorRoleDO baseDoctorRoleDO = new BaseDoctorRoleDO();
                    baseDoctorRoleDO.setDoctorCode(doctor);
                    baseDoctorRoleDO.setRoleCode("specialist");
                    baseDoctorRoleDao.save(baseDoctorRoleDO);
                }
            }
            if (null != baseDoctorDO) {
                doctorName = baseDoctorDO.getName();
            }
@ -390,7 +416,7 @@ public class BaseComplaintService {
                " t.feed_back as \"feedBack\"," +
                " t.feed_img as \"feedImg\"," +
                " t.acceptor as \"acceptor\"," +
                " b.mobile as \"mobile\"," +
                " t.mobile as \"mobile\"," +
                " t.acceptor_name as \"acceptorName\"" +
                "from base_complaint t " +
                " left join base_patient b on t.patient=b.id" +
@ -524,7 +550,7 @@ public class BaseComplaintService {
                " t.feed_back as \"feedBack\"," +
                " t.feed_img as \"feedImg\"," +
                " t.acceptor as \"acceptor\"," +
                " b.mobile as \"mobile\"," +
                " t.mobile as \"mobile\"," +
                " t.acceptor_name as \"acceptorName\"" +
                " from base_complaint t " +
                " left join base_patient b on t.patient=b.id" +

+ 10 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseDrugDictDao.java

@ -0,0 +1,10 @@
package com.yihu.jw.dict.dao;
import com.yihu.jw.entity.base.dict.BaseDrugDictDO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseDrugDictDao  extends PagingAndSortingRepository<BaseDrugDictDO, String>, JpaSpecificationExecutor<BaseDrugDictDO> {
}

+ 10 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateDao.java

@ -0,0 +1,10 @@
package com.yihu.jw.dict.dao;
import com.yihu.jw.entity.base.dict.BaseTemplateDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseTemplateDao extends PagingAndSortingRepository<BaseTemplateDO, String>, JpaSpecificationExecutor<BaseTemplateDO> {
}

+ 14 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateDictDao.java

@ -0,0 +1,14 @@
package com.yihu.jw.dict.dao;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateOrgDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseTemplateDictDao extends PagingAndSortingRepository<BaseTemplateDictDO, String>, JpaSpecificationExecutor<BaseTemplateDictDO> {
    @Query("select  count(1) from BaseTemplateDictDO t where t.isDel = '1' and t.templateId=?1")
    Integer getCountByTemplateId(String templateId);
    BaseTemplateDictDO findByDictIdAndTemplateId(String dictId,String templateId);
}

+ 9 - 0
business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateOrgDao.java

@ -0,0 +1,9 @@
package com.yihu.jw.dict.dao;
import com.yihu.jw.entity.base.dict.BaseDrugDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateOrgDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface BaseTemplateOrgDao extends PagingAndSortingRepository<BaseTemplateOrgDO, String>, JpaSpecificationExecutor<BaseTemplateOrgDO> {
}

+ 109 - 0
business/base-service/src/main/java/com/yihu/jw/dict/service/BaseDrugDictService.java

@ -0,0 +1,109 @@
package com.yihu.jw.dict.service;
import com.sun.jndi.toolkit.dir.SearchFilter;
import com.yihu.jw.dict.dao.BaseDrugDictDao;
import com.yihu.jw.entity.base.dict.BaseDrugDictDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.hospital.prescription.BaseNationalDrugDictDO;
import com.yihu.jw.hospital.prescription.dao.BaseNationalDrugDictDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.util.common.ConvertToSpellUtils;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.yihu.jw.util.common.BeanUtils.getNullPropertyNames;
@Service
public class BaseDrugDictService extends BaseJpaService<BaseDrugDictDO, BaseDrugDictDao> {
    @Autowired
    private HibenateUtils hibenateUtils;
    @Autowired
    private BaseDrugDictDao baseDrugDictDao;
    public BaseDrugDictDO saveNationalDrug(BaseDrugDictDO nationalDrugDictDO) {
        //判断新增或编辑
        if (nationalDrugDictDO.getId() == null) {
            nationalDrugDictDO.setCreate_time(new Date());
            nationalDrugDictDO.setUpdate_time(new Date());
            return baseDrugDictDao.save(nationalDrugDictDO);
        }else {
            BaseDrugDictDO oldDurgDictDO =  baseDrugDictDao.findOne(nationalDrugDictDO.getId());
            BeanUtils.copyProperties(nationalDrugDictDO, oldDurgDictDO, getNullPropertyNames(nationalDrugDictDO));
            oldDurgDictDO.setUpdate_time(new Date());
            return baseDrugDictDao.save(oldDurgDictDO);
        }
    }
    public MixEnvelop  findDrugDict(String name,String status,Integer page,Integer pageSize){
        String sql = "select t.id as \"id\"," +
                " t.charge_code as \"charge_code\"," +
                " t.drugname as \"drugname\"," +
                " t.specification as \"specification\"," +
                " t.py_code as \"py_code\"," +
                " t.supply_code as \"supply_code\"," +
                " t.supply_name as \"supply_name\"," +
                " t.retprice as \"retprice\"," +
                " t.manu_name as \"manu_name\"," +
                " t.weigh_unit as \"weigh_unit\"," +
                " t.mini_unit_name as \"mini_unit_name\"," +
                " t.pack_unit_name as \"pack_unit_name\"," +
                " t.weigh_unit_name as \"weigh_unit_name\"," +
                " t.vol_unit_name as \"vol_unit_name\"," +
                " t.win_no as \"win_no\"," +
                " t.pack_retprice as \"pack_retprice\"," +
                " t.mini_unit as \"mini_unit\"," +
                " t.pack_size as \"pack_size\"," +
                " t.action as \"action\"," +
                " t.serial as \"serial\"," +
                " t.group_no as \"group_no\"," +
                " t.stock_amount as \"stock_amount\"," +
                " t.visible_flag as \"visible_flag\"," +
                " t.drug_flag as \"drug_flag\"," +
                " t.create_time as \"create_time\"," +
                " t.update_time as \"update_time\"," +
                " t.status as \"status\"," +
                " t.is_del as \"is_del\"" +
                " from base_drug_dict t " +
                " where t.is_del='1' ";
        String sqlCount = "select count(1) as \"count\" from base_drug_dict t where t.is_del='1' ";
        if (StringUtils.isNoneBlank(name)){
            sql+=" and t.drugname like '%"+name+"%'";
            sqlCount+=" and t.drugname like '%"+name+"%'";
        }
        if (StringUtils.isNoneBlank(status)){
            sql+=" and t.status = '"+status+"'";
            sqlCount+=" and t.status = '"+status+"'";
        }
        List<Map<String,Object>> coutList=hibenateUtils.createSQLQuery(sqlCount);
        Integer count=0 ;
        if (coutList!=null&&coutList.size()>0){
            count=Integer.valueOf(coutList.get(0).get("count").toString());
        }
        List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setTotalCount(count);
        return mixEnvelop;
    }
    public BaseDrugDictDO findOneDrug(String id){
        return baseDrugDictDao.findOne(id);
    }
}

+ 113 - 0
business/base-service/src/main/java/com/yihu/jw/dict/service/TemplateManageService.java

@ -0,0 +1,113 @@
package com.yihu.jw.dict.service;
import com.yihu.jw.dict.dao.BaseDrugDictDao;
import com.yihu.jw.dict.dao.BaseTemplateDao;
import com.yihu.jw.dict.dao.BaseTemplateDictDao;
import com.yihu.jw.dict.dao.BaseTemplateOrgDao;
import com.yihu.jw.entity.base.dict.BaseTemplateDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import jdk.nashorn.internal.ir.IfNode;
import jdk.nashorn.internal.runtime.ListAdapter;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
public class TemplateManageService {
    @Autowired
    private BaseDrugDictDao baseDrugDictDao;
    @Autowired
    private BaseTemplateDao baseTemplateDao;
    @Autowired
    private BaseTemplateDictDao baseTemplateDictDao;
    @Autowired
    private BaseTemplateOrgDao baseTemplateOrgDao;
    @Autowired
    private HibenateUtils hibenateUtils;
    public MixEnvelop findTempalte(String templateType,Integer page ,Integer pageSize){
        String sql =" select t.id as \"id\" ," +
                " t.name as \"name\"," +
                " t.code as \"code\"," +
                " t.children_count as \"childrenCount\"," +
                " t.update_user as \"updateUser\"," +
                " t.update_user_name as \"updateUserName\"," +
                " t.update_time as \"updateTime\"," +
                " t.template_type as \"templateType\"," +
                " t.is_del as \"isDel\" " +
                " from base_template t " +
                " where t.is_del='1' ";
        String sqlCount=" select count(1) as \"count\" from base_template t where t.is_del='1'";
        if (StringUtils.isNotBlank(templateType)){
            sql+= " and t.template_type='"+templateType+"'";
            sqlCount+= " and t.template_type='"+templateType+"'";
        }
        sql+=" order by t.update_time desc";
        Integer count=0;
        List<Map<String,Object>> countList=hibenateUtils.createSQLQuery(sql);
        if (countList!=null&&countList.size()>0){
            count = Integer.parseInt(countList.get(0).get("count").toString());
        }
        List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
        MixEnvelop mixEnvelop = new MixEnvelop();
        mixEnvelop.setDetailModelList(list);
        mixEnvelop.setPageSize(pageSize);
        mixEnvelop.setCurrPage(page);
        mixEnvelop.setTotalCount(count);
        return mixEnvelop;
    }
   public void addOrRemoveChildrenDict(String templateId,String dictId,String isDel){
       BaseTemplateDictDO baseTemplateDictDO = baseTemplateDictDao.findByDictIdAndTemplateId(dictId,templateId);
       if ("1".equalsIgnoreCase(isDel)){
           if (baseTemplateDictDO!=null){
               baseTemplateDictDO.setIsDel("1");
           }else {
               baseTemplateDictDO = new BaseTemplateDictDO();
               baseTemplateDictDO.setTemplateId(templateId);
               baseTemplateDictDO.setDictId(dictId);
               baseTemplateDictDO.setCreateTime(new Date());
               baseTemplateDictDO.setIsDel("1");
           }
       }else {
           if (baseTemplateDictDO!=null){
               baseTemplateDictDO.setIsDel("0");
           }
       }
       baseTemplateDictDao.save(baseTemplateDictDO);
       BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
       Integer chuildrenCount =  baseTemplateDictDao.getCountByTemplateId(templateId);
       if (baseTemplateDO !=null ){
           baseTemplateDO.setChildrenCount(chuildrenCount.toString());
       }
       baseTemplateDao.save(baseTemplateDO);
   }
   public void saveOrUpdateTemplate(String templateId,String code,String name,String user,String userName,String templateType){
       BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
       if (baseTemplateDO!=null){
           baseTemplateDO.setCode(code);
           baseTemplateDO.setName(name);
           baseTemplateDO.setUpdateTime(new Date());
           baseTemplateDO.setUpdateUser(user);
           baseTemplateDO.setUpdateUserName(userName);
           baseTemplateDO.setTemplateType(templateType);
       }else {
           baseTemplateDO = new BaseTemplateDO();
           baseTemplateDO.setCode(code);
           baseTemplateDO.setName(name);
           baseTemplateDO.setCreateTime(new Date());
           baseTemplateDO.setCreateUser(user);
           baseTemplateDO.setCreateUserName(userName);
           baseTemplateDO.setTemplateType(templateType);
           baseTemplateDO.setIsDel("1");
       }
       baseTemplateDao.save(baseTemplateDO);
   }
}

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

@ -1815,6 +1815,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    if (timeVOs != null && timeVOs.size() > 0) {
                        for (WlyyDoctorWorkTimeVO timeVO : timeVOs) {
                            timeVO.setCount(findWorkTimeInfoCout(timeVO.getId()));
                            try {
                                timeVO.setWeekday(getDayForWeek(DateUtil.dateToStr(timeVO.getStartTime(),"yyyy-MM-dd")));
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                        }
                    }
                }
@ -1823,7 +1828,18 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
        return null;
    }
    public Integer getDayForWeek(String pTime) throws Exception {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar c = Calendar.getInstance();
        c.setTime(format.parse(pTime));
        Integer dayForWeek = 0;
        if (c.get(Calendar.DAY_OF_WEEK) == 1) {
            dayForWeek = 7;
        } else {
            dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;
        }
        return dayForWeek;
    }
    /**
     * 查询医生列表带月份排班状态
     *
@ -6670,7 +6686,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                rs.put("flag","0");
            }
        }else {
            rs.put("flag","0");
            rs.put("flag","1");
        }
        rs.put("id", patient);
        rs.put("name", basePatientDO.getName());

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

@ -17,6 +17,7 @@ import com.yihu.jw.hospital.doctor.dao.DoctorWorkTimeDao;
import com.yihu.jw.hospital.prescription.dao.WlyyHospitalWorkRuleDao;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
@ -412,5 +413,38 @@ public class WorkTimeService {
//
//        System.out.println(monthDay);
//    }
    public String  findChargeTypeByDoctor(String doctor,String chargeType){
        JSONObject jsonObject = new JSONObject();
        String sqlCharge = "SELECT\n" +
                "\tt.id as \"id\",\n" +
                "\tt.name as \"name\",\n" +
                "\tt.idcard as \"idcard\",\n" +
                "\tm.req_fee as \"twfzFee\",\n" +
                "\ta.req_fee as \"spfzFee\",\n" +
                "\tb.req_fee as \"spzxFee\",\n" +
                "\tv.req_fee as \"twzxFee\",\n" +
                "\tg.req_fee as \"jyzxFee\",\n" +
                "\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 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+"' ";
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sqlCharge);
        String chargeFee="";
       if (list!=null&&list.size()>0){
           Map<String,Object> map = list.get(0);
           if (StringUtils.isNoneBlank(chargeType)){
               System.out.println("=="+map.get("spfzFee"));
               chargeFee= map.get(chargeType)==null?"":map.get(chargeType).toString();
           }
       }
        return chargeFee;
    }
}

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

@ -35,6 +35,6 @@ public interface BusinessOrderDao extends PagingAndSortingRepository<BusinessOrd
    @Query("from BusinessOrderDO w where w.patient = ?1 and w.status=?2  and w.orderCategory =?3")
    List<BusinessOrderDO> selectByPatientAndStatusAndOrderCategory(String patient,Integer status,String orderCategory);
    @Query("from BusinessOrderDO  w where w.status=0 and w.lastPayTime<=?1")
    List<BusinessOrderDO> selectByLastPayTime(Long lastPayTime);
   /* @Query("from BusinessOrderDO  w where w.status=0 and w.lastPayTime<=?1")
    List<BusinessOrderDO> selectByLastPayTime(Long lastPayTime);*/
}

+ 9 - 6
business/base-service/src/main/java/com/yihu/jw/patient/service/BasePatientService.java

@ -645,13 +645,13 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
    }
    public PageEnvelop pageByCondition(String name, Integer archiveType, Integer archiveStatus,int page,int size){
        List<BasePatientVO> list = new ArrayList<>();
        List<Map<String ,Object>> list = new ArrayList<>();
        if (page>0){
            page--;
        }else{
            page=0;
        }
        String sqlCount = "select count(*) from base_patient where 1=1 ";
        String sqlCount = "select count(*) as \"total\" from base_patient where 1=1 ";
        String sql = "select * from base_patient where 1=1 ";
        String sqlCondition = "";
        if (StringUtils.isNotBlank(name)){
@ -663,10 +663,13 @@ public class BasePatientService<T, R extends CrudRepository> extends BaseJpaServ
        if (archiveStatus!=null){
            sqlCondition += " and archive_status ="+archiveStatus;
        }
        Long count = jdbcTemplate.queryForObject(sqlCount+sqlCondition,Long.class);
        sqlCondition +=" limit "+page*size+","+size;
        list = jdbcTemplate.query(sql+sqlCondition,new BeanPropertyRowMapper<>(BasePatientVO.class));
        return PageEnvelop.getSuccessListWithPage("success",list,page,size,count);
        List<Map<String ,Object>> count = hibenateUtils.createSQLQuery(sqlCount+sqlCondition);
        Long cou=0l;
        if (count!=null&&count.size()>0){
            cou= Long.valueOf(count.get(0).get("total").toString());
        }
        list = hibenateUtils.createSQLQuery(sql+sqlCondition,page,size);
        return PageEnvelop.getSuccessListWithPage("success",list,page,size,cou);
    }

+ 1 - 2
common/common-entity/src/main/java/com/yihu/jw/entity/base/complaint/BaseComplaintDO.java

@ -30,7 +30,6 @@ public class BaseComplaintDO  extends UuidIdentityEntity {
    private String imgUrl;
    private String isDel;
    private String status;
    @Transient
    private String mobile;
    private String visitTypeName;
    @Transient
@ -42,7 +41,7 @@ public class BaseComplaintDO  extends UuidIdentityEntity {
        this.visitTypeName = visitTypeName;
    }
    @Transient
    @Column(name = "mobile")
    public String getMobile() {
        return mobile;
    }

+ 268 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseDrugDictDO.java

@ -0,0 +1,268 @@
package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@Entity
@Table(name = "base_drug_dict")
public class BaseDrugDictDO extends UuidIdentityEntity {
    private String charge_code;
    private String drugname;
    private String specification;
    private String py_code;
    private String supply_code;
    private String supply_name;
    private String retprice;
    private String manu_name;
    private String weigh_unit;
    private String mini_unit_name;
    private String pack_unit_name;
    private String weigh_unit_name;
    private String vol_unit_name;
    private String win_no;
    private String pack_retprice;
    private String jbyw;
    private String mini_unit;
    private String pack_size;
    private String action;
    private String serial;
    private String group_no;
    private String stock_amount;
    private String visible_flag;
    private String drug_flag;
    private Date create_time;
    private String status;
    private Date update_time;
    private String is_del;
    @Column(name = "is_del")
    public String getIs_del() {
        return is_del;
    }
    public void setIs_del(String is_del) {
        this.is_del = is_del;
    }
    @Column(name = "update_time")
    public Date getUpdate_time() {
        return update_time;
    }
    public void setUpdate_time(Date update_time) {
        this.update_time = update_time;
    }
    @Column(name = "charge_code")
    public String getCharge_code() {
        return charge_code;
    }
    public void setCharge_code(String charge_code) {
        this.charge_code = charge_code;
    }
    @Column(name = "drugname")
    public String getDrugname() {
        return drugname;
    }
    public void setDrugname(String drugname) {
        this.drugname = drugname;
    }
    @Column(name = "specification")
    public String getSpecification() {
        return specification;
    }
    public void setSpecification(String specification) {
        this.specification = specification;
    }
    @Column(name = "py_code")
    public String getPy_code() {
        return py_code;
    }
    public void setPy_code(String py_code) {
        this.py_code = py_code;
    }
    @Column(name = "supply_code")
    public String getSupply_code() {
        return supply_code;
    }
    public void setSupply_code(String supply_code) {
        this.supply_code = supply_code;
    }
    @Column(name = "supply_name")
    public String getSupply_name() {
        return supply_name;
    }
    public void setSupply_name(String supply_name) {
        this.supply_name = supply_name;
    }
    @Column(name = "retprice")
    public String getRetprice() {
        return retprice;
    }
    public void setRetprice(String retprice) {
        this.retprice = retprice;
    }
    @Column(name = "manu_name")
    public String getManu_name() {
        return manu_name;
    }
    public void setManu_name(String manu_name) {
        this.manu_name = manu_name;
    }
    @Column(name = "weigh_unit")
    public String getWeigh_unit() {
        return weigh_unit;
    }
    public void setWeigh_unit(String weigh_unit) {
        this.weigh_unit = weigh_unit;
    }
    @Column(name = "mini_unit_name")
    public String getMini_unit_name() {
        return mini_unit_name;
    }
    public void setMini_unit_name(String mini_unit_name) {
        this.mini_unit_name = mini_unit_name;
    }
    @Column(name = "pack_unit_name")
    public String getPack_unit_name() {
        return pack_unit_name;
    }
    public void setPack_unit_name(String pack_unit_name) {
        this.pack_unit_name = pack_unit_name;
    }
    @Column(name = "weigh_unit_name")
    public String getWeigh_unit_name() {
        return weigh_unit_name;
    }
    public void setWeigh_unit_name(String weigh_unit_name) {
        this.weigh_unit_name = weigh_unit_name;
    }
    @Column(name = "vol_unit_name")
    public String getVol_unit_name() {
        return vol_unit_name;
    }
    public void setVol_unit_name(String vol_unit_name) {
        this.vol_unit_name = vol_unit_name;
    }
    @Column(name = "win_no")
    public String getWin_no() {
        return win_no;
    }
    public void setWin_no(String win_no) {
        this.win_no = win_no;
    }
    @Column(name = "pack_retprice")
    public String getPack_retprice() {
        return pack_retprice;
    }
    public void setPack_retprice(String pack_retprice) {
        this.pack_retprice = pack_retprice;
    }
    @Column(name = "jbyw")
    public String getJbyw() {
        return jbyw;
    }
    public void setJbyw(String jbyw) {
        this.jbyw = jbyw;
    }
    @Column(name = "mini_unit")
    public String getMini_unit() {
        return mini_unit;
    }
    public void setMini_unit(String mini_unit) {
        this.mini_unit = mini_unit;
    }
    @Column(name = "pack_size")
    public String getPack_size() {
        return pack_size;
    }
    public void setPack_size(String pack_size) {
        this.pack_size = pack_size;
    }
    @Column(name = "action")
    public String getAction() {
        return action;
    }
    public void setAction(String action) {
        this.action = action;
    }
    @Column(name = "serial")
    public String getSerial() {
        return serial;
    }
    public void setSerial(String serial) {
        this.serial = serial;
    }
    @Column(name = "group_no")
    public String getGroup_no() {
        return group_no;
    }
    public void setGroup_no(String group_no) {
        this.group_no = group_no;
    }
    @Column(name = "stock_amount")
    public String getStock_amount() {
        return stock_amount;
    }
    public void setStock_amount(String stock_amount) {
        this.stock_amount = stock_amount;
    }
    @Column(name = "visible_flag")
    public String getVisible_flag() {
        return visible_flag;
    }
    public void setVisible_flag(String visible_flag) {
        this.visible_flag = visible_flag;
    }
    @Column(name = "drug_flag")
    public String getDrug_flag() {
        return drug_flag;
    }
    public void setDrug_flag(String drug_flag) {
        this.drug_flag = drug_flag;
    }
    @Column(name = "create_time")
    public Date getCreate_time() {
        return create_time;
    }
    public void setCreate_time(Date create_time) {
        this.create_time = create_time;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
}

+ 57 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseTemplateDO.java

@ -0,0 +1,57 @@
package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_template")
public class BaseTemplateDO extends UuidIdentityEntityWithOperator {
    private String name;
    private String code;
    private String childrenCount;
    private String isDel;
    private String templateType;
    @Column(name = "name")
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Column(name = "code")
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    @Column(name = "children_count")
    public String getChildrenCount() {
        return childrenCount;
    }
    public void setChildrenCount(String childrenCount) {
        this.childrenCount = childrenCount;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    @Column(name = "template_type")
    public String getTemplateType() {
        return templateType;
    }
    public void setTemplateType(String templateType) {
        this.templateType = templateType;
    }
}

+ 40 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseTemplateDictDO.java

@ -0,0 +1,40 @@
package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_template_dict")
public class BaseTemplateDictDO extends UuidIdentityEntityWithCreateTime {
    private String dictId;
    private String isDel;
    private String templateId;
    @Column(name = "dict_id")
    public String getDictId() {
        return dictId;
    }
    public void setDictId(String dictId) {
        this.dictId = dictId;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    @Column(name = "template_id")
    public String getTemplateId() {
        return templateId;
    }
    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }
}

+ 49 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/dict/BaseTemplateOrgDO.java

@ -0,0 +1,49 @@
package com.yihu.jw.entity.base.dict;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import org.springframework.beans.factory.annotation.Autowired;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "base_template_org")
public class BaseTemplateOrgDO extends UuidIdentityEntityWithCreateTime {
    private String templateId;
    private String orgCode;
    private String isDel;
    private String orgName;
    @Column(name = "template_id")
    public String getTemplateId() {
        return templateId;
    }
    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }
    @Column(name = "org_code")
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    @Column(name = "is_del")
    public String getIsDel() {
        return isDel;
    }
    public void setIsDel(String isDel) {
        this.isDel = isDel;
    }
    @Column(name = "org_name")
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
}

+ 10 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/doctor/WlyyDoctorWorkTimeVO.java

@ -54,6 +54,16 @@ public class WlyyDoctorWorkTimeVO {
    @ApiModelProperty(value = "创建人类型1医院2医生", example = "模块1")
    private Integer createUserType;//创建人类型1医院2医生
    @ApiModelProperty(value = "当前号源时间的星期数", example = "模块1")
    private Integer weekday;//创建人类型1医院2医生
    public Integer getWeekday() {
        return weekday;
    }
    public void setWeekday(Integer weekday) {
        this.weekday = weekday;
    }
    public String getId() {
        return id;

+ 1 - 9
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -267,15 +267,7 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
        if (wlyyHospitalSysDictDO!=null){
            isNeedGeet=wlyyHospitalSysDictDO.getDictValue();
        }
        if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)&&"1".equalsIgnoreCase(isNeedGeet)){
            String geetestChallenge = parameters.get("geetestChallenge");
            String geetestValidate = parameters.get("geetestValidate");
            String geetestSeccode = parameters.get("geetestSeccode");
            JSONObject resResult =validateGeet(geetestChallenge,geetestValidate,geetestSeccode,"1");
            if (resResult==null||!resResult.getString("result").equalsIgnoreCase("success")){
                throw new  Exception("验证失败");
            }
        }
        if(org.apache.commons.lang3.StringUtils.isNotBlank(key)&& org.apache.commons.lang3.StringUtils.isNotBlank(text)){
            if(!verifyCaptcha(key,text)){
                throw new ImgCaptchaException("img_captcha error");

+ 86 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DictDrugEndpoint.java

@ -0,0 +1,86 @@
package com.yihu.jw.base.endpoint.dict;
import com.yihu.jw.entity.hospital.prescription.BaseNationalDrugDictDO;
import com.yihu.jw.hospital.prescription.service.NationalDrugDictService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.Prescription.PREFIX)
@Api(value = "药品字典维护", description = "药品字典维护", tags = {"药品字典维护"})
public class DictDrugEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private NationalDrugDictService nationalDrugDictService;
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveNationalDrug)
    @ApiOperation(value = "保存药品字典接口")
    public ObjEnvelop saveNationalDrug(@ApiParam(name = "jsonData", value = "药品json串")
                                       @RequestParam(name = "jsonData", required = true) String jsonData) throws Exception {
        try {
            BaseNationalDrugDictDO nationalDrugDictDO = objectMapper.readValue(jsonData, BaseNationalDrugDictDO.class);
            return success(nationalDrugDictService.saveNationalDrug(nationalDrugDictDO));
        }catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getNationalDrugList)
    @ApiOperation(value = "获取药品字典接口")
    public MixEnvelop getNationalDrugList(@ApiParam(name = "name", value = "药品名称")
                                          @RequestParam(name = "name", required = false) String name,
                                          @ApiParam(name = "number", value = "药品编码")
                                          @RequestParam(name = "number", required = false) String number,
                                          @ApiParam(name = "hospital", value = "所属机构")
                                          @RequestParam(name = "hospital", required = false) String hospital,
                                          @ApiParam(name = "status", value = "状态")
                                          @RequestParam(name = "status", required = false) Integer status,
                                          @ApiParam(name = "page", value = "当前页")
                                          @RequestParam(name = "page", required = false) Integer page,
                                          @ApiParam(name = "pageSize", value = "页面大小")
                                          @RequestParam(name = "pageSize", required = false) Integer pageSize) throws Exception {
        try {
            return nationalDrugDictService.getNationalDrugList(name, number, hospital, status, page, pageSize);
        }catch (Exception e) {
            return failedMixEnvelopException(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.updateNationalDrugStatus)
    @ApiOperation(value = "更新药品字典状态")
    public Envelop updateNationalDrugStatus(@ApiParam(name = "id", value = "药品id")
                                            @RequestParam(name = "id", required = true) Integer id,
                                            @ApiParam(name = "status", value = "状态", required = true)
                                            @RequestParam(name = "status") Integer status){
        try {
            nationalDrugDictService.updateNationalDrugStatus(id,status);
            return success();
        }catch (Exception e) {
            return failedException(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getNationalDrugById)
    @ApiOperation(value = "根据id获取药品字典")
    public ObjEnvelop getNationalDrugById(@ApiParam(name = "id", value = "药品id")
                                          @RequestParam(name = "id", required = true) Integer id) {
        try {
            return success(nationalDrugDictService.getNationalDrugById(id));
        }catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
}

+ 1 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/service/doctor/BaseDoctorService.java

@ -324,7 +324,7 @@ public class BaseDoctorService extends BaseJpaService<BaseDoctorDO, BaseDoctorDa
                sql+="\t) tb" +
                "  GROUP BY\n" +
                "\ttb. ID,\n" +
                "\ttb.idcard,\n" +
                "\ttb.idcard,\n" + "\ttb.doctor_level,\n" +
                "\ttb.name,\n" +
                "\ttb.sex,\n" +
                "\ttb.mobile,\n" +

+ 1 - 1
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/PatientConsultEndpoint.java

@ -446,7 +446,7 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
		try {
			logger.info("findDoctorByHospitalAndDiseaseAndDept start:"+DateUtil.dateToStr(new Date(),"yyyy-MM-dd HH:mm:ss:SSS"));
			return prescriptionService.findDoctorByHospitalAndDiseaseAndDept(iswork,patientid,
			return prescriptionService.findDoctorByHospitalAndDiseaseAndDept2(iswork,patientid,
					orgCode,dept,
					diseaseKey,doctorNameKey,
					jobTitleNameKey,outpatientType,

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

@ -2152,4 +2152,33 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping("/findDoctorWorkTime")
    @ApiOperation(value = "findDoctorWorkTime", notes = "findDoctorWorkTime")
    public Envelop findDoctorWorkTime(
            @ApiParam(name = "doctor", value = "doctor")
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "hospital", value = "hospital")
            @RequestParam(value = "hospital", required = false)String hospital,
            @ApiParam(name = "ywCode", value = "ywCode")
            @RequestParam(value = "ywCode", required = false)String ywCode)throws Exception {
        try {
            return success("操作成功", prescriptionService.findDoctorWorkTime(doctor,hospital,ywCode));
        }catch (Exception e){
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping("/findDoctorChargeType")
    @ApiOperation(value = "findDoctorChargeType", notes = "findDoctorChargeType")
    public Envelop findDoctorChargeType(
            @ApiParam(name = "doctor", value = "doctor")
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "chargeType", value = "chargeType")
            @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
        try {
            return success("操作成功", workTimeService.findChargeTypeByDoctor(doctor,chargeType));
        }catch (Exception e){
            return Envelop.getError(e.getMessage());
        }
    }
}

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

@ -3091,4 +3091,51 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
       }
    }
    @GetMapping("/findDoctorChargeType")
    @ApiOperation(value = "findDoctorChargeType", notes = "findDoctorChargeType")
    public Envelop findDoctorChargeType(
            @ApiParam(name = "doctor", value = "doctor")
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "chargeType", value = "chargeType")
            @RequestParam(value = "chargeType", required = false)String chargeType)throws Exception {
        try {
            return success("操作成功", workTimeService.findChargeTypeByDoctor(doctor,chargeType));
        }catch (Exception e){
            e.printStackTrace();
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping("/findDoctorWorkDate")
    @ApiOperation(value = "findDoctorWorkDate", notes = "findDoctorWorkDate")
    public Envelop findDoctorWorkTime(
            @ApiParam(name = "doctor", value = "doctor")
            @RequestParam(value = "doctor", required = false)String doctor,
            @ApiParam(name = "hospital", value = "hospital")
            @RequestParam(value = "hospital", required = false)String hospital,
            @ApiParam(name = "type", value = "ywCode")
            @RequestParam(value = "type", required = false)String type)throws Exception {
        try {
            return success("操作成功", prescriptionService.findDoctorWorkTime(doctor,hospital,type));
        }catch (Exception e){
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping("/findDoctorWorkSource")
    @ApiOperation(value = "获取医生信息", notes = "获取医生信息")
    public ObjEnvelop findDoctorWordSource(@ApiParam(name = "doctor", value = "医生code")
                                     @RequestParam(value = "doctor", required = true)String doctor,
                                     @ApiParam(name = "withWork", value = "传1带排班,其他不带")
                                     @RequestParam(value = "withWork", required = false)String withWork,
                                     @ApiParam(name = "patient", value = "患者code")
                                     @RequestParam(value = "patient", required = false)String patient){
        try {
            return success(prescriptionService.findDoctorInfo(doctor,withWork,patient));
        }catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
}