diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ImsOutInventoryServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ImsOutInventoryServiceImpl.java index 4fb8b74..45bcf3b 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ImsOutInventoryServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/ImsOutInventoryServiceImpl.java @@ -170,6 +170,12 @@ public class ImsOutInventoryServiceImpl implements IImsOutInventoryService Long outId = imsOutInventory.getOutId(); if (StringUtils.isNotNull(imsOutInventoryDetailAddList)) { + if(Long.valueOf(3).equals(imsOutInventory.getOutType())) { + boolean flag = imsOutInventoryDetailAddList.stream().anyMatch(item -> Objects.isNull(item.getIntoDetailId())); + if(flag) { + throw new ServiceException("请选择入库批次"); + } + } List list = new ArrayList<>(); long totalPriceSum = 0L; for (ImsOutInventoryDetailAdd imsOutInventoryDetailAdd : imsOutInventoryDetailAddList) diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/ImsInventoryMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/ImsInventoryMapper.xml index ec70016..0351f79 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/ImsInventoryMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/ims/ImsInventoryMapper.xml @@ -95,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" min_num, max_num, material_num, - inventory_status, + inventory_status, remark, del_flag, create_by, @@ -111,6 +111,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{maxNum}, #{materialNum}, #{inventoryStatus}, + + inventory_status = CASE + WHEN material_num min_num THEN 2 + WHEN material_num ]]> max_num THEN 3 + ELSE 1 + END, + #{remark}, #{delFlag}, #{createBy}, @@ -119,6 +126,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" on duplicate key update material_num = material_num + #{materialNum}, + inventory_status = CASE + WHEN material_num min_num THEN 2 + WHEN material_num ]]> max_num THEN 3 + ELSE 1 + END, update_by = #{updateBy}, update_time = #{updateTime}