云智博客-blog

云智企业管理信息系统官方博客

天宝奥迪FAZITID数据上传

  • 基础数据维护

    功能1:应用管理-》AUDI数据-》设置上传参数

                  主要功能:可以在页面上设置静态参数值,测试台通过/Webservice/AudiScon.asmx接口获取最新设置的参数值

                    功能2:应用管理-》AUDI数据-》手动上传、查询

                主要功能:生成未生成数据文件的数据生成文件,并加密、上传。查询相关数据。

                       

  •   接收测试台数据接口

             主要判断逻辑

   

            1. 版本信息不可为空,且长度为2。
            2. Duns-No信息不可为空,且长度为9。
            3. 生产日期信息不可为空。
            4. ECU-Layout-ld信息不可为空,且长度为4。
            5. FAZIT-ID信息不可为空,且信息长度为23。
            6. 品牌信息不可为空,且长度为2。
            7. 系列标识符信息不可为空,且长度为1。
            8. HostID信息不可为空, 且长度为3。
            9. Start-PSS信息不可为空,长度不为64。

            10.存储数据表Audi_ECU表中,Status=0,(状态初始值,未生成数据文件)

 

  •   上传数据生成数据文件

 

          1. 从数据表中Audi_EUC中获取Status=0的数据记录,0:表示未生成数据文件。1:表示已生成数据文件。

          2. 生成*.xml数据文件,数据文件目录ftpin\\.并更新Audi_EUC中的Status=0。

          3. 插入Audi_ECUFileLog记录。主要是FAZIT-ID与数据文件的关联关系,
              ECUFileName:关联的数据文件。

              ECUFileNameASC:关联的加密文件

              VerifyFileName:上传数据确认文件

              Audi_ECUFileLog.Status=0 ;   -2:确认失败,-1:上传失败, 0:表示数据初始化 ,1:数据已上传,2:数据已确认

  •    数据文件加密

              

   1. 获取Audi_ECUFileLog数据表中的ECUFileNameAsc是空值(表示未生成加密文件),对应的数据文件(*.xml)。

   2. 能过ChoPGP加密生成加密文件,文件存放目ftpin\\*.asc.

   3. 更新数据关联关系 Audi_ECUFileLog.ECUFileNameAsc="*.asc"文件。

  •    加密数据文件上传

              

       1.  获取数据表Audi_ECUFileLog中未上传(status=0),上传失败(status=-1),上传未确认(status=1)记录。

       2.  连接SFTP从服务器

       3.  检查记录中是否存在已上传的主服务器((status=1))或上传到主服务器失败(status=-1),已超过30分钟未确认的记录。如果存在则上传到从服务器,标记ServiceId="Slave". 上传失败,Status仍然为1.

       4.  检查记录中是否存在未上传到主服务器,则上传到主服务器,标记ServiceId="Master". 成功: status=1。失败status=-1。

       

  •    检查并下载服务器数据确认文件

              

            1. 采用轮循的文式检查主、从服务器上是否已生成,如果已生成确认文件,则把确认文件下载到本地服务器ftpout\\上,并删除对应的SFTP服务器确认文件。

            2. 查找*.asc文件,但无对应对的*.xml文件,进行解密。解密生成对应的*.xml文件。

  •    确认数据更新到数据表中并转存数据文件

               

             1. 获取已解密的确认文件(ftpout目录下*.xml)。

             2. 遍历*.xml文件中的每一个节点,找到数据表中的对应FAZIT-ID记录,根据Result值,更新状态。00,01表示确认,非00,01表示未确认。

             3. 整个*.xml遍历完后,把对应的*.asc,*.xml文件移到store目录下。

  •    装箱校验数据是否已上传

              1. 修改存储过程:YFV_MES 中 USP_WE_CheckSNUploadByCarton

添加评论

Loading