|
@@ -9,6 +9,16 @@ import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.function.Function;
|
|
|
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
+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.factory.config.MyHandler;
|
|
|
+import com.factory.user.entity.vo.res.FileRes;
|
|
|
+import com.factory.user.service.CommonService;
|
|
|
+import com.factory.web.entity.fa.req.*;
|
|
|
+import com.factory.web.entity.fa.res.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -32,43 +42,10 @@ 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.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.SearchFaWsItemResultCountReq;
|
|
|
-import com.factory.web.entity.fa.req.SearchUserListReq;
|
|
|
-import com.factory.web.entity.fa.req.SubmitFaTaskReq;
|
|
|
-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.pm.OnsiteApprovalPlan;
|
|
|
import com.factory.web.entity.pm.res.ApprovalUserRes;
|
|
|
import com.factory.web.mapper.fa.FirstArticleMapper;
|
|
|
+import com.factory.web.service.BentelerIssueService;
|
|
|
import com.factory.web.service.BentelerPlanService;
|
|
|
import com.factory.web.service.fa.FirstArticleApprovalTaskService;
|
|
|
import com.factory.web.service.fa.FirstArticleCalendarService;
|
|
@@ -81,6 +58,19 @@ import com.factory.web.service.fa.FirstArticleTitleBlobService;
|
|
|
import com.factory.web.service.fa.FirstArticleWorkshopService;
|
|
|
import com.factory.web.service.pm.OnsiteApprovalPlanService;
|
|
|
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 java.io.*;
|
|
|
+import java.time.LocalDate;
|
|
|
+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;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -94,50 +84,53 @@ import com.factory.web.service.pm.PreventMistakeService;
|
|
|
public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, BentelerPlan> implements FirstArticleService {
|
|
|
|
|
|
private static long ROLE_ID = -1;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleMapper firstArticleMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private PreventMistakeService preventMistakeService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private OnsiteApprovalPlanService onsiteApprovalPlanService;
|
|
|
|
|
|
@Autowired
|
|
|
private BentelerPlanService planService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleCalendarService firstArticleCalendarService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleTitleBlobService firstArticleTitleBlobService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleWorkshopService firstArticleWorkshopService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleItemService firstArticleItemService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleItemResultService firstArticleItemResultService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleTaskService firstArticleTaskService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleApprovalTaskService firstArticleApprovalTaskService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private FirstArticleTaskHisBlobService firstArticleTaskHisBlobService;
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CommonService commonService;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 新建防错计划
|
|
|
- *
|
|
|
+ *
|
|
|
* @param req
|
|
|
* @return
|
|
|
*/
|
|
@@ -173,7 +166,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
.build();
|
|
|
firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/* 默认插入一条中断点检规则 */
|
|
|
FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
.bentelerPlanId(plan.getId())
|
|
@@ -253,7 +246,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
/**
|
|
|
* 校验计划名是否存在
|
|
|
- *
|
|
|
+ *
|
|
|
* @param name
|
|
|
* @return true存在,false不存在
|
|
|
*/
|
|
@@ -270,7 +263,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
/**
|
|
|
* 校验工作站名是否存在
|
|
|
- *
|
|
|
+ *
|
|
|
* @param wsName
|
|
|
* @return true存在,false不存在
|
|
|
*/
|
|
@@ -298,11 +291,11 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
faPlanRes.setBentelerPlanName(plan.getName());
|
|
|
faPlanRes.setPlanType(plan.getPlanType());
|
|
|
faPlanRes.setEffectiveDate(plan.getEffectiveDate());;
|
|
|
-
|
|
|
+
|
|
|
List<FirstArticleCalendar> firstArticleCalendarList = firstArticleCalendarService.list(Wrappers.<FirstArticleCalendar>lambdaQuery()
|
|
|
.eq(FirstArticleCalendar::getBentelerPlanId, plan.getId()));
|
|
|
faPlanRes.setFirstArticleCalendarList(firstArticleCalendarList);
|
|
|
-
|
|
|
+
|
|
|
try {
|
|
|
FirstArticleTitleBlob firstArticleTitleBlob = firstArticleTitleBlobService.getOne(new LambdaQueryWrapper<FirstArticleTitleBlob>()
|
|
|
.eq(FirstArticleTitleBlob::getBentelerPlanId, req.getBentelerPlanId()));
|
|
@@ -320,19 +313,19 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
firstArticleWorkshop.setFirstArticleItemList(firstArticleItemList);
|
|
|
}
|
|
|
faPlanRes.setFirstArticleWorkshopList(firstArticleWorkshopList);
|
|
|
-
|
|
|
+
|
|
|
return faPlanRes;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 修改首件计划
|
|
|
* @param req
|
|
|
- * @return
|
|
|
+ * @return
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseBean editFaPlan(EditFaPlanReq req) {
|
|
|
-
|
|
|
+
|
|
|
BentelerPlan oldPlan = planService.getById(req.getBentelerPlanId());
|
|
|
if (!req.getBentelerPlanName().equals(oldPlan.getName())) {
|
|
|
/* 校验计划名称是否存在 */
|
|
@@ -457,13 +450,13 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
.build();
|
|
|
onsiteApprovalPlanService.save(onsiteApprovalPlan);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
return ResponseBeanBuilder.ok();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 取得首件计划点检列表
|
|
|
- *
|
|
|
+ *
|
|
|
* @param req
|
|
|
* @return 首件计划点检列表
|
|
|
*/
|
|
@@ -473,9 +466,9 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
Page<FaPlanListRes> listResPage = firstArticleMapper.getFaPlanCheckList(page, req);
|
|
|
return ResponseBeanBuilder.ok(listResPage, Function.identity());
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 取得Pad端防错计划列表
|
|
|
* @param req
|
|
|
* @return Pad端防错计划列表
|
|
@@ -485,7 +478,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
List<FaPlanListForPadRes> listRes = firstArticleMapper.getFaPlanListForPad(req);
|
|
|
return ResponseBeanBuilder.ok(listRes, Function.identity());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 得Pad端首件计划对应的工作站
|
|
|
* @param req
|
|
@@ -497,7 +490,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
SearchFaTaskInfoReq searchFaTaskInfoReq = new SearchFaTaskInfoReq();
|
|
|
searchFaTaskInfoReq.setBentelerPlanId(req.getBentelerPlanId());
|
|
|
searchFaTaskInfoReq.setTypeFlag(req.getTypeFlag());
|
|
|
-
|
|
|
+
|
|
|
FirstArticleTask faTaskInfo = null;
|
|
|
if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
searchFaTaskInfoReq.setUserId(req.getUserId());
|
|
@@ -506,14 +499,14 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
/* 取得中断最新的task */
|
|
|
faTaskInfo = this.getFaTaskInfoCatchLatest(searchFaTaskInfoReq);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
long firstArticleTaskId = 0;
|
|
|
if (faTaskInfo != null) {
|
|
|
firstArticleTaskId = faTaskInfo.getId();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
List<FirstArticleWorkshop> listRes = firstArticleMapper.getFaWorkshopListForPad(req);
|
|
|
-
|
|
|
+
|
|
|
SearchFaItemListForPadReq searchFaItemListReq = null;
|
|
|
SearchFaWsItemResultCountReq searchFaWsItemResultCountReq = null;
|
|
|
for (FirstArticleWorkshop firstArticleWorkshop : listRes) {
|
|
@@ -527,10 +520,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
for (FaItemListForPadRes faItem : listResTemp) {
|
|
|
int start = faItem.getSnoStart();
|
|
|
int end = faItem.getSnoEnd();
|
|
|
-
|
|
|
+
|
|
|
itemCount += (end - start + 1);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
searchFaWsItemResultCountReq = new SearchFaWsItemResultCountReq();
|
|
|
searchFaWsItemResultCountReq.setFirstArticleTaskId(firstArticleTaskId);
|
|
|
searchFaWsItemResultCountReq.setWorkshopId(firstArticleWorkshop.getId());
|
|
@@ -545,7 +538,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
return ResponseBeanBuilder.ok(listRes, Function.identity());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 取得Pad端巡检项目
|
|
|
* @param req
|
|
@@ -557,8 +550,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
SearchFaTaskInfoReq searchFaTaskInfoReq = new SearchFaTaskInfoReq();
|
|
|
searchFaTaskInfoReq.setBentelerPlanId(req.getBentelerPlanId());
|
|
|
searchFaTaskInfoReq.setTypeFlag(req.getTypeFlag());
|
|
|
-
|
|
|
- FirstArticleTask faTaskInfo = null;
|
|
|
+
|
|
|
+ FirstArticleTask faTaskInfo = null;
|
|
|
if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
searchFaTaskInfoReq.setUserId(req.getUserId());
|
|
|
faTaskInfo = this.getFaTaskInfo(searchFaTaskInfoReq);
|
|
@@ -566,44 +559,44 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
/* 取得中断最新的task */
|
|
|
faTaskInfo = this.getFaTaskInfoCatchLatest(searchFaTaskInfoReq);
|
|
|
}
|
|
|
-
|
|
|
- long firstArticleTaskId = 0;
|
|
|
+
|
|
|
+ long firstArticleTaskId = 0;
|
|
|
if (faTaskInfo != null) {
|
|
|
firstArticleTaskId = faTaskInfo.getId();
|
|
|
}
|
|
|
|
|
|
/* 取得点检项目 */
|
|
|
List<FaItemListForPadRes> listResTemp = firstArticleMapper.getFaItemListForPad(req);
|
|
|
-
|
|
|
- List<FaItemListForPadRes> listRes = new ArrayList<FaItemListForPadRes>();
|
|
|
+
|
|
|
+ List<FaItemListForPadRes> listRes = new ArrayList<FaItemListForPadRes>();
|
|
|
for (FaItemListForPadRes faItemListForPadRes : listResTemp) {
|
|
|
/* 序号拆分(从1到10,就拆分成10条) */
|
|
|
int snoStart = faItemListForPadRes.getSnoStart();
|
|
|
int snoEnd = faItemListForPadRes.getSnoEnd();
|
|
|
-
|
|
|
- FaItemListForPadRes itemInfo = null;
|
|
|
+
|
|
|
+ FaItemListForPadRes itemInfo = null;
|
|
|
for (int i = snoStart; i <= snoEnd; i++) {
|
|
|
itemInfo = new FaItemListForPadRes();
|
|
|
-
|
|
|
- itemInfo.setSno(i);
|
|
|
- itemInfo.setId(faItemListForPadRes.getId());
|
|
|
+
|
|
|
+ itemInfo.setSno(i);
|
|
|
+ itemInfo.setId(faItemListForPadRes.getId());
|
|
|
itemInfo.setWorkshopId(faItemListForPadRes.getWorkshopId());
|
|
|
- itemInfo.setItemContent(faItemListForPadRes.getItemContent());
|
|
|
+ itemInfo.setItemContent(faItemListForPadRes.getItemContent());
|
|
|
itemInfo.setItemStandard(faItemListForPadRes.getItemStandard());
|
|
|
- itemInfo.setPrefix(faItemListForPadRes.getPrefix());
|
|
|
+ itemInfo.setPrefix(faItemListForPadRes.getPrefix());
|
|
|
itemInfo.setSnoStart(faItemListForPadRes.getSnoStart());
|
|
|
- itemInfo.setSnoEnd(faItemListForPadRes.getSnoEnd());
|
|
|
+ itemInfo.setSnoEnd(faItemListForPadRes.getSnoEnd());
|
|
|
itemInfo.setValFlag(faItemListForPadRes.getValFlag());
|
|
|
itemInfo.setValUp(faItemListForPadRes.getValUp());
|
|
|
- itemInfo.setValDown(faItemListForPadRes.getValDown());
|
|
|
- itemInfo.setValOk(faItemListForPadRes.getValOk());
|
|
|
+ itemInfo.setValDown(faItemListForPadRes.getValDown());
|
|
|
+ itemInfo.setValOk(faItemListForPadRes.getValOk());
|
|
|
itemInfo.setValDesc(faItemListForPadRes.getValDesc());
|
|
|
- itemInfo.setLevelInfo(faItemListForPadRes.getLevelInfo());
|
|
|
+ itemInfo.setLevelInfo(faItemListForPadRes.getLevelInfo());
|
|
|
itemInfo.setProductInfo(faItemListForPadRes.getProductInfo());
|
|
|
itemInfo.setToolId(faItemListForPadRes.getToolId());
|
|
|
itemInfo.setToolDesc(faItemListForPadRes.getToolDesc());
|
|
|
itemInfo.setFirstFlag(faItemListForPadRes.getFirstFlag());
|
|
|
- itemInfo.setTwoHundredFlag(faItemListForPadRes.getTwoHundredFlag());
|
|
|
+ itemInfo.setTwoHundredFlag(faItemListForPadRes.getTwoHundredFlag());
|
|
|
itemInfo.setCatchFlag(faItemListForPadRes.getCatchFlag());
|
|
|
itemInfo.setValUnit(faItemListForPadRes.getValUnit());
|
|
|
|
|
@@ -625,7 +618,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
return ResponseBeanBuilder.ok(listRes, Function.identity());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 添加巡检项目检查结果
|
|
|
* @param req
|
|
@@ -643,8 +636,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
searchFaTaskInfoReq.setStatus(0); // task状态为0初始化
|
|
|
}
|
|
|
FirstArticleTask faTaskInfo = this.getFaTaskInfo(searchFaTaskInfoReq);
|
|
|
-
|
|
|
- long firstArticleTaskId = 0;
|
|
|
+
|
|
|
+ long firstArticleTaskId = 0;
|
|
|
if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
if (faTaskInfo == null) {
|
|
|
return ResponseBeanBuilder.fail("计划任务不存在!");
|
|
@@ -671,8 +664,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
.remindNoworkFlag(0)
|
|
|
.build();
|
|
|
firstArticleTaskService.save(firstArticleTask);
|
|
|
-
|
|
|
- firstArticleTaskId = firstArticleTask.getId();
|
|
|
+
|
|
|
+ firstArticleTaskId = firstArticleTask.getId();
|
|
|
} else { // 存在一个初始化状态的task,就用这个
|
|
|
firstArticleTaskId = faTaskInfo.getId();
|
|
|
}
|
|
@@ -684,12 +677,12 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
for (AddFaItemResultReq itemResult : addFaItemResultList) {
|
|
|
firstArticleItemIdList.add(itemResult.getFirstArticleItemId());
|
|
|
}
|
|
|
-
|
|
|
- firstArticleItemResultService.remove(Wrappers.<FirstArticleItemResult>lambdaQuery()
|
|
|
+
|
|
|
+ firstArticleItemResultService.remove(Wrappers.<FirstArticleItemResult>lambdaQuery()
|
|
|
.eq(FirstArticleItemResult::getFirstArticleTaskId, firstArticleTaskId)
|
|
|
.in(FirstArticleItemResult::getFirstArticleItemId, firstArticleItemIdList));
|
|
|
-
|
|
|
- /* 添加新的检查结果 */
|
|
|
+
|
|
|
+ /* 添加新的检查结果 */
|
|
|
// List<AddFaItemResultReq> addFaItemResultList = req.getAddFaItemResultList();
|
|
|
for (AddFaItemResultReq addFaItemResult : addFaItemResultList) {
|
|
|
FirstArticleItemResult firstArticleItemResult = FirstArticleItemResult.builder()
|
|
@@ -725,8 +718,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
searchFaTaskInfoReq.setStatus(0); // task状态为0初始化
|
|
|
}
|
|
|
FirstArticleTask faTaskInfo = this.getFaTaskInfo(searchFaTaskInfoReq);
|
|
|
-
|
|
|
- long firstArticleTaskId = 0;
|
|
|
+
|
|
|
+ long firstArticleTaskId = 0;
|
|
|
if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
if (faTaskInfo == null) {
|
|
|
return ResponseBeanBuilder.fail("计划任务不存在!");
|
|
@@ -748,8 +741,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
/* 取得task下的所有条目检查结果 */
|
|
|
List<FirstArticleItemResult> firstArticleItemResultList = firstArticleItemResultService.list(Wrappers.<FirstArticleItemResult>lambdaQuery()
|
|
|
.eq(FirstArticleItemResult::getFirstArticleTaskId, firstArticleTaskId));
|
|
|
-
|
|
|
- boolean flag = true; // true表示巡检项目都通过,false表示巡检项目有不通过的
|
|
|
+
|
|
|
+ boolean flag = true; // true表示巡检项目都通过,false表示巡检项目有不通过的
|
|
|
for (FirstArticleItemResult firstArticleItemResult : firstArticleItemResultList) {
|
|
|
if (firstArticleItemResult.getResult() == 1) {
|
|
|
flag = false;
|
|
@@ -788,8 +781,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
firstArticleApprovalTaskService.save(firstArticleApprovalTask);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- /* 更新中断的操作人 */
|
|
|
+
|
|
|
+ /* 更新中断的操作人 */
|
|
|
if (req.getTypeFlag() == 2) {
|
|
|
LambdaUpdateWrapper<FirstArticleCalendar> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
lambdaUpdateWrapper.eq(FirstArticleCalendar::getBentelerPlanId, req.getBentelerPlanId())
|
|
@@ -800,8 +793,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
return ResponseBeanBuilder.ok();
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
+
|
|
|
+ /**
|
|
|
* 取得不放行任务对应的工作站
|
|
|
*
|
|
|
* @param req
|
|
@@ -824,9 +817,9 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
List<FaItemNoGoListRes> faItemNoGoList = firstArticleMapper.getFaItemNoGoList(req);
|
|
|
return ResponseBeanBuilder.ok(faItemNoGoList, Function.identity());
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 修改巡检项目检查结果(这里只有重检走这里)
|
|
|
*
|
|
|
* @param req
|
|
@@ -851,9 +844,9 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
return ResponseBeanBuilder.ok();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 任务和巡检结果记录历史
|
|
|
*
|
|
|
* @param onsiteTaskId
|
|
@@ -886,8 +879,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
+
|
|
|
+ /**
|
|
|
* 取得表头信息
|
|
|
* @param bentelerPlanId
|
|
|
* @return 表头信息
|
|
@@ -896,8 +889,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
public FirstArticleTitle getFaTitle(Long bentelerPlanId) {
|
|
|
FirstArticleTitleBlob firstArticleTitleBlob = firstArticleTitleBlobService.getOne(new LambdaQueryWrapper<FirstArticleTitleBlob>()
|
|
|
.eq(FirstArticleTitleBlob::getBentelerPlanId, bentelerPlanId));
|
|
|
-
|
|
|
- FirstArticleTitle firstArticleTitle = new FirstArticleTitle();
|
|
|
+
|
|
|
+ FirstArticleTitle firstArticleTitle = new FirstArticleTitle();
|
|
|
try {
|
|
|
firstArticleTitle = (FirstArticleTitle)this.byteArrayToObject(firstArticleTitleBlob.getTitleContent());
|
|
|
} catch (Exception e) {
|
|
@@ -906,8 +899,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
}
|
|
|
return firstArticleTitle;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 取得任务(首件、200件都是后台生成的任务,每个用户、计划、当天、类型(首件或200件))对应的应该是一个task。中断的task可以随便提交,所以要取状态是0初始化的,用户是-1这个userId不用传
|
|
|
* @param req
|
|
@@ -918,7 +911,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
FirstArticleTask firstArticleTask = firstArticleMapper.getFaTaskInfo(req);
|
|
|
return firstArticleTask;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 查询中断最新的task
|
|
|
* @param req
|
|
@@ -929,10 +922,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
FirstArticleTask firstArticleTask = firstArticleMapper.getFaTaskInfoCatchLatest(req);
|
|
|
return firstArticleTask;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 取得不放行任务对应的质量经理审批信息
|
|
|
- *
|
|
|
+ *
|
|
|
* @param req
|
|
|
* @return 不放行任务对应的质量经理审批信息
|
|
|
*/
|
|
@@ -941,10 +934,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
FaNoGoTaskAapprovalRes faNoGoTaskAapprovalRes = firstArticleMapper.getFaNoGoTaskAapproval(req);
|
|
|
return ResponseBeanBuilder.ok(faNoGoTaskAapprovalRes);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 取得所有计划
|
|
|
- *
|
|
|
+ *
|
|
|
* @param req
|
|
|
* @return 所有计划
|
|
|
*/
|
|
@@ -955,10 +948,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
.eq(BentelerPlan::getPauseFlag, false));
|
|
|
return ResponseBeanBuilder.ok(aLLPlanList, Function.identity());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 检查记录列表
|
|
|
- *
|
|
|
+ *
|
|
|
* @param req
|
|
|
* @return 检查记录列表
|
|
|
*/
|
|
@@ -978,8 +971,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
/* 200件检查结果 */
|
|
|
List<FirstArticleItemResult> twoHundredItemResultList = this.getItemResultList(firstArticleItem.getId(), req.getCheckDate(), 1);
|
|
|
firstArticleItem.setTwoHundredItemResultList(twoHundredItemResultList);
|
|
|
-
|
|
|
- /* 中断检查结果(一天提交多个中断task,暂时都取出来了) */
|
|
|
+
|
|
|
+ /* 中断检查结果(一天提交多个中断task,暂时都取出来了) */
|
|
|
List<FirstArticleItemResult> catchItemResultList = this.getItemResultList(firstArticleItem.getId(), req.getCheckDate(), 2);
|
|
|
firstArticleItem.setCatchItemResultList(catchItemResultList);
|
|
|
|
|
@@ -999,10 +992,10 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
firstArticleWorkshop.setFirstArticleItemList(firstArticleItemList);
|
|
|
}
|
|
|
FaCheckRecordListRes.setFirstArticleWorkshopList(firstArticleWorkshopList);
|
|
|
-
|
|
|
- return ResponseBeanBuilder.ok(FaCheckRecordListRes);
|
|
|
+
|
|
|
+ return ResponseBeanBuilder.ok(FaCheckRecordListRes);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 取得首件、200件、中断每天的点检记录
|
|
|
* @param req
|
|
@@ -1013,7 +1006,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
List<FirstArticleItemResult> faItemResultList = firstArticleMapper.getFaItemResultList(req);
|
|
|
return faItemResultList;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 取得首件、200件、中断每天的点检记录
|
|
|
* @param firstArticleItemId
|
|
@@ -1026,11 +1019,11 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
searchFaItemResultListReq.setFirstArticleItemId(firstArticleItemId);
|
|
|
searchFaItemResultListReq.setCheckDate(checkDate);
|
|
|
searchFaItemResultListReq.setTypeFlag(typeFlag);
|
|
|
-
|
|
|
- List<FirstArticleItemResult> faItemResultList = this.getFaItemResultList(searchFaItemResultListReq);
|
|
|
+
|
|
|
+ List<FirstArticleItemResult> faItemResultList = this.getFaItemResultList(searchFaItemResultListReq);
|
|
|
return faItemResultList;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// /**
|
|
|
// * 判断检验结果是否填写完成
|
|
|
// * @param req
|
|
@@ -1075,9 +1068,9 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
//
|
|
|
// return faAllCheckFlagRes;
|
|
|
// }
|
|
|
-
|
|
|
-
|
|
|
- /**
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 取得用户列表
|
|
|
* @param req
|
|
|
* @return 取得用户列表
|
|
@@ -1091,10 +1084,12 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
@Override
|
|
|
public ResponseBean<FileRes> exportFaCheckRecordList(SearchFaCheckRecordListReq req) {
|
|
|
+ BentelerPlan plan = planService.getById(req.getBentelerPlanId());
|
|
|
+
|
|
|
List<FirstArticleWorkshop> firstArticleWorkshopList = getFaCheckRecordList(req).getData().getFirstArticleWorkshopList();
|
|
|
FirstArticleTitle title = getFaTitle(req.getBentelerPlanId());
|
|
|
Map<String, String> titleMap = Convert.toMap(String.class, String.class, title);
|
|
|
-
|
|
|
+ titleMap.put("title", plan.getName());
|
|
|
|
|
|
ArrayList<Map<String, String>> arrayList = new ArrayList<>();
|
|
|
//返回工作站结果
|
|
@@ -1102,22 +1097,70 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
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) -> {
|
|
|
+ List<String> frequencyList = new ArrayList<String>();
|
|
|
beanMap.merge(key, value, (v1, v2) -> v1);
|
|
|
- String s = item1.getValFlag().equals(0) ? item1.getValDown().toString()+"NM -" + item1.getValUp().toString()+"NM" : (item1.getValOk().equals(0) ? "OK" : "NoK");
|
|
|
- beanMap.put("valFlag",s);
|
|
|
- if (item1.getFirstFlag().equals(1)){
|
|
|
+ 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);
|
|
|
|
|
|
arrayList.add(beanMap);
|
|
|
});
|
|
@@ -1179,7 +1222,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
baos.close();
|
|
|
return bytes;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* byte[]转成Object
|
|
|
* @param byte[]
|
|
@@ -1192,5 +1235,5 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
ois.close();
|
|
|
return ob;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|