package cn.ksource.web.facade.file; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; 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.beans.DSL_CONFIG; import cn.ksource.beans.DSL_VERSION; 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.NumberUtil; import cn.ksource.core.util.StringUtil; import cn.ksource.core.web.TreeNode; import cn.ksource.core.web.WebUtil; import cn.ksource.web.Constants; @Service("fileFacade") public class FileFacadeImpl implements FileFacade { @Autowired private BaseDao baseDao; /** * 保存文件 */ @Override public void saveDocFile(String userId,String businessId,String folderId, Map fileMap) { String userName = queryUserName(userId); String saveSql = "INSERT INTO GG_FILES(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,BUSINESS_ID,CREATE_TIME,EXTEND1,USER_ID,USER_NAME,AUDIT_STATE,FOLDER_ID) VALUES (:id,:fileName,:filePath,:fileSize,:fileFormat,:businessId,:createTime,:businessId,:userId,:userName,:audit_state,:folder_id)"; Map paramMap = new HashMap(); paramMap.put("id", StringUtil.getUUID()); paramMap.put("fileName", fileMap.get("FILE_NAME")); paramMap.put("filePath", fileMap.get("FILE_PATH")); paramMap.put("fileSize", fileMap.get("FILE_SIZE")); paramMap.put("fileFormat", fileMap.get("EXT_NAME")); paramMap.put("businessId", businessId); paramMap.put("createTime", DateUtil.getCurrentDate14()); paramMap.put("userId", userId); paramMap.put("userName", userName); paramMap.put("audit_state", Constants.FILE_STATE_SHTG); paramMap.put("folder_id", folderId); baseDao.execute(saveSql, paramMap); } private String queryUserName(String userId) { String userName = new String(); if(StringUtil.notEmpty(userId)) { String userSql = "SELECT ZSXM FROM GG_USER WHERE ID = :userId"; userName = baseDao.queryForString(userSql,new SqlParameter("userId",userId)); } return userName; } @Override public Map queryFileMsg(String fileId) { String selectSql = "SELECT * FROM GG_FILES WHERE ID = :id"; return baseDao.queryForMap(selectSql,new SqlParameter("id",fileId)); } @Override public void saveDslFile(String userId, String folderId, String versionId,Map fileMap) { String userName = queryUserName(userId); String dsl_first_cate = new String(); if(StringUtil.notEmpty(folderId)) { DSL_CONFIG config = new DSL_CONFIG(folderId).getInstanceById(); dsl_first_cate = config.getPid(); } String saveSql = "INSERT INTO DSL_CONFIG_FILE(ID,FILE_NAME,FILE_PATH,FILE_SIZE,FILE_FORMAT,VERSION_ID,CREATE_TIME,DSL_FIRST_CATE,DSL_SECOND_CATE,USER_ID,USER_NAME,DEL_FLAG) VALUES (:id,:fileName,:filePath,:fileSize,:fileFormat,:versionId,:createTime,:dsl_first_cate,:folderId,:userId,:userName,1)"; Map paramMap = new HashMap(); String id = StringUtil.getUUID(); paramMap.put("id",id); paramMap.put("fileName", fileMap.get("FILE_NAME")); paramMap.put("filePath", fileMap.get("FILE_PATH")); paramMap.put("fileSize", fileMap.get("FILE_SIZE")); paramMap.put("fileFormat", fileMap.get("EXT_NAME")); paramMap.put("versionId", versionId); paramMap.put("dsl_first_cate", dsl_first_cate); paramMap.put("folderId", folderId); paramMap.put("createTime", DateUtil.getCurrentDate14()); paramMap.put("userId", userId); paramMap.put("userName", userName); baseDao.execute(saveSql, paramMap); //添加文件增加记录 DSL_VERSION version = new DSL_VERSION(versionId).getInstanceById(); String saverecordSql = "INSERT INTO DSL_CONFIG_FILE_CHANGE_DETAIL(ID,FIRST_CONFIG_CATE,SECOND_CONFIG_CATE,DSL_VERSION_ID,FILE_ID,DEAL_TYPE,FLOW_ID,CREATE_TIME,USER_ID,USER_NAME) VALUES(:id,:first_config_cate,:folderId,:versionId,:file_id,:deal_type,:flow_id,:createTime,:userId,:userName)"; Map param = new HashMap(); param.put("id", StringUtil.getUUID()); param.put("file_id", id); param.put("versionId", versionId); param.put("deal_type", 1); param.put("folderId", folderId); param.put("flow_id", version.getCreate_flow_id()); param.put("createTime", DateUtil.getCurrentDate14()); param.put("first_config_cate", dsl_first_cate); param.put("userId", userId); param.put("userName", userName); baseDao.execute(saverecordSql, param); } @Override public Map queryDslFileMsg(String fileId) { String selectSql = "SELECT * FROM DSL_CONFIG_FILE WHERE ID = :id"; return baseDao.queryForMap(selectSql,new SqlParameter("id",fileId)); } }