From ebc766304439d72c69b580eaef83681096e4ee3d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 18 六月 2020 16:06:56 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  385 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 375 insertions(+), 10 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 ee29b85..9185303 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -8,22 +8,27 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.param.FullStoreParam;
+import com.zy.asrs.entity.param.LocDetlAdjustParam;
+import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
+import com.zy.common.model.LocDetlDto;
+import com.zy.common.model.OutLocDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * Created by vincent on 2020/6/11
  */
 @Service
 public class WorkServiceImpl implements WorkService {
+
+    // 宸ヤ綔鍙风敓鎴愯鍒欓粯璁ょ被鍨�
+    private static final int DEFAULT_WORK_NO_TYPE = 0;
 
     @Autowired
     private WrkMastService wrkMastService;
@@ -37,10 +42,14 @@
     private LocMastService locMastService;
     @Autowired
     private StaDescService staDescService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private MatCodeService matCodeService;
 
     @Override
     @Transactional
-    public void startupFullStore(FullStoreParam param, Long userId) {
+    public String startupFullPutStore(FullStoreParam param, Long userId) {
         // 鍙傛暟闈炵┖鍒ゆ柇
         if (Cools.isEmpty(param.getDevpNo(), param.getList())) {
             throw new CoolException(BaseRes.PARAM);
@@ -48,7 +57,7 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo());
         // 鐢熸垚宸ヤ綔鍙�
-        int workNo = commonService.getWorkNo(0);
+        int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
         // 妫�绱㈠簱浣�
         StartupDto dto = commonService.getLocNo(1, 1, param.getDevpNo());
         // 鐢熸垚宸ヤ綔妗�
@@ -57,7 +66,7 @@
         wrkMast.setIoTime(new Date());
         wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
-        wrkMast.setIoPri(10D); // 浼樺厛绾э細10
+        wrkMast.setIoPri(13D); // 浼樺厛绾э細10
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
@@ -102,14 +111,135 @@
         } else {
             throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
         }
+        return dto.getLocNo();
     }
 
     @Override
-    public void emptyPlateIn(Integer devpNo, Long userId) {
+    @Transactional
+    public void startupFullTakeStore(StockOutParam param, Long userId) {
+        // 鐩爣绔欑偣鐘舵�佹娴�
+        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+        // 鑾峰彇搴撲綅鏄庣粏
+        List<LocDetlDto> locDetlDtos = new ArrayList<>();
+        for (StockOutParam.LocDetl locDetl : param.getLocDetls()) {
+            if (!Cools.isEmpty(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getCount())) {
+                LocDetl sqlParam = new LocDetl();
+                sqlParam.setLocNo(locDetl.getLocNo());
+                sqlParam.setMatnr(locDetl.getMatnr());
+                LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
+                if (null != one) locDetlDtos.add(new LocDetlDto(one, locDetl.getCount()));
+            }
+        }
+        if (!locDetlDtos.isEmpty()) {
+            // 鍚姩鍑哄簱寮�濮�
+            stockOut(staNo, locDetlDtos, userId);
+        } else {
+            throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
+        }
+    }
+
+    @Override
+    @Transactional
+    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Long userId) {
+        // 鐢熸垚宸ヤ綔鍙�
+        int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+        // 鍚堝苟鍚岀被椤�
+        Set<String> locNos = new HashSet<>();
+        locDetlDtos.forEach(dto -> locNos.add(dto.getLocDetl().getLocNo()));
+        List<OutLocDto> dtos = new ArrayList<>();
+        for (String locNo : locNos) {
+            List<LocDetlDto> list = new ArrayList<>();
+            Iterator<LocDetlDto> iterator = locDetlDtos.iterator();
+            while (iterator.hasNext()) {
+                LocDetlDto dto = iterator.next();
+                if (locNo.equals(dto.getLocDetl().getLocNo())) {
+                    list.add(dto);
+                    iterator.remove();
+                }
+            }
+            dtos.add(new OutLocDto(locNo, list));
+        }
+        // 鐢熸垚宸ヤ綔妗�
+        for (OutLocDto dto : dtos) {
+            // 鑾峰彇搴撲綅
+            LocMast locMast = locMastService.selectById(dto.getLocNo());
+            // 鑾峰彇璺緞
+            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                    .eq("type_no", 101)
+                    .eq("stn_no", staNo.getDevNo())
+                    .eq("crn_no", locMast.getCrnNo());
+            StaDesc staDesc = staDescService.selectOne(wrapper);
+            if (Cools.isEmpty(staDesc)) {
+                throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+            }
+            // 鐢熸垚宸ヤ綔妗�
+            WrkMast wrkMast = new WrkMast();
+            wrkMast.setWrkNo(workNo);
+            wrkMast.setIoTime(new Date());
+            wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+            wrkMast.setIoType(101); // 鍏ュ嚭搴撶姸鎬侊細101.鍑哄簱
+            wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+            wrkMast.setCrnNo(locMast.getCrnNo());
+            wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
+            wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+            wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
+            wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+            wrkMast.setPicking("N"); // 鎷f枡
+            wrkMast.setExitMk("N"); // 閫�鍑�
+            wrkMast.setEmptyMk("N"); // 绌烘澘
+            wrkMast.setLinkMis("N");
+            wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+            wrkMast.setAppeTime(new Date());
+            wrkMast.setModiUser(userId);
+            wrkMast.setModiTime(new Date());
+            if (!wrkMastService.insert(wrkMast)) {
+                throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo());
+            }
+            // 鐢熸垚宸ヤ綔妗f槑缁�
+            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+                if (detlDto.getCount() <= 0.0D) {continue;}
+                WrkDetl wrkDetl = new WrkDetl();
+                wrkDetl.setWrkNo(workNo);
+                wrkDetl.setIoTime(new Date());
+                wrkDetl.setMatnr(detlDto.getLocDetl().getMatnr());
+                wrkDetl.setAnfme(detlDto.getCount()); // 鏁伴噺
+                wrkDetl.setZmatid(detlDto.getLocDetl().getZmatid());
+                wrkDetl.setTbpos(detlDto.getLocDetl().getTbpos());
+                wrkDetl.setTbnum(detlDto.getLocDetl().getTbnum());
+                wrkDetl.setLgnum(detlDto.getLocDetl().getLgnum());
+                wrkDetl.setAltme(detlDto.getLocDetl().getAltme());
+                wrkDetl.setBname(detlDto.getLocDetl().getBname());
+                wrkDetl.setMaktx(detlDto.getLocDetl().getMaktx());
+                wrkDetl.setAppeTime(new Date());
+                wrkDetl.setAppeUser(userId);
+                wrkDetl.setModiTime(new Date());
+                wrkDetl.setModiUser(userId);
+                if (!wrkDetlService.insert(wrkDetl)) {
+                    throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                }
+            }
+            // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害
+            locMast = locMastService.selectById(dto.getLocNo());
+            if (locMast.getLocType().equals("F")) {
+                locMast.setLocType("R");
+                locMast.setModiUser(userId);
+                locMast.setModiTime(new Date());
+                if (!locMastService.updateById(locMast)) {
+                    throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+dto.getLocNo());
+                }
+            } else {
+                throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+            }
+        }
+    }
+
+    @Override
+    @Transactional
+    public String emptyPlateIn(Integer devpNo, Long userId) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo);
         // 鐢熸垚宸ヤ綔鍙�
