自动化立体仓库 - WMS系统
#
zjj
6 天以前 4b6e6d95ae6fbbccc4351db366b99fa05288877f
src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
@@ -4,10 +4,14 @@
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.entity.WrkDetl;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.DocTypeService;
import com.zy.asrs.service.OrderService;
@@ -21,9 +25,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.Set;
import java.util.*;
/**
 * Created by vincent on 2023/10/21
@@ -47,6 +49,8 @@
    private DocTypeService docTypeService;
    @Autowired
    private LoginAuthenticationHandler loginAuthenticationHandler;
    @Autowired
    private OrderDetlMapper orderDetlMapper;
    @Transactional
    public ReturnT<String> start(Order order) {
@@ -60,11 +64,11 @@
        //条件拼接
        JSONObject dataJsonObject = new JSONObject();
        dataJsonObject.put("Numbers",order.getOrderNo());
        dataJsonObject.put("ids", order.getPostFeeType());
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("data", dataJsonObject);
        jsonObject.put("FormId",kingDeeUtilType.formId);
        jsonObject.put("FormId", kingDeeUtilType.correspondingFormId);
        String add = jsonObject.toJSONString();
        //上报
        String response = "";
@@ -80,21 +84,35 @@
                    .setJson(add)
                    .build()
                    .doPost();
            JSONObject data = JSON.parseObject(response);
//            JSONObject data = JSON.parseObject(response);
            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
            String bool1=IsSuccess.toString();
            String bool1 = IsSuccess.toString();
            if(bool1.equals("true")){
                ObjectMapper objectMapper =  new ObjectMapper();
            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);
                //审核完成原订单6转7  7.审核完成
                if(bool){
                log.info("审核bool:" + bool);
                //审核完成原订单4转5  5.审核完成
                if (bool) {
                    success = true;
                    order.setSettle(10L);
                    order.setMemo("5");//审核完成
                    order.setUpdateTime(new Date());
                    orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
                    //判断订单是否已经全部做完
                    List<OrderDetl> orderDetls = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()));
                    boolean complete = true;
                    for (OrderDetl orderDetl : orderDetls) {
                        if (orderDetl.getAnfme() > orderDetl.getQty()) {
                            complete = false;
                            break;
                        }
                    }
                    if(complete){
                      order.setSettle(8L);
                    }
                    orderService.update(order, new EntityWrapper<Order>().eq("order_no", order.getOrderNo()));
                }
            }
        } catch (Exception e) {
@@ -105,8 +123,8 @@
            try {
                // 保存接口日志
                apiLogService.save(
                        "审核",
                        URL+ outaddressAudit,
                        "5.审核",
                        URL + outaddressAudit,
                        null,
                        "127.0.0.1",
                        add,
@@ -119,6 +137,7 @@
        }
        return SUCCESS;
    }
    public static Object findValueByKey(JSONObject json, String key) {
        Set<String> keySet = json.keySet();
        for (String k : keySet) {
@@ -129,13 +148,13 @@
                int size = ((JSONArray) v).size();
                for (int i = 0; i <= size - 1; i++) {
                    Object result = findValueByKey((JSONObject) ((JSONArray) v).get(i), key);
                    if (result != null){
                    if (result != null) {
                        return result;
                    }
                }
            } else if (v instanceof JSONObject){
            } else if (v instanceof JSONObject) {
                Object result = findValueByKey((JSONObject) v, key);
                if (result != null){
                if (result != null) {
                    return result;
                }
            }