XiaoRuby
2023-09-01 0a44f2ea664d893503246a232646f2593a738460
MOM系统-9-01 生产订单 生产计划完成
已修改7个文件
100 ■■■■ 文件已修改
production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
@@ -1,6 +1,7 @@
package com.yuanchu.mom.controller;
import com.yuanchu.mom.service.ManualTechnologyService;
import com.yuanchu.mom.service.ManufactureOrderProcessService;
import com.yuanchu.mom.service.ManufactureOrderService;
import com.yuanchu.mom.service.ManufactureSchedulingService;
import com.yuanchu.mom.vo.Result;
@@ -27,6 +28,8 @@
    @Autowired
    private ManufactureSchedulingService manufactureSchedulingService;
    @Autowired
    private ManufactureOrderProcessService manufactureOrderProcessService;
    @ApiOperation(value = "二级树")
    @GetMapping("/tow_tree")
@@ -60,11 +63,12 @@
    @ApiOperation(value = "查看排产详情-->失焦修改时间")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "technologyId", value = "工序Id", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "startTime", value = "开始时间", dataTypeClass = String.class, required = true, dataType = "date"),
            @ApiImplicitParam(name = "schedulingId", value = "排产Id", dataTypeClass = Integer.class, required = true),
            @ApiImplicitParam(name = "startTime", value = "开始时间", dataTypeClass = String.class, required = true, dataType = "date")
    })
    @GetMapping("/update_time")
    public Result<?> updateTime(Integer technologyId, String startTime) {
        Integer isUpdateSuccess = manualTechnologyService.updateTime(technologyId, startTime);
    public Result<?> updateTime(Integer technologyId, Integer schedulingId, String startTime) {
        Integer isUpdateSuccess = manufactureOrderProcessService.updateTime(technologyId, schedulingId, startTime);
        if (isUpdateSuccess >= 1) {
            return Result.success("更新成功!");
        }
production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java
@@ -28,12 +28,5 @@
     * 排产==>更新
     */
    void output(ManualTechnologyDto manualTechnologyDto) throws ParseException;
    /**
     * 查看排产详情-->失焦修改时间
     * @param startTime 开始时间
     * @return
     */
    Integer updateTime(Integer technologyId, String startTime);
}
production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java
@@ -16,4 +16,11 @@
public interface ManufactureOrderProcessService extends IService<ManufactureOrderProcess> {
    void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate);
    /**
     * 查看排产详情-->失焦修改时间
     * @param startTime 开始时间
     * @return
     */
    Integer updateTime(Integer technologyId, Integer schedulingId, String startTime);
}
production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java
@@ -1,13 +1,11 @@
package com.yuanchu.mom.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.mapper.DeviceMapper;
import com.yuanchu.mom.mapper.ManualTechnologyMapper;
import com.yuanchu.mom.mapper.ManufactureOrderMapper;
import com.yuanchu.mom.pojo.*;
@@ -16,7 +14,6 @@
import com.yuanchu.mom.service.ManualTechnologyService;
import com.yuanchu.mom.service.ManufactureOrderProcessService;
import com.yuanchu.mom.service.ManufactureSchedulingService;
import com.yuanchu.mom.service.TechnologyService;
import com.yuanchu.mom.utils.MyUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -27,7 +24,6 @@
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@@ -45,9 +41,6 @@
    @Resource
    ManufactureOrderMapper manufactureOrderMapper;
    @Autowired
    private TechnologyService technologyService;
    @Autowired
    private ManufactureSchedulingService manufactureSchedulingService;
@@ -97,19 +90,6 @@
        // 更新订单的已排产数量
        manufactureOrderMapper.updateManufacture(manualTechnologyDto.getManOrdId(), manualTechnologyDto.getSchedulingNumber());
    }
    @Override
    public Integer updateTime(Integer technologyId, String startTime) {
//        // Hutool 工具类计算间隔小时
//        DateTime startTime1 = DateUtil.parse(startTime);
//        DateTime endTime1 = DateUtil.parse(endTime);
//        long between = DateUtil.between(startTime1, endTime1, DateUnit.HOUR);
//        // 更新
//        LambdaUpdateWrapper<ManualTechnology> updateWrapper = Wrappers.<ManualTechnology>lambdaUpdate()
//                .eq(ManualTechnology::getId, technologyId);
//        return manualTechnologyMapper.update(new ManualTechnology(), updateWrapper);
        return null;
    }
    // 根据排产数量计算工艺周期
production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java
@@ -1,13 +1,19 @@
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>
@@ -27,4 +33,33 @@
    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);
    }
}
production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml
@@ -30,7 +30,7 @@
    </select>
    <select id="sePros" resultType="map">
        SELECT s.`scheduled`, o.`order_code`, o.`customer_code`, o.`name`, o.`specifications`, o.`unit`,
        SELECT o.`id`, s.`scheduled`, o.`order_code`, o.`customer_code`, o.`name`, o.`specifications`, o.`unit`,
               DATE_FORMAT(o.`downTime`, '%Y-%m-%d') downTime, DATE_FORMAT(o.`delTime`, '%Y-%m-%d') delTime
        FROM manufacture_scheduling s, manufacture_order o
        WHERE s.`manufacture_order_id` = o.`id`
system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -1,28 +1,13 @@
package com.yuanchu.mom;
import com.yuanchu.mom.mapper.ManualTechnologyMapper;
import com.yuanchu.mom.pojo.ManualTechnology;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
@SpringBootTest
class SystemRunApplicationTest {
    @Resource
    private ManualTechnologyMapper manualTechnologyMapper;
    @Test
    void contextLoads() {
        ManualTechnology manualTechnology = new ManualTechnology()
                .setTechname("tets")
                .setTechfather("test")
                .setDeviceGroup("grop")
                .setDeviceId(1)
                .setTechnologyId(2)
                .setManufactureOrderId(1)
                .setSchedulingNumber(12);
        manualTechnologyMapper.insert(manualTechnology);
    }
}