Пример #1
0
        private void bt_Rdrecord01T_Click(object sender, EventArgs e)
        {
            EntityRdRecord01Head doc = new EntityRdRecord01Head();

            doc.cCode      = "SZPL012201701000023";
            doc.cPTCode    = "1";
            doc.cWhCode    = "K001";
            doc.dDate      = DateTime.Parse("2017-11-06");
            doc.cVenCode   = "09003";
            doc.cMaker     = "";
            doc.cRdCode    = "01";
            doc.cOrderCode = "";
            List <Entityrdrecords01Body> list = new List <Entityrdrecords01Body>();

            list.Add(new Entityrdrecords01Body
            {
                cInvCode    = "443372",
                iQuantity   = -1000,
                iOriTaxCost = decimal.Parse("3.43"),
                iTaxRate    = 17,
                ioriSum     = decimal.Parse("-3430")
            });
            doc.Details = list;
            string entity = JsonConvert.SerializeObject(doc);

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

            textBox1.Text = result;
        }
Пример #2
0
        private void bt_rdrecord01_Click(object sender, EventArgs e)
        {
            EntityRdRecord01Head doc = new EntityRdRecord01Head();

            doc.cCode      = "20171215625";
            doc.cPTCode    = "01";
            doc.cWhCode    = "005";
            doc.dDate      = DateTime.Parse("2017-12-04");
            doc.cVenCode   = "0101001";
            doc.cMaker     = "";
            doc.cRdCode    = "101";
            doc.cOrderCode = "";
            List <Entityrdrecords01Body> list = new List <Entityrdrecords01Body>();

            list.Add(new Entityrdrecords01Body
            {
                cInvCode    = "1010100001",
                iQuantity   = 1,
                iOriTaxCost = decimal.Parse("3.74"),
                iTaxRate    = 17,
                ioriSum     = decimal.Parse("3.74"),
                cBatch      = "106"
            });
            doc.Details = list;
            string entity = JsonConvert.SerializeObject(doc);

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

            textBox1.Text = result;
        }
Пример #3
0
        private void bt_rd01_Click(object sender, EventArgs e)
        {
            EntityRdRecord01Head doc = new EntityRdRecord01Head();

            doc.cCode     = tx_cCode.Text == "" ? "1" : tx_cCode.Text;
            textBox1.Text = QueryCode(8016, JsonConvert.SerializeObject(doc));
        }
Пример #4
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>
        /// <param name="success"></param>
        /// <returns></returns>
        public string DelRdRecord01(string UserCode, string PlainPassword,
                                    string StrAccID, int AccYear, string Act, EntityRdRecord01Head entity, out int success)
        {
            success = 1;
            string        msg = "";
            RdRecord01Bll bll = new RdRecord01Bll(StrAccID, AccYear, UserCode, PlainPassword);

            if (bll.GetGlmendFlag(entity.dDate.Year, entity.dDate.Month, "bflag_ST") == true)
            {
                success = 0;
                return(string.Format("U8单据{0}日期所在月份已经结账!", entity.cCode));
            }
            if (GetRdRecord01(entity.cCode) != 0)
            {
                if (RdRecord01Checked(entity.cCode) == 0)
                {
                    msg     = string.Format("U8中采购入库单:{0} 已审核,不允许删除!", entity.cCode);
                    success = 0;
                }
                else
                {
                    //执行删除采购入库单操作
                    DeleteRdRecord01(entity.cCode);
                    msg     = string.Format("U8中采购入库单:{0} 已删除!", entity.cCode);
                    success = 1;
                }
            }
            else
            {
                msg = string.Format("U8中采购入库单:{0} 不存在!", entity.cCode);
            }
            return(msg);
        }
