package cn.ksource.web.service.file;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.apache.commons.lang.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.WebUtil;
|
|
@Service("fileService")
|
public class FileServiceImpl implements FileService {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Override
|
public List<Map> getFileList(String business_id) {
|
String sql = "select * from GG_FILES where DEL_FLAG =1 AND BUSINESS_ID=:BUSINESS_ID order by ORDERNUM";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("BUSINESS_ID",business_id));
|
return list;
|
}
|
|
|
public List<Map> getFileListByType(String business_id,String type) {
|
String sql = "select * from CMS_ATTACHEMENTS where NEWS_ID=:BUSINESS_ID AND TYPE = :type";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("BUSINESS_ID",business_id).addValue("type", type));
|
return list;
|
}
|
|
@Override
|
public List<Map> getFileList(String business_id, int extend_level) {
|
String sql = "select * from GG_FILES where DEL_FLAG =1 \n";
|
if (extend_level == 1) {
|
sql += " and EXTEND1=:BUSINESS_ID \n";
|
}
|
if (extend_level == 2) {
|
sql += " and EXTEND2=:BUSINESS_ID \n";
|
}
|
if (extend_level == 3) {
|
sql += " and EXTEND3=:BUSINESS_ID \n";
|
}
|
sql += " order by ORDERNUM";
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("BUSINESS_ID",business_id));
|
for(Map map:list){
|
String m=StringUtil.getFileSize(Double.parseDouble(map.get("FILE_SIZE")+""));
|
map.put("FILE_SIZE_M", m);
|
}
|
|
return list;
|
}
|
|
@Override
|
public List<Map> uploadFile(Map<String,String> params) {
|
String business_id = params.get("business_id");
|
String extend_1business_id = params.get("extend_1business_id");
|
String extend_2business_id = params.get("extend_2business_id");
|
String extend_3business_id = params.get("extend_3business_id");
|
String userId = params.get("userId");
|
String userName = params.get("userName");
|
|
String file_id = params.get("fileId");
|
String ext_name = params.get("fileExt");
|
//String field_name = request.getParameterValues("FIELD_NAME");
|
String file_path = params.get("filePath");
|
String file_size = params.get("fileSize");
|
String file_name = params.get("fileName");
|
String file_type = params.get("fileType");
|
|
|
//String file_note = request.getParameterValues("FILE_NOTE");
|
|
List<Map> fileList = new ArrayList<Map>();
|
baseDao.execute("delete from GG_FILES where BUSINESS_ID=:BUSINESS_ID ", new SqlParameter("BUSINESS_ID",business_id));
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
String sql = "insert into GG_FILES(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,BUSINESS_ID,ORDERNUM,EXTEND1,EXTEND2,EXTEND3,CREATE_TIME,DEL_FLAG,USER_ID,USER_NAME,FILE_TYPE)" +
|
"values(:ID,:FILE_NAME,:FILE_PATH,:FILE_SIZE,:FILE_FORMAT,:BUSINESS_ID,:ORDERNUM,:EXTEND1,:EXTEND2,:EXTEND3,:CREATE_TIME,1,:USER_ID,:USER_NAME,:FILE_TYPE)";
|
if (ext_name != null && file_path!=null
|
&& file_name != null ) {
|
String[] file_ids = file_id.split(",");
|
String[] ext_names = ext_name.split(",");
|
//String[] field_names = request.getParameterValues("FIELD_NAME");
|
String[] file_paths = file_path.split(",");
|
String[] file_sizes = file_size.split(",");
|
String[] file_names = file_name.split(",");
|
String[] file_types = file_type.split(",");
|
//String[] file_notes = request.getParameterValues("FILE_NOTE");
|
Long create_time = DateUtil.getCurrentDate14();
|
for (int i = 0; i < file_names.length; i++) {
|
Map map = new HashMap();
|
if(file_ids.length > i){
|
map.put("ID", StringUtils.defaultIfEmpty(file_ids[i], StringUtil.getUUID()));
|
}else{
|
map.put("ID", StringUtil.getUUID());
|
}
|
map.put("FILE_NAME", file_names[i]);
|
map.put("FILE_PATH", file_paths[i]);
|
map.put("FILE_SIZE", file_sizes[i]);
|
map.put("FILE_FORMAT", ext_names[i]);
|
if(file_types[i].equals("blank")){
|
map.put("FILE_TYPE", "");
|
}else{
|
map.put("FILE_TYPE", file_types[i]);
|
}
|
|
map.put("BUSINESS_ID", business_id);
|
map.put("ORDERNUM", i);
|
//map.put("FILE_NOTE", file_notes[i]);
|
map.put("EXTEND1", extend_1business_id);
|
map.put("EXTEND2", extend_2business_id);
|
map.put("EXTEND3", extend_3business_id);
|
map.put("CREATE_TIME", create_time);
|
map.put("USER_ID", userId);
|
map.put("USER_NAME", userName);
|
paramList.add(new SqlParameter().setSource(map));
|
}
|
baseDao.executeBatch(sql, paramList);
|
}
|
return fileList;
|
}
|
|
|
@Override
|
public List<Map> getFileList(Map<String, String> params) {
|
StringBuilder sql = new StringBuilder();
|
sql.append(" SELECT * FROM GG_FILES WHERE 1=1 ");
|
if(StringUtil.isNotBlank(params.get("businessId"))){
|
sql.append(" AND BUSINESS_ID = :businessId ");
|
}
|
if(StringUtil.isNotBlank(params.get("fileType"))){
|
sql.append(" AND FILE_TYPE = :fileType ");
|
}
|
sql.append(" ORDER BY ORDERNUM ");
|
|
List<Map> list = baseDao.queryForList(sql.toString(),params);
|
return list;
|
}
|
|
@Override
|
public boolean deleteFile(String fileId) {
|
String updateSql = "UPDATE GG_FILES SET DEL_FLAG = 2 WHERE ID = :id";
|
baseDao.execute(updateSql, new SqlParameter("id",fileId));
|
return true;
|
}
|
|
@Override
|
public List<Map> uploadFile(HttpServletRequest request, String business_id,
|
String extend_1business_id, String extend_2business_id,
|
String extend_3business_id,String folder,String state,String note) {
|
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId = ConvertUtil.obj2StrBlank(user.get("ID"));
|
String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM"));
|
|
String[] file_ids = request.getParameterValues("FILE_ID");
|
String[] ext_names = request.getParameterValues("EXT_NAME");
|
//String[] field_names = request.getParameterValues("FIELD_NAME");
|
String[] file_paths = request.getParameterValues("FILE_PATH");
|
String[] file_sizes = request.getParameterValues("FILE_SIZE");
|
String[] file_names = request.getParameterValues("FILE_NAME");
|
//String[] file_notes = request.getParameterValues("FILE_NOTE");
|
/*if(!StringUtil.isEmpty(note)){
|
file_notes[0]=note;
|
}*/
|
|
List<Map> fileList = new ArrayList<Map>();
|
baseDao.execute("delete from GG_FILES where BUSINESS_ID=:BUSINESS_ID ", new SqlParameter("BUSINESS_ID",business_id));
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
String sql = "insert into GG_FILES(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,BUSINESS_ID,ORDERNUM,EXTEND1,EXTEND2,EXTEND3,CREATE_TIME,DEL_FLAG,USER_ID,USER_NAME,FOLDER_ID,AUDIT_STATE,FILE_NOTE)" +
|
"values(:ID,:FILE_NAME,:FILE_PATH,:FILE_SIZE,:FILE_FORMAT,:BUSINESS_ID,:ORDERNUM,:EXTEND1,:EXTEND2,:EXTEND3,:CREATE_TIME,1,:USER_ID,:USER_NAME,:FOLDER_ID,:AUDIT_STATE,:FILE_NOTE)";
|
if (ext_names != null && file_paths!=null
|
&& file_sizes!=null && file_names != null) {
|
Long create_time = DateUtil.getCurrentDate14();
|
for (int i = 0; i < file_names.length; i++) {
|
Map map = new HashMap();
|
map.put("ID", StringUtils.defaultIfEmpty(file_ids[i], StringUtil.getUUID()));
|
map.put("FILE_NAME", file_names[i]);
|
map.put("FILE_PATH", file_paths[i]);
|
map.put("FILE_SIZE", file_sizes[i]);
|
map.put("FILE_FORMAT", ext_names[i]);
|
|
map.put("BUSINESS_ID", business_id);
|
map.put("ORDERNUM", i);
|
|
map.put("FILE_NOTE", note);
|
//map.put("FILE_NOTE", file_notes[i]);
|
map.put("EXTEND1", extend_1business_id);
|
map.put("EXTEND2", extend_2business_id);
|
map.put("EXTEND3", extend_3business_id);
|
map.put("CREATE_TIME", create_time);
|
map.put("USER_ID", userId);
|
map.put("USER_NAME", userName);
|
map.put("FOLDER_ID", folder);
|
map.put("AUDIT_STATE", state);
|
paramList.add(new SqlParameter().setSource(map));
|
}
|
baseDao.executeBatch(sql, paramList);
|
}
|
return fileList;
|
}
|
|
@Override
|
public List<Map> uploadFile(HttpServletRequest request, String business_id,String folder,String state) {
|
return uploadFile(request, business_id, null, null, null,folder,state,null);
|
}
|
@Override
|
public List<Map> uploadFile(HttpServletRequest request, String business_id,String folder,String state,String note) {
|
return uploadFile(request, business_id, null, null, null,folder,state,note);
|
}
|
@Override
|
public void newuploadFileAll(HttpServletRequest request, String business_id,String extend_1,
|
String extend_1business_id, String extend_2business_id,
|
String extend_3business_id,String customer_id,String project_id,String project_name,String customer_name) {
|
Map user = WebUtil.getLoginUser(request).getLoginUser();
|
String userId = ConvertUtil.obj2StrBlank(user.get("ID"));
|
String userName = ConvertUtil.obj2StrBlank(user.get("ZSXM"));
|
|
String[] file_ids = request.getParameterValues("FILE_ID");
|
String[] ext_names = request.getParameterValues("EXT_NAME");
|
String[] field_names = request.getParameterValues("FIELD_NAME");
|
String[] file_paths = request.getParameterValues("FILE_PATH");
|
String[] file_sizes = request.getParameterValues("FILE_SIZE");
|
String[] file_names = request.getParameterValues("FILE_NAME");
|
String[] file_notes = request.getParameterValues("FILE_NOTE");
|
|
List<Map> fileList = new ArrayList<Map>();
|
// baseDao.execute("delete from GG_FILES where BUSINESS_ID=:BUSINESS_ID ", new SqlParameter("BUSINESS_ID",business_id));
|
List<SqlParameter> paramList = new ArrayList<SqlParameter>();
|
String sql = "insert into GG_FILES(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,BUSINESS_ID,ORDERNUM,FOLDER_ID,AUDIT_STATE,EXTEND3,CREATE_TIME,DEL_FLAG,USER_ID,USER_NAME,PROJECT_ID,CUSTOMER_ID,EXTEND1,PROJECT_NAME,CUSTOMER_NAME)" +
|
"values(:ID,:FILE_NAME,:FILE_PATH,:FILE_SIZE,:FILE_FORMAT,:BUSINESS_ID,:ORDERNUM,:EXTEND1,:EXTEND2,:EXTEND3,:CREATE_TIME,1,:USER_ID,:USER_NAME,:project_id,:customer_id,:extend_1,:project_name,:customer_name)";
|
if (ext_names != null && field_names!=null && file_paths!=null
|
&& file_sizes!=null && file_names != null ) {
|
Long create_time = DateUtil.getCurrentDate14();
|
for (int i = 0; i < field_names.length; i++) {
|
Map map = new HashMap();
|
map.put("ID", StringUtils.defaultIfEmpty(file_ids[i], StringUtil.getUUID()));
|
map.put("FILE_NAME", file_names[i]);
|
map.put("FILE_PATH", file_paths[i]);
|
map.put("FILE_SIZE", file_sizes[i]);
|
map.put("FILE_FORMAT", ext_names[i]);
|
|
map.put("BUSINESS_ID", business_id);
|
map.put("ORDERNUM", i);
|
// map.put("FILE_NOTE", file_notes[i]);
|
map.put("EXTEND1", extend_1business_id);
|
map.put("EXTEND2", extend_2business_id);
|
map.put("EXTEND3", extend_3business_id);
|
map.put("CREATE_TIME", create_time);
|
map.put("USER_ID", userId);
|
map.put("USER_NAME", userName);
|
map.put("project_id", project_id);
|
map.put("customer_id", customer_id);
|
map.put("extend_1", extend_1);
|
map.put("project_name", project_name);
|
map.put("customer_name", customer_name);
|
paramList.add(new SqlParameter().setSource(map));
|
}
|
baseDao.executeBatch(sql, paramList);
|
}
|
|
}
|
}
|