Beispiel #1
0
        public static void SyncProductPlanTemplate()
        {
            var rowVersionList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductPlanRpc/GetRowVersion", SysConfig.Current.AccountingUnit_ID).Select(obj => new Tuple <long, int>(obj.Get <long>("ID"), obj.Get <int>("RowVersion"))).ToList();
            var folder         = Path.Combine(Util.DataFolder, typeof(ClientProductPlan).Name);

            BeforeWriteFile(rowVersionList, folder);
            var productPlanResult = RpcFacade.Call <IList <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductPlanRpc/GetProductPlanInfo", rowVersionList.Select(x => new long?(x.Item1)).ToArray());

            foreach (var obj in productPlanResult)
            {
                var clientBill = new ClientProductPlan();
                clientBill.ID         = obj.Get <long>("ID");
                clientBill.PlanNumber = obj.Get <string>("PlanNumber");
                clientBill.SyncDate   = DateTime.Today;
                clientBill.PlanDate   = obj.Get <DateTime>("PlanDate");
                var           rowVersion = obj.Get <int>("RowVersion");
                XmlSerializer serializer = new XmlSerializer(typeof(ClientProductPlan));
                using (var stream = File.Open(Path.Combine(folder, clientBill.ID + ".xml"), FileMode.Create))
                {
                    serializer.Serialize(stream, clientBill);
                }

                using (var stream = File.CreateText(Path.Combine(folder, clientBill.ID + ".ver")))
                {
                    stream.Write(rowVersion);
                }
            }
        }
Beispiel #2
0
 private void LoginForm_Closing(object sender, CancelEventArgs e)
 {
     if (RpcFacade.IsLogedIn)
     {
         RpcFacade.Logout();
     }
 }
Beispiel #3
0
        private void ProductInStoreConfirmOK_Load(object sender, EventArgs e)
        {
            var list = RpcFacade.Call <List <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/GetRpcEasyProductInStoreDetailById", long.Parse(pId));

            listView1.BeginUpdate();
            foreach (RpcObject item in list)
            {
                var lvItem = new ListViewItem(item.Get <string>("Goods_Name"));
                try
                {
                    lvItem.SubItems.Add(item.Get <decimal>("SecondNumber").ToString());
                    lvItem.SubItems.Add(item.Get <decimal>("Number").ToString());

                    var goods = new ClientGoods();
                    goods.Bill_ID      = long.Parse(pId);
                    goods.ID           = item.Get <long>("ID");
                    goods.Goods_Name   = item.Get <string>("Goods_Name");
                    goods.Goods_Number = item.Get <decimal>("Number");
                    lvItem.Tag         = goods;
                }
                catch (Exception)
                {
                    lvItem.SubItems.Add("");
                }
                listView1.Items.Add(lvItem);
            }
            listView1.EndUpdate();
        }
Beispiel #4
0
        void LoadGoodsFromRpc()
        {
            var list = RpcFacade.Call <List <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProduceOutputRpc/GetTodayGoodsByStore", SysConfig.Current.AccountingUnit_ID, SysConfig.Current.Department_ID, mStoreId, mProductPlanId);

            listView1.BeginUpdate();
            listView1.Items.Clear();
            foreach (RpcObject item in list)
            {
                var goods = new ClientGoods();
                goods.Goods_ID              = item.Get <long>("Goods_ID");
                goods.Goods_Name            = item.Get <string>("Goods_Name");
                goods.Goods_Number          = item.Get <decimal?>("Number");
                goods.Goods_SecondNumber    = item.Get <decimal?>("InnerPackingPer");
                goods.Goods_InnerPackingPer = item.Get <decimal?>("Goods_InnerPackingPer");

                var lvItem = new ListViewItem(goods.Goods_Name);
                lvItem.Tag = goods;
                lvItem.SubItems.Add(goods.Goods_Number.ToString());
                lvItem.SubItems.Add(goods.Goods_Number.ToString());
                lvItem.SubItems.Add(goods.Goods_SecondNumber.ToString());

                listView1.Items.Add(lvItem);
                //listView1.Items[]
            }
            listView1.EndUpdate();
        }
