Exemplo n.º 1
0
        protected override PM getPM(OleDbDataReader reader, out String err)
        {
            err = String.Empty;
            NYBG_PM pm = new NYBG_PM();
            if (hasFormatTable)
            {
                pm.flbm = reader["分类编码"].ToString().Trim();
                pm.sybm = reader["索引编码"].ToString().Trim();
                pm.oldWjm = pm.wjm = reader["文件名"].ToString().Trim();

                pm.bgmc = reader["报告名称"].ToString().Trim();

                try
                {
                    pm.ys = int.Parse(reader["页数"].ToString());
                }
                catch (Exception)
                {
                    pm.ys = 0;
                    err += "报告名称《" + pm.bgmc + "》: 页数\"" + reader["页数"] + "\"出错,置为0\n";
                }

                try
                {
                    pm.nf = int.Parse(reader["年份"].ToString());
                }
                catch (Exception)
                {
                    pm.nf = 0;
                    err += "报告名称《" + pm.bgmc + "》: 年份\"" + reader["年份"] + "\"出错,置为0\n";
                }

                try
                {
                    if (String.Empty.Equals(reader["出版日期"].ToString().Trim()))
                    {
                        //err += "报告名称《" + pm.bgmc + "》 : 出版日期为空\n";
                        pm.cbrq = DateTime.Parse(pm.nf.ToString() + "/1/1");
                    }
                    else
                        pm.cbrq = DateTime.Parse(reader["出版日期"].ToString().Trim());
                }
                catch
                {
                    err += "报告名称《" + pm.bgmc + "》 : 出版日期\"" + reader["出版日期"] + "\"出错\n";
                }

                pm.zz = reader["作者"].ToString().Trim();
                pm.zzdw = reader["作者单位"].ToString().Trim();
                pm.zbdw = reader["主办单位"].ToString().Trim();
                pm.ztc = reader["主题词"].ToString().Trim();
                pm.wz = reader["文摘"].ToString().Trim();
                pm.bgh = reader["报告号"].ToString().Trim();
                pm.fltx = reader["分类体系"].ToString().Trim();
                pm.zfl = reader["子分类"].ToString().Trim();
                pm.wxbh = reader["文献编号"].ToString().Trim();
                pm.ywjm = reader["原文件名"].ToString().Trim();
            }
            else
            {
                String subject = reader["Subject"].ToString().Trim();
                //根据subject获得分类编码、索引编码
                String year = reader["PY"].ToString().Trim();
                try
                {
                    pm.nf = int.Parse(year);
                }
                catch
                {
                    pm.nf = 0;
                    err += "报告名称《" + pm.bgmc + "》: 年份\"" + reader["年份"] + "\"出错,置为0\n";
                }

                if (null != flList)
                {
                    pm.flbm = GetFlbmByBZ(subject);
                    if (!"".Equals(pm.flbm))
                    {
                        pm.sybm = pm.flbm + "-" + year;
                    }
                }

                pm.bgmc = reader["Title"].ToString().Trim();

                if (pm.flbm.Equals(""))
                {
                    err += "未能找到对应分类编码 " + pmKeyInfo(pm);
                }

                try
                {
                    DateTime dt = DateTime.Parse(reader["Pubdate"].ToString().Trim());
                    pm.cbrq = DateTime.Parse(dt.ToString("yyyy-MM-dd"));
                }
                catch
                {
                    pm.cbrq = DateTime.Parse(year + "/1/1");
                }

                pm.zz = reader["Authors"].ToString().Trim();
                pm.zzdw = reader["Organ"].ToString().Trim();

                pm.zbdw = "";//TODO: 待定
                pm.ztc = reader["Keywords"].ToString().Trim();
                pm.wz = reader["Abstract"].ToString().Trim();
                pm.bgh = reader["ReportNum"].ToString().Trim();

                //根据分类编码得出分类体系、子分类
                pm.fltx = GetFltxByFlbm(pm.flbm);
                pm.zfl = pm.fltx;

                pm.wxbh = reader["Explain"].ToString().Trim();
                String ywjm = reader["NewsNUM"].ToString().Trim();
                String mulu = reader["Mulu"].ToString().Trim();

                pm.ywjm = mulu + ywjm + ".pdf";
                pm.qw = true;
            }

            pm.dlr = user.name;
            pm.gxrq = DateTime.Now;

            pm.fillEmptyStringAsNull();

            return pm;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 生成日志信息
        /// </summary>
        /// <param name="nybgPM">中文篇名信息</param>
        /// <param name="opType">操作类型</param>
        /// <param name="uname">用户名</param>
        /// <returns></returns>
        private OperationLogItem GetOperationLogItem(NYBG_PM nybgPM, String opType, String uname)
        {
            if (null == nybgPM)
            {
                return null;
            }

            OperationLogItem operationLogItem = new OperationLogItem();
            //操作类型
            operationLogItem.opType = opType;
            //数据库表
            operationLogItem.opTable = "NYBG_PM";
            //全文页数
            operationLogItem.opPageCount =nybgPM.ys;

            operationLogItem.opObjectID = "考察报告";
            // 操作涉及的书刊
            operationLogItem.opBookIn = "考察报告";

            // 时间
            operationLogItem.opDate = DateTime.Now;
            // 操作员
            operationLogItem.opPerson = uname;
            //记录操作模式,判断是否属于批量操作。取值范围SINGLE/BATCH。
            operationLogItem.opMode = "SINGLE";

            //操作的内容
            String content = "('" + nybgPM.flbm + "','" + nybgPM.sybm + "','" + nybgPM.wjm + "','" + nybgPM.ywjm + "','" + nybgPM.ys + "','" + nybgPM.bgmc + "','" + nybgPM.nf + "','" + nybgPM.cbrq + "','" + nybgPM.zz + "','" + nybgPM.zzdw + "','" + nybgPM.zbdw + "','" + nybgPM.ztc + "','" + nybgPM.wz + "','" + nybgPM.bgh + "','" + nybgPM.fltx +"','"+ nybgPM.zfl + "','" + nybgPM.wxbh + "','" + nybgPM.qw +"','"+ nybgPM.gxrq + "','" + nybgPM.dlr  + "')";
            operationLogItem.opContent = content;
            return operationLogItem;
        }
Exemplo n.º 3
0
 /// <summary>
 /// 更新一条篇名信息
 /// </summary>
 /// <param name="nybg_pm">要更新的篇名信息</param>
 /// <param name="uname">操作用户名</param>
 /// <returns></returns>
 public Boolean UpdateNYBG_PM(NYBG_PM nybg_pm, String uname)
 {
     Boolean flag = true;
     int back = sqlMapper.Update("UpdateNYBG_PM", nybg_pm);
     if (back <= 0)
     {
         flag = false;
     }
     if (flag)
     {
         OperationLogItem operationLog = this.GetOperationLogItem(nybg_pm, "UPDATE", uname);
         this.operationLogDAO.insertLogItem(operationLog);
     }
     return flag;
 }
Exemplo n.º 4
0
 /// <summary>
 /// 插入一条篇名信息
 /// </summary>
 /// <param name="NYBG_pm">篇名信息</param>
 /// <returns></returns>
 public Boolean InsertNYBG_PM(NYBG_PM NYBG_pm)
 {
     Boolean flag = true;
     OperationLogItem operationLog = this.GetOperationLogItem(NYBG_pm, "INSERT", null);
     try
     {
         sqlMapper.Insert("InsertNYBG_PM", NYBG_pm);
         this.operationLogDAO.insertLogItem(operationLog);
     }
     catch (Exception)
     {
         flag = false;
     }
     return flag;
 }
Exemplo n.º 5
0
    /// <summary>
    /// 获取用户填写的能源报告告篇名信息
    /// </summary>
    /// <returns></returns>
    private NYBG_PM GetNYBGPM()
    {
        NYBG_PM nybgPM = new NYBG_PM();
        //索引编码
        nybgPM.sybm = this.sybmTextBox.Text;
        //分类编码
        nybgPM.flbm = this.flbmTextBox.Text;
        //文件名
        nybgPM.wjm = this.wjmTextBox.Text;
        //原文件名
        nybgPM.ywjm = this.ywjmFileUpload.FileName;
        //页数
        nybgPM.ys =Int32.Parse(this.ysHiddenField.Value) ;
        //报告名称
        nybgPM.bgmc = this.bgmcTextBox.Text.Trim();
        //年份
        nybgPM.nf = Int32.Parse(this.nfTextBox.Text);
        //出版日期
        nybgPM.cbrq = DateTime.Parse(this.cbrqTextBox.Text);
        //作者
        nybgPM.zz = this.zzTextBox.Text.Trim();
        //作者单位
        nybgPM.zzdw = this.zzdwTextBox.Text.Trim();
        //主办单位
        nybgPM.zbdw= this.zbdwTextBox.Text.Trim();

        //主题词
        nybgPM.ztc = this.ztcTextBox.Text;
        //文摘
        nybgPM.wz = this.wzTextBox.Text;

        //报告号
        nybgPM.bgh = this.bghTextBox.Text;

        //分类体系
        nybgPM.fltx = this.fltxTextBox.Text.Trim();
        //子分类
        nybgPM.zfl = this.zflTextBox.Text.Trim();
        //文献编号
        nybgPM.wxbh =this.wxbhTextBox.Text.Trim();
        //页数
        nybgPM.ys = Int32.Parse(this.ysHiddenField.Value);
        //全文
        nybgPM.qw = true;
        //更新日期
        try
        {
            nybgPM.gxrq = DateTime.Parse(this.gxrqTextBox.Text.Trim());
        }
        catch
        {
            nybgPM.gxrq = DateTime.Now;
        }
        //登录人
        nybgPM.dlr = this.dlrTextBox.Text;

        return nybgPM;
    }
Exemplo n.º 6
0
 /// <summary>
 /// 插入一条篇名信息
 /// </summary>
 /// <param name="NYBG_pm">篇名信息</param>
 /// <returns></returns>
 public void InsertNYBG_PM(NYBG_PM NYBG_pm)
 {
     OperationLogItem operationLog = this.GetOperationLogItem(NYBG_pm, "INSERT", null);
     sqlMapper.Insert("InsertNYBG_PM", NYBG_pm);
     this.operationLogDAO.insertLogItem(operationLog);
 }