yeshijie před 7 roky
rodič
revize
47daecec09

+ 4 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/zydict/ZyCommonDictDao.java

@ -1,7 +1,9 @@
package com.yihu.wlyy.repository.zydict;
import com.yihu.wlyy.entity.zydict.ZyCommonDict;
import com.yihu.wlyy.entity.zydict.ZyIvPhysicDict;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
@ -9,5 +11,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 */
public interface ZyCommonDictDao extends PagingAndSortingRepository<ZyCommonDict, Long>, JpaSpecificationExecutor<ZyCommonDict> {
    @Query("select p.name from ZyCommonDict p where p.dictName=?1 and p.code=?2 ")
    String findByDictNameAndCode(String dictName,String code);
}

+ 5 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/zydict/ZyIvPhysicDictDao.java

@ -1,11 +1,16 @@
package com.yihu.wlyy.repository.zydict;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.zydict.ZyIvPhysicDict;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2017/8/11.
 */
public interface ZyIvPhysicDictDao extends PagingAndSortingRepository<ZyIvPhysicDict, Long>, JpaSpecificationExecutor<ZyIvPhysicDict> {
    @Query("select p from ZyIvPhysicDict p where p.physciCode=?1")
    ZyIvPhysicDict findByPhysicCode(String physciCode);
}

+ 22 - 9
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -16,6 +16,7 @@ import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.PatientFamilyMember;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.entity.patient.prescription.*;
import com.yihu.wlyy.entity.zydict.ZyIvPhysicDict;
import com.yihu.wlyy.repository.consult.ConsultTeamDao;
import com.yihu.wlyy.repository.consult.ConsultTeamDoctorDao;
import com.yihu.wlyy.repository.consult.ConsultTeamLogDao;
@ -1157,11 +1158,7 @@ public class ConsultTeamService extends ConsultService {
            prescriptionInfo.setPrice(CommonUtil.doubleToInt(info.getDouble("price")));//药品单价
//            prescriptionInfo.setIsRefrigerate(0);//是否冷藏 1是 0否
            prescriptionInfo.setJwSubCode(info.getString("jwSubCode"));//智业子处方号
            String subjectClass = info.getString("subjectClass");
            if(StringUtils.isBlank(subjectClass)){//处理默认药品的科目类型为空
                subjectClass = zyDictService.getSubjectClass(info.getString("drugCode"));
            }
            prescriptionInfo.setSubjectClass(subjectClass);//科目编码
            prescriptionInfo.setDrugNumUnit(info.getString("drugNumUnit"));//数量单位编码
            prescriptionInfo.setDrugNumUnitName(info.getString("drugNumUnitName"));//数量单位名称
            prescriptionInfo.setCost(CommonUtil.doubleToInt(info.getDouble("cost")));//金额
@ -1177,15 +1174,31 @@ public class ConsultTeamService extends ConsultService {
            prescriptionInfo.setPhysicDose(info.getString("physicDose"));//用药剂量
            prescriptionInfo.setPhysicDoseUnit(info.getString("physicDoseUnit"));//剂量单位编码
            prescriptionInfo.setPhysicDoseUnitName(info.getString("physicDoseUnitName"));//剂量单位名称
            prescriptionInfo.setPhysicAmount(info.getString("physicAmount"));//用药总量
            prescriptionInfo.setPhysicAmountUnit(info.getString("physicAmount"));//总量单位编码
            prescriptionInfo.setPhysicAmountUnitName(info.getString("physicAmountUnitName"));//总量单位名称
            prescriptionInfo.setPhysicInjectPlace(info.getString("physicInjectPlace"));//注射地点编码
            prescriptionInfo.setPhysicInjectPlaceName(info.getString("physicInjectPlaceName"));//注射地点名称
            prescriptionInfo.setPhysicSkinTest(info.getString("physicSkinTest"));//注射地点名称
            prescriptionInfo.setPhysicSkinTestName(info.getString("physicSkinTestName"));//皮试类型名称
            prescriptionInfo.setRemark(info.getString("Remark"));//备注
            prescriptionInfo.setIsRefrigerate(zyDictService.getIsRefrigerate(prescriptionInfo.getDrugCode()));
            //需要特殊处理的字段
            ZyIvPhysicDict physicDict = zyDictService.findByPhysicCode(prescriptionInfo.getDrugCode());
            String subjectClass = info.getString("subjectClass");//科目类型
            String physicAmount = info.getString("physicAmount");//用药总量
            String physicAmountUnit = info.getString("physicAmountUnit");//总量单位编码
            String physicAmountUnitName = info.getString("physicAmountUnitName");//总量单位名称
            Integer isRefrigerate = 0;
            if(physicDict!=null){
                subjectClass = physicDict.getSubjectClass();
                isRefrigerate = "2".equals(physicDict.getStorageConditions())?1:isRefrigerate;
                physicAmount = null;
                physicAmountUnit = physicDict.getPackUnit();
                physicAmountUnitName = zyDictService.findByDictNameAndCode("IV_MEASURE_UNIT_DICT",physicAmountUnit);
            }
            prescriptionInfo.setPhysicAmount(physicAmount);
            prescriptionInfo.setPhysicAmountUnit(physicAmountUnit);
            prescriptionInfo.setPhysicAmountUnitName(physicAmountUnitName);
            prescriptionInfo.setIsRefrigerate(isRefrigerate);
            prescriptionInfo.setSubjectClass(subjectClass);//科目编码
            prescriptionInfoDao.save(prescriptionInfo);
        }
        //设置最小用药天数

+ 26 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/third/jw/ZyDictService.java

@ -2,9 +2,12 @@ package com.yihu.wlyy.service.third.jw;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.organization.Hospital;
import com.yihu.wlyy.entity.zydict.ZyIvPhysicDict;
import com.yihu.wlyy.repository.doctor.DoctorMappingDao;
import com.yihu.wlyy.repository.organization.HospitalDao;
import com.yihu.wlyy.repository.organization.HospitalMappingDao;
import com.yihu.wlyy.repository.zydict.ZyCommonDictDao;
import com.yihu.wlyy.repository.zydict.ZyIvPhysicDictDao;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
@ -29,7 +32,10 @@ public class ZyDictService {
    private DoctorMappingDao doctorMappingDao;
    @Autowired
    private HospitalMappingDao hospitalMappingDao;
    @Autowired
    private ZyIvPhysicDictDao zyIvPhysicDictDao;
    @Autowired
    private ZyCommonDictDao zyCommonDictDao;
    @Transactional
    public void synchronousDict(String dictName) {
@ -125,6 +131,25 @@ public class ZyDictService {
        return isRefrigerate;
    }
    /**
     * 按药品查找code
     * @param physicCode
     * @return
     */
    public ZyIvPhysicDict findByPhysicCode(String physicCode){
        return zyIvPhysicDictDao.findByPhysicCode(physicCode);
    }
    /**
     * 查找公共字典名称
     * @param dictName
     * @param code
     * @return
     */
    public String findByDictNameAndCode(String dictName,String code){
        return zyCommonDictDao.findByDictNameAndCode(dictName,code);
    }
    /**
     * 获取药品科目类型
     * @param physicCodde