コード例 #1
0
ファイル: UCDevanning.cs プロジェクト: Novthirteen/yfkey-scms
        protected override void gvHuListDataBind()
        {
            base.gvHuListDataBind();
            TransformerDetail[] transformerArray = new TransformerDetail[] { };
            this.lblBarCode.Text = "大箱";
            if (this.resolver.Transformers != null &&
                this.resolver.Transformers.Length > 0 &&
                this.resolver.Transformers[0].TransformerDetails != null)
            {
                transformerArray = this.resolver.Transformers[0].TransformerDetails;
            }
            if (this.resolver.IOType == BusinessConstants.IO_TYPE_OUT)
            {
                if (isHasOutDetail)
                {
                    transformerArray = this.resolver.Transformers[1].TransformerDetails;
                }
                this.lblBarCode.Text = "小箱";
            }
            ts.MappingName         = transformerArray.GetType().Name;
            this.dgList.DataSource = transformerArray;
            //ts = new DataGridTableStyle();
            //ts.GridColumnStyles.Add(columnHuId);
            //ts.GridColumnStyles.Add(columnStorageBinCode);
            //ts.GridColumnStyles.Add(columnCurrentQty);
            //ts.GridColumnStyles.Add(columnItemDescription);

            //this.dgList.TableStyles.Clear();
            //this.dgList.TableStyles.Add(ts);

            //this.ResumeLayout();
            //this.tbBarCode.Text = string.Empty;
        }
コード例 #2
0
ファイル: PutAwayMgr.cs プロジェクト: Novthirteen/yfkey-scms
        protected override void SetDetail(Resolver resolver)
        {
            Hu hu = huMgr.CheckAndLoadHu(resolver.Input);

            if (this.locationMgr.IsHuOcuppyByPickList(resolver.Input))
            {
                throw new BusinessErrorException("Order.Error.PickUp.HuOcuppied", resolver.Input);
            }
            if (resolver.BinCode == string.Empty || resolver.BinCode == null)
            {
                throw new BusinessErrorException("Warehouse.PutAway.PlzScanBin");
            }
            if (hu.StorageBin != null && hu.StorageBin.Trim() != string.Empty && hu.StorageBin == resolver.BinCode)
            {
                throw new BusinessErrorException("Warehouse.PutAway.AlreadyInThisBin");
            }
            //校验Bin
            StorageBin        bin = storageBinMgr.CheckAndLoadStorageBin(resolver.BinCode);
            LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, string.Empty, bin.Area.Location.Code);

            locationLotDetail.NewStorageBin = bin;
            TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, true);

            resolver.AddTransformerDetail(transformerDetail);
        }
コード例 #3
0
ファイル: PickupMgr.cs プロジェクト: Novthirteen/yfkey-scms
        protected override void SetDetail(Resolver resolver)
        {
            //setDetailMgr.CheckHuInTransformerDetails(resolver);
            LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode);

            //Hu hu = locationLotDetail.Hu;
            //hu.Qty = locationLotDetail.Qty / hu.UnitQty;
            if (this.locationMgr.IsHuOcuppyByPickList(resolver.Input))
            {
                throw new BusinessErrorException("Order.Error.PickUp.HuOcuppied", resolver.Input);
            }

            //已经下架
            if (locationLotDetail.StorageBin == null)
            {
                throw new BusinessErrorException("Warehouse.PickUp.Error.IsAlreadyPickUp", resolver.Input);
            }
            TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false);

            resolver.AddTransformerDetail(transformerDetail);
            //transformerDetail.CurrentQty = transformerDetail.Qty;
            //int maxSeq = setDetailMgr.FindMaxSeq(resolver.Transformers);
            //transformerDetail.Sequence = maxSeq + 1;
            //resolver.Transformers[0].TransformerDetails.Add(transformerDetail);
            //resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL;
        }
コード例 #4
0
        public static TransformerDetail ConvertRepackDetailToTransformerDetail(RepackDetail repackDetail)
        {
            TransformerDetail transformerDetail = new TransformerDetail();

            if (repackDetail.LocationLotDetail.Hu != null)
            {
                transformerDetail            = ConvertHuToTransformerDetail(repackDetail.LocationLotDetail.Hu);
                transformerDetail.Qty        = repackDetail.Qty / repackDetail.LocationLotDetail.Hu.UnitQty;
                transformerDetail.CurrentQty = transformerDetail.Qty;
            }
            else
            {
                transformerDetail.ItemCode        = repackDetail.LocationLotDetail.Item.Code;
                transformerDetail.ItemDescription = repackDetail.LocationLotDetail.Item.Description;

                transformerDetail.UomCode   = repackDetail.LocationLotDetail.Item.Uom.Code;
                transformerDetail.UnitCount = repackDetail.LocationLotDetail.Item.UnitCount;

                transformerDetail.Qty        = repackDetail.Qty;
                transformerDetail.CurrentQty = repackDetail.Qty;
            }

            transformerDetail.LocationLotDetId = repackDetail.LocationLotDetail.Id;
            transformerDetail.LocationCode     = repackDetail.LocationLotDetail.Location.Code;
            transformerDetail.StorageBinCode   = repackDetail.StorageBinCode;
            transformerDetail.IOType           = repackDetail.IOType;

            return(transformerDetail);
        }
