zhanghl
2025-05-16 fbb90c31d56348ec3fcc49af49c66b19992f58df
Merge remote-tracking branch 'origin/dev' into dev
已修改3个文件
61 ■■■■ 文件已修改
aps-modules/aps-core/src/main/resources/mapper/core/ApsShopMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteHeaderMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/resources/mapper/core/ApsShopMapper.xml
@@ -27,7 +27,6 @@
            <if test="shopCode != null  and shopCode != ''"> and shop_code = #{shopCode}</if>
            <if test="plantCode != null  and plantCode != ''"> and plant_code = #{plantCode}</if>
            <if test="status != null  and status != ''"> and status = #{status}</if>
             and status='1'
        </where>
        order by id asc
    </select>
aps-modules/aps-core/src/main/resources/mapper/core/ApsStandardProcessRouteHeaderMapper.xml
@@ -36,7 +36,6 @@
            <if test="endDate != null  and endDate != ''"> and end_date = #{endDate}</if>
            <if test="orgCode != null  and orgCode != ''"> and org_code = #{orgCode}</if>
            <if test="itemCode != null  and itemCode != ''"> and item_code like '%' || #{itemCode} || '%'</if>
            <if test="orgCode != null  and orgCode != ''"> and org_code = #{orgCode}</if>
            and del_flag = '0'
        </where>
        ORDER BY version desc
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
@@ -133,7 +133,9 @@
    @Override
    public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception {
        List<String> noProcessDocNos = docNos;
        List<String> noProcessDocNos = new ArrayList<>(docNos);
        List<String> haveProcessDocNos = new ArrayList<>();
        ApsWorkOrderJobLog apsWorkOrderJobLog = new ApsWorkOrderJobLog();
        // 设置请求头
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
@@ -151,13 +153,11 @@
            ResponseEntity<String> response = restTemplate.postForEntity(u9WorkOrderProcessUrl, request, String.class);
            String responseBody = response.getBody();
            JSONObject responseBodyJson = JSONObject.parseObject(responseBody);
            ApsWorkOrderJobLog apsWorkOrderJobLog = new ApsWorkOrderJobLog();
            apsWorkOrderJobLog.setRequestData(requestBody.toJSONString());
            apsWorkOrderJobLog.setCreateTime(DateUtils.getNowDate());
            apsWorkOrderJobLog.setBizType("work_order_process");
            apsWorkOrderJobLog.setResult("SUCCESS");
            apsWorkOrderJobLogService.insertApsWorkOrderJobLog(apsWorkOrderJobLog);
            List<String> haveProcessDocNos = new ArrayList<>();
            if (response.getStatusCode().is2xxSuccessful()) {
                if(!StringUtils.isEmpty(responseBody)){
                    if("200".equals(responseBodyJson.getString("status"))){
@@ -166,8 +166,8 @@
                            List<ApsWorkOrderProcess> addList = new ArrayList<>();
                            List<ApsWorkOrderProcess> updateList = new ArrayList<>();
                            String nowDocNo = null;
                            for (Object o : jsonArray) {
                                JSONObject process = (JSONObject) o;
                            for (int i = 0,size=jsonArray.size();i<size;i++) {
                                JSONObject process = jsonArray.getJSONObject(i);
                                if (nowDocNo == null) {
                                    nowDocNo = process.getString("DocNo");
                                    noProcessDocNos.remove(nowDocNo);
@@ -204,9 +204,9 @@
                                    apsWorkOrderProcess.setCreateTime(DateUtils.getNowDate());
                                    addList.add(apsWorkOrderProcess);
//                                }
                                if(!nowDocNo.equals(process.getString("DocNo"))){
                                if(!nowDocNo.equals(process.getString("DocNo")) || i==size-1){
                                    //更新工单同步工序状态
                                    docNos.remove(nowDocNo);
                                    noProcessDocNos.remove(nowDocNo);
                                    haveProcessDocNos.add(nowDocNo);
                                    nowDocNo = process.getString("DocNo");
                                }
@@ -225,23 +225,6 @@
                                apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog);
                                logger.info("【INSERT】获取并插入U9工序成功!【工单号:{}】", docNos);
                            }
                            Map<String, Object> param = new HashMap<>();
                            param.put("status", "1");
                            param.put("docNos", haveProcessDocNos);
                            apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                        }else{
                            if(!noProcessDocNos.isEmpty()){
                                Map<String, Object> param = new HashMap<>();
                                param.put("status", "2");
                                param.put("docNos", noProcessDocNos);
                                apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                                apsWorkOrderJobLog.setRequestData(requestBody.toJSONString());
                                apsWorkOrderJobLog.setResponseData(response.getBody());
                                apsWorkOrderJobLog.setResult("empty");
                                apsWorkOrderJobLog.setUpdateTime(DateUtils.getNowDate());
                                apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog);
                            }
                            break;
                        }
                        if(jsonArray.size()<1000){
                            break;
@@ -265,11 +248,29 @@
                throw new Exception("【ERROR】查询U9工序失败!【工单号:{"+ docNos +"}, 错误码:{"+ responseBodyJson.getString("status") +"},错误信息:{"+ responseBodyJson.getString("message") +"}】");
            }
        }
        if(!haveProcessDocNos.isEmpty()){
            Map<String, Object> param = new HashMap<>();
            param.put("status", "1");
            param.put("docNos", haveProcessDocNos);
            apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
        }
        if(!noProcessDocNos.isEmpty()){
            Map<String, Object> param = new HashMap<>();
            param.put("status", "2");
            param.put("docNos", noProcessDocNos);
            apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
            apsWorkOrderJobLog.setRequestData(noProcessDocNos.toString());
            apsWorkOrderJobLog.setResponseData("");
            apsWorkOrderJobLog.setResult("empty");
            apsWorkOrderJobLog.setUpdateTime(DateUtils.getNowDate());
            apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog);
        }
    }
    @Override
    public void syncWorkOrderProcessData(String status, Integer pageSize) {
        try{
            Integer pageNum = 1;
            //分页查询工单
            ApsWorkOrderJob apsWorkOrderJob = new ApsWorkOrderJob();
            if("".equals(status)){
@@ -282,6 +283,7 @@
                while (true){
                    PageHelper.startPage(1, pageSize);
                    List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob);
                    PageHelper.clearPage();
                    if(!pageList.isEmpty()){
                        long startTime = System.currentTimeMillis();
                        List<String> docNos = new ArrayList<>();
@@ -293,15 +295,14 @@
                            break;
                        }
                        lastDocNos = String.join(",", docNos);
                        long endTime = System.currentTimeMillis(); // 记录结束时间
                        long duration = endTime - startTime; // 计算运行时间
                        System.out.println("运行时间:"+ duration +"毫秒");
                    }
                    pageNum++;
                }
            }else{
                while (true){
                    PageHelper.startPage(1, pageSize);
                    List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob);
                    PageHelper.clearPage();
                    if(!pageList.isEmpty()){
                        long startTime = System.currentTimeMillis();
                        List<String> docNos = new ArrayList<>();
@@ -312,15 +313,13 @@
                        }
                        if(!docNos.isEmpty()){
                            getWorkOrderProcessFromU9(docNos);
                            long endTime = System.currentTimeMillis(); // 记录结束时间
                            long duration = endTime - startTime; // 计算运行时间
                            System.out.println("运行时间:"+ duration +"毫秒");
                        }else{
                            break;
                        }
                    }else{
                        break;
                    }
                    pageNum++;
                }
            }
        }catch (Exception e){