Example #1
0
        public override string formatData(PM pm)
        {
            //反馈信息
            String result = String.Empty;
            String Empty = "NULL";
            XWLW_PM xwlw = (XWLW_PM)pm;

            xwlw.ds_bak = xwlw.ds;
            xwlw.ds = GlobalMethod.Semicolon(xwlw.ds);
            xwlw.zwztc = GlobalMethod.Semicolon(xwlw.zwztc);
            xwlw.ywztc = GlobalMethod.Semicolon(xwlw.ywztc);

            xwlw.zwztc = xwlw.zwztc.Replace(";;", ";");
            xwlw.ywztc = xwlw.ywztc.Replace(";;", ";");

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

            if (!xwlw.flbm.Equals("XW" + xwlw.fltx))
            {
                result += "分类编码和分类体系不匹配 ";
            }
            else if (xwlwDAO.GetXWLW_FLByFlbm(xwlw.flbm) == null)
            {
                result += "分类编码" + xwlw.flbm + "不存在 ";
            }

            if (Empty.Equals(xwlw.zwtm) && Empty.Equals(xwlw.ywtm))
            {
                result += "中文题名和英文题名都为空 ";
            }

            if (xwlw.nf == 0)
            {
                result += "年份为空 ";
            }

            if (hasFormatTable)
            {
                if (!result.Equals(String.Empty))
                {
                    result += pmKeyInfo(pm);
                }
                return result;
            }

            xwlw.wjm = "自动生成";
            xwlw.qw = "1";
            if (Empty.Equals(xwlw.ywjm))
            {
                xwlw.qw = "-1";
                result += "原文件名(PDF全文)为空 ";
            }
            else
            {
            #if nodef
                try
                {
                    if (!File.Exists(fileFolder + xwlw.ywjm))
                    {
                        String filePDF = fileFolder + xwlw.ywjm;

                        if (!Directory.Exists(Path.GetDirectoryName(filePDF)))
                            Directory.CreateDirectory(Path.GetDirectoryName(filePDF));

                        File.Copy(fileFolder + "exp.pdf", fileFolder + xwlw.ywjm);
                    }
                }
                catch
                {
                }
            #endif
                if (!File.Exists(fileFolder + "/" + xwlw.ywjm))
                {
                    xwlw.qw = "-1";
                    result += xwlw.ywjm + " PDF文件不存在 ";
                }
                else if (xwlw.ys == 0)
                {
                    try
                    {
                        pdf = new PdfReader(fileFolder + "/" + xwlw.ywjm);
                        if (null != pdf)
                        {
                            xwlw.ys = pdf.NumberOfPages;
                        }
                        else
                        {
                            xwlw.ys = 0;
                        }
                        pdf.Close();
                    }
                    catch
                    {
                        result += xwlw.ywjm + " PDF损坏 ";
                    }
                }
            }

            if (null != prevPM)
            {
                if (prevPM.sybm.Equals(xwlw.sybm) && prevPM.zz.Equals(xwlw.zz)
                    && prevPM.ds.Equals(xwlw.ds) && prevPM.zwtm.Equals(xwlw.zwtm)
                    && prevPM.lwjb.Equals(xwlw.lwjb))
                {
                    result += "篇名存在重复 ";
                    xwlw.isValid = false;
                }
            }

            prevPM = xwlw;

            if (!result.Equals(String.Empty))
            {
                result += pmKeyInfo(pm);
            }

            return result;
        }
