Переглянути джерело

产品申请列表——查询订单信息系(导出功能)

wangyu 6 роки тому
батько
коміт
4c4fb3f67c

+ 45 - 0
diagbotman-service/src/main/java/com/diagbot/dto/ProductOrderExportDTO.java

@@ -0,0 +1,45 @@
+package com.diagbot.dto;
+
+import com.diagbot.enums.AuditStatusEnum;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description: 导出类
+ * @date 2018年9月25日 上午11:08:24
+ */
+@Getter
+@Setter
+public class ProductOrderExportDTO {
+    private static final long serialVersionUID = 1L;
+    private String id;
+    private String time;
+    private String num;
+    private String orgName;
+    private String linKman;
+    private String userName;
+    private String email;
+    private String auditStatus;
+
+
+    public String getAuditStatus() {
+        return AuditStatusEnum.getName(Integer.valueOf(auditStatus));
+    }
+
+    public ProductOrderExportDTO(String id, String time, String num, String orgName, String linKman, String userName, String email,
+                                 String auditStatus) {
+        this.id = id;
+        this.time = time;
+        this.num = num;
+        this.orgName = orgName;
+        this.linKman = linKman;
+        this.userName = userName;
+        this.email = email;
+        this.auditStatus = auditStatus;
+    }
+
+    public ProductOrderExportDTO() {
+
+    }
+}

+ 56 - 0
diagbotman-service/src/main/java/com/diagbot/facade/ProductOrderFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.diagbot.client.UserServiceClient;
 import com.diagbot.dto.AuthDetailDTO;
 import com.diagbot.dto.ProductAuthProgressDTO;
+import com.diagbot.dto.ProductOrderExportDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.UserOrgDTO;
 import com.diagbot.dto.WaitExamOrderCouDTO;
@@ -19,14 +20,18 @@ import com.diagbot.idc.VisibleIdCreater;
 import com.diagbot.service.impl.ProductOrderServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ExportBeanExcelUtil;
+import com.diagbot.util.GsonUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.AddOrderVO;
+import com.diagbot.vo.ProductOrderExportVO;
 import com.diagbot.vo.ProductOrderVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -243,6 +248,57 @@ public class ProductOrderFacade extends ProductOrderServiceImpl {
         }
         return true;
     }
+
+    public RespDTO export(ProductOrderExportVO productOrderExportVO){
+	    ProductOrderVO productOrderVO =new ProductOrderVO();
+	    productOrderVO.setSize(999999999999999999L);
+        Map<String, Object> userMap = new HashMap<String, Object>();
+        userMap.put("startTime", productOrderExportVO.getStartTime());
+        userMap.put("endTime", productOrderExportVO.getEndTime());
+        RespDTO<List<ProductOrderWrapper>> datas = this.selectAllProductOrder(productOrderVO);
+        GsonUtil.toJson(datas.data);
+        List<String> listName = new ArrayList<>();
+
+        listName.add("订单id");
+        listName.add("申请时间");
+        listName.add("订单号");
+        listName.add("申请机构");
+        listName.add("申请人");
+        listName.add("手机号");
+        listName.add("邮箱");
+        listName.add("审核状态");
+
+        List<String> listId = new ArrayList<>();
+        listId.add("id");//订单ID
+        listId.add("time");//申请时间
+        listId.add("num");// 订单号
+        listId.add("orgName");//申请机构
+        listId.add("linKman");// 申请人
+        listId.add("userName");//手机号
+        listId.add("email");//邮箱
+        listId.add("auditStatus");//审核状态
+
+
+        List<ProductOrderExportDTO> list = new ArrayList<>();
+        for (int i = 0; i < datas.data.size(); i++) {
+            ProductOrderWrapper userInfo = datas.data.get(i);
+            list.add(new ProductOrderExportDTO(String.valueOf(userInfo.getId()),
+                    DateUtil.formatDate(userInfo.getTime()),
+                    userInfo.getNum(),
+                    userInfo.getOrgName(),
+                    userInfo.getLinkman(),
+                    userInfo.getUsername(),
+                    userInfo.getEmail(),
+                    String.valueOf(userInfo.getAuditStatus())));
+        }
+        //response.setContentType("text/html;charset=UTF-8");
+        String filePath = productOrderExportVO.getFilePath();//文件路径
+        String fileName = productOrderExportVO.getFileName();//文件名
+        ExportBeanExcelUtil ex = new ExportBeanExcelUtil();
+        RespDTO resul = ex.exportExcel("测试POI导出EXCEL文档", listName, listId, list, filePath, fileName);
+
+        return resul;
+    }
 }
 
 

+ 20 - 0
diagbotman-service/src/main/java/com/diagbot/vo/ProductOrderExportVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author wangfeng
+ * @Description: 导出功能传参
+ * @date 2018年9月25日 上午10:41:08
+ */
+@Getter
+@Setter
+public class ProductOrderExportVO {
+
+    private String startTime;
+    private String endTime;
+    private String filePath;//文件路径
+    private String fileName;//文件名
+
+}

+ 40 - 0
diagbotman-service/src/main/java/com/diagbot/web/ReporExcelController.java

@@ -0,0 +1,40 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.ProductOrderFacade;
+import com.diagbot.vo.ProductOrderExportVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description: Excel导出API Excel导出API
+ * @Author: wangyu
+ * @Date: 15:46 2018/9/17
+ */
+@RestController
+@Api(value = "Excel导出API", tags = { "Excel导出API" })
+@RequestMapping("/reporExcel")
+@SuppressWarnings("unchecked")
+public class ReporExcelController {
+    @Autowired
+    ProductOrderFacade productOrderFacade;
+
+    @ApiOperation(value = "导出产品订单相关信息:[by:wangyu]", notes = "根据时间 导出产品订单相关信息")
+    @PostMapping("/exportProductOrderInfo")
+    @SysLogger("exportProductOrderInfo")
+    @Transactional
+    public RespDTO export(@RequestBody ProductOrderExportVO productOrderExportVO)
+            throws Exception {
+        RespDTO resul = productOrderFacade.export(productOrderExportVO);
+        return resul;
+    }
+}
+