⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read

📁 一个真实项目的源代码。有一个比较优秀的时间类
💻
字号:
package com.zx.gwgl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;

import com.work.db.*;
import com.work.exception.OurException;

public class ShouWenDjTask {

	/**
	 * 为了实现发文流程中的数据自动登记;<br>
	 * 实现思路:首先将发文流程中的数据从zx_fawen表中查询出来,
	 * 然后插入到表zx_fawendj中去,同时将zx_fawen表中符合条件记录的sfygd设置为1
	 * 
	 * @return
	 */
	public void shouWenDj() throws OurException{

		String fawenSql = "select swsj as rq," + // 日期 收文时间
				"wenhao as lwzh," + // 来文字号 文号
				"lwjg ," + // 来文机关 来文机关
				"cwrq," + // 成文日期 成文日期
				"ys," + // 页数 页数
				"wjbt," + // 文件标题 文件标题
				"swbh," + // 收文编号 收文编号
				"'' as sjr," + // 收件人 手工录入,默认为空字符串
				"id as sw_id " + // 系统id 对应一个流程实例编号(就是zx_shouwen的id)
				"from zx_shouwen " + "where sfygd=0";
		List srcList = DbUtil.executeQueryList(fawenSql);
		if(srcList == null ){
			System.out.println("没有需要归档的收文流程记录。");
			return ;
		}
		
		int LEN = srcList.size(); //需要登记的收文流程记录数;
		System.out.println("归档收文流程的记录数为:"+LEN+"条。");
		String djSql = "insert into zx_shouwendj "
				+ "(rq,lwzh,lwjg.cwrq,ys,wjbt,swbh,sjr,sw_id) values (?,?,?,?,?,?,?,?,?)";
		String sfygdSql = "update zx_shouwendj set sfygd=1 where sw_id =? "; //更新发文流程中对应的记录数
		String rq = "";
		String lwzh ="";
		String lwjg ="";
		String cwrq ="";
		int ys =0;
		
		String wjbt ="";		
		String swbh = "";
		String sjr="";
		String sw_id = "";		
		
		Connection conn = DbConnection.getConn();
		if(conn == null ) 
			throw new OurException("获取数据库连接失败!");
		PreparedStatement pst = null;
		PreparedStatement pst2 = null;
		try{
			conn.setAutoCommit(false);
			pst  = conn.prepareStatement(djSql);
			pst2  = conn.prepareStatement(sfygdSql);
			for(int i=0;i<LEN;i++){
				HashMap map = (HashMap)srcList.get(i);
				rq = (String)map.get("rq");
				lwzh = (String)map.get("lwzh");
				lwjg = (String)map.get("lwjg");
				cwrq = (String)map.get("cwrq");				
				ys = ((Integer)map.get("ys")).intValue(); 
	
				
				wjbt = (String)map.get("wjbt");				
				swbh = (String)map.get("swbh");
				sjr = (String)map.get("sjr");
				sw_id = (String)map.get("sw_id");
				
				pst.setString(1,rq);
				pst.setString(2,lwzh);
				pst.setString(3,lwjg);
				pst.setString(4,cwrq);
				pst.setInt(5,ys);
				
				pst.setString(6,wjbt);
				pst.setString(7,swbh);
				pst.setString(8,sjr);
				pst.setString(9,sw_id);
				
				pst2.setString(1,sw_id);
				
			}
			int result = pst.executeUpdate();
			int result2 = pst2.executeUpdate();
			//将已经归档的zx_shouwen中对应的记录设置sfygd为1
			conn.commit();
			
			System.out.println("共"+result+"条收文流程记录登记成功!共"+result2+"条收文流程记录设置登记标志成功!");			
			if(result ==result2){
				System.out.println("成功的自动登记了"+result+"条收文!");
			}else{
				conn.rollback();
				throw new OurException("由于登记了"+result+"记录,更新了"+result2+"条记录!所以登记失败!" +
						"估计是记录数目太多,超出了PreparedStatement的缓存数!");
			}
		
		}catch(SQLException e){
			try {
				conn.rollback();
			} catch (SQLException e1) {
				e1.printStackTrace();
			}
//			String temp =" select swsj as rq,wenhao as lwzh,lwjg ,cwrq,ys,wjbt,swbh,'' as sjr," +
//					"id as sw_id ,0 as sfygd from zx_shouwen where sfygd=0";
			throw new OurException("收文流程自动登记执行失败!请通知管理员!",e);
			
		}finally{
			DbUtil.closeStatement(pst2);
			DbUtil.closeStatement(pst);
			DbUtil.closeConnection(conn);
		}
		

	}

}
// 收文流程中的数据登记()
//
// 日期 收文时间
// 来文字号 文号
// 来文机关 来文机关
// 成文日期 成文日期
// 页数 页数
// 文件标题 文件标题
// 收文编号 收文编号
// 收件人 手工录入
// 系统id 对应一个流程实例编号(就是zx_shouwen的id)
//
// 然后将zx_shouwen中的是否预归档置为1
//
// insert into zx_shouwendj (rq,lwzh,lwjg.cwrq,ys,wjbt,swbh,sjr,sw_id)
//
// values (select swsj,wenhao,lwjg,cwrq,ys,wjbt,swbh,'',id from zx_shouwen where
// sfygd=0)
//
//
// insert into zx_shouwendj
// select swsj as rq,wenhao as lwzh,lwjg ,cwrq,ys,wjbt,swbh,'' as sjr,id as
// sw_id ,0 as sfygd
// from zx_shouwen where sfygd=0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -