Browse Source

首件bug

baihe 3 years ago
parent
commit
e269c7f89e

+ 53 - 11
application-facade/src/main/java/com/factory/controller/web/FirstArticleController.java

@@ -1,13 +1,16 @@
 package com.factory.controller.web;
 
 
+import java.io.IOException;
+import java.io.OutputStream;
 import java.util.List;
 import java.util.function.Function;
 
-import com.factory.web.entity.pm.req.SearchPmPlanListForPadReq;
-import com.factory.web.entity.pm.res.GetUnFinishedNumRes;
-import com.factory.web.entity.vo.req.pad.GetUnFinishedNumReq;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -50,8 +53,11 @@ import com.factory.web.entity.fa.res.FaWorkshopNoGoListRes;
 import com.factory.web.entity.fa.res.UserListRes;
 import com.factory.web.entity.pm.OnsiteApprovalPlan;
 import com.factory.web.entity.pm.req.PmPlanPauseFlagReq;
+import com.factory.web.entity.pm.req.SearchPmPlanListForPadReq;
 import com.factory.web.entity.pm.req.SearchPmPlanReq;
+import com.factory.web.entity.pm.res.GetUnFinishedNumRes;
 import com.factory.web.entity.vo.req.ExportInitialPlanDetailsReq;
+import com.factory.web.entity.vo.req.pad.GetUnFinishedNumReq;
 import com.factory.web.service.fa.FirstArticleService;
 import com.factory.web.service.pm.PreventMistakeService;
 
@@ -59,8 +65,6 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperationSupport;
 
-import javax.validation.Valid;
-
 /**
  * 首件计划
  *
@@ -215,15 +219,53 @@ public class FirstArticleController {
 
 	@ApiOperation(value = "导出点检结果")
 	@ApiOperationSupport(order = 18)
-	@PostMapping("/exportFaCheckRecordList")
-	public ResponseBean<FileRes> exportFaCheckRecordList(@RequestBody SearchFaCheckRecordListReq req) {
-		return firstArticleService.exportFaCheckRecordList(req);
+	@GetMapping("/exportFaCheckRecordList")
+	public ResponseBean<Void> exportFaCheckRecordList(SearchFaCheckRecordListReq req, HttpServletResponse response) {
+        OutputStream outputStream = null;
+        try {
+        	response.setContentType("application/octet-stream");
+        	String fileName = System.currentTimeMillis() + "." + "xlsx";
+        	response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+            outputStream = response.getOutputStream();
+            firstArticleService.exportFaCheckRecordList(req,outputStream);
+            outputStream.flush();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            if (outputStream != null) {
+                try {
+                    outputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return ResponseBeanBuilder.fail("请联系管理员");
 	}
 
 	@ApiOperation(value = "首件导出受控文件")
-	@PostMapping("/exportInitialPlanDetails")
-	public ResponseBean<FileRes> exportInitialPlanDetails(@RequestBody ExportInitialPlanDetailsReq req) {
-		return firstArticleService.exportInitialPlanDetails(req);
+	@GetMapping("/exportInitialPlanDetails")
+	public ResponseBean<Void> exportInitialPlanDetails(ExportInitialPlanDetailsReq req, HttpServletResponse response) {
+		OutputStream outputStream = null;
+        try {
+        	response.setContentType("application/octet-stream");
+        	String fileName = System.currentTimeMillis() + "." + "xlsx";
+        	response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+            outputStream = response.getOutputStream();
+            firstArticleService.exportInitialPlanDetails(req,outputStream);
+            outputStream.flush();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            if (outputStream != null) {
+                try {
+                    outputStream.close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return ResponseBeanBuilder.fail("请联系管理员");
 	}
 
 //	@ApiOperation(value = "判断检验结果是否填写完成")

+ 36 - 6
application-facade/src/main/java/com/factory/web/service/fa/FirstArticleService.java

@@ -1,5 +1,9 @@
 package com.factory.web.service.fa;
 
+import java.io.File;
+import java.io.OutputStream;
+import java.util.List;
+
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.factory.base.entity.aggregates.PageBean;
 import com.factory.base.entity.aggregates.ResponseBean;
@@ -9,13 +13,39 @@ import com.factory.web.entity.fa.FirstArticleItemResult;
 import com.factory.web.entity.fa.FirstArticleTask;
 import com.factory.web.entity.fa.FirstArticleTitle;
 import com.factory.web.entity.fa.FirstArticleWorkshop;
-import com.factory.web.entity.fa.req.*;
-import com.factory.web.entity.fa.res.*;
+import com.factory.web.entity.fa.req.AddFaItemResultListReq;
+import com.factory.web.entity.fa.req.AddFaPlanReq;
+import com.factory.web.entity.fa.req.EditFaItemResultListReq;
+import com.factory.web.entity.fa.req.EditFaPlanReq;
+import com.factory.web.entity.fa.req.SearchALLPlanListReq;
+import com.factory.web.entity.fa.req.SearchFaCalendarReq;
+import com.factory.web.entity.fa.req.SearchFaCheckRecordListReq;
+import com.factory.web.entity.fa.req.SearchFaItemListForPadReq;
+import com.factory.web.entity.fa.req.SearchFaItemNoGoListReq;
+import com.factory.web.entity.fa.req.SearchFaItemResultListReq;
+import com.factory.web.entity.fa.req.SearchFaPlanCheckListReq;
+import com.factory.web.entity.fa.req.SearchFaPlanListForPadReq;
+import com.factory.web.entity.fa.req.SearchFaPlanReq;
+import com.factory.web.entity.fa.req.SearchFaTaskInfoReq;
+import com.factory.web.entity.fa.req.SearchFaTaskReq;
+import com.factory.web.entity.fa.req.SearchFaWorkshopListForPadReq;
+import com.factory.web.entity.fa.req.SearchFaWorkshopNoGoListReq;
+import com.factory.web.entity.fa.req.SearchHisPlanListReq;
+import com.factory.web.entity.fa.req.SubmitFaTaskReq;
+import com.factory.web.entity.fa.res.FaCalendarRes;
+import com.factory.web.entity.fa.res.FaCheckRecordListRes;
+import com.factory.web.entity.fa.res.FaItemListForPadRes;
+import com.factory.web.entity.fa.res.FaItemNoGoListRes;
+import com.factory.web.entity.fa.res.FaNoGoTaskAapprovalRes;
+import com.factory.web.entity.fa.res.FaPlanListForPadRes;
+import com.factory.web.entity.fa.res.FaPlanListRes;
+import com.factory.web.entity.fa.res.FaPlanRes;
+import com.factory.web.entity.fa.res.FaTaskResForPad;
+import com.factory.web.entity.fa.res.FaWorkshopNoGoListRes;
+import com.factory.web.entity.fa.res.UserListRes;
 import com.factory.web.entity.pm.ApprovalRule;
 import com.factory.web.entity.vo.req.ExportInitialPlanDetailsReq;
 
-import java.util.List;
-
 /**
  * 首件计划
  *
@@ -239,9 +269,9 @@ public interface FirstArticleService extends IService<BentelerPlan> {
      */
     public List<FaCalendarRes> getFaCalendarList(SearchFaCalendarReq req);
 
-    ResponseBean<FileRes> exportFaCheckRecordList(SearchFaCheckRecordListReq req);
+    void exportFaCheckRecordList(SearchFaCheckRecordListReq req,OutputStream outputStream);
 
