| .idea/misc.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/mapper/LocMastMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/service/CommonService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/common/web/WcsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/application.yml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/LocMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/WrkMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/pakStore/locDetlCheckQuery.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/pakStore/locDetlQuery.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.idea/misc.xml
@@ -1,5 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="FindBugsConfigurable"> <option name="make" value="true" /> <option name="effort" value="default" /> <option name="priority" value="Medium" /> <option name="excludeFilter" value="" /> </component> <component name="FrameworkDetectionExcludesConfiguration"> <file type="web" url="file://$PROJECT_DIR$" /> </component> @@ -13,4 +19,10 @@ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/out" /> </component> <component name="ProjectType"> <option name="id" value="jpab" /> </component> <component name="SuppressionsComponent"> <option name="suppComments" value="[]" /> </component> </project> src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -37,4 +37,13 @@ LocMast queryEmptyDeepLoc(); List<LocMast> queryDeepLocDMast(); /** * 根据堆垛机站点查询空库位 * @param crnNo 堆垛机号 * @return 库位 */ LocMast queryEmptyLocNoByStaNo(@Param("crnNo") int crnNo); LocMast queryLocByBarCode(@Param("row") int row); } src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
@@ -55,9 +55,9 @@ if(station.getLoading()==null || !station.getLoading().equals("Y")) { throw new CoolException(devpNo+"站点无物"); } if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo()<9001) { throw new CoolException(devpNo+"站点已有工作号"); } // if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo()<9001) { // throw new CoolException(devpNo+"站点已有工作号"); // } if(wrkMastService.getWorkingMast(devpNo)>0){ throw new CoolException(devpNo+"站点不能同时生成两笔入库工作档"); } src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -247,6 +247,7 @@ wrkMast.setIoType(ioType); // 入出库状态 wrkMast.setIoPri(reduce?13D:15D); // 优先级:13 wrkMast.setCrnNo(locMast.getCrnNo()); wrkMast.setBarcode(locMast.getBarcode()); wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站 wrkMast.setStaNo(staDesc.getStnNo()); // 目标站 wrkMast.setSourceLocNo(dto.getLocNo()); // 源库位 @@ -892,10 +893,33 @@ if (!wrkMastLogService.save(wrkMast.getWrkNo())) { throw new CoolException("保存工作主档历史档失败"); } // 拣、盘、并 作业站转换 int stnNo = 0; if (wrkMast.getIoType() == 103) { // 拣料出库 if(wrkMast.getCrnNo() == 1) { stnNo = 104; }else if(wrkMast.getCrnNo() == 2) { stnNo =204; }else if(wrkMast.getCrnNo() == 3) { stnNo = 304; } } else if(wrkMast.getIoType() == 107){ //盘点出库 if(wrkMast.getCrnNo() == 1) { stnNo = 101; }else if(wrkMast.getCrnNo() == 2) { stnNo =201; }else if(wrkMast.getCrnNo() == 3) { stnNo = 301; } } if (stnNo == 0) { log.error("{}号任务数据异常!", wrkMast.getWrkNo()); throw new CoolException("再入库站点有误"); } // 获取目标站 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", wrkMast.getIoType() - 50) .eq("stn_no", wrkMast.getStaNo()) // 作业站点 = 拣料出库的目标站 .eq("stn_no", stnNo) // 作业站点 = 拣料出库的目标站 .eq("crn_no", wrkMast.getCrnNo()); // 堆垛机号 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { src/main/java/com/zy/common/service/CommonService.java
@@ -7,6 +7,7 @@ import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.mapper.LocMastMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.asrs.utils.VersionUtils; @@ -46,6 +47,9 @@ private LocDetlService locDetlService; @Autowired private SlaveProperties slaveProperties; @Autowired private LocMastMapper locMastMapper; /** * 生成工作号 @@ -109,9 +113,12 @@ if (sourceStaNo < 200) { whsType = 1; crnNo=1; } else if (sourceStaNo >= 200) { } else if (sourceStaNo < 300) { whsType = 2; crnNo=2; }else { whsType = 3; crnNo=3; } int workNo = getWorkNo(0); @@ -218,7 +225,13 @@ } else { curRow = sRow; } crnNo = whsType; basCrnpService.checkSiteStatus(crnNo, true); }else { if (curRow == sRow) { curRow = eRow; } else { curRow = sRow; } basCrnpService.checkSiteStatus(crnNo, true); } } @@ -496,4 +509,84 @@ } } public StartupDto emptyIngetLocNo(Integer devpNo) { int crnNo = 0; // 目标库位 LocMast locMast = null; if (devpNo == 304) { crnNo = 3; locMast = locMastMapper.queryEmptyLocNoByStaNo(crnNo); } if (locMast == null) { throw new CoolException("没有空库位"); } // 获取目标站 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", 10) .eq("stn_no", devpNo) .eq("crn_no", crnNo); StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { log.error("入库路径不存在, staDescId={}, sourceStaNo={}, crnNo={}", 10, devpNo, crnNo); throw new CoolException("入库路径不存在"); } // 检测目标站 BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn()); if (!staNo.getAutoing().equals("Y")) { throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用"); } basCrnpService.checkSiteStatus(crnNo, true); // 返回dto StartupDto startupDto = new StartupDto(); startupDto.setWorkNo(getWorkNo(0)); startupDto.setCrnNo(crnNo); startupDto.setSourceStaNo(devpNo); startupDto.setStaNo(devpNo); startupDto.setLocNo(locMast.getLocNo()); return startupDto; } public StartupDto getLocNoBy304(String barcode) { int crnNo = 3; int devpNo = 304; int row = barcode.charAt(0) == '5' ? 7 : 6; // 目标库位 LocMast locMast = locMastMapper.queryLocByBarCode(row); if (locMast == null) { throw new CoolException("304入库没有空库位"); } // 获取目标站 Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", 1) .eq("stn_no", devpNo) .eq("crn_no", crnNo); StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { log.error("入库路径不存在, staDescId={}, sourceStaNo={}, crnNo={}", 1, devpNo, crnNo); throw new CoolException("入库路径不存在"); } // 检测目标站 BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn()); if (!staNo.getAutoing().equals("Y")) { throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用"); } basCrnpService.checkSiteStatus(crnNo, true); // 返回dto StartupDto startupDto = new StartupDto(); startupDto.setWorkNo(getWorkNo(0)); startupDto.setCrnNo(crnNo); startupDto.setSourceStaNo(devpNo); startupDto.setStaNo(devpNo); startupDto.setLocNo(locMast.getLocNo()); return startupDto; } } src/main/java/com/zy/common/web/WcsController.java
@@ -109,7 +109,12 @@ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 检索库位 List<String> matNos = pltBarcodes.stream().map(PltBarcode::getMatNo).distinct().collect(Collectors.toList()); StartupDto dto = commonService.getLocNo(1, 1, devpNo, false, matNos, locTypeDto,0); StartupDto dto; if (devpNo == 304) { dto = commonService.getLocNoBy304(barcode); } else { dto = commonService.getLocNo(1, 1, devpNo, false, matNos, locTypeDto,0); } int workNo = dto.getWorkNo(); // 生成工作档 @@ -177,7 +182,8 @@ // 源站点状态检测 BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 检索库位 StartupDto dto = commonService.getLocNo(1, 10, devpNo, true, null, locTypeDto,0); // StartupDto dto = commonService.getLocNo(1, 10, devpNo, true, null, locTypeDto,0); StartupDto dto = commonService.emptyIngetLocNo(devpNo); int workNo = dto.getWorkNo(); // 生成工作档 WrkMast wrkMast = new WrkMast(); src/main/resources/application.yml
@@ -1,5 +1,5 @@ server: port: 8081 port: 8080 servlet: context-path: /@pom.build.finalName@ @@ -16,7 +16,8 @@ # password: xltys1995 # sql-server driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://localhost:1433;databasename=sxjzasrs # url: jdbc:sqlserver://172.17.20.240:1433;databasename=sxjzasrs url: jdbc:sqlserver://127.0.0.1:1433;databasename=sxjzasrs username: sa password: sa@123 mvc: src/main/resources/mapper/LocMastMapper.xml
@@ -179,4 +179,22 @@ ) and loc_sts = 'D' and crn_no=1 </select> <select id="queryEmptyLocNoByStaNo" resultType="com.zy.asrs.entity.LocMast"> SELECT TOP 1 loc_no AS locNo,crn_no AS crnNo FROM asr_loc_mast where loc_sts = 'O' <if test="crnNo == 1"> and row1 in(1,2) </if> <if test="crnNo == 2"> and row1 in(5,6) </if> <if test="crnNo == 3"> and row1 in(6,7) </if> ORDER BY lev1 ASC, bay1 ASC </select> <select id="queryLocByBarCode" resultType="com.zy.asrs.entity.LocMast"> SELECT TOP 1 loc_no AS locNo,crn_no AS crnNo FROM asr_loc_mast where loc_sts = 'O' and row1 = #{row} ORDER BY lev1 ASC, bay1 ASC </select> </mapper> src/main/resources/mapper/WrkMastMapper.xml
@@ -74,7 +74,7 @@ select * from asr_wrk_mast where wrk_sts=5 or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp)) or (wrk_sts=15 and dateadd(mi,15,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp)) or (wrk_sts=15 and dateadd(mi,5,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp)) or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp)) order by io_time,wrk_no asc </select> src/main/webapp/views/pakStore/locDetlCheckQuery.html
@@ -52,6 +52,7 @@ <option value="" style="display: none">请选择巷道</option> <option value="1">1号</option> <option value="2">2号</option> <option value="3">3号</option> </select> </div> <div class="layui-inline"> src/main/webapp/views/pakStore/locDetlQuery.html
@@ -52,6 +52,7 @@ <option value="" style="display: none">请选择巷道</option> <option value="1">1号</option> <option value="2">2号</option> <option value="3">3号</option> </select> </div> <div class="layui-inline">