package com.yuanchu.mom.service.impl;
|
|
import cn.hutool.core.date.DateUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.yuanchu.mom.pojo.ManufactureOrderProcess;
|
import com.yuanchu.mom.mapper.ManufactureOrderProcessMapper;
|
import com.yuanchu.mom.service.ManufactureOrderProcessService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.yuanchu.mom.utils.MyUtil;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 排产对应工序 服务实现类
|
* </p>
|
*
|
* @author 江苏鵷雏网络科技有限公司
|
* @since 2023-08-31 02:46:48
|
*/
|
@Service
|
public class ManufactureOrderProcessServiceImpl extends ServiceImpl<ManufactureOrderProcessMapper, ManufactureOrderProcess> implements ManufactureOrderProcessService {
|
|
@Resource
|
private ManufactureOrderProcessMapper manufactureOrderProcessMapper;
|
|
@Override
|
public void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate) {
|
manufactureOrderProcessMapper.insertBatchSomeColumn(manufactureOrderProcessesDate);
|
}
|
|
@Override
|
public Integer updateTime(Integer technologyId, Integer schedulingId, String startTime) {
|
// // Hutool 工具类计算间隔小时
|
Date startTime1 = DateUtil.parse(startTime);
|
// 根据排产Id查询所有对应的工序数据
|
LambdaQueryWrapper<ManufactureOrderProcess> queryWrapper = Wrappers.<ManufactureOrderProcess>lambdaQuery()
|
.eq(ManufactureOrderProcess::getManufactureSchedulingId, schedulingId)
|
.select(ManufactureOrderProcess::getId, ManufactureOrderProcess::getPeriod);
|
List<ManufactureOrderProcess> list = manufactureOrderProcessMapper.selectList(queryWrapper);
|
|
//
|
for (int i = 0; i < list.size(); i++) {
|
if (Objects.equals(list.get(i).getId(), technologyId)){
|
list.get(i).setStartTime(startTime1);
|
list.get(i).setEndTime(DateUtil.offsetDay(startTime1, list.get(i).getPeriod()));
|
for (int j = i + 1; j < list.size(); j++) {
|
// 获取上一个工序的结束时间,并且在此基础上加一天
|
list.get(j).setStartTime(DateUtil.offsetDay(list.get(j - 1).getEndTime(), 1));
|
// 获取第j个位置的周期,周期与开始时间相加
|
list.get(j).setEndTime(DateUtil.offsetDay(list.get(j).getStartTime(), list.get(j).getPeriod()));
|
}
|
break;
|
}
|
}
|
MyUtil.PrintLog(list.toString());
|
return null;
|
// return manufactureOrderProcessMapper.updateTime(list);
|
}
|
}
|