diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/RouterStepMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/RouterStepMapper.java index 00a64365..9d382633 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/RouterStepMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/RouterStepMapper.java @@ -5,12 +5,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto; import com.foreverwin.mesnac.meapi.dto.RouterStepDto; -import com.foreverwin.mesnac.meapi.model.Operation; +import com.foreverwin.mesnac.meapi.model.DisRouter; import com.foreverwin.mesnac.meapi.model.RouterStep; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.Map; /** *

@@ -26,4 +27,10 @@ public interface RouterStepMapper extends BaseMapper { List findRouterOperationByRouterBo(@Param("site") String site, @Param("routerBo") String routerBO, @Param("locale")String locale); IPage findRouterRouterAbnormal(IPage page, @Param("locale") String locale, @Param("ew") Wrapper wrapper); // List findRouterRouterAbnormal(@Param("site") String site, @Param("locale")String locale); + + /** + * 查询工艺路线所有步骤 + * @return Map + */ + List> findRouterAllStep(@Param("disRouter") DisRouter disRouter,@Param("site") String site); } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/RouterServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/RouterServiceImpl.java index 3ef073c7..93fe979a 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/RouterServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/RouterServiceImpl.java @@ -4,8 +4,10 @@ import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto; import com.foreverwin.mesnac.meapi.dto.DisRouterStepDto; import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto; import com.foreverwin.mesnac.meapi.enums.HandleEnum; +import com.foreverwin.mesnac.meapi.mapper.RouterStepMapper; import com.foreverwin.mesnac.meapi.model.*; import com.foreverwin.mesnac.meapi.service.*; +import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.meext.MEServices; import com.foreverwin.modular.core.util.CommonMethods; @@ -23,10 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; /** @@ -54,6 +53,8 @@ public class RouterServiceImpl extends ServiceImpl impleme private CustomFieldsService customFieldsService; @Autowired private PicturesService picturesService; + @Autowired + private RouterStepMapper routerStepMapper; @Override public IPage selectPage(FrontPage frontPage, Router router) { @@ -103,7 +104,6 @@ public class RouterServiceImpl extends ServiceImpl impleme // } // } - //物料编号+_+异常单号作为工艺路线编号 String router=disRouter.getRouter(); if (StringUtil.isBlank(router)) { @@ -115,6 +115,24 @@ public class RouterServiceImpl extends ServiceImpl impleme throw BusinessException.build("工艺路线步骤不能为空"); } + //校验router步骤是否重复 + List stepDtoList = disRouter.getDisRouterStepDtoList(); + List> routerAllStepList = routerStepMapper.findRouterAllStep(disRouter,site); + for (DisRouterStepDto routerStepDto : stepDtoList) { + String stepId = routerStepDto.getStep(); + String substring = stepId.substring(0, 2); + if (!substring.equals("90")){ + stepId = "90" + stepId; + } + for (Map map : routerAllStepList) { + String STEP_ID = String.valueOf(map.get("STEP_ID")); + if (stepId.equals(STEP_ID)){ + List collect = routerAllStepList.stream().map(e -> { return e.get("STEP_ID"); }).collect(Collectors.toList()); + throw new BaseException("请重新输入工艺步骤,该工艺路线已存在的返修步骤为:" + collect.toString()); + } + } + } + //工艺路线BO Float revision = new Float(1.0); String routerType = RouterType.SPECIAL.value(); @@ -148,7 +166,8 @@ public class RouterServiceImpl extends ServiceImpl impleme for (int i = 0; i < disRouter.getDisRouterStepDtoList().size(); i++) { DisRouterStepDto routerStepDto = routerStepDtoList.get(i); String stepId = routerStepDto.getStep(); - if (stepId.substring(0,2) != "90"){ + String substring = stepId.substring(0, 2); + if (!substring.equals("90")){ stepId = "90" + stepId; } if (StringUtil.isBlank(entryRouterStep)) { diff --git a/meapi/src/main/resources/mapper/RouterStepMapper.xml b/meapi/src/main/resources/mapper/RouterStepMapper.xml index 4eac97bc..392a4364 100644 --- a/meapi/src/main/resources/mapper/RouterStepMapper.xml +++ b/meapi/src/main/resources/mapper/RouterStepMapper.xml @@ -520,5 +520,21 @@ AND T2.LOCALE=#{locale} and ZAB.SITE=#{ew.entity.site} +