コード例 #5
0
        public static Transformer ConvertTransformerDetailToTransformer(TransformerDetail transformerDetail)
        {
            if (transformerDetail == null)
            {
                return(null);
            }

            Transformer transformer = new Transformer();

            transformer.ItemCode         = transformerDetail.ItemCode;
            transformer.ItemDescription  = transformerDetail.ItemDescription;
            transformer.UomCode          = transformerDetail.UomCode;
            transformer.UnitCount        = transformerDetail.UnitCount;
            transformer.Qty              = transformerDetail.Qty;
            transformer.CurrentQty       = transformerDetail.CurrentQty;
            transformer.LocationCode     = transformerDetail.LocationCode;
            transformer.LocationFromCode = transformerDetail.LocationFromCode;
            transformer.LocationToCode   = transformerDetail.LocationToCode;
            transformer.LotNo            = transformerDetail.LotNo;
            transformer.LocationLotDetId = transformerDetail.LocationLotDetId;
            transformer.OrderLocTransId  = transformerDetail.OrderLocTransId;
            transformer.StorageBinCode   = transformerDetail.StorageBinCode;

            return(transformer);
        }
コード例 #6
0
 protected override void SetDetail(Resolver resolver)
 {
     LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode);
     TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false);
     resolver.AddTransformerDetail(transformerDetail);
     resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL;
 }
コード例 #7
0
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        try
        {
            if (this.InTransformerDetailList == null || this.InTransformerDetailList.Count == 0)
            {
                ShowErrorMessage("MasterData.Inventory.Repack.Devanning.Empty");
                return;
            }
            TransformerDetail newTransformerDetail = CloneHelper.DeepClone <TransformerDetail>(this.InTransformerDetailList[0]);
            newTransformerDetail.HuId      = string.Empty;
            newTransformerDetail.Qty       = 0;
            newTransformerDetail.UnitCount = 0;
            newTransformerDetail.IOType    = BusinessConstants.IO_TYPE_OUT;

            if (this.OutTransformerDetailList == null)
            {
                CacheResolver.Transformers[1].TransformerDetails = new List <TransformerDetail>();
            }

            this.OutTransformerDetailList.Add(newTransformerDetail);
            BindTransformerDetail();
        }
        catch (BusinessErrorException ex)
        {
            ShowErrorMessage(ex);
        }
    }
コード例 #8
0
    public List <TransformerDetail> GetHuList()
    {
        List <TransformerDetail> huList = new List <TransformerDetail>();

        foreach (GridViewRow gvr in GV_List.Rows)
        {
            TransformerDetail transformerDetail = new TransformerDetail();
            transformerDetail.HuId           = this.GetHuId(gvr);
            transformerDetail.LotNo          = ((Label)gvr.FindControl("lblLotNo")).Text;
            transformerDetail.StorageBinCode = ((Label)gvr.FindControl("lblStorageBinCode")).Text;
            HiddenField hfQty = (HiddenField)gvr.FindControl("hfQty");
            transformerDetail.Qty = hfQty.Value != string.Empty ? decimal.Parse(hfQty.Value) : 0;
            //if ((HiddenField)gvr.FindControl("hfIsqualified") != null && ((HiddenField)gvr.FindControl("hfIsqualified")).Value != string.Empty)
            //{
            //    transformerDetail.IsQualified = bool.Parse(((HiddenField)gvr.FindControl("hfIsqualified")).Value);
            //}
            transformerDetail.CurrentQty = this.GetCurrentQty(gvr);
            if ((HiddenField)gvr.FindControl("hfId") != null && ((HiddenField)gvr.FindControl("hfId")).Value != string.Empty)
            {
                transformerDetail.Id = int.Parse(((HiddenField)gvr.FindControl("hfId")).Value);
            }
            huList.Add(transformerDetail);
        }

        return(huList);
    }
コード例 #9
0
        protected override void SetDetail(Resolver resolver)
        {
            InspectOrderDetail inspectOrderDetail = inspectOrderDetailMgr.CheckAndGetInspectOrderDetail(resolver.Input);
            TransformerDetail  transformerDetail  = TransformerHelper.ConvertInspectDetailToTransformerDetail(inspectOrderDetail);

            resolver.AddTransformerDetail(transformerDetail);
            resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL;
        }
コード例 #10
0
 public void InitPageParameter(TransformerDetail transformDetail)
 {
     tbUnitCount.Text = transformDetail.UnitCount.ToString("F2");
     tbQty.Text       = "1";
     tbUnitCount.Attributes["oldValue"] = tbUnitCount.Text;
     tbQty.Attributes["oldValue"]       = tbQty.Text;
     this.HuId = transformDetail.HuId;
 }
