public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { //List<int> grouplist = grouplist; string time = servertime.ToString("yyyy-MM-dd"); DateTime ServerDateTime = servertime; string strWhere = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + orderid + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID + oleDb.And() + Tables.zy_nurse_orderexec.EXEC_DATE + oleDb.EuqalTo() + "'" + time + "'"; bool serchRusult = BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Exists(strWhere); if (serchRusult == false) { string string1 = "op_date=" + "'" + servertime + "'"; string string2 = "oprerator=" + Employeeid; BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).Update("order_id=" + orderid, string1, string2); int group_id = zy_doc_orderrecord.GROUP_ID; grouplist.Add(group_id); int groupnum = grouplist.Count; string order_usage = zy_doc_orderrecord.ORDER_USAGE; base.updateTempOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); if (groupnum == 1 || grouplist[groupnum - 1] != grouplist[groupnum - 2]) { base.InsertTempDrugUsageFee(orderid, zy_doc_orderrecord.GROUP_ID, zy_doc_orderrecord.ORDER_USAGE, ServerDateTime, zy_doc_orderrecord); } } }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { base.insertorderexec(orderid, base.Employeeid, servertime); base.updateTempOrderFlag(orderid); InsertItemFee(orderid, servertime, zy_doc_orderrecord); base.InsertTempDrugUsageFee(zy_doc_orderrecord.ORDER_ID, zy_doc_orderrecord.GROUP_ID, zy_doc_orderrecord.ORDER_USAGE, servertime, zy_doc_orderrecord); }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { string time; DateTime ServerDateTime = servertime; //List<int> grouplist = grouplist; if (zy_doc_orderrecord.PS_ORDERID != Convert.ToDecimal(0) && zy_doc_orderrecord.PS_FLAG == 0) { } else if (zy_doc_orderrecord.ITEM_CODE == "")// zy_doc_orderrecord.AMOUNT== Convert.ToDecimal(0)) update by heyan 皮试说明数量医生可以修改,不能以数量判断 { string string1 = "op_date=" + "'" + servertime + "'"; string string2 = "oprerator=" + Employeeid; BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).Update("order_id=" + orderid, string1, string2); time = XcDate.ServerDateTime.ToString("yyyy-MM-dd"); string strWhere = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + orderid + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID + oleDb.And() + Tables.zy_nurse_orderexec.EXEC_DATE + oleDb.EuqalTo() + "'" + time + "'"; bool serchRusult = BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Exists(strWhere); if (serchRusult == false) { int group_id = zy_doc_orderrecord.GROUP_ID; grouplist.Add(group_id); int groupnum = grouplist.Count; string order_usage = zy_doc_orderrecord.ORDER_USAGE; base.updateTempOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); base.InsertTempDrugUsageFee(orderid, zy_doc_orderrecord.GROUP_ID, zy_doc_orderrecord.ORDER_USAGE, ServerDateTime, zy_doc_orderrecord); } } }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { DateTime lastexectime; string strWhere1 = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + zy_doc_orderrecord.ORDER_ID + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID; object obj = oleDb.GetDataResult("select max(exec_date) from ZY_NURSE_ORDEREXEC where order_id=" + zy_doc_orderrecord.ORDER_ID); if (obj != null && obj != DBNull.Value) { int hour = servertime.Hour; int minute = servertime.Minute; int second = servertime.Second; lastexectime = DateTime.Parse(obj.ToString()); lastexectime = lastexectime.Date.AddHours(hour).AddMinutes(minute).AddSeconds(second); } else { lastexectime = servertime.AddDays(-1); } int days = servertime.Date.Subtract(lastexectime.Date).Days; int group_id = zy_doc_orderrecord.GROUP_ID; grouplist.Add(group_id); int groupnum = grouplist.Count; for (int j = 0; j < days; j++) { DateTime time = lastexectime.AddDays(j + 1); if (zy_doc_orderrecord.ORDER_BDATE.ToString("yyyy-MM-dd") == time.ToString("yyyy-MM-dd") && (zy_doc_orderrecord.FIRSET_TIMES == 0) && (zy_doc_orderrecord.TEMINAL_TIMES == 0)) { base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertlongorderexec(zy_doc_orderrecord, base.Employeeid, servertime); } string strWhere = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + zy_doc_orderrecord.ORDER_ID + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID + oleDb.And() + Tables.zy_nurse_orderexec.EXEC_DATE + oleDb.EuqalTo() + "'" + time.ToString("yyyy-MM-dd") + "'"; bool serchRusult = BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Exists(strWhere); if (serchRusult == false) { //int group_id = zy_doc_orderrecord.GROUP_ID; //grouplist.Add(group_id); //int groupnum = grouplist.Count; string order_usage = zy_doc_orderrecord.ORDER_USAGE; base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertlongorderexec(zy_doc_orderrecord, base.Employeeid, time); if (groupnum == 1 || grouplist[groupnum - 1] != grouplist[groupnum - 2]) { base.InsertDrugFee(zy_doc_orderrecord.ORDER_ID, time, zy_doc_orderrecord); base.InsertDrugUsageFee(zy_doc_orderrecord.ORDER_ID, zy_doc_orderrecord.GROUP_ID, zy_doc_orderrecord.ORDER_USAGE, time, zy_doc_orderrecord); } else { base.InsertDrugFee(zy_doc_orderrecord.ORDER_ID, time, zy_doc_orderrecord); } } } }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { int itemid; DataTable dt = base.TcgetOrderItem(zy_doc_orderrecord.TC_ID); for (int i = 0; i < dt.Rows.Count; i++) { itemid = Convert.ToInt32(dt.Rows[i]["item_id"].ToString()); InsertComponentItemFee(orderid, itemid, servertime, zy_doc_orderrecord); } base.insertorderexec(orderid, base.Employeeid, servertime); base.updateTempOrderFlag(orderid); }
public bool Send(List <int> orderidlist, int employee_id, int patlist_id) { try { int patlistid = patlist_id; List <int> orderid = orderidlist; List <int> grouplist = new List <int>(); DateTime ServerDateTime = XcDate.ServerDateTime; string exceptionString = ""; for (int arraynum = 0; arraynum < orderid.Count; arraynum++) { ZY_DOC_ORDERRECORD orderrecord = new ZY_DOC_ORDERRECORD(); string strwhere1 = "order_id=" + orderid[arraynum]; orderrecord = BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).GetModel(orderid[arraynum]); if (orderrecord.STATUS_FALG == 5) //防止同时打开多个窗口,临嘱点两次发送时产生两次费用的并发问题 2010.10.14 add by heyan { continue; } AbstractOrderOperation concreteOrder = OrderOperationFactory.CreateConcreteOrder(orderrecord); concreteOrder.Zy_doc_orderrecord = orderrecord; concreteOrder.Employeeid = employee_id; concreteOrder.ServerTime = ServerDateTime; try { oleDb.BeginTransaction(); concreteOrder.Send(orderid[arraynum], ServerDateTime, orderrecord, grouplist); oleDb.CommitTransaction(); } catch (Exception e) { exceptionString += e.Message; oleDb.RollbackTransaction(); continue; } } if (exceptionString != "") { throw new Exception(exceptionString); } return(true); } catch (Exception e) { // throw e; throw new Exception(e.Message); } }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { //DateTime time = servertime; if (zy_doc_orderrecord.STATUS_FALG == 4) { base.updateLongOrderFlag(orderid); } else { DateTime lastexectime; string strWhere1 = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + zy_doc_orderrecord.ORDER_ID + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID; object obj = oleDb.GetDataResult("select max(exec_date) from ZY_NURSE_ORDEREXEC where order_id=" + zy_doc_orderrecord.ORDER_ID); if (obj != null && obj != DBNull.Value) { int hour = servertime.Hour; int minute = servertime.Minute; int second = servertime.Second; lastexectime = DateTime.Parse(obj.ToString()); lastexectime = lastexectime.Date.AddHours(hour).AddMinutes(minute).AddSeconds(second); } else { lastexectime = servertime.AddDays(-1); } int days = servertime.Date.Subtract(lastexectime.Date).Days; for (int j = 0; j < days; j++) { DateTime time = lastexectime.AddDays(j + 1); string strWhere = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + zy_doc_orderrecord.ORDER_ID + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID + oleDb.And() + Tables.zy_nurse_orderexec.EXEC_DATE + oleDb.EuqalTo() + "'" + time.ToString("yyyy-MM-dd") + "'"; bool serchRusult = BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Exists(strWhere); if (serchRusult == false) { //base.insertlongorderexec(zy_doc_orderrecord, base.Employeeid, time); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, time); base.updateLongOrderFlag(orderid); updateSendTime(orderid, servertime); } } } }
/// <summary> /// 获取某条医嘱明细的用法大类 /// </summary> /// <param name="docOrderId">医嘱明细ID</param> /// <returns>用法大类</returns> public DataTable GetUseType(int docOrderId) { try { ZY_DOC_ORDERRECORD orderRecord = BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).GetModel(docOrderId); if (orderRecord != null) { string strSql = "select TYPE_NAME from BASE_USAGE_USETYPE_ROLE A where A.USAGE_ID=(select ID from BASE_USAGEDICTION where NAME='" + orderRecord.ORDER_USAGE + "')"; return(oleDb.GetDataTable(strSql)); } else { return(null); } } catch (Exception error) { throw error; } }
public bool Send(List <int> orderidlist, int employee_id, int patlist_id) { try { int patlistid = patlist_id; List <int> orderid = orderidlist; List <int> grouplist = new List <int>(); DateTime ServerDateTime = XcDate.ServerDateTime.Date.AddDays(1).AddHours(14); for (int arraynum = 0; arraynum < orderid.Count; arraynum++) { try { oleDb.BeginTransaction(); ZY_DOC_ORDERRECORD orderrecord = new ZY_DOC_ORDERRECORD(); string strwhere1 = "order_id=" + orderid[arraynum]; orderrecord = BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).GetModel(orderid[arraynum]); AbstractOrderOperation concreteOrder = OrderOperationFactory.CreateConcreteOrder(orderrecord); concreteOrder.Zy_doc_orderrecord = orderrecord; concreteOrder.Employeeid = employee_id; concreteOrder.ServerTime = ServerDateTime; concreteOrder.Send(orderid[arraynum], ServerDateTime, orderrecord, grouplist); oleDb.CommitTransaction(); } catch { oleDb.RollbackTransaction(); } } return(true); } catch (Exception e) { throw e; } }
public string GetDocOrderInfo(int docOrderId) { try { ZY_DOC_ORDERRECORD orderRecord = BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).GetModel(docOrderId); if (orderRecord != null) { return(orderRecord.ORDER_CONTENT + " " + orderRecord.AMOUNT.ToString() + " " + orderRecord.UNIT.ToString() + " " + orderRecord.FREQUENCY + " " + orderRecord.ORDER_USAGE + " " + orderRecord.ORDER_STRUC + " [" + orderRecord.ORDER_SPEC + "]"); } else { return("未找到对应医嘱内容"); } } catch (Exception error) { throw error; } }
/// <summary> /// 长期医嘱用法联动费用 /// </summary> public void InsertDrugUsageFee(int order_id, int group_id, string order_usage, DateTime server_time, ZY_DOC_ORDERRECORD zy_nurse_orderrecord) { int orderid = order_id; int groupid = group_id; string orderusage = order_usage; DateTime servertime = server_time; string strWhere = "use_name=" + "'" + orderusage + "'"; DataTable dt = BindEntity <object> .CreateInstanceDAL(oleDb, Views.VI_USEAGE_FEE).GetList(strWhere, "item_id", "num"); try { for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i][0].ToString() != "") { int item_id = Convert.ToInt32(dt.Rows[i][0].ToString()); int num = Convert.ToInt32(dt.Rows[i][1].ToString()); Model.ZY_PresOrder presorder = new ZY_PresOrder(); //Model.ZY_PresMaster premaster = new ZY_PresMaster(); presorder.PatListID = zy_nurse_orderrecord.PATID; presorder.MarkDate = zy_nurse_orderrecord.TRANS_DATE; presorder.PresDate = zy_nurse_orderrecord.ORDER_BDATE; presorder.PresDocCode = zy_nurse_orderrecord.ORDER_DOC.ToString(); presorder.PresDeptCode = zy_nurse_orderrecord.PRES_DEPTID.ToString(); presorder.ExecDeptCode = zy_nurse_orderrecord.PRES_DEPTID.ToString();//update by heyan 2010.10.8 联动项目的执行科室为开方科室 presorder.order_id = zy_nurse_orderrecord.ORDER_ID; presorder.group_id = zy_nurse_orderrecord.GROUP_ID; presorder.order_type = zy_nurse_orderrecord.ORDER_TYPE; DateTime order_bdate = zy_nurse_orderrecord.ORDER_BDATE; DateTime order_edate = zy_nurse_orderrecord.EORDER_DATE; string frequency_time = zy_nurse_orderrecord.FREQUENCY; int firset_times = zy_nurse_orderrecord.FIRSET_TIMES; int teminal_times = Convert.ToInt32(XcConvert.IsNull(zy_nurse_orderrecord.TEMINAL_TIMES, "0")); DateTime currenttime = servertime; string strWhere2 = "patlistid=" + presorder.PatListID; string str2 = "patid"; presorder.PatID = Convert.ToInt32(BindEntity <HIS.Model.ZY_PatList> .CreateInstanceDAL(oleDb).GetFieldValue(str2, strWhere2)); string strWhere3 = "name='" + frequency_time + "'"; string str3 = "execnum"; int execNum; if (currenttime.ToString("yyyy-MM-dd") == order_bdate.ToString("yyyy-MM-dd") && currenttime.ToString("yyyy-MM-dd") == order_edate.ToString("yyyy-MM-dd"))//11月22日加,解决如果长嘱当天开,当天停,以末次计数 { execNum = teminal_times; } else if (currenttime.ToString("yyyy-MM-dd") == order_bdate.ToString("yyyy-MM-dd")) { execNum = firset_times; } else if (currenttime.ToString("yyyy-MM-dd") == order_edate.ToString("yyyy-MM-dd")) { execNum = teminal_times; } else { if (frequency_time == "1" || frequency_time == "" || frequency_time == null) { execNum = 1; } else { execNum = Convert.ToInt32(BindEntity <HIS.Model.Base_Frequency> .CreateInstanceDAL(oleDb).GetFieldValue(str3, strWhere3)); } } string strWhere4 = "server_item_id=" + item_id + " and drug_flag=0"; string[] str4 = new string[9]; str4[0] = "packunit"; str4[1] = "leastunit"; str4[2] = "packnum"; str4[3] = "buy_price"; str4[4] = "sell_price"; str4[5] = "standard"; str4[6] = "server_item_id"; str4[7] = "statitem_code"; str4[8] = "ItemName"; DataTable dt4 = BindEntity <object> .CreateInstanceDAL(oleDb, Views.VI_CLINICAL_ALL_ITEMS).GetList(strWhere4, str4); presorder.PackUnit = dt4.Rows[0]["packunit"].ToString(); presorder.Unit = dt4.Rows[0]["leastunit"].ToString(); presorder.RelationNum = Convert.ToDecimal(dt4.Rows[0]["packnum"].ToString()); presorder.Buy_Price = Convert.ToDecimal(dt4.Rows[0]["buy_price"].ToString()); presorder.Sell_Price = Convert.ToDecimal(dt4.Rows[0]["sell_price"].ToString()); presorder.Standard = dt4.Rows[0]["standard"].ToString(); presorder.PresType = Convert.ToString(4); presorder.ItemID = Convert.ToInt32(dt4.Rows[0]["server_item_id"].ToString()); presorder.ItemType = dt4.Rows[0]["statitem_code"].ToString(); string strWhere6 = "item_id=" + item_id; object obj = BindEntity <BASE_SERVICE_ITEMS> .CreateInstanceDAL(oleDb).GetFieldValue("item_name", strWhere6); presorder.ItemName = obj.ToString(); presorder.Amount = execNum * num; presorder.CostDate = servertime; presorder.ChargeCode = Convert.ToString(base.Employeeid); presorder.Charge_Flag = 1; presorder.Drug_Flag = 1; presorder.Tolal_Fee = presorder.Amount * presorder.Sell_Price; presorder.Tolal_Fee = Convert.ToDecimal(presorder.Tolal_Fee.ToString("0.00")); BindEntity <ZY_PresOrder> .CreateInstanceDAL(oleDb).Add(presorder); //premaster.PatListID = presorder.PatListID; //premaster.PatID = presorder.PatID; //premaster.PresType = Convert.ToString(1); //BindEntity<ZY_PresMaster>.CreateInstanceDAL(oleDb).Add(premaster); //string strWhere5 = "presorderid=" + presorder.PresOrderID; //string updatefile = Tables.zy_presorder.PRESMASTERID + oleDb.EuqalTo() + premaster.PresMasterID; //BindEntity<HIS.Model.ZY_PresOrder>.CreateInstanceDAL(oleDb).Update(strWhere5, updatefile); } } } catch (Exception e) { throw new Exception(e.Message); } }
public static AbstractOrderOperation CreateConcreteOrder(ZY_DOC_ORDERRECORD zy_doc_orderrecord) { AbstractOrderOperation orderOperation = null; if (zy_doc_orderrecord.ITEM_TYPE < 4) { if (zy_doc_orderrecord.ORDER_TYPE == 0 && zy_doc_orderrecord.EXEC_DEPT == -1)//长期自备药 { orderOperation = new SelfPrepareDrug(); } else if (zy_doc_orderrecord.ORDER_TYPE == 0 && zy_doc_orderrecord.STATUS_FALG == 4)//长期停药品 { orderOperation = new NormalStopDrug(); } else if (zy_doc_orderrecord.ORDER_TYPE == 0)//长期正常药 { orderOperation = new NormalDrug(); } else if (zy_doc_orderrecord.ORDER_TYPE == 7)//出院带药 { orderOperation = new OutHospitalDrug(); } else if (zy_doc_orderrecord.ORDER_TYPE == 1 && zy_doc_orderrecord.EXEC_DEPT == -1)//临嘱自备药 { orderOperation = new SelfPrepareTempDrug(); } else if (zy_doc_orderrecord.ORDER_TYPE == 1 && zy_doc_orderrecord.PS_ORDERID != 0 && zy_doc_orderrecord.ITEM_CODE == "")//皮试医嘱 update by heyan 皮试说明数量医生可以修改,不能以数量判断 { orderOperation = new PsStatementOrder(); } else if (zy_doc_orderrecord.ORDER_TYPE == 5)//交病人 { orderOperation = new NormalTempDrug(); } else if (zy_doc_orderrecord.ORDER_TYPE == 1)//临时正常药品 { orderOperation = new NormalTempDrug(); } } else if (zy_doc_orderrecord.ITEM_TYPE == 7 || zy_doc_orderrecord.ITEM_TYPE == 10) { if (zy_doc_orderrecord.ITEM_TYPE == 7 && zy_doc_orderrecord.ORDER_TYPE == 0)//长期说明性 { orderOperation = new LongStateOrder(); } else if (zy_doc_orderrecord.ITEM_TYPE == 7 && zy_doc_orderrecord.ORDER_TYPE == 1)//临时说明性 { orderOperation = new TempStateOrder(); } else if (zy_doc_orderrecord.ITEM_TYPE == 10 && zy_doc_orderrecord.ORDER_TYPE == 0)//产后术后 { orderOperation = new PregOrder(); } else if (zy_doc_orderrecord.ITEM_TYPE == 10 && zy_doc_orderrecord.ORDER_TYPE == 1)//出院死亡转科 { orderOperation = new OutDeathOrder(); } } else { if (zy_doc_orderrecord.ORDER_TYPE == 0 && zy_doc_orderrecord.TC_ID == 0 && zy_doc_orderrecord.STATUS_FALG == 4)//长期停项目 { orderOperation = new LongStopItem(); } else if (zy_doc_orderrecord.ORDER_TYPE == 0 && zy_doc_orderrecord.TC_ID == 0)//长期单条医嘱 { orderOperation = new LongSingleItem(); } else if (zy_doc_orderrecord.ORDER_TYPE == 0 && zy_doc_orderrecord.TC_ID != 0)//长期组合项目 { orderOperation = new LongComponentItem(); } else if (zy_doc_orderrecord.ORDER_TYPE == 1 && zy_doc_orderrecord.TC_ID == 0)//临时单条医嘱 { orderOperation = new TempSingleItem(); } else if (zy_doc_orderrecord.ORDER_TYPE == 1 && zy_doc_orderrecord.TC_ID != 0)//临时组合医嘱 { orderOperation = new TempComponentItem(); } } return(orderOperation); }
protected void insertlongorderexec(ZY_DOC_ORDERRECORD zy_doc_orderrecord, long employeeid, DateTime serverdatetime) { try { //string strWhere = Tables.zy_doc_orderrecord.ORDER_ID + oleDb.EuqalTo() + orderid; //object obj = BindEntity<HIS.Model.ZY_DOC_ORDERRECORD>.CreateInstanceDAL(oleDb).GetFieldValue(Tables.zy_doc_orderrecord.PATID, strWhere); //int patlistid = int.Parse(obj.ToString()); string frequencys; int patlistid = zy_doc_orderrecord.PATID; string time = serverdatetime.ToString("yyyy-MM-dd"); string realtime = XcDate.ServerDateTime.ToString("yyyy-MM-dd"); if (zy_doc_orderrecord.FREQUENCY == "") { frequencys = "Qd"; } else { frequencys = zy_doc_orderrecord.FREQUENCY; } string strWhere1 = Tables.base_frequency.NAME + oleDb.EuqalTo() + "'" + frequencys + "'"; object obj1 = BindEntity <Base_Frequency> .CreateInstanceDAL(oleDb).GetFieldValue(Tables.base_frequency.CYCLEDAY, strWhere1); int cycleday = int.Parse(obj1.ToString()); if (cycleday == 1) { string[] filedname = new string[5]; filedname[0] = Tables.zy_nurse_orderexec.ORDER_ID; filedname[1] = Tables.zy_nurse_orderexec.EXEC_DATE; filedname[2] = Tables.zy_nurse_orderexec.EXEC_USER; filedname[3] = Tables.zy_nurse_orderexec.PATIENT_ID; filedname[4] = Tables.zy_nurse_orderexec.REALEXEC_TIME; string[] values = new string[5]; values[0] = zy_doc_orderrecord.ORDER_ID.ToString(); values[1] = "'" + time + "'"; values[2] = employeeid.ToString(); values[3] = patlistid.ToString(); values[4] = "'" + realtime + "'"; bool[] questiong = new bool[5]; questiong[0] = false; questiong[1] = false; questiong[2] = false; questiong[3] = false; questiong[4] = false; BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Add(filedname, values, questiong); } else { for (int i = 0; i < cycleday; i++) { time = serverdatetime.AddDays(i).ToString("yyyy-MM-dd"); string[] filedname = new string[5]; filedname[0] = Tables.zy_nurse_orderexec.ORDER_ID; filedname[1] = Tables.zy_nurse_orderexec.EXEC_DATE; filedname[2] = Tables.zy_nurse_orderexec.EXEC_USER; filedname[3] = Tables.zy_nurse_orderexec.PATIENT_ID; filedname[4] = Tables.zy_nurse_orderexec.REALEXEC_TIME; string[] values = new string[5]; values[0] = zy_doc_orderrecord.ORDER_ID.ToString(); values[1] = "'" + time + "'"; values[2] = employeeid.ToString(); values[3] = patlistid.ToString(); values[4] = "'" + realtime + "'"; bool[] questiong = new bool[5]; questiong[0] = false; questiong[1] = false; questiong[2] = false; questiong[3] = false; questiong[4] = false; BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Add(filedname, values, questiong); } } } catch (Exception e) { throw new Exception(e.Message); } }
public virtual void InsertDrugFee(int order_id, DateTime server_datetime, ZY_DOC_ORDERRECORD zy_doc_orderrecord) { }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { base.updateTempOrderFlag(zy_doc_orderrecord.ORDER_ID); base.InsertDrugFee(orderid, servertime, zy_doc_orderrecord); }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { //List<int> grouplist = grouplist; string time; if (zy_doc_orderrecord.STATUS_FALG == 4)//11月24日修改,增加自备药末次停和执行处理,自备药停操作 { time = servertime.ToString("yyyy-MM-dd"); string strWhere = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + orderid + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID + oleDb.And() + Tables.zy_nurse_orderexec.EXEC_DATE + oleDb.EuqalTo() + "'" + time + "'"; bool serchRusult = BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Exists(strWhere); if (serchRusult == false) { string string1 = "op_date=" + "'" + servertime + "'"; string string2 = "oprerator=" + Employeeid; BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).Update("order_id=" + orderid, string1, string2); int group_id = zy_doc_orderrecord.GROUP_ID; grouplist.Add(group_id); int groupnum = grouplist.Count; string order_usage = zy_doc_orderrecord.ORDER_USAGE; base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertlongorderexec(zy_doc_orderrecord, base.Employeeid, servertime); if (groupnum == 1 || grouplist[groupnum - 1] != grouplist[groupnum - 2]) { base.InsertDrugUsageFee(zy_doc_orderrecord.ORDER_ID, zy_doc_orderrecord.GROUP_ID, zy_doc_orderrecord.ORDER_USAGE, servertime, zy_doc_orderrecord); } } else { base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); } } else//正常自备药流程 { DateTime lastexectime; string strWhere1 = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + zy_doc_orderrecord.ORDER_ID + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID; object obj = oleDb.GetDataResult("select max(exec_date) from ZY_NURSE_ORDEREXEC where order_id=" + zy_doc_orderrecord.ORDER_ID); if (obj != null && obj != DBNull.Value) { int hour = servertime.Hour; int minute = servertime.Minute; int second = servertime.Second; lastexectime = DateTime.Parse(obj.ToString()); lastexectime = lastexectime.Date.AddHours(hour).AddMinutes(minute).AddSeconds(second); } else { lastexectime = servertime.AddDays(-1); } int days = servertime.Date.Subtract(lastexectime.Date).Days; int group_id = zy_doc_orderrecord.GROUP_ID; grouplist.Add(group_id); int groupnum = grouplist.Count; for (int j = 0; j < days; j++) { DateTime exectime = lastexectime.AddDays(j + 1); //time = servertime.ToString("yyyy-MM-dd"); string strWhere = Tables.zy_nurse_orderexec.ORDER_ID + oleDb.EuqalTo() + orderid + oleDb.And() + Tables.zy_nurse_orderexec.PATIENT_ID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID + oleDb.And() + Tables.zy_nurse_orderexec.EXEC_DATE + oleDb.EuqalTo() + "'" + exectime.ToString("yyyy-MM-dd") + "'"; bool serchRusult = BindEntity <HIS.Model.ZY_NURSE_ORDEREXEC> .CreateInstanceDAL(oleDb).Exists(strWhere); if (serchRusult == false) { string string1 = "op_date=" + "'" + exectime + "'"; string string2 = "oprerator=" + Employeeid; BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).Update("order_id=" + orderid, string1, string2); //int group_id = zy_doc_orderrecord.GROUP_ID; //grouplist.Add(group_id); //int groupnum = grouplist.Count; string order_usage = zy_doc_orderrecord.ORDER_USAGE; base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertlongorderexec(zy_doc_orderrecord, base.Employeeid, exectime); if (groupnum == 1 || grouplist[groupnum - 1] != grouplist[groupnum - 2]) { base.InsertDrugUsageFee(zy_doc_orderrecord.ORDER_ID, zy_doc_orderrecord.GROUP_ID, zy_doc_orderrecord.ORDER_USAGE, exectime, zy_doc_orderrecord); } } } } }
public override void InsertItemFee(int order_id, DateTime server_datetime, ZY_DOC_ORDERRECORD zy_doc_orderrecord) { DateTime ServerDateTime = server_datetime; int employeeid = base.Employeeid; int orderid = order_id; int itemid; Model.ZY_PresOrder presorder = new ZY_PresOrder(); //Model.ZY_PresMaster premaster = new ZY_PresMaster(); string strwhere1 = "order_id=" + orderid; string string1 = "op_date=" + "'" + ServerDateTime + "'"; string string2 = "oprerator=" + employeeid; BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).Update(strwhere1, string1, string2); presorder.PatListID = zy_doc_orderrecord.PATID; presorder.MarkDate = zy_doc_orderrecord.TRANS_DATE; presorder.PresDate = zy_doc_orderrecord.ORDER_BDATE; presorder.PresDocCode = zy_doc_orderrecord.ORDER_DOC.ToString(); presorder.PresDeptCode = zy_doc_orderrecord.PRES_DEPTID.ToString(); presorder.ExecDeptCode = zy_doc_orderrecord.EXEC_DEPT.ToString(); itemid = zy_doc_orderrecord.ORDITEM_ID; presorder.ItemName = zy_doc_orderrecord.ORDER_CONTENT; presorder.order_id = zy_doc_orderrecord.ORDER_ID; presorder.group_id = zy_doc_orderrecord.GROUP_ID; string ordercontent = zy_doc_orderrecord.ORDER_CONTENT; presorder.order_type = 1; int unit_type = zy_doc_orderrecord.UNITTYPE; int item_type = zy_doc_orderrecord.ITEM_TYPE; string frequency_time = zy_doc_orderrecord.FREQUENCY != "0" ? zy_doc_orderrecord.FREQUENCY : "1"; decimal num = zy_doc_orderrecord.AMOUNT; decimal pres_amount = zy_doc_orderrecord.PRES_AMOUNT; string strWhere4 = "patlistid=" + presorder.PatListID; string str4 = "patid"; presorder.PatID = Convert.ToInt32(BindEntity <HIS.Model.ZY_PatList> .CreateInstanceDAL(oleDb).GetFieldValue(str4, strWhere4)); string strWhere6 = "name='" + frequency_time + "'"; string str6 = "execnum"; int execNum; if (frequency_time == "1" || frequency_time == "" || frequency_time == null) { execNum = 1; } else { execNum = Convert.ToInt32(BindEntity <HIS.Model.Base_Frequency> .CreateInstanceDAL(oleDb).GetFieldValue(str6, strWhere6)); } presorder.CostDate = ServerDateTime; presorder.ChargeCode = Convert.ToString(base.Employeeid); presorder.Charge_Flag = 1; string strWhere2 = "itemid=" + itemid + " and order_type=" + item_type + " and drug_flag=0"; string[] str2 = new string[7]; str2[0] = "packunit"; str2[1] = "leastunit"; str2[2] = "packnum"; str2[3] = "buy_price"; str2[4] = "sell_price"; str2[5] = "STATITEM_CODE"; str2[6] = "server_item_id"; DataTable dt2 = BindEntity <Views.vi_clinical_all_items> .CreateInstanceDAL(oleDb).GetList(strWhere2, str2); if (dt2.Rows.Count == 0) { throw new Exception("项目【" + ordercontent + "】未找到,该项目已不存在,请检查基础数据!"); } presorder.ItemID = Convert.ToInt32(dt2.Rows[0]["server_item_id"].ToString()); presorder.PackUnit = dt2.Rows[0]["packunit"].ToString(); presorder.Unit = dt2.Rows[0]["leastunit"].ToString(); presorder.RelationNum = Convert.ToDecimal(dt2.Rows[0]["packnum"].ToString()); presorder.Buy_Price = Convert.ToDecimal(dt2.Rows[0]["buy_price"].ToString()); presorder.Sell_Price = Convert.ToDecimal(dt2.Rows[0]["sell_price"].ToString()); presorder.ItemType = dt2.Rows[0]["STATITEM_CODE"].ToString(); presorder.Drug_Flag = 1; presorder.PresType = "4"; presorder.Amount = num * execNum; presorder.Tolal_Fee = Convert.ToDecimal(presorder.Amount * presorder.Sell_Price); presorder.Tolal_Fee = Convert.ToDecimal(presorder.Tolal_Fee.ToString("0.00")); BindEntity <ZY_PresOrder> .CreateInstanceDAL(oleDb).Add(presorder); //premaster.PatListID = presorder.PatListID; //premaster.PatID = presorder.PatID; //premaster.PresType = Convert.ToString(1); //BindEntity<ZY_PresMaster>.CreateInstanceDAL(oleDb).Add(premaster); //string strWhere7 = "presorderid=" + presorder.PresOrderID; //string updatefile = Tables.zy_presorder.PRESMASTERID + oleDb.EuqalTo() + premaster.PresMasterID; //BindEntity<HIS.Model.ZY_PresOrder>.CreateInstanceDAL(oleDb).Update(strWhere7, updatefile); return; }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { base.insertorderexec(orderid, base.Employeeid, servertime); base.updateTempOrderFlag(orderid); updateSendTime(orderid, servertime); }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { }
/// <summary> /// 长期药品费用 /// </summary> public override void InsertDrugFee(int order_id, DateTime server_datetime, ZY_DOC_ORDERRECORD zy_nurse_orderrecord) { int orderid = order_id; int itemid; DateTime ServerDateTime = server_datetime; Model.ZY_PresOrder presorder = new ZY_PresOrder(); //Model.ZY_PresMaster premaster = new ZY_PresMaster(); string string1 = "op_date=" + "'" + ServerDateTime + "'"; string string2 = "oprerator=" + Employeeid; BindEntity <ZY_DOC_ORDERRECORD> .CreateInstanceDAL(oleDb).Update("order_id=" + orderid, string1, string2); presorder.PatListID = Zy_doc_orderrecord.PATID; presorder.MarkDate = Zy_doc_orderrecord.TRANS_DATE; presorder.PresDate = Zy_doc_orderrecord.ORDER_BDATE; presorder.PresDocCode = Zy_doc_orderrecord.ORDER_DOC.ToString(); presorder.PresDeptCode = Zy_doc_orderrecord.PRES_DEPTID.ToString(); presorder.ExecDeptCode = Zy_doc_orderrecord.EXEC_DEPT.ToString(); itemid = Zy_doc_orderrecord.ORDITEM_ID == 0 ? Zy_doc_orderrecord.MAKEDICID : Zy_doc_orderrecord.ORDITEM_ID; presorder.ItemName = Zy_doc_orderrecord.ORDER_CONTENT; presorder.order_id = Zy_doc_orderrecord.ORDER_ID; presorder.group_id = Zy_doc_orderrecord.GROUP_ID; presorder.order_type = Zy_doc_orderrecord.ORDER_TYPE; string ordercontent = Zy_doc_orderrecord.ORDER_CONTENT; int unit_type = Zy_doc_orderrecord.UNITTYPE; int item_type = Zy_doc_orderrecord.ITEM_TYPE; string frequency_time = Zy_doc_orderrecord.FREQUENCY; int first_time = Zy_doc_orderrecord.FIRSET_TIMES; int last_time = Zy_doc_orderrecord.TEMINAL_TIMES; decimal num = Zy_doc_orderrecord.AMOUNT; decimal pres_amount = Zy_doc_orderrecord.PRES_AMOUNT; DateTime order_begindate = Zy_doc_orderrecord.ORDER_BDATE; DateTime order_enddate = Zy_doc_orderrecord.EORDER_DATE; DateTime currenttime = ServerDateTime; string strWhere4 = "patlistid=" + presorder.PatListID; string str4 = "patid"; presorder.PatID = Convert.ToInt32(BindEntity <HIS.Model.ZY_PatList> .CreateInstanceDAL(oleDb).GetFieldValue(str4, strWhere4)); string strWhere6 = "name='" + frequency_time + "'"; string str6 = "execnum"; int execNum; if (currenttime.ToString("yyyy-MM-dd") == order_begindate.ToString("yyyy-MM-dd") && currenttime.ToString("yyyy-MM-dd") == order_enddate.ToString("yyyy-MM-dd"))//11月22日加,解决如果长嘱当天开,当天停,以末次计数 { execNum = last_time; } else if (currenttime.ToString("yyyy-MM-dd") == order_begindate.ToString("yyyy-MM-dd")) { execNum = first_time; } else if (currenttime.ToString("yyyy-MM-dd") == order_enddate.ToString("yyyy-MM-dd")) { execNum = last_time; } else { if (frequency_time == "1" || frequency_time == "" || frequency_time == null) { execNum = 1; } else { execNum = Convert.ToInt32(BindEntity <HIS.Model.Base_Frequency> .CreateInstanceDAL(oleDb).GetFieldValue(str6, strWhere6)); } } presorder.CostDate = ServerDateTime; presorder.ChargeCode = Convert.ToString(base.Employeeid); presorder.Charge_Flag = 1; //取消判断库存 2011.1.14 heyan string strWhere3 = "itemid=" + itemid + " and drug_flag=1 and order_type=" + item_type + "";// and storenum>0 and EXECDEPTCODE=" + zy_nurse_orderrecord.EXEC_DEPT + ""; //update by heyan 2010.12.3 医嘱发送时库存为0的不能发送 string[] str3 = new string[9]; str3[0] = "packunit"; str3[1] = "leastunit"; str3[2] = "packnum"; str3[3] = "dosenum"; str3[4] = "buy_price"; str3[5] = "sell_price"; str3[6] = "float_flag"; str3[7] = "standard"; str3[8] = "STATITEM_CODE"; DataTable dt3 = BindEntity <Views.vi_clinical_all_items> .CreateInstanceDAL(oleDb).GetList(strWhere3, str3); if (zy_nurse_orderrecord.STATUS_FALG != 4 && dt3.Rows.Count == 0) // update by heyan 2010.12.25 停嘱的不判断库存 { throw new Exception("药品【" + ordercontent + "】未找到,该药品可能已停用或已删除或库存为0,请检查药品字典!"); } presorder.ItemID = itemid; presorder.PackUnit = dt3.Rows[0]["packunit"].ToString(); presorder.Unit = dt3.Rows[0]["leastunit"].ToString(); presorder.RelationNum = Convert.ToDecimal(dt3.Rows[0]["packnum"].ToString()); presorder.Drug_Flag = 0; presorder.Buy_Price = Convert.ToDecimal(dt3.Rows[0]["buy_price"].ToString()); presorder.Sell_Price = Convert.ToDecimal(dt3.Rows[0]["sell_price"].ToString()); presorder.PresType = Zy_doc_orderrecord.ITEM_TYPE.ToString();//dt1.Rows[0]["item_type"].ToString(); presorder.Standard = dt3.Rows[0]["standard"].ToString(); presorder.ItemType = dt3.Rows[0]["STATITEM_CODE"].ToString(); decimal dose_num = Convert.ToDecimal(dt3.Rows[0]["dosenum"].ToString()); int pack_num = Convert.ToInt32(dt3.Rows[0]["packnum"].ToString()); bool float_flag = Convert.ToInt32(dt3.Rows[0]["float_flag"].ToString()) == 1 ? true : false; presorder.Amount = DrugAmoutCalculation.getlongAmout(float_flag, unit_type, item_type, execNum, dose_num, pack_num, first_time, last_time, num, pres_amount, presorder.PresDate, order_enddate, presorder.CostDate); int tempnum = Convert.ToInt32((presorder.Amount - (presorder.Amount % pack_num)) / pack_num); presorder.Tolal_Fee = tempnum * presorder.Sell_Price + ((presorder.Amount % pack_num) / pack_num) * presorder.Sell_Price; //插入费用表数据和结算表数据 presorder.Tolal_Fee = Convert.ToDecimal(presorder.Tolal_Fee.ToString("0.00")); BindEntity <ZY_PresOrder> .CreateInstanceDAL(oleDb).Add(presorder); //premaster.PatListID = presorder.PatListID; //premaster.PatID = presorder.PatID; //premaster.PresType = Convert.ToString(0); //BindEntity<ZY_PresMaster>.CreateInstanceDAL(oleDb).Add(premaster); //string strWhere7 = "presorderid=" + presorder.PresOrderID; //string updatefile = Tables.zy_presorder.PRESMASTERID + oleDb.EuqalTo() + premaster.PresMasterID; //BindEntity<HIS.Model.ZY_PresOrder>.CreateInstanceDAL(oleDb).Update(strWhere7, updatefile); return; }
public virtual void InsertComponentItemFee(int order_id, int item_id, DateTime server_datetime, ZY_DOC_ORDERRECORD zy_doc_orderrecord) { }
public override void Send(int orderid, DateTime servertime, ZY_DOC_ORDERRECORD zy_doc_orderrecord, List <int> grouplist) { DateTime currentTime = servertime; DateTime beginTime = zy_doc_orderrecord.ORDER_BDATE; DateTime finishTime = zy_doc_orderrecord.EORDER_DATE; int patlistid = zy_doc_orderrecord.PATID; OP_Order oporder = new OP_Order(); string strWhere = "date(costdate)='" + Convert.ToDateTime(currentTime.ToString("yyyy-MM-dd")) + "'" + oleDb.And() + Tables.zy_presorder.ORDER_ID + oleDb.EuqalTo() + orderid; bool existresult = BindEntity <ZY_PresOrder> .CreateInstanceDAL(oleDb).Exists(strWhere); if (existresult == false)//末次未执行,只执行停医嘱操作 { if (zy_doc_orderrecord.TEMINAL_TIMES != 0) { base.insertorderexec(orderid, base.Employeeid, servertime); base.updateLongOrderFlag(orderid); InsertItemFee(orderid, servertime, zy_doc_orderrecord); } else { base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); } } else//先执行正常频次,后执行停医嘱操作 { int firsttime = zy_doc_orderrecord.FIRSET_TIMES; int lasttimes = zy_doc_orderrecord.TEMINAL_TIMES; string frequency_time = XcConvert.IsNull(zy_doc_orderrecord.FREQUENCY, "Qd"); string strWhere6 = "name='" + frequency_time + "'"; string str6 = "execnum"; int execNum = Convert.ToInt32(BindEntity <HIS.Model.Base_Frequency> .CreateInstanceDAL(oleDb).GetFieldValue(str6, strWhere6)); if (beginTime.ToString("yyyy-MM-dd") == currentTime.ToString("yyyy-MM-dd") && finishTime.ToString("yyyy-MM-dd") == currentTime.ToString("yyyy-MM-dd"))//当天开当天停的特殊情况,正常频次不能执行 { if (firsttime == 0) { base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); } else { execNum = firsttime; string str = " date(costdate)='" + Convert.ToDateTime(currentTime.ToString("yyyy-MM-dd")) + "'" + oleDb.And() + Tables.zy_presorder.ORDER_ID + oleDb.EuqalTo() + orderid + oleDb.And() + Tables.zy_presorder.RECORD_FLAG + oleDb.EuqalTo() + 0 + oleDb.And() + Tables.zy_presorder.PATLISTID + oleDb.EuqalTo() + zy_doc_orderrecord.PATID; List <DateTime> datelist = new List <DateTime>(); List <ZY_PresOrder> zy_presorder = BindEntity <ZY_PresOrder> .CreateInstanceDAL(oleDb).GetListArray(str); for (int i = 0; i < zy_presorder.Count; i++) { List <int> presorderlist = new List <int>(); presorderlist.Add(zy_presorder[i].PresOrderID); datelist.Add(zy_presorder[i].CostDate); decimal amount = oporder.getsingleresult(presorderlist); if (execNum < lasttimes)//首次小于末次,补充数量 { decimal cancelamount = Math.Ceiling(amount * (execNum - lasttimes) / execNum); oporder.insertamountaccount(patlistid, presorderlist, datelist, cancelamount, currentTime); } else if (execNum > lasttimes)//首次大于末次,冲正数量 { decimal cancelamount = Math.Ceiling(amount * (execNum - lasttimes) / execNum); if (cancelamount > 0)//数量已冲完,过滤掉0数量自动冲,3月25日修改 { oporder.autocanamountaccount(patlistid, presorderlist, datelist, cancelamount, currentTime); } else { continue; } } else { base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); } } base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); } } else//非当天开当天停的情况 { if (execNum != lasttimes)//在正常频次和末次不相等的情况下,先充掉已执行的正常频率,再执行末次频率 { string str = " date(costdate)='" + Convert.ToDateTime(currentTime.ToString("yyyy-MM-dd")) + "'" + oleDb.And() + Tables.zy_presorder.ORDER_ID + oleDb.EuqalTo() + orderid + oleDb.And() + Tables.zy_presorder.RECORD_FLAG + oleDb.EuqalTo() + 0 + oleDb.And() + Tables.zy_presorder.PATLISTID + oleDb.EuqalTo() + patlistid; List <DateTime> datelist = new List <DateTime>(); List <ZY_PresOrder> zy_presorder = BindEntity <ZY_PresOrder> .CreateInstanceDAL(oleDb).GetListArray(str); for (int i = 0; i < zy_presorder.Count; i++) { List <int> presorderlist = new List <int>(); presorderlist.Add(zy_presorder[i].PresOrderID); datelist.Add(zy_presorder[i].CostDate); decimal amount = oporder.getsingleresult(presorderlist); if (execNum > lasttimes) { decimal cancelamount = Math.Ceiling(amount * (execNum - lasttimes) / execNum);//1月8日增加,修改冲正模式。 oporder.autocanamountaccount(patlistid, presorderlist, datelist, cancelamount, currentTime); } else { decimal cancelamount = Math.Ceiling(amount * (execNum - lasttimes) / execNum); oporder.insertamountaccount(patlistid, presorderlist, datelist, cancelamount, currentTime); } } base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); } else//在正常频次和末次相等的情况下,只修改医嘱执行状态,不做先充后执行操作 { base.updateLongOrderFlag(zy_doc_orderrecord.ORDER_ID); base.insertorderexec(zy_doc_orderrecord.ORDER_ID, base.Employeeid, servertime); } } } }