/// <summary> /// 保存人员属性变动数据--先执行更新操作,如果没有找到可以更新的数据,则插入一条新记录 /// </summary> /// <param name="PrivInOutDept">出入库科室实体</param> /// <returns>0没有更新 1成功 -1失败</returns> private int SetPrivInOutDept(Neusoft.HISFC.Models.Base.PrivInOutDept PrivInOutDept) { int parm; //执行更新操作 parm = UpdatePrivInOutDept(PrivInOutDept); //如果没有找到可以更新的数据,则插入一条新记录 if (parm == 0) { parm = InsertPrivInOutDept(PrivInOutDept); } return(parm); }
/// <summary> /// 获得update或者insert出入库科室表的传入参数数组 /// </summary> /// <param name="PrivInOutDept">出入库科室实体</param> /// <returns>字符串数组</returns> private string[] myGetParmPrivInOutDept(Neusoft.HISFC.Models.Base.PrivInOutDept PrivInOutDept) { string[] strParm = { PrivInOutDept.Role.Grade2.ID, //0 权限类别:例如0501-入库,0502-出库 PrivInOutDept.ID, //1 科室编码 PrivInOutDept.Dept.ID, //2 供药或领药单位码 PrivInOutDept.Dept.Name, //3 供药或领药单位名称(只在查找数据的时候使用,不能用在程序中) this.Operator.ID, //4 操作员(核准,作废) PrivInOutDept.Memo, //5 备注 PrivInOutDept.SortID.ToString() //6 排序 }; return(strParm); }
/// <summary> /// 向Fp内加入实体 /// </summary> /// <param name="sv">需加入数据的SheetView</param> /// <param name="iRowIndex">行索引</param> /// <returns>成功返回1 失败返回-1</returns> private int AddDataToFp(FarPoint.Win.Spread.SheetView sv, int iRowIndex, Neusoft.HISFC.Models.Base.PrivInOutDept info) { sv.Rows.Add(iRowIndex, 1); sv.Cells[iRowIndex, (int)ColumnSet.ColSortID].Text = info.SortID.ToString(); //排序 sv.Cells[iRowIndex, (int)ColumnSet.ColDeptID].Text = info.Dept.ID; //部门编码 sv.Cells[iRowIndex, (int)ColumnSet.ColDeptName].Text = info.Dept.Name; if (this.deptTypeHelper.GetObjectFromID(info.Dept.ID) != null) { sv.Cells[iRowIndex, (int)ColumnSet.ColeDeptType].Text = this.deptTypeHelper.GetObjectFromID(info.Dept.ID).User02; } sv.Cells[iRowIndex, (int)ColumnSet.ColMemo].Text = info.Memo; //备注 sv.Rows[iRowIndex].Tag = info; return(1); }
/// <summary> /// 保存 /// </summary> /// <param name="sv">保存行</param> /// <returns>成功返回1 失败返回-1</returns> protected int SaveInOut(FarPoint.Win.Spread.SheetView sv) { if (!this.IsValid(sv)) { return(-1); } Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); this.privInOutManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans); if (this.privInOutManager.DeletePrivInOutDeptAll(this.statCode + this.inOutFlag, this.privDept.ID) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack();; MessageBox.Show(Language.Msg("数据删除失败" + this.privInOutManager.Err)); return(-1); } for (int i = 0; i < sv.Rows.Count; i++) { Neusoft.HISFC.Models.Base.PrivInOutDept privInOut = sv.Rows[i].Tag as Neusoft.HISFC.Models.Base.PrivInOutDept; privInOut.SortID = NConvert.ToInt32(sv.Cells[i, (int)ColumnSet.ColSortID].Text); privInOut.Memo = sv.Cells[i, (int)ColumnSet.ColMemo].Text; if (this.privInOutManager.InsertPrivInOutDept(privInOut) != 1) { Neusoft.FrameWork.Management.PublicTrans.RollBack();; MessageBox.Show(Language.Msg("插入数据失败" + this.privInOutManager.Err)); return(-1); } } Neusoft.FrameWork.Management.PublicTrans.Commit();; MessageBox.Show(Language.Msg("保存成功")); this.ShowInOutDept(); return(1); }
/// <summary> /// 取出入库科室列表,可能是一条或者多条 /// 私有方法,在其他方法中调用 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>出入库科室信息对象数组</returns> private ArrayList myGetPrivInOutDept(string SQLString) { ArrayList al = new ArrayList(); Neusoft.HISFC.Models.Base.PrivInOutDept PrivInOutDept; //出入库科室实体 this.ProgressBarText = "正在检索出入库科室..."; this.ProgressBarValue = 0; //执行查询语句 if (this.ExecQuery(SQLString) == -1) { this.Err = "获得出入库科室时,执行SQL语句出错!" + this.Err; this.ErrCode = "-1"; return(null); } try { while (this.Reader.Read()) { //取查询结果中的记录 PrivInOutDept = new Neusoft.HISFC.Models.Base.PrivInOutDept(); PrivInOutDept.Role.Grade2.ID = this.Reader[0].ToString(); //0 权限类别:例如0501-入库,0502-出库 PrivInOutDept.ID = this.Reader[1].ToString(); //1 科室编码 PrivInOutDept.Dept.ID = this.Reader[2].ToString(); //2 供药或领药单位码 PrivInOutDept.Dept.Name = this.Reader[3].ToString(); //3 供药或领药单位名称(只在查找数据的时候使用,不能用在程序中) PrivInOutDept.User01 = this.Reader[4].ToString(); //4 操作员代码 PrivInOutDept.User02 = this.Reader[5].ToString(); //5 操作时间 PrivInOutDept.Memo = this.Reader[6].ToString(); //6 备注 PrivInOutDept.SortID = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[7].ToString()); //7 排序 al.Add(PrivInOutDept); } } //抛出错误 catch (Exception ex) { this.Err = "获得出入库科室信息时出错!" + ex.Message; this.ErrCode = "-1"; return(null); } this.Reader.Close(); this.ProgressBarValue = -1; return(al); }
/// <summary> /// 更新出入库科室表中一条记录 /// </summary> /// <param name="PrivInOutDept">科室扩展属性类</param> /// <returns>0没有更新 1成功 -1失败</returns> public int UpdatePrivInOutDept(Neusoft.HISFC.Models.Base.PrivInOutDept PrivInOutDept) { string strSQL = ""; //取更新操作的SQL语句 if (this.Sql.GetSql("Manager.PrivInOutDept.UpdatePrivInOutDept", ref strSQL) == -1) { this.Err = "没有找到Manager.PrivInOutDept.UpdatePrivInOutDept字段!"; return(-1); } try { string[] strParm = myGetParmPrivInOutDept(PrivInOutDept); //取参数列表 strSQL = string.Format(strSQL, strParm); //替换SQL语句中的参数。 } catch (Exception ex) { this.Err = "格式化SQL语句时出错Manager.PrivInOutDept.UpdatePrivInOutDept:" + ex.Message; this.WriteErr(); return(-1); } return(this.ExecNoQuery(strSQL)); }
/// <summary> /// 增加新科室 /// </summary> /// <param name="sv">需加入数据的SheetView</param> /// <param name="iRowIndex">行索引</param> /// <param name="dept">科室编码</param> /// <returns>成功返回1 失败返回-1</returns> private int AddDataToFp(FarPoint.Win.Spread.SheetView sv, int iRowIndex, Neusoft.HISFC.Models.Base.Department dept) { Neusoft.HISFC.Models.Base.PrivInOutDept privObj = new Neusoft.HISFC.Models.Base.PrivInOutDept(); privObj.ID = this.privDept.ID; privObj.Name = this.privDept.Name; privObj.Role.Grade2.ID = this.statCode + this.inOutFlag; privObj.Dept = dept; sv.Rows.Add(iRowIndex, 1); sv.Cells[iRowIndex, (int)ColumnSet.ColSortID].Value = 0; //排序 sv.Cells[iRowIndex, (int)ColumnSet.ColDeptID].Value = dept.ID; //部门编码 sv.Cells[iRowIndex, (int)ColumnSet.ColDeptName].Value = dept.Name; //部门名称 if (dept.DeptType != null) { sv.Cells[iRowIndex, (int)ColumnSet.ColeDeptType].Value = dept.DeptType.Name; //部门类型 } sv.Rows[iRowIndex].Tag = privObj; return(1); }