/// <summary> /// 流程完成时的操作。 /// </summary> /// <returns></returns> public void Complete(Guid id) { RoadFlow.Data.Model.BuildingMonthInfoModel model = Get(id); Guid buildingID = model.BuildingID.Value; int timeArea = DateTime.Now.Year * 100 + DateTime.Now.Month; #region 去除流程关联字段 model.State = null; model.CreateTime = null; model.UpdateTime = null; model.MissionDisplay = null; #endregion model.BuildingMonthInfoID = id;//设置BuildingMonthInfoData是buildingMonthInfo的哪条数据更新而来。 #region 每月信息更新 BuildingMonthInfoDataBLL buildingsDataBLL = new BuildingMonthInfoDataBLL(); RoadFlow.Data.Model.BuildingMonthInfoModel old = buildingsDataBLL.GetByBuildingIDAndTimeArea(buildingID, timeArea); if (old != null) //已存在,更新每月信息 { model.ID = null; model.TimeArea = timeArea; model.UpdateTime = DateTime.Now; buildingsDataBLL.Update(model, old.ID.Value); } else { model.ID = Guid.NewGuid(); model.TimeArea = timeArea; buildingsDataBLL.Add(model); } #endregion #region 每月更新次数及分数更新 BuildingMonthModifyCountBLL buildingMonthModifyCountBLL = new BuildingMonthModifyCountBLL(); var oldCount = buildingMonthModifyCountBLL.Get(buildingID, timeArea); //GetOperationType(buildingMonthModifyCountBLL, buildingID, timeArea,out countID); if (oldCount != null) //已存在,每月更新次数更新 { RoadFlow.Data.Model.BuildingMonthModifyCountModel buildingMonthModifyCountModel = new Data.Model.BuildingMonthModifyCountModel(); buildingMonthModifyCountModel.Count = GetCount(buildingID, timeArea, model); //buildingMonthModifyCountModel.Timeliness = GetTimeliness(); 更新不算及时性评分 buildingMonthModifyCountModel.Quality = BLLCommon.GetQuality(buildingMonthModifyCountModel.Count.Value + oldCount.EnterpriseModifyCount.Value); buildingMonthModifyCountModel.Accuracy = GetAccuracy(); buildingMonthModifyCountBLL.Update(buildingMonthModifyCountModel, oldCount.ID.Value); } else { RoadFlow.Data.Model.BuildingMonthModifyCountModel buildingMonthModifyCountModel = new Data.Model.BuildingMonthModifyCountModel(); buildingMonthModifyCountModel.TimeArea = timeArea; buildingMonthModifyCountModel.BuildingID = buildingID; buildingMonthModifyCountModel.Count = GetCount(buildingID, timeArea, model); buildingMonthModifyCountModel.Timeliness = BLLCommon.GetTimeliness(); buildingMonthModifyCountModel.Quality = BLLCommon.GetQuality(buildingMonthModifyCountModel.Count.Value); buildingMonthModifyCountModel.Accuracy = GetAccuracy(); buildingMonthModifyCountBLL.Add(buildingMonthModifyCountModel); } #endregion }
public int Update(RoadFlow.Data.Model.BuildingMonthInfoModel model, Guid id) { if (baseDb.Update <RoadFlow.Data.Model.BuildingMonthInfoModel>(model, new KeyValuePair <string, object>("ID", id)) > 0) { Dictionary <KeyValuePair <string, RoadFlow.Data.Model.SQLFilterType>, object> where = new Dictionary <KeyValuePair <string, Data.Model.SQLFilterType>, object>(); where.Add(new KeyValuePair <string, RoadFlow.Data.Model.SQLFilterType>("TimeArea", RoadFlow.Data.Model.SQLFilterType.MINNotEqual), model.TimeArea); if (GetAll(where).Rows.Count == 0) //是否是最新的每月数据。 //更新合成表 { BuildingsAndBuildingMonthInfoBLL buildingsAndBuildingMonthInfoBLL = new BuildingsAndBuildingMonthInfoBLL(); Guid buildingID = model.BuildingID.Value; //排除不需要更新的字段。 model.ID = null; model.BuildingID = null; model.TimeArea = null; model.BuildingMonthInfoID = null; return(buildingsAndBuildingMonthInfoBLL.Update(model, buildingID)); } } return(0); }
public int Add(RoadFlow.Data.Model.BuildingMonthInfoModel model) { if (baseDb.Add <RoadFlow.Data.Model.BuildingMonthInfoModel>(model) > 0) { Dictionary <KeyValuePair <string, RoadFlow.Data.Model.SQLFilterType>, object> where = new Dictionary <KeyValuePair <string, Data.Model.SQLFilterType>, object>(); where.Add(new KeyValuePair <string, RoadFlow.Data.Model.SQLFilterType>("TimeArea", RoadFlow.Data.Model.SQLFilterType.MINNotEqual), model.TimeArea); if (GetAll(where).Rows.Count == 0)//是否是最新的每月数据。 //更新合成表 { BuildingsAndBuildingMonthInfoBLL buildingsAndBuildingMonthInfoBLL = new BuildingsAndBuildingMonthInfoBLL(); Guid id = model.BuildingID.Value; //排除不需要更新的字段。 model.ID = null; model.BuildingID = null; model.BuildingMonthInfoID = null; model.TimeArea = null; return(buildingsAndBuildingMonthInfoBLL.Update(model, id)); } #region 注释掉的代码 //RoadFlow.Data.Model.BuildingsAndBuildingMonthInfo monthModel = new RoadFlow.Data.Model.BuildingsAndBuildingMonthInfo(); //monthModel.SY_YSY_ZMJ = model.SY_YSY_ZMJ; //monthModel.SY_YSY_ZYMJ = model.SY_YSY_ZYMJ; //monthModel.SY_KZ_ZMJ = model.SY_KZ_ZMJ; //monthModel.SY_KZ_KZLMJ = model.SY_KZ_KZLMJ; //monthModel.SY_KZ_KXSMJ = model.SY_KZ_KXSMJ; //monthModel.SY_ZJ = model.SY_ZJ; //monthModel.SY_XSJJ = model.SY_XSJJ; //monthModel.SW_YSY_ZMJ = model.SW_YSY_ZMJ; //monthModel.SW_YSY_ZYMJ = model.SW_YSY_ZYMJ; //monthModel.SW_KZ_ZMJ = model.SW_KZ_ZMJ; //monthModel.SW_KZ_KZLMJ = model.SW_KZ_KZLMJ; //monthModel.SW_KZ_KXSMJ = model.SW_KZ_KXSMJ; //monthModel.SW_ZJ = model.SW_ZJ; //monthModel.SW_XSJJ = model.SW_XSJJ; #endregion } return(0); }
/// <summary> /// 管理员编辑(除了BuildingsAndBuildingMonthInfo外,需要更新BuildingMonthInfoDataBLL,BuildingMonthInfoBLL,BuildingsBLL,BuildingsDataBLL) /// </summary> /// <param name="model"></param> /// <param name="id"></param> /// <returns></returns> public int ManageUpdate(RoadFlow.Data.Model.BuildingsModel building, RoadFlow.Data.Model.BuildingMonthInfoModel monthInfo, Guid buildingID) { using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { bool isUpdate = Update <RoadFlow.Data.Model.BuildingsModel>(building, buildingID) > 0 && Update <RoadFlow.Data.Model.BuildingMonthInfoModel>(monthInfo, buildingID) > 0;//更新组合表 if (isUpdate) { #region BuildingMonthInfo BuildingMonthInfoDataBLL buildingMonthInfoDataBLL = new BuildingMonthInfoDataBLL(); var monthDataList = buildingMonthInfoDataBLL.GetListByBuildingID(buildingID); var monthDataLast = monthDataList.OrderByDescending(i => i.TimeArea).FirstOrDefault(); if (monthDataLast != null) {//有最新每月信息则更新每月信息 BuildingMonthInfoBLL buildingMonthInfoBLL = new BuildingMonthInfoBLL(); isUpdate = buildingMonthInfoDataBLL.ManageUpdate(monthInfo, monthDataLast.ID.Value) > 0 && buildingMonthInfoBLL.ManageUpdate(monthInfo, monthDataLast.BuildingMonthInfoID.Value) > 0; } #endregion if (isUpdate) {//更新楼栋基本信息 #region Building BuildingsBLL buildingsBLL = new BuildingsBLL(); BuildingsDataBLL buildingsDataBLL = new BuildingsDataBLL(); building.ID = null; isUpdate = buildingsBLL.ManageUpdate(building, buildingID) > 0 && buildingsDataBLL.ManageUpdate(building, buildingID) > 0; #endregion if (isUpdate) { scope.Complete(); return(1); } } } } return(0); }
public int ManageUpdate(RoadFlow.Data.Model.BuildingMonthInfoModel model, Guid id) { model.ID = null; return(BaseDb.Update <RoadFlow.Data.Model.BuildingMonthInfoModel>(model, new KeyValuePair <string, object>("ID", id))); }
/// <summary> /// 获取更新数 /// </summary> /// <returns></returns> private int GetCount(Guid buildingID, int timeArea, RoadFlow.Data.Model.BuildingMonthInfoModel model) { int count = 0; #region 月 Dictionary <KeyValuePair <string, RoadFlow.Data.Model.SQLFilterType>, object> prewhere = GetMonthWhere(buildingID); DataTable preDt = GetAll(1, prewhere); #endregion //对比字段(SY_YSY_ZMJ,SY_YSY_ZYMJ,SY_KZ_ZMJ,SY_KZ_KZLMJ,SY_KZ_KXSMJ,SY_ZJ,SY_XSJJ,SW_YSY_ZMJ,SW_YSY_ZYMJ,SW_KZ_ZMJ,SW_KZ_KZLMJ,SW_KZ_KXSMJ,SW_ZJ,SW_XSJJ) if (preDt == null || preDt.Rows.Count == 0) { count = 16; } else { if (model.SY_YSY_ZMJ != (decimal?)preDt.Rows[0]["SY_YSY_ZMJ"]) { count++; } if (model.SY_YSY_ZYMJ != (decimal?)preDt.Rows[0]["SY_YSY_ZYMJ"]) { count++; } if (model.SY_KZ_ZMJ != (decimal?)preDt.Rows[0]["SY_KZ_ZMJ"]) { count++; } if (model.SY_KZ_KZLMJ != (decimal?)preDt.Rows[0]["SY_KZ_KZLMJ"]) { count++; } if (model.SY_KZ_KXSMJ != (decimal?)preDt.Rows[0]["SY_KZ_KXSMJ"]) { count++; } if (model.SY_KZ_DCZDZMJ != (decimal?)preDt.Rows[0]["SY_KZ_DCZDZMJ"]) { count++; } if (model.SY_ZJ != (Guid?)preDt.Rows[0]["SY_ZJ"]) { count++; } if (model.SY_XSJJ != (decimal?)preDt.Rows[0]["SY_XSJJ"]) { count++; } if (model.SW_YSY_ZMJ != (decimal?)preDt.Rows[0]["SW_YSY_ZMJ"]) { count++; } if (model.SW_YSY_ZYMJ != (decimal?)preDt.Rows[0]["SW_YSY_ZYMJ"]) { count++; } if (model.SW_KZ_ZMJ != (decimal?)preDt.Rows[0]["SW_KZ_ZMJ"]) { count++; } if (model.SW_KZ_KZLMJ != (decimal?)preDt.Rows[0]["SW_KZ_KZLMJ"]) { count++; } if (model.SW_KZ_KXSMJ != (decimal?)preDt.Rows[0]["SW_KZ_KXSMJ"]) { count++; } if (model.SW_KZ_DCZDZMJ != (decimal?)preDt.Rows[0]["SW_KZ_DCZDZMJ"]) { count++; } if (model.SW_ZJ != (Guid?)preDt.Rows[0]["SW_ZJ"]) { count++; } if (model.SW_XSJJ != (decimal?)preDt.Rows[0]["SW_XSJJ"]) { count++; } } return(count); }