| src/main/java/com/ruoyi/production/controller/ProductOrderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/dto/ProductOrderSourceDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/service/ProductOrderService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/production/ProductOrderMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/production/controller/ProductOrderController.java
@@ -1,13 +1,13 @@ package com.ruoyi.production.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.basic.pojo.Customer; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.framework.web.domain.R; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.pojo.ProcessRoute; import com.ruoyi.production.dto.ProductOrderSourceDto; import com.ruoyi.production.pojo.ProductOrder; import com.ruoyi.production.service.ProductOrderService; import io.swagger.annotations.Api; @@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.List; @RequestMapping("/productOrder") @@ -82,5 +81,11 @@ return R.ok(productOrderService.addProductOrder(productOrder)); } @GetMapping("/productOrderSource/{orderId}") @ApiOperation("æ¥çç产订å对åºçç产计å") public AjaxResult productOrderSource(@PathVariable Long orderId) { List<ProductOrderSourceDto> list = productOrderService.productOrderSource(orderId); return AjaxResult.success(list); } } src/main/java/com/ruoyi/production/dto/ProductOrderSourceDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ package com.ruoyi.production.dto; import com.ruoyi.productionPlan.dto.ProductionPlanDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * <br> * çäº§è®¢åæ¥æº-主ç产计å * </br> * * @author deslrey * @version 1.0 * @since 2026/03/20 */ @Data @ApiModel(value = "ProductOrderSourceDto", description = "çäº§è®¢åæ¥æº-主ç产计å") public class ProductOrderSourceDto { @ApiModelProperty("ç³è¯·åç¼å·") private String applyNo; @ApiModelProperty("主çäº§è®¡åæ°æ®") private List<ProductionPlanDto> productPlans; } src/main/java/com/ruoyi/production/mapper/ProductOrderMapper.java
@@ -3,8 +3,8 @@ 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.production.dto.ProductBomDto; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.dto.ProductOrderSourceDto; import com.ruoyi.production.dto.ProductStructureDto; import com.ruoyi.production.pojo.ProcessRoute; import com.ruoyi.production.pojo.ProductOrder; @@ -27,4 +27,6 @@ Integer countCompleted(@Param("startDate") String startDate, @Param("endDate") String endDate); Integer countPending(@Param("startDate") String startDate, @Param("endDate") String endDate); List<ProductOrderSourceDto> productOrderSource(@Param("orderId") Long orderId); } src/main/java/com/ruoyi/production/service/ProductOrderService.java
@@ -3,8 +3,8 @@ 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.production.dto.ProductBomDto; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.dto.ProductOrderSourceDto; import com.ruoyi.production.dto.ProductStructureDto; import com.ruoyi.production.pojo.ProcessRoute; import com.ruoyi.production.pojo.ProductOrder; @@ -32,4 +32,6 @@ Long insertProductOrder(ProductOrder productOrder); Boolean delete(Long id); List<ProductOrderSourceDto> productOrderSource(Long orderId); } src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -6,8 +6,10 @@ 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.common.exception.ServiceException; import com.ruoyi.procurementrecord.utils.StockUtils; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.dto.ProductOrderSourceDto; import com.ruoyi.production.dto.ProductStructureDto; import com.ruoyi.production.enums.ProductOrderStatusEnum; import com.ruoyi.production.mapper.*; @@ -314,5 +316,17 @@ return "SC" + datePrefix + String.format("%04d", sequence); } @Override public List<ProductOrderSourceDto> productOrderSource(Long orderId) { if (orderId == null) { throw new ServiceException("æ¥è¯¢è®¢åæ°æ®ä¸è½ä¸ºç©º"); } ProductOrder productOrder = getById(orderId); if (productOrder == null) { throw new ServiceException("æ¥è¯¢å¤±è´¥,ç产订åä¸åå¨"); } List<ProductOrderSourceDto> list = baseMapper.productOrderSource(orderId); return list; } } src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -14,6 +14,19 @@ <result property="status" column="status"/> </resultMap> <resultMap id="ProductOrderSourceMap" type="com.ruoyi.production.dto.ProductOrderSourceDto"> <id property="applyNo" column="apply_no"/> <result property="applyNo" column="apply_no"/> <collection property="productPlans" ofType="com.ruoyi.productionPlan.dto.ProductionPlanDto" autoMapping="true"> <id property="id" column="plan_id"/> <result property="materialCode" column="material_code"/> <result property="productName" column="product_name"/> <result property="model" column="model"/> <result property="unit" column="unit"/> <result property="totalAssignedQuantity" column="total_assigned_quantity"/> </collection> </resultMap> <select id="pageProductOrder" resultType="com.ruoyi.production.dto.ProductOrderDto"> SELECT po.id, @@ -108,4 +121,25 @@ AND create_time <= #{endDate} AND complete_quantity < quantity </select> <select id="productOrderSource" resultMap="ProductOrderSourceMap" parameterType="java.lang.Long"> SELECT pp.id AS plan_id, pp.apply_no, pp.*, pop.assigned_quantity AS total_assigned_quantity, sku.material_code, sku.model, pm.product_name, pm.unit FROM product_order_plan pop LEFT JOIN production_plan pp ON pop.production_plan_id = pp.id LEFT JOIN product_material_sku sku ON pp.product_material_sku_id = sku.id LEFT JOIN product_material pm ON sku.product_id = pm.id WHERE pop.product_order_id = #{orderId} ORDER BY pp.apply_no </select> </mapper>