コード例 #11
0
        public static List <Transformer> ConvertInspectDetailToTransformer(IList <InspectOrderDetail> inspectOrderDetailList)
        {
            List <Transformer> transformerList = new List <Transformer>();

            if (inspectOrderDetailList != null && inspectOrderDetailList.Count > 0)
            {
                foreach (InspectOrderDetail inspectDetail in inspectOrderDetailList)
                {
                    bool isExist = false;
                    foreach (Transformer transformer in transformerList)
                    {
                        if (inspectDetail.LocationLotDetail.Item.Code == transformer.ItemCode &&
                            inspectDetail.LocationFrom.Code == transformer.LocationFromCode &&
                            inspectDetail.LocationTo.Code == transformer.LocationToCode)
                        {
                            TransformerDetail transformerDetail = ConvertInspectDetailToTransformerDetail(inspectDetail);

                            transformer.AddTransformerDetail(transformerDetail);
                            transformer.Qty += transformerDetail.Qty;
                            isExist          = true;
                            break;
                        }
                    }

                    if (!isExist)
                    {
                        Transformer transformer = new Transformer();

                        transformer.Id              = inspectDetail.Id;
                        transformer.ItemCode        = inspectDetail.LocationLotDetail.Item.Code;
                        transformer.ItemDescription = inspectDetail.LocationLotDetail.Item.Description;

                        if (inspectDetail.LocationLotDetail.Hu != null)
                        {
                            transformer.UomCode   = inspectDetail.LocationLotDetail.Hu.Uom.Code;
                            transformer.UnitCount = inspectDetail.LocationLotDetail.Hu.UnitCount;
                        }
                        else
                        {
                            transformer.UomCode   = inspectDetail.LocationLotDetail.Item.Uom.Code;
                            transformer.UnitCount = inspectDetail.LocationLotDetail.Item.UnitCount;
                        }
                        transformer.LocationFromCode = inspectDetail.LocationFrom.Code;
                        transformer.LocationToCode   = inspectDetail.LocationTo.Code;
                        transformer.Qty        = inspectDetail.InspectedQty;
                        transformer.CurrentQty = 0;

                        if (inspectDetail.LocationLotDetail.Hu != null || inspectDetail.LocationLotDetail.LotNo != null)
                        {
                            transformer.AddTransformerDetail(ConvertInspectDetailToTransformerDetail(inspectDetail));
                        }
                        transformerList.Add(transformer);
                    }
                }
            }
            ProcessTransformer(transformerList);
            return(transformerList);
        }
コード例 #12
0
        public static TransformerDetail ConvertHuToTransformerDetail(FlowView flowView, Hu hu)
        {
            TransformerDetail transformerDetail = ConvertHuToTransformerDetail(hu);

            transformerDetail.LocationFromCode = flowView.LocationFrom != null ? flowView.LocationFrom.Code : null;
            transformerDetail.LocationToCode   = flowView.LocationTo != null ? flowView.LocationTo.Code : null;
            transformerDetail.StorageBinCode   = hu.StorageBin == null ? string.Empty : hu.StorageBin;

            return(transformerDetail);
        }
コード例 #13
0
        public static TransformerDetail ConvertReceiptToTransformerDetail(ReceiptDetail receiptDetail)
        {
            TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(receiptDetail.OrderLocationTransaction);

            transformerDetail.HuId       = receiptDetail.HuId;
            transformerDetail.LotNo      = receiptDetail.LotNo;
            transformerDetail.Qty        = receiptDetail.ShippedQty.HasValue ? receiptDetail.ShippedQty.Value : 0;
            transformerDetail.CurrentQty = receiptDetail.ReceivedQty.HasValue ? receiptDetail.ReceivedQty.Value : 0;
            transformerDetail.AdjustQty  = receiptDetail.ReceivedQty.HasValue ? receiptDetail.ReceivedQty.Value : 0;
            return(transformerDetail);
        }
コード例 #14
0
        public static TransformerDetail ConvertPickListResultToTransformerDetail(PickListResult pickListResult)
        {
            TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(pickListResult.PickListDetail.OrderLocationTransaction);

            transformerDetail.HuId       = pickListResult.LocationLotDetail.Hu.HuId;
            transformerDetail.LotNo      = pickListResult.LocationLotDetail.LotNo;
            transformerDetail.Qty        = pickListResult.Qty / pickListResult.PickListDetail.OrderLocationTransaction.UnitQty;
            transformerDetail.CurrentQty = transformerDetail.Qty;//单位换算

            return(transformerDetail);
        }
コード例 #15
0
        public LocationLotDetail ConvertTransformerDetailToLocationLotDetail(TransformerDetail transformerDetail, bool isPutAway)
        {
            LocationLotDetail locationLotDetail = locationLotDetailMgr.LoadLocationLotDetail(transformerDetail.Id);

            locationLotDetail.CurrentInspectQty = locationLotDetail.Qty;
            if (isPutAway && transformerDetail.StorageBinCode != null && transformerDetail.StorageBinCode.Trim() != string.Empty)
            {
                locationLotDetail.NewStorageBin = storageBinMgr.CheckAndLoadStorageBin(transformerDetail.StorageBinCode);
            }

            return(locationLotDetail);
        }
コード例 #16
0
        public static List <TransformerDetail> ConvertReceiptsToTransformerDetails(IList <ReceiptDetail> receiptDetailList)
        {
            List <TransformerDetail> transformerDetailList = new List <TransformerDetail>();

            if (receiptDetailList != null && receiptDetailList.Count > 0)
            {
                foreach (ReceiptDetail receiptDetail in receiptDetailList)
                {
                    TransformerDetail transformerDetail = ConvertReceiptToTransformerDetail(receiptDetail);
                    transformerDetailList.Add(transformerDetail);
                }
            }
            return(transformerDetailList);
        }
