瀏覽代碼

导出接口实现

daili 3 年之前
父節點
當前提交
3c6a9ab491

+ 8 - 8
application-facade/src/main/java/com/factory/web/controller/web/initial/InitialPlanWebController.java

@@ -7,11 +7,8 @@ import com.factory.base.entity.aggregates.ResponseBean;
 import com.factory.base.entity.vo.req.BaseIdReq;
 import com.factory.base.entity.vo.req.BasePageIdReq;
 import com.factory.base.util.res.ResponseBeanBuilder;
-import com.factory.web.entity.vo.req.web.AddIniPlanReq;
-import com.factory.web.entity.vo.req.web.BooleanReq;
-import com.factory.web.entity.vo.req.web.PlanListReq;
-import com.factory.web.entity.vo.req.web.exportInitialPlanReq;
-import com.factory.web.entity.vo.res.FileRes;
+import com.factory.user.entity.vo.res.FileRes;
+import com.factory.web.entity.vo.req.web.*;
 import com.factory.web.entity.vo.res.web.ini.*;
 import com.factory.web.service.ini.BentelerIniVersionService;
 import io.swagger.annotations.Api;
@@ -25,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * 计划 - 检验报告单
  *
@@ -97,8 +96,8 @@ public class InitialPlanWebController {
     }
     @ApiOperation(value = "查看点检  - 结果详情")
     @PostMapping("/getCheckResutGread")
