Bladeren bron

Merge branch 'baseCopy1' of wangjun/wlyy2.0 into dev

wangzhinan 3 jaren geleden
bovenliggende
commit
72a0ec87d6
29 gewijzigde bestanden met toevoegingen van 531 en 173 verwijderingen
  1. 14 6
      business/base-service/src/main/java/com/yihu/jw/complaint/BaseComplaintService.java
  2. 10 2
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseDictIcd10Dao.java
  3. 11 2
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseDrugDictDao.java
  4. 9 2
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseDrugUseDictDao.java
  5. 9 2
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseFrequencyDictDao.java
  6. 3 0
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateDictDao.java
  7. 1 1
      business/base-service/src/main/java/com/yihu/jw/dict/dao/BaseTemplateOrgDao.java
  8. 72 5
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  9. 11 0
      common/common-entity/src/main/java/com/yihu/jw/entity/base/complaint/BaseComplaintDO.java
  10. 6 0
      svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictIcd10Dao.java
  11. 9 0
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/common/excel/AExcelReader.java
  12. 9 4
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DictIcd10Endpoint.java
  13. 36 17
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/TemplateManageEndpoint.java
  14. 17 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/BaseDrugDictService.java
  15. 17 4
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/BaseDrugUseService.java
  16. 15 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/BaseFrequencyService.java
  17. 16 2
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictIcd10Service.java
  18. 118 51
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/TemplateManageService.java
  19. 24 6
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasDrugExcelDO.java
  20. 14 21
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasDrugUseExcelDO.java
  21. 1 6
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasFrequencyExcelDO.java
  22. 1 6
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasIcd10ExcelDO.java
  23. 18 6
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseDrugExcelDOReader.java
  24. 20 13
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseDrugUseExcelDOReader.java
  25. 13 5
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseFrequencyExcelDOReader.java
  26. 13 5
      svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseIcd10ExcelDOReader.java
  27. 38 1
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java
  28. 2 2
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java
  29. 4 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/SystemMessage/HospitalSystemMessageService.java

+ 14 - 6
business/base-service/src/main/java/com/yihu/jw/complaint/BaseComplaintService.java

@ -31,6 +31,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
@Service
@ -323,7 +324,7 @@ public class BaseComplaintService {
    //接受投诉
    public BaseComplaintDO doctorAccept(String id,String doctor) throws Exception{
        BaseComplaintDO baseComplaintDO = baseComplaintDao.findOne(id);
        if (baseComplaintDO!=null&&"0".equalsIgnoreCase(baseComplaintDO.getStatus())){
        if (baseComplaintDO!=null){
            baseComplaintDO.setStatus("1");
            BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor);
            if (null != baseDoctorDO) {
@ -339,17 +340,17 @@ public class BaseComplaintService {
            baseComplaintOperateLogDO.setRelationCode(id);
            baseComplaintOperateLogDO.setCreateTime(new Date());
            baseComplaintOperateDao.save(baseComplaintOperateLogDO);
        }else if ("1".equalsIgnoreCase(baseComplaintDO.getStatus())){
        }/*else if ("1".equalsIgnoreCase(baseComplaintDO.getStatus())){
            throw new Exception("该工单已被接受");
        }else {
            throw new Exception("该工单已被处理完成");
        }
        }*/
        return baseComplaintDO;
    }
    //反馈投诉
    public BaseComplaintDO dealComplaint(String id,String operator,String content,String imgUrl ,String deptCode) throws  Exception{
        BaseComplaintDO baseComplaintDO = baseComplaintDao.findOne(id);
        if (baseComplaintDO!=null&&"1".equalsIgnoreCase(baseComplaintDO.getStatus())){
        if (baseComplaintDO!=null){
            baseComplaintDO.setDealTime(new Date());
            baseComplaintDO.setFeedBack(content);
            baseComplaintDO.setFeedImg(imgUrl);
@ -372,11 +373,11 @@ public class BaseComplaintService {
            baseComplaintOperateLogDO.setRelationCode(id);
            baseComplaintOperateLogDO.setCreateTime(new Date());
            baseComplaintOperateDao.save(baseComplaintOperateLogDO);
        }else if ("2".equalsIgnoreCase(baseComplaintDO.getStatus())){
        }/*else if ("2".equalsIgnoreCase(baseComplaintDO.getStatus())){
            throw new Exception("该工单已被处理完成");
        }else if ("0".equalsIgnoreCase(baseComplaintDO.getStatus())){
            throw new Exception("该工单未被接收");
        }
        }*/
        return baseComplaintDO;
    }
@ -510,6 +511,13 @@ public class BaseComplaintService {
        if (null!=basePatientDO){
            baseComplaintDO.setMobile(basePatientDO.getMobile());
        }
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO =wlyyHospitalSysDictDao.findById("latestFeedBackTime");
        Integer timeOut=15;
        if (wlyyHospitalSysDictDO!=null){
            timeOut =Integer.parseInt(wlyyHospitalSysDictDO.getDictValue());
        }
        long latestDate=baseComplaintDO.getCreateTime().getTime()+timeOut*24*60*60*1000;
        baseComplaintDO.setLatestFeedTime( (new Date(latestDate)));
        baseComplaintDO.setVisitTypeName(baseComplaintDO.getVisitType().equalsIgnoreCase("1")?"门诊":"住院");
        return baseComplaintDO;
    }

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

@ -19,6 +19,14 @@ public interface BaseDictIcd10Dao extends PagingAndSortingRepository<DictIcd10DO
    Integer getconuntByDel();
    @Query("from DictIcd10DO t where t.is_del='1' and t.status ='1' and t.name like %?1% order by t.createTime desc")
    List<DictIcd10DO> findByNameDel(String name,Pageable pageRequest);
    @Query("from DictIcd10DO t where t.is_del='1' and t.status ='1' and t.name like %?1%  and t.code like %?2% order by t.createTime desc")
    List<DictIcd10DO> findByNameDel(String name,String code,Pageable pageRequest);
    @Query("from DictIcd10DO t where t.is_del='1' and t.status='1' and t.code=?1")
    DictIcd10DO findByCode(String code);
    @Query("from DictIcd10DO t where t.code=?1 and t.is_del='1'")
    List<DictIcd10DO>  findByIcdCode(String code);
}

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

@ -14,11 +14,20 @@ public interface BaseDrugDictDao  extends PagingAndSortingRepository<BaseDrugDic
    @Query("from BaseDrugDictDO t where t.charge_code=?1 and t.drugname=?2 and t.dosage=?3")
    List<BaseDrugDictDO>  findByCodeAndNameAndDosage(String code,String name,String dosage);
    @Query("from BaseDrugDictDO t where t.charge_code=?1 and t.is_del='1'")
    List<BaseDrugDictDO>  findByChargeCode(String code);
    @Query("from BaseDrugDictDO t where t.is_del='1' and t.status='1' order by  t.create_time desc")
    List<BaseDrugDictDO> findByDel(Pageable pageRequest);
    @Query("select  count(1) from BaseDrugDictDO t where t.is_del='1' and t.status='1'")
    Integer getconuntByDel();
    @Query("from BaseDrugDictDO t where t.is_del='1' and t.status='1' and t.drugname like %?1% order by  t.create_time desc")
    List<BaseDrugDictDO> findByNameDel(String name,Pageable pageRequest);
    @Query("from BaseDrugDictDO t where t.is_del='1' and t.status='1' and t.drugname like %?1%  and t.charge_code like %?2% order by  t.create_time desc")
    List<BaseDrugDictDO> findByNameDel(String name,String code ,Pageable pageRequest);
    @Query("from BaseDrugDictDO t where t.is_del='1' and t.status='1' and t.charge_code=?1")
    BaseDrugDictDO findByCode(String code);
}

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

@ -19,6 +19,13 @@ public interface BaseDrugUseDictDao extends PagingAndSortingRepository<BaseDrugU
    @Query("select  count(1) from BaseDrugUseDictDO t where t.del_flag='1' and t.status='1'")
    Integer getconuntByDel();
    @Query("from BaseDrugUseDictDO t where t.del_flag='1' and t.status ='1' and t.supply_name like %?1% order by t.createTime desc")
    List<BaseDrugUseDictDO> findByNameDel(String name,Pageable pageRequest);
    @Query("from BaseDrugUseDictDO t where t.del_flag='1' and t.status ='1' and t.supply_name like %?1% and t.sort_code like %?2% order by t.createTime desc")
    List<BaseDrugUseDictDO> findByNameDel(String name,String code,Pageable pageRequest);
    @Query("from BaseDrugUseDictDO t where t.del_flag='1' and t.status='1' and t.supply_code=?1")
    BaseDrugUseDictDO findByCode(String code);
    @Query("from BaseDrugUseDictDO t where t.supply_code=?1 and t.del_flag='1'")
    List<BaseDrugUseDictDO>  findBySupCode(String code);
}

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

@ -17,6 +17,13 @@ public interface BaseFrequencyDictDao extends PagingAndSortingRepository<BaseFre
    @Query("select  count(1) from BaseFrequencyDictDO t where t.is_del='1' and t.status='1'")
    Integer getconuntByDel();
    @Query("from BaseFrequencyDictDO t where t.is_del='1' and t.status ='1' and t.freq_name like %?1% order by t.createTime desc")
    List<BaseFrequencyDictDO> findByNameDel(String name ,Pageable pageRequest);
    @Query("from BaseFrequencyDictDO t where t.is_del='1' and t.status ='1' and t.freq_name like %?1% and t.freq_code like %?2%  order by t.createTime desc")
    List<BaseFrequencyDictDO> findByNameDel(String name ,String code ,Pageable pageRequest);
    @Query("from BaseFrequencyDictDO t where t.is_del='1' and t.status='1' and t.freq_code=?1")
    BaseFrequencyDictDO findByCode(String code);
    @Query("from BaseFrequencyDictDO t where t.freq_code=?1 and t.is_del='1'")
    List<BaseFrequencyDictDO>  findByFrqCode(String code);
}

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

@ -17,4 +17,7 @@ public interface BaseTemplateDictDao extends PagingAndSortingRepository<BaseTemp
    @Query("from BaseTemplateDictDO t where t.templateId=?1 and t.isDel='1'")
    List<BaseTemplateDictDO> findByTemplateId(String templateId);
    @Query("from BaseTemplateDictDO t where t.dictId=?1 and t.isDel='1'")
    List<BaseTemplateDictDO> findByDictId(String dictId);
}

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