Beispiel #5
0
 public static DomainUserProfileUtil GetDomainUserProfileUtil()
 {
     try
     {
         var domainUserProfileUtilRpc = RpcFacade.Call <RpcObject>("/MainSystem/B3_JiuLian/Rpcs/ButcherTouchScreenRpc/DomainUserProfileUtilRpc/GetDomainUserProfileUtil");
         var domainUserProfileUtil    = new DomainUserProfileUtil
         {
             Store_ID                         = domainUserProfileUtilRpc.Get <long?>("Store_ID"),
             Store_Name                       = domainUserProfileUtilRpc.Get <string>("Store_Name"),
             InStoreType_ID                   = domainUserProfileUtilRpc.Get <long?>("InStoreType_ID"),
             InStoreType_Name                 = domainUserProfileUtilRpc.Get <string>("InStoreType_Name"),
             FrozenStore_ID                   = domainUserProfileUtilRpc.Get <long?>("FrozenStore_ID"),
             FrozenStore_Name                 = domainUserProfileUtilRpc.Get <string>("FrozenStore_Name"),
             OtherInStoreType_ID              = domainUserProfileUtilRpc.Get <long?>("OtherInStoreType_ID"),
             OtherInStoreType_Name            = domainUserProfileUtilRpc.Get <string>("OtherInStoreType_Name"),
             OtherOutStoreAccountingUnit_ID   = domainUserProfileUtilRpc.Get <long?>("OtherOutStoreAccountingUnit_ID"),
             OtherOutStoreAccountingUnit_Name = domainUserProfileUtilRpc.Get <string>("OtherOutStoreAccountingUnit_Name"),
             OtherOutStoreStore_ID            = domainUserProfileUtilRpc.Get <long?>("OtherOutStoreStore_ID"),
             OtherOutStoreStore_Name          = domainUserProfileUtilRpc.Get <string>("OtherOutStoreStore_Name")
         };
         return(domainUserProfileUtil);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Beispiel #6
0
        public MainForm()
        {
            InitializeComponent();
            Util.SetSceen(this);
            InitButtons();

            if (Util.OnceLogined)
            {
                //查询用户区域和用户ID
                var domainUser = RpcFacade.Call <RpcObject>("/MainSystem/B3Frameworks/Rpcs/DomainRpc/GetCurrentDoaminUser");
                mConfig           = SysConfig.Current;
                mConfig.Domain_ID = domainUser.Get <long>("Domain_ID");
                mConfig.User_ID   = domainUser.Get <long>("User_ID");
                mConfig.Save();
            }

            statusBar1.Text = Util.UserStatus;

            DeleteYesTerDay <ClientProductInStoreBillSave>();
            DeleteYesTerDay <ClientProductLinkBillSave>();
            DeleteYesTerDay <ClientProduceOutputBillSave>();


            sendBillThread = new Thread(new ThreadStart(SendBillSync));
            sendBillThread.Start();
        }
Beispiel #7
0
        private void buttonSave_Click(object sender, EventArgs e)
        {
            var config     = SysConfig.Current;
            var urlChanged = false;

            if (config.ServerUrl != textBoxServerUrl.Text)
            {
                config.ServerUrl = textBoxServerUrl.Text;
                urlChanged       = true;
            }

            var usageModes = UsageMode.empty;

            foreach (ListViewItem item in listView1.Items)
            {
                if (!item.Checked)
                {
                    continue;
                }
                usageModes = usageModes | (UsageMode)item.Tag;
            }

            config.UsageModes        = usageModes;
            config.AccountingUnit_ID = long.Parse(textBoxAccountingUnitID.Text);

            config.Save();
            if (urlChanged)
            {
                RpcFacade.ReInit(config.ServerUrl);
            }
            MessageBox.Show("保存成功");
            this.Close();
        }
Beispiel #8
0
        private void FrozenInStoreConfirmScan_Load(object sender, EventArgs e)
        {
            //不做离线,直接从接口取
            var listObj = RpcFacade.Call <List <RpcObject> >("/MainSystem/B3Butchery/Rpcs/BaseInfoRpc/SyncFrozenStore");
            var list    = new List <ClientStore>();

            foreach (RpcObject obj in listObj)
            {
                var store = new ClientStore();
                store.ID   = obj.Get <long>("ID");
                store.Name = obj.Get <string>("Name");
                list.Add(store);
            }
            _storeList              = list;
            comboBox1.DataSource    = _storeList;
            comboBox1.DisplayMember = "Name";
            comboBox1.ValueMember   = "ID";

            var productPlanObj  = RpcFacade.Call <List <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProduceOutputRpc/GetProductPlan");
            var productPlanList = new List <ClientProductPlan>();

            foreach (RpcObject obj in productPlanObj)
            {
                var productPlan = new ClientProductPlan();
                productPlan.ID         = obj.Get <long>("ID");
                productPlan.PlanNumber = obj.Get <string>("PlanNumber");
                productPlanList.Add(productPlan);
            }
            _productPlanList        = productPlanList;
            comboBox2.DataSource    = _productPlanList;
            comboBox2.DisplayMember = "PlanNumber";
            comboBox2.ValueMember   = "ID";
        }
Beispiel #9
0
        public static long ProductInStoreSaveAndCheck(ClientProduceOutputBillSave dmo)
        {
            try
            {
                #region 产出单
                var mainObj   = "/MainSystem/B3Butchery/BO/ProductInStore";
                var detailObj = "/MainSystem/B3Butchery/BO/ProductInStore_Detail";

                var obj = new RpcObject(mainObj);
                obj.Set("ID", dmo.ID);
                ManyList Details = new ManyList(detailObj);

                foreach (var detail in dmo.Details)
                {
                    var objDetail = new RpcObject(detailObj);
                    objDetail.Set("ProductInStore_ID", detail.Bill_ID);
                    objDetail.Set("ID", detail.ID);
                    objDetail.Set("Goods_ID", detail.Goods_ID);
                    objDetail.Set("Number", detail.Goods_Number);
                    Details.Add(objDetail);
                }
                obj.Set("Details", Details);
                var id = RpcFacade.Call <long>("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/ProductInStoreSaveAndCheck", obj);
                return(id);

                #endregion
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex.ToString());
                return(-2);
            }
        }
Beispiel #10
0
        /// <summary>
        /// 根据部门生产计划同步存货 每次都删除重新创建
        /// </summary>
        public static void SyncGoodsByDepartPlan()
        {
            var folder = Path.Combine(Util.DataFolder, typeof(ClientGoods).Name);

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            var files = Directory.GetFiles(folder, "*.xml");

            foreach (var file in files)
            {
                File.Delete(file);
            }

            var list = RpcFacade.Call <IList <RpcObject> >("/MainSystem/B3Butchery/Rpcs/GoodsInfoRpc/GetByDepartPlan", SysConfig.Current.Department_ID);

            List <ClientGoods> clientList = list.Select(x => (ClientUtil.CreateClientGoods(x))).ToList <ClientGoods>();

            XmlSerializer serializer = new XmlSerializer(typeof(List <ClientGoods>));

            using (var stream = File.Open(Path.Combine(folder, DateTime.Now.ToString("yyyy-MM-dd") + ".xml"), FileMode.Create))
            {
                serializer.Serialize(stream, clientList);
            }
        }
Beispiel #11
0
        public static void SyncStore()
        {
            var folder = Path.Combine(Util.DataFolder, typeof(ClientStore).Name);

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            var files = Directory.GetFiles(folder, "*.xml");

            foreach (var file in files)
            {
                File.Delete(file);
            }

            var list = RpcFacade.Call <List <RpcObject> >("/MainSystem/B3Butchery/Rpcs/BaseInfoRpc/SyncStores");

            List <ClientStore> clientList = list.Select(x => (new ClientStore {
                ID = x.Get <long>("ID"), Name = x.Get <string>("Name"), BarCode = x.Get <string>("Code")
            })).ToList <ClientStore>();

            XmlSerializer serializer = new XmlSerializer(typeof(List <ClientStore>));

            using (var stream = File.Open(Path.Combine(folder, DateTime.Now.ToString("yyyy-MM-dd") + ".xml"), FileMode.Create))
            {
                serializer.Serialize(stream, clientList);
            }
        }
Beispiel #12
0
        public static void SyncProductInStoreTemplate()
        {
            var rowVersionList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/GetRowVersion", SysConfig.Current.AccountingUnit_ID).Select(obj => new Tuple <long, int>(obj.Get <long>("ID"), obj.Get <int>("RowVersion"))).ToList();
            var folder         = Path.Combine(Util.DataFolder, typeof(ClientProductInStore).Name);

            BeforeWriteFile(rowVersionList, folder);
            var templateList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/GetProductInStoreTemplate", rowVersionList.Select(x => new long?(x.Item1)).ToArray());

            foreach (var template in templateList)
            {
                var clientBill = new ClientProductInStore();
                clientBill.ID               = template.Get <long>("ID");
                clientBill.Name             = template.Get <string>("Name");
                clientBill.Department_ID    = template.Get <long>("Department_ID");
                clientBill.Department_Name  = template.Get <string>("Department_Name");
                clientBill.InStoreType_ID   = template.Get <long?>("InStoreType_ID");
                clientBill.InStoreType_Name = template.Get <string>("InStoreType_Name");
                var rowVersion = template.Get <int>("RowVersion");

                var storeDetailList = template.Get <IList <RpcObject> >("StoreDetails");
                foreach (var detail in storeDetailList)
                {
                    var storeDetail = new ClientProductInStore_StoreDetail();
                    storeDetail.Store_ID   = detail.Get <long>("Store_ID");
                    storeDetail.Store_Name = detail.Get <string>("Store_Name");
                    storeDetail.Store_Code = detail.Get <string>("Store_Code");
                    clientBill.StoreDetails.Add(storeDetail);
                }

                var goodsDetailList = template.Get <IList <RpcObject> >("GoodsDetails");
                foreach (var detail in goodsDetailList)
                {
                    var goodsDetail = new ClientProductInStore_GoodsDetail();
                    goodsDetail.Goods_ID   = detail.Get <long>("Goods_ID");
                    goodsDetail.Goods_Name = detail.Get <string>("Goods_Name");
                    goodsDetail.Goods_Code = detail.Get <string>("Goods_Code");
                    goodsDetail.Goods_UnitConvertDirection = string.Format("{0}", detail.Get <object>("Goods_UnitConvertDirection"));
                    goodsDetail.Goods_MainUnitRatio        = detail.Get <decimal?>("Goods_MainUnitRatio");
                    goodsDetail.Goods_SecondUnitRatio      = detail.Get <decimal?>("Goods_SecondUnitRatio");
                    clientBill.GoodsDetails.Add(goodsDetail);
                }

                XmlSerializer serializer = new XmlSerializer(typeof(ClientProductInStore));
                using (var stream = File.Open(Path.Combine(folder, clientBill.ID + ".xml"), FileMode.Create))
                {
                    serializer.Serialize(stream, clientBill);
                }


                using (var stream = File.CreateText(Path.Combine(folder, clientBill.ID + ".ver")))
                {
                    stream.Write(rowVersion);
                }
            }
        }
Beispiel #13
0
 public RpcMtFrontend(
     MtFrontendSettings settings,
     IClientTokenService clientTokenService,
     RpcFacade rpcFacade,
     IDateService dateService)
 {
     _settings           = settings;
     _clientTokenService = clientTokenService;
     _rpcFacade          = rpcFacade;
     _dateService        = dateService;
 }
Beispiel #14
0
        public static void SyncPersonalPieceTemplate()
        {
            var rowVersionList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3HR/Rpcs/PersonalPieceRpc/GetRowVersion", SysConfig.Current.AccountingUnit_ID).Select(obj => new Tuple <long, int>(obj.Get <long>("ID"), obj.Get <int>("RowVersion"))).ToList();
            var folder         = Path.Combine(Util.DataFolder, typeof(ClientPersonalPiece).Name);

            BeforeWriteFile(rowVersionList, folder);
            var templateList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3HR/Rpcs/PersonalPieceRpc/GetPersonalPieceTemplate", rowVersionList.Select(x => new long?(x.Item1)).ToArray());

            foreach (var template in templateList)
            {
                var clientBill = new ClientPersonalPiece();
                clientBill.ID              = template.Get <long>("ID");
                clientBill.Name            = template.Get <string>("Name");
                clientBill.Department_ID   = template.Get <long>("Department_ID");
                clientBill.Department_Name = template.Get <string>("Department_Name");
                var rowVersion = template.Get <int>("RowVersion");

                var employeeDetailList = template.Get <IList <RpcObject> >("EmployeeDetails");
                foreach (var detail in employeeDetailList)
                {
                    var employeeDetail = new ClientPersonalPiece_EmployeeDetail();
                    employeeDetail.Employee_ID   = detail.Get <long>("HREmployee_ID");
                    employeeDetail.Employee_Name = detail.Get <string>("HREmployee_Name");
                    employeeDetail.Employee_Code = detail.Get <string>("HREmployee_Code");
                    clientBill.EmployeeDetails.Add(employeeDetail);
                }

                var pieceItemDetailList = template.Get <IList <RpcObject> >("PieceItemDetails");
                foreach (var detail in pieceItemDetailList)
                {
                    var pieceItemDetail = new ClientPersonalPiece_PieceItemDetail();
                    pieceItemDetail.PieceItem_ID   = detail.Get <long>("PieceItem_ID");
                    pieceItemDetail.PieceItem_Name = detail.Get <string>("PieceItem_Name");
                    pieceItemDetail.PieceItem_Code = detail.Get <string>("PieceItem_Code");
                    pieceItemDetail.Job_ID         = detail.Get <long?>("Job_ID");
                    pieceItemDetail.Job_Name       = detail.Get <string>("Job_Name");
                    clientBill.PieceItemDetails.Add(pieceItemDetail);
                }

                XmlSerializer serializer = new XmlSerializer(typeof(ClientPersonalPiece));
                using (var stream = File.Open(Path.Combine(folder, clientBill.ID + ".xml"), FileMode.Create))
                {
                    serializer.Serialize(stream, clientBill);
                }


                using (var stream = File.CreateText(Path.Combine(folder, clientBill.ID + ".ver")))
                {
                    stream.Write(rowVersion);
                }
            }
        }
Beispiel #15
0
        private void buttonLogin_Click(object sender, EventArgs e)
        {
            var username = textBoxUsername.Text;
            var password = textBoxPassword.Text;

            try
            {
                this.Enabled = false;
                AppUtil.EnsureNetworkConnected();
                if (string.IsNullOrEmpty(SysConfig.Current.ServerUrl))
                {
                    throw new Exception("请先设置服务器Url");
                }
                var serverVersion = RpcFacade.Call <string>("/MainSystem/B3Butchery/Rpcs/ClientRpc/GetPdaVersion");
                if (serverVersion != Util.Version)
                {
                    throw new Exception(string.Format("服务器版本[{0}]与当前客户端版本[{1}]不匹配", serverVersion, Util.Version));
                }

                RpcFacade.Login(username, password);
                mConfig.Username = username;
                mConfig.Password = password;
                Util.OnceLogined = true;

                //记录会计单位名称 和部门ID,Name
                mConfig.AccountingUnit_Name = RpcFacade.Call <string>("/MainSystem/B3Butchery/Rpcs/BaseInfoRpc/GetAccountUnitNameById", mConfig.AccountingUnit_ID ?? 0);
                RpcObject depart = RpcFacade.Call <RpcObject>("/MainSystem/B3Butchery/Rpcs/BaseInfoRpc/GetDepartmentBaseInfoDto");
                mConfig.Department_ID    = depart.Get <long>("ID");
                mConfig.Department_Name  = depart.Get <string>("Name");
                mConfig.Department_Depth = depart.Get <int?>("Department_Depth");
                mConfig.Save();

                this.Enabled = true;
                new MainForm().ShowDialog();
            }
            catch (Exception ex)
            {
                if (mConfig.Username == username && mConfig.Password == password)
                {
                    this.Enabled = true;
                    new MainForm().ShowDialog();
                }
                else
                {
                    MessageBox.Show("用户离线登录失败," + ex.Message);
                }
            }
            finally
            {
                this.Enabled = true;
            }
        }
Beispiel #16
0
        private void DataSourceBind()
        {
            var list = RpcFacade.Call <List <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/GetProductInStoreList");

            listView1.BeginUpdate();
            foreach (RpcObject item in list)
            {
                var lvItem = new ListViewItem(item.Get <long>("ID").ToString());
                lvItem.SubItems.Add(item.Get <DateTime>("InStoreDate").ToShortDateString());
                listView1.Items.Add(lvItem);
            }
            listView1.EndUpdate();
        }
Beispiel #17
0
        private void button1_Click(object sender, EventArgs e)
        {
            List <string> ids = new List <string>();

            try
            {
                foreach (ListViewItem item in listView1.Items)
                {
                    if (item.Checked)
                    {
                        var goods  = item.Tag as ClientGoods;
                        var number = decimal.Parse(item.SubItems[2].Text);

                        var dmo = new RpcObject("/MainSystem/B3Butchery/BO/FrozenInStore");

                        dmo.Set("AccountingUnit_ID", SysConfig.Current.AccountingUnit_ID);
                        dmo.Set("Department_ID", SysConfig.Current.Department_ID);
                        dmo.Set("Store_ID", mStoreId);
                        dmo.Set("ProductionPlan_ID", mProductPlanId);

                        var detail = new RpcObject("/MainSystem/B3Butchery/BO/FrozenInStore_Detail");
                        detail.Set("Goods_ID", goods.Goods_ID);
                        detail.Set("Number", number);

                        dmo.Get <ManyList>("Details").Add(detail);

                        long id = RpcFacade.Call <long>("/MainSystem/B3Butchery/Rpcs/FrozenInStoreRpc/PdaInsertAndCheck", dmo);
                        ids.Add(id.ToString());
                    }
                }
                if (ids.Any(x => x == "0"))
                {
                    MessageBox.Show("没有速冻入库新建权限");
                    return;
                }
                if (ids.Any(x => x == "-1"))
                {
                    MessageBox.Show("没有速冻入库审核权限");
                    return;
                }
                MessageBox.Show("生成速冻入库单:" + string.Join(",", ids.ToArray()));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            finally
            {
                LoadGoodsFromRpc();
            }
        }
Beispiel #18
0
        public static void SyncProductLinkTemplate()
        {
            var rowVersionList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductLinkRpc/GetRowVersion", SysConfig.Current.AccountingUnit_ID).Select(obj => new Tuple <long, int>(obj.Get <long>("ID"), obj.Get <int>("RowVersion"))).ToList();
            var folder         = Path.Combine(Util.DataFolder, typeof(ClientProductLink).Name);

            BeforeWriteFile(rowVersionList, folder);
            var templateList = RpcFacade.Call <IEnumerable <RpcObject> >("/MainSystem/B3Butchery/Rpcs/ProductLinkRpc/GetProductLinkTemplate", rowVersionList.Select(x => new long?(x.Item1)).ToArray());

            foreach (var template in templateList)
            {
                var clientBill = new ClientProductLink();
                clientBill.ID              = template.Get <long>("ID");
                clientBill.Name            = template.Get <string>("Name");
                clientBill.Department_ID   = template.Get <long>("Department_ID");
                clientBill.Department_Name = template.Get <string>("Department_Name");
                clientBill.CollectType     = string.Format("{0}", template.Get <object>("CollectType"));
                clientBill.ProductLinks_ID = template.Get <long?>("ProductLinks_ID");
                if (Util.ExistError(() => string.IsNullOrEmpty(clientBill.CollectType), string.Format("No.{0} 模板中采集方式不能为空", clientBill.ID)))
                {
                    return;
                }
                var rowVersion = template.Get <int>("RowVersion");
                var detailList = template.Get <IList <RpcObject> >("Details");
                foreach (var detail in detailList)
                {
                    var d = new ClientProductLink_GoodsDetail();
                    d.Goods_ID   = detail.Get <long>("Goods_ID");
                    d.Goods_Name = detail.Get <string>("Goods_Name");
                    d.Goods_Code = detail.Get <string>("Goods_Code");
                    d.Goods_UnitConvertDirection = string.Format("{0}", detail.Get <object>("Goods_UnitConvertDirection"));
                    d.Goods_MainUnitRatio        = detail.Get <decimal?>("Goods_MainUnitRatio");
                    d.Goods_SecondUnitRatio      = detail.Get <decimal?>("Goods_SecondUnitRatio");
                    clientBill.Details.Add(d);
                }

                XmlSerializer serializer = new XmlSerializer(typeof(ClientProductLink));
                using (var stream = File.Open(Path.Combine(folder, clientBill.ID + ".xml"), FileMode.Create))
                {
                    serializer.Serialize(stream, clientBill);
                }

                using (var stream = File.CreateText(Path.Combine(folder, clientBill.ID + ".ver")))
                {
                    stream.Write(rowVersion);
                }
            }
        }
Beispiel #19
0
        public static void SyncProductInStore()
        {
            try
            {
                #region 成品出库
                string productInStoreFoder = Path.Combine(Util.DataFolder, typeof(ClientProductInStore).Name);
                ClientProductInStore productInStore;
                if (!Directory.Exists(productInStoreFoder))
                {
                    Directory.CreateDirectory(productInStoreFoder);
                }
                string[] productInStoreFiles = Directory.GetFiles(productInStoreFoder, "*.xml");
                if (productInStoreFiles.Count() != 0 && Util.OnceLogined)
                {
                    foreach (var file in productInStoreFiles)
                    {
                        XmlSerializer serializer = new XmlSerializer(typeof(ClientProductInStore));
                        using (var stream = File.Open(file, FileMode.Open))
                        {
                            productInStore = serializer.Deserialize(stream) as ClientProductInStore;

                            if (productInStore.IsSend)
                            {
                                continue;
                            }
                            var mainObj   = "/MainSystem/B3Butchery/BO/ProductInStore";
                            var detailObj = "/MainSystem/B3Butchery/BO/ProductInStore_Detail";

                            var obj = new RpcObject(mainObj);
                            //obj.Set("Department_ID", productInStore.Department_ID);
                            //obj.Set("CreateTime", productInStore.CreateTime);
                            //obj.Set("Domain_ID", productInStore.Domain_ID);
                            //obj.Set("CreateUser_ID", productInStore.User_ID);
                            //obj.Set("PlanNumber_ID", productPlanGroupBy.Key);
                            //obj.Set("ProductLinks_ID", productLink.ProductLinks_ID);
                            ManyList Details = new ManyList(detailObj);

                            foreach (var detail in productInStore.GoodsDetails)
                            {
                                var objDetail = new RpcObject(detailObj);
                                objDetail.Set("Goods_ID", detail.Goods_ID);
                                objDetail.Set("Number", detail.Goods_Number);
                                Details.Add(objDetail);
                            }
                            obj.Set("Details", Details);

                            RpcFacade.Call <long>("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/InsertProductInStore", obj);
                        }

                        productInStore.IsSend = true;
                        using (var stream = File.Create(file))
                        {
                            serializer.Serialize(stream, productInStore);
                        }
                    }
                }
                #endregion
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex.ToString());
            }
        }
Beispiel #20
0
 public OrderBookController(RpcFacade rpcFacade)
 {
     _rpcFacade = rpcFacade;
 }
Beispiel #21
0
 void Init()
 {
     mConfig = SysConfig.Current;
     RpcFacade.Init(mConfig.ServerUrl, "B3ButcherCE");
     textBoxUsername.Text = mConfig.Username;
 }
Beispiel #22
0
        private void BeginUpdate()
        {
            if (string.IsNullOrEmpty(SysConfig.Current.ServerUrl))
            {
                throw new Exception("请先设置服务器Url");
            }

            var url = RpcFacade.Call <string>("/MainSystem/System/ClientCenter/GetClientUpdateUrl", AppUtil.AppName, Util.Version);

            if (string.IsNullOrEmpty(url))
            {
                MessageBox.Show("当前程序已经是最终版本");
                this.Close();
                return;
            }


            if (!AppUtil.IsWinCE)
            {
                MessageBox.Show("当前程序有新的版本可以下载");
                this.Close();
                return;
            }


            url = SysConfig.Current.ServerUrl + url;

            withProgreeLabel1.Text = "下载新的安装包";

            var request = HttpWebRequest.Create(url);

            var response = request.GetResponse();

            if (response.ContentType != "application/octet-stream")
            {
                throw new UpdateException("下载文件类型不正确" + response.ContentType);
            }

            var responseStream = response.GetResponseStream();

            var setupFile = Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
                                         "B3ButcheryCESetup.CAB");


            int bufferLength = 4096;

            withProgreeLabel1.Maximum = Convert.ToInt32(response.ContentLength / bufferLength) + 2;

            withProgreeLabel1.ShowProgressBar();


            byte[] buffer = new byte[bufferLength];
            using (var file = File.Open(setupFile, FileMode.Create))
            {
                int count = 0;
                do
                {
                    count = responseStream.Read(buffer, 0, buffer.Length);
                    file.Write(buffer, 0, count);
                    withProgreeLabel1.Value++;
                } while (count > 0);
            }

            response.Close();

            withProgreeLabel1.Text = "下载完成,开始安装";
            Thread.Sleep(1000);
            withProgreeLabel1.HiddenProgressBar();

            DeviceContext.Current.SetupCab(setupFile);
            Application.Exit();
        }
 public AccountsHistoryController(RpcFacade rpcFacade)
 {
     _rpcFacade = rpcFacade;
 }