-    public ResponseBean<getCheckResutGreadRes> getCheckResutGread(@RequestBody BaseIdReq req) {
-        return ResponseBeanBuilder.ok();
+    public ResponseBean<List<getCheckResutGreadRes>> getCheckResutGread(@RequestBody getCheckResutGreadReq req) {
+        return ResponseBeanBuilder.ok(bentelerIniVersionService.getCheckResutGread(req));
     }
 
     @ApiOperation(value = "历史版本简介")
@@ -110,7 +109,8 @@ public class InitialPlanWebController {
     @ApiOperation(value = "首件计划导出excel")
     @PostMapping("/exportInitialPlan")
     public ResponseBean<FileRes> exportInitialPlan(@RequestBody exportInitialPlanReq req) {
-        return ResponseBeanBuilder.ok();
+
+        return bentelerIniVersionService.exportInitialPlan(req);
     }
 
 }

+ 34 - 0
application-facade/src/main/java/com/factory/web/entity/excel/FillData.java

@@ -0,0 +1,34 @@
+package com.factory.web.entity.excel;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FillData {
+    private String no;
+    private String characteristics;
+    private String measuringRange;
+    private String method;
+    private String frequency;
+    private String clazz;
+    private String tool;
+    private String releaseRecord;
+    private String workstation;
+    private String inistation;
+    private String inigread;
+    private String twoStation;
+    private String twoGread;
+    private String breakOffstation;
+    private String breakOffgread;
+    private String firOrder;
+    private String towOrder;
+    private String breOrder;
+
+
+}

+ 31 - 0
application-facade/src/main/java/com/factory/web/entity/vo/req/web/getCheckResutGreadReq.java

@@ -0,0 +1,31 @@
+package com.factory.web.entity.vo.req.web;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDate;
+
+/**
+ * @program: intelligentfactory
+ * @description:
+ * @author: dl
+ * @create: 07月02日 10时
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+@ApiModel("")
+public class getCheckResutGreadReq {
+    @ApiModelProperty(value = "选择日期")
+    private LocalDate localDate;
+    @ApiModelProperty(value = "版本id")
+    private Long versionId;
+
+}

+ 0 - 37
application-facade/src/main/java/com/factory/web/entity/vo/res/FileRes.java

@@ -1,37 +0,0 @@
-package com.factory.web.entity.vo.res;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-@Builder
-@ApiModel("统一上传返回")
-public class FileRes {
-
-    private Long id;
-
-    @ApiModelProperty(name = "现名称", example = "1")
-    private String name;
-
-    @ApiModelProperty(name = "原名称", example = "1")
-    private String originalName;
-
-    @ApiModelProperty(name = "后缀", example = "1")
-    private String suffix;
-
-    @ApiModelProperty(name = "访问路径", example = "1")
-    private String url;
-
-    @ApiModelProperty(name = "大小", example = "1")
-    private Long size;
-
-    @ApiModelProperty(name = "磁盘路径", example = "1")
-    private String diskPath;
-
-}

+ 13 - 9
application-facade/src/main/java/com/factory/web/entity/vo/res/web/ini/getCheckResutGreadRes.java

@@ -1,5 +1,6 @@
 package com.factory.web.entity.vo.res.web.ini;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -32,42 +33,46 @@ public class getCheckResutGreadRes {
 
     @ApiModelProperty(value = "判断标准方法")
     private String method;
-
-
     @ApiModelProperty(value = "检测标准值上限")
     private BigDecimal checkStandardTop;
-
     @ApiModelProperty(value = "检测标准值下限")
     private BigDecimal checkStandardFloor;
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "频率1首件 2两百 3中断 包括哪项")
+    private List<Long> checkTypeList;
     @ApiModelProperty(value = "频率1首件 2两百 3中断 包括哪项")
-    private List<Long> checkType;
+    private String checkType;
+
 
     @ApiModelProperty(value = "特性等级")
     private String level;
 
     @ApiModelProperty(value = "工作站")
     private String workstation;
+    @ApiModelProperty(value = "工作站id")
+    private String workstationId;
+
 
     @ApiModelProperty(value = "首件订单号")
-    private String iniOrderId;
+    private String orderId;
 
+    @ApiModelProperty(value = "首件订单号")
+    private String iniOrderId;
     @ApiModelProperty(value = "两百订单号")
     private String twoOrderId;
-
     @ApiModelProperty(value = "中断订单号")
     private String breakOrderId;
 
 
     @ApiModelProperty(value = "工位前缀")
     private String workPrefix;
-
     @ApiModelProperty(value = "检验测量点首号")
     private Integer workStationBegin;
-
     @ApiModelProperty(value = "检验测量点尾号")
     private Integer workStationEnd;
 
+
     @ApiModelProperty(value = "审核结果json")
     private String iniGread;
     @ApiModelProperty(value = "审核结果json")
@@ -85,5 +90,4 @@ public class getCheckResutGreadRes {
     private String discharged;
 
 
-
 }

+ 4 - 0
application-facade/src/main/java/com/factory/web/mapper/ini/BentelerIniVersionMapper.java

@@ -2,6 +2,7 @@ package com.factory.web.mapper.ini;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.factory.base.entity.aggregates.ResponseBean;
 import com.factory.base.entity.po.benteler.BentelerIniCheckItem;
 import com.factory.base.entity.po.benteler.BentelerIniVersion;
 import com.factory.base.entity.po.benteler.BentelerIniVersionItem;
@@ -10,6 +11,7 @@ import com.factory.web.entity.vo.req.pad.GetVersionCheckItemReq;
 import com.factory.web.entity.vo.req.web.PlanListReq;
 import com.factory.web.entity.vo.res.pad.ini.getNowCheckStatusRes;
 import com.factory.web.entity.vo.res.web.ini.PagePlanRes;
+import com.factory.web.entity.vo.res.web.ini.getCheckResutGreadRes;
 import com.factory.web.entity.vo.res.web.ini.unAuditListRes;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -59,6 +61,8 @@ public interface BentelerIniVersionMapper extends BaseMapper<BentelerIniVersion>
     //点检日期 点检类型 版本Id 工作站Id  ->点检项
     List<BentelerIniCheckItem> getVersion_CheckItem(@Param("req") GetVersionCheckItemReq req);
 
+    List<getCheckResutGreadRes> getVersion_CheckResutGread(@Param("versionId") Long versionId, @Param("localDate") LocalDate localDate);
+
 
     //BentelerIniVersionItem getPlanCurrentVersionId(@Param("planId") Long planId);
 }

+ 98 - 11
application-facade/src/main/java/com/factory/web/service/impl/ini/BentelerIniVersionServiceImpl.java

@@ -3,19 +3,31 @@ package com.factory.web.service.impl.ini;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.factory.base.entity.aggregates.PageBean;
 import com.factory.base.entity.aggregates.ResponseBean;
-import com.factory.base.entity.enumPo.*;
+import com.factory.base.entity.enumPo.CheckStatus;
+import com.factory.base.entity.enumPo.CheckTypeSubmit;
+import com.factory.base.entity.enumPo.PlanType;
+import com.factory.base.entity.enumPo.ReviewStatus;
 import com.factory.base.entity.po.benteler.*;
 import com.factory.base.entity.vo.req.BaseIdReq;
 import com.factory.base.entity.vo.req.BasePageIdReq;
 import com.factory.base.entity.vo.req.BaseTypeReq;
+import com.factory.base.util.file.FileUtils;
 import com.factory.base.util.res.ResponseBeanBuilder;
+import com.factory.user.entity.vo.res.FileRes;
 import com.factory.user.service.CommonService;
 import com.factory.user.service.UserInfoService;
+import com.factory.web.entity.excel.ExcelFillCellMergeStrategy;
+import com.factory.web.entity.excel.FillData;
+import com.factory.web.entity.excel.TestFileUtil;
 import com.factory.web.entity.vo.req.pad.GetVersionCheckItemReq;
 import com.factory.web.entity.vo.req.pad.submitCheckReq;
 import com.factory.web.entity.vo.req.pad.workDetailsReq;
@@ -24,10 +36,7 @@ import com.factory.web.entity.vo.res.pad.ini.getNowCheckStatusRes;
 import com.factory.web.entity.vo.res.pad.ini.planlistRes;
 import com.factory.web.entity.vo.res.pad.ini.workDetailsRes;
 import com.factory.web.entity.vo.res.pad.ini.workTypeDetailsRes;
-import com.factory.web.entity.vo.res.web.ini.GetVersionBaseRes;
-import com.factory.web.entity.vo.res.web.ini.GetVersionHistoryRes;
-import com.factory.web.entity.vo.res.web.ini.PagePlanRes;
-import com.factory.web.entity.vo.res.web.ini.unAuditListRes;
+import com.factory.web.entity.vo.res.web.ini.*;
 import com.factory.web.mapper.ini.BentelerIniVersionMapper;
 import com.factory.web.service.BentelerPlanService;
 import com.factory.web.service.ini.*;
@@ -37,6 +46,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
 
+import java.io.File;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.*;
@@ -450,7 +460,7 @@ public class BentelerIniVersionServiceImpl extends ServiceImpl<BentelerIniVersio
                 .eq(BentelerIniCheckItem::getCheckType, checkType)
                 .like(BentelerIniCheckItem::getCreatedTime, LocalDate.now())
         );
-        checkItems.forEach(item->{
+        checkItems.forEach(item -> {
             BentelerIniVersionItem versionItem = versionItemService.getById(item.getVersionItemId());
 
             List<IniGread> iniGreads = item.getIniGreads();
@@ -462,7 +472,7 @@ public class BentelerIniVersionServiceImpl extends ServiceImpl<BentelerIniVersio
                     return gread.isPassResult();
                 }
             });
-            if (!allPass){
+            if (!allPass) {
                 //todo
             }
         });
@@ -474,10 +484,10 @@ public class BentelerIniVersionServiceImpl extends ServiceImpl<BentelerIniVersio
     @Override
     public BentelerIniCheckType getResult_checkType(Long resultId, Integer checkType, LocalDate now) {
         return checkTypeService.getOne(Wrappers.<BentelerIniCheckType>lambdaQuery()
-                    .eq(BentelerIniCheckType::getCheckResultId, resultId)
-                    .eq(BentelerIniCheckType::getCheckType, checkType)
-                    .like(BentelerIniCheckType::getCreatedTime, now)
-            );
+                .eq(BentelerIniCheckType::getCheckResultId, resultId)
+                .eq(BentelerIniCheckType::getCheckType, checkType)
+                .like(BentelerIniCheckType::getCreatedTime, now)
+        );
     }
 
 
@@ -495,6 +505,7 @@ public class BentelerIniVersionServiceImpl extends ServiceImpl<BentelerIniVersio
 
         });
     }
+
     @Override
     public void assemblerCheckItem_iniGread(List<BentelerIniCheckItem> checkItems) {
         checkItems.forEach(checkItem -> {
@@ -670,6 +681,7 @@ public class BentelerIniVersionServiceImpl extends ServiceImpl<BentelerIniVersio
                 .versionWorks(workReq)
                 .build();
     }
+
     //计划名称是否重复
     @Override
     public boolean planNameRepetition(String name) {
@@ -680,4 +692,79 @@ public class BentelerIniVersionServiceImpl extends ServiceImpl<BentelerIniVersio
         }
         return false;
     }
+
+    @Override
+    public ResponseBean<FileRes> exportInitialPlan(exportInitialPlanReq req) {
+        Long versionId = req.getId();
+        getCheckResutGreadReq resutGreadReq = getCheckResutGreadReq.builder()
+                .localDate(req.getChooseDate())
+                .versionId(versionId)
+                .build();
+
+        List<getCheckResutGreadRes> checkResutGread = getCheckResutGread(resutGreadReq);
+        BentelerIniVersion version = versionService.getById(versionId);
+        Map<String, String> baseMap = Convert.toMap(String.class, String.class, version.getBaseMap());
+
+        // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替
+        String templateFileName = "systemLib/template/首件计划表.xlsx";
+
+        // 方案1 根据对象填充
+        File tempFile = FileUtils.createTempPdf(".xlsx");
+
+        String fileName = TestFileUtil.getPath() + "simpleFill" + System.currentTimeMillis() + ".xlsx";
+        // 这里 会填充到第一个sheet, 然后文件流会自动关闭
+        int[] a = {6};
+        ExcelWriter excelWriter = EasyExcel.write(tempFile, FillData.class)
+                .registerWriteHandler(new ExcelFillCellMergeStrategy(5, a))
+                .withTemplate(templateFileName).build();
+        WriteSheet writeSheet = EasyExcel.writerSheet().build();
+        //新一行
+        FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
+
+        //Map<String, String> map = new HashMap<String, String>();
+        //map.put("title", plan.getName());
+        //map.put("Project", version.getProject());
+        //map.put("GPIN", version.getGpin());
+        //
+        //List<FillData> arrayList = new ArrayList<>();
+        //
+        //
+        //for (int i = 0; i < versionSubList.size(); i++) {
+        //
+        //
+        //    arrayList.add(FillData.builder()
+        //            .no(Convert.toStr(i + 1))
+        //            .characteristics(versionSub.getInspectionItem())
+        //            .measuringRange(scope)
+        //            .method(method)
+        //            .frequency(frequency)
+        //            .clazz(versionSub.getLevel())
+        //            .tool(versionSub.getTool())
+        //            .releaseRecord(releaseRecord)
+        //            .workstation(versionSub.getWorkstation())
+        //            .inistation(work)
+        //            .inigread(firgreadStr)
+        //            .twoStation(work)
+        //            .twoGread(twogreadStr)
+        //            .breakOffstation(work)
+        //            .breakOffgread(bregreadStr)
+        //            .firOrder(firOrder)
+        //            .towOrder(twoOrder)
+        //            .breOrder(briOrder)
+        //            .build());
+        //
+        //}
+        //excelWriter.fill(arrayList, fillConfig, writeSheet);
+        //excelWriter.fill(map, writeSheet);
+        //excelWriter.finish();
+        return commonService.exportExcel(FileUtils.createTempPdf(".xlsx"));
+    }
+
+    @Override
+    public List<getCheckResutGreadRes> getCheckResutGread(getCheckResutGreadReq req) {
+        Long versionId = req.getVersionId();
+        LocalDate localDate = req.getLocalDate();
+        List<getCheckResutGreadRes> version_checkResutGread = versionMapper.getVersion_CheckResutGread(versionId, localDate);
+        return version_checkResutGread;
+    }
 }

+ 6 - 7
application-facade/src/main/java/com/factory/web/service/ini/BentelerIniVersionService.java

@@ -8,18 +8,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.factory.base.entity.vo.req.BaseIdReq;
 import com.factory.base.entity.vo.req.BasePageIdReq;
 import com.factory.base.entity.vo.req.BaseTypeReq;
+import com.factory.user.entity.vo.res.FileRes;
 import com.factory.web.entity.vo.req.pad.submitCheckReq;
 import com.factory.web.entity.vo.req.pad.workDetailsReq;
-import com.factory.web.entity.vo.req.web.AddIniPlanReq;
-import com.factory.web.entity.vo.req.web.BooleanReq;
-import com.factory.web.entity.vo.req.web.PlanListReq;
+import com.factory.web.entity.vo.req.web.*;
 import com.factory.web.entity.vo.res.pad.ini.planlistRes;
 import com.factory.web.entity.vo.res.pad.ini.workDetailsRes;
 import com.factory.web.entity.vo.res.pad.ini.workTypeDetailsRes;
-import com.factory.web.entity.vo.res.web.ini.GetVersionBaseRes;
-import com.factory.web.entity.vo.res.web.ini.GetVersionHistoryRes;
-import com.factory.web.entity.vo.res.web.ini.PagePlanRes;
-import com.factory.web.entity.vo.res.web.ini.unAuditListRes;
+import com.factory.web.entity.vo.res.web.ini.*;
 
 import java.time.LocalDate;
 import java.util.List;
@@ -75,5 +71,8 @@ public interface BentelerIniVersionService extends IService<BentelerIniVersion>
 
     boolean planNameRepetition(String name);
 
+    ResponseBean<FileRes> exportInitialPlan(exportInitialPlanReq req);
+
+    List<getCheckResutGreadRes> getCheckResutGread(getCheckResutGreadReq req);
 }
 

+ 36 - 1
application-facade/src/main/resources/mapper/BentelerIniVersionMapper.xml

@@ -45,7 +45,7 @@
     <!--首件计划列表-->
     <select id="Planlist" resultType="com.factory.web.entity.vo.res.web.ini.PagePlanRes">
         select
-        bp.id  planId,
+        bp.id planId,
         biv.id versionId,
         biw.id workStationId,
         bivi.id versionItemId,
@@ -118,6 +118,8 @@
             and biv.deleted =0
         </where>
     </select>
+
+
     <select id="getPlan_UnAuditVersion" resultType="com.factory.base.entity.po.benteler.BentelerIniVersion">
         select * from benteler_ini_version biv
         <where>
@@ -202,7 +204,40 @@
             and biw.deleted=0
         </where>
     </select>
+    <select id="getVersion_CheckResutGread" resultType="com.factory.web.entity.vo.res.web.ini.getCheckResutGreadRes">
+        select bivi.inspection_item,
+               bivi.method,
+               bivi.check_standard_top,
+               bivi.check_standard_floor,
+               bivi.check_type,
+               bivi.level,
+               biw.id workstationId,
+               concat(biw.production_line, biw.workstation) workstation,
+               bivi.work_prefix,
+               bivi.work_station_begin,
+               bivi.work_station_end,
+               biciini.order_id iniOrderId,
+               bicitwo.order_id twoOrderId,
+               bicibre.order_id breakOrderId,
+               biciini.gread iniGread,
+               bicitwo.gread twoGread,
+               bicibre.gread breakGread,
+               bivi.tool,
+               bivi.tool_remark
 
+        from benteler_ini_version biv
+                 left join benteler_ini_workstation biw on biv.id = biw.version_id
+                 left join benteler_ini_version_item bivi on biw.id = bivi.workstation_id
+                 left join benteler_ini_check_item biciini
+                           on bivi.id = biciini.version_item_id and biciini.check_type = 1 and biciini.created_time like concat(#{localDate}, '%')
+                 left join benteler_ini_check_item bicitwo
+                           on bivi.id = bicitwo.version_item_id and bicitwo.check_type = 2 and bicitwo.created_time like concat(#{localDate}, '%')
+                 left join benteler_ini_check_item bicibre
+                           on bivi.id = bicibre.version_item_id and bicibre.check_type = 3 and bicibre.created_time like concat(#{localDate}, '%')
+
+        where biv.id = #{versionId}
+
+    </select>
 
 
 </mapper>

+ 4 - 0
common-user/src/main/java/com/factory/user/service/CommonService.java

@@ -5,9 +5,11 @@ import com.factory.base.entity.vo.BaseSelectVo;
 import com.factory.base.entity.vo.UserInfoVo;
 import com.factory.base.entity.vo.req.BaseIdNotValidReq;
 import com.factory.base.entity.po.remote.UserInfo;
+import com.factory.user.entity.vo.res.FileRes;
 import com.factory.user.entity.vo.res.RoleListRes;
 import com.factory.user.entity.vo.res.UserMenuRes;
 
+import java.io.File;
 import java.util.List;
 
 public interface CommonService {
@@ -25,4 +27,6 @@ public interface CommonService {
     String selectUserName(Long id);
 
     List<UserInfo> selectUserByRole(List<Long> roleList);
+
+    ResponseBean<FileRes> exportExcel(File file);
 }

+ 32 - 0
common-user/src/main/java/com/factory/user/service/impl/CommonServiceImpl.java

@@ -1,8 +1,14 @@
 package com.factory.user.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpStatus;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.factory.user.config.AuthenticationProperties;
 import com.factory.user.config.handler.LoginContext;
 import com.factory.base.entity.aggregates.ResponseBean;
 import com.factory.base.entity.vo.BaseSelectVo;
@@ -12,13 +18,17 @@ import com.factory.base.entity.constant.RemoteCommonConstants;
 import com.factory.base.entity.po.remote.*;
 import com.factory.base.util.BeanCopyUtil;
 import com.factory.base.util.res.ResponseBeanBuilder;
+import com.factory.user.entity.vo.res.FileRes;
 import com.factory.user.service.*;
 import com.factory.user.mapper.DeptMapper;
 import com.factory.user.entity.vo.res.RoleListRes;
 import com.factory.user.entity.vo.res.UserMenuRes;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
@@ -45,6 +55,8 @@ public class CommonServiceImpl implements CommonService {
 	private RolePermissionService rolePermissionService;
 	@Resource
 	private PermissionService permissionService;
+	@Autowired
+	private AuthenticationProperties authenticationProperties;
 
 
 	@Override
@@ -176,6 +188,26 @@ public class CommonServiceImpl implements CommonService {
 	public List<UserInfo> selectUserByRole(List<Long> roleList) {
 		return userInfoService.getUserByRole(roleList);
 	}
+	@Override
+	public ResponseBean<FileRes> exportExcel(File tempFile){
+		FileRes fileInfo = null;
+		HashMap<String, Object> fileUploadMap = new HashMap<>();
+		fileUploadMap.put("file", tempFile);
+		try {
+			HttpResponse response = HttpRequest.post("http://127.0.0.1:30045/file/file/uploadOne")
+					.form(fileUploadMap)
+					.header(authenticationProperties.getHeaderName(), "")
+					.execute();
+			if (response.getStatus() == HttpStatus.HTTP_OK) {
+				fileInfo = JSONObject.toJavaObject(JSON.parseObject(response.body()).getJSONObject("data"), FileRes.class);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+			return ResponseBeanBuilder.fail("获取文件服务失败,请重试");
+
+		}
+		return ResponseBeanBuilder.ok(fileInfo);
+	}
 	
 	
 }