dy
2025-04-19 01e45371334efcf7f4ccf2fbf8343ec063aa1ff2
Merge remote-tracking branch 'origin/dev' into dev
已修改12个文件
398 ■■■■ 文件已修改
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPartPlan.java
@@ -1,5 +1,6 @@
package com.aps.core.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.aps.common.core.utils.uuid.IdUtils;
@@ -9,6 +10,7 @@
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aps.common.core.annotation.Excel;
import com.aps.common.core.web.domain.BaseEntity;
import org.apache.poi.hpsf.Decimal;
import org.springframework.data.annotation.Id;
import javax.annotation.processing.Generated;
@@ -80,11 +82,11 @@
    /** 生产数量 */
    @Excel(name = "生产数量")
    private Long productionQuantity;
    private Decimal productionQuantity;
    /** 良品数量 */
    @Excel(name = "良品数量")
    private Long goodProductsQuantity;
    private Decimal goodProductsQuantity;
    /** 工序号 */
    @Excel(name = "工序号")
@@ -309,22 +311,22 @@
        return versionNumber;
    }
    public void setProductionQuantity(Long productionQuantity)
    public void setProductionQuantity(Decimal productionQuantity)
    {
        this.productionQuantity = productionQuantity;
    }
    public Long getProductionQuantity()
    public Decimal getProductionQuantity()
    {
        return productionQuantity;
    }
    public void setGoodProductsQuantity(Long goodProductsQuantity)
    public void setGoodProductsQuantity(Decimal goodProductsQuantity)
    {
        this.goodProductsQuantity = goodProductsQuantity;
    }
    public Long getGoodProductsQuantity()
    public Decimal getGoodProductsQuantity()
    {
        return goodProductsQuantity;
    }
