소스 검색

导出功能更新

wangfeng 6 년 전
부모
커밋
a8dac44d22

+ 15 - 12
user-service/src/main/java/com/diagbot/dto/UserInfoExportDTO.java

@@ -19,26 +19,26 @@ import lombok.Setter;
 @Getter
 public class UserInfoExportDTO {
 	private static final long serialVersionUID = 1L;
-    private Long userId;//用户ID
-    private Date userGmtCreate;//记录创建时间
+    private String userId;//用户ID
+    private String userGmtCreate;//记录创建时间
     private String userName;// 用户名
     private String linKman;//联系人
     private String email;// 邮箱
-    private Long orgId;//机构ID
-    private Date orgGmtCreate;//记录创建时间
+    private String orgId;//机构ID
+    private String orgGmtCreate;//记录创建时间
     private String orgName;//机构名称
-    private Integer orgType;//机构属性
+    private String orgType;//机构属性
     private String orgPrincipal;//负责人
     private String orgAddress;//机构地址
-    private Long orgParentId;//上级机构id
-    private Integer orgSubNum;//下属机构数量
+    private String orgParentId;//上级机构id
+    private String orgSubNum;//下属机构数量
     private String autPosition;//岗位信息
-    private Integer autIsReject;//是否通过认证 N:未通过,Y:已通过
-    private Integer autStatus;//认证状态
+    private String autIsReject;//是否通过认证 N:未通过,Y:已通过
+    private String autStatus;//认证状态
     
-    public UserInfoExportDTO(Long userId, Date userGmtCreate, String userName, String linKman, String email, Long orgId,
-			String orgName, Integer orgType, String orgPrincipal, String orgAddress, Long orgParentId,
-			Integer orgSubNum, String autPosition, Integer autIsReject, Integer autStatus) {
+    public UserInfoExportDTO(String userId, String userGmtCreate, String userName, String linKman, String email, String orgId,
+			String orgName, String orgType, String orgPrincipal, String orgAddress, String orgParentId,
+			String orgSubNum, String autPosition, String autIsReject, String autStatus) {
 		this.userId = userId;
 		this.userGmtCreate=userGmtCreate;
 		this.userName=userName;
@@ -55,4 +55,7 @@ public class UserInfoExportDTO {
 		this.autIsReject=autIsReject;
 		this.autStatus=autStatus;
 	}
+    public UserInfoExportDTO(){
+    	
+    }
 }

+ 82 - 0
user-service/src/main/java/com/diagbot/facade/UserFacade.java

@@ -6,6 +6,8 @@ import com.diagbot.client.AuthServiceClient;
 import com.diagbot.dto.GetConsoleUserInfoDTO;
 import com.diagbot.dto.LoginDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.UserInfoDTO;
+import com.diagbot.dto.UserInfoExportDTO;
 import com.diagbot.dto.UserOrgDTO;
 import com.diagbot.entity.JWT;
 import com.diagbot.entity.Organization;
@@ -19,12 +21,16 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.exception.ServiceErrorCode;
 import com.diagbot.service.impl.UserServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ExportBeanExcelUtil;
+import com.diagbot.util.GsonUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RegexValidateUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.ImgVerVerVO;
+import com.diagbot.vo.UserExportVO;
 import com.diagbot.vo.UserSaveVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
@@ -399,4 +405,80 @@ public class UserFacade extends UserServiceImpl {
         }
         return userIdList;
     }
+    /**
+	 * 
+	 * @param userExportVO
+	 * @return 导出Excel文件 
+	 */
+	public RespDTO export(UserExportVO userExportVO){
+		Map<String, Object> userMap = new HashMap<String, Object>();
+		userMap.put("startTime", userExportVO.getStartTime());
+		userMap.put("endTime", userExportVO.getEndTime());
+		List<UserInfoDTO> datas = dependentuserInfoByTime(userMap);
+		GsonUtil.toJson(datas);
+		List<String> listName = new ArrayList<>();
+
+		listName.add("用户id");
+		listName.add("记录创建时间");
+		listName.add("用户名");
+		listName.add("联系人");
+		listName.add("邮箱");
+		listName.add("机构ID");
+		listName.add("机构名称");
+		listName.add("机构属性");
+		listName.add("负责人");
+		listName.add("机构地址");
+		listName.add("上级机构id");
+		listName.add("下属机构数量");
+		listName.add("岗位信息");
+		listName.add("是否通过认证 ");
+		listName.add("认证状态");
+		
+		List<String> listId = new ArrayList<>();
+		listId.add("userId");//用户ID
+		listId.add("userGmtCreate");//记录创建时间
+		listId.add("userName");// 用户名
+		listId.add("linKman");//联系人
+		listId.add("email");// 邮箱
+		listId.add("orgId");//机构ID
+		//listId.add("orgGmtCreate");//记录创建时间
+		listId.add("orgName");//机构名称
+		listId.add("orgType");//机构属性
+		listId.add("orgPrincipal");//负责人
+        listId.add("orgAddress");//机构地址
+        listId.add("orgParentId");//上级机构id
+        listId.add("orgSubNum");//下属机构数量
+        listId.add("autPosition");//岗位信息
+        listId.add("autIsReject");//是否通过认证 N:未通过,Y:已通过
+        listId.add("autStatus");//认证状态
+		
+		List<UserInfoExportDTO> list = new ArrayList<>();
+		for (int i = 0; i < datas.size(); i++) {
+			UserInfoDTO userInfo = datas.get(i); 
+			list.add(new UserInfoExportDTO(String.valueOf(userInfo.getUserId()),
+					DateUtil.formatDate(userInfo.getUserGmtCreate()),
+					userInfo.getUserName(),
+					userInfo.getLinKman(),
+					userInfo.getEmail(),
+					String.valueOf(userInfo.getOrgId()),
+					userInfo.getOrgName(),
+					String.valueOf(userInfo.getOrgType()),
+					userInfo.getOrgPrincipal(),
+					userInfo.getOrgAddress(),
+					String.valueOf(userInfo.getOrgParentId()),
+					String.valueOf(userInfo.getOrgSubNum()),
+					userInfo.getAutPosition(),
+					String.valueOf(userInfo.getAutIsReject()),
+					String.valueOf(userInfo.getAutStatus())));
+		}
+		//response.setContentType("text/html;charset=UTF-8");
+		String filePath =userExportVO.getFilePath();//文件路径
+		String fileName = userExportVO.getFileName();//文件名
+		ExportBeanExcelUtil ex = new ExportBeanExcelUtil();
+		RespDTO resul = ex.exportExcel("测试POI导出EXCEL文档", listName, listId, list,filePath,fileName);
+		
+		return resul;
+		
+		
+	}
 }

