Esempio n. 1
0
        public string  GetUserList(string keywords, int page, int num)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }

            var sql = @"
                    select a.*,c.Name as POSITIONNAME,b.ROLENAME as LEADERName,d.NAME as DEPARTMENTName   from PRIVS_USER  a
                left join PRIVS_DEPARTMENT d on a.DEPARTMENTID=d.id
                left join PRIVS_LEADER b on a.ID=b.USERID
                left join PRIVS_POSITION c on a.POSITIONID=c.ID  where 1=1 ";
            var sqlstringbuilder = new StringBuilder(sql);

            if (!string.IsNullOrEmpty(keywords))
            {
                sqlstringbuilder.AppendFormat("  and( a.REALNAME   like '%{0}%' or  a.NAME like '%{0}%' or b.ROLENAME like '%{0}%' or d.NAME like '%{0}%' and c.Name LIKE '%{0}%')", keywords);
            }
            sqlstringbuilder.AppendFormat(" order by CJSJ desc");
            var busness   = new CommonBaseBusiness();
            var pageModel = busness.Select(sqlstringbuilder.ToString(), (page - 1) * num, num);

            return(JsonHelper.SerializeObject(pageModel));
        }
        public virtual string SelectByWhere(string cols, string where,
                                            string orderBy, int pageSize, int pageIndex, bool bReturnSum)
        {
            var sqlTemplate = "select {0} from {1}  where 1=1 {2} {3} limit {4},{5}";
            var whereStr    = string.IsNullOrEmpty(where) ? "" : where; //需要加入遗产地的默认条件
            var orderByStr  = string.IsNullOrEmpty(orderBy) ? "" : " order by " + orderBy;

            pageIndex = pageIndex <= 0 ? 1 : pageIndex;
            var limit = (pageIndex - 1) * pageSize;
            var sql   = string.Format(sqlTemplate, string.IsNullOrEmpty(cols) ? "*" :
                                      cols, TableName, whereStr, orderByStr, limit, pageSize);
            var context = DBHelperPool.Instance.GetDbHelper();

            if (context == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            DataTable datatable = context.getDataTableResult(sql);

            if (!bReturnSum)
            {
                return(JsonHelper.SerializeObject(ToolResult.Success(datatable)));
            }
            var sqlSum = $"select count(*) from {GetModelName(TableName)}  where 1=1 {whereStr} {orderByStr}";
            int count  = 0;

            int.TryParse(context.executeScalar(sqlSum).ToString(), out count);
            return(JsonHelper.SerializeObject(ToolResult.Success(new { data = datatable, sum = count })));
        }
        public string GetFuncTree(string funID, string userID)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql =
                $@"select distinct b.NAME,b.ID,b.PID,ARGS from PRIVS_ROLE_FUNCPRIVS a
                    left join PRIVS_FUNCPRIVS b on  a.PRIVSID = b.id where a.roleID in
( select ifnull(RoleID,'-1') from PRIVS_USER_ROLE where UserID='{userID}') and ID is not null order by b.INDEXOFORDER";
            var dt = dbContext.getDataTableResult(sql);

            if (dt == null || dt.Rows.Count == 0)
            {
                return(JsonHelper.SerializeObject(dt));
            }
            var entList = dt.ToEntList <FuncTree>();
            var el      = entList.Where(e => e.ID == funID).ToList();

            foreach (var item in el)
            {
                GetFunC(entList, item);
            }
            return(JsonHelper.SerializeObject(el));
        }
Esempio n. 4
0
        public string VerifyBaseData(string jsonStr, string funId, string heritageId)
        {
            //判断传过来的json是否为空
            if (string.IsNullOrEmpty(jsonStr) || jsonStr.Length < 10)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("传输字符串为空,不能对接!")));
            }
            //funid 找不到 返回错

            return("");
        }
        public virtual string GetDetailByMainID(string mainId)
        {
            string sql     = $"select * from {TableName} where id='{mainId}'";
            var    context = DBHelperPool.Instance.GetDbHelper();

            if (context == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var datatable = context.getDataTableResult(sql);

            return(JsonHelper.SerializeObject(ToolResult.Success(datatable)));
        }
Esempio n. 6
0
        public string GetRoleInfo(string id)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql = $"select * from PRIVS_ROLE where ID = '{id}'";
            var dt  = dbContext.getDataTableResult(sql);

            return(JsonHelper.SerializeObject(dt));
        }
Esempio n. 7
0
        public string CheckLoginName(string name)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql        = $@"SELECT * from PRIVS_USER where NAME= '{name}'";
            var bIsSuccess = (dbContext.getDataTableResult(sql) ?? new DataTable()).Rows.Count > 0;

            return(JsonHelper.SerializeObject(new ResultModel(bIsSuccess, bIsSuccess ? "用户名已经存在!":"可以正常使用!")));
        }
Esempio n. 8
0
        public string GetPositionByDepartment(string departmentId)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql = $"select * from PRIVS_POSITION where DepartmentID='{departmentId}'";
            var dt  = dbContext.getDataTableResult(sql);

            return(JsonHelper.SerializeObject(dt));
        }
        public string GetFuncInfo(string id)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var funlistFunclist = new List <FuncTree>();
            var sql             = $"select * from PRIVS_FUNCPRIVS  where id='{id}'";
            var dt = dbContext.getDataTableResult(sql);

            return(JsonHelper.SerializeObject(dt));
        }
Esempio n. 10
0
        public string LockUser(string id, string isLook)
        {
            var ids       = id.Replace(",", "','");
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql        = $@"update PRIVS_USER set ISLOCKED='{isLook}' where id in ('{ids}')";
            var bIsSuccess = dbContext.execute(sql) >= 0;

            return(JsonHelper.SerializeObject(new ResultModel(bIsSuccess, bIsSuccess ? "操作成功!" : "操作失败!")));
        }
        public virtual string GetDetailByMainID(string mainId, string cols, string keyField = "id")
        {
            string sql =
                $"select {(string.IsNullOrEmpty(cols) ? "*" : cols)} from {TableName} where {keyField}='{mainId}'";
            var context = DBHelperPool.Instance.GetDbHelper();

            if (context == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var datatable = context.getDataTableResult(sql);

            return(JsonHelper.SerializeObject(ToolResult.Success(datatable)));
        }
Esempio n. 12
0
        public virtual string ReceiveData()
        {
            var funModel = FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息")));
            }
            //通过xml配置的表名 找到类的路径 反射成 list类 对象
            var cListType = MethodHelper.GetTypeList(GetModelName(funModel.TableName));              //GCHeritagePlatform.Services.PublicMornitor.Model.HPF_RCXC_RCXCYCJL;
            var entList   = JsonHelper.DeserializeJsonToObject(BusinessJsonStr, cListType) as IList; //遗产地发过来的字符串(json格式)的项与我们在model中建的功能类的属性是一一对应的,这里进行赋值

            var listSqlStr = new List <string>();                                                    //组织SQL 统一插入
            var listYSJID  = new List <string>();                                                    //遗产地数据ID 验证对接
            var context    = DBHelperPool.Instance.GetDbHelper();

            if (context == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            foreach (var item in entList)//因为要将接收过来的数据写到总平台数据库中,所以需要添加ID,以及进行遗产地数据ID进行检查,防止重复插入
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = Guid.NewGuid();
                }
                else
                {
                    nameToValue.Add("ID", Guid.NewGuid());
                }
                var yscid = nameToValue["YCDSJID"].ToString() + "";
                if (!string.IsNullOrEmpty(yscid))
                {
                    listYSJID.Add(yscid);//防止重复对接
                }
                listSqlStr.Add(context.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
            }

            if (!CheckIsDock(listSqlStr, listYSJID, funModel.TableName, context))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据")));
            }
            return(GetExeListSQL(context, listSqlStr));
        }
Esempio n. 13
0
        public string GetRoleEx(string id)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var       sql   = $"select * from PRIVS_ROLE where ID = '{id}'";
            var       dt    = dbContext.getDataTableResult(sql);
            DataTable dtFUN = dbContext.getDataTableResult($@"select a.*,b.NAME  from  PRIVS_ROLE_FUNCPRIVS a
 left join PRIVS_FUNCPRIVS b on a.PRIVSID=b.ID where  a.ROLEID='{id}'");

            return(JsonHelper.SerializeObject(new { Role = dt, Fun = dtFUN }));
        }
Esempio n. 14
0
        public string GetDepartmentInfo(string id)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql =
                $@"select b.Name as PARENTName,a.* from PRIVS_DEPARTMENT a
left join PRIVS_DEPARTMENT b on a.PARENTID=b.ID  where a.ID = '{id}'";
            DataTable dt = dbContext.getDataTableResult(sql);

            return(JsonHelper.SerializeObject(dt));
        }
Esempio n. 15
0
        public virtual string ReceiveFile(byte[] fileInfo, string fileNmae, string businessFunID, string heritageId)
        {
            //遗产地 + 大类+ 功能 +文件
            //var ftpUserID   = System.Configuration.ConfigurationManager.AppSettings["ftpUser"];
            //var ftpPassword = System.Configuration.ConfigurationManager.AppSettings["ftpPassword"];
            SystemLogger.getLogger().Info(DateTime.Now + "访问bug");
            var ftpAddress  = System.Configuration.ConfigurationManager.AppSettings["Address"];
            var rPath       = "";
            var filePath    = CommonBusiness.GetFileTempPath(businessFunID, heritageId, ftpAddress, out rPath);
            var fileNewGuid = Guid.NewGuid().ToString();

            var filePathAll = Path.Combine(filePath, fileNewGuid + "." + fileNmae.GetExtensioName());

            if (!System.IO.Directory.Exists(filePath))
            {
                SystemLogger.getLogger().Info(DateTime.Now + "创建目录");
                System.IO.Directory.CreateDirectory(filePath);
            }
            FileStream fstream = File.Create(filePathAll, fileInfo.Length);

            fstream.Write(fileInfo, 0, fileInfo.Length);   //
            SystemLogger.getLogger().Info(DateTime.Now + "创建目录正常");
            try
            {
                var dbContext = DBHelperPool.Instance.GetDbHelper();
                if (dbContext == null)
                {
                    return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
                }
                var sql = @"INSERT INTO `HPF_TEMP_FILE` (`ID`,`WJMC`,`WJLX`,`WJLJ`)	VALUES ('{0}','{1}','{2}','{3}')";
                SystemLogger.getLogger().Info(DateTime.Now + "访问bug1");
                var iResult = dbContext.execute(string.Format(sql, fileNewGuid, fileNmae, fileNmae.GetExtensioName(), rPath + fileNewGuid + "." + fileNmae.GetExtensioName()));
                SystemLogger.getLogger().Info(DateTime.Now + "访问bug2");
                SystemLogger.getLogger().Info("返回结果:" + iResult);
                return(iResult > 0 ? fileNewGuid : "");
            }
            catch (Exception ex)
            {
                var strErr = string.Format("遗产地对接文件类数据错误,参数:{0}#{1}#{2},具体错误:{3}", fileNmae, businessFunID, heritageId, ex.Message);
                SystemLogger.getLogger().Error(strErr);
            }
            finally
            {
                fstream.Close();
            }
            SystemLogger.getLogger().Info(DateTime.Now + "访问bug4");
            return(fileNewGuid);
        }
