From 71ca7c6fb00de749b2ba2180f1cc04e35574eb19 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期一, 21 七月 2025 15:44:12 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 992 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 728 insertions(+), 264 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 2992414..5807e33 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1,26 +1,32 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.BaseRes; import com.core.common.Cools; -import com.core.common.DateUtils; +import com.core.common.R; import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import com.zy.asrs.entity.*; -import com.zy.asrs.entity.param.OpenOrderCompleteParam; -import com.zy.asrs.entity.param.OpenOrderPakinParam; -import com.zy.asrs.entity.param.OpenOrderPakoutParam; +import com.zy.asrs.entity.param.*; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; +import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; -import com.zy.common.model.DetlDto; +import com.zy.asrs.utils.MatCompareUtils; +import com.zy.asrs.utils.MatUtils; +import com.zy.common.model.enums.WorkNoType; +import com.zy.common.service.CommonService; +import com.zy.common.utils.NodeUtils; +import com.zy.third.erp.task.ERPOutHedTBScheduler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; +import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * Created by vincent on 2022/4/9 @@ -45,265 +51,535 @@ private PackService packService; @Autowired private TagService tagService; + @Autowired + private TagMapper tagMapper; + + @Resource + private WaitPakinService waitPakinService; + + @Resource + private WrkDetlService wrkDetlService; + + @Resource + private WorkService workService; + + @Resource + private BasDevpService basDevpService; + + @Resource + private LocMastService locMastService; + + @Resource + private StaDescService staDescService; + + @Resource + private CommonService commonService; + + @Resource + private WrkMastService wrkMastService; + + @Resource + private ERPOutHedTBScheduler erpOutHedTBScheduler; + + + @Override + @Transactional + public R grouping(AgvGroupingParam param) { + + if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { + throw new CoolException(BaseRes.PARAM); + } + + // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁 + if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). + eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) { + throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱"); + } + + if (param.getBarcode().length() != 8) { + throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode()); + } + + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode())); + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode())); + int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); + if (countLoc > 0 || countWrk > 0 || countwait > 0) { + throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode()); + } + + Date now = new Date(); + + Order order = orderService.selectOne(new EntityWrapper<Order>().eq("temp1", param.getOrderNo())); + if (Cools.isEmpty(order) || order.getSettle() > 2) { + throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�"); + } + // 鐢熸垚鍏ュ簱閫氱煡妗� + param.getCombMats().forEach(elem -> { + + // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙 + OrderDetl orderDetl = orderDetlService.selectById(elem.getDetlId()); + if (elem.getAnfme() > orderDetl.getEnableQty()) { + throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�"); + } + // 淇敼璁㈠崟浣滀笟鏁伴噺 + if (!orderDetlService.increaseWorkQty(orderDetl, elem.getAnfme())) { + throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触"); + } + + Mat mat = matService.selectByMatnr(orderDetl.getMatnr()); + if (Cools.isEmpty(mat)) { + throw new CoolException(orderDetl.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�"); + } + WaitPakin waitPakin = new WaitPakin(); + waitPakin.sync(mat); + waitPakin.setOrderNo(order.getOrderNo()); // 鍗曟嵁缂栧彿 + waitPakin.setBatch(orderDetl.getBatch()); // 搴忓垪鐮� + waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮� + waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� + waitPakin.setAnfme(elem.getAnfme()); // 鏁伴噺 + waitPakin.setStatus("Y"); // 鐘舵�� + waitPakin.setAppeTime(now); + waitPakin.setModiTime(now); + + waitPakin.setBatch(orderDetl.getBatch()); + waitPakin.setSPgNO(orderDetl.getSPgNO()); + waitPakin.setOutOrderNo(orderDetl.getOutOrderNo()); + waitPakin.setProType(orderDetl.getProType()); + waitPakin.setLuHao(orderDetl.getLuHao()); + waitPakin.setPacking(orderDetl.getPacking()); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); + } + }); + + orderService.updateSettle(order.getId(), 2L, null); + return R.ok("缁勬墭鎴愬姛"); + } + + @Override + public R barcodeVerificatio(String barcode) { + + if (!barcode.matches("\\d{8}")) { + return R.parse("鏉$爜涓嶆槸8浣嶆暟瀛楋細" + barcode); + } + + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", barcode)); + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", barcode)); + int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", barcode)); + + if (countLoc > 0) { + return R.parse("搴撳瓨宸插瓨鍦ㄨ鏉$爜锛�" + barcode); + } else if (countWrk > 0) { + return R.parse("璇ユ潯鐮佸凡鐢熸垚宸ヤ綔妗o細" + barcode); + } else if (countwait > 0) { + return R.parse("璇ユ潯鐮佸凡鐢熸垚鍏ュ簱閫氱煡妗o細" + barcode); + } + + return R.ok("鏍¢獙鎴愬姛"); + } + + @Override + @Transactional + public R outbound(OutBoundParam param) { + + // 鎵樼洏鐮� + String barcode = param.getBarcode(); + + // 鍗曟嵁缂栧彿 + String orderNo = param.getOrderNo(); + + // 鏍规嵁鎵樼洏鐮佹煡璇㈠簱瀛樻槑缁� + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("zpallet", barcode)); + List<String> locNos = locDetls.stream().map(LocDetl::getLocNo).distinct().collect(Collectors.toList()); + if (locDetls.size() == 0) { + return R.parse("璇ユ墭鐩樼爜涓嶅瓨鍦ㄥ簱瀛橈細" + barcode); + } else if (locNos.size() > 1) { + return R.parse("璇ユ墭鐩樼爜鏈夊涓簱浣嶏細" + barcode); + } + + // 搴撲綅鍙� + String locNo = locNos.get(0); + + // 鍑哄簱绔欑偣 + Integer outSite = null; + List<BasDevp> devps = basDevpService.selectList(new EntityWrapper<BasDevp>().in("dev_no", 223, 123).orderBy("dev_no",false)); + for (BasDevp basDevp : devps) { + // 鏃犲伐浣滃彿锛屾棤鐗� + if (basDevp.getWrkNo() == 0 && basDevp.getLoading().equals("Y")) { + outSite = basDevp.getDevNo(); + break; + } + } + if (outSite == null) { + outSite = 223; + } + + Date now = new Date(); + + // 鑾峰彇鍗曟嵁 + Order order = orderService.selectByNo(orderNo); + if (order == null) { + erpOutHedTBScheduler.OutHedTBScheduler(orderNo); + order = orderService.selectByNo(orderNo); +// int i = 30; +// while (i >= 0) { +// try { +// Thread.sleep(1000); +// System.out.println(i); +// } catch (InterruptedException e) { +// throw new RuntimeException(e); +// } +// order = orderService.selectByNo(orderNo); +// if (order != null) { +// break; +// } +// i--; +// } + } + if (order == null) { + return R.parse("鍗曟嵁涓嶅瓨鍦細" + orderNo); + } + // 鑾峰彇鍗曟嵁鏄庣粏 + List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); + + // 瀵规瘮搴撳瓨鏄庣粏鍜屽嚭搴撳崟鎹槑缁嗘槸鍚︿竴鑷� + boolean flag = MatCompareUtils.compareAndCheckCancellation(locDetls, orderDetlList); + if (!flag) { + return R.parse("搴撳瓨鏄庣粏鍜屽崟鎹槑缁嗕笉涓�鑷达紝璇锋鏌ワ紝鍗曟嵁缂栧彿锛�" + orderNo); + } + + // 鑾峰彇搴撲綅 + LocMast locMast = locMastService.selectById(locNo); + // 鑾峰彇璺緞 + int ioType = 101; + StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), outSite); + // 鐢熸垚宸ヤ綔鍙� + int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType)); + // 鐢熸垚宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setInvWh(param.getEndLocation()); // 鍦扮爜 + wrkMast.setIoTime(now); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� + wrkMast.setIoPri(13D); // 浼樺厛绾э細13 + wrkMast.setCrnNo(locMast.getCrnNo()); + wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯 + wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔� + wrkMast.setSourceLocNo(locNo); // 婧愬簱浣� + wrkMast.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk("N"); // 绌烘澘 + wrkMast.setLinkMis("N"); + wrkMast.setBarcode(barcode); + wrkMast.setAppeTime(now); + wrkMast.setModiTime(now); + if (!wrkMastService.insert(wrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + locNo); + } + + // 鐢熸垚宸ヤ綔妗f槑缁� + for (OrderDetl orderDetl : orderDetlList) { + + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.setWrkNo(workNo); + wrkDetl.sync(orderDetl); + wrkDetl.setZpallet(wrkMast.getBarcode()); + wrkDetl.setIoTime(now); + wrkDetl.setOrderNo(orderNo); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } + // 淇敼璁㈠崟鏄庣粏 + if (!orderDetlService.increaseWorkQty(orderDetl, orderDetl.getAnfme())) { + throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触"); + } + } + // 淇敼璁㈠崟鐘舵�� + orderService.updateSettle(order.getId(), 2L, null); + // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� + if (locMast.getLocSts().equals("F")) { + locMast.setLocSts("R"); + locMast.setModiTime(now); + if (!locMastService.updateById(locMast)) { + throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + locNo); + } + } else { + throw new CoolException(locNo + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��"); + } + return R.ok("鍑哄簱鎴愬姛"); + } + + @Override @Transactional public void pakinOrderCreate(OpenOrderPakinParam param) { - Order order = orderService.selectByNo(param.getOrderNo()); - if (!Cools.isEmpty(order)) { - throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); - } - DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE); - Date now = new Date(); - // 鍗曟嵁涓绘。 - order = new Order( - String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] - param.getOrderNo(), // 璁㈠崟缂栧彿 - DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 - docType.getDocId(), // 鍗曟嵁绫诲瀷 - null, // 椤圭洰缂栧彿 - null, // - null, // 璋冩嫧椤圭洰缂栧彿 - null, // 鍒濆绁ㄦ嵁鍙� - null, // 绁ㄦ嵁鍙� - null, // 瀹㈡埛缂栧彿 - null, // 瀹㈡埛 - null, // 鑱旂郴鏂瑰紡 - null, // 鎿嶄綔浜哄憳 - null, // 鍚堣閲戦 - null, // 浼樻儬鐜� - null, // 浼樻儬閲戦 - null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 - null, // 瀹炰粯閲戦 - null, // 浠樻绫诲瀷 - null, // 涓氬姟鍛� - null, // 缁撶畻澶╂暟 - null, // 閭垂鏀粯绫诲瀷 - null, // 閭垂 - null, // 浠樻鏃堕棿 - null, // 鍙戣揣鏃堕棿 - null, // 鐗╂祦鍚嶇О - null, // 鐗╂祦鍗曞彿 - 1L, // 璁㈠崟鐘舵�� - 1, // 鐘舵�� - 9527L, // 娣诲姞浜哄憳 - now, // 娣诲姞鏃堕棿 - 9527L, // 淇敼浜哄憳 - now, // 淇敼鏃堕棿 - null // 澶囨敞 - ); - if (!orderService.insert(order)) { - throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<DetlDto> orderDetails = param.getOrderDetails(); - for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { - Mat mat = matService.selectByMatnr(detlDto.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); - } - OrderDetl orderDetl = new OrderDetl(); - orderDetl.sync(mat); - orderDetl.setBatch(detlDto.getBatch()); - orderDetl.setAnfme(detlDto.getAnfme()); - orderDetl.setOrderId(order.getId()); - orderDetl.setOrderNo(order.getOrderNo()); - orderDetl.setCreateBy(9527L); - orderDetl.setCreateTime(now); - orderDetl.setUpdateBy(9527L); - orderDetl.setUpdateTime(now); - orderDetl.setStatus(1); - orderDetl.setQty(0.0D); - if (!orderDetlService.insert(orderDetl)) { - throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - } +// Order order = orderService.selectByNo(param.getOrderNo()); +// if (!Cools.isEmpty(order)) { +// throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); +// } +// DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.TRUE); +// Date now = new Date(); +// // 鍗曟嵁涓绘。 +// order = new Order( +// String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] +// param.getOrderNo(), // 璁㈠崟缂栧彿 +// DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 +// docType.getDocId(), // 鍗曟嵁绫诲瀷 +// null, // 椤圭洰缂栧彿 +// null, // +// null, // 璋冩嫧椤圭洰缂栧彿 +// null, // 鍒濆绁ㄦ嵁鍙� +// null, // 绁ㄦ嵁鍙� +// null, // 瀹㈡埛缂栧彿 +// null, // 瀹㈡埛 +// null, // 鑱旂郴鏂瑰紡 +// null, // 鎿嶄綔浜哄憳 +// null, // 鍚堣閲戦 +// null, // 浼樻儬鐜� +// null, // 浼樻儬閲戦 +// null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 +// null, // 瀹炰粯閲戦 +// null, // 浠樻绫诲瀷 +// null, // 涓氬姟鍛� +// null, // 缁撶畻澶╂暟 +// null, // 閭垂鏀粯绫诲瀷 +// null, // 閭垂 +// null, // 浠樻鏃堕棿 +// null, // 鍙戣揣鏃堕棿 +// null, // 鐗╂祦鍚嶇О +// null, // 鐗╂祦鍗曞彿 +// 1L, // 璁㈠崟鐘舵�� +// 1, // 鐘舵�� +// 9527L, // 娣诲姞浜哄憳 +// now, // 娣诲姞鏃堕棿 +// 9527L, // 淇敼浜哄憳 +// now, // 淇敼鏃堕棿 +// null // 澶囨敞 +// ); +// if (!orderService.insert(order)) { +// throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); +// } +// // 鍗曟嵁鏄庣粏妗� +// List<DetlDto> list = new ArrayList<>(); +// List<DetlDto> orderDetails = param.getOrderDetails(); +// for (DetlDto detail : orderDetails) { +// DetlDto dto = new DetlDto(detail); +// if (DetlDto.has(list, dto)) { +// DetlDto detlDto = DetlDto.find(list, dto); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); +// } else { +// list.add(dto); +// } +// } +// for (DetlDto detlDto : list) { +// Mat mat = matService.selectByMatnr(detlDto.getMatnr()); +// if (Cools.isEmpty(mat)) { +// throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); +// } +// OrderDetl orderDetl = new OrderDetl(); +// orderDetl.sync(mat); +// orderDetl.setBatch(detlDto.getBatch()); +// orderDetl.setAnfme(detlDto.getAnfme()); +// orderDetl.setOrderId(order.getId()); +// orderDetl.setOrderNo(order.getOrderNo()); +// orderDetl.setCreateBy(9527L); +// orderDetl.setCreateTime(now); +// orderDetl.setUpdateBy(9527L); +// orderDetl.setUpdateTime(now); +// orderDetl.setStatus(1); +// orderDetl.setQty(0.0D); +// if (!orderDetlService.insert(orderDetl)) { +// throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); +// } +// } } @Override @Transactional public List<OpenOrderCompeteResult> pakinOrderComplete(OpenOrderCompleteParam param) { - List<OpenOrderCompeteResult> results = new ArrayList<>(); - if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { - // 鎸囧畾璁㈠崟 - Order order = orderService.selectByNo(param.getOrderNo()); - if (null != order) { - OpenOrderCompeteResult result = new OpenOrderCompeteResult(); - results.add(result); - result.setOrderNo(order.getOrderNo()); - result.setOrderTime(order.getOrderTime()); - result.setOrderType(order.getDocType$()); - List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); - } - if (order.getSettle() == 4L) { - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } - } - } else { - // 鎵�鏈夎鍗� - List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); - for (Order order : orders) { - OpenOrderCompeteResult result = new OpenOrderCompeteResult(); - results.add(result); - result.setOrderNo(order.getOrderNo()); - result.setOrderTime(order.getOrderTime()); - result.setOrderType(order.getDocType$()); - List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); - } - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } - } - return results; +// List<OpenOrderCompeteResult> results = new ArrayList<>(); +// if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { +// // 鎸囧畾璁㈠崟 +// Order order = orderService.selectByNo(param.getOrderNo()); +// if (null != order) { +// OpenOrderCompeteResult result = new OpenOrderCompeteResult(); +// results.add(result); +// result.setOrderNo(order.getOrderNo()); +// result.setOrderTime(order.getOrderTime()); +// result.setOrderType(order.getDocType$()); +// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// for (OrderDetl orderDetl : orderDetls) { +// result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); +// } +// if (order.getSettle() == 4L) { +// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } +// } +// } +// } else { +// // 鎵�鏈夎鍗� +// List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); +// for (Order order : orders) { +// OpenOrderCompeteResult result = new OpenOrderCompeteResult(); +// results.add(result); +// result.setOrderNo(order.getOrderNo()); +// result.setOrderTime(order.getOrderTime()); +// result.setOrderType(order.getDocType$()); +// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// for (OrderDetl orderDetl : orderDetls) { +// result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); +// } +// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } +// } +// } +// return results; + return null; } @Override + @Transactional public void pakoutOrderCreate(OpenOrderPakoutParam param) { - Order order = orderService.selectByNo(param.getOrderNo()); - if (!Cools.isEmpty(order)) { - throw new CoolException(param.getOrderNo() + "鍗曟嵁宸插瓨鍦紝璇峰嬁閲嶅鎻愪氦"); - } - DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); - Date now = new Date(); - // 鍗曟嵁涓绘。 - order = new Order( - String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] - param.getOrderNo(), // 璁㈠崟缂栧彿 - DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 - docType.getDocId(), // 鍗曟嵁绫诲瀷 - null, // 椤圭洰缂栧彿 - null, // - null, // 璋冩嫧椤圭洰缂栧彿 - null, // 鍒濆绁ㄦ嵁鍙� - null, // 绁ㄦ嵁鍙� - null, // 瀹㈡埛缂栧彿 - null, // 瀹㈡埛 - null, // 鑱旂郴鏂瑰紡 - null, // 鎿嶄綔浜哄憳 - null, // 鍚堣閲戦 - null, // 浼樻儬鐜� - null, // 浼樻儬閲戦 - null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 - null, // 瀹炰粯閲戦 - null, // 浠樻绫诲瀷 - null, // 涓氬姟鍛� - null, // 缁撶畻澶╂暟 - null, // 閭垂鏀粯绫诲瀷 - null, // 閭垂 - null, // 浠樻鏃堕棿 - null, // 鍙戣揣鏃堕棿 - null, // 鐗╂祦鍚嶇О - null, // 鐗╂祦鍗曞彿 - 1L, // 璁㈠崟鐘舵�� - 1, // 鐘舵�� - 9527L, // 娣诲姞浜哄憳 - now, // 娣诲姞鏃堕棿 - 9527L, // 淇敼浜哄憳 - now, // 淇敼鏃堕棿 - null // 澶囨敞 - ); - if (!orderService.insert(order)) { - throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<DetlDto> orderDetails = param.getOrderDetails(); - for (DetlDto detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { - Mat mat = matService.selectByMatnr(detlDto.getMatnr()); - if (Cools.isEmpty(mat)) { - throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); - } - OrderDetl orderDetl = new OrderDetl(); - orderDetl.sync(mat); - orderDetl.setBatch(detlDto.getBatch()); - orderDetl.setAnfme(detlDto.getAnfme()); - orderDetl.setOrderId(order.getId()); - orderDetl.setOrderNo(order.getOrderNo()); - orderDetl.setCreateBy(9527L); - orderDetl.setCreateTime(now); - orderDetl.setUpdateBy(9527L); - orderDetl.setUpdateTime(now); - orderDetl.setStatus(1); - orderDetl.setQty(0.0D); - if (!orderDetlService.insert(orderDetl)) { - throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); - } - } +// Order order = orderService.selectByNo(param.getOrderNo()); +// // 濡傛灉鍗曟嵁涓嶅瓨鍦ㄥ垯娣诲姞锛涘鏋滃崟鎹瓨鍦紝浣滀笟涓棤娉曚慨鏀癸紝鍙嶄箣鍒欎慨鏀瑰崟鎹� +// if (!Cools.isEmpty(order)) { +// if (order.getSettle() > 1L) { +// throw new CoolException(param.getOrderNo() + "姝e湪鍑哄簱锛屾棤娉曚慨鏀瑰崟鎹�"); +// } +// orderService.remove(order.getId()); +// } +// DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); +// Date now = new Date(); +// // 鍗曟嵁涓绘。 +// order = new Order( +// String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] +// param.getOrderNo(), // 璁㈠崟缂栧彿 +// DateUtils.convert(now), // 鍗曟嵁鏃ユ湡 +// docType.getDocId(), // 鍗曟嵁绫诲瀷 +// null, // 椤圭洰缂栧彿 +// null, // +// null, // 璋冩嫧椤圭洰缂栧彿 +// null, // 鍒濆绁ㄦ嵁鍙� +// null, // 绁ㄦ嵁鍙� +// null, // 瀹㈡埛缂栧彿 +// null, // 瀹㈡埛 +// null, // 鑱旂郴鏂瑰紡 +// null, // 鎿嶄綔浜哄憳 +// null, // 鍚堣閲戦 +// null, // 浼樻儬鐜� +// null, // 浼樻儬閲戦 +// null, // 閿�鍞垨閲囪喘璐圭敤鍚堣 +// null, // 瀹炰粯閲戦 +// null, // 浠樻绫诲瀷 +// null, // 涓氬姟鍛� +// null, // 缁撶畻澶╂暟 +// null, // 閭垂鏀粯绫诲瀷 +// null, // 閭垂 +// null, // 浠樻鏃堕棿 +// null, // 鍙戣揣鏃堕棿 +// null, // 鐗╂祦鍚嶇О +// null, // 鐗╂祦鍗曞彿 +// 1L, // 璁㈠崟鐘舵�� +// 1, // 鐘舵�� +// 9527L, // 娣诲姞浜哄憳 +// now, // 娣诲姞鏃堕棿 +// 9527L, // 淇敼浜哄憳 +// now, // 淇敼鏃堕棿 +// null // 澶囨敞 +// ); +// if (!orderService.insert(order)) { +// throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); +// } +// // 鍗曟嵁鏄庣粏妗� +// List<DetlDto> list = new ArrayList<>(); +// List<DetlDto> orderDetails = param.getOrderDetails(); +// for (DetlDto detail : orderDetails) { +// DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme()); +// if (DetlDto.has(list, dto)) { +// DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); +// assert detlDto != null; +// detlDto.setAnfme(detlDto.getAnfme() + detail.getAnfme()); +// } else { +// list.add(dto); +// } +// } +// for (DetlDto detlDto : list) { +// Mat mat = matService.selectByMatnr(detlDto.getMatnr()); +// if (Cools.isEmpty(mat)) { +// throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); +// } +// OrderDetl orderDetl = new OrderDetl(); +// orderDetl.sync(mat); +// orderDetl.setBatch(detlDto.getBatch()); +// orderDetl.setAnfme(detlDto.getAnfme()); +// orderDetl.setOrderId(order.getId()); +// orderDetl.setOrderNo(order.getOrderNo()); +// orderDetl.setCreateBy(9527L); +// orderDetl.setCreateTime(now); +// orderDetl.setUpdateBy(9527L); +// orderDetl.setUpdateTime(now); +// orderDetl.setStatus(1); +// orderDetl.setQty(0.0D); +// if (!orderDetlService.insert(orderDetl)) { +// throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); +// } +// } } @Override public List<OpenOrderCompeteResult> pakoutOrderComplete(OpenOrderCompleteParam param) { - List<OpenOrderCompeteResult> results = new ArrayList<>(); - if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { - // 鎸囧畾璁㈠崟 - Order order = orderService.selectByNo(param.getOrderNo()); - if (null != order) { - OpenOrderCompeteResult result = new OpenOrderCompeteResult(); - results.add(result); - result.setOrderNo(order.getOrderNo()); - result.setOrderTime(order.getOrderTime()); - result.setOrderType(order.getDocType$()); - List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); - } - if (order.getSettle() == 4L) { - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } - } - } else { - // 鎵�鏈夎鍗� - List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); - for (Order order : orders) { - OpenOrderCompeteResult result = new OpenOrderCompeteResult(); - results.add(result); - result.setOrderNo(order.getOrderNo()); - result.setOrderTime(order.getOrderTime()); - result.setOrderType(order.getDocType$()); - List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - for (OrderDetl orderDetl : orderDetls) { - result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); - } - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } - } - return results; +// List<OpenOrderCompeteResult> results = new ArrayList<>(); +// if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) { +// // 鎸囧畾璁㈠崟 +// Order order = orderService.selectByNo(param.getOrderNo()); +// if (null != order) { +// OpenOrderCompeteResult result = new OpenOrderCompeteResult(); +// results.add(result); +// result.setOrderNo(order.getOrderNo()); +// result.setOrderTime(order.getOrderTime()); +// result.setOrderType(order.getDocType$()); +// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// for (OrderDetl orderDetl : orderDetls) { +// result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); +// } +// if (order.getSettle() == 4L) { +// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } +// } +// } +// } else { +// // 鎵�鏈夎鍗� +// List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); +// for (Order order : orders) { +// OpenOrderCompeteResult result = new OpenOrderCompeteResult(); +// results.add(result); +// result.setOrderNo(order.getOrderNo()); +// result.setOrderTime(order.getOrderTime()); +// result.setOrderType(order.getDocType$()); +// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); +// for (OrderDetl orderDetl : orderDetls) { +// result.getOrderDetails().add(new DetlDto(orderDetl.getOrderNo(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getQty())); +// } +// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } +// } +// } +// return results; + return null; } @Override @@ -314,17 +590,20 @@ @Override @Transactional - public void packageUp(String barcode) { - Pack pack = packService.selectByBarcode(barcode); + public void packageUp(PackParam param) { + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException("barcode涓嶈兘涓虹┖"); + } + Mat analyse = MatUtils.analyseMat(param.getBarcode()); + Pack pack = packService.selectByBarcode(param.getBarcode()); if (null != pack) { - throw new CoolException(barcode + "閲嶅鎻愪氦"); + throw new CoolException(param.getBarcode() + "閲嶅鎻愪氦"); } Date now = new Date(); - // todo:luxiaotao 瑙f瀽鏉$爜瑙勫垯锛岃幏鍙栫墿鏂欎唬鐮� pack = new Pack( - barcode, // 鏉$爜[闈炵┖] - null, // 鍟嗗搧缂栧彿 - null, // 鎵瑰彿 + param.getBarcode(), // 鏉$爜[闈炵┖] + analyse.getMatnr(), // 鍟嗗搧缂栧彿 + analyse.getBarcode(), // 搴忓垪鐮� 1L, // 璁㈠崟鐘舵�� 1, // 鐘舵�� now, // 娣诲姞鏃堕棿 @@ -336,16 +615,201 @@ if (!packService.insert(pack)) { throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } - Mat mat = new Mat(); - mat.setTagId(tagService.getTop().getId()); - mat.setMatnr(barcode); - mat.setMaktx(barcode); - mat.setStatus(1); - mat.setCreateTime(now); - mat.setUpdateTime(now); - if (!matService.insert(mat)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + + Mat mat = matService.selectByMatnr(analyse.getMatnr()); + if (mat == null) { + mat = new Mat(); + // 鍒嗙被 + Long tagId; + // 涓�绾у垎绫� + if (!Cools.isEmpty(param.getGroupCode()) && !Cools.isEmpty(param.getGroupName())) { + Tag priTag = tagService.selectByName(param.getGroupCode(), 2); + if (priTag == null) { + Tag top = tagService.getTop(); + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(top.getId()); + priTag = new Tag( + null, // 缂栧彿 + param.getGroupCode(), // 鍚嶇О + top.getId(), // 鐖剁骇 + top.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 2, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(priTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + // 浜岀骇鍒嗙被 + Tag secTag = tagService.selectByName(param.getGroupName(), 3); + if (secTag == null) { + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(priTag.getId()); + secTag = new Tag( + null, // 缂栧彿 + param.getGroupName(), // 鍚嶇О + priTag.getId(), // 鐖剁骇 + priTag.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 3, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(secTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + tagId = secTag.getId(); + } else { + tagId = tagService.getTop().getId(); + } + mat.setTagId(tagId); + mat.setMatnr(analyse.getMatnr()); + mat.setMaktx(param.getMaterialName()); + mat.setSpecs(param.getConfigureDesc()); + mat.setModel(analyse.getModel()); + mat.setStatus(1); + mat.setCreateTime(now); + mat.setUpdateTime(now); + if (!matService.insert(mat)) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } else { + log.info("鎵撳寘涓婄嚎娣诲姞鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); + } } } + @Override + @Transactional + public void syncMat(MatSyncParam param) { + if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <= 0) { + throw new CoolException("鍟嗗搧鏁版嵁涓虹┖"); + } + + for (MatSyncParam.MatParam matParam : param.getMatDetails()) { + if (Cools.isEmpty(matParam.getMatnr())) { + throw new CoolException("鍟嗗搧缂栫爜涓嶈兘涓虹┖"); + } + + Date now = new Date(); + Mat mat = matService.selectByMatnr(matParam.getMatnr()); + if (mat == null) { + mat = new Mat(); + // 鍒嗙被 + Long tagId; + // 涓�绾у垎绫� + if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) { + Tag priTag = tagService.selectByName(matParam.getGroupCode(), 2); + if (priTag == null) { + Tag top = tagService.getTop(); + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(top.getId()); + priTag = new Tag( + null, // 缂栧彿 + matParam.getGroupCode(), // 鍚嶇О + top.getId(), // 鐖剁骇 + top.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 2, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(priTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + // 浜岀骇鍒嗙被 + Tag secTag = tagService.selectByName(matParam.getGroupName(), 3); + if (secTag == null) { + NodeUtils nodeUtils = new NodeUtils(); + nodeUtils.executePath(priTag.getId()); + secTag = new Tag( + null, // 缂栧彿 + matParam.getGroupName(), // 鍚嶇О + priTag.getId(), // 鐖剁骇 + priTag.getName(), // 鐖剁骇鍚嶇О + nodeUtils.path.toString(), // 鍏宠仈璺緞 + nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 3, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 + now, // 淇敼鏃堕棿 + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); + if (tagMapper.insert(secTag) == 0) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } + } + tagId = secTag.getId(); + } else { + tagId = tagService.getTop().getId(); + } + mat.sync(param); +// mat.setMatnr(param.getMatnr()); +// mat.setMaktx(param.getMaktx()); +// mat.setSpecs(param.getSpecs()); +// mat.setModel(param.getModel()); + + mat.setTagId(tagId); + mat.setStatus(1); + mat.setCreateTime(now); + mat.setUpdateTime(now); + if (!matService.insert(mat)) { + throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + } else { + log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); + } + } else { + mat.sync(param); + if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { + throw new CoolException("鏇存柊宸插瓨鍦ㄥ晢鍝佷俊鎭け璐ワ紝璇疯仈绯荤鐞嗗憳"); + } + } + } + + } + } -- Gitblit v1.9.1