コード例 #1
0
        /// <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
        }
コード例 #2
0
 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);
 }
コード例 #3
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);
 }
コード例 #4
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);
        }
コード例 #5
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)));
 }
コード例 #6
0
        /// <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);
        }