public void Create(MES_M802_Packing_Hd MES_M802_Packing_Hd) { MES_M802_Packing_Hd.CreateDt = DateTime.Now; tb_Sys_User tempUser = appCacheService.GetItem("user") as tb_Sys_User; MES_M802_Packing_Hd.CreateUser = tempUser.UserName; MES_M802_Packing_Hd.Validate(); this.MES_M802_Packing_HdRepository.Add(MES_M802_Packing_Hd); this.runtimeService.Commit(); }
public void Update(MES_M802_Packing_Hd MES_M802_Packing_Hd) { MES_M802_Packing_Hd.ModifyDt = DateTime.Now; tb_Sys_User tempUser = appCacheService.GetItem("user") as tb_Sys_User; MES_M802_Packing_Hd.ModifyUser = tempUser.UserName; MES_M802_Packing_Hd.Validate(); var existstb_Sys_Menu = this.GetById(MES_M802_Packing_Hd.Id); this.MES_M802_Packing_HdRepository.SetValues(MES_M802_Packing_Hd, existstb_Sys_Menu); this.runtimeService.Commit(); }
public void Save(MES_M802_Packing_Hd packingHd, List <MES_M802_Packing_Dtl> packingDtlLst) { packingHd.CreateDt = DateTime.Now; tb_Sys_User tempUser = appCacheService.GetItem("user") as tb_Sys_User; packingHd.CreateUser = tempUser.UserName; packingHd.CompCode = tempUser.CompCode; packingHd.Validate(); this.MES_M802_Packing_HdRepository.Add(packingHd); foreach (var packingDtl in packingDtlLst) { packingDtl.CreateDt = DateTime.Now; packingDtl.CreateUser = tempUser.UserName; packingDtl.CompCode = tempUser.CompCode; packingDtl.Validate(); this.packingDtlRepository.Add(packingDtl); } this.runtimeService.Commit(); }
/// <summary> /// 处理扫描的二维码 /// </summary> /// <param name="barCode"></param> private void OnHandelBarCode(string barCode) { //判断格式是否是生产批号 string regrule = @"\d{2}[a-zA-Z]{3}\d{6}"; Match m = Regex.Match(barCode, regrule); if (!m.Success) //如果不是生产批号 { OnHandelShipLot(barCode); } else { string jobNo = barCode; //1.1查出产品包装信息 var productPackInfo = this.eRPM001ProductPackInfoBindingSource.DataSource as ERP_M001_Product_PackInfo; if (productPackInfo == null) { lbTips.Text = "提示:产品包装资料不存在,请先扫描内标签。。。"; return; } //1.2查出全检信息 var jobTx = jobTxService.GetJobTxQuery().Where(a => a.JobNo == jobNo).FirstOrDefault(); if (jobTx == null) { lbTips.Text = "提示:全检资料不存在,请检查。。。"; return; } this.mESM501JobTxBindingSource.DataSource = jobTx; //1.3判断标签是否扫描过 var packingCount = packingHdService.GetPackingHdQuery().Where(a => a.JobNo == jobNo).Count(); if (packingCount > 0) { lbTips.Text = "提示:该生产批号已存在,请检查。。。"; return; } //1.4 获得这张现品票的总包数 = 总片数/(片/包) int baoCount = 0;//Conv.ToInt(Math.Ceiling((jobTx.OutQty??0) / productPackInfo.PackBaoPian)); //int heCount = baoCount/productPackInfo.PackHeBao //1.5 未扫描过的小标签 var labelSList = this.mESM801LabelSBindingSource.DataSource as List <MES_M801_Label_S>; //1.6 从未扫描过的小标签里拿出这张仙品票所需要的标签数量 即 baoCount,一包等于一张小标签 var labelPreList = labelSList.Take(baoCount).ToList(); //1.7对拿出来的baoCount张小标签根据单据号进行分组计数 var packingDtlList = labelPreList.GroupBy(a => a.MLotNo). Select(g => new MES_M802_Packing_Dtl() { JobNo = jobNo, ShipLot = g.Key, ShipLotQty = g.Count() * productPackInfo.PackPianZhi * productPackInfo.PackBaoPian, ShipLotPackage = g.Count() }).ToList(); this.mESM802PackingDtlBindingSource.DataSource = packingDtlList; this.gridView1.BestFitColumns(); var packingHd = new MES_M802_Packing_Hd() { //ProdDt = jobTx.ProdDt, Qty = packingDtlList.Sum(a => a.ShipLotQty), Package = baoCount, CustCode = productPackInfo.CustCode, JobNo = jobTx.JobNo, PartNo = productPackInfo.PartNo, PartType = productPackInfo.PartType, }; this.mESM802PackingHdBindingSource.DataSource = packingHd; //1.8对计算过胡小标签进行标记 labelPreList.ForEach(a => a.IsPack = true); lbTips.Text = ""; } }