Exemplo n.º 1
0
        private void BgwFromErpDoWork(object sender, DoWorkEventArgs e)
        {
            SpareEntities     db   = EntitiesFactory.CreateSpareInstance();
            InterfaceEntities OAdb = EntitiesFactory.CreateInterfaceInstance();

            ReadErpFiles(db);
            GetOAData(OAdb, db);
            EntitiesFactory.SaveDb(db);
            EntitiesFactory.SaveDb(OAdb);
        }
Exemplo n.º 2
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, "", "");
            }
        }