예제 #1
0
        public void Save(WMS_C104_OutStore outstore, List <WMS_C105_OutStoreDetail> outstoreDetailList)
        {
            tb_Sys_User tempUser    = appCacheService.GetItem("user") as tb_Sys_User;
            var         existslotTx = this.GetById(outstore.Id);

            if (existslotTx == null)
            {
                outstore.CompCode   = tempUser.CompCode;
                outstore.CreateDt   = DateTime.Now;
                outstore.CreateUser = tempUser.UserName;
                outstore.Validate();
                this.WMS_C104_OutStoreRepository.Add(outstore);
            }
            else
            {
                outstore.ModifyDt   = DateTime.Now;
                outstore.ModifyUser = tempUser.UserName;
                outstore.Validate();
                this.WMS_C104_OutStoreRepository.SetValues(outstore, existslotTx);
            }
            if (outstoreDetailList != null)
            {
                foreach (var detail in outstoreDetailList)
                {
                    var existstoutStoreDetail = this.outStoreDetailRepository.GetByID(detail.Id);
                    if (existstoutStoreDetail == null)
                    {
                        //var stock = this.stockRepostiroy.GetMany(i => i.Id == detail.StockId).FirstOrDefault();
                        var stock = this.stockRepostiroy.GetMany(i => i.ARCode == detail.ARCode && i.PartSpec == detail.PartSpec && i.MatClass2 == detail.MatClass2).FirstOrDefault();
                        if (stock == null)
                        {
                            throw new AppException(string.Format("出库单'{0}'在位置'{1}'没有库存,请检查", detail.OutSotreNo, detail.ARCode));
                        }
                        if (detail.Amount > stock.StoreAmount)
                        {
                            throw new AppException(string.Format("出库单'{0}'在位置'{1}'的库存小于出库数量,请检查", detail.OutSotreNo, detail.ARCode));
                        }
                        detail.CompCode   = tempUser.CompCode;
                        detail.CreateDt   = DateTime.Now;
                        detail.CreateUser = tempUser.UserName;
                        detail.Validate();
                        this.outStoreDetailRepository.Add(detail);
                        //更新库存
                        stock.StoreAmount = stock.StoreAmount - detail.Amount;
                    }
                    else
                    {
                        if (existstoutStoreDetail.Amount != detail.Amount)
                        {
                            throw new AppException(string.Format("出库单'{0}'在位置'{1}'的已经出库,无法修改", detail.OutSotreNo, detail.ARCode));
                        }
                        detail.Validate();
                        this.outStoreDetailRepository.SetValues(detail, existstoutStoreDetail);
                    }
                }
            }
            this.runtimeService.Commit();
        }
예제 #2
0
        public void Create(WMS_C104_OutStore WMS_C104_OutStore)
        {
            WMS_C104_OutStore.CreateDt = DateTime.Now;
            tb_Sys_User tempUser = appCacheService.GetItem("user") as tb_Sys_User;

            WMS_C104_OutStore.CreateUser = tempUser.UserName;
            WMS_C104_OutStore.CompCode   = tempUser.CompCode;
            WMS_C104_OutStore.Validate();
            this.WMS_C104_OutStoreRepository.Add(WMS_C104_OutStore);
            this.runtimeService.Commit();
        }
예제 #3
0
        private void OpenForm(string formText, string btnCommand)
        {
            WMS_C104_OutStore temp = this.wMSC104OutStoreBindingSource.Current as WMS_C104_OutStore;
            OutStoreEditForm  edit = new OutStoreEditForm(temp);

            edit.Text = formText;
            edit.Tag  = btnCommand;
            if (edit.ShowDialog() != DialogResult.OK)
            {
                this.wMSC104OutStoreBindingSource.CancelEdit();
            }
        }
예제 #4
0
        public void Update(WMS_C104_OutStore WMS_C104_OutStore)
        {
            WMS_C104_OutStore.ModifyDt = DateTime.Now;
            tb_Sys_User tempUser = appCacheService.GetItem("user") as tb_Sys_User;

            WMS_C104_OutStore.ModifyUser = tempUser.UserName;
            WMS_C104_OutStore.Validate();
            var existstb_Sys_Menu = this.GetById(WMS_C104_OutStore.Id);

            this.WMS_C104_OutStoreRepository.SetValues(WMS_C104_OutStore, existstb_Sys_Menu);
            this.runtimeService.Commit();
        }
예제 #5
0
 public override void OnBtnCommand(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
 {
     // MessageBox.Show(e.Item.Caption);
     //新增
     if (e.Item.Caption == BtnCommandEnum.Add)
     {
         this.wMSC104OutStoreBindingSource.AddNew();
         OpenForm("出仓资料新增", BtnCommandEnum.Add);
     }
     else if (e.Item.Caption == BtnCommandEnum.Edit)
     {
         OpenForm("出仓资料修改", BtnCommandEnum.Edit);
     }
     else if (e.Item.Caption == BtnCommandEnum.Delete)
     {
         if (ERPHelper.Instance.MessageDel())
         {
             WMS_C104_OutStore tempData = this.wMSC104OutStoreBindingSource.Current as WMS_C104_OutStore;
             outStoreService.Delete(tempData.Id);
             this.wMSC104OutStoreBindingSource.RemoveCurrent();
         }
     }
 }
예제 #6
0
 public OutStoreEditForm(WMS_C104_OutStore tempData)
 {
     InitializeComponent();
     this.tempData = tempData;
 }