Fixiaobai
2023-10-24 af3020fd8a9b8acc019afcafedc1dff30774a8a5
Changes
已修改3个文件
55 ■■■■■ 文件已修改
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/PartService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/PartController.java
@@ -31,6 +31,7 @@
import com.chinaztt.ztt.common.core.util.R;
import com.chinaztt.ztt.common.log.annotation.SysLog;
import com.chinaztt.ztt.common.security.annotation.Inner;
import com.chinaztt.ztt.common.security.util.SecurityUtils;
import com.xxl.job.core.handler.annotation.XxlJob;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -41,6 +42,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Date;
import java.util.List;
@@ -89,6 +91,18 @@
        partService.syncPart();
        return R.ok();
    }
    @ApiOperation(value = "同步Ifs", notes = "同步Ifs")
    @PostMapping("/syncNewIfs")
    //@XxlJob("syncPart")
    public R syncNewIfs(Date date) {
        System.out.println(date);
        String key = "syncPart_lock"+ SecurityUtils.getUser().getId();
        if (redisTemplate.hasKey(key)) {
            throw new RuntimeException("有同步任务正在处理");
        }
        partService.syncNewIfs(date);
        return R.ok();
    }
    /**
     * 分页查询已关联检测模板的零件
     *
mes-basic/src/main/java/com/chinaztt/mes/basic/service/PartService.java
@@ -26,6 +26,7 @@
import com.chinaztt.mes.basic.excel.PartData;
import com.chinaztt.ztt.common.core.util.R;
import java.util.Date;
import java.util.List;
/**
@@ -129,4 +130,6 @@
    IPage<Part> getRoutingPartPage(Page page, QueryWrapper<Part> ew, Long bomId);
    void syncPart();
    void syncNewIfs(Date date);
}
mes-basic/src/main/java/com/chinaztt/mes/basic/service/impl/PartServiceImpl.java
@@ -17,6 +17,8 @@
package com.chinaztt.mes.basic.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -31,12 +33,12 @@
import com.chinaztt.mes.basic.service.PartService;
import com.chinaztt.mes.basic.util.DictUtils;
import com.chinaztt.mes.basic.util.PartUtils;
import com.chinaztt.mes.basic.util.RedisUtils;
import com.chinaztt.mes.common.util.JsonUtil;
import com.chinaztt.ztt.common.core.util.R;
import com.chinaztt.ztt.common.security.util.SecurityUtils;
import com.google.gson.Gson;
import lombok.AllArgsConstructor;
import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
@@ -54,6 +56,7 @@
import org.springframework.util.StringUtils;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -72,7 +75,8 @@
    private IfsFeignClient ifsFeignClient;
    private DiscoveryClient discoveryClient;
    private Environment environment;
    private RedisTemplate redisTemplate;;
    private RedisTemplate redisTemplate;
    ;
    @Override
    public void importPartExcel(List<PartData> list) {
@@ -329,12 +333,12 @@
        if (redisTemplate.hasKey(key)) {
            throw new RuntimeException("有同步任务正在处理");
        }
        redisTemplate.opsForValue().set(key,1,1000 * 3600);
        redisTemplate.opsForValue().set(key, 1, 1000 * 3600);
        CloseableHttpClient httpClient = HttpClientBuilder.create().build();
        String syncErpUrl = environment.getProperty("erpPartUrl");
        HttpPost httpPost = new HttpPost(syncErpUrl);
        httpPost.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);
        httpPost.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,1000 * 3600);
        httpPost.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 1000 * 3600);
        // 将参数转换为JSON字符串
        Map<String, String> params = new HashMap<>();
//        params.put("startTime", customOrderSyncDTO.getStartTime());
@@ -363,4 +367,28 @@
        }
    }
    @Override
    public void syncNewIfs(Date date) {
        String key = "syncPart_lock" + SecurityUtils.getUser().getId();
        if (redisTemplate.hasKey(key)) {
            throw new RuntimeException("有同步任务正在处理");
        }
        redisTemplate.opsForValue().set(key, 1, 1000 * 3600);
        Map<String, Object>map=new HashMap<>();
        map.put("MODIFY_DATE", DateUtil.format(date,"yyyy-MM-dd"));
        System.out.println(map);
        String url = "http://192.168.20.47:8008/PurchService.ashx?contract=ZTKJ&contractKey=4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo=&procedureName=QUERY_INVENTORY_PART_INFO_STD&userId=7632&inAttr={'MODIFY_DATE':"+JsonUtil.jsonToString(map)+"}";
        try {
            String body = HttpRequest.get(url).execute().body();
            Map<String, Object> mapResult = JsonUtil.jsonToPojo(body, Map.class);
            System.out.println(
                    "执行========》"+mapResult);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
        } finally {
            redisTemplate.delete(key);
        }
    }
}