Example #2
0
        protected override PM getPM(OleDbDataReader reader, out String err)
        {
            err = String.Empty;
            XWLW_PM pm = new XWLW_PM();
            if (hasFormatTable)
            {
                pm.flbm = reader["分类编码"].ToString().Trim();
                pm.sybm = reader["索引编码"].ToString().Trim();
                pm.wjm = reader["文件名"].ToString().Trim();
                pm.ywjm = reader["原文件名"].ToString().Trim();
                pm.zwtm = reader["中文题名"].ToString().Trim();
                pm.ywtm = reader["英文题名"].ToString().Trim();
                pm.zz = reader["作者"].ToString().Trim();
                pm.ds = reader["导师"].ToString().Trim();
                pm.lwjb = reader["论文级别"].ToString().Trim();
                pm.xkzymc = reader["学科专业名称"].ToString().Trim();
                pm.flh = reader["分类号"].ToString().Trim();
                pm.xwsydw = reader["学位授予单位"].ToString().Trim();

                try
                {
                    pm.ys = int.Parse(reader["页数"].ToString().Trim());
                }
                catch (Exception)
                {
                    pm.ys = 0;
                }

                try
                {
                    int index = pm.ywjm.LastIndexOf('/');
                    pm.nf = int.Parse(pm.ywjm.Substring(index + 1,4));
                }
                catch (Exception)
                {
                    pm.nf = 0;
                }

                try
                {
                    if (pm.nf == 0)
                        pm.nf = int.Parse(reader["年份"].ToString().Trim());
                }
                catch (Exception)
                {
                    pm.nf = 0;
                    err += "年份\"" + reader["年份"] + "\"不正确 ";
                }

                try
                {
                    if (!String.Empty.Equals(reader["论文提交日期"].ToString().Trim()))
                        pm.lwtjrq = DateTime.Parse(reader["论文提交日期"].ToString().Trim());
                }
                catch
                {
                    err += "论文提交日期\"" + reader["论文提交日期"] + "\"不正确 ";
                }

                try
                {
                    if (!String.Empty.Equals(reader["论文答辩日期"].ToString().Trim()))
                        pm.lwdbrq = DateTime.Parse(reader["论文答辩日期"].ToString().Trim());
                }
                catch
                {
                    err += "论文答辩日期\"" + reader["论文答辩日期"] + "\"不正确 ";
                }

                pm.zwztc = reader["中文关键词"].ToString().Trim();
                pm.zwzy = reader["中文摘要"].ToString().Trim();
                pm.fltx = reader["分类体系"].ToString().Trim();
                pm.ywzy = reader["英文摘要"].ToString().Trim();
                pm.ywztc = reader["英文关键词"].ToString().Trim();
                pm.ywjm = reader["原文件名"].ToString().Trim();
                try
                {
                    if (!String.Empty.Equals(reader["出版日期"].ToString().Trim()))
                        pm.cbrq = DateTime.Parse(reader["出版日期"].ToString().Trim());
                }
                catch
                {
                    err +="出版日期\"" + reader["出版日期"] + "\"不正确 ";
                }

                try
                {
                    if (!String.Empty.Equals(reader["学位授予日期"].ToString().Trim()))
                        pm.xwsyrq = DateTime.Parse(reader["学位授予日期"].ToString().Trim());
                }
                catch
                {
                    err += "学位授予日期\"" + reader["学位授予日期"] + "\"不正确 ";
                }

                //页数和更新日期忽略,自动填写
                pm.qw = reader["全文"].ToString().Trim();
            }
            else
            {
                pm.ywjm = reader["文件名"].ToString().Trim();

                try
                {
                    String xwnd = reader["学位年度"].ToString().Trim();
                    pm.nf = Int32.Parse(xwnd);
                }
                catch
                {
                    pm.nf = 0;
                }

                pm.zwtm = reader["中文题名"].ToString().Trim();
                pm.ywtm = reader["英文题名"].ToString().Trim();
                pm.zz = reader["作者"].ToString().Trim();
                pm.ds = reader["导师"].ToString().Trim();
                pm.lwjb = reader["论文级别"].ToString().Trim();
                pm.xkzymc = reader["学科专业名称"].ToString().Trim();
                pm.flh = reader["分类号"].ToString().Trim();

                /* 根据分类号生成"分类体系",分类编码,索引编码,文件名 */
                string[] flhs = pm.flh.Split(';');
                for (int i = 0; i < flhs.Length; i++)
                {
                    string flh = flhs[i];
                    if (flh.Length > 1)
                    {
                        if (flh[0] == 'O') pm.fltx = "QQ";
                        if (flh[0] == 'N') pm.fltx = "NN";
                        if (flh[0] == 'U') pm.fltx = "UU";
                        if (flh[0] == 'X') pm.fltx = "XX";

                        if (flh[0] == 'T') pm.fltx = flh.Substring(0, 2);
                    }

                    if (null != pm.fltx && !"".Equals(pm.fltx)) break;
                }

                if (!"".Equals(pm.fltx))
                {
                    pm.flbm = "XW" + pm.fltx;

                    if (pm.nf != 0)
                    {
                        pm.sybm = pm.flbm + "-" + pm.nf.ToString();
                    }
                }
                else
                {
                    err += "根据分类号未能找到分类体系 ";
                }

                pm.xwsydw = reader["学位授予单位"].ToString().Trim();
                pm.zwztc = reader["中文关键词"].ToString().Trim();
                pm.zwzy = reader["中文摘要"].ToString().Trim();
                pm.ywzy = reader["英文摘要"].ToString().Trim();
                pm.ywztc = reader["英文关键词"].ToString().Trim();

                try
                {
                    pm.pc = int.Parse(reader["批次"].ToString().Trim());
                }
                catch
                {
                    pm.pc = 1;
                }

                /* 页数 */
                try
                {
                    pm.ys = Int32.Parse(reader["页数"].ToString().Trim());
                }
                catch { pm.ys = 0; }

                /* 论文答辩日期、论文提交日期, 学位授予日期 */
                string dateStr = reader["论文答辩日期"].ToString().Trim();
                try
                {
                    if (!"".Equals(dateStr))
                        pm.lwdbrq = DateTime.Parse(dateStr);
                }
                catch { }

                dateStr = reader["论文提交日期"].ToString().Trim();
                try
                {
                    if (!"".Equals(dateStr))
                        pm.lwtjrq = DateTime.Parse(dateStr);
                }
                catch { }

                dateStr = reader["学位授予日期"].ToString().Trim();
                try
                {
                    if (!"".Equals(dateStr))
                        pm.xwsyrq = DateTime.Parse(dateStr);
                }
                catch { }

                /* 出版日期:出版年+期 */
                String cbn = reader["出版年"].ToString().Trim();
                string cbq = reader["期"].ToString().Trim();

                dateStr = cbn + "-" + cbq + "-01";
                try
                {
                    pm.cbrq = DateTime.Parse(dateStr);
                }
                catch { }
            }

            if (!err.Equals(String.Empty)) err += pmKeyInfo(pm);

            /* 更新日期,登录人 */
            pm.gxrq = DateTime.Now;
            pm.dlr = user.name;

            pm.fillEmptyStringAsNull();
            return pm;
        }
