| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | 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.SaleMapper; |
| | | import com.yuanchu.mom.mapper.*; |
| | | import com.yuanchu.mom.pojo.*; |
| | | import com.yuanchu.mom.service.OrdersService; |
| | | import com.yuanchu.mom.utils.MyUtil; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | |
| | | @Resource |
| | | SaleMapper saleMapper; |
| | | |
| | | @Resource |
| | | SaleMaterialMapper saleMaterialMapper; |
| | | |
| | | @Resource |
| | | ManufactureOrderMapper manufactureOrderMapper; |
| | | |
| | | @Resource |
| | | ManualTechnologyMapper manualTechnologyMapper; |
| | | |
| | | @Resource |
| | | SpecificationsMapper specificationsMapper; |
| | | |
| | | @Resource |
| | | TechnologyMapper technologyMapper; |
| | | |
| | | |
| | | |
| | | //查询所有订单列表 |
| | | @Override |
| | | public IPage<Map<String, Object>> selectAllOrder(Page<Object> page, String orderCode, String name, Integer type , String time) { |
| | | return saleMapper.selectAllOrder(page, orderCode,name,type, time); |
| | | } |
| | | |
| | | //编制订单BOM |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void compile(Integer id) { |
| | | /*更改订单BOM的状态为已编制1*/ |
| | | SaleMaterial saleMaterial = saleMaterialMapper.selectById(id); |
| | | saleMaterial.setType(1); |
| | | saleMaterialMapper.updateById(saleMaterial); |
| | | /*新增生产订单+编制工序*/ |
| | | //查询订单信息 |
| | | Sale sale = saleMapper.selectById(saleMaterial.getSaleId()); |
| | | ManufactureOrder manufactureOrder = ManufactureOrder.builder() |
| | | .orderCode(sale.getOrderNumber()) |
| | | .customerCode(sale.getCode()) |
| | | .proname(sale.getProname()) |
| | | .saleman(sale.getSaleman()) |
| | | .name(saleMaterial.getName()) |
| | | .specifications(saleMaterial.getSpecifications()) |
| | | .unit(saleMaterial.getUnit()) |
| | | .number(saleMaterial.getNumber()) |
| | | .downtime(sale.getCreateTime()) |
| | | .deltime(sale.getDelTime()) |
| | | .qualityTraceability(MyUtil.getTimeSixNumberCode("GPT", "GPT")) |
| | | .downman(sale.getOrderName()) |
| | | .build(); |
| | | //新增生产订单 |
| | | manufactureOrderMapper.insert(manufactureOrder); |
| | | //查询产品的工序 |
| | | String[] split = manufactureOrder.getSpecifications().split("-"); |
| | | Specifications specifications = specificationsMapper.selectOne(Wrappers.<Specifications>query().eq("name", split[1])); |
| | | List<Technology> technologyList = technologyMapper.selectList(Wrappers.<Technology>query().eq("specifications_id", specifications.getId())); |
| | | for (Technology technology : technologyList) { |
| | | ManualTechnology manualTechnology = ManualTechnology.builder() |
| | | .techname(technology.getName()) |
| | | .techfather(technology.getFather()) |
| | | .deviceGroup(technology.getDeviceGroup()) |
| | | .manufactureOrderId(manufactureOrder.getId()) |
| | | .period((int) Math.ceil((double)manufactureOrder.getNumber()/technology.getProductionQuota())) |
| | | .build(); |
| | | //新增编制工序表 |
| | | manualTechnologyMapper.insert(manualTechnology); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |