|
@@ -4,6 +4,7 @@ import java.io.ByteArrayInputStream;
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
import java.io.ObjectInputStream;
|
|
|
import java.io.ObjectOutputStream;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.function.Function;
|
|
@@ -40,24 +41,28 @@ 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.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.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.pm.OnsiteApprovalPlan;
|
|
|
-import com.factory.web.entity.pm.OnsiteTitle;
|
|
|
-import com.factory.web.entity.pm.OnsiteTitleBlob;
|
|
|
import com.factory.web.entity.pm.res.ApprovalUserRes;
|
|
|
import com.factory.web.mapper.fa.FirstArticleMapper;
|
|
|
import com.factory.web.service.BentelerPlanService;
|
|
@@ -515,10 +520,55 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseBean addFaItemResult(AddFaItemResultListReq req) {
|
|
|
+ /* 取得task信息 */
|
|
|
+ SearchFaTaskInfoReq searchFaTaskInfoReq = new SearchFaTaskInfoReq();
|
|
|
+ searchFaTaskInfoReq.setBentelerPlanId(req.getBentelerPlanId());
|
|
|
+ searchFaTaskInfoReq.setTypeFlag(req.getTypeFlag());
|
|
|
+ if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
+ searchFaTaskInfoReq.setUserId(req.getUserId());
|
|
|
+ } else { // 2表示中断
|
|
|
+ searchFaTaskInfoReq.setStatus(0); // task状态为0初始化
|
|
|
+ }
|
|
|
+ FirstArticleTask faTaskInfo = this.getFaTaskInfo(searchFaTaskInfoReq);
|
|
|
+
|
|
|
+ long firstArticleTaskId = 0;
|
|
|
+ if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
+ if (faTaskInfo == null) {
|
|
|
+ return ResponseBeanBuilder.fail("计划任务不存在!");
|
|
|
+ } else {
|
|
|
+ if (faTaskInfo.getStatus() == 0) {
|
|
|
+ firstArticleTaskId = faTaskInfo.getId();
|
|
|
+ } else {
|
|
|
+ return ResponseBeanBuilder.fail("该计划任务已处理!无需重复提交!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else { // 2表示中断
|
|
|
+ if (faTaskInfo == null) { // 没有初始化状态的task,新建一个
|
|
|
+ /* 取得中断对应的规则 */
|
|
|
+ FirstArticleCalendar firstArticleCalendar = firstArticleCalendarService.getOne(new LambdaQueryWrapper<FirstArticleCalendar>()
|
|
|
+ .eq(FirstArticleCalendar::getBentelerPlanId, req.getBentelerPlanId())
|
|
|
+ .eq(FirstArticleCalendar::getTypeFlag, 2));
|
|
|
+
|
|
|
+ /* 创建一个新的中断task */
|
|
|
+ FirstArticleTask firstArticleTask = FirstArticleTask.builder()
|
|
|
+ .firstArticleCalendarId(firstArticleCalendar.getId())
|
|
|
+ .status(0)
|
|
|
+ .taskTime(LocalDate.now())
|
|
|
+ .remindTaskFlag(0)
|
|
|
+ .remindNoworkFlag(0)
|
|
|
+ .build();
|
|
|
+ firstArticleTaskService.save(firstArticleTask);
|
|
|
+
|
|
|
+ firstArticleTaskId = firstArticleTask.getId();
|
|
|
+ } else { // 存在一个初始化状态的task,就用这个
|
|
|
+ firstArticleTaskId = faTaskInfo.getId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
List<AddFaItemResultReq> addFaItemResultList = req.getAddFaItemResultList();
|
|
|
for (AddFaItemResultReq addFaItemResult : addFaItemResultList) {
|
|
|
FirstArticleItemResult firstArticleItemResult = FirstArticleItemResult.builder()
|
|
|
- .firstArticleTaskId(req.getFirstArticleTaskId())
|
|
|
+ .firstArticleTaskId(firstArticleTaskId)
|
|
|
.firstArticleItemId(addFaItemResult.getFirstArticleItemId())
|
|
|
.val(addFaItemResult.getVal())
|
|
|
.valDesc(addFaItemResult.getValDesc())
|
|
@@ -532,19 +582,63 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
return ResponseBeanBuilder.ok();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
/**
|
|
|
* 任务提交
|
|
|
* @param req
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public ResponseBean submitFaTask(SearchFaTaskReq req) {
|
|
|
+ public ResponseBean submitFaTask(SubmitFaTaskReq req) {
|
|
|
+ /* 取得task信息 */
|
|
|
+ SearchFaTaskInfoReq searchFaTaskInfoReq = new SearchFaTaskInfoReq();
|
|
|
+ searchFaTaskInfoReq.setBentelerPlanId(req.getBentelerPlanId());
|
|
|
+ searchFaTaskInfoReq.setTypeFlag(req.getTypeFlag());
|
|
|
+ if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
+ searchFaTaskInfoReq.setUserId(req.getUserId());
|
|
|
+ } else { // 2表示中断
|
|
|
+ searchFaTaskInfoReq.setStatus(0); // task状态为0初始化
|
|
|
+ }
|
|
|
+ FirstArticleTask faTaskInfo = this.getFaTaskInfo(searchFaTaskInfoReq);
|
|
|
+
|
|
|
+ long firstArticleTaskId = 0;
|
|
|
+ if (req.getTypeFlag() == 0 || req.getTypeFlag() == 1) { // 0表示首件 1表示200件
|
|
|
+ if (faTaskInfo == null) {
|
|
|
+ return ResponseBeanBuilder.fail("计划任务不存在!");
|
|
|
+ } else {
|
|
|
+ if (faTaskInfo.getStatus() == 0) {
|
|
|
+ firstArticleTaskId = faTaskInfo.getId();
|
|
|
+ } else {
|
|
|
+ return ResponseBeanBuilder.fail("该计划任务已处理!无需重复提交!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else { // 2表示中断
|
|
|
+ if (faTaskInfo == null) { // 没有初始化状态的task,新建一个
|
|
|
+ return ResponseBeanBuilder.fail("计划任务不存在!");
|
|
|
+// /* 取得中断对应的规则 */
|
|
|
+// FirstArticleCalendar firstArticleCalendar = firstArticleCalendarService.getOne(new LambdaQueryWrapper<FirstArticleCalendar>()
|
|
|
+// .eq(FirstArticleCalendar::getBentelerPlanId, req.getBentelerPlanId())
|
|
|
+// .eq(FirstArticleCalendar::getTypeFlag, 2));
|
|
|
+//
|
|
|
+// /* 创建一个新的中断task */
|
|
|
+// FirstArticleTask firstArticleTask = FirstArticleTask.builder()
|
|
|
+// .firstArticleCalendarId(firstArticleCalendar.getId())
|
|
|
+// .status(0)
|
|
|
+// .taskTime(LocalDate.now())
|
|
|
+// .remindTaskFlag(0)
|
|
|
+// .remindNoworkFlag(0)
|
|
|
+// .build();
|
|
|
+// firstArticleTaskService.save(firstArticleTask);
|
|
|
+//
|
|
|
+// firstArticleTaskId = firstArticleTask.getId();
|
|
|
+ } else { // 存在一个初始化状态的task,就用这个
|
|
|
+ firstArticleTaskId = faTaskInfo.getId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/* 取得task下的所有条目检查结果 */
|
|
|
List<FirstArticleItemResult> firstArticleItemResultList = firstArticleItemResultService.list(Wrappers.<FirstArticleItemResult>lambdaQuery()
|
|
|
- .eq(FirstArticleItemResult::getFirstArticleTaskId, req.getFirstArticleTaskId()));
|
|
|
+ .eq(FirstArticleItemResult::getFirstArticleTaskId, firstArticleTaskId));
|
|
|
|
|
|
boolean flag = true; // true表示巡检项目都通过,false表示巡检项目有不通过的
|
|
|
for (FirstArticleItemResult firstArticleItemResult : firstArticleItemResultList) {
|
|
@@ -556,14 +650,14 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
if (flag) { // 巡检项目都通过
|
|
|
FirstArticleTask firstArticleTask = FirstArticleTask.builder()
|
|
|
- .id(req.getFirstArticleTaskId())
|
|
|
+ .id(firstArticleTaskId)
|
|
|
.status(4)
|
|
|
.build();
|
|
|
firstArticleTaskService.updateById(firstArticleTask);
|
|
|
} else { // 巡检项目有不通过的
|
|
|
/* 更新任务为1待审核状态。等待后续审核 */
|
|
|
FirstArticleTask firstArticleTask = FirstArticleTask.builder()
|
|
|
- .id(req.getFirstArticleTaskId())
|
|
|
+ .id(firstArticleTaskId)
|
|
|
.status(1)
|
|
|
.build();
|
|
|
firstArticleTaskService.updateById(firstArticleTask);
|
|
@@ -695,6 +789,70 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
return firstArticleTitle;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 取得任务(首件、200件都是后台生成的任务,每个用户、计划、当天、类型(首件或200件))对应的应该是一个task。中断的task可以随便提交,所以要取状态是0初始化的,用户是-1这个userId不用传
|
|
|
+ * @param req
|
|
|
+ * @return 任务
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public FirstArticleTask getFaTaskInfo(SearchFaTaskInfoReq req) {
|
|
|
+ FirstArticleTask firstArticleTask = firstArticleMapper.getFaTaskInfo(req);
|
|
|
+ return firstArticleTask;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 取得不放行任务对应的质量经理审批信息
|
|
|
+ *
|
|
|
+ * @param req
|
|
|
+ * @return 不放行任务对应的质量经理审批信息
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean<FaNoGoTaskAapprovalRes> getFaNoGoTaskAapproval(SearchFaTaskReq req) {
|
|
|
+ FaNoGoTaskAapprovalRes faNoGoTaskAapprovalRes = firstArticleMapper.getFaNoGoTaskAapproval(req);
|
|
|
+ return ResponseBeanBuilder.ok(faNoGoTaskAapprovalRes);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 取得所有计划
|
|
|
+ *
|
|
|
+ * @param req
|
|
|
+ * @return 所有计划
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean<List<BentelerPlan>> getALLPlanList(SearchALLPlanListReq req) {
|
|
|
+ List<BentelerPlan> aLLPlanList = planService.list(Wrappers.<BentelerPlan>lambdaQuery()
|
|
|
+ .eq(BentelerPlan::getPlanType, req.getPlanType())
|
|
|
+ .eq(BentelerPlan::getPauseFlag, false));
|
|
|
+ return ResponseBeanBuilder.ok(aLLPlanList, Function.identity());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检查记录列表
|
|
|
+ *
|
|
|
+ * @param req
|
|
|
+ * @return 检查记录列表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResponseBean<FaCheckRecordListRes> getFaCheckRecordList(SearchFaCheckRecordListReq req) {
|
|
|
+ FaCheckRecordListRes FaCheckRecordListRes = new FaCheckRecordListRes();
|
|
|
+ List<FirstArticleWorkshop> firstArticleWorkshopList = firstArticleWorkshopService.list(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
+ .eq(FirstArticleWorkshop::getBentelerPlanId, req.getBentelerPlanId()));
|
|
|
+ for (FirstArticleWorkshop firstArticleWorkshop : firstArticleWorkshopList) {
|
|
|
+ List<FirstArticleItem> firstArticleItemList = firstArticleItemService.list(Wrappers.<FirstArticleItem>lambdaQuery()
|
|
|
+ .eq(FirstArticleItem::getWorkshopId, firstArticleWorkshop.getId()));
|
|
|
+// for (FirstArticleItem firstArticleItem : firstArticleItemList) {
|
|
|
+//
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ firstArticleWorkshop.setFirstArticleItemList(firstArticleItemList);
|
|
|
+ }
|
|
|
+ FaCheckRecordListRes.setFirstArticleWorkshopList(firstArticleWorkshopList);
|
|
|
+
|
|
|
+ return ResponseBeanBuilder.ok(FaCheckRecordListRes);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|