| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.ManualTechnologyMapper; |
| | | import com.yuanchu.mom.mapper.ManufactureOrderMapper; |
| | | import com.yuanchu.mom.pojo.ManufactureOrder; |
| | | import com.yuanchu.mom.pojo.ManufactureScheduling; |
| | | import com.yuanchu.mom.service.ManufactureOrderService; |
| | | import com.yuanchu.mom.service.ManufactureSchedulingService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | |
| | | @Resource |
| | | ManufactureOrderMapper manufactureOrderMapper; |
| | | |
| | | @Resource |
| | | ManualTechnologyMapper manualTechnologyMapper; |
| | | |
| | | @Autowired |
| | | private ManufactureSchedulingService manufactureSchedulingService; |
| | | |
| | | //查询生产订单的列表 |
| | | @Override |
| | | public IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type) { |
| | | return manufactureOrderMapper.selectAllManord(page,downTime,delTime,customerCode,type); |
| | | } |
| | | |
| | | //查看排产详情 |
| | | @Override |
| | | public Map<String, Object> sePros(Integer schedulingId) { |
| | | //基本信息 |
| | | Map<String, Object> manufactureOrder = manufactureSchedulingService.sePros(schedulingId); |
| | | //计划编制 |
| | | List<Map<String, Object>> mapList = manualTechnologyMapper.selectListTowTree(schedulingId); |
| | | manufactureOrder.put("message",mapList); |
| | | return manufactureOrder; |
| | | } |
| | | |
| | | //下达 |
| | | @Override |
| | | public void down(Integer manufactureOrderId, Integer schedulingId) { |
| | | // 先更新排产 |
| | | LambdaUpdateWrapper<ManufactureScheduling> updateWrapperScheduling = Wrappers.<ManufactureScheduling>lambdaUpdate() |
| | | .eq(ManufactureScheduling::getId, schedulingId) |
| | | .set(ManufactureScheduling::getGoState, 1); |
| | | manufactureSchedulingService.update(updateWrapperScheduling); |
| | | |
| | | |
| | | // 然后更新订单表的状态 |
| | | LambdaQueryWrapper<ManufactureScheduling> queryWrapper = Wrappers.<ManufactureScheduling>lambdaQuery() |
| | | .eq(ManufactureScheduling::getManufactureOrderId, manufactureOrderId) |
| | | .select(ManufactureScheduling::getGoState); |
| | | List<ManufactureScheduling> list = manufactureSchedulingService.list(queryWrapper); |
| | | boolean goStateAll = false; |
| | | for (int i = 0; i <= list.size() - 1; i++){ |
| | | if (list.get(i).getGoState() == 0) { |
| | | goStateAll = true; |
| | | break; |
| | | } |
| | | } |
| | | LambdaUpdateWrapper<ManufactureOrder> updateWrapperOrder = new LambdaUpdateWrapper<>(); |
| | | updateWrapperOrder.eq(ManufactureOrder::getId, manufactureOrderId); |
| | | // 如果排产表中有一个是待下达,那么订单表中就为待下达 |
| | | if (goStateAll){ |
| | | // 待下达 |
| | | updateWrapperOrder.set(ManufactureOrder::getGoState, 0); |
| | | } else { |
| | | // 已下达 |
| | | updateWrapperOrder.set(ManufactureOrder::getGoState, 1); |
| | | } |
| | | manufactureOrderMapper.update(new ManufactureOrder(), updateWrapperOrder); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteManufacture(List<String> manOrdId) { |
| | | manufactureOrderMapper.deleteManufacture(manOrdId); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> towTree() { |
| | | return manufactureOrderMapper.towTree(); |
| | | } |
| | | |
| | | @Override |
| | | public Integer checkScheduled(Integer manOrdId, Integer schedulingNumber) { |
| | | LambdaQueryWrapper<ManufactureOrder> queryWrapper = Wrappers.<ManufactureOrder>lambdaQuery() |
| | | .eq(ManufactureOrder::getId, manOrdId) |
| | | .eq(ManufactureOrder::getState, 1) |
| | | .select(ManufactureOrder::getNumber, ManufactureOrder::getScheduledProduction); |
| | | ManufactureOrder manufactureOrder = manufactureOrderMapper.selectOne(queryWrapper); |
| | | if (ObjectUtils.isEmpty(manufactureOrder.getScheduledProduction())){ |
| | | manufactureOrder.setScheduledProduction(0); |
| | | } |
| | | return manufactureOrder.getNumber() - (manufactureOrder.getScheduledProduction() + schedulingNumber); |
| | | } |
| | | } |
| | | |