zhanghl
2025-04-18 fb2826c8d58dd7e51a3a4fac7a2a11d1d13ebaa5
work——order 同步接口
已修改4个文件
109 ■■■■■ 文件已修改
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/param/ApsWorkOrderJobParam.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java
@@ -61,6 +61,6 @@
     */
    public int deleteApsWorkOrderJobByIds(Long[] ids);
    void batchInsertApsWorkOrderJob(List<ApsWorkOrderJob> jobs);
    int batchInsertApsWorkOrderJob(List<ApsWorkOrderJob> jobs);
}
aps-modules/aps-job/src/main/java/com/aps/job/param/ApsWorkOrderJobParam.java
@@ -8,9 +8,9 @@
@Data
public class ApsWorkOrderJobParam {
    @JsonProperty("PageIndex")
    private String pageIndex;
    private Integer pageIndex;
    @JsonProperty("PageSize")
    private String pageSize;
    private Integer pageSize;
    @JsonProperty("DocList")
    private List<String> docList;
    @JsonProperty("ItemType")
@@ -22,4 +22,5 @@
    @JsonProperty("EndDate")
    private String endDate;
    private Integer toPageIndex;
}
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
@@ -124,53 +124,74 @@
    @Transactional
    @Override
    public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        Integer PageIndex = 3;
        Integer PageSize = 600;
        Boolean continueFlag = true;
        /*  while (continueFlag){*/
        /*根据参数中当前页面 和 要目标页面 进行循环*/
        for (int idx=param.getPageIndex(); idx<=param.getToPageIndex(); idx++){
            /*设置当前页面*/
            param.setPageIndex(idx);
            ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
            String requestString = JSONObject.toJSONString(param);
            HttpEntity<String> request = new HttpEntity<>(requestString, headers);
            ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
            log.setRequestData(requestString);
            log.setPageNum(Long.valueOf(param.getPageIndex()));
            log.setPageCount(Long.valueOf(param.getPageSize()));
            log.setCreateTime(DateUtils.getNowDate());
            log.setBizType("work_order");
            jobLogMapper.insertApsWorkOrderJobLog(log);
            if (response.getStatusCode().is2xxSuccessful()) {
                JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
                if ("200".equals(responseBodyJson.getString("status"))) {
                    JSONArray result = responseBodyJson.getJSONArray("data");
                    if (result != null&& !result.isEmpty()) {
                       int ct= batchSave(param, result);
                       if(ct>0){
                           log.setResult("ok save "+ct);
                           jobLogMapper.updateApsWorkOrderJobLog(log);
                           return;
                       }else{
        ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
        String requestString = JSONObject.toJSONString(param);
        HttpEntity<String> request = new HttpEntity<>(requestString, headers);
        ResponseEntity<String> response = restTemplate.postForEntity(getWorkOrderUrl, request, String.class);
        log.setRequestData(requestString);
        log.setPageNum(Long.valueOf(PageIndex));
        log.setPageCount(Long.valueOf(PageSize));
        log.setCreateTime(DateUtils.getNowDate());
        jobLogMapper.insertApsWorkOrderJobLog(log);
        if (response.getStatusCode().is2xxSuccessful()) {
            JSONObject responseBodyJson = JSONObject.parseObject(response.getBody());
            if ("200".equals(responseBodyJson.getString("status"))) {
                JSONArray result = responseBodyJson.getJSONArray("data");
                if (result != null) {
                    List<ApsWorkOrderJob> jobs = new ArrayList<>();
                    for (int i = 0; i < result.size(); i++) {
                        ApsWorkOrderJob order = result.getObject(i, ApsWorkOrderJob.class);
                        JSONObject jsonObject = result.getJSONObject(i);
                        order.setOrderId(jsonObject.get("ID").toString());
                        order.setCreateTime(DateUtils.getNowDate());
                        order.setPageIndex(i);
                        order.setPageNum(PageIndex);
                        order.setDelFlag("0");
                        order.setProcessStatus("0");
                        jobs.add(order);
                           log.setResult("ok save 0");
                           jobLogMapper.updateApsWorkOrderJobLog(log);
                           return;
                       }
                    }else {
                        log.setResult("ok receive 0");
                        jobLogMapper.updateApsWorkOrderJobLog(log);
                        return;
                    }
                    apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
                } else {
                    log.setResponseData(response.getBody());
                    log.setResult("fail");
                    jobLogMapper.updateApsWorkOrderJobLog(log);
                    return;
                }
                log.setResult("success");
            }else{
            } else {
                log.setResponseData(response.getBody());
                log.setResult("fail");
                jobLogMapper.updateApsWorkOrderJobLog(log);
                return;
            }
        }
        else {
            log.setResponseData(response.getBody());
            log.setResult("request fail");
        }
        jobLogMapper.updateApsWorkOrderJobLog(log);
    }
    @Transactional
    public int batchSave(ApsWorkOrderJobParam param, JSONArray result) {
        List<ApsWorkOrderJob> jobs = new ArrayList<>();
        for (int i = 0; i < result.size(); i++) {
            ApsWorkOrderJob order = result.getObject(i, ApsWorkOrderJob.class);
            JSONObject jsonObject = result.getJSONObject(i);
            order.setOrderId(jsonObject.get("ID").toString());
            order.setCreateTime(DateUtils.getNowDate());
            order.setPageIndex(i);
            order.setPageNum(param.getPageIndex());
            order.setDelFlag("0");
            order.setProcessStatus("0");
            jobs.add(order);
        }
      return   apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
    }
}
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
@@ -35,6 +35,7 @@
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
    </resultMap>
    <sql id="selectApsWorkOrderJobVo">