aps-modules/aps-job/src/main/java/com/aps/job/controller/ApsWorkOrderJobController.java
@@ -1,7 +1,6 @@
package com.aps.job.controller;
import java.util.List;
import java.io.IOException;
import com.aps.job.param.ApsWorkOrderJobParam;
import jakarta.servlet.http.HttpServletResponse;
@@ -73,43 +72,21 @@
    }
    /**
     * 新增工单同步
     */
    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:add")
    @Log(title = "工单同步", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ApsWorkOrderJob apsWorkOrderJob)
    {
        return toAjax(apsWorkOrderJobService.insertApsWorkOrderJob(apsWorkOrderJob));
    }
    /**
     * 修改工单同步
     */
    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:edit")
    @Log(title = "工单同步", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ApsWorkOrderJob apsWorkOrderJob)
    {
        return toAjax(apsWorkOrderJobService.updateApsWorkOrderJob(apsWorkOrderJob));
    }
    /**
     * 删除工单同步
     */
    @RequiresPermissions("ApsWorkOrderJob:ApsWorkOrderJob:remove")
    @Log(title = "工单同步", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(apsWorkOrderJobService.deleteApsWorkOrderJobByIds(ids));
    }
     * 同步工单数据
     * */
    @PostMapping("/batchInsertApsWorkOrderJob")
    public AjaxResult batchInsertApsWorkOrderJob(@RequestBody ApsWorkOrderJobParam param)
    {
        apsWorkOrderJobService.batchInsertApsWorkOrderJob(param);
        apsWorkOrderJobService.SyncWorkOrderByTime();
        return success();
    }
    /**
     * 同步零件工单
     * */
    @PostMapping("/batchInsertPartOrderJob")
    public AjaxResult batchInsertPartOrderJob()
    {
        apsWorkOrderJobService.syncPartOrderData();
        return success();
    }
}
aps-modules/aps-job/src/main/java/com/aps/job/controller/SysJobController.java
@@ -43,7 +43,7 @@
    /**
     * 查询定时任务列表
     */
    @RequiresPermissions("monitor:job:list")
   /* @RequiresPermissions("monitor:job:list")*/
    @GetMapping("/list")
    public TableDataInfo list(SysJob sysJob)
    {
@@ -55,7 +55,7 @@
    /**
     * 导出定时任务列表
     */
    @RequiresPermissions("monitor:job:export")
    /*@RequiresPermissions("monitor:job:export")*/
    @Log(title = "定时任务", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SysJob sysJob)
@@ -68,7 +68,7 @@
    /**
     * 获取定时任务详细信息
     */
    @RequiresPermissions("monitor:job:query")
    /*@RequiresPermissions("monitor:job:query")*/
    @GetMapping(value = "/{jobId}")
    public AjaxResult getInfo(@PathVariable("jobId") Long jobId)
    {
@@ -78,7 +78,7 @@
    /**
     * 新增定时任务
     */
    @RequiresPermissions("monitor:job:add")
   /* @RequiresPermissions("monitor:job:add")*/
    @Log(title = "定时任务", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -114,7 +114,7 @@
    /**
     * 修改定时任务
     */
    @RequiresPermissions("monitor:job:edit")
   /* @RequiresPermissions("monitor:job:edit")*/
    @Log(title = "定时任务", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException
@@ -150,7 +150,7 @@
    /**
     * 定时任务状态修改
     */
    @RequiresPermissions("monitor:job:changeStatus")
  /*  @RequiresPermissions("monitor:job:changeStatus")*/
    @Log(title = "定时任务", businessType = BusinessType.UPDATE)
    @PutMapping("/changeStatus")
    public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException
@@ -163,7 +163,7 @@
    /**
     * 定时任务立即执行一次
     */
    @RequiresPermissions("monitor:job:changeStatus")
   /* @RequiresPermissions("monitor:job:changeStatus")*/
    @Log(title = "定时任务", businessType = BusinessType.UPDATE)
    @PutMapping("/run")
    public AjaxResult run(@RequestBody SysJob job) throws SchedulerException
@@ -175,7 +175,7 @@
    /**
     * 删除定时任务
     */
    @RequiresPermissions("monitor:job:remove")
 /*   @RequiresPermissions("monitor:job:remove")*/
    @Log(title = "定时任务", businessType = BusinessType.DELETE)
    @DeleteMapping("/{jobIds}")
    public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderJobMapper.java
@@ -4,6 +4,7 @@
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * 工单同步Mapper接口
@@ -67,9 +68,16 @@
    int deleteWorkOrderJobByOrderIds(List<String> orderIds);
    /**
     * 更新工单工序同步状态
     * @param docNo
     * @param params
     * @return
     */
    public int updateApsWorkOrderJobPrccessStatus(String docNo);
    public int updateApsWorkOrderJobPrccessStatus(Map<String, Object> params);
    /**
     * 批量删除零件工单数据
     * */
    int deleteAllPartPlan();
    /**
     * 批量插入零件计划工单
     * */
    int batchInsertPartPlan();
}
aps-modules/aps-job/src/main/java/com/aps/job/mapper/ApsWorkOrderProcessMapper.java
@@ -76,12 +76,22 @@
     * @param list
     * @return 更新数量
     */
    int updateApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list);
    public int updateApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list);
    /**
     * 批量插入工单工序
     * @param list
     * @return 插入数量
     */
    int insertApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list);
    public int insertApsWorkOrderProcessBatch(@Param("list") List<ApsWorkOrderProcess> list);
    /**
     * 插入工单工序数据到业务表
     */
    public void insertIntoApsProcessRoute();
    /**
     * 删除临时工序数据
     */
    public void deleteApsProcessRoute();
}
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderJobService.java
@@ -3,6 +3,7 @@
import java.util.List;
import com.aps.job.domain.ApsWorkOrderJob;
import com.aps.job.param.ApsWorkOrderJobParam;
import org.springframework.transaction.annotation.Transactional;
/**
 * 工单同步Service接口
@@ -62,4 +63,12 @@
    void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param);
    void SyncWorkOrderByTime();
    @Transactional
    boolean batchSaveByPager(ApsWorkOrderJobParam param);
    @Transactional
    void syncPartOrderData();
}
aps-modules/aps-job/src/main/java/com/aps/job/service/IApsWorkOrderProcessService.java
@@ -62,7 +62,7 @@
    /**
     * 从U9获取工单工序信息
     * @param docNo
     * @param docNos
     * @return
     */
    public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception;
