zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
@@ -78,9 +78,7 @@ if (null == agvModel) { return; } // STOCK STA List<Sta> stockList = staService.list(new LambdaQueryWrapper<Sta>() .eq(Sta::getStaSts, StaStsType.STOCK.val()) .eq(Sta::getStatus, StatusType.ENABLE.val)); List<Sta> stockList = staService.queryAvailableOutSta(1); if (Cools.isEmpty(stockList)) { return; } Collections.shuffle(stockList); @@ -138,9 +136,7 @@ if (null == agvModel) { return; } // IDLE STA List<Sta> idleList = staService.list(new LambdaQueryWrapper<Sta>() .eq(Sta::getStaSts, StaStsType.IDLE.val()) .eq(Sta::getStatus, StatusType.ENABLE.val)); List<Sta> idleList = staService.queryAvailableInSta(1); if (Cools.isEmpty(idleList)) { return; } Collections.shuffle(idleList); zy-acs-manager/src/main/java/com/zy/acs/manager/manager/mapper/StaMapper.java
@@ -4,6 +4,8 @@ import com.zy.acs.manager.manager.entity.Sta; import org.apache.ibatis.annotations.Param; import java.util.List; public interface StaMapper extends BaseMapper<Sta> { // inbound ------------------- @@ -22,4 +24,11 @@ int confirmReserveOut(@Param("staId") Long staId, @Param("qty") Integer qty); // query ------------------ List<Sta> selectAvailableOutSta(@Param("minAvailableQty") Integer minAvailableQty); List<Sta> selectAvailableInSta(@Param("minAvailableQty") Integer minAvailableQty); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/StaService.java
@@ -4,10 +4,16 @@ import com.zy.acs.manager.manager.entity.Sta; import com.zy.acs.manager.manager.enums.StaTypeType; import java.util.List; public interface StaService extends IService<Sta> { Sta selectByStaNo(String staNo); Sta selectByCode(Long codeId, StaTypeType type); List<Sta> queryAvailableOutSta(Integer minAvailableQty); List<Sta> queryAvailableInSta(Integer minAvailableQty); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/StaServiceImpl.java
@@ -31,4 +31,14 @@ return list.stream().findFirst().orElse(null); } @Override public List<Sta> queryAvailableOutSta(Integer minAvailableQty) { return this.baseMapper.selectAvailableOutSta(minAvailableQty); } @Override public List<Sta> queryAvailableInSta(Integer minAvailableQty) { return this.baseMapper.selectAvailableInSta(minAvailableQty); } } zy-acs-manager/src/main/resources/mapper/manager/StaMapper.xml
@@ -65,6 +65,24 @@ AND occ_cnt >= #{qty} </update> <select id="selectAvailableOutSta" resultType="com.zy.acs.manager.manager.entity.Sta"> SELECT * FROM man_sta WHERE 1=1 AND deleted = 0 AND status = 1 AND (IFNULL(occ_cnt, 0) - IFNULL(rsv_out_cnt, 0)) >= #{minAvailableQty} </select> <select id="selectAvailableInSta" resultType="com.zy.acs.manager.manager.entity.Sta"> SELECT * FROM man_sta WHERE 1=1 AND deleted = 0 AND status = 1 AND (IFNULL(capacity, 0) - IFNULL(occ_cnt, 0) - IFNULL(rsv_in_cnt, 0)) >= #{minAvailableQty} </select> <!-- 关联查询sql --> <sql id="selectSql"> SELECT a.*