コード例 #17
0
        public static List <Transformer> ConvertPickListDetailsToTransformers(IList <PickListDetail> pickListDetailList)
        {
            List <Transformer> transformerList = new List <Transformer>();

            if (pickListDetailList != null && pickListDetailList.Count > 0)
            {
                foreach (PickListDetail pickListDetail in pickListDetailList)
                {
                    if (pickListDetail.LotNo != null && pickListDetail.LotNo != string.Empty)//备料不足的不显示
                    {
                        bool   isExist = false;
                        string pickListDetailStorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code;
                        foreach (Transformer transformer in transformerList)
                        {
                            string transformerStorageBinCode = transformer.StorageBinCode == null ? string.Empty : transformer.StorageBinCode;
                            if (pickListDetailStorageBinCode == transformerStorageBinCode && //(pickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId)
                                pickListDetail.Item.Code == transformer.ItemCode &&
                                pickListDetail.LotNo == transformer.LotNo &&//按LotNo汇总,以后可能需要考虑按Hu汇总
                                pickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId)   //按订单汇总
                            {
                                TransformerDetail transformerDetail = ConvertPickListDetailToTransformerDetail(pickListDetail);
                                transformer.AddTransformerDetail(transformerDetail);
                                transformer.Qty += transformerDetail.Qty;
                                isExist          = true;
                                break;
                            }
                        }

                        if (!isExist)
                        {
                            Transformer transformer = ConvertOrderLocationTransactionToTransformer(pickListDetail.OrderLocationTransaction);
                            transformer.Id = pickListDetail.Id;
                            //transformer.Qty = pickListDetail.Qty;
                            transformer.StorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code;
                            transformer.LotNo          = pickListDetail.LotNo;
                            //transformer.CurrentQty =
                            if (pickListDetail.HuId != null || pickListDetail.LotNo != null)
                            {
                                TransformerDetail transformerDetail = ConvertPickListDetailToTransformerDetail(pickListDetail);
                                transformer.AddTransformerDetail(transformerDetail);
                                transformer.Qty = transformerDetail.Qty;
                            }
                            transformerList.Add(transformer);
                        }
                    }
                }
            }
            ProcessTransformer(transformerList);
            return(transformerList);
        }
コード例 #18
0
        public static List <TransformerDetail> ConvertRepackDetailListToTransformerDetailList(IList <RepackDetail> repackDetailList)
        {
            if (repackDetailList == null || repackDetailList.Count == 0)
            {
                return(null);
            }
            List <TransformerDetail> transformerDetailList = new List <TransformerDetail>();

            foreach (RepackDetail repackDetail in repackDetailList)
            {
                TransformerDetail transformerDetail = ConvertRepackDetailToTransformerDetail(repackDetail);
                transformerDetailList.Add(transformerDetail);
            }
            return(transformerDetailList);
        }
コード例 #19
0
        /// <summary>
        /// 仅校验投料的物料号,库位是否一致,不校验单位单包装等信息
        /// todo:不允许投入的又有数量又有Hu //可以前台控制
        /// </summary>
        /// <param name="resolver"></param>
        protected override void SetDetail(Resolver resolver)
        {
            if (resolver.CodePrefix == string.Empty)
            {
                throw new BusinessErrorException("Common.Business.Error.ScanProductLineFirst");
            }
            LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode);
            TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false);
            var query = resolver.Transformers.Where
                            (t => (t.ItemCode == transformerDetail.ItemCode && t.LocationCode == transformerDetail.LocationCode));

            if (query.Count() < 1)
            {
                throw new BusinessErrorException("Warehouse.HuMatch.NotMatch", transformerDetail.HuId);
            }

            #region 先进先出校验
            Flow flow = flowMgr.CheckAndLoadFlow(resolver.Code);
            if (flow.IsGoodsReceiveFIFO)
            {
                Hu             hu       = huMgr.CheckAndLoadHu(resolver.Input);
                IList <string> huIdList = new List <string>();
                if (resolver.Transformers != null && resolver.Transformers.Count > 0)
                {
                    foreach (Transformer transformer in resolver.Transformers)
                    {
                        if (transformer.TransformerDetails != null && transformer.TransformerDetails.Count > 0)
                        {
                            foreach (TransformerDetail det in transformer.TransformerDetails)
                            {
                                if (det.CurrentQty != decimal.Zero)
                                {
                                    huIdList.Add(det.HuId);
                                }
                            }
                        }
                    }
                }
                string maxLot = setDetailMgr.CheckFIFO(hu, huIdList);
                if (maxLot != string.Empty && maxLot != null)
                {
                    throw new BusinessErrorException("FIFO.ERROR", hu.HuId, maxLot);
                }
            }
            #endregion

            resolver.AddTransformerDetail(transformerDetail);
        }
コード例 #20
0
        public static TransformerDetail ConvertInProcessLocationDetailToTransformerDetail(InProcessLocationDetail inProcessLocationDetail)
        {
            TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(inProcessLocationDetail.OrderLocationTransaction);

            transformerDetail.HuId  = inProcessLocationDetail.HuId;
            transformerDetail.LotNo = inProcessLocationDetail.LotNo;
            //transformerDetail.Qty = inProcessLocationDetail.QtyToShip;
            transformerDetail.Qty = inProcessLocationDetail.Qty;

            //多次收货加的
            decimal receivedQty = inProcessLocationDetail.ReceivedQty.HasValue ? (decimal)inProcessLocationDetail.ReceivedQty : 0;

            transformerDetail.CurrentQty = inProcessLocationDetail.Qty - receivedQty;

            return(transformerDetail);
        }
