From 003f9d3b07b3a4f71a7e13baaf06561cc646d2b6 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期五, 16 一月 2026 15:41:20 +0800
Subject: [PATCH] 入库任务档添加称重校验

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  308 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 256 insertions(+), 52 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 8e80ad0..421f8e0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -15,6 +15,7 @@
 import com.zy.asrs.enums.LocStsType;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.entity.result.FindLocNoAttributeVo;
+import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.OrderInAndOutUtil;
 import com.zy.asrs.utils.Utils;
@@ -25,7 +26,6 @@
 import com.zy.common.service.CommonService;
 import com.zy.common.web.WcsController;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.codec.binary.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -101,6 +101,8 @@
     private OrderPakoutService orderPakOutService;
     @Autowired
     private BasDeviceServiceImpl basDeviceService;
+    @Autowired
+    private WrkMastMapper wrkMastMapper;
 
     @Override
     @Transactional
@@ -417,11 +419,9 @@
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
         String wrkCode = null;
-        //TODO 濡傛灉鏈哄彴鍙蜂笉涓虹┖锛屽垽鏂綋鍓嶆満鍙颁笌褰撳墠鍑哄簱搴撲綅鏄惁鍦ㄥ悓涓�搴撳尯鎴栧悓涓�鍙板爢鍨涙満锛堢浉鍚岀珯鐐癸級
-        //TODO 1. 濡傛灉鏄悓涓�鍙板爢鍨涙満锛岀敓鎴愮Щ搴擄紙鍑哄簱锛変换鍔�  2. 濡傛灉涓嶆槸锛岀敓鎴愬嚭搴撲换鍔★紝鍐嶇敓鎴愬叆搴撲换鍔�
-        //TODO 鍙︿竴绉嶆柟妗堬紝涓嶇鏄惁褰撳墠宸烽亾锛岀粺涓�鍑哄簱锛屽啀鍏ュ簱
         if (!Objects.isNull(deviceNo)) {
             wrkCode = workNo + "-1";
+            ioType = 101;
             generateOutStock(taskDto, userId, workNo, wrkCode, now, ioType, locMast, staDesc, deviceNo);
         } else {
             generateOutStock(taskDto, userId, workNo, wrkCode, now, ioType, locMast, staDesc, null);
@@ -453,40 +453,51 @@
             throw new CoolException("鏈哄彴淇℃伅涓嶅瓨鍦ㄦ垨宸茬鐢紒锛�");
         }
 
-        List<LocAroundBind> binds = locAroundBindService.selectList( new EntityWrapper<LocAroundBind>()
-                .eq("dev_no", basDevice.getDevNo())
-                .eq("is_default", 1));
+        LocAroundBind binds = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
+                .eq("dev_no", basDevice.getDevNo()).orderBy("is_default", false));
 
-        if (Objects.isNull(binds) || binds.isEmpty()) {
+        if (Objects.isNull(binds)) {
             throw new CoolException("鏈哄彴鏈缃粯璁ゅ伐浣滀綅锛侊紒");
         }
+//
+//        Set<String> locs = binds.stream().map(LocAroundBind::getBlocNo).collect(Collectors.toSet());
 
-        Set<String> locs = binds.stream().map(LocAroundBind::getBLocNo).collect(Collectors.toSet());
+//        LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
+//                .in("loc_no", locs)
+//                .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
+//                .orderAsc(Arrays.asList("loc_no")));
 
-        LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
-                .in("loc_no", locs)
-                .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
-                .orderAsc(Arrays.asList("loc_no"))
-                .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+//        if (Objects.isNull(locMasts)) {
+//            binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>()
+//                    .eq("dev_no", basDevice.getDevNo()));
+//
+//            Set<String> nlocs = binds.stream().map(LocAroundBind::getBlocNo).collect(Collectors.toSet());
+//
+//            locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
+//                    .in("loc_no", nlocs)
+//                    .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
+//                    .orderAsc(Arrays.asList("loc_no")));
+//            if (Objects.isNull(locMasts)) {
+//                throw new CoolException("鏆傛棤鍙敤宸ヤ綔浣嶏紒锛�");
+//            }
+//        }
 
-        if (Objects.isNull(locMasts)) {
-            binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>()
-                    .eq("dev_no", basDevice.getDevNo()));
+        LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", binds.getBlocNo()));
+        bLocNo.setLocType(LocStsType.LOC_STS_TYPE_S.type);
 
-            Set<String> nlocs = binds.stream().map(LocAroundBind::getBLocNo).collect(Collectors.toSet());
-
-            locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
-                    .in("loc_no", nlocs)
-                    .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
-                    .orderAsc(Arrays.asList("loc_no"))
-                    .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
-            if (Objects.isNull(locMasts)) {
-                throw new CoolException("鏆傛棤鍙敤宸ヤ綔浣嶏紒锛�");
-            }
+        if (!locAroundBindService.updateById(bLocNo)) {
+            throw new CoolException("宸ヤ綅棰勭害澶辫触锛侊紒");
         }
 
-        
+        LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
+                .eq("loc_no", bLocNo.getBlocNo()));
 
