From a3e04e9066704e1159a874314fcf79a48beff230 Mon Sep 17 00:00:00 2001 From: ruanqi Date: Fri, 7 Oct 2022 18:38:43 +0800 Subject: [PATCH] =?UTF-8?q?0412=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/app/dao/InventoryStockDao.java | 22 +++++++++++++++++++ .../impl/InventoryStockServiceImpl.java | 12 +++++++++- .../entity/ShopOrderRoutingData.java | 9 ++++++++ .../service/impl/DailyPlanServiceImpl.java | 4 ++++ .../resources/mapper/app/InventoryStock.xml | 10 +++++++++ .../mapper/production/DailyPlanMapper.xml | 10 ++++++--- 6 files changed, 63 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/heai/modules/app/dao/InventoryStockDao.java b/src/main/java/com/heai/modules/app/dao/InventoryStockDao.java index bb7d1ac..06ecf0d 100644 --- a/src/main/java/com/heai/modules/app/dao/InventoryStockDao.java +++ b/src/main/java/com/heai/modules/app/dao/InventoryStockDao.java @@ -3,6 +3,8 @@ package com.heai.modules.app.dao; import com.heai.modules.app.entity.InventoryStockData; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface InventoryStockDao { @@ -16,4 +18,24 @@ public interface InventoryStockDao { * @date 2022/04/20 17:45 */ InventoryStockData getInventoryStockData(InventoryStockData inventoryStockData); + /** + * @Method checkPartIfOld + * @Description: 判断先进先出 + * @author rq + * @Version 1.0 + * @param inventoryStockData + * @return InventoryStockData + * @date 2022/04/20 17:45 + */ + List checkPartIfOld(InventoryStockData inventoryStockData); + /** + * @Method + * @Description: 根据参数返回值 + * @author rq + * @Version 1.0 + * @param + * @return InventoryStockData + * @date 2022/04/20 17:45 + */ + String getFlag(String type); } diff --git a/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java b/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java index 23809f6..93d8fe0 100644 --- a/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java +++ b/src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java @@ -6,6 +6,8 @@ import com.heai.modules.app.service.InventoryStockService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * @author ZuoWen * @date 2022年04月20日 17:45 @@ -18,7 +20,15 @@ public class InventoryStockServiceImpl implements InventoryStockService { @Override public InventoryStockData getInventoryStockData(InventoryStockData inventoryStockData) { - + //搜索参数 + String Flag=inventoryStockDao.getFlag("NewInNewOut"); + if("Y".equals(Flag)) { + //判断先进先出 + List checkIfOld = inventoryStockDao.checkPartIfOld(inventoryStockData); + if (checkIfOld.size() > 0) { + throw new RuntimeException("请先使用批号为" + checkIfOld.get(0).getBatchNo() + "的材料!!"); + } + } return inventoryStockDao.getInventoryStockData(inventoryStockData); } diff --git a/src/main/java/com/heai/modules/production/entity/ShopOrderRoutingData.java b/src/main/java/com/heai/modules/production/entity/ShopOrderRoutingData.java index 34f12e9..4eb1616 100644 --- a/src/main/java/com/heai/modules/production/entity/ShopOrderRoutingData.java +++ b/src/main/java/com/heai/modules/production/entity/ShopOrderRoutingData.java @@ -1,9 +1,11 @@ package com.heai.modules.production.entity; import com.fasterxml.jackson.annotation.JsonFormat; +import javafx.scene.layout.BackgroundImage; import org.apache.ibatis.type.Alias; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.util.Date; @Alias("ShopOrderRoutingData") @@ -44,6 +46,7 @@ public class ShopOrderRoutingData extends ShopOrderData{ @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date orderDate; + private BigDecimal lastApproveQty; public float getItemNo() { return itemNo; } @@ -220,5 +223,11 @@ public class ShopOrderRoutingData extends ShopOrderData{ this.orderDate = orderDate; } + public BigDecimal getLastApproveQty() { + return lastApproveQty; + } + public void setLastApproveQty(BigDecimal lastApproveQty) { + this.lastApproveQty = lastApproveQty; + } } diff --git a/src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java b/src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java index af37d70..fed6b27 100644 --- a/src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java +++ b/src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java @@ -695,6 +695,10 @@ public class DailyPlanServiceImpl implements DailyPlanService { SORoutingData result =new SORoutingData(); if(checkELevels==0) { result = dailyPlanMapper.searchLastApproveQty(generateReportData); + if (result==null){ + result =new SORoutingData(); + result.setLastApproveQty(new BigDecimal(0)); + } } return result; } diff --git a/src/main/resources/mapper/app/InventoryStock.xml b/src/main/resources/mapper/app/InventoryStock.xml index d2636de..0cd90fd 100644 --- a/src/main/resources/mapper/app/InventoryStock.xml +++ b/src/main/resources/mapper/app/InventoryStock.xml @@ -29,4 +29,14 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/production/DailyPlanMapper.xml b/src/main/resources/mapper/production/DailyPlanMapper.xml index 5e41904..339678b 100644 --- a/src/main/resources/mapper/production/DailyPlanMapper.xml +++ b/src/main/resources/mapper/production/DailyPlanMapper.xml @@ -180,11 +180,12 @@ - select top 1 isnull(QtyReported,0) QtyReported,isnull(lastApproveQty,0) lastApproveQty ,dbo.Get_PartWeightFactorForReport(#{site},#{partNo},#{orderNo}) as weightFactor,dbo.Get_sfdcReportedSetupTime(#{site},#{seqNo}) as timeReported from SORouting where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo} + select top 1 isnull(a.QtyReported,0) QtyReported,isnull(SOP.TotalFinishedQty,0) lastApproveQty ,dbo.Get_PartWeightFactorForReport(#{site},#{partNo},#{orderNo}) as weightFactor,dbo.Get_sfdcReportedSetupTime(#{site},#{seqNo}) as timeReported + from SORouting a + LEFT JOIN SORoutingOutput SOP ON a.site=SOP.site and a.OrderNo=SOP.OrderNo and SOP.itemNo=dbo.Get_SORouting_PreviousOperationItemNo(a.site,a.OrderNo,a.itemNo) + where a.Site=#{site} and a.OrderNo=#{orderNo} and a.itemNo=#{itemNo}