| src/main/java/com/ruoyi/basic/controller/ProductController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/service/IProductModelService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/basic/ProductModelMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/production/ProductWorkOrderMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/basic/controller/ProductController.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import com.ruoyi.basic.dto.ProductDto; import com.ruoyi.basic.dto.ProductModelDto; import com.ruoyi.basic.dto.ProductModelExportDto; @@ -27,6 +28,7 @@ import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.stream.Collectors; @RestController @AllArgsConstructor @@ -81,11 +83,12 @@ if (ids == null || ids.length == 0) { return AjaxResult.error("请传入要删除的ID"); } List<ProductModel> productModels = productModelService.selectModelListByProductIds(Lists.newArrayList(ids)); // 检查是否有销售商品记录关联该产品 LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(SalesLedgerProduct::getProductId, ids); queryWrapper.in(SalesLedgerProduct::getProductModelId, productModels.stream().map(ProductModel::getId).collect(Collectors.toList())); List<SalesLedgerProduct> salesLedgerProductList = salesLedgerProductService.list(queryWrapper); if (salesLedgerProductList.size() > 0) { if (!salesLedgerProductList.isEmpty()) { return AjaxResult.error("该产品存在销售/采购记录,不能删除"); } return toAjax(productService.delProductByIds(ids)); src/main/java/com/ruoyi/basic/mapper/ProductModelMapper.java
@@ -7,6 +7,7 @@ import com.ruoyi.procurementrecord.dto.ProcurementPageDto; import org.apache.ibatis.annotations.Param; import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; @@ -26,4 +27,6 @@ ProductModel selectLatestRecord(); List<Map<String, Object>> getProductAndModelList(); List<ProductModel> selectModelListByProductIds(@NotNull @Param("ids") List<Long> ids); } src/main/java/com/ruoyi/basic/service/IProductModelService.java
@@ -26,6 +26,8 @@ List<ProductModel> selectModelList(ProductDto productDto); List<ProductModel> selectModelListByProductIds(List<Long> ids); /** * 根据id查询产品规格分页查询 * @param page src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.validation.constraints.NotNull; import java.util.*; import java.util.stream.Collectors; @@ -73,6 +74,11 @@ return productModelMapper.selectList(queryWrapper); } @Override public List<ProductModel> selectModelListByProductIds(@NotNull List<Long> ids) { return productModelMapper.selectModelListByProductIds(ids); } /** * 根据id查询产品规格分页查询 * src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
@@ -43,4 +43,6 @@ @ApiModelProperty(value = "工单类型 正常 /返工返修") private String workOrderType; private String deviceName; } src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -64,4 +64,5 @@ private Long auditUserId; private String auditUserName; } src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
@@ -81,4 +81,15 @@ @ApiModelProperty(value = "审核意见") @TableField(value = "audit_opinion") private String auditOpinion; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(value = "start_time") private LocalDateTime startTime; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField(value = "end_time") private LocalDateTime endTime; } src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -823,7 +823,8 @@ LambdaQueryWrapper<SalesLedger> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.between(SalesLedger::getEntryDate, begin, end); long count = salesLedgerMapper.selectCount(queryWrapper); return StrUtil.format("{}{:04d}", yyMM, count + 1); Long seq = Optional.of(count).orElse(0L) + 1; return String.format("%s%04d", yyMM, seq); } src/main/resources/mapper/basic/ProductModelMapper.xml
@@ -106,5 +106,23 @@ left join product p on p.id = pm.product_id order by p.id,pm.id desc </select> <select id="selectModelListByProductIds" resultType="com.ruoyi.basic.pojo.ProductModel"> WITH RECURSIVE tree AS ( SELECT id FROM product WHERE id in <foreach item="id" collection="ids" open="(" separator="," close=")"> #{id} </foreach> UNION ALL SELECT p.id FROM product p INNER JOIN tree t ON p.parent_id = t.id ) SELECT t1.* FROM product_model t1 INNER JOIN product t2 ON t1.product_id = t2.id INNER JOIN tree t ON t2.id = t.id; </select> </mapper> src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -30,7 +30,8 @@ CASE WHEN pwo.work_order_no LIKE 'FG%' THEN '返工返修' ELSE '正常' END AS work_order_type END AS work_order_type, pp.device_name FROM product_work_order pwo LEFT JOIN product_process_route_item ppri ON ppri.id = pwo.product_process_route_item_id