+        locMasts.setLocSts(LocStsType.LOC_STS_TYPE_S.type);
+        locMasts.setModiUser(userId);
+        locMasts.setModiTime(now);
+        if (!locMastService.updateById(locMasts)) {
+            throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + locMasts.getLocNo());
+        }
 
         List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locMasts.getLocNo(), 1);
         //TODO 1. 鑾峰彇鍏ュ簱绔欑偣锛� 鐩爣搴撲綅  3. 灏嗗嚭搴撴槑缁嗘坊鍔犺嚦鍏ュ簱鏄庣粏
@@ -537,9 +548,26 @@
             wrkDetl.setZpallet(wrkMast.getBarcode());
             wrkDetl.setIoTime(now);
             wrkDetl.setWrkNo(workNo);
-            wrkDetl.setBatch(locDto.getBatch());
             wrkDetl.setOrderNo(locDto.getOrderNo());
-            wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+//            wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+            wrkDetl.setStandby1(locDto.getStandby1());
+            LocDetl locDel = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+                    .eq("loc_no", locDto.getLocNo())
+                    .eq("batch", locDto.getBatch())
+                    .eq(!Objects.isNull(locDto.getBarcode()), "barcode", locDto.getBarcode())
+                    .eq("matnr", locDto.getMatnr()));
+            if (Objects.isNull(locDel)) {
+                throw new CoolException("鏁版嵁閿欒锛屽簱瀛樻槑缁嗕笉瀛樺湪锛侊紒");
+            }
+            wrkDetl.setBrand(locDel.getBrand());
+            wrkDetl.setModel(locDel.getModel());
+            wrkDetl.setUnit(locDel.getUnit());
+            wrkDetl.setSpecs(locDel.getSpecs());
+            wrkDetl.setBatch(locDel.getBatch());
+            //搴撳瓨鏁伴噺
+            wrkDetl.setStockQty(locDel.getAnfme());
+            //鍗曟嵁鏁伴噺
+            wrkDetl.setAnfme(locDto.getAnfme());
             wrkDetl.setAppeTime(now);
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(now);
@@ -1149,11 +1177,11 @@
                 locMast.setLocSts("F");
             }
         }
-        locMast.setModiUser(userId);
-        locMast.setModiTime(now);
-        if (!locMastService.updateById(locMast)) {
-            throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
-        }
+//        locMast.setModiUser(userId);
+//        locMast.setModiTime(now);
+//        if (!locMastService.updateById(locMast)) {
+//            throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+//        }
     }
 
 
@@ -1183,6 +1211,25 @@
                 locMast.setModiTime(now);
                 locMast.setModiUser(userId);
                 locMastService.updateById(locMast);
+            }
+
+            if (!Objects.isNull(wrkMast.getWrkCode())) {
+                LocAroundBind aroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo()));
+                if (!Objects.isNull(aroundBind)) {
+                    aroundBind.setLocType(LocStsType.LOC_STS_TYPE_F.type);
+                    if (!locAroundBindService.updateById(aroundBind)) {
+                        throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                    }
+                }
+
+
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+                if (!Objects.isNull(locMast)) {
+                    locMast.setLocSts(LocStsType.LOC_STS_TYPE_F.type);
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                    }
+                }
             }
             // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
         } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
