Exemple #1
0
        public ResModel UpdatePartsReturn(PartsReturnDto partsReturnDto, UserDto operationUser)
        {
            using (var db = new ModelContext())
            {
                var partsReturn = db.PartsReturn.FirstOrDefault(i => i.Id == partsReturnDto.Id);
                if (partsReturn == null)
                {
                    return(new ResModel()
                    {
                        Msg = "更新配件出库失败,未找到该配件出库", Success = false
                    });
                }
                var partsOuts = partsReturnDto.PartsOuts.Select(i => new PartsOut()
                {
                    Id            = Guid.NewGuid(),
                    PartsReturnId = partsReturn.Id,
                    PartsId       = i.PartsId,
                    Count         = i.Count,
                    Description   = i.Description
                });
                using (var scope = new TransactionScope())
                {
                    try
                    {
                        partsReturn.SupplierId    = partsReturnDto.SupplierId;
                        partsReturn.ApplyUser     = operationUser.Name;
                        partsReturn.OperationTime = DateTime.Now;
                        partsReturn.Description   = partsReturnDto.Description;

                        db.PartsOut.RemoveRange(partsReturn.PartsOuts);
                        db.SaveChanges();
                        db.PartsOut.AddRange(partsOuts);
                        db.SaveChanges();
                        scope.Complete();
                    }
                    catch (Exception e)
                    {
                        return(new ResModel()
                        {
                            Msg = "更新配件出库失败", Success = false
                        });
                    }
                    return(new ResModel()
                    {
                        Msg = "更新配件出库成功", Success = true
                    });
                }
            }
        }
Exemple #2
0
        public ActionResult Update(PartsReturnDto partsReturnDto)
        {
            var currentUser = Session["LogUser"] as UserDto;

            return(Json(_partsReturnService.UpdatePartsReturn(partsReturnDto, currentUser)));
        }
Exemple #3
0
 public ResModel UpdatePartsReturn(PartsReturnDto partsReturnDto, UserDto operationUser)
 {
     return(_partsReturnRepository.UpdatePartsReturn(partsReturnDto, operationUser));
 }
Exemple #4
0
        public ResModel AddPartsReturn(PartsReturnDto partsReturnDto, UserDto operationUser)
        {
            using (var db = new ModelContext())
            {
                var billNo = "";
                var lastPartsReturnIndex = 0;
                var dateFormat           = "";
                var index           = 0;
                var indexStr        = "";
                var partsReturnBill = db.BillNoSetting.FirstOrDefault(i => i.Name == BillTypeName.配件出库.ToString());
                if (partsReturnBill.DailyReset)
                {
                    var lastPartsReturn = db.PartsReturn.Where(i => i.CreateTime.Value.Day == DateTime.Now.Day).OrderByDescending(i => i.CreateTime).FirstOrDefault();
                    lastPartsReturnIndex = lastPartsReturn?.BillNoIndex ?? 0;
                }
                else
                {
                    var lastPartsReturn = db.PartsReturn.OrderByDescending(i => i.CreateTime).FirstOrDefault();
                    lastPartsReturnIndex = lastPartsReturn?.BillNoIndex ?? 0;
                }
                index    = lastPartsReturnIndex + 1;
                indexStr = index.ToString();
                switch (partsReturnBill.SerNoLength)
                {
                case BillSerNoLength.两位:
                    indexStr = indexStr.PadLeft(2, '0');
                    break;

                case BillSerNoLength.位:
                    indexStr = indexStr.PadLeft(3, '0');
                    break;

                case BillSerNoLength.四位:
                    indexStr = indexStr.PadLeft(4, '0');
                    break;

                case BillSerNoLength.五位:
                    indexStr = indexStr.PadLeft(5, '0');
                    break;

                case BillSerNoLength.六位:
                    indexStr = indexStr.PadLeft(6, '0');
                    break;
                }
                switch (partsReturnBill.DateFormat)
                {
                case BillDateFormat.简洁年月日:
                    dateFormat = DateTime.Now.ToString("yyMMdd");
                    break;

                case BillDateFormat.完整年月日:
                    dateFormat = DateTime.Now.ToString("yyyyMMdd");
                    break;

                case BillDateFormat.无:
                    dateFormat = "";
                    break;
                }
                billNo = partsReturnBill.Prefix + dateFormat + indexStr;
                var partsReturn = new PartsReturn()
                {
                    Id            = Guid.NewGuid(),
                    SupplierId    = partsReturnDto.SupplierId,
                    BillNo        = billNo,
                    BillNoIndex   = index,
                    State         = PartsReturnState.未审核,
                    ApplyUser     = operationUser.Name,
                    OperationTime = DateTime.Now,
                    Description   = partsReturnDto.Description,
                    CreateTime    = DateTime.Now
                };
                var partsOuts = partsReturnDto.PartsOuts.Select(i => new PartsOut()
                {
                    Id            = Guid.NewGuid(),
                    PartsReturnId = partsReturn.Id,
                    PartsId       = i.PartsId,
                    Count         = i.Count,
                    Description   = i.Description
                });
                using (var scope = new TransactionScope())
                {
                    try
                    {
                        db.PartsReturn.Add(partsReturn);
                        db.SaveChanges();
                        db.PartsOut.AddRange(partsOuts);
                        db.SaveChanges();
                        scope.Complete();
                    }
                    catch (Exception e)
                    {
                        return(new ResModel()
                        {
                            Msg = "添加配件出库单失败", Success = false
                        });
                    }
                    return(new ResModel()
                    {
                        Msg = "添加配件出库单成功", Success = true
                    });
                }
            }
        }