sfd
2025-05-22 e5a96bc789ca0252e31fd2e01bec5e471a02c0d6
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsMaterialStorageManagementJobServiceImpl.java
@@ -1,15 +1,18 @@
package com.aps.job.service.impl;
import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.aps.common.core.utils.DateUtils;
import com.aps.common.core.utils.StringUtils;
import com.aps.common.core.utils.uuid.IdUtils;
import com.aps.job.domain.ApsMaterialStorageManagementJob;
import com.aps.job.domain.ApsWorkOrderJobLog;
import com.aps.job.mapper.ApsMaterialStorageManagementJobMapper;
import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
import com.aps.job.service.IApsMaterialStorageManagementJobService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
@@ -30,6 +33,7 @@
 * @date 2025-05-08
 */
@Service
@Slf4j
public class ApsMaterialStorageManagementJobServiceImpl implements IApsMaterialStorageManagementJobService 
{
    @Autowired
@@ -123,12 +127,14 @@
        JSONObject requestBody = new JSONObject();
        ResponseEntity<String> response = null;
        ApsWorkOrderJobLog jobLog = new ApsWorkOrderJobLog();
        String batchNum = "";
        try {
            // 设置请求头
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON);
            // 设置请求体
            while (true) {
                batchNum = IdUtils.fastSimpleUUID();
                jobLog = new ApsWorkOrderJobLog();
                requestBody = new JSONObject();
                requestBody.put("PageIndex", pageIndex);
@@ -152,6 +158,7 @@
                            materialStorage.setItemNumber(storage.getString("ItemCode"));
                            materialStorage.setNum(storage.getBigDecimal("StoreQty"));
                            materialStorage.setApplicableFactories(storage.getString("OrgCode"));
                            materialStorage.setCreateBy(batchNum);
                            storageList.add(materialStorage);
                        }
                        List<ApsMaterialStorageManagementJob> temp = new ArrayList<>();
@@ -168,7 +175,9 @@
                        jobLog.setCreateTime(DateUtils.getNowDate());
                        jobLog.setBizType("storage");
                        jobLog.setResult("storage:"+storageList.size());
                        jobLog.setCreateBy(batchNum);
                        jobLogMapper.insertApsWorkOrderJobLog(jobLog);
                        log.info("物料同步:"+ JSON.toJSONString(jobLog));
                        pageIndex++;
                    }else{
                        break;
@@ -181,7 +190,9 @@
                    jobLog.setCreateTime(DateUtils.getNowDate());
                    jobLog.setBizType("storage");
                    jobLog.setResult("error");
                    jobLog.setCreateBy(batchNum);
                    jobLogMapper.insertApsWorkOrderJobLog(jobLog);
                    log.info("物料同步异常:"+ JSON.toJSONString(jobLog));
                    break;
                }
            }
@@ -194,7 +205,9 @@
            jobLog.setCreateTime(DateUtils.getNowDate());
            jobLog.setBizType("storage");
            jobLog.setResult("error");
            jobLog.setCreateBy(batchNum);
            jobLogMapper.insertApsWorkOrderJobLog(jobLog);
            log.info("物料同步异常:"+ JSON.toJSONString(jobLog));
            return false;
        }
        return true;
@@ -204,12 +217,17 @@
    @Override
    public boolean syncApsMaterialStorageDataJob(int pageIndex, int pageSize, String orgCode, String itemCodeList) {
        try {
            log.info("开始同步库存数据");
            log.info("delete ApsMaterialStorageJob");
            apsMaterialStorageManagementJobMapper.deleteApsMaterialStorageJob();
            log.info("sync ApsMaterialStorageData");
            boolean res = syncApsMaterialStorageData(pageIndex, pageSize, orgCode, itemCodeList);
            if(!res){
                return false;
            }
            log.info("delete ApsMaterialStorage");
            apsMaterialStorageManagementJobMapper.deleteApsMaterialStorage();
            log.info("insertInto ApsMaterialStorage ");
            apsMaterialStorageManagementJobMapper.insertIntoApsMaterialStorage();
            return true;
        } catch (Exception e) {