Esempio n. 16
0
        public string GetDepartmentTree()
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql     = "select ID,NAME,PARENTID as PID from PRIVS_DEPARTMENT";
            var dt      = dbContext.getDataTableResult(sql);
            var entList = dt.ToEntList <FuncTree>();
            var el      = entList.Where(e => e.PID == null).ToList();

            foreach (var item in el)
            {
                GetFunC(entList, item);
            }
            return(JsonHelper.SerializeObject(el));
        }
Esempio n. 17
0
        public string GetUser(string id)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var       sql    = $@"
                    select a.*,c.Name as POSITIONNAME,b.ROLENAME as LEADERName,d.NAME as DEPARTMENTName   from PRIVS_USER  a
                left join PRIVS_DEPARTMENT d on a.DEPARTMENTID=d.id
                left join PRIVS_LEADER b on a.ID=b.USERID
                left join PRIVS_POSITION c on a.POSITIONID=c.ID  where a.ID = '{id}'";
            DataTable dt     = dbContext.getDataTableResult(sql);
            DataTable dtRole = dbContext.getDataTableResult($@"select a.*,b.Name  from  PRIVS_USER_ROLE  a
left Join PRIVS_ROLE b on a.ROLEID = b.ID
where  a.USERID ='{id}'");

            return(JsonHelper.SerializeObject(new { User = dt, Role = dtRole }));
        }
        public string ExportFuncTree(List <FuncTree> listFuncTree)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var listSql = new List <string>()
            {
                "delete from PRIVS_FUNCPRIVS"
            };
            var sqlTemplate = @"insert into PRIVS_FUNCPRIVS(ID,NAME,PID,DESCRIPTION,INDEXOFORDER,
                ARGS,GROUPNAME,SYSTEMID,CJSJ)values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')";

            SetFuncListSql(listFuncTree, listSql, sqlTemplate);
            var b = dbContext.executeTransactionSQLList(listSql);

            return(JsonHelper.SerializeObject(new ResultModel(b, b?"导入功能树成功":"导入功能树失败")));
        }
Esempio n. 19
0
        public string GetDepartmentList(string keywords, int page, int num)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sqlstringbuilder = new StringBuilder(@"select b.Name as PARENTNANE,a.* from PRIVS_DEPARTMENT a
left join PRIVS_DEPARTMENT b on a.PARENTID=b.ID  where 1=1");

            if (!string.IsNullOrEmpty(keywords))
            {
                sqlstringbuilder.AppendFormat(" and (a.NAME like '%{0}%' or a.ALIASNAME like '%{0}%') ", keywords);
            }

            sqlstringbuilder.AppendFormat(" order by a.CJSJ desc");
            var busness   = new CommonBaseBusiness();
            var pageModel = busness.Select(sqlstringbuilder.ToString(), (page - 1) * num, num);

            return(JsonHelper.SerializeObject(pageModel));
        }
Esempio n. 20
0
        public string GetRoleList(string keyword, int page, int num)
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql = "select * from PRIVS_ROLE where 1=1 ";
            var sqlstringbuilder = new StringBuilder(sql);

            if (!string.IsNullOrEmpty(keyword))
            {
                sqlstringbuilder.AppendFormat(" and (NAME like '%{0}%' or  ALIASNAME like '%{0}%') ", keyword);
            }

            sqlstringbuilder.AppendFormat(" order by  CJSJ desc");
            var busness   = new CommonBaseBusiness();
            var pageModel = busness.Select(sqlstringbuilder.ToString(), (page - 1) * num, num);

            return(JsonHelper.SerializeObject(pageModel));
        }
        public string GetFuncTree()
        {
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var sql = "select ID,NAME,PID,ARGS from PRIVS_FUNCPRIVS order by  INDEXOFORDER";
            var dt  = dbContext.getDataTableResult(sql);

            if (dt == null || dt.Rows.Count == 0)
            {
                return(JsonHelper.SerializeObject(dt));
            }
            var entList = dt.ToEntList <FuncTree>();
            var el      = entList.Where(e => string.IsNullOrEmpty(e.PID)).ToList();

            foreach (var item in el)
            {
                GetFunC(entList, item);
            }
            return(JsonHelper.SerializeObject(el));
        }
