src/main/java/com/ruoyi/basic/service/CustomerFollowUpFileService.java
@@ -35,4 +35,6 @@ @NotNull BiConsumer<T, List<SimpleFileVo>> setAttachmentList ); SimpleFileVo getSimpleFileVoById(@Nullable Long id); } src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.ruoyi.basic.mapper.CustomerFollowUpFileMapper; import com.ruoyi.basic.pojo.CustomerFollowUp; import com.ruoyi.basic.pojo.CustomerFollowUpFile; import com.ruoyi.basic.service.CustomerFollowUpFileService; import com.ruoyi.basic.service.CustomerFollowUpService; @@ -74,4 +75,16 @@ } }); } @Override public SimpleFileVo getSimpleFileVoById(Long id) { if(id == null){ return new SimpleFileVo(); } List<CustomerFollowUpFile> followUpFilesByIds = customerFollowUpService.getFollowUpFilesByIds(Lists.newArrayList(id)); if(CollUtil.isEmpty(followUpFilesByIds)){ return new SimpleFileVo(); } return SimpleFileVo.convert(followUpFilesByIds.get(0)); } } src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java
@@ -1,14 +1,12 @@ package com.ruoyi.production.controller; import com.ruoyi.framework.web.domain.R; import com.ruoyi.production.dto.SaveProductionPrintOrderDto; import com.ruoyi.production.pojo.ProductionPrintOrder; import com.ruoyi.production.service.ProductionPrintOrderService; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; /** * @author buhuazhen @@ -24,8 +22,15 @@ private final ProductionPrintOrderService productionPrintOrderService; @PostMapping("/save") public void save(@RequestBody SaveProductionPrintOrderDto dto){ public R save(@RequestBody SaveProductionPrintOrderDto dto){ productionPrintOrderService.save(dto); return R.ok(); } @PostMapping("/getByProductWordId/{id}") public ProductionPrintOrder getByProductWordId(@PathVariable Long id){ return productionPrintOrderService.getByProductWordId(id); } } src/main/java/com/ruoyi/production/dto/ProcessContentDto.java
@@ -20,7 +20,7 @@ public class ProcessContentDto implements Serializable { private String id; private Long processId; // 工序id private String processContent; // 工艺加工内容 private String processName; // 工艺加工内容 private String openCount; // 开数 private String processPositive; // 工艺正数 private String allowanceQty; // 加放数 src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.production.dto; import com.ruoyi.common.vo.SimpleFileVo; import com.ruoyi.production.pojo.ProductionPrintOrder; import lombok.AllArgsConstructor; import lombok.Data; @@ -18,6 +19,6 @@ @AllArgsConstructor @NoArgsConstructor public class ProductionPrintOrderDto extends ProductionPrintOrder implements Serializable { private String xxx; private SimpleFileVo cuttingFileVo; } src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java
@@ -244,4 +244,16 @@ */ @TableField(value = "product_model_id") private Long productModelId; /** * 切料图示文件id */ @TableField(value = "cutting_file_id") private Long cuttingFileId; /** * 客户单位 */ @TableField(value = "client_name") private String clientName; } src/main/java/com/ruoyi/production/service/ProductionPrintOrderService.java
@@ -1,5 +1,6 @@ package com.ruoyi.production.service; import com.ruoyi.production.dto.ProductionPrintOrderDto; import com.ruoyi.production.dto.SaveProductionPrintOrderDto; import com.ruoyi.production.pojo.ProductionPrintOrder; import com.baomidou.mybatisplus.extension.service.IService; @@ -17,5 +18,10 @@ */ void save(SaveProductionPrintOrderDto dto); /** * 根据订单ID 查询 * @param id 订单 * @return */ ProductionPrintOrderDto getByProductWordId(Long id); } src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java
@@ -3,10 +3,13 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.service.CustomerFollowUpFileService; import com.ruoyi.dto.SimplePersonDto; import com.ruoyi.production.dto.ProcessContentDto; import com.ruoyi.production.dto.ProcessRouteAnticlockwiseDto; import com.ruoyi.production.dto.ProductionPrintOrderDto; import com.ruoyi.production.dto.SaveProductionPrintOrderDto; import com.ruoyi.production.mapper.ProductOrderMapper; import com.ruoyi.production.mapper.ProductionPrintOrderMapper; @@ -34,6 +37,8 @@ private final ProductOrderMapper productOrderMapper; private final ProcessRouteServiceImpl processRouteService; private final CustomerFollowUpFileService customerFollowUpFileService; @Override @Transactional public void save(SaveProductionPrintOrderDto dto) { @@ -50,7 +55,7 @@ List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos = processContentDtoList.stream().map(it -> { ProcessRouteAnticlockwiseDto pdto = new ProcessRouteAnticlockwiseDto(); pdto.setProcessId(it.getProcessId()); pdto.setProcessRouteName(it.getProcessContent()); pdto.setProcessRouteName(it.getProcessName()); pdto.setProcessRouteOpenNum(it.getOpenCount()); pdto.setProcessRouteNum(it.getProcessPositive()); pdto.setProcessRouteAddNum(it.getProcessPositive()); @@ -58,18 +63,34 @@ pdto.setProductModelId(dto.getProductModelId()); pdto.setUserIds(it.getReportWorkerList().stream().map(SimplePersonDto::getUserName).collect(Collectors.joining(","))); pdto.setDeviceId(it.getDeviceId()); pdto.setUuid(it.getId()); return pdto; }).collect(Collectors.toList()); processRouteService.processRouteAnticlockwise(processRouteAnticlockwiseDtos,dto.getProductModelId(),dto.getProductOrderId()); // 生成备注 备注由全部工序名称来 组成 String remark = processContentDtoList.stream().map(ProcessContentDto::getProcessContent).collect(Collectors.joining("、")); String remark = processContentDtoList.stream().map(ProcessContentDto::getProcessName).collect(Collectors.joining("、")); ProductOrder productOrder = new ProductOrder(); productOrder.setId(dto.getProductOrderId()); productOrder.setRemark(remark); productOrderMapper.updateById(productOrder); int i = dto.getId() == null ? productionPrintOrderMapper.insert(productionPrintOrder) : productionPrintOrderMapper.updateById(productionPrintOrder); } @Override public ProductionPrintOrderDto getByProductWordId(Long id) { LambdaQueryWrapper<ProductionPrintOrder> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ProductionPrintOrder::getProductOrderId, id); queryWrapper.orderByDesc(ProductionPrintOrder::getCreateTime); queryWrapper.last("limit 1"); ProductionPrintOrder productionPrintOrder = productionPrintOrderMapper.selectOne(queryWrapper); ProductionPrintOrderDto productionPrintOrderDto = BeanUtil.copyProperties(productionPrintOrder, ProductionPrintOrderDto.class); // 获取附件信息 productionPrintOrderDto.setCuttingFileVo(customerFollowUpFileService.getSimpleFileVoById(productionPrintOrderDto.getCuttingFileId())); return productionPrintOrderDto; } }