Пример #1
0
 private void BtnSave_Click(object sender, EventArgs e)
 {
     try
     {
         bs.EndEdit();
         if (_bill.单据类型 != (int)BillType.OtherInOut)
         {
             MessageHelper.ShowError("请输入有效的单据类型!其他出入库单据类型为:" + (int)BillType.OtherInOut);
             return;
         }
         if (_bill.子单据类型 != (int)SubBillType.OtherIn)
         {
             MessageHelper.ShowError("维护的子单据类型无效!其他入库类型为:" + (int)SubBillType.OtherIn);
             return;
         }
         var detailList = (List <TB_OTHER_IN>)bs.DataSource;
         if (detailList.Count == 0)
         {
             MessageHelper.ShowError("请维护其他入库明细!");
             return;
         }
         SpareEntities db = EntitiesFactory.CreateSpareInstance();
         BillHandler.AddOtherIn(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), detailList);
         EntitiesFactory.SaveDb(db);
         NotifyController.AddStockSafeQty(db, GlobalVar.Oper.OperName);
         MessageHelper.ShowInfo("保存成功!");
     }
     catch (Exception ex)
     {
         MessageHelper.ShowInfo(ex.ToString());
     }
 }
Пример #2
0
 private void BtnSave_Click(object sender, EventArgs e)
 {
     try
     {
         bs.EndEdit();
         if (_bill.单据类型 != (int)BillType.StockMove)
         {
             MessageHelper.ShowError("请输入有效的单据类型!移库单据类型为:" + (int)BillType.StockMove);
             return;
         }
         var detailList = (List <TB_STOCK_MOVE>)bs.DataSource;
         if (detailList.Count == 0)
         {
             MessageHelper.ShowError("请维护移动明细!");
             return;
         }
         SpareEntities db = EntitiesFactory.CreateSpareInstance();
         BillHandler.AddStockMove(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), detailList);
         EntitiesFactory.SaveDb(db);
         MessageHelper.ShowInfo("保存成功!");
     }
     catch (Exception ex)
     {
         MessageHelper.ShowInfo(ex.ToString());
     }
 }
Пример #3
0
 private void BtnSave_Click(object sender, EventArgs e)
 {
     try
     {
         bs.EndEdit();
         if (_bill.单据类型 != (int)BillType.SpareReturn)
         {
             MessageHelper.ShowError("请输入有效的单据类型!领用归还单据类型为:" + (int)BillType.SpareReturn);
             return;
         }
         var detailList = (List <TB_RETURN>)bs.DataSource;
         if (detailList.Count == 0)
         {
             MessageHelper.ShowError("请维护领用还回明细!");
             return;
         }
         //List<TB_RETURN> detailList = (from TB_RETURN d in _list select d).ToList();
         SpareEntities db = EntitiesFactory.CreateSpareInstance();
         BillHandler.AddMaterialReturn(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), detailList);
         EntitiesFactory.SaveDb(db);
         MessageHelper.ShowInfo("保存成功!");
     }
     catch (Exception ex)
     {
         MessageHelper.ShowInfo(ex.ToString());
     }
 }
Пример #4
0
 private void BtnDeliver_Click(object sender, EventArgs e)
 {
     if (_bill == null || _bill.单据编号 == null)
     {
         MessageHelper.ShowInfo("请选择单据");
         return;
     }
     if (MessageHelper.ShowQuestion("确定要执行选定的领用单?") == DialogResult.Yes)
     {
         SpareEntities db      = EntitiesFactory.CreateSpareInstance();
         var           outlist = SpareOutController.GetList(db, _bill.单据编号);
         foreach (var spout in outlist)
         {
             if (string.IsNullOrEmpty(spout.TakeUser))
             {
                 MessageHelper.ShowError("领用详细中的领用人信息不能为空!");
                 return;
             }
         }
         BillHandler.FinishMaterialOut(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), outlist);
         EntitiesFactory.SaveDb(db);
         NotifyController.AddStockSafeQty(db, GlobalVar.Oper.OperName);
         MessageHelper.ShowInfo("保存成功!");
     }
 }