@@ -71,4 +71,14 @@
     * 同步工单工序数据
     */
    public void syncWorkOrderProcessData();
    /**
     * 插入工单工序数据到业务表
     */
    public void insertIntoApsProcessRoute();
    /**
     * 删除临时工序数据
     */
    public void deleteApsProcessRoute();
}
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderJobServiceImpl.java
@@ -1,6 +1,10 @@
package com.aps.job.service.impl;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.alibaba.fastjson.JSONArray;
@@ -9,6 +13,7 @@
import com.aps.job.domain.ApsWorkOrderJobLog;
import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
import com.aps.job.param.ApsWorkOrderJobParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
@@ -28,6 +33,7 @@
 * @author zhl
 * @date 2025-04-17
 */
@Slf4j
@Service
public class ApsWorkOrderJobServiceImpl implements IApsWorkOrderJobService 
{
@@ -121,7 +127,9 @@
    }
    /**
     * 根据页码全量同步数据
     * */
    @Override
    public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) {
@@ -134,53 +142,75 @@
        }
    }
    /**
     * 根据时间段每日更新,页面自动递增循环同步数据
     * */
    @Override
    public void SyncWorkOrderByTime(){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime today = LocalDateTime.now();
        LocalDate yesterday = LocalDate.now().minusDays(1);
        LocalDateTime yesterdayMidnight = yesterday.atStartOfDay();
        boolean continueFlag = true;
        Integer currentPage = 1;
        ApsWorkOrderJobParam param=new ApsWorkOrderJobParam();
        param.setPageIndex(currentPage);
        param.setDocState(Arrays.asList(0,1,2,4));
        param.setBeginDate(yesterdayMidnight.format(formatter));
        param.setEndDate(today.format(formatter));
        param.setPageSize(1000);
        while (continueFlag){
            param.setPageIndex(currentPage);
            continueFlag= batchSaveByPager(param);
            currentPage++;
        }
    }
    @Transactional
    @Override
    public boolean batchSaveByPager(ApsWorkOrderJobParam param) {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        /*设置当前页面*/
        ApsWorkOrderJobLog log = new ApsWorkOrderJobLog();
        ApsWorkOrderJobLog jobLog = 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);
        jobLog.setRequestData(requestString);
        jobLog.setPageNum(Long.valueOf(param.getPageIndex()));
        jobLog.setPageCount(Long.valueOf(param.getPageSize()));
        jobLog.setCreateTime(DateUtils.getNowDate());
        jobLog.setBizType("work_order");
        jobLogMapper.insertApsWorkOrderJobLog(jobLog);
        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= batchInsertApsWorkOrderJob(param, result);
                   if(ct>0){
                       log.setResult("ok save "+ct);
                       jobLogMapper.updateApsWorkOrderJobLog(log);
                   }else{
                       log.setResult("ok save 0");
                       jobLogMapper.updateApsWorkOrderJobLog(log);
                       return true;
                   }
                }else {
                    log.setResult("ok receive 0");
                    jobLogMapper.updateApsWorkOrderJobLog(log);
                    int ct= batchInsertApsWorkOrderJob(param, result);
                    jobLog.setResult("ok save "+ct);
                    jobLogMapper.updateApsWorkOrderJobLog(jobLog);
                    return true;
                }else {
                    jobLog.setResult("ok receive 0");
                    jobLogMapper.updateApsWorkOrderJobLog(jobLog);
                    return false;
                }
            } else {
                log.setResponseData(response.getBody());
                log.setResult("fail");
                jobLogMapper.updateApsWorkOrderJobLog(log);
                return true;
                jobLog.setResponseData(response.getBody());
                jobLog.setResult("fail");
                jobLogMapper.updateApsWorkOrderJobLog(jobLog);
                return false;
            }
            return true;
        } else {
            log.setResponseData(response.getBody());
            log.setResult("fail");
            jobLogMapper.updateApsWorkOrderJobLog(log);
            return true;
            jobLog.setResponseData(response.getBody());
            jobLog.setResult("fail");
            jobLogMapper.updateApsWorkOrderJobLog(jobLog);
            log.info(JSONObject.toJSONString(jobLog));
            return false;
        }
    }
    @Transactional
    public int batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param, JSONArray result) {
@@ -202,4 +232,13 @@
        return   apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs);
    }
    /**
     * 同步零件工单信息
     * */
    @Transactional
    @Override
    public void syncPartOrderData() {
        apsWorkOrderJobMapper.deleteAllPartPlan();
        apsWorkOrderJobMapper.batchInsertPartPlan();
    }
}
aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
@@ -148,6 +148,7 @@
        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"))){
