|
|
|
@ -1,11 +1,12 @@
|
|
|
|
|
package com.op.quality.service.impl;
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.text.ParseException;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.time.Duration;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.time.LocalTime;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
|
|
import java.util.concurrent.LinkedBlockingQueue;
|
|
|
|
|
import java.util.concurrent.ThreadPoolExecutor;
|
|
|
|
@ -243,6 +244,16 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**qc_check_task**/
|
|
|
|
|
if("LJ01".equals(qcCheckTaskProduce.getProductType())){
|
|
|
|
|
//正常
|
|
|
|
|
qcCheckTaskProduce.setProductType("a");
|
|
|
|
|
}else if("LJ02".equals(qcCheckTaskProduce.getProductType())){
|
|
|
|
|
//返修
|
|
|
|
|
qcCheckTaskProduce.setProductType("b");
|
|
|
|
|
}else if("LJ04".equals(qcCheckTaskProduce.getProductType())){
|
|
|
|
|
//试产
|
|
|
|
|
qcCheckTaskProduce.setProductType("c");
|
|
|
|
|
}
|
|
|
|
|
qcCheckTaskProduceMapper.insertQcCheckTaskProduce(qcCheckTaskProduce);
|
|
|
|
|
|
|
|
|
|
/**qc_check_task_detail**/
|
|
|
|
@ -382,23 +393,34 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
|
|
|
|
|
DynamicDataSourceContextHolder.push(poolName);// 这是数据源的key
|
|
|
|
|
ProOrderWorkorderDTO qoWork = new ProOrderWorkorderDTO();
|
|
|
|
|
qoWork.setStatus("w2");
|
|
|
|
|
List<QcCheckTaskProduce> works = qcCheckTaskProduceMapper.getOrderWorks(qoWork);
|
|
|
|
|
for(QcCheckTaskProduce productTask:works){
|
|
|
|
|
//活动中
|
|
|
|
|
List<QcCheckTaskProduce> w2works = qcCheckTaskProduceMapper.getOrderWorksW2(qoWork);
|
|
|
|
|
for(QcCheckTaskProduce productTask:w2works){
|
|
|
|
|
productTask.setCheckType("checkTypeSCXJ");//过程检验-巡检
|
|
|
|
|
productTask.setOrderNo(productTask.getWorkorderCode());
|
|
|
|
|
Date nowTime = DateUtils.getNowDate();
|
|
|
|
|
Date startTime = productTask.getCreateTime();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取最新一条巡检数据
|
|
|
|
|
QcCheckTaskProduce lastXJ = qcCheckTaskProduceMapper.getLastXJTask(productTask);
|
|
|
|
|
if(lastXJ != null ){
|
|
|
|
|
productTask.setProductType(lastXJ.getProductType());
|
|
|
|
|
productTask.setConfirmManCode(lastXJ.getConfirmManCode());
|
|
|
|
|
productTask.setConfirmManName(lastXJ.getConfirmManName());
|
|
|
|
|
productTask.setCreateTime(lastXJ.getCreateTime());
|
|
|
|
|
}
|
|
|
|
|
Date nowTime = DateUtils.getNowDate();
|
|
|
|
|
Date startTime = productTask.getCreateTime();
|
|
|
|
|
LocalTime startTime0 = LocalTime.parse("11:30");
|
|
|
|
|
LocalTime endTime0 = LocalTime.parse("12:30");
|
|
|
|
|
LocalTime currentTime = LocalTime.now();
|
|
|
|
|
|
|
|
|
|
if (!currentTime.isAfter(startTime0.minusSeconds(1)) && !currentTime.isBefore(endTime0.plusSeconds(1))) {
|
|
|
|
|
if (currentTime.isAfter(startTime0.minusSeconds(1)) && currentTime.isBefore(endTime0.plusSeconds(1))) {
|
|
|
|
|
// 当前时间在11:30到12:30之间,不执行任务
|
|
|
|
|
logger.info("++++++++++++过程检验巡检任务生成午间休息++++++++++++++");
|
|
|
|
|
} else {
|
|
|
|
|
long mins = DateUtil.between(startTime, nowTime, DateUnit.MINUTE);
|
|
|
|
|
long mins = 60L;
|
|
|
|
|
if(startTime != null){
|
|
|
|
|
mins = DateUtil.between(startTime, nowTime, DateUnit.MINUTE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(mins>=60){
|
|
|
|
|
int m = insertQcCheckTaskProduce(productTask);
|
|
|
|
@ -408,4 +430,16 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
|
|
|
|
|
}
|
|
|
|
|
logger.info("++++++++++++" + poolName + "++++过程检验巡检结束++++++++++");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void main(String args[]) throws ParseException {
|
|
|
|
|
LocalDateTime start = LocalDateTime.of(2024, 4, 2, 23, 58);
|
|
|
|
|
LocalDateTime end = LocalDateTime.of(2024, 4, 3, 0, 30);
|
|
|
|
|
|
|
|
|
|
System.out.println("相差的分钟数: " + Duration.between(start, end).toMinutes() + "分钟");
|
|
|
|
|
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
Date start1 = dateFormat.parse("2024-04-02 23:45:30");
|
|
|
|
|
Date end1 = dateFormat.parse("2024-04-03 00:05:30");
|
|
|
|
|
System.out.println(DateUtil.between(start1, end1, DateUnit.MINUTE));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|