コード例 #21
0
        public static List <Transformer> ConvertReceiptToTransformer(IList <ReceiptDetail> receiptDetailList)
        {
            List <Transformer> transformerList = new List <Transformer>();

            if (receiptDetailList != null && receiptDetailList.Count > 0)
            {
                foreach (ReceiptDetail receiptDetail in receiptDetailList)
                {
                    bool isExist = false;
                    foreach (Transformer transformer in transformerList)
                    {
                        if (receiptDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId)
                        {
                            TransformerDetail transformerDetail = ConvertReceiptToTransformerDetail(receiptDetail);

                            //transformer.AddTransformerDetail(transformerDetail);
                            if (receiptDetail.HuId != null || receiptDetail.LotNo != null)
                            {
                                transformer.AddTransformerDetail(transformerDetail);
                                transformer.Qty        += transformerDetail.Qty;
                                transformer.CurrentQty += transformerDetail.CurrentQty;
                            }
                            transformer.AdjustQty = transformer.Qty;
                            isExist = true;
                            break;
                        }
                    }

                    if (!isExist)
                    {
                        Transformer transformer = ConvertOrderLocationTransactionToTransformer(receiptDetail.OrderLocationTransaction);
                        transformer.Qty        = receiptDetail.ShippedQty.HasValue ? receiptDetail.ShippedQty.Value : 0;
                        transformer.CurrentQty = receiptDetail.ReceivedQty.HasValue ? receiptDetail.ReceivedQty.Value : 0;

                        transformer.AdjustQty = transformer.CurrentQty;

                        if (receiptDetail.HuId != null || receiptDetail.LotNo != null)
                        {
                            transformer.AddTransformerDetail(ConvertReceiptToTransformerDetail(receiptDetail));
                        }
                        transformerList.Add(transformer);
                    }
                }
            }
            ProcessTransformer(transformerList);
            return(transformerList);
        }
コード例 #22
0
    protected void GV_OutList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (this.RepackType == BusinessConstants.CODE_MASTER_REPACK_TYPE_VALUE_DEVANNING)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                TransformerDetail transformerDetail = (TransformerDetail)e.Row.DataItem;


                if (transformerDetail.HuId == string.Empty)
                {
                    ((Label)e.Row.FindControl("lblOrderQty")).Visible  = false;
                    ((TextBox)e.Row.FindControl("tbOrderQty")).Visible = true;
                }
            }
        }
    }
コード例 #23
0
 private void ShowHuStatus()
 {
     try
     {
         this.resolver.Input = this.tbBarCode.Text.Trim();
         if (this.resolver.Input != string.Empty)
         {
             this.resolver = TheClientMgr.ScanBarcode(this.resolver);
             if (this.resolver.Transformers != null &&
                 this.resolver.Transformers.Length == 1 &&
                 this.resolver.Transformers[0].TransformerDetails != null &&
                 this.resolver.Transformers[0].TransformerDetails.Length == 1)
             {
                 TransformerDetail t    = this.resolver.Transformers[0].TransformerDetails[0];
                 string            text = "条码信息:                                                \n条码:"
                                          + t.HuId + "\n物料代码:" + t.ItemCode
                                          + "\n物料描述:" + t.ItemDescription + "\n数量:" + t.Qty.ToString("0.########")
                                          + "\n批号:" + t.LotNo + "\n库位:" + t.LocationCode + "\n库格:" + t.StorageBinCode + "\n状态:" + t.Status;
                 string caption = "条码信息:";
                 MessageBox.Show(this, text, caption, MessageBoxButtons.OK);
                 this.resolver.Transformers[0].TransformerDetails = null;
                 this.tbBarCode.Text = string.Empty;
                 this.tbBarCode.Focus();
             }
         }
     }
     catch (FaultException ex)
     {
         string messageText = Utility.FormatExMessage(ex.Message);
         this.lblMessage.Text = messageText;
         MessageBox.Show(this, messageText);
         this.InitialAll();
         this.gvHuList.Visible = false;
         this.gvList.Visible   = false;
         this.tbBarCode.Text   = string.Empty;
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message, "程序内部错误,请与管理员联系", MessageBoxButtons.OK, MessageBoxIcon.Error);
         this.InitialAll();
         this.gvHuList.Visible = false;
         this.gvList.Visible   = false;
         this.tbBarCode.Text   = string.Empty;
     }
 }
コード例 #24
0
        /// <summary>
        /// 拣货
        /// </summary>
        /// <param name="pickListDetail"></param>
        /// <returns></returns>
        public static TransformerDetail ConvertPickListDetailToTransformerDetail(PickListDetail pickListDetail)
        {
            TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(pickListDetail.OrderLocationTransaction);

            transformerDetail.HuId           = pickListDetail.HuId;
            transformerDetail.LotNo          = pickListDetail.LotNo;
            transformerDetail.Qty            = pickListDetail.Qty;
            transformerDetail.StorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code;

            if (pickListDetail.PickListResults != null && pickListDetail.PickListResults.Count > 0)
            {
                foreach (PickListResult pickListResult in pickListDetail.PickListResults)
                {
                    transformerDetail.Qty -= pickListResult.Qty;
                }
            }
            return(transformerDetail);
        }
