From 52433e1e316923c8fc26e2742e9943897c9271e7 Mon Sep 17 00:00:00 2001 From: tqs <56479841@qq.com> Date: 星期五, 31 五月 2024 08:49:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 91 ++++++++++++++++++++++++++++++--------------- 1 files changed, 61 insertions(+), 30 deletions(-) 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 9da4362..04d1f5d 100644 --- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java @@ -7,6 +7,7 @@ import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.entity.param.ReportErpParam; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; @@ -17,12 +18,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; /** * Created by vincent on 2020/7/7 @@ -31,8 +32,6 @@ @Service public class OrderSyncHandler extends AbstractHandler<String> { - @Autowired - private JdbcTemplate jdbcTemplate; @Autowired private OrderService orderService; @Autowired @@ -51,34 +50,28 @@ @Transactional public ReturnT<String> start(Order order) { + List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�","閾跺骇濮斿鏉愭枡鍑哄簱鍗�","閾跺骇濮斿鍏ュ簱鍗�","閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�")); + DocType docType = docTypeService.selectById(order.getDocType()); - if("鎵嬪姩鍑哄簱鍗�".equals(docType.getDocName()) - || "鎵嬪姩鍏ュ簱鍗�".equals(docType.getDocName()) - || "鑷姩琛ヨ揣鍗�".equals(docType.getDocName()) - || "浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){ + if(!docNames.contains(docType.getDocName())){ order.setSettle(8L); orderService.updateById(order); return SUCCESS; } +// if("鎵嬪姩鍑哄簱鍗�".equals(docType.getDocName()) +// || "鎵嬪姩鍏ュ簱鍗�".equals(docType.getDocName()) +// || "鑷姩琛ヨ揣鍗�".equals(docType.getDocName()) +// || "浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){ +// order.setSettle(8L); +// orderService.updateById(order); +// return SUCCESS; +// } + List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Map<String, Object> param = new HashMap<>(); - param.put("id",order.getOrderNo()); - param.put("dDate",sdf.format(new Date())); - param.put("cHandler","WMS绯荤粺"); - - List<Map<String,Object>> orderDetlsParam = new ArrayList<>(); - param.put("orderDetails",orderDetlsParam); - - List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); - - for (OrderDetl orderDetl : orderDetls){ - Map<String, Object> odMap = new HashMap<>(); - odMap.put("autoid",orderDetl.getItemNum()); - odMap.put("iQuantity",orderDetl.getQty()); - orderDetlsParam.add(odMap); - } + ReportErpParam param = new ReportErpParam(); + mappingParam(order,param); + mappingParamChildren(orderDetlList,param); int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", url, orderReportPath, null, "127.0.0.1"); if(code == 0){ @@ -87,6 +80,42 @@ } return SUCCESS; + } + + private void mappingParam(Order order, ReportErpParam param){ + param.set鎿嶄綔绯荤粺鍙�(order.getDefNumber()); + param.set鎿嶄綔鍗曟嵁(order.getDocType$()); + param.set鎿嶄綔绫诲瀷("add"); + param.setDdate(order.getOrderTime()); + param.setCWhCode(""); + param.setCDepCode("YZ"); + param.setCOrderCode(order.getOrderNo()); + param.setCMaker(""); + param.setCHandler(""); + param.setCDefine14(order.getOrderNo()); + } + + private void mappingParamChildren(List<OrderDetl> orderDetlList, ReportErpParam param){ + List<ReportErpParam.ChildInfo> paramChild = new ArrayList<>(); + param.setChildren(paramChild); + for (OrderDetl orderDetl : orderDetlList){ + ReportErpParam.ChildInfo childInfo = new ReportErpParam.ChildInfo(); + childInfo.setIrowno(orderDetl.getItemNum()); + childInfo.setCInvCode(orderDetl.getMatnr()); + childInfo.setIQuantity(orderDetl.getQty() + ""); + childInfo.setCBatch(orderDetl.getBatch()); + childInfo.setINum(orderDetl.getLength() + ""); + childInfo.setIinvexchrate(""); + childInfo.setBFree1(orderDetl.getDeadTime()); + childInfo.setIPOsID(orderDetl.getSku()); + childInfo.setCOrderCode(orderDetl.getOrderNo()); + childInfo.setIvouchrowno(orderDetl.getItemNum()); + childInfo.setCBatch(""); + childInfo.setDefine22(orderDetl.getThreeCode()); + + paramChild.add(childInfo); + } + } private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){ @@ -102,13 +131,15 @@ .doPost(); JSONObject jsonObject = JSON.parseObject(response); - if(Cools.isEmpty(jsonObject.get("errCode"))){ - throw new CoolException(jsonObject.get("Message").toString()); + if(Cools.isEmpty(jsonObject.get("succeed"))){ + throw new CoolException(jsonObject.get("dsc").toString()); } - int code = (int) jsonObject.get("errCode"); + String succeed = jsonObject.get("succeed").toString(); + + int code = Cools.eq("0",succeed) ? 0 : 1; if(code != 0){ - throw new CoolException(jsonObject.get("errMsg").toString()); + throw new CoolException(jsonObject.get("dsc").toString()); } success = true; return code; -- Gitblit v1.9.1