فهرست منبع

增加生辰工单号同步接口

seyason 4 روز پیش
والد
کامیت
621ce5fc16

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ErpOrderInfoController.java

@@ -34,4 +34,9 @@ public class ErpOrderInfoController {
         return erpOrderInfoService.getInfoByProjectIdAndGroupId(projectId,groupId,date, request);
     }
 
+    @RequestMapping("/syncData")
+    public HttpRespMsg syncData() {
+        return erpOrderInfoService.syncData();
+    }
+
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ErpOrderInfoService.java

@@ -11,4 +11,6 @@ public interface ErpOrderInfoService extends IService<ErpOrderInfo> {
     HttpRespMsg getInfoByProjectIdAndGroupId(String projectId, Integer groupId, String date,HttpServletRequest request);
 
     HttpRespMsg getInfoPage(ErpOrderInfo erpOrderInfo, HttpServletRequest request);
+
+    HttpRespMsg syncData();
 }

+ 83 - 8
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ErpOrderInfoServiceImpl.java

@@ -13,30 +13,28 @@ import com.management.platform.util.HttpRespMsg;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.ParameterizedTypeReference;
+import org.springframework.http.*;
 import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDate;
 import java.time.YearMonth;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
 public class ErpOrderInfoServiceImpl extends ServiceImpl<ErpOrderInfoMapper, ErpOrderInfo> implements ErpOrderInfoService {
-
     @Resource
     private ErpOrderInfoMapper erpOrderInfoMapper;
-
     @Resource
-    private UserMapper userMapper;
-    @Autowired
     private TaskGroupMapper taskGroupMapper;
 
+    public static final String PREFIX_URL = "http://58.210.104.138:10020";
 
     @Override
     public HttpRespMsg getInfoByProjectId(String projectId, String date, HttpServletRequest request) {
@@ -126,4 +124,81 @@ public class ErpOrderInfoServiceImpl extends ServiceImpl<ErpOrderInfoMapper, Erp
         httpRespMsg.setData(map);
         return httpRespMsg;
     }
+
+    /**
+     * 工单号同步
+     * @return
+     */
+    @Override
+    public HttpRespMsg syncData() {
+        HttpRespMsg msg = new HttpRespMsg();
+        RestTemplate restTemplate = new RestTemplate();
+        String sumUrl = PREFIX_URL+"/dataCollect/getSqlServerDataSum";
+        String listUrl = PREFIX_URL+"/dataCollect/getSqlServerDataList";
+
+        try {
+            ResponseEntity<String> sumResponse = restTemplate.exchange(
+                    sumUrl,
+                    HttpMethod.GET,
+                    null,
+                    String.class
+            );
+            Integer totalNum = 0;
+            if (sumResponse.getStatusCode() == HttpStatus.OK) {
+                totalNum = Integer.parseInt(sumResponse.getBody());
+            } else {
+                System.out.println("请求失败,状态码: " + sumResponse.getStatusCode());
+            }
+            if(totalNum > 0){
+                int pageSize = 1000;
+                int offset = 0;
+                List<ErpOrderInfo> toAddList = new ArrayList<>();
+                List<ErpOrderInfo> toUpdateList = new ArrayList<>();
+                while (offset < totalNum) {
+                    HttpHeaders headers = new HttpHeaders();
+                    headers.setContentType(MediaType.APPLICATION_JSON);
+                    Map<String, Object> requestBody = new HashMap<>();
+                    requestBody.put("pageNo", offset);
+                    requestBody.put("pageSize", pageSize);
+                    HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody, headers);
+                    ResponseEntity<List<ErpOrderInfo>> listResponse = restTemplate.exchange(
+                            listUrl,
+                            HttpMethod.POST,
+                            requestEntity,
+                            new  ParameterizedTypeReference<List<ErpOrderInfo>>(){}
+                    );
+                    if (listResponse.getStatusCode() == HttpStatus.OK) {
+                        //dataList中是进行中的工单
+                        List<ErpOrderInfo> dataList = listResponse.getBody();
+                        List<ErpOrderInfo> erpOrderInfos = erpOrderInfoMapper.selectList(new LambdaQueryWrapper<ErpOrderInfo>());
+                        if(org.apache.commons.collections.CollectionUtils.isNotEmpty(dataList)){
+                            for (ErpOrderInfo item : dataList) {
+                                Optional<ErpOrderInfo> first = erpOrderInfos.stream().filter(t -> t.getMoDId().equals(item.getMoDId())).findFirst();
+                                if(first.isPresent()){
+                                    item.setId(first.get().getId());
+                                    toUpdateList.add(item);
+                                } else {
+                                    toAddList.add(item);
+                                }
+                            }
+                            if(!org.springframework.util.CollectionUtils.isEmpty(toAddList)){
+                                saveBatch(toAddList);
+                            }
+                            if(!org.springframework.util.CollectionUtils.isEmpty(toUpdateList)){
+                                updateBatchById(toUpdateList);
+                            }
+                            toUpdateList.clear();
+                            toAddList.clear();
+                        }
+                    }
+                    offset += pageSize;
+                }
+            }
+        } catch (Exception e) {
+            System.out.println("请求发生异常: " + e.getMessage());
+            e.printStackTrace();
+            msg.setError(e.getMessage());
+        }
+        return msg;
+    }
 }

