|  | @ -18,6 +18,10 @@ import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.dict.WlyyChargeDictDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.healthCare.YlzMedicalBillDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.healthCare.YlzMedicalIcdDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.healthCare.YlzMedicalMxDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.healthCare.YlzMedicalRelationDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
 | 
	
	
		
			
				|  | @ -25,6 +29,10 @@ import com.yihu.jw.entity.hospital.prescription.*;
 | 
	
		
			
				|  |  | import com.yihu.jw.file_upload.FileUploadService;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.healthCare.YlzMedicailBillDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.healthCare.YlzMedicailIcdDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.healthCare.YlzMedicailMxDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.healthCare.YlzMedicailRelationDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
 | 
	
	
		
			
				|  | @ -44,6 +52,7 @@ import com.yihu.jw.utils.WebserviceUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.wechat.dao.BasePatientWechatDao;
 | 
	
		
			
				|  |  | import com.yihu.utils.security.MD5;
 | 
	
		
			
				|  |  | import net.sf.json.xml.XMLSerializer;
 | 
	
		
			
				|  |  | import netscape.javascript.JSObject;
 | 
	
		
			
				|  |  | import nu.xom.*;
 | 
	
		
			
				|  |  | import org.apache.commons.collections.map.HashedMap;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
	
		
			
				|  | @ -123,10 +132,18 @@ public class XzzxEntranceService{
 | 
	
		
			
				|  |  |     private BaseDoctorHospitalDao baseDoctorHospitalDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private PrescriptionEmrDao prescriptionEmrDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private YlzMedicailRelationDao ylzMedicailRelationDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private YlzMedicailIcdDao ylzMedicailIcdDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private YlzMedicailMxDao ylzMedicailMxDao;
 | 
	
		
			
				|  |  |     @Value("${fastDFS.fastdfs_file_url}")
 | 
	
		
			
				|  |  |     private String fastdfs_file_url;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private FileUploadService fileUploadService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private YlzMedicailBillDao ylzMedicailBillDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static String key="bvvsf3JA0mUXMU+mVnMaOQ==";
 | 
	
	
		
			
				|  | @ -2230,22 +2247,414 @@ public class XzzxEntranceService{
 | 
	
		
			
				|  |  |         params.put("msgBody",msgBody);
 | 
	
		
			
				|  |  |         logger.info("getSettleInfo params:"+params.toString());
 | 
	
		
			
				|  |  |         String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectUrl());
 | 
	
		
			
				|  |  |         logger.info("getSettleInfo json:"+xml);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         XMLSerializer xmlSerializer = new XMLSerializer();
 | 
	
		
			
				|  |  |         String json = xmlSerializer.read(xml).toString();
 | 
	
		
			
				|  |  |         JSONObject object = JSONObject.parseObject(json);
 | 
	
		
			
				|  |  |         logger.info("getSettleInfo json:"+xml);
 | 
	
		
			
				|  |  |         List<WlyyOutpatientDO> wlyyOutpatientDOS = outpatientDao.findByRegisterNoList(his_serial);
 | 
	
		
			
				|  |  |         String outpatientId= null;
 | 
	
		
			
				|  |  |         if (wlyyOutpatientDOS!=null&&wlyyOutpatientDOS.size()!=0){
 | 
	
		
			
				|  |  |             outpatientId = wlyyOutpatientDOS.get(0).getId();
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             throw new Exception("门诊信息为空!");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         JSONArray array = JSONArray.parseArray(json).getJSONArray(0);
 | 
	
		
			
				|  |  |         for (int i=0;i<array.size();i++){
 | 
	
		
			
				|  |  |             JSONObject object = array.getJSONObject(i);
 | 
	
		
			
				|  |  |             YlzMedicalRelationDO ylzMedicalRelationDO = ylzMedicailRelationDao.findByLog_no(object.getString("log_no"));
 | 
	
		
			
				|  |  |             if (ylzMedicalRelationDO==null){
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO = new YlzMedicalRelationDO();
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setLogNo(object.getString("log_no"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setOrgCode(object.getString("ret_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setRegionCode(object.getString("region_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setIdcard(object.getString("idcard"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setName(object.getString("name"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setCertType(object.getString("cert_type"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setMedicalMode(object.getString("medical_mode"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setMedicalType(object.getString("medical_type"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisSerial(object.getString("his_serial"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisSettleNo(object.getString("his_settle_no"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDeptCode(object.getString("dept_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDeptName(object.getString("dept_name"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisDeptCode(object.getString("his_dept_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisDeptName(object.getString("his_dept_name"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setEmergencySign(object.getString("emergency_sign"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setTraumaSign(object.getString("trauma_sign"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDate(DateUtil.strToDateLong(object.getString("date")));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setItemCount(object.getString("item_count"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setTotalAmount(object.getString("total_amount"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setPreCharges(object.getString("pre_charges"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDataSource(object.getString("data_source"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setPreCount(object.getString("pre_count"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDoctorLevel(object.getString("doctor_level"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDel(1);
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setRelationCode(his_serial);
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO = ylzMedicailRelationDao.save(ylzMedicalRelationDO);
 | 
	
		
			
				|  |  |                 JSONArray zdArray = object.getJSONArray("zdlist");
 | 
	
		
			
				|  |  |                 for (int j=0;j<zdArray.size();j++){
 | 
	
		
			
				|  |  |                     JSONObject zdObject = zdArray.getJSONObject(j);
 | 
	
		
			
				|  |  |                     YlzMedicalIcdDO ylzMedicalIcdDO = new YlzMedicalIcdDO();
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setMedicalId(ylzMedicalRelationDO.getId());
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDel(1);
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseType(zdObject.getString("disease_type"));
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseCodeIcd10(zdObject.getString("disease_code_icd10"));
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseNameIcd10(zdObject.getString("disease_name_icd10"));
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseOrder(zdObject.getString("disease_order"));
 | 
	
		
			
				|  |  |                     ylzMedicailIcdDao.save(ylzMedicalIcdDO);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 JSONArray mxArray = object.getJSONArray("mxlist");
 | 
	
		
			
				|  |  |                 for (int k=0;k<mxArray.size();k++){
 | 
	
		
			
				|  |  |                     JSONObject mxObject = zdArray.getJSONObject(k);
 | 
	
		
			
				|  |  |                     YlzMedicalMxDO ylzMedicalMxDO = new YlzMedicalMxDO();
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalId(ylzMedicalRelationDO.getId());
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDel(1);
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPrescriptionCode(mxObject.getString("prescription_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisDetailSn(mxObject.getString("his_detail_sn"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setItemCode(mxObject.getString("item_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setItemName(mxObject.getString("item_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setInvoiceType(object.getString("invoice_type"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setSpecificationType(object.getString("specification_type"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDosageForm(object.getString("dosage_form"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setChargeUnit(object.getString("charge_unit"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPrice(object.getString("price"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setAmount(object.getString("amount"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setTotalMoney(object.getString("total_money"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setSingleDose(object.getString("single_dose"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setUseFrequency(object.getString("use_frequency"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalWay(object.getString("medical_way"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPrescriptionDate(DateUtil.strToDateLong(object.getString("prescription_date")));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicationDays(object.getString("medication_days"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDeptCode(object.getString("dept_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDeptName(object.getString("dept_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisDeptCode(object.getString("his_dept_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisDeptName(object.getString("his_dept_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalPerName(object.getString("medical_per_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalPerId(object.getString("medical_per_id"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setLimitType(object.getString("medical_per_id"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setActgDate(DateUtil.strToDateLong(object.getString("actg_date")));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisItemName(object.getString("his_item_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisItemCode(object.getString("his_item_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setClerkDays(DateUtil.strToDateLong(object.getString("clerk_days")));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPeopleType(object.getString("people_type"));
 | 
	
		
			
				|  |  |                     ylzMedicailMxDao.save(ylzMedicalMxDO);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setOrgCode(object.getString("ret_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setRegionCode(object.getString("region_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setIdcard(object.getString("idcard"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setName(object.getString("name"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setCertType(object.getString("cert_type"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setMedicalMode(object.getString("medical_mode"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setMedicalType(object.getString("medical_type"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisSerial(object.getString("his_serial"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisSettleNo(object.getString("his_settle_no"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDeptCode(object.getString("dept_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDeptName(object.getString("dept_name"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisDeptCode(object.getString("his_dept_code"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setHisDeptName(object.getString("his_dept_name"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setEmergencySign(object.getString("emergency_sign"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setTraumaSign(object.getString("trauma_sign"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDate(DateUtil.strToDateLong(object.getString("date")));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setItemCount(object.getString("item_count"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setTotalAmount(object.getString("total_amount"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setPreCharges(object.getString("pre_charges"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDataSource(object.getString("data_source"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setPreCount(object.getString("pre_count"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDoctorLevel(object.getString("doctor_level"));
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setDel(1);
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setRelationCode(outpatientId);
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                 ylzMedicalRelationDO = ylzMedicailRelationDao.save(ylzMedicalRelationDO);
 | 
	
		
			
				|  |  |                 logger.info("删除YlzMedicalIcdDO");
 | 
	
		
			
				|  |  |                 ylzMedicailIcdDao.deleteByMedicalId(ylzMedicalRelationDO.getId());
 | 
	
		
			
				|  |  |                 JSONArray zdArray = object.getJSONArray("zdlist");
 | 
	
		
			
				|  |  |                 for (int j=0;j<zdArray.size();j++){
 | 
	
		
			
				|  |  |                     JSONObject zdObject = zdArray.getJSONObject(j);
 | 
	
		
			
				|  |  |                     YlzMedicalIcdDO ylzMedicalIcdDO = new YlzMedicalIcdDO();
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setMedicalId(ylzMedicalRelationDO.getId());
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDel(1);
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseType(zdObject.getString("disease_type"));
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseCodeIcd10(zdObject.getString("disease_code_icd10"));
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseNameIcd10(zdObject.getString("disease_name_icd10"));
 | 
	
		
			
				|  |  |                     ylzMedicalIcdDO.setDiseaseOrder(zdObject.getString("disease_order"));
 | 
	
		
			
				|  |  |                     ylzMedicailIcdDao.save(ylzMedicalIcdDO);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 logger.info("删除YlzMedicalMxDO");
 | 
	
		
			
				|  |  |                 ylzMedicailMxDao.deleteByMedicalId(ylzMedicalRelationDO.getId());
 | 
	
		
			
				|  |  |                 JSONArray mxArray = object.getJSONArray("mxlist");
 | 
	
		
			
				|  |  |                 for (int k=0;k<mxArray.size();k++){
 | 
	
		
			
				|  |  |                     JSONObject mxObject = zdArray.getJSONObject(k);
 | 
	
		
			
				|  |  |                     YlzMedicalMxDO ylzMedicalMxDO = new YlzMedicalMxDO();
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalId(ylzMedicalRelationDO.getId());
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDel(1);
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPrescriptionCode(mxObject.getString("prescription_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisDetailSn(mxObject.getString("his_detail_sn"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setItemCode(mxObject.getString("item_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setItemName(mxObject.getString("item_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setInvoiceType(object.getString("invoice_type"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setSpecificationType(object.getString("specification_type"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDosageForm(object.getString("dosage_form"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setChargeUnit(object.getString("charge_unit"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPrice(object.getString("price"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setAmount(object.getString("amount"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setTotalMoney(object.getString("total_money"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setSingleDose(object.getString("single_dose"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setUseFrequency(object.getString("use_frequency"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalWay(object.getString("medical_way"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPrescriptionDate(DateUtil.strToDateLong(object.getString("prescription_date")));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicationDays(object.getString("medication_days"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDeptCode(object.getString("dept_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setDeptName(object.getString("dept_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisDeptCode(object.getString("his_dept_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisDeptName(object.getString("his_dept_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalPerName(object.getString("medical_per_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setMedicalPerId(object.getString("medical_per_id"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setLimitType(object.getString("medical_per_id"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setActgDate(DateUtil.strToDateLong(object.getString("actg_date")));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisItemName(object.getString("his_item_name"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setHisItemCode(object.getString("his_item_code"));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setClerkDays(DateUtil.strToDateLong(object.getString("clerk_days")));
 | 
	
		
			
				|  |  |                     ylzMedicalMxDO.setPeopleType(object.getString("people_type"));
 | 
	
		
			
				|  |  |                     ylzMedicailMxDao.save(ylzMedicalMxDO);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return xml;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *2.1.2结算确认
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param his_serial his挂号号
 | 
	
		
			
				|  |  |      * @param icCardNo 卡号
 | 
	
		
			
				|  |  |      * @param org_code 医院编码
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String confirmSettle(String his_serial,String icCardNo,String org_code)throws Exception{
 | 
	
		
			
				|  |  |         String api = "confirmSettle";
 | 
	
		
			
				|  |  |         String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
 | 
	
		
			
				|  |  |                 "<root> " +
 | 
	
		
			
				|  |  |                 "   <serverName>"+api+"</serverName>  " +
 | 
	
		
			
				|  |  |                 "   <format>xml</format>" +
 | 
	
		
			
				|  |  |                 "   <callOperator></callOperator> " +
 | 
	
		
			
				|  |  |                 "   <certificate>"+key+"</certificate> " +
 | 
	
		
			
				|  |  |                 "</root>";
 | 
	
		
			
				|  |  |         YlzMedicalRelationDO ylzMedicalRelationDO = ylzMedicailRelationDao.findByOutpatient(his_serial);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String condition ="";
 | 
	
		
			
				|  |  |         if (ylzMedicalRelationDO!=null){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getLogNo())){
 | 
	
		
			
				|  |  |                 condition += "<log_no>"+ylzMedicalRelationDO.getLogNo()+"</log_noc>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(icCardNo)){
 | 
	
		
			
				|  |  |                 condition += "<icCardNo>"+icCardNo+"</icCardNo>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(org_code)){
 | 
	
		
			
				|  |  |                 condition += "<org_code>"+org_code+"</org_code>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty("")){
 | 
	
		
			
				|  |  |                 condition += "<acc_class>"+"</acc_class>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getInsuranceSerial())){
 | 
	
		
			
				|  |  |                 condition += "<insurance_serial>"+ylzMedicalRelationDO.getInsuranceSerial()+"</insurance_serial>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getBillSerial())){
 | 
	
		
			
				|  |  |                 condition += "<bill_serial>"+ylzMedicalRelationDO.getBillSerial()+"</bill_serial>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getTotalAmount())){
 | 
	
		
			
				|  |  |                 condition += "<total_amount>"+ylzMedicalRelationDO.getTotalAmount()+"</total_amount>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getPersonCash())){
 | 
	
		
			
				|  |  |                 condition += "<person_cash>"+ylzMedicalRelationDO.getPersonCash()+"</person_cash>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getPersonAccount())){
 | 
	
		
			
				|  |  |                 condition += "<person_account>"+ylzMedicalRelationDO.getPersonAccount()+"</person_account>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getFundPrice())){
 | 
	
		
			
				|  |  |                 condition += "<fund_amount>"+ylzMedicalRelationDO.getFundPrice()+"</fund_amount>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getJkzhPay())){
 | 
	
		
			
				|  |  |                 condition += "<jkzh_pay>"+ylzMedicalRelationDO.getJkzhPay()+"</jkzh_pay>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getOwnPay())){
 | 
	
		
			
				|  |  |                 condition += "<own_pay>"+ylzMedicalRelationDO.getOwnPay()+"</own_pay>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getAccountBalance())){
 | 
	
		
			
				|  |  |                 condition += "<account_balance>"+ylzMedicalRelationDO.getAccountBalance()+"</account_balance>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(ylzMedicalRelationDO.getHospitalizationQty())){
 | 
	
		
			
				|  |  |                 condition += "<hospitalization_qty>"+ylzMedicalRelationDO.getHospitalizationQty()+"</hospitalization_qty>";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             List<YlzMedicalBillDO> ylzMedicalBillDOS = ylzMedicailBillDao.findByMedicalId(ylzMedicalRelationDO.getId());
 | 
	
		
			
				|  |  |              condition += "<fplist>";
 | 
	
		
			
				|  |  |             for (YlzMedicalBillDO ylzMedicalBillDO :ylzMedicalBillDOS){
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(ylzMedicalBillDO.getInvoiceType())){
 | 
	
		
			
				|  |  |                     condition += "<invoice_type>"+ylzMedicalBillDO.getInvoiceType()+"</invoice_type>";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(ylzMedicalBillDO.getInvoiceTypeName())){
 | 
	
		
			
				|  |  |                     condition += "<invoice_type_name>"+ylzMedicalBillDO.getInvoiceType()+"</invoice_type_name>";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(ylzMedicalBillDO.getProjectPay())){
 | 
	
		
			
				|  |  |                     condition += "<project_pay>"+ylzMedicalBillDO.getProjectPay()+"</project_pay>";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(ylzMedicalBillDO.getInvoicePay())){
 | 
	
		
			
				|  |  |                     condition += "<invoice_pay>"+ylzMedicalBillDO.getInvoicePay()+"</invoice_pay>";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(ylzMedicalBillDO.getOwnPay())){
 | 
	
		
			
				|  |  |                     condition += "<own_pay>"+ylzMedicalBillDO.getOwnPay()+"</own_pay>";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(ylzMedicalBillDO.getSpecialPay())){
 | 
	
		
			
				|  |  |                     condition += "<special_pay>"+ylzMedicalBillDO.getSpecialPay()+"</special_pay>";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if (!StringUtils.isEmpty(ylzMedicalBillDO.getUninsurancePay())){
 | 
	
		
			
				|  |  |                     condition += "<uninsurance_pay>"+ylzMedicalBillDO.getUninsurancePay()+"</uninsurance_pay>";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             condition += "</fplist>";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
 | 
	
		
			
				|  |  |                 "<root>"+condition+"</root>";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String,String> params = new HashedMap();
 | 
	
		
			
				|  |  |         params.put("msgHeader",msgHeader);
 | 
	
		
			
				|  |  |         params.put("msgBody",msgBody);
 | 
	
		
			
				|  |  |         logger.info("confirmSettle params:"+params.toString());
 | 
	
		
			
				|  |  |         String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectUrl());
 | 
	
		
			
				|  |  |         logger.info("confirmSettle json:"+xml);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         XMLSerializer xmlSerializer = new XMLSerializer();
 | 
	
		
			
				|  |  |         String json = xmlSerializer.read(xml).toString();
 | 
	
		
			
				|  |  |         return json;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 2.1.4电子票开票结果确认
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param sick_id 病人ID
 | 
	
		
			
				|  |  |      * @param settle_no HIS结算号
 | 
	
		
			
				|  |  |      * @param einvoice_code 电子票据代码
 | 
	
		
			
				|  |  |      * @param einvoice_number 电子票据号码
 | 
	
		
			
				|  |  |      * @param einvoice_check_coder 电子票据校验码
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String eleInvoiceConfirm(String sick_id,String settle_no,String einvoice_code,String einvoice_number,String einvoice_check_coder)throws Exception{
 | 
	
		
			
				|  |  |         String api = "eleInvoiceConfirm";
 | 
	
		
			
				|  |  |         String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
 | 
	
		
			
				|  |  |                 "<root> " +
 | 
	
		
			
				|  |  |                 "   <serverName>"+api+"</serverName>  " +
 | 
	
		
			
				|  |  |                 "   <format>xml</format>" +
 | 
	
		
			
				|  |  |                 "   <callOperator></callOperator> " +
 | 
	
		
			
				|  |  |                 "   <certificate>"+key+"</certificate> " +
 | 
	
		
			
				|  |  |                 "</root>";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String condition ="";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (!StringUtils.isEmpty(sick_id)){
 | 
	
		
			
				|  |  |             condition += "<sick_id>"+sick_id+"</sick_id>";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (!StringUtils.isEmpty(settle_no)){
 | 
	
		
			
				|  |  |             condition += "<settle_no>"+settle_no+"</settle_no>";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (!StringUtils.isEmpty(einvoice_code)){
 | 
	
		
			
				|  |  |             condition += "<einvoice_code>"+einvoice_code+"</einvoice_code>";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (!StringUtils.isEmpty(einvoice_number)){
 | 
	
		
			
				|  |  |             condition += "<einvoice_number>"+einvoice_number+"</einvoice_number>";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
 | 
	
		
			
				|  |  |                 "<root>"+condition+"</root>";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String,String> params = new HashedMap();
 | 
	
		
			
				|  |  |         params.put("msgHeader",msgHeader);
 | 
	
		
			
				|  |  |         params.put("msgBody",msgBody);
 | 
	
		
			
				|  |  |         logger.info("confirmSettle params:"+params.toString());
 | 
	
		
			
				|  |  |         String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectUrl());
 | 
	
		
			
				|  |  |         logger.info("confirmSettle json:"+xml);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         XMLSerializer xmlSerializer = new XMLSerializer();
 | 
	
		
			
				|  |  |         String json = xmlSerializer.read(xml).toString();
 | 
	
		
			
				|  |  |         return json;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //=====================微信模板消息推送接口================================
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //=====================hospital应用调用entrance应用============start=================
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 2.1.1获取患者结算信息
 | 
	
		
			
				|  |  |      * @param icCardNo 社会保障卡号
 | 
	
		
			
				|  |  |      * @param his_serial HIS挂号号
 | 
	
		
			
				|  |  |      * @param org_code 医院编码
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject getSettleInfHospital(String icCardNo,String his_serial,String org_code){
 | 
	
		
			
				|  |  |         JSONObject jsonObject= new JSONObject();
 | 
	
		
			
				|  |  |         String response="";
 | 
	
		
			
				|  |  |         String url = entranceUrl+"getSettleInfo?icCardNo="+icCardNo+"&his_serial="+his_serial+"&org_code="+org_code;
 | 
	
		
			
				|  |  |         response = httpClientUtil.get(url,"GBK");
 | 
	
		
			
				|  |  |         logger.info("response:"+response);
 | 
	
		
			
				|  |  |         JSONObject object = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if (object.getInteger("status")==200){
 | 
	
		
			
				|  |  |             jsonObject = JSONObject.parseObject(object.getString("obj"));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return jsonObject;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 2结算确认
 | 
	
		
			
				|  |  |      * @param icCardNo 社会保障卡号
 | 
	
		
			
				|  |  |      * @param his_serial HIS挂号号
 | 
	
		
			
				|  |  |      * @param org_code 医院编码
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject confirmSettleHospital(String icCardNo,String his_serial,String org_code){
 | 
	
		
			
				|  |  |         JSONObject jsonObject= new JSONObject();
 | 
	
		
			
				|  |  |         String response="";
 | 
	
		
			
				|  |  |         String url = entranceUrl+"confirmSettle?icCardNo="+icCardNo+"&his_serial="+his_serial+"&org_code="+org_code;
 | 
	
		
			
				|  |  |         response = httpClientUtil.get(url,"GBK");
 | 
	
		
			
				|  |  |         logger.info("response:"+response);
 | 
	
		
			
				|  |  |         JSONObject object = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if (object.getInteger("status")==200){
 | 
	
		
			
				|  |  |             jsonObject = JSONObject.parseObject(object.getString("obj"));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return jsonObject;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 2.1.4电子票开票结果确认
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param sick_id 病人ID
 | 
	
		
			
				|  |  |      * @param settle_no HIS结算号
 | 
	
		
			
				|  |  |      * @param einvoice_code 电子票据代码
 | 
	
		
			
				|  |  |      * @param einvoice_number 电子票据号码
 | 
	
		
			
				|  |  |      * @param einvoice_check_coder 电子票据校验码
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject eleInvoiceConfirmHospital(String sick_id,String settle_no,String einvoice_code,String einvoice_number,String einvoice_check_coder){
 | 
	
		
			
				|  |  |         JSONObject jsonObject= new JSONObject();
 | 
	
		
			
				|  |  |         String response="";
 | 
	
		
			
				|  |  |         String url = entranceUrl+"eleInvoiceConfirm?sick_id="+sick_id+"&settle_no="+settle_no+"&einvoice_code="+einvoice_code+"&einvoice_number="+einvoice_number+"&einvoice_check_coder="+einvoice_check_coder;
 | 
	
		
			
				|  |  |         response = httpClientUtil.get(url,"GBK");
 | 
	
		
			
				|  |  |         logger.info("response:"+response);
 | 
	
		
			
				|  |  |         JSONObject object = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if (object.getInteger("status")==200){
 | 
	
		
			
				|  |  |             jsonObject = JSONObject.parseObject(object.getString("obj"));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return jsonObject;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 查询患者就诊卡
 | 
	
		
			
				|  |  |      * @param patient 居民code
 |