コード例 #1
0
ファイル: Asset.cs プロジェクト: qqqer/AssetSystem
        public void RefreshPosition()
        {
            List <string> status = new List <string>(Status.Split('|'));

            if (status[status.Count - 1] == "在库")
            {
                CurrentWhereOrganization = "";
                CurrentWhereSpot         = Department + "仓库";
            }
            else if (status[status.Count - 1] == "维修")
            {
                List <RepairSlip> RepairSlips = RepairSlip.GetBy(AssetID);
                CurrentWhereOrganization = RepairSlips[RepairSlips.Count - 1].Organization;
                CurrentWhereSpot         = RepairSlips[RepairSlips.Count - 1].Spot;
            }
            else if (status[status.Count - 1] == "领用")
            {
                List <LendSlip> LendSlips = LendSlip.GetBy(AssetID);
                CurrentWhereOrganization = LendSlips[LendSlips.Count - 1].ReceiverDepartment;
                CurrentWhereSpot         = LendSlips[LendSlips.Count - 1].WhereUsing;
            }
            else if (status[status.Count - 1] == "在校")
            {
                List <GageAdjustSlip> AdjustSlips = GageAdjustSlip.GetBy(AssetID);
                CurrentWhereOrganization = AdjustSlips[AdjustSlips.Count - 1].Organization;
                CurrentWhereSpot         = AdjustSlips[AdjustSlips.Count - 1].Spot;
            }
        }
コード例 #2
0
ファイル: GageController.cs プロジェクト: qqqer/AssetSystem
        public bool ArchiveAdjustSlip(GageAdjustSlip paras)
        {
            int    API   = 15;
            string token = HttpContext.Current.Request.Headers.Get("token");

            if (Models.UniversalModels.User.IsValidToken(token))
            {
                User CurrentUser = Models.UniversalModels.User.GetUserByToken(token);

                if (Models.UniversalModels.User.IsContainsCurrentAPIPermission(CurrentUser.UserID, API))
                {
                    Log log = new Log(API, CurrentUser);
                    log.Add(token + "|" + nameof(paras) + ":" + JsonConvert.SerializeObject(paras));

                    try
                    {
                        bool s = new GageAdjustServiceImpl().ArchiveAdjustSlip(paras);
                        return(s);
                    }
                    catch (Exception ex)
                    {
                        log.Add("Exception:" + ex.Message + "|" + ex.StackTrace);
                        return(false);
                    }
                }
            }
            throw new HttpResponseException(HttpStatusCode.Forbidden);
        }//15
コード例 #3
0
        public bool AddAdjustSlip(GageAdjustSlip adjustSlip, User CurrentUser)
        {
            using (SqlConnection conn = new SqlConnection(Common.SQLHelper.Asset_strConn))
            {
                conn.Open();
                SqlTransaction sqlTransaction = conn.BeginTransaction();
                try
                {
                    Asset gage = Asset.GetBy(adjustSlip.AssetID);
                    if (gage == null)
                    {
                        throw new Exception("资产不存在");
                    }
                    if (!"在库领用".Contains(gage.Status.Substring(gage.Status.Length - 2)))
                    {
                        throw new Exception("资产未处于在库或领用状态");
                    }


                    Gage gageDetail = Gage.GetBy(gage.AssetID).First();
                    if (gageDetail.StandardAdjustType == "免校")
                    {
                        throw new Exception("无法为免校的资产做校准");
                    }
                    gageDetail.NextAdjustDate = null;


                    adjustSlip.AssetName      = gage.AssetName;
                    adjustSlip.AdjustDate     = DateTime.Now;
                    adjustSlip.TransactorName = CurrentUser.Name;


                    gage.Status                   = gage.AddStatus("在校");
                    gage.CurrentWhereSpot         = adjustSlip.Spot;
                    gage.CurrentWhereOrganization = adjustSlip.Organization;


                    gageDetail.sqlTransaction = gage.sqlTransaction = adjustSlip.sqlTransaction = sqlTransaction;
                    adjustSlip.Add();
                    gage.Update();
                    gageDetail.Update();

                    sqlTransaction.Commit();
                    return(true);
                }
                catch
                {
                    sqlTransaction.Rollback();
                    throw;
                }
            }
        }
コード例 #4
0
        public bool ArchiveAdjustSlip(GageAdjustSlip paras)
        {
            using (SqlConnection conn = new SqlConnection(Common.SQLHelper.Asset_strConn))
            {
                conn.Open();
                SqlTransaction sqlTransaction = conn.BeginTransaction();
                try
                {
                    GageAdjustSlip adjustSlip = GageAdjustSlip.GetBy(paras.ID);
                    paras.CopyTo(adjustSlip, false);
                    adjustSlip.SysArchiveTime = DateTime.Now;


                    Asset gage = Asset.GetBy(adjustSlip.AssetID);
                    if (gage == null)
                    {
                        throw new Exception("资产不存在");
                    }
                    if (!gage.Status.Contains("在校"))
                    {
                        throw new Exception("资产未处于在校状态");
                    }
                    gage.RemoveStatus("在校");
                    gage.RefreshPosition();


                    gage.sqlTransaction = adjustSlip.sqlTransaction = sqlTransaction;
                    gage.Update();
                    adjustSlip.Update();

                    sqlTransaction.Commit();
                    return(true);
                }
                catch
                {
                    sqlTransaction.Rollback();
                    throw;
                }
            }
        }
コード例 #5
0
 public IEnumerable <GageAdjustSlip> GetAdjustSlipsOf(string AssetID)
 {
     return(GageAdjustSlip.GetBy(AssetID));
 }
コード例 #6
0
 public IEnumerable <GageAdjustSlip> GetAllAdjustSlips()
 {
     return(GageAdjustSlip.GetAll());
 }