Esempio n. 22
0
        public override string ReceiveData()
        {
            var funModel = this.FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息!")));
            }
            var cListType     = MethodHelper.GetTypeList(GetModelName(funModel.TableName), "HPF_KGFJ_KGFJJL_XGWD");
            var ent           = JsonHelper.DeserializeJsonToDynamicObject(BusinessJsonStr, cListType);
            var entData       = ent.DATA as IList;
            var entDataDetail = ent.DATADETAIL as IList;
            var entPathList   = ent.FILEPATHLIST as List <FileInfoEx>;
            //if (entData.Count != entPathList.Count)
            //    return JsonHelper.SerializeObject(new ResultModel(false, "文件个数与记录条数不符!"));//这个地方不能判断,因为无已发表的简报的情况就附件为空。
            var listSql   = new List <string>();
            var listYsjId = new List <string>();
            var kgfjjlid  = new Dictionary <string, string>();
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据库连接异常!")));
            }

            var receiveAllFileInfo = entPathList == null? null : CommonBusiness.GetFileListByFileID(entPathList.Select(e => e.FILEID));

            foreach (var item in entData)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = Guid.NewGuid();
                }
                else
                {
                    nameToValue.Add("ID", Guid.NewGuid());
                }
                var ysjid = nameToValue["YCDSJID"] + "";
                kgfjjlid.Add(ysjid, nameToValue["ID"] + "");
                listYsjId.Add(ysjid);
                listSql.Add(dbContext.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
            }
            if (entDataDetail != null)
            {
                foreach (var item in entDataDetail)
                {
                    var nameToValue = item.GetNameToValueDic();
                    if (nameToValue.ContainsKey("GLYCBTID"))
                    {
                        nameToValue["GLYCBTID"] = HeritageId;
                    }
                    if (nameToValue.ContainsKey("ID"))
                    {
                        nameToValue["ID"] = Guid.NewGuid();
                    }
                    else
                    {
                        nameToValue.Add("ID", Guid.NewGuid());
                    }
                    if (nameToValue.ContainsKey("FJJLID"))
                    {
                        nameToValue["FJJLID"] = kgfjjlid["FJJLID"];
                    }
                    else
                    {
                        nameToValue.Add("FJJLID", kgfjjlid["FJJLID"]);
                    }
                    var ysjid = nameToValue["YCDSJID"] + "";
                    if (string.IsNullOrEmpty(ysjid))
                    {
                        return(JsonHelper.SerializeObject(new ResultModel(false, "YCDSJID不能为空!")));
                    }
                    var fileIds      = entPathList.Where(e => e.YCDSJID == ysjid).Select(e => e.FILEID).ToList();
                    var filePathList = receiveAllFileInfo.Where(e => fileIds.Contains(e.FILEID)).ToList();
                    var file         = entPathList.FirstOrDefault(e => e.YCDSJID == ysjid);
                    if (file != null)
                    {
                        var filePath = receiveAllFileInfo.FirstOrDefault(e => e.FILEID == file.FILEID);
                        if (filePath != null)
                        {
                            nameToValue["WDMC"] = filePath.FILENAME;
                            nameToValue["WDLX"] = filePath.FILETYPE;
                            nameToValue["LJ"]   = filePath.RELATIVEPATH;
                        }
                    }
                    listSql.Add(dbContext.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
                }
            }
            if (!CheckIsDock(listSql, listYsjId, funModel.TableName, dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据")));
            }
            return(GetExeListSQL(dbContext, listSql));
        }
        public override string ReceiveData()
        {
            var dockBTYZTBHStructInitClass = GetTableName(FunId);
            //根据传入两个表名来获取对应的数据结构模型的类型
            var eType = MethodHelper.GetTypeList(dockBTYZTBHStructInitClass.MainTableName, dockBTYZTBHStructInitClass.SubordinateTableName);
            //将Json串按指定的类型进行反序列化为dynamic实体对象
            var ent = JsonHelper.DeserializeJsonToDynamicObject(this.BusinessJsonStr, eType);


            var entBHList   = ent.DATA as IList;
            var entBHJLList = ent.DATADETAIL as IList;
            var entPathList = ent.FILEPATHLIST as List <FileInfoEx>;
            var listSqlStr  = new List <string>();
            var listYSJID   = new List <string>();

            var dicOldToNew = new Dictionary <string, Guid>();
            var dbContext   = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            //主表
            foreach (var item in entBHList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (!nameToValue.ContainsKey("YCDSJID"))
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "元数据ID不存在,对接失败!")));
                }
                if (nameToValue.ContainsKey("BHBH"))
                {
                    string newBHBH;
                    //代码限定,要求对方传来的病害编号是编号ID,而不是具体的编号内容,并且该ID必须是病害调查监测工作情况记录表中的主键
                    var bIsExistBHBH = GetBHBHByOldDataID(dbContext, nameToValue["BHBH"] + "", out newBHBH);
                    if (!bIsExistBHBH)
                    {
                        return(JsonHelper.SerializeObject(new ResultModel(false, "请先对接病害的工作监测记录!")));
                    }
                    nameToValue["BHBH"] = newBHBH;
                }
                var ysjid = nameToValue["YCDSJID"] + "";//元数据ID
                var guid  = Guid.NewGuid();
                //这里保存的是LF的ID
                dicOldToNew.Add(ysjid, guid);
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {//把ID字段赋一个guid
                    nameToValue["ID"] = guid;
                }
                else
                {//没有的增加
                    nameToValue.Add("ID", guid);
                }

                if (!string.IsNullOrEmpty(ysjid)) //有可能对接过来就是 统计过得数据 例如景点日游客量
                {
                    listYSJID.Add(ysjid);         //防止重复对接
                }
                listSqlStr.Add(dbContext.insertByParamsReturnSQL(dockBTYZTBHStructInitClass.MainTableName, nameToValue));
            }
            //明细
            var dicFileRelatedID = new Dictionary <string, Guid>();

            foreach (var item in entBHJLList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (!nameToValue.ContainsKey("YCDSJID"))
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "元数据ID不存在,对接失败!")));
                }
                //将裂缝记录中的老外键ID记录下来,保存的裂缝中的ycdsjid
                var lfid = nameToValue[dockBTYZTBHStructInitClass.RelatedID] + "";
                var guid = Guid.NewGuid();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = guid;
                }
                else
                {
                    nameToValue.Add("ID", guid);
                }
                //将裂缝的ID值赋给裂缝记录表中的裂缝ID字段
                nameToValue[dockBTYZTBHStructInitClass.RelatedID] = dicOldToNew[lfid];
                var ysjid = nameToValue["YCDSJID"] + "";
                //这里保存的是裂缝JL的ID
                dicFileRelatedID.Add(ysjid, guid);
                listSqlStr.Add(dbContext.insertByParamsReturnSQL(dockBTYZTBHStructInitClass.SubordinateTableName, nameToValue));
            }

            //附件
            if (entPathList != null && entPathList.Count > 0)
            {
                var fileIds      = entPathList.Select(e => e.FILEID).ToList();
                var fileInfoList = CommonBusiness.GetFileListByFileID(fileIds);
                if (fileInfoList == null || fileInfoList.Count != fileIds.Count)
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "文件信息不对应")));
                }
                foreach (var item in fileInfoList)
                {
                    var entFile = entPathList.FirstOrDefault(e => e.FILEID == item.FILEID);

                    //public string sqlInsertTP = "insert into {0} (ID,MC,TPLJ,{1},TPGS,YCDSJID,RKSJ)values ('{2}','{3}','{4}','{5}','{6}','{7}','{8}')";
                    var sql = string.Format(this.sqlInsertTP, dockBTYZTBHStructInitClass.RelatedZPTableName, dockBTYZTBHStructInitClass.RelatedJLID, Guid.NewGuid(), item.FILENAME, item.RELATIVEPATH, dicFileRelatedID[entFile.YCDSJID], item.FILETYPE, entFile.YCDSJID, DateTime.Now.ToString());
                    ///JLID
                    listSqlStr.Add(sql);
                }
            }
            if (!CheckIsDock(listSqlStr, listYSJID, dockBTYZTBHStructInitClass.MainTableName, dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据")));
            }
            return(GetExeListSQL(dbContext, listSqlStr));
        }