コード例 #25
0
        public static TransformerDetail ConvertHuToTransformerDetail(Hu hu)
        {
            TransformerDetail transformerDetail = new TransformerDetail();

            transformerDetail.ItemCode        = hu.Item.Code;
            transformerDetail.ItemDescription = hu.Item.Description;
            transformerDetail.UomCode         = hu.Uom.Code;
            transformerDetail.UnitCount       = hu.UnitCount;
            transformerDetail.HuId            = hu.HuId;
            transformerDetail.LotNo           = hu.LotNo;
            transformerDetail.Qty             = hu.Qty;
            transformerDetail.CurrentQty      = hu.Qty;
            transformerDetail.Status          = hu.Status;
            transformerDetail.LocationCode    = hu.Location == null ? string.Empty : hu.Location;
            transformerDetail.StorageBinCode  = hu.StorageBin == null ? string.Empty : hu.StorageBin;

            return(transformerDetail);
        }
コード例 #26
0
ファイル: Utility.cs プロジェクト: Novthirteen/yfkey-scms
 private static void AddTransformerDetail(Transformer transformer, TransformerDetail transformerDetail)
 {
     if (transformer == null || transformerDetail.CurrentQty == 0)
     {
         return;
     }
     if (transformerDetail != null)
     {
         List <TransformerDetail> transformerDetails = new List <TransformerDetail>();
         if (transformer.TransformerDetails != null)
         {
             transformerDetails = transformer.TransformerDetails.ToList();
         }
         transformerDetails.Add(transformerDetail);
         transformer.TransformerDetails = transformerDetails.ToArray();
         transformer.CurrentQty        += transformerDetail.CurrentQty;
         transformer.Cartons++;
     }
 }
コード例 #27
0
    public List <TransformerDetail> GetList()
    {
        List <TransformerDetail> transformerDetailList = new List <TransformerDetail>();

        foreach (GridViewRow gvr in GV_List.Rows)
        {
            TransformerDetail transformerDetail = new TransformerDetail();
            transformerDetail.Id              = int.Parse(((HiddenField)gvr.FindControl("hfId")).Value);
            transformerDetail.HuId            = ((Label)gvr.FindControl("lblHuId")).Text.Trim();
            transformerDetail.LotNo           = ((Label)gvr.FindControl("lblLotNo")).Text.Trim();
            transformerDetail.ItemCode        = ((Label)gvr.FindControl("lblItemCode")).Text.Trim();
            transformerDetail.ItemDescription = ((Label)gvr.FindControl("lblItemDescription")).Text.Trim();
            transformerDetail.UomCode         = ((Label)gvr.FindControl("lblUOM")).Text.Trim();
            transformerDetail.Qty             = decimal.Parse(((Label)gvr.FindControl("lblQty")).Text.Trim());
            transformerDetail.StorageBinCode  = ((Label)gvr.FindControl("lblStorageBinCode")).Text.Trim();
            transformerDetailList.Add(transformerDetail);
        }

        return(transformerDetailList);
    }
コード例 #28
0
        public static List <TransformerDetail> ConvertProductLineInProcessLocationDetailsToTransformerDetails(IList <ProductLineInProcessLocationDetail> productLineIpList)
        {
            if (productLineIpList == null)
            {
                return(null);
            }
            List <TransformerDetail> transformerDetails = new List <TransformerDetail>();

            foreach (ProductLineInProcessLocationDetail productLineIp in productLineIpList)
            {
                TransformerDetail transformerDetail = new TransformerDetail();
                transformerDetail.ItemCode        = productLineIp.Item.Code;
                transformerDetail.ItemDescription = productLineIp.Item.Description;
                transformerDetail.UomCode         = productLineIp.Item.Uom.Code;
                transformerDetail.UnitCount       = productLineIp.Item.UnitCount;
                transformerDetail.Qty             = productLineIp.Qty - productLineIp.BackflushQty;
                transformerDetail.CurrentQty      = transformerDetail.Qty;
                transformerDetails.Add(transformerDetail);
            }
            return(transformerDetails);
        }
コード例 #29
0
ファイル: ReceiveMgr.cs プロジェクト: Novthirteen/yfkey-scms
 protected override void SetDetail(Resolver resolver)
 {
     if (resolver.CodePrefix == string.Empty)
     {
         throw new BusinessErrorException("Common.Business.Error.ScanFlowFirst");
     }
     if (resolver.ModuleType == BusinessConstants.TRANSFORMER_MODULE_TYPE_PRODUCTIONRECEIVE)
     {
         LocationLotDetail locationLotDetail    = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode);
         TransformerDetail newTransformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false);
         resolver.AddTransformerDetail(newTransformerDetail);
     }
     else
     {
         setDetailMgr.MatchReceive(resolver);
         if (resolver.BinCode != null && resolver.BinCode != string.Empty)
         {
             resolver.Result = languageMgr.TranslateMessage("Warehouse.CurrentBinCode", resolver.UserCode, resolver.BinCode);
         }
     }
 }
