/// <summary>
        /// 根据模型删除数据
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>是否成功</returns>
        public bool DeleteModel(Materials_Producer model = null, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var delete = new LambdaDelete <Materials_Producer>();

            if (model != null)
            {
                if (!model.Id.IsNullOrEmpty())
                {
                    delete.Where(p => p.Id == model.Id);
                }
                if (!model.ProducerId.IsNullOrEmpty())
                {
                    delete.Where(p => p.ProducerId == model.ProducerId);
                }
                if (!model.MaterialsId.IsNullOrEmpty())
                {
                    delete.Where(p => p.MaterialsId == model.MaterialsId);
                }
                if (!model.FactoryNumber.IsNullOrEmpty())
                {
                    delete.Where(p => p.FactoryNumber == model.FactoryNumber);
                }
                if (!model.PurchasePrice.IsNullOrEmpty())
                {
                    delete.Where(p => p.PurchasePrice == model.PurchasePrice);
                }
                if (!model.QuotationDate.IsNullOrEmpty())
                {
                    delete.Where(p => p.QuotationDate == model.QuotationDate);
                }
                if (!model.ProCycle.IsNullOrEmpty())
                {
                    delete.Where(p => p.ProCycle == model.ProCycle);
                }
                if (!model.MinQuantity.IsNullOrEmpty())
                {
                    delete.Where(p => p.MinQuantity == model.MinQuantity);
                }
                if (!model.PriceTag.IsNullOrEmpty())
                {
                    delete.Where(p => p.PriceTag == model.PriceTag);
                }
            }
            return(delete.GetDeleteResult(connection, transaction));
        }
        /// <summary>
        /// 数据条数
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>对象列表</returns>
        public int SelectCount(Materials_Producer model = null, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var query = new LambdaQuery <Materials_Producer>();

            if (model != null)
            {
                if (!model.Id.IsNullOrEmpty())
                {
                    query.Where(p => p.Id == model.Id);
                }
                if (!model.ProducerId.IsNullOrEmpty())
                {
                    query.Where(p => p.ProducerId == model.ProducerId);
                }
                if (!model.MaterialsId.IsNullOrEmpty())
                {
                    query.Where(p => p.MaterialsId == model.MaterialsId);
                }
                if (!model.FactoryNumber.IsNullOrEmpty())
                {
                    query.Where(p => p.FactoryNumber == model.FactoryNumber);
                }
                if (!model.PurchasePrice.IsNullOrEmpty())
                {
                    query.Where(p => p.PurchasePrice == model.PurchasePrice);
                }
                if (!model.QuotationDate.IsNullOrEmpty())
                {
                    query.Where(p => p.QuotationDate == model.QuotationDate);
                }
                if (!model.ProCycle.IsNullOrEmpty())
                {
                    query.Where(p => p.ProCycle == model.ProCycle);
                }
                if (!model.MinQuantity.IsNullOrEmpty())
                {
                    query.Where(p => p.MinQuantity == model.MinQuantity);
                }
                if (!model.PriceTag.IsNullOrEmpty())
                {
                    query.Where(p => p.PriceTag == model.PriceTag);
                }
            }
            return(query.GetQueryCount(connection, transaction));
        }
        /// <summary>
        /// 根据模型插入
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>是否成功</returns>
        public int InsertReturnKey(Materials_Producer model, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var insert = new LambdaInsert <Materials_Producer>();

            if (!model.ProducerId.IsNullOrEmpty())
            {
                insert.Insert(p => p.ProducerId == model.ProducerId);
            }
            if (!model.MaterialsId.IsNullOrEmpty())
            {
                insert.Insert(p => p.MaterialsId == model.MaterialsId);
            }
            if (!model.FactoryNumber.IsNullOrEmpty())
            {
                insert.Insert(p => p.FactoryNumber == model.FactoryNumber);
            }
            if (!model.PurchasePrice.IsNullOrEmpty())
            {
                insert.Insert(p => p.PurchasePrice == model.PurchasePrice);
            }
            if (!model.QuotationDate.IsNullOrEmpty())
            {
                insert.Insert(p => p.QuotationDate == model.QuotationDate);
            }
            if (!model.ProCycle.IsNullOrEmpty())
            {
                insert.Insert(p => p.ProCycle == model.ProCycle);
            }
            if (!model.MinQuantity.IsNullOrEmpty())
            {
                insert.Insert(p => p.MinQuantity == model.MinQuantity);
            }
            if (!model.PriceTag.IsNullOrEmpty())
            {
                insert.Insert(p => p.PriceTag == model.PriceTag);
            }
            return(insert.GetInsertResult(connection, transaction));
        }