Esempio n. 24
0
        public override string ReceiveData()
        {
            var funModel = this.FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息")));
            }
            //通过xml配置的表名 找到类的路径 反射成 list类 对象
            var cListType = MethodHelper.GetTypeList(GetModelName(funModel.TableName));              //GCHeritagePlatform.Services.PublicMornitor.Model.HPF_RCXC_RCXCYCJL;
            var entList   = JsonHelper.DeserializeJsonToObject(BusinessJsonStr, cListType) as IList; //遗产地发过来的字符串(json格式)的项与我们在model中建的功能类的属性是一一对应的,这里进行赋值
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var listSqlStr      = new List <string>();
            var listInsertCount = new Dictionary <string, string>();

            foreach (var item in entList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = Guid.NewGuid();
                }
                else
                {
                    nameToValue.Add("ID", Guid.NewGuid());
                }
                var strSql = string.Format("select ID from {0} where GLYCBTID='{1}' and BHBH='{2}' ", ClassName, HeritageId, nameToValue[RelatedID]);
                var dtMain = dbContext.getDataTableResult(strSql);
                if (dtMain == null || dtMain.Rows.Count == 0)
                {
                    var bhid     = Guid.NewGuid();
                    var strBHSql = string.Format("insert into  {4} (ID,YCDSJID,BHBH,GLYCBTID,RKSJ) values('{0}','{1}','{2}','{3}','{5}')", bhid, Guid.NewGuid(), nameToValue[RelatedID], HeritageId, this.ClassName, System.DateTime.Now);
                    if (!listInsertCount.ContainsKey(nameToValue[RelatedID] + ""))
                    {
                        listInsertCount.Add(nameToValue[RelatedID] + "", bhid.ToString());
                        listSqlStr.Add(strBHSql);
                    }
                    nameToValue[RelatedID] = listInsertCount[nameToValue[RelatedID].ToString()];
                }
                else
                {
                    nameToValue[RelatedID] = dtMain.Rows[0][0].ToString();
                }
                listSqlStr.Add(dbContext.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
            }

            if (!CheckIsDock(listSqlStr, listSqlStr, ClassName, dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据")));
            }
            return(GetExeListSQL(dbContext, listSqlStr));
        }
Esempio n. 25
0
        public override string ReceiveData()
        {
            var dockSYCNStructInitClass = GetTableName(FunId);
            var eType = MethodHelper.GetTypeListL(dockSYCNStructInitClass.MainTableName, dockSYCNStructInitClass.SubordinateTableName, dockSYCNStructInitClass.WDTableName);
            //将Json串按指定的类型进行反序列化为dynamic实体对象
            var ent           = JsonHelper.DeserializeJsonToDynamicObject(this.BusinessJsonStr, eType);
            var entCNSXList   = ent.DATA as IList;          //CNSX
            var entCNSXJZList = ent.DATADETAIL as IList;    //CNSXJZ
            var entCNSXWDList = ent.DATADETAILSON as IList; //WD
            var entPathList   = ent.FILEPATHLIST as List <FileInfoEx>;
            var listSqlStr    = new List <string>();
            var listYSJID     = new List <string>();


            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var dicOldToNew   = SetSYCNDic(dbContext);           //CNSXJZ-CNSX
            var dicWDOldToNew = new Dictionary <string, Guid>(); //WD-CNSXJZ

            //主表
            foreach (var item in entCNSXList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (!nameToValue.ContainsKey("YCDSJID"))
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "元数据ID不存在,对接失败!")));
                }
                var ysjid = nameToValue["YCDSJID"] + "";//元数据ID
                var guid  = Guid.NewGuid();
                if (!dicOldToNew.ContainsKey(ysjid))
                {
                    dicOldToNew.Add(ysjid, guid);
                    if (nameToValue.ContainsKey("GLYCBTID"))
                    {
                        nameToValue["GLYCBTID"] = HeritageId;
                    }
                    if (nameToValue.ContainsKey("ID"))
                    {//把ID字段赋一个guid
                        nameToValue["ID"] = guid;
                    }
                    else
                    {//没有的增加
                        nameToValue.Add("ID", guid);
                    }

                    if (!string.IsNullOrEmpty(ysjid))
                    {
                        listYSJID.Add(ysjid);//防止重复对接
                    }
                    listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_SYCN_CNSX", nameToValue));
                }
            }

            //明细
            var dicFileRelatedID = new Dictionary <string, Guid>();

            foreach (var item in entCNSXJZList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (!nameToValue.ContainsKey("YCDSJID"))
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "元数据ID不存在,对接失败!")));
                }
                var ysjid = nameToValue["YCDSJID"] + "";
                var guid  = Guid.NewGuid();
                dicWDOldToNew.Add(ysjid, guid);
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = guid;
                }
                else
                {
                    nameToValue.Add("ID", guid);
                }

                nameToValue["CNSXID"] = dicOldToNew[ysjid];
                dicFileRelatedID.Add(ysjid, guid);
                listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_SYCN_CNSXJZ", nameToValue));
            }
            //文档
            var fileIds      = entPathList.Select(e => e.FILEID).ToList();
            var fileInfoList = CommonBusiness.GetFileListByFileID(fileIds);

            if (fileInfoList != null && fileIds.Count != fileInfoList.Count)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "文件信息在服务器中找不到,对接失败!")));
            }
            foreach (var item in entCNSXWDList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (!nameToValue.ContainsKey("YCDSJID"))
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "元数据ID不存在,对接失败!")));
                }
                var ysjid = nameToValue["YCDSJID"] + "";
                var guid  = Guid.NewGuid();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = guid;
                }
                else
                {
                    nameToValue.Add("ID", guid);
                }
                if (entPathList.Count > 0)
                {
                    var firstOrDefault = entPathList.FirstOrDefault(e => e.YCDSJID == ysjid);
                    if (firstOrDefault != null)
                    {
                        var fileID   = firstOrDefault.FILEID;
                        var fileInfo = fileInfoList.FirstOrDefault(e => e.FILEID == fileID);
                        nameToValue["WDLJ"] = fileInfo.RELATIVEPATH;
                    }
                    nameToValue["CNSXJZID"] = dicWDOldToNew[ysjid];
                    listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_SYCN_CNSXJZXGWD", nameToValue));
                }
            }


            if (!CheckIsDock(listSqlStr, listYSJID, "HPF_SYCN_CNSX", dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据")));
            }
            var bIsResult = dbContext.executeTransactionSQLList(listSqlStr);

            return(JsonHelper.SerializeObject(new ResultModel(bIsResult, bIsResult ? "对接成功" : "对接失败")));
        }
