Beispiel #1
0
        private void bt_getpo_Click(object sender, EventArgs e)
        {
            EntityPO_Pomain doc = new EntityPO_Pomain();

            doc.cPOID     = tx_cCode.Text == "" ? "1" : tx_cCode.Text;
            textBox1.Text = QueryCode(8015, JsonConvert.SerializeObject(doc));
        }
Beispiel #2
0
        private void bt_pomain_Click(object sender, EventArgs e)
        {
            EntityPO_Pomain doc = new EntityPO_Pomain();

            doc.cPOID    = "11611314";
            doc.dPODate  = DateTime.Parse("2018-4-09");
            doc.cVenCode = "SZ0046";
            List <EntityPO_PoDetails> list = new List <EntityPO_PoDetails>();

            list.Add(new EntityPO_PoDetails
            {
                cInvCode    = "403103",
                iQuantity   = 500,
                iTaxPrice   = decimal.Parse("4.69"),
                iPerTaxRate = 17,
                iSum        = decimal.Parse("2345")
            }
                     );

            doc.Details = list;
            string entity = JsonConvert.SerializeObject(doc);

            string postUrl = string.Format(@"{0}={1}&ModelType=8015", addpara, entity);
            string result  = SendHttpRequest(addurl, postUrl, "POST");

            textBox1.Text = result;
        }
