Esempio n. 1
0
        public void Test_Query_Result_Data_Set()
        {
            var resultData = new QueryResultData <dynamic>
            {
                requestID       = Guid.NewGuid(),
                clientContextID = "clientContextTestId",
                signature       = "testSignature",
                results         = new dynamic[] { "{'testresult':'testresultvalue'}" },
                status          = QueryStatus.Completed,
                errors          = new[] { new ErrorData {
                                              code = 1, msg = "testMsg", name = "testName", sev = Severity.None, temp = true
                                          } },
                warnings = new[] { new WarningData {
                                       code = 2, msg = "testWarningMsg"
                                   } },
                metrics =
                    new MetricsData
                {
                    elapsedTime   = "testElapsedTime",
                    errorCount    = 0,
                    executionTime = "testExecutionTime",
                    mutationCount = 1,
                    resultCount   = 2,
                    resultSize    = 3,
                    sortCount     = 4,
                    warningCount  = 5
                },
            };

            var result = resultData.ToQueryResult();

            Assert.AreEqual(result.RequestId, resultData.requestID);
            Assert.AreEqual(result.ClientContextId, resultData.clientContextID);
            Assert.AreEqual(result.Signature, resultData.signature);
            Assert.AreEqual(result.Rows.Count, resultData.results.Count());
            Assert.IsTrue(result.Rows.All(r => resultData.results.Any(rd => r == rd)));
            Assert.AreEqual(result.Status, resultData.status);
            Assert.AreEqual(result.Errors.Count, resultData.errors.Count());
            Assert.IsTrue(
                result.Errors.All(
                    e =>
                    resultData.errors.Any(
                        ed =>
                        e.Temp == ed.temp && e.Code == ed.code && e.Message == ed.msg && e.Name == ed.name &&
                        e.Severity == ed.sev)));
            Assert.AreEqual(result.Warnings.Count, resultData.warnings.Count());
            Assert.IsTrue(result.Warnings.All(w => resultData.warnings.Any(wd => w.Code == wd.code && w.Message == wd.msg)));
            Assert.AreEqual(result.Metrics.ElaspedTime, resultData.metrics.elapsedTime);
            Assert.AreEqual(result.Metrics.ErrorCount, resultData.metrics.errorCount);
            Assert.AreEqual(result.Metrics.ExecutionTime, resultData.metrics.executionTime);
            Assert.AreEqual(result.Metrics.MutationCount, resultData.metrics.mutationCount);
            Assert.AreEqual(result.Metrics.ResultCount, resultData.metrics.resultCount);
            Assert.AreEqual(result.Metrics.ResultSize, resultData.metrics.resultSize);
            Assert.AreEqual(result.Metrics.SortCount, resultData.metrics.sortCount);
            Assert.AreEqual(result.Metrics.WarningCount, resultData.metrics.warningCount);
        }
        public void Test_Query_Result_Data_Set()
        {
            var resultData = new QueryResultData<dynamic>
            {
                requestID = Guid.NewGuid(),
                clientContextID = "clientContextTestId",
                signature = "testSignature",
                results = new dynamic[] {"{'testresult':'testresultvalue'}"},
                status = QueryStatus.Completed,
                errors = new[] {new ErrorData {code = 1, msg = "testMsg", name = "testName", sev = Severity.None, temp = true}},
                warnings = new[] {new WarningData {code = 2, msg = "testWarningMsg"}},
                metrics =
                    new MetricsData
                    {
                        elapsedTime = "testElapsedTime",
                        errorCount = 0,
                        executionTime = "testExecutionTime",
                        mutationCount = 1,
                        resultCount = 2,
                        resultSize = 3,
                        sortCount = 4,
                        warningCount = 5
                    },
            };

            var result = resultData.ToQueryResult();

            Assert.AreEqual(result.RequestId, resultData.requestID);
            Assert.AreEqual(result.ClientContextId, resultData.clientContextID);
            Assert.AreEqual(result.Signature, resultData.signature);
            Assert.AreEqual(result.Rows.Count, resultData.results.Count());
            Assert.IsTrue(result.Rows.All(r => resultData.results.Any(rd => r == rd)));
            Assert.AreEqual(result.Status, resultData.status);
            Assert.AreEqual(result.Errors.Count, resultData.errors.Count());
            Assert.IsTrue(
                result.Errors.All(
                    e =>
                        resultData.errors.Any(
                            ed =>
                                e.Temp == ed.temp && e.Code == ed.code && e.Message == ed.msg && e.Name == ed.name &&
                                e.Severity == ed.sev)));
            Assert.AreEqual(result.Warnings.Count, resultData.warnings.Count());
            Assert.IsTrue(result.Warnings.All(w => resultData.warnings.Any(wd => w.Code == wd.code && w.Message == wd.msg)));
            Assert.AreEqual(result.Metrics.ElaspedTime, resultData.metrics.elapsedTime);
            Assert.AreEqual(result.Metrics.ErrorCount, resultData.metrics.errorCount);
            Assert.AreEqual(result.Metrics.ExecutionTime, resultData.metrics.executionTime);
            Assert.AreEqual(result.Metrics.MutationCount, resultData.metrics.mutationCount);
            Assert.AreEqual(result.Metrics.ResultCount, resultData.metrics.resultCount);
            Assert.AreEqual(result.Metrics.ResultSize, resultData.metrics.resultSize);
            Assert.AreEqual(result.Metrics.SortCount, resultData.metrics.sortCount);
            Assert.AreEqual(result.Metrics.WarningCount, resultData.metrics.warningCount);
        }
 public PluginCommandResponseMessage Execute(string args)
 {
     if (_profile.IsNull)
     {
         return(new PluginCommandResponseMessage
         {
             ResponseData = "Indexing was not started yet.",
             PluginCommandStatus = PluginCommandStatus.Fail
         });
     }
     try
     {
         if (_documentIndexRebuilder.RebuildIfNeeded())
         {
             return(new PluginCommandResponseMessage
             {
                 ResponseData = "Index rebuild is in progress.",
                 PluginCommandStatus = PluginCommandStatus.Fail
             });
         }
         var             searchData      = args.Deserialize <QueryData>();
         QueryResult     queryResult     = _queryRunner.Run(searchData);
         QueryResultData queryResultData = CreateQueryResultData(queryResult);
         return(new PluginCommandResponseMessage
         {
             ResponseData = queryResultData.Serialize(),
             PluginCommandStatus = PluginCommandStatus.Succeed
         });
     }
     catch (DocumentIndexConcurrentAccessException e)
     {
         _logger.Error(e);
         return(new PluginCommandResponseMessage
         {
             ResponseData = "Search failed because of concurrent access exception. Try again, please",
             PluginCommandStatus = PluginCommandStatus.Error
         });
     }
 }
        /// <summary>
        /// 根据提供的参数信息对原始的DataSet形式的业务数据进行组装整理,返回整理后格式化的展示数据
        /// </summary>
        /// <param name="funcID">可定义为功能ID,也可为业务上下文ID,无实际意义</param>
        /// <param name="bizParameter">业务参数键值对</param>
        /// <param name="bizData">原始业务数据</param>
        /// <returns>整理后可直接格式化展示的数据</returns>
        public QueryResultData GetBizFormatResult(string funcID, Dictionary <string, string> bizParameter, DataSet bizData)
        {
            GSPState     gspState = GSPContext.Current.Session;
            IGSPDatabase db       = GSPContext.Current.Database;
            string       strSql   = "";

            strSql += " SELECT CTLIST_DJNM,CTLIST_TYPEID,CTLIST_DJBH, CTTYPE.CTTYPE_NAME FROM CTDGLIST ";
            strSql += " JOIN CTTYPE ON CTDGLIST.CTLIST_TYPEID=CTTYPE.CTTYPE_CODE";
            strSql += " WHERE CTLIST_CONTRACTID = '" + bizData.Tables[0].Rows[0]["CTLIST_CONTRACTID"].ToString() + "'";

            WriteLog(strSql, "ctdglist");
            DataSet ds = db.ExecuteDataSet(strSql);

            DataTable dt = ds.Tables[0];
            DataRow   dr = dt.Rows[0];

            string sysCode = gspState.AppCode;  //GS实例编号

            string ysdjid = "";                 //原始单据id

            string urlBizApply = String.Empty;; //业务申请地址
            string urlSrcAsset = String.Empty;  //资产信息地址

            string    strSql1 = "";
            DataSet   ds1     = null;
            DataTable dt1     = null;
            DataRow   dr1     = null;

            #region  根据不同合同类型获取对应的URL

            #region 种子采购
            if (dr["CTTYPE_NAME"].ToString() == "种子采购")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 毛种子采购(初始种子)
            if (dr["CTTYPE_NAME"].ToString() == "毛种子采购(初始种子)")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 亲本种子采购(KWS玉米)
            if (dr["CTTYPE_NAME"].ToString() == "亲本种子采购(KWS玉米)")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 其它类种子采购(非库存)
            if (dr["CTTYPE_NAME"].ToString() == "其它类种子采购(非库存)")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 仓储合同
            if (dr["CTTYPE_NAME"].ToString() == "仓储合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 营销、宣传类
            if (dr["CTTYPE_NAME"].ToString() == "营销、宣传类")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 机械作业合同
            if (dr["CTTYPE_NAME"].ToString() == "机械作业合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 推广展示合同
            if (dr["CTTYPE_NAME"].ToString() == "推广展示合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 技术开发合同
            if (dr["CTTYPE_NAME"].ToString() == "技术开发合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 运维服务合同
            if (dr["CTTYPE_NAME"].ToString() == "运维服务合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 咨询服务合同
            if (dr["CTTYPE_NAME"].ToString() == "咨询服务合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region  务合同
            if (dr["CTTYPE_NAME"].ToString() == "服务合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 其他
            if (dr["CTTYPE_NAME"].ToString() == "其他")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 辅助材料采购
            if (dr["CTTYPE_NAME"].ToString() == "辅助材料采购")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 运输合同
            if (dr["CTTYPE_NAME"].ToString() == "运输合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 装卸合同
            if (dr["CTTYPE_NAME"].ToString() == "装卸合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 品种权转让合同
            if (dr["CTTYPE_NAME"].ToString() == "品种权转让合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 品种实施许可合同
            if (dr["CTTYPE_NAME"].ToString() == "品种实施许可合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 合资、合作(有收付款)
            if (dr["CTTYPE_NAME"].ToString() == "合资、合作(有收付款)")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 招标代理合同
            if (dr["CTTYPE_NAME"].ToString() == "招标代理合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 委托试验合同-双向
            if (dr["CTTYPE_NAME"].ToString() == "委托试验合同-双向")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 保管合同
            if (dr["CTTYPE_NAME"].ToString() == "保管合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 委托加工合同
            if (dr["CTTYPE_NAME"].ToString() == "委托加工合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 在建工程项目
            if (dr["CTTYPE_NAME"].ToString() == "在建工程项目")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 费用类物资采购
            if (dr["CTTYPE_NAME"].ToString() == "费用类物资采购")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 技术服务合同
            if (dr["CTTYPE_NAME"].ToString() == "技术服务合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 临时用工-散工
            if (dr["CTTYPE_NAME"].ToString() == "临时用工-散工")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion



            //#region 营销、宣传类
            //if (dr["CTTYPE_NAME"].ToString() == "营销、宣传类")
            //{
            //    urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            //}
            //#endregion



            #region  咨询服务合同
            if (dr["CTTYPE_NAME"].ToString() == "咨询服务合同")
            {
                strSql1 += " select ROYWSQ_NM from   ROYWSQ where ROYWSQ_BH ='" + dr["CTLIST_DJBH"].ToString() + "'";
                WriteLog(strSql1, "ROYWSQ");
                ds1 = db.ExecuteDataSet(strSql1);
                if (ds1.Tables[0].Rows.Count > 0)
                {
                    dt1         = ds1.Tables[0];
                    dr1         = dt1.Rows[0];
                    ysdjid      = Convert.ToString(dr1["ROYWSQ_NM"]);           //共享单据
                    urlBizApply = this.GetUrlBizApply(ysdjid, Platform.MOBILE); //共享单据地址
                }
            }
            #endregion

            #region 资产采购合同
            if (dr["CTTYPE_NAME"].ToString() == "资产采购")
            {
                urlBizApply = this.GetUrlBizApply_other(dr["CTLIST_DJNM"].ToString(), Platform.MOBILE, "ca098f65-1512-4f78-8c8e-d552730f42f3");//资产单据地址
                WriteLog(urlBizApply, "sdf");
            }
            #endregion

            #region 资产租入合同
            if (dr["CTTYPE_NAME"].ToString() == "资产租入合同")
            {
                urlBizApply = this.GetUrlBizApply_other(dr["CTLIST_DJNM"].ToString(), Platform.MOBILE, "22d9394c-5c89-4122-a574-ca492322ab0d");//资产单据地址
            }
            #endregion

            #region 资产维修合同
            if (dr["CTTYPE_NAME"].ToString() == "资产维修")
            {
                urlBizApply = this.GetUrlBizApply_other(dr["CTLIST_DJNM"].ToString(), Platform.MOBILE, "41000824-ec02-474f-b974-55bf8f75fa10");//资产单据地址
            }
            #endregion


            #region 融资合同-内部借款
            if (dr["CTTYPE_NAME"].ToString() == "融资合同-内部借款")
            {
                urlBizApply = this.GetUrlBizApply_other(dr["CTLIST_DJNM"].ToString(), Platform.MOBILE, "11446bcf-30dc-43f7-b860-54e79ff5ce3f");
            }
            #endregion

            #region 融资合同-外部借款
            if (dr["CTTYPE_NAME"].ToString() == "融资合同-外部借款")
            {
                urlBizApply = this.GetUrlBizApply_other(dr["CTLIST_DJNM"].ToString(), Platform.MOBILE, "11446bcf-30dc-43f7-b860-54e79ff5ce3f");
            }
            #endregion

            #region 运输合同
            if (dr["CTTYPE_NAME"].ToString() == "运输合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 招标代理合同
            if (dr["CTTYPE_NAME"].ToString() == "招标代理合同")
            {
            }
            #endregion

            #region 营销、宣传类
            if (dr["CTTYPE_NAME"].ToString() == "营销、宣传类")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region  务合同
            if (dr["CTTYPE_NAME"].ToString() == "服务合同")
            {
                urlBizApply = this.GetUrlBizApply(dt.Rows[0]["CTLIST_DJNM"].ToString(), Platform.MOBILE);
            }
            #endregion

            #region 劳动合同
            if (dr["CTTYPE_NAME"].ToString() == "劳动合同")
            {
            }
            #endregion

            #region 费用类物资采购
            if (dr["CTTYPE_NAME"].ToString() == "费用类物资采购")
            {
            }
            #endregion

            #region 资产租入合同
            if (dr["CTTYPE_NAME"].ToString() == "资产租入合同")
            {
            }
            #endregion
            #endregion
            XElement ele = new XElement("ul",
                                        new XAttribute("id", "navs"),
                                        new XAttribute("data-open", "收起"),
                                        new XAttribute("data-close", "联查"),

                                        new XElement("li",
                                                     new XAttribute("style", String.IsNullOrWhiteSpace(urlBizApply) ? "background-color:#c4c4c4;" : String.Empty),
                                                     new XElement("a", ViewType.原始单据,
                                                                  new XAttribute("class", "hyperlink"),
                                                                  new XAttribute("href", "javascript:void(0)"),
                                                                  new XAttribute("onclick", String.IsNullOrWhiteSpace(urlBizApply) ? String.Empty : "gsp.rtf.func.openUrl({id:'viewBizApply',name:'原始单据',url:'" + urlBizApply + "'})"))));

            string          ul         = ele.ToString();
            string          html       = ul + @"<script type='text/javascript'>
            (function(){
	            var ul=$('#navs'),li=$('#navs li'),i=li.length,n=1,r=120;
	            ul.click(function(){
		            $(this).toggleClass('active');
                    var isActive = $(this).hasClass('active');
			        for(var a=0;a<i;a++){
                        var msDelayed = 50*a;
                        var cosDisplacement = isActive ? -r*Math.cos(90/n*a*(Math.PI/180)) : 0;
                        var sinDisplacement = isActive ? -r*Math.sin(90/n*a*(Math.PI/180)) : 0;
				        li.eq(a).css({
					        'transition-delay':''+msDelayed+'ms',
					        '-webkit-transition-delay':''+msDelayed+'ms',
					        '-o-transition-delay':''+msDelayed+'ms',
					        'transform':'translate('+cosDisplacement+'px,'+sinDisplacement+'px)',
					        '-webkit-transform':'translate('+cosDisplacement+'px,'+sinDisplacement+'px)',
					        '-o-transform':'translate('+cosDisplacement+'px,'+sinDisplacement+'px)',
					        '-ms-transform':'translate('+cosDisplacement+'px,'+sinDisplacement+'px)'
				        });
			        }
	            });
            })($);
            </script>
            <style type='text/css'>
            .hyperlink:focus{outline:none;}
            #navs{font-size:18px;position:fixed;right:30px;bottom:80px;width:60px;height:60px;line-height:60px;list-style-type:none;margin:0;padding:0;text-align:center;color:#fff;cursor:pointer;}
            #navs>li,#navs:after{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:50%;-webkit-border-radius:50%;background-color:#0073c6;}
            #navs>li{transition:all .6s;-webkit-transition:all .6s;-moz-transition:.6s;}
            #navs:after{content:attr(data-close);z-index:1;border-radius:50%;-webkit-border-radius:50%;}
            #navs.active:after{content:attr(data-open);}
            #navs a{font-size:12px;width:60px;height:60px;display:inline-block;border-radius:50%;-webkit-border-radius:50%;text-decoration:none;color:#fff;}
            </style>";
            QueryResultData resultData = new QueryResultData();
            resultData.FormatID = bizParameter["WebBillQuery_Runtime_FormatID"]; //获取表单定义ID
            resultData.Data     = JsonConvert.SerializeObject(bizData);
            resultData.Content  = html;                                          //此处就是你根据影像数据形成的Html片段,业务单据数据信息需要从bizData参数中获取
            //resultData.Content = "<div style=\"font-size: 28px;position: fixed;right: 30px;bottom: 80px;z-index: 999;width: 60px;height: 60px;border-radius: 80%;background-color: #0073c6;text-align: center;line-height: 60px;color: #fff;-webkit-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.24);-moz-box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.24);box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.24);-webkit-transition: -webkit-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);-moz-transition: -moz-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);-o-transition: -o-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);cursor: pointer;\" onclick=\"gsp.rtf.func.openUrl({id:'viewgxyxxx',name:'合同信息', url:'/cwbase/webapp/gspqdp/PackPage.html?sysCode=" + sysCode + "&FormID=" + formID + "&dataid=" + dataID + "'})\">合同</div>";//此处就是你根据影像数据形成的Html片段,业务单据数据信息需要从bizData参数中获取
            WriteLog(html, "html");
            return(resultData);
        }
Esempio n. 5
0
 internal QueryResult(QueryResultData resultStruct)
 {
     _resultStruct = resultStruct;
 }