一、数据库语句：
Provider=SqlOLEDB;Data Source=10.126.64.131;initial catalog=MESOtherData;user ID=XMUpdate;password=695Xm@123#;connect timeout=30;

数据库类型：MSSQL
数据库地址：10.126.64.131
数据库名称：MESOtherData
数据库用户：XMUpdate
数据库密码：695Xm@123#

二、NTF上传使用的表：
AMYields：
统计合格率，这是针对每小时的合格率做统计
每一条记录统计的是时间整点范围内、指定线体、批次号、
AMResult：
字段ResultType分析：
OncePass：      有且只有1次测试，且测试成功。  ErrorMsg=一次Pass
OnceFail：      有且只有1次测试，且测试Fail。  ErrorMsg=仅测试一次且FAIL
NTF：           有且只有2次测试，第一次失败，第二次成功。   ErrroMsg=1st:Fail;2nd:PASS
TwiceFail：     有且只有2次测试，且连续2次Fail。    ErrorMsg=连续两次FAIL
FinalPass：     测试三次或三次以上，前面不管成功或失败，只要最后一次成功。  ErrroMsg=最终PASS
FinalFail：     测试三次或三次以上，前面不管成功或失败，只要最后一次为Fail。    ErrorMsg=最终FAIL


表一
OncePass：只测试一次，且成功。
NTF：只测试2次，第一次失败，第二次成功。
TwiceFail：只测试2次，且连续测试2次，2次都失败。
RealFail：实际结果为Fail的测试，这里的情况更多
Total：是否包含重流的整机，待确认！
FPY：一次测试合格率，计算方式待确认！
SPY：二次测试合格率，计算方式待确认！
RPY：最终测试合格率，计算方式待确认！
YieldRate：去掉重流的合格率，计算方式待确认！

表二
ReDo：回流标记，标记方式：当前的永远=0，上一次的值为 Value = Select MAX(ReDo) from AMYields where SN = '目标SN' 加1的值。
Test01：首次测试结果
Test02：第二次测试结果
FinalTest：最终测试结果，最后一次的测试结果，与Test01、Test02一起决定ResultType的值。
Test01=Pass & Test02=NULL，则FinalTest=Pass，ResultType=OnecePass
Test01=Fail & Test02 = Pass，没有第三次测试，则FinalTest=Pass，ResultType=NTF
Test01=Fail & Test02=Fail, 第三次=Pass，则FinalTest=Pass， ResutlType=FinalPass
Test01=Fail & Test02 = Fail，没有第三次，则FinalTest=Fail，ResultType=TwiceFail
Test01=Fail & Test02 = Fail，第三次=Pass，则FinaTest=Pass，RestulType=FinalPass
Test01=Fail & Test02 = NULL，则FinalTest=Fail，ResultType=OneceFail
Test01=Fail & Test02 = Fail ，第三次或最后一次=Fail，则FinalTest=Fail，ResultType=FinalFail
ResultType：结果类型：OncePass、NTF、FinalPass、TwiceFail、FinalPass、OnceFail、FinalFail

三、注意事项：
1、


四、HTTP接口

实时抄写记录提交，参数：
TestDate
Line
Station
DSN
ODF->MaInfo.ODF
Model->MaInfo.Model
Dimension->MaInfo.SIZE
TestHour
TestTime
SN
Result(抄写结果)
LastSN（=0，表示上一次抄写的SN与当前SN不相同，=1表示相同）。

->查询AMResult表，以Station、SN为查询条件。
	->如果没有这条数据，插入新数据到AMResult表中，ReDo=0。
		->返回数据表AMResult插入数据情况。
	->如果有这条数据，更新AMResult表。
		->以Station、SN、ReDo=0为查询条件，查询出ReDo=0的记录。
			->如果没有ReDo=0的记录，插入新数据到AMResult表中，ReDo字段为0
			->如果有记录。
				->LastSN=0
					->只更新当前记录:UpdateReDo0AMResult
				->LastSN=1
					->将原ReDo=0的记录更新为ReDo=1即可，再新增当前记录为ReDo=0.


接口一：获取订单类型
参数：SN
返回：订单类型：试产订单、量产订单

接口二：新增或更新AMResult\AMResult_TR表
参数：
TestDate、Line、Station、DSN、TestHour、TestTime、SN、Result(抄写结果)
ODF->MaInfo.ODF、Model->MaInfo.Model、Dimension->MaInfo.SIZE、=>建议由GetMaInfo获取，抄写工具不提供
LastSN（=0，表示上一次抄写的SN与当前SN不相同，=1表示相同）。
TR（=0表示量产订单，更新AMResult表；=1表示试产订单，更新AMResult_TR表）
返回：更新成功或失败

接口三：获取AMResult\AMResult_TR统计表记录
参数：
TestDate、Line、Station、TestHour、ODF、TR（=0表示量产订单，查询AMResult表；=1表示试产订单，查询AMResult_TR表）
返回：失败返回原因，成功返回以下统计数据
TotalCount
RealTotalCount
OncePassCount
OnceFailCount
NTFCount
TwiceFailCount
FinalFailCount
FinalPassCount
RealFailCount
RealPassCount
NTFSSN
FailDSN

接口四：更新AMYields\AMYields_TR表
参数：
TestDate、Line、Station、TestHour、ODF、
ODF->MaInfo.ODF、Model->MaInfo.Model、Dimension->MaInfo.SIZE、=>建议由GetMaInfo获取，抄写工具不提供
OncePass、NTF、TwiceFail、RealFail、Total、FPY、RPY、YieldRate、NTF_SN、FailDSN、Remark


