|
@@ -1,6 +1,24 @@
|
|
|
package com.factory.web.service.impl.fa;
|
|
|
|
|
|
-import cn.hutool.core.convert.Convert;
|
|
|
+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 com.alibaba.excel.EasyExcel;
|
|
|
import com.alibaba.excel.ExcelWriter;
|
|
|
import com.alibaba.excel.write.metadata.WriteSheet;
|
|
@@ -18,31 +36,71 @@ 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.*;
|
|
|
-import com.factory.web.entity.fa.req.*;
|
|
|
-import com.factory.web.entity.fa.res.*;
|
|
|
+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.pm.OnsiteApprovalPlan;
|
|
|
+import com.factory.web.entity.pm.PlanBind;
|
|
|
import com.factory.web.entity.pm.res.ApprovalUserRes;
|
|
|
import com.factory.web.mapper.fa.FirstArticleMapper;
|
|
|
import com.factory.web.service.BentelerPlanService;
|
|
|
-import com.factory.web.service.fa.*;
|
|
|
+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.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 java.io.*;
|
|
|
-import java.time.LocalDate;
|
|
|
-import java.time.format.DateTimeFormatter;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-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 cn.hutool.core.convert.Convert;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -96,6 +154,8 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
@Autowired
|
|
|
private CommonService commonService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PlanBindService planBindService;
|
|
|
|
|
|
/**
|
|
|
* 新建防错计划
|
|
@@ -288,143 +348,277 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
return faPlanRes;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
- * 修改首件计划
|
|
|
+ * 校验当前计划是否审批通过
|
|
|
*
|
|
|
+ * @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) {
|
|
|
-
|
|
|
- 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() + "已存在");
|
|
|
+ @Override
|
|
|
+ public ResponseBean editFaPlan(EditFaPlanReq req) {
|
|
|
+
|
|
|
+ if (this.checkApprovalPlan(req.getBentelerPlanId())) { // 审批通过
|
|
|
+
|
|
|
+// /* 校验计划名称是否存在 */
|
|
|
+// if (this.checkPlanNameExist(req.getBentelerPlanName())) {
|
|
|
+// return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
// }
|
|
|
|
|
|
- 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();
|
|
|
- }
|
|
|
+ /* 添加防错计划 */
|
|
|
+ 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) {
|
|
|
+// 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();
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 取得首件计划点检列表
|