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); } }
/// <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); } }
/// <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); }
/// <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); }
/// <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); }
/// <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); } }
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); }