From 5539835ebf980de196b17e02e9ce15ded07eba9b Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 25 七月 2025 08:13:50 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java | 99 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 82 insertions(+), 17 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..4c07a88 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,14 +66,34 @@ return SUCCESS; } KingDeeUtilType kingDeeUtilType = KingDeeUtilType.get(docType.getDocName()); - +// if (kingDeeUtilType.entryId!=2){ +// return SUCCESS; +// } + Date now = new Date(); //鏉′欢鎷兼帴 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("Numbers",order.getOrderNo()); - JSONObject jsonObject1 = new JSONObject(); - jsonObject1.put("data", jsonObject); - jsonObject1.put("FormId",kingDeeUtilType.correspondingFormId); - String add = jsonObject1.toJSONString(); + JSONObject jsonObject=new JSONObject(); + jsonObject.put("FormId",kingDeeUtilType.correspondingFormId); + + JSONObject model=new JSONObject(); + model.put("fid",order.getPostFeeType()); + + JSONArray fEntitys = new JSONArray(); + for (OrderDetl orderDetl : orderDetls) { + JSONObject fEntity = new JSONObject(); + fEntity.put("FEntryID",orderDetl.getBeBatch()); + //瀹屾垚鏁伴噺-宸蹭笂鎶ユ暟閲� + if(orderDetl.getQty().equals(0.0)){ + fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()); + }else{ + fEntity.put(kingDeeUtilType.anfme, orderDetl.getQty()-orderDetl.getPrice()); // 灏�"FQty"鏀惧埌鏈�鍚� + } + fEntitys.add(fEntity); + } + model.put("FEntity",fEntitys); + JSONObject data= new JSONObject(); + data.put("Model",model); + jsonObject.put("data",data); + String add = jsonObject.toJSONString(); //涓婃姤 String response = ""; boolean success = false; @@ -74,17 +106,50 @@ .setUri(URL) .setPath(outaddressSave) .setJson(add) + .setHttps(true) .build() .doPost(); - JSONObject data = JSON.parseObject(response); +// JSONObject data = JSON.parseObject(response); Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess"); - String bool=IsSuccess.toString(); - //淇濆瓨瀹屾垚鍘熻鍗�8杞�6 - if(bool.equals("true")){ - success = true; - order.setSettle(6L); - orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); + String bool1=IsSuccess.toString(); + boolean bool = false; + //淇濆瓨瀹屾垚鍘熻鍗�2杞�3 3.淇濆瓨瀹屾垚 + if(bool1.equals("true")){ + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode rootNode = objectMapper.readTree(response); + bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean(); + //鎻愪氦瀹屾垚鍘熻鍗�2杞�3 3.涓婃姤瀹屾垚 + if(bool){ + success = true; + order.setMemo("3"); + order.setUpdateTime(new Date()); + orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo())); + + for(OrderDetl orderDetl:orderDetls){ + orderDetl.setPrice(orderDetl.getQty()); + orderDetl.setUpdateTime(new Date()); + if(Cools.isEmpty(orderDetl.getBatch())){ + orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>() + .eq("order_no",order.getOrderNo()) + .eq("matnr",orderDetl.getMatnr())); + }else{ + orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>() + .eq("order_no",order.getOrderNo()) + .eq("matnr",orderDetl.getMatnr()) + .eq("batch",orderDetl.getBatch())); + } + + } + + } } + +// 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.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -93,7 +158,7 @@ try { // 淇濆瓨鎺ュ彛鏃ュ織 apiLogService.save( - "淇濆瓨", + "3.淇濆瓨", URL+ outaddressSave, null, "127.0.0.1", -- Gitblit v1.9.1