@@ -1321,25 +1368,26 @@
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
+        Integer ioType = wrkMast.getIoType() - 50;
+        int wokNo = wrkMast.getWrkNo();
         // 鍏ュ嚭搴撶被鍨嬪垽鏂�
-        if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
-            throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
+        if (Objects.isNull(wrkMast.getWrkCode())) {
+            if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
+                throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
+            }
+            // 宸ヤ綔鐘舵�佸垽鏂�
+            if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
+                throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
+            }
+        } else {
+            if (wrkMast.getIoType() == 103) {
+                ioType = 1;
+            }
         }
-        // 宸ヤ綔鐘舵�佸垽鏂�
-        if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
-            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
-        }
-        // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-//        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
-//            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
-//        }
-        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
-            throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
-        }
+
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                .eq("type_no", wrkMast.getIoType() - 50)
+                .eq("type_no", ioType)
                 .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
                 .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
         StaDesc staDesc = staDescService.selectOne(wrapper);
@@ -1350,7 +1398,7 @@
         // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
         Integer staNo = staDesc.getCrnStn();
         // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
-        wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+        wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
         wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
         wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
@@ -1373,6 +1421,132 @@
             throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
         }
     }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void backLocOperation(String workNo, Long userId) {
+        WrkMast wrkMast = wrkMastService.selectById(workNo);
+        if (Cools.isEmpty(wrkMast)) {
+            throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
+        }
+        if (wrkMast.getWrkSts() != 15) {
+            throw new CoolException("褰撳墠浠诲姟鐘舵�佷笉鑳芥墽琛屾鎿嶄綔锛�");
+        }
+
+        Integer ioType = wrkMast.getIoType() - 50;
+        Integer wokNo;
+        // 鍏ュ嚭搴撶被鍨嬪垽鏂�
+//        if (wrkMast.getIoType() == 103) {
+//            ioType = 1;
+//        } else if (wrkMast.getIoType() == 101) {
+//            ioType = 10;
+//        }
+        if (Objects.isNull(wrkMast.getIsSuplus())) {
+            throw new CoolException("鍥炲簱绫诲瀷涓嶈兘涓虹┖锛侊紒");
+        }
+
+        if (wrkMast.getIsSuplus() == 0) {
+            ioType = 10;
+        } else {
+            ioType = 1;
+        }
+        wokNo = commonService.getWorkNo(0);
+        // 鑾峰彇鐩爣绔�
+        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                .eq("type_no", ioType)
+                .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
+                .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
+        StaDesc staDesc = staDescService.selectOne(wrapper);
+        if (Cools.isEmpty(staDesc)) {
+            throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+        }
+
+        int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", wrkMast.getBarcode()));
+        if (count >= 2) {
+            throw new CoolException("浠诲姟妗e凡鐢熸垚锛屼笉鍙互閲嶅鐢熸垚鐩稿悓鐨勫瓙浠诲姟锛侊紒");
+        }
+
+        WrkDetl detl = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+        LocDetl locDetl = new LocDetl();
+        BeanUtils.copyProperties(detl, locDetl);
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(locDetl);
+
+        // 婧愮珯鐐圭姸鎬佹娴�
+        BasDevp sourceStaNo = basDevpService.checkSiteStatus(Integer.parseInt(wrkMast.getStaNo()), false);
+        sourceStaNo.setLocType1((short) 1);
+        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
+        StartupDto locNo = commonService.getLocNo(1, Integer.parseInt(wrkMast.getStaNo()), findLocNoAttributeVo, locTypeDto);
+
+        Date now = new Date();
+        // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
+        Integer staNo = staDesc.getCrnStn();
+        WrkMast mast = new WrkMast();
+        BeanUtils.copyProperties(wrkMast, mast);
+        mast.setWrkNo(wokNo);
+        // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
+        mast.setIoType(ioType); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
+        mast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+        mast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
+        mast.setStaNo(staNo + ""); // 鐩爣绔�
+        mast.setSourceLocNo(wrkMast.getLocNo());
+        mast.setLocNo(locNo.getLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
+        mast.setModiTime(now);
+        mast.setModiUser(userId);
+        if (!wrkMastService.insert(mast)) {
+            throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
+        }
+        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+        if (Cools.isEmpty(wrkDetls)) {
+            throw new CoolException("鏁版嵁閿欒锛屼换鍔℃。鏄庣粏涓嶅瓨鍦� 锛侊紒");
+        }
+
+        // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+        LocMast inLoc = locMastService.selectById(mast.getLocNo());
+        inLoc.setLocSts(LocStsType.LOC_STS_TYPE_S.type);
+        inLoc.setModiTime(now);
+        inLoc.setModiUser(userId);
+        if (!locMastService.updateById(inLoc)) {
+            throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+        }
+
+        LocAroundBind aroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", mast.getSourceLocNo()));
+        if (!Objects.isNull(aroundBind)) {
+            aroundBind.setLocType(LocStsType.LOC_STS_TYPE_R.type);
+            if (!locAroundBindService.updateById(aroundBind)) {
+                throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+            }
+        }
+
+        //宸ヤ綔绫诲瀷涓�1鏃讹紝鎵嶆坊鍔犳槑缁�
+        if (ioType == 1) {
+            wrkDetls.forEach(wrkDetl -> {
+                WrkDetl wrkDetl1 = new WrkDetl();
+                BeanUtils.copyProperties(wrkDetl, wrkDetl1);
+                wrkDetl1.setAnfme(wrkDetl.getStockQty() - wrkDetl.getAnfme());
+                wrkDetl1.setWrkNo(wokNo);
+                if (!wrkDetlService.insert(wrkDetl1)) {
+                    throw new CoolException("浠诲姟妗f槑缁嗕繚瀛樺け璐ワ紒锛�");
+                }
+            });
+        }
+
+        // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
+        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+        locMast.setLocSts("R");
+        locMast.setModiTime(now);
+        locMast.setModiUser(userId);
+        if (!locMastService.updateById(locMast)) {
+            throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
+        }
+
+//        wrkMast.setWrkCode(null);
+//
+//        if (!wrkMastService.updateById(wrkMast)) {
+//            throw new CoolException("浠诲姟妗f洿鏂板け璐ワ紒锛�");
+//        }
+    }
+
 
     @Override
     public StartupDto createWaitPainWrkMastStart(List<WaitPakin> list, Long userId) {
@@ -1506,6 +1680,36 @@
         }
     }
 
