From a374f2b69941b4b391b2735e6afc9ba943efc6b1 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 27 十二月 2023 19:17:16 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java | 104 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 95 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java index a05c7ca..20975cc 100644 --- a/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java @@ -4,10 +4,16 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.DocTypeService; +import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -19,8 +25,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.HashMap; -import java.util.Set; +import java.text.SimpleDateFormat; +import java.util.*; /** * Created by Monkey D. Luffy on 2023.10.21 @@ -43,10 +49,16 @@ @Autowired private DocTypeService docTypeService; @Autowired + private OrderDetlService orderDetlService; + @Autowired private LoginAuthenticationHandler loginAuthenticationHandler; @Transactional public ReturnT<String> start(Order order) { + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); + if (Cools.isEmpty(orderDetls) || orderDetls.size()==0){ + return SUCCESS; + } //鐧诲綍閲戣澏r ReturnT<String> start = loginAuthenticationHandler.start(); DocType docType = docTypeService.selectById(order.getDocType()); @@ -54,12 +66,72 @@ return SUCCESS; } KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); - + if (kingDeeUtilType.entryId!=2){ + return SUCCESS; + } + Date now = new Date(); //鏉′欢鎷兼帴 + JSONObject jsonObjectFBillTypeID = new JSONObject(); + JSONObject jsonObjectFPickerId = new JSONObject(); + if (kingDeeUtilType.pakIn==1){ + jsonObjectFBillTypeID.put("FNUMBER","QTRKD01_SYS"); + }else { + jsonObjectFBillTypeID.put("FNUMBER","QTCKD01_SYS"); + jsonObjectFPickerId.put("FStaffNumber","X0103_GLGW074_1"); + } + + JSONObject jsonObjectFStockOrgId = new JSONObject(); + jsonObjectFStockOrgId.put("FNUMBER","100"); + + JSONObject jsonObjectFOwnerIdHead = new JSONObject(); + jsonObjectFOwnerIdHead.put("FNUMBER","100"); + + JSONObject jsonObjectFDEPTID = new JSONObject(); + jsonObjectFDEPTID.put("FNUMBER","CX"); + + List<JSONObject> jsonObjects = new ArrayList<>(); + + for (OrderDetl orderDetl:orderDetls){ + JSONObject jsonObjectFMATERIALID = new JSONObject(); + jsonObjectFMATERIALID.put("FNUMBER",orderDetl.getMatnr()); + + JSONObject jsonObjectFSTOCKID = new JSONObject(); + jsonObjectFSTOCKID.put("FNUMBER","CK001"); + + JSONObject jsonObjectFLOT = new JSONObject(); + jsonObjectFLOT.put("FNUMBER",orderDetl.getBatch()); + + // 浣跨敤LinkedHashMap鏉ヤ繚鎸佹彃鍏ラ『搴� + Map<String, Object> orderedMap = new LinkedHashMap<>(); + + // 鎸夌収鏈熸湜鐨勯『搴忔坊鍔犻敭鍊煎 + orderedMap.put("FMATERIALID", jsonObjectFMATERIALID); + orderedMap.put("FSTOCKID", jsonObjectFSTOCKID); + orderedMap.put("FLOT", jsonObjectFLOT); + orderedMap.put("FQty", orderDetl.getQty()); // 灏�"FQty"鏀惧埌鏈�鍚� + + JSONObject jsonObjectEnd = new JSONObject(orderedMap); + + jsonObjects.add(jsonObjectEnd); + } + JSONObject jsonObject = new JSONObject(); - jsonObject.put("Numbers",order.getOrderNo()); + jsonObject.put("FBillTypeID",jsonObjectFBillTypeID); + if (kingDeeUtilType.pakIn==0){ + jsonObject.put("FPickerId",jsonObjectFPickerId); + } + jsonObject.put("FDate",DateUtils.convert(now, DateUtils.yyyyMMdd_F)); + jsonObject.put("FStockOrgId",jsonObjectFStockOrgId); + jsonObject.put("FOwnerTypeIdHead","BD_OwnerOrg"); + jsonObject.put("FOwnerIdHead",jsonObjectFOwnerIdHead); + jsonObject.put("FDEPTID",jsonObjectFDEPTID); + jsonObject.put("FEntity",jsonObjects); + + JSONObject jsonObjectModel = new JSONObject(); + jsonObjectModel.put("Model",jsonObject); + JSONObject jsonObject1 = new JSONObject(); - jsonObject1.put("data", jsonObject); + jsonObject1.put("data", jsonObjectModel); jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); String add = jsonObject1.toJSONString(); //涓婃姤 @@ -74,15 +146,29 @@ .setUri(URL) .setPath(outaddressSave) .setJson(add) + .setHttps(true) .build() .doPost(); JSONObject data = JSON.parseObject(response); Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); - String bool=IsSuccess.toString(); + String bool1=IsSuccess.toString(); //淇濆瓨瀹屾垚鍘熻鍗�8杞�6 - if(bool.equals("true")){ - success = true; - order.setSettle(6L); + if(bool1.equals("true")){ + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode rootNode = objectMapper.readTree(response); + boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); + log.info("瀹℃牳bool:"+bool); + //鎻愪氦瀹屾垚鍘熻鍗�4杞�6 6.涓婃姤瀹屾垚 + if(bool){ + success = true; + order.setSettle(6L); + order.setUpdateTime(new Date()); + orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); + } + }else { + success = false; + order.setSettle(7L); + order.setUpdateTime(new Date()); orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); } } catch (Exception e) { -- Gitblit v1.9.1