com.dz.common.dataimport2.DataImport.java Source code

Java tutorial

Introduction

Here is the source code for com.dz.common.dataimport2.DataImport.java

Source

    package com.dz.common.dataimport2;

    import java.math.BigDecimal;
    import java.util.Date;
    import java.util.List;

    import org.apache.commons.lang3.StringUtils;
    import org.hibernate.*;
    import org.hibernate.cfg.Configuration;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    import com.dz.common.dataimport2.entity.*;
    import com.dz.common.factory.HibernateSessionFactory;
    import com.dz.common.other.ObjectAccess;
    import com.dz.module.contract.*;
    import com.dz.module.driver.*;
    import com.dz.module.vehicle.*;

    public class DataImport {
        public static void main(String[] args) {
            init();

            /**
             * 1  ??
             */
            //importVehicleMode();

            /**
             * 2?
             */
            //importVehicle();

            /**
             * 3?
             */
            //importVehicleTax();

            /**
             * 4??
             */
            //importVehicleInvoice();

            /**
             * 5??
             */
            //importInsurance();

            /**
             * 6?
             */
            //importVehicleLicense();

            /**
             * 7?
             */
            //importDriver();
            /**
             * ?
             */
            //checkContractBeforeMakeApply();

            /**
             * 8
             */
            //makeApply();

            /**
             * 9
             */
            //bindDriverAndVehicle();

            /**
             * 10?????
             */
            //importVehicleService();

            /**
             * 11????
             */
            //importVehicleTrade();

            /**
             * 12
             */
            //doAllApply();

            /**
             * 13??
             */
            //      importBankCard();

            /**
             * 14
             */
            driverApply();
        }

        public static SessionFactory sessionFactory;

        private static DriverDao driverDao;
        private static VehicleDao vehicleDao;
        private static VehicleApprovalService vehicleApprovalService;
        private static ContractService contractService;
        private static ApplicationContext ctx;

        public static void init() {
            Configuration configurate = new Configuration()
                    .configure(DataImport.class.getResource("apply_manage/hibernate.cfg.xml"));
            sessionFactory = configurate.buildSessionFactory();

            ctx = new ClassPathXmlApplicationContext("com/dz/common/dataimport2/applicationContext.xml");
            driverDao = ctx.getBean(DriverDao.class);
            vehicleDao = ctx.getBean(VehicleDao.class);
            contractService = ctx.getBean(ContractService.class);
            vehicleApprovalService = ctx.getBean(VehicleApprovalService.class);
        }

   public static void importVehicleMode(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ?  ");
      List<?> list = query.list();
      session.close();
      
      for (? r : list) {
         VehicleMode vm = new VehicleMode();
         vm.setCarMode(r.get?());
         vm.setDisplacement(r.get?());
         vm.setPower(r.get());
         vm.setEmission(r.get());
         vm.setSizeLong(r.get?1());
         vm.setSizeWide(r.get?2());
         vm.setSizeHigh(r.get?3());
         vm.setTireNum(r.get());
         vm.setTire(r.get());
         vm.setTreadFront(r.get??());
         vm.setTreadBack(r.get??());
         vm.setWheelBase(r.get?());
         vm.setBaseNum(r.get());
         vm.setCorneringAbility(r.get??());
         vm.setWholeWeight(r.get?());
         vm.setAllWeight(r.get?());
         vm.setPersonNum(r.get?());
         vm.setFastest(r.get());
         vm.setEngineMode(r.get??());
         //vm.set??(r.get??());
         vm.setBrand(r.get());
         vm.setCompany(r.get???());
         //vm.set??(r.get??());
         vm.setNorWeight(r.get?());
         vm.setLicenseDate(r.get??());
         vm.setColor(r.get());
         vm.setFuel(r.get());
         vm.setAverageYearDistance(0.0+r.get?());
      //   vm.set(r.get());
         vm.setDistinct(r.get());
         vm.setInvoiceAmount(r.get??());
         vm.setTaxAmount(r.get());
         
         vm.setUseway("?");
         ObjectAccess.saveOrUpdate(vm);
      }
   }

   public static void importVehicle(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from RawVehicle ");
      List<RawVehicle> list = query.list();
      session.close();
      
      session =  HibernateSessionFactory.getSession();

      for (RawVehicle r : list) {
         //System.out.println(r);
         
         Vehicle vehicle = new Vehicle();
         
         vehicle.setState(0);
         
         vehicle.setEngineNum(r.get??());
         vehicle.setCarframeNum(r.get?());
         vehicle.setInDate(r.get());
         vehicle.setCertifyNum(r.get???());
         
         switch(r.get?()){
          case "?":
             vehicle.setDept("");
             break;
          case "?":
             vehicle.setDept("");
             break;
          case "?":
             vehicle.setDept("");
             break;
          }
         
         vehicle.setCarMode(r.get?());
         vehicle.setPd(r.get());
         
         //TODO ?? ? 
         vehicle.setGetCarDate(new Date());
         
         
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             session.saveOrUpdate(vehicle);
             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println(""+r.toString());
            e.printStackTrace();
         }
      }
      HibernateSessionFactory.closeSession();
   }

   public static void importVehicleTax(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from  ");
      List<> list = query.list();
      session.close();
      
      

      for ( r : list) {
         //System.out.println(r);
         String cno = r.get?();
         
         Vehicle v = ObjectAccess.getObject(Vehicle.class, cno);
      
         if(v==null)
            continue;
         
         v.setTaxNumber(r.get?());
         v.setTaxDate(r.get?());
         v.setTaxMoney(r.get?());
         v.setTaxFrom(r.get??());
         v.setTaxRegister(1);
         v.setTaxRegistTime(r.get());
         
         session =  HibernateSessionFactory.getSession();
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             session.saveOrUpdate(v);
             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("?"+r.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
      }
      
   }

   public static void importVehicleInvoice(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ? ");
      List<?> list = query.list();
      session.close();

      for (? r : list) {
         //System.out.println(r);
         String cno = r.get?();
         
         Vehicle v = ObjectAccess.getObject(Vehicle.class, cno);
         
         if(v==null)
            continue;
         
         v.setInvoiceNumber(r.get??());
         v.setInvoiceDate(r.get());
         v.setInvoiceMoney(r.get?());
         v.setPurseFrom(r.get????());
         v.setInvoiceRegister(1);
         v.setInvoiceRegistTime(r.get());
         
         session =  HibernateSessionFactory.getSession();
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             session.saveOrUpdate(v);
             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("??"+r.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
      }
      
   }

   public static void importInsurance(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ? ");
      List<?> list = query.list();
      session.close();

      for (? r : list) {
         session =  HibernateSessionFactory.getSession();
         Query query2 = session.createQuery("select count(*) from Vehicle where carframeNum=:cno");
         query2.setString("cno", r.get?());
         long count = (Long)query2.uniqueResult();
         if(count == 0)
            continue;
         
         Insurance i = new Insurance();
         
         i.setInsuranceClass(r.get?());
         
         if(i.getInsuranceClass().startsWith("")){
            i.setInsuranceNum(r.get???());
         }else{
            i.setInsuranceNum(r.get??());
         }
         
         i.setCarframeNum(r.get?());
         i.setBeginDate(r.get());
         i.setEndDate(r.get());
         i.setSignDate(r.get?());
         i.setInsuranceMoney(r.get???());
         i.setInsuranceCompany(r.get????());
         
         i.setDriverId("???");
         i.setPhone("86661212");
         i.setEnterpriseID("12759066-9");
         i.setAddress(" ??311");
         
         i.setRegistTime(r.get());
         i.setRegister(1);
         
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             session.saveOrUpdate(i);
             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("??"+i.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
      }
   }

   public static void importVehicleLicense(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from  ");
      List<> list = query.list();
      session.close();

      for ( r : list) {
         //System.out.println(r);
         String cno = r.get?();
         
         Vehicle v = ObjectAccess.getObject(Vehicle.class, cno);
         
         if(v==null)
            continue;
         
         v.setLicenseNum(r.get?());
         
         //TODO ? ?  
         v.setLicenseNumRegDate(new Date());
         
         if(r.get().startsWith("??")){
            v.setIsNewLicense(true);
            v.setLicensePurseNum(r.get???());
         }else{
            v.setIsNewLicense(false);
            v.setLicensePurseNum(r.get?());
         }

         v.setLicenseRegister(1);
         v.setLicenseRegistTime(r.get());
         v.setLicenseRegNum(r.get??());
         
         session =  HibernateSessionFactory.getSession();
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             session.saveOrUpdate(v);
             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("?"+r.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
      }
   }

        //TODO  ???  ? _ ?         ???   ??
   public static void importDriver(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from  ");
      List<> list = query.list();
      session.close();
      
      session =  HibernateSessionFactory.getSession();

      for ( r : list) {
         //System.out.println(r);
         
         Driver driver = new Driver();
         
         if(r.get().equals(r.get())){
            driver.setApplyMatter("");
         }else{
            driver.setApplyMatter("");
         }
         driver.setApplyTime(new Date());
         
         driver.setName(r.get());
         
         if("".equals(r.get())){
            driver.setSex(false);
         }else{
            driver.setSex(true);
         }
         
         //driver.setDriverClass(r.get());

         driver.setPhoneNum1(r.get());

         driver.setIdNum(r.get??());
         driver.setAccountLocation(r.get?());
         //driver.set?(r.get?());
         driver.setAddress(r.get??());

         driver.setRestTime(r.get?());
         driver.setDrivingLicenseNum(r.get??());
         driver.setDrivingLicenseDate(r.get??());
         
         if(StringUtils.isNotEmpty(r.get?())){
            driver.setDrivingLicenseType(r.get?());
         }else{
            driver.setDrivingLicenseType("C1");
         }
         driver.setQualificationNum(r.get??());
         driver.setQualificationValidDate(r.get?());
         driver.setQualificationDate(r.get??());
         //driver.set?(r.get?());
         driver.setFingerprintNum(Integer.parseInt(r.get?()));
         driver.setEmployeeNum(r.get?());
         
         
         if(StringUtils.isNotEmpty(r.get())){
            driver.setStar(r.get().length());
         }else{
            driver.setStar(1);
         }
         
         driver.setStatus(3);
         driver.setScore(80);
         
         //TODO  ???  500
         driver.setFuwubaozhengjin(new BigDecimal(500));
         
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             session.saveOrUpdate(driver);
             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("?"+r.toString());
            e.printStackTrace();
         }
      }
      HibernateSessionFactory.closeSession();
   }

   /**
    *   ???
    */
   public static void checkContractBeforeMakeApply(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ??  where  >=:now and  is null");
      query.setDate("now", new Date());
      List<??> list = query.list();
      session.close();
      
      for (?? cr : list) {
         
         String idNum = cr.get??();
         Driver d = ObjectAccess.getObject(Driver.class, idNum);
         if(d==null){
            //System.err.println("???\n"+r);
            //continue;
            session = sessionFactory.openSession();
            query = session.createQuery("from   where ?? = :idNum");
            query.setString("idNum", idNum);
            query.setMaxResults(1);
             r = () query.uniqueResult();
            session.close();
            
            if(r==null){
               System.err.println("???\n"+cr);
               continue;
            }
            
            Driver driver= new Driver();
            
            
            driver.setApplyMatter("");
            driver.setApplyTime(new Date());
            driver.setName(r.get??());
            
            if("".equals(r.get())){
               driver.setSex(false);
            }else{
               driver.setSex(true);
            }
            
            //driver.setDriverClass(r.get());

            driver.setPhoneNum1(r.get??1());

            driver.setIdNum(r.get??());
            driver.setAccountLocation(r.get?());
            //driver.set?(r.get?());
            driver.setAddress(r.get??());

            driver.setRestTime(r.get?());
            driver.setDrivingLicenseNum(r.get??());
            driver.setDrivingLicenseDate(r.get??());
            
            if(StringUtils.isNotEmpty(r.get?())){
               driver.setDrivingLicenseType(r.get?());
            }else{
               driver.setDrivingLicenseType("C1");
            }
            driver.setQualificationNum(r.get??());
            driver.setQualificationValidDate(r.get?());
            driver.setQualificationDate(r.get??());
            //driver.set?(r.get?());
            driver.setFingerprintNum(Integer.parseInt(r.get?()));
            driver.setEmployeeNum(r.get?());
            
            
            if(StringUtils.isNotEmpty(r.get())){
               driver.setStar(r.get().length());
            }else{
               driver.setStar(1);
            }
            
            driver.setStatus(3);
            driver.setScore(80);
            
            //TODO  ???  500
            driver.setFuwubaozhengjin(new BigDecimal(500));
            
            session =  HibernateSessionFactory.getSession();
            Transaction tx = null;
            try{
                tx = session.beginTransaction();
                session.saveOrUpdate(driver);
                tx.commit();
            }catch(HibernateException e){
               if(tx!=null)
                  tx.rollback();
               System.err.println("?"+r.toString());
               e.printStackTrace();
            }finally{
               HibernateSessionFactory.closeSession();
            }
         }
         
      }
   }

   /**
    * 
    */
   public static void makeApply(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ??  where  >=:now and  is null");
      query.setDate("now", new Date());
      List<??> list = query.list();
      session.close();
      
      for (?? r : list) {
         
         String idNum = r.get??();
         Driver d = ObjectAccess.getObject(Driver.class, idNum);
         if(d==null){
            System.err.println("???\n"+r);
            continue;
         }
         
         //System.out.println(r);
         Contract contract = new Contract();
         VehicleApproval approval = new VehicleApproval();
         
         approval.setCheckType( (short) 0);//
         approval.setCartype(true);//
         //TODO 
         //approval.setFueltype(fueltype);
         //TODO  0
         approval.setOnetimeAfterpay(0l);//?
         approval.setBranchManagerRemark("???");
         
         contract.setIdNum(r.get??());
         switch(r.get?()){
          case "?":
             contract.setBranchFirm("");
             break;
          case "?":
             contract.setBranchFirm("");
             break;
          case "?":
             contract.setBranchFirm("");
             break;
          }
         contract.setBusinessForm(r.get?().substring(0, 2)); //'','?'
         
         contract.setContractId(r.get??());
         contract.setPenalty(0.0+r.get?());
         contract.setRentFirst(r.get());
         contract.setContractType(r.get???());
         contract.setDeposit(r.get());
         contract.setContractBeginDate(r.get());
         contract.setContractEndDate(r.get());
         
         approval.setAscription("".equals(r.get??())); //#{'true':'','false':'?'}
         contract.setRent(r.get());
         contract.setDiscountDays(0);
         
         contract.setDriverRequest("?????");
         contract.setGeneByImport(true);
         
         
         boolean flag = vehicleApprovalService.addVehicleApproval(approval, contract);
         if(!flag)
            System.err.println(""+r.toString());
      }
   }

   /**
    * 
    */
   public static void bindDriverAndVehicle(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ??  where  >=:now and  is null");
      query.setDate("now", new Date());
      List<??> list = query.list();
      session.close();
      
      for (?? r : list) {
         
         String idNum = r.get??();
         Driver d = ObjectAccess.getObject(Driver.class, idNum);
         if(d==null){
            //System.err.println("???\n"+r);
            continue;
         }
         
         String cno = r.get?();
         Vehicle v = ObjectAccess.getObject(Vehicle.class, cno);
         if(v==null){
            System.err.println("????\n"+r);
            continue;
         }
         
         v.setDriverId(idNum);
         
         Contract c = ObjectAccess.execute("select c from Contract c where c.idNum='"+v.getDriverId()+
               "' and c.state=2 ");
         if(c==null){
            System.err.println("???\n"+r);
            continue;
         }
         
         c.setCarframeNum(v.getCarframeNum());
         c.setCarNum(v.getLicenseNum());
         
         session = HibernateSessionFactory.getSession();
         Transaction tx = null;
         
         try{
            tx = session.beginTransaction();
            
            session.saveOrUpdate(c);
            session.saveOrUpdate(v);
            
            VehicleApproval approval = (VehicleApproval)session.createQuery("from VehicleApproval c where c.contractId="+c.getId()+
                  " and c.checkType=0 ").setMaxResults(1).uniqueResult();
            
            if(v.getOperateCardTime()!=null){
               approval.setOperateCardDate(v.getOperateCardTime());
            }
            
            if(v.getGetCarDate()!=null){
               approval.setGetCarDate(v.getGetCarDate());
            }
            
            if(v.getLicenseNumRegDate()!=null){
               approval.setLicenseRegisterDate(v.getLicenseNumRegDate());
               approval.setOperateApplyDate(new Date());
            }
            
            VehicleMode vmode = (VehicleMode)session.createQuery("from VehicleMode c where c.carMode=:mode")
                  .setString("mode", v.getCarMode()).setMaxResults(1).uniqueResult();
            if(vmode!=null)
               approval.setFueltype(vmode.getFuel());
            
            session.saveOrUpdate(approval);
            
            tx.commit();
         }catch(HibernateException e){
            tx.rollback();
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }

      }
   }

        //????
   public static void importVehicleService(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ?? ");
      List<??> list = query.list();
      session.close();

      for (?? r : list) {
         //System.out.println(r);
         String cno = r.get?();
         
         Vehicle v = ObjectAccess.getObject(Vehicle.class, cno);
         
         if(v==null)
            continue;
         
         v.setOperateCardRegistDate(r.get());
         v.setOperateCardRegister(1);
         v.setTwiceSupplyDate(r.get());
         v.setNextSupplyDate(r.get?());
         v.setMoneyCountor(r.get?());
         v.setMoneyCountorNextDate(r.get());
         v.setMoneyCountorTime(r.get?());
         
         v.setOperateCard(r.get????());
         v.setServiceRightRegistDate(r.get());
         v.setServiceRightRegister(1);
         v.setOperateCardTime(r.get????());
         
         Contract c = ObjectAccess.execute("select c from Contract c where c.idNum='"+v.getDriverId()+
               "' and c.carframeNum='"+v.getCarframeNum()+"' ");
         
         VehicleApproval approval = null;
         if(c!=null){
            approval = ObjectAccess.execute("from VehicleApproval c where c.contractId="+c.getId()+
                  " and c.checkType=0 ");
            approval.setOperateCardDate(v.getOperateCardTime());
         }
         
         session =  HibernateSessionFactory.getSession();
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             
             session.saveOrUpdate(v);
             if(approval!=null) session.saveOrUpdate(approval);

             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("???? ?"+r.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
      }
   }

        //????
   /**
    * ?????
    * ?    ? >=now  ?200???? ????? 
    */
   public static void importVehicleTrade(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ??? ");
      List<???> list = query.list();
      session.close();

      for (??? r : list) {
         //System.out.println(r);
         String cno = r.get?();
         
         Vehicle v = ObjectAccess.getObject(Vehicle.class, cno);
         
         if(v==null)
            continue;
         
         BusinessLicense b = new BusinessLicense();
         b.setLicenseNum(r.get?????());
         b.setBeginDate(r.get());
         b.setEndDate(r.get());
         b.setRegistDate(r.get());
         b.setRegister(1);
         
         session =  HibernateSessionFactory.getSession();
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             
             session.saveOrUpdate(b);
             v.setBusinessLicenseComment(r.get());
             v.setBusinessLicenseId(b.getLicenseNum());
             session.saveOrUpdate(v);

             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("??? ?"+r.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
      }
   }

        //
        public static void doAllApply() {

        }

   /**
    * ?
    */
   public static void driverApply(){
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from  ");
      List<> list = query.list();
      session.close();
      
      for (  r : list) {
         String cno = r.get?();
         
         Vehicle v = ObjectAccess.execute("from Vehicle where licenseNum='"+cno+"'");
         
         if(v==null){
            System.err.println("?"+r);
            continue;
         }
         
         String idNum = r.get??();
         Driver d = ObjectAccess.getObject(Driver.class, idNum);
         if(d==null){
            System.err.println("?:"+r);
            continue;
         }
      
         d.setRestTime(r.get?());
         d.setBusinessApplyCarframeNum(v.getCarframeNum());
         d.setBusinessApplyDriverClass(r.get());
         d.setBusinessApplyTime(new Date());
         d.setBusinessApplyRegistrant(1);
         d.setBusinessApplyRegistTime(new Date());
         
//         d.setBusinessApplyState(1);
         
         d.setBusinessReciveTime(new Date());
         d.setBusinessReciveRegistrant(1);
         d.setBusinessReciveRegistTime(new Date());
         d.setIsInCar(true);
         d.setBusinessApplyState(2);
         d.setDriverClass(d.getBusinessApplyDriverClass());
         d.setCarframeNum(v.getCarframeNum());
         d.setDept(v.getDept());
         
//         ObjectAccess.saveOrUpdate(d);
         //driverService.driverUpdate(d,families);
         
         if("".equals(d.getDriverClass())){
         v.setFirstDriver(d.getIdNum());
         if(d.getIdNum().equals(v.getSecondDriver())){
            v.setSecondDriver(null);
         }
         if(d.getIdNum().equals(v.getThirdDriver())){
            v.setThirdDriver(null);
         }
         if(d.getIdNum().equals(v.getTempDriver())){
            v.setTempDriver(null);
         }
      }else if("".equals(d.getDriverClass())){
         v.setSecondDriver(d.getIdNum());
         if(d.getIdNum().equals(v.getFirstDriver())){
            v.setFirstDriver(null);
         }
         if(d.getIdNum().equals(v.getThirdDriver())){
            v.setThirdDriver(null);
         }
         if(d.getIdNum().equals(v.getTempDriver())){
            v.setTempDriver(null);
         }
      }else if("".equals(d.getDriverClass())){
         v.setThirdDriver(d.getIdNum());
         if(d.getIdNum().equals(v.getFirstDriver())){
            v.setFirstDriver(null);
         }
         if(d.getIdNum().equals(v.getSecondDriver())){
            v.setSecondDriver(null);
         }
         if(d.getIdNum().equals(v.getTempDriver())){
            v.setTempDriver(null);
         }
      }else if("".equals(d.getDriverClass())){
         v.setTempDriver(d.getIdNum());
      }
         
         Driverincar record = new Driverincar(d.getBusinessApplyCarframeNum(),d.getIdNum(),"?",d.getBusinessApplyTime());
         record.setFinished(true);
         record.setDriverClass(d.getBusinessApplyDriverClass());
         
         session =  HibernateSessionFactory.getSession();
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             
             session.saveOrUpdate(record);
             session.saveOrUpdate(d);
             session.saveOrUpdate(v);

             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println(""+r.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
         
      }
   }

   private static void importBankCard() {
      Session session = sessionFactory.openSession();
      Query query = session.createQuery("from ? ");
      List<? > list = query.list();
      session.close();


      for (?  r : list) {
         //System.out.println(r);
         String cno = r.get?();
         
         Vehicle v = ObjectAccess.execute("from Vehicle where licenseNum='"+cno+"'");
         if(v==null)
            continue;
         
         Contract c = ObjectAccess.execute("from Contract where carframeNum='"+v.getCarframeNum()+"'");
         if(c==null)
            continue;
         Driver d = ObjectAccess.getObject(Driver.class, c.getIdNum());
         if(d==null)
            continue;
         
         BankCard b = new BankCard();
         
         b.setCarNum(v.getCarframeNum());
         b.setCardNumber(r.get??());
         b.setCardClass("");
         b.setIdNumber(c.getIdNum());
         b.setIsDefaultPay(false);
         b.setIsDefaultRecive(false);
         b.setOperator(1);
         b.setOpeTime(new Date());
         
         if(!StringUtils.equals(r.get??(), d.getName())){
            System.out.println("???:\n"+r+" "+d.getName());
         }

         session =  HibernateSessionFactory.getSession();
         Transaction tx = null;
         try{
             tx = session.beginTransaction();
             session.saveOrUpdate(b);
             tx.commit();
         }catch(HibernateException e){
            if(tx!=null)
               tx.rollback();
            System.err.println("??"+r.toString());
            e.printStackTrace();
         }finally{
            HibernateSessionFactory.closeSession();
         }
      }
   }

    }