|
@@ -1,24 +1,6 @@
|
|
|
package com.factory.web.service.impl.fa;
|
|
|
|
|
|
-import java.io.ByteArrayInputStream;
|
|
|
-import java.io.ByteArrayOutputStream;
|
|
|
-import java.io.File;
|
|
|
-import java.io.ObjectInputStream;
|
|
|
-import java.io.ObjectOutputStream;
|
|
|
-import java.time.LocalDate;
|
|
|
-import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-import java.util.stream.IntStream;
|
|
|
-import java.util.stream.Stream;
|
|
|
-
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
-
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.alibaba.excel.ExcelWriter;
|
|
|
import com.alibaba.excel.write.metadata.WriteSheet;
|
|
@@ -36,71 +18,33 @@ import com.factory.base.util.res.ResponseBeanBuilder;
|
|
|
import com.factory.config.MyHandler;
|
|
|
import com.factory.user.entity.vo.res.FileRes;
|
|
|
import com.factory.user.service.CommonService;
|
|
|
-import com.factory.web.entity.fa.FirstArticleApprovalTask;
|
|
|
-import com.factory.web.entity.fa.FirstArticleCalendar;
|
|
|
-import com.factory.web.entity.fa.FirstArticleItem;
|
|
|
-import com.factory.web.entity.fa.FirstArticleItemResult;
|
|
|
-import com.factory.web.entity.fa.FirstArticleTask;
|
|
|
-import com.factory.web.entity.fa.FirstArticleTaskHisBlob;
|
|
|
-import com.factory.web.entity.fa.FirstArticleTitle;
|
|
|
-import com.factory.web.entity.fa.FirstArticleTitleBlob;
|
|
|
-import com.factory.web.entity.fa.FirstArticleWorkshop;
|
|
|
-import com.factory.web.entity.fa.req.AddFaItemResultListReq;
|
|
|
-import com.factory.web.entity.fa.req.AddFaItemResultReq;
|
|
|
-import com.factory.web.entity.fa.req.AddFaPlanReq;
|
|
|
-import com.factory.web.entity.fa.req.EditFaItemResultListReq;
|
|
|
-import com.factory.web.entity.fa.req.EditFaItemResultReq;
|
|
|
-import com.factory.web.entity.fa.req.EditFaPlanReq;
|
|
|
-import com.factory.web.entity.fa.req.FirstArticleCalendarReq;
|
|
|
-import com.factory.web.entity.fa.req.FirstArticleItemReq;
|
|
|
-import com.factory.web.entity.fa.req.FirstArticleWorkshopReq;
|
|
|
-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.SearchFaItemReleaseCountReq;
|
|
|
-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.SearchFaWsItemResultCountReq;
|
|
|
-import com.factory.web.entity.fa.req.SearchUserListReq;
|
|
|
-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.FaTaskRes;
|
|
|
-import com.factory.web.entity.fa.res.FaWorkshopNoGoListRes;
|
|
|
-import com.factory.web.entity.fa.res.UserListRes;
|
|
|
+import com.factory.web.entity.fa.*;
|
|
|
+import com.factory.web.entity.fa.req.*;
|
|
|
+import com.factory.web.entity.fa.res.*;
|
|
|
import com.factory.web.entity.pm.OnsiteApprovalPlan;
|
|
|
import com.factory.web.entity.pm.PlanBind;
|
|
|
import com.factory.web.entity.pm.res.ApprovalUserRes;
|
|
|
+import com.factory.web.entity.vo.req.exportInitialPlanDetailsReq;
|
|
|
import com.factory.web.mapper.fa.FirstArticleMapper;
|
|
|
import com.factory.web.service.BentelerPlanService;
|
|
|
-import com.factory.web.service.fa.FirstArticleApprovalTaskService;
|
|
|
-import com.factory.web.service.fa.FirstArticleCalendarService;
|
|
|
-import com.factory.web.service.fa.FirstArticleItemResultService;
|
|
|
-import com.factory.web.service.fa.FirstArticleItemService;
|
|
|
-import com.factory.web.service.fa.FirstArticleService;
|
|
|
-import com.factory.web.service.fa.FirstArticleTaskHisBlobService;
|
|
|
-import com.factory.web.service.fa.FirstArticleTaskService;
|
|
|
-import com.factory.web.service.fa.FirstArticleTitleBlobService;
|
|
|
-import com.factory.web.service.fa.FirstArticleWorkshopService;
|
|
|
+import com.factory.web.service.fa.*;
|
|
|
import com.factory.web.service.pm.OnsiteApprovalPlanService;
|
|
|
import com.factory.web.service.pm.PlanBindService;
|
|
|
import com.factory.web.service.pm.PreventMistakeService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import cn.hutool.core.convert.Convert;
|
|
|
+import java.io.*;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+import java.util.stream.IntStream;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -155,7 +99,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
private CommonService commonService;
|
|
|
|
|
|
@Autowired
|
|
|
- private PlanBindService planBindService;
|
|
|
+ private PlanBindService planBindService;
|
|
|
|
|
|
/**
|
|
|
* 新建防错计划
|
|
@@ -348,276 +292,277 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 校验当前计划是否审批通过
|
|
|
+ * 校验当前计划是否审批通过
|
|
|
*
|
|
|
- * @param bentelerPlanId
|
|
|
- * @return true通过,false不通过
|
|
|
- */
|
|
|
- @Override
|
|
|
- public boolean checkApprovalPlan(long bentelerPlanId) {
|
|
|
- int count = onsiteApprovalPlanService.count(
|
|
|
- Wrappers.<OnsiteApprovalPlan> lambdaQuery()
|
|
|
- .eq(OnsiteApprovalPlan::getBentelerPlanId, bentelerPlanId)
|
|
|
- .eq(OnsiteApprovalPlan::getApprovalLevel, 2)
|
|
|
- .eq(OnsiteApprovalPlan::getStatus, 1));
|
|
|
- if (count > 0) {
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
+ * @param bentelerPlanId
|
|
|
+ * @return true通过,false不通过
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public boolean checkApprovalPlan(long bentelerPlanId) {
|
|
|
+ int count = onsiteApprovalPlanService.count(
|
|
|
+ Wrappers.<OnsiteApprovalPlan>lambdaQuery()
|
|
|
+ .eq(OnsiteApprovalPlan::getBentelerPlanId, bentelerPlanId)
|
|
|
+ .eq(OnsiteApprovalPlan::getApprovalLevel, 2)
|
|
|
+ .eq(OnsiteApprovalPlan::getStatus, 1));
|
|
|
+ if (count > 0) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 修改首件计划
|
|
|
+ *
|
|
|
* @param req
|
|
|
* @return
|
|
|
*/
|
|
|
- @Override
|
|
|
- public ResponseBean editFaPlan(EditFaPlanReq req) {
|
|
|
-
|
|
|
- if (this.checkApprovalPlan(req.getBentelerPlanId())) { // 审批通过
|
|
|
-
|
|
|
+ @Override
|
|
|
+ public ResponseBean editFaPlan(EditFaPlanReq req) {
|
|
|
+
|
|
|
+ if (this.checkApprovalPlan(req.getBentelerPlanId())) { // 审批通过
|
|
|
+
|
|
|
// /* 校验计划名称是否存在 */
|
|
|
// if (this.checkPlanNameExist(req.getBentelerPlanName())) {
|
|
|
// return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
// }
|
|
|
|
|
|
- /* 添加防错计划 */
|
|
|
- BentelerPlan plan = BentelerPlan.builder()
|
|
|
- .planType(PlanType.首件.value)
|
|
|
- .name(req.getBentelerPlanName())
|
|
|
- .pauseFlag(false)
|
|
|
- .effectiveDate(req.getEffectiveDate())
|
|
|
- .build();
|
|
|
- planService.save(plan);
|
|
|
-
|
|
|
- /* 添加首件、200件点检规则 */
|
|
|
- List<FirstArticleCalendarReq> firstArticleCalendarList = req.getFirstArticleCalendarList();
|
|
|
- for (FirstArticleCalendarReq firstArticleCalendarReq : firstArticleCalendarList) {
|
|
|
- FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .startDay(firstArticleCalendarReq.getStartDay())
|
|
|
- .endDay(firstArticleCalendarReq.getEndDay())
|
|
|
- .dayValidate(firstArticleCalendarReq.getDayValidate())
|
|
|
- .dayOuttime(firstArticleCalendarReq.getDayOuttime())
|
|
|
- .twoHundredSubmitTime(firstArticleCalendarReq.getTwoHundredSubmitTime())
|
|
|
- .userId(firstArticleCalendarReq.getUserId())
|
|
|
- .typeFlag(firstArticleCalendarReq.getTypeFlag())
|
|
|
- .shift(firstArticleCalendarReq.getShift())
|
|
|
- .build();
|
|
|
- firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
- }
|
|
|
-
|
|
|
- /* 默认插入一条中断点检规则 */
|
|
|
- FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .userId(-1L)
|
|
|
- .typeFlag(2) // 2中断
|
|
|
- .build();
|
|
|
- firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
-
|
|
|
- /* 添加表头信息 */
|
|
|
- try {
|
|
|
- FirstArticleTitleBlob firstArticleTitleBlob = FirstArticleTitleBlob.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .titleContent(this.objectToByteArray(req.getFirstArticleTitle()))
|
|
|
- .build();
|
|
|
- firstArticleTitleBlobService.save(firstArticleTitleBlob);
|
|
|
- } catch (Exception e) {
|
|
|
- // TODO Auto-generated catch block
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
- /* 添加工作站信息 */
|
|
|
- List<FirstArticleWorkshopReq> firstArticleWorkshopList = req.getFirstArticleWorkshopList();
|
|
|
- for (FirstArticleWorkshopReq firstArticleWorkshopReq : firstArticleWorkshopList) {
|
|
|
+ /* 添加防错计划 */
|
|
|
+ BentelerPlan plan = BentelerPlan.builder()
|
|
|
+ .planType(PlanType.首件.value)
|
|
|
+ .name(req.getBentelerPlanName())
|
|
|
+ .pauseFlag(false)
|
|
|
+ .effectiveDate(req.getEffectiveDate())
|
|
|
+ .build();
|
|
|
+ planService.save(plan);
|
|
|
+
|
|
|
+ /* 添加首件、200件点检规则 */
|
|
|
+ List<FirstArticleCalendarReq> firstArticleCalendarList = req.getFirstArticleCalendarList();
|
|
|
+ for (FirstArticleCalendarReq firstArticleCalendarReq : firstArticleCalendarList) {
|
|
|
+ FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .startDay(firstArticleCalendarReq.getStartDay())
|
|
|
+ .endDay(firstArticleCalendarReq.getEndDay())
|
|
|
+ .dayValidate(firstArticleCalendarReq.getDayValidate())
|
|
|
+ .dayOuttime(firstArticleCalendarReq.getDayOuttime())
|
|
|
+ .twoHundredSubmitTime(firstArticleCalendarReq.getTwoHundredSubmitTime())
|
|
|
+ .userId(firstArticleCalendarReq.getUserId())
|
|
|
+ .typeFlag(firstArticleCalendarReq.getTypeFlag())
|
|
|
+ .shift(firstArticleCalendarReq.getShift())
|
|
|
+ .build();
|
|
|
+ firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 默认插入一条中断点检规则 */
|
|
|
+ FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .userId(-1L)
|
|
|
+ .typeFlag(2) // 2中断
|
|
|
+ .build();
|
|
|
+ firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
+
|
|
|
+ /* 添加表头信息 */
|
|
|
+ try {
|
|
|
+ FirstArticleTitleBlob firstArticleTitleBlob = FirstArticleTitleBlob.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .titleContent(this.objectToByteArray(req.getFirstArticleTitle()))
|
|
|
+ .build();
|
|
|
+ firstArticleTitleBlobService.save(firstArticleTitleBlob);
|
|
|
+ } catch (Exception e) {
|
|
|
+ // TODO Auto-generated catch block
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 添加工作站信息 */
|
|
|
+ List<FirstArticleWorkshopReq> firstArticleWorkshopList = req.getFirstArticleWorkshopList();
|
|
|
+ for (FirstArticleWorkshopReq firstArticleWorkshopReq : firstArticleWorkshopList) {
|
|
|
// if (this.checkWsNameExist(firstArticleWorkshopReq.getWsName())) {
|
|
|
// return ResponseBeanBuilder.fail("工作站名称" + firstArticleWorkshopReq.getWsName() + "已存在");
|
|
|
// }
|
|
|
|
|
|
- FirstArticleWorkshop firstArticleWorkshop = FirstArticleWorkshop.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .wsName(firstArticleWorkshopReq.getWsName())
|
|
|
- .plName(firstArticleWorkshopReq.getPlName())
|
|
|
- .build();
|
|
|
- firstArticleWorkshopService.save(firstArticleWorkshop);
|
|
|
-
|
|
|
- /* 添加巡检项目信息 */
|
|
|
- List<FirstArticleItemReq> firstArticleItemList = firstArticleWorkshopReq.getFirstArticleItemList();
|
|
|
- for (FirstArticleItemReq firstArticleItemReq : firstArticleItemList) {
|
|
|
- FirstArticleItem firstArticleItem = FirstArticleItem.builder()
|
|
|
- .workshopId(firstArticleWorkshop.getId())
|
|
|
- .itemContent(firstArticleItemReq.getItemContent())
|
|
|
- .itemStandard(firstArticleItemReq.getItemStandard())
|
|
|
- .prefix(firstArticleItemReq.getPrefix())
|
|
|
- .snoStart(firstArticleItemReq.getSnoStart())
|
|
|
- .snoEnd(firstArticleItemReq.getSnoEnd())
|
|
|
- .valFlag(firstArticleItemReq.getValFlag())
|
|
|
- .valUp(firstArticleItemReq.getValUp())
|
|
|
- .valDown(firstArticleItemReq.getValDown())
|
|
|
- .valOk(firstArticleItemReq.getValOk())
|
|
|
- .valDesc(firstArticleItemReq.getValDesc())
|
|
|
- .levelInfo(firstArticleItemReq.getLevelInfo())
|
|
|
- .productInfo(firstArticleItemReq.getProductInfo())
|
|
|
- .toolId(firstArticleItemReq.getToolId())
|
|
|
- .toolDesc(firstArticleItemReq.getToolDesc())
|
|
|
- .firstFlag(firstArticleItemReq.getFirstFlag())
|
|
|
- .twoHundredFlag(firstArticleItemReq.getTwoHundredFlag())
|
|
|
- .catchFlag(firstArticleItemReq.getCatchFlag())
|
|
|
- .build();
|
|
|
- firstArticleItemService.save(firstArticleItem);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /* 取得审批人 approvalLevel=1级审批 type=1计划审批 */
|
|
|
- ApprovalUserRes approvalUserRes = preventMistakeService.getApprovalUserInfo(1, 1);
|
|
|
- if (approvalUserRes != null) {
|
|
|
- /* 添加计划一级审批 */
|
|
|
- OnsiteApprovalPlan onsiteApprovalPlan = OnsiteApprovalPlan.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .approvalLevel(1) // 1级审批
|
|
|
- .approvalUserId(approvalUserRes.getUserId())
|
|
|
- .status(0) // 0未审批
|
|
|
- .build();
|
|
|
- onsiteApprovalPlanService.save(onsiteApprovalPlan);
|
|
|
- }
|
|
|
-
|
|
|
- /* 绑定计划 */
|
|
|
- PlanBind planBind = PlanBind.builder()
|
|
|
- .oldBentelerPlanId(req.getBentelerPlanId())
|
|
|
- .newBentelerPlanId(plan.getId())
|
|
|
- .build();
|
|
|
- planBindService.save(planBind);
|
|
|
-
|
|
|
- } else { // 没审批通过
|
|
|
- BentelerPlan oldPlan = planService.getById(req.getBentelerPlanId());
|
|
|
- if (!req.getBentelerPlanName().equals(oldPlan.getName())) {
|
|
|
- /* 校验计划名称是否存在 */
|
|
|
- if (this.checkPlanNameExist(req.getBentelerPlanName())) {
|
|
|
- return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /* 修改防错计划 */
|
|
|
- BentelerPlan plan = BentelerPlan.builder()
|
|
|
- .id(req.getBentelerPlanId())
|
|
|
- .name(req.getBentelerPlanName())
|
|
|
- .effectiveDate(req.getEffectiveDate())
|
|
|
- .build();
|
|
|
- planService.updateById(plan);
|
|
|
-
|
|
|
- /* 修改首件、200件点检规则 */
|
|
|
- /* 删除首件、200件点检规则 */
|
|
|
- firstArticleCalendarService.remove(Wrappers.<FirstArticleCalendar>lambdaQuery()
|
|
|
- .eq(FirstArticleCalendar::getBentelerPlanId, plan.getId()));
|
|
|
- /* 添加首件、200件点检规则 */
|
|
|
- List<FirstArticleCalendarReq> firstArticleCalendarList = req.getFirstArticleCalendarList();
|
|
|
- for (FirstArticleCalendarReq firstArticleCalendarReq : firstArticleCalendarList) {
|
|
|
- FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .startDay(firstArticleCalendarReq.getStartDay())
|
|
|
- .endDay(firstArticleCalendarReq.getEndDay())
|
|
|
- .dayValidate(firstArticleCalendarReq.getDayValidate())
|
|
|
- .dayOuttime(firstArticleCalendarReq.getDayOuttime())
|
|
|
- .twoHundredSubmitTime(firstArticleCalendarReq.getTwoHundredSubmitTime())
|
|
|
- .userId(firstArticleCalendarReq.getUserId())
|
|
|
- .typeFlag(firstArticleCalendarReq.getTypeFlag())
|
|
|
- .shift(firstArticleCalendarReq.getShift())
|
|
|
- .build();
|
|
|
- firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
- }
|
|
|
- /* 默认插入一条中断点检规则 */
|
|
|
- FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .userId(-1L)
|
|
|
- .typeFlag(2) // 2中断
|
|
|
- .build();
|
|
|
- firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
-
|
|
|
- /* 修改表头信息 */
|
|
|
- try {
|
|
|
- LambdaUpdateWrapper<FirstArticleTitleBlob> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
- lambdaUpdateWrapper.eq(FirstArticleTitleBlob::getBentelerPlanId, plan.getId())
|
|
|
- .set(FirstArticleTitleBlob::getTitleContent, this.objectToByteArray(req.getFirstArticleTitle()));
|
|
|
- firstArticleTitleBlobService.update(lambdaUpdateWrapper);
|
|
|
- } catch (Exception e) {
|
|
|
- // TODO Auto-generated catch block
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
- /* 修改工作站、巡检项目 */
|
|
|
- /* 删除巡检项目 */
|
|
|
- List<FirstArticleWorkshop> firstArticleWorkshopListTemp = firstArticleWorkshopService.list(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
- .eq(FirstArticleWorkshop::getBentelerPlanId, plan.getId()));
|
|
|
- List<Long> workshopIdList = new ArrayList<Long>();
|
|
|
- for (FirstArticleWorkshop firstArticleWorkshop : firstArticleWorkshopListTemp) {
|
|
|
- workshopIdList.add(firstArticleWorkshop.getId());
|
|
|
- }
|
|
|
- firstArticleItemService.remove(Wrappers.<FirstArticleItem>lambdaQuery()
|
|
|
- .in(FirstArticleItem::getWorkshopId, workshopIdList));
|
|
|
- /* 删除工作站 */
|
|
|
- firstArticleWorkshopService.remove(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
- .eq(FirstArticleWorkshop::getBentelerPlanId, plan.getId()));
|
|
|
- /* 添加工作站信息 */
|
|
|
- List<FirstArticleWorkshopReq> firstArticleWorkshopList = req.getFirstArticleWorkshopList();
|
|
|
- for (FirstArticleWorkshopReq firstArticleWorkshopReq : firstArticleWorkshopList) {
|
|
|
+ FirstArticleWorkshop firstArticleWorkshop = FirstArticleWorkshop.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .wsName(firstArticleWorkshopReq.getWsName())
|
|
|
+ .plName(firstArticleWorkshopReq.getPlName())
|
|
|
+ .build();
|
|
|
+ firstArticleWorkshopService.save(firstArticleWorkshop);
|
|
|
+
|
|
|
+ /* 添加巡检项目信息 */
|
|
|
+ List<FirstArticleItemReq> firstArticleItemList = firstArticleWorkshopReq.getFirstArticleItemList();
|
|
|
+ for (FirstArticleItemReq firstArticleItemReq : firstArticleItemList) {
|
|
|
+ FirstArticleItem firstArticleItem = FirstArticleItem.builder()
|
|
|
+ .workshopId(firstArticleWorkshop.getId())
|
|
|
+ .itemContent(firstArticleItemReq.getItemContent())
|
|
|
+ .itemStandard(firstArticleItemReq.getItemStandard())
|
|
|
+ .prefix(firstArticleItemReq.getPrefix())
|
|
|
+ .snoStart(firstArticleItemReq.getSnoStart())
|
|
|
+ .snoEnd(firstArticleItemReq.getSnoEnd())
|
|
|
+ .valFlag(firstArticleItemReq.getValFlag())
|
|
|
+ .valUp(firstArticleItemReq.getValUp())
|
|
|
+ .valDown(firstArticleItemReq.getValDown())
|
|
|
+ .valOk(firstArticleItemReq.getValOk())
|
|
|
+ .valDesc(firstArticleItemReq.getValDesc())
|
|
|
+ .levelInfo(firstArticleItemReq.getLevelInfo())
|
|
|
+ .productInfo(firstArticleItemReq.getProductInfo())
|
|
|
+ .toolId(firstArticleItemReq.getToolId())
|
|
|
+ .toolDesc(firstArticleItemReq.getToolDesc())
|
|
|
+ .firstFlag(firstArticleItemReq.getFirstFlag())
|
|
|
+ .twoHundredFlag(firstArticleItemReq.getTwoHundredFlag())
|
|
|
+ .catchFlag(firstArticleItemReq.getCatchFlag())
|
|
|
+ .build();
|
|
|
+ firstArticleItemService.save(firstArticleItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 取得审批人 approvalLevel=1级审批 type=1计划审批 */
|
|
|
+ ApprovalUserRes approvalUserRes = preventMistakeService.getApprovalUserInfo(1, 1);
|
|
|
+ if (approvalUserRes != null) {
|
|
|
+ /* 添加计划一级审批 */
|
|
|
+ OnsiteApprovalPlan onsiteApprovalPlan = OnsiteApprovalPlan.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .approvalLevel(1) // 1级审批
|
|
|
+ .approvalUserId(approvalUserRes.getUserId())
|
|
|
+ .status(0) // 0未审批
|
|
|
+ .build();
|
|
|
+ onsiteApprovalPlanService.save(onsiteApprovalPlan);
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 绑定计划 */
|
|
|
+ PlanBind planBind = PlanBind.builder()
|
|
|
+ .oldBentelerPlanId(req.getBentelerPlanId())
|
|
|
+ .newBentelerPlanId(plan.getId())
|
|
|
+ .build();
|
|
|
+ planBindService.save(planBind);
|
|
|
+
|
|
|
+ } else { // 没审批通过
|
|
|
+ BentelerPlan oldPlan = planService.getById(req.getBentelerPlanId());
|
|
|
+ if (!req.getBentelerPlanName().equals(oldPlan.getName())) {
|
|
|
+ /* 校验计划名称是否存在 */
|
|
|
+ if (this.checkPlanNameExist(req.getBentelerPlanName())) {
|
|
|
+ return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 修改防错计划 */
|
|
|
+ BentelerPlan plan = BentelerPlan.builder()
|
|
|
+ .id(req.getBentelerPlanId())
|
|
|
+ .name(req.getBentelerPlanName())
|
|
|
+ .effectiveDate(req.getEffectiveDate())
|
|
|
+ .build();
|
|
|
+ planService.updateById(plan);
|
|
|
+
|
|
|
+ /* 修改首件、200件点检规则 */
|
|
|
+ /* 删除首件、200件点检规则 */
|
|
|
+ firstArticleCalendarService.remove(Wrappers.<FirstArticleCalendar>lambdaQuery()
|
|
|
+ .eq(FirstArticleCalendar::getBentelerPlanId, plan.getId()));
|
|
|
+ /* 添加首件、200件点检规则 */
|
|
|
+ List<FirstArticleCalendarReq> firstArticleCalendarList = req.getFirstArticleCalendarList();
|
|
|
+ for (FirstArticleCalendarReq firstArticleCalendarReq : firstArticleCalendarList) {
|
|
|
+ FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .startDay(firstArticleCalendarReq.getStartDay())
|
|
|
+ .endDay(firstArticleCalendarReq.getEndDay())
|
|
|
+ .dayValidate(firstArticleCalendarReq.getDayValidate())
|
|
|
+ .dayOuttime(firstArticleCalendarReq.getDayOuttime())
|
|
|
+ .twoHundredSubmitTime(firstArticleCalendarReq.getTwoHundredSubmitTime())
|
|
|
+ .userId(firstArticleCalendarReq.getUserId())
|
|
|
+ .typeFlag(firstArticleCalendarReq.getTypeFlag())
|
|
|
+ .shift(firstArticleCalendarReq.getShift())
|
|
|
+ .build();
|
|
|
+ firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
+ }
|
|
|
+ /* 默认插入一条中断点检规则 */
|
|
|
+ FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .userId(-1L)
|
|
|
+ .typeFlag(2) // 2中断
|
|
|
+ .build();
|
|
|
+ firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
+
|
|
|
+ /* 修改表头信息 */
|
|
|
+ try {
|
|
|
+ LambdaUpdateWrapper<FirstArticleTitleBlob> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
+ lambdaUpdateWrapper.eq(FirstArticleTitleBlob::getBentelerPlanId, plan.getId())
|
|
|
+ .set(FirstArticleTitleBlob::getTitleContent, this.objectToByteArray(req.getFirstArticleTitle()));
|
|
|
+ firstArticleTitleBlobService.update(lambdaUpdateWrapper);
|
|
|
+ } catch (Exception e) {
|
|
|
+ // TODO Auto-generated catch block
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 修改工作站、巡检项目 */
|
|
|
+ /* 删除巡检项目 */
|
|
|
+ List<FirstArticleWorkshop> firstArticleWorkshopListTemp = firstArticleWorkshopService.list(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
+ .eq(FirstArticleWorkshop::getBentelerPlanId, plan.getId()));
|
|
|
+ List<Long> workshopIdList = new ArrayList<Long>();
|
|
|
+ for (FirstArticleWorkshop firstArticleWorkshop : firstArticleWorkshopListTemp) {
|
|
|
+ workshopIdList.add(firstArticleWorkshop.getId());
|
|
|
+ }
|
|
|
+ firstArticleItemService.remove(Wrappers.<FirstArticleItem>lambdaQuery()
|
|
|
+ .in(FirstArticleItem::getWorkshopId, workshopIdList));
|
|
|
+ /* 删除工作站 */
|
|
|
+ firstArticleWorkshopService.remove(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
+ .eq(FirstArticleWorkshop::getBentelerPlanId, plan.getId()));
|
|
|
+ /* 添加工作站信息 */
|
|
|
+ List<FirstArticleWorkshopReq> firstArticleWorkshopList = req.getFirstArticleWorkshopList();
|
|
|
+ for (FirstArticleWorkshopReq firstArticleWorkshopReq : firstArticleWorkshopList) {
|
|
|
// if (this.checkWsNameExist(firstArticleWorkshopReq.getWsName())) {
|
|
|
// return ResponseBeanBuilder.fail("工作站名称" + firstArticleWorkshopReq.getWsName() + "已存在");
|
|
|
// }
|
|
|
|
|
|
- FirstArticleWorkshop firstArticleWorkshop = FirstArticleWorkshop.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .wsName(firstArticleWorkshopReq.getWsName())
|
|
|
- .plName(firstArticleWorkshopReq.getPlName())
|
|
|
- .build();
|
|
|
- firstArticleWorkshopService.save(firstArticleWorkshop);
|
|
|
-
|
|
|
- /* 添加巡检项目信息 */
|
|
|
- List<FirstArticleItemReq> firstArticleItemList = firstArticleWorkshopReq.getFirstArticleItemList();
|
|
|
- for (FirstArticleItemReq firstArticleItemReq : firstArticleItemList) {
|
|
|
- FirstArticleItem firstArticleItem = FirstArticleItem.builder()
|
|
|
- .workshopId(firstArticleWorkshop.getId())
|
|
|
- .itemContent(firstArticleItemReq.getItemContent())
|
|
|
- .itemStandard(firstArticleItemReq.getItemStandard())
|
|
|
- .prefix(firstArticleItemReq.getPrefix())
|
|
|
- .snoStart(firstArticleItemReq.getSnoStart())
|
|
|
- .snoEnd(firstArticleItemReq.getSnoEnd())
|
|
|
- .valFlag(firstArticleItemReq.getValFlag())
|
|
|
- .valUp(firstArticleItemReq.getValUp())
|
|
|
- .valDown(firstArticleItemReq.getValDown())
|
|
|
- .valOk(firstArticleItemReq.getValOk())
|
|
|
- .valDesc(firstArticleItemReq.getValDesc())
|
|
|
- .levelInfo(firstArticleItemReq.getLevelInfo())
|
|
|
- .productInfo(firstArticleItemReq.getProductInfo())
|
|
|
- .toolId(firstArticleItemReq.getToolId())
|
|
|
- .toolDesc(firstArticleItemReq.getToolDesc())
|
|
|
- .firstFlag(firstArticleItemReq.getFirstFlag())
|
|
|
- .twoHundredFlag(firstArticleItemReq.getTwoHundredFlag())
|
|
|
- .catchFlag(firstArticleItemReq.getCatchFlag())
|
|
|
- .build();
|
|
|
- firstArticleItemService.save(firstArticleItem);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /* 删除之前的审批记录 */
|
|
|
- onsiteApprovalPlanService.remove(Wrappers.<OnsiteApprovalPlan>lambdaQuery()
|
|
|
- .eq(OnsiteApprovalPlan::getBentelerPlanId, plan.getId()));
|
|
|
- /* 取得审批人 approvalLevel=1级审批 type=1计划审批 */
|
|
|
- ApprovalUserRes approvalUserRes = preventMistakeService.getApprovalUserInfo(1, 1);
|
|
|
- if (approvalUserRes != null) {
|
|
|
- /* 添加计划一级审批 */
|
|
|
- OnsiteApprovalPlan onsiteApprovalPlan = OnsiteApprovalPlan.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .approvalLevel(1) // 1级审批
|
|
|
- .approvalUserId(approvalUserRes.getUserId())
|
|
|
- .status(0) // 0未审批
|
|
|
- .build();
|
|
|
- onsiteApprovalPlanService.save(onsiteApprovalPlan);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return ResponseBeanBuilder.ok();
|
|
|
- }
|
|
|
+ FirstArticleWorkshop firstArticleWorkshop = FirstArticleWorkshop.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .wsName(firstArticleWorkshopReq.getWsName())
|
|
|
+ .plName(firstArticleWorkshopReq.getPlName())
|
|
|
+ .build();
|
|
|
+ firstArticleWorkshopService.save(firstArticleWorkshop);
|
|
|
+
|
|
|
+ /* 添加巡检项目信息 */
|
|
|
+ List<FirstArticleItemReq> firstArticleItemList = firstArticleWorkshopReq.getFirstArticleItemList();
|
|
|
+ for (FirstArticleItemReq firstArticleItemReq : firstArticleItemList) {
|
|
|
+ FirstArticleItem firstArticleItem = FirstArticleItem.builder()
|
|
|
+ .workshopId(firstArticleWorkshop.getId())
|
|
|
+ .itemContent(firstArticleItemReq.getItemContent())
|
|
|
+ .itemStandard(firstArticleItemReq.getItemStandard())
|
|
|
+ .prefix(firstArticleItemReq.getPrefix())
|
|
|
+ .snoStart(firstArticleItemReq.getSnoStart())
|
|
|
+ .snoEnd(firstArticleItemReq.getSnoEnd())
|
|
|
+ .valFlag(firstArticleItemReq.getValFlag())
|
|
|
+ .valUp(firstArticleItemReq.getValUp())
|
|
|
+ .valDown(firstArticleItemReq.getValDown())
|
|
|
+ .valOk(firstArticleItemReq.getValOk())
|
|
|
+ .valDesc(firstArticleItemReq.getValDesc())
|
|
|
+ .levelInfo(firstArticleItemReq.getLevelInfo())
|
|
|
+ .productInfo(firstArticleItemReq.getProductInfo())
|
|
|
+ .toolId(firstArticleItemReq.getToolId())
|
|
|
+ .toolDesc(firstArticleItemReq.getToolDesc())
|
|
|
+ .firstFlag(firstArticleItemReq.getFirstFlag())
|
|
|
+ .twoHundredFlag(firstArticleItemReq.getTwoHundredFlag())
|
|
|
+ .catchFlag(firstArticleItemReq.getCatchFlag())
|
|
|
+ .build();
|
|
|
+ firstArticleItemService.save(firstArticleItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 删除之前的审批记录 */
|
|
|
+ onsiteApprovalPlanService.remove(Wrappers.<OnsiteApprovalPlan>lambdaQuery()
|
|
|
+ .eq(OnsiteApprovalPlan::getBentelerPlanId, plan.getId()));
|
|
|
+ /* 取得审批人 approvalLevel=1级审批 type=1计划审批 */
|
|
|
+ ApprovalUserRes approvalUserRes = preventMistakeService.getApprovalUserInfo(1, 1);
|
|
|
+ if (approvalUserRes != null) {
|
|
|
+ /* 添加计划一级审批 */
|
|
|
+ OnsiteApprovalPlan onsiteApprovalPlan = OnsiteApprovalPlan.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .approvalLevel(1) // 1级审批
|
|
|
+ .approvalUserId(approvalUserRes.getUserId())
|
|
|
+ .status(0) // 0未审批
|
|
|
+ .build();
|
|
|
+ onsiteApprovalPlanService.save(onsiteApprovalPlan);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return ResponseBeanBuilder.ok();
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 取得首件计划点检列表
|
|
@@ -1266,17 +1211,17 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
@Override
|
|
|
public ResponseBean<FileRes> exportFaCheckRecordList(SearchFaCheckRecordListReq req) {
|
|
|
- Long bentelerPlanId = req.getBentelerPlanId();
|
|
|
- BentelerPlan plan = planService.getById(bentelerPlanId);
|
|
|
+ Long bentelerPlanId = req.getBentelerPlanId();
|
|
|
+ BentelerPlan plan = planService.getById(bentelerPlanId);
|
|
|
|
|
|
List<FirstArticleWorkshop> firstArticleWorkshopList = getFaCheckRecordList(req).getData().getFirstArticleWorkshopList();
|
|
|
FirstArticleTitle title = getFaTitle(bentelerPlanId);
|
|
|
Map<String, String> titleMap = Convert.toMap(String.class, String.class, title);
|
|
|
titleMap.put("title", plan.getName());
|
|
|
List<FaCalendarRes> faCalendarList = getFaCalendarList(SearchFaCalendarReq.builder().checkDate(req.getCheckDate()).bentelerPlanId(bentelerPlanId).build());
|
|
|
- titleMap.put("iniCheckData", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(0)).findFirst().map(item3 -> item3.getTaskTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"))).orElse("无"));
|
|
|
- titleMap.put("twoCheckData", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(1)).findFirst().map(item3 -> item3.getTaskTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"))).orElse("无"));
|
|
|
- titleMap.put("breakCheckData", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(2)).findFirst().map(item3 -> item3.getTaskTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"))).orElse("无"));
|
|
|
+ titleMap.put("iniCheckData", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(0)).findFirst().map(item3 -> item3.getTaskTime() != null ? item3.getTaskTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")) : "无").orElse("无"));
|
|
|
+ titleMap.put("twoCheckData", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(1)).findFirst().map(item3 -> item3.getTaskTime() != null ? item3.getTaskTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")) : "无").orElse("无"));
|
|
|
+ titleMap.put("breakCheckData", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(2)).findFirst().map(item3 -> item3.getTaskTime() != null ? item3.getTaskTime().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")) : "无").orElse("无"));
|
|
|
titleMap.put("iniCheckPrinciple", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(0)).findFirst().map(item3 -> item3.getCheckPerson()).orElse("无"));
|
|
|
titleMap.put("twoCheckPrinciple", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(1)).findFirst().map(item3 -> item3.getCheckPerson()).orElse("无"));
|
|
|
titleMap.put("breakCheckPrinciple", faCalendarList.stream().filter(item2 -> item2.getTypeFlag().equals(2)).findFirst().map(item3 -> item3.getCheckPerson()).orElse("无"));
|
|
@@ -1295,66 +1240,67 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
Map<String, String> beanMap = Convert.toMap(String.class, String.class, item1);
|
|
|
List<Integer> worksNumList = IntStream.rangeClosed(item1.getSnoStart(), item1.getSnoEnd()).boxed().collect(Collectors.toList());
|
|
|
workMap.forEach((key, value) -> {
|
|
|
- List<String> frequencyList = new ArrayList<String>();
|
|
|
beanMap.merge(key, value, (v1, v2) -> v1);
|
|
|
- boolean numType = item1.getValFlag().equals(0);
|
|
|
- String greadScope = numType ? item1.getSnoStart().toString() + "Nm - " + item1.getSnoEnd().toString() + "Nm" : (item1.getValOk().equals(0) ? "OK" : "NoK");
|
|
|
- beanMap.put("valFlag", greadScope);
|
|
|
-
|
|
|
- if (item1.getFirstFlag().equals(1)) {
|
|
|
- frequencyList.add("首件");
|
|
|
- Map<Integer, List<FirstArticleItemResult>> fisWorkMap = item1.getFirstItemResultList().stream().collect(Collectors.groupingBy(FirstArticleItemResult::getSno));
|
|
|
- String greads = worksNumList.stream().map(work -> {
|
|
|
- return fisWorkMap.get(work) != null ? fisWorkMap.get(work).stream().map(result -> {
|
|
|
- if (numType) {
|
|
|
- return result.getVal();
|
|
|
- } else {
|
|
|
- return result.getValDesc();
|
|
|
- }
|
|
|
- }).findFirst().orElse("未填写") : "未填写";
|
|
|
- }).collect(Collectors.joining(","));
|
|
|
- beanMap.put("inigread", greads);
|
|
|
- } else {
|
|
|
- beanMap.put("inigread", "------未要求检测------");
|
|
|
- }
|
|
|
- if (item1.getTwoHundredFlag().equals(1)) {
|
|
|
- frequencyList.add("200件");
|
|
|
- Map<Integer, List<FirstArticleItemResult>> fisWorkMap = item1.getTwoHundredItemResultList().stream().collect(Collectors.groupingBy(FirstArticleItemResult::getSno));
|
|
|
- String greads = worksNumList.stream().map(work -> {
|
|
|
- return fisWorkMap.get(work) != null ? fisWorkMap.get(work).stream().map(result -> {
|
|
|
- if (numType) {
|
|
|
- return result.getVal();
|
|
|
- } else {
|
|
|
- return result.getValDesc();
|
|
|
- }
|
|
|
- }).findFirst().orElse("未填写") : "未填写";
|
|
|
- }).collect(Collectors.joining(","));
|
|
|
- beanMap.put("twoGread", greads);
|
|
|
- } else {
|
|
|
- beanMap.put("twoGread", "------未要求检测------");
|
|
|
- }
|
|
|
- if (item1.getCatchFlag().equals(1)) {
|
|
|
- frequencyList.add("中断");
|
|
|
- Map<Integer, List<FirstArticleItemResult>> fisWorkMap = item1.getCatchItemResultList().stream().collect(Collectors.groupingBy(FirstArticleItemResult::getSno));
|
|
|
- String greads = worksNumList.stream().map(work -> {
|
|
|
- return fisWorkMap.get(work) != null ? fisWorkMap.get(work).stream().map(result -> {
|
|
|
- if (numType) {
|
|
|
- return result.getVal();
|
|
|
- } else {
|
|
|
- return result.getValDesc();
|
|
|
- }
|
|
|
- }).findFirst().orElse("未填写") : "未填写";
|
|
|
- }).collect(Collectors.joining(","));
|
|
|
- beanMap.put("breakOffgread", greads);
|
|
|
- } else {
|
|
|
- beanMap.put("breakOffgread", "------未要求检测------");
|
|
|
- }
|
|
|
- String collect = Stream.of(frequencyList.toArray(new String[frequencyList.size()])).collect(Collectors.joining("&"));
|
|
|
- beanMap.put("frequency", collect);
|
|
|
- beanMap.put("releaseRecord", item1.getReleaseFlag().equals(1) ? "存在" : "无");
|
|
|
- beanMap.put("tool", item1.getToolId().equals(-1) ? "" : item1.getToolId().toString());
|
|
|
- arrayList.add(beanMap);
|
|
|
});
|
|
|
+
|
|
|
+ List<String> frequencyList = new ArrayList<>();
|
|
|
+ boolean numType = item1.getValFlag().equals(0);
|
|
|
+ String greadScope = numType ? item1.getSnoStart().toString() + "Nm - " + item1.getSnoEnd().toString() + "Nm" : (item1.getValOk().equals(0) ? "OK" : "NoK");
|
|
|
+ beanMap.put("valFlag", greadScope);
|
|
|
+
|
|
|
+ if (item1.getFirstFlag().equals(1)) {
|
|
|
+ frequencyList.add("首件");
|
|
|
+ Map<Integer, List<FirstArticleItemResult>> fisWorkMap = item1.getFirstItemResultList().stream().collect(Collectors.groupingBy(FirstArticleItemResult::getSno));
|
|
|
+ String greads = worksNumList.stream().map(work -> {
|
|
|
+ return fisWorkMap.get(work) != null ? fisWorkMap.get(work).stream().map(result -> {
|
|
|
+ if (numType) {
|
|
|
+ return result.getVal();
|
|
|
+ } else {
|
|
|
+ return result.getValDesc();
|
|
|
+ }
|
|
|
+ }).findFirst().orElse("未填写") : "未填写";
|
|
|
+ }).collect(Collectors.joining(","));
|
|
|
+ beanMap.put("inigread", greads);
|
|
|
+ } else {
|
|
|
+ beanMap.put("inigread", "------未要求检测------");
|
|
|
+ }
|
|
|
+ if (item1.getTwoHundredFlag().equals(1)) {
|
|
|
+ frequencyList.add("200件");
|
|
|
+ Map<Integer, List<FirstArticleItemResult>> fisWorkMap = item1.getTwoHundredItemResultList().stream().collect(Collectors.groupingBy(FirstArticleItemResult::getSno));
|
|
|
+ String greads = worksNumList.stream().map(work -> {
|
|
|
+ return fisWorkMap.get(work) != null ? fisWorkMap.get(work).stream().map(result -> {
|
|
|
+ if (numType) {
|
|
|
+ return result.getVal();
|
|
|
+ } else {
|
|
|
+ return result.getValDesc();
|
|
|
+ }
|
|
|
+ }).findFirst().orElse("未填写") : "未填写";
|
|
|
+ }).collect(Collectors.joining(","));
|
|
|
+ beanMap.put("twoGread", greads);
|
|
|
+ } else {
|
|
|
+ beanMap.put("twoGread", "------未要求检测------");
|
|
|
+ }
|
|
|
+ if (item1.getCatchFlag().equals(1)) {
|
|
|
+ frequencyList.add("中断");
|
|
|
+ Map<Integer, List<FirstArticleItemResult>> fisWorkMap = item1.getCatchItemResultList().stream().collect(Collectors.groupingBy(FirstArticleItemResult::getSno));
|
|
|
+ String greads = worksNumList.stream().map(work -> {
|
|
|
+ return fisWorkMap.get(work) != null ? fisWorkMap.get(work).stream().map(result -> {
|
|
|
+ if (numType) {
|
|
|
+ return result.getVal();
|
|
|
+ } else {
|
|
|
+ return result.getValDesc();
|
|
|
+ }
|
|
|
+ }).findFirst().orElse("未填写") : "未填写";
|
|
|
+ }).collect(Collectors.joining(","));
|
|
|
+ beanMap.put("breakOffgread", greads);
|
|
|
+ } else {
|
|
|
+ beanMap.put("breakOffgread", "------未要求检测------");
|
|
|
+ }
|
|
|
+ String collect = Stream.of(frequencyList.toArray(new String[frequencyList.size()])).collect(Collectors.joining("&"));
|
|
|
+ beanMap.put("frequency", collect);
|
|
|
+ beanMap.put("toolDesc", new Integer(1).equals(item1.getReleaseFlag()) ? "存在" : "无");
|
|
|
+ beanMap.put("tool", item1.getToolId().equals("-1") ? "非工具校验" : item1.getToolId().toString());
|
|
|
+ arrayList.add(beanMap);
|
|
|
});
|
|
|
|
|
|
|
|
@@ -1387,6 +1333,95 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
return commonService.exportExcel(tempFile);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ResponseBean<FileRes> exportInitialPlanDetails(exportInitialPlanDetailsReq req) {
|
|
|
+
|
|
|
+ Long bentelerPlanId = req.getIniPlnaId();
|
|
|
+ BentelerPlan plan = planService.getById(bentelerPlanId);
|
|
|
+
|
|
|
+ List<FirstArticleWorkshop> firstArticleWorkshopList = firstArticleWorkshopService.list(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
+ .eq(FirstArticleWorkshop::getBentelerPlanId, req.getIniPlnaId()));
|
|
|
+ for (FirstArticleWorkshop firstArticleWorkshop : firstArticleWorkshopList) {
|
|
|
+ List<FirstArticleItem> firstArticleItemList = firstArticleItemService.list(Wrappers.<FirstArticleItem>lambdaQuery()
|
|
|
+ .eq(FirstArticleItem::getWorkshopId, firstArticleWorkshop.getId()));
|
|
|
+
|
|
|
+
|
|
|
+ firstArticleWorkshop.setFirstArticleItemList(firstArticleItemList);
|
|
|
+ }
|
|
|
+ FirstArticleTitle title = getFaTitle(bentelerPlanId);
|
|
|
+ Map<String, String> titleMap = Convert.toMap(String.class, String.class, title);
|
|
|
+ titleMap.put("title", plan.getName());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ ArrayList<Map<String, String>> arrayList = new ArrayList<>();
|
|
|
+ //返回工作站结果
|
|
|
+ firstArticleWorkshopList.forEach(item -> {
|
|
|
+ Map<String, String> workMap = Convert.toMap(String.class, String.class, item);
|
|
|
+ workMap.remove("firstArticleItemList");
|
|
|
+ workMap.remove("allCheckFlag");
|
|
|
+ workMap.remove("id");
|
|
|
+ //返回巡检结果
|
|
|
+ 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());
|
|
|
+ workMap.forEach((key, value) -> {
|
|
|
+ beanMap.merge(key, value, (v1, v2) -> v1);
|
|
|
+ });
|
|
|
+ List<String> frequencyList = new ArrayList<>();
|
|
|
+ if (item1.getFirstFlag().equals(1)) {
|
|
|
+ frequencyList.add("首件");
|
|
|
+ }
|
|
|
+ if (item1.getTwoHundredFlag().equals(1)) {
|
|
|
+ frequencyList.add("200件");
|
|
|
+ }
|
|
|
+ if (item1.getCatchFlag().equals(1)) {
|
|
|
+ frequencyList.add("中断");
|
|
|
+ }
|
|
|
+ boolean numType = item1.getValFlag().equals(0);
|
|
|
+ String greadScope = numType ? item1.getSnoStart().toString() + "Nm - " + item1.getSnoEnd().toString() + "Nm" : (item1.getValOk().equals(0) ? "OK" : "NoK");
|
|
|
+ beanMap.put("valFlag", greadScope);
|
|
|
+
|
|
|
+ String frequency = Stream.of(frequencyList.toArray(new String[frequencyList.size()])).collect(Collectors.joining("&"));
|
|
|
+ beanMap.put("frequency", frequency);
|
|
|
+ beanMap.put("toolDesc", "");
|
|
|
+ beanMap.put("tool", item1.getToolId().equals("-1") ? "非工具校验" : item1.getToolId().toString());
|
|
|
+ arrayList.add(beanMap);
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替
|
|
|
+ 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();
|
|
|
+
|
|
|
+
|
|
|
+ WriteSheet writeSheet = EasyExcel.writerSheet("首件")
|
|
|
+ .registerWriteHandler(new MyHandler()).build();
|
|
|
+ //新一行
|
|
|
+ FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
|
|
+
|
|
|
+ excelWriter.fill(titleMap, writeSheet);
|
|
|
+ excelWriter.fill(arrayList, fillConfig, writeSheet);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ } finally {
|
|
|
+ excelWriter.finish();
|
|
|
+ }
|
|
|
+ return commonService.exportExcel(tempFile);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 取得点检人
|
|
|
*
|