basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.dto.ProductDto; import com.ruoyi.basic.dto.StructureTestObjectDto; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.system.service.ISysDictTypeService; @@ -24,6 +26,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -61,7 +64,7 @@ @ApiOperation(value = "è·åé¡¹ç®æ£éªåæ°å表") @GetMapping("/selectItemParameterList") public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) { public Result selectItemParameterList(Page page, StructureItemParameter itemParameter) { return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter)); } @@ -85,7 +88,7 @@ @ApiOperation(value = "è·åæ£éªå¯¹è±¡") @GetMapping("/selectTestObjectList") public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) { public Result selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) { return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto)); } @@ -121,7 +124,7 @@ @ApiOperation(value = "ç»´æ¤æ£éªå¯¹è±¡ç产å") @GetMapping("/selectProductListByObjectId") public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) { public Result selectProductListByObjectId(Page page, ProductDTO1 productDTO) { return Result.success(productService.selectProductListByObjectId(page, productDTO)); } @@ -382,18 +385,32 @@ @ApiOperation(value = "å¯¼å ¥æ£éªå¯¹è±¡") @PostMapping("/importExcel") public Result importExcel(@RequestParam("file") MultipartFile file) { try { public Result importExcel(@RequestParam("file") MultipartFile file){ List<String> processedFiles = new ArrayList<>(); try (InputStream inputStream = file.getInputStream()) { String fileHash = DigestUtils.md5Hex(inputStream); if (processedFiles.contains(fileHash)) { return Result.success(); // å·²å¤çè¿çæä»¶ç´æ¥è·³è¿ } processedFiles.add(fileHash); EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(productService)).sheet().doRead(); } catch (IOException e) { e.printStackTrace(); // è¿éå¯ä»¥æ ¹æ®å®é æ åµè¿è¡æ´å®åçé误å¤çï¼æ¯å¦è®°å½æ¥å¿ç System.err.println("读åæä»¶æ¶åçé误: " + e.getMessage()); } return Result.success(); } @ApiOperation(value = "æ´æ°è½¦é´") @ApiOperation(value = "æ´æ°äº§å车é´") @PostMapping("/updateWorkShop") public Result updateWorkShop(Integer productId,Integer workShopId,String name) { return Result.success(productService.updateWorkShop(productId,workShopId,name)); public Result updateWorkShop(@RequestBody ProductDto productDto) { return Result.success(productService.updateWorkShop(productDto.getId(), productDto.getWorkShopId(), productDto.getWorkShopName())); } @ApiOperation(value = "æ´æ°æ£æµå¯¹è±¡è½¦é´") @PostMapping("/updateObjectWorkShop") public Result updateObjectWorkShop(@RequestBody StructureTestObjectDto structureTestObjectDto) { return Result.success(productService.updateObjectWorkShop(structureTestObjectDto)); } } basic-server/src/main/java/com/ruoyi/basic/controller/ProductPartController.java
@@ -1,6 +1,7 @@ package com.ruoyi.basic.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.dto.ProductPartDto; import com.ruoyi.common.core.domain.Result; import com.ruoyi.basic.pojo.ProductPart; import com.ruoyi.basic.service.ProductPartService; @@ -37,6 +38,13 @@ return Result.success(); } @ApiOperation(value = "产åé¶ä»¶å¤æ ¸") @PostMapping("/productPartReview") public Result productPartReview(@RequestBody ProductPartDto productPartDto) { productPartService.productPartReviewById(productPartDto); return Result.success(); } @ApiOperation(value = "å é¤äº§åé¶ä»¶") @DeleteMapping("/deleteProductPart") public Result deleteProductPart(Integer id) { @@ -44,4 +52,16 @@ return Result.success(); } @ApiOperation(value = "æåè¿åæ£éªé¡¹") @GetMapping("/inspectionItems") public Result inspectionItems(String sample,String productName){ return Result.success(productPartService.inspectionItems(sample,productName)); } @ApiOperation(value = "产åé¶ä»¶æ¥å¿æ¥è¯¢") @GetMapping("/productPartLogList") public Result productPartLogList(Page page,Integer id){ return Result.success(productPartService.productPartLogList(page,id)); } } basic-server/src/main/java/com/ruoyi/basic/controller/StructureTestObjectPartController.java
@@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.dto.StructureTestObjectPartDto; import com.ruoyi.common.core.domain.Result; import com.ruoyi.basic.pojo.StructureTestObjectPart; import com.ruoyi.basic.service.StructureTestObjectPartService; @@ -38,6 +39,13 @@ return Result.success(); } @ApiOperation(value = "æ£éªå¯¹è±¡é¶ä»¶å¤æ ¸") @PostMapping("/testObjectPartReview") public Result testObjectPartReview(@RequestBody StructureTestObjectPartDto structureTestObjectPartDto) { structureTestObjectPartService.testObjectPartReview(structureTestObjectPartDto); return Result.success(); } @ApiOperation(value = "æ´æ°æ£éªå¯¹è±¡é¶ä»¶") @PostMapping("/updateTestObjectPart") public Result updateTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) { basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java
@@ -1,5 +1,6 @@ package com.ruoyi.basic.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.basic.pojo.StructureTestObject; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -22,4 +23,8 @@ @ApiModelProperty(value = "é¶ä»¶å·") private String partNo; @ApiModelProperty(value = "æ£éªå¯¹è±¡") @TableField(exist = false) private String sample; } basic-server/src/main/java/com/ruoyi/basic/dto/ProductPartDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.ruoyi.basic.dto; import lombok.Data; @Data public class ProductPartDto { private Integer id; } basic-server/src/main/java/com/ruoyi/basic/dto/StructureTestObjectDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package com.ruoyi.basic.dto; import lombok.Data; @Data public class StructureTestObjectDto { private Integer id; private String name; private Integer workShopId; private String workShopName; } basic-server/src/main/java/com/ruoyi/basic/dto/StructureTestObjectPartDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.ruoyi.basic.dto; import lombok.Data; @Data public class StructureTestObjectPartDto { private Integer id; } basic-server/src/main/java/com/ruoyi/basic/dto/WorkShopDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,6 @@ package com.ruoyi.basic.dto; import com.ruoyi.basic.pojo.WorkShop; public class WorkShopDto extends WorkShop { } basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java
@@ -1,6 +1,7 @@ package com.ruoyi.basic.excel; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @@ -22,4 +23,13 @@ @ExcelProperty(value = "产ååç§°(EN)") private String nameEn; @ExcelProperty(value = "对象类å") private String objectType; @ExcelProperty(value = "车é´åç§°id") private Integer workShopId; @ExcelProperty(value = "车é´åç§°") private String workShopName; } basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartLogMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.ruoyi.basic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.basic.pojo.ProductPartLog; public interface ProductPartLogMapper extends BaseMapper<ProductPartLog> { } basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartMapper.java
@@ -3,11 +3,19 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.pojo.ProductPart; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; public interface ProductPartMapper extends BaseMapper<ProductPart> { IPage<ProductPart> selectListByProductId(IPage<ProductPart> page, @Param("ew") QueryWrapper<ProductPart> ew, @Param("productId") Integer productId); @Param("ew") QueryWrapper<ProductPart> ew, @Param("productId") Integer productId); List<Map<String, Object>> inspectionItems(@Param("name") String name); IPage<Map<String, Object>> productPartLogList(@Param("page") Page page,@Param("id") Integer id); } basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java
@@ -16,7 +16,7 @@ */ public interface StructureTestObjectMapper extends BaseMapper<StructureTestObject> { IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew, @Param("partNo") String partNo); IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew, @Param("specimenName") String specimenName); } basic-server/src/main/java/com/ruoyi/basic/mapper/WorkShopFileMapper.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopFileMapper.java ÐÞ¸Ä @@ -1,7 +1,8 @@ package com.ruoyi.inspect.mapper; package com.ruoyi.basic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.WorkShopFile; import com.ruoyi.basic.pojo.WorkShopFile; /** * æ£éªåä¸çéä»¶å表 Mapper æ¥å£ basic-server/src/main/java/com/ruoyi/basic/mapper/WorkShopMapper.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopMapper.java ÐÞ¸Ä @@ -1,7 +1,8 @@ package com.ruoyi.inspect.mapper; package com.ruoyi.basic.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.inspect.pojo.WorkShop; import com.ruoyi.basic.pojo.WorkShop; /** * @description é对表ãwork_shop(车é´åç§°)ãçæ°æ®åºæä½Mapper basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPart.java
@@ -27,6 +27,12 @@ @ApiModelProperty("è²æ ") private String colorCode; @ApiModelProperty("æåè¿åæ£éªé¡¹") private String inspectionItem; @ApiModelProperty("æ¯å¦å·²å¤æ ¸") private String review; @ApiModelProperty(value = "å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @@ -46,4 +52,7 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; @ApiModelProperty("æ£éªé¡¹å°ç±»") private String inspectionItemSubclass; } basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPartLog.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,57 @@ package com.ruoyi.basic.pojo; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; import java.time.LocalDateTime; /** * 产åé¶ä»¶å·æ¥å¿è¡¨(ProductPartLog)å®ä½ç±» * * @author makejava * @since 2025-03-19 13:47:10 */ @Data @TableName("product_part_log") public class ProductPartLog implements Serializable { private Integer id; /** * é¶ä»¶å· */ @ApiModelProperty("产åé¶ä»¶å·id") private Integer productPartId; /** * æä½äººå */ @ApiModelProperty("æä½äººå") private String operName; /** * æä½äººå */ @ApiModelProperty("æä½äººåid") private Integer operId; /** * æä½æ¶é´ */ private LocalDateTime operTime; @ApiModelProperty("é¶ä»¶å·") private String partNo; @ApiModelProperty("é¢è²") private String color; @ApiModelProperty("è²æ ") private String colorCode; @ApiModelProperty("æåè¿åæ£éªé¡¹") private String inspectionItem; @ApiModelProperty("æ¯å¦å·²å¤æ ¸") private String review; } basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java
@@ -58,6 +58,16 @@ @ApiModelProperty(value = "对象类å") private String objectType; /** * å¤é®ï¼work_shop表id */ @ApiModelProperty(value = "车é´id") private Integer workShopId; /** * 车é´å */ @ApiModelProperty(value = "车é´åç§°") private String workShopName; } basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObjectPart.java
@@ -33,6 +33,12 @@ @ApiModelProperty("è²æ ") private String colorCode; @ApiModelProperty("æåè¿åæ£éªé¡¹") private String inspectionItem; @ApiModelProperty("æ¯å¦å·²å¤æ ¸") private String review; @ApiModelProperty(value = "å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; basic-server/src/main/java/com/ruoyi/basic/pojo/WorkShop.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShop.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.ruoyi.inspect.pojo; package com.ruoyi.basic.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -21,7 +21,7 @@ */ @ApiModelProperty(value = "主é®id") @TableId(type = IdType.AUTO) private Long id; private Integer id; /** * ç¼å· basic-server/src/main/java/com/ruoyi/basic/pojo/WorkShopFile.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShopFile.java ÐÞ¸Ä @@ -1,4 +1,4 @@ package com.ruoyi.inspect.pojo; package com.ruoyi.basic.pojo; import com.baomidou.mybatisplus.annotation.*; import io.swagger.annotations.ApiModel; basic-server/src/main/java/com/ruoyi/basic/service/ProductPartLogService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.ruoyi.basic.service; /** * 产åé¶ä»¶å·æ¥å¿è¡¨(ProductPartLog)表æå¡æ¥å£ * * @author makejava * @since 2025-03-19 13:47:10 */ public interface ProductPartLogService { } basic-server/src/main/java/com/ruoyi/basic/service/ProductPartService.java
@@ -1,8 +1,14 @@ package com.ruoyi.basic.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.basic.dto.ProductPartDto; import com.ruoyi.basic.pojo.ProductPart; import com.ruoyi.basic.pojo.ProductPartLog; import java.util.List; import java.util.Map; public interface ProductPartService extends IService<ProductPart> { @@ -10,5 +16,11 @@ void addProductPart(ProductPart productPart); void updateProductPartById(ProductPart productPart); int updateProductPartById(ProductPart productPart); List<Map<String, Object>> inspectionItems(String sample,String productName); int productPartReviewById(ProductPartDto productPartDto); IPage<ProductPartLog> productPartLogList(Page page, Integer id); } basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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; @@ -27,4 +28,6 @@ void importPartExcel(List<StructureTestObjectData> list); int updateWorkShop(Integer productId, Integer workShopId, String name); int updateObjectWorkShop(StructureTestObjectDto structureTestObjectDto); } basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectPartService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.basic.dto.StructureTestObjectPartDto; import com.ruoyi.basic.pojo.StructureTestObjectPart; /** @@ -18,5 +19,7 @@ void addTestObjectPart(StructureTestObjectPart structureTestObjectPart); void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart); int testObjectPartReview(StructureTestObjectPartDto structureTestObjectPartDto); } basic-server/src/main/java/com/ruoyi/basic/service/WorkShopFileService.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopFileService.java ÐÞ¸Ä @@ -1,7 +1,8 @@ package com.ruoyi.inspect.service; package com.ruoyi.basic.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.pojo.WorkShopFile; import com.ruoyi.basic.pojo.WorkShopFile; /** * @description é对表ãwork_shop_file(车é´åç§°)ãçæ°æ®åºæä½Service basic-server/src/main/java/com/ruoyi/basic/service/WorkShopService.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopService.java ÐÞ¸Ä @@ -1,10 +1,11 @@ package com.ruoyi.inspect.service; package com.ruoyi.basic.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.inspect.dto.WorkShopDto; import com.ruoyi.inspect.pojo.WorkShop; import com.ruoyi.basic.dto.WorkShopDto; import com.ruoyi.basic.pojo.WorkShop; import org.springframework.web.multipart.MultipartFile; /** basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
@@ -51,12 +51,12 @@ @Override public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) { return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter)); return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter)); } @Override public int addItemParameter(StructureItemParameter itemParameter) { if (itemParameter.getBsm().equals("")||itemParameter.getBsm()==null){ if (itemParameter.getBsm().equals("") || itemParameter.getBsm() == null) { itemParameter.setBsm("0"); } int insert = structureItemParameterMapper.insert(itemParameter); @@ -75,15 +75,15 @@ @Override public IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) { String partNo = pageTestObjectDto.getPartNo(); pageTestObjectDto.setPartNo(null); return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto),partNo); String specimenName = pageTestObjectDto.getSample(); pageTestObjectDto.setSample(null); return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto), specimenName); } @Override public int addTestObject(StructureTestObject testObject) { Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery().eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName())); if(count.compareTo(0L) > 0){ if (count.compareTo(0L) > 0) { throw new BaseException("æ£éªå¯¹è±¡ä¸è½éå¤"); } @@ -121,7 +121,7 @@ // æ¥è¯¢ææå¯¹è±¡ä¸æ ·çæ£éªé¡¹ç® List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() .eq(StandardProductList::getSampleType, oldTestObject.getSpecimenName())); if (CollectionUtils.isNotEmpty(standardProductLists)){ if (CollectionUtils.isNotEmpty(standardProductLists)) { for (StandardProductList standardProductList : standardProductLists) { // ä¿®æ¹ææç对象åç§°åæ°åç»æ standardProductList.setSampleType(testObject.getSpecimenName()); @@ -159,7 +159,7 @@ Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery() .eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName()) .ne(StructureTestObject::getId, testObject.getId())); if(count.compareTo(0L) > 0){ if (count.compareTo(0L) > 0) { throw new BaseException("æ£éªå¯¹è±¡ä¸è½éå¤"); } @@ -168,7 +168,7 @@ @Override public List<StructureTestObject> selectTestObjectByName() { return structureTestObjectMapper.selectList(Wrappers.<StructureTestObject>lambdaQuery().select(StructureTestObject::getSpecimenName,StructureTestObject::getId)); return structureTestObjectMapper.selectList(Wrappers.<StructureTestObject>lambdaQuery().select(StructureTestObject::getSpecimenName, StructureTestObject::getId)); } //设å¤éé¢éæ©æ£éªé¡¹ç®(æ å½¢ç»æ) basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartLogServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.mapper.ProductPartLogMapper; import com.ruoyi.basic.pojo.ProductPartLog; import com.ruoyi.basic.service.ProductPartLogService; import org.springframework.stereotype.Service; /** * 产åé¶ä»¶å·æ¥å¿è¡¨(ProductPartLog)表æå¡å®ç°ç±» * * @author makejava * @since 2025-03-19 13:47:10 */ @Service("productPartLogService") public class ProductPartLogServiceImpl extends ServiceImpl<ProductPartLogMapper, ProductPartLog> implements ProductPartLogService { } basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java
@@ -1,10 +1,15 @@ package com.ruoyi.basic.service.impl; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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.ProductPartDto; import com.ruoyi.basic.mapper.ProductPartLogMapper; import com.ruoyi.basic.pojo.ProductPartLog; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.basic.mapper.ProductPartMapper; @@ -12,22 +17,29 @@ import com.ruoyi.basic.pojo.ProductPart; import com.ruoyi.basic.pojo.StructureTestObjectPart; import com.ruoyi.basic.service.ProductPartService; import com.ruoyi.common.utils.SecurityUtils; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; import java.util.Map; @Transactional @Service @AllArgsConstructor public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, ProductPart> implements ProductPartService { private ProductPartMapper productPartMapper; private ProductPartMapper productPartMapper; private StructureTestObjectPartMapper structureTestObjectPartMapper; private ProductPartLogMapper productPartLogMapper; @Override public IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart) { return productPartMapper.selectListByProductId(page, QueryWrappers.queryWrappers(productPart),productPart.getProductId()); public IPage<ProductPart> selectByProductId(IPage<ProductPart> page, ProductPart productPart) { return productPartMapper.selectListByProductId(page, QueryWrappers.queryWrappers(productPart), productPart.getProductId()); } @Override @@ -36,20 +48,74 @@ throw new BaseException("缺å°äº§å对象id"); } this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), null); productPart.setReview("å¾ å¤æ ¸"); productPartMapper.insert(productPart); } @Override public void updateProductPartById(ProductPart productPart) { public int updateProductPartById(ProductPart productPart) { if (productPart.getProductId() == null) { throw new BaseException("缺å°äº§å对象id"); } // this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), null); if (!"已夿 ¸".equals(productPart.getReview())) { productPart.setReview("å¾ å¤æ ¸"); } return productPartMapper.updateById(productPart); } @Override public List<Map<String, Object>> inspectionItems(String sample, String productName) { // ä¼å å¤çä¸¤ä¸ªåæ°åé空çåºæ¯ if (StringUtils.isNotEmpty(productName) && StringUtils.isNotEmpty(sample)) { //å 差产åï¼æè¿æå¼ç´æ¥è¿åï¼æ²¡å¼åæ¥å¤§ç±» List<Map<String, Object>> result = productPartMapper.inspectionItems(productName); return result.isEmpty() ? productPartMapper.inspectionItems(sample) : result; } // å ¶ä»æ åµç´æ¥éåææåæ°ï¼ä¼å productNameï¼æç©ºå符串 String param = StringUtils.isNotEmpty(productName) ? productName : StringUtils.isNotEmpty(sample) ? sample : ""; return productPartMapper.inspectionItems(param); } @Override public int productPartReviewById(ProductPartDto productPartDto) { int userId = SecurityUtils.getUserId().intValue(); String username = SecurityUtils.getUsername(); ProductPart productPart = productPartMapper.selectById(productPartDto.getId()); this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), productPart.getId()); if (productPart.getProductId() == null) { throw new BaseException("缺å°äº§å对象id"); } productPartMapper.updateById(productPart); productPart.setReview("已夿 ¸"); int num = productPartMapper.updateById(productPart); if (num > 0) { ProductPartLog productPartLog = new ProductPartLog(); productPartLog.setProductPartId(productPart.getId()); productPartLog.setOperName(username); productPartLog.setOperId(userId); productPartLog.setOperTime(LocalDateTime.now()); productPartLog.setColor(productPart.getColor()); productPartLog.setColorCode(productPart.getColorCode()); productPartLog.setPartNo(productPart.getPartNo()); productPartLog.setInspectionItem(productPart.getInspectionItem()); productPartLog.setReview(productPart.getReview()); productPartLogMapper.insert(productPartLog); } return num; } @Override public IPage<ProductPartLog> productPartLogList(Page page, Integer id) { return productPartLogMapper.selectPage(page, Wrappers.<ProductPartLog>lambdaQuery() .eq(ProductPartLog::getProductPartId, id)); } // 夿é¶ä»¶å·æ¯å¦åå¨ public void isPartNoExist(String partNo,Integer productId, Integer id) { public void isPartNoExist(String partNo, Integer productId, Integer id) { // é¶ä»¶å·å¯ä¸ ä½ä¸å¿ å¡« if (StringUtils.isNotBlank(partNo)) { Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>() basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -8,19 +8,15 @@ 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.mapper.ProductMapper; import com.ruoyi.basic.mapper.ProductPartMapper; import com.ruoyi.basic.mapper.StandardTreeMapper; import com.ruoyi.basic.mapper.StructureTestObjectMapper; import com.ruoyi.basic.pojo.*; import com.ruoyi.basic.service.LaboratoryService; import com.ruoyi.basic.service.ProductService; 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; @@ -28,10 +24,10 @@ import java.util.List; /** * @author z1292 * @description é对表ãproduct(产å表)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2024-04-26 01:11:02 */ * @author z1292 * @description é对表ãproduct(产å表)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2024-04-26 01:11:02 */ @Service @AllArgsConstructor public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> @@ -45,11 +41,17 @@ private ProductPartMapper productPartMapper; private StandardProductListService standardProductListService; private StandardTreeMapper standardTreeMapper; private StructureItemParameterService structureItemParameterService; private WorkShopMapper workShopMapper; @Override public IPage<Product> selectProductListByObjectId(Page page, ProductDTO1 product) { @@ -137,46 +139,74 @@ 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::getLaboratoryName, i.getLaboratory())); if (ObjectUtils.isEmpty(laboratory)) { throw new BaseException("æªæ¾å°è¯¥åºæï¼" + i.getLaboratory() + "ï¼è¯·æ£æ¥æ¯å¦åå¨è¯¥åºæï¼"); } // 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)) { if (ObjectUtils.isEmpty(structureTestObject1)) { StructureTestObject structureTestObject = new StructureTestObject(); structureTestObject.setLaboratoryId(laboratory.getId()); 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)){ 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(laboratory.getId()); 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)){ 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()); @@ -187,10 +217,18 @@ } @Override public int updateWorkShop(Integer productId, Integer workShopId,String name) { public int updateWorkShop(Integer productId, Integer workShopId, String name) { return productMapper.update(null, Wrappers.<Product>lambdaUpdate() .set(Product::getWorkShopId, workShopId) .set(Product::getWorkShopName, name) .eq(Product::getId, productId)); } @Override public int updateObjectWorkShop(StructureTestObjectDto structureTestObjectDto) { return structureTestObjectMapper.update(null, Wrappers.<StructureTestObject>lambdaUpdate() .set(StructureTestObject::getWorkShopId, structureTestObjectDto.getWorkShopId()) .set(StructureTestObject::getWorkShopName, structureTestObjectDto.getWorkShopName()) .eq(StructureTestObject::getId, structureTestObjectDto.getId())); } } basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectPartServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.StructureTestObjectPartDto; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.basic.mapper.ProductPartMapper; @@ -43,6 +44,7 @@ if (structureTestObjectPart.getTestObjectId() == null) { throw new BaseException("缺å°äº§å对象id"); } structureTestObjectPart.setReview("å¾ å¤æ ¸"); baseMapper.insert(structureTestObjectPart); } @@ -52,9 +54,21 @@ if (structureTestObjectPart.getTestObjectId() == null) { throw new BaseException("缺å°äº§å对象id"); } structureTestObjectPart.setReview("å¾ å¤æ ¸"); baseMapper.updateById(structureTestObjectPart); } @Override public int testObjectPartReview(StructureTestObjectPartDto structureTestObjectPartDto) { StructureTestObjectPart structureTestObjectPart = baseMapper.selectById(structureTestObjectPartDto.getId()); this.isPartNoExist(structureTestObjectPart.getPartNo(), structureTestObjectPart.getId()); if (structureTestObjectPart.getTestObjectId() == null) { throw new BaseException("缺å°äº§å对象id"); } structureTestObjectPart.setReview("å¾ å¤æ ¸"); return baseMapper.updateById(structureTestObjectPart); } // 夿é¶ä»¶å·æ¯å¦åå¨ public void isPartNoExist(String partNo, Integer id) { // é¶ä»¶å·å¯ä¸ ä½ä¸å¿ å¡« basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopFileServiceImpl.java ÐÞ¸Ä @@ -1,9 +1,10 @@ package com.ruoyi.inspect.service.impl; package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.inspect.mapper.WorkShopFileMapper; import com.ruoyi.inspect.pojo.WorkShopFile; import com.ruoyi.inspect.service.WorkShopFileService; import com.ruoyi.basic.mapper.WorkShopFileMapper; import com.ruoyi.basic.pojo.WorkShopFile; import com.ruoyi.basic.service.WorkShopFileService; import org.springframework.stereotype.Service; /** basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopServiceImpl.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopServiceImpl.java ÐÞ¸Ä @@ -1,15 +1,17 @@ package com.ruoyi.inspect.service.impl; package com.ruoyi.basic.service.impl; import cn.hutool.core.lang.UUID; 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.ruoyi.basic.dto.WorkShopDto; import com.ruoyi.basic.mapper.WorkShopFileMapper; import com.ruoyi.basic.mapper.WorkShopMapper; import com.ruoyi.basic.pojo.WorkShop; import com.ruoyi.basic.pojo.WorkShopFile; import com.ruoyi.basic.service.WorkShopService; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.inspect.dto.WorkShopDto; import com.ruoyi.inspect.mapper.*; import com.ruoyi.inspect.pojo.*; import com.ruoyi.inspect.service.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; basic-server/src/main/resources/mapper/ProductPartLogMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ <?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.basic.mapper.ProductPartLogMapper"> </mapper> basic-server/src/main/resources/mapper/ProductPartMapper.xml
@@ -7,4 +7,30 @@ SELECT * from product_part pp where pp.product_id=#{productId} </select> <select id="inspectionItems" resultType="java.util.Map"> SELECT DISTINCT sp.inspection_item AS inspectionItem FROM structure_item_parameter sp WHERE 1=1 <if test="name != null and name != ''"> AND JSON_CONTAINS(sp.sample, concat('"', #{name}, '"')) </if> AND sp.son_laboratory = 'åææ' </select> <select id="productPartLogList" resultType="java.util.Map"> SELECT pp.part_no AS partNo, pp.color, pp.color_code AS colorCode, pp.inspection_item AS inspectionItem, pp.review, pl.oper_name AS operName, pl.oper_time AS operTime FROM product_part pp LEFT JOIN product_part_log pl ON pp.id = pl.product_part_id WHERE pp.id = #{id} </select> </mapper> basic-server/src/main/resources/mapper/StructureTestMapper.xml
@@ -16,15 +16,17 @@ sto.laboratory_id, GROUP_CONCAT(p.name) product, sto.specimen_name_en, sto.object_type sto.object_type, sto.work_shop_name, sto.work_shop_id from structure_test_object sto left join user u1 on sto.create_user = u1.id left join user u2 on sto.update_user = u2.id left join product p on p.object_id = sto.id left join product_part pp on pp.product_id = p.id left join structure_test_object_part stop ON stop.test_object_id = sto.id <if test="partNo != null and partNo != ''" > where pp.part_no = #{partNo} or stop.part_no = #{partNo} <if test="specimenName != null and specimenName != ''" > where sto.specimen_name like concat ('%',#{specimenName},'%') </if> group by sto.id ) a inspect-server/src/main/java/com/ruoyi/inspect/controller/WorkShopController.java
@@ -1,10 +1,10 @@ package com.ruoyi.inspect.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.dto.WorkShopDto; import com.ruoyi.basic.service.WorkShopFileService; import com.ruoyi.basic.service.WorkShopService; import com.ruoyi.common.core.domain.Result; import com.ruoyi.inspect.dto.WorkShopDto; import com.ruoyi.inspect.service.WorkShopFileService; import com.ruoyi.inspect.service.WorkShopService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; inspect-server/src/main/java/com/ruoyi/inspect/dto/WorkShopDto.java
ÎļþÒÑɾ³ý