Пример #1
0
        //end


        /// <summary>
        ///  新增一条药品和审批流程记录
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns
        public void AddDrugInfoApproveFlow(DrugInfo su, Guid approvalFlowTypeID, Guid userID, string changeNote)
        {
            try
            {
                //增加药品记录
                this.Add(su);
                if (su.GoodsType != GoodsType.DrugDomestic && su.GoodsType != GoodsType.DrugImport)
                {
                    if (su.GoodsAdditionalProperty != null)
                    {
                        RepositoryProvider.Db.GoodsAdditionalPropertys.Add(su.GoodsAdditionalProperty);
                    }
                }
                if (approvalFlowTypeID != Guid.Empty)
                {
                    //增加审批流程
                    ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                    //增加审批流程记录
                    ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
                }

                this.Save();
            }
            catch (Exception ex)
            {
                this.HandleException("新增一条药品和审批流程记录失败", ex);
            }
        }
Пример #2
0
        public void addDrugsUnqualityApproval(DrugsUnqualication value, Guid approvalFlowTypeID, Guid userID, string changeNote)
        {
            try
            {
                if (value.ApprovalStatusValue != -1)
                {
                    value.DocumentNumber = new BillDocumentCodeBusinessHandler(BusinessHandlerFactory.RepositoryProvider, null).GenerateBillDocumentCodeByTypeValue((int)BillDocumentType.DrugUnqualification).Code;
                    value.updateTime     = DateTime.Now;
                    this.Save(value);

                    //增加审批流程
                    ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, value.flowID, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                    //增加审批流程记录
                    ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);

                    this.Save();
                }
            }
            catch (Exception e)
            {
                this.HandleException("新增不合格药品审批流程记录失败", e);
            }
        }
        /// <summary>
        ///  修改一条供货商和审批流程记录
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns
        public void ModifySupplyUnitApproveFlow(SupplyUnit su, Guid approvalFlowTypeID, Guid userID, string changeNote)
        {
            try
            {
                this.Save(su);

                if (changeNote.Contains("审批后修改"))
                {
                    ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                    ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
                }
                else
                {
                    var c = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowsByFlowID(su.FlowID);
                    if (c == null || c.ApprovalFlowTypeId.Equals(Guid.Empty) || c.ApprovalFlowTypeId != approvalFlowTypeID)
                    {
                        ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
                        BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                        ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                        BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
                    }
                }

                this.Save();
            }
            catch (Exception ex)
            {
                this.HandleException("方法AddSupplyUnitApproveFlow出错!!!", ex);
            }
        }
 /// <summary>
 ///  修改一条采购商和审批流程记录
 /// </summary>
 /// <param name="userId"></param>
 /// <returns></returns
 public void ModifyPurchaseUnitApproveFlow(PurchaseUnit su, Guid approvalFlowTypeID, Guid userID, string changeNote)
 {
     try
     {
         if (changeNote.Contains("审批后修改"))
         {
             ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
             BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);
             ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
             BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
         }
         if (changeNote.Contains("审批前修改"))
         {
             var c = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowsByFlowID(su.FlowID);
             if (c.ApprovalFlowTypeId != approvalFlowTypeID || c == null || c.ApprovalFlowTypeId == Guid.Empty)
             {
                 su.FlowID = Guid.NewGuid();
                 ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
                 BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);
                 ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                 BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
             }
         }
         this.Save(su);
         this.Save();
     }
     catch (Exception ex)
     {
         this.HandleException("修改一条采购商和审批流程记录失败", ex);
     }
 }
Пример #5
0
        public bool AddDrugsBreakageByFlowID(DrugsBreakage value, Guid flowTypeID, string changeNote)
        {
            try
            {
                var c = RepositoryProvider.Db.DrugsUnqualications.Where(r => r.DocumentNumber == value.UnqualificationDocumentNumber);
                var d = c.FirstOrDefault();
                d.unqualificationType = 2;
                d.Specific            = value.Specific;
                value.createTime      = DateTime.Now;
                value.updateTime      = DateTime.Now;
                this.Add(value);
                BusinessHandlerFactory.DrugsUnqualicationBusinessHandler.Save(d);

                value.DocumentNumber = new BillDocumentCodeBusinessHandler(BusinessHandlerFactory.RepositoryProvider, null).GenerateBillDocumentCodeByTypeValue((int)BillDocumentType.DrugBreakage).Code;

                //增加审批流程
                ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(flowTypeID, value.flowID, value.createUID, changeNote);
                BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                //增加审批流程记录
                ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, value.createUID, changeNote);
                BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);

                this.Save();
                return(true);
            }
            catch (Exception e)
            {
                this.HandleException("新增报损药品审批流程记录失败", e);
                return(false);
            }
        }
Пример #6
0
        /// <summary>
        /// 增加直调销售审批
        /// </summary>
        /// <param name="value"></param>
        /// <param name="approvalFlowTypeID"></param>
        /// <param name="userID"></param>
        /// <param name="changeNote"></param>
        /// <returns></returns>
        public bool AddDirectSaleApproval(Models.DirectSalesOrder value, System.Guid approvalFlowTypeID, System.Guid userID, string changeNote)
        {
            try
            {
                if (value.ApprovalStatusValue != -1)
                {
                    value.UpdateTime = DateTime.Now;
                    this.Save(value);

                    //增加审批流程
                    ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, value.FlowId, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                    //增加审批流程记录
                    ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);

                    this.Save();
                }
                return(true);
            }
            catch (Exception e)
            {
                this.HandleException("新增直调销售审批流程记录失败", e);
                return(false);
            }
        }
Пример #7
0
        /// <summary>
        /// 处理审核流程
        /// </summary>
        /// <param name="flow"></param>
        public void SetApproveAction(ApprovalFlow flow, string action, Guid userID, string comment)
        {
            try
            {
                if (flow.NextNodeID != Guid.Empty)
                {
                    ApprovalFlowType flowType = BusinessHandlerFactory.ApprovalFlowTypeBusinessHandler.Fetch(
                        f => f.Id == flow.ApprovalFlowTypeId).FirstOrDefault();

                    //准备审批节点记录表,
                    ApprovalFlowRecord record = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(flow, userID, comment);
                    BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(record);

                    //审批被拒绝
                    if ("REJECT".Equals(action.ToUpper()))
                    {
                        flow.Status = (int)ApprovalStatus.Reject;
                        UpdateEntityByApprovalStatus(flowType.ApprovalTypeValue, flow.FlowId, ApprovalStatus.Reject);
                    }
                    else
                    {
                        //获取当前节点的下一个节点
                        ApprovalFlowNode newNextNode = BusinessHandlerFactory.ApprovalFlowNodeBusinessHandler.GetNextApproveFlowsNode(flowType.Id, flow.NextNodeID);

                        if (newNextNode == null)          //审批通过,无下个一节点.审批结束
                        {
                            flow.NextNodeID = Guid.Empty; //审核通过后,下个节点信息保存为空Guid
                            flow.Status     = (int)ApprovalStatus.Approvaled;
                            UpdateEntityByApprovalStatus(flowType.ApprovalTypeValue, flow.FlowId, ApprovalStatus.Approvaled);
                        }
                        else //审核通过,更新审核流程的下一个节点信息
                        {
                            flow.NextNodeID = newNextNode.Id;
                            flow.Status     = (int)ApprovalStatus.Waitting;
                        }
                    }

                    this.Save(flow);
                    this.Save();
                }
            }
            catch (Exception ex)
            {
                this.HandleException("处理审批流程失败", ex);
            }
        }
Пример #8
0
 /// <summary>
 /// GetApproveFlowRecordInstance
 /// </summary>
 /// <param name="flow"></param>
 /// <returns></returns>
 public ApprovalFlowRecord GetApproveFlowRecordInstance(ApprovalFlow flow, Guid userID, string comment)
 {
     try
     {
         ApprovalFlowRecord record = new ApprovalFlowRecord();
         record.Id                 = Guid.NewGuid();
         record.FlowId             = flow.FlowId;
         record.SubFlowId          = flow.SubFlowId;
         record.ApprovalFlowNodeId = flow.NextNodeID;
         record.ApproveTime        = DateTime.Now;
         record.ApproveUserId      = userID;
         record.Comment            = comment;
         return(record);
     }
     catch (Exception ex)
     {
         return(this.HandleException <ApprovalFlowRecord>("获取审批流程记录失败", ex));
     }
 }
        /// <summary>
        ///  新增一条供货商和审批流程记录
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns
        public void AddSupplyUnitApproveFlow(SupplyUnit su, Guid approvalFlowTypeID, Guid userID, string changeNote)
        {
            try
            {
                //增加供货商记录
                this.Add(su);

                //增加审批流程
                ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
                BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                //增加审批流程记录
                ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
                this.Save();
            }
            catch (Exception ex)
            {
                this.HandleException("方法AddSupplyUnitApproveFlow出错!!!", ex);
            }
        }
Пример #10
0
        /// <summary>
        ///  修改一条药品和审批流程记录
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns
        public void ModifyDrugInfoApproveFlow(DrugInfo su, Guid approvalFlowTypeID, Guid userID, string changeNote)
        {
            try
            {
                if (su.GoodsType != GoodsType.DrugDomestic && su.GoodsType != GoodsType.DrugImport)
                {
                    BusinessHandlerFactory.GoodsAdditionalPropertyBusinessHandler.Save(su.GoodsAdditionalProperty);
                }

                if (changeNote.Contains("审核后修改"))
                {
                    ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                    ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                    BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
                }


                if (changeNote.Contains("审核前修改"))
                {
                    var c = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowsByFlowID(su.FlowID);
                    if (c.ApprovalFlowTypeId != approvalFlowTypeID || c == null || c.ApprovalFlowTypeId == Guid.Empty)
                    {
                        su.FlowID = Guid.NewGuid();
                        ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(approvalFlowTypeID, su.FlowID, userID, changeNote);
                        BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);
                        ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, userID, changeNote);
                        BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
                    }
                }
                this.Save(su);
                this.Save();
            }
            catch (Exception ex)
            {
                this.HandleException("修改一条药品和审批流程记录失败", ex);
            }
        }
Пример #11
0
        public bool AddVehicleToApprovalByFlowID(Models.Vehicle value, System.Guid flowTypeID, string ChangeNote)
        {
            try
            {
                value.CreateTime = DateTime.Now;

                this.Add(value);
                ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(flowTypeID, (Guid)value.FlowID, (Guid)value.createUID, ChangeNote);
                BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                //增加审批流程记录
                ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, (Guid)value.createUID, ChangeNote);
                BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);

                this.Save();
                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public bool AddDrugsInventoryMoveByFlowID(DrugsInventoryMove value, Guid flowTypeID, string changeNote)
        {
            try
            {
                value.createTime = DateTime.Now;
                value.updateTime = DateTime.Now;
                this.Add(value);

                //增加审批流程
                ApprovalFlow af = BusinessHandlerFactory.ApprovalFlowBusinessHandler.GetApproveFlowInstance(flowTypeID, value.flowID, value.createUID, changeNote);
                BusinessHandlerFactory.ApprovalFlowBusinessHandler.Add(af);

                //增加审批流程记录
                ApprovalFlowRecord afr = BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.GetApproveFlowRecordInstance(af, value.createUID, changeNote);
                BusinessHandlerFactory.ApprovalFlowRecordBusinessHandler.Add(afr);
                this.Save();
                return(true);
            }
            catch (Exception e)
            {
                this.HandleException("新增移库药品审批流程记录失败", e);
                return(false);
            }
        }