Newer
Older
IRIS_COLLECT_GA / IOM_cs / insertForm / data / dataConvert / ConvertTool.cs
yangqianqian on 1 Jun 2021 6 KB first commit
using IOM_cs.insertForm.data.dto;
using IOM_cs.irisDb;
using IOM_cs.irisDb.model;
using IOM_cs.irisDb.service;
using IOM_cs.irisDb.service.mySqlImpl;
using System;

namespace IOM_cs.insertForm.data.dataConvert
{
    public class ConvertTool
    {
        public static RequestData GetRequestDataBy(long irId)
        {
            IIrisCollViewService irisCollViewService = (IIrisCollViewService)DbService.getEntity("IIrisCollViewService");
            
            RequestData requestData = new RequestData();
            IrisCollView irisCollView = irisCollViewService.GetIrisCollViewByIrid(irId);

            requestData = getRequestDataByIrisCollView(irisCollView);
            return requestData;
        }

        private static RequestData getRequestDataByIrisCollView(IrisCollView irisCollView)
        {
            RequestData requestData = new RequestData();
            requestData.IrId = irisCollView.ir_id;
            RequestDataBody requestDataBody = new RequestDataBody();
            requestDataBody.client_id = ConfigHelper.GetAppConfig("SyRequestId");
            requestDataBody.client_secret = ConfigHelper.GetAppConfig("SyRequestKey");
            requestDataBody.version = ConfigHelper.GetAppConfig("GaRequestVersion");
            requestDataBody.request_id = buildRequestId(irisCollView);//请求任务号
            requestDataBody.ywfssj = buildYwsj();
            User user = FormLogin.user;
            //login中设置User对象
            requestDataBody.user_id = user.UserNumber;
            requestDataBody.user_dept = ConfigHelper.GetAppConfig("DeptCode");
            requestDataBody.user_deptname = ConfigHelper.GetAppConfig("DeptName");
            requestDataBody.cjr_gmsfhm = user.UserNumber;//请求人身份证

            //设备厂商代码,18位。填写虹膜采集终端产品生产厂商的企业信用代码。必填。
            requestDataBody.sbcsdm = "121000004000132143";
            requestDataBody.hmcjsbxhdm = irisCollView.dev_type;
            requestDataBody.sbbh = "BIRIS65M_" + irisCollView.dev_code;
            requestDataBody.cjcd = irisCollView.coll_place;//附表
            requestDataBody.dzmc = ConfigHelper.GetAppConfig("DeptAddr");
            requestDataBody.jd = irisCollView.st_x;
            requestDataBody.wd = irisCollView.st_y;
            requestDataBody.cjbh = irisCollView.coll_num;
            //采集人COLL_ID
            requestDataBody.cjr_xm = irisCollView.coll_name;           

            //被采集虹膜人员类别代码            
            requestDataBody.bcjr_rylb = irisCollView.coll_reason.PadLeft(3, '0'); 
            

            requestDataBody.zjbz = irisCollView.is_cer;
            requestDataBody.lrbz = irisCollView.coll_way;//1-读证录入 2-手工录入 3-警综录入
            requestDataBody.qzcjbz = irisCollView.flg_force.ToString();
            //附表
            requestDataBody.bcjr_zjlxdm = irisCollView.card_type.PadLeft(2, '0'); 
            requestDataBody.bcjr_zjhm = irisCollView.id_card_no;
            requestDataBody.bcjr_xm = irisCollView.name;

            requestDataBody.bcjr_xb = irisCollView.sex;

            requestDataBody.bcjr_mz = irisCollView.nation.PadLeft(2, '0');
            requestDataBody.bcjr_gj = irisCollView.column_1.ToString().PadLeft(3, '0');
            requestDataBody.bcjr_csrq = irisCollView.birthday.ToString().Substring(0,4);
            requestDataBody.bcjr_zjqfjg = irisCollView.column_2;
            requestDataBody.bcjr_zjyxqx = irisCollView.column_6;
            requestDataBody.bcjr_hjdz = irisCollView.column_3;
            requestDataBody.bcjr_jzdz = irisCollView.column_4;
            requestDataBody.bcjr_sjhm1 = irisCollView.tel1;
            requestDataBody.bcjr_sjhm2 = irisCollView.tel2;
            requestDataBody.zjzp = irisCollView.photo_data;
            //左右眼采集代码
            //根据:COLL_TYPE,判断:DEF_REASON;双眼 = 3,左眼 = 2,右眼 = 1
            requestDataBody.zyycjdm = irisCollView.coll_type;
            if (irisCollView.coll_type == "1")
                requestDataBody.zyqsqkdm = irisCollView.def_reason;
            else if (irisCollView.coll_type == "2")
                requestDataBody.yyqsqkdm = irisCollView.def_reason;
            else if (irisCollView.coll_type == "3")
            {
                requestDataBody.zyqsqkdm = "0";
                requestDataBody.yyqsqkdm = "0";
            }
            //.Replace("data:image/png;base64,", "")
            requestDataBody.hmzp_zy = irisCollView.image_l1_data.Replace("data:image/bmp;base64,", "");
            requestDataBody.hmzp_yy = irisCollView.image_r1_data.Replace("data:image/bmp;base64,", "");

            //采集耗时
            requestDataBody.cjtphs = irisCollView.coll_spend;
            //左眼评分
            
            requestDataBody.zy_xxzlpf = pfStr((irisCollView.q_i*10).ToString());
            //右眼评分
            requestDataBody.yy_xxzlpf = pfStr((irisCollView.q_r*10).ToString());
            //采集备注
            requestDataBody.cjbz = irisCollView.reason_coll_desc;

            requestData.RequestDataBody = requestDataBody;
            return requestData;
        }

        private static String pfStr(String pf) {
            String result = "";
            int li_Index = pf.LastIndexOf(".");//获得回.的位置
            result = pf.Substring(0, li_Index);//获得目标字符串

            return result;
        }
        /// <summary>
        /// 请求任务号
        /// </summary>
        /// <returns></returns>
        private static String buildRequestId(IrisCollView irisCollView)
        {
            String result = "HMCJ-";
            String deptCode = ConfigHelper.GetAppConfig("DeptCode"); 
            String devFirm = irisCollView.dev_firm;
            String dtStr = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString().PadLeft(2,'0') + DateTime.Now.Day.ToString().PadLeft(2, '0');
            //String collNum = irisCollView.coll_num.Substring(irisCollView.coll_num.Length - 6, 6);
            int devCodeLength = irisCollView.dev_code.Length;
            String collNum = irisCollView.dev_code.Substring(devCodeLength-2,2)+DateTime.Now.ToString("HHmmss");

            result += deptCode + "-"+devFirm +"-"+ dtStr + "-" + collNum;
            return result;
        }

        private static String buildYwsj(){
            String result = DateTime.Now.ToString("yyyyMMddHHmmss");

            return result;
        }

    }
}