+
+    /**
+     * 淇敼浠诲姟妗d綑鏂欏洖搴撶姸鎬�
+     *
+     * @param workNo
+     * @param userId
+     * @param type
+     * @author Ryan
+     * @date 2026/1/14 15:06
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateWrkIsSuplus(String workNo, Long userId, Integer type) {
+        WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", workNo));
+        if (Objects.isNull(mast)) {
+            throw new CoolException("浠诲姟妗d笉瀛樺湪锛侊紒");
+        }
+        if (mast.getWrkSts() != 15) {
+            throw new CoolException("褰撳墠浠诲姟鐘舵�侊紝鏃犳硶鎵ц姝ゆ搷浣滐紒");
+        }
+        if (type == 4) {
+            mast.setIsSuplus(0);
+        } else if (type == 5) {
+            mast.setIsSuplus(1);
+        }
+        if (!wrkMastService.updateById(mast)) {
+            throw new CoolException("浠诲姟妗d慨鏀瑰け璐ワ紒锛�");
+        }
+    }
+
     /**
      * 鐢熸垚鍑哄簱鍖归厤鐨勫伐浣滅珯鍏ュ簱浠诲姟
      *
@@ -1531,7 +1735,7 @@
         if (Objects.isNull(binds) || binds.isEmpty()) {
             throw new CoolException("鏈哄彴鏈粦瀹氬伐浣滅珯鍙帮紒锛�");
         }
-        Set<String> locs = binds.stream().map(LocAroundBind::getBLocNo).collect(Collectors.toSet());
+        Set<String> locs = binds.stream().map(LocAroundBind::getBlocNo).collect(Collectors.toSet());
 
         LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
                 .in("loc_no", locs)

--
Gitblit v1.9.1