| src/main/java/com/ruoyi/quality/controller/RawMaterialController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/dto/RawMaterialDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/dto/RawMaterialQualityInspectItemDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/pojo/RawMaterial.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/pojo/RawMaterialQualityInspectItem.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/service/RawMaterialService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/static/report-template.docx | 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
@@ -4,11 +4,14 @@ import com.ruoyi.common.enums.RawMaterialInspectState; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.quality.dto.RawMaterialDto; import com.ruoyi.quality.pojo.QualityInspect; import com.ruoyi.quality.pojo.RawMaterial; import com.ruoyi.quality.service.RawMaterialService; import com.ruoyi.staff.pojo.StaffOnJob; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -90,4 +93,17 @@ public AjaxResult delete(@RequestBody List<Integer> ids) { return AjaxResult.success(rawMaterialService.removeByIds(ids)); } /** * 导åºåææ°æ® */ @PostMapping("/export") public void export(HttpServletResponse response, RawMaterialDto rawMaterialDto) { rawMaterialService.export(response, rawMaterialDto); } @PostMapping("/down") public void down(HttpServletResponse response,@RequestBody RawMaterialDto rawMaterialDto) { rawMaterialService.down(response, rawMaterialDto); } } src/main/java/com/ruoyi/quality/dto/RawMaterialDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.quality.dto; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import com.ruoyi.inspectiontask.pojo.QualityInspectItem; import com.ruoyi.quality.pojo.RawMaterial; import io.swagger.annotations.ApiModel; @@ -42,9 +43,11 @@ private List<QualityInspectItem> qualityInspectItem; @ApiModelProperty("产ååç§°") @Excel(name = "产ååç§°") private String productName; @ApiModelProperty("è§æ ¼åå·") @Excel(name = "è§æ ¼åå·") private String model; @ApiModelProperty("产åid") src/main/java/com/ruoyi/quality/dto/RawMaterialQualityInspectItemDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package com.ruoyi.quality.dto; import com.ruoyi.quality.pojo.RawMaterialQualityInspectItem; import lombok.Data; @Data public class RawMaterialQualityInspectItemDto extends RawMaterialQualityInspectItem { /** * 项ç®åç§° */ private String name; /** * åä½ */ private String unit; /** * æ åå¼ */ private String standardValue; /** * å æ§å¼ */ private String internalControl; } src/main/java/com/ruoyi/quality/pojo/RawMaterial.java
@@ -36,18 +36,23 @@ private Long productModelId; @ApiModelProperty("æ¹æ¬¡å·") @Excel(name = "æ¹æ¬¡å·") private String batchNo; @ApiModelProperty("æ£éªç±»å 0å ¥åºæ£ 1è½¦é´æ£ 2åºåæ£") @ApiModelProperty("æ£éªç±»å 0å ¥åæ£ 1è½¦é´æ£ 2åºåæ£") @Excel(name = "æ£éªç±»å", readConverterExp = "0=å ¥åæ£,1=è½¦é´æ£,2=åºåæ£") private Integer checkType; @ApiModelProperty("æ£éªç»æ 0åæ ¼ 1ä¸åæ ¼") @Excel(name = "æ£éªç»æ", readConverterExp = "0=åæ ¼,1=ä¸åæ ¼") private Integer checkResult; @ApiModelProperty("ç±»å«(0:æªæäº¤;1:å·²æäº¤)") @Excel(name = "æäº¤ç¶æ", readConverterExp = "0=æªæäº¤,1=å·²æäº¤") private Integer inspectState; @ApiModelProperty("æ£éªååç§°") @Excel(name = "æ£éªå") private String checkUserName; @ApiModelProperty("æ£éªæ¥æ") src/main/java/com/ruoyi/quality/pojo/RawMaterialQualityInspectItem.java
@@ -44,4 +44,7 @@ @ApiModelProperty("æ´æ°æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; @TableField(select = false, exist = false) private Integer index; } src/main/java/com/ruoyi/quality/service/RawMaterialService.java
@@ -6,6 +6,8 @@ import com.ruoyi.quality.dto.RawMaterialDto; import com.ruoyi.quality.pojo.RawMaterial; import javax.servlet.http.HttpServletResponse; /** * <p> * æå¡ç±» @@ -22,4 +24,8 @@ boolean add(RawMaterialDto rawMaterialDto); boolean update(RawMaterialDto rawMaterialDto); void export(HttpServletResponse response, RawMaterialDto rawMaterialDto); void down(HttpServletResponse response, RawMaterialDto rawMaterialDto); } src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.ruoyi.basic.mapper.ProductMapper; import com.ruoyi.basic.mapper.ProductModelMapper; import com.ruoyi.basic.pojo.Product; @@ -11,11 +13,16 @@ import com.ruoyi.common.enums.RawMaterialCheckResult; import com.ruoyi.common.enums.RawMaterialCheckType; import com.ruoyi.common.enums.RawMaterialInspectState; import com.ruoyi.common.utils.HackLoopTableRenderPolicy; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.inspectiontask.mapper.QualityInspectItemMapper; import com.ruoyi.inspectiontask.pojo.QualityInspectItem; import com.ruoyi.quality.dto.RawMaterialDto; import com.ruoyi.quality.dto.RawMaterialQualityInspectItemDto; import com.ruoyi.quality.mapper.RawMaterialMapper; import com.ruoyi.quality.pojo.QualityInspect; import com.ruoyi.quality.pojo.QualityInspectParam; import com.ruoyi.quality.pojo.RawMaterial; import com.ruoyi.quality.pojo.RawMaterialQualityInspectItem; import com.ruoyi.quality.service.RawMaterialQualityInspectItemService; @@ -25,6 +32,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; @@ -208,4 +219,72 @@ return true; } @Override public void export(HttpServletResponse response, RawMaterialDto rawMaterialDto) { List<RawMaterialDto> rawMaterials = rawMaterialMapper.listPage(new Page<>(1, Integer.MAX_VALUE), rawMaterialDto).getRecords(); ExcelUtil<RawMaterialDto> util = new ExcelUtil<RawMaterialDto>(RawMaterialDto.class); util.exportExcel(response, rawMaterials, "åææ£éªå¯¼åº"); } @Override public void down(HttpServletResponse response, RawMaterialDto rawMaterialDto) { RawMaterial rawMaterial = rawMaterialMapper.selectById(rawMaterialDto.getId()); // è·å产ååå·ä¿¡æ¯ ProductModel productModel = productModelMapper.selectById(rawMaterial.getProductModelId()); Product product = productMapper.selectById(productModel.getProductId()); RawMaterialDto inspect = new RawMaterialDto(); BeanUtils.copyProperties(rawMaterial, inspect); inspect.setModel(productModel.getModel()); inspect.setProductName(product.getProductName()); inspect.setCheckTypeText(RawMaterialCheckType.fromValue(rawMaterial.getCheckType()) == null ? "" : RawMaterialCheckType.fromValue(rawMaterial.getCheckType()).getValue()); inspect.setCheckResultText(RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()) == null ? "" : RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()).getValue()); List<RawMaterialQualityInspectItem> paramList = rawMaterialQualityInspectItemService.list( new LambdaQueryWrapper<RawMaterialQualityInspectItem>() .eq(RawMaterialQualityInspectItem::getRawMaterialId, rawMaterialDto.getId()) ); List<RawMaterialQualityInspectItemDto> inspectItems = new ArrayList<>(); int index = 1; for (RawMaterialQualityInspectItem item : paramList) { RawMaterialQualityInspectItemDto dto = new RawMaterialQualityInspectItemDto(); BeanUtils.copyProperties(item, dto); QualityInspectItem qualityInspectItem = qualityInspectItemMapper.selectById(item.getQualityInspectItemId()); dto.setName(qualityInspectItem.getName()); dto.setUnit(qualityInspectItem.getUnit()); dto.setStandardValue(qualityInspectItem.getStandardValue()); dto.setInternalControl(qualityInspectItem.getInternalControl()); dto.setIndex(index); inspectItems.add(dto); index++; } InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx"); Configure configure = Configure.builder() .bind("paramList", new HackLoopTableRenderPolicy()) .build(); XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( new HashMap<String, Object>() {{ put("inspect", inspect); put("paramList", inspectItems); }}); try { response.setContentType("application/msword"); String fileName = URLEncoder.encode( "æ£éªæ¥å", "UTF-8"); response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".docx"); OutputStream os = response.getOutputStream(); template.write(os); os.flush(); os.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("导åºå¤±è´¥"); } } } src/main/resources/static/report-template.docxBinary files differ