@ -9,7 +9,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
public interface BaseTemplateOrgDao extends PagingAndSortingRepository<BaseTemplateOrgDO, String>, JpaSpecificationExecutor<BaseTemplateOrgDO> {
    @Query("from BaseTemplateOrgDO t where  t.orgCode =?1 and t.templateType=?2 ")
    @Query("from BaseTemplateOrgDO t where  t.orgCode =?1 and t.templateType=?2  and t.isDel ='1'")
    BaseTemplateOrgDO findByOrgCodeAndtemplateType(String orgCode,String templateType);
    @Query("from BaseTemplateOrgDO t where  t.orgCode =?1 and t.isDel='1' ")

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

@ -106,6 +106,7 @@ import com.yihu.jw.wechat.dao.BasePatientWechatDao;
import com.yihu.jw.wechat.dao.WechatDao;
import com.yihu.jw.wechat.dao.WxPushLogDao;
import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
import com.yihu.jw.wechat.enterprise.EnterpriseService;
import com.yihu.jw.wechat.service.BaseSensitiveFilterWordsService;
import com.yihu.jw.wechat.service.WxAccessTokenService;
import com.yihu.jw.yx.dao.YxTokenMappingDao;
@ -319,6 +320,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    private BaseOperateLogService baseOperateLogService;
    @Autowired
    private BaseAdviceTreatmentDao baseAdviceTreatmentDao;
    @Autowired
    private EnterpriseService enterpriseService;
    @Value("${demo.flag}")
    private boolean demoFlag;
@ -622,6 +625,32 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        //复诊信息
        WlyyOutpatientDO outpatientDO = outpatientDao.findOne(outpatientId);
        if("2".equalsIgnoreCase(outpatientDO.getOutpatientType())){
            String generalDept="";
            String generalDeptName="";
            String generalSex="";
            String generalJob="";
            String generalOrgName="";
            List<BaseDoctorHospitalDO> depts = baseDoctorHospitalDao.findByDoctorCode(outpatientDO.getGeneralDoctor());
            if(depts!=null&&depts.size()>0){
                generalDept=depts.get(0).getDeptCode();
                generalDeptName=depts.get(0).getDeptName();
                generalOrgName=depts.get(0).getOrgName();
            }
            BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(outpatientDO.getGeneralDoctor());
            if(baseDoctorDO!=null){
                generalJob=baseDoctorDO.getJobTitleName();
                generalSex= IdCardUtil.getSexForIdcard(baseDoctorDO.getIdcard());
                rs.put("generalName",baseDoctorDO.getName());
                rs.put("generalPhoto",baseDoctorDO.getPhoto());
            }
            rs.put("generalDept",generalDept);
            rs.put("generalDeptName",generalDeptName);
            rs.put("generalSex",generalSex);
            rs.put("generalJob",generalJob);
            rs.put("generalOrgName",generalOrgName);
        }
        rs.put("outpatient", convertToModel(outpatientDO, WlyyOutpatientVO.class));
        rs.put("doctorCancelType", outpatientDO.getDoctorCancelType());
        rs.put("doctorCancelValue", outpatientDO.getDoctorCancelValue());
@ -7604,15 +7633,35 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        outpatientDO.setOutpatientType("2");
        outpatientDO.setCreateTime(new Date());
        outpatientDO.setPayStatus(1);
        if (outpatientDO.getRegisterDate() == null) {
            outpatientDO.setRegisterDate(new Date());
        }
        String msg = "";
        String name=outpatientDO.getPatientName();
        String sex = "";
        String age="";
        String title = "";
        if (patientDO!=null){
            sex= IdCardUtil.getSexForIdcard(patientDO.getIdcard());
            age = IdCardUtil.getAgeForIdcard(patientDO.getIdcard())+"";
        }
        WlyyOutpatientDO outpatient = outpatientDao.save(outpatientDO);
        if (outpatientDO.getOutpatientType().equalsIgnoreCase("2")) {
            title = "协同复诊";
            msg = name + "(" + sex + " " + age + "岁)向您发起了协同复诊,点击查看";
        }
        if (wechatId.equalsIgnoreCase("xm_zsyy_wx")){
            String url=findDomainUrlInDict()+"/hlwyy/ims-app-web/#/onlineChat/detail?_rs_title="+outpatientDO.getDescription()+"&type=3&id="+outpatientDO.getId();
            enterpriseService.sendTWMesByDoctor("zsyy",outpatientDO.getDoctor(),title,msg,url);
        }else if (wechatId.equalsIgnoreCase("xm_xzzx_wx")){
            String url="https://ih.xmheart.com/hlwyy/ims-app-web/#/onlineChat/detail?_rs_title="+outpatientDO.getDescription()+"&type=3&id="+outpatientDO.getId();
            enterpriseService.sendTWMesByDoctor("xm_xzzx_wx",outpatientDO.getDoctor(),title,msg,url);
        }else if (wechatId.equalsIgnoreCase("xm_ykyy_wx")){
            String url=findDomainUrlInDict()+"/ims-app-web/#/onlineChat/detail?_rs_title="+outpatientDO.getDescription()+"&type=3&id="+outpatientDO.getId();
            enterpriseService.sendTWMesByDoctor("xm_ykyy_wx",outpatientDO.getDoctor(),title,msg,url);
        }
        System.out.println("发送协同复诊企业模板消息成功");
        WlyyPatientRegisterTimeDO registerTimeDO = null;
        try {
            //如果是视频预约咨询
            if (StringUtils.isNotBlank(registerJson)) {
@ -7647,6 +7696,24 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            if ("2".equals(outpatient.getOutpatientType())) {
                systemMessageDO.setTitle("协同门诊");
                systemMessageDO.setType("3");
                systemMessageDO.setReceiver(outpatient.getDoctor());
                systemMessageDO.setReceiverName(outpatient.getDoctorName());
                systemMessageDO.setRelationCode(outpatient.getId());
                systemMessageDO.setSender(outpatient.getPatient());
                systemMessageDO.setSenderName(outpatient.getPatientName());
                systemMessageDO.setRelationCode(outpatient.getId());
                data.put("name", outpatient.getPatientName());
                data.put("age", IdCardUtil.getAgeForIdcard(outpatient.getIdcard()));
                data.put("gender", IdCardUtil.getSexForIdcard_new(outpatient.getIdcard()));
                data.put("question", outpatient.getDescription());
                data.put("msg", msg);
                systemMessageDO.setData(data.toString());
                logger.info("添加模板消息4");
                systemMessageService.saveMessage(systemMessageDO);
                BasePatientDO patient = basePatientDao.findById(outpatient.getPatient());
                if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
                    ykyyService.pushNotificationToYktPatient(patient.getYktId(), systemMessageDO.getTitle(), data.get("msg").toString());
                }
            } else if ("3".equals(outpatient.getOutpatientType())) {//专家咨询
                //1.图文 2.视频 3家医
                if ("1".equals(outpatient.getType())) {
@ -7692,7 +7759,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
                    ykyyService.pushNotificationToYktPatient(patient.getYktId(), systemMessageDO.getTitle(), data.get("msg").toString());
                }
            } else if ("1".equals(outpatient.getOutpatientType()))  {//在线复诊
            } else if ("1".equals(outpatient.getOutpatientType()))  {        //在线复诊
                //1.图文 2.视频
                if ("1".equals(outpatient.getType())) {
                    systemMessageDO.setTitle("图文复诊");

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/complaint/BaseComplaintDO.java

@ -32,6 +32,17 @@ public class BaseComplaintDO  extends UuidIdentityEntity {
    private String status;
    private String mobile;
    private String visitTypeName;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date latestFeedTime;
    @Transient
    public Date getLatestFeedTime() {
        return latestFeedTime;
    }
    public void setLatestFeedTime(Date latestFeedTime) {
        this.latestFeedTime = latestFeedTime;
    }
    @Transient
    public String getVisitTypeName() {
        return visitTypeName;

+ 6 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/dict/DictIcd10Dao.java

@ -41,4 +41,10 @@ public interface DictIcd10Dao extends PagingAndSortingRepository<DictIcd10DO, In
    List<DictIcd10DO> findByDel(Pageable pageRequest);
    @Query("select  count(1) from DictIcd10DO t where t.is_del='1' and t.status='1'")
    Integer getconuntByDel();
    @Query("from DictIcd10DO t where t.is_del='1' and t.status='1' and t.code=?1")
    DictIcd10DO findByCode(String code);
    @Query("from DictIcd10DO t where t.code=?1 and t.is_del='1'")
    List<DictIcd10DO>  findByIcdCode(String code);
}

+ 9 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/common/excel/AExcelReader.java

@ -15,6 +15,15 @@ public abstract class AExcelReader {
    protected List errorLs = new ArrayList<>();
    protected List correctLs = new ArrayList<>();
    protected Map<String, Set> repeat = new HashMap<>();
    protected String templateId ="";
    public String getTemplateId() {
        return templateId;
    }
    public void setTemplateId(String templateId) {
        this.templateId = templateId;
    }
    public abstract void read(Workbook rwb) throws Exception;

+ 9 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/DictIcd10Endpoint.java

@ -39,10 +39,15 @@ public class DictIcd10Endpoint extends EnvelopRestEndpoint {
    public ObjEnvelop<DictIcd10VO> createOrupdate(
            @ApiParam(name = "jsonData", value = "Json数据", required = true)
            @RequestParam(value = "jsonData") String jsonData) throws Exception {
        System.out.println(jsonData);
        DictIcd10DO dictIcd10 = toEntity(jsonData, DictIcd10DO.class);
        dictIcd10Service.saveIcd10(dictIcd10);
        return success(dictIcd10, DictIcd10VO.class);
        try {
            System.out.println(jsonData);
            DictIcd10DO dictIcd10 = toEntity(jsonData, DictIcd10DO.class);
            dictIcd10Service.saveIcd10(dictIcd10);
            return success(dictIcd10, DictIcd10VO.class);
        }catch (Exception e){
            return failedObjEnvelopException(e);
        }
    }
    @PostMapping(value = BaseRequestMapping.DictIcd10.DELETE)

+ 36 - 17
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/TemplateManageEndpoint.java

@ -72,6 +72,7 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
//            AExcelReader excelReader = new BaseDoctorExcelDOReader();
            InputStream inputStream = file.getInputStream();
            Workbook workbook = getWorkbook(inputStream,file.getOriginalFilename());
            baseDrugExcelDOReader.setTemplateId(templateId);
            baseDrugExcelDOReader.read(workbook);
            //验证未通过(暂无验证)
            List<BasDrugExcelDO> errorLs = baseDrugExcelDOReader.getErrorLs();
@ -81,10 +82,9 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            if(correctLs.size()>0){
                result = baseDrugDictService.batchInsertDrugs(correctLs,templateId);
                result.put("errorLs", errorLs);
                int errors = errorLs.size();
                int corrects = correctLs.size();
                int errors = errorLs==null?0:errorLs.size();
                int corrects = correctLs==null?0:correctLs.size();
                msg = "当前导入成功"+corrects+"条数据"+";失败"+errors+"条数据";
            }
            return success(msg, result);
        }catch (Exception e){
@ -182,6 +182,8 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            @RequestParam(value = "templateId", required = false) String templateId,
            @ApiParam(name = "name", value = "模板id")
            @RequestParam(value = "name", required = false) String name,
            @ApiParam(name = "code", value = "")
            @RequestParam(value = "code", required = false) String code,
            @ApiParam(name = "isSelectUse", value = "1查询已添加的2查询未添加")
            @RequestParam(value = "isSelectUse", required = false) String isSelectUse,
            @ApiParam(name = "page", value = "")
@ -190,11 +192,11 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            @RequestParam(value = "pageSize", required = false) Integer pageSize) throws Exception {
        try {
            if(StringUtils.isNoneBlank(isSelectUse)&&"1".equalsIgnoreCase(isSelectUse)){
                return templateManageService.findTemlateAddChildList(templateId,page,pageSize);
                return templateManageService.findTemlateAddChildList(templateId,name,code,page,pageSize);
            }else if(StringUtils.isNoneBlank(isSelectUse)&&"2".equalsIgnoreCase(isSelectUse)){
                return templateManageService.findTemlateNotAddChildList(templateId,page,pageSize);
                return templateManageService.findTemlateNotAddChildList(templateId,name,code,page,pageSize);
            } else {
                return templateManageService.findTemlateChildList(templateId,name,page,pageSize);
                return templateManageService.findTemlateChildList(templateId,name,code,page,pageSize);
            }
        }catch (Exception e){
@ -220,7 +222,7 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
    }
    @GetMapping("/findOrgTemplate")
    @ApiOperation(value = "保存租户模板")
    @ApiOperation(value = "保存机构模板")
    public Envelop saveSaasTemplate (
            @ApiParam(name = "orgCode", value = "orgCode")
            @RequestParam(value = "orgCode", required = false) String orgCode) throws Exception {
@ -248,6 +250,7 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
//            AExcelReader excelReader = new BaseDoctorExcelDOReader();
            InputStream inputStream = file.getInputStream();
            Workbook workbook = getWorkbook(inputStream,file.getOriginalFilename());
            baseDrugExcelDOReader.setTemplateId(templateId);
            baseDrugUseExcelDOReader.read(workbook);
            //验证未通过(暂无验证)
            List<BasDrugUseExcelDO> errorLs = baseDrugUseExcelDOReader.getErrorLs();
@ -257,8 +260,8 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            if(correctLs.size()>0){
                result = baseDrugUseService.batchInsertDrugs(correctLs,templateId);
                result.put("errorLs", errorLs);
                int errors = errorLs.size();
                int corrects = correctLs.size();
                int errors = errorLs==null?0:errorLs.size();
                int corrects = correctLs==null?0:correctLs.size();
                msg = "当前导入成功"+corrects+"条数据"+";失败"+errors+"条数据";
                return success(msg, result);
            }
@ -284,6 +287,7 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
//            AExcelReader excelReader = new BaseDoctorExcelDOReader();
            InputStream inputStream = file.getInputStream();
            Workbook workbook = getWorkbook(inputStream,file.getOriginalFilename());
            baseDrugExcelDOReader.setTemplateId(templateId);
            baseFrequencyExcelDOReader.read(workbook);
            //验证未通过(暂无验证)
            List<BasFrequencyExcelDO> errorLs = baseFrequencyExcelDOReader.getErrorLs();
@ -293,8 +297,8 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            if(correctLs.size()>0){
                 result = baseFrequencyService.batchInsertDrugs(correctLs,templateId);
                result.put("errorLs", errorLs);
                int errors = errorLs.size();
                int corrects = correctLs.size();
                int errors = errorLs==null?0:errorLs.size();
                int corrects = correctLs==null?0:correctLs.size();
                msg = "当前导入成功"+corrects+"条数据"+";失败"+errors+"条数据";
            }
@ -319,6 +323,7 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
//            AExcelReader excelReader = new BaseDoctorExcelDOReader();
            InputStream inputStream = file.getInputStream();
            Workbook workbook = getWorkbook(inputStream,file.getOriginalFilename());
            baseDrugExcelDOReader.setTemplateId(templateId);
            icd10ExcelDOReader.read(workbook);
            //验证未通过(暂无验证)
            List<BasIcd10ExcelDO> errorLs = icd10ExcelDOReader.getErrorLs();
@ -328,8 +333,8 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            if(correctLs.size()>0){
                result = dictIcd10Service.batchInsertDrugs(correctLs,templateId);
                result.put("errorLs", errorLs);
                int errors = errorLs.size();
                int corrects = correctLs.size();
                int errors = errorLs==null?0:errorLs.size();
                int corrects = correctLs==null?0:correctLs.size();
                msg = "当前导入成功"+corrects+"条数据"+";失败"+errors+"条数据";
            }
            return success(msg, result);
@ -340,19 +345,24 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
    }
    @GetMapping("/excelControl/exportExcel")
    public void exportExcel(HttpServletRequest request, HttpServletResponse response,@ApiParam(name = "templateId", value = "templateId", required = true)
    @RequestPart(value = "templateType") String  templateType) {
    public void exportExcel(HttpServletRequest request, HttpServletResponse response,@ApiParam(name = "templateType", value = "templateType", required = true)
    @RequestParam   (value = "templateType") String  templateType) {
        try {
            String filePath="";
            String fileName="";
            if ("frequencyDict".equalsIgnoreCase(templateType)){
                filePath="/home/频次模板.xls";
                fileName="频次模板.xls";
            }else if ("drugUseDict".equalsIgnoreCase(templateType)){
                filePath="/home/用药类型模板.xls";
                fileName="用药类型模板.xls";
            }else if ("drugListDict".equalsIgnoreCase(templateType)){
                filePath="/home/药品字典模板.xls";
                fileName="药品字典模板.xls";
            }else if ("icd10ListDict".equalsIgnoreCase(templateType)){
                filePath="/home/诊断模板.xls";
                fileName="诊断模板.xls";
            }
            HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(filePath));
@ -401,9 +411,18 @@ public class TemplateManageEndpoint  extends EnvelopRestEndpoint {
            /*response.setHeader("Content-Disposition", "attachment; filename="
                    + new String( "医生模板信息".getBytes("gb2312"), "ISO8859-1" )+".xls");*/
            response.setHeader("Content-Disposition", "attachment; filename="
                    + URLEncoder.encode("医生模板信息.xls","UTF-8"));
            wb.write(output);
                    + URLEncoder.encode(fileName,"UTF-8"));
            wb.write(output);
            /*ByteArrayOutputStream bos = new ByteArrayOutputStream();
            try {
                wb.write(bos);
            } finally {
                bos.close();
            }
            byte[] bytes = bos.toByteArray();
            output.write(bytes);
            output.close();*/
            wb.close();
        } catch (Exception e) {

+ 17 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/BaseDrugDictService.java

@ -32,14 +32,23 @@ public class BaseDrugDictService extends BaseJpaService<BaseDrugDictDO, BaseDrug
    @Autowired
    private BaseTemplateDictDao baseTemplateDictDao;
    public BaseDrugDictDO saveNationalDrug(BaseDrugDictDO nationalDrugDictDO) {
    public BaseDrugDictDO saveNationalDrug(BaseDrugDictDO nationalDrugDictDO)  throws  Exception{
        BaseDrugDictDO baseDrugDictDO=baseDrugDictDao.findByCode(nationalDrugDictDO.getCharge_code());
        //判断新增或编辑
        if (!StringUtils.isNoneBlank(nationalDrugDictDO.getId())) {
            if (baseDrugDictDO!=null){
                throw  new Exception("该药品编码已存在");
            }
            nationalDrugDictDO.setCreate_time(new Date());
            nationalDrugDictDO.setUpdate_time(new Date());
            nationalDrugDictDO.setIs_del("1");
            return baseDrugDictDao.save(nationalDrugDictDO);
        }else {
            if (baseDrugDictDO!=null){
                if (!nationalDrugDictDO.getId().equalsIgnoreCase(baseDrugDictDO.getId())){
                    throw  new Exception("该药品编码已被使用");
                }
            }
            System.out.println("===="+nationalDrugDictDO.getId());
            BaseDrugDictDO oldDurgDictDO =  baseDrugDictDao.findOne(nationalDrugDictDO.getId());
            BeanUtils.copyProperties(nationalDrugDictDO, oldDurgDictDO, getNullPropertyNames(nationalDrugDictDO));
@ -153,6 +162,8 @@ public class BaseDrugDictService extends BaseJpaService<BaseDrugDictDO, BaseDrug
            baseDrugDictDO.setVol_unit_name(one.getVol_unit_name());
            baseDrugDictDO.setWeigh_unit(one.getWeigh_unit());
            baseDrugDictDO.setWeigh_unit_name(one.getWeigh_unit_name());
            baseDrugDictDO.setManufactory(one.getWeigh_unit_name());
            baseDrugDictDO.setStatus(one.getStatus());
            baseDrugDictDO=baseDrugDictDao.save(baseDrugDictDO);
            if (StringUtils.isNoneBlank(templateId)){
                BaseTemplateDictDO baseTemplateDictDO = new BaseTemplateDictDO();
@ -167,13 +178,17 @@ public class BaseDrugDictService extends BaseJpaService<BaseDrugDictDO, BaseDrug
        result.put("correctCount", drugs.size());
        return result;
    }
    public void updateDrugStatus(String id,String status,String del){
    public void updateDrugStatus(String id,String status,String del) throws  Exception{
        BaseDrugDictDO baseDrugDictDO = baseDrugDictDao.findOne(id);
        if (baseDrugDictDO!=null){
            if (StringUtils.isNoneBlank(status)){
                baseDrugDictDO.setStatus(status);
            }
            if (StringUtils.isNoneBlank(del)){
                List<BaseTemplateDictDO> baseTemplateDictDO = baseTemplateDictDao.findByDictId(id);
                if (baseTemplateDictDO!=null&&baseTemplateDictDO.size()>0){
                    throw  new Exception("该药品已存在现有模板之中不允许删除");
                }
                baseDrugDictDO.setIs_del(del);
            }
            baseDrugDictDao.save(baseDrugDictDO);

+ 17 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/BaseDrugUseService.java

@ -33,12 +33,21 @@ public class BaseDrugUseService extends BaseJpaService<BaseDrugUseDictDO, BaseDr
    @Autowired
    private BaseTemplateDictDao baseTemplateDictDao;
    public void saveBaseDrugUse(BaseDrugUseDictDO baseDrugUseDictDO){
    public void saveBaseDrugUse(BaseDrugUseDictDO baseDrugUseDictDO) throws  Exception{
        BaseDrugUseDictDO baseDrugUseDictDO1=baseDrugUseDictDao.findByCode(baseDrugUseDictDO.getSupply_code());
        if (StringUtils.isNotBlank(baseDrugUseDictDO.getId())){
            if (baseDrugUseDictDO1!=null){
                throw  new Exception("该使用方式code已存在");
            }
            BaseDrugUseDictDO oldDurgDictDO= baseDrugUseDictDao.findOne(baseDrugUseDictDO.getId());
            BeanUtils.copyProperties(baseDrugUseDictDO, oldDurgDictDO, getNullPropertyNames(baseDrugUseDictDO));
            baseDrugUseDictDao.save(oldDurgDictDO);
        }else {
            if (baseDrugUseDictDO1!=null){
                if (!baseDrugUseDictDO1.getId().equalsIgnoreCase(baseDrugUseDictDO.getId())){
                    throw  new Exception("该使用方式code已被使用");
                }
            }
            baseDrugUseDictDO.setCreateTime(new Date());
            baseDrugUseDictDO.setDel_flag("1");
            baseDrugUseDictDao.save(baseDrugUseDictDO);
@ -105,8 +114,8 @@ public class BaseDrugUseService extends BaseJpaService<BaseDrugUseDictDO, BaseDr
        for(BasDrugUseExcelDO one:drugs) {
            baseDrugUseDictDO = new BaseDrugUseDictDO();
            baseDrugUseDictDO.setCreateTime(new Date());
            baseDrugUseDictDO.setStatus("1");
            baseDrugUseDictDO.setDel_flag(one.getDel_flag());
            baseDrugUseDictDO.setStatus(one.getStatus());
            baseDrugUseDictDO.setDel_flag("1");
            baseDrugUseDictDO.setD_code(one.getD_code());
            baseDrugUseDictDO.setPrint_name(one.getPrint_name());
            baseDrugUseDictDO.setPy_code(one.getPy_code());
@ -130,7 +139,7 @@ public class BaseDrugUseService extends BaseJpaService<BaseDrugUseDictDO, BaseDr
        result.put("correctCount", drugs.size());
        return result;
    }
    public void updateDrugUseStatus(String id,String status,String del){
    public void updateDrugUseStatus(String id,String status,String del) throws  Exception{
        BaseDrugUseDictDO baseDrugUseDictDO = baseDrugUseDictDao.findOne(id);
        if (baseDrugUseDictDO!=null){
            if (StringUtils.isNoneBlank(status)){
@ -138,6 +147,10 @@ public class BaseDrugUseService extends BaseJpaService<BaseDrugUseDictDO, BaseDr
            }
            if (StringUtils.isNoneBlank(del)){
                baseDrugUseDictDO.setDel_flag(del);
                List<BaseTemplateDictDO> baseTemplateDictDO = baseTemplateDictDao.findByDictId(id);
                if (baseTemplateDictDO!=null&&baseTemplateDictDO.size()>0){
                    throw  new Exception("该使用方式已存在现有模板之中不允许删除");
                }
            }
            baseDrugUseDictDao.save(baseDrugUseDictDO);
        }

+ 15 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/BaseFrequencyService.java

@ -33,12 +33,21 @@ public class BaseFrequencyService extends BaseJpaService<BaseFrequencyDictDO, Ba
    @Autowired
    private BaseTemplateDictDao baseTemplateDictDao;
    public void saveFrequency(BaseFrequencyDictDO baseFrequencyDictDO){
    public void saveFrequency(BaseFrequencyDictDO baseFrequencyDictDO) throws Exception{
        BaseFrequencyDictDO baseFrequencyDictDO1=baseFrequencyDictDao.findByCode(baseFrequencyDictDO.getFreq_code());
        if (StringUtils.isNotBlank(baseFrequencyDictDO.getId())){
            if (baseFrequencyDictDO1!=null){
                throw  new Exception("该频次code已存在");
            }
            BaseFrequencyDictDO oldFrequency= baseFrequencyDictDao.findOne(baseFrequencyDictDO.getId());
            BeanUtils.copyProperties(baseFrequencyDictDO, oldFrequency, getNullPropertyNames(baseFrequencyDictDO));
            baseFrequencyDictDao.save(oldFrequency);
        }else {
            if (baseFrequencyDictDO1!=null){
                if (!baseFrequencyDictDO1.getId().equalsIgnoreCase(baseFrequencyDictDO.getId())){
                    throw  new Exception("该频次code已被使用");
                }
            }
            baseFrequencyDictDO.setCreateTime(new Date());
            baseFrequencyDictDO.setIs_del("1");
            baseFrequencyDictDao.save(baseFrequencyDictDO);
@ -122,7 +131,7 @@ public class BaseFrequencyService extends BaseJpaService<BaseFrequencyDictDO, Ba
        result.put("correctCount", drugs.size());
        return result;
    }
    public void updateFrequencyStatus(String id,String status,String del){
    public void updateFrequencyStatus(String id,String status,String del) throws  Exception{
        BaseFrequencyDictDO baseFrequencyDictDO = baseFrequencyDictDao.findOne(id);
        if (baseFrequencyDictDO!=null){
            if (StringUtils.isNotBlank(status)){
@ -130,6 +139,10 @@ public class BaseFrequencyService extends BaseJpaService<BaseFrequencyDictDO, Ba
            }
            if (StringUtils.isNotBlank(del)){
                baseFrequencyDictDO.setIs_del(del);
                List<BaseTemplateDictDO> baseTemplateDictDO = baseTemplateDictDao.findByDictId(id);
                if (baseTemplateDictDO!=null&&baseTemplateDictDO.size()>0){
                    throw  new Exception("该使频次已存在现有模板之中不允许删除");
                }
            }
            baseFrequencyDictDao.save(baseFrequencyDictDO);
        }

+ 16 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/DictIcd10Service.java

@ -7,6 +7,7 @@ import com.yihu.jw.base.service.dict.importManage.BasDrugUseExcelDO;
import com.yihu.jw.base.service.dict.importManage.BasIcd10ExcelDO;
import com.yihu.jw.dict.dao.BaseTemplateDictDao;
import com.yihu.jw.entity.base.dict.BaseDrugUseDictDO;
import com.yihu.jw.entity.base.dict.BaseFrequencyDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import com.yihu.jw.exception.business.ManageException;
import com.yihu.jw.restmodel.web.MixEnvelop;
@ -114,12 +115,21 @@ public class DictIcd10Service extends BaseJpaService<DictIcd10DO, DictIcd10Dao>
        mixEnvelop.setTotalCount(count);
        return mixEnvelop;
    }
    public void saveIcd10(DictIcd10DO icd10DO){
    public void saveIcd10(DictIcd10DO icd10DO) throws Exception{
        DictIcd10DO icd10DO2=dictIcd10Dao.findByCode(icd10DO.getCode());
        if (icd10DO.getId()!=null){
            if (icd10DO2!=null){
                if (icd10DO2.getId()!=icd10DO.getId()){
                    throw  new Exception("该诊断已被使用");
                }
            }
            DictIcd10DO icd10DO1= dictIcd10Dao.findOne(icd10DO.getId());
            BeanUtils.copyProperties(icd10DO, icd10DO1, getNullPropertyNames(icd10DO));
            dictIcd10Dao.save(icd10DO1);
        }else {
            if (icd10DO2!=null){
                throw  new Exception("该诊断已存在");
            }
            icd10DO.setCreateTime(new Date());
            icd10DO.setIs_del("1");
            dictIcd10Dao.save(icd10DO);
@ -163,7 +173,7 @@ public class DictIcd10Service extends BaseJpaService<DictIcd10DO, DictIcd10Dao>
        result.put("correctCount", drugs.size());
        return result;
    }
    public void updateIcd10Status(Integer id,String status,String del){
    public void updateIcd10Status(Integer id,String status,String del) throws Exception{
        DictIcd10DO dictIcd10DO = dictIcd10Dao.findOne(id);
        if (dictIcd10DO!=null){
            if (StringUtils.isNoneBlank(status)){
@ -171,6 +181,10 @@ public class DictIcd10Service extends BaseJpaService<DictIcd10DO, DictIcd10Dao>
            }
            if (StringUtils.isNoneBlank(del)){
                dictIcd10DO.setIs_del(del);
                List<BaseTemplateDictDO> baseTemplateDictDO = baseTemplateDictDao.findByDictId(id.toString());
                if (baseTemplateDictDO!=null&&baseTemplateDictDO.size()>0){
                    throw  new Exception("该诊断已存在现有模板之中不允许删除");
                }
            }
            dictIcd10Dao.save(dictIcd10DO);
        }

+ 118 - 51
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/TemplateManageService.java

@ -38,8 +38,6 @@ public class TemplateManageService {
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    private SaasDao saasDao;
    @Autowired
    private BaseOrgDao baseOrgDao;
@ -91,33 +89,38 @@ public class TemplateManageService {
        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");
           }
   public void addOrRemoveChildrenDict(String templateId,String dictIds,String isDel){
        String[] dictArr=dictIds.split(",");
        for (int i=0;i<dictArr.length;i++){
            String dictId=dictArr[i];
            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");
                }else {
                    return;
                }
            }
            baseTemplateDictDao.save(baseTemplateDictDO);
            BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
            Integer chuildrenCount =  baseTemplateDictDao.getCountByTemplateId(templateId);
            if (baseTemplateDO !=null ){
                baseTemplateDO.setChildrenCount(chuildrenCount.toString());
            }
            baseTemplateDao.save(baseTemplateDO);
        }
       }else {
           if (baseTemplateDictDO!=null){
               baseTemplateDictDO.setIsDel("0");
           }else {
               return;
           }
       }
       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);
@ -143,7 +146,7 @@ public class TemplateManageService {
       baseTemplateDao.save(baseTemplateDO);
   }
   public MixEnvelop findTemlateChildList(String templateId,String name,Integer page,Integer pageSize){
   public MixEnvelop findTemlateChildList(String templateId,String name,String code,Integer page,Integer pageSize){
        BaseTemplateDO baseTemplateDictDO = baseTemplateDao.findOne(templateId);
        PageRequest pageRequest = new PageRequest(page-1, pageSize);
        List<Map<String,Object>> returnList= new ArrayList<>();
@ -154,7 +157,7 @@ public class TemplateManageService {
            if ("frequencyDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
                List<BaseFrequencyDictDO> list= new ArrayList<>();
                if (StringUtils.isNoneBlank(name)){
                    list= baseFrequencyDictDao.findByNameDel(name,pageRequest);
                    list= baseFrequencyDictDao.findByNameDel(name,code,pageRequest);
                }else {
                    list= baseFrequencyDictDao.findByDel(pageRequest);
                }
@ -182,7 +185,7 @@ public class TemplateManageService {
            }else if ("drugUseDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
                List<BaseDrugUseDictDO> list= new ArrayList<>();
                if (StringUtils.isNoneBlank(name)){
                    list= baseDrugUseDictDao.findByNameDel(name,pageRequest);
                    list= baseDrugUseDictDao.findByNameDel(name,code,pageRequest);
                }else {
                    list= baseDrugUseDictDao.findByDel(pageRequest);
                }
@ -208,7 +211,7 @@ public class TemplateManageService {
            }else if ("drugListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
                List<BaseDrugDictDO> list= new ArrayList<>();
                if (StringUtils.isNoneBlank(name)){
                    list= baseDrugDictDao.findByNameDel(name,pageRequest);
                    list= baseDrugDictDao.findByNameDel(name,code,pageRequest);
                }else {
                    list= baseDrugDictDao.findByDel(pageRequest);
                }
@ -237,7 +240,7 @@ public class TemplateManageService {
            }else if ("icd10ListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
                List<DictIcd10DO> list= new ArrayList<>();
                if (StringUtils.isNoneBlank(name)){
                    list= baseDictIcd10Dao.findByNameDel(name,pageRequest);
                    list= baseDictIcd10Dao.findByNameDel(name,code,pageRequest);
                }else {
                    list= baseDictIcd10Dao.findByDel(pageRequest);
                }
@ -331,7 +334,7 @@ public class TemplateManageService {
    public MixEnvelop findTemlateAddChildList(String templateId,Integer page,Integer pageSize){
    public MixEnvelop findTemlateAddChildList(String templateId,String name,String code,Integer page,Integer pageSize){
        BaseTemplateDO baseTemplateDictDO = baseTemplateDao.findOne(templateId);
        MixEnvelop mixEnvelop = new MixEnvelop();
        mixEnvelop.setPageSize(pageSize);
@ -350,9 +353,17 @@ public class TemplateManageService {
                        " t.status as \"status\"," +
                        " t.create_time as \"create_time\"" +
                        "from base_template_dict b left join  base_frequency_dict t on b.dict_id=t.id" +
                        " where t.is_del='1' and b.is_del='1' ";
                        " where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                String sqlCount =" select count(1) as \"count\" from base_template_dict b left join  base_frequency_dict t on b.dict_id=t.id" +
                        "  where t.is_del='1 and b.is_del='1'";
                        "  where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.freq_code like '%"+code+"%'";
                    sqlCount+=" and t.freq_code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.freq_name like '%"+name+"%'";
                    sqlCount+=" and t.freq_name like '%"+name+"%'";
                }
                sql+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                sqlCount+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
@ -386,9 +397,17 @@ public class TemplateManageService {
                        " t.status as \"status\"," +
                        " t.create_time as \"create_time\" " +
                        "from  base_template_dict b left join base_drug_use_dict t on b.dict_id=t.id" +
                        " where t.del_flag='1' and b.is_del='1'";
                        " where t.del_flag='1' and b.is_del='1' and t.status ='1' ";
                String sqlCount =" select count(1) as \"count\" from  base_template_dict b left join base_drug_use_dict t on b.dict_id=t.id" +
                        " where t.del_flag='1 and b.is_del='1'";
                        " where t.del_flag='1' and b.is_del='1' and t.status ='1' ";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.supply_code like '%"+code+"%'";
                    sqlCount+=" and t.supply_code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.supply_name like '%"+name+"%'";
                    sqlCount+=" and t.supply_name like '%"+name+"%'";
                }
                sql+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                sqlCount+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
@ -441,9 +460,17 @@ public class TemplateManageService {
                        " t.pack_unit as \"pack_unit\"," +
                        " t.is_del as \"is_del\"" +
                        " from base_template_dict b left join base_drug_dict t on b.dict_id = t.id " +
                        " where t.is_del='1' and b.is_del='1'";
                        " where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                String sqlCount = "select count(1) as \"count\" from base_template_dict b left join base_drug_dict t on b.dict_id = t.id " +
                        " where t.is_del='1'and b.is_del='1' ";
                        " where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.charge_code like '%"+code+"%'";
                    sqlCount+=" and t.charge_code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.drugname like '%"+name+"%'";
                    sqlCount+=" and t.drugname like '%"+name+"%'";
                }
                sql+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                sqlCount+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
@ -476,9 +503,17 @@ public class TemplateManageService {
                        " t.is_del as \"is_del\"," +
                        " t.status as \"status\" " +
                        " from base_template_dict b left join dict_icd10 t on b.dict_id=t.id" +
                        " where t.is_del='1' and b.is_del='1'";
                        " where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                String sqlCount =" select count(1) as \"count\" from base_template_dict b left join dict_icd10 t on b.dict_id=t.id" +
                        " where t.is_del='1' and b.is_del='1'";
                        " where t.is_del='1' and b.is_del='1' and t.status ='1' ";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.code like '%"+code+"%'";
                    sqlCount+=" and t.code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.name like '%"+name+"%'";
                    sqlCount+=" and t.name like '%"+name+"%'";
                }
                sql+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                sqlCount+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
@ -506,7 +541,7 @@ public class TemplateManageService {
    }
    public MixEnvelop findTemlateNotAddChildList(String templateId,Integer page,Integer pageSize){
    public MixEnvelop findTemlateNotAddChildList(String templateId,String name,String code,Integer page,Integer pageSize){
        BaseTemplateDO baseTemplateDictDO = baseTemplateDao.findOne(templateId);
        MixEnvelop mixEnvelop = new MixEnvelop();
        mixEnvelop.setPageSize(pageSize);
@ -526,10 +561,18 @@ public class TemplateManageService {
                        " t.create_time as \"create_time\"" +
                        " from  base_frequency_dict t where t.id not in ( SELECT DISTINCT g.id from base_frequency_dict g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1' ";
                String sqlCount =" select count(1) as \"count\" from  base_frequency_dict t where t.id not in ( SELECT DISTINCT g.id from base_frequency_dict g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1' ";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.freq_code like '%"+code+"%'";
                    sqlCount+=" and t.freq_code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.freq_name like '%"+name+"%'";
                    sqlCount+=" and t.freq_name like '%"+name+"%'";
                }
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
                for (Map<String,Object> map:list){
                    if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
@ -562,10 +605,18 @@ public class TemplateManageService {
                        " t.create_time as \"create_time\" " +
                        " from  base_drug_use_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_use_dict g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.del_flag='1' and t.status='1'";
                String sqlCount =" select count(1) as \"count\" from  base_drug_use_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_use_dict g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.del_flag='1' and t.status='1'";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.supply_code like '%"+code+"%'";
                    sqlCount+=" and t.supply_code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.supply_name like '%"+name+"%'";
                    sqlCount+=" and t.supply_name like '%"+name+"%'";
                }
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
                for (Map<String,Object> map:list){
                    if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
@ -617,10 +668,18 @@ public class TemplateManageService {
                        " t.is_del as \"is_del\"" +
                        " from  base_drug_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_dict g left join base_template_dict " +
                        " m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
                String sqlCount = "select count(1) as \"count\"  from  base_drug_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_dict g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.charge_code like '%"+code+"%'";
                    sqlCount+=" and t.charge_code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.drugname like '%"+name+"%'";
                    sqlCount+=" and t.drugname like '%"+name+"%'";
                }
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
                for (Map<String,Object> map:list){
                    if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
@ -652,10 +711,18 @@ public class TemplateManageService {
                        " t.status as \"status\" " +
                        " from  dict_icd10 t where t.id not in ( SELECT DISTINCT g.id from dict_icd10 g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
                String sqlCount =" select count(1) as \"count\" from  dict_icd10 t where t.id not in ( SELECT DISTINCT g.id from dict_icd10 g left join base_template_dict " +
                        "m on g.id = m.dict_id " +
                        "where m.template_id ='"+templateId+"')";
                        "where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
                if (StringUtils.isNoneBlank(code)){
                    sql+=" and t.code like '%"+code+"%'";
                    sqlCount+=" and t.code like '%"+code+"%'";
                }
                if (StringUtils.isNoneBlank(name)){
                    sql+=" and t.name like '%"+name+"%'";
                    sqlCount+=" and t.name like '%"+name+"%'";
                }
                List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
                for (Map<String,Object> map:list){
                    if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){

+ 24 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasDrugExcelDO.java

@ -13,13 +13,8 @@ import java.util.Date;
import java.util.Map;
import java.util.Set;
/**
 *  医生信息列表-excel实体类
 * @author lith
 * Created at 2018/10/22.
 */
@Row(start = 1)
//@Title(names= "{'姓名', '状态(1生效,0失效)','性别(1男2女)', '身份证号', '联系方式', '机构/部门/职务', '职称','归属业务模块角色','是否名医','专长','简介'}")
public class BasDrugExcelDO extends ExcelUtil implements Validation {
    @Location(x=0)
@ -97,6 +92,29 @@ public class BasDrugExcelDO extends ExcelUtil implements Validation {
    @Location(x=24)
    @ValidRepeat
    String  mini_stock_amount;
    @Location(x=25)
    @ValidRepeat
    String  manufactory;
    @Location(x=26)
    @ValidRepeat
    String  status;
    public String getManufactory() {
        return manufactory;
    }
    public void setManufactory(String manufactory) {
        this.manufactory = manufactory;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Override
    public int validate(Map<String, Set> repeatMap) {
        int rs = 1;

+ 14 - 21
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasDrugUseExcelDO.java

@ -11,13 +11,8 @@ import com.yihu.jw.util.excel.annotation.ValidRepeat;
import java.util.Map;
import java.util.Set;
/**
 *  医生信息列表-excel实体类
 * @author lith
 * Created at 2018/10/22.
 */
@Row(start = 1)
//@Title(names= "{'姓名', '状态(1生效,0失效)','性别(1男2女)', '身份证号', '联系方式', '机构/部门/职务', '职称','归属业务模块角色','是否名医','专长','简介'}")
public class BasDrugUseExcelDO extends ExcelUtil implements Validation {
    @Location(x=0)
@ -31,25 +26,25 @@ public class BasDrugUseExcelDO extends ExcelUtil implements Validation {
    String  supply_occ;//
    @Location(x=3)
    @ValidRepeat
    String del_flag;
    String sort_code;//
    @Location(x=4)
    @ValidRepeat
    String sort_code;//
    String print_name;
    @Location(x=5)
    @ValidRepeat
    String print_name;
    String py_code;
    @Location(x=6)
    @ValidRepeat
    String py_code;
    String d_code;//
    @Location(x=7)
    @ValidRepeat
    String d_code;//
    String yb_name;
    @Location(x=8)
    @ValidRepeat
    String yb_name;
    String yb_code;
    @Location(x=9)
    @ValidRepeat
    String yb_code;
    String status;
    public String getSupply_code() {
        return supply_code;
@ -75,13 +70,6 @@ public class BasDrugUseExcelDO extends ExcelUtil implements Validation {
        this.supply_occ = supply_occ;
    }
    public String getDel_flag() {
        return del_flag;
    }
    public void setDel_flag(String del_flag) {
        this.del_flag = del_flag;
    }
    public String getSort_code() {
        return sort_code;
@ -131,8 +119,13 @@ public class BasDrugUseExcelDO extends ExcelUtil implements Validation {
        this.yb_code = yb_code;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Override
    public int validate(Map<String, Set> repeatMap) {

+ 1 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasFrequencyExcelDO.java

@ -11,13 +11,8 @@ import com.yihu.jw.util.excel.annotation.ValidRepeat;
import java.util.Map;
import java.util.Set;
/**
 *  医生信息列表-excel实体类
 * @author lith
 * Created at 2018/10/22.
 */
@Row(start = 1)
//@Title(names= "{'姓名', '状态(1生效,0失效)','性别(1男2女)', '身份证号', '联系方式', '机构/部门/职务', '职称','归属业务模块角色','是否名医','专长','简介'}")
public class BasFrequencyExcelDO extends ExcelUtil implements Validation {
    @Location(x=0)

+ 1 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BasIcd10ExcelDO.java

@ -10,13 +10,8 @@ import com.yihu.jw.util.excel.annotation.ValidRepeat;
import java.util.Map;
import java.util.Set;
/**
 *  医生信息列表-excel实体类
 * @author lith
 * Created at 2018/10/22.
 */
@Row(start = 1)
//@Title(names= "{'姓名', '状态(1生效,0失效)','性别(1男2女)', '身份证号', '联系方式', '机构/部门/职务', '职称','归属业务模块角色','是否名医','专长','简介'}")
public class BasIcd10ExcelDO extends ExcelUtil implements Validation {
    @Location(x=0)

+ 18 - 6
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseDrugExcelDOReader.java

@ -11,6 +11,7 @@ import com.yihu.jw.dict.dao.DictDoctorDutyDao;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.dict.BaseDrugDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.org.dao.BaseOrgDao;
import org.apache.commons.lang3.StringUtils;
@ -19,14 +20,12 @@ import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
/**
 * 医生信息列表-excel解析类
 * Created by 刘文彬 on 2018/10/24.
 */
@Component
public class BaseDrugExcelDOReader extends AExcelReader {
    @Autowired
@ -65,6 +64,8 @@ public class BaseDrugExcelDOReader extends AExcelReader {
            getRepeat().put("win_no", new HashSet<>());
            getRepeat().put("max_stock_amount", new HashSet<>());
            getRepeat().put("mini_stock_amount", new HashSet<>());
            getRepeat().put("manufactory", new HashSet<>());
            getRepeat().put("status", new HashSet<>());
            errorLs.clear();
            correctLs.clear();
            while (sheets.hasNext()){
@ -99,6 +100,8 @@ public class BaseDrugExcelDOReader extends AExcelReader {
                    basDrugExcelDO.setWin_no(replaceBlank(getCellCont(sheet, i, 22)));
                    basDrugExcelDO.setMax_stock_amount(replaceBlank(getCellCont(sheet, i, 23)));
                    basDrugExcelDO.setMini_stock_amount(replaceBlank(getCellCont(sheet, i, 24)));
                    basDrugExcelDO.setManufactory(replaceBlank(getCellCont(sheet, i, 25)));
                    basDrugExcelDO.setStatus(replaceBlank(getCellCont(sheet, i, 26)));
                    basDrugExcelDO.setExcelSeq(i);
                    int rs = basDrugExcelDO.validate(repeat);
                    if (validate(basDrugExcelDO)== 0||rs == 0) {
@ -121,10 +124,19 @@ public class BaseDrugExcelDOReader extends AExcelReader {
    }
    public int validate(BasDrugExcelDO basDrugExcelDO) {
        int rs = 1;
        if (StringUtils.isNoneBlank(basDrugExcelDO.getDosage())){
            List<BaseDrugDictDO> list  = baseDrugDictDao.findByCodeAndNameAndDosage(basDrugExcelDO.getCharge_code(),basDrugExcelDO.getDrugname(),basDrugExcelDO.getDosage());
        if (StringUtils.isNoneBlank(basDrugExcelDO.getCharge_code())){
            List<BaseDrugDictDO> list  = baseDrugDictDao.findByChargeCode(basDrugExcelDO.getCharge_code());
            System.out.println("当前导入数据:"+ basDrugExcelDO.getCharge_code());
            if (list!=null&&list.size()>0){
                String templateId = this.getTemplateId();
                if (StringUtils.isNoneBlank(templateId)){
                    BaseTemplateDictDO baseTemplateDictDO = new BaseTemplateDictDO();
                    baseTemplateDictDO.setTemplateId(templateId);
                    baseTemplateDictDO.setIsDel("1");
                    baseTemplateDictDO.setDictId(list.get(0).getId());
                    baseTemplateDictDO.setCreateTime(new Date());
                    baseTemplateDictDao.save(baseTemplateDictDO);
                }
                System.out.println("进验证有重复数据"+list.get(0).getCharge_code());
                return 0;
            }

+ 20 - 13
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseDrugUseExcelDOReader.java

@ -7,20 +7,19 @@ import com.yihu.jw.dict.dao.BaseDrugUseDictDao;
import com.yihu.jw.dict.dao.BaseTemplateDictDao;
import com.yihu.jw.entity.base.dict.BaseDrugDictDO;
import com.yihu.jw.entity.base.dict.BaseDrugUseDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
/**
 * 医生信息列表-excel解析类
 * Created by 刘文彬 on 2018/10/24.
 */
@Component
public class BaseDrugUseExcelDOReader extends AExcelReader {
    @Autowired
@ -37,7 +36,6 @@ public class BaseDrugUseExcelDOReader extends AExcelReader {
            getRepeat().put("supply_code", new HashSet<>());
            getRepeat().put("supply_name", new HashSet<>());
            getRepeat().put("supply_occ", new HashSet<>());
            getRepeat().put("del_flag", new HashSet<>());
            getRepeat().put("sort_code", new HashSet<>());
            getRepeat().put("print_name", new HashSet<>());
            getRepeat().put("py_code", new HashSet<>());
@ -57,13 +55,13 @@ public class BaseDrugUseExcelDOReader extends AExcelReader {
                    basDrugUseExcelDO.setSupply_code(replaceBlank(getCellCont(sheet, i, 0)));
                    basDrugUseExcelDO.setSupply_name(replaceBlank(getCellCont(sheet, i, 1)));
                    basDrugUseExcelDO.setSupply_occ(getCellCont(sheet, i, 2));
                    basDrugUseExcelDO.setDel_flag(replaceBlank(getCellCont(sheet, i, 3)));
                    basDrugUseExcelDO.setSort_code(replaceBlank(getCellCont(sheet, i, 4)));
                    basDrugUseExcelDO.setPrint_name(replaceBlank(getCellCont(sheet, i, 5)));
                    basDrugUseExcelDO.setPy_code(replaceBlank(getCellCont(sheet, i, 6)));
                    basDrugUseExcelDO.setD_code(replaceBlank(getCellCont(sheet, i, 7)));
                    basDrugUseExcelDO.setYb_name(getCellCont(sheet, i, 8));
                    basDrugUseExcelDO.setYb_code(replaceBlank(getCellCont(sheet, i, 9)));
                    basDrugUseExcelDO.setSort_code(replaceBlank(getCellCont(sheet, i, 3)));
                    basDrugUseExcelDO.setPrint_name(replaceBlank(getCellCont(sheet, i, 4)));
                    basDrugUseExcelDO.setPy_code(replaceBlank(getCellCont(sheet, i, 5)));
                    basDrugUseExcelDO.setD_code(replaceBlank(getCellCont(sheet, i, 6)));
                    basDrugUseExcelDO.setYb_name(getCellCont(sheet, i, 7));
                    basDrugUseExcelDO.setYb_code(replaceBlank(getCellCont(sheet, i, 8)));
                    basDrugUseExcelDO.setStatus(getCellCont(sheet, i, 9));
                    basDrugUseExcelDO.setExcelSeq(i);
                    int rs = basDrugUseExcelDO.validate(repeat);
                    if (validate(basDrugUseExcelDO)== 0||rs == 0) {
@ -87,9 +85,18 @@ public class BaseDrugUseExcelDOReader extends AExcelReader {
    public int validate(BasDrugUseExcelDO basDrugUseExcelDO) {
        int rs = 1;
        if (StringUtils.isNoneBlank(basDrugUseExcelDO.getSupply_code())){
            List<BaseDrugUseDictDO> list  = baseDrugUseDictDao.findByCodeAndName(basDrugUseExcelDO.getSupply_code(),basDrugUseExcelDO.getSupply_name());
            List<BaseDrugUseDictDO> list  = baseDrugUseDictDao.findBySupCode(basDrugUseExcelDO.getSupply_code());
            System.out.println("当前导入数据:"+ basDrugUseExcelDO.getSupply_code());
            if (list!=null&&list.size()>0){
                String templateId = this.getTemplateId();
                if (StringUtils.isNoneBlank(templateId)){
                    BaseTemplateDictDO baseTemplateDictDO = new BaseTemplateDictDO();
                    baseTemplateDictDO.setTemplateId(templateId);
                    baseTemplateDictDO.setIsDel("1");
                    baseTemplateDictDO.setDictId(list.get(0).getId());
                    baseTemplateDictDO.setCreateTime(new Date());
                    baseTemplateDictDao.save(baseTemplateDictDO);
                }
                System.out.println("进验证有重复数据"+list.get(0).getSupply_code());
                return 0;
            }

+ 13 - 5
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseFrequencyExcelDOReader.java

@ -7,20 +7,19 @@ import com.yihu.jw.dict.dao.BaseFrequencyDictDao;
import com.yihu.jw.dict.dao.BaseTemplateDictDao;
import com.yihu.jw.entity.base.dict.BaseDrugUseDictDO;
import com.yihu.jw.entity.base.dict.BaseFrequencyDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
/**
 * 医生信息列表-excel解析类
 * Created by 刘文彬 on 2018/10/24.
 */
@Component
public class BaseFrequencyExcelDOReader extends AExcelReader {
    @Autowired
@ -82,9 +81,18 @@ public class BaseFrequencyExcelDOReader extends AExcelReader {
    public int validate(BasFrequencyExcelDO basFrequencyExcelDO) {
        int rs = 1;
        if (StringUtils.isNoneBlank(basFrequencyExcelDO.getFreq_code())){
            List<BaseFrequencyDictDO> list  = baseFrequencyDictDao.findByCodeAndIdName(basFrequencyExcelDO.getFreq_code(),basFrequencyExcelDO.getFreq_name());
            List<BaseFrequencyDictDO> list  = baseFrequencyDictDao.findByFrqCode(basFrequencyExcelDO.getFreq_code());
            System.out.println("当前导入数据:"+ basFrequencyExcelDO.getFreq_code());
            if (list!=null&&list.size()>0){
                String templateId = this.getTemplateId();
                if (StringUtils.isNoneBlank(templateId)){
                    BaseTemplateDictDO baseTemplateDictDO = new BaseTemplateDictDO();
                    baseTemplateDictDO.setTemplateId(templateId);
                    baseTemplateDictDO.setIsDel("1");
                    baseTemplateDictDO.setDictId(list.get(0).getId());
                    baseTemplateDictDO.setCreateTime(new Date());
                    baseTemplateDictDao.save(baseTemplateDictDO);
                }
                System.out.println("进验证有重复数据"+list.get(0).getFreq_code());
                return 0;
            }

+ 13 - 5
svr/svr-base/src/main/java/com/yihu/jw/base/service/dict/importManage/BaseIcd10ExcelDOReader.java

@ -6,6 +6,7 @@ import com.yihu.jw.base.endpoint.common.excel.AExcelReader;
import com.yihu.jw.dict.dao.BaseDrugDictDao;
import com.yihu.jw.dict.dao.BaseTemplateDictDao;
import com.yihu.jw.entity.base.dict.BaseDrugDictDO;
import com.yihu.jw.entity.base.dict.BaseTemplateDictDO;
import com.yihu.jw.entity.base.dict.DictIcd10DO;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Sheet;
@ -13,14 +14,12 @@ import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
/**
 * 医生信息列表-excel解析类
 * Created by 刘文彬 on 2018/10/24.
 */
@Component
public class BaseIcd10ExcelDOReader extends AExcelReader {
    @Autowired
@ -84,9 +83,18 @@ public class BaseIcd10ExcelDOReader extends AExcelReader {
    public int validate(BasIcd10ExcelDO basIcd10ExcelDO) {
        int rs = 1;
        if (StringUtils.isNoneBlank(basIcd10ExcelDO.getCode())){
            List<DictIcd10DO> list  = dictIcd10Dao.findByCodeAndName(basIcd10ExcelDO.getCode(),basIcd10ExcelDO.getName());
            List<DictIcd10DO> list  = dictIcd10Dao.findByIcdCode(basIcd10ExcelDO.getCode());
            System.out.println("当前导入数据:"+ basIcd10ExcelDO.getCode());
            if (list!=null&&list.size()>0){
                String templateId = this.getTemplateId();
                if (StringUtils.isNoneBlank(templateId)){
                    BaseTemplateDictDO baseTemplateDictDO = new BaseTemplateDictDO();
                    baseTemplateDictDO.setTemplateId(templateId);
                    baseTemplateDictDO.setIsDel("1");
                    baseTemplateDictDO.setDictId(list.get(0).getId().toString());
                    baseTemplateDictDO.setCreateTime(new Date());
                    baseTemplateDictDao.save(baseTemplateDictDO);
                }
                System.out.println("进验证有重复数据"+list.get(0).getCode());
                return 0;
            }

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

@ -27,6 +27,7 @@ import com.yihu.jw.entity.ylzinfo.OauthYlzConfigDO;
import com.yihu.jw.es.service.StatisticsEsService;
import com.yihu.jw.file_upload.FileUploadService;
import com.yihu.jw.hospital.dao.consult.KnowledgeArticleUserDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.hospital.httplog.service.WlyyHttpLogService;
import com.yihu.jw.hospital.message.service.BaseBannerDoctorService;
@ -130,6 +131,8 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    private BaseDictJobTitleService baseDictJobTitleService;
    @Autowired
    private BaseDoctorInfoService baseDoctorService;
    @Autowired
    private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
    @Autowired
    private WechatInfoService wechatInfoService;
@ -1067,6 +1070,11 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
            ResponseParams<?> decryptRes = client.decryptNotifyResponse(encryptRes);
            logger.info("解密后:{}",JSON.toJSONString(decryptRes) );
            JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(decryptRes));
            String hsName="核酸";
            WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictDao.findById("natItemName");
            if (wlyyHospitalSysDictDO!=null){
                hsName=wlyyHospitalSysDictDO.getDictValue();
            }
            boolean isDecrypt = ("-1".equals(decryptRes.getRespCode()) ? false : true); // 是否解密失败
            if (!isDecrypt) {
                response.getWriter().write("DECRYPT FAILURE");
@ -1144,7 +1152,8 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
                                }
                            }
                            for (WaitPayDetailVO waitPayDetailVO:listWPD){
                                if (waitPayDetailVO.getItemName().contains("核酸检测")){
                                if (waitPayDetailVO.getItemName().contains(hsName)){
                                    System.out.println("hsName:"+hsName);
                                    //判断检查订单
                                    List<BaseNatAppointmentDO> baseNatAppointmentDOS = baseNatAppointmentDao.findByRealOrderList(waitPayDetailVO.getRecipeNo());
                                    for (BaseNatAppointmentDO natAppointmentDO:baseNatAppointmentDOS){
@ -2181,4 +2190,32 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
            return Envelop.getError(e.getMessage());
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDeptByOrgCode)
    @ApiOperation(value = "查询机构下所有科室", notes = "查询机构下所有科室")
    public MixEnvelop findDeptByOrgCode(@ApiParam(name = "orgCode", value = "机构code")
                                        @RequestParam(value = "orgCode", required = true)String orgCode,
                                        @ApiParam(name = "keyName", value = "关键字")
                                        @RequestParam(value = "keyName", required = false)String keyName) {
        try {
            return prescriptionService.findDeptByOrgCode(orgCode,keyName);
        }catch (Exception e) {
            return failedMixEnvelopException(e);
        }
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findDeptDescByDeptCodeAndOrgCode)
    @ApiOperation(value = "查询科室介绍", notes = "查询科室介绍")
    public MixEnvelop findDeptDesc(@ApiParam(name = "orgCode", value = "机构code")
                                   @RequestParam(value = "orgCode", required = true)String orgCode,
                                   @ApiParam(name = "deptCode", value = "部门code")
                                   @RequestParam(value = "deptCode", required = true)String deptCode) {
        try {
            return prescriptionService.findDeptDesc(orgCode,deptCode);
        }catch (Exception e) {
            return failedMixEnvelopException(e);
        }
    }
}

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

@ -3091,7 +3091,7 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
       }
    }
    @GetMapping("/findDoctorChargeType")
    /*@GetMapping("/findDoctorChargeType")
    @ApiOperation(value = "findDoctorChargeType", notes = "findDoctorChargeType")
    public Envelop findDoctorChargeType(
            @ApiParam(name = "doctor", value = "doctor")
@ -3137,5 +3137,5 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
        }catch (Exception e) {
            return failedObjEnvelopException(e);
        }
    }
    }*/
}

+ 4 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/service/SystemMessage/HospitalSystemMessageService.java

@ -9,6 +9,7 @@ import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.im.service.ImService;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.util.idcard.IdCardUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -69,6 +70,9 @@ public class HospitalSystemMessageService  {
			JSONObject object = new JSONObject();
			object.put("socket_sms_type",11);//系统消息刷新事件
			object.put("relation_code",systemMessageDO.getType());
			if (StringUtils.isNoneBlank(systemMessageDO.getType())&&"3".equalsIgnoreCase(systemMessageDO.getType())){
				object.put("outpatientId",systemMessageDO.getRelationCode());
			}
			imService.sendWaiSocketMessage(systemMessageDO.getSender(),systemMessageDO.getReceiver(),object.toString(),"1");
		}catch (Exception e){
			logger.error(e.toString());