//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); } }
/// <summary> /// GetApproveFlowInstance /// </summary> /// <param name="flow"></param> /// <returns></returns> public ApprovalFlow GetApproveFlowInstance(Guid approvalFlowTypeID, Guid flowID, Guid userID, string comment) { try { int approveStatus = (int)ApprovalStatus.Waitting; ApprovalFlow flow = new ApprovalFlow(); flow.Id = Guid.NewGuid(); flow.ApprovalFlowTypeId = approvalFlowTypeID; flow.ChangeNote = comment; flow.CreateTime = DateTime.Now; flow.CreateUserId = userID; flow.FlowId = flowID; ApprovalFlowNode node = BusinessHandlerFactory.ApprovalFlowNodeBusinessHandler.GetFirstApproveFlowsNode(approvalFlowTypeID); if (node != null) { flow.NextNodeID = node.Id; } flow.Status = approveStatus; flow.SubFlowId = GetNextSubflowIDByFlowId(flowID); return(flow); } catch (Exception ex) { return(this.HandleException <ApprovalFlow>("获取流程结点失败", 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 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); } }
public UcDrugBreakage(Models.DrugsBreakage db, ApprovalFlow flow) { InitializeComponent(); Forms.Common.SetControls.SetControlReadonly(this.groupBox1, true); this.textBox1.Text = db.drugName; this.textBox2.Text = db.batchNo; this.textBox3.Text = db.quantity.ToString(); this.textBox4.Text = db.PurchaseOrderDocumentNumber; this.textBox18.Text = db.Supplyer; this.textBox20.Text = db.produceDate.ToLongDateString(); this.textBox19.Text = db.ExpireDate.ToLongDateString(); this.textBox5.Text = "不合格库区"; this.textBox6.Text = "不合格库"; this.textBox7.Text = db.UnqualificationDocumentNumber; this.textBox13.Text = db.DosageType; this.textBox14.Text = db.Specific; this.textBox15.Text = db.FactoryName; this.textBox17.Text = db.Origin; this.textBox16.Text = db.PurchasePrice.ToString(); this.textBox8.Text = this.PharmacyDatabaseService.GetApprovalFlowType(out msg, flow.ApprovalFlowTypeId).Name; this.textBox9.Text = db.DocumentNumber; this.textBox10.Text = db.source; this.textBox11.Text = db.createTime.ToLongDateString(); this.textBox12.Text = PharmacyDatabaseService.GetUser(out msg, db.createUID).Employee.Name; this.txtRemark.Text = db.Description; this.initApprovalDetail(flow.FlowId); }
/// <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); } }
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); } }