Example #4
0
 /// <summary>
 /// 数据条数
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>对象列表</returns>
 public int SelectCount(Materials_Producer model)
 {
     return(Materials_ProducerOper.Instance.SelectCount(model));
 }
Example #5
0
 /// <summary>
 /// 筛选全部数据
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>对象列表</returns>
 public List <Materials_Producer> SelectByModel(Materials_Producer model)
 {
     return(Materials_ProducerOper.Instance.SelectAll(model));
 }
Example #6
0
 /// <summary>
 /// 根据模型插入
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public int InsertReturnKey(Materials_Producer model)
 {
     return(Materials_ProducerOper.Instance.InsertReturnKey(model));
 }
Example #7
0
 /// <summary>
 /// 根据模型插入
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public bool Insert(Materials_Producer model)
 {
     return(Materials_ProducerOper.Instance.Insert(model));
 }
Example #8
0
 /// <summary>
 /// 根据模型更新
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public bool Update(Materials_Producer model)
 {
     return(Materials_ProducerOper.Instance.Update(model));
 }
Example #9
0
 /// <summary>
 /// 根据模型删除数据
 /// </summary>
 /// <param name="model">模型</param>
 /// <returns>是否成功</returns>
 public bool DeleteModel(Materials_Producer model)
 {
     return(Materials_ProducerOper.Instance.DeleteModel(model));
 }
Example #10
0
 /// <summary>
 /// 根据分页筛选数据
 /// </summary>
 /// <param name="Key">主键</param>
 /// <param name="start">开始数据</param>
 /// <param name="PageSize">页面长度</param>
 /// <param name="desc">排序</param>
 /// <param name="model">对象</param>
 /// <returns>对象列表</returns>
 public List <Materials_Producer> SelectByPage(string Key, int start, int PageSize, bool desc, Materials_Producer model, string SelectFiled)
 {
     return(Materials_ProducerOper.Instance.SelectByPage(Key, start, PageSize, desc, model));
 }