Пример #5
0
 private void BtnSave_Click(object sender, EventArgs e)
 {
     try
     {
         bs.EndEdit();
         if (_bill.单据类型 != (int)BillType.MaterialAsk)
         {
             MessageHelper.ShowError("请输入有效的单据类型!申请单单据类型为:" + (int)BillType.MaterialAsk);
             return;
         }
         if (_bill.子单据类型 != (int)SubBillType.SpareLoan && _bill.子单据类型 != (int)SubBillType.SpareOut)
         {
             MessageHelper.ShowError("维护的子单据类型无效!领用出库类型为:" + (int)SubBillType.SpareOut + "借用出库类型为:" + (int)SubBillType.SpareLoan);
             return;
         }
         var detailList = (List <TB_ASK>)bs.DataSource;
         if (detailList.Count == 0)
         {
             MessageHelper.ShowError("请维护领用申请明细!");
             return;
         }
         var bill = _bill.VWToBill(GlobalVar.Oper.DeptCode);
         //List<TB_ASK> detailList = (from TB_ASK d in _list select d).ToList();
         SpareEntities db = EntitiesFactory.CreateSpareInstance();
         BillHandler.AddMaterialAsk(db, bill, detailList);
         EntitiesFactory.SaveDb(db);
         MessageHelper.ShowInfo("保存成功!");
     }
     catch (Exception ex)
     {
         MessageHelper.ShowInfo(ex.ToString());
     }
 }
Пример #6
0
        private void ItemBtnReturn_Click(object sender, EventArgs e)
        {
            if (_bill == null || _bill.单据编号 == null)
            {
                MessageHelper.ShowInfo("请选择单据");
                return;
            }

            if (_bill.状态 != (int)BillState.Finished)
            {
                MessageHelper.ShowInfo("选中单据状态错误,无法执行");
                return;
            }
            var details = SpareOutController.GetList(_db, _bill.单据编号);

            try
            {
                string strInfo = BillHandler.HandleMaterialReturn(_db, _bill.VWToBill(GlobalVar.Oper.DeptCode), details);
                if (strInfo != "OK")
                {
                    MessageHelper.ShowError(strInfo);
                }
                else
                {
                    MessageHelper.ShowInfo("生成领用还回单成功");
                    EntitiesFactory.SaveDb(_db);
                }
            }
            catch (Exception ex)
            {
                MessageHelper.ShowError(ex.ToString());
                throw;
            }
        }
Пример #7
0
 private void btnCancel_Click(object sender, EventArgs e)
 {
     try
     {
         BillHandler.CancelMaterialAsk(_db, _bill.VWToBill(GlobalVar.Oper.DeptCode));
         NotifyController.AddNotify(_db, _bill.操作者, NotifyType.MaterialOutCancel, _bill.单据编号, "");
         EntitiesFactory.SaveDb(_db);
         SetMasterDataSource(grid.PageIndex, grid.PageSize);
     }
     catch (Exception ex)
     {
         MessageHelper.ShowError(ex.ToString());
     }
 }
Пример #8
0
        private ServiceState UpdateBill(BillType billType, DataSet ds)
        {
            ServiceState state = ServiceState.NoError;
            DataTable    dt    = new DataTable();

            switch (billType)
            {
            case BillType.SortedDeliver:
                dt = ds.Tables[0];
                var sortBill = ConvertHelper.DataTableToEntity <TS_SORT_BILL>(dt);
                BillHandler.UpdateSortBill("", sortBill);
                break;
            }
            return(state);
        }
Пример #9
0
 private void btnExecute_Click(object sender, EventArgs e)
 {
     if (_bill == null || _bill.单据编号 == null)
     {
         MessageHelper.ShowInfo("请选择单据!");
         return;
     }
     if (MessageHelper.ShowQuestion("确定要执行选定的领用还回单?") == DialogResult.Yes)
     {
         SpareEntities db = EntitiesFactory.CreateSpareInstance();
         BillHandler.ExecuteSpareReturn(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), (List <TB_RETURN>)(grid.Detail1DataSource));
         EntitiesFactory.SaveDb(db);
         MessageHelper.ShowInfo("保存成功!");
     }
 }