Beispiel #24
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                var dmo = new ClientProduceOutputBillSave();
                dmo.ID = long.Parse(pId);

                foreach (ListViewItem item in listView1.Items)
                {
                    var goods  = item.Tag as ClientGoods;
                    var detail = new ClientGoods();
                    detail.Bill_ID      = goods.Bill_ID;
                    detail.ID           = goods.ID;
                    detail.Goods_ID     = goods.Goods_ID;
                    detail.Goods_Number = goods.Goods_Number;
                    dmo.Details.Add(detail);
                }
                var cprkId = SyncBillUtil.ProductInStoreSaveAndCheck(dmo);
                if (cprkId == 0)
                {
                    MessageBox.Show("没有成品入库新建权限");
                    return;
                }
                else if (cprkId == -1)
                {
                    MessageBox.Show("没有成品入库审核权限");
                    return;
                }
                MessageBox.Show("审核成功");
                state = 1;
                try
                {
                    //九联业务,如果九联模块用户个性设置中,{默认其他出库会计单位}{默认其他出库仓库}和单据相同,生成【其他出库单】
                    var id = RpcFacade.Call <long>("/MainSystem/B3_JiuLian/Rpcs/ButcherTouchScreenRpc/OtherOutStoreRpc/OtherOutStoreInsertAndCheck", long.Parse(pId));
                    if (id == 0)
                    {
                        MessageBox.Show("没有其他出库新建权限");
                        return;
                    }
                    else if (id == -1)
                    {
                        MessageBox.Show("没有其他出库审核权限");
                        return;
                    }
                    else if (id == -2)
                    {
                        return;
                    }
                    else if (id == -3)
                    {
                        return;
                    }
                    MessageBox.Show("生成已审核其他出库No." + id);
                }
                catch (Exception)
                {
                }
                //RpcFacade.Call<List<RpcObject>>("/MainSystem/B3Butchery/Rpcs/ProductInStoreRpc/ProductInStoreCheck", long.Parse(pId));
                //MessageBox.Show("审核成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                this.Close();
            }
        }
Beispiel #25
0
 public InitController(RpcFacade rpcFacade, IDateService dateService)
 {
     _rpcFacade   = rpcFacade;
     _dateService = dateService;
 }