package insu; import java.util.ArrayList; public class Customer { static int lastid=100; private String id; private String idproof; private String name; private int age; private String gender; private String address; Customer(){ } public static int getLastid() { return lastid; } public static void setLastid(int lastid) { Customer.lastid = lastid; } public String getId() { return id; } public void genId() { ++Customer.lastid; id=""+Customer.getLastid(); if(name.length()>2) id=name.substring(0, 3)+id; else{ String tmp=""; for(int i=0;i<3-name.length();i++) tmp=tmp+"0"; id=name+tmp+id; } } public String getIdproof() { return idproof; } public void setIdproof(String idproof) { this.idproof = idproof; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } } package insu; import java.util.Date; class CustomerPolicy { int cpolicyid; int policyid; Date startDate; Date endDate; static int lastid=8000; CustomerPolicy(){ cpolicyid=++CustomerPolicy.lastid; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } public Date getEndDate() { return endDate; } public void setEndDate(Date endDate) { this.endDate = endDate; } public int getPolicyid() { return policyid; } public void setPolicyid(int policyid) { this.policyid = policyid; } public int getCpolicyid() { return cpolicyid; } public void setCpolicyid(int cpolicyid) { this.cpolicyid = cpolicyid; } } package insu; import java.util.ArrayList; import java.util.Scanner; public class Insurance { public static void main(String args[]){ ArrayList<Customer> customers =new ArrayList<Customer>(); ArrayList<Policy> policy =new ArrayList<Policy>(); ArrayList<CustomerPolicy> cpolicy =new ArrayList<CustomerPolicy>(); ArrayList<Tag> tags =new ArrayList<Tag>(); Main sa=new Main(); Scanner s=new Scanner(System.in); int ctr=0; do{ System.out.println("Enter 1.Add a policy 2.Add a customer 3.Remove Customer 4.Tag a Policy 5.Display Tags 6.Search 7.Display Customers 8. Display Policy"); ctr=s.nextInt();s.nextLine(); switch(ctr){ case 1: Policy p=sa.addPolicy(); if(p==null) System.out.println("Invalid Input"); else policy.add(p); break; case 2: if(policy.size()>0){ Customer c=sa.addCustomer(cpolicy,tags,policy); if(c==null) System.out.println("Invalid Input"); else customers.add(c); } else{ System.out.println("Please add policies first"); } break; case 3: System.out.println("Enter customer id"); String cid=s.nextLine();boolean exist=false; for(int i=0;i<customers.size();i++){ if(customers.get(i).getId().equals(cid)){ exist=true; customers.remove(i); for(int j=0;j<tags.size();j++) if(tags.get(j).getCustomerid().equals(cid)) tags.remove(j); } if(!exist) System.out.println("No such customer"); else System.out.println("Customer deleted successfully"); } break; case 4: Tag t=sa.tagPolicy(cpolicy,policy); if(t!=null){ tags.add(t); System.out.println("Tagged Successfully"); } else { System.out.println("Invalid Input"); } break; case 5: for(Tag t1:tags){ System.out.println("CustomerID:"+t1.getCustomerid()+"\t CustomerPolicyID:"+t1.getcPolicyid()+"\t PolicyID:"+sa.searchCustomerPolicy(t1.getcPolicyid(), cpolicy).getPolicyid()); } break; case 6: sa.searchCustomer(customers); break; case 7: for(Customer t1:customers){ System.out.println("CustomerID:"+t1.getId()+"\t Name:"+t1.getName()); } break; case 8: System.out.println("===========Policy Details========="); for(Policy t1:policy){ System.out.println(" Policy ID:"+t1.getId()+"\t Policy Name:"+t1.getName()); } System.out.println("========Customer Policies=========="); for(CustomerPolicy t1:cpolicy){ System.out.println("Customer PolicyID:"+t1.getCpolicyid()+" Policy ID:"+t1.getPolicyid()+" StartDate:"+t1.getStartDate()+" End Date:"+t1.getEndDate()); } break; } System.out.println("Do you want to continue ,Enter y or n"); if(s.nextLine().toLowerCase().equals("y")) ctr=999; }while(ctr==999); } } package insu; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.Scanner; public class Main { Scanner s=new Scanner(System.in); public Customer addCustomer( ArrayList<CustomerPolicy> cpl,ArrayList<Tag> tag,ArrayList<Policy> pol){ Customer c=new Customer(); try{ System.out.println("Enter your name"); String name=s.nextLine(); c.setName(name); System.out.println("Enter idproof number"); String idproof=s.nextLine(); c.setIdproof(idproof); System.out.println("Enter your age"); int age=s.nextInt();s.nextLine(); c.setAge(age); System.out.println("Enter your address"); String address=s.nextLine(); c.setAddress(address); System.out.println("Enter your gender"); String gender=s.nextLine(); c.setGender(gender); c.genId(); //Adding policy System.out.println("Enter policy id"); int policyid=s.nextInt();s.nextLine(); System.out.println("Enter start date dd-mm-yyyy"); CustomerPolicy cp=new CustomerPolicy(); String datep[]=s.nextLine().split("-"); int dateparts[]=new int[3]; for(int k=0;k<3;k++) dateparts[k]=Integer.parseInt(datep[k]); //Date parts will hold dateparts[0]=Day dateparts[1]=Month dateparts[2]=Year cp.setStartDate(new Date(dateparts[2]-1901,dateparts[1],dateparts[0])); cp.setPolicyid(policyid); //Search Policy Policy tmp=searchPolicy(policyid, pol); if(tmp!=null){ Date tp=cp.getStartDate(); int months=tp.getMonth()+tmp.getTenure(); int years=months/12; tp.setMonth(months-1); tp.setYear(tp.getYear()+years); System.out.println("Tenure:"+tmp.getTenure()); cp.setEndDate(tp); System.out.println(cp.getEndDate()); cpl.add(cp); //Adding tag Tag tg=new Tag(); tg.setCustomerid(c.getId()); tg.setPolicyid(cp.getCpolicyid()); tag.add(tg); } else { System.out.println("Invalid Policy"); } } catch(Exception e){ return null; } return c; } public Customer searchCustomer(ArrayList<Customer>al ){ Customer c=null; int ctr=0; try{ System.out.println("Enter 1.By Name 2.By Id 3.Sorted Customers"); ctr=s.nextInt();s.nextLine(); switch(ctr){ case 1: System.out.println("Enter name"); String name=s.nextLine(); for(int i=0;i<al.size();i++) { if(al.get(i).getName().equals(name)) c=al.get(i); } display(c); break; case 2: System.out.println("Enter id"); String id=s.nextLine(); for(int i=0;i<al.size();i++) { if(al.get(i).getId().equals(id)) c=al.get(i); } display(c); break; case 3: Collections.sort(al,new Comparator<Customer>(){ public int compare(Customer c1, Customer c2) { return c1.getName().compareTo(c2.getName()); } }); for(int i=0;i<al.size();i++) display(al.get(i)); break; } } catch(Exception e){ return null; } return c; } public void display(Customer c){ System.out.println("::::::Customer Details:::::::"); System.out.println("Id:"+c.getId()); System.out.println("Name:"+c.getName()); System.out.println("Age:"+c.getAge()); System.out.println("Gender:"+c.getGender()); System.out.println("Address:"+c.getAddress()); } public Policy addPolicy(){ Policy c=new Policy(); try{ System.out.println("Enter policy name"); String name=s.nextLine(); c.setName(name); System.out.println("Enter premium"); float premium=s.nextFloat();s.nextLine(); c.setPremium(premium); System.out.println("Enter tenure"); int tenure=s.nextInt();s.nextLine(); c.setTenure(tenure); } catch(Exception e){ return null; } return c; } public Tag tagPolicy(ArrayList<CustomerPolicy> cpl,ArrayList<Policy> pol){ Tag t=new Tag(); try{ System.out.println("Enter customerid"); String cid=s.nextLine(); System.out.println("Enter policyId"); int pid=s.nextInt();s.nextLine(); CustomerPolicy cp=new CustomerPolicy(); cp.setPolicyid(pid); System.out.println("Enter Policy start date: dd-mm-yyyy"); String datep[]=s.nextLine().split("-"); int dateparts[]=new int[3]; for(int k=0;k<3;k++) dateparts[k]=Integer.parseInt(datep[k]); //Date parts will hold dateparts[0]=Day dateparts[1]=Month dateparts[2]=Year cp.setStartDate(new Date(dateparts[2]-1901,dateparts[1],dateparts[0]));//Year count starts from 1901 Policy pl=searchPolicy(pid, pol); if(pl!=null){ Date tp=cp.getStartDate(); int months=tp.getMonth()+pl.getTenure(); int years=months/12; tp.setMonth(months-1);//Months are 0 indexed tp.setYear(tp.getYear()+years); cp.setEndDate(tp); System.out.println(cp.getEndDate()); cpl.add(cp); t.setCustomerid(cid); t.setPolicyid(cp.getCpolicyid()); } } catch(Exception e){return null;} return t; } public Policy searchPolicy(int id,ArrayList<Policy> pl){ Policy p=null; for(Policy p1:pl) if(p1.getId()==id) p=p1; return p; } public CustomerPolicy searchCustomerPolicy(int id,ArrayList<CustomerPolicy> pl){ CustomerPolicy p=null; for(CustomerPolicy p1:pl) { if(p1.getCpolicyid()==id) p=p1; } return p; } } package insu; import java.util.Date; public class Policy { private String name; private int id; static int lastid=1000; private int tenure;//inMonths Policy(){ this.id=++lastid; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getPremium() { return premium; } public void setPremium(float premium) { this.premium = premium; } private float premium; public void setId(int id) { this.id = id; } public int getId() { return id; } public void setTenure(int tenure) { this.tenure = tenure; } public int getTenure() { return tenure; } } package insu; class Tag{ String customerid; int cpolicyid; public String getCustomerid() { return customerid; } public void setCustomerid(String customerid) { this.customerid = customerid; } public int getcPolicyid() { return cpolicyid; } public void setPolicyid(int policyid) { this.cpolicyid = policyid; } }
Ads