From b31c69631ee75cdc02195a2e3efff3f9ad95943d Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 17 三月 2021 16:08:45 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 175 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 133 insertions(+), 42 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java index f883afc..b494ced 100644 --- a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java +++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java @@ -7,26 +7,26 @@ import com.core.exception.CoolException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import zy.cloud.wms.common.service.erp.entity.GetBasisResult; -import zy.cloud.wms.common.service.erp.entity.GetOrderResult; +import zy.cloud.wms.common.service.erp.entity.GetOrderResult0; +import zy.cloud.wms.common.service.erp.entity.GetOrderResultDetl0; import zy.cloud.wms.manager.entity.Cstmr; import zy.cloud.wms.manager.entity.CustOrder; import zy.cloud.wms.manager.entity.Mat; import zy.cloud.wms.manager.entity.Tag; +import zy.cloud.wms.manager.mapper.CustOrderMapper; import zy.cloud.wms.manager.mapper.TagMapper; import zy.cloud.wms.manager.service.*; import zy.cloud.wms.manager.utils.HttpHandler; import zy.cloud.wms.manager.utils.NodeUtils; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -55,6 +55,8 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private CustOrderMapper custOrderMapper; /** * 鍟嗗搧涓嬭浇 @@ -102,26 +104,26 @@ NodeUtils nodeUtils = new NodeUtils(); nodeUtils.executePath(first.getId()); second = new Tag( - null, // 缂栧彿 + null, // 缂栧彿 data.getYjfl(), // 鍚嶇О first.getId(), // 鐖剁骇 first.getName(), // 鐖剁骇鍚嶇О nodeUtils.path.toString(), // 鍏宠仈璺緞 nodeUtils.pathName.toString(), // 鍏宠仈璺緞鍚� - 0, // 绫诲瀷 - null, // 璐熻矗浜� - null, // 鍥剧墖 - null, // 绠�瑕佹弿杩� - null, // 鏁伴噺 - 2, // 绛夌骇 - null, // 鎺掑簭 - 1, // 鐘舵�� - now, // 娣诲姞鏃堕棿 - null, // 娣诲姞浜哄憳 + 0, // 绫诲瀷 + null, // 璐熻矗浜� + null, // 鍥剧墖 + null, // 绠�瑕佹弿杩� + null, // 鏁伴噺 + 2, // 绛夌骇 + null, // 鎺掑簭 + 1, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + null, // 娣诲姞浜哄憳 now, // 淇敼鏃堕棿 - null, // 淇敼浜哄憳 - null // 澶囨敞 - ); + null, // 淇敼浜哄憳 + null // 澶囨敞 + ); if (tagMapper.insert(second) == 0) { throw new CoolException("鎻掑叆鍒嗙被澶辫触"); } @@ -200,6 +202,7 @@ } } catch (Exception e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } } @@ -262,18 +265,20 @@ } } catch (Exception e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } } /** * 鎸佷箙鍖栭攢鍞鍗� */ -// @Scheduled(cron = "0/3 * * * * ? ") + @Scheduled(cron = "0/45 * * * * ? ") @Transactional +// @PostConstruct public void getOrdersExecute(){ try { Map<String, Object> json = new HashMap<>(); - json.put("vchType", 41); + json.put("vchType", 151); String response = new HttpHandler.Builder() .setUri(URI) .setPath(GET_ORDERS) @@ -281,38 +286,48 @@ .build() .doPost(); if (!Cools.isEmpty(response)) { - log.info(response); +// log.info(response); Date now = new Date(); Result result = JSON.parseObject(response, Result.class); if (result.getCode() != 1) { return; } - List<GetOrderResult> list = JSON.parseArray(result.getData(), GetOrderResult.class); + List<GetOrderResult0> list = JSON.parseArray(result.getData(), GetOrderResult0.class); if (!Cools.isEmpty(list)) { boolean complete = true; - for (GetOrderResult data : list) { - CustOrder custOrder = new CustOrder( - data.getNumber(), // 閿�鍞崟鍙� - data.getBillDate(), // 鍗曟嵁鏃ユ湡[闈炵┖] - data.getBTypeID(), // 瀹㈡埛缂栧彿 - data.getETypeID(), // 缁忔墜浜虹紪鍙穂闈炵┖] - data.getUserCode(), // 鍟嗗搧缂栧彿 - data.getQty(), // 鍟嗗搧鏁伴噺 - data.getPrice(), // 鍟嗗搧鍗曚环 - data.getComment(), // 鍟嗗搧澶囨敞[闈炵┖] - 0, // 鐘舵�� - now, // 娣诲姞鏃堕棿 - now, // 淇敼鏃堕棿 - null // 澶囨敞 - ); - boolean insert = custOrderService.insert(custOrder); - if (!insert) { + for (GetOrderResult0 data : list) { + if (custOrderService.selectCount(new EntityWrapper<CustOrder>() + .eq("number", data.getNumber()) +// .ne("bType_id", data.getBTypeID()) + ) > 0) { +// log.error("{}鍗曞彿宸插瓨鍦�", data.getNumber()); complete = false; - log.error("淇濆瓨閿�鍞鍗曞け璐ワ紒"); + continue; + } + for (GetOrderResultDetl0 detl0 : data.getDetail()) { + CustOrder custOrder = new CustOrder( + data.getNumber(), // 閿�鍞崟鍙� + data.getBillDate(), // 鍗曟嵁鏃ユ湡[闈炵┖] + data.getBTypeID(), // 瀹㈡埛缂栧彿 + data.getETypeID(), // 缁忔墜浜虹紪鍙穂闈炵┖] + detl0.getUserCode(), // 鍟嗗搧缂栧彿 + detl0.getQty(), // 鍟嗗搧鏁伴噺 + detl0.getPrice(), // 鍟嗗搧鍗曚环 + detl0.getComment(), // 鍟嗗搧澶囨敞[闈炵┖] + 0, // 鐘舵�� + now, // 娣诲姞鏃堕棿 + now, // 淇敼鏃堕棿 + data.getSummary() // 澶囨敞 + ); + boolean insert = custOrderService.insert(custOrder); + if (!insert) { + complete = false; + log.error("淇濆瓨閿�鍞鍗曞け璐ワ紒"); + } } } if (complete) { - List<String> collect = list.stream().map(GetOrderResult::getNumber).distinct().collect(Collectors.toList()); + List<String> collect = list.stream().map(GetOrderResult0::getNumber).distinct().collect(Collectors.toList()); for (String number : collect) { custOrderService.updateStatus(number, 1); } @@ -322,10 +337,85 @@ } } catch (IOException e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } } + /** + * 瀹屾垚閿�鍞鍗� + */ + @Scheduled(cron = "0/10 * * * * ? ") + @Transactional +// @PostConstruct + public void finishOrdersExecute(){ + try { + List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 4)); + if (!Cools.isEmpty(custOrders)) { + List<String> numbers = custOrders.stream().map(CustOrder::getNumber).distinct().collect(Collectors.toList()); + for (String number : numbers) { + GetOrderResult0 getOrderResult0 = new GetOrderResult0(); + List<GetOrderResultDetl0> list = new ArrayList<>(); + getOrderResult0.setDetail(list); + // 閬嶅巻閫掑噺 + Iterator<CustOrder> iterator = custOrders.iterator(); + while (iterator.hasNext()) { + CustOrder custOrder = iterator.next(); + if (custOrder.getNumber().equals(number)) { + // 琛ㄥご + if (Cools.isEmpty(getOrderResult0.getNumber())) { + getOrderResult0.setNumber(number); + getOrderResult0.setVchType(34); // todo:luxiaotao + getOrderResult0.setBillDate(custOrder.getBillDate()); + getOrderResult0.setBTypeID(custOrder.getBTypeId()); + getOrderResult0.setKTypeID("瀹忔尯浠撳簱"); + } + // 琛ㄤ綋 + GetOrderResultDetl0 detl0 = new GetOrderResultDetl0(); + detl0.setUserCode(custOrder.getUserCode()); + detl0.setQty(custOrder.getQty()); + detl0.setPrice(custOrder.getPrice()); + detl0.setComment(custOrder.getComment()); + list.add(detl0); + iterator.remove(); + } + } + + System.out.println(JSON.toJSONString(getOrderResult0)); + + int save = custOrderMapper.saveLog(getOrderResult0.getNumber()); + if (save > 0) { + if (custOrderMapper.delete(new EntityWrapper<CustOrder>().eq("number", getOrderResult0.getNumber())) == 0) { + throw new CoolException("鍒犻櫎閿�鍞鍗曞け璐�"); + } + } + +// String response = new HttpHandler.Builder() +// .setUri(URI) +// .setPath(GET_ORDERS) +// .setJson(JSON.toJSONString(getOrderResult0)) +// .build() +// .doPost(); +// if (!Cools.isEmpty(response)) { +//// log.info(response); +// Date now = new Date(); +// Result result = JSON.parseObject(response, Result.class); +// if (result.getCode() != 1) { +// return; +// } +// // 杞巻鍙叉。 +// } + + } + } + + + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException(e.getMessage()); + } + + } /** * 鏇存柊搴撳瓨 @@ -400,6 +490,7 @@ } } catch (Exception e) { e.printStackTrace(); + throw new RuntimeException(e.getMessage()); } -- Gitblit v1.9.1