Пример #5
0
        /// <summary>
        /// 获取采购入库单实体数据
        /// </summary>
        /// <param name="cCode"></param>
        /// <returns></returns>
        public EntityRdRecord01Head GetEntityRdRecord01Head(string cCode)
        {
            EntityRdRecord01Head         entity   = new EntityRdRecord01Head();
            List <Entityrdrecords01Body> listBody = new List <Entityrdrecords01Body>();
            string sqlHead = "SELECT cCode ,dDate,cVenCode,cPTCode,cWhCode,cRdCode,cOrderCode,cMaker,cMemo FROM RdRecord01 WHERE cCode = @cCode ";
            string sqlBody = "SELECT cInvCode,iQuantity,iOriTaxCost,ioriSum,iTaxRate,cBatch FROM RdRecords01 WHERE ID = (SELECT ID FROM RdRecord01 WHERE cCode = @cCode )";

            SqlParameter[] paras =
            {
                new SqlParameter("@cCode", cCode)
            };
            SqlDataReader drHead = DB_SqlHelper.ExecuteReader(CommandType.Text, sqlHead, paras);
            SqlDataReader drBody = DB_SqlHelper.ExecuteReader(CommandType.Text, sqlBody, paras);

            while (drBody.Read())
            {
                Entityrdrecords01Body body = new Entityrdrecords01Body();
                body.cInvCode    = drBody["cInvCode"].ToString();
                body.iQuantity   = Convert.ToDecimal(drBody["iQuantity"] ?? 0);
                body.iOriTaxCost = Convert.ToDecimal(drBody["iOriTaxCost"] ?? 0);
                body.ioriSum     = Convert.ToDecimal(drBody["ioriSum"] ?? 0);
                body.iTaxRate    = Convert.ToDecimal(drBody["iTaxRate"] ?? 0);
                body.cBatch      = drBody["cBatch"].ToString();
                listBody.Add(body);
            }

            if (drHead.Read())
            {
                entity.cCode      = cCode;
                entity.dDate      = Convert.ToDateTime(drHead["dDate"]);
                entity.cVenCode   = drHead["cVenCode"].ToString();
                entity.cPTCode    = drHead["cPTCode"].ToString();
                entity.cWhCode    = drHead["cWhCode"].ToString();
                entity.cRdCode    = drHead["cRdCode"].ToString();
                entity.cOrderCode = drHead["cOrderCode"].ToString();
                entity.cMaker     = drHead["cMaker"].ToString();
                entity.cMemo      = drHead["cMemo"].ToString();
                entity.Details    = listBody;
            }
            return(entity);
        }
Пример #6
0
        public string DeleteModels(string UserCode, string CipherPassword, int ModelType,
                                   string StrAccID, string Act, string 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.RdRecord01:    //采购入库单
            {
                if (Act == "delete")
                {
                    EntityRdRecord01Head entity = JsonConvert.DeserializeObject <EntityRdRecord01Head>(Entity);
                    RdRecord01Bll        bll    = new RdRecord01Bll(StrAccID, AccYear, UserCode, plainPassword);
                    var result = bll.DelRdRecord01(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                    return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                }
                break;
            }

            case ModelsType.DispatchList2:     //发货单
                if (Act == "delete")
                {
                    EntityDispatchListHead entity = JsonConvert.DeserializeObject <EntityDispatchListHead>(Entity);
                    DispatchListBll        bll    = new DispatchListBll(StrAccID, AccYear, UserCode, plainPassword);
                    var result = bll.DelDispatchList(UserCode, plainPassword, StrAccID, AccYear, Act, entity, out success);
                    return(ControllerHelp.GetReturnStr(success, StrAccID + '_' + result));
                }
                break;
            }
            return(ControllerHelp.GetReturnStr(0, "DeleteModels中没有找到可对应的操作项"));
        }
Пример #7
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中没有找到可对应的操作项"));
        }
Пример #8
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(查询)中没有找到可对应的操作项"));
        }
