Ejemplo n.º 1
0
        public BaseResult UpdateInstance_Structure(T_INSTANCE_DOCUMENT info)
        {
            BaseResult br = new BaseResult()
            {
                Succeeded = true, Errors = new List <string>()
            };

            using (BaseDB dbHelper = new OmpdDBHelper())
            {
                try
                {
                    Dictionary <string, object> dic = BaseDB.EntityToDictionary(info);
                    if (info.INSTANCE_DOCUMENT_ID > 0)
                    {
                        dbHelper.ExecuteNonQueryProc("pkg_redas_instance_document.sp_instance_modifyStructure", dic);
                        br.ResultId = info.INSTANCE_DOCUMENT_ID;
                    }
                }
                catch (Exception ex)
                {
                    br.Succeeded = false;
                    br.Errors.Add("修改不成功");
                    throw;
                }
                return(br);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 往实例文档表中添加数据
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        //public BaseResult AddInstance_Document(T_INSTANCE_DOCUMENT info, enum_DocumentType t)
        //{
        //    BaseResult br = new BaseResult() { Succeeded = true, Errors = new List<string>() };
        //    using (BaseDB dbHelper = new OmpdDBHelper())
        //    {
        //        try
        //        {
        //            Dictionary<string, object> dic = BaseDB.EntityToDictionary(info);
        //            if (info.INSTANCE_DOCUMENT_ID > 0)
        //            {
        //                dbHelper.ExecuteNonQueryProc("pkg_redas_instance_document.sp_instance_document_modify", dic);
        //                br.ResultId = info.INSTANCE_DOCUMENT_ID;
        //            }
        //            else
        //            {

        //                dbHelper.ExecuteNonQueryProc("pkg_redas_instance_document.sp_instance_document_add", dic);
        //                decimal id = Convert.ToDecimal(dic["O_INSTANCE_DOCUMENT_ID"]);
        //                br.ResultId = id;
        //                //更改项目的实例ID
        //                if (info.Project_ID > 0)
        //                {
        //                    UpdateProjectInstanceDocumentID(info.Project_ID, id, t);
        //                }
        //                if (info.Object_ID > 0)
        //                {
        //                    UpdateObjectInstanceDocumentID(info.Object_ID, id, t);
        //                }
        //            }
        //        }
        //        catch (Exception ex)
        //        {
        //            br.Succeeded = false;
        //            br.Errors.Add("添加不成功");
        //            throw;
        //        }
        //        return br;
        //    }
        //}
        /// <summary>
        ///
        /// </summary>
        /// <param name="info"></param>
        /// <param name="t">1:预估函 2:报告</param>
        /// <param name="isSingleObject">是否是单标的物</param>
        /// <param name="isDownLoadSort">是否是多标的物下载操作</param>
        /// <returns></returns>
        public BaseResult AddInstance_Document(T_INSTANCE_DOCUMENT info, EntrustItem t, bool isSingleObject, bool isDownLoadSort)
        {
            BaseResult br = new BaseResult()
            {
                Succeeded = true, Errors = new List <string>()
            };

            using (BaseDB dbHelper = new OmpdDBHelper())
            {
                try
                {
                    Dictionary <string, object> dic = BaseDB.EntityToDictionary(info);
                    if (info.INSTANCE_DOCUMENT_ID > 0)
                    {
                        dbHelper.ExecuteNonQueryProc("pkg_redas_instance_document.sp_instance_document_modify", dic);
                        br.ResultId = info.INSTANCE_DOCUMENT_ID;
                    }
                    else
                    {
                        dbHelper.ExecuteNonQueryProc("pkg_redas_instance_document.sp_instance_document_add", dic);
                        decimal id = Convert.ToDecimal(dic["O_INSTANCE_DOCUMENT_ID"]);
                        br.ResultId = id;
                        //更改项目的实例ID 多标的物的实例保存  只要更新object表InstanceID,多标的物的下载保存  需要更新projectID
                        if (!isSingleObject)
                        {                            //UpdateProjectInstanceDocumentID(info.Project_ID, id, t);
                            if (isDownLoadSort)
                            {
                                UpdateInstanceDocumentID(0, info.Project_ID, id, t);
                            }
                            else
                            {
                                UpdateInstanceDocumentID(info.Object_ID, 0, id, t);
                            }
                        }
                        else  //单标的物的预估函即要更新object表InstanceID 也要更新project表的InstanceID
                        {
                            //更改object表
                            UpdateInstanceDocumentID(info.Object_ID, 0, id, t);
                            //更改project表
                            UpdateInstanceDocumentID(0, info.Project_ID, id, t);
                        }
                    }
                }
                catch (Exception ex)
                {
                    br.Succeeded = false;
                    br.Errors.Add("添加不成功");
                    throw;
                }
                return(br);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 根据文档实例ID获得实例信息
        /// </summary>
        /// <param name="objectId"></param>
        /// <param name="templateType"></param>
        /// <returns></returns>
        public T_INSTANCE_DOCUMENT GetInstanceDocumentGetById(decimal instanceDocumentID)
        {
            T_INSTANCE_DOCUMENT result = null;

            using (BaseDB dbHelper = new OmpdDBHelper())
            {
                try
                {
                    Dictionary <string, object> dic = new Dictionary <string, object>();
                    dic.Add("I_INSTANCE_DOCUMENT_ID", instanceDocumentID);
                    List <T_INSTANCE_DOCUMENT> lst = dbHelper.ExecuteListProc <T_INSTANCE_DOCUMENT>("pkg_redas_build_doc.sp_instance_document_get", dic);
                    result = lst[0];
                }
                catch
                {
                }
            }
            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 根据估价对象ID获得实例信息
        /// </summary>
        /// <param name="objectId"></param>
        /// <param name="templateType"></param>
        /// <returns></returns>
        public T_INSTANCE_DOCUMENT GetInstanceDocumentGetByObject(decimal objectId, EntrustItem businessType)
        {
            T_INSTANCE_DOCUMENT result = null;

            using (BaseDB dbHelper = new OmpdDBHelper())
            {
                try
                {
                    Dictionary <string, object> dic = new Dictionary <string, object>();
                    dic.Add("i_OBJECT_ID", objectId);
                    dic.Add("i_businessType", (int)businessType);
                    List <T_INSTANCE_DOCUMENT> lst = dbHelper.ExecuteListProc <T_INSTANCE_DOCUMENT>("pkg_redas_instance_document.sp_instanceDocumentGetByObject", dic);
                    result = lst[0];
                }
                catch
                {
                }
            }
            return(result);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获得文档实例信息
        /// </summary>
        /// <param name="instanceId"></param>
        /// <returns></returns>
        public T_INSTANCE_DOCUMENT GetInstanceInfo(int instanceId)
        {
            T_INSTANCE_DOCUMENT info = new T_INSTANCE_DOCUMENT();;

            using (BaseDB dbHelper = new OmpdDBHelper())
            {
                try
                {
                    Dictionary <string, object> dic = new Dictionary <string, object>();
                    dic.Add("i_INSTANCE_DOCUMENT_ID", instanceId);
                    IList <T_INSTANCE_DOCUMENT> infos = dbHelper.ExecuteListProc <T_INSTANCE_DOCUMENT>("pkg_instance_document.sp_instance_document_get", dic);
                    if (infos.Count > 0)
                    {
                        info = infos[0];
                    }
                }
                catch
                {
                }
            }
            return(info);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 创建DocMaster的实例
        /// </summary>
        /// <param name="masterID"></param>
        /// <param name="structureIds"></param>
        /// <returns></returns>
        public DocMaster CreateDocMaster(decimal masterID, decimal objectID, string jsonStructure, decimal instanceDocumentID, int currentUser, int customer_id, bool isBuildDoc, ref string error, bool?isReduction, EntrustItem?businessType, int?objectIndex)
        {
            string returnJSON = "";
            bool   isSearch   = true;
            //查询数据库是否已保存示例
            //isReduction为空的情况下是下载   1:预估函重新获取的时候,不需要传值;   2:报告 有实例的情况下:如果重新获取,即要拿预估函的信息;非重新获取,即拿本报告的
            //                                                                               无实例的情况下:拿预估函的实例
            EntrustItem estimateType = EntrustItem.Estimate;

            if (businessType == EntrustItem.Estimate)
            {
                if (isReduction != null && Convert.ToBoolean(isReduction))
                {
                    isSearch = false;  //不需要查询
                }
            }
            else if (businessType == EntrustItem.ValuationReport)
            {
                estimateType = EntrustItem.Estimate;
                if (instanceDocumentID > 0 && (isReduction == null || !Convert.ToBoolean(isReduction)))
                {
                    estimateType = EntrustItem.ValuationReport;
                }
            }

            if (isSearch)
            {
                T_INSTANCE_DOCUMENT instanceInfo = GetInstanceDocumentGetByObject(objectID, estimateType);
                if (instanceInfo != null && instanceInfo.MANUAL_EDITING_RETURN != "")
                {
                    returnJSON = instanceInfo.MANUAL_EDITING_RETURN;
                }
            }
            string conCode = "", buildingCode = "", houseCode = "", unitCode = "";
            var    formView = new FormLogic().GetFormDataByObjectId(Convert.ToInt32(objectID), 1);

            if (formView.LABLELIST != null)
            {
                List <Redas.Entities.Ompd.FormLabelDTO> lstLabel = formView.LABLELIST.ToList();

                //查询对应的楼盘,楼栋,房号的code
                conCode      = GetValFormList(lstLabel, "CONSTRUCTION_CODE");
                buildingCode = GetValFormList(lstLabel, "BUILDING_CODE");
                houseCode    = GetValFormList(lstLabel, "HOUSE_CODE");
                unitCode     = GetValFormList(lstLabel, "UNIT_CODE");
            }


            try
            {
                Dictionary <string, string> inputParams = new Dictionary <string, string>();
                inputParams.Add("ConstructionCode", conCode == null ? "" : conCode);
                inputParams.Add("BuildingCode", buildingCode == null ? "" : buildingCode);
                inputParams.Add("HouseCode", houseCode == null ? "" : houseCode);
                inputParams.Add("UnitCode", unitCode == null ? "" : unitCode);
                inputParams.Add("ObjectType", formView.OBJECT_TYPE_ID.ToString());
                inputParams.Add("CurrentUser", currentUser.ToString());
                inputParams.Add("CustomerID", customer_id.ToString());
                inputParams.Add("标的物顺序", objectIndex.ToString());
                //IsReduction 重新获取时 预估函:不需要查预估函   报告:需要查预估
                inputParams.Add("IsGetEstimate", isSearch.ToString());
                DocMaster docmaster = new DocMaster(masterID, objectID, returnJSON, jsonStructure, GetValue, inputParams, isBuildDoc);
                return(docmaster);
            }
            catch (Exception ex)
            {
                //throw ex;
                error = ex.Message;
                return(null);
            }
        }
Ejemplo n.º 7
0
        private string GetValue(decimal objectID, string tableID, string fieldID, decimal structureID, string labelName, Dictionary <string, string> parame)
        {
            var    configList   = JArray.Parse(sourceConfig);
            string value        = string.Empty;
            var    lstFormLabel = GetFormLabelList(fieldID);

            //获得楼盘code 楼栋code 房号code
            //var formView = new FormLogic().GetFormDataByObjectId(Convert.ToInt32(objectID), 1);
            //List<Redas.Entities.Ompd.FormLabelDTO> lstLabel = formView.LABLELIST.ToList();

            ////查询对应的楼盘,楼栋,房号的code
            //string conCode = lstLabel.Single(l => l.LABEL_NAME == "CONSTRUCTION_CODE").CONTENT;
            //string buildingCode = lstLabel.Single(l => l.LABEL_NAME == "BUILDING_CODE").CONTENT;
            //string houseCode = lstLabel.Single(l => l.LABEL_NAME == "HOUSE_CODE").CONTENT;

            string conCode       = parame["ConstructionCode"];
            string buildingCode  = parame["BuildingCode"];
            string houseCode     = parame["HouseCode"];
            string unitCode      = parame["UnitCode"];
            string objectType    = parame["ObjectType"];
            bool   isGetEstimate = Convert.ToBoolean(parame["IsGetEstimate"]);

            foreach (var o in configList)
            {
                int type = o.Value <int>("Type");
                switch (type)
                {
                case 0:
                {
                    //根据objectCode, tableID, fieldID
                    value = GetBasicData(objectID, fieldID, conCode, buildingCode, houseCode, unitCode, objectType);
                }
                break;

                case 1:     //询价
                    Dictionary <int, JArray> lstEstForm = GetDynamicFormData(objectID, 1);
                    if (lstEstForm.Count() > 0)
                    {
                        JArray array = (JArray)lstEstForm[1];
                        foreach (var info in lstFormLabel)
                        {
                            var item = array.FirstOrDefault(it => it["NAME"].Value <string>().Equals(info.SELECTVALUE.ToString()));
                            if (item != null)
                            {
                                value = item["VALUE"].Value <string>();
                                break;
                            }
                        }
                    }
                    break;

                case 2:                //预估函
                    if (isGetEstimate) // 需要查询预估函
                    {
                        T_INSTANCE_DOCUMENT instanceInfo = GetInstanceDocumentGetByObject(objectID, EntrustItem.Estimate);

                        if (instanceInfo != null && instanceInfo.MANUAL_EDITING_RETURN != "")
                        {
                            List <_EditReturnModel> lstEditModel = JsonTools.JsonToObject2 <List <_EditReturnModel> >(instanceInfo.MANUAL_EDITING_RETURN);
                            _EditReturnModel        labelInfo    = lstEditModel.Find(delegate(_EditReturnModel p)
                            {
                                //return p.ID == structureID && p.LabelName == labelName;
                                return(p.LabelName == labelName);
                            });
                            if (labelInfo == null)
                            {
                                continue;
                            }
                            else
                            {
                                value = labelInfo.Value;
                            }
                        }
                    }
                    break;

                case 3:
                    Dictionary <int, JArray> lstReportForm = GetDynamicFormData(objectID, 2);
                    if (lstReportForm.Count() > 0)
                    {
                        JArray array = (JArray)lstReportForm[2];
                        foreach (var info in lstFormLabel)
                        {
                            var item = array.FirstOrDefault(it => it["NAME"].Value <string>().Equals(info.SELECTVALUE.ToString()));
                            if (item != null)
                            {
                                value = item["VALUE"].Value <string>();
                                break;
                            }
                        }
                    }
                    break;

                default:
                    value = GetAddInfoItemValue(objectID, tableID, fieldID);
                    break;
                }
                //if (!string.IsNullOrEmpty(value))
                //    break;
                if (value != string.Empty)
                {
                    break;
                }
            }
            return(value);
        }