文件 写出

    public void getFileDay(){
//    String csjl="<Log> <IDS><TESTID>201501080003</TESTID><BEGTIME>20150108</BEGTIME> </IDS><CONTACT> <LINKMAN>联系人</LINKMAN><PHONE>电话</PHONE> <FAX>传真</FAX></CONTACT> <CARDINFO> <CARDCORP>卡片提供商</CARDCORP> <CARDTYPE>产品型号</CARDTYPE><CHIPCORP>芯片提供商</CHIPCORP><CHIPTYPE>芯片型号</CHIPTYPE> <COSCORP>COS提供商</COSCORP>  <COSTYPE>COS版本</COSTYPE> <FINANCE>金融合作机构</FINANCE> <OTHER>其他合作单位</OTHER></CARDINFO> <ISSUEORGAN> <PROVINCE>北京</PROVINCE> <CITY>海淀(100083)</CITY><ORGAN>发卡机构A</ORGAN><CITYCODE>海淀(100083)</CITYCODE></ISSUEORGAN> <TESTINFO> <TESTUSER>admin</TESTUSER>  <TESTDATE>20150202</TESTDATE>  <CENSOR>admin</CENSOR> <CENSORDATE>201501080003</CENSORDATE> <VERDICT>送检样卡已通过我中心通用性测试,同意进行批量制卡。</VERDICT><MARK>通过</MARK></TESTINFO><REPORTS><TECHNIC><REPORTID_1>jsbg_2_20150202_110108198905058888_000000023.xml</REPORTID_1><REPORTID_2>jsbg_2_20150202_110108198805288887_000000024.xml</REPORTID_2><REPORTID_3>jsbg_2_20150202_110108198905288886_000000026.xml</REPORTID_3><REPORTID_4>jsbg_2_20150202_110108198908288885_000000025.xml</REPORTID_4><REPORTID_5>jsbg_2_20150202_110108198705288884_000000027.xml</REPORTID_5></TECHNIC><SURFACE><REPORTID>kmsh_0_201501080003_20150202.xml</REPORTID></SURFACE></REPORTS></Log>";
//    String jishu1="<Log><IDS><TESTID>AAA-111</TESTID><REPORTID>20140705_092536_1</REPORTID><BEGTIME>20150108</BEGTIME></IDS><CONTACT><LINKMAN>刘文轩</LINKMAN><PHONE>89056789</PHONE><FAX>89056789</FAX></CONTACT><CARDINFO><CARDCORP>×××股份有限公司</CARDCORP><CARDTYPE>健康卡用户卡</CARDTYPE><CHIPCORP>北京×××电子有限公司</CHIPCORP><CHIPTYPE>86EF48C</CHIPTYPE><COSCORP>×××股份有限公司</COSCORP><COSTYPE>HXCOS1.0</COSTYPE><FINANCE>中国×××银行北京分行</FINANCE><OTHER>广州×××科技股份有限公司</OTHER><INDX>19880823</INDX><ATR>3B6D1234567822345674</ATR></CARDINFO><ISSUEORGAN><PROVINCE>北京</PROVINCE><CITY>北京</CITY><ORGAN>北京市卫生局</ORGAN></ISSUEORGAN><REPORT><TESTUSER>SYS.USER</TESTUSER><TESTTIME>20150108</TESTTIME><MARK>不通过</MARK><TOTAL>36</TOTAL><RIGHT>29</RIGHT><WRONG>2</WRONG><UNDO>5</UNDO></REPORT><RUN><MSG><tID>EF050001</tID><STATUS>通过</STATUS><REMARK>          SKF_ConnectDev成功: HXGC-DXQ2AV3.0 Reader 1        </REMARK></MSG><MSG><tID>EF050002</tID><STATUS>不通过</STATUS><REMARK>SKF_ConnectDev成功: HXGC-DXQ2AV3.0 Reader 1        </REMARK></MSG><MSG><tID>EF050003</tID><STATUS>未检测</STATUS><REMARK>          SKF_ConnectDev成功: HXGC-DXQ2AV3.0 Reader 1        </REMARK></MSG><MSG><tID>EF050004</tID><STATUS>通过</STATUS><REMARK>          SKF_ConnectDev成功: HXGC-DXQ2AV3.0 Reader 1        </REMARK></MSG><MSG><tID>EF050005</tID><STATUS>通过</STATUS><REMARK>          SKF_ConnectDev成功: HXGC-DXQ2AV3.0 Reader 1        </REMARK></MSG><MSG><tID>EF050006</tID><STATUS>不通过</STATUS><REMARK>          SKF_ConnectDev成功: HXGC-DXQ2AV3.0 Reader 1        </REMARK></MSG></RUN></Log>";
//    String kmsh="<Log><IDS><TESTID>AAA-111</TESTID><REPORTID>20140705_092536_F</REPORTID><BEGTIME>20150108</BEGTIME></IDS><PICS><PATH_A>IMG_1436.jpg</PATH_A><PATH_B>IMG_1437.jpg</PATH_B></PICS><CARDINFO><CARDCORP>×××股份有限公司</CARDCORP><ORGAN>北京市卫生局</ORGAN></CARDINFO><TESTINFO><TESTDATE>20150108</TESTDATE><TESTUSER>刘文轩</TESTUSER><MARK>通过</MARK><REMARK>没有照片,卡号位置偏上没有照片,卡号位置偏上没有照片,卡号位置偏上没有照片,卡号位置偏上</REMARK></TESTINFO></Log>";
//    String rwd="<Log><IDS><TESTID>AAA-111</TESTID><BEGTIME>20130803</BEGTIME><CREATOR>李亚平</CREATOR></IDS><CONTACT><LINKMAN>刘文轩</LINKMAN><PHONE>89056789</PHONE><FAX>89056789</FAX></CONTACT><CARDINFO><CARDCORP>×××股份有限公司</CARDCORP><CARDTYPE>健康卡用户卡</CARDTYPE><CHIPCORP>北京×××电子有限公司</CHIPCORP><CHIPTYPE>86EF48C</CHIPTYPE><COSCORP>×××股份有限公司</COSCORP><COSTYPE>HXCOS1.0</COSTYPE><FINANCE>中国×××银行北京分行</FINANCE><OTHER>广州×××科技股份有限公司</OTHER></CARDINFO><ISSUEORGAN><PROVINCE>北京</PROVINCE><CITY>北京</CITY><ORGAN>北京市卫生局</ORGAN></ISSUEORGAN><CARDS><CARD><INDX>19880823</INDX><ATR>3B6D1234567822345674</ATR></CARD><CARD><INDX>19840223</INDX><ATR>3B6D1234567822345675</ATR></CARD><CARD><INDX>19500413</INDX><ATR>3B6D1234567822345676</ATR></CARD><CARD><INDX>19511128</INDX><ATR>3B6D1234567822345677</ATR></CARD><CARD><INDX>19200826</INDX><ATR>3B6D1234567822345678</ATR></CARD></CARDS></Log>";
//        //-----------------------------------获取某已结任务支撑文档------
     List<DetectionApply> detectionApply=detectionApplyService.findByrwd();
       for (int m = 0; m < detectionApply.size(); m++) {
            String rw=detectionApply.get(m).getTaskNo();
        //------------------测试---------------------------------------------
        String taskList1="|查询数据|0|获取某已结任务支撑文档|"+rw+"|卡管系统|628927|";
     //String rw="201505210006";
     //String taskList1="|查询数据|0|获取某已结任务支撑文档|201505210006|卡管系统|628927|";
        ZContext ctx = new ZContext();
        System.out.println("I: connecting to server");
        Socket client = ctx.createSocket(ZMQ.REQ);
        client.connect(SERVER_ENDPOINT);
        //测试字符串
        String request = taskList1;
        try {
            byte[] sendByte=request.getBytes("UTF-16LE");
            //转码
            byte[] b=getByte(sendByte);
            client.send(b);

            int expect_reply = 1;
            while (expect_reply > 0) {
                PollItem items[] = { new PollItem(client, Poller.POLLIN) };
                int rc = ZMQ.poll(items, REQUEST_TIMEOUT);
                System.out.println("rc" + rc);
                if (rc == 0) {
                    System.out.println("服务端响应超时!");
                    break;
                }
                byte[] rep = client.recv();
                if (null != rep) {
                    boolean byteIsTure=true;
                    int j=0;
                    expect_reply = -1;
                    
                    for (int i = 0; i < rep.length; i++) {
                        if(byteIsTure){
                            if(rep[i]==0&&rep[i+1]==0&&rep[i+2]==0){
                                j=i+3;
                                break;
                            }        
                        }
                    }
                    byte[] rep1=new byte[j+1];
                    for (int i = 0; i <j; i++) {
                        rep1[i]=rep[i];
                    }
                    byte[] rep2=new byte[rep.length-j];
                    int z=0;
                    for (int i = j; i <rep.length; i++) {
                        rep2[z]=rep[i];
                        z++;
                    }
                    String[] reps = new String(rep1, "UTF-16LE").split("\\|");
                    String sssString="";
                    for (int i = 0; i < reps.length; i++) {
                        sssString=sssString+reps[i]+"~~~";
                    }
                    //判断是否成功
                    System.out.println(sssString);
                    if("成功".equals(new String(reps[3]))){
                    //卡1技术报告字节数
                    int card1Num=Integer.parseInt(reps[6]);
                    byte[] card1NumByte=new byte[card1Num];
                    int indexNum=j;
                    SynTheTaskListDto synthe=null;
                    if(card1Num!=0){
                    for (int i = 0; i < card1NumByte.length; i++) {
                        card1NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    //getFileFromBytes(rep,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"jishu211.xml");
                    getFileFromBytes(card1NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"rwd.xml");
                    System.out.println(card1NumByte.length+"---card1NumByte");
                    //把文件流转换成String
                    String rwd=new String(card1NumByte,"GB2312");
                     synthe=XmlUtil.toBean(rwd, SynTheTaskListDto.class);
                    }
                    int card2Num=Integer.parseInt(reps[8]);
                    
                    byte[] card2NumByte=new byte[card2Num];
                    indexNum=j+card1Num;
                    SynReportCardTechnologyDto jishudto1=null;
                    if(card2Num!=0){
                    for (int i = 0; i < card2NumByte.length; i++) {
                        card2NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    System.out.println(card2NumByte.length+"---card2NumByte");
                    getFileFromBytes(card2NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"jishu1.xml");
                    String jishu1=new String(card2NumByte,"GB2312");
                     jishudto1=XmlUtil.toBean(jishu1, SynReportCardTechnologyDto.class);
                    }
                    int card3Num=Integer.parseInt(reps[10]);
                    
                    byte[] card3NumByte=new byte[card3Num];
                    indexNum=j+card1Num+card2Num;
                    SynReportCardTechnologyDto jishudto2=null;
                    if(card3Num!=0){
                    for (int i = 0; i < card3NumByte.length; i++) {
                        card3NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card3NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"jishu2.xml");
                    
                    System.out.println(card3NumByte.length+"---card3NumByte");
                    String jishu2=new String(card3NumByte,"GB2312");
                     jishudto2=XmlUtil.toBean(jishu2, SynReportCardTechnologyDto.class);
                    }
                    int card4Num=Integer.parseInt(reps[12]);
                    byte[] card4NumByte=new byte[card4Num];
                    indexNum=j+card1Num+card2Num+card3Num;
                    SynReportCardTechnologyDto jishudto3=null;
                    if(card4Num!=0){
                    for (int i = 0; i < card4NumByte.length; i++) {
                        card4NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card4NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"jishu3.xml");
                    
                    System.out.println(card4NumByte.length+"---card4NumByte");
                    String jishu3=new String(card4NumByte,"GB2312");
                     jishudto3=XmlUtil.toBean(jishu3, SynReportCardTechnologyDto.class);
                    
                    }
                    int card5Num=Integer.parseInt(reps[14]);
                    
                    byte[] card5NumByte=new byte[card5Num];
                    indexNum=j+card1Num+card2Num+card3Num+card4Num;
                    SynReportCardTechnologyDto jishudto4=null;
                    if(card5Num!=0){
                    for (int i = 0; i < card5NumByte.length; i++) {
                        card5NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card5NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"jishu4.xml");
                    
                    System.out.println(card5NumByte.length+"---card5NumByte");
                    String jishu4=new String(card5NumByte,"GB2312");
                     jishudto4=XmlUtil.toBean(jishu4, SynReportCardTechnologyDto.class);
                    }
                    int card6Num=Integer.parseInt(reps[16]);
                    
                    byte[] card6NumByte=new byte[card6Num];
                    indexNum=j+card1Num+card2Num+card3Num+card4Num+card5Num;
                    SynReportCardTechnologyDto jishudto5=null;
                    if(card6Num!=0){
                    for (int i = 0; i < card6NumByte.length; i++) {
                        card6NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card6NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"jishu5.xml");
                    
                    System.out.println(card6NumByte.length+"---card6NumByte");
                    String jishu5=new String(card6NumByte,"GB2312");
                     jishudto5=XmlUtil.toBean(jishu5, SynReportCardTechnologyDto.class);
                    }
                    int card7Num=Integer.parseInt(reps[17]);
                    
                    byte[] card7NumByte=new byte[card7Num];
                    indexNum=j+card1Num+card2Num+card3Num+card4Num+card5Num+card6Num;
                    SynCardVerificationDto kmshdto=null;
                    if(card7Num!=0){
                    for (int i = 0; i < card7NumByte.length; i++) {
                        card7NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card7NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"kmsh.xml");
                    
                    System.out.println(card7NumByte.length+"---card7NumByte");
                    String kmsh=new String(card7NumByte,"GB2312");
                     kmshdto=XmlUtil.toBean(kmsh, SynCardVerificationDto.class);
                    }
                    int card8Num=Integer.parseInt(reps[18]);
                    
                    byte[] card8NumByte=new byte[card8Num];
                    indexNum=j+card1Num+card2Num+card3Num+card4Num+card5Num+card6Num+card7Num;
                    if(card8Num!=0){
                    for (int i = 0; i < card8NumByte.length; i++) {
                        card8NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card8NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"tpA.jpg");
                    System.out.println(card8NumByte.length+"---card8NumByte");
                    }
                    int card9Num=Integer.parseInt(reps[19]);
                    byte[] card9NumByte=new byte[card9Num];
                    indexNum=j+card1Num+card2Num+card3Num+card4Num+card5Num+card6Num+card7Num+card8Num;
                    if(card9Num!=0){
                    for (int i = 0; i < card9NumByte.length; i++) {
                        card9NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card9NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"tpB.jpg");
                    System.out.println(card9NumByte.length+"---card9NumByte");
                    }
                    int card10Num=Integer.parseInt(reps[20]);
                    byte[] card10NumByte=new byte[card10Num];
                    indexNum=j+card1Num+card2Num+card3Num+card4Num+card5Num+card6Num+card7Num+card8Num+card9Num;
                    SynTestConclusionDto repCardStringdto=null;
                    if(card10Num!=0){
                    for (int i = 0; i < card10NumByte.length; i++) {
                        card10NumByte[i]=rep[indexNum];
                        indexNum++;
                    }
                    getFileFromBytes(card10NumByte,"E:"+File.separator+"通用性测试文件夹" + File.separator +reps[5],reps[5]+"csjl.xml");
                    
                    System.out.println(card10NumByte.length+"---card10NumByte");
                    String csjl=new String(card10NumByte,"GB2312");
                 repCardStringdto=XmlUtil.toBean(csjl, SynTestConclusionDto.class);
                    }
                sendDetectionAll(rw,synthe,jishudto1,jishudto2,jishudto3,jishudto4,jishudto5,kmshdto,card8NumByte,card9NumByte,repCardStringdto,card10NumByte);
                //sendDetectionAll(rw,synthe,jishudto1,null,null,null,null,kmshdto,null,null,repCardStringdto,card10NumByte);
                }
            }
            }
            client.disconnect(SERVER_ENDPOINT);
            ctx.destroy();
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
   }
        
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值