Example #11
0
        /// <summary>
        /// 更新原材料信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public bool UpdateMateroalsInfo(EditMaterialRequest request)
        {
            var MysqlHelper = SqlHelper.GetMySqlHelper("transaction");
            var connection  = MysqlHelper.CreatConn();
            var transaction = MysqlHelper.GetTransaction();

            try
            {
                #region 更新原材料信息
                var SalesInfoList = "";
                var Key           = request.MaterialId;
                foreach (var item in request.SalesList)
                {
                    SalesInfoList = SalesInfoList + "|" + item.ShopQuantity + "|" + item.ChinaPrice + "|" + item.ChinaDiscountRate + "|" + item.DollarPrice + "|" + item.DollarDiscountRate + ";";
                }
                var PrintInfoList = "";
                for (int i = 1; i <= 3; i++)
                {
                    var printdetailList = request.PrintList.Where(p => p.PrintFunc.ToLower() == $"printfunc{i}").ToList();
                    PrintInfoList = $"{PrintInfoList}PrintFunc{i}(";
                    foreach (var item in printdetailList)
                    {
                        PrintInfoList = $"{PrintInfoList}{item.PrintingProcess},{item.PrintingPosition},{item.PositionDescription},{item.MaximumArea},{item.PrintableColor}|";
                    }
                    PrintInfoList = $"{PrintInfoList})";
                }
                Raw_Materials materials = new Raw_Materials
                {
                    Attributes         = request.Attributes,
                    ChinaProductName   = request.ChinaProductName,
                    ChinaUnit          = request.ChinaUnit,
                    Description        = request.ChinaDescibe,
                    ProductDesibe      = request.ProductDesibe,
                    DevePerson         = request.DevePerson,
                    DeveTime           = request.DeveTime,
                    EnglishProductName = request.EnglishProductName,
                    EnglishUnit        = request.EnglishUnit,
                    Genera             = request.Genera,
                    HSCODE             = request.HSCODE,
                    Id               = request.MaterialId,
                    MatAndPro        = request.MatAndPro,
                    NetWeight        = request.NetWeight,
                    NumMiddleBoxes   = request.NumMiddleBoxes,
                    NumOuterBoxes    = request.NumOuterBoxes,
                    OuterBoxesHeight = request.OuterBoxesHeight,
                    OuterBoxesLength = request.OuterBoxesLength,
                    OuterBoxesVolume = request.OuterBoxesVolume,
                    OuterBoxesWidth  = request.OuterBoxesWidth,
                    ProductNo        = request.ProductNo,
                    Specification    = request.Specification,
                    TaxRate          = request.TaxRate,
                    Weight           = request.Weight,
                    Subclass         = request.Subclass,
                    SalesInfoList    = SalesInfoList,
                    SyloonPatent     = request.SyloonPatent,
                    EngDescription   = request.EngDescibe,
                    TypeInfo         = request.Attributes1 + "|" + request.Attributes2 + "|" + request.Attributes3 + "|" + request.Attributes4,
                    PrintFuncInfo    = "PrintFunc1:" + request.PrintFunc1 + "|" + "PrintFunc2:" + request.PrintFunc2 + "|" + "PrintFunc3:" + request.PrintFunc3 + "|",
                    Printingdetail   = PrintInfoList,
                    PercentageInfo   = "PrintFunc1:" + request.Percentage1 + "|" + "PrintFunc2:" + request.Percentage2 + "|" + "PrintFunc3:" + request.Percentage3 + "|",
                    TipPercentInfo   = "PrintFunc1:" + request.TipPercent1 + "|" + "PrintFunc2:" + request.TipPercent2 + "|" + "PrintFunc3:" + request.TipPercent3 + "|"
                };
                #region 根据Id判断是插入还是新建
                if (request.MaterialId == 0)
                {
                    Key = Raw_MaterialsOper.Instance.InsertReturnKey(materials, connection, transaction);
                    if (Key <= 0)
                    {
                        transaction.Rollback();
                        connection.Close();
                        return(false);
                    }
                }
                else
                {
                    if (!Raw_MaterialsOper.Instance.Update(materials, connection, transaction))
                    {
                        transaction.Rollback();
                        connection.Close();
                        return(false);
                    }
                }
                #endregion

                #endregion

                #region 更新采购信息
                #region  除原有信息
                Materials_ProducerOper.Instance.DeleteModel(new Materials_Producer {
                    MaterialsId = Key
                }, connection, transaction);
                #endregion

                #region 遍历插入
                foreach (var item in request.producer)
                {
                    Materials_Producer producer = new Materials_Producer
                    {
                        MaterialsId   = Key,
                        MinQuantity   = item.MinQuantity,
                        ProCycle      = item.ProCycle,
                        FactoryNumber = item.FactoryNumber,
                        PurchasePrice = item.PurchasePrice,
                        QuotationDate = item.QuotationDate,
                        ProducerId    = item.ProdecerCode,
                        PriceTag      = item.PriceTag
                    };
                    if (!Materials_ProducerOper.Instance.Insert(producer, connection, transaction))
                    {
                        transaction.Rollback();
                        connection.Close();
                        return(false);
                    }
                }
                #endregion
                #endregion

                #region 更新颜色信息
                #region  除原有信息
                Materials_ColorinfoOper.Instance.DeleteModel(new Materials_Colorinfo {
                    MaterialsId = Key
                }, connection, transaction);
                #endregion

                #region 遍历插入
                foreach (var item in request.ColorList)
                {
                    var returnkey = 0;
                    if (item.ColorID == -1)
                    {
                        returnkey = ColorinfoFunc.Instance.InsertReturnKey(new Colorinfo {
                            StandardColor = item.PantongColor, ChinaDescribe = item.ColorDesc, EngDescibe = item.EngColorDesc, HtmlCode = item.HtmlCode, ParentId = item.ColorSystem.ParseInt(), IsDelete = false
                        });
                    }
                    Materials_Colorinfo colorinfo = new Materials_Colorinfo
                    {
                        ColorId      = item.ColorID == -1 ? returnkey : item.ColorID,
                        MaterialsId  = Key,
                        MinStockNum  = item.MinStock,
                        SKU          = item.SKU,
                        SKUImage     = item.SKUImage,
                        PositionInfo = item.PrintInfo
                    };
                    if (!Materials_ColorinfoOper.Instance.Insert(colorinfo, connection, transaction))
                    {
                        transaction.Rollback();
                        connection.Close();
                        return(false);
                    }
                }
                #endregion
                #endregion

                #region 找到对应商品
                var commdityList = CommodityOper.Instance.SelectAll(new Commodity {
                    MaterialId = Key
                }, null, connection, transaction);
                foreach (var commdity in commdityList)
                {
                    Commodity comm = new Commodity();
                    comm.Id = commdity.Id;
                    #region 价格列表
                    var commodityzero = Commodity_Stage_PriceOper.Instance.SelectAll(new Commodity_Stage_Price {
                        StageAmount = 0, CommodityId = commdity.Id
                    }, null, connection, transaction).FirstOrDefault();
                    Commodity_Stage_PriceOper.Instance.DeleteModel(new Commodity_Stage_Price {
                        CommodityId = commdity.Id
                    }, connection, transaction);
                    foreach (var item in request.SalesList)
                    {
                        if (!Commodity_Stage_PriceOper.Instance.Insert(new Commodity_Stage_Price {
                            StageAmount = item.ShopQuantity.ParseInt(), DiscountRate = item.ChinaDiscountRate.ParseDouble(), StagePrice = item.ChinaPrice.ParseDecimal(), CommodityId = commdity.Id
                        }, connection, transaction))
                        {
                            transaction.Rollback();
                            connection.Close();
                            return(false);
                        }
                    }
                    if (!Commodity_Stage_PriceOper.Instance.Insert(new Commodity_Stage_Price {
                        StageAmount = 0, DiscountRate = 0, StagePrice = commodityzero != null ? commodityzero.StagePrice : (decimal)2.0, CommodityId = commdity.Id
                    }, connection, transaction))
                    {
                        transaction.Rollback();
                        connection.Close();
                        return(false);
                    }
                    #endregion

                    #region 设置颜色图片
                    var MaterialColorList  = "";
                    var MaterialColorInfo  = "";
                    var colorInfoList      = ColorinfoFunc.Instance.GetColorListBase();
                    var Material_ColorList = Materials_ColorinfoOper.Instance.SelectAll(new Materials_Colorinfo {
                        MaterialsId = Key
                    }, null, connection, transaction);
                    foreach (var item in Material_ColorList)
                    {
                        var thisColorInfo = colorInfoList.Where(p => p.Id == item.ColorId).FirstOrDefault();
                        if (thisColorInfo != null)
                        {
                            MaterialColorInfo = $"{MaterialColorInfo}{item.ColorId};{item.SKUImage}|";
                            MaterialColorList = $"{MaterialColorList}{thisColorInfo.Id},";
                        }
                    }
                    comm.Color = MaterialColorList;
                    var ImageList = commdity.ImageList.Split('|').Where(p => !string.IsNullOrEmpty(p)).Where(p => !p.Contains(';')).ToList();
                    comm.ImageList = $"{ImageList.ConvertToStr("|")}{MaterialColorInfo}";
                    #endregion

                    #region 设置位置
                    var Position = "";
                    foreach (var item in Material_ColorList)
                    {
                        Position = $"{Position}{item.ColorId}({item.PositionInfo})";
                    }
                    #endregion
                    comm.GradeId = request.Genera.ParseInt().Value;
                    if (!CommodityOper.Instance.Update(comm, connection, transaction))
                    {
                        transaction.Rollback();
                        connection.Close();
                        return(false);
                    }
                }
                #endregion

                transaction.Commit();
                connection.Close();
                return(true);
            }
            catch (System.Exception ex)
            {
                transaction.Rollback();
                connection.Close();
                throw ex;
            }
        }
        /// <summary>
        /// 根据分页筛选数据
        /// </summary>
        /// <param name="Key">主键</param>
        /// <param name="start">开始数据</param>
        /// <param name="PageSize">页面长度</param>
        /// <param name="desc">排序</param>
        /// <param name="model">对象</param>
        /// <param name="connection">连接</param>
        /// <param name="transaction">事务</param>
        /// <returns>对象列表</returns>
        public List <Materials_Producer> SelectByPage(string Key, int start, int PageSize, bool desc = true, Materials_Producer model = null, string SelectFiled = null, IDbConnection connection = null, IDbTransaction transaction = null)
        {
            var query = new LambdaQuery <Materials_Producer>();

            if (model != null)
            {
                if (!model.Id.IsNullOrEmpty())
                {
                    query.Where(p => p.Id == model.Id);
                }
                if (!model.ProducerId.IsNullOrEmpty())
                {
                    query.Where(p => p.ProducerId == model.ProducerId);
                }
                if (!model.MaterialsId.IsNullOrEmpty())
                {
                    query.Where(p => p.MaterialsId == model.MaterialsId);
                }
                if (!model.FactoryNumber.IsNullOrEmpty())
                {
                    query.Where(p => p.FactoryNumber == model.FactoryNumber);
                }
                if (!model.PurchasePrice.IsNullOrEmpty())
                {
                    query.Where(p => p.PurchasePrice == model.PurchasePrice);
                }
                if (!model.QuotationDate.IsNullOrEmpty())
                {
                    query.Where(p => p.QuotationDate == model.QuotationDate);
                }
                if (!model.ProCycle.IsNullOrEmpty())
                {
                    query.Where(p => p.ProCycle == model.ProCycle);
                }
                if (!model.MinQuantity.IsNullOrEmpty())
                {
                    query.Where(p => p.MinQuantity == model.MinQuantity);
                }
                if (!model.PriceTag.IsNullOrEmpty())
                {
                    query.Where(p => p.PriceTag == model.PriceTag);
                }
            }
            if (SelectFiled != null)
            {
                SelectFiled = SelectFiled.ToLowerInvariant();
                if (SelectFiled.Contains("id,"))
                {
                    query.Select(p => new { p.Id });
                }
                if (SelectFiled.Contains("producerid,"))
                {
                    query.Select(p => new { p.ProducerId });
                }
                if (SelectFiled.Contains("materialsid,"))
                {
                    query.Select(p => new { p.MaterialsId });
                }
                if (SelectFiled.Contains("factorynumber,"))
                {
                    query.Select(p => new { p.FactoryNumber });
                }
                if (SelectFiled.Contains("purchaseprice,"))
                {
                    query.Select(p => new { p.PurchasePrice });
                }
                if (SelectFiled.Contains("quotationdate,"))
                {
                    query.Select(p => new { p.QuotationDate });
                }
                if (SelectFiled.Contains("procycle,"))
                {
                    query.Select(p => new { p.ProCycle });
                }
                if (SelectFiled.Contains("minquantity,"))
                {
                    query.Select(p => new { p.MinQuantity });
                }
                if (SelectFiled.Contains("pricetag,"))
                {
                    query.Select(p => new { p.PriceTag });
                }
            }
            if (Key != null)
            {
                query.OrderByKey(Key, desc);
            }
            return(query.GetQueryPageList(start, PageSize, connection, transaction));
        }