From 8f29835f7bb10457dfff05593900b76dd27e395c Mon Sep 17 00:00:00 2001 From: ruanqi Date: Mon, 26 Jun 2023 11:15:57 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gaotao/modules/base/dao/BaseMapper.java | 13 ++++++++++ .../base/service/Impl/BaseServiceImpl.java | 12 ++++++++- .../shopOrder/dao/ShopOrderMapper.java | 3 +++ .../service/Impl/ShopOrderServiceImpl.java | 8 ++++++ src/main/resources/mapper/base/BaseMapper.xml | 15 ++++++++++- .../mapper/shopOrder/ShopOrderMapper.xml | 26 ++++++++++++++++--- 6 files changed, 72 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java b/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java index 439532c..ebe65dd 100644 --- a/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java +++ b/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gaotao.modules.base.entity.*; import com.gaotao.modules.purchaseorder.entity.PRDetail; +import com.gaotao.modules.shopOrder.entity.RouteInShopOrderData; import com.gaotao.modules.shopOrder.entity.ShopOrderData; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -930,6 +931,7 @@ public interface BaseMapper { * @throw */ List checkRoutingItemNo(RoutingDetailData inData); + void deleteRoutingWorkCenterResource(RoutingDetailData inData); /** * @param inData @@ -1031,6 +1033,17 @@ public interface BaseMapper { */ void deleteRoutingResource(RoutingDetailAvailableResourceData indata); + /** + * @Description TODO + * @Title checkOrderRoutingItemNo + * @param routeInShopOrderData + * @author rq + * @date 2023/6/26 10:32 + * @return List + * @throw + */ + List checkOrderRoutingItemNo(RouteInShopOrderData routeInShopOrderData); + /** * @param inData * @return List diff --git a/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java b/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java index d203c4a..bd7d58f 100644 --- a/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java +++ b/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java @@ -1277,6 +1277,7 @@ public class BaseServiceImpl implements BaseService { } @Override + @Transactional public ResponseData saveRoutingDetailData(RoutingDetailData inData) { ResponseData responseData = new ResponseData(); WorkCenterData workCenter = new WorkCenterData(); @@ -1317,7 +1318,13 @@ public class BaseServiceImpl implements BaseService { //新增 baseMapper.saveRoutingDetailData(inData); } else { - + List list = baseMapper.checkRoutingItemNo(inData); + if(list.size()>0){ + //更改了车间就删除机台 + if(!inData.getWorkCenterNo().equals(list.get(0).getWorkCenterNo())){ + baseMapper.deleteRoutingWorkCenterResource(inData); + } + } baseMapper.editRoutingDetailData(inData); } responseData.setCode("200"); @@ -1327,8 +1334,10 @@ public class BaseServiceImpl implements BaseService { } @Override + @Transactional public ResponseData deleteRoutingDetail(RoutingDetailData inData) { ResponseData responseData = new ResponseData(); + baseMapper.deleteRoutingWorkCenterResource(inData); baseMapper.deleteRoutingDetail(inData); responseData.setCode("200"); responseData.setSuccess(true); @@ -1517,6 +1526,7 @@ public class BaseServiceImpl implements BaseService { List availableresourceEntityList = new ArrayList<>(); for (ShopOrderData shopOrderDatum : shopOrderData) { // 获取重新保存之后的订单所有工序对应的加工中心 + shopOrderDatum.setbOMRevNo(inData.getRevNo()); List orderDataList = shopOrderService.getRouteInShopOrderResource(shopOrderDatum); availableresourceEntityList.addAll(orderDataList); } diff --git a/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java b/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java index 90f7c6b..0ce6618 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java +++ b/src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java @@ -271,6 +271,7 @@ public interface ShopOrderMapper { **/ void updateRouteInShopOrder(RouteInShopOrderData routeInShopOrderData); + void deleteAvailResourceInShopOrder(RouteInShopOrderData routeInShopOrderData); /** * @return * @Author sxm @@ -356,6 +357,8 @@ public interface ShopOrderMapper { RouteInShopOrderData getSORouteItemNoOrderBy(@Param("route") RouteInShopOrderData routeInShopOrderData,@Param("orderBy") String orderBy); + + /** * @author: sxm * @description: 获取物料对应 已下达 ,已计划的生产订单 diff --git a/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java b/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java index 024c6bf..bd62a8a 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java +++ b/src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java @@ -5,6 +5,7 @@ import com.gaotao.common.exception.XJException; import com.gaotao.common.utils.DateUtil; import com.gaotao.modules.base.dao.BaseMapper; import com.gaotao.modules.base.entity.AccessSiteData; +import com.gaotao.modules.base.entity.RoutingDetailData; import com.gaotao.modules.base.entity.RoutingHeaderData; import com.gaotao.modules.base.entity.SiteData; import com.gaotao.modules.pda.utils.DateUtils; @@ -463,7 +464,14 @@ public class ShopOrderServiceImpl implements ShopOrderService { } @Override + @Transactional public void updateRouteInShopOrder(RouteInShopOrderData routeInShopOrderData) { + List list = baseMapper.checkOrderRoutingItemNo(routeInShopOrderData); + if(list.size()>0){ + if(routeInShopOrderData.getWorkCenterNo().equals(list.get(0).getWorkCenterNo())){ + shopOrderMapper.deleteAvailResourceInShopOrder(routeInShopOrderData); + } + } shopOrderMapper.updateRouteInShopOrder(routeInShopOrderData); } diff --git a/src/main/resources/mapper/base/BaseMapper.xml b/src/main/resources/mapper/base/BaseMapper.xml index d0a1e94..2cb8c0b 100644 --- a/src/main/resources/mapper/base/BaseMapper.xml +++ b/src/main/resources/mapper/base/BaseMapper.xml @@ -947,7 +947,7 @@ + select WorkCenterNo from SORouting where OrderNo=#{orderNo} and ItemNo=#{itemNo} and Site=#{site} + + delete @@ -1075,6 +1079,15 @@ and ResourceID = #{resourceID} + + delete + from RoutingDetail_AvailableResource + where site = #{site} + and PartNo = #{partNo} + and revNo = #{revNo} + and itemNo = #{itemNo} + + + SELECT s.Site,s.OrderNo,s.ItemNo,s.WorkCenterNo,w.ResourceID FROM + SORouting s,RoutingDetail e + LEFT JOIN RoutingDetail_AvailableResource w ON + e.Site = w.Site AND + e.PartNo = w.PartNo AND + e.RevNo = w.RevNo + WHERE s.Site = #{site} AND s.OrderNo = #{orderNo} AND + e.Site = s.Site AND + e.PartNo = s.PartNo AND + e.RevNo=#{bOMRevNo} + and s.ItemNo=e.ItemNo + and s.itemNo in (select h.itemNo from RoutingDetail_AvailableResource h + where h.site = e.site + and h.partno = e.partno + and h.revno = e.revno ) + Union all SELECT s.Site,s.OrderNo,s.ItemNo,s.WorkCenterNo,w.ResourceID FROM SORouting s LEFT JOIN WorkCenterResource w ON s.Site = w.Site AND s.WorkCenterNo = w.WorkCenterNo WHERE w.Active = 'Y' AND s.Site = #{site} AND s.OrderNo = #{orderNo} - - - + and s.itemNo not in (select h.itemNo from RoutingDetail_AvailableResource h + where h.site = s.site + and h.partno = s.partno + and h.revno = #{bOMRevNo} ) \ No newline at end of file