public static hjcfmx ToObject(DataRow row) { hjcfmx hjxm = new hjcfmx(); hjxm.hjmxid = new Guid(Convertor.IsNull(row["hjmxid"], Guid.Empty.ToString())); hjxm.pym = Convertor.IsNull(row["拼音码"], ""); hjxm.bm = Convertor.IsNull(row["编码"], ""); hjxm.pm = Convertor.IsNull(row["项目名称"], ""); hjxm.spm = Convertor.IsNull(row["商品名"], ""); hjxm.gg = Convertor.IsNull(row["规格"], ""); hjxm.cj = Convertor.IsNull(row["厂家"], ""); hjxm.dj = Convert.ToDecimal(Convertor.IsNull(row["单价"], "0")); hjxm.sl = Convert.ToDecimal(Convertor.IsNull(row["数量"], "0")); hjxm.dw = Convertor.IsNull(row["单位"], ""); hjxm.ydwbl = Convert.ToInt32(Convertor.IsNull(row["ydwbl"], "0")); hjxm.je = Convert.ToDecimal(Convertor.IsNull(row["金额"], "0")); hjxm.tjdxmdm = Convertor.IsNull(row["统计大项目"], ""); hjxm.xmid = Convert.ToInt64(Convertor.IsNull(row["项目id"], "0")); hjxm.tcid = Convert.ToInt32(Convertor.IsNull(row["套餐id"], "0")); hjxm.bzby = Convert.ToInt32(Convertor.IsNull(row["自备药"], "0")); hjxm.bpsbz = Convert.ToInt32(Convertor.IsNull(row["皮试标志"], "-1")); hjxm.pshjmxid = new Guid(Convertor.IsNull(row["pshjmxid"], Guid.Empty.ToString())); hjxm.yl = Convert.ToDecimal(Convertor.IsNull(row["剂量"], "0")); hjxm.yldw = Convertor.IsNull(row["剂量单位"], ""); hjxm.yldwid = Convert.ToInt32(Convertor.IsNull(row["剂量单位id"], "0")); hjxm.dwlx = Convert.ToInt32(Convertor.IsNull(row["dwlx"], "0")); hjxm.yfid = Convert.ToInt32(Convertor.IsNull(row["用法id"], "0")); hjxm.yfmc = Convert.ToString(Convertor.IsNull(row["用法"], "")); hjxm.pcid = Convert.ToInt32(Convertor.IsNull(row["频次id"], "0")); hjxm.pcmc = Convert.ToString(Convertor.IsNull(row["频次"], "")); hjxm.ts = Convert.ToDecimal(Convertor.IsNull(row["天数"], "1")); hjxm.zt = Convert.ToString(Convertor.IsNull(row["嘱托"], "")); hjxm.fzxh = Convert.ToInt32(Convertor.IsNull(row["处方分组序号"], "0")); hjxm.pxxh = Convert.ToInt32(Convertor.IsNull(row["排序序号"], "0")); hjxm.pfj = Convert.ToDecimal(Convertor.IsNull(row["批发价"], "0")); hjxm.pfje = Convert.ToDecimal(Convertor.IsNull(row["批发金额"], "0")); hjxm.yzid = Convert.ToInt64(Convertor.IsNull(row["yzid"], "0")); hjxm.yzmc = Convert.ToString(Convertor.IsNull(row["yzmc"], "")); return(hjxm); }
/// <summary> /// 保存申请 /// </summary> /// <param name="hjmx">要保存的申请</param> /// <param name="oldcfmx">原始处方明细,如果是新增,则为null</param> public void SaveSQ(hjcf cf, hjcfmx hjmx, DataTable oldcfmx) { yjxm yjxm = NewYJXM(hjmx.yzid); if (yjxm == null) { //不是医技类医嘱,不保存到医技申请表,但需要考虑如果是将原来的医技医嘱改为普通医嘱的情况,需要将原医技申请删除 if (cf.hjid != Guid.Empty && hjmx.hjmxid != Guid.Empty) { DataRow rowSQ = mzys_yjsq.GetYjsqInfo(cf.hjid, hjmx.hjmxid, hjmx.yzid, hjmx.tcid, database); if (rowSQ != null) { Guid YjsqId = new Guid(rowSQ["YJSQID"].ToString()); mzys_yjsq.DeleteDj(YjsqId, Guid.Empty, Guid.Empty, string.Empty, string.Empty, database); } } return; } yjxm._lczd = cf.zdmc; yjxm._sqnr = hjmx.yzmc; yjxm._sqrq = cf.cfrq; yjxm._sqr = cf.ysdm; yjxm._sqks = cf.ksdm; Guid _NewYjsqID = Guid.Empty; int _err_code = 0; string _err_text = ""; if (cf.hjid == Guid.Empty && hjmx.hjmxid == Guid.Empty) { //新开立的医技类医嘱 mzys_yjsq.Save(Guid.Empty, TrasenFrame.Forms.FrmMdiMain.Jgbm, cf.brxxid, cf.ghxxid, cf.jzid, cf.blh, yjxm._Djlx, yjxm._sqrq, yjxm._sqr, yjxm._sqks, yjxm._sqnr, hjmx.dj, hjmx.sl, hjmx.yldw.Trim(), hjmx.je, hjmx.pcmc, yjxm._bsjc, yjxm._lczd, cf.zxks, yjxm._bbmc, yjxm._zysx, yjxm._jjbz, cf.NewHjid, hjmx.yzid, hjmx.NewHjmxid, out _NewYjsqID, out _err_code, out _err_text, database); if (_NewYjsqID == Guid.Empty || _err_code != 0) { throw new Exception(_err_text); } } else if (cf.hjid != Guid.Empty) { //获取医技申请信息 DataRow rowSQ = mzys_yjsq.GetYjsqInfo(cf.hjid, hjmx.hjmxid, hjmx.yzid, hjmx.tcid, database); if (rowSQ != null) { Guid YjsqId = new Guid(rowSQ["YJSQID"].ToString()); long yyzxmid = Convert.ToInt64(rowSQ["YZXMID"]); //原医嘱项目ID if (hjmx.hjmxid == Guid.Empty) { mzys_yjsq.Save(Guid.Empty, TrasenFrame.Forms.FrmMdiMain.Jgbm, cf.brxxid, cf.ghxxid, cf.jzid, cf.blh, yjxm._Djlx, yjxm._sqrq, yjxm._sqr, yjxm._sqks, yjxm._sqnr, hjmx.dj, hjmx.sl, hjmx.yldw.Trim(), hjmx.je, hjmx.pcmc, yjxm._bsjc, yjxm._lczd, cf.zxks, yjxm._bbmc, yjxm._zysx, yjxm._jjbz, cf.NewHjid, hjmx.yzid, hjmx.NewHjmxid, out _NewYjsqID, out _err_code, out _err_text, database); if (_NewYjsqID == Guid.Empty || _err_code != 0) { throw new Exception(_err_text); } } else { //修改申请 if (hjmx.tcid == 0) { if (hjmx.yzid != yyzxmid) { //与原医嘱不同,则需要删除原申请 mzys_yjsq.DeleteDj(YjsqId, Guid.Empty, Guid.Empty, string.Empty, string.Empty, database); YjsqId = Guid.Empty; } mzys_yjsq.Save(YjsqId, TrasenFrame.Forms.FrmMdiMain.Jgbm, cf.brxxid, cf.ghxxid, cf.jzid, cf.blh, yjxm._Djlx, yjxm._sqrq, yjxm._sqr, yjxm._sqks, yjxm._sqnr, hjmx.dj, hjmx.sl, hjmx.yldw.Trim(), hjmx.je, hjmx.pcmc, yjxm._bsjc, yjxm._lczd, cf.zxks, yjxm._bbmc, yjxm._zysx, yjxm._jjbz, cf.NewHjid, hjmx.yzid, hjmx.NewHjmxid, out _NewYjsqID, out _err_code, out _err_text, database); if (_NewYjsqID == Guid.Empty || _err_code != 0) { throw new Exception(_err_text); } } else { } } } } }