-    ResponseBean<FileRes> exportInitialPlanDetails(ExportInitialPlanDetailsReq req);
+    void exportInitialPlanDetails(ExportInitialPlanDetailsReq req,OutputStream outputStream);
 
     /**
      * task二级审批不通过的,即为重检,此时将点检结果item_result为不通过的1都改成成-1,这样重检时相当于重新开始,没有之前首次点检的结果

+ 55 - 31
application-facade/src/main/java/com/factory/web/service/impl/fa/FirstArticleServiceImpl.java

@@ -5,10 +5,17 @@ import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
+import java.io.OutputStream;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+import java.util.TreeSet;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.function.Function;
@@ -16,15 +23,6 @@ import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 import java.util.stream.Stream;
 
-import com.alibaba.excel.metadata.Head;
-import com.alibaba.excel.write.merge.AbstractMergeStrategy;
-import com.factory.base.entity.po.remote.Dept;
-import com.factory.base.entity.po.remote.UserInfo;
-import com.factory.user.config.handler.LoginContext;
-import com.factory.user.service.UsersService;
-import com.factory.user.util.AuthUtils;
-import com.factory.web.entity.pm.OnsiteCalendar;
-import com.factory.web.service.pm.OnsiteCalendarService;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +32,8 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.metadata.Head;
+import com.alibaba.excel.write.merge.AbstractMergeStrategy;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.metadata.fill.FillConfig;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -49,8 +49,8 @@ import com.factory.base.entity.enumPo.PlanType;
 import com.factory.base.entity.po.benteler.BentelerPlan;
 import com.factory.base.util.res.ResponseBeanBuilder;
 import com.factory.base.util.time.TimeConvert;
-import com.factory.user.entity.vo.res.FileRes;
 import com.factory.user.service.CommonService;
+import com.factory.user.service.UsersService;
 import com.factory.web.entity.fa.FirstArticleApprovalTask;
 import com.factory.web.entity.fa.FirstArticleCalendar;
 import com.factory.web.entity.fa.FirstArticleItem;
@@ -100,6 +100,7 @@ import com.factory.web.entity.fa.res.FaWorkshopNoGoListRes;
 import com.factory.web.entity.fa.res.UserListRes;
 import com.factory.web.entity.pm.ApprovalRule;
 import com.factory.web.entity.pm.OnsiteApprovalPlan;
+import com.factory.web.entity.pm.OnsiteCalendar;
 import com.factory.web.entity.vo.req.ExportInitialPlanDetailsReq;
 import com.factory.web.mapper.fa.FirstArticleMapper;
 import com.factory.web.mapper.pm.ApprovalRuleMapper;
@@ -116,6 +117,7 @@ import com.factory.web.service.fa.FirstArticleTitleBlobService;
 import com.factory.web.service.fa.FirstArticleWorkshopService;
 import com.factory.web.service.impl.FileEntry;
 import com.factory.web.service.pm.OnsiteApprovalPlanService;
+import com.factory.web.service.pm.OnsiteCalendarService;
 import com.factory.web.service.pm.PlanBindService;
 import com.factory.web.service.pm.PreventMistakeService;
 import com.factory.wx.entity.req.SendMsgReq;
@@ -275,6 +277,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
                             .twoHundredFlag(firstArticleItemReq.getTwoHundredFlag())
                             .catchFlag(firstArticleItemReq.getCatchFlag())
                             .build();
+                    if(firstArticleItemReq.getSnoEnd()<firstArticleItemReq.getSnoStart()) {
+                    	firstArticleItem.setSnoStart(firstArticleItemReq.getSnoEnd());
+                    	firstArticleItem.setSnoEnd(firstArticleItemReq.getSnoStart());
+                    }
                     firstArticleItemService.save(firstArticleItem);
                 }
             }
@@ -495,6 +501,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
                                 .twoHundredFlag(firstArticleItemReq.getTwoHundredFlag())
                                 .catchFlag(firstArticleItemReq.getCatchFlag())
                                 .build();
+                        if(firstArticleItemReq.getSnoEnd()<firstArticleItemReq.getSnoStart()) {
+                        	firstArticleItem.setSnoStart(firstArticleItemReq.getSnoEnd());
+                        	firstArticleItem.setSnoEnd(firstArticleItemReq.getSnoStart());
+                        }
                         firstArticleItemService.save(firstArticleItem);
                     }
                 }
@@ -576,6 +586,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
                                 .twoHundredFlag(firstArticleItemReq.getTwoHundredFlag())
                                 .catchFlag(firstArticleItemReq.getCatchFlag())
                                 .build();
+                        if(firstArticleItemReq.getSnoEnd()<firstArticleItemReq.getSnoStart()) {
+                        	firstArticleItem.setSnoStart(firstArticleItemReq.getSnoEnd());
+                        	firstArticleItem.setSnoEnd(firstArticleItemReq.getSnoStart());
+                        }
                         firstArticleItemService.save(firstArticleItem);
                     }
                 }
@@ -638,6 +652,9 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
             /* 取得中断最新的task */
             faTaskInfo = this.getFaTaskInfoCatchLatest(searchFaTaskInfoReq);
         }
