1. 程式人生 > >兩個任務的總結

兩個任務的總結

lena ava folder 重命名 web mkdir count() ice 使用

1.在制定路徑下添加文件夾並命名

package com.efounder.finereport.plugin;

import com.efounder.bz.service.ServicePluginAdapter;
import com.efounder.mdm.server.MDMContext;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

import com.core.xml.StubObject;
import com.efounder.builder.base.data.EFDataSet;
import com.efounder.builder.base.data.EFRowSet;
import com.efounder.builder.base.util.ESPContext;
import com.efounder.builder.base.util.ESPServerContext;
import com.efounder.builder.config.ConfigDataManager;
import com.efounder.builder.meta.MetaDataManager;
import com.efounder.builder.meta.dctmodel.DCTMetaData;
import com.efounder.bz.service.ServicePluginAdapter;
import com.efounder.db.DBTools;
import com.efounder.dbc.data.DataItem;
import com.efounder.eai.EAI;
import com.efounder.eai.data.JParamObject;
import com.efounder.eai.data.JResponseObject;
import com.efounder.eai.service.dal.DBUtils;
import com.efounder.mdm.EFMDMDataModel;
import com.efounder.mdm.server.MDMContext;
import com.efounder.mdm.server.resolver.util.DICTSaveDataUtils;
import com.efounder.sql.JConnection;
import com.pansoft.esp.datamanager.pub.DictUtilClt;
import com.pansoft.esp.datamanager.server.creater.CreaterUtil;
import com.pansoft.esp.datamanager.server.creater.plugin.CreateContext;
public class FineReportModuleProcessPlugins extends ServicePluginAdapter {
public FineReportModuleProcessPlugins(){

}
public Object processMDMLoader(MDMContext mdmContext,EFMDMDataModel mdmDataModel) throws Exception {
// 獲取元數據
DCTMetaData dctMetaData = mdmContext.getDCTMetaData();
if ( dctMetaData == null ) return null;
JParamObject PO = mdmContext.getParamObject();
EFDataSet updateDataSet = mdmDataModel.getDataSet(mdmDataModel.getDCT_ID()+"_UPDATE");
EFDataSet insertDataSet = mdmDataModel.getDataSet(mdmDataModel.getDCT_ID()+"_INSERT");
EFDataSet deleteDataSet = mdmDataModel.getDataSet(mdmDataModel.getDCT_ID()+"_DELETE");
// updateFlie(updateDataSet);
insertFlie(insertDataSet);
deleteFlie(deleteDataSet); //兩個方法,方法不能寫在方法裏面,但是可以通過傳遞方法名與參數調用方法
return null;
}
//重命名
public static void updateFlie(EFDataSet updateDataSet){
String fileName="";
for(int i=0;i<updateDataSet.getRowCount();i++){
EFRowSet rowset = updateDataSet.getRowSet(i); //.getRowSet(i),遍歷一下
fileName = rowset.getString("MODULE_BH", "");
//得到enterprisesever
String eaiRoot = EAI.LocalUserHome; //得到根節點也就是enterprisesever
//創建斜杠
String Separator = System.getProperty("file.separator");
if (eaiRoot.endsWith("/") || eaiRoot.endsWith("\\")) {
eaiRoot = eaiRoot.substring(0, eaiRoot.length() - 1);
eaiRoot = eaiRoot + Separator + "WEB-INF" + Separator + "reportlets"; //enterprisesever/WEB-INF/reportlets

}
File file = new File(eaiRoot);
if (file.exists()) {
file.renameTo(new File(fileName));
}
}
}

//新建
public static boolean insertFlie(EFDataSet insertDataSet){
String fileName="";
for(int i=0;i<insertDataSet.getRowCount();i++){
EFRowSet rowset = insertDataSet.getRowSet(i);
fileName = rowset.getString("MODULE_BH", "");
String eaiRoot = EAI.LocalUserHome;
String Separator = System.getProperty("file.separator");
if (eaiRoot.endsWith("/") || eaiRoot.endsWith("\\")) {
eaiRoot = eaiRoot.substring(0, eaiRoot.length() - 1);
eaiRoot = eaiRoot + Separator + "WEB-INF" + Separator + "reportlets";
}
File file = new File(eaiRoot+Separator+fileName); //註意這種寫法,
//如果文件夾不存在則創建
if(!file.exists()&&!file.isDirectory()){
file .mkdir(); //創建文件夾的時候廢了大勁了,就是這麽一句話file .mkdir();
}else {
System.out.println("//目錄存在");
}
}
return false;
}

//刪除
public static boolean deleteFlie(EFDataSet deleteDataSet){
String fileName="";
boolean flag=false;
for(int i=0;i<deleteDataSet.getRowCount();i++){
EFRowSet rowset = deleteDataSet.getRowSet(i);
fileName = rowset.getString("MODULE_BH", ""); //getString(key),得到key的值
}
String eaiRoot = EAI.LocalUserHome;
String Separator = System.getProperty("file.separator");
if (eaiRoot.endsWith("/") || eaiRoot.endsWith("\\")) {
eaiRoot = eaiRoot.substring(0, eaiRoot.length() - 1);
eaiRoot = eaiRoot + Separator + "WEB-INF" + Separator + "reportlets";

}
File file = new File(eaiRoot+Separator+fileName);
// 路徑為文件且不為空則進行刪除
if (file.isDirectory() && file.exists()) {
file.delete();
flag = true;
}
return flag;
}

}

------------------------------------------------------------------------------------------------------------------------------------------------------

2.檢索出該人名下對應的模塊(不同的人有不同的模塊)

package com.efounder.finereport.server;

import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.efounder.eai.EAI;
import com.efounder.eai.data.JParamObject;
import com.efounder.eai.data.JResponseObject;
import com.efounder.eai.framework.JActiveObject;
import com.efounder.sql.JConnection;


public class ESPFineReportDAL extends JActiveObject {
private static final String GUID = "ESPFineReportDAL";


public ESPFineReportDAL() {
setObjectGUID(GUID);
}

/**
* 獲取某個文件夾下的子文件夾
*
* @param o1
* @param o2
* @param o3
* @param o4
* @return
* @throws Exception
*/


public Object getChildFolder(Object o1, Object o2, Object o3, Object o4) throws Exception {
JParamObject PO = (JParamObject)o1;
String userName = PO.GetValueByParamName("UserName");
List moduleList = processModule(PO,userName); //從下面的方法傳過來的,方法名和參數
JResponseObject RO = new JResponseObject();
List list = new ArrayList();
String eaiRoot = EAI.LocalUserHome;
if (eaiRoot.endsWith("/") || eaiRoot.endsWith("\\")) {
eaiRoot = eaiRoot.substring(0, eaiRoot.length() - 1);
}
String Separator = System.getProperty("file.separator");
eaiRoot = eaiRoot + Separator + "WEB-INF" + Separator + "reportlets"
+ Separator;
File file = new File(eaiRoot);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isDirectory()&&moduleList.contains(tempList[i])) {
System.out.println(tempList[i].getName());
list.add(tempList[i].getName());
}
}
RO.setResponseObject(list);
return RO;
}
private List processModule(JParamObject PO, String userName) throws Exception {
JConnection conn = JConnection.getInstance(PO);
List Modulelist = new ArrayList();
try {
String sql = "select MODULE_ID from FR_RY_MODULE_GXB WHERE MODULE_BH=userName";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql); //註意這裏,以後能用到
while (rs.next()) {
String Namelist = rs.getString("MODULE_ID");
Modulelist.add(Namelist);
}
conn.close(); //關閉數據庫連接
} catch (SQLException e) {
System.out.println("查詢數據失敗");
}
return Modulelist; //只有return了Modulelist,前面才能使用
}


}

兩個任務的總結