+ 1 - 1
user-service/src/main/java/com/diagbot/mapper/UserMapper.java

@@ -55,7 +55,7 @@ public interface UserMapper extends BaseMapper<User> {
     
     public Integer updateById(Map<String,String> map);
     
-    public List<UserInfoExportDTO> dependentuserInfoByTime(@Param("userExport") Map<String,Object> map);
+    public List<UserInfoDTO> dependentuserInfoByTime(@Param("userExport") Map<String,Object> map);
 
     public List<User> getUserByOrgName(String orgName);
 

+ 1 - 1
user-service/src/main/java/com/diagbot/service/UserService.java

@@ -50,7 +50,7 @@ public interface UserService extends IService<User> {
 
     public boolean auditUserInfoAll(Map<String,Object> auditMap);
 
-    public List<UserInfoExportDTO> dependentuserInfoByTime(Map<String,Object> map);
+    public List<UserInfoDTO> dependentuserInfoByTime(Map<String,Object> map);
 
     public List<User> getUserByOrgName(String orgName);
 }

+ 1 - 1
user-service/src/main/java/com/diagbot/service/impl/UserServiceImpl.java

@@ -93,7 +93,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
 	@Override
-	public List<UserInfoExportDTO> dependentuserInfoByTime(Map<String, Object> map) {
+	public List<UserInfoDTO> dependentuserInfoByTime(Map<String, Object> map) {
 
 		return baseMapper.dependentuserInfoByTime(map);
 	}

+ 9 - 11
user-service/src/main/java/com/diagbot/util/ExportBeanExcelUtil.java

@@ -12,16 +12,14 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
 
 import com.diagbot.dto.RespDTO;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
 
 @SuppressWarnings( { "deprecation" })
 	public class ExportBeanExcelUtil<T> {
@@ -134,20 +132,20 @@ import org.apache.poi.ss.usermodel.HorizontalAlignment;
 		            exportXls.close();
 /*		            resultMode.setResult(true);
 		            resultMode.setMessage(MSG_SUCCESS);*/
-		            resultMode.onSuc(MSG_SUCCESS);
-		            System.out.println("导出成功!");
+		            return resultMode.onSuc(MSG_SUCCESS);
 		        } catch (FileNotFoundException e) {
 /*		            System.out.println("导出失败!");
 		            resultMode.setResult(false);
 			        resultMode.setMessage(MSG_ERROR);*/
-		        	 resultMode.onSuc(MSG_ERROR);
-		            e.printStackTrace();
+		        	 e.printStackTrace();
+		        	return resultMode.onSuc(MSG_ERROR);
+		           
 		        } catch (IOException e) {
-		        	 resultMode.onSuc(MSG_ERROR);
-		            System.out.println("导出失败!");
-		            e.printStackTrace();
+		        	 e.printStackTrace();
+		        	return resultMode.onSuc(MSG_ERROR);
+		           
 		        }
 		        
-		        return resultMode;
+		       // return resultMode;
 		    }
 }