-        int workNo = commonService.getWorkNo(0);
+        int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
         // 妫�绱㈠簱浣�
         StartupDto dto = commonService.getLocNo(1, 10, devpNo);
         // 鐢熸垚宸ヤ綔妗�
@@ -118,7 +248,7 @@
         wrkMast.setIoTime(new Date());
         wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
-        wrkMast.setIoPri(10D); // 浼樺厛绾э細10
+        wrkMast.setIoPri(13D); // 浼樺厛绾э細10
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
         wrkMast.setStaNo(dto.getStaNo());
@@ -157,6 +287,7 @@
         } else {
             throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
         }
+        return dto.getLocNo();
     }
 
     @Override
@@ -167,7 +298,7 @@
         }
         for (String locNo : param.getLocNos()) {
             // 鑾峰彇宸ヤ綔鍙�
-            int workNo = commonService.getWorkNo(0);
+            int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(locNo);
             if (Cools.isEmpty(locMast)) {
@@ -220,4 +351,238 @@
         }
     }
 
+    @Override
+    @Transactional
+    public void locMove(String sourceLocNo, String locNo, Long userId) {
+        LocMast sourceLoc = locMastService.selectById(sourceLocNo);
+        if (Cools.isEmpty(sourceLoc)){
+            throw new CoolException("鏈壘鍒板簱浣�");
+        }
+        LocMast loc = locMastService.selectById(locNo);
+        if (Cools.isEmpty(loc)){
+            throw new CoolException("鏈壘鍒板簱浣�");
+        }
+        if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
+            throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
+        }
+        // 鑾峰彇宸ヤ綔鍙�
+        int workNo = commonService.getWorkNo(DEFAULT_WORK_NO_TYPE);
+        // 淇濆瓨宸ヤ綔妗�
+        WrkMast wrkMast = new WrkMast();
+        wrkMast.setWrkNo(workNo);
+        wrkMast.setIoTime(new Date());
+        wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+        wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
+        wrkMast.setIoPri(10D);
+        wrkMast.setCrnNo(sourceLoc.getCrnNo());
+        wrkMast.setSourceLocNo(sourceLocNo); // 婧愬簱浣�
+        wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
+        wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setEmptyMk(sourceLoc.getLocType().equals("D")?"Y":"N"); // 绌烘澘
+        wrkMast.setLinkMis("N");
+        wrkMast.setAppeUser(userId);
+        wrkMast.setAppeTime(new Date());
+        wrkMast.setModiUser(userId);
+        wrkMast.setModiTime(new Date());
+        boolean res = wrkMastService.insert(wrkMast);
+        if (!res) {
+            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+        }
+        // 宸ヤ綔妗f槑缁嗕繚瀛�
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
+        for (LocDetl locDetl : locDetls) {
+            WrkDetl wrkDetl = new WrkDetl();
+            wrkDetl.setWrkNo(workNo);
+            wrkDetl.setIoTime(new Date());
+            wrkDetl.setMatnr(locDetl.getMatnr());
+            wrkDetl.setAnfme(locDetl.getAnfme());
+            wrkDetl.setZmatid(locDetl.getZmatid());
+            wrkDetl.setTbpos(locDetl.getTbpos());
+            wrkDetl.setTbnum(locDetl.getTbnum());
+            wrkDetl.setLgnum(locDetl.getLgnum());
+            wrkDetl.setAltme(locDetl.getAltme());
+            wrkDetl.setBname(locDetl.getBname());
+            wrkDetl.setMaktx(locDetl.getMaktx());
+            wrkDetl.setAppeTime(new Date());
+            wrkDetl.setAppeUser(userId);
+            wrkDetl.setModiTime(new Date());
+            wrkDetl.setModiUser(userId);
+            if (!wrkDetlService.insert(wrkDetl)) {
+                throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+            }
+        }
+        // 淇敼婧愬簱浣嶇姸鎬�
+        if (sourceLoc.getLocType().equals("D") || sourceLoc.getLocType().equals("F")) {
+            sourceLoc.setLocType("R"); // R.鍑哄簱棰勭害
+            sourceLoc.setModiUser(userId);
+            sourceLoc.setModiTime(new Date());
+            if (!locMastService.updateById(sourceLoc)){
+                throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+            }
+        } else {
+            throw new CoolException("棰勭害婧愬簱浣嶅嚭搴撳け璐ワ紝鐘舵�侊細"+sourceLoc.getLocType$());
+        }
+        // 淇敼鐩爣搴撲綅鐘舵��
+        if (loc.getLocType().equals("O")) {
+            loc.setLocType("S"); // S.鍏ュ簱棰勭害
+            loc.setModiTime(new Date());
+            loc.setModiUser(userId);
+            if (!locMastService.updateById(loc)) {
+                throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+            }
+        } else {
+            throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocType$());
+        }
+    }
+
+    @Override
+    @Transactional
+    public void completeWrkMast(String workNo, Long userId) {
+        WrkMast wrkMast = wrkMastService.selectById(workNo);
+        if (Cools.isEmpty(wrkMast)){
+            throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+        }
+        if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 14) {
+            throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
+        }
+        // 鍏ュ簱 + 搴撲綅杞Щ
+        if (wrkMast.getWrkSts() < 4 || (wrkMast.getWrkSts() > 10 && wrkMast.getIoType()==11)) {
+            wrkMast.setWrkSts(4L);
+        // 鍑哄簱
+        } else if (wrkMast.getWrkSts() > 10) {
+            wrkMast.setWrkSts(14L);
+        }
+        wrkMast.setModiTime(new Date());
+        wrkMast.setModiUser(userId);
+        if (!wrkMastService.updateById(wrkMast)) {
+            throw new CoolException("淇敼宸ヤ綔妗eけ璐�");
+        }
+    }
+
+    @Override
+    @Transactional
+    public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
+        LocMast locMast = locMastService.selectById(param.getLocNo());
+        if (Cools.isEmpty(locMast)) {
+            throw new CoolException("搴撲綅涓嶅瓨鍦�");
+        }
+        for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) {
+            LocDetl sqlParam = new LocDetl();
+            sqlParam.setLocNo(locMast.getLocNo());
+            sqlParam.setMatnr(adjust.getMatNo());
+            LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
+            // 淇濆瓨鏂板簱瀛樻槑缁�
+            if (Cools.isEmpty(one)) {
+                MatCode matCode = matCodeService.selectById(adjust.getMatNo());
+                LocDetl locDetl = new LocDetl();
+                locDetl.setLocNo(locMast.getLocNo());
+                locDetl.setMatnr(matCode.getMatNo());
+                locDetl.setMaktx(matCode.getMatName()); // 鐗╂枡鎻忚堪
+                locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
+                locDetl.setAltme(matCode.getStr1()); // 鍗曚綅
+                // todo:luxiaoao
+                locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
+                locDetl.setModiTime(new Date());
+                locDetl.setAppeUser(userId);
+                locDetl.setAppeTime(new Date());
+                if (!locDetlService.insert(locDetl)) {
+                    throw new CoolException("淇濆瓨搴撳瓨鏄庣粏澶辫触");
+                }
+            // 淇敼鍘熷簱瀛樻槑缁�
+            } else {
+                // 濡傛灉鏁伴噺淇敼锛屽垯鏇存柊搴撳瓨鏄庣粏
+                if (!adjust.getCount().equals(one.getAnfme())) {
+                    // 褰撴暟閲忚淇敼涓� 0 鏃讹紝鐩存帴娓呴櫎搴撳瓨鏄庣粏
+                    if (adjust.getCount() == 0) {
+                        if (!locDetlService.delete(new EntityWrapper<>(one))) {
+                            throw new CoolException("娓呴櫎搴撳瓨鏄庣粏澶辫触");
+                        }
+                    } else {
+                        one.setAnfme(adjust.getCount());
+                        one.setModiTime(new Date());
+                        one.setModiUser(userId);
+                        if (!locDetlService.updateById(one)) {
+                            throw new CoolException("淇敼搴撳瓨鏄庣粏澶辫触");
+                        }
+                    }
+                }
+            }
+
+        }
+    }
+
+    @Override
+    @Transactional
+    public void cancelWrkMast(String workNo, Long userId) {
+        WrkMast wrkMast = wrkMastService.selectById(workNo);
+        if (Cools.isEmpty(wrkMast)){
+            throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
+        }
+        String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
+        String locType = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
+        // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級
+        if (wrkMast.getWrkSts() < 4) {
+            locNo = wrkMast.getLocNo();
+            locType = "O";
+            /**
+             * 搴撲綅杞Щ
+             * 鍙栨秷鍚� 婧愬簱浣� ==>> F.鍦ㄥ簱
+             *       鐩爣搴撲綅 ===>> O.绌哄簱浣�
+             **/
+            if (wrkMast.getIoType() == 11) {
+                // 搴撲綅杞Щ锛氭簮搴撲綅
+                LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+                if (Cools.isEmpty(locMast)) {
+                    throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛屾簮搴撲綅涓嶅瓨鍦�:"+ wrkMast.getSourceLocNo());
+                }
+                locMast.setLocType("F");
+                locMast.setModiTime(new Date());
+                locMast.setModiUser(userId);
+                locMastService.updateById(locMast);
+            }
+        // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
+        } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {
+            locNo = wrkMast.getSourceLocNo();
+            // 鍑哄簱 ===>> F.鍦ㄥ簱
+            if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
+                locType = "F";
+            // 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
+            } else if (wrkMast.getIoType() == 110) {
+                locType = "D";
+            // 搴撲綅杞Щ ===>> D.绌烘《/绌烘爤鏉�
+            } else if (wrkMast.getIoType() == 11) {
+                locType = "F";
+                // 搴撲綅杞Щ锛氱洰鏍囧簱浣�
+                LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                if (Cools.isEmpty(locMast)) {
+                    throw new CoolException("鍙栨秷搴撲綅杞Щ澶辫触锛岀洰鏍囧簱浣嶄笉瀛樺湪:"+ wrkMast.getSourceLocNo());
+                }
+                locMast.setLocType("O");
+                locMast.setModiTime(new Date());
+                locMast.setModiUser(userId);
+                locMastService.updateById(locMast);
+            }
+        } else {
+            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
+        }
+        // 鍒犻櫎宸ヤ綔妗�
+        boolean wrkMastRes = wrkMastService.deleteById(wrkMast);
+        // 鍒犻櫎宸ヤ綔妗f槑缁�
+        boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
+        // 淇敼搴撲綅鐘舵��
+        LocMast locMast = locMastService.selectById(locNo);
+        if (Cools.isEmpty(locMast)) {
+            throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
+        }
+        locMast.setLocType(locType);
+        locMast.setModiTime(new Date());
+        locMast.setModiUser(userId);
+        boolean locMastRes = locMastService.updateById(locMast);
+        if (!wrkMastRes || !wrkDetlRes || !locMastRes) {
+            throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+        }
+    }
+
 }

--
Gitblit v1.9.1