xuxiuxi
2017-07-25 aefba082b002e1785ba9df24850b3e2035dd0332
VisitFace/document/erdb api½Ó¿ÚÃèÊö.txt
@@ -29,6 +29,14 @@
   }
]
enum StatusID
{
普通访客
黑名单
教师
学生
领导干部
}
select ID, distinct label from VisitorType where RegisterCompanyID = 0 or RegisterCompanyID = "$companyID"
1.2. ImageTypeID
@@ -44,13 +52,13 @@
enum ImageTypeID
{
   Face1 = 1,  // æ­£é¢ç…§ç‰‡1(存放到EmployeeFace/VisitFace表)
   Face2 = 2,  // æ­£é¢ç…§ç‰‡2(存放到EmployeeFace/VisitFace表)
   FaceLSide,  // ï¼ˆä¸»ä½“观察,<=45度)左侧脸照片(存放到EmployeeFace/VisitFace表)
   FaceRSide,  // ï¼ˆä¸»ä½“观察,<=45度)右侧脸照片(存放到EmployeeFace/VisitFace表)
   FaceTSide,  // ï¼ˆä¸»ä½“观察,<=45度)顶侧脸照片(存放到EmployeeFace/VisitFace表)
   FaceBSide,  // ï¼ˆä¸»ä½“观察,<=45度)底侧脸照片(存放到EmployeeFace/VisitFace表)
   FaceUploaded, // ä¸Šä¼ ç…§ç‰‡ï¼ˆå­˜æ”¾åˆ°EmployeeFace/VisitFace表)
   Face1 = 1,  // æ­£é¢ç…§ç‰‡1(交给人脸识别服务)
   Face2 = 2,  // æ­£é¢ç…§ç‰‡2(存放到FaceImage表)
   FaceLSide,  // ï¼ˆä¸»ä½“视角,<=45度)左侧脸照片(存放到FaceImage表)
   FaceRSide,  // ï¼ˆä¸»ä½“视角,<=45度)右侧脸照片(存放到FaceImage表)
   FaceTSide,  // ï¼ˆä¸»ä½“视角,<=45度)顶侧脸照片(存放到FaceImage表)
   FaceBSide,  // ï¼ˆä¸»ä½“视角,<=45度)底侧脸照片(存放到FaceImage表)
   FaceUploaded, // ä¸Šä¼ ç…§ç‰‡ï¼ˆå­˜æ”¾åˆ°FaceImage表)
   Icon, // å›¾æ ‡ï¼ˆå­˜æ”¾åˆ°Image表)
   IdentificationCard, // èº«ä»½è¯ç…§ç‰‡ï¼ˆå­˜æ”¾åˆ°Image表)
   BusinessCard, // åç‰‡ç…§ç‰‡ï¼ˆå­˜æ”¾åˆ°Image表)
@@ -70,11 +78,12 @@
enum StatusID
{
普通访客
黑名单
教师
学生
领导干部
未注册
已注册(访客)
来访登记(访客)
签离(访客)
签到(员工)
签退(员工)
}
@@ -101,21 +110,21 @@
a)接收imgs二进制数据
b)转发到人脸识别服务(registerCompanyID, imgs)
c)接收识别结果:<dbid, faceid>,其中<0,0>表示未找到结果,<0,N>表示在访客数据库中找到人脸,<N,M>表示在N公司中匹配人脸M
c)接收识别结果:<dbid, faceid>,其中<(<0),0>表示未找到结果,<(<0),N>表示在访客数据库中找到人脸,<N,M>表示在N公司中匹配人脸M
d) å¯¹äºŽå•个人脸结果:
  if <0,0>
  {
   // æœç´¢æ— ç»“æžœ
  }
  else if (dbid == 0 && faceid != 0)
  else if (dbid < 0 && faceid != 0)
  { // è®¿å®¢
   // select * from VisitFace where faceid="$faceid";
   // select * from Person where
   // select PersonID from FaceImage where RegisterCompanyID="$dbid" and faceid="$faceid";
   // select * from Person where PersonID="$PersonID"
  }
  else if (dbid != 0 && faceid != 0)
  else if (dbid > 0 && faceid != 0)
  { // å‘˜å·¥
     // select * from EmployeeFace where RegisterCompanyID="$dbid" and faceid="$faceid";
   // select * from Person where
     // select * from FaceImage where RegisterCompanyID="$dbid" and faceid="$faceid";
   // select * from Person where PersonID="$PersonID"
  }
  
@@ -157,7 +166,7 @@
Request:
{
   placeID : 123, // è‹¥ä¸º-1则只搜索VisitFaceDB
   visitStatusID : 1 // ç­¾åˆ°ã€ç­¾é€€/签离
   enterOrExit : 1 // ç­¾åˆ°ã€ç­¾é€€/签离
   imgs : [ "image base64" ] // å¯¹åº”多个人的人脸图像
}
Response:
@@ -175,12 +184,12 @@
]
参考a)b)c)d)
参考1.3. a)b)c)d)
e) å¯¹äºŽå•个人脸结果:
   // "$person.id"
   select CompanyID from Place where placeID="$placeID"
   isChecking = select * CheckingCompany where CompanyID = "$CompanyID" and PersonID="$PersonID"
   if (visitStatusID == ç­¾åˆ°) // å…¥å£æ‘„像头
   if (enterOrExit == ç­¾åˆ°) // å…¥å£æ‘„像头
   {
    if (isChecking)
      checking(PersonID, placeID);
@@ -188,13 +197,14 @@
    else
       return person status not changed;
   }
   else if (visitStatusID == ç­¾é€€/签离) // å‡ºå£æ‘„像头
   else if (enterOrExit == ç­¾é€€/签离) // å‡ºå£æ‘„像头
   {
    if (isChecking)
      unchecking(PersonID, placeID);
      return person current status
    else
       unvisit(PersonID, placeID);
      return person current status
   }
   
   checking:
@@ -252,6 +262,8 @@
b) if Person exists return error
c) else insert into Person
d) companyID = (select * from or insert Company where name = "$companyName")
e) department_id , Post_id
f)
2.4. æ³¨å†Œè®¿å®¢äººè„¸(visit face register)
Request:
@@ -267,8 +279,8 @@
a)select exists(*) from person where id="$personID"
b)if not exists return error
c)保存imgIdentity/Icon等到文件存储,并插入Image表;保存人脸图到VisitFace,VisitFace.imagePath = ä¿å­˜imgs到文件存储
d)调用人脸识别服务[faceids]=(registerCompanyID, dbid=0, img)
c)根据image type保存图片
d)调用人脸识别服务[faceids]=(registerCompanyID, dbid=-1, img)
e)对于每一个faceid,insert into VisitFace ("$FaceID", $PersonID, "$VisitFace.imagePath")
3. æ¥è®¿ç™»è®°
@@ -316,6 +328,9 @@
   }
]
set @companyID =1;
select * from person pe where pe.company_id = @companyID
3.2. æœç´¢
(3. 4. 5. 6.)
来访人员,如果没有给出搜索字段时,显示本校曾经来访人员列表VisitStat;如果给出关键字,则搜索全部人员
@@ -334,6 +349,15 @@
#todo è¢«è®¿è€ƒè™‘和人员列表合并
if isVisitor
   select *
     from visit_stat vs left outer join person pe
     on vs.person_id = person.id
     where vs.register_company_id = "$registerCompanyID" and pe.name_spell like "$nameSpell%"
else
   select * from  person
   where CompanyID = "$registerCompanyID" and name_spell like "$nameSpell%"
3.3. èŽ·å¾—æ¥è®¿/被访人员详细信息(visitor/visitee)
Request:
{