//添加到货通知单

        #region 修改

        /// <summary>
        /// 修改库房
        /// </summary>
        /// <param name="request"></param>
        public void UpdateArrivalNoticeDetail(AddArrivalNoticeDetailRequest request)
        {
            ArrivalNoticeDetail model = this._arrivalNoticeDetailRepository.FindBy(request.Id);

            if (model == null)
            {
                throw new EntityIsInvalidException <string>(request.Id.ToString());
            }
            this._arrivalNoticeDetailRepository.Save(model);
            this._uow.Commit();
        }
        /// <summary>
        /// 删除库房
        /// </summary>
        /// <param name="id"></param>
        public void RemoveArrivalNoticeDetail(int id)
        {
            ArrivalNoticeDetail model = this._arrivalNoticeDetailRepository.FindBy(id);

            if (model == null)
            {
                throw new EntityIsInvalidException <string>(id.ToString());
            }
            model.State = 0;
            this._arrivalNoticeDetailRepository.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);
        }
Exemple #4
0
 public static ArrivalNoticeDetailView ConvertToArrivalNoticeDetailView(this ArrivalNoticeDetail model)
 {
     return(Mapper.Map <ArrivalNoticeDetail, ArrivalNoticeDetailView>(model));
 }