📄 c_fjcuploadprocess.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 + -