public boolean addMeetingOutcome()

in clns-eTarget/src/main/java/org/digitalecmt/etarget/dao/MeetingOutcomeDAOImpl.java [148:229]


	public boolean addMeetingOutcome(String loggedInUserID, String dbPersonID, String postedMeetingDate,
			String postedOutcome, String postedNotes, String ctDNA, String tumourNGS, String fmBlood, String fmTumour, String genericGenomic) {
		MeetingOutcomeGeneVariantDAO genes= new MeetingOutcomeGeneVariantDAOImpl(this.getDataSource());
		JdbcTemplate template = getJdbcTemplate();
		int resultcount=0;
		resultcount=template.update(addMeeting, loggedInUserID, dbPersonID, postedOutcome, postedNotes, postedMeetingDate, "");
		if(resultcount==1) {
			List<MeetingOutcome> meetings= getMeetingOutcomesByPersonID(Integer.parseInt(dbPersonID));
			//highest (newest) mo_id first
			int mo_id= meetings.get(0).getMo_id();
			//parse string to json
			
			log.info(ctDNA);
			log.info(tumourNGS);
			log.info(fmBlood);
			log.info(fmTumour);
			List<Double> ctDNAList = new Gson().fromJson(ctDNA, new TypeToken<List<Double>>() {}.getType());
			List<Double> tumourNGSList = new Gson().fromJson(tumourNGS, new TypeToken<List<Double>>() {}.getType());
			Map<String,List<String>> fmBloodMap = new Gson().fromJson(fmBlood, new TypeToken<Map<String,List<String>>>() {}.getType());
			Map<String,List<String>> fmTumourMap = new Gson().fromJson(fmTumour, new TypeToken<Map<String,List<String>>>() {}.getType());
			Map<String, Map<String,List<String>>> genericGen = new Gson().fromJson(genericGenomic, new TypeToken<Map<String, Map<String,List<String>>>>() {}.getType());
			
			for(int i=0;i<ctDNAList.size();i++) {
				log.info("type " +ctDNAList.get(i).intValue());
				genes.addGeneVariantToMeetingOutcome(mo_id, ctDNAList.get(i).intValue(), "CTDNA");
			}
			for(int i=0;i<tumourNGSList.size();i++) {
				genes.addGeneVariantToMeetingOutcome(mo_id, tumourNGSList.get(i).intValue(), "NGS");
			}
			List<String> cnal = fmBloodMap.get("copyNumberAlteration");
			if(cnal!=null) {
			for(int i=0; i<cnal.size();i++) {
				genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(cnal.get(i)), "FMBloodCNA");
			}}
			List<String> rl = fmBloodMap.get("rearrangement");
			if(rl!=null) {
			for(int i=0; i<rl.size();i++) {
				genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(rl.get(i)), "FMBloodR");
			}}
			List<String> svl = fmBloodMap.get("shortVariant");
			if(svl!=null) {
			for(int i=0; i<svl.size();i++) {
				genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(svl.get(i)), "FMBloodSV");
			}}
			cnal = fmTumourMap.get("copyNumberAlteration");
			if(cnal!=null) {
			for(int i=0; i<cnal.size();i++) {
				genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(cnal.get(i)), "FMTumourCNA");
			}} 
			rl = fmTumourMap.get("rearrangement");
			if(rl!=null) {
			for(int i=0; i<rl.size();i++) {
				genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(rl.get(i)), "FMTumourR");
			}}
			svl = fmTumourMap.get("shortVariant");
			if(svl!=null){
			for(int i=0; i<svl.size();i++) {
				genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(svl.get(i)), "FMTumourSV");
			}}
			for(String source : genericGen.keySet()) {
				cnal = genericGen.get(source).get("copyNumberAlteration");
				if(cnal!=null) {
					for(int i=0; i<cnal.size();i++) {
						genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(cnal.get(i)), source+"CNA");
					}
				}
				rl = genericGen.get(source).get("rearrangement");
				if(rl!=null) {
				for(int i=0; i<rl.size();i++) {
					genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(rl.get(i)), source+"R");
				}}
				svl = genericGen.get(source).get("shortVariant");
				if(svl!=null){
				for(int i=0; i<svl.size();i++) {
					genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(svl.get(i)), source+"SV");
				}}
			}
			
			return true;
		}
		else return false;
	}