src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/locDetl/locDetl.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/locDetl/locDetl.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; /** * Created by vincent on 2020/6/11 @@ -66,7 +67,8 @@ // 生成工作号 int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 检索库位 StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo()); List<String> matNos = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatNo).distinct().collect(Collectors.toList()); StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 1, param.getDevpNo(), matNos); // 生成工作档 WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); @@ -248,7 +250,7 @@ // 生成工作号 int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE); // 检索库位 StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo); StartupDto dto = commonService.getLocNo(DEFAULT_ROW_NO_TYPE, 10, devpNo, null); // 生成工作档 WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); src/main/java/com/zy/common/service/CommonService.java
@@ -87,7 +87,7 @@ * @param sourceStaNo 源站 * @return locNo 检索到的库位号 */ public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo) { public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, List<String> matNos) { StartupDto startupDto = new StartupDto(); RowLastno rowLastno = rowLastnoService.selectById(whsType); if (Cools.isEmpty(rowLastno)) { @@ -105,31 +105,34 @@ LocMast locMast = null; // 同一天同规格货物靠近摆法规则 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); int targetRow; if (remainder == 1) { // 得到当前库位的外围库位 targetRow = row + 1; } else if (remainder == 0) { // 得到当前库位的内围库位 targetRow = row - 1; } else { continue; } String targetLocNo = zerofill(String.valueOf(targetRow), 2)+locNo.substring(2); // 检测目标库位是否为空库位 LocMast targetLocMast = locMastService.selectById(targetLocNo); if (targetLocMast != null && !targetLocMast.getLocSts().equals("O")) { locMast = targetLocMast; crnNo = locMast.getCrnNo(); break; if (!Cools.isEmpty(matNos)) { List<String> locNos = locDetlService.getSameDetlToday(matNos.get(0)); for (String locNo : locNos) { // 获取排 int row = Integer.parseInt(locNo.substring(0, 2)); // 判断是否为深库位 double remainder = Arith.remainder(row, rowCount / crn_qty); int targetRow; if (remainder == 1) { // 得到当前库位的外围库位 targetRow = row + 1; } else if (remainder == 0) { // 得到当前库位的内围库位 targetRow = row - 1; } else { continue; } String targetLocNo = zerofill(String.valueOf(targetRow), 2)+locNo.substring(2); // 检测目标库位是否为空库位 LocMast targetLocMast = locMastService.selectById(targetLocNo); if (targetLocMast != null && targetLocMast.getLocSts().equals("O")) { locMast = targetLocMast; crnNo = locMast.getCrnNo(); break; } } } // 如果没有相近物料,则按规则轮询货架 if (null == locMast) { @@ -146,7 +149,6 @@ } } } basCrnpService.checkSiteStatus(crnNo); // 获取目标站 src/main/webapp/static/js/locDetl/locDetl.js
@@ -2,6 +2,9 @@ function getCol() { var cols = [{field: 'locNo$', align: 'center',title: '库位号'}]; cols.push.apply(cols, detlCols); cols.push({field: 'modiUser$', align: 'center',title: '修改人员',hide: true} ,{field: 'modiTime$', align: 'center',title: '修改时间'} ) return cols; } src/main/webapp/views/locDetl/locDetl.html
@@ -21,6 +21,11 @@ </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="matnr" placeholder="商品编码" autocomplete="off"> </div> </div> <div class="layui-inline"> <div class="layui-input-inline"> <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off"> </div> </div>