Esempio n. 26
0
        public override string ReceiveData()
        {
            var ent      = JsonHelper.DeserializeJsonToObject <ResultBHGCDockModel>(BusinessJsonStr);
            var funModel = this.FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息")));
            }
            var listSqlStr = new List <string>();
            var listYSJID  = new List <string>();
            var dbContext  = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }

            var dicMainOld2New = new Dictionary <string, Guid>();

            foreach (var item in ent.DATA)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                var guid = Guid.NewGuid();
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = guid;
                }
                else
                {
                    nameToValue.Add("ID", guid);
                }
                var yscid = nameToValue["YCDSJID"] + "";
                listYSJID.Add(yscid);
                dicMainOld2New.Add(yscid, guid);
                listSqlStr.Add(dbContext.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
            }
            var filePathList = ent.FILEPATHLIST;

            if (ent.DATADETAIL != null)
            {
                foreach (var item in ent.DATADETAIL)
                {
                    var nameToValue = item.GetNameToValueDic();
                    if (nameToValue.ContainsKey("GLYCBTID"))
                    {
                        nameToValue["GLYCBTID"] = HeritageId;
                    }
                    if (nameToValue.ContainsKey("ID"))
                    {
                        nameToValue["ID"] = Guid.NewGuid();
                    }
                    else
                    {
                        nameToValue.Add("ID", Guid.NewGuid());
                    }
                    //如果有改变PID的属性信息
                    nameToValue["GCXMID"] = dicMainOld2New[nameToValue["GCXMID"] + ""];
                    if (filePathList != null && filePathList.Count > 0)
                    {//如果有项目范围图的,具有图纸的文件,则对接图纸,如果使用的超擎的矢量图,则不对接。
                        var fileInfoList = CommonBusiness.GetFileListByFileID(filePathList.Select(e => e.FILEID));
                        foreach (var DtailSon in ent.FILEPATHLIST)
                        {
                            var        ycdsjid         = nameToValue["YCDSJID"] + "";
                            var        fileId          = filePathList.FirstOrDefault(e => e.YCDSJID == ycdsjid);
                            FileInfoEx ReceiveFileInfo = fileInfoList.FirstOrDefault(e => e.FILEID == fileId.FILEID);
                            nameToValue["TZMC"] = ReceiveFileInfo.FILENAME;
                            nameToValue["LJ"]   = ReceiveFileInfo.RELATIVEPATH;
                            nameToValue["TZGS"] = ReceiveFileInfo.FILETYPE;
                        }
                    }
                    listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_BHGC_BHZSHHJZZGC_XMFWT", nameToValue));
                }
            }

            //if (filePathList != null && filePathList.Count > 0)
            //{//文档上传失败 不对接文档
            //    var fileInfoList = CommonBusiness.GetFileListByFileID(filePathList.Select(e => e.FILEID));
            //    foreach (var item in ent.DataDetailSon)
            //    {
            //        var nameToValue = item.GetNameToValueDic();
            //        if (nameToValue.ContainsKey("GLYCBTID"))
            //        {
            //            nameToValue["GLYCBTID"] = this.HeritageId;
            //        }
            //        if (nameToValue.ContainsKey("ID"))
            //        {
            //            nameToValue["ID"] = Guid.NewGuid();
            //        }
            //        else
            //        {
            //            nameToValue.Add("ID", Guid.NewGuid());
            //        }
            //        nameToValue["GCXMID"] = dicMainOld2New[nameToValue["GCXMID"] + ""];
            //        var ycdsjid = nameToValue["YCDSJID"] + "";
            //        var fileID = filePathList.FirstOrDefault(e => e.YCDSJID == ycdsjid);
            //        FileInfoEx ReceiveFileInfo = fileInfoList.FirstOrDefault(e => e.FILEID == fileID.FILEID);
            //        if (nameToValue.ContainsKey("TPMC"))
            //        {
            //            nameToValue["TPMC"] = ReceiveFileInfo.FILENAME;
            //        }
            //        else
            //        {
            //            nameToValue.Add("TPMC", ReceiveFileInfo.FILENAME);
            //        }
            //        if (nameToValue.ContainsKey("TPLJ"))
            //        {
            //            nameToValue["TPLJ"] = ReceiveFileInfo.RELATIVEPATH;
            //        }
            //        else
            //        {
            //            nameToValue.Add("TPLJ", ReceiveFileInfo.RELATIVEPATH);
            //        }
            //        if (nameToValue.ContainsKey("TPLX"))
            //        {
            //            nameToValue["TPLX"] = ReceiveFileInfo.FILETYPE;
            //        }
            //        else
            //        {
            //            nameToValue.Add("TPLX", ReceiveFileInfo.FILETYPE);
            //        }
            //        listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_BHGC_XGWD", nameToValue));
            //    }
            //}
            if (!CheckIsDock(listSqlStr, listYSJID, funModel.TableName, dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据")));
            }
            return(GetExeListSQL(dbContext, listSqlStr));
        }
        public override string ReceiveData()
        {
            var funModel = FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息")));
            }
            var CListType     = MethodHelper.GetTypeList("HPF_BTYZTBH_TYJL", "HPF_BTYZTBH_TYSJ");
            var ent           = JsonHelper.DeserializeJsonToDynamicObject(BusinessJsonStr, CListType);
            var entList       = ent.DATA as IList;
            var entDetailList = ent.DATADETAIL as IList;
            var dbContext     = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据库连接异常!")));
            }
            var listSqlStr    = new List <string>();
            var listYsjId     = new List <string>();
            var listDicOldNew = new Dictionary <string, Guid>();

            foreach (var item in entList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                var guid = Guid.NewGuid();
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = guid;
                }
                else
                {
                    nameToValue.Add("ID", guid);
                }
                var rksj = System.DateTime.Now;
                if (nameToValue.ContainsKey("RKSJ"))
                {
                    nameToValue["RKSJ"] = rksj;
                }
                else
                {
                    nameToValue.Add("RKSJ", rksj);
                }
                var ysjid = nameToValue["YCDSJID"] + "";
                if (!string.IsNullOrEmpty(ysjid))
                {
                    listYsjId.Add(ysjid);
                }
                listDicOldNew.Add(ysjid, guid);
                listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_BTYZTBH_TYJL", nameToValue));
            }
            foreach (var item in entDetailList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = Guid.NewGuid();
                }
                else
                {
                    nameToValue.Add("ID", Guid.NewGuid());
                }
                var rksj = System.DateTime.Now;
                if (nameToValue.ContainsKey("RKSJ"))
                {
                    nameToValue["RKSJ"] = rksj;
                }
                else
                {
                    nameToValue.Add("RKSJ", rksj);
                }
                var bhjlid = nameToValue["BHJLID"] + "";
                nameToValue["BHJLID"] = listDicOldNew[bhjlid];
                listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_BTYZTBH_TYSJ", nameToValue));
            }
            if (!CheckIsDock(listSqlStr, listYsjId, "HPF_BTYZTBH_TYJL", dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据!")));
            }
            return(GetExeListSQL(dbContext, listSqlStr));
        }
        public override string ReceiveData()
        {
            var funModel = FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息")));
            }
            var CListType = MethodHelper.GetTypeList(GetModelName(funModel.TableName));
            var entList   = JsonHelper.DeserializeJsonToObject(BusinessJsonStr, CListType) as IList;
            var dbContext = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据库连接异常!")));
            }
            var listSqlStr = new List <string>();
            var listYsjId  = new List <string>();

            foreach (var item in entList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = Guid.NewGuid();
                }
                else
                {
                    nameToValue.Add("ID", Guid.NewGuid());
                }
                var rksj = System.DateTime.Now;
                if (nameToValue.ContainsKey("RKSJ"))
                {
                    nameToValue["RKSJ"] = rksj;
                }
                else
                {
                    nameToValue.Add("RKSJ", rksj);
                }
                var ysjid = nameToValue["YCDSJID"] + "";
                if (!string.IsNullOrEmpty(ysjid))
                {
                    listYsjId.Add(ysjid);
                }
                string newBhdcjlId;
                var    bIsExistBhjcjlId = GetBhdcjlId(dbContext, nameToValue["BHDCJLID"] + "", nameToValue["BHBH"] + "", out newBhdcjlId);
                if (!bIsExistBhjcjlId)
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "请先对接病害的工作监测记录")));
                }
                nameToValue["BHDCJLID"] = newBhdcjlId;
                listSqlStr.Add(dbContext.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
            }
            if (!CheckIsDock(listSqlStr, listYsjId, funModel.TableName, dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据!")));
            }
            return(GetExeListSQL(dbContext, listSqlStr));
        }
        public override string ReceiveData()
        {
            var funModel = FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息")));
            }
            var cListType   = MethodHelper.GetTypeListFileEx(GetModelName(funModel.TableName));
            var ent         = JsonHelper.DeserializeJsonToDynamicObject(BusinessJsonStr, cListType);
            var entDataList = ent.DATA as IList;
            var entPathList = ent.FILEPATHLIST as List <FileInfoEx>;
            var listSqlStr  = new List <string>();
            var listYsjId   = new List <string>();
            var dbContext   = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据库连接异常!")));
            }
            var receiveAllFileInfo = CommonBusiness.GetFileListByFileID(entPathList.Select(e => e.FILEID));

            if (receiveAllFileInfo.Count != entPathList.Count)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "取得的文件与上传文件个数不匹配!")));
            }
            foreach (var item in entDataList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = Guid.NewGuid();
                }
                else
                {
                    nameToValue.Add("ID", Guid.NewGuid());
                }
                var rksj = System.DateTime.Now;
                if (nameToValue.ContainsKey("RKSJ"))
                {
                    nameToValue["RKSJ"] = rksj;
                }
                else
                {
                    nameToValue.Add("RKSJ", rksj);
                }
                var ysjid = nameToValue["YCDSJID"] + "";
                if (!string.IsNullOrEmpty(ysjid))
                {
                    listYsjId.Add(ysjid);
                }
                var fileIDs          = entPathList.Where(e => e.YCDSJID == ysjid).Select(e => e.FILEID).ToList();
                var filePathList     = receiveAllFileInfo.Where(e => fileIDs.Contains(e.FILEID)).ToList();
                var newBhdcjlId      = "";
                var bIsExistBhjcjlId = GetBhdcjlId(dbContext, nameToValue["BHDCJLID"].ToString(), nameToValue["BHBH"].ToString(), out newBhdcjlId);
                if (!bIsExistBhjcjlId)
                {
                    return(JsonHelper.SerializeObject(new ResultModel(false, "请先对接病害的工作监测记录!")));
                }
                nameToValue["BHDCJLID"] = newBhdcjlId;

                var file = entPathList.Where(e => e.YCDSJID == ysjid).FirstOrDefault();
                //下面的代码表示,如果没有相应的附件的时候,可以只插入记录
                if (file != null)
                {
                    var filepath = receiveAllFileInfo.FirstOrDefault(e => e.FILEID == file.FILEID);
                    if (filepath != null)
                    {
                        nameToValue["TPLJ"] = filepath.RELATIVEPATH;
                        nameToValue["TPMC"] = filepath.FILENAME;
                        nameToValue["TPGS"] = filepath.FILETYPE;
                    }
                }

                listSqlStr.Add(dbContext.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
            }
            if (!CheckIsDock(listSqlStr, listYsjId, funModel.TableName, dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据!")));
            }
            return(GetExeListSQL(dbContext, listSqlStr));
        }