+ 5 - 87
user-service/src/main/java/com/diagbot/web/ReportFormController.java

@@ -25,7 +25,9 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserInfoDTO;
 import com.diagbot.dto.UserInfoExportDTO;
 import com.diagbot.facade.UserFacade;
+import com.diagbot.util.DateUtil;
 import com.diagbot.util.ExportBeanExcelUtil;
+import com.diagbot.util.GsonUtil;
 import com.diagbot.vo.UserExportVO;
 
 import io.swagger.annotations.Api;
@@ -48,95 +50,11 @@ public class ReportFormController {
 	
 	@ApiOperation(value = "导出用户信息和机构信息:[by:wangfeng]", notes = "根据时间 导出用户信息和机构信息")
 	@PostMapping("/exportUserInfo")
-	@SysLogger("/exportUserInfo")
+	@SysLogger("exportUserInfo")
 	@Transactional
-	public RespDTO export(final HttpServletRequest request, final HttpServletResponse response,UserExportVO userExportVO)
+	public RespDTO export(UserExportVO userExportVO)
 			throws Exception {
-		Map<String, Object> userMap = new HashMap<String, Object>();
-		userMap.put("startTime", userExportVO.getStartTime());
-		userMap.put("endTime", userExportVO.getEndTime());
-		List<UserInfoExportDTO> datas = userFacade.dependentuserInfoByTime(userMap);
-		List<String> listName = new ArrayList<>();
-
-		listName.add("用户id");
-		listName.add("记录创建时间");
-		listName.add("用户名");
-		listName.add("联系人");
-		listName.add("邮箱");
-		listName.add("机构ID");
-		listName.add("机构名称");
-		listName.add("机构属性");
-		listName.add("负责人");
-		listName.add("机构地址");
-		listName.add("上级机构id");
-		listName.add("下属机构数量");
-		listName.add("岗位信息");
-		listName.add("是否通过认证 ");
-		listName.add("认证状态");
-		
-		List<String> listId = new ArrayList<>();
-		listId.add("userId");//用户ID
-		listId.add("userGmtCreate");//记录创建时间
-		listId.add("userName");// 用户名
-		listId.add("linKman");//联系人
-		listId.add("email");// 邮箱
-		listId.add("orgId");//机构ID
-		//listId.add("orgGmtCreate");//记录创建时间
-		listId.add("orgName");//机构名称
-		listId.add("orgType");//机构属性
-		listId.add("orgPrincipal");//负责人
-        listId.add("orgAddress");//机构地址
-        listId.add("orgParentId");//上级机构id
-        listId.add("orgSubNum");//下属机构数量
-        listId.add("autPosition");//岗位信息
-        listId.add("autIsReject");//是否通过认证 N:未通过,Y:已通过
-        listId.add("autStatus");//认证状态
-		
-		List<UserInfoExportDTO> list = new ArrayList<>();
-		for (int i = 0; i < datas.size(); i++) {
-			UserInfoExportDTO userInfo = datas.get(i); 
-			list.add(new UserInfoExportDTO(userInfo.getUserId(),
-					userInfo.getUserGmtCreate(),
-					userInfo.getUserName(),
-					userInfo.getLinKman(),
-					userInfo.getEmail(),
-					userInfo.getOrgId(),
-					userInfo.getOrgName(),
-					userInfo.getOrgType(),
-					userInfo.getOrgPrincipal(),
-					userInfo.getOrgAddress(),
-					userInfo.getOrgParentId(),
-					userInfo.getOrgSubNum(),
-					userInfo.getAutPosition(),
-					userInfo.getAutIsReject(),
-					userInfo.getAutStatus()));
-		}
-		response.setContentType("text/html;charset=UTF-8");
-		String filePath =userExportVO.getFilePath();//文件路径
-		SimpleDateFormat df = new SimpleDateFormat();//设置日期格式
-        System.out.println();// new Date()为获取当前系统时间
-		String fileName = userExportVO.getFileName();//文件名
-		ExportBeanExcelUtil ex = new ExportBeanExcelUtil();
-		RespDTO resul = ex.exportExcel("测试POI导出EXCEL文档", listName, listId, list,filePath,fileName);
+		RespDTO resul = userFacade.export(userExportVO);
 		 return resul;
 	}
-
-	// 发送响应流方法
-	public void setResponseHeader(HttpServletResponse response, String fileName) {
-		try {
-			try {
-				fileName = new String(fileName.getBytes(), "ISO8859-1");
-			} catch (UnsupportedEncodingException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			response.setContentType("application/octet-stream;charset=ISO8859-1");
-			response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
-			response.addHeader("Pargam", "no-cache");
-			response.addHeader("Cache-Control", "no-cache");
-		} catch (Exception ex) {
-			ex.printStackTrace();
-		}
-	}
-
 }

+ 9 - 9
user-service/src/main/resources/mapper/UserMapper.xml

@@ -242,7 +242,7 @@
 
 </update>
 
-<select id="dependentuserInfoByTime" parameterType="java.util.Map" resultType="com.diagbot.dto.UserInfoExportDTO" >
+<select id="dependentuserInfoByTime" parameterType="java.util.Map" resultType="com.diagbot.dto.UserInfoDTO" >
 
 	SELECT
 	u.id AS userId,
@@ -253,14 +253,14 @@
 	org.id AS orgId,
 	org.gmt_create AS orgGmtCreate,
 	org.name AS orgName,
-	org.type,
+	org.type as orgType,
 	org.principal AS orgPrincipal,
-	org.address,
-	org.parent_id,
-	org.sub_num,
-	aut.position,
-	aut.is_reject,
-	aut.status
+	org.address as orgAddress,
+	org.parent_id as orgParent_id,
+	org.sub_num as orgSub_num,
+	aut.position as autPosition,
+	aut.is_reject as autIsReject,
+	aut.status as autStatus
 	FROM sys_user u
 	LEFT JOIN sys_user_organization uorg ON u.id = uorg.user_id
 	LEFT JOIN sys_organization org ON uorg.organization_id = org.id
@@ -274,7 +274,7 @@
 	<if test="userExport.autStatus != null">
 	   AND aut.status = #{userInfo.autStatus}  
 	</if> 
-	<if test="userExport.startTime != null and userExport.endDate != null">
+	<if test="userExport.startTime != null and userExport.endTime != null">
 	AND u.gmt_create BETWEEN #{userExport.startTime} and #{userExport.endTime}
 	</if>
 	ORDER BY u.gmt_create DESC