From 2d0226ea3dd2116cfcc9ec307f17edf191458aad Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期二, 27 八月 2024 17:04:30 +0800 Subject: [PATCH] mes对接单据相关 --- src/main/resources/mapper/OrderMapper.xml | 11 + src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java | 19 + src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 66 ++++- src/main/java/com/zy/asrs/controller/OpenController.java | 2 src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 4 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 2 src/main/java/com/zy/asrs/entity/param/ZwmsOutLocWorkDto.java | 18 src/main/java/com/zy/asrs/service/OpenService.java | 2 src/main/resources/mapper/OrderDetlMapper.xml | 17 + src/main/webapp/static/js/orderTable.js | 3 src/main/java/com/zy/asrs/mapper/OrderMapper.java | 2 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 21 + src/main/java/com/zy/common/constant/MesConstant.java | 9 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 64 +++++ src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 140 +++++------ src/main/java/com/zy/asrs/controller/OutController.java | 188 +++++++++++----- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 47 +--- 17 files changed, 409 insertions(+), 206 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index f7d94d8..7dcd4a7 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -92,7 +92,7 @@ @RequestBody ZwmsOutLocWorkDto param, HttpServletRequest request) { auth(appkey, param, request); - return R.ok(openService.zwmsOutLocWork(param)); + return openService.zwmsOutLocWork(param); } @PostMapping("/ckjgsb") diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index eed2f39..7f72384 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -5,9 +5,11 @@ import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.*; +import com.zy.asrs.entity.param.StockOutParam; import com.zy.asrs.service.*; +import com.zy.common.model.LocDetlDto; import com.zy.common.model.LocDto; -import com.zy.common.model.TaskDto; +import com.zy.common.model.enums.IoWorkType; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -60,66 +62,68 @@ if (Cools.isEmpty(ids)) { return R.parse(BaseRes.PARAM); } + + // 璁㈠崟鏄庣粏 List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids); + if (orderDetls.isEmpty()) { + return R.parse("璇烽�夋嫨鏁版嵁"); + } + + // 鑾峰彇璁㈠崟涓昏〃 + Order order = orderService.selectOne(new EntityWrapper<Order>().eq("order_no", orderDetls.get(0).getOrderNo())); + if (order == null) { + return R.parse("璁㈠崟鏁版嵁涓虹┖"); + } + List<LocDto> locDtos = new ArrayList<>(); - -// for (OrderDetl orderDetl : orderDetls) { -// if (orderDetl.getAnfme()-orderDetl.getWorkQty()-orderDetl.getQty()==0.0){ -// continue; -// } -// LocDto locDto = new LocDto(orderDetl.getManu(), orderDetl.getMatnr(), orderDetl.getMaktx(),orderDetl.getModel(),orderDetl.getSpecs(), -// orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getBarcode(), orderDetl.getOrderNo(),orderDetl.getAnfme()); -// locDto.setOrderDetlId(orderDetl.getId()); -// locDto.setTkType(orderDetl.getTkType()); -// locDtos.add(locDto); -// } - - - Set<String> exist = new HashSet<>(); for (OrderDetl orderDetl : orderDetls) { double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } -// List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("batch",orderDetl.getBatch()).eq("model",orderDetl.getModel())); - for (LocDetl locDetl : locDetls) { - if (issued > 0) { - LocDto locDto = new LocDto(orderDetl.getManu(), orderDetl.getMatnr(), orderDetl.getMaktx(),orderDetl.getModel(),orderDetl.getSpecs(), - orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getBarcode(), orderDetl.getOrderNo(),orderDetl.getAnfme()); -// LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), -// issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); -// List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); - List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103); - - locDto.setLocNo(locDetl.getLocNo()); + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("brand",orderDetl.getBrand())); + if (issued > 0 && !locDetls.isEmpty()) { + // 鏍规嵁鍗曟嵁绫诲瀷杩斿洖鍑哄簱鍙e垪琛� 21鍑哄簱鍙o紝22鐩樼偣鍙o紝23鍙嶄慨鍝佸嚭搴撳彛 + List<Integer> staNos = new ArrayList<>(); + if (order.getDocType() == 21) { + staNos.add(3077); + staNos.add(3106); + } else if(order.getDocType() == 22) { + staNos.add(3092); + staNos.add(3102); + staNos.add(3095); + } else if(order.getDocType() == 23) { + staNos.add(3041); + } + LocDto locDto = new LocDto(); + locDto.setLocNo(locDetls.get(0).getLocNo()); // wrkDetl.setMatnr(roll.getSpecs()); // 瑙勬牸 // wrkDetl.setMaktx(roll.getSpecs()); //瑙勬牸 - locDto.setBatch(locDetl.getBatch()); // 绠卞彿 - locDto.setModel(locDetl.getModel()); // 鍗峰彿 - locDto.setBrand(""); // 鏈ㄧ绫诲瀷 - locDto.setOrigin(locDetl.getOrigin()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃� - locDto.setWeight(locDetl.getWeight()); // 鍑�閲� - locDto.setVolume(locDetl.getVolume()); // 姣涢噸 - locDto.setPrice(locDetl.getPrice()); - locDto.setSpecs(locDetl.getSpecs()); - locDto.setZpallet(locDetl.getZpallet()); +// locDto.setBatch(locDetl.getBatch()); // 绠卞彿 +// locDto.setModel(locDetl.getModel()); // 鍗峰彿 + locDto.setBrand(orderDetl.getBrand()); // 鍖呰缁勫彿 +// locDto.setOrigin(locDetl.getOrigin()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃� +// locDto.setWeight(locDetl.getWeight()); // 鍑�閲� +// locDto.setVolume(locDetl.getVolume()); // 姣涢噸 +// locDto.setPrice(locDetl.getPrice()); +// locDto.setSpecs(locDetl.getSpecs()); +// locDto.setZpallet(locDetl.getZpallet()); + locDto.setOrderNo(orderDetl.getOrderNo()); locDto.setStaNos(staNos); locDto.setOrderDetlId(orderDetl.getId()); locDtos.add(locDto); - exist.add(locDetl.getLocNo()); - // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 - issued = issued - locDetl.getAnfme(); +// exist.add(locDetl.getLocNo()); +// // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 +// issued = issued - locDetl.getAnfme(); } else { break; } - } - if (issued > 0) { - LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); - locDto.setLack(Boolean.TRUE); - locDtos.add(locDto); - } +// if (issued > 0) { +// LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued); +// locDto.setLack(Boolean.TRUE); +// locDtos.add(locDto); +// } } return R.ok().add(locDtos); } @@ -201,24 +205,90 @@ Thread.sleep(1000L); - List<TaskDto> taskDtos = new ArrayList<>(); - // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔� + List<StockOutParam> stockOutParams = new ArrayList<>(); for (LocDto locDto : locDtos) { - if (locDto.isLack()) { continue; } - TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto); - if (TaskDto.has(taskDtos, taskDto)) { - TaskDto dto = TaskDto.find(taskDtos, taskDto); - assert dto != null; - dto.getLocDtos().addAll(taskDto.getLocDtos()); - } else { - taskDtos.add(taskDto); + boolean flag1 = true; + for(StockOutParam stockOutParam: stockOutParams) { + if(stockOutParam.getOutSite().equals(locDto.getStaNo())) { // 鏈変竴鏍风殑鍑哄簱鍙� + List<StockOutParam.LocDetl> locDetls = new ArrayList<>(); + List<LocDetl> locDetls1 = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("brand", locDto.getBrand())); + for(LocDetl locDetl:locDetls1) { + StockOutParam.LocDetl locDetl1 = new StockOutParam.LocDetl(); + locDetl1.setLocNo(locDetl.getLocNo()); + locDetl1.setBrand(locDetl.getBrand()); + locDetl1.setModel(locDetl.getModel()); + locDetl1.setCount(locDetl.getAnfme()); + locDetls.add(locDetl1); + } + stockOutParam.getLocDetls().addAll(locDetls); + flag1 = false; + break; + } + } + if(flag1) { // 娌℃湁涓�鏍风殑鍑哄簱鍙� + StockOutParam stockOutParam = new StockOutParam(); + stockOutParam.setOutSite(locDto.getStaNo()); + stockOutParam.setOrderNo(locDto.getOrderNo()); + List<StockOutParam.LocDetl> locDetls = new ArrayList<>(); + List<LocDetl> locDetls1 = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("brand", locDto.getBrand())); + for(LocDetl locDetl:locDetls1) { + StockOutParam.LocDetl locDetl1 = new StockOutParam.LocDetl(); + locDetl1.setLocNo(locDetl.getLocNo()); + locDetl1.setBrand(locDetl.getBrand()); + locDetl1.setModel(locDetl.getModel()); + locDetl1.setCount(locDetl.getAnfme()); + locDetls.add(locDetl1); + } + stockOutParam.setLocDetls(locDetls); + stockOutParams.add(stockOutParam); } } - // ----------------------------------------------------------------------------------------------- - for (TaskDto taskDto : taskDtos) { - BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo()); - workService.stockOut(staNo, taskDto, getUserId()); + + for(StockOutParam stockOutParam :stockOutParams) { + BasDevp staNo = basDevpService.checkSiteStatus(stockOutParam.getOutSite()); + // 鑾峰彇搴撲綅鏄庣粏 + List<LocDetlDto> locDetlDtos = new ArrayList<>(); + for (StockOutParam.LocDetl paramLocDetl : stockOutParam.getLocDetls()) { + LocDetl one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo()) + .eq("brand",paramLocDetl.getBrand()).eq("model",paramLocDetl.getModel())); + if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), stockOutParam.getOrderNo())); + } + if (!locDetlDtos.isEmpty()) { + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())); + if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){ + // 鏍规嵁璁㈠崟绫诲瀷鍒ゆ柇鍑哄簱绫诲瀷 + Order order = orderService.selectByNo(stockOutParam.getOrderNo()); + + // 鍚姩鍑哄簱寮�濮� + workService.stockOut(staNo, locDetlDtos, order.getDocType() == 22 ? IoWorkType.CHECK_OUT : null, getUserId()); + }else { + throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$()); + } + } else { + throw new CoolException("搴撳瓨涓嶅瓨鍦�"); + } } + +// List<TaskDto> taskDtos = new ArrayList<>(); +// // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔� +// for (LocDto locDto : locDtos) { +// if (locDto.isLack()) { continue; } +// TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto); +// if (TaskDto.has(taskDtos, taskDto)) { +// TaskDto dto = TaskDto.find(taskDtos, taskDto); +// assert dto != null; +// dto.getLocDtos().addAll(taskDto.getLocDtos()); +// } else { +// taskDtos.add(taskDto); +// } +// } + // ----------------------------------------------------------------------------------------------- +// for (TaskDto taskDto : taskDtos) { +// BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo()); +// workService.stockOut(staNo, taskDto, getUserId()); +// } +// +// stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId); return R.ok(); } diff --git a/src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java b/src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java new file mode 100644 index 0000000..38c9db4 --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/ReportMesOrderResult.java @@ -0,0 +1,19 @@ +package com.zy.asrs.entity; + +import lombok.Data; + +/** + * @author pang.jiabao + * @description 涓婃姤鍗曟嵁鍑哄簱缁撴灉缁橫ES + * @createDate 2024/8/27 16:48 + */ +@Data +public class ReportMesOrderResult { + private String groupNo; + private Integer qty; + + public ReportMesOrderResult(String brand, Integer qty) { + this.groupNo = brand; + this.qty = qty; + } +} diff --git a/src/main/java/com/zy/asrs/entity/param/ZwmsOutLocWorkDto.java b/src/main/java/com/zy/asrs/entity/param/ZwmsOutLocWorkDto.java index 1a96432..dc745f2 100644 --- a/src/main/java/com/zy/asrs/entity/param/ZwmsOutLocWorkDto.java +++ b/src/main/java/com/zy/asrs/entity/param/ZwmsOutLocWorkDto.java @@ -16,14 +16,16 @@ private String orderType; // 璁㈠崟绫诲瀷 - private List<Rolls> matDetails; + List<String> groups; // 鍖呰缁勫彿鍒楄〃 - @Data - public static class Rolls{ - private String rollNo; // 鍗峰彿 - private String boxNo; // 绠卞彿 - private String specs; // 瑙勬牸 - private Integer splices; // 鎺ュご/涓� - } +// private List<Rolls> matDetails; +// +// @Data +// public static class Rolls{ +// private String rollNo; // 鍗峰彿 +// private String boxNo; // 绠卞彿 +// private String specs; // 瑙勬牸 +// private Integer splices; // 鎺ュご/涓� +// } } diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index 51c99ad..e098f4e 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java @@ -34,4 +34,8 @@ int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty); int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty); + + void updateOrderDetlByGroupNo(@Param("orderNo") String orderNo,@Param("brand") String brand, @Param("count") double count); + + void updateOrderDetlQtyByGroupNo(@Param("orderNo") String orderNo,@Param("brand") String brand); } diff --git a/src/main/java/com/zy/asrs/mapper/OrderMapper.java b/src/main/java/com/zy/asrs/mapper/OrderMapper.java index 8b38a11..bfc089f 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderMapper.java @@ -19,4 +19,6 @@ int addToLogTable(Order order); List<Order> selectorderNoL(@Param("orderNo")String orderNo); + + void updateSettleByOrderNo(@Param("orderNo") String orderNo, @Param("status") long status, @Param("userId") Long userId); } diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index f8d26a7..bf1a4a2 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -48,7 +48,7 @@ /** * ZWMS鎺ユ敹MES涓嬪彂鍑哄簱浠诲姟 */ - String zwmsOutLocWork(ZwmsOutLocWorkDto param); + R zwmsOutLocWork(ZwmsOutLocWorkDto param); /** * 璐х墿鍒拌揪鍑哄簱鍙d互鍚庯紝涓婃姤鍑哄簱缁撴灉 diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 7dbc6d1..f0ea5d9 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -1423,7 +1423,8 @@ public R pdaFxprk(FxprkParam param, Long userId) { // 鏍规嵁鍖呰缁勫彿鑾峰彇鍒版湪绠卞嵎淇℃伅 - List<Mat> list = matService.selectList(new EntityWrapper<Mat>().in("brand", param.getBoxList().stream().map(FxprkParam.Box::getPackageGroupNo).collect(Collectors.toList()))); + List<String> groupNos = param.getBoxList().stream().map(FxprkParam.Box::getPackageGroupNo).collect(Collectors.toList()); + List<Mat> list = matService.selectList(new EntityWrapper<Mat>().in("brand", groupNos)); if (list.isEmpty()) { throw new CoolException("娌℃湁鏌ヨ鍒拌鍖呰缁勫彿淇℃伅锛�" + param.getBoxList().toString()); } @@ -1493,6 +1494,9 @@ } } + // 涓�妤煎弽淇搧鍏ュ簱鐨勬湪绠遍�氳繃鍖呰缁勫彿闇�缁檓es鎺ㄩ�佸緟鍒� + pushDpToMes(groupNos); + // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("O")) { @@ -1506,6 +1510,64 @@ } return R.ok("鍏ュ簱鎴愬姛"); } + + /** + * 涓�妤煎弽淇搧鍏ュ簱鐨勬湪绠遍�氳繃鍖呰缁勫彿闇�缁檓es鎺ㄩ�佸緟鍒� + */ + private void pushDpToMes(List<String> groupNos) { + boolean success = false; + // 鑾峰彇璇锋眰澶� + Map<String,Object> headers = new HashMap<>(); + headers.put("digi-type","sync "); + headers.put("digi-protocol","raw"); + headers.put("digi-datakey"," XCommon.ImportData"); + + // 鏋勯�犺姹備綋 + JSONObject jsonObject = new JSONObject(); + jsonObject.put("groupNos", groupNos); + String body = jsonObject.toJSONString(); + + String response = ""; + try { + response = new HttpHandler.Builder() + .setUri(MesConstant.MES_IP_PORT) + .setPath(MesConstant.MES_DP_URL) + .setHeaders(headers) + .setJson(body) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + JSONObject jsonObject1 = JSONObject.parseObject(response); + int code = (int) jsonObject1.get("code"); + String msg = (String) jsonObject1.get("msg"); + if (code != 200) { + throw new CoolException(msg); + } + success = true; + } else { + log.error("杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒ゅけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response); + throw new CoolException("杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒ゅけ璐�"); + } + } catch (Exception e) { + log.error("杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒ゅ紓甯革細{}", e.getMessage()); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "杩斾慨鍝佸叆搴撶粰mes鎺ㄩ�佸緟鍒�", + MesConstant.MES_IP_PORT + MesConstant.MES_DP_URL, + null, + "127.0.0.1", + body, + response, + success + ); + } catch (Exception e) { + log.error("", e); + } + } + } + public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode) { boolean success = false; // 鑾峰彇璇锋眰澶� 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 24e2672..350a9e3 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1345,7 +1345,7 @@ @Override @Transactional - public String zwmsOutLocWork(ZwmsOutLocWorkDto param) { + public R zwmsOutLocWork(ZwmsOutLocWorkDto param) { Order order = orderService.selectByNo(param.getOrderNo()); if (!Cools.isEmpty(order)) { @@ -1354,6 +1354,7 @@ DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE); Date now = new Date(); + // 鍗曟嵁涓绘。 order = new Order( String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖] @@ -1391,38 +1392,16 @@ now, // 淇敼鏃堕棿 null // 澶囨敞 ); + if (!orderService.insert(order)) { throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } + // 鍗曟嵁鏄庣粏妗� - List<DetlDto> list = new ArrayList<>(); - List<ZwmsOutLocWorkDto.Rolls> orderDetails = param.getMatDetails(); - for (ZwmsOutLocWorkDto.Rolls detail : orderDetails) { - DetlDto dto = new DetlDto(detail.getRollNo(), detail.getBoxNo(), 1.0); - dto.setOrderNo(detail.getSpecs()); - dto.setSplices(detail.getSplices()); - if (DetlDto.has(list, dto)) { - DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch()); - assert detlDto != null; - detlDto.setAnfme(detlDto.getAnfme() + 1); - } else { - list.add(dto); - } - } - for (DetlDto detlDto : list) { -// Mat mat = matService.selectByMatnr(detlDto.getMatnr()); + for (String groupNo : param.getGroups()) { OrderDetl orderDetl = new OrderDetl(); -// if (Cools.isEmpty(mat)) { -// throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); -// } else { -// orderDetl.sync(mat); -// } - orderDetl.setSpecs(String.valueOf(detlDto.getSplices())); - orderDetl.setBatch(detlDto.getBatch() == null ? "" : detlDto.getBatch()); - orderDetl.setModel(detlDto.getMatnr()); - orderDetl.setMatnr(detlDto.getOrderNo()); - orderDetl.setMaktx(detlDto.getOrderNo()); - orderDetl.setAnfme(detlDto.getAnfme()); + orderDetl.setBrand(groupNo); + orderDetl.setBatch(""); orderDetl.setOrderId(order.getId()); orderDetl.setOrderNo(order.getOrderNo()); orderDetl.setCreateBy(9527L); @@ -1431,12 +1410,14 @@ orderDetl.setUpdateTime(now); orderDetl.setStatus(1); orderDetl.setQty(0.0D); + orderDetl.setAnfme(1.0); if (!orderDetlService.insert(orderDetl)) { throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } } - return null; + return R.ok("鍗曟嵁鐢熸垚鎴愬姛"); + } @Override @@ -1464,11 +1445,11 @@ // 鍒拌揪鍑哄簱鍙g‘璁や负1锛屾洿鏂板伐浣滄。鐘舵�佷负57.鍑哄簱瀹屾垚 if (param.getOutLocResult() == 1) { - wrkMast.setWrkSts(20L); - // 绌烘墭鐩樺埌浣嶇洿鎺ユ洿鏂板伐浣滄。鐘舵�佷负14.宸插嚭搴撴湭纭锛岀┖鎵樻棤闇�澶嶆牳纭 - if (!flag || wrkMast.getIoType() == 110) { +// wrkMast.setWrkSts(20L); +// // 绌烘墭鐩樺埌浣嶇洿鎺ユ洿鏂板伐浣滄。鐘舵�佷负14.宸插嚭搴撴湭纭锛岀┖鎵樻棤闇�澶嶆牳纭 +// if (!flag || wrkMast.getIoType() == 110) { wrkMast.setWrkSts(14L); - } +// } wrkMastService.updateById(wrkMast); } 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 0768566..228bb31 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -12,6 +12,8 @@ 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.mapper.OrderDetlMapper; +import com.zy.asrs.mapper.OrderMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.Utils; import com.zy.common.model.*; @@ -25,6 +27,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.*; import java.util.concurrent.TimeUnit; @@ -70,6 +73,10 @@ private OrderService orderService; @Autowired private OrderDetlService orderDetlService; + @Resource + private OrderMapper orderMapper; + @Resource + private OrderDetlMapper orderDetlMapper; @Autowired private WcsController wcsController; @Autowired @@ -373,7 +380,12 @@ if (!wrkDetlService.insert(wrkDetl)) { throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); } + // 淇敼璁㈠崟鏄庣粏 + orderDetlMapper.updateOrderDetlByGroupNo(detlDto.getOrderNo(), detlDto.getLocDetl().getBrand(), 1); + // 淇敼璁㈠崟鐘舵�� + orderMapper.updateSettleByOrderNo(detlDto.getOrderNo(),2L, userId); } + // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓� locMast = locMastService.selectById(dto.getLocNo()); if (locMast.getLocSts().equals("F")) { @@ -1041,13 +1053,14 @@ } //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺 - if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) { + if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) { List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); for (WrkDetl wrkDetl : wrkDetls) { if (!Cools.isEmpty(wrkDetl.getOrderNo())) { - if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { - throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); - } +// if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) { +// throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触"); +// } + orderDetlMapper.updateOrderDetlByGroupNo(wrkDetl.getOrderNo(),wrkDetl.getBrand(),0); //淇敼璁㈠崟涓昏〃鐘舵��,娌℃湁浣滀笟鏁伴噺鏃舵墠鍙互淇敼 boolean flag = true; diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java index 7c65a7c..8a24643 100644 --- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java +++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java @@ -38,7 +38,7 @@ } } -// @Scheduled(cron = "0/5 * * * * ? ") + @Scheduled(cron = "0/9 * * * * ? ") @Async("orderThreadPool") public void completeAndReport(){ String erpReport = Parameter.get().getErpReport(); diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java index 43b50b1..5ba0636 100644 --- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java @@ -2,12 +2,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.core.common.Cools; -import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.entity.ReportMesOrderResult; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; @@ -15,8 +14,6 @@ import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.constant.MesConstant; -import com.zy.common.model.MesPakinParam; -import com.zy.common.model.MesPakoutParam; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -25,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.stream.Collectors; /** * Created by vincent on 2020/7/7 @@ -51,77 +49,18 @@ return SUCCESS; } List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - // 鍏ュ簱瀹屾垚涓婃姤 - if (docType.getPakin() == 1) { - MesPakinParam pakinParam = new MesPakinParam(); - pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); - pakinParam.setLgortFrom("5008"); - pakinParam.setLgortTo("5006"); - for (OrderDetl orderDetl : orderDetls) { - String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); - pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); - } - String response = ""; - boolean success = false; - try { - response = new HttpHandler.Builder() - .setUri(MesConstant.URL) - .setPath(MesConstant.PAKIN_URL) - .setJson(JSON.toJSONString(pakinParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - if (jsonObject.getInteger("code").equals(200)) { - success = true; - // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� - if (!orderService.updateSettle(order.getId(), 6L, null)) { - throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); - } - } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); - throw new CoolException("涓婃姤mes绯荤粺澶辫触"); - } - } catch (Exception e) { - log.error("fail", e); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); - } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "鎴愬搧搴撳叆搴撲笂鎶�", - MesConstant.URL + MesConstant.PAKIN_URL, - null, - "127.0.0.1", - JSON.toJSONString(pakinParam), - response, - success - ); - } catch (Exception e) { log.error("", e); } - } - } + // 鍑哄簱瀹屾垚涓婃姤 if (docType.getPakout() == 1) { - MesPakoutParam pakoutParam = new MesPakoutParam(); - pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("鎵嬪姩鍑哄簱鍗�")); - pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime())); - pakoutParam.setLgortFrom("5006"); - pakoutParam.setLgortTo("1111"); - if (!pakoutParam.isTag()) { - pakoutParam.setKunnr("C1000"); - } - pakoutParam.setOrderNo(order.getOrderNo()); - for (OrderDetl orderDetl : orderDetls) { - String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); - pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); - } + List<ReportMesOrderResult> collect = orderDetls.stream().map(orderDetl -> + new ReportMesOrderResult(orderDetl.getBrand(), orderDetl.getQty().intValue())).collect(Collectors.toList()); String response = ""; boolean success = false; try { response = new HttpHandler.Builder() - .setUri(MesConstant.URL) - .setPath(MesConstant.PAKOUT_URL) - .setJson(JSON.toJSONString(pakoutParam)) + .setUri(MesConstant.MES_IP_PORT) + .setPath(MesConstant.MES_CKSB_URL) + .setJson(JSON.toJSONString(collect)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); @@ -132,28 +71,77 @@ throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); } } else { - log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response); - throw new CoolException("涓婃姤mes绯荤粺澶辫触"); + log.error("璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.MES_IP_PORT+MesConstant.MES_CKSB_URL, JSON.toJSONString(collect), response); + throw new CoolException("璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙eけ璐�"); } } catch (Exception e) { - log.error("fail", e); + log.error("璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙e紓甯�", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg(e.getMessage()); +// return FAIL.setMsg(e.getMessage()); } finally { try { // 淇濆瓨鎺ュ彛鏃ュ織 apiLogService.save( - "鎴愬搧搴撳嚭搴撲笂鎶�", - MesConstant.URL + MesConstant.PAKOUT_URL, + "璇锋眰MES鍑哄簱鍗曚笂鎶ユ帴鍙�", + MesConstant.MES_IP_PORT + MesConstant.MES_CKSB_URL, null, "127.0.0.1", - JSON.toJSONString(pakoutParam), + JSON.toJSONString(collect), response, success ); } catch (Exception e) { log.error("", e); } } } + // 鍏ュ簱瀹屾垚涓婃姤 +// if (docType.getPakin() == 1) { +// MesPakinParam pakinParam = new MesPakinParam(); +// pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); +// pakinParam.setLgortFrom("5008"); +// pakinParam.setLgortTo("5006"); +// for (OrderDetl orderDetl : orderDetls) { +// String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); +// pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); +// } +// String response = ""; +// boolean success = false; +// try { +// response = new HttpHandler.Builder() +// .setUri(MesConstant.URL) +// .setPath(MesConstant.PAKIN_URL) +// .setJson(JSON.toJSONString(pakinParam)) +// .build() +// .doPost(); +// JSONObject jsonObject = JSON.parseObject(response); +// if (jsonObject.getInteger("code").equals(200)) { +// success = true; +// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶� +// if (!orderService.updateSettle(order.getId(), 6L, null)) { +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// } +// } else { +// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); +// throw new CoolException("涓婃姤mes绯荤粺澶辫触"); +// } +// } catch (Exception e) { +// log.error("fail", e); +//// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg(e.getMessage()); +// } finally { +// try { +// // 淇濆瓨鎺ュ彛鏃ュ織 +// apiLogService.save( +// "鎴愬搧搴撳叆搴撲笂鎶�", +// MesConstant.URL + MesConstant.PAKIN_URL, +// null, +// "127.0.0.1", +// JSON.toJSONString(pakinParam), +// response, +// success +// ); +// } catch (Exception e) { log.error("", e); } +// } +// } return SUCCESS; } diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java index 9a4f64f..3d0c777 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.zy.asrs.entity.*; +import com.zy.asrs.mapper.OrderDetlMapper; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -12,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; +import javax.annotation.Resource; import java.util.Date; import java.util.List; @@ -35,7 +37,8 @@ private WaitPakinService waitPakinService; @Autowired private OrderDetlService orderDetlService; - + @Resource + private OrderDetlMapper orderDetlMapper; public ReturnT<String> start(WrkMast wrkMast) { // 4.鍏ュ簱瀹屾垚 if (wrkMast.getWrkSts() == 4) { @@ -261,6 +264,27 @@ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("鐩樼偣鍏ュ簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } + for(WrkDetl wrkDetl : wrkDetls57) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } +// OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// if (orderDetl==null){ +// orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); +// } +// try { +// if(!Cools.isEmpty(orderDetl)){ +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), +// orderDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} + } // 淇敼搴撲綅鐘舵�� Q ====>> F if (locMast.getLocSts().equals("Q")) { locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D"); @@ -360,29 +384,33 @@ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } for (WrkDetl wrkDetl : wrkDetls101) { + if (!Cools.isEmpty(wrkDetl.getOrderNo())) { + // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 + orderDetlMapper.updateOrderDetlQtyByGroupNo(wrkDetl.getOrderNo(), wrkDetl.getBrand()); + } // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 // OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); // if (orderDetl==null){ // orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null); // } - // 绠卞彿+鍗峰彿 - OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("batch",wrkDetl.getBatch()) - .eq("model",wrkDetl.getModel())); - - try { - if(!Cools.isEmpty(orderDetl)){ - // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 -// orderDetlService.update(null,new EntityWrapper<OrderDetl>().eq("order_no",orderDetl.getOrderNo()) -// .eq("batch",orderDetl.getBatch()).eq("model", orderDetl.getModel())); - if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), orderDetl.getModel(), - orderDetl.getBatch(),wrkDetl.getAnfme())){ -// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", -// wrkMast.getWrkNo(), wrkMast.getLocNo()); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); - } - } - } catch (Exception ignore){} +// // 绠卞彿+鍗峰彿 +// OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("batch",wrkDetl.getBatch()) +// .eq("model",wrkDetl.getModel())); +// +// try { +// if(!Cools.isEmpty(orderDetl)){ +// // 鏇存柊璁㈠崟瀹屾垚鏁伴噺 +//// orderDetlService.update(null,new EntityWrapper<OrderDetl>().eq("order_no",orderDetl.getOrderNo()) +//// .eq("batch",orderDetl.getBatch()).eq("model", orderDetl.getModel())); +// if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), orderDetl.getModel(), +// orderDetl.getBatch(),wrkDetl.getAnfme())){ +//// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", +//// wrkMast.getWrkNo(), wrkMast.getLocNo()); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); +// } +// } +// } catch (Exception ignore){} } // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁� if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) { diff --git a/src/main/java/com/zy/common/constant/MesConstant.java b/src/main/java/com/zy/common/constant/MesConstant.java index 564b626..6b34ac7 100644 --- a/src/main/java/com/zy/common/constant/MesConstant.java +++ b/src/main/java/com/zy/common/constant/MesConstant.java @@ -13,6 +13,15 @@ public static final String PAKOUT_URL = "wmsFinprd/api/zy/v1/packOut/sendList"; + // MES鎺ュ彛IP鍦板潃 + public static final String MES_IP_PORT = "http://192.168.14.249:8008"; + + // 缁橫ES鎺ㄩ�佷竴妤煎弽淇负寰呭垽 + public static final String MES_DP_URL = "/api/Task/InventoryTask"; + + // 缁橫ES鎺ㄩ�佸嚭搴撳崟缁撴灉 + public static final String MES_CKSB_URL = "/api/Task/InventoryTask"; + // GWCS鎺ュ彛IP鍦板潃 public static final String GWCS_IP_PORT = "http://192.168.14.249:8008"; diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index a37ed6f..1fb8461 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -86,8 +86,8 @@ <if test="order_id!=null and order_id!='' "> and mod.order_id like '%' + #{order_id} + '%' </if> - <if test="matnr!=null and matnr!='' "> - and mod.matnr like '%' + #{matnr} + '%' + <if test="brand!=null and brand!='' "> + and mod.brand like '%' + #{brand} + '%' </if> <if test="maktx!=null and maktx!='' "> and mod.maktx like '%' + #{maktx} + '%' @@ -201,5 +201,18 @@ </otherwise> </choose> </update> + <update id="updateOrderDetlByGroupNo"> + update man_order_detl + set work_qty = #{count} + where 1=1 + and order_no= #{orderNo} and brand = #{brand} + </update> + <update id="updateOrderDetlQtyByGroupNo"> + update man_order_detl + set qty = 1 + where 1=1 + and order_no = #{orderNo} + and brand = #{brand} + </update> </mapper> diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml index 20b4865..2bc2a3c 100644 --- a/src/main/resources/mapper/OrderMapper.xml +++ b/src/main/resources/mapper/OrderMapper.xml @@ -52,6 +52,17 @@ where 1=1 and id = #{orderId} </update> + <update id="updateSettleByOrderNo"> + update man_order + set settle = #{status} + ,update_time = getdate() + <if test="userId != null"> + ,update_by = #{userId} + </if> + where 1=1 + and order_no = #{orderNo} + and settle != #{status} + </update> <select id="selectComplete" resultMap="BaseResultMap"> select diff --git a/src/main/webapp/static/js/orderTable.js b/src/main/webapp/static/js/orderTable.js index 8d65b03..1a70ea9 100644 --- a/src/main/webapp/static/js/orderTable.js +++ b/src/main/webapp/static/js/orderTable.js @@ -41,7 +41,8 @@ cols: [[ // {type: 'numbers', title: '#'}, {field: 'orderTime', title: '鏃ユ湡'}, - {field: 'orderNo', title: '鍗曟嵁缂栧彿', align: 'center'} + {field: 'orderNo', title: '鍗曟嵁缂栧彿', align: 'center'}, + {field: 'docType$', title: '鍗曟嵁绫诲瀷'}, ]], done: function (res, curr, count) { $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click'); -- Gitblit v1.9.1