Example #3
0
        /// <summary>
        /// 生成日志信息
        /// </summary>
        /// <param name="xwlwPM">中文篇名信息</param>
        /// <param name="opType">操作类型</param>
        /// <param name="uname">用户名</param>
        /// <returns></returns>
        private OperationLogItem GetOperationLogItem(XWLW_PM xwlwPM, String opType, String uname)
        {
            if (null == xwlwPM)
            {
                return null;
            }

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

            operationLogItem.opObjectID = "学位论文";
            // 操作涉及的书刊
            operationLogItem.opBookIn = "学位论文";

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

            //操作的内容
            String content = "('" + xwlwPM.flbm + "','" + xwlwPM.sybm + "','" + xwlwPM.wjm + "','" + xwlwPM.ywjm + "','" + xwlwPM.zwtm + "','" + xwlwPM.ywtm + "','"  + xwlwPM.zz + "','" + xwlwPM.ds + "','" + xwlwPM.lwjb + "','" + xwlwPM.xkzymc + "','" + xwlwPM.flh + "','" + xwlwPM.xwsydw + "','" + xwlwPM.lwtjrq + "','" + xwlwPM.lwdbrq+ "','" +xwlwPM.xwsyrq + "','" + xwlwPM.zwztc + "','" + xwlwPM.zwzy + "','" + xwlwPM.ywztc + "','" + xwlwPM.ywzy + "','" + xwlwPM.fltx + "','" + xwlwPM.nf + "','" + xwlwPM.cbrq + "','" + xwlwPM.ys + "','" + xwlwPM.gxrq + "','" + xwlwPM.qw + "')";
            operationLogItem.opContent = content;
            return operationLogItem;
        }
Example #4
0
 /// <summary>
 /// 更新一条篇名信息
 /// </summary>
 /// <param name="xwlw_pm">要更新的篇名信息</param>
 /// <param name="uname">操作用户名</param>
 /// <returns></returns>
 public Boolean UpdateXWLW_PM(XWLW_PM xwlw_pm, String uname)
 {
     Boolean flag = true;
     int back=sqlMapper.Update("UpdateXWLW_PM", xwlw_pm);
     if (back <= 0)
     {
         flag = false;
     }
     if (flag)
     {
         OperationLogItem operationLog = this.GetOperationLogItem(xwlw_pm, "UPDATE", uname);
         this.operationLogDAO.insertLogItem(operationLog);
     }
     return flag;
 }
