/// <summary>
        /// Applies methodName or aml string.
        /// </summary>
        /// <param name="methodName">Method Name. if empty - applies aml</param>
        /// <param name="aml">Aml string.</param>
        /// <returns>Response Item object.</returns>
        private string _Apply(string methodName, string aml)
        {
            CheckAuthorization();

            Item response = (methodName == null) ? inn.applyAML(aml) : inn.applyMethod(methodName, aml);

            if (response.isError())
            {
                this.ThrowException(response);
            }

            XmlNode resultNode =
                response.dom.DocumentElement.SelectSingleNode("/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name(.)='Result']");

            if (resultNode != null)
            {
                return(resultNode.OuterXml);
            }
            else
            {
                XmlNode bodyNode = response.dom.DocumentElement.SelectSingleNode("/*[local-name()='Envelope']/*[local-name()='Body']");
                if (bodyNode != null)
                {
                    return(bodyNode.InnerXml);
                }
                else
                {
                    return(response.dom.OuterXml);
                }
            }
        }
Beispiel #2
0
        public HttpResponseMessage GetCall(string id)
        {
            //Item req = call.Inn.newItem(call.ItemType, call.Action);
            //req.setProperty("qd_id", id);
            //Item res = req.apply();

            Innovator inn = call.Inn;
            Item      res = inn.applyMethod("RDF Transform Query Execution", "<qd_id>" + id + "</qd_id>");

            if (res.isError())
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, res.getErrorString()));
            }

            string result = res.ToString();

            result = result.Replace("xmlns:SOAP-ENV=\"", "");
            result = result.Replace("http://schemas.xmlsoap.org/soap/envelope/\" ", "");
            result = result.Replace("<SOAP-ENV:Envelope xmlns:i18n=\"http://www.aras.com/I18N\"><SOAP-ENV:Body><Result>", "");
            result = result.Replace("</Result></SOAP-ENV:Body></SOAP-ENV:Envelope>", "");

            result = result.Replace("{\"root\":", "");
            result = result.Substring(0, result.Length - 1);

            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);

            response.Content = new StringContent(result, Encoding.UTF8, "application/json");

            return(response);
        }
        /// <summary>
        /// 获取费用类别根据名称
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static Item GetExpenseCategoryByName(Innovator inn, string b_CostName)
        {
            string strSql     = "select * from innovator.b_ExpenseCategory where b_CostName=N'" + b_CostName + "'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #4
0
        /// <summary>
        /// 查询根据领导
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="b_NodePersonName"></param>
        /// <param name="b_NodeLevel"></param>
        /// <returns></returns>
        public static Item GetOrganizationalStructureByLeader(Innovator inn, string b_NodePersonName, int b_NodeLevel)
        {
            string strSql = "select * from b_OrganizationalStructure where b_NodePersonName=N'" + b_NodePersonName + "' and b_NodeLevel='" + b_NodeLevel + "'";
            var    result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(result);
        }
Beispiel #5
0
        /// <summary>
        /// 删除审核配置表
        /// </summary>
        /// <param name="inn"></param>
        /// <returns></returns>
        public static Item DeleteExpenseAuditConfiguration(Innovator inn)
        {
            string strSql     = "delete innovator.b_ExpenseAuditConfiguration";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #6
0
        /// <summary>
        /// 获取活动根据活动名称
        /// </summary>
        /// <returns></returns>
        public static Item GetActivityByNames(Innovator inn, List <string> names, string ItemId, string tableName, string activityStatus = "Pending")
        {
            if (names == null || names.Count() == 0)
            {
                return(null);
            }
            string whereStr = " where i.KEYED_NAME in (";

            for (int i = 0; i < names.Count(); i++)
            {
                if (i == (names.Count() - 1))
                {
                    whereStr += "'" + names[i] + "'" + ")";
                }
                else
                {
                    whereStr += "'" + names[i] + "'" + ",";
                }
            }
            whereStr += " and g.id='" + ItemId + "' and i.state='" + activityStatus + "'";
            string sqlStr = @"select i.*  from {0} g inner join 
                              innovator.WORKFLOW t on g.id=t.SOURCE_ID inner join 
                              innovator.WORKFLOW_PROCESS y on t.RELATED_ID=y.ID inner join 
                              innovator.WORKFLOW_PROCESS_ACTIVITY u on y.ID=u.SOURCE_ID inner join
                              innovator.ACTIVITY i on u.RELATED_ID=i.ID";

            sqlStr = sqlStr + whereStr;

            sqlStr = string.Format(sqlStr, tableName);

            var activitys = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + sqlStr + "</sqlCommend>");

            return(activitys);
        }
        public static Item GetActivityAssignment(Innovator inn, string source_id)
        {
            string strSql     = "select g.* from ACTIVITY_ASSIGNMENT g inner join [innovator].[IDENTITY] t on g.RELATED_ID=t.id  where g.SOURCE_ID='" + source_id + "' and t.name!='Administrators'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #8
0
        /// <summary>
        /// 获取当前任务的操作权限
        /// </summary>
        /// <param name="activityId"></param>
        /// <returns></returns>
        public static Item GetIdentityByActivityId(Innovator inn, string activityId, bool isClose)
        {
            string strSql     = "select t.* from ACTIVITY_ASSIGNMENT g inner join [innovator].[IDENTITY] t on g.RELATED_ID=t.id  where g.SOURCE_ID='" + activityId + "' and g.CLOSED_BY is null and g.VOTING_WEIGHT>0";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #9
0
        /// <summary>
        /// 获取权限子节点
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="identityId"></param>
        /// <returns></returns>
        public static Item GetChildIdentity(Innovator inn, string identityId)
        {
            string strSql     = "select y.* from [innovator].[IDENTITY] g inner join [innovator].[MEMBER] t on g.id=t.source_id inner join [innovator].[IDENTITY] y on t.related_id=y.id where g.id='" + identityId + "'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #10
0
        /// <summary>
        /// 获取流程状态Select列表
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="workFlowName"></param>
        /// <returns></returns>
        public static Item GetWorkflowStatusList(Innovator inn, string workFlowName)
        {
            string sqlStr = "select y.KEYED_NAME from WORKFLOW_MAP g inner join WORKFLOW_MAP_ACTIVITY t on g.id=t.SOURCE_ID inner join ACTIVITY_TEMPLATE y on t.related_id=y.id where g.KEYED_NAME='" + workFlowName + "' and g.IS_CURRENT=1 order by y.CREATED_ON asc";
            Item   result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + sqlStr + "</sqlCommend>");

            return(result);
        }
Beispiel #11
0
        /// <summary>
        /// 根据条件获取身份
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="keyed_name"></param>
        /// <param name="description"></param>
        /// <returns></returns>
        public static Item GetIdentityByCondition(Innovator inn, string id, string keyed_name)
        {
            string strSql     = "select count(*) as ncount from innovator.[IDENTITY] where keyed_name='" + keyed_name + "' and id!='" + id + "'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #12
0
        /// <summary>
        /// 是否存在项目编号
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="b_ProjectRecordNo"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static bool isExistProjectRecordNo(Innovator inn, string b_ProjectRecordNo, string id)
        {
            string strSql = "select * from innovator.B_PROJECTMANAGE where b_ProjectRecordNo='" + b_ProjectRecordNo + "' and id!='" + id + "'";
            Item   result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(result.getItemCount() > 0 ? true : false);
        }
        /// <summary>
        /// 删除组织结构
        /// </summary>
        public static Item DeleteOrganizationalStructure(Innovator inn)
        {
            string strSql     = "delete innovator.b_OrganizationalStructure";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #14
0
        /// <summary>
        /// 根据节点代码  获取节点
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="b_NodeCode"></param>
        /// <returns></returns>
        public static Item GetOrganizationalStructureByNodeCode(Innovator inn, string b_NodeCode)
        {
            string strSql = "select * from b_OrganizationalStructure where b_NodeCode='" + b_NodeCode + "'";
            var    result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(result);
        }
        public static Item GetActivityAssignmentById(Innovator inn, string id)
        {
            string strSql     = "select * from innovator.ACTIVITY_ASSIGNMENT where id='" + id + "'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #16
0
        /// <summary>
        /// 获取合同单号 获取数据
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="contractNo"></param>
        /// <returns></returns>
        public static Item GetPrManageByContractNo(Innovator inn, string contractNo)
        {
            string strSql = @"select g.*,y.b_Buyer,y.b_PrRecordNo from [innovator].B_PrChoiceSuppliers g inner join [innovator].[B_CHOICESUPPLIERS] t on g.id=t.RELATED_ID 
                            inner join [innovator].B_PRMANAGE y on t.SOURCE_ID=y.id where g.b_PoNo='" + contractNo + "'";
            var    result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(result);
        }
Beispiel #17
0
        /// <summary>
        /// 获取项目管理根据名称
        /// </summary>
        public static bool GetProjectManageByName(Innovator inn, string name, string id)
        {
            string strSql = "select * from innovator.B_PROJECTMANAGE where b_projectname='" + name + "' and id!='" + id + "'";
            Item   result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            //string strAml = "<AML><Item type='B_PROJECTMANAGE' action='get' where='id!=" + id + "'><b_projectname>" + name + "</b_projectname></Item></AML>";
            //var result = inn.applyAML(strAml);
            return(result.getItemCount() > 0 ? true : false);
        }
        /// <summary>
        /// 获取老备注
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static string GetOldRemarkById(Innovator inn, string id)
        {
            string strSql     = "select b_Remark from innovator.b_TripReimbursementForm where id='" + id + "'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            if (!returnItem.isError() && returnItem.getItemCount() > 0)
            {
                return(returnItem.getProperty("b_remark"));
            }
            return("");
        }
        /// <summary>
        /// 生成单据单号
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static string CreateRecordNo(Innovator inn, string id)
        {
            string b_recordno = "";

            if (!string.IsNullOrEmpty(id))
            {
                string sqlStr     = "Declare @IndexNum int Select @IndexNum = isnull(Max(B_INDEXNUM), 0) + 1 from innovator.b_TripReimbursementForm where CREATED_ON &gt;= CONVERT(varchar(10),dateadd(dd,-day(getdate())+1,getdate()),120) and CREATED_ON &lt; CONVERT(CHAR(10),DATEADD(m,1,DATEADD(dd,-DAY(GETDATE())+1,GETDATE())),111) update innovator.b_TripReimbursementForm set b_RecordNo = b_RecordNo + RIGHT('00000' + CAST(@IndexNum as varchar), 5),b_indexnum=@IndexNum where id = '" + id + "'";
                var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + sqlStr + "</sqlCommend>");
                b_recordno = GetRecordNoById(inn, id);
            }
            return(b_recordno);
        }
Beispiel #20
0
        /// <summary>
        /// 根据名称地区,获取角色权限
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="keyed_name"></param>
        /// <param name="description"></param>
        /// <returns></returns>
        public static Item GetIdentityByParam(Innovator inn, string keyed_name, string description)
        {
            string strSql = "select * from innovator.[IDENTITY] where keyed_name=N'" + keyed_name + "'";

            if (!string.IsNullOrEmpty(description))
            {
                strSql += "and innovator.[IDENTITY].[DESCRIPTION]=N'" + description + "'";
            }
            var returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #21
0
        /// <summary>
        /// 根据代码 获取公司名称
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public static string GetCompanyNameByCode(Innovator inn, string code)
        {
            string companyName = "";
            string strSql      = "select b_CompanyName from innovator.b_CompanyInfo where b_CompanyCode=" + code;
            var    result      = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            if (!result.isError() && result.getItemCount() > 0)
            {
                companyName = result.getItemByIndex(0).getProperty("b_companyname");
            }
            return(companyName);
        }
Beispiel #22
0
        /// <summary>
        /// 获取挑选的供应商
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static decimal GetPrContractPrice(Innovator inn, string id)
        {
            decimal contractPrice = 0;
            string  strSql        = "select sum(t.B_CONTRACTPRICE) as CONTRACTPRICE from b_ChoiceSuppliers g inner join B_PrChoiceSuppliers t on g.RELATED_ID=t.id where g.SOURCE_ID='" + id + "'";
            var     result        = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            if (!result.isError())
            {
                contractPrice = decimal.Parse(result.getProperty("contractprice"));
            }
            return(contractPrice);
        }
Beispiel #23
0
        public static bool CheckedContractNoIsExist(Innovator inn, string contractNo, string id)
        {
            string strSql = "select * from B_PrChoiceSuppliers where b_PoNo='" + contractNo + "' and id !='" + id + "'";
            var    result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            if (!result.isError() && result.getItemCount() > 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Beispiel #24
0
        /// <summary>
        /// 获取当前活动
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static Item GetActivityByItemId(Innovator inn, string id, string tableName)
        {
            string sqlStr = @"select i.ID as activityId,o.ID as activityAssignmentId,i.KEYED_NAME from {0} g inner join 
                              innovator.WORKFLOW t on g.id=t.SOURCE_ID inner join 
                              innovator.WORKFLOW_PROCESS y on t.RELATED_ID=y.ID inner join 
                              innovator.WORKFLOW_PROCESS_ACTIVITY u on y.ID=u.SOURCE_ID inner join
                              innovator.ACTIVITY i on u.RELATED_ID=i.ID inner join 
                              innovator.ACTIVITY_ASSIGNMENT o on i.ID=o.SOURCE_ID where i.STATE = 'active' and g.id='" + id + "'";

            sqlStr = string.Format(sqlStr, tableName);
            var returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + sqlStr + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #25
0
        /// <summary>
        /// 是否存在该地区
        /// </summary>
        public static bool isExistRegionByName(Innovator inn, string regionName)
        {
            string strSql     = "select * from innovator.b_region where b_RegionName=N'" + regionName + "'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            if (!returnItem.isError() && returnItem.getItemCount() > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 判断费用类别是否存在
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="b_CostName"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public static bool IsExistExpenseCategory(Innovator inn, string b_CostName, string id)
        {
            string strSql     = "select * from innovator.b_ExpenseCategory where b_CostName=N'" + b_CostName + "' and id!='" + id + "'";
            var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            if (!returnItem.isError() && returnItem.getItemCount() > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #27
0
        /// <summary>
        /// 判断二级中心是否存在
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="nodeName"></param>
        /// <returns></returns>
        public static bool IsExistCentre(Innovator inn, string nodeName)
        {
            string strSql = "select * from b_OrganizationalStructure where b_NodeName=N'" + nodeName + "' and  b_NodeLevel=2";

            var result = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");

            if (!result.isError() && result.getItemCount() > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #28
0
        /// <summary>
        /// 节点审核,根据登录角色权限
        /// </summary>
        /// <param name="inn"></param>
        /// <param name="id"></param>
        /// <param name="tableName"></param>
        /// <param name="roles"></param>
        /// <returns></returns>
        public static Item GetActivityAuditByLoginInfo(Innovator inn, string id, string tableName, List <string> roles, List <string> agentRoles = null)
        {
            List <string> newRoles = new List <string>();

            if (roles != null && roles.Count > 0)
            {
                newRoles.AddRange(roles);
            }
            if (agentRoles != null && agentRoles.Count > 0)
            {
                newRoles.AddRange(agentRoles);
            }


            string sqlStr = @"select i.ID as activityId,o.ID as activityAssignmentId,i.KEYED_NAME from {0} g inner join 
                              innovator.WORKFLOW t on g.id=t.SOURCE_ID inner join 
                              innovator.WORKFLOW_PROCESS y on t.RELATED_ID=y.ID inner join 
                              innovator.WORKFLOW_PROCESS_ACTIVITY u on y.ID=u.SOURCE_ID inner join
                              innovator.ACTIVITY i on u.RELATED_ID=i.ID inner join 
                              innovator.ACTIVITY_ASSIGNMENT o on i.ID=o.SOURCE_ID inner join 
                              innovator.[IDENTITY] p on o.RELATED_ID=p.ID
                              where i.STATE = 'active' and o.CLOSED_BY is null and g.id='" + id + "'";

            if (newRoles != null && newRoles.Count > 0)
            {
                sqlStr += " and p.id in (";
                for (int i = 0; i < newRoles.Count; i++)
                {
                    if (i == newRoles.Count - 1)
                    {
                        sqlStr += "'" + newRoles[i] + "'" + ")";
                    }
                    else
                    {
                        sqlStr += "'" + newRoles[i] + "',";
                    }
                }
            }
            sqlStr = string.Format(sqlStr, tableName);
            var returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + sqlStr + "</sqlCommend>");

            return(returnItem);
        }
Beispiel #29
0
 /// <summary>
 /// 修改报销状态
 /// </summary>
 /// <param name="inn"></param>
 /// <param name="b_IsReimbursement"></param>
 /// <param name="id"></param>
 public static void UpdateBusinessTravelIsReimbursement(Innovator inn, string b_IsReimbursement, string b_BTRecordNo)
 {
     string sqlStr     = "update b_BusinessTravel set b_IsReimbursement='" + b_IsReimbursement + "' where b_documentno='" + b_BTRecordNo + "'";
     var    returnItem = inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + sqlStr + "</sqlCommend>");
 }
        public static void UpdateActivityAssignmentVotingWeight(Innovator inn, string id, int votingWeight)
        {
            string strSql = "update innovator.ACTIVITY_ASSIGNMENT set Voting_Weight='" + votingWeight + "' where id='" + id + "'";

            inn.applyMethod("bcs_RunQuery", "<sqlCommend>" + strSql + "</sqlCommend>");
        }