src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/LocDetlService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.asrs.entity.LocDetl; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import org.springframework.stereotype.Repository; @@ -23,4 +24,7 @@ @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}") int updateLocNo(String newLocNo, String oldLocNo); @Select("SELECT wml.loc_no FROM asr_wrk_mast_log wml LEFT JOIN asr_wrk_detl_log wdl ON wml.wrk_no = wdl.wrk_no LEFT JOIN asr_loc_mast lm ON wml.loc_no = lm.loc_no WHERE (1 = 1 AND wdl.matnr = 'X004073XX' AND (wml.io_type = 1 OR wml.io_type = 11) AND wml.wrk_sts = 5 AND DateDiff(dd, wml.modi_time, getdate()) = 0 AND lm.loc_sts = 'F') ORDER BY wml.modi_time ASC") List<String> selectSameDetlToday(String matnr); } src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.service.IService; import com.zy.asrs.entity.LocDetl; import java.util.List; public interface LocDetlService extends IService<LocDetl> { Page<LocDetl> getStockOut(Page<LocDetl> page); @@ -14,4 +16,12 @@ boolean updateAnfme(Double anfme, String locNo, String matnr); boolean updateLocNo(String newLocNo, String oldLocNo); /** * 获取当天相同规格货物的深库位号 * @param matnr 物料号 * @return locNo 库位号 */ List<String> getSameDetlToday(String matnr); } src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -8,6 +8,8 @@ import com.zy.asrs.service.LocDetlService; import org.springframework.stereotype.Service; import java.util.List; @Service("locDetlService") public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService { @@ -33,4 +35,9 @@ return baseMapper.updateLocNo(newLocNo, oldLocNo) > 0; } @Override public List<String> getSameDetlToday(String matnr) { return this.baseMapper.selectSameDetlToday(matnr); } } src/main/java/com/zy/common/service/CommonService.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Arith; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; @@ -34,6 +35,8 @@ private BasDevpService basDevpService; @Autowired private LocMastService locMastService; @Autowired private LocDetlService locDetlService; /** * 生成工作号 @@ -96,6 +99,21 @@ int eRow = rowLastno.geteRow(); int crn_qty = rowLastno.getCrnQty(); int rowCount = eRow - sRow + 1; // 同一天同规格货物靠近摆法规则 todo List<String> locNos = locDetlService.getSameDetlToday("X004073XX"); for (String locNo : locNos) { // 获取排 int row = Integer.parseInt(locNo.substring(0, 2)); // 判断是否为深库位 double remainder = Arith.remainder(row, rowCount / crn_qty); if (remainder != 0 && remainder != 1) { continue; } // 得到当前库位的外围库位 System.out.println(); } // 获取目标站所在货架排号 Shelves shelves = new Shelves(rowCount, crn_qty); curRow = shelves.start(curRow); @@ -143,8 +161,16 @@ } else { throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用"); } } else { throw new CoolException(rowLastno.getWhsType()+"号库位排号分配规则不可用"); } return startupDto; } public static void main(String[] args) { System.out.println(Arith.remainder(1, 4)); System.out.println("0200201".substring(0, 2)); } }