|
@@ -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;
|
|
@@ -35,79 +17,41 @@ import com.factory.base.entity.enumPo.PlanStatus;
|
|
|
import com.factory.base.entity.enumPo.PlanType;
|
|
|
import com.factory.base.entity.po.benteler.BentelerPlan;
|
|
|
import com.factory.base.util.res.ResponseBeanBuilder;
|
|
|
+import com.factory.base.util.time.TimeConvert;
|
|
|
import com.factory.user.entity.vo.res.FileRes;
|
|
|
import com.factory.user.service.CommonService;
|
|
|
-import com.factory.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.SearchHisPlanListReq;
|
|
|
-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.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.FileService;
|
|
|
-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.impl.FileEntry;
|
|
|
import com.factory.web.service.pm.OnsiteApprovalPlanService;
|
|
|
import com.factory.web.service.pm.PlanBindService;
|
|
|
import com.factory.web.service.pm.PreventMistakeService;
|
|
|
import com.factory.wx.entity.req.SendMsgReq;
|
|
|
import com.factory.wx.service.WxService;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
|
|
|
-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;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -116,6 +60,7 @@ import cn.hutool.core.convert.Convert;
|
|
|
* @author wzy
|
|
|
* @date 2021-07-09 12:00:00
|
|
|
*/
|
|
|
+@Slf4j
|
|
|
@Service("firstArticleService")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, BentelerPlan> implements FirstArticleService {
|
|
@@ -171,101 +116,92 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
private WxService wxService;
|
|
|
|
|
|
/**
|
|
|
- * 新建防错计划
|
|
|
+ * 新建首件计划
|
|
|
*
|
|
|
* @param req
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseBean addFaPlan(AddFaPlanReq req) {
|
|
|
- /* 校验计划名称是否存在 */
|
|
|
- if (this.checkPlanNameExist(req.getBentelerPlanName(),null)) {
|
|
|
+ // 校验计划名称是否存在
|
|
|
+ if (this.checkPlanNameExist(req.getBentelerPlanName(), null)) {
|
|
|
return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
}
|
|
|
-
|
|
|
- /* 添加防错计划 */
|
|
|
- BentelerPlan plan = BentelerPlan.builder()
|
|
|
- .planType(PlanType.首件.value)
|
|
|
- .name(req.getBentelerPlanName())
|
|
|
- .pauseFlag(false)
|
|
|
- .effectiveDate(req.getEffectiveDate())
|
|
|
- .status(PlanStatus.WAIT_APPROVAL.value)
|
|
|
- .build();
|
|
|
- planService.save(plan);
|
|
|
-
|
|
|
- /* 添加首件、200件点检规则 */
|
|
|
- List<FirstArticleCalendarReq> firstArticleCalendarList = req.getFirstArticleCalendarList();
|
|
|
- for (FirstArticleCalendarReq firstArticleCalendarReq : firstArticleCalendarList) {
|
|
|
+ try {
|
|
|
+ // 添加首件计划
|
|
|
+ BentelerPlan plan = BentelerPlan.builder()
|
|
|
+ .planType(PlanType.首件.value)
|
|
|
+ .name(req.getBentelerPlanName())
|
|
|
+ .pauseFlag(false)
|
|
|
+ .effectiveDate(req.getEffectiveDate())
|
|
|
+ .status(PlanStatus.WAIT_APPROVAL.value)
|
|
|
+ .build();
|
|
|
+ planService.save(plan);
|
|
|
+ // 添加首件、200件点检规则
|
|
|
FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .firstStart(req.getFirstStart())
|
|
|
+ .firstRemind(TimeConvert.timeString2String(req.getFirstStart(), req.getFirstCheck() * 60, "HH:mm"))
|
|
|
+ .firstEnd(req.getFirstEnd())
|
|
|
+ .twoRemind(req.getTwoHundredSubmitTime())
|
|
|
+ .upleverTimeNum(req.getFirstUpdate())
|
|
|
+ .typeFlag(req.getTypeFlag())
|
|
|
+ .principalOneShift(req.getPrincipalOneShift())
|
|
|
+ .principalTwoShift(req.getPrincipalTwoShift())
|
|
|
+ .principalOneId(req.getPrincipalOneId())
|
|
|
+ .principalTwoId(req.getPrincipalTwoId())
|
|
|
.build();
|
|
|
firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
- }
|
|
|
-
|
|
|
- /* 默认插入一条中断点检规则 */
|
|
|
- FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
- .bentelerPlanId(plan.getId())
|
|
|
- .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())
|
|
|
- .valUnit(firstArticleItemReq.getValUnit())
|
|
|
- .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())
|
|
|
+ // 添加工作站信息
|
|
|
+ List<FirstArticleWorkshopReq> firstArticleWorkshopList = req.getFirstArticleWorkshopList();
|
|
|
+ for (FirstArticleWorkshopReq firstArticleWorkshopReq : firstArticleWorkshopList) {
|
|
|
+ FirstArticleWorkshop firstArticleWorkshop = FirstArticleWorkshop.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .wsName(firstArticleWorkshopReq.getWsName())
|
|
|
+ .plName(firstArticleWorkshopReq.getPlName())
|
|
|
.build();
|
|
|
- firstArticleItemService.save(firstArticleItem);
|
|
|
+ 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())
|
|
|
+ .valUnit(firstArticleItemReq.getValUnit())
|
|
|
+ .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);
|
|
|
+ }
|
|
|
}
|
|
|
+ planService.updateById(BentelerPlan.builder()
|
|
|
+ .id(plan.getId())
|
|
|
+ .originalId(plan.getId())
|
|
|
+ .build());
|
|
|
+ onsiteApprovalPlanService.setApprovalFirst(plan.getId(), false);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- planService.updateById(BentelerPlan.builder()
|
|
|
- .id(plan.getId())
|
|
|
- .originalId(plan.getId())
|
|
|
- .build());
|
|
|
- onsiteApprovalPlanService.setApprovalFirst(plan.getId(),false);
|
|
|
-
|
|
|
return ResponseBeanBuilder.ok();
|
|
|
}
|
|
|
|
|
@@ -277,12 +213,12 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
* @return true存在,false不存在
|
|
|
*/
|
|
|
@Override
|
|
|
- public boolean checkPlanNameExist(String name,Long originalId) {
|
|
|
+ public boolean checkPlanNameExist(String name, Long originalId) {
|
|
|
int count = planService.count(
|
|
|
Wrappers.<BentelerPlan>lambdaQuery()
|
|
|
- .eq(BentelerPlan::getName, name)
|
|
|
- .ne(originalId!=null,BentelerPlan::getOriginalId, originalId)
|
|
|
- );
|
|
|
+ .eq(BentelerPlan::getName, name)
|
|
|
+ .ne(originalId != null, BentelerPlan::getOriginalId, originalId)
|
|
|
+ );
|
|
|
if (count > 0) {
|
|
|
return true;
|
|
|
} else {
|
|
@@ -382,200 +318,183 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
*/
|
|
|
@Override
|
|
|
public ResponseBean editFaPlan(EditFaPlanReq req) {
|
|
|
- BentelerPlan plan = null;
|
|
|
- BentelerPlan oldPlan = planService.getById(req.getBentelerPlanId());
|
|
|
- BentelerPlan oldEdit = null;
|
|
|
- if(oldPlan.getStatus()>=PlanStatus.APPROVAL_PASS.value) {
|
|
|
- oldEdit = planService.lambdaQuery()
|
|
|
- .eq(BentelerPlan::getOriginalId, oldPlan.getOriginalId())
|
|
|
- .in(BentelerPlan::getStatus,PlanStatus.WAIT_APPROVAL.value,PlanStatus.APPROVAL_REFUSE.value)
|
|
|
- .one();//保证未审核通过的版本只有一个
|
|
|
- }
|
|
|
- if(oldEdit!=null) {
|
|
|
- oldPlan = oldEdit;
|
|
|
- }
|
|
|
- if (!req.getBentelerPlanName().equals(oldPlan.getName())) {
|
|
|
- /* 校验计划名称是否存在 */
|
|
|
- if (this.checkPlanNameExist(req.getBentelerPlanName(),oldPlan.getId())) {
|
|
|
- return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
- }
|
|
|
- }
|
|
|
- boolean clearApproval = false;
|
|
|
- if(oldPlan.getStatus()>=PlanStatus.APPROVAL_PASS.value) { // 审批通过
|
|
|
- /* 添加防错计划 */
|
|
|
- plan = BentelerPlan.builder()
|
|
|
- .planType(PlanType.首件.value)
|
|
|
- .name(req.getBentelerPlanName())
|
|
|
- .pauseFlag(false)
|
|
|
- .effectiveDate(req.getEffectiveDate())
|
|
|
- .prevId(oldPlan.getId())
|
|
|
- .originalId(oldPlan.getOriginalId())
|
|
|
- .status(PlanStatus.WAIT_APPROVAL.value)
|
|
|
- .build();
|
|
|
- planService.save(plan);
|
|
|
-
|
|
|
- /* 添加首件、200件点检规则 */
|
|
|
- List<FirstArticleCalendarReq> firstArticleCalendarList = req.getFirstArticleCalendarList();
|
|
|
- for (FirstArticleCalendarReq firstArticleCalendarReq : firstArticleCalendarList) {
|
|
|
+ try {
|
|
|
+ BentelerPlan plan = null;
|
|
|
+ BentelerPlan oldPlan = planService.getById(req.getBentelerPlanId());
|
|
|
+ BentelerPlan oldEdit = null;
|
|
|
+ if (oldPlan.getStatus() >= PlanStatus.APPROVAL_PASS.value) {
|
|
|
+ // 保证未审核通过的版本只有一个
|
|
|
+ oldEdit = planService.lambdaQuery()
|
|
|
+ .eq(BentelerPlan::getOriginalId, oldPlan.getOriginalId())
|
|
|
+ .in(BentelerPlan::getStatus, PlanStatus.WAIT_APPROVAL.value, PlanStatus.APPROVAL_REFUSE.value)
|
|
|
+ .one();
|
|
|
+ }
|
|
|
+ if (oldEdit != null) {
|
|
|
+ oldPlan = oldEdit;
|
|
|
+ }
|
|
|
+ if (!req.getBentelerPlanName().equals(oldPlan.getName())) {
|
|
|
+ // 校验计划名称是否存在
|
|
|
+ if (this.checkPlanNameExist(req.getBentelerPlanName(), oldPlan.getId())) {
|
|
|
+ return ResponseBeanBuilder.fail("计划名称已存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ boolean clearApproval = false;
|
|
|
+ if (oldPlan.getStatus() >= PlanStatus.APPROVAL_PASS.value) { // 审批通过
|
|
|
+ // 添加首件计划
|
|
|
+ plan = BentelerPlan.builder()
|
|
|
+ .planType(PlanType.首件.value)
|
|
|
+ .name(req.getBentelerPlanName())
|
|
|
+ .pauseFlag(false)
|
|
|
+ .effectiveDate(req.getEffectiveDate())
|
|
|
+ .prevId(oldPlan.getId())
|
|
|
+ .originalId(oldPlan.getOriginalId())
|
|
|
+ .status(PlanStatus.WAIT_APPROVAL.value)
|
|
|
+ .build();
|
|
|
+ planService.save(plan);
|
|
|
+ // 添加首件、200件点检规则
|
|
|
FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .firstStart(req.getFirstStart())
|
|
|
+ .firstRemind(TimeConvert.timeString2String(req.getFirstStart(), req.getFirstCheck() * 60, "HH:mm"))
|
|
|
+ .firstEnd(req.getFirstEnd())
|
|
|
+ .twoRemind(req.getTwoHundredSubmitTime())
|
|
|
+ .upleverTimeNum(req.getFirstUpdate())
|
|
|
+ .typeFlag(req.getTypeFlag())
|
|
|
+ .principalOneShift(req.getPrincipalOneShift())
|
|
|
+ .principalTwoShift(req.getPrincipalTwoShift())
|
|
|
+ .principalOneId(req.getPrincipalOneId())
|
|
|
+ .principalTwoId(req.getPrincipalTwoId())
|
|
|
.build();
|
|
|
firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
- }
|
|
|
-
|
|
|
- /* 默认插入一条中断点检规则 */
|
|
|
- FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
- .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())
|
|
|
- .valUnit(firstArticleItemReq.getValUnit())
|
|
|
- .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())
|
|
|
+ // 添加工作站信息
|
|
|
+ List<FirstArticleWorkshopReq> firstArticleWorkshopList = req.getFirstArticleWorkshopList();
|
|
|
+ for (FirstArticleWorkshopReq firstArticleWorkshopReq : firstArticleWorkshopList) {
|
|
|
+ FirstArticleWorkshop firstArticleWorkshop = FirstArticleWorkshop.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .wsName(firstArticleWorkshopReq.getWsName())
|
|
|
+ .plName(firstArticleWorkshopReq.getPlName())
|
|
|
.build();
|
|
|
- firstArticleItemService.save(firstArticleItem);
|
|
|
+ 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())
|
|
|
+ .valUnit(firstArticleItemReq.getValUnit())
|
|
|
+ .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);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- } else { // 没审批通过
|
|
|
-
|
|
|
- /* 修改防错计划 */
|
|
|
- plan = BentelerPlan.builder()
|
|
|
- .id(oldPlan.getId())
|
|
|
- .name(req.getBentelerPlanName())
|
|
|
- .effectiveDate(req.getEffectiveDate())
|
|
|
- .status(PlanStatus.WAIT_APPROVAL.value)
|
|
|
- .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) {
|
|
|
+ } else {
|
|
|
+ // 没审批通过 修改防错计划
|
|
|
+ plan = BentelerPlan.builder()
|
|
|
+ .id(oldPlan.getId())
|
|
|
+ .name(req.getBentelerPlanName())
|
|
|
+ .effectiveDate(req.getEffectiveDate())
|
|
|
+ .status(PlanStatus.WAIT_APPROVAL.value)
|
|
|
+ .build();
|
|
|
+ planService.updateById(plan);
|
|
|
+ // 删除首件、200件点检规则
|
|
|
+ firstArticleCalendarService.remove(Wrappers.<FirstArticleCalendar>lambdaQuery()
|
|
|
+ .eq(FirstArticleCalendar::getBentelerPlanId, plan.getId()));
|
|
|
+ // 重新添加首件、200件点检规则
|
|
|
FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
+ .bentelerPlanId(plan.getId())
|
|
|
+ .firstStart(req.getFirstStart())
|
|
|
+ .firstRemind(TimeConvert.timeString2String(req.getFirstStart(), req.getFirstCheck() * 60, "HH:mm"))
|
|
|
+ .firstEnd(req.getFirstEnd())
|
|
|
+ .twoRemind(req.getTwoHundredSubmitTime())
|
|
|
+ .upleverTimeNum(req.getFirstUpdate())
|
|
|
+ .typeFlag(req.getTypeFlag())
|
|
|
+ .principalOneShift(req.getPrincipalOneShift())
|
|
|
+ .principalTwoShift(req.getPrincipalTwoShift())
|
|
|
+ .principalOneId(req.getPrincipalOneId())
|
|
|
+ .principalTwoId(req.getPrincipalTwoId())
|
|
|
.build();
|
|
|
firstArticleCalendarService.save(firstArticleCalendar);
|
|
|
- }
|
|
|
- /* 默认插入一条中断点检规则 */
|
|
|
- FirstArticleCalendar firstArticleCalendar = FirstArticleCalendar.builder()
|
|
|
- .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())
|
|
|
+ // 删除巡检项目
|
|
|
+ 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();
|
|
|
- firstArticleItemService.save(firstArticleItem);
|
|
|
+ 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);
|
|
|
+ }
|
|
|
}
|
|
|
+ clearApproval = true;
|
|
|
}
|
|
|
- clearApproval = true;
|
|
|
+ onsiteApprovalPlanService.setApprovalFirst(plan.getId(), clearApproval);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("修改计划出现异常:参数{},结果{}", req, e);
|
|
|
+ // 手动回滚事务
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
}
|
|
|
- onsiteApprovalPlanService.setApprovalFirst(plan.getId(),clearApproval);
|
|
|
-
|
|
|
return ResponseBeanBuilder.ok();
|
|
|
}
|
|
|
|
|
@@ -937,9 +856,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
|
|
|
/* 更新中断的操作人 */
|
|
|
if (req.getTypeFlag() == 2) {
|
|
|
- LambdaUpdateWrapper<FirstArticleCalendar> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
- lambdaUpdateWrapper.eq(FirstArticleCalendar::getBentelerPlanId, req.getBentelerPlanId());
|
|
|
- firstArticleCalendarService.update(lambdaUpdateWrapper);
|
|
|
+ // TODO 更新task表
|
|
|
}
|
|
|
|
|
|
return ResponseBeanBuilder.ok();
|
|
@@ -1116,7 +1033,7 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
.eq(BentelerPlan::getPlanType, req.getPlanType())
|
|
|
.eq(BentelerPlan::getPauseFlag, false)
|
|
|
.eq(BentelerPlan::getStatus, PlanStatus.APPROVAL_FORMAL.value)
|
|
|
- );
|
|
|
+ );
|
|
|
return ResponseBeanBuilder.ok(aLLPlanList, Function.identity());
|
|
|
}
|
|
|
|
|
@@ -1126,16 +1043,16 @@ public class FirstArticleServiceImpl extends ServiceImpl<FirstArticleMapper, Ben
|
|
|
List<BentelerPlan> list = new ArrayList<>();
|
|
|
if (plan != null) {
|
|
|
|
|
|
- if(plan.getOriginalId()==null) {
|
|
|
- list.add(plan);
|
|
|
- }else {
|
|
|
- list = planService.list(Wrappers.<BentelerPlan>lambdaQuery()
|
|
|
- .eq(BentelerPlan::getPlanType, plan.getPlanType())
|
|
|
- .eq(BentelerPlan::getOriginalId, plan.getOriginalId())
|
|
|
- .in(BentelerPlan::getStatus,PlanStatus.APPROVAL_PASS.value,PlanStatus.APPROVAL_FORMAL.value,PlanStatus.HISTORY.value)
|
|
|
- .orderByDesc(BentelerPlan::getId)
|
|
|
- );
|
|
|
- }
|
|
|
+ if (plan.getOriginalId() == null) {
|
|
|
+ list.add(plan);
|
|
|
+ } else {
|
|
|
+ list = planService.list(Wrappers.<BentelerPlan>lambdaQuery()
|
|
|
+ .eq(BentelerPlan::getPlanType, plan.getPlanType())
|
|
|
+ .eq(BentelerPlan::getOriginalId, plan.getOriginalId())
|
|
|
+ .in(BentelerPlan::getStatus, PlanStatus.APPROVAL_PASS.value, PlanStatus.APPROVAL_FORMAL.value, PlanStatus.HISTORY.value)
|
|
|
+ .orderByDesc(BentelerPlan::getId)
|
|
|
+ );
|
|
|
+ }
|
|
|
// List<PlanBind> bindList = planBindService.list(Wrappers.<PlanBind>lambdaQuery().eq(PlanBind::getOldBentelerPlanId, req.getId())
|
|
|
// .select(PlanBind::getNewBentelerPlanId));
|
|
|
// List<Long> psids = new ArrayList<>();
|