+ 1 - 77
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/DataCollectTask.java

@@ -80,17 +80,6 @@ public class DataCollectTask {
     private UserFvTimeService userFvTimeService;
 
 
-//    private static HikariDataSource sqlServerDataSource;
-//
-//    static {
-//        HikariConfig sqlServerConfig = new HikariConfig();
-//        sqlServerConfig.setJdbcUrl("jdbc:sqlserver://172.168.10.84:1433;databaseName=UFDATA_001_2023;encrypt=true;trustServerCertificate=true");
-//        sqlServerConfig.setUsername("zhangyuhua");
-//        sqlServerConfig.setPassword("ZC12zyh18");
-//        sqlServerConfig.setMaximumPoolSize(5);
-//        sqlServerDataSource = new HikariDataSource(sqlServerConfig);
-//    }
-
     @Scheduled(cron = "0 30 0 28-31 * ?")
     @Async
     public void caDayTisTask(){
@@ -165,72 +154,7 @@ public class DataCollectTask {
     public void sqlServerTask() {
         if(isDev){return;}
         if(isPrivateDeploy) return;
-        RestTemplate restTemplate = new RestTemplate();
-        String sumUrl = PREFIX_URL+"/dataCollect/getSqlServerDataSum";
-        String listUrl = PREFIX_URL+"/dataCollect/getSqlServerDataList";
-
-        try {
-            ResponseEntity<String> sumResponse = restTemplate.exchange(
-                    sumUrl,
-                    HttpMethod.GET,
-                    null,
-                    String.class
-            );
-            Integer totalNum = 0;
-            if (sumResponse.getStatusCode() == HttpStatus.OK) {
-                totalNum = Integer.parseInt(sumResponse.getBody());
-            } else {
-                System.out.println("请求失败,状态码: " + sumResponse.getStatusCode());
-            }
-            if(totalNum > 0){
-                int pageSize = 1000;
-                int offset = 0;
-                List<ErpOrderInfo> toAddList = new ArrayList<>();
-                List<ErpOrderInfo> toUpdateList = new ArrayList<>();
-                while (offset < totalNum) {
-                    HttpHeaders headers = new HttpHeaders();
-                    headers.setContentType(MediaType.APPLICATION_JSON);
-                    Map<String, Object> requestBody = new HashMap<>();
-                    requestBody.put("pageNo", offset);
-                    requestBody.put("pageSize", pageSize);
-                    HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody, headers);
-                    ResponseEntity<List<ErpOrderInfo>> listResponse = restTemplate.exchange(
-                            listUrl,
-                            HttpMethod.POST,
-                            requestEntity,
-                            new  ParameterizedTypeReference<List<ErpOrderInfo>>(){}
-                    );
-                    if (listResponse.getStatusCode() == HttpStatus.OK) {
-                        //dataList中是进行中的工单
-                        List<ErpOrderInfo> dataList = listResponse.getBody();
-                        List<ErpOrderInfo> erpOrderInfos = erpOrderInfoMapper.selectList(new LambdaQueryWrapper<ErpOrderInfo>());
-                        if(org.apache.commons.collections.CollectionUtils.isNotEmpty(dataList)){
-                            for (ErpOrderInfo item : dataList) {
-                                Optional<ErpOrderInfo> first = erpOrderInfos.stream().filter(t -> t.getMoDId().equals(item.getMoDId())).findFirst();
-                                if(first.isPresent()){
-                                    item.setId(first.get().getId());
-                                    toUpdateList.add(item);
-                                } else {
-                                    toAddList.add(item);
-                                }
-                            }
-                            if(!CollectionUtils.isEmpty(toAddList)){
-                                erpOrderInfoService.saveBatch(toAddList);
-                            }
-                            if(!CollectionUtils.isEmpty(toUpdateList)){
-                                erpOrderInfoService.updateBatchById(toUpdateList);
-                            }
-                            toUpdateList.clear();
-                            toAddList.clear();
-                        }
-                    }
-                    offset += pageSize;
-                }
-            }
-        } catch (Exception e) {
-            System.out.println("请求发生异常: " + e.getMessage());
-            e.printStackTrace();
-        }
+        erpOrderInfoService.syncData();
     }
 
     @Scheduled(cron = "0 38 2 * * ?")