Пример #10
0
        private static void ReadRCPFile(List <string> dataList, string filename, SpareEntities db)
        {
            Console.WriteLine(@"接收采购订单收货数据开始");
            var partList = new List <TA_PART>();
            var billList = new List <TB_BILL>();
            var MIList   = new List <TB_IN>();

            for (int i = 0; i < dataList.Count; i++)
            {
                string strErr = "采购订单收货文件 " + filename + " 第 " + i + " 行 \t";
                string data   = dataList[i];
                var    cols   = data.Split(';');
                if (cols.Length != 11)
                {
                    Console.WriteLine(strErr + @" 格式错误" + Environment.NewLine + "\t\t\t\t" + data);
                    continue;
                }
                //添加TB_BILL表数据
                var bill          = new TB_BILL();
                var BillNum       = "";
                var SourceBillNum = cols[0];
                if (billList.FirstOrDefault(p => p.SourceBillNum == SourceBillNum) == null)
                {
                    bill.BillNum       = BillNum;
                    bill.BillTime      = DateTime.Now;
                    bill.BillType      = (int)BillType.MaterialIn;
                    bill.OperName      = GlobalVar.OperName;
                    bill.SourceBillNum = SourceBillNum;
                    billList.Add(bill);
                }
                //添加TB_IN表记录
                var MI = new TB_IN()
                {
                    BillNum     = BillNum,
                    PoBillNum   = SourceBillNum,
                    PoLineNum   = Convert.ToInt32(cols[1]),
                    PartCode    = cols[3],
                    Batch       = GetBatch(),
                    ToLocCode   = _defaultLoc,
                    Qty         = Convert.ToInt32(cols[4]),
                    UnitPrice   = Convert.ToDecimal(cols[5]),
                    ProduceDate = DateTime.Now
                };
                MIList.Add(MI);
            }
            BillHandler.AddMaterialIn(db, billList, MIList);
            Console.WriteLine(@"接收采购订单收货数据完成");
        }
Пример #11
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         bs.EndEdit();
         var           detailList = (List <TB_INVENTORY_DETAIL>)bs.DataSource;
         SpareEntities db         = EntitiesFactory.CreateSpareInstance();
         BillHandler.AddOrUpdateInventoryDetail(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), detailList);
         EntitiesFactory.SaveDb(db);
         MessageHelper.ShowInfo("保存成功!");
     }
     catch (Exception ex)
     {
         MessageHelper.ShowInfo(ex.ToString());
     }
 }
Пример #12
0
        private ServiceState AddBill(BillType billType, DataSet ds)
        {
            ServiceState state = ServiceState.NoError;
            DataTable    dt    = new DataTable();

            switch (billType)
            {
            case BillType.MaterialIn:
                dt = ds.Tables[0];
                var bill = ConvertHelper.DataTableToEntity <TB_BILL>(dt);
                dt = ds.Tables[1];
                var details = ConvertHelper.DataTableToList <TB_MATERIAL_IN>(dt);
                state = BillHandler.AddMaterialIn(bill, details);
                break;
            }
            return(state);
        }
Пример #13
0
 private void btnExecute_Click(object sender, EventArgs e)
 {
     if (_bill == null || _bill.单据编号 == null)
     {
         MessageHelper.ShowInfo("请选择单据!");
         return;
     }
     if (MessageHelper.ShowQuestion("确定要执行选定的领用还回单?") == DialogResult.Yes)
     {
         SpareEntities db         = EntitiesFactory.CreateSpareInstance();
         var           returnlist = db.TB_RETURN.Where(p => p.BillNum == _bill.单据编号).ToList();
         BillHandler.ExecuteSpareReturn(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), returnlist);
         EntitiesFactory.SaveDb(db);
         NotifyController.AddStockSafeQty(db, GlobalVar.Oper.OperName);
         MessageHelper.ShowInfo("保存成功!");
     }
 }
Пример #14
0
 private void btnCancel_Click(object sender, EventArgs e)
 {
     if (_inventoryLoc == null || _inventoryLoc.BillNum == null)
     {
         MessageHelper.ShowInfo("请选择单据!");
         return;
     }
     try
     {
         BillHandler.CancelInventoryLoc(_db, _inventoryLoc);
         MessageHelper.ShowInfo("取消盘点库位:" + _inventoryLoc.BillNum + "." + _inventoryLoc.LocCode);
     }
     catch (Exception ex)
     {
         MessageHelper.ShowError(ex.ToString());
         throw;
     }
 }
Пример #15
0
 private void btnSave_Click(object sender, EventArgs e)
 {
     try
     {
         bs.EndEdit();
         if (_bill.单据类型 != (int)BillType.InventoryPlan)
         {
             MessageHelper.ShowError("请输入有效的单据类型!盘点单据类型为:" + (int)BillType.InventoryPlan);
             return;
         }
         var detailList = new List <TB_INVENTORY_LOC>();
         foreach (var group in _listGroup)
         {
             if (group.IsCheck)
             {
                 var loclist = _db.TA_STORE_LOCATION.Where(p => p.GroupCode == group.GroupCode).ToList();
                 foreach (var loc in loclist)
                 {
                     var detail = new TB_INVENTORY_LOC()
                     {
                         LocCode  = loc.LocCode,
                         BillTime = DateTime.Now,
                         State    = 0
                     };
                     detailList.Add(detail);
                 }
             }
         }
         if (detailList.Count == 0)
         {
             MessageHelper.ShowError("请选择要盘点的库位!");
             return;
         }
         //List<TB_ASK> detailList = (from TB_ASK d in _list select d).ToList();
         SpareEntities db = EntitiesFactory.CreateSpareInstance();
         BillHandler.AddInventoryLoc(db, _bill.VWToBill(GlobalVar.Oper.DeptCode), detailList);
         EntitiesFactory.SaveDb(db);
         MessageHelper.ShowInfo("保存成功!");
     }
     catch (Exception ex)
     {
         MessageHelper.ShowInfo(ex.ToString());
     }
 }
