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

📄 c_fjcuploadprocess.java

📁 文件上传的源码!希望能给大家一点帮助
💻 JAVA
字号:
package com.suyuannet.sycb.business.handset;

import java.sql.Date;
import java.util.ArrayList;
import java.util.Calendar;

import org.apache.struts.upload.FormFile;

import com.suyuannet.sycb.business.BaseUnLoggedProcess;
import com.suyuannet.sycb.business.exception.BusinessException;
import com.suyuannet.sycb.common.CommonFile;
import com.suyuannet.sycb.common.DataBean;
import com.suyuannet.sycb.common.PubFunc;
import com.suyuannet.sycb.db.base.DAOFactory;
import com.suyuannet.sycb.db.base.IObjectDAOTemplate;
import com.suyuannet.sycb.db.exception.DBException;
import com.suyuannet.sycb.db.vo.CjdataVO;
import com.suyuannet.sycb.db.vo.Lc_zc_dataVO;
import com.suyuannet.sycb.db.vo.UserinfoVO;

/**
 *<b>ClassName</b><br>
 *	C_FJCUploadProcess
 *<br><br>
 *<b>Function</b>
 *	非集抄上下装
 *<br>
 *@copyright	SuYuanNet
 *@author		<a href="mailto:flyfox37@hotmail.com">starsky</a>
 *@date			2005-05-19
 *@since		JDK 1.4
 */

public class C_FJCUploadProcess extends BaseUnLoggedProcess {
	
	public void doProcess(DataBean dataBean) throws BusinessException {
			
		FormFile upLoadFile = (FormFile)dataBean.getParameter("upLoadFile");
		String userid = (String)dataBean.getParameter("userid");
		String unitid = (String)dataBean.getParameter("unitid");
		String filename = (String)dataBean.getParameter("filename");
		String filetype = filename.substring(filename.indexOf(".")+1).toLowerCase();
		String fileMode = (String)dataBean.getParameter("fileMode");	//文件来源方式 , 1:非集抄,2:非集抄-补抄
		
		String rootPath = "D:\\SYCB\\";	
//		String rootPath = (String)dataBean.getParameter("rootPath") + "\\";		
				
		String flag = "0";
		PubFunc pf = PubFunc.getInstance();
		Date now = pf.getCurrentDate();		
		Calendar cl = Calendar.getInstance();
		cl.setTime(now);
		String outPutFileName = "";
	
		outPutFileName += cl.get(Calendar.YEAR);
		outPutFileName += (cl.get(Calendar.MONTH)+1); 
		outPutFileName += cl.get(Calendar.DAY_OF_MONTH);	
		outPutFileName += cl.get(Calendar.HOUR_OF_DAY);
		outPutFileName += cl.get(Calendar.MINUTE);
		outPutFileName += cl.get(Calendar.SECOND);
	
		//上传文件
		CommonFile cf = CommonFile.getInstance();
		String result =	cf.uploadFiles(upLoadFile,"txt",true,rootPath,outPutFileName,userid,unitid,fileMode,"2");
		if (result!=null && !result.equals(""))
			flag = "0";		  //上传成功
		else
			flag = "1";			//上传失败
		
		//写入数据库
		ArrayList list = new ArrayList();
		if (flag.equals("0")){
			DAOFactory a = DAOFactory.getInstance();
			IObjectDAOTemplate idao = null;
			try {
					//非集抄上装,非集抄补抄上装
					list = cf.getFileInfo(result , "," , fileMode , filetype , userid);
					if (list != null && list.size()>0) {
						/**因为非集抄上装,非集抄补抄上装数据中缺少电表的一些信息,所以到 userinfo 表中先查出来*/
						ArrayList listuserVO =new ArrayList();
						CjdataVO vo;						
						UserinfoVO uvo;						
						idao = a.getEntityObject("UserinfoDAO");
						idao.setConn(this.getConn());	
						for (int i=0;i<list.size();i++) {
							uvo = new UserinfoVO();
							vo = (CjdataVO)list.get(i);
							uvo.setBh(vo.getBh());
							UserinfoVO temp = (UserinfoVO)idao.findByPK(uvo);
							if (temp!=null)		//如果有这块电表的表信息
								listuserVO.add(temp);
							else
								listuserVO.add(uvo);
						}
						
						idao = a.getEntityObject("CjdataDAO");	//入抄见数据库
						idao.setConn(this.getConn());												
						for (int i=0;i<list.size();i++) {
							vo = (CjdataVO)list.get(i);
							vo.setJzqaddress(((UserinfoVO)(listuserVO.get(i))).getJzqno());		//集中器
							vo.setCjqaddress(((UserinfoVO)(listuserVO.get(i))).getCjqno());
							vo.setSegmentid(((UserinfoVO)(listuserVO.get(i))).getSegmentid());
							vo.setGateid(((UserinfoVO)(listuserVO.get(i))).getGateid());
							CjdataVO temp = (CjdataVO)idao.findByPK(vo);
							if (temp==null) {				//如果抄见表中不存在这条数据
								idao.insertBase(vo);
							} else {
								String lock = temp.getLock()==null?"":temp.getLock();
								if (!lock.equals("1")) {		//如果抄见表中该条数据未禁止覆盖锁定
									if (filetype.equals("txt")) {
										temp.setBh(vo.getBh());
										temp.setJzqaddress(vo.getJzqaddress());
										temp.setCjqaddress(vo.getCjqaddress());
										temp.setGateid(vo.getGateid());
										temp.setTotalquantity(vo.getTotalquantity());
										temp.setHighquantity(vo.getHighquantity());
										temp.setNormalquantity(vo.getNormalquantity());
										temp.setLowerquantity(vo.getLowerquantity());
										temp.setExecdate(vo.getExecdate());
									} else {			
									}
									idao.updateBase(temp);
								}
							}
						}
						/**修改电表状态*/
						ArrayList listAmm = cf.getAmmeters();						
						idao = a.getEntityObject("UserinfoDAO");	//入抄见数据库
						idao.setConn(this.getConn());						
						for (int i=0;i<listAmm.size();i++) {
							uvo = (UserinfoVO)listAmm.get(i);
							UserinfoVO temp = (UserinfoVO)idao.findByPK(uvo);
							if (temp!=null) {
								temp.setFaultstatus(uvo.getFaultstatus());
								temp.setRunstatus(uvo.getRunstatus());
								temp.setAccountstatus(uvo.getAccountstatus());
								idao.updateBase(temp);
							}
						}
					} else {
						flag = "3";		//文件解析错误	
					} 	
				
			} catch(DBException e) {
				flag = "2";
				throw (new BusinessException(e));
			}		 
		}
			
		dataBean.setParameter("flag",flag);	
	}
}

⌨️ 快捷键说明

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