From 52ef3b1e092777f8b3cad3a34b72e5edabc96b28 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 04 三月 2021 14:20:38 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 139 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 127 insertions(+), 12 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 64c8002..81446c3 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 @@ -2,18 +2,26 @@ import com.alibaba.fastjson.JSON; import com.core.common.Cools; +import com.core.common.DateUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import zy.cloud.wms.common.service.MainService; -import zy.cloud.wms.common.service.erp.entity.GetDataResult; +import org.springframework.transaction.annotation.Transactional; +import zy.cloud.wms.common.service.erp.entity.GetBasisResult; +import zy.cloud.wms.common.service.erp.entity.GetOrderResult; +import zy.cloud.wms.manager.entity.CustOrder; +import zy.cloud.wms.manager.entity.Mat; +import zy.cloud.wms.manager.service.CustOrderService; import zy.cloud.wms.manager.service.MatService; import zy.cloud.wms.manager.utils.HttpHandler; +import javax.annotation.PostConstruct; import java.io.IOException; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * erp浠诲姟鎺у埗鍣� @@ -23,18 +31,94 @@ @Component public class ErpScheduler { - public static final String URI = "http://8.133.182.21:8080/api/"; + public static final String URI = "http://8.133.182.21:8080/api"; public static final String GET_ORDERS = "cM/basis/getOrders"; + public static final String GET_BASIS = "cM/basis/getBasis"; + @Autowired + private CustOrderService custOrderService; @Autowired private MatService matService; - @Autowired - private MainService mainService; /** - * 鍘熸潗鏂� + * 鍟嗗搧/瀹㈡埛涓嬭浇 + */ + // @Scheduled(cron = "0/5 * * * * ? ") + @PostConstruct + public void getBasisExecute(){ + try { + Map<String, Object> param = new HashMap<>(); + param.put("rec", 0); + param.put("Flag", 1); + String response = new HttpHandler.Builder() + .setUri(URI) + .setPath(GET_BASIS) + .setJson(JSON.toJSONString(param)) + .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; + } + List<GetBasisResult> list = JSON.parseArray(result.getData(), GetBasisResult.class); + for (GetBasisResult data : list) { + Mat mat = matService.selectByMatnr(data.getUserCode()); + String modifyDate = data.getModifyDate(); + Date updateTime = null; + if (!Cools.isEmpty(modifyDate)) { + updateTime = DateUtils.convert(data.getModifyDate()); + } + if (null == mat) { + mat = new Mat( + String.valueOf(data.getRec()), // 缂栧彿 + null, // 鎵�灞炲尯鍩� + null, // 鎵�灞炲綊绫� + data.getUserCode(), // 鍟嗗搧缂栧彿 + data.getFullName(), // 鍟嗗搧鍚嶇О + null, // 鍚嶇О + null, // 瑙勬牸 + null, // 鍨嬪彿 + null, // 鎵瑰彿 + null, // 鍗曚綅 + null, // 鏉$爜 + null, // 鍗曟嵁绫诲瀷 + null, // 鍗曟嵁缂栧彿 + null, // 瀹㈡埛鍚嶇О + null, // 鍝侀」鏁� + null, // 搴撳瓨浣欓噺 + null, // 閲嶉噺 + 1, // + null, // 娣诲姞浜哄憳 + now, // 娣诲姞鏃堕棿 + null, // 淇敼浜哄憳 + updateTime, // 淇敼鏃堕棿 + null // 澶囨敞 + ); + matService.insert(mat); + } else { + mat.setUuid(String.valueOf(data.getRec())); + mat.setMatnr(data.getUserCode()); + mat.setMaktx(data.getFullName()); + mat.setUpdateTime(updateTime); + matService.updateById(mat); + } + log.info("====>> 鏇存柊鐗╂枡锛歿}", data.getUserCode()); + } + + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 鎸佷箙鍖栭攢鍞鍗� */ // @Scheduled(cron = "0/3 * * * * ? ") + @Transactional public void getOrdersExecute(){ try { Map<String, Object> json = new HashMap<>(); @@ -45,15 +129,44 @@ .setJson(JSON.toJSONString(json)) .build() .doPost(); - if (Cools.isEmpty(response)) { - log.error("璇锋眰锛歿}\nError锛屽搷搴旂粨鏋滀负绌�!", URI + GET_ORDERS); - } else { + if (!Cools.isEmpty(response)) { log.info(response); + Date now = new Date(); Result result = JSON.parseObject(response, Result.class); - List<GetDataResult> list = JSON.parseArray(result.getData(), GetDataResult.class); + if (result.getCode() != 1) { + return; + } + List<GetOrderResult> list = JSON.parseArray(result.getData(), GetOrderResult.class); if (!Cools.isEmpty(list)) { - // 鐢熸垚鍑哄簱鍗� - mainService.stockOutProcess(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) { + complete = false; + log.error("淇濆瓨閿�鍞鍗曞け璐ワ紒"); + } + } + if (complete) { + List<String> collect = list.stream().map(GetOrderResult::getNumber).distinct().collect(Collectors.toList()); + for (String number : collect) { + custOrderService.updateStatus(number, 1); + } + } + } } } catch (IOException e) { @@ -62,4 +175,6 @@ } + + } -- Gitblit v1.9.1