Beispiel #3
0
        public string AddModels(string UserCode, string CipherPassword, int ModelType,
                                string StrAccID, string Act, string Entity)
        {
            //Entity = System.Web.HttpUtility.UrlDecode(Entity);
            string plainPassword = DefineEncryptDecrypt.Decrypt(CipherPassword);
            int    AccYear       = U8BllBase.GetBeginYear(StrAccID);

            if (AccYear == 0)
            {
                return(ControllerHelp.GetReturnStr(0, string.Format("没有找到账套号:{0}", StrAccID)));
            }
            int        success = 0;
            ModelsType mt      = (ModelsType)ModelType;

            switch (mt)
            {
            case ModelsType.Sale:     // 销售订单
                lock (SaleLock)
                {
                    if (Act == "add")
                    {
                        EntitySaleHead entity = JsonConvert.DeserializeObject <EntitySaleHead>(Entity);
                        SoMainBll      bll    = new SoMainBll(StrAccID, AccYear, UserCode, plainPassword);
                        var            result = bll.AddSale(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.RdRecord09:     // 配送出库单(其他出库单)
                lock (RdRecord09Lock)
                {
                    if (Act == "add")
                    {
                        EntityRdRecord09Head entity = JsonConvert.DeserializeObject <EntityRdRecord09Head>(Entity);
                        RdRecord09Bll        bll    = new RdRecord09Bll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddRdRecord09(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.DispatchList1:    //销售退货单
            case ModelsType.DispatchList4:    //委托代销退货单
                lock (DispatchList1Lock)
                {
                    if (Act == "add")
                    {
                        EntityDispatchListHead entity = JsonConvert.DeserializeObject <EntityDispatchListHead>(Entity);
                        DispatchListBll        bll    = new DispatchListBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddDispatchList(UserCode, plainPassword, StrAccID, AccYear, Act, ModelsType.DispatchList1 == mt ? 0 : 1, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.DispatchList2:    //销售发货单
            case ModelsType.DispatchList3:    //委托代销发货单
                lock (DispatchList2Lock)
                {
                    if (Act == "add")
                    {
                        EntityDispatchListHead entity = JsonConvert.DeserializeObject <EntityDispatchListHead>(Entity);
                        DispatchListBll        bll    = new DispatchListBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddDispatchList(UserCode, plainPassword, ModelType, StrAccID, AccYear, Act, ModelsType.DispatchList2 == mt ? 0 : 1, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.Ap_CloseBill:    //收款单
                lock (Ap_CloseBillLock)
                {
                    if (Act == "add")
                    {
                        EntityAp_CloseBillHead entity = JsonConvert.DeserializeObject <EntityAp_CloseBillHead>(Entity);
                        Ap_CloseBillBll        bll    = new Ap_CloseBillBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddAp_CloseBill(UserCode, plainPassword, StrAccID, AccYear, Act, ModelType, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.Ap_Vouch:    //其他应付款
                lock (Ap_VouchLock)
                {
                    if (Act == "add")
                    {
                        EntityAp_VouchHead entity = JsonConvert.DeserializeObject <EntityAp_VouchHead>(Entity);
                        Ap_VouchBll        bll    = new Ap_VouchBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddAp_Vouch(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.PO_Pomain:    //采购订单
                lock (PO_PomainLock)
                {
                    if (Act == "add")
                    {
                        EntityPO_Pomain entity = JsonConvert.DeserializeObject <EntityPO_Pomain>(Entity);
                        PO_PomainBll    bll    = new PO_PomainBll(StrAccID, AccYear, UserCode, plainPassword);
                        var             result = bll.AddPO_Pomain(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.RdRecord01:    //采购入库单
                lock (RdRecord01Lock)
                {
                    if (Act == "add")
                    {
                        EntityRdRecord01Head entity = JsonConvert.DeserializeObject <EntityRdRecord01Head>(Entity);
                        RdRecord01Bll        bll    = new RdRecord01Bll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddRdRecord01(UserCode, plainPassword, StrAccID, AccYear, Act, 0, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.PayAp_CloseBill:     //付款单
                lock (PayAp_CloseBillLock)
                {
                    if (Act == "add")
                    {
                        EntityAp_CloseBillHead entity = JsonConvert.DeserializeObject <EntityAp_CloseBillHead>(Entity);
                        Ap_CloseBillBll        bll    = new Ap_CloseBillBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddAp_CloseBill(UserCode, plainPassword, StrAccID, AccYear, Act, ModelType, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.ST_AppTransVouch:     //调拨申请单
                lock (ST_AppTransVouchLock)
                {
                    if (Act == "add")
                    {
                        EntityST_AppTransVouch entity = JsonConvert.DeserializeObject <EntityST_AppTransVouch>(Entity);
                        ST_AppTransVouchBll    bll    = new ST_AppTransVouchBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddST_AppTransVouch(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.TransVouch:     //调拨单
                lock (TransVouchLock)
                {
                    if (Act == "add")
                    {
                        EntityTransVouch entity = JsonConvert.DeserializeObject <EntityTransVouch>(Entity);
                        TransVouchBll    bll    = new TransVouchBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddTransVouch(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.Vendor:     //供应商
                lock (VendorLock)
                {
                    if (Act == "add")
                    {
                        EntityVendor entity = JsonConvert.DeserializeObject <EntityVendor>(Entity);
                        VendorBll    bll    = new VendorBll(StrAccID, AccYear, UserCode, plainPassword);
                        var          result = bll.AddVendor(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.CheckVouch:     //盘点单
                lock (VendorLock)
                {
                    if (Act == "add")
                    {
                        EntityCheckVouchHead entity = JsonConvert.DeserializeObject <EntityCheckVouchHead>(Entity);
                        CheckVouchBll        bll    = new CheckVouchBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddCheckVouch(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.InventoryClass:     //存货分类
                lock (InventoryClassLock)
                {
                    if (Act == "add")
                    {
                        EntityInventoryClass entity = JsonConvert.DeserializeObject <EntityInventoryClass>(Entity);
                        InventoryClassBll    bll    = new InventoryClassBll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddInventoryClass(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.Inventory:     //存货档案
                lock (InventoryLock)
                {
                    if (Act == "add")
                    {
                        EntityInventory entity = JsonConvert.DeserializeObject <EntityInventory>(Entity);
                        InventoryBll    bll    = new InventoryBll(StrAccID, AccYear, UserCode, plainPassword);
                        var             result = bll.AddInventory(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.WareHouse:     //仓库档案
                lock (WareHouseLock)
                {
                    if (Act == "add")
                    {
                        EntityWareHouse entity = JsonConvert.DeserializeObject <EntityWareHouse>(Entity);
                        WareHouseBll    bll    = new WareHouseBll(StrAccID, AccYear, UserCode, plainPassword);
                        var             result = bll.AddWareHouse(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.Customer:     //客户档案
                lock (CustomerLock)
                {
                    if (Act == "add")
                    {
                        EntityCustomer entity = JsonConvert.DeserializeObject <EntityCustomer>(Entity);
                        CustomerBll    bll    = new CustomerBll(StrAccID, AccYear, UserCode, plainPassword);
                        var            result = bll.AddCustomer(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }

            case ModelsType.RdRecord01T:    //红字采购入库单
                lock (RdRecord01TLock)
                {
                    if (Act == "add")
                    {
                        EntityRdRecord01Head entity = JsonConvert.DeserializeObject <EntityRdRecord01Head>(Entity);
                        RdRecord01Bll        bll    = new RdRecord01Bll(StrAccID, AccYear, UserCode, plainPassword);
                        var result = bll.AddRdRecord01(UserCode, plainPassword, StrAccID, AccYear, Act, 1, entity, out success);
                        return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                    }
                    break;
                }
            }

            return(ControllerHelp.GetReturnStr(0, "AddModels中没有找到可对应的操作项"));
        }
Beispiel #4
0
        public string GetModels(string UserCode, string CipherPassword, int ModelType,
                                string StrAccID, string Act, string Entity, string dModifyDate)
        {
            //Entity = System.Web.HttpUtility.UrlDecode(Entity);
            string plainPassword = DefineEncryptDecrypt.Decrypt(CipherPassword);
            int    AccYear       = U8BllBase.GetBeginYear(StrAccID);

            if (AccYear == 0)
            {
                return(ControllerHelp.GetReturnStr(0, string.Format("没有找到账套号{0}", StrAccID)));
            }
            ModelsType mt  = (ModelsType)ModelType;
            string     msg = "";

            switch (mt)
            {
            case ModelsType.CurrentStock:     // 库存量查询
                if (Act == "get")
                {
                    EntityCurrentStock        entity = JsonConvert.DeserializeObject <EntityCurrentStock>(Entity);
                    CurrentStockBll           bll    = new CurrentStockBll(StrAccID, AccYear, UserCode, plainPassword);
                    List <EntityCurrentStock> list   = bll.GetCurrentStock(entity, out msg);
                    return(ControllerHelp.GetReturnStr(string.IsNullOrWhiteSpace(msg) ? 1 : 0, "", list));
                }
                break;

            case ModelsType.Sale:     // 查询销售订单是否存在 1表示不存在,2表示存在
                if (Act == "query")
                {
                    SoMainBll      bll    = new SoMainBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntitySaleHead entity = JsonConvert.DeserializeObject <EntitySaleHead>(Entity);
                    int            num    = bll.QuerySale(entity.cSOCode);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.DispatchList1:     //退货单 1表示不存在,2表示存在
                if (Act == "query")
                {
                    DispatchListBll        bll    = new DispatchListBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityDispatchListHead entity = JsonConvert.DeserializeObject <EntityDispatchListHead>(Entity);
                    int num = bll.QueryDispatchList(entity.cDLCode);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.DispatchList2:     //发货单 1表示不存在,2表示存在
                if (Act == "query")
                {
                    DispatchListBll        bll    = new DispatchListBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityDispatchListHead entity = JsonConvert.DeserializeObject <EntityDispatchListHead>(Entity);
                    int num = bll.QueryDispatchList(entity.cDLCode);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.RdRecord09:     // 配送出库单(其他出库单) 1表示不存在,2表示存在
                if (Act == "query")
                {
                    RdRecord09Bll        bll    = new RdRecord09Bll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityRdRecord09Head entity = JsonConvert.DeserializeObject <EntityRdRecord09Head>(Entity);
                    int num = bll.QueryRdRecord09(entity.cCode);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.Ap_CloseBill:     //收款单(汇款通知单)1表示不存在,2表示存在
                if (Act == "query")
                {
                    Ap_CloseBillBll        bll    = new Ap_CloseBillBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityAp_CloseBillHead entity = JsonConvert.DeserializeObject <EntityAp_CloseBillHead>(Entity);
                    int num = bll.QueryAp_CloseBill(entity.cVouchID);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.PayAp_CloseBill:     //付款单(汇款通知单)1表示不存在,2表示存在
                if (Act == "query")
                {
                    Ap_CloseBillBll        bll    = new Ap_CloseBillBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityAp_CloseBillHead entity = JsonConvert.DeserializeObject <EntityAp_CloseBillHead>(Entity);
                    int num = bll.QueryAp_CloseBill(entity.cVouchID);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.ReturnAnalysis:     //退货分析表查询
                if (Act == "get")
                {
                    ReturnAnalysisBll                 bll    = new ReturnAnalysisBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityReturnAnalysisRQC           entity = JsonConvert.DeserializeObject <EntityReturnAnalysisRQC>(Entity);
                    List <EntityReturnAnalysisReport> list   = bll.GetReturnAnalysis(entity);
                    return(ControllerHelp.GetReturnStr(1, "", list));
                }
                break;

            case ModelsType.Customer:    //客户档案
                if (Act == "get")
                {
                    U8BllBase             bll      = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    EntityCustomer        entity   = JsonConvert.DeserializeObject <EntityCustomer>(Entity);
                    List <EntityCustomer> customer = bll.GetCustomer(entity.cCusCode);
                    return(ControllerHelp.GetReturnStr(1, "", customer));
                }
                break;

            case ModelsType.Vendor:    //供应商档案
                if (Act == "get")
                {
                    U8BllBase           bll    = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    List <EntityVendor> vendor = bll.GetVendor();
                    return(ControllerHelp.GetReturnStr(1, "", vendor));
                }
                break;

            case ModelsType.PurchaseType:    //采购类型
                if (Act == "get")
                {
                    U8BllBase bll = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    List <EntityPurchaseType> purchasetype = bll.GetPurchaseType();
                    return(ControllerHelp.GetReturnStr(1, "", purchasetype));
                }
                break;

            case ModelsType.Inventory:    //存货档案
                if (Act == "get")
                {
                    U8BllBase bll = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    List <EntityInventory> inventory = new List <EntityInventory>();
                    if (string.IsNullOrWhiteSpace(dModifyDate))
                    {
                        inventory = bll.GetInventory();
                    }
                    else
                    {
                        inventory = bll.GetInventory(Convert.ToDateTime(dModifyDate));
                    }
                    return(ControllerHelp.GetReturnStr(1, "", inventory));
                }
                break;

            case ModelsType.WareHouse:    //仓库档案(入库仓库)
                if (Act == "get")
                {
                    U8BllBase bll = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    List <EntityWareHouse> warehouse = bll.GetWareHouse();
                    return(ControllerHelp.GetReturnStr(1, "", warehouse));
                }
                break;

            case ModelsType.rd_Style:    //入库类别档案
                if (Act == "get")
                {
                    U8BllBase             bll      = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    List <Entityrd_Style> rd_style = bll.Getrd_Style();
                    return(ControllerHelp.GetReturnStr(1, "", rd_style));
                }
                break;

            case ModelsType.SettleStyle:    //结算方式
                if (Act == "get")
                {
                    U8BllBase bll = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    List <EntitySettleStyle> settlestyle = bll.GetSettleStyle();
                    return(ControllerHelp.GetReturnStr(1, "", settlestyle));
                }
                break;

            case ModelsType.CustomerProperty:    //经营属性
                if (Act == "get")
                {
                    U8BllBase bll      = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                    string    cuscode  = Entity;
                    var       customer = bll.GetCustomerProperty(cuscode);
                    return(ControllerHelp.GetReturnStr(1, "", customer));
                }
                break;

            case ModelsType.InventoryPrice:    //存货入库含税单价
                if (Act == "get")
                {
                    if (!string.IsNullOrWhiteSpace(Entity))
                    {
                        U8BllBase            bll    = new U8BllBase(StrAccID, AccYear, UserCode, plainPassword);
                        EntityInventoryPrice entity = JsonConvert.DeserializeObject <EntityInventoryPrice>(Entity);
                        var inventoryPrice          = bll.GetInventoryPrice(entity.cVenCode, entity.cInvCode);
                        return(ControllerHelp.GetReturnStr(1, "", inventoryPrice));
                    }
                }
                break;

            case ModelsType.PO_Pomain:     //采购订单
                if (Act == "query")
                {
                    PO_PomainBll    bll    = new PO_PomainBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityPO_Pomain entity = JsonConvert.DeserializeObject <EntityPO_Pomain>(Entity);
                    int             num    = bll.GetPO_Pomain(entity.cPOID);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.RdRecord01:     //采购入库单
                if (Act == "query")
                {
                    RdRecord01Bll        bll    = new RdRecord01Bll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityRdRecord01Head entity = JsonConvert.DeserializeObject <EntityRdRecord01Head>(Entity);
                    int num = bll.GetRdRecord01(entity.cCode);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;

            case ModelsType.Ap_Vouch:     //其他应付单
                if (Act == "query")
                {
                    Ap_VouchBll        bll    = new Ap_VouchBll(StrAccID, AccYear, UserCode, plainPassword);
                    EntityAp_VouchHead entity = JsonConvert.DeserializeObject <EntityAp_VouchHead>(Entity);
                    int num = bll.GetAp_Vouch(entity.cVouchID);
                    if (num == 0)
                    {
                        return(ControllerHelp.GetReturnStr(1, "new"));
                    }
                    else
                    {
                        return(ControllerHelp.GetReturnStr(2, "old"));
                    }
                }
                break;
            }

            return(ControllerHelp.GetReturnStr(0, "GetModels(查询)中没有找到可对应的操作项"));
        }
Beispiel #5
0
        public string InsertPO_Pomain(EntityPO_Pomain PO_PomainHead)
        {
            int?PO_PomainHeadID;

            if (PO_PomainHead == null || PO_PomainHead.Details == null || PO_PomainHead.Details.Count == 0)
            {
                throw new JRException("采购订单新增失败!没有数据!");
            }
            #region 验证
            int            num     = 0;
            string         cmdText = "select count(*) as Num from PO_Pomain where cPOID=@cPOID";
            SqlParameter[] paras   =
            {
                new SqlParameter("@cPOID", PO_PomainHead.cPOID)
            };
            DataTable dt = this.DB_SqlHelper.ExecuteDataTable(cmdText, paras);
            if (dt != null && dt.Rows.Count > 0)
            {
                num = int.Parse(dt.Rows[0]["Num"].ToString());
            }

            if (num > 0)
            {
                throw new JRException("数据传递有误,已存在该单号!");
            }
            #endregion
            int detailCount = PO_PomainHead.Details.Count;
            int head_id     = 0;
            int body_en_Id  = 0;
            GetId("00", "POMain", detailCount, out head_id, out body_en_Id);
            string         sql  = string.Format(@"insert into PO_Pomain(POID,cPOID,dPODate,cVenCode,cexch_name,nflat,iTaxRate,
                                        cMaker,cBusType,iDiscountTaxType,cmaketime,cState,cVerifier,iVTid,
                                        iverifystateex,cAuditDate,cAuditTime,csysbarcode)
                                        values
                                        (@POID,@cPOID,@dPODate,@cVenCode,@cexch_name,@nflat,@iTaxRate,
                                        @cMaker,@cBusType,@iDiscountTaxType,@cmaketime,@cState,@cVerifier,@iVTid,
                                        @iverifystateex,@cAuditDate,@cAuditTime,@csysbarcode)");
            SqlParameter[] para =
            {
                new SqlParameter("@POID",             head_id),
                new SqlParameter("@cPOID",            PO_PomainHead.cPOID),
                new SqlParameter("@dPODate",          PO_PomainHead.dPODate),
                new SqlParameter("@cVenCode",         PO_PomainHead.cVenCode),
                new SqlParameter("@cexch_name",       PO_PomainHead.cexch_name),
                new SqlParameter("@nflat",            PO_PomainHead.nflat),
                new SqlParameter("@iTaxRate",         PO_PomainHead.iTaxRate),
                new SqlParameter("@cMaker",           PO_PomainHead.cMaker),
                new SqlParameter("@cBusType",         PO_PomainHead.cBusType),
                new SqlParameter("@iDiscountTaxType", PO_PomainHead.iDiscountTaxType),
                new SqlParameter("@cmaketime",        DateTime.Now),
                new SqlParameter("@cState",           PO_PomainHead.cState),
                new SqlParameter("@cVerifier",        PO_PomainHead.cMaker),
                new SqlParameter("@iVTid",            PO_PomainHead.iVTid),
                new SqlParameter("@iverifystateex",   PO_PomainHead.iVerifyStateex),
                new SqlParameter("@cAuditDate",       DateTime.Now.ToShortDateString()),
                new SqlParameter("@cAuditTime",       DateTime.Now),
                new SqlParameter("@csysbarcode",      PO_PomainHead.cSysbarCode),
            };
            int headCount = this.DB_SqlHelper.ExecuteNonQuery(sql, para);
            if (headCount > 0)
            {
                try
                {
                    List <ExecuteHelp> sqlList = new List <ExecuteHelp>();
                    PO_PomainHeadID = GetPO_PomainHeadID(PO_PomainHead.cPOID);
                    for (int i = 0; i < detailCount; i++)
                    {
                        EntityPO_PoDetails body     = PO_PomainHead.Details[i];
                        string             bodySql  = string.Format(@"insert into PO_PoDetails(ID,cInvCode,iQuantity,iUnitPrice,iMoney,
                                                        iTax,iSum,iNatUnitPrice,iNatMoney,iNatTax,iNatSum,dArriveDate,
                                                        iPerTaxRate,POID,iTaxPrice)
                                                        values
                                                        (@ID,@cInvCode,@iQuantity,@iUnitPrice,@iMoney,
                                                        @iTax,@iSum,@iNatUnitPrice,@iNatMoney,@iNatTax,@iNatSum,@dArriveDate,
                                                        @iPerTaxRate,@POID,@iTaxPrice)");
                        SqlParameter[]     bodyPara =
                        {
                            new SqlParameter("@ID",            body_en_Id - detailCount + i + 1),
                            new SqlParameter("@cInvCode",      body.cInvCode),
                            new SqlParameter("@iQuantity",     body.iQuantity),
                            new SqlParameter("@iUnitPrice",    body.iUnitPrice),
                            new SqlParameter("@iMoney",        body.iMoney),
                            new SqlParameter("@iTax",          body.iTax),
                            new SqlParameter("@iSum",          body.iSum),
                            new SqlParameter("@iNatUnitPrice", body.iNatUnitPrice),
                            new SqlParameter("@iNatMoney",     body.iNatMoney),
                            new SqlParameter("@iNatTax",       body.iNatTax),
                            new SqlParameter("@dArriveDate",   DateTime.Now),
                            new SqlParameter("@iNatSum",       body.iNatSum),
                            new SqlParameter("@iPerTaxRate",   body.iPerTaxRate),
                            new SqlParameter("@POID",          PO_PomainHeadID),
                            new SqlParameter("@iTaxPrice",     body.iTaxPrice),
                        };
                        sqlList.Add(new ExecuteHelp()
                        {
                            SQL = bodySql, Parameters = bodyPara
                        });
                    }
                    int bodyCount = this.DB_SqlHelper.ExecuteNonQuery(sqlList);
                }
                catch (Exception ex)
                {
                    DeletePO_Pomain(PO_PomainHead.cPOID);
                    throw ex;
                }
            }
            else
            {
                throw new JRException("采购订单表头新增失败");
            }
            return(PO_PomainHeadID == null ? null : PO_PomainHeadID.ToString());
        }
Beispiel #6
0
        /// <summary>
        /// 新增采购订单
        /// </summary>
        /// <param name="UserCode"></param>
        /// <param name="PlainPassword"></param>
        /// <param name="StrAccID"></param>
        /// <param name="AccYear"></param>
        /// <param name="Act"></param>
        /// <param name="Entity"></param>
        /// <returns></returns>
        public string AddPO_Pomain(string UserCode, string PlainPassword,
                                   string StrAccID, int AccYear, string Act, EntityPO_Pomain entity, out int success)
        {
            success = 0;
            PO_PomainBll bll = new PO_PomainBll(StrAccID, AccYear, UserCode, PlainPassword);

            #region 验证
            string msg = "";
            if (!entity.CheckEntity(out msg))
            {
                return(msg);
            }
            foreach (EntityPO_PoDetails entitybody in entity.Details)
            {
                if (!entitybody.CheckEntity(out msg))
                {
                    return(msg);
                }
            }
            if (bll.GetGlmendFlag(entity.dPODate.Year, entity.dPODate.Month, "bflag_PU") == true)
            {
                return(string.Format("U8单据{0}日期所在月份已经结账!", entity.cPOID));
            }
            if (!string.IsNullOrEmpty(entity.cVenCode))
            {
                string vendorname = bll.GetVendorName(entity.cVenCode);
                if (string.IsNullOrEmpty(vendorname))
                {
                    return(string.Format("U8中不存在供应商编码:{0}!", entity.cVenCode));
                }
            }
            #endregion
            #region 表头
            //entity.POID = 0;//
            //entity.cPOID = "";
            //entity.dPODate = DateTime.Now;
            //entity.cVenCode = "";
            entity.cexch_name = entity.cexch_name == null ? "人民币" : entity.cexch_name; //币种名称
            entity.nflat      = 1;                                                     //汇率
            //entity.iTaxRate = 17;//表头税率
            entity.cMaker           = bll.GetUserName(UserCode);
            entity.iVTid            = 8173;   //单据模板号
            entity.cBusType         = "普通采购"; //业务类型
            entity.iDiscountTaxType = 0;      //扣税类别
            entity.cState           = 1;      //状态默认已审核
            entity.iVerifyStateex   = 2;      //单据审核状态 (-1,终审不同意,0,未提交,1已提交,2,终审同意)
            entity.cSysbarCode      = "||pupo|" + entity.cPOID;
            #endregion
            foreach (EntityPO_PoDetails item in entity.Details)
            {
                item.ID            = 0;                                        //采购订单子表标识
                item.iUnitPrice    = item.iTaxPrice / (1 + item.iPerTaxRate / 100);
                item.iMoney        = item.iSum / (1 + item.iPerTaxRate / 100); //原币无税金额
                item.iTax          = item.iSum - item.iMoney;                  //原币税额
                item.iNatUnitPrice = item.iUnitPrice;                          //本币无税单价
                item.iNatMoney     = item.iMoney;                              //本币无税金额
                item.iNatTax       = item.iTax;                                //本币税额
                item.iNatSum       = item.iSum;                                //本币价税合计
                item.iTaxPrice     = item.iTaxPrice;                           //原币含税单价
                entity.iTaxRate    = item.iPerTaxRate;                         //表头税率
            }
            string id = bll.InsertPO_Pomain(entity);
            success = string.IsNullOrWhiteSpace(id) ? 0 : 1;
            return(id);
        }