コード例 #1
0
        /// <summary>
        /// 根据申请单号批量插入CVT箱号与业务单据关系信息记录
        /// </summary>
        /// <param name="requisitionBillNo">申请单号列表</param>
        /// <param name="inputBillNo">业务单据号</param>
        public void InsertChangeProductCodesBillNo(List <string> requisitionBillNo, string inputBillNo)
        {
            DepotManagementDataContext ctx = CommentParameter.DepotDataContext;

            var varData = from a in ctx.ProductsCodes
                          where requisitionBillNo.Contains(a.DJH)
                          select a;

            foreach (ProductsCodes codesInfo in varData)
            {
                ProductsCodes tempCodes = new ProductsCodes();

                tempCodes.BoxNo       = codesInfo.BoxNo;
                tempCodes.Code        = codesInfo.Code;
                tempCodes.DJH         = inputBillNo;
                tempCodes.GoodsCode   = codesInfo.GoodsCode;
                tempCodes.GoodsID     = codesInfo.GoodsID;
                tempCodes.GoodsName   = codesInfo.GoodsName;
                tempCodes.IsUse       = false;
                tempCodes.ProductCode = codesInfo.ProductCode;
                tempCodes.Remark      = codesInfo.Remark;
                tempCodes.Spec        = codesInfo.Spec;
                tempCodes.ZcCode      = codesInfo.ZcCode;

                ctx.ProductsCodes.InsertOnSubmit(tempCodes);
            }

            ctx.SubmitChanges();
        }
コード例 #2
0
        /// <summary>
        /// 产品编号处理
        /// </summary>
        /// <param name="productTable">产品编号列表</param>
        /// <param name="code">产品型号</param>
        /// <param name="zcCode">总成号</param>
        /// <param name="goodsID">物品ID</param>
        /// <param name="djh">单据号</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>处理成功返回True,处理失败返回False</returns>
        public bool UpdateProducts(DataTable productTable, string code, string zcCode, int goodsID, string djh, out string error)
        {
            error = null;

            DepotManagementDataContext dataContxt = CommentParameter.DepotDataContext;

            try
            {
                //删除原有的同物品同批次的所有产品的唯一编码
                var varData_Del = from a in dataContxt.ProductsCodes
                                  where a.DJH == djh &&
                                  a.GoodsID == goodsID
                                  select a;

                dataContxt.ProductsCodes.DeleteAllOnSubmit(varData_Del);
                dataContxt.SubmitChanges();

                //FOR循环进行添加
                List <ProductsCodes> lisList = new List <ProductsCodes>();

                if (productTable.Rows.Count == 0)
                {
                    return(true);
                }
                else
                {
                    for (int i = 0; i < productTable.Rows.Count; i++)
                    {
                        var varData = from a in dataContxt.ProductsCodes
                                      where a.DJH == djh &&
                                      a.GoodsID == goodsID &&
                                      a.ProductCode == productTable.Rows[i]["ProductCode"].ToString()
                                      select a;

                        if (varData.Count() == 0)
                        {
                            IBasicGoodsServer    serverBasicGoods = SCM_Level01_ServerFactory.GetServerModule <IBasicGoodsServer>();
                            View_F_GoodsPlanCost tempGoodsLnq     = UniversalFunction.GetGoodsInfo(goodsID);

                            if (tempGoodsLnq == null)
                            {
                                throw new Exception("系统中无此物品信息");
                            }

                            ProductsCodes lnqList = new ProductsCodes();

                            lnqList.ProductCode = productTable.Rows[i]["ProductCode"].ToString();
                            lnqList.GoodsName   = tempGoodsLnq.物品名称;
                            lnqList.GoodsCode   = tempGoodsLnq.图号型号;
                            lnqList.Spec        = tempGoodsLnq.规格;
                            lnqList.GoodsID     = goodsID;
                            lnqList.Code        = code;
                            lnqList.ZcCode      = zcCode;
                            lnqList.DJH         = djh;
                            lnqList.BoxNo       = productTable.Rows[i]["BoxNo"].ToString();

                            lisList.Add(lnqList);
                        }
                    }

                    dataContxt.ProductsCodes.InsertAllOnSubmit(lisList);
                    dataContxt.SubmitChanges();
                }

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
コード例 #3
0
        /// <summary>
        /// 更新产品编码库存及库存状态
        /// </summary>
        /// <param name="context">数据上下文</param>
        /// <param name="djh">单据号</param>
        /// <param name="marketingType">单据类型</param>
        /// <param name="storageID">库房ID</param>
        /// <param name="isRepaired">是否为已返修 True 是,False 否</param>
        /// <param name="goodsID">物品ID</param>
        /// <param name="error">出错时返回错误信息,无错时返回null</param>
        /// <returns>操作成功返回True,操作失败返回False</returns>
        public bool UpdateProductStock(DepotManagementDataContext context, string djh, string marketingType, string storageID, bool isRepaired, int goodsID, out string error)
        {
            try
            {
                error = null;

                var varTempData = from a in context.ProductsCodes
                                  where a.DJH == djh &&
                                  a.GoodsID == goodsID
                                  select a;

                foreach (ProductsCodes productCodesItem in varTempData)
                {
                    //更新流水码业务表的是否已确认的状态
                    var varCode = from b in context.ProductsCodes
                                  where b.ID == productCodesItem.ID
                                  select b;

                    if (varCode.Count() != 1)
                    {
                        error = "数据不唯一";
                        return(false);
                    }

                    ProductsCodes lnqCode = varCode.Single();

                    lnqCode.IsUse = true;

                    //更新或者添加流水码库存表
                    var varData = from a in context.ProductStock
                                  where a.ProductCode == productCodesItem.ProductCode &&
                                  a.StorageID == storageID &&
                                  a.GoodsID == productCodesItem.GoodsID
                                  select a;

                    if (varData.Count() == 0)
                    {
                        ProductStock lnqProductStock = new ProductStock();

                        lnqProductStock.StorageID     = storageID;
                        lnqProductStock.ProductCode   = productCodesItem.ProductCode;
                        lnqProductStock.ProductStatus = marketingType;
                        lnqProductStock.GoodsID       = productCodesItem.GoodsID;
                        lnqProductStock.BoxNo         = productCodesItem.BoxNo;
                        lnqProductStock.IsNatural     = true;
                        lnqProductStock.Version       = GetVersion(context, djh, productCodesItem.GoodsID);
                        lnqProductStock.RepairStatus  = isRepaired;

                        context.ProductStock.InsertOnSubmit(lnqProductStock);
                    }
                    else if (varData.Count() == 1)
                    {
                        ProductStock lnqProductStock = varData.Single();

                        lnqProductStock.ProductStatus = marketingType;
                        lnqProductStock.RepairStatus  = isRepaired;
                        lnqProductStock.BoxNo         = productCodesItem.BoxNo;

                        if (marketingType == "退货")
                        {
                            lnqProductStock.IsNatural = true;
                        }
                    }
                    else
                    {
                        error = "数据不唯一";
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }