public bool AddStockCheckDetailToDatabase(StockCheckDetail stockCheckDetail) { try { OpenConnection(); string queryString = "Insert Into CHITIETPKK Values(@id, @idStockCheck, @idGood, @firstQuantity, @stockInQuantity, @stockOutQuantity, @finalQuantity)"; SqlCommand command = new SqlCommand(queryString, conn); command.Parameters.AddWithValue("@id", stockCheckDetail.IdStockCheckDetail); command.Parameters.AddWithValue("@idStockCheck", stockCheckDetail.IdStockCheck); command.Parameters.AddWithValue("@idGood", stockCheckDetail.IdGood); command.Parameters.AddWithValue("@firstQuantity", stockCheckDetail.FirstQuantity); command.Parameters.AddWithValue("@stockInQuantity", stockCheckDetail.StockInQuantity); command.Parameters.AddWithValue("@stockOutQuantity", stockCheckDetail.StockOutQuantity); command.Parameters.AddWithValue("@finalQuantity", stockCheckDetail.FirstQuantity); int rs = command.ExecuteNonQuery(); if (rs != 1) { return(false); } else { return(true); } } catch (Exception e) { MessageBox.Show("Thêm thất bại!" + e, "Thông báo", MessageBoxButton.OK, MessageBoxImage.Error); return(false); } finally { CloseConnection(); } }
private void DoSelect() { if (!string.IsNullOrEmpty(id)) { IList <StockCheckDetail> scdEnts = StockCheckDetail.FindAllByProperty("StockCheckId", id); this.PageState.Add("DataList", scdEnts); } }
string type = String.Empty; // 对象类型 protected void Page_Load(object sender, EventArgs e) { op = RequestData.Get <string>("op"); id = RequestData.Get <string>("id"); type = RequestData.Get <string>("type"); StockCheck scEnt = null; IList <String> strList = RequestData.GetList <string>("data"); switch (RequestActionString) { case "update": scEnt = this.GetMergedData <StockCheck>(); scEnt.DoUpdate(); ProcessDetail(strList, scEnt); break; case "create": scEnt = this.GetPostedData <StockCheck>(); scEnt.State = "未结束"; scEnt.DoCreate(); ProcessDetail(strList, scEnt); break; case "delete": scEnt = this.GetTargetData <StockCheck>(); scEnt.DoDelete(); return; default: if (op != "c" && op != "cs") { if (!String.IsNullOrEmpty(id)) { scEnt = StockCheck.Find(id); SetFormData(scEnt); IList <StockCheckDetail> scdEnts = StockCheckDetail.FindAllByProperty("StockCheckId", id); PageState.Add("DataList", scdEnts); } } else { PageState.Add("StockCheckNo", DataHelper.QueryValue("select SHHG_AimExamine.dbo.fun_getStockCheckNo()")); this.PageState.Add("FlowEnum", SysEnumeration.GetEnumDictList("WorkFlow.Simple")); if (RequestActionString == "submitfinish") { StockCheck pc = StockCheck.Find(this.RequestData.Get <string>("id")); pc.State = "End"; // pc.InventoryState = this.RequestData.Get<string>("ApprovalState"); pc.Save(); } } break; } }
protected void Page_Load(object sender, EventArgs e) { StockCheck ent = null; switch (RequestActionString) { case "delete": ent = this.GetTargetData <StockCheck>(); ent.DoDelete(); break; case "batchdelete": DoBatchDelete(); break; case "SubmitExamine": string id = this.RequestData.Get <string>("Id"); ent = StockCheck.Find(id); ent.WorkFlowState = RequestData.Get <string>("state"); ent.ExamineResult = RequestData.Get <string>("ApprovalState"); ent.DoUpdate(); StartFlow(id); break; case "AutoExecuteFlow": Task task = Task.FindAllByProperties(Task.Prop_WorkflowInstanceID, this.RequestData.Get <string>("FlowId"))[0]; //自动执行,关键代码 Aim.WorkFlow.WorkFlow.AutoExecute(task); this.PageState.Add("TaskId", task.ID); break; default: if (RequestData.Get <string>("optype") == "getChildData") { string stockCheckId = RequestData.Get <string>("StockCheckId"); IList <StockCheckDetail> scdEnt = StockCheckDetail.FindAllByProperty("StockCheckId", stockCheckId); PageState.Add("DetailList", scdEnt); } else { DoSelect(); } break; } }
private void ProcessDetail(IList <string> strList, StockCheck ent) { StockCheckDetail scdEnt = null; foreach (string str in strList) { JObject json = JsonHelper.GetObject <JObject>(str); scdEnt = StockCheckDetail.Find(json.Value <string>("Id")); if (json.Value <int>("StockCheckQuantity") >= 0) { scdEnt.StockCheckQuantity = json.Value <int>("StockCheckQuantity"); if (scdEnt.StockQuantity > scdEnt.StockCheckQuantity) { scdEnt.StockCheckResult = "盘亏"; } if (scdEnt.StockQuantity < scdEnt.StockCheckQuantity) { scdEnt.StockCheckResult = "盘赢"; } if (scdEnt.StockQuantity == scdEnt.StockCheckQuantity) { scdEnt.StockCheckResult = "正常"; scdEnt.StockCheckState = "盘点结束"; } scdEnt.DoUpdate(); } } //1 如果所有的盘点明细都正常 则把盘点单的状态改为已结束 SearchCriterion.AddSearch("StockCheckResult", "正常", SearchModeEnum.NotEqual); IList <StockCheckDetail> scdEnts = StockCheckDetail.FindAll(SearchCriterion); if (scdEnts.Count == 0) { ent.State = "已结束"; ent.Result = "正常"; } else { ent.Result = "异常"; } ent.DoUpdate(); }
private void AddGoodToStockBill(CheckStockWindow parameter) { if (!String.IsNullOrEmpty(parameter.txtId.Text)) { bool isExisted = false; List <StockCheckDetail> stockCheckDetails = StockCheckDetailDAL.Instance.GetStockCheckDetailLById(int.Parse(parameter.txtIdStockBill.Text)); foreach (var stockCheckDetail in stockCheckDetails) { MessageBox.Show(stockCheckDetails.Count.ToString()); if (stockCheckDetail.IdGood.ToString() == parameter.txtId.Text) { isExisted = true; MessageBox.Show("Đã thêm sản phẩm vào phiểu kiểm"); return; } } if (!isExisted) { int x = StockCheckDAL.Instance.GetQuantityGood(int.Parse(parameter.txtId.Text)); int y = StockCheckDAL.Instance.GetStockInGood(int.Parse(parameter.txtId.Text)); int z = StockCheckDAL.Instance.GetStockOutGood(int.Parse(parameter.txtId.Text)); int t = x + y - z; StockCheckDetail checkDetail = new StockCheckDetail( StockCheckDetailDAL.Instance.GetMaxId() + 1, int.Parse(parameter.txtIdStockBill.Text), int.Parse(parameter.txtId.Text), x, t, y, z); StockCheckDetailDAL.Instance.AddStockCheckDetailToDatabase(checkDetail); LoadStockCheckGood(CheckStockWindow); } } else { MessageBox.Show("Vui lòng chọn sản phẩm"); } }
public List <StockCheckDetail> GetStockCheckDetailLById(int idStockCheckDetail) { List <StockCheckDetail> stockCheckDetails = new List <StockCheckDetail>(); try { OpenConnection(); string query = String.Format("Select * From CHITIETPKK Where MaPKK = '{0}'", idStockCheckDetail); SqlCommand command = new SqlCommand(query, conn); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable dataTable = new DataTable(); adapter.Fill(dataTable); for (int i = 0; i < dataTable.Rows.Count; i++) { StockCheckDetail stockCheckDetail = new StockCheckDetail( int.Parse(dataTable.Rows[i].ItemArray[0].ToString()), int.Parse(dataTable.Rows[i].ItemArray[1].ToString()), int.Parse(dataTable.Rows[i].ItemArray[2].ToString()), int.Parse(dataTable.Rows[i].ItemArray[3].ToString()), int.Parse(dataTable.Rows[i].ItemArray[4].ToString()), int.Parse(dataTable.Rows[i].ItemArray[5].ToString()), int.Parse(dataTable.Rows[i].ItemArray[6].ToString()) ); stockCheckDetails.Add(stockCheckDetail); } return(stockCheckDetails); } catch { return(new List <StockCheckDetail>()); } finally { CloseConnection(); } }
public List <StockCheckDetail> ConvertDBToStockDetailList(int idStockCheck) { DataTable dt = new DataTable(); List <StockCheckDetail> stockCheckDetails = new List <StockCheckDetail>(); try { OpenConnection(); string queryString = String.Format("Select * from CHITIETPKK Where MaPKK = '{0}'", idStockCheck); SqlCommand command = new SqlCommand(queryString, conn); command.ExecuteNonQuery(); SqlDataAdapter adapter = new SqlDataAdapter(command); adapter.Fill(dt); } catch { } finally { CloseConnection(); } for (int i = 0; i < dt.Rows.Count; i++) { StockCheckDetail stockCheck = new StockCheckDetail( int.Parse(dt.Rows[i].ItemArray[0].ToString()), int.Parse(dt.Rows[i].ItemArray[1].ToString()), int.Parse(dt.Rows[i].ItemArray[2].ToString()), int.Parse(dt.Rows[i].ItemArray[3].ToString()), int.Parse(dt.Rows[i].ItemArray[4].ToString()), int.Parse(dt.Rows[i].ItemArray[5].ToString()), int.Parse(dt.Rows[i].ItemArray[6].ToString()) ); stockCheckDetails.Add(stockCheck); } return(stockCheckDetails); }
private void ProcessDetail(IList <string> strList, StockCheck ent) { IList <StockCheckDetail> scEnts = StockCheckDetail.FindAllByProperty("StockCheckId", ent.Id); foreach (StockCheckDetail tent in scEnts) { tent.DoDelete(); } StockCheckDetail scdEnt = null; foreach (string str in strList) { JObject json = JsonHelper.GetObject <JObject>(str); scdEnt = new StockCheckDetail(); scdEnt.StockCheckId = ent.Id; scdEnt.ProductId = json.Value <string>("ProductId"); scdEnt.ProductName = json.Value <string>("ProductName"); scdEnt.ProductCode = json.Value <string>("ProductCode"); scdEnt.ProductPcn = json.Value <string>("ProductPcn"); scdEnt.StockQuantity = json.Value <int>("StockQuantity"); scdEnt.StockCheckState = json.Value <string>("StockCheckState"); scdEnt.DoCreate(); } }
public void AddToStockCheckDetails(StockCheckDetail stockCheckDetail) { base.AddObject("StockCheckDetails", stockCheckDetail); }
public static StockCheckDetail CreateStockCheckDetail(int ID, int stockCheckDetails_StockCheck, int unitsExpected, int unitsFound, byte[] rowVersion) { StockCheckDetail stockCheckDetail = new StockCheckDetail(); stockCheckDetail.Id = ID; stockCheckDetail.StockCheckDetails_StockCheck = stockCheckDetails_StockCheck; stockCheckDetail.UnitsExpected = unitsExpected; stockCheckDetail.UnitsFound = unitsFound; stockCheckDetail.RowVersion = rowVersion; return stockCheckDetail; }
protected void Page_Load(object sender, EventArgs e) { op = RequestData.Get <string>("op"); id = RequestData.Get <string>("id"); type = RequestData.Get <string>("type"); ent = StockCheck.Find(id); switch (RequestActionString) { case "WorkFlowEnd": ent.WorkFlowState = RequestData.Get <string>("state"); ent.ExamineResult = RequestData.Get <string>("ApprovalState"); ent.State = "已结束"; ent.DoUpdate(); IList <StockCheckDetail> scdEnts = StockCheckDetail.FindAllByProperty("StockCheckId", id); foreach (StockCheckDetail scdEnt in scdEnts) { if (scdEnt.StockCheckResult != "正常") { scdEnt.StockCheckState = "盘点结束"; scdEnt.DoUpdate(); } } if (ent.ExamineResult == "同意") { foreach (StockCheckDetail scdEnt in scdEnts) { if (scdEnt.StockCheckResult != "正常") //创建库存变更日志 并更改库存 { StockLog slEnt = new StockLog(); slEnt.InOrOutDetailId = scdEnt.Id; StockCheck scEnt = StockCheck.Find(scdEnt.StockCheckId); slEnt.InOrOutBillNo = scEnt.StockCheckNo; slEnt.OperateType = "库存盘点"; slEnt.WarehouseId = scEnt.WarehouseId; slEnt.WarehouseName = scEnt.WarehouseName; slEnt.StockQuantity = scdEnt.StockQuantity; slEnt.Quantity = scdEnt.StockCheckQuantity - scdEnt.StockQuantity; slEnt.ProductId = scdEnt.ProductId; Product pEnt = Product.Find(scdEnt.ProductId); slEnt.ProductName = pEnt.Name; slEnt.ProductCode = pEnt.Code; slEnt.ProductIsbn = pEnt.Isbn; slEnt.ProductPcn = pEnt.Pcn; slEnt.CreateId = UserInfo.UserID; slEnt.CreateName = UserInfo.Name; slEnt.CreateTime = System.DateTime.Now; slEnt.DoCreate(); IList <StockInfo> siEnts = StockInfo.FindAllByProperties("ProductId", scdEnt.ProductId, "WarehouseId", ent.WarehouseId); if (siEnts.Count > 0) { siEnts[0].StockQuantity = scdEnt.StockCheckQuantity; siEnts[0].DoUpdate(); } } } } break; default: DoSelect(); break; } if (op != "c" && op != "cs") { if (!String.IsNullOrEmpty(id)) { SetFormData(ent); } } }
public ReturnType Check(int num, List <StockDetail> stockDetailList, StockDetail checkDetail, StockCheckDetail stockCheckDetail) { System.Data.Common.DbTransaction tran = null; using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString())) { try { alading.Connection.Open(); tran = alading.Connection.BeginTransaction(); StockProduct stockProduct = alading.StockProduct.FirstOrDefault(c => c.SkuOuterID == checkDetail.ProductSkuOuterId); StockItem stockItem = alading.StockItem.FirstOrDefault(c => c.OuterID == stockProduct.OuterID); StockHouseProduct stockHouseProduct = alading.StockHouseProduct.FirstOrDefault(c => c.HouseCode == checkDetail.StockHouseCode && c.LayoutCode == checkDetail.StockLayOutCode && c.SkuOuterID == checkDetail.ProductSkuOuterId); /*修改相关数量,若报溢则加,报损则减*/ stockProduct.SkuQuantity += num; stockItem.TotalQuantity += num; if (stockHouseProduct != null) { stockHouseProduct.Num += num; } else { stockHouseProduct = new StockHouseProduct(); stockHouseProduct.HouseCode = checkDetail.StockHouseCode; stockHouseProduct.HouseName = checkDetail.HouseName; stockHouseProduct.HouseProductCode = System.Guid.NewGuid().ToString(); stockHouseProduct.LayoutCode = checkDetail.StockLayOutCode; stockHouseProduct.LayoutName = checkDetail.LayoutName; stockHouseProduct.Num = num; stockHouseProduct.SkuOuterID = checkDetail.ProductSkuOuterId; alading.AddToStockHouseProduct(stockHouseProduct); } /*将出入库详情添加到历史表中并在StockDetail表中删除该数据*/ foreach (StockDetail stockDetail in stockDetailList) { HistoryStockDetail hisStockDetail = new HistoryStockDetail(); hisStockDetail.DetailRemark = stockDetail.DetailRemark; hisStockDetail.DetailType = stockDetail.DetailType; hisStockDetail.DurabilityDate = stockDetail.DurabilityDate; hisStockDetail.HistoryStockDetailCode = stockDetail.StockDetailCode; hisStockDetail.HouseName = stockDetail.HouseName; hisStockDetail.InOutCode = stockDetail.InOutCode; hisStockDetail.LayoutName = stockDetail.LayoutName; hisStockDetail.Price = stockDetail.Price; hisStockDetail.ProductSkuOuterId = stockDetail.ProductSkuOuterId; hisStockDetail.Quantity = stockDetail.Quantity; hisStockDetail.SearchText = stockDetail.SearchText; hisStockDetail.StockHouseCode = stockDetail.StockHouseCode; hisStockDetail.StockLayOutCode = stockDetail.StockLayOutCode; hisStockDetail.Tax = stockDetail.Tax; hisStockDetail.TotalFee = stockDetail.TotalFee; alading.AddToHistoryStockDetail(hisStockDetail); StockDetail temp = alading.StockDetail.FirstOrDefault(c => c.StockDetailCode == stockDetail.StockDetailCode); if (temp != null) { alading.DeleteObject(temp); } } /*将盘点生成的入库详情加入StockDetail表中,做为初始数据*/ alading.AddToStockDetail(checkDetail); alading.AddToStockCheckDetail(stockCheckDetail); alading.SaveChanges(); tran.Commit(); return(ReturnType.Success); } catch (System.Exception ex) { if (tran != null) { tran.Rollback(); } return(ReturnType.SaveFailed); } finally { if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed) { alading.Connection.Close(); } } } }
/// <summary> /// 归档 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bbtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { WaitDialogForm waitForm = new WaitDialogForm(Constants.OPERATE_DB_DATA); waitForm.Show(); try { if (string.IsNullOrEmpty(comboBoxStockHouse.Text)) { waitForm.Close(); XtraMessageBox.Show("请选择仓库进行盘点!"); return; } if (gvProductCheck.RowCount == 0) { waitForm.Close(); XtraMessageBox.Show("请选择一件商品进行盘点!"); return; } if (string.IsNullOrEmpty(pceOperator.Text)) { waitForm.Close(); XtraMessageBox.Show("请选择操作人!"); return; } /*盘点必须选择具体库位,否则返回*/ if (!IsChooseLayout()) { waitForm.Close(); XtraMessageBox.Show("请选择具体库位!"); return; } /*盘点必须输入实际数量,否则返回*/ if (!IsInputQuantity()) { waitForm.Close(); XtraMessageBox.Show("请输入实际数量!"); return; } /*开始进行盘点*/ #region 出入库单 ///*实例化两个StockInOut,一个用于记录报损出库,一个用于记录报溢入库*/ //Alading.Entity.StockInOut profitInout = new Alading.Entity.StockInOut(); //Alading.Entity.StockInOut lossInout = new Alading.Entity.StockInOut(); //#region 初始化赋值 //profitInout.AmountTax = 0; //profitInout.DiscountFee = 0; //profitInout.DueFee = 0; //profitInout.FreightCode = string.Empty; //profitInout.FreightCompany = string.Empty; //profitInout.HouseCodeIn = string.Empty; //profitInout.HouseCodeOut = string.Empty; //profitInout.HouseNameIn = string.Empty; //profitInout.HouseNameOut = string.Empty; //profitInout.IncomeTime = DateTime.Now; ///*GUID*/ //profitInout.InOutCode = System.Guid.NewGuid().ToString(); //profitInout.InOutStatus = (int)InOutStatus.AllReach; //profitInout.InOutTime = DateTime.Now; //profitInout.InOutType = (int)InOutType.ProfitIn; //profitInout.IsSettled = true; ///*操作人,暂时为空*/ //profitInout.OperatorCode = string.Empty; //profitInout.OperatorName = string.Empty; //profitInout.PayTerm = DateTime.Now; //profitInout.PayThisTime = 0; //profitInout.PayType = (int)PayType.OTHER; //profitInout.SearchText = string.Empty; //profitInout.TradeOrderCode = string.Empty; //profitInout.TransportCode = string.Empty; //lossInout.AmountTax = 0; //lossInout.DiscountFee = 0; //lossInout.DueFee = 0; //lossInout.FreightCode = string.Empty; //lossInout.FreightCompany = string.Empty; //lossInout.HouseCodeIn = string.Empty; //lossInout.HouseCodeOut = string.Empty; //lossInout.HouseNameIn = string.Empty; //lossInout.HouseNameOut = string.Empty; //lossInout.IncomeTime = DateTime.Now; ///*GUID*/ //lossInout.InOutCode = System.Guid.NewGuid().ToString(); //lossInout.InOutStatus = (int)InOutStatus.AllReach; //lossInout.InOutTime = DateTime.Now; //lossInout.InOutType = (int)InOutType.ProfitIn; //lossInout.IsSettled = true; ///*操作人,暂时为空*/ //lossInout.OperatorCode = string.Empty; //lossInout.OperatorName = string.Empty; //lossInout.PayTerm = DateTime.Now; //lossInout.PayThisTime = 0; //lossInout.PayType = (int)PayType.OTHER; //lossInout.SearchText = string.Empty; //lossInout.TradeOrderCode = string.Empty; //lossInout.TransportCode = string.Empty; //#endregion #endregion Hashtable table = comboBoxStockHouse.Tag as Hashtable; string houseCode = table[comboBoxStockHouse.SelectedIndex].ToString(); int rowCount = gvProductCheck.RowCount; /*盘点详情列表*/ //List<StockCheckDetail> stockCheckDetailList = new List<StockCheckDetail>(); #region 盘点单 StockCheck stockCheck = new StockCheck(); stockCheck.Created = DateTime.Now; /*操作人*/ stockCheck.OperatorCode = pceOperator.Tag != null?pceOperator.Tag.ToString() : string.Empty; /*盘点单号*/ //string year = DateTime.Now.Year.ToString(); //string month = DateTime.Now.Month.ToString(); //string day = DateTime.Now.Day.ToString(); //string hour = DateTime.Now.Hour.ToString(); //string minute = DateTime.Now.Minute.ToString(); //string second = DateTime.Now.Second.ToString(); //stockCheck.StockCheckCode = "PDD-"+year+month+day+"-"+hour+minute+second; stockCheck.StockCheckCode = !string.IsNullOrEmpty(textEditCheckCode.Text) ? textEditCheckCode.Text.Trim() : System.Guid.NewGuid().ToString(); stockCheck.StockHouseCode = houseCode; #endregion if (StockDetailService.AddStockCheck(stockCheck) == ReturnType.Success) { for (int i = 0; i < rowCount; i++) { DataRow row = gvProductCheck.GetDataRow(i); string profitType = row[gcProfitType.FieldName].ToString(); string skuOuterId = row[gcSkuOuterID.FieldName].ToString(); int factQuantity = int.Parse(row[gcQuantity.FieldName].ToString()); int skuQuantity = int.Parse(row[gcSkuQuantity.FieldName].ToString()); string layoutCode = row[gcLayoutCode.FieldName].ToString(); string layoutName = row[gcLayoutName.FieldName].ToString(); #region 盘点入库Detail StockDetail stockDetail = new StockDetail(); stockDetail.DetailRemark = string.Empty; stockDetail.DetailType = (int)DetailType.CheckIn; stockDetail.DurabilityDate = DateTime.Now; stockDetail.HouseName = comboBoxStockHouse.Text; stockDetail.InOutCode = string.Empty; stockDetail.LayoutName = layoutName; /*价格问题??????*/ stockDetail.Price = row[gcPrice.FieldName] != null && row[gcPrice.FieldName].ToString() != string.Empty ? float.Parse(row[gcPrice.FieldName].ToString()) : 0; stockDetail.ProductSkuOuterId = skuOuterId; stockDetail.Quantity = factQuantity; /*搜索字段*/ stockDetail.SearchText = string.Empty; stockDetail.StockDetailCode = System.Guid.NewGuid().ToString(); stockDetail.StockHouseCode = houseCode; stockDetail.StockLayOutCode = layoutCode; stockDetail.Tax = string.Empty; stockDetail.TotalFee = stockDetail.Price * stockDetail.Quantity; #endregion #region 盘点详情 StockCheckDetail stockCheckDetail = new StockCheckDetail(); /*报溢/报损数量*/ stockCheckDetail.CheckQuantity = factQuantity - skuQuantity; if (stockCheckDetail.CheckQuantity < 0) { stockCheckDetail.CheckQuantity = -stockCheckDetail.CheckQuantity; } stockCheckDetail.LayoutCode = layoutCode; /*实际数量*/ stockCheckDetail.Quantity = factQuantity; /*搜索字段*/ stockCheckDetail.SearchText = string.Empty; stockCheckDetail.SkuOuterID = skuOuterId; /*账面数量*/ stockCheckDetail.SkuQuantity = skuQuantity; stockCheckDetail.StockCheckCode = stockCheck.StockCheckCode; #endregion /*将所有该仓库该库位的商品出入库详情取出,放入历史表*/ List <StockDetail> hisStockDetailList = StockDetailService.GetStockDetail(c => c.ProductSkuOuterId == skuOuterId && c.StockHouseCode == houseCode && c.StockLayOutCode == layoutCode); if (profitType == "1") { /*报溢处理*/ StockDetail profitDetail = new StockDetail(); profitDetail.DetailRemark = "报溢入库"; profitDetail.DetailType = (int)DetailType.ProfitIn; profitDetail.DurabilityDate = stockDetail.DurabilityDate; profitDetail.HouseName = stockDetail.HouseName; profitDetail.InOutCode = string.Empty; profitDetail.LayoutName = stockDetail.LayoutName; profitDetail.Price = stockDetail.Price; profitDetail.ProductSkuOuterId = stockDetail.ProductSkuOuterId; /*报溢入库数量=实际数量-账面数量*/ profitDetail.Quantity = factQuantity - skuQuantity; /*搜索字段*/ profitDetail.SearchText = string.Empty; profitDetail.StockDetailCode = System.Guid.NewGuid().ToString(); profitDetail.StockHouseCode = houseCode; profitDetail.StockLayOutCode = layoutCode; profitDetail.Tax = string.Empty; /*总花费*/ profitDetail.TotalFee = profitDetail.Quantity * profitDetail.Price; hisStockDetailList.Add(profitDetail); /*盘点详情的类型为报溢*/ stockCheckDetail.ProfitType = (int)ProfitType.PROFIT; } else if (profitType == "2") { /*报损处理*/ StockDetail LossDetail = new StockDetail(); LossDetail.DetailRemark = "报损入库"; LossDetail.DetailType = (int)DetailType.LossOut; LossDetail.DurabilityDate = stockDetail.DurabilityDate; LossDetail.HouseName = stockDetail.HouseName; LossDetail.InOutCode = string.Empty; LossDetail.LayoutName = stockDetail.LayoutName; LossDetail.Price = stockDetail.Price; LossDetail.ProductSkuOuterId = stockDetail.ProductSkuOuterId; /*报损出库数量=实际数量-账面数量*/ LossDetail.Quantity = skuQuantity - factQuantity; /*搜索字段*/ LossDetail.SearchText = string.Empty; LossDetail.StockDetailCode = System.Guid.NewGuid().ToString(); LossDetail.StockHouseCode = houseCode; LossDetail.StockLayOutCode = layoutCode; LossDetail.Tax = string.Empty; /*总花费*/ LossDetail.TotalFee = LossDetail.Quantity * LossDetail.Price; hisStockDetailList.Add(LossDetail); /*盘点详情的类型为报损*/ stockCheckDetail.ProfitType = (int)ProfitType.LOSS; } else { /*正常处理*/ stockCheckDetail.ProfitType = (int)ProfitType.NORMAL; } /*盘点详情列表*/ //stockCheckDetailList.Add(); /*盘点单需要的参数:1、类型(报溢/报损)2、报溢或报损数量 3、历史出入库详情 4、盘点入库详情 5、盘点单列表*/ StockDetailService.Check(factQuantity - skuQuantity, hisStockDetailList, stockDetail, stockCheckDetail); } } else { /**/ } gvProductCheck.BestFitColumns(); gridViewDetail.BestFitColumns(); waitForm.Close(); } catch (Exception ex) { waitForm.Close(); XtraMessageBox.Show(ex.ToString(), Constants.SYSTEM_PROMPT, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void RunStockCheckDetail(string id) { //日期 date //车牌号码 no //供应商名称 supplierName //运输单位名称 transportName //材料种类 sort //材料名称 materialName //规格型号 model //毛重 grossWeight //皮重 tare //净重 suttle //检斤员 personnel LinkSelect linkS = new LinkSelect(); linkS.TableNames.Add("stockMaterialNoteCorresponding"); linkS.TableNames.Add("stockMaterialSettlementDetail"); linkS.LinkConds.Add("stockMaterialNoteCorresponding.smsdId=stockMaterialSettlementDetail.id"); linkS.TableNames.Add("stockMaterialSettlement"); linkS.LinkConds.Add("stockMaterialSettlementDetail.smsId=stockMaterialSettlement.id"); linkS.TableNames.Add("stockNote"); linkS.LinkConds.Add("stockMaterialNoteCorresponding.snId=stockNote.id"); linkS.TableNames.Add("personnelInfo"); linkS.LinkConds.Add("stockNote.piId1=personnelInfo.id"); linkS.TableNames.Add("indent"); linkS.LinkConds.Add("stockNote.iId=indent.id"); linkS.TableNames.Add("material"); linkS.LinkConds.Add("indent.mid=material.id"); linkS.TableNames.Add("materialName"); linkS.LinkConds.Add("material.mnid=materialName.id"); linkS.TableNames.Add("materialModel"); linkS.LinkConds.Add("material.mmid=materialModel.id"); linkS.TableNames.Add("materialKind"); linkS.LinkConds.Add("materialName.mkId=materialKind.id"); linkS.TableNames.Add("stockContract"); linkS.LinkConds.Add("indent.scId=stockContract.id"); linkS.TableNames.Add("providerInfo"); linkS.LinkConds.Add("stockContract.piId=providerInfo.Id"); linkS.TableNames.Add("voitureInfo"); linkS.LinkConds.Add("stockNote.viId=voitureInfo.id"); linkS.TableNames.Add("transportUnit"); linkS.LinkConds.Add("voitureInfo.tuId=transportUnit.id"); linkS.TableNames.Add("transportGoodsInformationCorresponding"); linkS.LinkConds.Add("stockNote.tgicId=transportGoodsInformationCorresponding.id"); linkS.TableNames.Add("transportContract"); linkS.LinkConds.Add("transportGoodsInformationCorresponding.tcId=transportContract.id"); linkS.Viewfields.Add("stockMaterialNoteCorresponding.inputDate as date"); linkS.Viewfields.Add("voitureInfo.[no]"); linkS.Viewfields.Add("providerInfo.[name] as supplierName"); linkS.Viewfields.Add("transportUnit.[name] as transportName"); linkS.Viewfields.Add("materialKind.sort"); linkS.Viewfields.Add("materialModel.model"); linkS.Viewfields.Add("materialName.[name] as materialName"); linkS.Viewfields.Add("stockNote.grossWeight"); linkS.Viewfields.Add("stockNote.tare"); linkS.Viewfields.Add("stockNote.suttle"); linkS.Viewfields.Add("personnelInfo.[name] as personnel"); linkS.Conds.Add("stockMaterialSettlement.id=" + id); DataSet ds = linkS.LeftLinkOpen(); StockCheckDetail oStockCheckDetail = new StockCheckDetail(); oStockCheckDetail.Source = ds; oStockCheckDetail.CoName = "中百"; oStockCheckDetail.ShowReport(); }
public static ReturnType Check(int num, List <StockDetail> stockDetailList, StockDetail checkDetail, StockCheckDetail stockCheckDetail) { return(DataProviderClass.Instance().Check(num, stockDetailList, checkDetail, stockCheckDetail)); }
partial void StockCheckDetails_Inserted(StockCheckDetail entity) { OnProductStatusAffected(entity.Product); }
partial void StockCheckDetails_Updated(StockCheckDetail entity) { //OnProductStatusAffected(entity.Product); }
partial void StockCheckDetails_Updated(StockCheckDetail entity) { OnProductStatusAffected(entity.Product); }