コード例 #30
0
        public static List <Transformer> ConvertPickListResultToTransformer(IList <PickListResult> pickListResultList)
        {
            List <Transformer> transformerList = new List <Transformer>();

            if (pickListResultList != null && pickListResultList.Count > 0)
            {
                foreach (PickListResult pickListResult in pickListResultList)
                {
                    bool isExist = false;
                    foreach (Transformer transformer in transformerList)
                    {
                        if (pickListResult.PickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId)
                        {
                            TransformerDetail transformerDetail = ConvertPickListResultToTransformerDetail(pickListResult);

                            transformer.AddTransformerDetail(transformerDetail);
                            transformer.Qty += transformerDetail.Qty;
                            isExist          = true;
                            break;
                        }
                    }

                    if (!isExist)
                    {
                        Transformer transformer = ConvertOrderLocationTransactionToTransformer(pickListResult.PickListDetail.OrderLocationTransaction);
                        transformer.Qty        = pickListResult.Qty / pickListResult.PickListDetail.OrderLocationTransaction.UnitQty;
                        transformer.CurrentQty = transformer.Qty;//单位换算

                        if (pickListResult.PickListDetail.HuId != null || pickListResult.PickListDetail.LotNo != null)
                        {
                            transformer.AddTransformerDetail(ConvertPickListResultToTransformerDetail(pickListResult));
                        }
                        transformerList.Add(transformer);
                    }
                }
            }
            ProcessTransformer(transformerList);
            return(transformerList);
        }
コード例 #31
0
ファイル: Utility.cs プロジェクト: Novthirteen/yfkey-scms
 public static Resolver MergeResolver(Resolver resolver, Resolver originalResolver)
 {
     if (originalResolver.BarcodeHead == BusinessConstants.BARCODE_HEAD_DEFAULT
         && resolver.Transformers != null)
     {
         foreach (Transformer t in originalResolver.Transformers)
         {
             if (t.TransformerDetails != null)
             {
                 foreach (TransformerDetail td in t.TransformerDetails)
                 {
                     if (td.CurrentQty > 0)
                     {
                         TransformerDetail transformerDetail = new TransformerDetail();
                         CopyProperty(td, transformerDetail);
                         AddTransformerDetail(resolver, transformerDetail);
                     }
                 }
             }
         }
         //Transformer[] transformers = resolver.Transformers;
         //DeepCopyResolver(originalResolver, resolver);
         //resolver.Transformers = transformers;
     }
     else if (originalResolver.BarcodeHead == BusinessConstants.BARCODE_HEAD_LOCATION
         || originalResolver.BarcodeHead == BusinessConstants.BARCODE_HEAD_BIN)
     {
         Transformer[] transformers = resolver.Transformers;
         DeepCopyResolver(originalResolver, resolver);
         resolver.Transformers = transformers;
     }
     else
     {
         DeepCopyResolver(originalResolver, resolver);
     }
     return resolver;
 }
コード例 #32
0
ファイル: Utility.cs プロジェクト: Novthirteen/yfkey-scms
 private static decimal AccumlationCurrentQty(TransformerDetail[] transformerDetails)
 {
     if (transformerDetails == null)
     {
         return 0m;
     }
     var q = (from td in transformerDetails
              select td.CurrentQty).Sum();
     return q;
 }
