basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
@@ -394,7 +394,7 @@ } processedFiles.add(fileHash); EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(productService)).sheet().doRead(); EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(capacityScopeService)).sheet().doRead(); } catch (IOException e) { // è¿éå¯ä»¥æ ¹æ®å®é æ åµè¿è¡æ´å®åçé误å¤çï¼æ¯å¦è®°å½æ¥å¿ç System.err.println("读åæä»¶æ¶åçé误: " + e.getMessage()); basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectListener.java
@@ -2,7 +2,7 @@ import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.ruoyi.basic.service.ProductService; import com.ruoyi.basic.service.CapacityScopeService; import java.util.ArrayList; import java.util.List; @@ -11,10 +11,10 @@ private static final int BATCH_COUNT = 1000; List<StructureTestObjectData> list = new ArrayList<>(); private ProductService productService; private CapacityScopeService capacityScopeService; public StructureTestObjectListener(ProductService productService) { this.productService = productService; public StructureTestObjectListener(CapacityScopeService capacityScopeService) { this.capacityScopeService = capacityScopeService; } @Override @@ -33,6 +33,6 @@ private void save() { productService.importPartExcel(list); capacityScopeService.importPartExcel(list); } } basic-server/src/main/java/com/ruoyi/basic/service/CapacityScopeService.java
@@ -6,6 +6,7 @@ import com.ruoyi.basic.dto.PageTestObjectDto; import com.ruoyi.basic.dto.TestItemDto; import com.ruoyi.basic.excel.StructureTestObjectData; import com.ruoyi.basic.pojo.StructureItemParameter; import com.ruoyi.basic.pojo.StructureTestObject; @@ -42,5 +43,7 @@ List<Map<String, Object>> getInsProduction(); List<TestItemDto> getItemTree(); void importPartExcel(List<StructureTestObjectData> list); } basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.basic.dto.ProductDTO1; import com.ruoyi.basic.dto.StructureTestObjectDto; import com.ruoyi.basic.excel.StructureTestObjectData; import com.ruoyi.basic.pojo.Product; import java.util.List; @@ -24,8 +23,6 @@ int upProduct(Product product); int delProduct(Integer id); void importPartExcel(List<StructureTestObjectData> list); int updateWorkShop(Integer productId, Integer workShopId, String name); basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
@@ -2,23 +2,28 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; 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.ruoyi.basic.excel.StructureTestObjectData; import com.ruoyi.basic.service.*; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.basic.dto.PageTestObjectDto; import com.ruoyi.basic.dto.TestItemDto; import com.ruoyi.basic.mapper.*; import com.ruoyi.basic.pojo.*; import com.ruoyi.basic.service.CapacityScopeService; import com.ruoyi.basic.service.StandardProductListService; import com.ruoyi.basic.service.StructureItemParameterService; import com.ruoyi.common.utils.StringUtils; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -39,6 +44,10 @@ private ProductMapper productMapper; private ProductService productService; private StructureTestObjectService structureTestObjectService; private StructureTestObjectPartMapper structureTestObjectPartMapper; private ProductPartMapper productPartMapper; @@ -49,6 +58,8 @@ private StructureItemParameterService structureItemParameterService; private WorkShopMapper workShopMapper; @Override public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) { return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter)); @@ -181,5 +192,132 @@ public List<TestItemDto> getItemTree() { return structureItemParameterMapper.getItemTree(); } @Transactional(rollbackFor = Exception.class) @Override public void importPartExcel(List<StructureTestObjectData> list) { // æ¹éæ¥è¯¢ StructureTestObject Map<String, StructureTestObject> structureTestObjectMap = getStructureTestObjectMap(list); // æ¹éæ¥è¯¢ WorkShop Map<String, WorkShop> workShopMap = getWorkShopMap(list); List<StructureTestObject> insertStructureTestObjects = new ArrayList<>(); List<StructureTestObject> updateStructureTestObjects = new ArrayList<>(); List<Product> insertProducts = new ArrayList<>(); List<Product> updateProducts = new ArrayList<>(); for (StructureTestObjectData data : list) { String key = data.getSpecimenName() + "_" + data.getSpecimenNameEn(); StructureTestObject structureTestObject = structureTestObjectMap.get(key); if (ObjectUtils.isEmpty(structureTestObject)) { structureTestObject = createStructureTestObject(data); insertStructureTestObjects.add(structureTestObject); } else { updateStructureTestObject(structureTestObject, data); updateStructureTestObjects.add(structureTestObject); } String productKey = data.getName() + "_" + data.getNameEn(); Product product = productMapper.selectOne(new LambdaQueryWrapper<Product>() .eq(Product::getName, data.getName()) .eq(Product::getNameEn, data.getNameEn())); if (ObjectUtils.isEmpty(product)) { product = createProduct(data, structureTestObject.getId(), workShopMap); insertProducts.add(product); } else { updateProduct(product, data, structureTestObject.getId(), workShopMap); updateProducts.add(product); } } // æ¹éæå ¥åæ´æ° if (!insertStructureTestObjects.isEmpty()) { structureTestObjectService.saveOrUpdateBatch(insertStructureTestObjects); } if (!updateStructureTestObjects.isEmpty()) { structureTestObjectService.updateBatchById(updateStructureTestObjects); } if (!insertProducts.isEmpty()) { productService.saveOrUpdateBatch(insertProducts); } if (!updateProducts.isEmpty()) { productService.updateBatchById(updateProducts); } } private Map<String, StructureTestObject> getStructureTestObjectMap(List<StructureTestObjectData> list) { List<String> specimenNames = list.stream().map(StructureTestObjectData::getSpecimenName).collect(Collectors.toList()); List<String> specimenNamesEn = list.stream().map(StructureTestObjectData::getSpecimenNameEn).collect(Collectors.toList()); List<StructureTestObject> structureTestObjects = structureTestObjectMapper.selectList(new LambdaQueryWrapper<StructureTestObject>() .in(StructureTestObject::getSpecimenName, specimenNames) .in(StructureTestObject::getSpecimenNameEn, specimenNamesEn)); Map<String, StructureTestObject> map = new HashMap<>(); for (StructureTestObject obj : structureTestObjects) { map.put(obj.getSpecimenName() + "_" + obj.getSpecimenNameEn(), obj); } return map; } private Map<String, WorkShop> getWorkShopMap(List<StructureTestObjectData> list) { List<String> workShopNames = list.stream() .map(StructureTestObjectData::getWorkShopName) .filter(StringUtils::isNotEmpty) .distinct() .collect(Collectors.toList()); List<WorkShop> workShops = workShopMapper.selectList(new LambdaQueryWrapper<WorkShop>() .in(WorkShop::getName, workShopNames)); Map<String, WorkShop> map = new HashMap<>(); for (WorkShop workShop : workShops) { map.put(workShop.getName(), workShop); } return map; } private StructureTestObject createStructureTestObject(StructureTestObjectData data) { StructureTestObject structureTestObject = new StructureTestObject(); structureTestObject.setLaboratoryId(9); structureTestObject.setSpecimenName(data.getSpecimenName()); structureTestObject.setSpecimenNameEn(data.getSpecimenNameEn()); structureTestObject.setCode(data.getCode()); structureTestObject.setWorkShopName(""); return structureTestObject; } private void updateStructureTestObject(StructureTestObject structureTestObject, StructureTestObjectData data) { structureTestObject.setCode(data.getCode()); structureTestObject.setLaboratoryId(9); } private Product createProduct(StructureTestObjectData data, Integer objectId, Map<String, WorkShop> workShopMap) { Product product = new Product(); product.setName(data.getName()); product.setNameEn(data.getNameEn()); if (StringUtils.isNotEmpty(data.getWorkShopName())) { WorkShop workShop = workShopMap.get(data.getWorkShopName()); if (workShop == null) { throw new BaseException("请å ç»´æ¤è½¦é´ä¿¡æ¯"); } product.setWorkShopId(workShop.getId()); } product.setWorkShopName(data.getWorkShopName()); product.setObjectId(objectId); return product; } private void updateProduct(Product product, StructureTestObjectData data, Integer objectId, Map<String, WorkShop> workShopMap) { if (StringUtils.isNotEmpty(data.getWorkShopName())) { WorkShop workShop = workShopMap.get(data.getWorkShopName()); if (workShop == null) { throw new BaseException("请å ç»´æ¤è½¦é´ä¿¡æ¯"); } product.setWorkShopId(workShop.getId()); } product.setWorkShopName(data.getWorkShopName()); product.setName(data.getName()); product.setNameEn(data.getNameEn()); product.setObjectId(objectId); } } basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -4,25 +4,20 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; 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.ruoyi.basic.dto.StructureTestObjectDto; import com.ruoyi.basic.mapper.*; import com.ruoyi.basic.service.*; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.basic.dto.ProductDTO1; import com.ruoyi.basic.excel.StructureTestObjectData; import com.ruoyi.basic.pojo.*; import com.ruoyi.common.utils.StringUtils; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author z1292 * @description é对表ãproduct(产å表)ãçæ°æ®åºæä½Serviceå®ç° @@ -34,8 +29,6 @@ implements ProductService{ private ProductMapper productMapper; private LaboratoryService laboratoryService; private StructureTestObjectMapper structureTestObjectMapper; @@ -129,91 +122,6 @@ .eq(ProductPart::getProductId, id)); return productMapper.deleteById(id); } @Transactional(rollbackFor = Exception.class) @Override public void importPartExcel(List<StructureTestObjectData> list) { list.forEach(i -> { // æ£éªå¯¹è±¡ StructureTestObject structureTestObject1 = structureTestObjectMapper.selectOne(Wrappers.<StructureTestObject>lambdaQuery() .eq(StructureTestObject::getSpecimenName, i.getSpecimenName()) .eq(StructureTestObject::getSpecimenNameEn, i.getSpecimenNameEn())); // Laboratory laboratory = laboratoryService.getOne(Wrappers.<Laboratory>lambdaQuery() // .eq(Laboratory::getId, i.getLaboratory())); // if (ObjectUtils.isEmpty(laboratory)) { // throw new BaseException("æªæ¾å°è¯¥åºæï¼" + i.getLaboratory() + "ï¼è¯·æ£æ¥æ¯å¦åå¨è¯¥åºæï¼"); // } // å¦æä¸ºç©ºè¿è¡æ°å¢ if (ObjectUtils.isEmpty(structureTestObject1)) { StructureTestObject structureTestObject = new StructureTestObject(); structureTestObject.setLaboratoryId(9); structureTestObject.setSpecimenName(i.getSpecimenName()); structureTestObject.setSpecimenNameEn(i.getSpecimenNameEn()); structureTestObject.setCode(i.getCode()); structureTestObject.setWorkShopName(""); structureTestObjectMapper.insert(structureTestObject); // 产å Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() .eq(Product::getName, i.getName()) .eq(Product::getNameEn, i.getNameEn())); if (ObjectUtils.isEmpty(product)) { Product product1 = new Product(); product1.setName(i.getName()); product1.setNameEn(i.getNameEn()); if (StringUtils.isNotEmpty(i.getWorkShopName())) { WorkShop workShop = workShopMapper.selectOne(Wrappers.<WorkShop>lambdaQuery().eq(WorkShop::getName, i.getWorkShopName())); if (workShop == null){ throw new BaseException("请å ç»´æ¤è½¦é´ä¿¡æ¯"); }else { product1.setWorkShopId(workShop.getId()); } } product1.setWorkShopName(i.getWorkShopName()); product1.setObjectId(structureTestObject.getId()); baseMapper.insert(product1); } } else { structureTestObject1.setCode(i.getCode()); structureTestObject1.setLaboratoryId(9); structureTestObjectMapper.updateById(structureTestObject1); // 产å Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery() .eq(Product::getName, i.getName()) .eq(Product::getNameEn, i.getNameEn())); if (ObjectUtils.isEmpty(product)) { Product product1 = new Product(); if (StringUtils.isNotEmpty(i.getWorkShopName())) { WorkShop workShop = workShopMapper.selectOne(Wrappers.<WorkShop>lambdaQuery().eq(WorkShop::getName, i.getWorkShopName())); if (workShop == null){ throw new BaseException("请å ç»´æ¤è½¦é´ä¿¡æ¯"); }else { product1.setWorkShopId(workShop.getId()); } } product1.setWorkShopName(i.getWorkShopName()); product1.setName(i.getName()); product1.setNameEn(i.getNameEn()); product1.setObjectId(structureTestObject1.getId()); baseMapper.insert(product1); } else { if (StringUtils.isNotEmpty(i.getWorkShopName())) { WorkShop workShop = workShopMapper.selectOne(Wrappers.<WorkShop>lambdaQuery().eq(WorkShop::getName, i.getWorkShopName())); if (workShop == null){ throw new BaseException("请å ç»´æ¤è½¦é´ä¿¡æ¯"); }else { product.setWorkShopId(workShop.getId()); } } product.setWorkShopName(i.getWorkShopName()); product.setName(i.getName()); product.setNameEn(i.getNameEn()); product.setObjectId(structureTestObject1.getId()); baseMapper.updateById(product); } } }); } @Override inspect-server/src/main/java/com/ruoyi/inspect/controller/InspectionPurchasedController.java
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; /** * <p> @@ -26,7 +27,7 @@ @ApiOperation("æ¥è¯¢å表") @GetMapping("/selectInspection") public Result selectInspectionPurchased(Page page, InspectionPurchasedDto inspectionPurchasedDto) { return Result.success(inspectionPurchasedService.selectInspectionPurchased(page,inspectionPurchasedDto)); return Result.success(inspectionPurchasedService.selectInspectionPurchased(page, inspectionPurchasedDto)); } @ApiOperation(value = "æ·»å å¤è´ä»¶æ£éªæ°æ®") @@ -36,9 +37,12 @@ } @ApiOperation(value = "æ´æ°æäº¤å¤è´ä»¶æ£éªæ°æ®") @PostMapping("/UpdateInspection") public Result<?> UpdateInspection(InspectionPurchasedDto inspectionPurchasedDto) throws Exception { return Result.success(inspectionPurchasedService.UpdateInspection(inspectionPurchasedDto)); @PostMapping("/updateInspection") public Result<?> updateInspection(@RequestParam("id") Integer id, @RequestParam(value = "file", required = false) MultipartFile file, @RequestParam("inspectionItems") String inspectionItems, @RequestParam("result") String result) throws Exception { return Result.success(inspectionPurchasedService.updateInspection(file, id, inspectionItems, result)); } @ApiOperation(value = "å é¤å¤è´ä»¶æ£éª") inspect-server/src/main/java/com/ruoyi/inspect/controller/ReliabilityPlanMaterialController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package com.ruoyi.inspect.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.inspect.dto.ReliabilityPlanMaterialDto; import com.ruoyi.inspect.service.ReliabilityPlanMaterialService; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; /** * <p> * å¯é æ§è®¡ååè¾ æ å端æ§å¶å¨ * </p> * * @author ld * @since 2025-03-26 02:24:43 */ @RestController @AllArgsConstructor @RequestMapping("/reliabilityPlanMaterial") public class ReliabilityPlanMaterialController { private ReliabilityPlanMaterialService reliabilityPlanMaterialService; @ApiOperation("æ¥è¯¢å¯é æ§è®¡åæå") @GetMapping("/selectMaterial") public Result selectMaterial(Page page, ReliabilityPlanMaterialDto reliabilityPlanMaterialDto) { return Result.success(reliabilityPlanMaterialService.selectMaterial(page,reliabilityPlanMaterialDto)); } @ApiOperation(value = "æ·»å å¯é æ§è®¡åæå") @PostMapping("/addOrUpdateMaterial") public Result<?> addOrUpdateMaterial(@RequestBody ReliabilityPlanMaterialDto reliabilityPlanMaterialDto) { return Result.success(reliabilityPlanMaterialService.addOrUpdateMaterial(reliabilityPlanMaterialDto)); } @ApiOperation(value = "å é¤å¯é æ§è®¡åæå") @DeleteMapping("/delMaterial") public Result<?> delMaterial(Integer id) { return Result.success(reliabilityPlanMaterialService.delMaterial(id)); } } inspect-server/src/main/java/com/ruoyi/inspect/controller/ReliabilityPlanProductController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ package com.ruoyi.inspect.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.Result; import com.ruoyi.inspect.dto.ReliabilityPlanProductDto; import com.ruoyi.inspect.service.ReliabilityPlanProductService; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; /** * <p> * å¯é æ§è®¡åæå å端æ§å¶å¨ * </p> * * @author ld * @since 2025-03-26 01:54:17 */ @RestController @AllArgsConstructor @RequestMapping("/reliabilityPlanProduct") public class ReliabilityPlanProductController { private ReliabilityPlanProductService reliabilityPlanProductService; @ApiOperation("æ¥è¯¢å¯é æ§è®¡åæå") @GetMapping("/selectProduct") public Result selectProduct(Page page, ReliabilityPlanProductDto reliabilityPlanProductDto) { return Result.success(reliabilityPlanProductService.selectProduct(page,reliabilityPlanProductDto)); } @ApiOperation(value = "æ·»å å¯é æ§è®¡åæå") @PostMapping("/addOrUpdateProduct") public Result<?> addOrUpdateProduct(@RequestBody ReliabilityPlanProductDto reliabilityPlanProductDto) { return Result.success(reliabilityPlanProductService.addOrUpdateProduct(reliabilityPlanProductDto)); } @ApiOperation(value = "å é¤å¯é æ§è®¡åæå") @DeleteMapping("/delProduct") public Result<?> delProduct(Integer id) { return Result.success(reliabilityPlanProductService.delProduct(id)); } } inspect-server/src/main/java/com/ruoyi/inspect/dto/ReliabilityPlanMaterialDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.ReliabilityPlanMaterial; import lombok.Data; @Data public class ReliabilityPlanMaterialDto extends ReliabilityPlanMaterial { } inspect-server/src/main/java/com/ruoyi/inspect/dto/ReliabilityPlanProductDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package com.ruoyi.inspect.dto; import com.ruoyi.inspect.pojo.ReliabilityPlanProduct; import lombok.Data; @Data public class ReliabilityPlanProductDto extends ReliabilityPlanProduct { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/ReliabilityPlanMaterialMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.inspect.mapper; import com.ruoyi.inspect.pojo.ReliabilityPlanMaterial; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * å¯é æ§è®¡ååè¾ æ Mapper æ¥å£ * </p> * * @author ld * @since 2025-03-26 02:24:43 */ public interface ReliabilityPlanMaterialMapper extends BaseMapper<ReliabilityPlanMaterial> { } inspect-server/src/main/java/com/ruoyi/inspect/mapper/ReliabilityPlanProductMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.inspect.mapper; import com.ruoyi.inspect.pojo.ReliabilityPlanProduct; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * <p> * å¯é æ§è®¡åæå Mapper æ¥å£ * </p> * * @author ld * @since 2025-03-26 02:17:45 */ public interface ReliabilityPlanProductMapper extends BaseMapper<ReliabilityPlanProduct> { } inspect-server/src/main/java/com/ruoyi/inspect/pojo/InspectionPurchased.java
@@ -43,9 +43,9 @@ @ApiModelProperty("å§æç¼å·") private String entrustmentNo; @ApiModelProperty("é»è¾ç¶æ") @TableLogic private String state; // @ApiModelProperty("é»è¾ç¶æ") // @TableLogic // private String state; @ApiModelProperty("æ£éªç¶æ") private String inspectionStatus; inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanMaterial.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * <p> * å¯é æ§è®¡ååè¾ æ * </p> * * @author ld * @since 2025-03-26 02:24:43 */ @Data @TableName("reliability_plan_material") @ApiModel(value = "ReliabilityPlanMaterial对象", description = "å¯é æ§è®¡ååè¾ æ") public class ReliabilityPlanMaterial implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("åè¾ æåç§°") private String materialName; @ApiModelProperty("é¶ä»¶å·") private String partNo; @ApiModelProperty("å®¡æ ¸ç¶æ") private String state; @ApiModelProperty("æ¯å¦éè¿") private String isPass; @ApiModelProperty("å®¡æ ¸äººid") private Integer reviewerId; @ApiModelProperty("å®¡æ ¸äºº") private String reviewer; } inspect-server/src/main/java/com/ruoyi/inspect/pojo/ReliabilityPlanProduct.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,49 @@ package com.ruoyi.inspect.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * å¯é æ§è®¡åæå * </p> * * @author ld * @since 2025-03-26 02:17:45 */ @Getter @Setter @TableName("reliability_plan_product") @ApiModel(value = "ReliabilityPlanProduct对象", description = "å¯é æ§è®¡åæå") public class ReliabilityPlanProduct implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("产ååç§°") private String productName; @ApiModelProperty("产ååå·") private String productType; @ApiModelProperty("é¶ä»¶å·") private String partNo; @ApiModelProperty("å®¡æ ¸ç¶æ") private String state; @ApiModelProperty("æ¯å¦éè¿") private String isPass; @ApiModelProperty("å®¡æ ¸äººid") private Integer reviewerId; @ApiModelProperty("å®¡æ ¸äºº") private String reviewer; } inspect-server/src/main/java/com/ruoyi/inspect/service/InspectionPurchasedService.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.dto.InspectionPurchasedDto; import com.ruoyi.inspect.pojo.InspectionPurchased; import org.springframework.web.multipart.MultipartFile; /** * <p> @@ -22,5 +23,5 @@ IPage<InspectionPurchasedDto> selectInspectionPurchased(Page page, InspectionPurchasedDto inspectionPurchasedDto); int UpdateInspection(InspectionPurchasedDto inspectionPurchasedDto) throws Exception; int updateInspection(MultipartFile file,Integer id,String inspectionItems,String result) throws Exception; } inspect-server/src/main/java/com/ruoyi/inspect/service/ReliabilityPlanMaterialService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.inspect.dto.ReliabilityPlanMaterialDto; import com.ruoyi.inspect.pojo.ReliabilityPlanMaterial; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * å¯é æ§è®¡ååè¾ æ æå¡ç±» * </p> * * @author ld * @since 2025-03-26 02:24:43 */ public interface ReliabilityPlanMaterialService extends IService<ReliabilityPlanMaterial> { IPage<ReliabilityPlanMaterial> selectMaterial(Page page, ReliabilityPlanMaterialDto reliabilityPlanMaterialDto); int addOrUpdateMaterial(ReliabilityPlanMaterialDto reliabilityPlanMaterialDto); int delMaterial(Integer id); } inspect-server/src/main/java/com/ruoyi/inspect/service/ReliabilityPlanProductService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.ruoyi.inspect.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.inspect.dto.ReliabilityPlanProductDto; import com.ruoyi.inspect.pojo.ReliabilityPlanProduct; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * å¯é æ§è®¡åæå æå¡ç±» * </p> * * @author ld * @since 2025-03-26 01:54:17 */ public interface ReliabilityPlanProductService extends IService<ReliabilityPlanProduct> { IPage<ReliabilityPlanProduct> selectProduct(Page page, ReliabilityPlanProductDto reliabilityPlanProductDto); int addOrUpdateProduct(ReliabilityPlanProductDto reliabilityPlanProductDto); int delProduct(Integer id); } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InspectionPurchasedServiceImpl.java
@@ -5,17 +5,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.MinioResult; import com.ruoyi.common.numgen.NumberGenerator; import com.ruoyi.common.utils.LimsDateUtil; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.file.MinioUtils; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.inspect.dto.InspectionPurchasedDto; import com.ruoyi.inspect.mapper.InspectionPurchasedMapper; import com.ruoyi.inspect.pojo.InspectionPurchased; import com.ruoyi.inspect.service.InspectionPurchasedService; import lombok.RequiredArgsConstructor; import lombok.Setter; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.time.LocalDateTime; /** * <p> @@ -26,13 +30,15 @@ * @since 2025-03-25 11:22:56 */ @Service @RequiredArgsConstructor @Setter public class InspectionPurchasedServiceImpl extends ServiceImpl<InspectionPurchasedMapper, InspectionPurchased> implements InspectionPurchasedService { @Resource private InspectionPurchasedMapper inspectionPurchasedMapper; private final InspectionPurchasedMapper inspectionPurchasedMapper; @Resource private MinioUtils minioUtils; private final MinioUtils minioUtils; private final NumberGenerator<InspectionPurchased> numberGenerator; @Value("${minio.bucketName}") private String bucketName; @@ -41,7 +47,11 @@ public int addOrUpdateInspection(InspectionPurchasedDto inspectionPurchasedDto) { if (inspectionPurchasedDto.getId() == null) { inspectionPurchasedDto.setInspectionStatus(String.valueOf(0)); //å§æç¼å·è§åæ¯JCZX/SP+W+å¹´æ+åºå· String no = numberGenerator.generateNumberWithPrefix(3, "JCZX/SP-" + "W" + LimsDateUtil.resetDate(LocalDateTime.now()), InspectionPurchased::getEntrustmentNo); inspectionPurchasedDto.setEntrustmentNo(no); return inspectionPurchasedMapper.insert(inspectionPurchasedDto); } else { return inspectionPurchasedMapper.updateById(inspectionPurchasedDto); @@ -59,11 +69,14 @@ } @Override public int UpdateInspection(InspectionPurchasedDto inspectionPurchasedDto) throws Exception { int insertResult = 0; InspectionPurchased inspectionPurchased = inspectionPurchasedMapper.selectById(inspectionPurchasedDto.getId()); if (ObjectUtils.isNotEmpty(inspectionPurchasedDto.getFile())) { if (ObjectUtils.isNotEmpty(inspectionPurchased.getFileUrl())){ public int updateInspection(MultipartFile file, Integer id, String inspectionItems, String result) throws Exception { InspectionPurchased inspectionPurchased = inspectionPurchasedMapper.selectById(id); inspectionPurchased.setInspectionStatus(String.valueOf(2)); inspectionPurchased.setInspectionItems(inspectionItems); inspectionPurchased.setResult(result); // æ£æ¥æä»¶æ¯å¦åå¨ if (file != null && !ObjectUtils.isEmpty(file)) { if (ObjectUtils.isNotEmpty(inspectionPurchased.getFileUrl())) { if (inspectionPurchased != null && inspectionPurchased.getFileUrl() != null) { // æ£æ¥ MinIO 䏿件æ¯å¦åå¨ if (minioUtils.objectExists(bucketName, inspectionPurchased.getFileUrl())) { @@ -73,23 +86,18 @@ } } try { String contentType = inspectionPurchasedDto.getFile().getContentType(); String contentType = file.getContentType(); String category = contentType != null && contentType.startsWith("image/") ? "images" : "docs"; MinioResult upload = minioUtils.upload(bucketName, inspectionPurchasedDto.getFile(), true); MinioResult upload = minioUtils.upload(bucketName, file, true); // è®°å½åå¨è·¯å¾ inspectionPurchased.setFileUrl(upload.getBucketFileName()); inspectionPurchased.setFilePreviewUrl(upload.getPreviewExpiry()); inspectionPurchased.setType(category.equals("images") ? 1 : 2); // æ°æ®åºæä½ insertResult = inspectionPurchasedMapper.updateById(inspectionPurchased); if (insertResult <= 0) { throw new ErrorException("æ°æ®åºæå ¥å¤±è´¥"); } return insertResult; inspectionPurchased.setFileName(upload.getOriginalName()); } catch (Exception e) { throw new Exception("ç³»ç»å¼å¸¸: ", e); } } return insertResult; return inspectionPurchasedMapper.updateById(inspectionPurchased); } } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanMaterialServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ package com.ruoyi.inspect.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.inspect.dto.ReliabilityPlanMaterialDto; import com.ruoyi.inspect.pojo.ReliabilityPlanMaterial; import com.ruoyi.inspect.mapper.ReliabilityPlanMaterialMapper; import com.ruoyi.inspect.service.ReliabilityPlanMaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.Objects; /** * <p> * å¯é æ§è®¡ååè¾ æ æå¡å®ç°ç±» * </p> * * @author ld * @since 2025-03-26 02:24:43 */ @Service @AllArgsConstructor public class ReliabilityPlanMaterialServiceImpl extends ServiceImpl<ReliabilityPlanMaterialMapper, ReliabilityPlanMaterial> implements ReliabilityPlanMaterialService { private ReliabilityPlanMaterialMapper reliabilityPlanMaterialMapper; @Override public IPage<ReliabilityPlanMaterial> selectMaterial(Page page, ReliabilityPlanMaterialDto reliabilityPlanMaterialDto) { return reliabilityPlanMaterialMapper.selectPage(page, QueryWrappers.queryWrappers(reliabilityPlanMaterialDto)); } @Override public int addOrUpdateMaterial(ReliabilityPlanMaterialDto reliabilityPlanMaterialDto) { if (Objects.isNull(reliabilityPlanMaterialDto.getId())) { reliabilityPlanMaterialDto.setState(null); return reliabilityPlanMaterialMapper.insert(reliabilityPlanMaterialDto); } else { //1å·²å®¡æ ¸ if (!StringUtils.isNotBlank(reliabilityPlanMaterialDto.getState())) { reliabilityPlanMaterialDto.setState(null); } return reliabilityPlanMaterialMapper.updateById(reliabilityPlanMaterialDto); } } @Override public int delMaterial(Integer id) { return reliabilityPlanMaterialMapper.deleteById(id); } } inspect-server/src/main/java/com/ruoyi/inspect/service/impl/ReliabilityPlanProductServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ package com.ruoyi.inspect.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.inspect.dto.ReliabilityPlanProductDto; import com.ruoyi.inspect.pojo.ReliabilityPlanProduct; import com.ruoyi.inspect.mapper.ReliabilityPlanProductMapper; import com.ruoyi.inspect.service.ReliabilityPlanProductService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.Objects; /** * <p> * å¯é æ§è®¡åæå æå¡å®ç°ç±» * </p> * * @author ld * @since 2025-03-26 01:54:17 */ @Service @AllArgsConstructor public class ReliabilityPlanProductServiceImpl extends ServiceImpl<ReliabilityPlanProductMapper, ReliabilityPlanProduct> implements ReliabilityPlanProductService { private ReliabilityPlanProductMapper reliabilityPlanProductMapper; @Override public IPage<ReliabilityPlanProduct> selectProduct(Page page, ReliabilityPlanProductDto reliabilityPlanProductDto) { return reliabilityPlanProductMapper.selectPage(page, QueryWrappers.queryWrappers(reliabilityPlanProductDto)); } @Override public int addOrUpdateProduct(ReliabilityPlanProductDto reliabilityPlanProductDto) { if (Objects.isNull(reliabilityPlanProductDto.getId())) { reliabilityPlanProductDto.setState(null); return reliabilityPlanProductMapper.insert(reliabilityPlanProductDto); } else { //1å·²å®¡æ ¸ if (!StringUtils.isNotBlank(reliabilityPlanProductDto.getState())) { reliabilityPlanProductDto.setState(null); } return reliabilityPlanProductMapper.updateById(reliabilityPlanProductDto); } } @Override public int delProduct(Integer id) { return reliabilityPlanProductMapper.deleteById(id); } } inspect-server/src/main/resources/mapper/ReliabilityPlanMaterialMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.inspect.mapper.ReliabilityPlanMaterialMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.ReliabilityPlanMaterial"> <id column="id" property="id" /> <result column="material_name" property="materialName" /> <result column="part_no" property="partNo" /> <result column="state" property="state" /> <result column="is_pass" property="isPass" /> <result column="reviewer_id" property="reviewerId" /> <result column="reviewer" property="reviewer" /> </resultMap> </mapper> inspect-server/src/main/resources/mapper/ReliabilityPlanProductMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.inspect.mapper.ReliabilityPlanProductMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.ruoyi.inspect.pojo.ReliabilityPlanProduct"> <id column="id" property="id" /> <result column="product_name" property="productName" /> <result column="product_type" property="productType" /> <result column="part_no" property="partNo" /> <result column="state" property="state" /> <result column="is_pass" property="isPass" /> <result column="reviewer_id" property="reviewerId" /> <result column="reviewer" property="reviewer" /> </resultMap> </mapper> ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -122,7 +122,7 @@ </insert> <select id="selectDictValue" resultType="java.lang.String"> select dict_label from sys_dict_data select dict_value from sys_dict_data where dict_type = #{dictType} and dict_label = #{dictLabel} </select> </mapper>