/// <summary>
        /// 添加接货单
        /// </summary>
        /// <param name="request"></param>
        public ArrivalReceipt AddArrivalReceipt(AddArrivalReceiptRequest request)
        {
            ArrivalReceipt model = new ArrivalReceipt(request.Note, request.IsValid, request.CreateUserId);

            this._arrivalReceiptRepository.Add(model);
            this._uow.Commit();

            return(model);
        }
        /// <summary>
        /// 删除库房
        /// </summary>
        /// <param name="id"></param>
        public void RemoveArrivalReceipt(int id)
        {
            ArrivalReceipt model = this._arrivalReceiptRepository.FindBy(id);

            if (model == null)
            {
                throw new EntityIsInvalidException <string>(id.ToString());
            }
            model.IsValid = false;
            this._arrivalReceiptRepository.Save(model);
            this._uow.Commit();
        }
        /// <summary>
        /// 修改库房
        /// </summary>
        /// <param name="request"></param>
        public void UpdateArrivalReceipt(AddArrivalReceiptRequest request)
        {
            ArrivalReceipt model = this._arrivalReceiptRepository.FindBy(request.Id);

            if (model == null)
            {
                throw new EntityIsInvalidException <string>(request.Id.ToString());
            }

            model.Note    = request.Note;
            model.IsValid = request.IsValid;
            this._arrivalReceiptRepository.Save(model);
            this._uow.Commit();
        }
        /// <summary>
        /// 添加到货单
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public bool AddArrivalReceiptDetail(AddArrivalReceiptDetailRequest request)
        {
            //获取通知到货明细
            ArrivalNoticeDetail model = this._arrivalNoticeDetailRepository.FindBy(request.ArrivalNoticeId);

            if (model == null)
            {
                throw new EntityIsInvalidException <string>(request.PurchaseOrderDetailId.ToString());
            }

            //添加到货单
            AddArrivalReceiptRequest addreceipt = new AddArrivalReceiptRequest();

            addreceipt.CreateUserId = request.CreateUserId;
            addreceipt.Note         = "";
            ArrivalReceipt receipt = this._arrivalReceiptService.AddArrivalReceipt(addreceipt);

            //添加到货明细
            model.AddReceiptDetail(receipt, request.Qty, request.Note, request.CreateUserId);
            this._arrivalNoticeDetailRepository.Save(model);
            this._uow.Commit();

            //看看到货单的所有产品是否已经都到货了
            ArrivalNotice notice = this._arrivalNoticeRepository.FindBy(model.ArrivalNotice.Id);

            if (notice.State == 1)
            {
                //刷新通知到货单状态
                notice.RefreshState();
                if (notice.State == 2)
                {
                    //调整采购单状态
                    AddWorkflowActivityRequest request_ac = new AddWorkflowActivityRequest();
                    request_ac.ObjectId       = notice.ObjectId.ToString();
                    request_ac.ObjectTypeId   = "PurchaseOrder";
                    request_ac.WorkflowNodeId = "PO-005";
                    request_ac.Note           = "货物到齐全自动完结";
                    request_ac.CreateUserId   = request.CreateUserId;
                    this._workflowActivityService.InsertNewActivity(request_ac);
                }
            }
            return(true);
        }
        public void AddArrivalReceiptDetail(AddArrivalReceiptDetailRequest request)
        {
            /*
             * step.1.创建接货单:单个员工一天只能创建一个接货单(目前默认是这样如果有需求则可以修改)
             *                    首先试着获取,如果没有获取则创建后再获取
             * step.2.获取采购明细
             */
            ArrivalReceipt receipt = this.AddArrivalReceipt(request.CreateUserId);


            ////如果已经全部到齐结束采购单
            //if (model.PurchaseOrder.Detail.Where(s => s.Qty > s.ArrivalQty).Count() > 0) {
            //    AddWorkflowActivityRequest request_ac = new AddWorkflowActivityRequest();
            //    request_ac.ObjectId = model.PurchaseOrder.Id.ToString();
            //    request_ac.ObjectTypeId = "PurchaseOrder";
            //    request_ac.WorkflowNodeId = "PO-005";
            //    request_ac.Note = "货物到齐全自动完结";
            //    request_ac.CreateUserId = request.CreateUserId;
            //    this._workflowActivityService.InsertNewActivity(request_ac);
            //}
            this._uow.Commit();
        }
        /// <summary>
        /// 添加接货单
        /// </summary>
        /// <param name="request"></param>
        public ArrivalReceipt AddArrivalReceipt(string createUserId)
        {
            /*
             * step.1.创建接货单:单个员工一天只能创建一个接货单(目前默认是这样如果有需求则可以修改)
             *                    首先试着获取,如果没有获取则创建后再获取
             * step.2.获取采购明细
             */
            ArrivalReceipt receipt = this.GetArrivalReceipt(createUserId);

            if (receipt == null)
            {
                AddArrivalReceiptRequest a = new AddArrivalReceiptRequest();
                a.CreateUserId = createUserId;
                AddArrivalReceipt(a);
                receipt = this.GetArrivalReceipt(createUserId);
            }
            if (receipt == null)
            {
                throw new EntityIsInvalidException <string>("接货单没有创建成功,请重试!");
            }
            return(receipt);
        }
Example #7
0
 public static ArrivalReceiptView ConvertToArrivalReceiptView(this ArrivalReceipt model)
 {
     return(Mapper.Map <ArrivalReceipt, ArrivalReceiptView>(model));
 }