コード例 #33
0
ファイル: Utility.cs プロジェクト: Novthirteen/yfkey-scms
        private static void AddTransformerDetail(Resolver resolver, TransformerDetail transformerDetail)
        {
            if (transformerDetail != null && transformerDetail.CurrentQty > 0)
            {
                List<Transformer> transformers = new List<Transformer>();
                if (resolver.Transformers != null)
                {
                    transformers = resolver.Transformers.ToList();
                }
                //检查重复扫描
                //CheckMatchHuExist(resolver, transformerDetail.HuId);

                //自动生成序号
                int seq = FindMaxSeq(transformers.ToArray());
                transformerDetail.Sequence = seq + 1;
                //匹配:严格匹配ItemCode/UomCode/UnitCount/StorageBinCode/LotNo
                var query = transformers.Where
                    (t => (string.Equals(t.ItemCode, transformerDetail.ItemCode, StringComparison.OrdinalIgnoreCase)
                           && string.Equals(t.UomCode, transformerDetail.UomCode, StringComparison.OrdinalIgnoreCase)
                           && (t.UnitCount == transformerDetail.UnitCount || t.UnitCount == transformerDetail.Qty)
                           && string.Equals(t.StorageBinCode, transformerDetail.StorageBinCode, StringComparison.OrdinalIgnoreCase)
                           && (t.LotNo == null || t.LotNo.Trim() == string.Empty || (string.Equals(t.LotNo, transformerDetail.LotNo, StringComparison.OrdinalIgnoreCase)))
                          ));
                //匹配:如果没有匹配上,降低条件,匹配ItemCode/UomCode/UnitCount
                if (query.Count() == 0)
                {
                    query = transformers.Where
                    (t => (string.Equals(t.ItemCode, transformerDetail.ItemCode, StringComparison.OrdinalIgnoreCase)
                           && string.Equals(t.UomCode, transformerDetail.UomCode, StringComparison.OrdinalIgnoreCase)
                           && (t.UnitCount == transformerDetail.UnitCount || t.UnitCount == transformerDetail.Qty)
                           ));
                }
                //匹配:如果还是没有匹配上,再降低条件,匹配ItemCode/UomCode
                if (query.Count() == 0)
                {
                    query = transformers.Where
                    (t => (string.Equals(t.ItemCode, transformerDetail.ItemCode, StringComparison.OrdinalIgnoreCase)
                           && string.Equals(t.UomCode, transformerDetail.UomCode, StringComparison.OrdinalIgnoreCase)
                           ));
                }
                if (query.Count() > 0)
                {
                    List<Transformer> transformerList = query.ToList();
                    foreach (var transformer in transformerList)
                    {
                        if (transformer.Qty > transformer.CurrentQty || resolver.ModuleType == BusinessConstants.TRANSFORMER_MODULE_TYPE_STOCKTAKING)
                        {
                            List<TransformerDetail> transformerDetails = new List<TransformerDetail>();
                            foreach (var t in transformers)
                            {
                                if (t.TransformerDetails != null && t.TransformerDetails.Length > 0)
                                {
                                    foreach (var td in t.TransformerDetails)
                                    {
                                        if (td.HuId != null && td.HuId.ToLower() == transformerDetail.HuId.ToLower())
                                        {
                                            transformerDetails.Add(td);
                                        }
                                    }
                                }
                            }
                            if (transformerDetails.Count() == 1 && transformerDetails.Single().CurrentQty == 0M)
                            {
                                transformerDetails.Single().CurrentQty = transformerDetail.CurrentQty;
                                transformerDetails.Single().Sequence = transformerDetail.Sequence;
                                transformer.CurrentQty += transformerDetail.CurrentQty;
                                transformer.Cartons++;
                            }
                            else
                            {
                                AddTransformerDetail(transformer, transformerDetail);
                            }
                            break;
                        }
                    }
                }
                else if (query.Count() == 0)
                {
                    Transformer transformer = new Transformer();
                    transformer.ItemCode = transformerDetail.ItemCode;
                    transformer.ItemDescription = transformerDetail.ItemDescription;
                    transformer.UomCode = transformerDetail.UomCode;
                    transformer.UnitCount = transformerDetail.UnitCount;
                    transformer.CurrentQty = transformerDetail.CurrentQty;
                    transformer.Qty = transformerDetail.Qty;
                    transformer.LocationCode = transformerDetail.LocationCode;
                    transformer.LotNo = transformerDetail.LotNo;
                    transformer.StorageBinCode = transformerDetail.StorageBinCode;
                    transformer.Cartons = 1;
                    transformer.Sequence = transformers.Count > 0 ? transformers.Max(t => t.Sequence) + 1 : 0;

                    AddTransformerDetail(transformer, transformerDetail);
                    transformers.Add(transformer);
                }
                //else
                //{
                //    //throw new Exception("Error on: Sconit_CS.Utility");
                //}
                resolver.Transformers = transformers.ToArray();
            }
            ProcessTransformer(resolver.Transformers);
            resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL;
        }
コード例 #34
0
ファイル: Utility.cs プロジェクト: Novthirteen/yfkey-scms
 private static void AddTransformerDetail(Transformer transformer, TransformerDetail transformerDetail)
 {
     if (transformer == null || transformerDetail.CurrentQty == 0)
     {
         return;
     }
     if (transformerDetail != null)
     {
         List<TransformerDetail> transformerDetails = new List<TransformerDetail>();
         if (transformer.TransformerDetails != null)
         {
             transformerDetails = transformer.TransformerDetails.ToList();
         }
         transformerDetails.Add(transformerDetail);
         transformer.TransformerDetails = transformerDetails.ToArray();
         transformer.CurrentQty += transformerDetail.CurrentQty;
         transformer.Cartons++;
     }
 }
コード例 #35
0
ファイル: Utility.cs プロジェクト: Novthirteen/yfkey-scms
        private static void DeepCopyResolver(Resolver sourceResolver, Resolver targetResolver)
        {
            CopyProperty(sourceResolver, targetResolver);
            List<Transformer> transformers = new List<Transformer>();
            if (sourceResolver != null && sourceResolver.Transformers != null)
            {
                foreach (var st in sourceResolver.Transformers)
                {
                    Transformer transformer = new Transformer();
                    CopyProperty(st, transformer);

                    #region TransformerDetail
                    List<TransformerDetail> transformerDetails = new List<TransformerDetail>();
                    if (st.TransformerDetails != null && st.TransformerDetails.Length > 0)
                    {
                        foreach (var std in st.TransformerDetails)
                        {
                            TransformerDetail transformerDetail = new TransformerDetail();
                            CopyProperty(std, transformerDetail);
                            transformerDetails.Add(transformerDetail);
                        }
                    }
                    if (transformerDetails.Count > 0)
                    {
                        transformer.TransformerDetails = transformerDetails.ToArray();
                    }
                    #endregion

                    transformers.Add(transformer);
                }
                if (transformers.Count > 0)
                {
                    targetResolver.Transformers = transformers.ToArray();
                }
            }
        }
コード例 #36
0
ファイル: Utility.cs プロジェクト: Novthirteen/yfkey-scms
 private static int GetSumCartons(TransformerDetail[] transformerDetails)
 {
     var q = (from td in transformerDetails
              where td.CurrentQty != 0 && td.HuId != null && td.HuId.Trim() != string.Empty
              select td).Count();
     return q;
 }