Example #5
0
 /// <summary>
 /// 插入一条篇名信息
 /// </summary>
 /// <param name="xwlw_pm">篇名信息</param>
 /// <returns></returns>
 public Boolean InsertXWLW_PM(XWLW_PM xwlw_pm)
 {
     Boolean flag = true;
     OperationLogItem operationLog = this.GetOperationLogItem(xwlw_pm, "INSERT", xwlw_pm.dlr);
     try
     {
         sqlMapper.Insert("InsertXWLW_PM", xwlw_pm);
         this.operationLogDAO.insertLogItem(operationLog);
     }
     catch (Exception)
     {
         flag = false;
     }
     return flag;
 }
Example #6
0
    /// <summary>
    /// 获取用户填写的学位论文篇名信息
    /// </summary>
    /// <returns></returns>
    private XWLW_PM GetXWLW_PM()
    {
        XWLW_PM xwlwPM = new XWLW_PM();
        //分类编码
        xwlwPM.flbm = this.flbmTextBox.Text;
        //索引编码
        xwlwPM.sybm = this.sybmTextBox.Text;

        //文件名
        xwlwPM.wjm = this.wjmTextBox.Text;
        //原文件名
        xwlwPM.ywjm = this.ywjmFileUpload.FileName;
        //中文题名
        xwlwPM.zwtm = this.zwtmTextBox.Text.Trim();
        //英文题名
        xwlwPM.ywjm = this.ywtmTextBox.Text.Trim();
        //作者
        xwlwPM.zz = this.zzTextBox.Text.Trim();
        //导师
        xwlwPM.ds = this.dsTextBox.Text.Trim();
        //论文级别
        xwlwPM.lwjb = this.lwjbTextBox.Text.Trim();
        //学科专业名称
        xwlwPM.xkzymc= this.xkzymcTextBox.Text.Trim();
        //分类号
        xwlwPM.flh = this.flhTextBox.Text.Trim();

        //学位授予单位
        xwlwPM.xwsydw = this.xwsydwTextBox.Text.Trim();
        //论文提交日期
        xwlwPM.lwtjrq = DateTime.Parse(this.lwtjrqTextBox.Text);
        //论文答辩日期
        xwlwPM.lwdbrq = DateTime.Parse(this.lwdbrqTextBox.Text);
        //学位授予日期
        xwlwPM.xwsyrq = DateTime.Parse(this.xwsyrqTextBox.Text);
        //中文主题词
        xwlwPM.zwztc = this.zwztcTextBox.Text.Trim();
        //中文摘要
        xwlwPM.zwzy = this.zwzyTextBox.Text.Trim();
        //英文主题词
        xwlwPM.ywztc = this.ywztcTextBox.Text.Trim();
        //英文摘要
        xwlwPM.ywzy = this.ywzyTextBox.Text.Trim();
        //年份
        xwlwPM.nf = Int32.Parse(this.nfTextBox.Text);
        //出版日期
        xwlwPM.cbrq = DateTime.Parse(this.cbrqTextBox.Text);
        //页数
        xwlwPM.ys = Int32.Parse(this.ysHiddenField.Value);
        //更新日期
        try
        {
            xwlwPM.gxrq = DateTime.Parse(this.gxrqTextBox.Text.Trim());
        }
        catch
        {
            xwlwPM.gxrq = DateTime.Now;
        }

        //全文
        xwlwPM.qw = "1";
        //登录人
        xwlwPM.dlr = this.dlrTextBox.Text;

        return xwlwPM;
    }
Example #7
0
 /// <summary>
 /// 插入一条篇名信息
 /// </summary>
 /// <param name="xwlw_pm">篇名信息</param>
 /// <returns></returns>
 public Boolean InsertXWLW_PM(XWLW_PM xwlw_pm)
 {
     Boolean flag = true;
     OperationLogItem operationLog = this.GetOperationLogItem(xwlw_pm, "INSERT", xwlw_pm.dlr);
     sqlMapper.Insert("InsertXWLW_PM", xwlw_pm);
     this.operationLogDAO.insertLogItem(operationLog);
     return flag;
 }