@@ -160,6 +161,8 @@
                            JSONObject process = (JSONObject) o;
                            if (nowDocNo == null) {
                                nowDocNo = process.getString("DocNo");
                                docNos.remove(nowDocNo);
                                haveProcessDocNos.add(nowDocNo);
                            }
                            Map<String, Object> params = new HashMap<>();
                            params.put("docNo", process.getString("DocNo"));
@@ -188,7 +191,8 @@
                            }
                            if(!nowDocNo.equals(process.getString("DocNo"))){
                                //更新工单同步工序状态
                                apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(nowDocNo);
                                docNos.remove(nowDocNo);
                                haveProcessDocNos.add(nowDocNo);
                                nowDocNo = process.getString("DocNo");
                            }
                        }
@@ -204,7 +208,15 @@
                            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);
                    }
                    Map<String, Object> param = new HashMap<>();
                    param.put("status", "2");
                    param.put("docNos", docNos);
                    apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                }else{
                    apsWorkOrderJobLog.setResponseData(response.getBody());
                    apsWorkOrderJobLog.setResult("fail");
@@ -228,28 +240,36 @@
            //分页查询工单
            ApsWorkOrderJob apsWorkOrderJob = new ApsWorkOrderJob();
            apsWorkOrderJob.setProcessStatus("0");
            List<ApsWorkOrderJob> list = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob);
            int pageSize = 100;
            int allPage = list.size()/pageSize;
