/// <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(); }
/// <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); } }
/// <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); } }