Пример #9
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="kind"> 0:采购入库单;1:红字采购入库单</param>
        /// <param name="entity"></param>
        /// <param name="success"></param>
        /// <returns></returns>
        public string AddRdRecord01(string UserCode, string PlainPassword,
                                    string StrAccID, int AccYear, string Act, int kind, EntityRdRecord01Head entity, out int success)
        {
            success = 0;
            RdRecord01Bll bll = new RdRecord01Bll(StrAccID, AccYear, UserCode, PlainPassword);

            #region 验证
            string msg = "";
            if (!entity.CheckEntity(out msg))
            {
                return(msg);
            }
            foreach (Entityrdrecords01Body entitybody in entity.Details)
            {
                if (!entitybody.CheckEntity(out msg))
                {
                    return(msg);
                }
            }

            if (bll.GetGlmendFlag(entity.dDate.Year, entity.dDate.Month, "bflag_ST") == true)
            {
                return(string.Format("U8单据{0}日期所在月份已经结账!", entity.cCode));
            }
            //供应商
            if (!string.IsNullOrEmpty(entity.cVenCode))
            {
                string vendorname = bll.GetVendorName(entity.cVenCode);
                if (string.IsNullOrEmpty(vendorname))
                {
                    return(string.Format("U8中不存在供应商编码:{0}!", entity.cVenCode));
                }
            }

            // 仓库
            string warehouseName = bll.GetWarehouseName(entity.cWhCode);
            if (string.IsNullOrWhiteSpace(warehouseName))
            {
                return(string.Format("U8中不存在仓库编码:{0}!!", entity.cWhCode));
            }
            //采购类型
            List <EntityPurchaseType> purchasetype = bll.GetPurchaseType();
            if (purchasetype.Count(p => p.cPTCode == entity.cPTCode) == 0)
            {
                return(string.Format("U8中不存在采购类型编码:{0}!!", entity.cPTCode));
            }

            if (GetRdRecord01(entity.cCode) != 0)
            {
                return(string.Format("U8中已存在该入库单号{0}!", entity.cCode));
            }
            #endregion
            #region 表头
            //entity.ID = 1;//收发记录主表标识
            entity.bRdFlag    = 1;                                                                 //收发标志
            entity.cVouchType = "01";                                                              //单据类型编码
            entity.cBusType   = "普通采购";                                                            //业务类型
            entity.cSource    = string.IsNullOrWhiteSpace(entity.cOrderCode) ? "库存" : "采购订单";      //单据来源
            entity.cRdCode    = string.IsNullOrWhiteSpace(entity.cRdCode) ? "02" : entity.cRdCode; //收发类别编码

            // 收发类别编码
            if (string.IsNullOrWhiteSpace(bll.GetRdStyleName(entity.cRdCode, 1)))
            {
                return(string.Format("U8中不存在入库类别编码:{0}!", entity.cRdCode));
            }

            entity.bTransFlag  = 0;                                                     //是否传递
            entity.cMaker      = string.IsNullOrWhiteSpace(entity.cMaker) ? bll.GetUserName(UserCode) : entity.cMaker;
            entity.VT_ID       = 27;                                                    //单据模板号
            entity.bIsSTQc     = 0;                                                     //库存期初标志
            entity.iExchRate   = 1;                                                     //汇率
            entity.cExch_Name  = entity.cExch_Name == null ? "人民币" : entity.cExch_Name; //币种名称
            entity.cMemo       = entity.cMemo == null ? "" : entity.cMemo;              //备注
            entity.cSysbarCode = "||st01|" + entity.cCode;

            #endregion

            #region 表体
            foreach (Entityrdrecords01Body body in entity.Details)
            {
                // 存货编号
                string invName = GetInventoryName(body.cInvCode);
                if (string.IsNullOrWhiteSpace(invName))
                {
                    return(string.Format("U8中不存在存货编码:{0}!", body.cInvCode));
                }
                if (!string.IsNullOrWhiteSpace(body.cBatch) && bll.GetInventoryName(body.cInvCode, 4) == "0")
                {
                    return(string.Format("U8中存货编码:{0}未启用批次管理,批次信息必须为空!", body.cInvCode));
                }
                if (string.IsNullOrWhiteSpace(body.cBatch) && bll.GetInventoryName(body.cInvCode, 4) == "1")
                {
                    return(string.Format("U8中存货编码:{0}启用批次管理,批次信息不能为空!", body.cInvCode));
                }
                ;
                int bInvType = GetbInvType(body.cInvCode);
                if (bInvType == 1)
                {
                    body.iQuantity = 0;
                }

                if (kind == 0 && body.iQuantity <= 0 && bInvType == 0)
                {
                    return(string.Format("采购入库单入库数量不能小于或等于0!"));
                }

                if (kind == 1 && body.iQuantity >= 0 && bInvType == 0)
                {
                    return(string.Format("红字采购入库单入库数量不能大于或等于0!"));
                }
                //金额验证
                if (bInvType == 0 && Math.Round(body.ioriSum / body.iQuantity, 2, MidpointRounding.AwayFromZero) != Math.Round(body.iOriTaxCost, 2))
                {
                    return(string.Format("存货编码:{0}金额异常!", body.cInvCode));
                }

                body.iUnitCost        = Math.Round(body.iOriTaxCost / (1 + body.iTaxRate / 100), 2, MidpointRounding.AwayFromZero); //单价(原币无税单价)
                body.iPrice           = Math.Round(body.ioriSum / (1 + body.iTaxRate / 100), 2, MidpointRounding.AwayFromZero);     //金额(无税金额)
                body.iAPrice          = body.iPrice;                                                                                //暂估金额
                body.iFlag            = 0;                                                                                          //标志
                body.fACost           = body.iUnitCost;                                                                             //暂估单价
                body.chVencode        = entity.cVenCode;                                                                            //表头供应商
                body.iOriCost         = body.iUnitCost;                                                                             //原币无税单价
                body.iOriMoney        = body.iPrice;                                                                                //原币无税金额
                body.iOriTaxPrice     = body.ioriSum - body.iPrice;                                                                 //原币税额
                body.iTaxPrice        = body.iOriTaxPrice;                                                                          //本币税额
                body.iSum             = body.ioriSum;                                                                               //本币价税合计
                body.iBillSettleCount = 0;                                                                                          //单据结算次数
                body.iMatSettleState  = 0;                                                                                          //结算状态
                entity.iTaxRate       = body.iTaxRate;
                body.bCosting         = 1;
            }
            #endregion
            string id = bll.InsertRdRecord01(entity);
            success = string.IsNullOrWhiteSpace(id) ? 0 : 1;
            return(id);
        }
