Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        /// <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 = "";
            }
        }