| 
															
																@ -2,11 +2,9 @@ package com.yihu.jw.service.channel; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.fasterxml.jackson.databind.ObjectMapper; 
															 | 
															
															 | 
															
																import com.fasterxml.jackson.databind.ObjectMapper; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDiagnosisDO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionInfoDO; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import com.yihu.jw.entity.hospital.prescription.*; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.hospital.prescription.dao.*; 
															 | 
															
															 | 
															
																import com.yihu.jw.hospital.prescription.dao.*; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import com.yihu.jw.hospital.prescription.service.PrescriptionLogService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.im.service.ImService; 
															 | 
															
															 | 
															
																import com.yihu.jw.im.service.ImService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionDiagnosisVO; 
															 | 
															
															 | 
															
																import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionDiagnosisVO; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO; 
															 | 
															
															 | 
															
																import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -14,6 +12,7 @@ import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.restmodel.web.ListEnvelop; 
															 | 
															
															 | 
															
																import com.yihu.jw.restmodel.web.ListEnvelop; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.restmodel.web.status.EnvelopStatus; 
															 | 
															
															 | 
															
																import com.yihu.jw.restmodel.web.status.EnvelopStatus; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.util.http.HttpUtils; 
															 | 
															
															 | 
															
																import com.yihu.jw.util.http.HttpUtils; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import org.apache.commons.lang3.StringUtils; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.slf4j.Logger; 
															 | 
															
															 | 
															
																import org.slf4j.Logger; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.slf4j.LoggerFactory; 
															 | 
															
															 | 
															
																import org.slf4j.LoggerFactory; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.beans.factory.annotation.Autowired; 
															 | 
															
															 | 
															
																import org.springframework.beans.factory.annotation.Autowired; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -21,6 +20,7 @@ import org.springframework.beans.factory.annotation.Value; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.jdbc.core.JdbcTemplate; 
															 | 
															
															 | 
															
																import org.springframework.jdbc.core.JdbcTemplate; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.stereotype.Component; 
															 | 
															
															 | 
															
																import org.springframework.stereotype.Component; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.transaction.annotation.Transactional; 
															 | 
															
															 | 
															
																import org.springframework.transaction.annotation.Transactional; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import java.util.*; 
															 | 
															
															 | 
															
																import java.util.*; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																/** 
															 | 
															
															 | 
															
																/** 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -50,8 +50,12 @@ public class PrescriptionStatusUpdateService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private OutpatientDao outpatientDao; 
															 | 
															
															 | 
															
																    private OutpatientDao outpatientDao; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    @Autowired 
															 | 
															
															 | 
															
																    @Autowired 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private ImService imService; 
															 | 
															
															 | 
															
																    private ImService imService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    @Autowired 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    private PrescriptionLogService prescriptionLogService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    public void autoPush() throws Exception{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public void autoPush() throws Exception { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        logger.info("autoPush start"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //获取所有就诊中已挂号、已下临时处方、并且未结束的处方 
															 | 
															
															 | 
															
																        //获取所有就诊中已挂号、已下临时处方、并且未结束的处方 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        String sql = "SELECT o.id,o.con_no,o.register_no,p.mapping_code,pre.adm_no,pre.real_order,pre.id preId,pre.dispensary_type,pre.status " + 
															 | 
															
															 | 
															
																        String sql = "SELECT o.id,o.con_no,o.register_no,p.mapping_code,pre.adm_no,pre.real_order,pre.id preId,pre.dispensary_type,pre.status " + 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                "FROM base.wlyy_outpatient o LEFT JOIN base.wlyy_patient_mapping p ON o.patient=p.patient " + 
															 | 
															
															 | 
															
																                "FROM base.wlyy_outpatient o LEFT JOIN base.wlyy_patient_mapping p ON o.patient=p.patient " + 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -60,45 +64,53 @@ public class PrescriptionStatusUpdateService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); 
															 | 
															
															 | 
															
																        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        for (Map<String, Object> map : list) { 
															 | 
															
															 | 
															
																        for (Map<String, Object> map : list) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //处方号 
															 | 
															
															 | 
															
																            //处方号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String realOrder=String.valueOf(map.get("real_order")); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String realOrder = String.valueOf(map.get("real_order")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //门诊就诊唯一号 
															 | 
															
															 | 
															
																            //门诊就诊唯一号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String admNo=String.valueOf(map.get("adm_no")); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String admNo = String.valueOf(map.get("adm_no")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //第三方居民唯一号 
															 | 
															
															 | 
															
																            //第三方居民唯一号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String patientMappingCode=String.valueOf(map.get("mapping_code")); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String patientMappingCode = String.valueOf(map.get("mapping_code")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //中山医院居民就诊次数 
															 | 
															
															 | 
															
																            //中山医院居民就诊次数 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String conNo=String.valueOf(map.get("con_no")); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String conNo = String.valueOf(map.get("con_no")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //处方原状态 
															 | 
															
															 | 
															
																            //处方原状态 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String status=String.valueOf(map.get("status")); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String status = String.valueOf(map.get("status")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //处方Id 
															 | 
															
															 | 
															
																            //处方Id 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String preId=String.valueOf(map.get("preId")); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String preId = String.valueOf(map.get("preId")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //门诊记录Id 
															 | 
															
															 | 
															
																            //门诊记录Id 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String outPatientId=String.valueOf(map.get("id")); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            String outPatientId = String.valueOf(map.get("id")); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //根据处方号获取处方状态 
															 | 
															
															 | 
															
																            //根据处方号获取处方状态 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            Map<String, Object> params =new HashMap<>(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            params.put("registerSn",null); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            params.put("patNo",patientMappingCode); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            params.put("admNo",admNo); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            params.put("realOrder",realOrder); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            Map<String, Object> params = new HashMap<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            params.put("registerSn", null); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            params.put("patNo", patientMappingCode); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            params.put("admNo", admNo); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            params.put("realOrder", realOrder); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //判断处方是否存在 
															 | 
															
															 | 
															
																            //判断处方是否存在 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            boolean preExistFlag=true; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            List<WlyyPrescriptionVO> wlyyPrescriptionVOS= getWlyyPrescriptionVO(params); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            boolean preExistFlag = true; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<WlyyPrescriptionVO> wlyyPrescriptionVOS = getWlyyPrescriptionVO(params); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //若用处方号获取处方为空,则需要使用居民编号及门诊就诊唯一号查询 
															 | 
															
															 | 
															
																            //若用处方号获取处方为空,则需要使用居民编号及门诊就诊唯一号查询 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(null==wlyyPrescriptionVOS){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                preExistFlag=false; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (null == wlyyPrescriptionVOS) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                preExistFlag = false; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                params.remove("realOrder"); 
															 | 
															
															 | 
															
																                params.remove("realOrder"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                wlyyPrescriptionVOS= getWlyyPrescriptionVO(params); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                wlyyPrescriptionVOS = getWlyyPrescriptionVO(params); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //根据处方id获取处方详情 
															 | 
															
															 | 
															
																            //根据处方id获取处方详情 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            WlyyPrescriptionDO wlyyPrescriptionDO=prescriptionDao.findOne(preId); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            WlyyPrescriptionDO wlyyPrescriptionDO = prescriptionDao.findOne(preId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //根据门诊id获取门诊记录:如果处方状态为已完成,需要将门诊状态改为已诊 
															 | 
															
															 | 
															
																            //根据门诊id获取门诊记录:如果处方状态为已完成,需要将门诊状态改为已诊 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            WlyyOutpatientDO wlyyOutpatientDO=outpatientDao.findById(outPatientId); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(null!=wlyyPrescriptionVOS){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                ObjectMapper objectMapper=new ObjectMapper(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                WlyyPrescriptionVO wlyyPrescriptionVO=objectMapper.convertValue(wlyyPrescriptionVOS.get(0),WlyyPrescriptionVO.class); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                //如果状态为100,门诊记录需要变更为结束 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																//               wlyyPrescriptionVOS.get(0); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                wlyyPrescriptionDO.setStatus(wlyyPrescriptionVO.getStatus()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findById(outPatientId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if (null != wlyyPrescriptionVOS) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                ObjectMapper objectMapper = new ObjectMapper(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                WlyyPrescriptionVO wlyyPrescriptionVO = objectMapper.convertValue(wlyyPrescriptionVOS.get(0), WlyyPrescriptionVO.class); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                //如果处方状态一致,则不做操作 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (wlyyPrescriptionDO.getStatus() != wlyyPrescriptionVO.getStatus()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    return; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                //存储处方操作日志 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                prescriptionLogService.addPrescriptionLog(wlyyPrescriptionDO.getId(),wlyyPrescriptionDO.getStatus(),2, wlyyPrescriptionDO.getDoctor(), wlyyPrescriptionDO.getDoctorName(),"", new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                //调用im发送模板消息 
															 | 
															
															 | 
															
																                //调用im发送模板消息 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                /** 
															 | 
															
															 | 
															
																                /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 * 续方取消:-3 支付过期取消,-2 患者自己取消 ,-1 医生取消 
															 | 
															
															 | 
															
																                 * 续方取消:-3 支付过期取消,-2 患者自己取消 ,-1 医生取消 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -109,128 +121,143 @@ public class PrescriptionStatusUpdateService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 * 已完成:100 已完成/未评价 ,101 已完成已经评价 
															 | 
															
															 | 
															
																                 * 已完成:100 已完成/未评价 ,101 已完成已经评价 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                 */ 
															 | 
															
															 | 
															
																                 */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                try { 
															 | 
															
															 | 
															
																                try { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(13<wlyyPrescriptionVO.getStatus()){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    if (13 < wlyyPrescriptionVO.getStatus() && wlyyPrescriptionDO.getStatus() < 20) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                        logger.info("autoPush imService send"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        imService.pushPrescriptionImMessage(wlyyPrescriptionVO); 
															 | 
															
															 | 
															
																                        imService.pushPrescriptionImMessage(wlyyPrescriptionVO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } catch (Exception e) { 
															 | 
															
															 | 
															
																                } catch (Exception e) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    logger.error("im异常:"+e.getMessage()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    e.printStackTrace(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    logger.error("im异常:" + e.getMessage()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                //用处方号获取不到处方时,重新更新处方到本地 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(!preExistFlag){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    //删除原有药品信息 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    List<WlyyPrescriptionInfoDO> oldInfos = prescriptionInfoDao.findByPrescriptionId(preId); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(oldInfos!=null&&oldInfos.size()>0){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        prescriptionInfoDao.delete(oldInfos); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    //删除之前诊断 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    List<WlyyPrescriptionDiagnosisDO> ds = prescriptionDiagnosisDao.findByPrescriptionId(preId); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    if(ds!=null&&ds.size()>0){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        prescriptionDiagnosisDao.delete(ds); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    String Icd10 = ""; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    String Icd10Name = ""; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    List<WlyyPrescriptionDiagnosisDO> wlyyPrescriptionDiagnosisDOS=new ArrayList<>(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    for(WlyyPrescriptionDiagnosisVO diagnosisVO:wlyyPrescriptionVO.getDiagnosisVOs()){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        WlyyPrescriptionDiagnosisDO diagnosisDO=new WlyyPrescriptionDiagnosisDO(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //将诊断拼接放到门诊记录中 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        if("1".equals(diagnosisVO.getType())){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            Icd10 = diagnosisVO.getCode()+","+Icd10; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            Icd10Name+=diagnosisVO.getName()+","+Icd10Name; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        }else { 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            Icd10+=diagnosisVO.getCode()+","; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                            Icd10Name+=diagnosisVO.getName()+","; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        diagnosisDO.setCode(diagnosisVO.getCode()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        diagnosisDO.setName(diagnosisVO.getName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        diagnosisDO.setType(diagnosisVO.getType()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        diagnosisDO.setPrescriptionId(preId); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        diagnosisDO.setCreateTime(new Date()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        wlyyPrescriptionDiagnosisDOS.add(diagnosisDO); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    //重新保存诊断 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    prescriptionDiagnosisDao.save(wlyyPrescriptionDiagnosisDOS); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    //药品更新 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    List<WlyyPrescriptionInfoDO> wlyyPrescriptionInfoDOS=new ArrayList<>(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    for(WlyyPrescriptionInfoVO infoVO:wlyyPrescriptionVO.getInfoVOs()){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        WlyyPrescriptionInfoDO infoDO=new WlyyPrescriptionInfoDO(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //处方code 关联表wlyy_prescription code 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setPrescriptionId(preId); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //药品编号 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setDrugNo(infoVO.getDrugNo()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //药品名称 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setDrugName(infoVO.getDrugName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //库房号 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setDispDeposite(infoVO.getDispDeposite()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        // 药量 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setDosage(infoVO.getDosage()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //数量 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setQuantity(infoVO.getQuantity()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //单位 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setUnit(infoVO.getUnit()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //單位名稱 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setUnitName(infoVO.getUnitName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //包装单位 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setPackUnit(infoVO.getPackUnit()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //包装单位名称 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setPackUnitName(infoVO.getPackUnitName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        // 用法 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setSupplyCode(infoVO.getSupplyCode()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //用法名稱 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setSupplyName(infoVO.getSupplyName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //天数 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setDays(infoVO.getDays()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //组号 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setFrequency(infoVO.getFrequency()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //药品收费码 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setSerial(infoVO.getSerial()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //库房号 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setGroupNo(infoVO.getGroupNo()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //规格 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setSpecification(infoVO.getSpecification()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        // 1可用 0删除 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setDel(1); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //频率 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setUsageCode(infoVO.getUsageCode()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //頻率名稱 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setUsageName(infoVO.getUsageName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        //包装价格 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        infoDO.setPackRetprice(infoVO.getPackRetprice()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                        wlyyPrescriptionInfoDOS.add(infoDO); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    prescriptionInfoDao.save(wlyyPrescriptionInfoDOS); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    Icd10 = Icd10.substring(0,Icd10.length()-1); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    Icd10Name = Icd10Name.substring(0,Icd10Name.length()-1); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    wlyyOutpatientDO.setIcd10(Icd10); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    wlyyOutpatientDO.setIcd10Name(Icd10Name); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                //his处方变更时,会删除原本处方,重新更新处方到本地 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (!preExistFlag) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                    updatePrescriptionInfo(preId,wlyyPrescriptionVO,wlyyOutpatientDO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(100==wlyyPrescriptionVO.getStatus()){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                //更改门诊状态为已经检查 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                if (100 == wlyyPrescriptionVO.getStatus()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    wlyyOutpatientDO.setStatus("2"); 
															 | 
															
															 | 
															
																                    wlyyOutpatientDO.setStatus("2"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                outpatientDao.save(wlyyOutpatientDO); 
															 | 
															
															 | 
															
																                outpatientDao.save(wlyyOutpatientDO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                //更新处方状态记录 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                wlyyPrescriptionDO.setStatus(wlyyPrescriptionVO.getStatus()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                prescriptionDao.save(wlyyPrescriptionDO); 
															 | 
															
															 | 
															
																                prescriptionDao.save(wlyyPrescriptionDO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        logger.info("autoPush end"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public void updatePrescriptionInfo(String preId, WlyyPrescriptionVO wlyyPrescriptionVO, WlyyOutpatientDO wlyyOutpatientDO) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        logger.info("autoPush updatePrescriptionInfo "); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        //删除原有药品信息 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        List<WlyyPrescriptionInfoDO> oldInfos = prescriptionInfoDao.findByPrescriptionId(preId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (oldInfos != null && oldInfos.size() > 0) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            prescriptionInfoDao.delete(oldInfos); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        //删除之前诊断 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        List<WlyyPrescriptionDiagnosisDO> ds = prescriptionDiagnosisDao.findByPrescriptionId(preId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (ds != null && ds.size() > 0) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            prescriptionDiagnosisDao.delete(ds); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String Icd10 = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String Icd10Name = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        List<WlyyPrescriptionDiagnosisDO> wlyyPrescriptionDiagnosisDOS = new ArrayList<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        for (WlyyPrescriptionDiagnosisVO diagnosisVO : wlyyPrescriptionVO.getDiagnosisVOs()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            WlyyPrescriptionDiagnosisDO diagnosisDO = new WlyyPrescriptionDiagnosisDO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //将诊断拼接放到门诊记录中 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if ("1".equals(diagnosisVO.getType())) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                Icd10 = diagnosisVO.getCode() + "," + Icd10; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                Icd10Name += diagnosisVO.getName() + "," + Icd10Name; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            } else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                Icd10 += diagnosisVO.getCode() + ","; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                Icd10Name += diagnosisVO.getName() + ","; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            diagnosisDO.setCode(diagnosisVO.getCode()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            diagnosisDO.setName(diagnosisVO.getName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            diagnosisDO.setType(diagnosisVO.getType()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            diagnosisDO.setPrescriptionId(preId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            diagnosisDO.setCreateTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            wlyyPrescriptionDiagnosisDOS.add(diagnosisDO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        //重新保存诊断 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        prescriptionDiagnosisDao.save(wlyyPrescriptionDiagnosisDOS); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        //药品更新 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        List<WlyyPrescriptionInfoDO> wlyyPrescriptionInfoDOS = new ArrayList<>(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        for (WlyyPrescriptionInfoVO infoVO : wlyyPrescriptionVO.getInfoVOs()) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            WlyyPrescriptionInfoDO infoDO = new WlyyPrescriptionInfoDO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //处方code 关联表wlyy_prescription code 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setPrescriptionId(preId); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //药品编号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setDrugNo(infoVO.getDrugNo()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //药品名称 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setDrugName(infoVO.getDrugName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //库房号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setDispDeposite(infoVO.getDispDeposite()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            // 药量 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setDosage(infoVO.getDosage()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //数量 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setQuantity(infoVO.getQuantity()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //单位 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setUnit(infoVO.getUnit()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //單位名稱 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setUnitName(infoVO.getUnitName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //包装单位 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setPackUnit(infoVO.getPackUnit()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //包装单位名称 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setPackUnitName(infoVO.getPackUnitName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            // 用法 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setSupplyCode(infoVO.getSupplyCode()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //用法名稱 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setSupplyName(infoVO.getSupplyName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //天数 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setDays(infoVO.getDays()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //组号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setFrequency(infoVO.getFrequency()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //药品收费码 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setSerial(infoVO.getSerial()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //库房号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setGroupNo(infoVO.getGroupNo()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //规格 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setSpecification(infoVO.getSpecification()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            // 1可用 0删除 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setDel(1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //频率 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setUsageCode(infoVO.getUsageCode()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //頻率名稱 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setUsageName(infoVO.getUsageName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //包装价格 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            infoDO.setPackRetprice(infoVO.getPackRetprice()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            wlyyPrescriptionInfoDOS.add(infoDO); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        prescriptionInfoDao.save(wlyyPrescriptionInfoDOS); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Icd10 = Icd10.substring(0, Icd10.length() - 1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Icd10Name = Icd10Name.substring(0, Icd10Name.length() - 1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        wlyyOutpatientDO.setIcd10(Icd10); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        wlyyOutpatientDO.setIcd10Name(Icd10Name); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    /** 
															 | 
															
															 | 
															
																    /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * 获取处方详情 
															 | 
															
															 | 
															
																     * 获取处方详情 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																     * 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * @param params 
															 | 
															
															 | 
															
																     * @param params 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * @return 
															 | 
															
															 | 
															
																     * @return 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * @throws Exception 
															 | 
															
															 | 
															
																     * @throws Exception 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     */ 
															 | 
															
															 | 
															
																     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        public  List<WlyyPrescriptionVO> getWlyyPrescriptionVO(Map<String, Object> params)throws Exception{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //根据处方号获取处方状态 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            String result=  HttpUtils.doGet(hlwyyEntranceUrl+"/mqsdk/BS16017",params).getContent(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            ObjectMapper objectMapper=new ObjectMapper(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            ListEnvelop listEnvelop=objectMapper.readValue(result,ListEnvelop.class); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(null!=listEnvelop&& EnvelopStatus.success.code.equals(listEnvelop.getStatus())&&null!=listEnvelop.getDetailModelList()&&listEnvelop.getDetailModelList().size()>0){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public List<WlyyPrescriptionVO> getWlyyPrescriptionVO(Map<String, Object> params) throws Exception { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        //根据处方号获取处方状态 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        String result = HttpUtils.doGet(hlwyyEntranceUrl + "/mqsdk/BS16017", params).getContent(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        ObjectMapper objectMapper = new ObjectMapper(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        ListEnvelop listEnvelop = objectMapper.readValue(result, ListEnvelop.class); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if (null != listEnvelop && EnvelopStatus.success.code.equals(listEnvelop.getStatus()) && null != listEnvelop.getDetailModelList() && listEnvelop.getDetailModelList().size() > 0) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																//                logger.info("result:"+listEnvelop.getDetailModelList()); 
															 | 
															
															 | 
															
																//                logger.info("result:"+listEnvelop.getDetailModelList()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                List<WlyyPrescriptionVO> wlyyPrescriptionVOS=listEnvelop.getDetailModelList(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                return wlyyPrescriptionVOS; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            return null; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<WlyyPrescriptionVO> wlyyPrescriptionVOS = listEnvelop.getDetailModelList(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            return wlyyPrescriptionVOS; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        return null; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																} 
															 | 
															
															 | 
															
																} 
															 |