| 
					
				 | 
			
			
				@ -6,18 +6,11 @@ import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeam; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.message.Message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.patient.Patient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.patient.prescription.Prescription; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.patient.prescription.PrescriptionDiagnosis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.patient.prescription.PrescriptionExpressage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.patient.prescription.PrescriptionLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.doctor.DoctorMappingDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.entity.patient.prescription.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.doctor.DoctorTeamDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.message.MessageDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.patient.PatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.prescription.PrescriptionDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.prescription.PrescriptionDiagnosisDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.prescription.PrescriptionDispensaryCodeDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.prescription.PrescriptionExpressageDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.repository.prescription.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.service.BaseService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.service.third.jw.JwPrescriptionService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.wlyy.task.PushMsgTask; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -27,10 +20,13 @@ import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.orm.jpa.JpaTransactionManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.TransactionDefinition; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.TransactionStatus; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.support.DefaultTransactionDefinition; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by chenweida on 2017/7/27. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -40,6 +36,9 @@ public class PrescriptionService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static Logger logger = LoggerFactory.getLogger(PrescriptionService.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${wechat.wechat_base_url}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String wechat_base_url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PrescriptionDao prescriptionDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -55,15 +54,17 @@ public class PrescriptionService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JwPrescriptionService jwPrescriptionService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DoctorMappingDao doctorMappingDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PrescriptionDiagnosisDao prescriptionDiagnosisDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Value("${wechat.wechat_base_url}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String wechat_base_url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PrescriptionDispensaryCodeDao prescriptionDispensaryCodeDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private DoctorTeamDao doctorTeamDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PrescriptionInfoDao prescriptionInfoDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JpaTransactionManager transactionManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private com.yihu.wlyy.util.CommonUtil CommonUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -215,19 +216,19 @@ public class PrescriptionService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // "yszjdj":"医师诊金级别","bqbm00":"病情编码","sfygwd":"是否医改网点"} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject jsonObject = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("yyksbm",zyCfinfoObj.getString("VISIT_DEPT"));//医生科室编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("bcsfcs",1);//本次收费次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("bcsfcs","1");//本次收费次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("yszjhm",zyCfinfoObj.getString("VISIT_IDENTITY_CARD_NO"));//医生证件号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("ysxm00",prescription.getDoctorName());//医生姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("mzlb00",zyCfinfoObj.getString("INSUR_DISP_REGISTER_TYPE"));//门诊类别---普通门诊默认为101 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("sfydgh","N");//是否药店挂号,默认为N,不是药店挂号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("bcghcs",1);//本次挂号次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("bcghcs","1");//本次挂号次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("ghksmc",prescription.getDeptName());//挂号科室名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("mzlsh0","");//医保挂号流水号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("ghfy00",0);//挂号费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("ghfy00","0");//挂号费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("bqbm00","");//病情编码---可为空,不传递 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("sfygwd","N");//是否医改网点--默认为否 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("yszjdj",zyCfinfoObj.getString("INSUR_DOCTOR_RANK"));//医师诊金级别 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("cfxms0",zySettleDetailList.size());//明细上传数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    jsonObject.put("cfxms0",""+zySettleDetailList.size());//明细上传数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    json.put("recipeContent",jsonObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -250,7 +251,7 @@ public class PrescriptionService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // "sptxbm":"商品条形编码","xmmc00":"项目名称","fpxmbh":"发票项目编号","xmsl00":"项目数量","ypyl00":"药品用量","qyzldw":"取药单位","xmdw00":"项目单位", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // "jx0000":"剂型"} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (int j= 0; i < zySettleDetailList.size(); j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (int j= 0; j < zySettleDetailList.size(); j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject zySettleDetailObj = zySettleDetailList.getJSONObject(j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject j2 = new JSONObject(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -258,11 +259,19 @@ public class PrescriptionService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmmc00",zySettleDetailObj.getString("INSUR_ITEM_NAME"));//项目名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("fpxmbh","");//发票项目编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("sfybxm",zySettleDetailObj.getString("INSUR_FLAG"));//是否医保项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmdj00",zySettleDetailObj.getString("INSUR_ITEM_PRICE"));//项目单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Double _price = Double.parseDouble(zySettleDetailObj.getString("INSUR_ITEM_PRICE")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Integer infoprice = CommonUtil.doubleToInt(_price); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmdj00",String.valueOf(infoprice));//项目单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmdw00",zySettleDetailObj.getString("INSUR_ITEM_UNIT_NAME"));//项目单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmgg00",zySettleDetailObj.getString("INSUR_ITEM_SPEC"));//项目规格(医保) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmsl00",zySettleDetailObj.getString("ITEM_QUANTITY"));//项目数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmje00",zySettleDetailObj.getString("COST"));//项目金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Double _cost = Double.parseDouble(zySettleDetailObj.getString("COST")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Integer infocost = CommonUtil.doubleToInt(_cost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("xmje00",String.valueOf(infocost));//项目金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("ysxm00",zySettleDetailObj.getString("APPLY_OPERATOR_NAME"));//医生姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("sptxbm","");//商品条形编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        j2.put("yppl00",zySettleDetailObj.getString("FREQUENCY"));//药品频率 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -286,4 +295,77 @@ public class PrescriptionService extends BaseService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return json; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *从待结算列表获取药品明细和总金额,更新到处方药品明细表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *@author huangwenjie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *@date 2017/8/16 19:15 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void getPerscriptionInfoCostFromPayInfo(String prescriptionCode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据挂号号获取处方明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Prescription prescription = prescriptionDao.findByCode(prescriptionCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,String> zyInfoCodeAndCost = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //根据医保卡号和挂号号从基卫获取待结算明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String result = jwPrescriptionService.getDispUnSettleFeeInfoList(prescription.getSsc(),prescription.getVisitNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotBlank(result)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject jwobj =  JSON.parseObject(result); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject zyCfinfo = jwobj.getJSONObject("data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer code = zyCfinfo.getInteger("CODE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if( 1 == code){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONArray zyCfinfoListReturnData = zyCfinfo.getJSONArray("returnData"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONArray zyCfinfoList = zyCfinfoListReturnData.getJSONArray(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (int i = 0; i < zyCfinfoList.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        //支付明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONArray zySettleDetailList = zyCfinfoList.getJSONObject(i).getJSONArray("SETTLE_DETAIL"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        for (int j= 0; j < zySettleDetailList.size(); j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            JSONObject zySettleDetailObj = zySettleDetailList.getJSONObject(j); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //药品编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String zyinfoKey = zySettleDetailObj.getString("INSUR_ITEM_CODE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String cost = zySettleDetailObj.getString("COST"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if(StringUtils.isNotBlank(zyinfoKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                zyInfoCodeAndCost.put(zyinfoKey,cost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String errormessage = zyCfinfo.getString("MESSAGE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    throw new Exception(errormessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(!zyInfoCodeAndCost.keySet().isEmpty()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //使用事务控制批量更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                DefaultTransactionDefinition def = new DefaultTransactionDefinition(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                TransactionStatus status = transactionManager.getTransaction(def); // 获得事务状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    for (String infoCode : zyInfoCodeAndCost.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Double _cost = Double.parseDouble(zyInfoCodeAndCost.get(infoCode)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        Integer infocost = CommonUtil.doubleToInt(_cost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        prescriptionInfoDao.updateStatus(infoCode,infocost); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //事务提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    transactionManager.commit(status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } catch (Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //报错事务回滚 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    transactionManager.rollback(status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("从待结算列表获取药品明细和总金额失败:"+e.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |