//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); } }
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); } }
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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
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); } }