Пример #16
0
 private void btnAdjust_Click(object sender, EventArgs e)
 {
     if (_bill == null || _bill.单据编号 == null)
     {
         MessageHelper.ShowInfo("请选择单据!");
         return;
     }
     if (_bill.状态 != (int)BillState.New && _bill.状态 != (int)BillState.Handling)
     {
         MessageHelper.ShowError("非新建或执行中单据,禁止对库存进行调整!");
         return;
     }
     if (MessageHelper.ShowQuestion("是否确定要对库存进行调整?") == DialogResult.Yes)
     {
         BillHandler.AdjustStockByInventoryLoc(_db, _bill.VWToBill(GlobalVar.Oper.DeptCode));
         EntitiesFactory.SaveDb(_db);
         NotifyController.AddStockSafeQty(_db, GlobalVar.Oper.OperName);
         MessageHelper.ShowInfo("调整库存成功!");
         SetMasterDataSource(grid.PageSize);
     }
 }
Пример #17
0
 public void UpdateSortBill(TS_SORT_BILL sortBill)
 {
     BillHandler.UpdateSortBill("", sortBill);
 }
Пример #18
0
 public BillHandler setNext(BillHandler next)
 {
     this.next = next;
     return(this.next);
 }
Пример #19
0
        private static void GetOAData(InterfaceEntities OAdb, SpareEntities db)
        {
            var SparePartlist = new List <TA_PART>();
            var SpareBillList = new List <TB_BILL>();
            var SparePOList   = new List <TB_PO>();
            //同步零件号
            var partlist = OAdb.OA_PART.Where(p => p.IsSyn == 0).ToList();

            if (partlist.Count > 0)
            {
                foreach (var part in partlist)
                {
                    var SparePart = PartController.GetPartByPartCode(db, part.code);
                    if (SparePart == null)
                    {
                        SparePart = new TA_PART();
                    }
                    SparePart.PartCode    = part.code;
                    SparePart.ErpPartCode = part.code;
                    SparePart.PartDesc1   = part.engname;
                    SparePart.PartDesc2   = part.name;
                    SparePart.Unit        = part.unit;
                    SparePart.BM          = "B";
                    SparePartlist.Add(SparePart);
                }
                PartController.AddOrUpdate(db, SparePartlist);
                NotifyController.AddNotify(db, GlobalVar.OperName, NotifyType.OAInterfaceBase, "", "");
            }

            //同步采购订单
            var OAPOBill = OAdb.OA_PO_MAIN.FirstOrDefault(p => p.IsSyn == 0);

            if (OAPOBill != null)
            {
                var _bill = new TB_BILL()
                {
                    BillNum  = OAPOBill.orderno,
                    BillType = (int)BillType.PuchaseOrder,
                    BillTime = DateTime.Now,
                    OperName = OAPOBill.@operator,
                    SplyId   = OAPOBill.suppliername,
                    Remark   = OAPOBill.remark
                };
                SpareBillList.Add(_bill);
                OAPOBill.IsSyn = 1;
                OAdb.OA_PO_MAIN.AddOrUpdate(OAPOBill);
                var OAPOList = OAdb.OA_PO_SUB.Where(p => p.OAMainID == OAPOBill.OAID);
                foreach (var oaPoSub in OAPOList)
                {
                    var SparePo = new TB_PO()
                    {
                        BillNum  = _bill.BillNum,
                        Line     = Convert.ToInt32(oaPoSub.prln),
                        PartCode = oaPoSub.itemnumber,
                        BillQty  = (decimal)oaPoSub.qty
                    };
                    SparePOList.Add(SparePo);
                }

                BillHandler.AddPO(db, SpareBillList, SparePOList);
                NotifyController.AddNotify(db, GlobalVar.OperName, NotifyType.OAInterfacePO, "", "");
            }
        }
Пример #20
0
 public InPlacePizzaOrder()
 {
     this.billHandler = new BillHandler(10, 10, 10, 10, 10);
 }