public static int AddOrder(String patientNum, String useNum, String doctorNum, String orderNum, int type, String use_time) { String useName; Decimal price; if (type == 2) { price = (Decimal)DatabaseTool.ExeclSqlReturnItem(String.Format(SELECT_OPERATION_PRICE_BYID, useNum), "single_price"); useName = (String)DatabaseTool.ExeclSqlReturnItem(String.Format("select * from operation where o_num =\"{0}\"", useNum), "o_name"); } else if (type == 3) { price = (Decimal)DatabaseTool.ExeclSqlReturnItem(String.Format(SELECT_DEVICE_PRICE_BYID, useNum), "single_price"); useName = (String)DatabaseTool.ExeclSqlReturnItem(String.Format("select * from device where d_num =\"{0}\"", useNum), "d_name"); } else { return(-1); } if (DatabaseTool.ExecSql(String.Format(INSERT_ORDER_SQL, patientNum, useNum, 1, doctorNum, orderNum, type, System.DateTime.Now.ToString(), use_time, price, useName, 0))) { return(DatabaseTool.GetLastInsertId()); } else { return(-1); } }
protected void fetch_Click1(object sender, EventArgs e) { List <FetchRecords> fetchRecords = new List <FetchRecords>(); for (int i = 0; i < this.notFetchOrders.Rows.Count; i++) { if (((CheckBox)notFetchOrders.Rows[i].FindControl("select")).Checked) { FetchRecords f = new FetchRecords(); f.PatientNum = notFetchOrders.Rows[i].Cells[1].Text.ToString(); f.FetchTime = System.DateTime.Now.ToString(); f.Person = fetchPerson.Text; f.medName = notFetchOrders.Rows[i].Cells[5].Text.ToString(); f.Amount = Convert.ToInt32(notFetchOrders.Rows[i].Cells[4].Text); f.PatientName = DatabaseTool.ExeclSqlReturnItem(String.Format("select * from patient where p_number =\"{0}\" ", f.PatientNum), "p_name").ToString(); f.MedcineNum = notFetchOrders.Rows[i].Cells[6].Text.ToString(); f.OrderNum = notFetchOrders.Rows[i].Cells[7].Text.ToString(); fetchRecords.Add(f); } } if (FetchRecordService.AddFetchRecords(fetchRecords) > 0) { Response.Write("<script language=javascript>window.alert('取药成功!');</script>"); notFetchOrders.DataSource = DatabaseTool.ExecSqlReturnDataSet(String.Format("select* from orders where patient_num=\"{0}\" and isfetch=0 and type=1", patientNum.Text)); notFetchOrders.DataBind(); } else { Response.Write("<script language=javascript>window.alert('存在取药数量大于库存量失败的取药记录!');</script>"); notFetchOrders.DataSource = DatabaseTool.ExecSqlReturnDataSet(String.Format("select* from orders where patient_num=\"{0}\" and isfetch=0 and type=1", patientNum.Text)); notFetchOrders.DataBind(); } }
public static int indentifyUser(String username, String password) { Object selectType = DatabaseTool.ExeclSqlReturnItem(String.Format(QUERY_USER_SQL, username, password), "type"); String type = selectType.ToString(); if (type.Equals("-1")) { return(-1); } else { return(int.Parse(type)); } }
//添加病房 public static int AddRoom(String roomNum, String location, String departNum) { if (DatabaseTool.ExeclSqlReturnItem(string.Format(QUERY_ROOM_SQL, roomNum), "r_num").ToString().Equals("-1") == false) { return(-1); } if (DatabaseTool.ExecSql(String.Format(INSERT_ROOM_SQL, roomNum, location, departNum))) { return(DatabaseTool.GetLastInsertId()); } else { return(-1); } }
//添加设备 public static int AddDevice(String deviceNum, String deviceName, String manufacter, Decimal single_price, String dep_num) { if (DatabaseTool.ExeclSqlReturnItem(string.Format(QUERY_DEVICE_SQL, deviceNum), "d_name").ToString().Equals("-1") == false) { return(-1); } if (DatabaseTool.ExecSql(String.Format(INSERT_DEVICE_SQL, deviceNum, deviceName, manufacter, single_price, dep_num))) { return(DatabaseTool.GetLastInsertId()); } else { return(-1); } }
//函数二用于插入药品订单 //函数二需要传入 患者编号、药品编号、数量、医生的编号、订单编号、类型(用于区分三类操作:药品是1 手术是2 检查是3) public static int AddOrder(String patientNum, String useNum, int amount, String doctorNum, String orderNum, int type) { String useName = (String)DatabaseTool.ExeclSqlReturnItem(String.Format("select * from medicine where m_num =\"{0}\"", useNum), "m_name"); Decimal price = (Decimal)DatabaseTool.ExeclSqlReturnItem(String.Format(SELECT_MEDICINE_PRICE_BYID, useNum), "price"); price *= amount; if (DatabaseTool.ExecSql(String.Format(INSERT_ORDER_SQL, patientNum, useNum, amount, doctorNum, orderNum, type, System.DateTime.Now.ToString(), "", price, useName, 0))) { return(DatabaseTool.GetLastInsertId()); } else { return(-1); } }
//添加药品 public static int AddMedicine(String medNum, String medName, String manufactor, Decimal price, Int32 amount, String type) { if (DatabaseTool.ExeclSqlReturnItem(string.Format(QUERY_MEDICINE_SQL, medNum), "m_name").ToString().Equals("-1") == false) { return(-1); } if (DatabaseTool.ExecSql(String.Format(INSERT_MEDICINE_SQL, medNum, medName, manufactor, price, amount, type))) { return(DatabaseTool.GetLastInsertId()); } else { return(-1); } }
//添加用户 public static int AddUsers(String UserNum, String UserName, int type, String password, String sex, int age, String tel, String departNum) { if (DatabaseTool.ExeclSqlReturnItem(string.Format(QUERY_USERS_SQL, UserNum), "u_name").ToString().Equals("-1") == false) { return(-1); } if (DatabaseTool.ExecSql(String.Format(INSERT_USERS_SQL, UserNum, UserName, type, password, sex, age, tel, departNum))) { return(DatabaseTool.GetLastInsertId()); } else { return(-1); } }
// 将患者出院未出院字段改为已经出院,返回病人信息和费用 public static LeaveInformation LeaveHospital(String ID) { DatabaseTool.ExecSql(String.Format(UPDATE_PATIENT_CONDITION, ID)); //更新患者状态为已出院 DatabaseTool.ExecSql(String.Format(UPDATE_DISCHARGE_TIME, System.DateTime.Now.ToString(), ID)); //插入病人出院时间 //全部订单存放至orders List <Dictionary <String, Object> > sqlResult1 = DatabaseTool.ExecSqlReturn(String.Format(SELECT_ALL_ORDERS_BY_ID, ID)); List <Order> orders = new List <Order>(); foreach (Dictionary <String, Object> dic in sqlResult1) //遍历结果集,每一条都加入list { orders.Add(Order.CreateOrder(dic)); } //获取入院时间与出院时间,计算时间差 DateTime admissionTime = Convert.ToDateTime(DatabaseTool.ExeclSqlReturnItem(String.Format(SELECT_PATIENT_BY_ID, ID), "admission_time")); DateTime dischargeTime = Convert.ToDateTime(DatabaseTool.ExeclSqlReturnItem(String.Format(SELECT_PATIENT_BY_ID, ID), "discharge_time")); TimeSpan ts = dischargeTime.Subtract(admissionTime).Duration(); String dateDiff = ts.Days.ToString() + "天"; //获取全部医嘱存放至advices List <DoctorsAdvice> advices = new List <DoctorsAdvice>(); List <Dictionary <String, Object> > sqlResult2 = DatabaseTool.ExecSqlReturn(String.Format(SELECT_ALL_ADVICES_BY_ID, ID)); foreach (Dictionary <String, Object> dic in sqlResult2) //遍历结果集,每一条都加入list { advices.Add(DoctorsAdvice.CreateDoctorsAdvice(dic)); } //计算最终费用存放至totalPrice Decimal totalPrice = DatabaseTool.ExeclSqlDecimal(String.Format(SELECT_ALL_PRICE, ID)); //获取用户部分信息 PatientPartInformation partInformation = new PatientPartInformation(); List <Dictionary <String, Object> > sqlResult3 = DatabaseTool.ExecSqlReturn(String.Format(SELECT_PATIENT_BY_ID, ID)); foreach (Dictionary <String, Object> dic in sqlResult3) //遍历结果集,每一条都加入list { partInformation = PatientPartInformation.CreatePatientInformation(dic); } //新建信息对象,返回 LeaveInformation information = LeaveInformation.CreateLeavelInformation(advices, dateDiff, orders, totalPrice, partInformation); return(information); }
//插入取药记录 public static int AddFetchRecords(List <FetchRecords> fetchRecords) { for (int i = 0; i < fetchRecords.Count; i++) { int nowAmout = Convert.ToInt32(DatabaseTool.ExeclSqlReturnItem(String.Format("select * from medicine", fetchRecords[i].MedcineNum), "amount")); nowAmout = nowAmout - fetchRecords[i].Amount; if (nowAmout < 0) { return(-1); } else { DatabaseTool.ExecSql(String.Format(INSERT_FETCHRECORDS_SQL, fetchRecords[i].Person, fetchRecords[i].medName, fetchRecords[i].PatientName, fetchRecords[i].Amount, fetchRecords[i].PatientNum, fetchRecords[i].FetchTime)); DatabaseTool.ExecSql(String.Format(UPDATE_MEDICINE_AMOUNT_SQL, nowAmout, fetchRecords[i].MedcineNum)); DatabaseTool.ExecSql(String.Format("update orders set isfetch=1 where order_num =\"{0}\" ", fetchRecords[i].OrderNum)); } } return(1); }
public static int AddDepartment(String departNum, String departName, String departManager) { //先检查插入的科室编号是否重复,如果重复返回失败-1 String result = DatabaseTool.ExeclSqlReturnItem(string.Format(QUERY_DEPARTMENT_SQL, departNum), "d_name").ToString(); if (result.Equals("-1") == false) { return(-1); } else { if (DatabaseTool.ExecSql(String.Format(INSERT_DEPARTMENT_SQL, departNum, departName, departManager))) { return(DatabaseTool.GetLastInsertId()); } else { return(-1); } } }
//执行插入操作 public static int AddPatient(Patient patient) { //根据病人id查找病人名字,如果找到病人名字,说明有对应id的记录(因为名字不能为空),说明输入的病人id无效 if (DatabaseTool.ExeclSqlReturnItem(string.Format(SELECT_PATIENT_BY_ID, patient.Id), "p_name").ToString().Equals("-1") == false) { return(-1); } else { System.Diagnostics.Debug.Write(String.Format(INSERT_PATIENT_SQL, patient.Id, patient.Name, patient.Sex, patient.Age, patient.Tel, patient.Department, patient.DrugAllergy, patient.MedicalHistory, patient.RoomNum, patient.BedNum, patient.PhysicanNum, patient.AdmissionTime, "", patient.IDNum, patient.BirthDate, patient.Nation, patient.Country, patient.Marriage, patient.Occupation, patient.NativePlace, patient.BirthPlace, patient.Address, patient.WorkingPlace, patient.WorkingTel, patient.Diagonse, 1)); if (DatabaseTool.ExecSql(String.Format(INSERT_PATIENT_SQL, patient.Id, patient.Name, patient.Sex, patient.Age, patient.Tel, patient.Department, patient.DrugAllergy, patient.MedicalHistory, patient.RoomNum, patient.BedNum, patient.PhysicanNum, patient.AdmissionTime, "", patient.IDNum, patient.BirthDate, patient.Nation, patient.Country, patient.Marriage, patient.Occupation, patient.NativePlace, patient.BirthPlace, patient.Address, patient.WorkingPlace, patient.WorkingTel, patient.Diagonse, 1))) { DatabaseTool.ExecSql(String.Format(UPDATE_BED_CONDITION, patient.BedNum)); return(DatabaseTool.GetLastInsertId()); } else { return(-1); } } }
public static String returnName(String username, String password) { return(DatabaseTool.ExeclSqlReturnItem(String.Format(QUERY_USER_SQL, username, password), "u_name").ToString()); }