Esempio n. 1
0
 public JsonResult Edit(OutInOrderModel model)
 {
     model.EditBy     = _context.CurrentAccount.AccountId;
     model.EditByName = _context.CurrentAccount.NickName;
     _outInOrderFacade.Edit(model);
     return(Json(new { success = true }));
 }
Esempio n. 2
0
 public JsonResult Create(OutInOrderModel model)
 {
     model.EditBy     = _context.CurrentAccount.AccountId;
     model.EditByName = _context.CurrentAccount.NickName;
     _outInOrderFacade.Create(model);
     return(Json(new { success = true, code = model.Code, id = model.Id }));
 }
Esempio n. 3
0
        public void Create(OutInOrderModel model)
        {
            OutInOrder entity = model.MapTo <OutInOrder>();

            entity.CreatedBy     = model.EditBy;
            entity.CreatedByName = model.EditByName;
            entity.UpdatedBy     = model.EditBy;
            entity.UpdatedByName = model.EditByName;
            // entity.Code = _sequenceService.GenerateNewCode(BillIdentity.OtherInOrder);
            // 明细
            var items = JsonConvert.DeserializeObject <List <OutInOrderItem> >(model.ItemsJson);

            entity.SetItems(items);
            var orderType = _db.Table.Find <OutInOrderType>(entity.OutInOrderTypeId);

            if (orderType == null)
            {
                throw new FriendlyException("业务类别为空");
            }

            var reason       = "创建其他入库单";
            var billIdentity = BillIdentity.OtherInOrder;

            if (orderType.OutInInventory == OutInInventoryType.Out)
            {
                reason       = "创建其他出库单";
                billIdentity = BillIdentity.OtherOutOrder;
            }

            var entitys = _service.SplitOrderItem(entity, orderType);

            foreach (var order in entitys)
            {
                entity.Code = _sequenceService.GenerateNewCode(billIdentity);
                entity.SetItems(order.Items.ToList());
                _db.Insert(entity);
                var history = new ProcessHistory(entity.CreatedBy, entity.CreatedByName, (int)entity.Status, entity.Id, billIdentity.ToString(), reason);
                _db.Command.AddExecute(history.CreateSql(entity.GetType().Name, entity.Code), history);
                _db.SaveChange();

                if (model.SaveAndSubmit)
                {
                    var modelEntity = _db.Table.Find <OutInOrder>(n => n.Code == entity.Code);
                    model.Id = modelEntity.Id;
                    Submit(model.Id, model.EditBy, model.EditByName);
                }
            }
        }
Esempio n. 4
0
        public void Edit(OutInOrderModel model)
        {
            var entity = _db.Table.Find <OutInOrder>(model.Id);

            entity               = model.MapTo <OutInOrder>(entity);
            entity.UpdatedBy     = model.EditBy;
            entity.UpdatedByName = model.EditByName;
            entity.UpdatedOn     = DateTime.Now;
            _db.Update(entity);

            var items = JsonConvert.DeserializeObject <List <OutInOrderItem> >(model.ItemsJson);

            if (items.Count == 0)
            {
                throw new FriendlyException("明细为空");
            }
            var orderType = _db.Table.Find <OutInOrderType>(entity.OutInOrderTypeId);

            if (orderType == null)
            {
                throw new FriendlyException("业务类别为空");
            }
            var billIdentity = BillIdentity.OtherInOrder;

            if (orderType.OutInInventory == OutInInventoryType.Out)
            {
                billIdentity = BillIdentity.OtherOutOrder;
            }
            var reason = "编辑";

            entity.AddRange(items, orderType);
            _db.Delete <OutInOrderItem>(n => n.OutInOrderId == entity.Id);
            _db.Insert(entity.Items.ToArray());
            _processHistoryService.Track(entity.UpdatedBy, entity.UpdatedByName, (int)entity.Status, entity.Id, billIdentity.ToString(), reason);
            _db.SaveChange();
            if (model.SaveAndSubmit)
            {
                var modelEntity = _db.Table.Find <OutInOrder>(n => n.Code == entity.Code);
                model.Id = modelEntity.Id;
                Submit(model.Id, model.EditBy, model.EditByName);
            }
        }