| | |
| | | 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; |
| | |
| | | @Autowired |
| | | private ManufactureSchedulingService manufactureSchedulingService; |
| | | |
| | | @Autowired |
| | | private ManufactureOrderProcessService manufactureOrderProcessService; |
| | | |
| | | @ApiOperation(value = "二级树") |
| | | @GetMapping("/tow_tree") |
| | |
| | | @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("更新成功!"); |
| | | } |
| | |
| | | * 排产==>更新 |
| | | */ |
| | | void output(ManualTechnologyDto manualTechnologyDto) throws ParseException; |
| | | |
| | | /** |
| | | * 查看排产详情-->失焦修改时间 |
| | | * @param startTime 开始时间 |
| | | * @return |
| | | */ |
| | | Integer updateTime(Integer technologyId, String startTime); |
| | | } |
| | | |
| | |
| | | public interface ManufactureOrderProcessService extends IService<ManufactureOrderProcess> { |
| | | |
| | | void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate); |
| | | |
| | | /** |
| | | * 查看排产详情-->失焦修改时间 |
| | | * @param startTime 开始时间 |
| | | * @return |
| | | */ |
| | | Integer updateTime(Integer technologyId, Integer schedulingId, String startTime); |
| | | } |
| | |
| | | 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.*; |
| | |
| | | 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; |
| | |
| | | import java.text.DateFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | |
| | | @Resource |
| | | ManufactureOrderMapper manufactureOrderMapper; |
| | | |
| | | @Autowired |
| | | private TechnologyService technologyService; |
| | | |
| | | @Autowired |
| | | private ManufactureSchedulingService manufactureSchedulingService; |
| | |
| | | |
| | | // 更新订单的已排产数量 |
| | | 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; |
| | | } |
| | | |
| | | // 根据排产数量计算工艺周期 |
| | |
| | | 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> |
| | |
| | | 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); |
| | | } |
| | | } |
| | |
| | | </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` |
| | |
| | | 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); |
| | | |
| | | } |
| | | } |