/// <summary> /// 保存 /// </summary> public virtual void Save() { if (!this.Valid()) { return; } Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在进行保存操作..请稍候"); System.Windows.Forms.Application.DoEvents(); #region 事务定义 Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); Neusoft.HISFC.BizProcess.Integrate.Pharmacy phaIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Pharmacy(); Neusoft.HISFC.BizLogic.Pharmacy.Item itemManager = new Neusoft.HISFC.BizLogic.Pharmacy.Item(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); //itemManager.SetTrans(t.Trans); //phaIntegrate.SetTrans(t.Trans); #endregion //当天操作日期 DateTime sysTime = itemManager.GetDateTimeFromSysDateTime(); //入库单据号 string inListNO = null; Neusoft.HISFC.Models.Pharmacy.Input input = new Neusoft.HISFC.Models.Pharmacy.Input(); foreach (DataRow dr in this.dt.Rows) { string key = dr["药品编码"].ToString() + dr["批号"].ToString(); input = this.hsInputData[key] as Neusoft.HISFC.Models.Pharmacy.Input; if (inListNO == null) { inListNO = input.InListNO; } #region 如果不存在入库单据号 则获取新入库单据号 if (inListNO == "" || inListNO == null) { // //{59C9BD46-05E6-43f6-82F3-C0E3B53155CB} 更改入库单号获取方式 inListNO = phaIntegrate.GetInOutListNO(this.phaInManager.DeptInfo.ID, true); if (inListNO == null) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); this.ShowMsg("获取最新入库单号出错" + itemManager.Err); return; } } #endregion input.InListNO = inListNO; //入库单据号 #region 以下信息在每次添加数据生成入库信息实体时赋值 input.StockDept = this.phaInManager.DeptInfo; //库存科室 input.PrivType = this.phaInManager.PrivType.ID; //用户类型 input.SystemType = this.phaInManager.PrivType.Memo; //系统类型 input.Company = this.phaInManager.TargetDept; //供货单位 input.TargetDept = this.phaInManager.TargetDept; //目标单位 = 供货单位 #endregion if (input.Operation.ApplyOper.ID == "") { input.Operation.ApplyQty = input.Quantity; //入库申请量 input.Operation.ApplyOper.ID = this.phaInManager.OperInfo.ID; input.Operation.ApplyOper.OperTime = sysTime; } input.Operation.Oper.ID = this.phaInManager.OperInfo.ID; input.Operation.Oper.OperTime = sysTime; input.Operation.ApplyQty = input.Quantity; //入库申请量 input.State = "0"; if (itemManager.SetApplyIn(input) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); this.ShowMsg("入库 保存失败" + itemManager.Err); return; } } Neusoft.FrameWork.Management.PublicTrans.Commit(); this.ShowMsg("外部入库申请保存成功"); this.Clear(); }