//            int allPage = 1;
            for (int i = 1; i <= allPage; i++) {
                long startTime = System.currentTimeMillis();
                PageHelper.startPage(i, pageSize);
            while (true){
                PageHelper.startPage(1, 100);
                List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob);
                if(!pageList.isEmpty()){
                    long startTime = System.currentTimeMillis();
                    List<String> docNos = new ArrayList<>();
                    for (ApsWorkOrderJob apsWorkOrderJob1 : pageList){
                        docNos.add(apsWorkOrderJob1.getDocNo());
                    }
                    getWorkOrderProcessFromU9(docNos);
                    long endTime = System.currentTimeMillis(); // 记录结束时间
                    long duration = endTime - startTime; // 计算运行时间
                    System.out.println("运行时间:"+ duration +"毫秒");
                }else{
                    break;
                }
                long endTime = System.currentTimeMillis(); // 记录结束时间
                long duration = endTime - startTime; // 计算运行时间
                System.out.println("运行时间:"+ duration +"毫秒");
            }
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
        }
    }
    @Override
    public void insertIntoApsProcessRoute() {
        apsWorkOrderProcessMapper.insertIntoApsProcessRoute();
    }
    @Override
    public void deleteApsProcessRoute() {
        apsWorkOrderProcessMapper.deleteApsProcessRoute();
    }
}
aps-modules/aps-job/src/main/java/com/aps/job/task/RyTask.java
@@ -1,9 +1,16 @@
package com.aps.job.task;
import com.aps.common.core.utils.StringUtils;
import com.aps.job.param.ApsWorkOrderJobParam;
import com.aps.job.service.IApsWorkOrderJobService;
import com.aps.job.service.IApsWorkOrderProcessService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
/**
 * 定时任务调度测试
@@ -16,6 +23,10 @@
    @Autowired
    private IApsWorkOrderProcessService iApsWorkOrderProcessService;
    @Autowired
    private IApsWorkOrderJobService iApsWorkOrderJobService;
    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
    {
        System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
@@ -38,4 +49,46 @@
    {
        iApsWorkOrderProcessService.syncWorkOrderProcessData();
    }
    /**
     * 每日同步零件工单数据
     * */
    public void  syncPartOrderData ()
    {
        iApsWorkOrderJobService.syncPartOrderData();
    }
    /**
     * 每日同步所有工单数据
     * */
    public void syncWorkOrderData()
    {
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime today = LocalDateTime.now();
        LocalDate yesterday = LocalDate.now().minusDays(1);
        LocalDateTime yesterdayMidnight = yesterday.atStartOfDay();
        boolean continueFlag = true;
        Integer currentPage = 1;
        ApsWorkOrderJobParam param=new ApsWorkOrderJobParam();
        param.setPageIndex(currentPage);
        param.setDocState(Arrays.asList(0,1,2,4));
        param.setBeginDate(yesterdayMidnight.format(formatter));
        param.setEndDate(today.format(formatter));
        param.setPageSize(1000);
        while (continueFlag){
            param.setPageIndex(currentPage);
            continueFlag= iApsWorkOrderJobService.batchSaveByPager(param);
            currentPage++;
        }
    }
    /**
     * 将工单工序数据同步到业务表中
     */
    public void insertIntoApsProcessRoute()
    {
        iApsWorkOrderProcessService.deleteApsProcessRoute();
        iApsWorkOrderProcessService.insertIntoApsProcessRoute();
    }
}
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderJobMapper.xml
@@ -283,8 +283,43 @@
        </foreach>
    </delete>
    <update id="updateApsWorkOrderJobPrccessStatus" parameterType="String">
        update aps_work_order_job set process_status='1' where doc_no = #{docNo}
    <update id="updateApsWorkOrderJobPrccessStatus" parameterType="map">
        update aps_work_order_job
        set process_status = #{status}
        where doc_no in
        <foreach item="docNo" collection="docNos" open="(" separator="," close=")">
            #{docNo}
        </foreach>
    </update>
    <delete id="deleteAllPartPlan" >
        delete from aps_part_plan where del_flag in ('0','1')
    </delete>
    <insert id="batchInsertPartPlan">
        insert into aps_part_plan
        (
            document_number,main_part_number,main_part_drawing_number,
            customer,business_type,requirement_type,
            document_status,item_number,drawing_no,
            version_number,production_quantity,good_products_quantity,
            process_number,work_center,department,
            plan_start_day,plan_end_day,next_process_deparment,
            is_suspended,is_outsourcing,account,
            id,create_time,del_flag,plant,order_status
        )
        select
            doc_no,mainitem_code,mainitem_figure,
            customer_name,business_type,demand_type,
            doc_status,item_code,item_figure,
            item_figure_version,pruduct_qty,work_qty,
            op_num,work_center,dept,
            start_date,complete_date,next_dept,
            is_hold_release,is_out_source,org_code,
            order_id,now(),'0',org_code,doc_status
        from aps_work_order_job
        where ( doc_status in (0,1,2,4) and
            (mainitem_code like 'M01%' or mainitem_code like 'M02%'or mainitem_code like 'M05%' or mainitem_code like 'M10%'
             or mainitem_code like 'M14%'or mainitem_code like 'M15%' or mainitem_code like 'F%' or mainitem_code like 'Z%')
        );
    </insert>
</mapper>
aps-modules/aps-job/src/main/resources/mapper/job/ApsWorkOrderProcessMapper.xml
@@ -178,4 +178,45 @@
        </foreach>
    </insert>
    <!-- 插入数据到 aps_process_route -->
    <insert id="insertIntoApsProcessRoute">
        INSERT INTO aps_process_route (
            id,
            item_no,
            work_order_no,
            process_number,
            op_id,
            process_name,
            standard_time,
            process_plan_start_day,
            process_plan_end_day,
            process_qty,
            discard_count,
            op_status,
            plant,
            org_code
        )
        SELECT
            id,
            item_code,
            doc_no,
            op_num,
            op_id,
            process_name,
            standard_time,
            plan_start_date,
            plan_complete_date,
            process_qty,
            scrap_qty,
            op_status,
            org,
            org_code
        FROM aps_work_order_process
    </insert>
    <!-- 删除 aps_process_route 表中的数据 -->
    <delete id="deleteApsProcessRoute">
        DELETE FROM aps_process_route
    </delete>
</mapper>