Пример #10
0
        public string InsertRdRecord01(EntityRdRecord01Head RdRecord01Head)
        {
            int?RdRecord01HeadID;

            if (RdRecord01Head == null || RdRecord01Head.Details == null || RdRecord01Head.Details.Count == 0)
            {
                throw new JRException("采购入库单新增失败!没有数据!");
            }
            #region 验证

            string POID = null;
            //传入采购订单号时判断对应的采购订单是否存在
            if (!string.IsNullOrWhiteSpace(RdRecord01Head.cOrderCode))
            {
                POID = GetPOID(RdRecord01Head.cOrderCode);
                if (string.IsNullOrEmpty(POID))
                {
                    throw new JRException(string.Format("U8中不存在采购订单号:{0}", RdRecord01Head.cOrderCode));
                }
            }
            #endregion
            int detailCount = RdRecord01Head.Details.Count;
            int head_id     = 0;
            int body_end_Id = 0;

            GetId("00", "rd", detailCount, out head_id, out body_end_Id);
            string sql = string.Format(@"insert into RdRecord01(ID,bRdFlag,cVouchType,cBusType,cSource,cWhCode,
                                         dDate,cCode,cRdCode,cPTCode,cVenCode,cMemo,bTransFlag,cMaker,VT_ID,bIsSTQc,
                                         iTaxRate,iExchRate,cExch_Name,dnmaketime,csysbarcode,cOrderCode,ipurorderid)
                                         values
                                         (@ID,@bRdFlag,@cVouchType,@cBusType,@cSource,@cWhCode,
                                         @dDate,@cCode,@cRdCode,@cPTCode,@cVenCode,left(@cMemo,255),@bTransFlag,@cMaker,@VT_ID,@bIsSTQc,
                                         @iTaxRate,@iExchRate,@cExch_Name,@dnmaketime,@csysbarcode,@cOrderCode,@ipurorderid)");

            SqlParameter[] para =
            {
                new SqlParameter("@ID",          head_id),
                new SqlParameter("@bRdFlag",     RdRecord01Head.bRdFlag),
                new SqlParameter("@cVouchType",  RdRecord01Head.cVouchType),
                new SqlParameter("@cBusType",    RdRecord01Head.cBusType),
                new SqlParameter("@cSource",     RdRecord01Head.cSource),
                new SqlParameter("@cWhCode",     RdRecord01Head.cWhCode),
                new SqlParameter("@dDate",       RdRecord01Head.dDate),
                new SqlParameter("@cCode",       RdRecord01Head.cCode),
                new SqlParameter("@cRdCode",     RdRecord01Head.cRdCode),
                new SqlParameter("@cPTCode",     RdRecord01Head.cPTCode),
                new SqlParameter("@cVenCode",    RdRecord01Head.cVenCode),
                new SqlParameter("@cMemo",       RdRecord01Head.cMemo),
                new SqlParameter("@bTransFlag",  RdRecord01Head.bTransFlag),
                new SqlParameter("@cMaker",      RdRecord01Head.cMaker),
                new SqlParameter("@VT_ID",       RdRecord01Head.VT_ID),
                new SqlParameter("@bIsSTQc",     RdRecord01Head.bIsSTQc),
                new SqlParameter("@iTaxRate",    RdRecord01Head.iTaxRate),
                new SqlParameter("@iExchRate",   RdRecord01Head.iExchRate),
                new SqlParameter("@cExch_Name",  RdRecord01Head.cExch_Name),
                new SqlParameter("@dnmaketime",  DateTime.Now),
                new SqlParameter("@csysbarcode", RdRecord01Head.cSysbarCode),
                new SqlParameter("@cOrderCode",  GetDBValue(RdRecord01Head.cOrderCode)),
                new SqlParameter("@ipurorderid", GetDBValue(POID)),
            };

            int headCount = this.DB_SqlHelper.ExecuteNonQuery(sql, para);
            if (headCount > 0)
            {
                try
                {
                    List <ExecuteHelp> sqlList = new List <ExecuteHelp>();
                    RdRecord01HeadID = GetRdRecord01HeadID(RdRecord01Head.cCode);
                    if (RdRecord01HeadID == null)
                    {
                        throw new JRException("采购入库单表头新增失败!");
                    }
                    string getCurrentStockSql = GetCurrentStockSql("Rd01");

                    for (int i = 0; i < detailCount; i++)
                    {
                        Entityrdrecords01Body body = RdRecord01Head.Details[i];
                        string         bodySql     = string.Format(@"insert into rdrecords01(AutoID,ID,cInvCode,iQuantity,iUnitCost,iPrice,
                                                         iAPrice,iFlag,fACost,chVencode,iOriTaxCost,iOriCost,iOriMoney,iOriTaxPrice,
                                                         ioriSum,iTaxRate,iTaxPrice,iSum,iBillSettleCount,iMatSettleState,iNQuantity
                                                         ,bCosting,irowno,cbsysbarcode,cPOID,iPOsID,cBatch
                                                         ,iSQuantity,iSNum,iMoney,dSDate,bTaxCost,cbaccounter,corufts,isotype,iProductType)
                                                         values
                                                         (@AutoID,@ID,@cInvCode,@iQuantity,@iUnitCost,@iPrice,
                                                         @iAPrice,@iFlag,@fACost,@chVencode,@iOriTaxCost,@iOriCost,@iOriMoney,@iOriTaxPrice,
                                                         @ioriSum,@iTaxRate,@iTaxPrice,@iSum,@iBillSettleCount,@iMatSettleState,@iNQuantity
                                                         ,@bCosting,@irowno,@cbsysbarcode,@cPOID,@iPOsID,@cBatch
                                                         ,0,0,0,NULL,1,NULL,NULL,0,0);
                                                        INSERT INTO IA_ST_UnAccountVouch01 (IDUN,IDSUN,cVouTypeUN,cBustypeUN)
                                                        VALUES(@ID,@AutoID,'01','普通采购');                                                  
                                                        {0}
                                                        update po_podetails set iReceivedQTY=isnull(iReceivedQTY,0) + @iQuantity where POID=@POID and cInvCode =@cInvCode", getCurrentStockSql);
                        SqlParameter[] bodyPara    =
                        {
                            new SqlParameter("@AutoID",           body_end_Id - detailCount + i + 1),
                            new SqlParameter("@ID",               RdRecord01HeadID),
                            new SqlParameter("@cInvCode",         body.cInvCode),
                            new SqlParameter("@iQuantity",        body.iQuantity),
                            new SqlParameter("@iUnitCost",        body.iUnitCost),
                            new SqlParameter("@iPrice",           body.iPrice),
                            new SqlParameter("@iAPrice",          body.iAPrice),
                            new SqlParameter("@iFlag",            body.iFlag),
                            new SqlParameter("@fACost",           body.fACost),
                            new SqlParameter("@chVencode",        body.chVencode),
                            new SqlParameter("@iOriTaxCost",      body.iOriTaxCost),
                            new SqlParameter("@iOriCost",         body.iOriCost),
                            new SqlParameter("@iOriMoney",        body.iOriMoney),
                            new SqlParameter("@iOriTaxPrice",     body.iOriTaxPrice),
                            new SqlParameter("@ioriSum",          body.ioriSum),
                            new SqlParameter("@iTaxRate",         body.iTaxRate),
                            new SqlParameter("@iTaxPrice",        body.iTaxPrice),
                            new SqlParameter("@iSum",             body.iSum),
                            new SqlParameter("@iBillSettleCount", body.iBillSettleCount),
                            new SqlParameter("@iMatSettleState",  body.iMatSettleState),
                            new SqlParameter("@iNQuantity",       body.iQuantity),
                            new SqlParameter("@bCosting",         body.bCosting),
                            new SqlParameter("@irowno",           i + 1),
                            new SqlParameter("@cbsysbarcode",     RdRecord01Head.cSysbarCode + "|" + (i + 1)),
                            new SqlParameter("@cPOID",            GetDBValue(RdRecord01Head.cOrderCode)),
                            new SqlParameter("@iPOsID",           GetDBValue(GetiPOsID(POID,                  body.cInvCode))),
                            new SqlParameter("@POID",             GetDBValue(POID)),
                            new SqlParameter("@cBatch",           GetDBValue(body.cBatch)),
                            new SqlParameter("@cWhCode",          GetDBValue(RdRecord01Head.cWhCode)),
                        };
                        sqlList.Add(new ExecuteHelp()
                        {
                            SQL = bodySql, Parameters = bodyPara
                        });
                    }
                    int bodyCount = this.DB_SqlHelper.ExecuteNonQuery(sqlList);
                }
                catch (Exception ex)
                {
                    // 表体执行错误,表头也要回滚
                    DeleteRdRecord01(RdRecord01Head.cCode);
                    throw ex;
                }
            }
            else
            {
                throw new JRException("采购入库单表头新增失败!");
            }
            return(RdRecord01HeadID == null ? null : RdRecord01HeadID.ToString());
        }