示例#1
0
        public void ReceiveWorkOrder(Resolver resolver)
        {
            IList <ReceiptDetail> receiptDetails = orderMgr.ConvertTransformerToReceiptDetail(resolver.Transformers);
            //Receipt receipt = new Receipt();
            //foreach (Transformer transformer in resolver.Transformers)
            //{
            //    ReceiptDetail receiptDetail = new ReceiptDetail();
            //    receiptDetail.OrderLocationTransaction = orderLocationTransactionMgr.LoadOrderLocationTransaction(transformer.OrderLocTransId);
            //    receiptDetail.HuId = null;
            //    receiptDetail.ReceivedQty = transformer.CurrentQty;
            //    receiptDetail.RejectedQty = transformer.CurrentRejectQty;
            //    receiptDetail.ScrapQty = transformer.ScrapQty;
            //    receiptDetail.Receipt = receipt;
            //    receipt.AddReceiptDetail(receiptDetail);
            //}
            List <WorkingHours> workingHoursList = new List <WorkingHours>();

            foreach (string[] stringArray in resolver.WorkingHours)
            {
                WorkingHours workingHours = new WorkingHours();
                workingHours.Employee = employeeMgr.LoadEmployee(stringArray[0]);
                workingHours.Hours    = Convert.ToDecimal(stringArray[1]);
                workingHoursList.Add(workingHours);
            }

            Receipt receiptResult = orderMgr.ReceiveOrder(receiptDetails, resolver.UserCode, null, null, workingHoursList, true, resolver.IsOddCreateHu);
            //(receiptDetailList, this.CurrentUser, null, null, null, true, isOddCreateHu);

            //OrderHead orderHead = orderHeadMgr.LoadOrderHead(resolver.Code);
            IList <Hu>            huList            = new List <Hu>();
            IList <ReceiptDetail> receiptDetailList = receiptResult.ReceiptDetails;

            if (resolver.AutoPrintHu)
            {
                if (receiptDetailList == null || receiptDetailList.Count == 0)
                {
                    throw new BusinessErrorException("Inventory.Error.PrintHu.ReceiptDetail.Required");
                }
                foreach (ReceiptDetail receiptDetail in receiptDetailList)
                {
                    if (receiptDetail.HuId != null)
                    {
                        Hu hu = huMgr.LoadHu(receiptDetail.HuId);
                        if (hu != null)
                        {
                            huList.Add(hu);
                        }
                    }
                }
                if (huList.Count > 0)
                {
                    IList <object> huDetailObj = new List <object>();
                    huDetailObj.Add(huList);
                    huDetailObj.Add(resolver.UserCode);
                    resolver.PrintUrl = reportMgr.WriteToFile("BarCode.xls", huDetailObj, "BarCode.xls");
                }
            }
            resolver.Transformers = null;
            string huString = string.Empty;

            foreach (Hu hu in huList)
            {
                huString += " " + hu.HuId;
            }
            resolver.Result = languageMgr.TranslateMessage("MasterData.WorkOrder.OrderHead.Receive.Successfully", resolver.UserCode, resolver.Code);
            if (huList.Count > 0)
            {
                resolver.Result += languageMgr.TranslateMessage("Inventory.CreateHu.Successful", resolver.UserCode, huString);
            }
            resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMER;
        }