From 2ba6206ac95a41c933f4f5f504817a7afdc1346f Mon Sep 17 00:00:00 2001 From: philip <244793088@qq.com> Date: Wed, 7 Jul 2021 10:43:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/DispatchStatusEnum.java | 4 +- .../common/service/InspectionTaskService.java | 2 + .../common/service/ProdReadyTaskService.java | 3 +- .../impl/InspectionTaskServiceImpl.java | 1 + .../impl/ProdReadyTaskServiceImpl.java | 31 ++++++------ .../foreverwin/mesnac/meapi/dto/SfcDto.java | 18 +++++++ .../service/impl/PodTemplateServiceImpl.java | 48 +++++++++++++++++++ 7 files changed, 90 insertions(+), 17 deletions(-) diff --git a/common/src/main/java/com/foreverwin/mesnac/common/enums/DispatchStatusEnum.java b/common/src/main/java/com/foreverwin/mesnac/common/enums/DispatchStatusEnum.java index fe9b1937..9457b3d2 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/enums/DispatchStatusEnum.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/enums/DispatchStatusEnum.java @@ -8,8 +8,8 @@ public enum DispatchStatusEnum { PAUSE("PAUSE"), IMPORT("IMPORT"), COMPLETE("COMPLETE"), - CANCEL("CANCEL"); - + CANCEL("CANCEL"), + START("START"); private String code; DispatchStatusEnum(String code) { diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java index 639d37a2..f3cf2ee5 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/InspectionTaskService.java @@ -30,4 +30,6 @@ public interface InspectionTaskService extends IService { void save(Map paramMap); void createTask(Map paramMap); + + InspectionTask isCreateTask(String site, String category, String sfc, String operation, String stepId); } \ No newline at end of file diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java index c9ea11d3..f781337c 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/ProdReadyTaskService.java @@ -2,6 +2,7 @@ package com.foreverwin.mesnac.common.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.foreverwin.mesnac.common.dto.SfcDispatchDto; import com.foreverwin.mesnac.common.model.ProdReadyTask; import com.foreverwin.modular.core.util.FrontPage; @@ -27,7 +28,7 @@ public interface ProdReadyTaskService extends IService { List selectList(ProdReadyTask prodReadyTask); - void createTask(String sfcDispatchBO, String dispatchStatus, String shopOrder, String sfc,String operation, String resrce, String stepId, String workCenter, String planStartTime); + void createTask(List sfcDispatchDtoList); List getTaskList(ProdReadyTask queryWrapper); diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java index fd0ba2d0..d4241aa0 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/InspectionTaskServiceImpl.java @@ -199,6 +199,7 @@ public class InspectionTaskServiceImpl extends ServiceImpl queryWrapper=new QueryWrapper<>(); diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java index 59fa60b6..cf942af5 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/ProdReadyTaskServiceImpl.java @@ -1,4 +1,5 @@ package com.foreverwin.mesnac.common.service.impl; + import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -6,6 +7,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.constant.CustomFieldConstant; +import com.foreverwin.mesnac.common.dto.SfcDispatchDto; +import com.foreverwin.mesnac.common.enums.DispatchStatusEnum; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.mapper.ProdReadyTaskMapper; import com.foreverwin.mesnac.common.model.ProdReadyTask; @@ -28,10 +31,8 @@ import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; @@ -80,22 +81,24 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl sfcDispatchDtoList) { //根据站点及派工BO查询数据 String site = CommonMethods.getSite(); String user = CommonMethods.getUser(); + for (SfcDispatchDto sfcDispatchDto: sfcDispatchDtoList) { + String sfcDispatchBO=sfcDispatchDto.getHandle(); + String dispatchStatus=sfcDispatchDto.getDispatchStatus(); + String shopOrder=sfcDispatchDto.getShopOrder(); + String sfc=sfcDispatchDto.getSfc(); + String operation=sfcDispatchDto.getOperation(); + String resrce=sfcDispatchDto.getResrce(); + String stepId=sfcDispatchDto.getStepId(); + String workCenter=sfcDispatchDto.getWorkCenter(); - Date planTime = null; - try { - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - planTime = dateFormat.parse(planStartTime); - } - catch (Exception e) { - throw new BaseException("工单[" + shopOrder + "]计划开始时间格式错误,请核查!"); - } ShopOrder byId = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, shopOrder)); - if ("RELEASE".equals(dispatchStatus)) { + if (DispatchStatusEnum.RELEASE.getCode().equals(dispatchStatus)) { ProdReadyTask prodReadyTask=new ProdReadyTask(); prodReadyTask.setSite(site); prodReadyTask.setTaskNo(StringUtil.createQUID()); @@ -177,7 +180,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl lambdaQueryWrapper=new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(ProdReadyTask::getSfcDispatchBo,sfcDispatchBO); lambdaQueryWrapper.orderByDesc(ProdReadyTask::getCreatedDateTime); @@ -195,7 +198,7 @@ public class ProdReadyTaskServiceImpl extends ServiceImpl resrceEnter(WorkCenterDto workCenterDto) { String site = CommonMethods.getSite(); @@ -138,6 +151,8 @@ public class PodTemplateServiceImpl implements PodTemplateService { Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); String resrce = sfcDto.getResrce(); String sfc = sfcDto.getSfc(); + String stepId = sfcDto.getStepId(); + String dispatchNo = sfcDto.getDispatchNo(); Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); BigDecimal qty=new BigDecimal(sfcServiceById.getQty().toString()); try { @@ -145,6 +160,20 @@ public class PodTemplateServiceImpl implements PodTemplateService { } catch (Exception e) { ExceptionUtil.throwException(e); } + //更改派工单状态 + sfcDispatchCommonService.updateSfcDispatchStatus(site,CommonMethods.getUser(),dispatchNo, DispatchStatusEnum.START.getCode()); + //是否有互检检验项目 + List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_H); + if (inspectionItemDetails.size()>0&&StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) { + //是否有互检检验任务及已完成 + InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_H, sfc, operation, stepId); + if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){ + throw new BaseException("请完成互检检验任务"); + } + if (!createTask.getResult().equals(Constants.RSESULT_OK)){ + throw new BaseException("互检任务不合格,不能开始请检查"); + } + } }); } @Override @@ -155,6 +184,9 @@ public class PodTemplateServiceImpl implements PodTemplateService { Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); String resrce = sfcDto.getResrce(); String sfc = sfcDto.getSfc(); + String stepId = sfcDto.getStepId(); + + String dispatchNo = sfcDto.getDispatchNo(); Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(site, sfc)); BigDecimal qty=new BigDecimal(sfcServiceById.getQty().toString()); try { @@ -162,6 +194,22 @@ public class PodTemplateServiceImpl implements PodTemplateService { } catch (Exception e) { ExceptionUtil.throwException(e); } + //更改派工单状态 + sfcDispatchCommonService.updateSfcDispatchStatus(site,CommonMethods.getUser(),dispatchNo, DispatchStatusEnum.COMPLETE.getCode()); + + //是否有自检检验项目 + List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z); + if (inspectionItemDetails.size()>0&&StringUtil.isBlank(inspectionItemDetails.get(0).getInspectionItemBo())) { + //是否有自检检验任务 + InspectionTask createTask = inspectionTaskService.isCreateTask(site, Constants.INSPECTION_TYPE_Z, sfc, operation, stepId); + if (createTask==null ||!createTask.getStatus().equals(Constants.INSPECTION_TASK_STATUS_COMPLETE)){ + throw new BaseException("请完成自检检验任务"); + } + if (!createTask.getResult().equals(Constants.RSESULT_OK)){ + throw new BaseException("自检任务不合格,不能完成请检查"); + } + } + }); } }