/// <summary> /// 打印药库入库单汇总表 /// </summary> /// <param name="path">路径</param> /// <param name="inMasterDt">入库单头表</param> /// <param name="billTime">单据时间</param> /// <param name="deptId">部门ID</param> /// <param name="printer">打印人员ID</param> static public void PringInStoreTotal(string path, DataTable inMasterDt, string billTime, int deptId, int printer) { try { decimal xy_RetailFee = 0, zcy_RetailFee = 0, zy_RetailFee = 0, xy_TradeFee = 0, zcy_TradeFee = 0, zy_TradeFee = 0, wz_RetailFee = 0, wz_TradeFee = 0; decimal xy_RetailFee1 = 0, zcy_RetailFee1 = 0, zy_RetailFee1 = 0, xy_TradeFee1 = 0, zcy_TradeFee1 = 0, zy_TradeFee1 = 0, wz_RetailFee1 = 0, wz_TradeFee1 = 0; int supportId = 0; string supportName = ""; report = new grproLib.GridppReport(); report.LoadFromFile(path); report.ParameterByName("HospitalName").AsString = HIS.SYSTEM.BussinessLogicLayer.Classes.BaseData.WorkName + "入库单汇总"; if (inMasterDt != null) { if (inMasterDt.Rows.Count >= 1) { report.ParameterByName("BillTime").AsString = Convert.ToDateTime(inMasterDt.Rows[0]["AUDITTIME"]).ToString() + "到" + Convert.ToDateTime(inMasterDt.Rows[inMasterDt.Rows.Count - 1]["AUDITTIME"]).ToString(); } else { report.ParameterByName("BillTime").AsString = billTime; } report.ParameterByName("BillCount").AsString = inMasterDt.Rows.Count.ToString(); for (int index = 0; index < inMasterDt.Rows.Count; index++) { DataRow currentRow = inMasterDt.Rows[index]; int masterId = Convert.ToInt32(currentRow["MASTERINSTORAGEID"]); if (supportId != Convert.ToInt32(currentRow["SUPPORTDICID"])) { supportId = Convert.ToInt32(currentRow["SUPPORTDICID"]); string currentSupporter = BindEntity <HIS.Model.YP_SupportDic> .CreateInstanceDAL(oleDb, BLL.Tables.YP_SUPPORTDIC).GetModel(supportId).Name; if (supportName.IndexOf(currentSupporter + ",") == -1) { supportName += currentSupporter + ","; } } //加载类型汇金额总表 DataTable typeFeeDt = BillQuery.LoadTotalFeeByInOrder(masterId); DataTable outFeeDt = BillQuery.LoadTotalFeeByOutOrder(masterId); //按类型累加各单据批发金额和零售金额(入库) for (int temp = 0; temp < typeFeeDt.Rows.Count; temp++) { DataRow typeFeeRow = typeFeeDt.Rows[temp]; if (typeFeeRow["TypeDicID"] != DBNull.Value) { int typeId = Convert.ToInt32(typeFeeRow["TypeDicID"]); switch (typeId) { case 1: xy_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]); xy_TradeFee += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; case 2: zcy_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]); zcy_TradeFee += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; case 3: zy_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]); zy_TradeFee += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; case 4: wz_RetailFee += Convert.ToDecimal(typeFeeRow["RetailFee"]); wz_TradeFee += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; default: break; } } } //按类型累加各单据批发金额和零售金额(退库) //update by heyan 增加退库汇总信息 for (int temp = 0; temp < outFeeDt.Rows.Count; temp++) { DataRow typeFeeRow = outFeeDt.Rows[temp]; if (typeFeeRow["TypeDicID"] != DBNull.Value) { int typeId = Convert.ToInt32(typeFeeRow["TypeDicID"]); switch (typeId) { case 1: xy_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]); xy_TradeFee1 += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; case 2: zcy_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]); zcy_TradeFee1 += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; case 3: zy_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]); zy_TradeFee1 += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; case 4: wz_RetailFee1 += Convert.ToDecimal(typeFeeRow["RetailFee"]); wz_TradeFee1 += Convert.ToDecimal(typeFeeRow["TradeFee"]); break; default: break; } } } } //报表参数赋值 report.ParameterByName("SupportName").AsString = supportName; report.ParameterByName("TradeFee").AsString = (xy_TradeFee + zcy_TradeFee + zy_TradeFee + wz_TradeFee).ToString("0.00"); report.ParameterByName("DiffFee").AsString = (xy_RetailFee + zcy_RetailFee + zy_RetailFee + wz_RetailFee - xy_TradeFee - zcy_TradeFee - zy_TradeFee - wz_TradeFee).ToString("0.00"); report.ParameterByName("RetailFee").AsString = (xy_RetailFee + zcy_RetailFee + zy_RetailFee + wz_RetailFee).ToString("0.00"); report.ParameterByName("RetailFee_XY").AsString = xy_RetailFee.ToString("0.00"); report.ParameterByName("RetailFee_ZCY").AsString = zcy_RetailFee.ToString("0.00"); report.ParameterByName("RetailFee_ZY").AsString = zy_RetailFee.ToString("0.00"); report.ParameterByName("RetailFee_WZ").AsString = wz_RetailFee.ToString("0.00"); report.ParameterByName("TradeFee_XY").AsString = xy_TradeFee.ToString("0.00"); report.ParameterByName("TradeFee_ZCY").AsString = zcy_TradeFee.ToString("0.00"); report.ParameterByName("TradeFee_ZY").AsString = zy_TradeFee.ToString("0.00"); report.ParameterByName("TradeFee_WZ").AsString = wz_TradeFee.ToString("0.00"); report.ParameterByName("DiffFee_XY").AsString = (xy_RetailFee - xy_TradeFee).ToString("0.00"); report.ParameterByName("DiffFee_ZCY").AsString = (zcy_RetailFee - zcy_TradeFee).ToString("0.00"); report.ParameterByName("DiffFee_ZY").AsString = (zy_RetailFee - zy_TradeFee).ToString("0.00"); report.ParameterByName("DiffFee_WZ").AsString = (wz_RetailFee - wz_TradeFee).ToString("0.00"); report.ParameterByName("DeptName").AsString = BaseData.GetDeptName(deptId.ToString()); report.ParameterByName("Printer").AsString = BaseData.GetUserName(printer); report.ParameterByName("PrintTime").AsDateTime = HIS.SYSTEM.PubicBaseClasses.XcDate.ServerDateTime; report.ParameterByName("TradeFee1").AsString = (xy_TradeFee1 + zcy_TradeFee1 + zy_TradeFee1 + wz_TradeFee1).ToString("0.00"); report.ParameterByName("DiffFee1").AsString = (xy_RetailFee1 + zcy_RetailFee1 + zy_RetailFee1 + wz_RetailFee1 - xy_TradeFee1 - zcy_TradeFee1 - zy_TradeFee1 - wz_TradeFee1).ToString("0.00"); report.ParameterByName("RetailFee1").AsString = (xy_RetailFee1 + zcy_RetailFee1 + zy_RetailFee1 + wz_RetailFee1).ToString("0.00"); report.ParameterByName("RetailFee_XY1").AsString = xy_RetailFee1.ToString("0.00"); report.ParameterByName("RetailFee_ZCY1").AsString = zcy_RetailFee1.ToString("0.00"); report.ParameterByName("RetailFee_ZY1").AsString = zy_RetailFee1.ToString("0.00"); report.ParameterByName("RetailFee_WZ1").AsString = wz_RetailFee1.ToString("0.00"); report.ParameterByName("TradeFee_XY1").AsString = xy_TradeFee1.ToString("0.00"); report.ParameterByName("TradeFee_ZCY1").AsString = zcy_TradeFee1.ToString("0.00"); report.ParameterByName("TradeFee_ZY1").AsString = zy_TradeFee1.ToString("0.00"); report.ParameterByName("TradeFee_WZ1").AsString = wz_TradeFee1.ToString("0.00"); report.ParameterByName("DiffFee_XY1").AsString = (xy_RetailFee1 - xy_TradeFee1).ToString("0.00"); report.ParameterByName("DiffFee_ZCY1").AsString = (zcy_RetailFee1 - zcy_TradeFee1).ToString("0.00"); report.ParameterByName("DiffFee_ZY1").AsString = (zy_RetailFee1 - zy_TradeFee1).ToString("0.00"); report.ParameterByName("DiffFee_WZ1").AsString = (wz_RetailFee1 - wz_TradeFee1).ToString("0.00"); report.PrintPreview(false); } } catch (Exception error) { throw error; } }