From 5eb83797abed1a572ca59cb2972171b18e3d46b2 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 13 十一月 2024 15:04:52 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java | 79 +++++++++++++++++++++++++++++++++++---- 1 files changed, 70 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java index 7b7092d..dc0bc36 100644 --- a/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java @@ -4,10 +4,15 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +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,7 +24,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Set; /** @@ -39,6 +46,8 @@ @Autowired private OrderService orderService; @Autowired + private OrderDetlService orderDetlService; + @Autowired private ApiLogService apiLogService; @Autowired private DocTypeService docTypeService; @@ -47,23 +56,57 @@ @Transactional public ReturnT<String> start(Order order) { + String orderNo = order.getOrderNo(); + String[] split = orderNo.split("-"); + String orderNoS = split[0]; //鐧诲綍閲戣澏r + log.info("鐧诲綍閲戣澏"); ReturnT<String> start = loginAuthenticationHandler.start(); + log.info("鐧诲綍閲戣澏:start:"+start); DocType docType = docTypeService.selectById(order.getDocType()); if (null == docType) { return SUCCESS; } KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); + if (kingDeeUtilType.entryId>1){ + Order order1 = orderService.selectById(order.getId()); + order1.setUpdateTime(new Date()); + orderService.updateById(order1); + return SUCCESS; + } //鏉′欢鎷兼帴 + log.info("鏉′欢鎷兼帴"); + String entryIds = null; + if (kingDeeUtilType.entryId==1){ + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); + for (OrderDetl orderDetl:orderDetls){ + if (Cools.isEmpty(entryIds)){ + entryIds = orderDetl.getBeBatch().toString(); + }else { + entryIds = entryIds+"," +orderDetl.getBeBatch(); + } + } + orderNoS = ""; + } + if (Cools.isEmpty(entryIds)){ + entryIds = ""; + } + JSONObject dataJsonObject = new JSONObject(); - dataJsonObject.put("Numbers",order.getOrderNo()); + dataJsonObject.put("Numbers",orderNoS); + dataJsonObject.put("EntryIds",entryIds); + dataJsonObject.put("RuleId",kingDeeUtilType.ruleId); + dataJsonObject.put("TargetFormId",kingDeeUtilType.correspondingFormId); JSONObject jsonObject = new JSONObject(); - jsonObject.put("data", dataJsonObject); jsonObject.put("FormId",kingDeeUtilType.formId); + jsonObject.put("data", dataJsonObject); String add = jsonObject.toJSONString(); + log.info("鏉′欢鎷兼帴:"+jsonObject); + //涓嬫帹 + log.info("涓嬫帹"); String response = ""; boolean success = false; try { @@ -75,18 +118,36 @@ .setUri(URL) .setPath(pushDowmAudit) .setJson(add) + .setHttps(true) .build() .doPost(); - JSONObject data = JSON.parseObject(response); +// JSONObject data = JSON.parseObject(response); + log.info("涓嬫帹response:"+response); Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); - String bool=IsSuccess.toString(); - //瀹℃牳瀹屾垚鍘熻鍗�4杞�6 6.涓婃姤瀹屾垚 - if(bool.equals("true")){ - success = true; - order.setSettle(6L); + String bool1=IsSuccess.toString(); + boolean bool = false; + if (bool1.equals("true")){ + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode rootNode = objectMapper.readTree(response); + bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); + + //涓嬫帹瀹屾垚鍘熻鍗�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())); + } + } + + if (!bool1.equals("true") || !bool){ + order.setSettle(7L); + order.setUpdateTime(new Date()); orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); } + } catch (Exception e) { + log.info("涓嬫帹error:"+response); log.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); @@ -94,7 +155,7 @@ try { // 淇濆瓨鎺ュ彛鏃ュ織 apiLogService.save( - "瀹℃牳", + "涓嬫帹", URL+ pushDowmAudit, null, "127.0.0.1", -- Gitblit v1.9.1