Esempio n. 30
0
        public override string ReceiveData()
        {
            var funModel = this.FindFunModel(HeritageId, FunId);

            if (funModel == null)
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "找不到该功能对应的配置信息")));
            }
            //根据传入两个表名来获取对应的数据结构模型的类型
            var eType = MethodHelper.GetTypeList(funModel.TableName, "HPF_LYYYKGL_LYJD");
            //将Json串按指定的类型进行反序列化为dynamic实体对象
            var ent = JsonHelper.DeserializeJsonToDynamicObject(BusinessJsonStr, eType);


            var entJDMXList = ent.DATA as IList;
            var entJDLList  = ent.DATADETAIL as IList;//var entList = JsonHelper.DeserializeJsonToObject<List<HPF_ZRHJ_TFLJXX>>(jsonStr) ;
            var dbContext   = DBHelperPool.Instance.GetDbHelper();

            if (dbContext == null)
            {
                return(JsonHelper.SerializeObject(ToolResult.Failure("数据连接异常!")));
            }
            var listSqlStr = new List <string>();
            var entJDDic   = new Dictionary <string, string>();
            var entExistJD = this.GetHeritageLYJD(dbContext);
            var listYSJID  = new List <string>();

            foreach (var item in entJDLList)
            {
                var nameToValue = item.GetNameToValueDic();
                var ycdsjid     = nameToValue["YCDSJID"] + "";
                var entJD       = entExistJD.FirstOrDefault(e => e.YCDSJID == ycdsjid);
                if (entJD != null)
                {
                    continue;
                }

                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }
                var oldJDId = nameToValue["YCDSJID"];
                var id      = Guid.NewGuid().ToString();
                nameToValue["ID"] = id;
                entJDDic.Add(ycdsjid, id);
                //如果有改变PID的属性信息
                listSqlStr.Add(dbContext.insertByParamsReturnSQL("HPF_LYYYKGL_LYJD", nameToValue));
            }

            foreach (var item in entJDMXList)
            {
                var nameToValue = item.GetNameToValueDic();
                if (nameToValue.ContainsKey("GLYCBTID"))
                {
                    nameToValue["GLYCBTID"] = HeritageId;
                }


                if (nameToValue.ContainsKey("ID"))
                {
                    nameToValue["ID"] = Guid.NewGuid();
                }
                else
                {
                    nameToValue.Add("ID", Guid.NewGuid());
                }
                var yscid = nameToValue["YCDSJID"].ToString() + "";
                if (!string.IsNullOrEmpty(yscid)) //有可能对接过来就是 统计过得数据 例如景点日游客量
                {
                    listYSJID.Add(yscid);         //防止重复对接
                }

                var lyjdid = nameToValue["LYJDID"] + "";
                if (entJDDic.ContainsKey(lyjdid))
                {
                    nameToValue["LYJDID"] = entJDDic[lyjdid];
                }
                else
                {
                    var entJD = entExistJD.FirstOrDefault(e => e.YCDSJID == lyjdid && e.GLYCBTID == HeritageId);
                    if (entJD == null)
                    {
                        return(JsonHelper.SerializeObject(new ResultModel(false, "对接基础数据景点信息错误!")));
                    }
                    nameToValue["LYJDID"] = entJD.ID;
                }
                listSqlStr.Add(dbContext.insertByParamsReturnSQL(GetModelName(funModel.TableName), nameToValue));
            }
            if (!CheckIsDock(listSqlStr, listYSJID, ClassName, dbContext))
            {
                return(JsonHelper.SerializeObject(new ResultModel(false, "已经存在对接的数据")));
            }
            return(GetExeListSQL(dbContext, listSqlStr));
        }