/// <summary> /// 这里均为套用前面的设备折旧的保存 /// </summary> /// <param name="dao"></param> /// <param name="data"></param> /// <returns></returns> bool saveRunDetail(YiTian.db.Dao dao, YtService.data.OptData data) { List <Dictionary <string, object> > XiList = ObjConvert.GetParamsByStr(data.Param["XmlDataList"].ToString()); Opt opt2 = OptContent.get("SaveEQDepreciationDetailInfo_EQDepreciation"); foreach (Dictionary <string, object> d in XiList) { d["CARDID"] = d["卡片ID"]; d["TOTALZJ"] = d["累计折旧"]; d["MONTHZJ"] = d["本月折旧"]; d["TOTALWORK"] = d["总工作量"]; d["TOTALEDWORK"] = d["累计工作量"]; d["MONTHWORK"] = d["本月工作量"]; d["MEMO"] = d["备注"]; d["CHOSCODE"] = data.Param["CHOSCODE"]; d["USERID"] = data.Param["USERID"]; d["USERNAME"] = data.Param["USERNAME"]; d["RECDATE"] = DateTime.Now; //全部为新增过来的折旧ID(固定一个) d["DEPREID"] = data.Param["DEPREID"]; if (DaoTool.Save(dao, opt2, d) < 0) { throw new Exception("新增折旧明细失败!" + dao.ErrMsg); } //这里对这些新增的卡片折旧进行数据更新[可能存在原本的折旧,工作量为空的情况] //if ((d["TOTALEDWORK"] != null || !d["TOTALEDWORK"].ToString().Equals("")) && (d["TOTALZJ"] != null || d["TOTALZJ"].ToString().Equals(""))) if ((!d["TOTALEDWORK"].ToString().Equals("")) && (!d["TOTALZJ"].ToString().Equals(""))) { // MessageBox.Show("1 全部不为null"); dao.ExecuteNonQuery("UPDATE LKEQ.EQCARDREC SET TOTALZJ=TOTALZJ +" + Convert.ToDouble(d["MONTHZJ"]) + " ,TOTALEDWORK=TOTALEDWORK + " + Convert.ToDouble(d["MONTHWORK"]) + " WHERE CARDID=" + d["CARDID"].ToString() + " AND CHOSCODE=" + d["CHOSCODE"].ToString()); } if ((!d["TOTALEDWORK"].ToString().Equals("")) && (d["TOTALZJ"].ToString().Equals(""))) { // MessageBox.Show("2 折旧为null"); dao.ExecuteNonQuery("UPDATE LKEQ.EQCARDREC SET TOTALZJ=" + Convert.ToDouble(d["MONTHZJ"]) + " ,TOTALEDWORK=TOTALEDWORK + " + Convert.ToDouble(d["MONTHWORK"]) + " WHERE CARDID=" + d["CARDID"].ToString() + " AND CHOSCODE=" + d["CHOSCODE"].ToString()); } if ((d["TOTALEDWORK"].ToString().Equals("")) && (!d["TOTALZJ"].ToString().Equals(""))) { // MessageBox.Show("3 工作量为null"); dao.ExecuteNonQuery("UPDATE LKEQ.EQCARDREC SET TOTALZJ=TOTALZJ +" + Convert.ToDouble(d["MONTHZJ"]) + " ,TOTALEDWORK=" + Convert.ToDouble(d["MONTHWORK"]) + " WHERE CARDID=" + d["CARDID"].ToString() + " AND CHOSCODE=" + d["CHOSCODE"].ToString()); } if ((d["TOTALEDWORK"].ToString().Equals("")) && (d["TOTALZJ"].ToString().Equals(""))) { // MessageBox.Show("4 全部为null"); dao.ExecuteNonQuery("UPDATE LKEQ.EQCARDREC SET TOTALZJ=" + Convert.ToDouble(d["MONTHZJ"]) + " ,TOTALEDWORK= " + Convert.ToDouble(d["MONTHWORK"]) + " WHERE CARDID=" + d["CARDID"].ToString() + " AND CHOSCODE=" + d["CHOSCODE"].ToString()); } } return(true); }
bool saveRunDetail(YiTian.db.Dao dao, YtService.data.OptData data) { List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(data.Param["DanJuMx"].ToString()); Opt opt2 = OptContent.get("SaveEQOutDetailInfo"); foreach (Dictionary <string, object> d in mxli) { //d["DETAILNO"] = DaoTool.Seq(dao, "LKWZ.SEQWZInDetail"); d["OUTID"] = data.Param["OUTID"]; d["EQID"] = d["设备ID"]; d["UNITCODE"] = d["单位编码"]; d["GG"] = d["规格"]; d["XH"] = d["型号"]; d["CD"] = d["产地"]; d["NUM"] = d["数量"]; d["PRICE"] = d["单价"]; d["MONEY"] = d["金额"]; d["OTHERMONEY"] = d["运杂费"]; d["TOTALPRICE"] = d["成本单价"]; d["TOTALMONEY"] = d["成本金额"]; d["SUPPLYID"] = d["生产厂家ID"]; d["SUPPLYNAME"] = d["生产厂家"]; d["STOCKFLOWNO"] = d["库存流水号"]; d["PRODUCTDATE"] = Convert.ToDateTime(d["生产日期"]); d["VALIDDATE"] = Convert.ToDateTime(d["有效期"]); d["MEMO"] = d["备注"]; d["TXM"] = d["条形码"]; d["CHOSCODE"] = data.Param["CHOSCODE"]; if (!d["流水号"].ToString().Equals("")) { d["DETAILNO"] = d["流水号"].ToString(); if (DaoTool.Update(dao, opt2, d) < 0) { throw new Exception("保存单据明细失败!"); } } else { d["DETAILNO"] = DaoTool.Seq(dao, "LKEQ.SEQEQOutDetail"); if (DaoTool.Save(dao, opt2, d) < 0) { throw new Exception("保存单据明细失败!"); } } } return(true); }
bool savePlanDetail(YiTian.db.Dao dao, YtService.data.OptData data) { List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(data.Param["DanJuMx"].ToString()); Opt opt2 = OptContent.get("SaveEQPlanDetailInfo"); foreach (Dictionary <string, object> d in mxli) { //d["DETAILNO"] = DaoTool.Seq(dao, "LKWZ.SEQWZInDetail"); d["PLANID"] = data.Param["PLANID"]; d["APPLYID"] = d["请购ID"]; d["EQID"] = d["设备ID"]; d["EQNAME"] = d["设备名称"]; d["GG"] = d["规格"]; d["XH"] = d["型号"]; d["XH"] = d["型号"]; d["COUNTRY"] = d["国别"]; d["UNITCODE"] = d["单位编码"]; d["NOWNUM"] = d["当前库存数量"]; d["NUM"] = d["采购数量"]; d["PRICE"] = d["采购单价"]; d["MONEY"] = d["采购金额"]; d["SCS"] = d["生产商"]; d["GYS"] = d["供应商"]; d["MEMO"] = d["备注"]; d["TXM"] = d["条形码"]; d["CHOSCODE"] = data.Param["CHOSCODE"]; d["STOCKFLOWNO"] = d["对应的库存流水表的流水号"]; if (!d["行号"].ToString().Equals("")) { d["ROWNO"] = d["行号"].ToString(); if (DaoTool.Update(dao, opt2, d) < 0) { throw new Exception("保存单据明细失败!"); } } else { object rw = dao.Es(OptContent.get("EQGetROWNO").Sql, new object[] { data.Param["PLANID"] }); //data.Param["ROWNO"] = Convert.ToDecimal(rw) + 1; d["ROWNO"] = Convert.ToDecimal(rw) + 1; if (DaoTool.Save(dao, opt2, d) < 0) { throw new Exception("添加单据明细失败!"); } } } return(true); }
public object Run(YiTian.db.Dao dao, YtService.data.OptData data, out string msg) { string A = data.Sql; msg = ""; if ("Del".Equals(A)) { object p = dao.ExecuteScalar("select count(*) num from 用户表 where fixedflag=0 and cHosCode = '" + data.Param["choscode"] + "'"); if (p != null && int.Parse(p.ToString()) > 0) { throw new Exception("当前医疗机构已被使用,不能删除!"); } object p2 = dao.ExecuteScalar("select count(*) num from sysdicthospital where parenthoscode = '" + data.Param["choscode"] + "'"); if (p2 != null && int.Parse(p2.ToString()) > 0) { throw new Exception("当前医疗机构还有子机构,不能删除!"); } if (dao.ExecuteNonQuery("DELETE FROM sysdicthospital WHERE cHosCode='" + data.Param["choscode"] + "'") < 0) { throw new Exception("删除医疗机构失败!"); } //msg = "删除成功完成!"; } else if ("SaveNHFare".Equals(A)) //保存农合诊疗及药品字典 { List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["nhdatamx"].ToString())); Opt NhZLData = OptContent.get("nh_FareZLDict"); Opt NhYPData = OptContent.get("nh_FareYPDict"); if (mxli == null || mxli.Count == 0) { throw new Exception("无农合费用字典明细!"); } string vchoscode = data.Param["cHosCode"].ToString(); int rank = int.Parse(data.Param["rank"].ToString()); if (dao.ExecuteNonQuery("DELETE FROM 农合药品表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("删除农合药品数据出错!"); } if (dao.ExecuteNonQuery("DELETE FROM 农合项目表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("删除农合项目数据出错!"); } foreach (Dictionary <string, object> pa in mxli) { pa["rank"] = rank; pa["cHosCode"] = vchoscode; if (pa["农合类别"].ToString().Equals("02") || pa["农合类别"].ToString().Equals("09")) { if (DaoTool.Save(dao, NhYPData, pa) < 0) { throw new Exception("保存农合费用字典药品明细失败!"); } } else { if (pa["农合类别"].ToString().Equals("05") || pa["农合类别"].ToString().Equals("10")) { if (DaoTool.Save(dao, NhYPData, pa) < 0) { throw new Exception("保存农合费用字典药品明细失败!"); } } if (DaoTool.Save(dao, NhZLData, pa) < 0) { throw new Exception("保存农合费用字典诊疗明细失败!"); } } } } else if ("SaveICD10".Equals(A)) //保存农合疾病字典 { List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["icd10"].ToString())); Opt NhicdData = OptContent.get("nh_saveICDDict"); if (mxli == null || mxli.Count == 0) { throw new Exception("无农合疾病字典明细!"); } dao.ExecuteNonQuery("truncate table 农合疾病表"); //永远返回-1 foreach (Dictionary <string, object> pa in mxli) { if (DaoTool.Save(dao, NhicdData, pa) < 0) { throw new Exception("保存农合疾病字典失败!"); } } dao.ExecuteNonQuery("update 农合疾病表 t set t.orderid=(select ordid from jb where 编码=t.农合编码) where exists(select * from jb where 编码=t.农合编码)"); } else if ("SaveSS".Equals(A)) //保存农合手术字典 { List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["SS"].ToString())); Opt NhicdData = OptContent.get("nh_saveSSDict"); if (mxli == null || mxli.Count == 0) { throw new Exception("无农合手术字典明细!"); } dao.ExecuteNonQuery("truncate table 农合手术表"); foreach (Dictionary <string, object> pa in mxli) { if (DaoTool.Save(dao, NhicdData, pa) < 0) { throw new Exception("保存农合手术字典失败!"); } } } else if ("CheckNHFare".Equals(A)) //保存并进行核对农合费用项目 { List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["nhdatamx"].ToString())); Opt NhZLData = OptContent.get("nh_FareZLDict"); Opt NhYPData = OptContent.get("nh_FareYPDict"); if (mxli == null || mxli.Count == 0) { throw new Exception("无农合费用字典明细!"); } string vchoscode = data.Param["cHosCode"].ToString(); int rank = int.Parse(data.Param["rank"].ToString()); if (dao.ExecuteNonQuery("DELETE FROM 农合药品表BK WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("删除农合药品BK数据出错!"); } if (dao.ExecuteNonQuery("DELETE FROM 农合项目表BK WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("删除农合项目BK数据出错!"); } if (dao.ExecuteNonQuery("Insert into 农合药品表BK(农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode) " + "Select 农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode from 农合药品表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("插入农合药品BK数据出错!"); } if (dao.ExecuteNonQuery("Insert into 农合项目表BK(农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode) " + "Select 农合编码,农合名称,农合类别,保内外,报补比例,单位,rank,updatetime,基药标志,cHosCode from 农合项目表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("插入农合项目BK数据出错!"); } if (dao.ExecuteNonQuery("DELETE FROM 农合药品表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("删除农合药品数据出错!"); } if (dao.ExecuteNonQuery("DELETE FROM 农合项目表 WHERE cHosCode='" + vchoscode + "' and RANK=" + rank) < 0) { throw new Exception("删除农合项目数据出错!"); } foreach (Dictionary <string, object> pa in mxli) { pa["rank"] = rank; pa["cHosCode"] = vchoscode; if (pa["农合类别"].ToString().Equals("02") || pa["农合类别"].ToString().Equals("09")) { if (DaoTool.Save(dao, NhYPData, pa) < 0) { throw new Exception("保存农合费用字典药品明细失败!"); } } else { if (pa["农合类别"].ToString().Equals("05") || pa["农合类别"].ToString().Equals("10")) { if (DaoTool.Save(dao, NhYPData, pa) < 0) { throw new Exception("保存农合费用字典药品明细失败!"); } } if (DaoTool.Save(dao, NhZLData, pa) < 0) { throw new Exception("保存农合费用字典诊疗明细失败!"); } } } } else if ("getLog".Equals(A)) //生成日志数据 { dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_SaveNHChangeFareLog('" + data.Param["cHosCode"].ToString() + "' ," + data.Param["rank"].ToString() + "); end;"); dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_CheckNHFareDict('" + data.Param["cHosCode"].ToString() + "' ," + data.Param["rank"].ToString() + "); end;"); // throw new Exception("生成农合更新日志失败!"); } else if ("SavejmFare".Equals(A)) //保存安顺地区城镇医保费用目录 { List <Dictionary <string, object> > mxli = ObjConvert.GetParamsByStr(StringZip.Decompress(data.Param["datamx"].ToString())); Opt fareData = OptContent.get("jm_savefareDict"); if (mxli == null || mxli.Count == 0) { throw new Exception("无居保目录明细!"); } if (dao.ExecuteNonQuery("delete 地区居保目录 where choscode='" + data.Param["cHosCode"].ToString() + "'") < 0) { throw new Exception("保存费用目录失败del!"); } string bm; foreach (Dictionary <string, object> pa in mxli) { bm = pa["大类编码"].ToString(); if (bm.Equals("81")) { pa["ypflag"] = 1; } else if (bm.Equals("11") || bm.Equals("12") || bm.Equals("13")) { pa["ypflag"] = 2; } else { pa["ypflag"] = 0; } pa["拼音码"] = pa["拼音码"].ToString().ToLower(); pa["choscode"] = data.Param["cHosCode"].ToString(); if (DaoTool.Save(dao, fareData, pa) < 0) { throw new Exception("保存居保目录明细失败!"); } } } else if ("dictcopy".Equals(A)) //机构字典相互复制 { if (dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_jgDictCopy('" + data.Param["fromHosCode"].ToString() + "' ,'" + data.Param["toHosCode"].ToString() + "' ,'" + data.Param["ypflag"].ToString() + "' ,'" + data.Param["nhcode"].ToString() + "'); end;") < 0) { if (dao.ErrMsg != null) { throw new Exception(dao.ErrMsg); } } } else if ("delyw".Equals(A)) //业务数据删除 { if (dao.ExecuteNonQuery(" begin PCK_HisCommUse.sp_clearData('" + data.Param["choscode"].ToString() + "'," + data.Param["flag"].ToString() + "); end;") < 0) { if (dao.ErrMsg != null) { throw new Exception(dao.ErrMsg); } } } else if ("delypdict".Equals(A)) //药品字典删除 { object p = dao.ExecuteScalar("select count(*) num from 库存药品 where cHosCode = " + data.Param["choscode"].ToString()); if (p != null && int.Parse(p.ToString()) > 0) { throw new Exception("当前医疗还有库存药品业务数据,不能直接删除字典!"); } if (dao.ExecuteNonQuery("delete 药品字典表 where choscode='" + data.Param["choscode"].ToString() + "'") < 0) { throw new Exception("药品字典删除失败!"); } } else if ("setFlag".Equals(A)) //设置机构提示信息 { if (dao.ExecuteNonQuery(" update sysdicthospital set flag=" + data.Param["flag"].ToString() + ",LICENCE='" + data.Param["info"].ToString() + "' where CHOSCODE='" + data.Param["cHosCode"].ToString() + "'") < 0) { if (dao.ErrMsg != null) { throw new Exception(dao.ErrMsg); } } } return("ok"); }