예제 #1
0
파일: AssetBll.cs 프로젝트: mirrortom/asset
        /// <summary>
        /// 补录情况
        /// </summary>
        /// <param name="para"></param>
        private static void TotalUp2_BuLu(AssetM para)
        {
            // 查询最后更新资产日期
            DateTimeOffset lastUpDay = AssetDal.GetLastUpDay();

            // 表里没有有效更新数据,这种情况也不更新总值.
            if (lastUpDay == default)
            {
                para.ErrorCode = 302;
                para.ErrorMsg  = "没有任何更新记录,不可更新总值!";
                return;
            }
            // 如果日期不是今天,(也就是今天没有更新过资产).再查询这个日期的总值记录,
            // 如果没有记录,那么补录(总值日期为这天).
            // 如果有记录,那么不可以更新.
            int lastday = int.Parse(lastUpDay.ToString("yyyyMMdd"));

            if (lastday < int.Parse(DateTimeOffset.Now.ToString("yyyyMMdd")))
            {
                AssetM totalByDay = TotalDayDal.GetLastValue(lastday);
                if (totalByDay == null)
                {
                    // 补录
                    AssetM totalVal = ValueTotal();
                    if (totalVal.ErrorCode != 200)
                    {
                        para.ErrorCode = 304;
                        para.ErrorMsg  = "补录失败,获取总值出错!";
                        return;
                    }
                    para.Id        = RandHelp.NewGuid();
                    para.Value     = totalVal.Value;
                    para.Ctime     = DateTimeOffset.Now;
                    para.TotalDate = lastday;
                    TotalDayDal.UpdateVal(para);
                    if (para.ErrorCode == 200)
                    {
                        para.ErrorCode = 201;
                        para.ErrorMsg  = "补录成功!";
                    }
                }
                else
                {
                    para.ErrorCode = 303;
                    para.ErrorMsg  = "今天没更新资产,不可更新总值!";
                }
            }
            //
        }
예제 #2
0
파일: AssetBll.cs 프로젝트: mirrortom/asset
        /// <summary>
        /// 更新总资产数据表
        /// </summary>
        /// <returns></returns>
        public static AssetM TotalUp()
        {
            AssetM m = new AssetM();

            // 1.过时检查
            TotalUp1_LastTime(m);
            if (m.ErrorCode > 300)
            {
                return(m);
            }
            // 2.补录情况
            TotalUp2_BuLu(m);
            if (m.ErrorCode > 300)
            {
                return(m);
            }
            // 2.1补录成功情况
            if (m.ErrorCode == 201)
            {
                return(m);
            }
            // 写入数据
            AssetM totalVal = ValueTotal();

            if (totalVal.ErrorCode != ErrCode.Success)
            {
                m.ErrorCode = 306;
                m.ErrorMsg  = "更新失败,获取总值出错!";
                return(m);
            }
            m.Id        = RandHelp.NewGuid();
            m.Value     = totalVal.Value;
            m.Ctime     = DateTimeOffset.Now;
            m.TotalDate = int.Parse(DateTimeOffset.Now.ToString("yyyyMMdd"));
            TotalDayDal.UpdateVal(m);
            return(m);
        }