Merge remote-tracking branch 'origin/dev' into dev
| | |
| | | package com.aps.core.domain; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | import com.aps.common.core.utils.uuid.IdUtils; |
| | |
| | | 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; |
| | |
| | | |
| | | /** 生产数量 */ |
| | | @Excel(name = "生产数量") |
| | | private Long productionQuantity; |
| | | private Decimal productionQuantity; |
| | | |
| | | /** 良品数量 */ |
| | | @Excel(name = "良品数量") |
| | | private Long goodProductsQuantity; |
| | | private Decimal goodProductsQuantity; |
| | | |
| | | /** 工序号 */ |
| | | @Excel(name = "工序号") |
| | |
| | | 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; |
| | | } |
| | |
| | | package com.aps.job.controller; |
| | | |
| | | import java.util.List; |
| | | import java.io.IOException; |
| | | |
| | | import com.aps.job.param.ApsWorkOrderJobParam; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 新增工单同步 |
| | | */ |
| | | @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(); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 查询定时任务列表 |
| | | */ |
| | | @RequiresPermissions("monitor:job:list") |
| | | /* @RequiresPermissions("monitor:job:list")*/ |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(SysJob sysJob) |
| | | { |
| | |
| | | /** |
| | | * 导出定时任务列表 |
| | | */ |
| | | @RequiresPermissions("monitor:job:export") |
| | | /*@RequiresPermissions("monitor:job:export")*/ |
| | | @Log(title = "定时任务", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, SysJob sysJob) |
| | |
| | | /** |
| | | * 获取定时任务详细信息 |
| | | */ |
| | | @RequiresPermissions("monitor:job:query") |
| | | /*@RequiresPermissions("monitor:job:query")*/ |
| | | @GetMapping(value = "/{jobId}") |
| | | public AjaxResult getInfo(@PathVariable("jobId") Long jobId) |
| | | { |
| | |
| | | /** |
| | | * 新增定时任务 |
| | | */ |
| | | @RequiresPermissions("monitor:job:add") |
| | | /* @RequiresPermissions("monitor:job:add")*/ |
| | | @Log(title = "定时任务", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody SysJob job) throws SchedulerException, TaskException |
| | |
| | | /** |
| | | * 修改定时任务 |
| | | */ |
| | | @RequiresPermissions("monitor:job:edit") |
| | | /* @RequiresPermissions("monitor:job:edit")*/ |
| | | @Log(title = "定时任务", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody SysJob job) throws SchedulerException, TaskException |
| | |
| | | /** |
| | | * 定时任务状态修改 |
| | | */ |
| | | @RequiresPermissions("monitor:job:changeStatus") |
| | | /* @RequiresPermissions("monitor:job:changeStatus")*/ |
| | | @Log(title = "定时任务", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/changeStatus") |
| | | public AjaxResult changeStatus(@RequestBody SysJob job) throws SchedulerException |
| | |
| | | /** |
| | | * 定时任务立即执行一次 |
| | | */ |
| | | @RequiresPermissions("monitor:job:changeStatus") |
| | | /* @RequiresPermissions("monitor:job:changeStatus")*/ |
| | | @Log(title = "定时任务", businessType = BusinessType.UPDATE) |
| | | @PutMapping("/run") |
| | | public AjaxResult run(@RequestBody SysJob job) throws SchedulerException |
| | |
| | | /** |
| | | * 删除定时任务 |
| | | */ |
| | | @RequiresPermissions("monitor:job:remove") |
| | | /* @RequiresPermissions("monitor:job:remove")*/ |
| | | @Log(title = "定时任务", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{jobIds}") |
| | | public AjaxResult remove(@PathVariable Long[] jobIds) throws SchedulerException |
| | |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 工单同步Mapper接口 |
| | |
| | | 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(); |
| | | } |
| | |
| | | * @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(); |
| | | } |
| | |
| | | import java.util.List; |
| | | import com.aps.job.domain.ApsWorkOrderJob; |
| | | import com.aps.job.param.ApsWorkOrderJobParam; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | /** |
| | | * 工单同步Service接口 |
| | |
| | | |
| | | |
| | | void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param); |
| | | |
| | | void SyncWorkOrderByTime(); |
| | | |
| | | @Transactional |
| | | boolean batchSaveByPager(ApsWorkOrderJobParam param); |
| | | |
| | | @Transactional |
| | | void syncPartOrderData(); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 从U9获取工单工序信息 |
| | | * @param docNo |
| | | * @param docNos |
| | | * @return |
| | | */ |
| | | public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception; |
| | |
| | | * 同步工单工序数据 |
| | | */ |
| | | public void syncWorkOrderProcessData(); |
| | | |
| | | /** |
| | | * 插入工单工序数据到业务表 |
| | | */ |
| | | public void insertIntoApsProcessRoute(); |
| | | |
| | | /** |
| | | * 删除临时工序数据 |
| | | */ |
| | | public void deleteApsProcessRoute(); |
| | | } |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | * @author zhl |
| | | * @date 2025-04-17 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class ApsWorkOrderJobServiceImpl implements IApsWorkOrderJobService |
| | | { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 根据页码全量同步数据 |
| | | * */ |
| | | @Override |
| | | public void batchInsertApsWorkOrderJob(ApsWorkOrderJobParam param) { |
| | | |
| | |
| | | |
| | | } |
| | | } |
| | | /** |
| | | * 根据时间段每日更新,页面自动递增循环同步数据 |
| | | * */ |
| | | @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) { |
| | |
| | | return apsWorkOrderJobMapper.batchInsertApsWorkOrderJob(jobs); |
| | | } |
| | | |
| | | /** |
| | | * 同步零件工单信息 |
| | | * */ |
| | | @Transactional |
| | | @Override |
| | | public void syncPartOrderData() { |
| | | apsWorkOrderJobMapper.deleteAllPartPlan(); |
| | | apsWorkOrderJobMapper.batchInsertPartPlan(); |
| | | } |
| | | } |
| | |
| | | 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"))){ |
| | |
| | | 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")); |
| | |
| | | } |
| | | if(!nowDocNo.equals(process.getString("DocNo"))){ |
| | | //更新工单同步工序状态 |
| | | apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(nowDocNo); |
| | | docNos.remove(nowDocNo); |
| | | haveProcessDocNos.add(nowDocNo); |
| | | nowDocNo = process.getString("DocNo"); |
| | | } |
| | | } |
| | |
| | | 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"); |
| | |
| | | //分页查询工单 |
| | | 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(); |
| | | } |
| | | } |
| | |
| | | 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; |
| | | |
| | | /** |
| | | * 定时任务调度测试 |
| | |
| | | |
| | | @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)); |
| | |
| | | { |
| | | 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(); |
| | | } |
| | | } |
| | |
| | | </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> |
| | |
| | | </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> |