From b5768fb9a6bf4216aba11d7f784e8cefc8fdaf9b Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期三, 27 三月 2024 14:54:48 +0800 Subject: [PATCH] 定时任务完成 --- src/main/java/com/zy/asrs/entity/param/AgvMobileStartParam.java | 6 +- src/main/java/com/zy/asrs/entity/param/CombParam.java | 3 + src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 14 ++---- src/main/java/com/zy/asrs/controller/AgvMobileController.java | 11 +++-- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 5 +- src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 55 +++++++++++++++++++-------- src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java | 3 + src/main/java/com/zy/asrs/controller/OutController.java | 4 +- src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java | 2 src/main/java/com/zy/asrs/service/AgvMobileService.java | 2 src/main/java/com/zy/asrs/service/AgvWorkService.java | 2 src/main/java/com/zy/asrs/service/AgvLocMastService.java | 2 12 files changed, 67 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java index 8143d47..15ec11f 100644 --- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java +++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java @@ -54,7 +54,8 @@ public R combBinding(@RequestBody Map<String,Object> map){ String barcode = map.get("barcode").toString(); String stationCode = map.get("stationCode").toString(); - agvMobileService.combBinding(barcode,stationCode); + Short containerType = Short.valueOf(map.get("containerType").toString()); + agvMobileService.combBinding(barcode,stationCode,containerType); return R.ok("鎵樼洏缁戝畾绔欑偣鎴愬姛"); } @@ -102,8 +103,8 @@ @Synchronized public R pakinEmpty(@RequestBody AgvMobileStartParam params){ - for (AgvMobileStartParam.Pad pad : params.getPad()) { - workService.emptyPlateIn(pad.getDevNo(),pad.getContainerCode(),pad.getContainerType(), getUserId()); + for (AgvMobileStartParam.Pda pda : params.getPad()) { + workService.emptyPlateIn(pda.getDevNo(),pda.getContainerCode(),pda.getContainerType(), getUserId()); } return R.ok(); @@ -116,8 +117,8 @@ @Synchronized public R pakoutEmpty(@RequestBody AgvMobileStartParam params){ - for (AgvMobileStartParam.Pad pad : params.getPad()) { - workService.emptyPlateOut(pad.getDevNo(),pad.getContainerType(), getUserId()); + for (AgvMobileStartParam.Pda pda : params.getPad()) { + workService.emptyPlateOut(pda.getDevNo(),pda.getContainerType(), getUserId()); } return R.ok(); diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index 3edf6e9..f99c2f3 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -91,13 +91,13 @@ if (issued <= 0.0D) { continue; } //浠庡钩搴撳鎵� - issued = manLocDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime()); + //issued = manLocDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime()); //鍏堟壘AGV鐨勫簱瀛橈紝濡傛灉杩斿洖鐨刬ssued澶т簬0锛屽垯鍘诲洓椤瑰簱鎵� issued = agvLocDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime()); //浠庡洓椤瑰簱鐨勫簱瀛橀噷闈㈡壘锛� - issued = locDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime()); + //issued = locDetlService.queryStockAndSetLocDto(orderDetl.getMatnr(),orderDetl.getBatch(),orderDetl.getOrderNo(),locDtoList,issued,orderDetl.getThreeCode(),orderDetl.getDeadTime()); if (issued > 0) { LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); diff --git a/src/main/java/com/zy/asrs/entity/param/AgvMobileStartParam.java b/src/main/java/com/zy/asrs/entity/param/AgvMobileStartParam.java index 45135d8..010ec33 100644 --- a/src/main/java/com/zy/asrs/entity/param/AgvMobileStartParam.java +++ b/src/main/java/com/zy/asrs/entity/param/AgvMobileStartParam.java @@ -6,10 +6,10 @@ @Data public class AgvMobileStartParam { - private List<Pad> pad; + private List<Pda> pad; @Data - public static class Pad { + public static class Pda { //绔欑偣 private String devNo; //浠诲姟绫诲瀷 @@ -17,7 +17,7 @@ //瀹瑰櫒鐮� private String containerCode; //瀹瑰櫒绫诲瀷 - private int containerType; + private Short containerType; } } diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java index 0809357..37e6ea1 100644 --- a/src/main/java/com/zy/asrs/entity/param/CombParam.java +++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java @@ -16,6 +16,9 @@ // 鎵樼洏鏉$爜 private String barcode; + // 鎵樼洏鏉$爜 + private Short containerType; + // 搴撲綅缂栧彿 private String locno; diff --git a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java index 4898bff..660e611 100644 --- a/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java +++ b/src/main/java/com/zy/asrs/mapper/AgvBasDevpMapper.java @@ -21,7 +21,7 @@ @Select("select dev_no from agv_bas_devp where loc_sts = 'O'") List<String> getAvailableEmptyInSite(); - @Select("select station_code from agv_bas_devp where floor = #{floor} and cache_shelves = 'N' and in_enable = 'Y' group by station_code") + @Select("select station_code from agv_bas_devp where cache_shelves = 'N' and in_enable = 'Y' group by station_code") List<String> selectCacheShelvesStationCodeByFloor(@Param("floor") int floor); @Select("SELECT\n" + diff --git a/src/main/java/com/zy/asrs/service/AgvLocMastService.java b/src/main/java/com/zy/asrs/service/AgvLocMastService.java index c3dfff6..30ff0ef 100644 --- a/src/main/java/com/zy/asrs/service/AgvLocMastService.java +++ b/src/main/java/com/zy/asrs/service/AgvLocMastService.java @@ -18,7 +18,7 @@ void updateLocType2ByRBL(Integer locType2, AgvLocRule locRule); - public void updateLocStsByLocNo(String locNo, String locSts, String barcode); + public void updateLocStsByLocNo(String locNo, String locSts, String barcode,Short containerType); public List<String> queryGroupEmptyStock(int floor); diff --git a/src/main/java/com/zy/asrs/service/AgvMobileService.java b/src/main/java/com/zy/asrs/service/AgvMobileService.java index 7614905..6ff52ac 100644 --- a/src/main/java/com/zy/asrs/service/AgvMobileService.java +++ b/src/main/java/com/zy/asrs/service/AgvMobileService.java @@ -20,7 +20,7 @@ void packComb(CombParam param, Long userId); - void combBinding(String barcode, String stationCode); + void combBinding(String barcode, String stationCode, Short containerType); List<AgvBasDevp> getAgvBasDevpByFloor(int floor); diff --git a/src/main/java/com/zy/asrs/service/AgvWorkService.java b/src/main/java/com/zy/asrs/service/AgvWorkService.java index 839c1ce..6946beb 100644 --- a/src/main/java/com/zy/asrs/service/AgvWorkService.java +++ b/src/main/java/com/zy/asrs/service/AgvWorkService.java @@ -39,7 +39,7 @@ /* 绌烘澘鍏ュ簱 */ - String emptyPlateIn(String station,String containerCode,int containerType, Long userId); + String emptyPlateIn(String station,String containerCode,Short containerType, Long userId); void emptyPlateOut(String station, int containerType, Long userId); diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java index b34b3e9..43c140a 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocMastServiceImpl.java @@ -212,10 +212,11 @@ this.baseMapper.updateLocType2(locType2,locRule.getRowBeg(),locRule.getRowEnd(),locRule.getBayBeg(),locRule.getBayEnd(),locRule.getLevBeg(),locRule.getLevEnd(),locRule.getFloor()); } - public void updateLocStsByLocNo(String locNo, String locSts, String barcode) { + public void updateLocStsByLocNo(String locNo, String locSts, String barcode,Short containerType) { AgvLocMast agvLocMast = this.selectById(locNo); agvLocMast.setLocSts(locSts); agvLocMast.setBarcode(barcode); + agvLocMast.setLocType2(containerType); this.updateById(agvLocMast); } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index 1ad96fc..d048f5d 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -82,7 +82,7 @@ if(StringUtils.isEmpty(param.getLocno())){ return "缁勬墭鎴愬姛"; }else { - combBinding(param.getBarcode(),param.getLocno()); + combBinding(param.getBarcode(),param.getLocno(),param.getContainerType()); return "缁勬墭鎴愬姛锛岀粦瀹氱珯鐐规垚鍔�"; } @@ -219,7 +219,7 @@ } @Override - public void combBinding(String barcode, String stationCode) { + public void combBinding(String barcode, String stationCode, Short containerType) { if(Cools.isEmpty(agvWaitPakinService.selectByContainerCode(barcode))){ throw new CoolException("璇ユ枡绠辨湭缁勬墭锛屾棤娉曠粦瀹氱珯鐐�"); @@ -245,6 +245,7 @@ agvBasDevp.setBarcode(barcode); agvBasDevp.setLocSts("F"); + agvBasDevp.setLocType2(containerType); agvBasDevpService.update(agvBasDevp,(new EntityWrapper<AgvBasDevp>().eq("dev_no",stationCode))); } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java index 9d20ed1..feacc9d 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -91,7 +91,7 @@ //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1()); //鐢熸垚宸ヤ綔妗� - AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, isConveyor); + AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),agvBasDevp.getBarcode(),now,userId, agvBasDevp.getLocType2()); //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱 wrkMast.setMk(isConveyor ? "Y" : "N"); //鐢熸垚宸ヤ綔妗f槑缁� @@ -134,7 +134,7 @@ //鍒ゆ柇鏄惁鍏ㄦ澘鍑哄簱 int ioType = isPakOut(sourceLocNo,taskDto) ? 101 : 103; //鐢熸垚宸ヤ綔妗� - AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,false); + AgvWrkMast wrkMast = createWrkMast(ioType,wrkSts,sourceLocNo,targetLocNo,containerCode,now,userId,0); //鐢熸垚宸ヤ綔妗f槑缁� taskDto.getLocDtos().forEach(locDto -> { if (!BaseController.isJSON(locDto.getOrderNo())) { @@ -258,8 +258,10 @@ return; } + int containerType = getContainerTypeByloc(taskDto.getLocNo()); + //鐢熸垚宸ヤ綔妗� - AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,false); + AgvWrkMast wrkMast = createWrkMast(107, 21L,taskDto.getLocNo(),taskDto.getAgvStaNo(),taskDto.getLocDtos().get(0).getContainerCode(),now,userId,containerType); //鐢熸垚宸ヤ綔妗f槑缁� taskDto.getLocDtos().forEach(locDto -> { //鏄庣粏妗f墍闇�鍙傛暟 @@ -299,8 +301,9 @@ } Date now = new Date(); + //鐢熸垚绉诲簱宸ヤ綔妗� - AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,false); + AgvWrkMast wrkMast = createWrkMast(11, 21L, sourceLocNo, targetLocNo, sourceLocDetl.getSuppCode(), now, userId,getContainerTypeByloc(sourceLocNo)); //鐢熸垚宸ヤ綔鍏氭槑缁� createWrkDetlReWrite(sourceLocDetl.getMatnr(),wrkMast.getWrkNo(),null,sourceLocDetl.getBatch(),sourceLocDetl.getAnfme(),sourceLocDetl.getZpallet(),now,userId,sourceLocDetl.getThreeCode(),sourceLocDetl.getDeadTime()); //淇敼鐩爣搴撲綅鐘舵�� @@ -313,7 +316,7 @@ 鍏ュ簱 */ @Transactional - public String emptyPlateIn(String station,String containerCode,int containerType, Long userId) { + public String emptyPlateIn(String station,String containerCode,Short containerType, Long userId) { Date now = new Date(); // 婧愮珯鐐圭姸鎬佹娴� @@ -344,22 +347,24 @@ List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectByContainerCode(containerCode); if(!Cools.isEmpty(agvWaitPakinList)){ //鐢熸垚宸ヤ綔妗� - AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId, false); + AgvWrkMast wrkMast = createWrkMast(1,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId, agvBasDevp.getLocType2()); //鐢熸垚宸ヤ綔妗f槑缁� agvWaitPakinList.forEach(wp -> { createWrkDetlReWrite(wp.getMatnr(),wrkMast.getWrkNo(),wp.getOrderNo(),wp.getBatch(),wp.getAnfme(),wp.getSuppCode(),now,userId,wp.getThreeCode(),wp.getDeadTime()); }); //淇敼鍏ュ簱閫氱煡妗g姸鎬� agvWaitPakinService.updateIoStatus(containerCode,"Y"); + //鏇存柊婧愮珯鐐圭姸鎬� + updateAgvBasDevp(agvBasDevp,"R"); }else { // 鐢熸垚宸ヤ綔妗� 10.绌烘澘鍏ュ簱 - createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,false); + createWrkMast(10,201L,agvBasDevp.getDevNo(),agvLocMast.getLocNo(),containerCode,now,userId,containerType); + //鏇存柊婧愮珯鐐圭姸鎬� + updateAgvBasDevp(agvBasDevp,"R",containerType); } - //鏇存柊婧愮珯鐐圭姸鎬� - updateAgvBasDevp(agvBasDevp,"R"); //鏇存柊鐩爣搴撲綅鐘舵�佸拰淇℃伅 - updateAgvLocMast(agvLocMast,"S", (short) containerType); + updateAgvLocMast(agvLocMast,"S"); return agvLocMast.getLocNo(); } @@ -382,7 +387,7 @@ throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖鎵樼洏锛�"); } //鐢熸垚宸ヤ綔妗� - createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,false); + createWrkMast(110,21L,agvLocMast.getLocNo(),agvBasDevp.getDevNo(),agvLocMast.getBarcode(),now,userId,containerType); //淇敼婧愬簱浣嶇姸鎬� updateAgvLocMast(agvLocMast,"R"); @@ -569,7 +574,7 @@ String devNo = wrkMast.getSourceLocNo(); //鐩爣搴撲綅 String locNo = wrkMast.getLocNo(); - agvLocMastService.updateLocStsByLocNo(locNo,"O",""); + agvLocMastService.updateLocStsByLocNo(locNo,"O","",null); agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode()); //鍑哄簱鍙栨秷 @@ -578,7 +583,7 @@ String locNo = wrkMast.getSourceLocNo(); //鐩爣绔欑偣 String devNo = wrkMast.getLocNo(); - agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode()); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); if(devNo.contains("@")){ agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O",""); } @@ -649,6 +654,17 @@ } /* + 鏇存柊婧愮珯鐐逛俊鎭拰搴撲綅鎵樼洏绫诲瀷 + */ + private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts, Short continerType){ + if(!Cools.isEmpty(agvBasDevp)){ + agvBasDevp.setLocSts(locSts); + agvBasDevp.setLocType2(continerType); + agvBasDevpService.updateById(agvBasDevp); + } + } + + /* 鐢熸垚宸ヤ綔妗f槑缁� */ private void createWrkDetlReWrite(String matnr, int wrkNo, String orderNo,String batch, double anfme, String zpallet, Date now, Long userId, String csocode, String isoseq){ @@ -708,7 +724,7 @@ /* 鐢熸垚宸ヤ綔妗� */ - private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, boolean isConveyor){ + private AgvWrkMast createWrkMast(int ioType, long wrkSts, String sourceLocNo, String locNo, String barcode, Date now, Long userId, int containerType){ AgvWrkMast wrkMast = new AgvWrkMast(); //宸ヤ綔鐘舵�� wrkMast.setWrkSts(wrkSts); @@ -723,8 +739,9 @@ wrkMast.setLocNo(locNo); //瀹瑰櫒缂栫爜 wrkMast.setBarcode(barcode); - //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱 - wrkMast.setMk(isConveyor ? "Y" : "N"); + //瀹瑰櫒绫诲瀷 + wrkMast.setWhsType(containerType); + wrkMast.setAppeUser(userId); wrkMast.setAppeTime(now); wrkMast.setModiUser(userId); @@ -813,4 +830,10 @@ } } + private int getContainerTypeByloc(String locNo){ + + return agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no",locNo)).getLocType2(); + + } + } diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java index 9ecfc10..94cae13 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java @@ -60,13 +60,9 @@ //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚 agvWrkMast.setWrkSts(207L); agvWrkMastService.updateById(agvWrkMast); - if(agvWrkMast.getIoType() == 10){ - // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉� - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode()); - }else{ - //淇敼鐩爣搴撲綅鐘舵�佷负F.鍦ㄥ簱 - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode()); - } + // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉� + String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F"; + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),locSts,agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); //鐢熸垚AGV宸ヤ綔鍘嗗彶妗� agvWrkMastLogService.save(agvWrkMast); //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗� @@ -87,7 +83,7 @@ //鏇存柊搴撳瓨鏄庣粏 agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo()); //淇敼婧愬簱浣嶇姸鎬佷负O - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O",""); + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null); } //鍒犻櫎AGV宸ヤ綔妗� @@ -118,7 +114,7 @@ agvWrkMast.setWrkSts(207L); agvWrkMastService.updateById(agvWrkMast); //淇敼婧愬簱浣嶇姸鎬佷负O - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O",""); + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null); if(agvWrkMast.getIoType() == 101){ //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁� agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo())); -- Gitblit v1.9.1