+        if(faTaskInfo==null) {
+        	return ResponseBeanBuilder.fail("任务不存在");
+        }
         FirstArticleCalendar calendar = firstArticleCalendarService.getById(faTaskInfo.getFirstArticleCalendarId());
         
         long firstArticleTaskId = 0;
@@ -716,9 +733,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
         List<FaItemListForPadRes> listRes = new ArrayList<FaItemListForPadRes>();
         for (FaItemListForPadRes faItemListForPadRes : listResTemp) {
             /* 序号拆分(从1到10,就拆分成10条) */
-            int snoStart = faItemListForPadRes.getSnoStart();
-            int snoEnd = faItemListForPadRes.getSnoEnd();
-
+            int snoStart = Math.min(faItemListForPadRes.getSnoStart(), faItemListForPadRes.getSnoEnd());
+            int snoEnd = Math.max(faItemListForPadRes.getSnoStart(), faItemListForPadRes.getSnoEnd());
+            
+            
             FaItemListForPadRes itemInfo = null;
             for (int i = snoStart; i <= snoEnd; i++) {
                 itemInfo = new FaItemListForPadRes();
@@ -1261,28 +1279,43 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
             /* 200件检查结果 */
             /* 中断检查结果(一天提交多个中断task,暂时都取出来了) */
             /* 判断当前检查项目是否是放行 */
-            firstArticleItemList.stream().filter(item -> LocalDate.now().getDayOfWeek().getValue() != 1 && item.getPrefix().equals("W") || !item.getPrefix().equals("W")).forEach(firstArticleItem -> {
+            firstArticleItemList.stream().
+            filter(item -> LocalDate.now().getDayOfWeek().getValue() != 1 && item.getPrefix().equals("W") || !item.getPrefix().equals("W"))
+            .forEach(firstArticleItem -> {
                 FirstArticleWorkshop workshop = firstArticleWorkshopService.getById(firstArticleItem.getWorkshopId());
                 firstArticleItem.setWorkshopName(workshop.getPlName() + "__" + workshop.getWsName());
+                
                 List<FirstArticleItemResult> firstItemResultList = this.getItemResultList(firstArticleItem.getId(), req.getCheckDate(), 0);
                 firstArticleItem.setFirstItemResultList(firstItemResultList);
+               
                 List<FirstArticleItemResult> twoHundredItemResultList = this.getItemResultList(firstArticleItem.getId(), req.getCheckDate(), 1);
                 firstArticleItem.setTwoHundredItemResultList(twoHundredItemResultList);
+                
                 List<FirstArticleItemResult> catchItemResultList = this.getItemResultList(firstArticleItem.getId(), req.getCheckDate(), 2);
                 firstArticleItem.setCatchItemResultList(catchItemResultList);
+               
                 SearchFaItemReleaseCountReq searchFaItemReleaseCountReq = new SearchFaItemReleaseCountReq();
                 searchFaItemReleaseCountReq.setCheckDate(req.getCheckDate());
                 searchFaItemReleaseCountReq.setFirstArticleItemId(firstArticleItem.getId());
+                
                 int count = firstArticleMapper.getFaItemReleaseCount(searchFaItemReleaseCountReq);
+                
                 if (count > 0) {
                     firstArticleItem.setReleaseFlag(1); // 1有
 
-
                 } else {
                     firstArticleItem.setReleaseFlag(0); // 0没有
                 }
                 List<FirstArticleApprovalTask> faItemRelease = firstArticleMapper.getFaItemRelease(searchFaItemReleaseCountReq);
-                faItemRelease.stream().filter(item -> !item.getResult().equals(0));
+                
+                if(!faItemRelease.isEmpty()) {//每个任务取最新的一次
+                	Set<String> set = new TreeSet<>();
+                	faItemRelease = faItemRelease.stream()
+                			.filter(item -> !item.getResult().equals(0))
+                			.sorted((a,b)->b.getCreatedTime().compareTo(a.getCreatedTime()))
+                			.filter(item -> set.add(item.getFirstArticleTaskId()+"/"+item.getApprovalLevel()))
+                			.collect(Collectors.toList());
+                }
                 firstArticleItem.setPermitDesc(faItemRelease); // 备注
             });
 
@@ -1391,7 +1424,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
     }
 
     @Override
-    public ResponseBean<FileRes> exportFaCheckRecordList(SearchFaCheckRecordListReq req) {
+    public void exportFaCheckRecordList(SearchFaCheckRecordListReq req,OutputStream outputStream) {
         Long bentelerPlanId = req.getBentelerPlanId();
         BentelerPlan plan = planService.getById(bentelerPlanId);
 
@@ -1422,7 +1455,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
             item.getFirstArticleItemList().forEach(item1 -> {
 
                 Map<String, String> beanMap = Convert.toMap(String.class, String.class, item1);
-                List<Integer> worksNumList = IntStream.rangeClosed(item1.getSnoStart(), item1.getSnoEnd()).boxed().collect(Collectors.toList());
+                List<Integer> worksNumList = IntStream.rangeClosed(Math.min(item1.getSnoStart(), item1.getSnoEnd()),Math.max(item1.getSnoStart(), item1.getSnoEnd())).boxed().collect(Collectors.toList());
                 workMap.forEach((key, value) -> {
                     if (value != null) {
                         beanMap.merge(key, value, (v1, v2) -> v1);
@@ -1520,15 +1553,12 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
         titleMap.put("remark", remarkStr.get());
         // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替
         String templateFileName = "systemLib/template/首件计划表.xlsx";
-        File tempFile = null;
         ExcelWriter excelWriter = null;
         try {
             // 模板文件
-            tempFile = File.createTempFile("shoujian", ".xlsx");
-
             // 这里 会填充到第一个sheet, 然后文件流会自动关闭
             //设置识别自动换行
-            excelWriter = EasyExcel.write(tempFile).withTemplate(templateFileName).registerWriteHandler(new AbstractMergeStrategy() {
+            excelWriter = EasyExcel.write(outputStream).withTemplate(templateFileName).registerWriteHandler(new AbstractMergeStrategy() {
                 @Override
                 protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) {
                     if (cell.getColumnIndex() >= 4) {
@@ -1551,11 +1581,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
         } finally {
             excelWriter.finish();
         }
-        return commonService.exportExcel(tempFile);
     }
 
     @Override
-    public ResponseBean<FileRes> exportInitialPlanDetails(ExportInitialPlanDetailsReq req) {
+    public void exportInitialPlanDetails(ExportInitialPlanDetailsReq req,OutputStream out) {
 
         Long bentelerPlanId = req.getIniPlnaId();
         BentelerPlan plan = planService.getById(bentelerPlanId);
@@ -1621,14 +1650,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
 
         // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替
         String templateFileName = "systemLib/template/首件计划受控文件.xlsx";
-        File tempFile = null;
         ExcelWriter excelWriter = null;
         try {
-            // 模板文件
-            tempFile = File.createTempFile("shoujian", ".xlsx");
-
             // 这里 会填充到第一个sheet, 然后文件流会自动关闭
-            excelWriter = EasyExcel.write(tempFile).withTemplate(templateFileName).build();
+            excelWriter = EasyExcel.write(out).withTemplate(templateFileName).build();
 
 
             WriteSheet writeSheet = EasyExcel.writerSheet("首件")
@@ -1643,7 +1668,6 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
         } finally {
             excelWriter.finish();
         }
-        return commonService.exportExcel(tempFile);
     }
 
     /**

+ 0 - 18
application-facade/src/main/resources/application-dev.yml

@@ -36,24 +36,6 @@ cn:
       file-store-dir: download
       zip-out-dir: zip
       download-prefix: https://s2t.jihengcc.cn/file/
-    auth:
-      permit-url-list:
-        - /swagger-ui.html
-        - /webjars/**
-        - /swagger-resources/**
-        - /v2/**
-        - /favicon.ico
-        - /doc.html
-        - /api/passwordLogin
-        - /csrf
-        - /error**
-        - /webjars**
-        # 登录
-        - /login/passwordLogin**
-        - /login
-        - /benteler/fileupload/**
-      #        - /**
-      client: WEB
 
 jetcache:
   statIntervalMinutes: 15

+ 0 - 17
application-facade/src/main/resources/application-prod.yml

@@ -31,23 +31,6 @@ cn:
       file-store-dir: download
       zip-out-dir: zip
       download-prefix: https://www.zhoudu.ltd/file/
-    auth:
-      permit-url-list:
-        - /swagger-ui.html
-        - /webjars/**
-        - /swagger-resources/**
-        - /v2/**
-        - /favicon.ico
-        - /doc.html
-        - /api/passwordLogin
-        - /csrf
-        - /error**
-        - /webjars**
-        # 登录
-        - /login/passwordLogin**
-        - /login
-        - /benteler/fileupload/**
-      #        - /**
       client: WEB
 
 jetcache:

+ 0 - 17
application-facade/src/main/resources/application-prodWX.yml

@@ -33,23 +33,6 @@ cn:
       file-store-dir: download
       zip-out-dir: zip
       download-prefix: https://www.zhoudu.ltd/file/
-    auth:
-      permit-url-list:
-        - /swagger-ui.html
-        - /webjars/**
-        - /swagger-resources/**
-        - /v2/**
-        - /favicon.ico
-        - /doc.html
-        - /api/passwordLogin
-        - /csrf
-        - /error**
-        - /webjars**
-        # 登录
-        - /login/passwordLogin**
-        - /login
-        - /benteler/fileupload/**
-      #        - /**
       client: WEB
 
 jetcache:

+ 0 - 17
application-facade/src/main/resources/application-test.yml

@@ -36,23 +36,6 @@ cn:
       file-store-dir: download
       zip-out-dir: zip
       download-prefix: https://s2t.jihengcc.cn/file/
-    auth:
-      permit-url-list:
-        - /swagger-ui.html
-        - /webjars/**
-        - /swagger-resources/**
-        - /v2/**
-        - /favicon.ico
-        - /doc.html
-        - /api/passwordLogin
-        - /csrf
-        - /error**
-        - /webjars**
-        # 登录
-        - /login/passwordLogin**
-        - /login
-        - /benteler/fileupload/**
-      #        - /**
       client: WEB
 
 jetcache:

+ 1 - 0
application-facade/src/main/resources/application.yml

@@ -49,6 +49,7 @@ cn:
         - /login/passwordLogin**
         - /login
         - /benteler/fileupload/**
+        - /benteler/fa/export**
       #        - /**
       client: WEB
 logging:

+ 15 - 5
application-facade/src/main/resources/mapper/FirstArticleMapper.xml

@@ -61,7 +61,8 @@
     <select id="getFaPlanListForPad" resultType="com.factory.web.entity.fa.res.FaPlanListForPadRes">
         <if test="req.type == 0"> <!-- 未完成 -->
             SELECT DISTINCT fac.benteler_plan_id,
-            bp.`name` AS benteler_plan_name
+            bp.`name` AS benteler_plan_name,
+            fat.type_flag
         </if>
         <if test="req.type == 1 || req.type == 2"><!-- 已完成 --><!-- 待重检(不放行) -->
             SELECT fat.id AS first_article_task_id,
@@ -105,6 +106,9 @@
         or exists(select i.prefix from first_article_item i
         where i.workshop_id in (select id from first_article_workshop
         where benteler_plan_id = fac.benteler_plan_id) and i.prefix != 'W'))
+        <if test="req.type == 0"> <!-- 未完成 -->
+            group by fac.benteler_plan_id
+        </if>
     </select>
 
     <!--取得Pad端工作站列表 -->
@@ -239,10 +243,15 @@
         first_article_calendar fac
         WHERE fat.first_article_calendar_id = fac.id
         AND fac.benteler_plan_id = #{req.bentelerPlanId}
-        AND fat.type_flag = #{req.typeFlag} 
-        <if test="req.taskId != null">
+        <choose>
+        <when test="req.taskId != null">
         	and fat.id = #{req.taskId}
-        </if>
+        </when>
+        <otherwise>
+        	AND fat.type_flag = #{req.typeFlag} 
+        </otherwise>
+        </choose>
+        
         <if test="req.userId != null">
             AND (fac.principal_one_id = #{req.userId} OR fac.principal_two_id = #{req.userId})
         </if>
@@ -423,7 +432,8 @@
           and approval.first_article_task_id = task.id
           and DATE_FORMAT(task.task_time, '%Y-%m-%d') = #{req.checkDate}
           and uu.id = approval.approval_user_id
-        group by approval.id
+        group by approval.id,task.id
+        order by approval.created_time desc
     </select>
 
     <!--取得点检人 -->