コード例 #1
0
        /// <summary>
        /// 处置资产
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ResponseFixedAssetsDeal FixedAssetsDeal(RequestFixedAssetsDeal request)
        {
            ResponseFixedAssetsDeal response = new ResponseFixedAssetsDeal();

            using (cnn = GetConnection())
            {
                var ts = cnn.BeginTransaction();
                try
                {
                    var user = UserInfoGet(request.Token, ts);

                    AccountSetBLL bll    = new AccountSetBLL(cnn);
                    var           period = bll.GetActivePeriod(user.AccountId, ts);

                    string sql  = "select * from TKS_FAS_FixedAssets where isGenPz=1 and id=@Id";
                    var    data = cnn.Query <TKS_FAS_FixedAssets>(sql, new { Id = request.Data.Id }, ts).FirstOrDefault();

                    if (data == null)
                    {
                        throw new NormalException("未生成凭证,无法报废");
                    }
                    TKS_FAS_FixedAssetsChange change = new TKS_FAS_FixedAssetsChange();
                    change.Id         = Guid.NewGuid().ToString("N");
                    change.ParentId   = data.Id;
                    change.DocNo      = data.DocNo;
                    change.PeriodId   = period.Id;
                    change.AccountId  = data.AccountId;
                    change.AssetsName = data.Name;
                    change.PreContent = (data.InitialAssetValue - data.AccumulativeDpre).ToString();
                    change.CurContent = (data.InitialAssetValue - data.AccumulativeDpre).ToString();
                    change.ChangeType = 8;
                    change.CreateUser = data.CreateUser;
                    change.CreateDate = data.CreateDate;
                    cnn.Insert <TKS_FAS_FixedAssetsChange>(change, ts);
                    sql = "update TKS_FAS_FixedAssets set status=1 where Id=@Id";
                    cnn.Execute(sql, new { Id = data.Id }, ts);

                    ts.Commit();
                    response.IsSuccess = true;
                    response.Message   = "处置成功";
                    return(response);
                }
                catch (Exception ex)
                {
                    ts.Rollback();
                    return(this.DealException(response, ex) as ResponseFixedAssetsDeal);
                }
            }
        }
コード例 #2
0
        private void AddChange(TKS_FAS_FixedAssets data, IDbTransaction ts)
        {
            TKS_FAS_FixedAssetsChange change = new TKS_FAS_FixedAssetsChange();

            change.Id         = Guid.NewGuid().ToString("N");
            change.ParentId   = data.Id;
            change.DocNo      = data.DocNo;
            change.PeriodId   = data.StartPeriod;
            change.AccountId  = data.AccountId;
            change.AssetsName = data.Name;
            change.PreContent = data.InitialAssetValue.ToString();
            change.CurContent = data.InitialAssetValue.ToString();
            change.ChangeType = 1;
            change.CreateUser = data.CreateUser;
            change.CreateDate = data.CreateDate;
            cnn.Insert <TKS_FAS_FixedAssetsChange>(change, ts);
        }